# Uncaught SyntaxError: expected expression, got '<'

**URL:** https://discourse.roots.io/t/uncaught-syntaxerror-expected-expression-got/24082
**Category:** bud
**Tags:** sage10
**Created:** 2022-10-17T10:38:10Z
**Posts:** 26

## Post 1 by @erip2 — 2022-10-17T10:38:10Z

I have build a project using Sage 10 and it’s on production. Thigs are going fine both on staging site and prouduction one, but I have problems locally.

Whenever I build my assets using `yarn dev` (or event `yarn build`), there seems to be a problem because they are not loaded when I open the page.

```
The script from “https://local.test/dev/public/app/themes/local-theme/public/resources_scripts_components_ShopSectionSlider_js.js” was loaded even though its MIME type (“text/html”) is not a valid JavaScript MIME type.

Uncaught SyntaxError: expected expression, got '<'

ChunkLoadError: Loading chunk resources_scripts_components_ShopSectionSlider_js failed.
```

On the Network tab, all the font and JS files are of type HTML.

This is my Bud config (v5.5.0):

```
const path = require('path')
require('dotenv').config({ path: path.resolve(__dirname, '../../../.env') })

const SVGSpritemapPlugin = require('svg-spritemap-webpack-plugin')
const ImageminWebpWebpackPlugin = require('imagemin-webp-webpack-plugin')

/**
 * @typedef {import('@roots/bud').Bud} bud
 *
 * @param {bud} config
 */

module.exports = async (app) => {
  app
    /**
     * Application entrypoints
     *
     * Paths are relative to your resources directory
     */
    .entry({
      app: ['@scripts/app.js', '@styles/app.scss']
    })

    /**
     * These files should be processed as part of the build
     * even if they are not explicitly imported in application assets.
     */
    .assets([app.path('src', 'images')])
    .assets([app.path('src', 'fonts')])

    /**
     * These files will trigger a full page reload
     * when modified.
     */
    .watch('resources/views/ **/*', 'app/** /*')

    /**
     * Define the public path for dynamically imported assets.
     *
     * I am defining it an .env file and accessing it with `bud.env`.
     */
    .define({
      ASSET_PATH: JSON.stringify(process.env.ASSET_PATH)
    })

    .setPublicPath('')

    /**
     * Target URL to be proxied by the dev server.
     *
     * This is your local dev server.
     */
    .proxy(process.env.WP_HOME)

    .use(
      new SVGSpritemapPlugin('resources/sprite/*.svg', {
        output: {
          filename: 'spritesheet.svg',
          chunk: { keep: true },
          svgo: false
        }
      })
    )

    .use(new ImageminWebpWebpackPlugin())

    .postcss.setPlugin(
      'postcss-color-mod-function',
      require.resolve('postcss-color-mod-function')
    )
    .postcss.setPlugin('postcss-pxtorem', require.resolve('postcss-pxtorem'))

    /**
     * Development URL
     */
    .serve(`${process.env.WP_HOME}:3000`)
}
```

I load chunks asynchronously:

```
async importComponents(componentName) {
    return await import(`./components/${componentName}`)
  }
```

I use Valet for the local server.

---

## Post 2 by @slowrush — 2022-10-17T12:27:06Z

hey @erip2 I ran into a similar issue recently and solved it with [webpack magic comments](https://webpack.js.org/api/module-methods/#magic-comments) to exclude PHP from the imports

```
async importComponents(componentName) {
    return await import(
        /* webpackExclude: /.php$/ */
        `./components/${componentName}`
    );
  }
```

hope that helps

---

## Post 3 by @erip2 — 2022-10-17T12:37:29Z

Hey @slowrush , thanks for your answer!

Unfortunately, this didn’t fix my case. I even cleared the bud cache (`yarn bud clean`), but still the same.

---

## Post 4 by @slowrush — 2022-10-17T13:22:57Z

Ah just noticed you’re not accessing via the webpack dev server ie. [http://localhost.test:3000/](http://localhost.test:3000/). I think you either need to have that running or run `yarn build` to access via the host domain [https://local.test/](https://local.test/)

I hope I’m wrong as having the same/similar issue currently (posted a Q on the [Discord server](https://roots.io/sponsors/) earlier today to see if I’m doing something silly or if this is expected with webpack/hmr).

---

## Post 5 by @erip2 — 2022-10-18T08:24:42Z

If you get an answer from Discord, it would be very helpful if post it here also.

I noticed that this problem occurs even in a new fresh project.  
The assets are loaded fine on dev internal server (0.0.0.0:3000) but don’t work on proxy. I may open an issue about this.

The thing in my case is that for some reason I can’t open the dev on my project; it just redirects to the proxy URL or it doesn’t open at all.

---

## Post 6 by @slowrush — 2022-10-18T08:58:27Z

yeah sounds like you’re having the exact same issue I had - annoyingly Valet adds a redirect from HTTP → HTTPS when using the secure command.

### Option 1

Manually update the valet nginx conf `~/.config/valet/Nginx/example.test` so you’re able to access the site over HTTP + HTTPS or run `valet unsecure example` to remove https entirely.

### Option 2

Add certificates to the bud/webpack server.

```
const domain = 'example.test';

  bud.serve(`https://${domain}`, {
    key: `${process.env.HOME}/.config/valet/Certificates/${domain}.key`,
    cert: `${process.env.HOME}/.config/valet/Certificates/${domain}.crt`,
  });
```

But I haven’t managed to get this working yet :sob: the same certs work perfectly with BrowserSync server so no idea what’s going on there?

---

## Post 7 by @slowrush — 2022-10-18T09:20:11Z

Added [an issue](https://github.com/roots/bud/issues/1785) to track on the Bud repo

---

## Post 8 by @erip2 — 2022-10-18T09:23:25Z

Cool, thanks!

Just wanted to add that in my case even with `yarn build` the assets are not loaded, the same error occurs as in `yarn dev`.

---

## Post 9 by @erip2 — 2022-10-18T14:00:00Z

Another update here!

@slowrush Yeap, you were right here:

> [@slowrush](#):
>
> yeah sounds like you’re having the exact same issue I had - annoyingly Valet adds a redirect from HTTP → HTTPS when using the secure command.

I did unsecure it since the second option didn’t work for me either.

My setup for dynamic js is inspired by [this](https://discourse.roots.io/t/bud-upgrading-to-5-2-0-causing-problems/22217/9).  
So, I have a `publicPath.js` file inside `scripts` folder which has this line:

```
__webpack_public_path__ = ASSET_PATH
```

I import this file in the main entry `app.js` and that’s what made dynamic imports work (in staging and production at least).  
I removed this import declaration and now the JS files are working correctly on the dev server.

So, it means that I need to remove this line working locally, but don’t forget it to push it, because it would break the scripts on production.

Still, I can’t see the SVGs because they are from the proxy link eg: `http://local.test`

`Security Error: Content at http://localhost:55871/ may not load data from http://local.test/app/themes/local-theme/public/spritesheet.svg.`

I have used `@asset` to show the SVGs files. Also, the path is wrong.

@slowrush Out of curiosity, can you share what is your setup for Bud and JS that you use to load components dynamically?

I am using Bud 5.

---

## Post 10 by @slowrush — 2022-10-18T14:59:37Z

I’ve had to put dynamic imports on the back burner because of this issue + a tight deadline.

Switched back to importing assets per ACF block via Roots\bundle (`bundle('block-name')->enqueue();`) + use `browser-sync` for live reload for the time being. If I make any progress I’ll be sure to post back here.

I know a fair few folks have solutions working, hopefully, they’ll follow up but I’ve hit a few too many walls :tired_face:

---

## Post 11 by @kellymears — 2022-10-18T20:46:33Z

dynamic imports are pretty simple.

make sure your publicPath is set in your bud config:

```
bud.setPublicPath(`/app/themes/sage/public/`)
```

In your application code you can import dynamically:

```
// test.js
console.log('test loaded')
```

```
// app.js
const main = async () => {
  const condition = document.querySelector(`.foo`)
  if (condition) {
    await import('./test.js')
  }
}

main()
```

It works for css as well:

```
// test.css
body {
  background: black;
}
```

```
// app.js
const main = async () => {
  const condition = document.querySelector(`.foo`)
  if (condition) {
    await import('./test.css')
  }
}

main()
```

It’s a little weird to do a dynamic import on css (IMO). I’d prefer to load the css in a js module and dynamically import that:

```
// test.css
body {
  background: black;
}
```

```
// test.js
import './test.css'

console.log('test loaded')
```

```
// app.js
const main = async () => {
  const condition = document.querySelector(`.foo`)
  if (condition) {
    await import('./test.js')
  }
}

main()
```

Another example I just tested on vanilla sage. This one will only load the css to change the page background if `?condition=true` is appended to the URL:

```
// resources/scripts/app.js
const init = async () => {
  let params = new URL(document.location.toString()).searchParams;
  let condition = params.get('condition');

  if (condition) await import('./test.js');
};

init();
```

```
// resources/scripts/test.js
import '@styles/test';

console.log('test loaded');
```

```
/** resources/styles/test.css */
body {
  background: black;
}
```

---

## Post 12 by @kellymears — 2022-10-18T21:00:12Z

There is too much going on in this topic. You should make a separate topic for any problems with SSL certificates.

---

## Post 13 by @erip2 — 2022-10-18T21:14:33Z

And the dynamic JS file loads correctly on the proxy server?

(Or is this more a response to slowrush?)

---

## Post 14 by @kellymears — 2022-10-18T21:33:35Z

If you run that code with `yarn bud dev` the code will work on the dev server.  
If you run that code with `yarn bud build` the code will work on the proxy (and in staging, production, etc.)

The [roots.io](http://roots.io) frontend uses this exact approach.

---

## Post 15 by @erip2 — 2022-10-19T09:08:33Z

Thanks for you detailed answers.

I tried what you wrote above in a new sage theme with bedrock, but in the `yarn build` it still doesn’t seem to work.

`.setPublicPath('/app/themes/eri-test/public/')`

but I get this error

`ChunkLoadError: Loading chunk 457 failed. (missing: http://bedrock.test/app/themes/eri-test/public/js/dynamic/457.js)`

which is essentially the error of this thread and the one that slowrush opened the Github issue.

---

## Post 16 by @kellymears — 2022-10-19T10:56:20Z

I don’t know what’s up with that.

- Does `/app/themes/eri-test/public/js/dynamic/457.js` exist on disk?
- Is `/app/themes/eri-test/public/` the actual public path?

Dynamic imports just work out of the box. There is no reason to set anything like `ASSET_PATH` or use any webpack magic comments to use them. I don’t doubt that something isn’t working for you and maybe I just don’t understand the question.

If you want to use an image you can just import it:

```
import { domReady } from "@roots/sage/client";
import test from "@images/test.png";

const main = async () => {
  await import("./test.js");

  document.querySelector("#app").innerHTML = `
  <div>
    <img src="${test}" />
  </div>`;
};

domReady(main);
import.meta.webpackHot?.accept(console.error);
```

 ![image](https://discourse.roots.io/uploads/default/original/2X/8/8bd1f3f1a60028317c1c2f4dcb94b9991a0a764f.png)

---

## Post 17 by @erip2 — 2022-10-19T13:04:00Z

Ok, I created a new sage theme (since I mistakenly deleted the current one I was using for tests) and now it’s working as you said.

Still, the situation in my current project is not resolved by this. After days of trying to debug this issue, I still haven’t figured it out.

I have pasted my `bud.config.js` file in the thread starter.

If I try to set `.setPublicPath()` as you propose, no asset is loaded because the final link is wrong eg  
`https://local.test/app/themes/local-theme/public/dev/public/app/themes/local-theme/public/app.6e4d64.css`

while if I let it empty, the assets are loading ok, but not the chunks:

```
ChunkLoadError: Loading chunk 570 failed.
(missing: http://local-site.test/570.9361df.js)
```

Maybe my project is messy and you guys can’t reproduce it, so I’ll have to spend more time on it :confused:

p.s. I tried to upgrade Bud from 5 to 6 (following [this](https://bud.js.org/releases/6.0.0)), but I got this error when trying to build the assets:

`error [err_require_esm]: require() of es module ./node_modules/chalk/source/index.js`  
Probably will open a new issue if this persist.

---

## Post 18 by @kellymears — 2022-10-19T18:07:26Z

I think it’s because you are defining `ASSET_PATH`. Don’t do that.

The second issue is because you are trying to require chalk somehow. I’m not sure why that is but I don’t think it’s a problem with bud.js. I don’t think I will be able to help you without a repo that reproduces the issue.

---

## Post 19 by @erip2 — 2022-10-24T09:20:14Z

Hello again @kellymears !

Sorry to disturb again with this issue, but I think I finally managed to reproduce it in a fresh theme.

Here you go: [GitHub - erip2/eri-sage-test](https://github.com/erip2/eri-sage-test)

This theme is taken from here [Release v10.1.0 · roots/sage · GitHub](https://github.com/roots/sage/releases/tag/v10.1.0) because in the current project I still use Bud v5.5.0.

You can install it and try: `yarn dev` and `yarn build`.

In the `yarn dev` case things work fine.  
In the `yarn build` case there are errors because assets are not found:

```
GET http://bedrock.test/app/themes/eri-5.5.0/public/app/themes/eri-5.5.0/public/app.488aeb.js
[HTTP/1.1 404 Not Found 324ms]
```

If you set the publicPath to empty (`.setPublicPath("")`), on `yarn dev` things are working fine, but on `yarn build` → `Uncaught (in promise) ChunkLoadError: Loading chunk 806 failed.`

I test the dev on `bedrock.test:3000` and build on `bedrock.test`

Thank you!

---

## Post 20 by @kellymears — 2022-10-24T11:40:00Z

I’m sorry, but v5.5.0 was released 236 days ago; you should update. There have been 496 commits since this code was released.

Bump everything to 6.5.3 and replace `@wordpress/browserslist-config` with `@roots/browserslist-config` and you should be good.

```
{
  "name": "sage",
  "private": true,
  "browserslist": [
    "extends @roots/browserslist-config"
  ],
  "engines": {
    "node": ">=16.0.0"
  },
  "scripts": {
    "dev": "bud dev",
    "build": "bud build",
    "translate": "npm run translate:pot && npm run translate:js",
    "translate:pot": "wp i18n make-pot . ./resources/lang/sage.pot --ignore-domain --include=\"app,resources\"",
    "translate:js": "wp i18n make-json ./resources/lang --pretty-print"
  },
  "devDependencies": {
    "@roots/bud": "6.5.3",
    "@roots/bud-tailwindcss": "6.5.3",
    "@roots/sage": "6.5.3"
  }
}
```

---

## Post 21 by @erip2 — 2022-10-24T13:26:34Z

I did so and with a basic config, yeap, things are working fine :slight_smile: …

…but one of the reasons that I couldn’t upgrade some time ago to the major version 6 is this error [Plugin error after upgrading Bud to ^6.3.5](https://discourse.roots.io/t/plugin-error-after-upgrading-bud-to-6-3-5/23827)

You can also check my whole bud config on this thread starter.

---

## Post 22 by @erip2 — 2022-10-24T14:14:30Z

And if I try to upgrade it to 6.5.3, then on the VS Code I get an on each bud instance, eg `.entry({...` that says:

```
any
Property 'entry' does not exist on type 'Bud'
```

and on the browser after running the dev:

```
Uncaught Error: Module build failed (from ./node_modules/babel-loader/lib/index.js):
Error [ERR_REQUIRE_ESM]: require() of ES Module /Users/erip2/Documents/local-theme.com/dev/public/app/themes/local-theme/node_modules/chalk/source/index.js from /Users/erip2/Documents/local-theme.com/dev/public/app/themes/local-theme/node_modules/@babel/traverse/node_modules/@babel/highlight/lib/index.js not supported.
Instead change the require of /Users/erip2/Documents/local-theme.com/dev/public/app/themes/local-theme/node_modules/chalk/source/index.js in /Users/erip2/Documents/local-theme.com/dev/public/app/themes/local-theme/node_modules/@babel/traverse/node_modules/@babel/highlight/lib/index.js to a dynamic import() which is available in all CommonJS modules.
    at Object.<anonymous> (/Users/erip2/Documents/local-theme.com/dev/public/app/themes/local-theme/node_modules/@babel/traverse/node_modules/@babel/highlight/lib/index.js:14:14)
    at Object.<anonymous> (/Users/erip2/Documents/local-theme.com/dev/public/app/themes/local-theme/node_modules/@babel/traverse/node_modules/@babel/code-frame/lib/index.js:9:18)
    at Object.<anonymous> (/Users/erip2/Documents/local-theme.com/dev/public/app/themes/local-theme/node_modules/@babel/traverse/lib/path/replacement.js:13:18)
    at Object.<anonymous> (/Users/erip2/Documents/local-theme.com/dev/public/app/themes/local-theme/node_modules/@babel/traverse/lib/path/index.js:28:28)
    at Object.<anonymous> (/Users/erip2/Documents/local-theme.com/dev/public/app/themes/local-theme/node_modules/@babel/traverse/lib/context.js:8:13)
    at Object.<anonymous> (/Users/erip2/Documents/local-theme.com/dev/public/app/themes/local-theme/node_modules/@babel/traverse/lib/traverse-node.js:8:16)
    at Object.<anonymous> (/Users/erip2/Documents/local-theme.com/dev/public/app/themes/local-theme/node_modules/@babel/traverse/lib/index.js:34:21)
    at Object.<anonymous> (/Users/erip2/Documents/local-theme.com/dev/public/app/themes/local-theme/node_modules/@babel/helper-replace-supers/lib/index.js:20:17)
    at Object.<anonymous> (/Users/erip2/Documents/local-theme.com/dev/public/app/themes/local-theme/node_modules/@babel/helper-create-class-features-plugin/lib/fields.js:13:28)
    at Object.<anonymous> (/Users/erip2/Documents/local-theme.com/dev/public/app/themes/local-theme/node_modules/@babel/helper-create-class-features-plugin/lib/index.js:32:15)
    at Object.<anonymous> (/Users/erip2/Documents/local-theme.com/dev/public/app/themes/local-theme/node_modules/@babel/plugin-proposal-class-properties/lib/index.js:10:40)
    at async Promise.all (index 0)
    js app.js:1066
```

---

## Post 23 by @ben — 2022-10-24T15:44:57Z

See the v6 upgrade guide:

e class='quote' data-post="1" data-topic="23359"\> 
 ![](https://discourse.roots.io/user_avatar/discourse.roots.io/kellymears/48/7828_2.png)
[Bud v6.0.0 released](https://discourse.roots.io/t/bud-v6-0-0-released/23359) [bud](/c/bud/24)

> [bud v6.0.0 released](https://github.com/roots/bud/releases/tag/v6.0.0) This major release transitions bud.js to ESM. It also provides some cool new features (like importing from remote sources), but we’ll mainly be talking about the new ESM syntax. [Read the official announcement on bud.js.org](https://bud.js.org/blog/6.0.0). Introduction The transition to EcmaScript modules is causing a lot of division and drama in the JS world, at the moment. Having just finished transitioning all of the nearly 50 packages that make up the bud.js monorepo to use ESM I can say in all ho…

---

## Post 24 by @kellymears — 2022-10-24T23:02:37Z

What does your `package.json` look like? Are you including your own import of `babel`? If you are importing babel it is on you to keep that dependency up-to-date.

> **[Managing dependencies | bud.js](https://bud.js.org/guides/general-use/managing-dependencies/)**
>
> Managing dependencies

What do you need to do in order to share your repository as a reproduction case? This is the only way forward in order to help you. There is something wrong in your project but it is never going to be debugged with Discourse as a devtool. @ me when you have a minimal reproduction and I’ll be glad to take another look.

---

## Post 25 by @erip2 — 2022-10-26T07:42:25Z

Ok, finally I managed to fix this :partying_face:

I managed to upgrade to version 6 and fix my issues.

About this:

> [@erip2](#):
>
> ```
> any
> Property 'entry' does not exist on type 'Bud'
> ```

I removed the // @ts-check on top the bud.config.mjs file.

And about this:

> [@erip2](#):
>
> ```
> Uncaught Error: Module build failed (from ./node_modules/babel-loader/lib/index.js):
> Error [ERR_REQUIRE_ESM]: require() of ES Module /Users/erip2/Documents/local-theme.com/dev/public/app/themes/local-theme/node_modules/chalk/source/index.js from /Users/erip2/Documents/local-theme.com/dev/public/app/themes/local-theme/node_modules/@babel/traverse/node_modules/@babel/highlight/lib/index.js not supported.
> Instead change the require of /Users/erip2/Documents/local-theme.com/dev/public/app/themes/local-theme/node_modules/chalk/source/index.js in /Users/erip2/Documents/local-theme.com/dev/public/app/themes/local-theme/node_modules/@babel/traverse/node_modules/@babel/highlight/lib/index.js to a dynamic import() which is available in all CommonJS modules.
> at Object.<anonymous> (/Users/erip2/Documents/local-theme.com/dev/public/app/themes/local-theme/node_modules/@babel/traverse/node_modules/@babel/highlight/lib/index.js:14:14)
> at Object.<anonymous> (/Users/erip2/Documents/local-theme.com/dev/public/app/themes/local-theme/node_modules/@babel/traverse/node_modules/@babel/code-frame/lib/index.js:9:18)
> at Object.<anonymous> (/Users/erip2/Documents/local-theme.com/dev/public/app/themes/local-theme/node_modules/@babel/traverse/lib/path/replacement.js:13:18)
> at Object.<anonymous> (/Users/erip2/Documents/local-theme.com/dev/public/app/themes/local-theme/node_modules/@babel/traverse/lib/path/index.js:28:28)
> at Object.<anonymous> (/Users/erip2/Documents/local-theme.com/dev/public/app/themes/local-theme/node_modules/@babel/traverse/lib/context.js:8:13)
> at Object.<anonymous> (/Users/erip2/Documents/local-theme.com/dev/public/app/themes/local-theme/node_modules/@babel/traverse/lib/traverse-node.js:8:16)
> at Object.<anonymous> (/Users/erip2/Documents/local-theme.com/dev/public/app/themes/local-theme/node_modules/@babel/traverse/lib/index.js:34:21)
> at Object.<anonymous> (/Users/erip2/Documents/local-theme.com/dev/public/app/themes/local-theme/node_modules/@babel/helper-replace-supers/lib/index.js:20:17)
> at Object.<anonymous> (/Users/erip2/Documents/local-theme.com/dev/public/app/themes/local-theme/node_modules/@babel/helper-create-class-features-plugin/lib/fields.js:13:28)
> at Object.<anonymous> (/Users/erip2/Documents/local-theme.com/dev/public/app/themes/local-theme/node_modules/@babel/helper-create-class-features-plugin/lib/index.js:32:15)
> at Object.<anonymous> (/Users/erip2/Documents/local-theme.com/dev/public/app/themes/local-theme/node_modules/@babel/plugin-proposal-class-properties/lib/index.js:10:40)
> at async Promise.all (index 0)
> js app.js:1066
> ```

I just deleted my `node_modules` folder and ran `yarn` again and this error didn’t show up.

About the other [topic](https://discourse.roots.io/t/plugin-error-after-upgrading-bud-to-6-3-5/23827) I referred here, I am not sure how that was fixed, but I would suggest others take a good look at the function chain in the bud config.

Thanks, guys!

---

## Post 26 by @kellymears — 2022-10-26T09:08:53Z

Both of these errors:

```
Property 'entry' does not exist on type 'Bud'
```

and

```
Type 'import("project/node_modules/webpack/types").Compiler' 
is not assignable to type
'import("~/Library/Caches/typescript/4.7/node_modules/webpack/types").Compiler'
```

are related in that they are not actual runtime errors, they are `Problems` flagged by vscode’s static analysis. In the case of the second error you can see that the problem is with some stale cache vscode is pulling from `~/Library/Caches/typescript/4.7` not matching the type described by `node_modules/webpack/types`. bud.js obviously has no control over that mismatch.

For more information on vscode type acquisition and type checking:

> **[JavaScript Programming with Visual Studio Code](https://code.visualstudio.com/Docs/languages/javascript#_type-checking)**
>
> Get the best out of Visual Studio Code for JavaScript development

Also worth looking at the vscode docs on `jsconfig.json`. This file gives you a lot of control over this and many other things you’ll likely one day encounter working with JS in your project. Totally worth configuring:

> **[jsconfig.json Reference](https://code.visualstudio.com/docs/languages/jsconfig)**
>
> View the reference for jsconfig.json.

Anyway, removing`//@ts-enable` will “fix” both of these issues, but they were never going to cause your project to not build. You could add `//@ts-enable` back and it won’t cause any problems aside from adding noise to the editor.

You could also add `//@ts-ignore` above the line that is emitting the problem if you wanted to keep the typechecking everywhere else. Maybe try to remove the ignore the next time you update, maybe the error will have resolved itself. I think the value added from the `//@ts-enable` intellisense makes it worth figuring out how to keep it. But, whatever works for you.

Glad you’re all sorted out.
