From ce5b9ac0c89d48df7b7bc8ba46e3942a25884fd9 Mon Sep 17 00:00:00 2001 From: TiclemFR Date: Sat, 27 Jan 2024 10:32:55 +0100 Subject: [PATCH] Work on incomes & expanse --- app/Console/Commands/page.php | 32 + .../Controllers/TransactionsController.php | 43 + app/Http/Controllers/UserController.php | 5 +- app/Http/Middleware/HandleInertiaRequests.php | 3 + database/factories/IncomeFactory.php | 28 + database/seeders/DatabaseSeeder.php | 14 +- database/seeders/IncomeSeeder.php | 20 + database/seeders/TypeIncomeSeeder.php | 20 + database/seeders/UserSeeder.php | 25 + .../.vite/deps/@inertiajs_inertia-vue3.js | 8453 +++++++++++ .../.vite/deps/@inertiajs_inertia-vue3.js.map | 7 + node_modules/.vite/deps/@inertiajs_vue3.js | 978 ++ .../.vite/deps/@inertiajs_vue3.js.map | 7 + node_modules/.vite/deps/_metadata.json | 55 + node_modules/.vite/deps/axios.js | 40 + node_modules/.vite/deps/axios.js.map | 7 + node_modules/.vite/deps/chunk-CEQRFMJQ.js | 42 + node_modules/.vite/deps/chunk-CEQRFMJQ.js.map | 7 + node_modules/.vite/deps/chunk-MJN6PGBK.js | 2164 +++ node_modules/.vite/deps/chunk-MJN6PGBK.js.map | 7 + node_modules/.vite/deps/chunk-SA4QXAJ3.js | 38 + node_modules/.vite/deps/chunk-SA4QXAJ3.js.map | 7 + node_modules/.vite/deps/chunk-XSQZ24V4.js | 11805 ++++++++++++++++ node_modules/.vite/deps/chunk-XSQZ24V4.js.map | 7 + node_modules/.vite/deps/chunk-Y3GWUAMM.js | 3478 +++++ node_modules/.vite/deps/chunk-Y3GWUAMM.js.map | 7 + .../laravel-vite-plugin_inertia-helpers.js | 17 + ...laravel-vite-plugin_inertia-helpers.js.map | 7 + node_modules/.vite/deps/package.json | 3 + node_modules/.vite/deps/vue.js | 326 + node_modules/.vite/deps/vue.js.map | 7 + resources/js/Pages/Auth/login.css | 6 +- resources/js/Pages/Auth/login.css.map | 1 + resources/js/Pages/Auth/login.scss | 3 + resources/js/Pages/Auth/login.vue | 2 +- resources/js/Pages/Transactions/index.css | 3 + resources/js/Pages/Transactions/index.css.map | 1 + resources/js/Pages/Transactions/index.scss | 5 + resources/js/Pages/Transactions/index.vue | 39 + resources/js/Pages/User/profile.css | 1 + resources/js/Pages/User/profile.css.map | 1 + resources/js/Pages/User/profile.scss | 0 resources/js/Pages/User/profile.vue | 31 + resources/js/templates/home.css | 30 + resources/js/templates/home.css.map | 1 + resources/js/templates/home.layout.vue | 28 + resources/js/templates/home.scss | 30 + routes/web.php | 6 +- 48 files changed, 27832 insertions(+), 15 deletions(-) create mode 100644 app/Console/Commands/page.php create mode 100644 app/Http/Controllers/TransactionsController.php create mode 100644 database/factories/IncomeFactory.php create mode 100644 database/seeders/IncomeSeeder.php create mode 100644 database/seeders/TypeIncomeSeeder.php create mode 100644 database/seeders/UserSeeder.php create mode 100644 node_modules/.vite/deps/@inertiajs_inertia-vue3.js create mode 100644 node_modules/.vite/deps/@inertiajs_inertia-vue3.js.map create mode 100644 node_modules/.vite/deps/@inertiajs_vue3.js create mode 100644 node_modules/.vite/deps/@inertiajs_vue3.js.map create mode 100644 node_modules/.vite/deps/_metadata.json create mode 100644 node_modules/.vite/deps/axios.js create mode 100644 node_modules/.vite/deps/axios.js.map create mode 100644 node_modules/.vite/deps/chunk-CEQRFMJQ.js create mode 100644 node_modules/.vite/deps/chunk-CEQRFMJQ.js.map create mode 100644 node_modules/.vite/deps/chunk-MJN6PGBK.js create mode 100644 node_modules/.vite/deps/chunk-MJN6PGBK.js.map create mode 100644 node_modules/.vite/deps/chunk-SA4QXAJ3.js create mode 100644 node_modules/.vite/deps/chunk-SA4QXAJ3.js.map create mode 100644 node_modules/.vite/deps/chunk-XSQZ24V4.js create mode 100644 node_modules/.vite/deps/chunk-XSQZ24V4.js.map create mode 100644 node_modules/.vite/deps/chunk-Y3GWUAMM.js create mode 100644 node_modules/.vite/deps/chunk-Y3GWUAMM.js.map create mode 100644 node_modules/.vite/deps/laravel-vite-plugin_inertia-helpers.js create mode 100644 node_modules/.vite/deps/laravel-vite-plugin_inertia-helpers.js.map create mode 100644 node_modules/.vite/deps/package.json create mode 100644 node_modules/.vite/deps/vue.js create mode 100644 node_modules/.vite/deps/vue.js.map create mode 100644 resources/js/Pages/Auth/login.css.map create mode 100644 resources/js/Pages/Auth/login.scss create mode 100644 resources/js/Pages/Transactions/index.css create mode 100644 resources/js/Pages/Transactions/index.css.map create mode 100644 resources/js/Pages/Transactions/index.scss create mode 100644 resources/js/Pages/Transactions/index.vue create mode 100644 resources/js/Pages/User/profile.css create mode 100644 resources/js/Pages/User/profile.css.map create mode 100644 resources/js/Pages/User/profile.scss create mode 100644 resources/js/Pages/User/profile.vue create mode 100644 resources/js/templates/home.css create mode 100644 resources/js/templates/home.css.map create mode 100644 resources/js/templates/home.layout.vue create mode 100644 resources/js/templates/home.scss diff --git a/app/Console/Commands/page.php b/app/Console/Commands/page.php new file mode 100644 index 00000000..d0f864ed --- /dev/null +++ b/app/Console/Commands/page.php @@ -0,0 +1,32 @@ +argument('name')); + shell_exec('echo. > '.getcwd().'\resources\js\Pages\\'.$this->argument('name').'\\'.strtolower($this->argument('name')).'.vue'); + shell_exec('echo. > '.getcwd().'\resources\js\Pages\\'.$this->argument('name').'\\'.strtolower($this->argument('name')).'.scss'); + } +} diff --git a/app/Http/Controllers/TransactionsController.php b/app/Http/Controllers/TransactionsController.php new file mode 100644 index 00000000..c2a04521 --- /dev/null +++ b/app/Http/Controllers/TransactionsController.php @@ -0,0 +1,43 @@ +queryBuilder(); + $data['incomes']['columns'] = collect($query->columns)->map(function($item){ + return ucfirst(substr($item, strrpos($item, '.')+1)); + }); + $data['incomes']['data'] = $query->get(); + return Inertia::render('Transactions/index', $data); + } + + + private function queryBuilder(){ + $query = DB::table($this->table) + ->select([ + // 'users.account', + // 'users.role', + // 'users.email', + 'incomes.amount', + 'incomes.description', + 'incomes.date', + 'type_incomes.label' + ]) + ->join('users', 'users.id', 'incomes.id_user') + ->join('type_incomes', 'type_incomes.id', 'incomes.id_type_income') + ; + + return $query; + } +} diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 56383473..9b11d171 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -9,6 +9,9 @@ use Inertia\Inertia; class UserController extends Controller { + /** + * Use to login a user + */ public function login(Request $request){ $credentials = $request->validate([ 'email' => ['required', 'email'], @@ -19,7 +22,7 @@ class UserController extends Controller return redirect()->intended('/'); } - return redirect()->back()->withErrors([ + return back()->withErrors([ 'message' => 'The provided credentials do not match our records.', ]); } diff --git a/app/Http/Middleware/HandleInertiaRequests.php b/app/Http/Middleware/HandleInertiaRequests.php index 7f652e37..3f3667ac 100644 --- a/app/Http/Middleware/HandleInertiaRequests.php +++ b/app/Http/Middleware/HandleInertiaRequests.php @@ -42,6 +42,9 @@ class HandleInertiaRequests extends Middleware 'message' => fn () => $request->session()->get('message') ], 'appName' => config('app.name'), + 'auth.user' => fn () => $request->user() + ? $request->user()->only('id', 'name', 'email', 'role', 'account') + : null, ]); } } diff --git a/database/factories/IncomeFactory.php b/database/factories/IncomeFactory.php new file mode 100644 index 00000000..974d5a63 --- /dev/null +++ b/database/factories/IncomeFactory.php @@ -0,0 +1,28 @@ + + */ +class IncomeFactory extends Factory +{ + /** + * Define the model's default state. + * + * @return array + */ + public function definition(): array + { + return [ + 'id_user' => 1, + 'id_type_income' => 1, + 'amount' => fake()->randomFloat(), + 'description' => Str::random(90), + 'date' => fake()->date(), + ]; + } +} diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index 4039d120..1a4e5187 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -4,9 +4,8 @@ namespace Database\Seeders; // use Illuminate\Database\Console\Seeds\WithoutModelEvents; -use App\Models\User; +use App\Models\Income; use Illuminate\Database\Seeder; -use Illuminate\Support\Facades\Hash; class DatabaseSeeder extends Seeder { @@ -15,13 +14,10 @@ class DatabaseSeeder extends Seeder */ public function run(): void { - - User::create([ - 'name' => 'Clément', - 'email' => 'clement@clement-turlure.fr', - 'password' => Hash::make('wo37oq88&*'), - 'role' => 'admin', + $this->call([ + UserSeeder::class, + TypeIncomeSeeder::class, + IncomeSeeder::class, ]); - } } diff --git a/database/seeders/IncomeSeeder.php b/database/seeders/IncomeSeeder.php new file mode 100644 index 00000000..dcb1c59d --- /dev/null +++ b/database/seeders/IncomeSeeder.php @@ -0,0 +1,20 @@ +count(50) + ->create(); + } +} diff --git a/database/seeders/TypeIncomeSeeder.php b/database/seeders/TypeIncomeSeeder.php new file mode 100644 index 00000000..06b25b12 --- /dev/null +++ b/database/seeders/TypeIncomeSeeder.php @@ -0,0 +1,20 @@ + 'test', + ]); + } +} diff --git a/database/seeders/UserSeeder.php b/database/seeders/UserSeeder.php new file mode 100644 index 00000000..255e986d --- /dev/null +++ b/database/seeders/UserSeeder.php @@ -0,0 +1,25 @@ + 'Clément', + 'email' => 'clement@clement-turlure.fr', + 'password' => Hash::make('wo37oq88&*'), + 'role' => 'admin', + ]); + } +} diff --git a/node_modules/.vite/deps/@inertiajs_inertia-vue3.js b/node_modules/.vite/deps/@inertiajs_inertia-vue3.js new file mode 100644 index 00000000..8edec5f2 --- /dev/null +++ b/node_modules/.vite/deps/@inertiajs_inertia-vue3.js @@ -0,0 +1,8453 @@ +import { + require_cjs, + require_lib, + require_lodash, + require_lodash2 +} from "./chunk-Y3GWUAMM.js"; +import { + EMPTY_OBJ, + NO, + NOOP, + PatchFlagNames, + camelize, + capitalize, + extend, + generateCodeFrame, + init_runtime_dom_esm_bundler, + init_shared_esm_bundler, + isArray, + isBuiltInDirective, + isHTMLTag, + isMathMLTag, + isObject, + isOn, + isReservedProp, + isSVGTag, + isString, + isSymbol, + isVoidTag, + makeMap, + parseStringStyle, + runtime_dom_esm_bundler_exports, + shared_esm_bundler_exports, + slotFlagsText, + toHandlerKey +} from "./chunk-XSQZ24V4.js"; +import { + __commonJS, + __esm, + __export, + __toCommonJS +} from "./chunk-CEQRFMJQ.js"; + +// node_modules/@vue/compiler-core/dist/compiler-core.esm-bundler.js +function registerRuntimeHelpers(helpers) { + Object.getOwnPropertySymbols(helpers).forEach((s) => { + helperNameMap[s] = helpers[s]; + }); +} +function createRoot(children, source = "") { + return { + type: 0, + source, + children, + helpers: /* @__PURE__ */ new Set(), + components: [], + directives: [], + hoists: [], + imports: [], + cached: 0, + temps: 0, + codegenNode: void 0, + loc: locStub + }; +} +function createVNodeCall(context, tag, props, children, patchFlag, dynamicProps, directives, isBlock = false, disableTracking = false, isComponent2 = false, loc = locStub) { + if (context) { + if (isBlock) { + context.helper(OPEN_BLOCK); + context.helper(getVNodeBlockHelper(context.inSSR, isComponent2)); + } else { + context.helper(getVNodeHelper(context.inSSR, isComponent2)); + } + if (directives) { + context.helper(WITH_DIRECTIVES); + } + } + return { + type: 13, + tag, + props, + children, + patchFlag, + dynamicProps, + directives, + isBlock, + disableTracking, + isComponent: isComponent2, + loc + }; +} +function createArrayExpression(elements, loc = locStub) { + return { + type: 17, + loc, + elements + }; +} +function createObjectExpression(properties, loc = locStub) { + return { + type: 15, + loc, + properties + }; +} +function createObjectProperty(key, value) { + return { + type: 16, + loc: locStub, + key: isString(key) ? createSimpleExpression(key, true) : key, + value + }; +} +function createSimpleExpression(content, isStatic = false, loc = locStub, constType = 0) { + return { + type: 4, + loc, + content, + isStatic, + constType: isStatic ? 3 : constType + }; +} +function createInterpolation(content, loc) { + return { + type: 5, + loc, + content: isString(content) ? createSimpleExpression(content, false, loc) : content + }; +} +function createCompoundExpression(children, loc = locStub) { + return { + type: 8, + loc, + children + }; +} +function createCallExpression(callee, args = [], loc = locStub) { + return { + type: 14, + loc, + callee, + arguments: args + }; +} +function createFunctionExpression(params, returns = void 0, newline = false, isSlot = false, loc = locStub) { + return { + type: 18, + params, + returns, + newline, + isSlot, + loc + }; +} +function createConditionalExpression(test, consequent, alternate, newline = true) { + return { + type: 19, + test, + consequent, + alternate, + newline, + loc: locStub + }; +} +function createCacheExpression(index, value, isVNode = false) { + return { + type: 20, + index, + value, + isVNode, + loc: locStub + }; +} +function createBlockStatement(body) { + return { + type: 21, + body, + loc: locStub + }; +} +function createTemplateLiteral(elements) { + return { + type: 22, + elements, + loc: locStub + }; +} +function createIfStatement(test, consequent, alternate) { + return { + type: 23, + test, + consequent, + alternate, + loc: locStub + }; +} +function createAssignmentExpression(left, right) { + return { + type: 24, + left, + right, + loc: locStub + }; +} +function createSequenceExpression(expressions) { + return { + type: 25, + expressions, + loc: locStub + }; +} +function createReturnStatement(returns) { + return { + type: 26, + returns, + loc: locStub + }; +} +function getVNodeHelper(ssr, isComponent2) { + return ssr || isComponent2 ? CREATE_VNODE : CREATE_ELEMENT_VNODE; +} +function getVNodeBlockHelper(ssr, isComponent2) { + return ssr || isComponent2 ? CREATE_BLOCK : CREATE_ELEMENT_BLOCK; +} +function convertToBlock(node, { helper, removeHelper, inSSR }) { + if (!node.isBlock) { + node.isBlock = true; + removeHelper(getVNodeHelper(inSSR, node.isComponent)); + helper(OPEN_BLOCK); + helper(getVNodeBlockHelper(inSSR, node.isComponent)); + } +} +function isTagStartChar(c) { + return c >= 97 && c <= 122 || c >= 65 && c <= 90; +} +function isWhitespace(c) { + return c === 32 || c === 10 || c === 9 || c === 12 || c === 13; +} +function isEndOfTagSection(c) { + return c === 47 || c === 62 || isWhitespace(c); +} +function toCharCodes(str) { + const ret = new Uint8Array(str.length); + for (let i = 0; i < str.length; i++) { + ret[i] = str.charCodeAt(i); + } + return ret; +} +function getCompatValue(key, { compatConfig }) { + const value = compatConfig && compatConfig[key]; + if (key === "MODE") { + return value || 3; + } else { + return value; + } +} +function isCompatEnabled(key, context) { + const mode = getCompatValue("MODE", context); + const value = getCompatValue(key, context); + return mode === 3 ? value === true : value !== false; +} +function checkCompatEnabled(key, context, loc, ...args) { + const enabled = isCompatEnabled(key, context); + if (enabled) { + warnDeprecation(key, context, loc, ...args); + } + return enabled; +} +function warnDeprecation(key, context, loc, ...args) { + const val = getCompatValue(key, context); + if (val === "suppress-warning") { + return; + } + const { message, link } = deprecationData[key]; + const msg = `(deprecation ${key}) ${typeof message === "function" ? message(...args) : message}${link ? ` + Details: ${link}` : ``}`; + const err = new SyntaxError(msg); + err.code = key; + if (loc) + err.loc = loc; + context.onWarn(err); +} +function defaultOnError(error) { + throw error; +} +function defaultOnWarn(msg) { + console.warn(`[Vue warn] ${msg.message}`); +} +function createCompilerError(code, loc, messages, additionalMessage) { + const msg = true ? (messages || errorMessages)[code] + (additionalMessage || ``) : `https://vuejs.org/error-reference/#compiler-${code}`; + const error = new SyntaxError(String(msg)); + error.code = code; + error.loc = loc; + return error; +} +function walkIdentifiers(root, onIdentifier, includeAll = false, parentStack = [], knownIds = /* @__PURE__ */ Object.create(null)) { + { + return; + } +} +function isReferencedIdentifier(id, parent, parentStack) { + { + return false; + } +} +function isInDestructureAssignment(parent, parentStack) { + if (parent && (parent.type === "ObjectProperty" || parent.type === "ArrayPattern")) { + let i = parentStack.length; + while (i--) { + const p = parentStack[i]; + if (p.type === "AssignmentExpression") { + return true; + } else if (p.type !== "ObjectProperty" && !p.type.endsWith("Pattern")) { + break; + } + } + } + return false; +} +function isInNewExpression(parentStack) { + let i = parentStack.length; + while (i--) { + const p = parentStack[i]; + if (p.type === "NewExpression") { + return true; + } else if (p.type !== "MemberExpression") { + break; + } + } + return false; +} +function walkFunctionParams(node, onIdent) { + for (const p of node.params) { + for (const id of extractIdentifiers(p)) { + onIdent(id); + } + } +} +function walkBlockDeclarations(block, onIdent) { + for (const stmt of block.body) { + if (stmt.type === "VariableDeclaration") { + if (stmt.declare) + continue; + for (const decl of stmt.declarations) { + for (const id of extractIdentifiers(decl.id)) { + onIdent(id); + } + } + } else if (stmt.type === "FunctionDeclaration" || stmt.type === "ClassDeclaration") { + if (stmt.declare || !stmt.id) + continue; + onIdent(stmt.id); + } else if (stmt.type === "ForOfStatement" || stmt.type === "ForInStatement" || stmt.type === "ForStatement") { + const variable = stmt.type === "ForStatement" ? stmt.init : stmt.left; + if (variable && variable.type === "VariableDeclaration") { + for (const decl of variable.declarations) { + for (const id of extractIdentifiers(decl.id)) { + onIdent(id); + } + } + } + } + } +} +function extractIdentifiers(param, nodes = []) { + switch (param.type) { + case "Identifier": + nodes.push(param); + break; + case "MemberExpression": + let object = param; + while (object.type === "MemberExpression") { + object = object.object; + } + nodes.push(object); + break; + case "ObjectPattern": + for (const prop of param.properties) { + if (prop.type === "RestElement") { + extractIdentifiers(prop.argument, nodes); + } else { + extractIdentifiers(prop.value, nodes); + } + } + break; + case "ArrayPattern": + param.elements.forEach((element) => { + if (element) + extractIdentifiers(element, nodes); + }); + break; + case "RestElement": + extractIdentifiers(param.argument, nodes); + break; + case "AssignmentPattern": + extractIdentifiers(param.left, nodes); + break; + } + return nodes; +} +function unwrapTSNode(node) { + if (TS_NODE_TYPES.includes(node.type)) { + return unwrapTSNode(node.expression); + } else { + return node; + } +} +function isCoreComponent(tag) { + switch (tag) { + case "Teleport": + case "teleport": + return TELEPORT; + case "Suspense": + case "suspense": + return SUSPENSE; + case "KeepAlive": + case "keep-alive": + return KEEP_ALIVE; + case "BaseTransition": + case "base-transition": + return BASE_TRANSITION; + } +} +function advancePositionWithClone(pos, source, numberOfCharacters = source.length) { + return advancePositionWithMutation( + { + offset: pos.offset, + line: pos.line, + column: pos.column + }, + source, + numberOfCharacters + ); +} +function advancePositionWithMutation(pos, source, numberOfCharacters = source.length) { + let linesCount = 0; + let lastNewLinePos = -1; + for (let i = 0; i < numberOfCharacters; i++) { + if (source.charCodeAt(i) === 10) { + linesCount++; + lastNewLinePos = i; + } + } + pos.offset += numberOfCharacters; + pos.line += linesCount; + pos.column = lastNewLinePos === -1 ? pos.column + numberOfCharacters : numberOfCharacters - lastNewLinePos; + return pos; +} +function assert(condition, msg) { + if (!condition) { + throw new Error(msg || `unexpected compiler condition`); + } +} +function findDir(node, name, allowEmpty = false) { + for (let i = 0; i < node.props.length; i++) { + const p = node.props[i]; + if (p.type === 7 && (allowEmpty || p.exp) && (isString(name) ? p.name === name : name.test(p.name))) { + return p; + } + } +} +function findProp(node, name, dynamicOnly = false, allowEmpty = false) { + for (let i = 0; i < node.props.length; i++) { + const p = node.props[i]; + if (p.type === 6) { + if (dynamicOnly) + continue; + if (p.name === name && (p.value || allowEmpty)) { + return p; + } + } else if (p.name === "bind" && (p.exp || allowEmpty) && isStaticArgOf(p.arg, name)) { + return p; + } + } +} +function isStaticArgOf(arg, name) { + return !!(arg && isStaticExp(arg) && arg.content === name); +} +function hasDynamicKeyVBind(node) { + return node.props.some( + (p) => p.type === 7 && p.name === "bind" && (!p.arg || // v-bind="obj" + p.arg.type !== 4 || // v-bind:[_ctx.foo] + !p.arg.isStatic) + // v-bind:[foo] + ); +} +function isText$1(node) { + return node.type === 5 || node.type === 2; +} +function isVSlot(p) { + return p.type === 7 && p.name === "slot"; +} +function isTemplateNode(node) { + return node.type === 1 && node.tagType === 3; +} +function isSlotOutlet(node) { + return node.type === 1 && node.tagType === 2; +} +function getUnnormalizedProps(props, callPath = []) { + if (props && !isString(props) && props.type === 14) { + const callee = props.callee; + if (!isString(callee) && propsHelperSet.has(callee)) { + return getUnnormalizedProps( + props.arguments[0], + callPath.concat(props) + ); + } + } + return [props, callPath]; +} +function injectProp(node, prop, context) { + let propsWithInjection; + let props = node.type === 13 ? node.props : node.arguments[2]; + let callPath = []; + let parentCall; + if (props && !isString(props) && props.type === 14) { + const ret = getUnnormalizedProps(props); + props = ret[0]; + callPath = ret[1]; + parentCall = callPath[callPath.length - 1]; + } + if (props == null || isString(props)) { + propsWithInjection = createObjectExpression([prop]); + } else if (props.type === 14) { + const first = props.arguments[0]; + if (!isString(first) && first.type === 15) { + if (!hasProp(prop, first)) { + first.properties.unshift(prop); + } + } else { + if (props.callee === TO_HANDLERS) { + propsWithInjection = createCallExpression(context.helper(MERGE_PROPS), [ + createObjectExpression([prop]), + props + ]); + } else { + props.arguments.unshift(createObjectExpression([prop])); + } + } + !propsWithInjection && (propsWithInjection = props); + } else if (props.type === 15) { + if (!hasProp(prop, props)) { + props.properties.unshift(prop); + } + propsWithInjection = props; + } else { + propsWithInjection = createCallExpression(context.helper(MERGE_PROPS), [ + createObjectExpression([prop]), + props + ]); + if (parentCall && parentCall.callee === GUARD_REACTIVE_PROPS) { + parentCall = callPath[callPath.length - 2]; + } + } + if (node.type === 13) { + if (parentCall) { + parentCall.arguments[0] = propsWithInjection; + } else { + node.props = propsWithInjection; + } + } else { + if (parentCall) { + parentCall.arguments[0] = propsWithInjection; + } else { + node.arguments[2] = propsWithInjection; + } + } +} +function hasProp(prop, props) { + let result = false; + if (prop.key.type === 4) { + const propKeyName = prop.key.content; + result = props.properties.some( + (p) => p.key.type === 4 && p.key.content === propKeyName + ); + } + return result; +} +function toValidAssetId(name, type) { + return `_${type}_${name.replace(/[^\w]/g, (searchValue, replaceValue) => { + return searchValue === "-" ? "_" : name.charCodeAt(replaceValue).toString(); + })}`; +} +function hasScopeRef(node, ids) { + if (!node || Object.keys(ids).length === 0) { + return false; + } + switch (node.type) { + case 1: + for (let i = 0; i < node.props.length; i++) { + const p = node.props[i]; + if (p.type === 7 && (hasScopeRef(p.arg, ids) || hasScopeRef(p.exp, ids))) { + return true; + } + } + return node.children.some((c) => hasScopeRef(c, ids)); + case 11: + if (hasScopeRef(node.source, ids)) { + return true; + } + return node.children.some((c) => hasScopeRef(c, ids)); + case 9: + return node.branches.some((b) => hasScopeRef(b, ids)); + case 10: + if (hasScopeRef(node.condition, ids)) { + return true; + } + return node.children.some((c) => hasScopeRef(c, ids)); + case 4: + return !node.isStatic && isSimpleIdentifier(node.content) && !!ids[node.content]; + case 8: + return node.children.some((c) => isObject(c) && hasScopeRef(c, ids)); + case 5: + case 12: + return hasScopeRef(node.content, ids); + case 2: + case 3: + return false; + default: + if (true) + ; + return false; + } +} +function getMemoedVNodeCall(node) { + if (node.type === 14 && node.callee === WITH_MEMO) { + return node.arguments[1].returns; + } else { + return node; + } +} +function parseForExpression(input) { + const loc = input.loc; + const exp = input.content; + const inMatch = exp.match(forAliasRE); + if (!inMatch) + return; + const [, LHS, RHS] = inMatch; + const createAliasExpression = (content, offset, asParam = false) => { + const start = loc.start.offset + offset; + const end = start + content.length; + return createExp( + content, + false, + getLoc(start, end), + 0, + asParam ? 1 : 0 + /* Normal */ + ); + }; + const result = { + source: createAliasExpression(RHS.trim(), exp.indexOf(RHS, LHS.length)), + value: void 0, + key: void 0, + index: void 0, + finalized: false + }; + let valueContent = LHS.trim().replace(stripParensRE, "").trim(); + const trimmedOffset = LHS.indexOf(valueContent); + const iteratorMatch = valueContent.match(forIteratorRE); + if (iteratorMatch) { + valueContent = valueContent.replace(forIteratorRE, "").trim(); + const keyContent = iteratorMatch[1].trim(); + let keyOffset; + if (keyContent) { + keyOffset = exp.indexOf(keyContent, trimmedOffset + valueContent.length); + result.key = createAliasExpression(keyContent, keyOffset, true); + } + if (iteratorMatch[2]) { + const indexContent = iteratorMatch[2].trim(); + if (indexContent) { + result.index = createAliasExpression( + indexContent, + exp.indexOf( + indexContent, + result.key ? keyOffset + keyContent.length : trimmedOffset + valueContent.length + ), + true + ); + } + } + } + if (valueContent) { + result.value = createAliasExpression(valueContent, trimmedOffset, true); + } + return result; +} +function getSlice(start, end) { + return currentInput.slice(start, end); +} +function endOpenTag(end) { + if (tokenizer.inSFCRoot) { + currentOpenTag.innerLoc = getLoc(end + 1, end + 1); + } + addNode(currentOpenTag); + const { tag, ns } = currentOpenTag; + if (ns === 0 && currentOptions.isPreTag(tag)) { + inPre++; + } + if (currentOptions.isVoidTag(tag)) { + onCloseTag(currentOpenTag, end); + } else { + stack.unshift(currentOpenTag); + if (ns === 1 || ns === 2) { + tokenizer.inXML = true; + } + } + currentOpenTag = null; +} +function onText(content, start, end) { + var _a; + { + const tag = (_a = stack[0]) == null ? void 0 : _a.tag; + if (tag !== "script" && tag !== "style" && content.includes("&")) { + content = currentOptions.decodeEntities(content, false); + } + } + const parent = stack[0] || currentRoot; + const lastNode = parent.children[parent.children.length - 1]; + if ((lastNode == null ? void 0 : lastNode.type) === 2) { + lastNode.content += content; + setLocEnd(lastNode.loc, end); + } else { + parent.children.push({ + type: 2, + content, + loc: getLoc(start, end) + }); + } +} +function onCloseTag(el, end, isImplied = false) { + if (isImplied) { + setLocEnd(el.loc, backTrack(end, 60)); + } else { + setLocEnd(el.loc, end + 1); + } + if (tokenizer.inSFCRoot) { + if (el.children.length) { + el.innerLoc.end = extend({}, el.children[el.children.length - 1].loc.end); + } else { + el.innerLoc.end = extend({}, el.innerLoc.start); + } + el.innerLoc.source = getSlice( + el.innerLoc.start.offset, + el.innerLoc.end.offset + ); + } + const { tag, ns } = el; + if (!inVPre) { + if (tag === "slot") { + el.tagType = 2; + } else if (isFragmentTemplate(el)) { + el.tagType = 3; + } else if (isComponent(el)) { + el.tagType = 1; + } + } + if (!tokenizer.inRCDATA) { + el.children = condenseWhitespace(el.children, el.tag); + } + if (ns === 0 && currentOptions.isPreTag(tag)) { + inPre--; + } + if (currentVPreBoundary === el) { + inVPre = tokenizer.inVPre = false; + currentVPreBoundary = null; + } + if (tokenizer.inXML && (stack[0] ? stack[0].ns : currentOptions.ns) === 0) { + tokenizer.inXML = false; + } + { + const props = el.props; + if (isCompatEnabled( + "COMPILER_V_IF_V_FOR_PRECEDENCE", + currentOptions + )) { + let hasIf = false; + let hasFor = false; + for (let i = 0; i < props.length; i++) { + const p = props[i]; + if (p.type === 7) { + if (p.name === "if") { + hasIf = true; + } else if (p.name === "for") { + hasFor = true; + } + } + if (hasIf && hasFor) { + warnDeprecation( + "COMPILER_V_IF_V_FOR_PRECEDENCE", + currentOptions, + el.loc + ); + break; + } + } + } + if (!tokenizer.inSFCRoot && isCompatEnabled( + "COMPILER_NATIVE_TEMPLATE", + currentOptions + ) && el.tag === "template" && !isFragmentTemplate(el)) { + warnDeprecation( + "COMPILER_NATIVE_TEMPLATE", + currentOptions, + el.loc + ); + const parent = stack[0] || currentRoot; + const index = parent.children.indexOf(el); + parent.children.splice(index, 1, ...el.children); + } + const inlineTemplateProp = props.find( + (p) => p.type === 6 && p.name === "inline-template" + ); + if (inlineTemplateProp && checkCompatEnabled( + "COMPILER_INLINE_TEMPLATE", + currentOptions, + inlineTemplateProp.loc + ) && el.children.length) { + inlineTemplateProp.value = { + type: 2, + content: getSlice( + el.children[0].loc.start.offset, + el.children[el.children.length - 1].loc.end.offset + ), + loc: inlineTemplateProp.loc + }; + } + } +} +function backTrack(index, c) { + let i = index; + while (currentInput.charCodeAt(i) !== c && i >= 0) + i--; + return i; +} +function isFragmentTemplate({ tag, props }) { + if (tag === "template") { + for (let i = 0; i < props.length; i++) { + if (props[i].type === 7 && specialTemplateDir.has(props[i].name)) { + return true; + } + } + } + return false; +} +function isComponent({ tag, props }) { + var _a; + if (currentOptions.isCustomElement(tag)) { + return false; + } + if (tag === "component" || isUpperCase(tag.charCodeAt(0)) || isCoreComponent(tag) || ((_a = currentOptions.isBuiltInComponent) == null ? void 0 : _a.call(currentOptions, tag)) || currentOptions.isNativeTag && !currentOptions.isNativeTag(tag)) { + return true; + } + for (let i = 0; i < props.length; i++) { + const p = props[i]; + if (p.type === 6) { + if (p.name === "is" && p.value) { + if (p.value.content.startsWith("vue:")) { + return true; + } else if (checkCompatEnabled( + "COMPILER_IS_ON_ELEMENT", + currentOptions, + p.loc + )) { + return true; + } + } + } else if ( + // :is on plain element - only treat as component in compat mode + p.name === "bind" && isStaticArgOf(p.arg, "is") && checkCompatEnabled( + "COMPILER_IS_ON_ELEMENT", + currentOptions, + p.loc + ) + ) { + return true; + } + } + return false; +} +function isUpperCase(c) { + return c > 64 && c < 91; +} +function condenseWhitespace(nodes, tag) { + var _a, _b; + const shouldCondense = currentOptions.whitespace !== "preserve"; + let removedWhitespace = false; + for (let i = 0; i < nodes.length; i++) { + const node = nodes[i]; + if (node.type === 2) { + if (!inPre) { + if (isAllWhitespace(node.content)) { + const prev = (_a = nodes[i - 1]) == null ? void 0 : _a.type; + const next = (_b = nodes[i + 1]) == null ? void 0 : _b.type; + if (!prev || !next || shouldCondense && (prev === 3 && (next === 3 || next === 1) || prev === 1 && (next === 3 || next === 1 && hasNewlineChar(node.content)))) { + removedWhitespace = true; + nodes[i] = null; + } else { + node.content = " "; + } + } else if (shouldCondense) { + node.content = condense(node.content); + } + } else { + node.content = node.content.replace(windowsNewlineRE, "\n"); + } + } + } + if (inPre && tag && currentOptions.isPreTag(tag)) { + const first = nodes[0]; + if (first && first.type === 2) { + first.content = first.content.replace(/^\r?\n/, ""); + } + } + return removedWhitespace ? nodes.filter(Boolean) : nodes; +} +function isAllWhitespace(str) { + for (let i = 0; i < str.length; i++) { + if (!isWhitespace(str.charCodeAt(i))) { + return false; + } + } + return true; +} +function hasNewlineChar(str) { + for (let i = 0; i < str.length; i++) { + const c = str.charCodeAt(i); + if (c === 10 || c === 13) { + return true; + } + } + return false; +} +function condense(str) { + let ret = ""; + let prevCharIsWhitespace = false; + for (let i = 0; i < str.length; i++) { + if (isWhitespace(str.charCodeAt(i))) { + if (!prevCharIsWhitespace) { + ret += " "; + prevCharIsWhitespace = true; + } + } else { + ret += str[i]; + prevCharIsWhitespace = false; + } + } + return ret; +} +function addNode(node) { + (stack[0] || currentRoot).children.push(node); +} +function getLoc(start, end) { + return { + start: tokenizer.getPos(start), + // @ts-expect-error allow late attachment + end: end == null ? end : tokenizer.getPos(end), + // @ts-expect-error allow late attachment + source: end == null ? end : getSlice(start, end) + }; +} +function setLocEnd(loc, end) { + loc.end = tokenizer.getPos(end); + loc.source = getSlice(loc.start.offset, end); +} +function dirToAttr(dir) { + const attr = { + type: 6, + name: dir.rawName, + nameLoc: getLoc( + dir.loc.start.offset, + dir.loc.start.offset + dir.rawName.length + ), + value: void 0, + loc: dir.loc + }; + if (dir.exp) { + const loc = dir.exp.loc; + if (loc.end.offset < dir.loc.end.offset) { + loc.start.offset--; + loc.start.column--; + loc.end.offset++; + loc.end.column++; + } + attr.value = { + type: 2, + content: dir.exp.content, + loc + }; + } + return attr; +} +function createExp(content, isStatic = false, loc, constType = 0, parseMode = 0) { + const exp = createSimpleExpression(content, isStatic, loc, constType); + return exp; +} +function emitError(code, index, message) { + currentOptions.onError( + createCompilerError(code, getLoc(index, index), void 0, message) + ); +} +function reset() { + tokenizer.reset(); + currentOpenTag = null; + currentProp = null; + currentAttrValue = ""; + currentAttrStartIndex = -1; + currentAttrEndIndex = -1; + stack.length = 0; +} +function baseParse(input, options) { + reset(); + currentInput = input; + currentOptions = extend({}, defaultParserOptions); + if (options) { + let key; + for (key in options) { + if (options[key] != null) { + currentOptions[key] = options[key]; + } + } + } + if (true) { + if (!currentOptions.decodeEntities) { + throw new Error( + `[@vue/compiler-core] decodeEntities option is required in browser builds.` + ); + } + } + tokenizer.mode = currentOptions.parseMode === "html" ? 1 : currentOptions.parseMode === "sfc" ? 2 : 0; + tokenizer.inXML = currentOptions.ns === 1 || currentOptions.ns === 2; + const delimiters = options == null ? void 0 : options.delimiters; + if (delimiters) { + tokenizer.delimiterOpen = toCharCodes(delimiters[0]); + tokenizer.delimiterClose = toCharCodes(delimiters[1]); + } + const root = currentRoot = createRoot([], input); + tokenizer.parse(currentInput); + root.loc = getLoc(0, input.length); + root.children = condenseWhitespace(root.children); + currentRoot = null; + return root; +} +function hoistStatic(root, context) { + walk( + root, + context, + // Root node is unfortunately non-hoistable due to potential parent + // fallthrough attributes. + isSingleElementRoot(root, root.children[0]) + ); +} +function isSingleElementRoot(root, child) { + const { children } = root; + return children.length === 1 && child.type === 1 && !isSlotOutlet(child); +} +function walk(node, context, doNotHoistNode = false) { + const { children } = node; + const originalCount = children.length; + let hoistedCount = 0; + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (child.type === 1 && child.tagType === 0) { + const constantType = doNotHoistNode ? 0 : getConstantType(child, context); + if (constantType > 0) { + if (constantType >= 2) { + child.codegenNode.patchFlag = -1 + (true ? ` /* HOISTED */` : ``); + child.codegenNode = context.hoist(child.codegenNode); + hoistedCount++; + continue; + } + } else { + const codegenNode = child.codegenNode; + if (codegenNode.type === 13) { + const flag = getPatchFlag(codegenNode); + if ((!flag || flag === 512 || flag === 1) && getGeneratedPropsConstantType(child, context) >= 2) { + const props = getNodeProps(child); + if (props) { + codegenNode.props = context.hoist(props); + } + } + if (codegenNode.dynamicProps) { + codegenNode.dynamicProps = context.hoist(codegenNode.dynamicProps); + } + } + } + } + if (child.type === 1) { + const isComponent2 = child.tagType === 1; + if (isComponent2) { + context.scopes.vSlot++; + } + walk(child, context); + if (isComponent2) { + context.scopes.vSlot--; + } + } else if (child.type === 11) { + walk(child, context, child.children.length === 1); + } else if (child.type === 9) { + for (let i2 = 0; i2 < child.branches.length; i2++) { + walk( + child.branches[i2], + context, + child.branches[i2].children.length === 1 + ); + } + } + } + if (hoistedCount && context.transformHoist) { + context.transformHoist(children, context, node); + } + if (hoistedCount && hoistedCount === originalCount && node.type === 1 && node.tagType === 0 && node.codegenNode && node.codegenNode.type === 13 && isArray(node.codegenNode.children)) { + const hoisted = context.hoist( + createArrayExpression(node.codegenNode.children) + ); + if (context.hmr) { + hoisted.content = `[...${hoisted.content}]`; + } + node.codegenNode.children = hoisted; + } +} +function getConstantType(node, context) { + const { constantCache } = context; + switch (node.type) { + case 1: + if (node.tagType !== 0) { + return 0; + } + const cached = constantCache.get(node); + if (cached !== void 0) { + return cached; + } + const codegenNode = node.codegenNode; + if (codegenNode.type !== 13) { + return 0; + } + if (codegenNode.isBlock && node.tag !== "svg" && node.tag !== "foreignObject") { + return 0; + } + const flag = getPatchFlag(codegenNode); + if (!flag) { + let returnType2 = 3; + const generatedPropsType = getGeneratedPropsConstantType(node, context); + if (generatedPropsType === 0) { + constantCache.set(node, 0); + return 0; + } + if (generatedPropsType < returnType2) { + returnType2 = generatedPropsType; + } + for (let i = 0; i < node.children.length; i++) { + const childType = getConstantType(node.children[i], context); + if (childType === 0) { + constantCache.set(node, 0); + return 0; + } + if (childType < returnType2) { + returnType2 = childType; + } + } + if (returnType2 > 1) { + for (let i = 0; i < node.props.length; i++) { + const p = node.props[i]; + if (p.type === 7 && p.name === "bind" && p.exp) { + const expType = getConstantType(p.exp, context); + if (expType === 0) { + constantCache.set(node, 0); + return 0; + } + if (expType < returnType2) { + returnType2 = expType; + } + } + } + } + if (codegenNode.isBlock) { + for (let i = 0; i < node.props.length; i++) { + const p = node.props[i]; + if (p.type === 7) { + constantCache.set(node, 0); + return 0; + } + } + context.removeHelper(OPEN_BLOCK); + context.removeHelper( + getVNodeBlockHelper(context.inSSR, codegenNode.isComponent) + ); + codegenNode.isBlock = false; + context.helper(getVNodeHelper(context.inSSR, codegenNode.isComponent)); + } + constantCache.set(node, returnType2); + return returnType2; + } else { + constantCache.set(node, 0); + return 0; + } + case 2: + case 3: + return 3; + case 9: + case 11: + case 10: + return 0; + case 5: + case 12: + return getConstantType(node.content, context); + case 4: + return node.constType; + case 8: + let returnType = 3; + for (let i = 0; i < node.children.length; i++) { + const child = node.children[i]; + if (isString(child) || isSymbol(child)) { + continue; + } + const childType = getConstantType(child, context); + if (childType === 0) { + return 0; + } else if (childType < returnType) { + returnType = childType; + } + } + return returnType; + default: + if (true) + ; + return 0; + } +} +function getConstantTypeOfHelperCall(value, context) { + if (value.type === 14 && !isString(value.callee) && allowHoistedHelperSet.has(value.callee)) { + const arg = value.arguments[0]; + if (arg.type === 4) { + return getConstantType(arg, context); + } else if (arg.type === 14) { + return getConstantTypeOfHelperCall(arg, context); + } + } + return 0; +} +function getGeneratedPropsConstantType(node, context) { + let returnType = 3; + const props = getNodeProps(node); + if (props && props.type === 15) { + const { properties } = props; + for (let i = 0; i < properties.length; i++) { + const { key, value } = properties[i]; + const keyType = getConstantType(key, context); + if (keyType === 0) { + return keyType; + } + if (keyType < returnType) { + returnType = keyType; + } + let valueType; + if (value.type === 4) { + valueType = getConstantType(value, context); + } else if (value.type === 14) { + valueType = getConstantTypeOfHelperCall(value, context); + } else { + valueType = 0; + } + if (valueType === 0) { + return valueType; + } + if (valueType < returnType) { + returnType = valueType; + } + } + } + return returnType; +} +function getNodeProps(node) { + const codegenNode = node.codegenNode; + if (codegenNode.type === 13) { + return codegenNode.props; + } +} +function getPatchFlag(node) { + const flag = node.patchFlag; + return flag ? parseInt(flag, 10) : void 0; +} +function createTransformContext(root, { + filename = "", + prefixIdentifiers = false, + hoistStatic: hoistStatic2 = false, + hmr = false, + cacheHandlers = false, + nodeTransforms = [], + directiveTransforms = {}, + transformHoist = null, + isBuiltInComponent = NOOP, + isCustomElement = NOOP, + expressionPlugins = [], + scopeId = null, + slotted = true, + ssr = false, + inSSR = false, + ssrCssVars = ``, + bindingMetadata = EMPTY_OBJ, + inline = false, + isTS = false, + onError = defaultOnError, + onWarn = defaultOnWarn, + compatConfig +}) { + const nameMatch = filename.replace(/\?.*$/, "").match(/([^/\\]+)\.\w+$/); + const context = { + // options + filename, + selfName: nameMatch && capitalize(camelize(nameMatch[1])), + prefixIdentifiers, + hoistStatic: hoistStatic2, + hmr, + cacheHandlers, + nodeTransforms, + directiveTransforms, + transformHoist, + isBuiltInComponent, + isCustomElement, + expressionPlugins, + scopeId, + slotted, + ssr, + inSSR, + ssrCssVars, + bindingMetadata, + inline, + isTS, + onError, + onWarn, + compatConfig, + // state + root, + helpers: /* @__PURE__ */ new Map(), + components: /* @__PURE__ */ new Set(), + directives: /* @__PURE__ */ new Set(), + hoists: [], + imports: [], + constantCache: /* @__PURE__ */ new WeakMap(), + temps: 0, + cached: 0, + identifiers: /* @__PURE__ */ Object.create(null), + scopes: { + vFor: 0, + vSlot: 0, + vPre: 0, + vOnce: 0 + }, + parent: null, + currentNode: root, + childIndex: 0, + inVOnce: false, + // methods + helper(name) { + const count = context.helpers.get(name) || 0; + context.helpers.set(name, count + 1); + return name; + }, + removeHelper(name) { + const count = context.helpers.get(name); + if (count) { + const currentCount = count - 1; + if (!currentCount) { + context.helpers.delete(name); + } else { + context.helpers.set(name, currentCount); + } + } + }, + helperString(name) { + return `_${helperNameMap[context.helper(name)]}`; + }, + replaceNode(node) { + if (true) { + if (!context.currentNode) { + throw new Error(`Node being replaced is already removed.`); + } + if (!context.parent) { + throw new Error(`Cannot replace root node.`); + } + } + context.parent.children[context.childIndex] = context.currentNode = node; + }, + removeNode(node) { + if (!context.parent) { + throw new Error(`Cannot remove root node.`); + } + const list = context.parent.children; + const removalIndex = node ? list.indexOf(node) : context.currentNode ? context.childIndex : -1; + if (removalIndex < 0) { + throw new Error(`node being removed is not a child of current parent`); + } + if (!node || node === context.currentNode) { + context.currentNode = null; + context.onNodeRemoved(); + } else { + if (context.childIndex > removalIndex) { + context.childIndex--; + context.onNodeRemoved(); + } + } + context.parent.children.splice(removalIndex, 1); + }, + onNodeRemoved: NOOP, + addIdentifiers(exp) { + }, + removeIdentifiers(exp) { + }, + hoist(exp) { + if (isString(exp)) + exp = createSimpleExpression(exp); + context.hoists.push(exp); + const identifier = createSimpleExpression( + `_hoisted_${context.hoists.length}`, + false, + exp.loc, + 2 + ); + identifier.hoisted = exp; + return identifier; + }, + cache(exp, isVNode = false) { + return createCacheExpression(context.cached++, exp, isVNode); + } + }; + { + context.filters = /* @__PURE__ */ new Set(); + } + return context; +} +function transform(root, options) { + const context = createTransformContext(root, options); + traverseNode(root, context); + if (options.hoistStatic) { + hoistStatic(root, context); + } + if (!options.ssr) { + createRootCodegen(root, context); + } + root.helpers = /* @__PURE__ */ new Set([...context.helpers.keys()]); + root.components = [...context.components]; + root.directives = [...context.directives]; + root.imports = context.imports; + root.hoists = context.hoists; + root.temps = context.temps; + root.cached = context.cached; + root.transformed = true; + { + root.filters = [...context.filters]; + } +} +function createRootCodegen(root, context) { + const { helper } = context; + const { children } = root; + if (children.length === 1) { + const child = children[0]; + if (isSingleElementRoot(root, child) && child.codegenNode) { + const codegenNode = child.codegenNode; + if (codegenNode.type === 13) { + convertToBlock(codegenNode, context); + } + root.codegenNode = codegenNode; + } else { + root.codegenNode = child; + } + } else if (children.length > 1) { + let patchFlag = 64; + let patchFlagText = PatchFlagNames[64]; + if (children.filter((c) => c.type !== 3).length === 1) { + patchFlag |= 2048; + patchFlagText += `, ${PatchFlagNames[2048]}`; + } + root.codegenNode = createVNodeCall( + context, + helper(FRAGMENT), + void 0, + root.children, + patchFlag + (true ? ` /* ${patchFlagText} */` : ``), + void 0, + void 0, + true, + void 0, + false + ); + } else + ; +} +function traverseChildren(parent, context) { + let i = 0; + const nodeRemoved = () => { + i--; + }; + for (; i < parent.children.length; i++) { + const child = parent.children[i]; + if (isString(child)) + continue; + context.parent = parent; + context.childIndex = i; + context.onNodeRemoved = nodeRemoved; + traverseNode(child, context); + } +} +function traverseNode(node, context) { + context.currentNode = node; + const { nodeTransforms } = context; + const exitFns = []; + for (let i2 = 0; i2 < nodeTransforms.length; i2++) { + const onExit = nodeTransforms[i2](node, context); + if (onExit) { + if (isArray(onExit)) { + exitFns.push(...onExit); + } else { + exitFns.push(onExit); + } + } + if (!context.currentNode) { + return; + } else { + node = context.currentNode; + } + } + switch (node.type) { + case 3: + if (!context.ssr) { + context.helper(CREATE_COMMENT); + } + break; + case 5: + if (!context.ssr) { + context.helper(TO_DISPLAY_STRING); + } + break; + case 9: + for (let i2 = 0; i2 < node.branches.length; i2++) { + traverseNode(node.branches[i2], context); + } + break; + case 10: + case 11: + case 1: + case 0: + traverseChildren(node, context); + break; + } + context.currentNode = node; + let i = exitFns.length; + while (i--) { + exitFns[i](); + } +} +function createStructuralDirectiveTransform(name, fn) { + const matches = isString(name) ? (n) => n === name : (n) => name.test(n); + return (node, context) => { + if (node.type === 1) { + const { props } = node; + if (node.tagType === 3 && props.some(isVSlot)) { + return; + } + const exitFns = []; + for (let i = 0; i < props.length; i++) { + const prop = props[i]; + if (prop.type === 7 && matches(prop.name)) { + props.splice(i, 1); + i--; + const onExit = fn(node, prop, context); + if (onExit) + exitFns.push(onExit); + } + } + return exitFns; + } + }; +} +function createCodegenContext(ast, { + mode = "function", + prefixIdentifiers = mode === "module", + sourceMap = false, + filename = `template.vue.html`, + scopeId = null, + optimizeImports = false, + runtimeGlobalName = `Vue`, + runtimeModuleName = `vue`, + ssrRuntimeModuleName = "vue/server-renderer", + ssr = false, + isTS = false, + inSSR = false +}) { + const context = { + mode, + prefixIdentifiers, + sourceMap, + filename, + scopeId, + optimizeImports, + runtimeGlobalName, + runtimeModuleName, + ssrRuntimeModuleName, + ssr, + isTS, + inSSR, + source: ast.source, + code: ``, + column: 1, + line: 1, + offset: 0, + indentLevel: 0, + pure: false, + map: void 0, + helper(key) { + return `_${helperNameMap[key]}`; + }, + push(code, newlineIndex = -2, node) { + context.code += code; + }, + indent() { + newline(++context.indentLevel); + }, + deindent(withoutNewLine = false) { + if (withoutNewLine) { + --context.indentLevel; + } else { + newline(--context.indentLevel); + } + }, + newline() { + newline(context.indentLevel); + } + }; + function newline(n) { + context.push( + "\n" + ` `.repeat(n), + 0 + /* Start */ + ); + } + return context; +} +function generate(ast, options = {}) { + const context = createCodegenContext(ast, options); + if (options.onContextCreated) + options.onContextCreated(context); + const { + mode, + push, + prefixIdentifiers, + indent, + deindent, + newline, + scopeId, + ssr + } = context; + const helpers = Array.from(ast.helpers); + const hasHelpers = helpers.length > 0; + const useWithBlock = !prefixIdentifiers && mode !== "module"; + const isSetupInlined = false; + const preambleContext = isSetupInlined ? createCodegenContext(ast, options) : context; + { + genFunctionPreamble(ast, preambleContext); + } + const functionName = ssr ? `ssrRender` : `render`; + const args = ssr ? ["_ctx", "_push", "_parent", "_attrs"] : ["_ctx", "_cache"]; + const signature = args.join(", "); + { + push(`function ${functionName}(${signature}) {`); + } + indent(); + if (useWithBlock) { + push(`with (_ctx) {`); + indent(); + if (hasHelpers) { + push( + `const { ${helpers.map(aliasHelper).join(", ")} } = _Vue +`, + -1 + /* End */ + ); + newline(); + } + } + if (ast.components.length) { + genAssets(ast.components, "component", context); + if (ast.directives.length || ast.temps > 0) { + newline(); + } + } + if (ast.directives.length) { + genAssets(ast.directives, "directive", context); + if (ast.temps > 0) { + newline(); + } + } + if (ast.filters && ast.filters.length) { + newline(); + genAssets(ast.filters, "filter", context); + newline(); + } + if (ast.temps > 0) { + push(`let `); + for (let i = 0; i < ast.temps; i++) { + push(`${i > 0 ? `, ` : ``}_temp${i}`); + } + } + if (ast.components.length || ast.directives.length || ast.temps) { + push( + ` +`, + 0 + /* Start */ + ); + newline(); + } + if (!ssr) { + push(`return `); + } + if (ast.codegenNode) { + genNode(ast.codegenNode, context); + } else { + push(`null`); + } + if (useWithBlock) { + deindent(); + push(`}`); + } + deindent(); + push(`}`); + return { + ast, + code: context.code, + preamble: isSetupInlined ? preambleContext.code : ``, + map: context.map ? context.map.toJSON() : void 0 + }; +} +function genFunctionPreamble(ast, context) { + const { + ssr, + prefixIdentifiers, + push, + newline, + runtimeModuleName, + runtimeGlobalName, + ssrRuntimeModuleName + } = context; + const VueBinding = runtimeGlobalName; + const helpers = Array.from(ast.helpers); + if (helpers.length > 0) { + { + push( + `const _Vue = ${VueBinding} +`, + -1 + /* End */ + ); + if (ast.hoists.length) { + const staticHelpers = [ + CREATE_VNODE, + CREATE_ELEMENT_VNODE, + CREATE_COMMENT, + CREATE_TEXT, + CREATE_STATIC + ].filter((helper) => helpers.includes(helper)).map(aliasHelper).join(", "); + push( + `const { ${staticHelpers} } = _Vue +`, + -1 + /* End */ + ); + } + } + } + genHoists(ast.hoists, context); + newline(); + push(`return `); +} +function genAssets(assets, type, { helper, push, newline, isTS }) { + const resolver = helper( + type === "filter" ? RESOLVE_FILTER : type === "component" ? RESOLVE_COMPONENT : RESOLVE_DIRECTIVE + ); + for (let i = 0; i < assets.length; i++) { + let id = assets[i]; + const maybeSelfReference = id.endsWith("__self"); + if (maybeSelfReference) { + id = id.slice(0, -6); + } + push( + `const ${toValidAssetId(id, type)} = ${resolver}(${JSON.stringify(id)}${maybeSelfReference ? `, true` : ``})${isTS ? `!` : ``}` + ); + if (i < assets.length - 1) { + newline(); + } + } +} +function genHoists(hoists, context) { + if (!hoists.length) { + return; + } + context.pure = true; + const { push, newline, helper, scopeId, mode } = context; + newline(); + for (let i = 0; i < hoists.length; i++) { + const exp = hoists[i]; + if (exp) { + push( + `const _hoisted_${i + 1} = ${``}` + ); + genNode(exp, context); + newline(); + } + } + context.pure = false; +} +function isText(n) { + return isString(n) || n.type === 4 || n.type === 2 || n.type === 5 || n.type === 8; +} +function genNodeListAsArray(nodes, context) { + const multilines = nodes.length > 3 || nodes.some((n) => isArray(n) || !isText(n)); + context.push(`[`); + multilines && context.indent(); + genNodeList(nodes, context, multilines); + multilines && context.deindent(); + context.push(`]`); +} +function genNodeList(nodes, context, multilines = false, comma = true) { + const { push, newline } = context; + for (let i = 0; i < nodes.length; i++) { + const node = nodes[i]; + if (isString(node)) { + push( + node, + -3 + /* Unknown */ + ); + } else if (isArray(node)) { + genNodeListAsArray(node, context); + } else { + genNode(node, context); + } + if (i < nodes.length - 1) { + if (multilines) { + comma && push(","); + newline(); + } else { + comma && push(", "); + } + } + } +} +function genNode(node, context) { + if (isString(node)) { + context.push( + node, + -3 + /* Unknown */ + ); + return; + } + if (isSymbol(node)) { + context.push(context.helper(node)); + return; + } + switch (node.type) { + case 1: + case 9: + case 11: + assert( + node.codegenNode != null, + `Codegen node is missing for element/if/for node. Apply appropriate transforms first.` + ); + genNode(node.codegenNode, context); + break; + case 2: + genText(node, context); + break; + case 4: + genExpression(node, context); + break; + case 5: + genInterpolation(node, context); + break; + case 12: + genNode(node.codegenNode, context); + break; + case 8: + genCompoundExpression(node, context); + break; + case 3: + genComment(node, context); + break; + case 13: + genVNodeCall(node, context); + break; + case 14: + genCallExpression(node, context); + break; + case 15: + genObjectExpression(node, context); + break; + case 17: + genArrayExpression(node, context); + break; + case 18: + genFunctionExpression(node, context); + break; + case 19: + genConditionalExpression(node, context); + break; + case 20: + genCacheExpression(node, context); + break; + case 21: + genNodeList(node.body, context, true, false); + break; + case 22: + break; + case 23: + break; + case 24: + break; + case 25: + break; + case 26: + break; + case 10: + break; + default: + if (true) { + assert(false, `unhandled codegen node type: ${node.type}`); + const exhaustiveCheck = node; + return exhaustiveCheck; + } + } +} +function genText(node, context) { + context.push(JSON.stringify(node.content), -3, node); +} +function genExpression(node, context) { + const { content, isStatic } = node; + context.push( + isStatic ? JSON.stringify(content) : content, + -3, + node + ); +} +function genInterpolation(node, context) { + const { push, helper, pure } = context; + if (pure) + push(PURE_ANNOTATION); + push(`${helper(TO_DISPLAY_STRING)}(`); + genNode(node.content, context); + push(`)`); +} +function genCompoundExpression(node, context) { + for (let i = 0; i < node.children.length; i++) { + const child = node.children[i]; + if (isString(child)) { + context.push( + child, + -3 + /* Unknown */ + ); + } else { + genNode(child, context); + } + } +} +function genExpressionAsPropertyKey(node, context) { + const { push } = context; + if (node.type === 8) { + push(`[`); + genCompoundExpression(node, context); + push(`]`); + } else if (node.isStatic) { + const text = isSimpleIdentifier(node.content) ? node.content : JSON.stringify(node.content); + push(text, -2, node); + } else { + push(`[${node.content}]`, -3, node); + } +} +function genComment(node, context) { + const { push, helper, pure } = context; + if (pure) { + push(PURE_ANNOTATION); + } + push( + `${helper(CREATE_COMMENT)}(${JSON.stringify(node.content)})`, + -3, + node + ); +} +function genVNodeCall(node, context) { + const { push, helper, pure } = context; + const { + tag, + props, + children, + patchFlag, + dynamicProps, + directives, + isBlock, + disableTracking, + isComponent: isComponent2 + } = node; + if (directives) { + push(helper(WITH_DIRECTIVES) + `(`); + } + if (isBlock) { + push(`(${helper(OPEN_BLOCK)}(${disableTracking ? `true` : ``}), `); + } + if (pure) { + push(PURE_ANNOTATION); + } + const callHelper = isBlock ? getVNodeBlockHelper(context.inSSR, isComponent2) : getVNodeHelper(context.inSSR, isComponent2); + push(helper(callHelper) + `(`, -2, node); + genNodeList( + genNullableArgs([tag, props, children, patchFlag, dynamicProps]), + context + ); + push(`)`); + if (isBlock) { + push(`)`); + } + if (directives) { + push(`, `); + genNode(directives, context); + push(`)`); + } +} +function genNullableArgs(args) { + let i = args.length; + while (i--) { + if (args[i] != null) + break; + } + return args.slice(0, i + 1).map((arg) => arg || `null`); +} +function genCallExpression(node, context) { + const { push, helper, pure } = context; + const callee = isString(node.callee) ? node.callee : helper(node.callee); + if (pure) { + push(PURE_ANNOTATION); + } + push(callee + `(`, -2, node); + genNodeList(node.arguments, context); + push(`)`); +} +function genObjectExpression(node, context) { + const { push, indent, deindent, newline } = context; + const { properties } = node; + if (!properties.length) { + push(`{}`, -2, node); + return; + } + const multilines = properties.length > 1 || properties.some((p) => p.value.type !== 4); + push(multilines ? `{` : `{ `); + multilines && indent(); + for (let i = 0; i < properties.length; i++) { + const { key, value } = properties[i]; + genExpressionAsPropertyKey(key, context); + push(`: `); + genNode(value, context); + if (i < properties.length - 1) { + push(`,`); + newline(); + } + } + multilines && deindent(); + push(multilines ? `}` : ` }`); +} +function genArrayExpression(node, context) { + genNodeListAsArray(node.elements, context); +} +function genFunctionExpression(node, context) { + const { push, indent, deindent } = context; + const { params, returns, body, newline, isSlot } = node; + if (isSlot) { + push(`_${helperNameMap[WITH_CTX]}(`); + } + push(`(`, -2, node); + if (isArray(params)) { + genNodeList(params, context); + } else if (params) { + genNode(params, context); + } + push(`) => `); + if (newline || body) { + push(`{`); + indent(); + } + if (returns) { + if (newline) { + push(`return `); + } + if (isArray(returns)) { + genNodeListAsArray(returns, context); + } else { + genNode(returns, context); + } + } else if (body) { + genNode(body, context); + } + if (newline || body) { + deindent(); + push(`}`); + } + if (isSlot) { + if (node.isNonScopedSlot) { + push(`, undefined, true`); + } + push(`)`); + } +} +function genConditionalExpression(node, context) { + const { test, consequent, alternate, newline: needNewline } = node; + const { push, indent, deindent, newline } = context; + if (test.type === 4) { + const needsParens = !isSimpleIdentifier(test.content); + needsParens && push(`(`); + genExpression(test, context); + needsParens && push(`)`); + } else { + push(`(`); + genNode(test, context); + push(`)`); + } + needNewline && indent(); + context.indentLevel++; + needNewline || push(` `); + push(`? `); + genNode(consequent, context); + context.indentLevel--; + needNewline && newline(); + needNewline || push(` `); + push(`: `); + const isNested = alternate.type === 19; + if (!isNested) { + context.indentLevel++; + } + genNode(alternate, context); + if (!isNested) { + context.indentLevel--; + } + needNewline && deindent( + true + /* without newline */ + ); +} +function genCacheExpression(node, context) { + const { push, helper, indent, deindent, newline } = context; + push(`_cache[${node.index}] || (`); + if (node.isVNode) { + indent(); + push(`${helper(SET_BLOCK_TRACKING)}(-1),`); + newline(); + } + push(`_cache[${node.index}] = `); + genNode(node.value, context); + if (node.isVNode) { + push(`,`); + newline(); + push(`${helper(SET_BLOCK_TRACKING)}(1),`); + newline(); + push(`_cache[${node.index}]`); + deindent(); + } + push(`)`); +} +function validateBrowserExpression(node, context, asParams = false, asRawStatements = false) { + const exp = node.content; + if (!exp.trim()) { + return; + } + try { + new Function( + asRawStatements ? ` ${exp} ` : `return ${asParams ? `(${exp}) => {}` : `(${exp})`}` + ); + } catch (e) { + let message = e.message; + const keywordMatch = exp.replace(stripStringRE, "").match(prohibitedKeywordRE); + if (keywordMatch) { + message = `avoid using JavaScript keyword as property name: "${keywordMatch[0]}"`; + } + context.onError( + createCompilerError( + 45, + node.loc, + void 0, + message + ) + ); + } +} +function processExpression(node, context, asParams = false, asRawStatements = false, localVars = Object.create(context.identifiers)) { + { + if (true) { + validateBrowserExpression(node, context, asParams, asRawStatements); + } + return node; + } +} +function stringifyExpression(exp) { + if (isString(exp)) { + return exp; + } else if (exp.type === 4) { + return exp.content; + } else { + return exp.children.map(stringifyExpression).join(""); + } +} +function processIf(node, dir, context, processCodegen) { + if (dir.name !== "else" && (!dir.exp || !dir.exp.content.trim())) { + const loc = dir.exp ? dir.exp.loc : node.loc; + context.onError( + createCompilerError(28, dir.loc) + ); + dir.exp = createSimpleExpression(`true`, false, loc); + } + if (dir.exp) { + validateBrowserExpression(dir.exp, context); + } + if (dir.name === "if") { + const branch = createIfBranch(node, dir); + const ifNode = { + type: 9, + loc: node.loc, + branches: [branch] + }; + context.replaceNode(ifNode); + if (processCodegen) { + return processCodegen(ifNode, branch, true); + } + } else { + const siblings = context.parent.children; + const comments = []; + let i = siblings.indexOf(node); + while (i-- >= -1) { + const sibling = siblings[i]; + if (sibling && sibling.type === 3) { + context.removeNode(sibling); + comments.unshift(sibling); + continue; + } + if (sibling && sibling.type === 2 && !sibling.content.trim().length) { + context.removeNode(sibling); + continue; + } + if (sibling && sibling.type === 9) { + if (dir.name === "else-if" && sibling.branches[sibling.branches.length - 1].condition === void 0) { + context.onError( + createCompilerError(30, node.loc) + ); + } + context.removeNode(); + const branch = createIfBranch(node, dir); + if (comments.length && // #3619 ignore comments if the v-if is direct child of + !(context.parent && context.parent.type === 1 && (context.parent.tag === "transition" || context.parent.tag === "Transition"))) { + branch.children = [...comments, ...branch.children]; + } + if (true) { + const key = branch.userKey; + if (key) { + sibling.branches.forEach(({ userKey }) => { + if (isSameKey(userKey, key)) { + context.onError( + createCompilerError( + 29, + branch.userKey.loc + ) + ); + } + }); + } + } + sibling.branches.push(branch); + const onExit = processCodegen && processCodegen(sibling, branch, false); + traverseNode(branch, context); + if (onExit) + onExit(); + context.currentNode = null; + } else { + context.onError( + createCompilerError(30, node.loc) + ); + } + break; + } + } +} +function createIfBranch(node, dir) { + const isTemplateIf = node.tagType === 3; + return { + type: 10, + loc: node.loc, + condition: dir.name === "else" ? void 0 : dir.exp, + children: isTemplateIf && !findDir(node, "for") ? node.children : [node], + userKey: findProp(node, `key`), + isTemplateIf + }; +} +function createCodegenNodeForBranch(branch, keyIndex, context) { + if (branch.condition) { + return createConditionalExpression( + branch.condition, + createChildrenCodegenNode(branch, keyIndex, context), + // make sure to pass in asBlock: true so that the comment node call + // closes the current block. + createCallExpression(context.helper(CREATE_COMMENT), [ + true ? '"v-if"' : '""', + "true" + ]) + ); + } else { + return createChildrenCodegenNode(branch, keyIndex, context); + } +} +function createChildrenCodegenNode(branch, keyIndex, context) { + const { helper } = context; + const keyProperty = createObjectProperty( + `key`, + createSimpleExpression( + `${keyIndex}`, + false, + locStub, + 2 + ) + ); + const { children } = branch; + const firstChild = children[0]; + const needFragmentWrapper = children.length !== 1 || firstChild.type !== 1; + if (needFragmentWrapper) { + if (children.length === 1 && firstChild.type === 11) { + const vnodeCall = firstChild.codegenNode; + injectProp(vnodeCall, keyProperty, context); + return vnodeCall; + } else { + let patchFlag = 64; + let patchFlagText = PatchFlagNames[64]; + if (!branch.isTemplateIf && children.filter((c) => c.type !== 3).length === 1) { + patchFlag |= 2048; + patchFlagText += `, ${PatchFlagNames[2048]}`; + } + return createVNodeCall( + context, + helper(FRAGMENT), + createObjectExpression([keyProperty]), + children, + patchFlag + (true ? ` /* ${patchFlagText} */` : ``), + void 0, + void 0, + true, + false, + false, + branch.loc + ); + } + } else { + const ret = firstChild.codegenNode; + const vnodeCall = getMemoedVNodeCall(ret); + if (vnodeCall.type === 13) { + convertToBlock(vnodeCall, context); + } + injectProp(vnodeCall, keyProperty, context); + return ret; + } +} +function isSameKey(a, b) { + if (!a || a.type !== b.type) { + return false; + } + if (a.type === 6) { + if (a.value.content !== b.value.content) { + return false; + } + } else { + const exp = a.exp; + const branchExp = b.exp; + if (exp.type !== branchExp.type) { + return false; + } + if (exp.type !== 4 || exp.isStatic !== branchExp.isStatic || exp.content !== branchExp.content) { + return false; + } + } + return true; +} +function getParentCondition(node) { + while (true) { + if (node.type === 19) { + if (node.alternate.type === 19) { + node = node.alternate; + } else { + return node; + } + } else if (node.type === 20) { + node = node.value; + } + } +} +function processFor(node, dir, context, processCodegen) { + if (!dir.exp) { + context.onError( + createCompilerError(31, dir.loc) + ); + return; + } + const parseResult = dir.forParseResult; + if (!parseResult) { + context.onError( + createCompilerError(32, dir.loc) + ); + return; + } + finalizeForParseResult(parseResult, context); + const { addIdentifiers, removeIdentifiers, scopes } = context; + const { source, value, key, index } = parseResult; + const forNode = { + type: 11, + loc: dir.loc, + source, + valueAlias: value, + keyAlias: key, + objectIndexAlias: index, + parseResult, + children: isTemplateNode(node) ? node.children : [node] + }; + context.replaceNode(forNode); + scopes.vFor++; + const onExit = processCodegen && processCodegen(forNode); + return () => { + scopes.vFor--; + if (onExit) + onExit(); + }; +} +function finalizeForParseResult(result, context) { + if (result.finalized) + return; + if (true) { + validateBrowserExpression(result.source, context); + if (result.key) { + validateBrowserExpression( + result.key, + context, + true + ); + } + if (result.index) { + validateBrowserExpression( + result.index, + context, + true + ); + } + if (result.value) { + validateBrowserExpression( + result.value, + context, + true + ); + } + } + result.finalized = true; +} +function createForLoopParams({ value, key, index }, memoArgs = []) { + return createParamsList([value, key, index, ...memoArgs]); +} +function createParamsList(args) { + let i = args.length; + while (i--) { + if (args[i]) + break; + } + return args.slice(0, i + 1).map((arg, i2) => arg || createSimpleExpression(`_`.repeat(i2 + 1), false)); +} +function buildSlots(node, context, buildSlotFn = buildClientSlotFn) { + context.helper(WITH_CTX); + const { children, loc } = node; + const slotsProperties = []; + const dynamicSlots = []; + let hasDynamicSlots = context.scopes.vSlot > 0 || context.scopes.vFor > 0; + const onComponentSlot = findDir(node, "slot", true); + if (onComponentSlot) { + const { arg, exp } = onComponentSlot; + if (arg && !isStaticExp(arg)) { + hasDynamicSlots = true; + } + slotsProperties.push( + createObjectProperty( + arg || createSimpleExpression("default", true), + buildSlotFn(exp, void 0, children, loc) + ) + ); + } + let hasTemplateSlots = false; + let hasNamedDefaultSlot = false; + const implicitDefaultChildren = []; + const seenSlotNames = /* @__PURE__ */ new Set(); + let conditionalBranchIndex = 0; + for (let i = 0; i < children.length; i++) { + const slotElement = children[i]; + let slotDir; + if (!isTemplateNode(slotElement) || !(slotDir = findDir(slotElement, "slot", true))) { + if (slotElement.type !== 3) { + implicitDefaultChildren.push(slotElement); + } + continue; + } + if (onComponentSlot) { + context.onError( + createCompilerError(37, slotDir.loc) + ); + break; + } + hasTemplateSlots = true; + const { children: slotChildren, loc: slotLoc } = slotElement; + const { + arg: slotName = createSimpleExpression(`default`, true), + exp: slotProps, + loc: dirLoc + } = slotDir; + let staticSlotName; + if (isStaticExp(slotName)) { + staticSlotName = slotName ? slotName.content : `default`; + } else { + hasDynamicSlots = true; + } + const vFor = findDir(slotElement, "for"); + const slotFunction = buildSlotFn(slotProps, vFor, slotChildren, slotLoc); + let vIf; + let vElse; + if (vIf = findDir(slotElement, "if")) { + hasDynamicSlots = true; + dynamicSlots.push( + createConditionalExpression( + vIf.exp, + buildDynamicSlot(slotName, slotFunction, conditionalBranchIndex++), + defaultFallback + ) + ); + } else if (vElse = findDir( + slotElement, + /^else(-if)?$/, + true + /* allowEmpty */ + )) { + let j = i; + let prev; + while (j--) { + prev = children[j]; + if (prev.type !== 3) { + break; + } + } + if (prev && isTemplateNode(prev) && findDir(prev, "if")) { + children.splice(i, 1); + i--; + let conditional = dynamicSlots[dynamicSlots.length - 1]; + while (conditional.alternate.type === 19) { + conditional = conditional.alternate; + } + conditional.alternate = vElse.exp ? createConditionalExpression( + vElse.exp, + buildDynamicSlot( + slotName, + slotFunction, + conditionalBranchIndex++ + ), + defaultFallback + ) : buildDynamicSlot(slotName, slotFunction, conditionalBranchIndex++); + } else { + context.onError( + createCompilerError(30, vElse.loc) + ); + } + } else if (vFor) { + hasDynamicSlots = true; + const parseResult = vFor.forParseResult; + if (parseResult) { + finalizeForParseResult(parseResult, context); + dynamicSlots.push( + createCallExpression(context.helper(RENDER_LIST), [ + parseResult.source, + createFunctionExpression( + createForLoopParams(parseResult), + buildDynamicSlot(slotName, slotFunction), + true + ) + ]) + ); + } else { + context.onError( + createCompilerError( + 32, + vFor.loc + ) + ); + } + } else { + if (staticSlotName) { + if (seenSlotNames.has(staticSlotName)) { + context.onError( + createCompilerError( + 38, + dirLoc + ) + ); + continue; + } + seenSlotNames.add(staticSlotName); + if (staticSlotName === "default") { + hasNamedDefaultSlot = true; + } + } + slotsProperties.push(createObjectProperty(slotName, slotFunction)); + } + } + if (!onComponentSlot) { + const buildDefaultSlotProperty = (props, children2) => { + const fn = buildSlotFn(props, void 0, children2, loc); + if (context.compatConfig) { + fn.isNonScopedSlot = true; + } + return createObjectProperty(`default`, fn); + }; + if (!hasTemplateSlots) { + slotsProperties.push(buildDefaultSlotProperty(void 0, children)); + } else if (implicitDefaultChildren.length && // #3766 + // with whitespace: 'preserve', whitespaces between slots will end up in + // implicitDefaultChildren. Ignore if all implicit children are whitespaces. + implicitDefaultChildren.some((node2) => isNonWhitespaceContent(node2))) { + if (hasNamedDefaultSlot) { + context.onError( + createCompilerError( + 39, + implicitDefaultChildren[0].loc + ) + ); + } else { + slotsProperties.push( + buildDefaultSlotProperty(void 0, implicitDefaultChildren) + ); + } + } + } + const slotFlag = hasDynamicSlots ? 2 : hasForwardedSlots(node.children) ? 3 : 1; + let slots = createObjectExpression( + slotsProperties.concat( + createObjectProperty( + `_`, + // 2 = compiled but dynamic = can skip normalization, but must run diff + // 1 = compiled and static = can skip normalization AND diff as optimized + createSimpleExpression( + slotFlag + (true ? ` /* ${slotFlagsText[slotFlag]} */` : ``), + false + ) + ) + ), + loc + ); + if (dynamicSlots.length) { + slots = createCallExpression(context.helper(CREATE_SLOTS), [ + slots, + createArrayExpression(dynamicSlots) + ]); + } + return { + slots, + hasDynamicSlots + }; +} +function buildDynamicSlot(name, fn, index) { + const props = [ + createObjectProperty(`name`, name), + createObjectProperty(`fn`, fn) + ]; + if (index != null) { + props.push( + createObjectProperty(`key`, createSimpleExpression(String(index), true)) + ); + } + return createObjectExpression(props); +} +function hasForwardedSlots(children) { + for (let i = 0; i < children.length; i++) { + const child = children[i]; + switch (child.type) { + case 1: + if (child.tagType === 2 || hasForwardedSlots(child.children)) { + return true; + } + break; + case 9: + if (hasForwardedSlots(child.branches)) + return true; + break; + case 10: + case 11: + if (hasForwardedSlots(child.children)) + return true; + break; + } + } + return false; +} +function isNonWhitespaceContent(node) { + if (node.type !== 2 && node.type !== 12) + return true; + return node.type === 2 ? !!node.content.trim() : isNonWhitespaceContent(node.content); +} +function resolveComponentType(node, context, ssr = false) { + let { tag } = node; + const isExplicitDynamic = isComponentTag(tag); + const isProp = findProp(node, "is"); + if (isProp) { + if (isExplicitDynamic || isCompatEnabled( + "COMPILER_IS_ON_ELEMENT", + context + )) { + const exp = isProp.type === 6 ? isProp.value && createSimpleExpression(isProp.value.content, true) : isProp.exp; + if (exp) { + return createCallExpression(context.helper(RESOLVE_DYNAMIC_COMPONENT), [ + exp + ]); + } + } else if (isProp.type === 6 && isProp.value.content.startsWith("vue:")) { + tag = isProp.value.content.slice(4); + } + } + const builtIn = isCoreComponent(tag) || context.isBuiltInComponent(tag); + if (builtIn) { + if (!ssr) + context.helper(builtIn); + return builtIn; + } + context.helper(RESOLVE_COMPONENT); + context.components.add(tag); + return toValidAssetId(tag, `component`); +} +function buildProps(node, context, props = node.props, isComponent2, isDynamicComponent, ssr = false) { + const { tag, loc: elementLoc, children } = node; + let properties = []; + const mergeArgs = []; + const runtimeDirectives = []; + const hasChildren = children.length > 0; + let shouldUseBlock = false; + let patchFlag = 0; + let hasRef = false; + let hasClassBinding = false; + let hasStyleBinding = false; + let hasHydrationEventBinding = false; + let hasDynamicKeys = false; + let hasVnodeHook = false; + const dynamicPropNames = []; + const pushMergeArg = (arg) => { + if (properties.length) { + mergeArgs.push( + createObjectExpression(dedupeProperties(properties), elementLoc) + ); + properties = []; + } + if (arg) + mergeArgs.push(arg); + }; + const analyzePatchFlag = ({ key, value }) => { + if (isStaticExp(key)) { + const name = key.content; + const isEventHandler = isOn(name); + if (isEventHandler && (!isComponent2 || isDynamicComponent) && // omit the flag for click handlers because hydration gives click + // dedicated fast path. + name.toLowerCase() !== "onclick" && // omit v-model handlers + name !== "onUpdate:modelValue" && // omit onVnodeXXX hooks + !isReservedProp(name)) { + hasHydrationEventBinding = true; + } + if (isEventHandler && isReservedProp(name)) { + hasVnodeHook = true; + } + if (isEventHandler && value.type === 14) { + value = value.arguments[0]; + } + if (value.type === 20 || (value.type === 4 || value.type === 8) && getConstantType(value, context) > 0) { + return; + } + if (name === "ref") { + hasRef = true; + } else if (name === "class") { + hasClassBinding = true; + } else if (name === "style") { + hasStyleBinding = true; + } else if (name !== "key" && !dynamicPropNames.includes(name)) { + dynamicPropNames.push(name); + } + if (isComponent2 && (name === "class" || name === "style") && !dynamicPropNames.includes(name)) { + dynamicPropNames.push(name); + } + } else { + hasDynamicKeys = true; + } + }; + for (let i = 0; i < props.length; i++) { + const prop = props[i]; + if (prop.type === 6) { + const { loc, name, nameLoc, value } = prop; + let isStatic = true; + if (name === "ref") { + hasRef = true; + if (context.scopes.vFor > 0) { + properties.push( + createObjectProperty( + createSimpleExpression("ref_for", true), + createSimpleExpression("true") + ) + ); + } + } + if (name === "is" && (isComponentTag(tag) || value && value.content.startsWith("vue:") || isCompatEnabled( + "COMPILER_IS_ON_ELEMENT", + context + ))) { + continue; + } + properties.push( + createObjectProperty( + createSimpleExpression(name, true, nameLoc), + createSimpleExpression( + value ? value.content : "", + isStatic, + value ? value.loc : loc + ) + ) + ); + } else { + const { name, arg, exp, loc, modifiers } = prop; + const isVBind = name === "bind"; + const isVOn = name === "on"; + if (name === "slot") { + if (!isComponent2) { + context.onError( + createCompilerError(40, loc) + ); + } + continue; + } + if (name === "once" || name === "memo") { + continue; + } + if (name === "is" || isVBind && isStaticArgOf(arg, "is") && (isComponentTag(tag) || isCompatEnabled( + "COMPILER_IS_ON_ELEMENT", + context + ))) { + continue; + } + if (isVOn && ssr) { + continue; + } + if ( + // #938: elements with dynamic keys should be forced into blocks + isVBind && isStaticArgOf(arg, "key") || // inline before-update hooks need to force block so that it is invoked + // before children + isVOn && hasChildren && isStaticArgOf(arg, "vue:before-update") + ) { + shouldUseBlock = true; + } + if (isVBind && isStaticArgOf(arg, "ref") && context.scopes.vFor > 0) { + properties.push( + createObjectProperty( + createSimpleExpression("ref_for", true), + createSimpleExpression("true") + ) + ); + } + if (!arg && (isVBind || isVOn)) { + hasDynamicKeys = true; + if (exp) { + if (isVBind) { + pushMergeArg(); + { + if (true) { + const hasOverridableKeys = mergeArgs.some((arg2) => { + if (arg2.type === 15) { + return arg2.properties.some(({ key }) => { + if (key.type !== 4 || !key.isStatic) { + return true; + } + return key.content !== "class" && key.content !== "style" && !isOn(key.content); + }); + } else { + return true; + } + }); + if (hasOverridableKeys) { + checkCompatEnabled( + "COMPILER_V_BIND_OBJECT_ORDER", + context, + loc + ); + } + } + if (isCompatEnabled( + "COMPILER_V_BIND_OBJECT_ORDER", + context + )) { + mergeArgs.unshift(exp); + continue; + } + } + mergeArgs.push(exp); + } else { + pushMergeArg({ + type: 14, + loc, + callee: context.helper(TO_HANDLERS), + arguments: isComponent2 ? [exp] : [exp, `true`] + }); + } + } else { + context.onError( + createCompilerError( + isVBind ? 34 : 35, + loc + ) + ); + } + continue; + } + if (isVBind && modifiers.includes("prop")) { + patchFlag |= 32; + } + const directiveTransform = context.directiveTransforms[name]; + if (directiveTransform) { + const { props: props2, needRuntime } = directiveTransform(prop, node, context); + !ssr && props2.forEach(analyzePatchFlag); + if (isVOn && arg && !isStaticExp(arg)) { + pushMergeArg(createObjectExpression(props2, elementLoc)); + } else { + properties.push(...props2); + } + if (needRuntime) { + runtimeDirectives.push(prop); + if (isSymbol(needRuntime)) { + directiveImportMap.set(prop, needRuntime); + } + } + } else if (!isBuiltInDirective(name)) { + runtimeDirectives.push(prop); + if (hasChildren) { + shouldUseBlock = true; + } + } + } + } + let propsExpression = void 0; + if (mergeArgs.length) { + pushMergeArg(); + if (mergeArgs.length > 1) { + propsExpression = createCallExpression( + context.helper(MERGE_PROPS), + mergeArgs, + elementLoc + ); + } else { + propsExpression = mergeArgs[0]; + } + } else if (properties.length) { + propsExpression = createObjectExpression( + dedupeProperties(properties), + elementLoc + ); + } + if (hasDynamicKeys) { + patchFlag |= 16; + } else { + if (hasClassBinding && !isComponent2) { + patchFlag |= 2; + } + if (hasStyleBinding && !isComponent2) { + patchFlag |= 4; + } + if (dynamicPropNames.length) { + patchFlag |= 8; + } + if (hasHydrationEventBinding) { + patchFlag |= 32; + } + } + if (!shouldUseBlock && (patchFlag === 0 || patchFlag === 32) && (hasRef || hasVnodeHook || runtimeDirectives.length > 0)) { + patchFlag |= 512; + } + if (!context.inSSR && propsExpression) { + switch (propsExpression.type) { + case 15: + let classKeyIndex = -1; + let styleKeyIndex = -1; + let hasDynamicKey = false; + for (let i = 0; i < propsExpression.properties.length; i++) { + const key = propsExpression.properties[i].key; + if (isStaticExp(key)) { + if (key.content === "class") { + classKeyIndex = i; + } else if (key.content === "style") { + styleKeyIndex = i; + } + } else if (!key.isHandlerKey) { + hasDynamicKey = true; + } + } + const classProp = propsExpression.properties[classKeyIndex]; + const styleProp = propsExpression.properties[styleKeyIndex]; + if (!hasDynamicKey) { + if (classProp && !isStaticExp(classProp.value)) { + classProp.value = createCallExpression( + context.helper(NORMALIZE_CLASS), + [classProp.value] + ); + } + if (styleProp && // the static style is compiled into an object, + // so use `hasStyleBinding` to ensure that it is a dynamic style binding + (hasStyleBinding || styleProp.value.type === 4 && styleProp.value.content.trim()[0] === `[` || // v-bind:style and style both exist, + // v-bind:style with static literal object + styleProp.value.type === 17)) { + styleProp.value = createCallExpression( + context.helper(NORMALIZE_STYLE), + [styleProp.value] + ); + } + } else { + propsExpression = createCallExpression( + context.helper(NORMALIZE_PROPS), + [propsExpression] + ); + } + break; + case 14: + break; + default: + propsExpression = createCallExpression( + context.helper(NORMALIZE_PROPS), + [ + createCallExpression(context.helper(GUARD_REACTIVE_PROPS), [ + propsExpression + ]) + ] + ); + break; + } + } + return { + props: propsExpression, + directives: runtimeDirectives, + patchFlag, + dynamicPropNames, + shouldUseBlock + }; +} +function dedupeProperties(properties) { + const knownProps = /* @__PURE__ */ new Map(); + const deduped = []; + for (let i = 0; i < properties.length; i++) { + const prop = properties[i]; + if (prop.key.type === 8 || !prop.key.isStatic) { + deduped.push(prop); + continue; + } + const name = prop.key.content; + const existing = knownProps.get(name); + if (existing) { + if (name === "style" || name === "class" || isOn(name)) { + mergeAsArray(existing, prop); + } + } else { + knownProps.set(name, prop); + deduped.push(prop); + } + } + return deduped; +} +function mergeAsArray(existing, incoming) { + if (existing.value.type === 17) { + existing.value.elements.push(incoming.value); + } else { + existing.value = createArrayExpression( + [existing.value, incoming.value], + existing.loc + ); + } +} +function buildDirectiveArgs(dir, context) { + const dirArgs = []; + const runtime = directiveImportMap.get(dir); + if (runtime) { + dirArgs.push(context.helperString(runtime)); + } else { + { + context.helper(RESOLVE_DIRECTIVE); + context.directives.add(dir.name); + dirArgs.push(toValidAssetId(dir.name, `directive`)); + } + } + const { loc } = dir; + if (dir.exp) + dirArgs.push(dir.exp); + if (dir.arg) { + if (!dir.exp) { + dirArgs.push(`void 0`); + } + dirArgs.push(dir.arg); + } + if (Object.keys(dir.modifiers).length) { + if (!dir.arg) { + if (!dir.exp) { + dirArgs.push(`void 0`); + } + dirArgs.push(`void 0`); + } + const trueExpression = createSimpleExpression(`true`, false, loc); + dirArgs.push( + createObjectExpression( + dir.modifiers.map( + (modifier) => createObjectProperty(modifier, trueExpression) + ), + loc + ) + ); + } + return createArrayExpression(dirArgs, dir.loc); +} +function stringifyDynamicPropNames(props) { + let propsNamesString = `[`; + for (let i = 0, l = props.length; i < l; i++) { + propsNamesString += JSON.stringify(props[i]); + if (i < l - 1) + propsNamesString += ", "; + } + return propsNamesString + `]`; +} +function isComponentTag(tag) { + return tag === "component" || tag === "Component"; +} +function processSlotOutlet(node, context) { + let slotName = `"default"`; + let slotProps = void 0; + const nonNameProps = []; + for (let i = 0; i < node.props.length; i++) { + const p = node.props[i]; + if (p.type === 6) { + if (p.value) { + if (p.name === "name") { + slotName = JSON.stringify(p.value.content); + } else { + p.name = camelize(p.name); + nonNameProps.push(p); + } + } + } else { + if (p.name === "bind" && isStaticArgOf(p.arg, "name")) { + if (p.exp) + slotName = p.exp; + } else { + if (p.name === "bind" && p.arg && isStaticExp(p.arg)) { + p.arg.content = camelize(p.arg.content); + } + nonNameProps.push(p); + } + } + } + if (nonNameProps.length > 0) { + const { props, directives } = buildProps( + node, + context, + nonNameProps, + false, + false + ); + slotProps = props; + if (directives.length) { + context.onError( + createCompilerError( + 36, + directives[0].loc + ) + ); + } + } + return { + slotName, + slotProps + }; +} +function createTransformProps(props = []) { + return { props }; +} +function rewriteFilter(node, context) { + if (node.type === 4) { + parseFilter(node, context); + } else { + for (let i = 0; i < node.children.length; i++) { + const child = node.children[i]; + if (typeof child !== "object") + continue; + if (child.type === 4) { + parseFilter(child, context); + } else if (child.type === 8) { + rewriteFilter(node, context); + } else if (child.type === 5) { + rewriteFilter(child.content, context); + } + } + } +} +function parseFilter(node, context) { + const exp = node.content; + let inSingle = false; + let inDouble = false; + let inTemplateString = false; + let inRegex = false; + let curly = 0; + let square = 0; + let paren = 0; + let lastFilterIndex = 0; + let c, prev, i, expression, filters = []; + for (i = 0; i < exp.length; i++) { + prev = c; + c = exp.charCodeAt(i); + if (inSingle) { + if (c === 39 && prev !== 92) + inSingle = false; + } else if (inDouble) { + if (c === 34 && prev !== 92) + inDouble = false; + } else if (inTemplateString) { + if (c === 96 && prev !== 92) + inTemplateString = false; + } else if (inRegex) { + if (c === 47 && prev !== 92) + inRegex = false; + } else if (c === 124 && // pipe + exp.charCodeAt(i + 1) !== 124 && exp.charCodeAt(i - 1) !== 124 && !curly && !square && !paren) { + if (expression === void 0) { + lastFilterIndex = i + 1; + expression = exp.slice(0, i).trim(); + } else { + pushFilter(); + } + } else { + switch (c) { + case 34: + inDouble = true; + break; + case 39: + inSingle = true; + break; + case 96: + inTemplateString = true; + break; + case 40: + paren++; + break; + case 41: + paren--; + break; + case 91: + square++; + break; + case 93: + square--; + break; + case 123: + curly++; + break; + case 125: + curly--; + break; + } + if (c === 47) { + let j = i - 1; + let p; + for (; j >= 0; j--) { + p = exp.charAt(j); + if (p !== " ") + break; + } + if (!p || !validDivisionCharRE.test(p)) { + inRegex = true; + } + } + } + } + if (expression === void 0) { + expression = exp.slice(0, i).trim(); + } else if (lastFilterIndex !== 0) { + pushFilter(); + } + function pushFilter() { + filters.push(exp.slice(lastFilterIndex, i).trim()); + lastFilterIndex = i + 1; + } + if (filters.length) { + warnDeprecation( + "COMPILER_FILTERS", + context, + node.loc + ); + for (i = 0; i < filters.length; i++) { + expression = wrapFilter(expression, filters[i], context); + } + node.content = expression; + } +} +function wrapFilter(exp, filter, context) { + context.helper(RESOLVE_FILTER); + const i = filter.indexOf("("); + if (i < 0) { + context.filters.add(filter); + return `${toValidAssetId(filter, "filter")}(${exp})`; + } else { + const name = filter.slice(0, i); + const args = filter.slice(i + 1); + context.filters.add(name); + return `${toValidAssetId(name, "filter")}(${exp}${args !== ")" ? "," + args : args}`; + } +} +function getBaseTransformPreset(prefixIdentifiers) { + return [ + [ + transformOnce, + transformIf, + transformMemo, + transformFor, + ...[transformFilter], + ...true ? [transformExpression] : [], + transformSlotOutlet, + transformElement, + trackSlotScopes, + transformText + ], + { + on: transformOn, + bind: transformBind, + model: transformModel + } + ]; +} +function baseCompile(source, options = {}) { + const onError = options.onError || defaultOnError; + const isModuleMode = options.mode === "module"; + { + if (options.prefixIdentifiers === true) { + onError(createCompilerError(47)); + } else if (isModuleMode) { + onError(createCompilerError(48)); + } + } + const prefixIdentifiers = false; + if (options.cacheHandlers) { + onError(createCompilerError(49)); + } + if (options.scopeId && !isModuleMode) { + onError(createCompilerError(50)); + } + const resolvedOptions = extend({}, options, { + prefixIdentifiers + }); + const ast = isString(source) ? baseParse(source, resolvedOptions) : source; + const [nodeTransforms, directiveTransforms] = getBaseTransformPreset(); + transform( + ast, + extend({}, resolvedOptions, { + nodeTransforms: [ + ...nodeTransforms, + ...options.nodeTransforms || [] + // user transforms + ], + directiveTransforms: extend( + {}, + directiveTransforms, + options.directiveTransforms || {} + // user transforms + ) + }) + ); + return generate(ast, resolvedOptions); +} +var FRAGMENT, TELEPORT, SUSPENSE, KEEP_ALIVE, BASE_TRANSITION, OPEN_BLOCK, CREATE_BLOCK, CREATE_ELEMENT_BLOCK, CREATE_VNODE, CREATE_ELEMENT_VNODE, CREATE_COMMENT, CREATE_TEXT, CREATE_STATIC, RESOLVE_COMPONENT, RESOLVE_DYNAMIC_COMPONENT, RESOLVE_DIRECTIVE, RESOLVE_FILTER, WITH_DIRECTIVES, RENDER_LIST, RENDER_SLOT, CREATE_SLOTS, TO_DISPLAY_STRING, MERGE_PROPS, NORMALIZE_CLASS, NORMALIZE_STYLE, NORMALIZE_PROPS, GUARD_REACTIVE_PROPS, TO_HANDLERS, CAMELIZE, CAPITALIZE, TO_HANDLER_KEY, SET_BLOCK_TRACKING, PUSH_SCOPE_ID, POP_SCOPE_ID, WITH_CTX, UNREF, IS_REF, WITH_MEMO, IS_MEMO_SAME, helperNameMap, Namespaces, NodeTypes, ElementTypes, ConstantTypes, locStub, defaultDelimitersOpen, defaultDelimitersClose, Sequences, Tokenizer, CompilerDeprecationTypes, deprecationData, ErrorCodes, errorMessages, isFunctionType, isStaticProperty, isStaticPropertyKey, TS_NODE_TYPES, isStaticExp, nonIdentifierRE, isSimpleIdentifier, validFirstIdentCharRE, validIdentCharRE, whitespaceRE, isMemberExpressionBrowser, isMemberExpressionNode, isMemberExpression, propsHelperSet, forAliasRE, defaultParserOptions, currentOptions, currentRoot, currentInput, currentOpenTag, currentProp, currentAttrValue, currentAttrStartIndex, currentAttrEndIndex, inPre, inVPre, currentVPreBoundary, stack, tokenizer, forIteratorRE, stripParensRE, specialTemplateDir, windowsNewlineRE, allowHoistedHelperSet, PURE_ANNOTATION, aliasHelper, prohibitedKeywordRE, stripStringRE, transformExpression, transformIf, transformFor, defaultFallback, trackSlotScopes, trackVForSlotScopes, buildClientSlotFn, directiveImportMap, transformElement, transformSlotOutlet, fnExpRE, transformOn, transformBind, injectPrefix, transformText, seen$1, transformOnce, transformModel, validDivisionCharRE, transformFilter, seen, transformMemo, BindingTypes, noopDirectiveTransform; +var init_compiler_core_esm_bundler = __esm({ + "node_modules/@vue/compiler-core/dist/compiler-core.esm-bundler.js"() { + init_shared_esm_bundler(); + init_shared_esm_bundler(); + FRAGMENT = Symbol(true ? `Fragment` : ``); + TELEPORT = Symbol(true ? `Teleport` : ``); + SUSPENSE = Symbol(true ? `Suspense` : ``); + KEEP_ALIVE = Symbol(true ? `KeepAlive` : ``); + BASE_TRANSITION = Symbol(true ? `BaseTransition` : ``); + OPEN_BLOCK = Symbol(true ? `openBlock` : ``); + CREATE_BLOCK = Symbol(true ? `createBlock` : ``); + CREATE_ELEMENT_BLOCK = Symbol(true ? `createElementBlock` : ``); + CREATE_VNODE = Symbol(true ? `createVNode` : ``); + CREATE_ELEMENT_VNODE = Symbol(true ? `createElementVNode` : ``); + CREATE_COMMENT = Symbol(true ? `createCommentVNode` : ``); + CREATE_TEXT = Symbol(true ? `createTextVNode` : ``); + CREATE_STATIC = Symbol(true ? `createStaticVNode` : ``); + RESOLVE_COMPONENT = Symbol(true ? `resolveComponent` : ``); + RESOLVE_DYNAMIC_COMPONENT = Symbol( + true ? `resolveDynamicComponent` : `` + ); + RESOLVE_DIRECTIVE = Symbol(true ? `resolveDirective` : ``); + RESOLVE_FILTER = Symbol(true ? `resolveFilter` : ``); + WITH_DIRECTIVES = Symbol(true ? `withDirectives` : ``); + RENDER_LIST = Symbol(true ? `renderList` : ``); + RENDER_SLOT = Symbol(true ? `renderSlot` : ``); + CREATE_SLOTS = Symbol(true ? `createSlots` : ``); + TO_DISPLAY_STRING = Symbol(true ? `toDisplayString` : ``); + MERGE_PROPS = Symbol(true ? `mergeProps` : ``); + NORMALIZE_CLASS = Symbol(true ? `normalizeClass` : ``); + NORMALIZE_STYLE = Symbol(true ? `normalizeStyle` : ``); + NORMALIZE_PROPS = Symbol(true ? `normalizeProps` : ``); + GUARD_REACTIVE_PROPS = Symbol(true ? `guardReactiveProps` : ``); + TO_HANDLERS = Symbol(true ? `toHandlers` : ``); + CAMELIZE = Symbol(true ? `camelize` : ``); + CAPITALIZE = Symbol(true ? `capitalize` : ``); + TO_HANDLER_KEY = Symbol(true ? `toHandlerKey` : ``); + SET_BLOCK_TRACKING = Symbol(true ? `setBlockTracking` : ``); + PUSH_SCOPE_ID = Symbol(true ? `pushScopeId` : ``); + POP_SCOPE_ID = Symbol(true ? `popScopeId` : ``); + WITH_CTX = Symbol(true ? `withCtx` : ``); + UNREF = Symbol(true ? `unref` : ``); + IS_REF = Symbol(true ? `isRef` : ``); + WITH_MEMO = Symbol(true ? `withMemo` : ``); + IS_MEMO_SAME = Symbol(true ? `isMemoSame` : ``); + helperNameMap = { + [FRAGMENT]: `Fragment`, + [TELEPORT]: `Teleport`, + [SUSPENSE]: `Suspense`, + [KEEP_ALIVE]: `KeepAlive`, + [BASE_TRANSITION]: `BaseTransition`, + [OPEN_BLOCK]: `openBlock`, + [CREATE_BLOCK]: `createBlock`, + [CREATE_ELEMENT_BLOCK]: `createElementBlock`, + [CREATE_VNODE]: `createVNode`, + [CREATE_ELEMENT_VNODE]: `createElementVNode`, + [CREATE_COMMENT]: `createCommentVNode`, + [CREATE_TEXT]: `createTextVNode`, + [CREATE_STATIC]: `createStaticVNode`, + [RESOLVE_COMPONENT]: `resolveComponent`, + [RESOLVE_DYNAMIC_COMPONENT]: `resolveDynamicComponent`, + [RESOLVE_DIRECTIVE]: `resolveDirective`, + [RESOLVE_FILTER]: `resolveFilter`, + [WITH_DIRECTIVES]: `withDirectives`, + [RENDER_LIST]: `renderList`, + [RENDER_SLOT]: `renderSlot`, + [CREATE_SLOTS]: `createSlots`, + [TO_DISPLAY_STRING]: `toDisplayString`, + [MERGE_PROPS]: `mergeProps`, + [NORMALIZE_CLASS]: `normalizeClass`, + [NORMALIZE_STYLE]: `normalizeStyle`, + [NORMALIZE_PROPS]: `normalizeProps`, + [GUARD_REACTIVE_PROPS]: `guardReactiveProps`, + [TO_HANDLERS]: `toHandlers`, + [CAMELIZE]: `camelize`, + [CAPITALIZE]: `capitalize`, + [TO_HANDLER_KEY]: `toHandlerKey`, + [SET_BLOCK_TRACKING]: `setBlockTracking`, + [PUSH_SCOPE_ID]: `pushScopeId`, + [POP_SCOPE_ID]: `popScopeId`, + [WITH_CTX]: `withCtx`, + [UNREF]: `unref`, + [IS_REF]: `isRef`, + [WITH_MEMO]: `withMemo`, + [IS_MEMO_SAME]: `isMemoSame` + }; + Namespaces = { + "HTML": 0, + "0": "HTML", + "SVG": 1, + "1": "SVG", + "MATH_ML": 2, + "2": "MATH_ML" + }; + NodeTypes = { + "ROOT": 0, + "0": "ROOT", + "ELEMENT": 1, + "1": "ELEMENT", + "TEXT": 2, + "2": "TEXT", + "COMMENT": 3, + "3": "COMMENT", + "SIMPLE_EXPRESSION": 4, + "4": "SIMPLE_EXPRESSION", + "INTERPOLATION": 5, + "5": "INTERPOLATION", + "ATTRIBUTE": 6, + "6": "ATTRIBUTE", + "DIRECTIVE": 7, + "7": "DIRECTIVE", + "COMPOUND_EXPRESSION": 8, + "8": "COMPOUND_EXPRESSION", + "IF": 9, + "9": "IF", + "IF_BRANCH": 10, + "10": "IF_BRANCH", + "FOR": 11, + "11": "FOR", + "TEXT_CALL": 12, + "12": "TEXT_CALL", + "VNODE_CALL": 13, + "13": "VNODE_CALL", + "JS_CALL_EXPRESSION": 14, + "14": "JS_CALL_EXPRESSION", + "JS_OBJECT_EXPRESSION": 15, + "15": "JS_OBJECT_EXPRESSION", + "JS_PROPERTY": 16, + "16": "JS_PROPERTY", + "JS_ARRAY_EXPRESSION": 17, + "17": "JS_ARRAY_EXPRESSION", + "JS_FUNCTION_EXPRESSION": 18, + "18": "JS_FUNCTION_EXPRESSION", + "JS_CONDITIONAL_EXPRESSION": 19, + "19": "JS_CONDITIONAL_EXPRESSION", + "JS_CACHE_EXPRESSION": 20, + "20": "JS_CACHE_EXPRESSION", + "JS_BLOCK_STATEMENT": 21, + "21": "JS_BLOCK_STATEMENT", + "JS_TEMPLATE_LITERAL": 22, + "22": "JS_TEMPLATE_LITERAL", + "JS_IF_STATEMENT": 23, + "23": "JS_IF_STATEMENT", + "JS_ASSIGNMENT_EXPRESSION": 24, + "24": "JS_ASSIGNMENT_EXPRESSION", + "JS_SEQUENCE_EXPRESSION": 25, + "25": "JS_SEQUENCE_EXPRESSION", + "JS_RETURN_STATEMENT": 26, + "26": "JS_RETURN_STATEMENT" + }; + ElementTypes = { + "ELEMENT": 0, + "0": "ELEMENT", + "COMPONENT": 1, + "1": "COMPONENT", + "SLOT": 2, + "2": "SLOT", + "TEMPLATE": 3, + "3": "TEMPLATE" + }; + ConstantTypes = { + "NOT_CONSTANT": 0, + "0": "NOT_CONSTANT", + "CAN_SKIP_PATCH": 1, + "1": "CAN_SKIP_PATCH", + "CAN_HOIST": 2, + "2": "CAN_HOIST", + "CAN_STRINGIFY": 3, + "3": "CAN_STRINGIFY" + }; + locStub = { + start: { line: 1, column: 1, offset: 0 }, + end: { line: 1, column: 1, offset: 0 }, + source: "" + }; + defaultDelimitersOpen = new Uint8Array([123, 123]); + defaultDelimitersClose = new Uint8Array([125, 125]); + Sequences = { + Cdata: new Uint8Array([67, 68, 65, 84, 65, 91]), + // CDATA[ + CdataEnd: new Uint8Array([93, 93, 62]), + // ]]> + CommentEnd: new Uint8Array([45, 45, 62]), + // `-->` + ScriptEnd: new Uint8Array([60, 47, 115, 99, 114, 105, 112, 116]), + // `<\/script` + StyleEnd: new Uint8Array([60, 47, 115, 116, 121, 108, 101]), + // `= 0; i--) { + const newlineIndex = this.newlines[i]; + if (index > newlineIndex) { + line = i + 2; + column = index - newlineIndex; + break; + } + } + return { + column, + line, + offset: index + }; + } + peek() { + return this.buffer.charCodeAt(this.index + 1); + } + stateText(c) { + if (c === 60) { + if (this.index > this.sectionStart) { + this.cbs.ontext(this.sectionStart, this.index); + } + this.state = 5; + this.sectionStart = this.index; + } else if (!this.inVPre && c === this.delimiterOpen[0]) { + this.state = 2; + this.delimiterIndex = 0; + this.stateInterpolationOpen(c); + } + } + stateInterpolationOpen(c) { + if (c === this.delimiterOpen[this.delimiterIndex]) { + if (this.delimiterIndex === this.delimiterOpen.length - 1) { + const start = this.index + 1 - this.delimiterOpen.length; + if (start > this.sectionStart) { + this.cbs.ontext(this.sectionStart, start); + } + this.state = 3; + this.sectionStart = start; + } else { + this.delimiterIndex++; + } + } else if (this.inRCDATA) { + this.state = 32; + this.stateInRCDATA(c); + } else { + this.state = 1; + this.stateText(c); + } + } + stateInterpolation(c) { + if (c === this.delimiterClose[0]) { + this.state = 4; + this.delimiterIndex = 0; + this.stateInterpolationClose(c); + } + } + stateInterpolationClose(c) { + if (c === this.delimiterClose[this.delimiterIndex]) { + if (this.delimiterIndex === this.delimiterClose.length - 1) { + this.cbs.oninterpolation(this.sectionStart, this.index + 1); + if (this.inRCDATA) { + this.state = 32; + } else { + this.state = 1; + } + this.sectionStart = this.index + 1; + } else { + this.delimiterIndex++; + } + } else { + this.state = 3; + this.stateInterpolation(c); + } + } + stateSpecialStartSequence(c) { + const isEnd = this.sequenceIndex === this.currentSequence.length; + const isMatch = isEnd ? ( + // If we are at the end of the sequence, make sure the tag name has ended + isEndOfTagSection(c) + ) : ( + // Otherwise, do a case-insensitive comparison + (c | 32) === this.currentSequence[this.sequenceIndex] + ); + if (!isMatch) { + this.inRCDATA = false; + } else if (!isEnd) { + this.sequenceIndex++; + return; + } + this.sequenceIndex = 0; + this.state = 6; + this.stateInTagName(c); + } + /** Look for an end tag. For and <textarea>, also decode entities. */ + stateInRCDATA(c) { + if (this.sequenceIndex === this.currentSequence.length) { + if (c === 62 || isWhitespace(c)) { + const endOfText = this.index - this.currentSequence.length; + if (this.sectionStart < endOfText) { + const actualIndex = this.index; + this.index = endOfText; + this.cbs.ontext(this.sectionStart, endOfText); + this.index = actualIndex; + } + this.sectionStart = endOfText + 2; + this.stateInClosingTagName(c); + this.inRCDATA = false; + return; + } + this.sequenceIndex = 0; + } + if ((c | 32) === this.currentSequence[this.sequenceIndex]) { + this.sequenceIndex += 1; + } else if (this.sequenceIndex === 0) { + if (this.currentSequence === Sequences.TitleEnd || this.currentSequence === Sequences.TextareaEnd && !this.inSFCRoot) { + if (c === this.delimiterOpen[0]) { + this.state = 2; + this.delimiterIndex = 0; + this.stateInterpolationOpen(c); + } + } else if (this.fastForwardTo(60)) { + this.sequenceIndex = 1; + } + } else { + this.sequenceIndex = Number(c === 60); + } + } + stateCDATASequence(c) { + if (c === Sequences.Cdata[this.sequenceIndex]) { + if (++this.sequenceIndex === Sequences.Cdata.length) { + this.state = 28; + this.currentSequence = Sequences.CdataEnd; + this.sequenceIndex = 0; + this.sectionStart = this.index + 1; + } + } else { + this.sequenceIndex = 0; + this.state = 23; + this.stateInDeclaration(c); + } + } + /** + * When we wait for one specific character, we can speed things up + * by skipping through the buffer until we find it. + * + * @returns Whether the character was found. + */ + fastForwardTo(c) { + while (++this.index < this.buffer.length) { + const cc = this.buffer.charCodeAt(this.index); + if (cc === 10) { + this.newlines.push(this.index); + } + if (cc === c) { + return true; + } + } + this.index = this.buffer.length - 1; + return false; + } + /** + * Comments and CDATA end with `-->` and `]]>`. + * + * Their common qualities are: + * - Their end sequences have a distinct character they start with. + * - That character is then repeated, so we have to check multiple repeats. + * - All characters but the start character of the sequence can be skipped. + */ + stateInCommentLike(c) { + if (c === this.currentSequence[this.sequenceIndex]) { + if (++this.sequenceIndex === this.currentSequence.length) { + if (this.currentSequence === Sequences.CdataEnd) { + this.cbs.oncdata(this.sectionStart, this.index - 2); + } else { + this.cbs.oncomment(this.sectionStart, this.index - 2); + } + this.sequenceIndex = 0; + this.sectionStart = this.index + 1; + this.state = 1; + } + } else if (this.sequenceIndex === 0) { + if (this.fastForwardTo(this.currentSequence[0])) { + this.sequenceIndex = 1; + } + } else if (c !== this.currentSequence[this.sequenceIndex - 1]) { + this.sequenceIndex = 0; + } + } + startSpecial(sequence, offset) { + this.enterRCDATA(sequence, offset); + this.state = 31; + } + enterRCDATA(sequence, offset) { + this.inRCDATA = true; + this.currentSequence = sequence; + this.sequenceIndex = offset; + } + stateBeforeTagName(c) { + if (c === 33) { + this.state = 22; + this.sectionStart = this.index + 1; + } else if (c === 63) { + this.state = 24; + this.sectionStart = this.index + 1; + } else if (isTagStartChar(c)) { + this.sectionStart = this.index; + if (this.mode === 0) { + this.state = 6; + } else if (this.inSFCRoot) { + this.state = 34; + } else if (!this.inXML) { + const lower = c | 32; + if (lower === 116) { + this.state = 30; + } else { + this.state = lower === 115 ? 29 : 6; + } + } else { + this.state = 6; + } + } else if (c === 47) { + this.state = 8; + } else { + this.state = 1; + this.stateText(c); + } + } + stateInTagName(c) { + if (isEndOfTagSection(c)) { + this.handleTagName(c); + } + } + stateInSFCRootTagName(c) { + if (isEndOfTagSection(c)) { + const tag = this.buffer.slice(this.sectionStart, this.index); + if (tag !== "template") { + this.enterRCDATA(toCharCodes(`</` + tag), 0); + } + this.handleTagName(c); + } + } + handleTagName(c) { + this.cbs.onopentagname(this.sectionStart, this.index); + this.sectionStart = -1; + this.state = 11; + this.stateBeforeAttrName(c); + } + stateBeforeClosingTagName(c) { + if (isWhitespace(c)) + ; + else if (c === 62) { + if (true) { + this.cbs.onerr(14, this.index); + } + this.state = 1; + this.sectionStart = this.index + 1; + } else { + this.state = isTagStartChar(c) ? 9 : 27; + this.sectionStart = this.index; + } + } + stateInClosingTagName(c) { + if (c === 62 || isWhitespace(c)) { + this.cbs.onclosetag(this.sectionStart, this.index); + this.sectionStart = -1; + this.state = 10; + this.stateAfterClosingTagName(c); + } + } + stateAfterClosingTagName(c) { + if (c === 62) { + this.state = 1; + this.sectionStart = this.index + 1; + } + } + stateBeforeAttrName(c) { + if (c === 62) { + this.cbs.onopentagend(this.index); + if (this.inRCDATA) { + this.state = 32; + } else { + this.state = 1; + } + this.sectionStart = this.index + 1; + } else if (c === 47) { + this.state = 7; + if (this.peek() !== 62) { + this.cbs.onerr(22, this.index); + } + } else if (c === 60 && this.peek() === 47) { + this.cbs.onopentagend(this.index); + this.state = 5; + this.sectionStart = this.index; + } else if (!isWhitespace(c)) { + if (c === 61) { + this.cbs.onerr( + 19, + this.index + ); + } + this.handleAttrStart(c); + } + } + handleAttrStart(c) { + if (c === 118 && this.peek() === 45) { + this.state = 13; + this.sectionStart = this.index; + } else if (c === 46 || c === 58 || c === 64 || c === 35) { + this.cbs.ondirname(this.index, this.index + 1); + this.state = 14; + this.sectionStart = this.index + 1; + } else { + this.state = 12; + this.sectionStart = this.index; + } + } + stateInSelfClosingTag(c) { + if (c === 62) { + this.cbs.onselfclosingtag(this.index); + this.state = 1; + this.sectionStart = this.index + 1; + this.inRCDATA = false; + } else if (!isWhitespace(c)) { + this.state = 11; + this.stateBeforeAttrName(c); + } + } + stateInAttrName(c) { + if (c === 61 || isEndOfTagSection(c)) { + this.cbs.onattribname(this.sectionStart, this.index); + this.handleAttrNameEnd(c); + } else if (c === 34 || c === 39 || c === 60) { + this.cbs.onerr( + 17, + this.index + ); + } + } + stateInDirName(c) { + if (c === 61 || isEndOfTagSection(c)) { + this.cbs.ondirname(this.sectionStart, this.index); + this.handleAttrNameEnd(c); + } else if (c === 58) { + this.cbs.ondirname(this.sectionStart, this.index); + this.state = 14; + this.sectionStart = this.index + 1; + } else if (c === 46) { + this.cbs.ondirname(this.sectionStart, this.index); + this.state = 16; + this.sectionStart = this.index + 1; + } + } + stateInDirArg(c) { + if (c === 61 || isEndOfTagSection(c)) { + this.cbs.ondirarg(this.sectionStart, this.index); + this.handleAttrNameEnd(c); + } else if (c === 91) { + this.state = 15; + } else if (c === 46) { + this.cbs.ondirarg(this.sectionStart, this.index); + this.state = 16; + this.sectionStart = this.index + 1; + } + } + stateInDynamicDirArg(c) { + if (c === 93) { + this.state = 14; + } else if (c === 61 || isEndOfTagSection(c)) { + this.cbs.ondirarg(this.sectionStart, this.index + 1); + this.handleAttrNameEnd(c); + if (true) { + this.cbs.onerr( + 27, + this.index + ); + } + } + } + stateInDirModifier(c) { + if (c === 61 || isEndOfTagSection(c)) { + this.cbs.ondirmodifier(this.sectionStart, this.index); + this.handleAttrNameEnd(c); + } else if (c === 46) { + this.cbs.ondirmodifier(this.sectionStart, this.index); + this.sectionStart = this.index + 1; + } + } + handleAttrNameEnd(c) { + this.sectionStart = this.index; + this.state = 17; + this.cbs.onattribnameend(this.index); + this.stateAfterAttrName(c); + } + stateAfterAttrName(c) { + if (c === 61) { + this.state = 18; + } else if (c === 47 || c === 62) { + this.cbs.onattribend(0, this.sectionStart); + this.sectionStart = -1; + this.state = 11; + this.stateBeforeAttrName(c); + } else if (!isWhitespace(c)) { + this.cbs.onattribend(0, this.sectionStart); + this.handleAttrStart(c); + } + } + stateBeforeAttrValue(c) { + if (c === 34) { + this.state = 19; + this.sectionStart = this.index + 1; + } else if (c === 39) { + this.state = 20; + this.sectionStart = this.index + 1; + } else if (!isWhitespace(c)) { + this.sectionStart = this.index; + this.state = 21; + this.stateInAttrValueNoQuotes(c); + } + } + handleInAttrValue(c, quote) { + if (c === quote || this.fastForwardTo(quote)) { + this.cbs.onattribdata(this.sectionStart, this.index); + this.sectionStart = -1; + this.cbs.onattribend( + quote === 34 ? 3 : 2, + this.index + 1 + ); + this.state = 11; + } + } + stateInAttrValueDoubleQuotes(c) { + this.handleInAttrValue(c, 34); + } + stateInAttrValueSingleQuotes(c) { + this.handleInAttrValue(c, 39); + } + stateInAttrValueNoQuotes(c) { + if (isWhitespace(c) || c === 62) { + this.cbs.onattribdata(this.sectionStart, this.index); + this.sectionStart = -1; + this.cbs.onattribend(1, this.index); + this.state = 11; + this.stateBeforeAttrName(c); + } else if (c === 34 || c === 39 || c === 60 || c === 61 || c === 96) { + this.cbs.onerr( + 18, + this.index + ); + } else + ; + } + stateBeforeDeclaration(c) { + if (c === 91) { + this.state = 26; + this.sequenceIndex = 0; + } else { + this.state = c === 45 ? 25 : 23; + } + } + stateInDeclaration(c) { + if (c === 62 || this.fastForwardTo(62)) { + this.state = 1; + this.sectionStart = this.index + 1; + } + } + stateInProcessingInstruction(c) { + if (c === 62 || this.fastForwardTo(62)) { + this.cbs.onprocessinginstruction(this.sectionStart, this.index); + this.state = 1; + this.sectionStart = this.index + 1; + } + } + stateBeforeComment(c) { + if (c === 45) { + this.state = 28; + this.currentSequence = Sequences.CommentEnd; + this.sequenceIndex = 2; + this.sectionStart = this.index + 1; + } else { + this.state = 23; + } + } + stateInSpecialComment(c) { + if (c === 62 || this.fastForwardTo(62)) { + this.cbs.oncomment(this.sectionStart, this.index); + this.state = 1; + this.sectionStart = this.index + 1; + } + } + stateBeforeSpecialS(c) { + const lower = c | 32; + if (lower === Sequences.ScriptEnd[3]) { + this.startSpecial(Sequences.ScriptEnd, 4); + } else if (lower === Sequences.StyleEnd[3]) { + this.startSpecial(Sequences.StyleEnd, 4); + } else { + this.state = 6; + this.stateInTagName(c); + } + } + stateBeforeSpecialT(c) { + const lower = c | 32; + if (lower === Sequences.TitleEnd[3]) { + this.startSpecial(Sequences.TitleEnd, 4); + } else if (lower === Sequences.TextareaEnd[3]) { + this.startSpecial(Sequences.TextareaEnd, 4); + } else { + this.state = 6; + this.stateInTagName(c); + } + } + startEntity() { + } + stateInEntity() { + } + /** + * Iterates through the buffer, calling the function corresponding to the current state. + * + * States that are more likely to be hit are higher up, as a performance improvement. + */ + parse(input) { + this.buffer = input; + while (this.index < this.buffer.length) { + const c = this.buffer.charCodeAt(this.index); + if (c === 10) { + this.newlines.push(this.index); + } + switch (this.state) { + case 1: { + this.stateText(c); + break; + } + case 2: { + this.stateInterpolationOpen(c); + break; + } + case 3: { + this.stateInterpolation(c); + break; + } + case 4: { + this.stateInterpolationClose(c); + break; + } + case 31: { + this.stateSpecialStartSequence(c); + break; + } + case 32: { + this.stateInRCDATA(c); + break; + } + case 26: { + this.stateCDATASequence(c); + break; + } + case 19: { + this.stateInAttrValueDoubleQuotes(c); + break; + } + case 12: { + this.stateInAttrName(c); + break; + } + case 13: { + this.stateInDirName(c); + break; + } + case 14: { + this.stateInDirArg(c); + break; + } + case 15: { + this.stateInDynamicDirArg(c); + break; + } + case 16: { + this.stateInDirModifier(c); + break; + } + case 28: { + this.stateInCommentLike(c); + break; + } + case 27: { + this.stateInSpecialComment(c); + break; + } + case 11: { + this.stateBeforeAttrName(c); + break; + } + case 6: { + this.stateInTagName(c); + break; + } + case 34: { + this.stateInSFCRootTagName(c); + break; + } + case 9: { + this.stateInClosingTagName(c); + break; + } + case 5: { + this.stateBeforeTagName(c); + break; + } + case 17: { + this.stateAfterAttrName(c); + break; + } + case 20: { + this.stateInAttrValueSingleQuotes(c); + break; + } + case 18: { + this.stateBeforeAttrValue(c); + break; + } + case 8: { + this.stateBeforeClosingTagName(c); + break; + } + case 10: { + this.stateAfterClosingTagName(c); + break; + } + case 29: { + this.stateBeforeSpecialS(c); + break; + } + case 30: { + this.stateBeforeSpecialT(c); + break; + } + case 21: { + this.stateInAttrValueNoQuotes(c); + break; + } + case 7: { + this.stateInSelfClosingTag(c); + break; + } + case 23: { + this.stateInDeclaration(c); + break; + } + case 22: { + this.stateBeforeDeclaration(c); + break; + } + case 25: { + this.stateBeforeComment(c); + break; + } + case 24: { + this.stateInProcessingInstruction(c); + break; + } + case 33: { + this.stateInEntity(); + break; + } + } + this.index++; + } + this.cleanup(); + this.finish(); + } + /** + * Remove data that has already been consumed from the buffer. + */ + cleanup() { + if (this.sectionStart !== this.index) { + if (this.state === 1 || this.state === 32 && this.sequenceIndex === 0) { + this.cbs.ontext(this.sectionStart, this.index); + this.sectionStart = this.index; + } else if (this.state === 19 || this.state === 20 || this.state === 21) { + this.cbs.onattribdata(this.sectionStart, this.index); + this.sectionStart = this.index; + } + } + } + finish() { + this.handleTrailingData(); + this.cbs.onend(); + } + /** Handle any trailing data. */ + handleTrailingData() { + const endIndex = this.buffer.length; + if (this.sectionStart >= endIndex) { + return; + } + if (this.state === 28) { + if (this.currentSequence === Sequences.CdataEnd) { + this.cbs.oncdata(this.sectionStart, endIndex); + } else { + this.cbs.oncomment(this.sectionStart, endIndex); + } + } else if (this.state === 6 || this.state === 11 || this.state === 18 || this.state === 17 || this.state === 12 || this.state === 13 || this.state === 14 || this.state === 15 || this.state === 16 || this.state === 20 || this.state === 19 || this.state === 21 || this.state === 9) + ; + else { + this.cbs.ontext(this.sectionStart, endIndex); + } + } + emitCodePoint(cp, consumed) { + } + }; + CompilerDeprecationTypes = { + "COMPILER_IS_ON_ELEMENT": "COMPILER_IS_ON_ELEMENT", + "COMPILER_V_BIND_SYNC": "COMPILER_V_BIND_SYNC", + "COMPILER_V_BIND_OBJECT_ORDER": "COMPILER_V_BIND_OBJECT_ORDER", + "COMPILER_V_ON_NATIVE": "COMPILER_V_ON_NATIVE", + "COMPILER_V_IF_V_FOR_PRECEDENCE": "COMPILER_V_IF_V_FOR_PRECEDENCE", + "COMPILER_NATIVE_TEMPLATE": "COMPILER_NATIVE_TEMPLATE", + "COMPILER_INLINE_TEMPLATE": "COMPILER_INLINE_TEMPLATE", + "COMPILER_FILTERS": "COMPILER_FILTERS" + }; + deprecationData = { + ["COMPILER_IS_ON_ELEMENT"]: { + message: `Platform-native elements with "is" prop will no longer be treated as components in Vue 3 unless the "is" value is explicitly prefixed with "vue:".`, + link: `https://v3-migration.vuejs.org/breaking-changes/custom-elements-interop.html` + }, + ["COMPILER_V_BIND_SYNC"]: { + message: (key) => `.sync modifier for v-bind has been removed. Use v-model with argument instead. \`v-bind:${key}.sync\` should be changed to \`v-model:${key}\`.`, + link: `https://v3-migration.vuejs.org/breaking-changes/v-model.html` + }, + ["COMPILER_V_BIND_OBJECT_ORDER"]: { + message: `v-bind="obj" usage is now order sensitive and behaves like JavaScript object spread: it will now overwrite an existing non-mergeable attribute that appears before v-bind in the case of conflict. To retain 2.x behavior, move v-bind to make it the first attribute. You can also suppress this warning if the usage is intended.`, + link: `https://v3-migration.vuejs.org/breaking-changes/v-bind.html` + }, + ["COMPILER_V_ON_NATIVE"]: { + message: `.native modifier for v-on has been removed as is no longer necessary.`, + link: `https://v3-migration.vuejs.org/breaking-changes/v-on-native-modifier-removed.html` + }, + ["COMPILER_V_IF_V_FOR_PRECEDENCE"]: { + message: `v-if / v-for precedence when used on the same element has changed in Vue 3: v-if now takes higher precedence and will no longer have access to v-for scope variables. It is best to avoid the ambiguity with <template> tags or use a computed property that filters v-for data source.`, + link: `https://v3-migration.vuejs.org/breaking-changes/v-if-v-for.html` + }, + ["COMPILER_NATIVE_TEMPLATE"]: { + message: `<template> with no special directives will render as a native template element instead of its inner content in Vue 3.` + }, + ["COMPILER_INLINE_TEMPLATE"]: { + message: `"inline-template" has been removed in Vue 3.`, + link: `https://v3-migration.vuejs.org/breaking-changes/inline-template-attribute.html` + }, + ["COMPILER_FILTERS"]: { + message: `filters have been removed in Vue 3. The "|" symbol will be treated as native JavaScript bitwise OR operator. Use method calls or computed properties instead.`, + link: `https://v3-migration.vuejs.org/breaking-changes/filters.html` + } + }; + ErrorCodes = { + "ABRUPT_CLOSING_OF_EMPTY_COMMENT": 0, + "0": "ABRUPT_CLOSING_OF_EMPTY_COMMENT", + "CDATA_IN_HTML_CONTENT": 1, + "1": "CDATA_IN_HTML_CONTENT", + "DUPLICATE_ATTRIBUTE": 2, + "2": "DUPLICATE_ATTRIBUTE", + "END_TAG_WITH_ATTRIBUTES": 3, + "3": "END_TAG_WITH_ATTRIBUTES", + "END_TAG_WITH_TRAILING_SOLIDUS": 4, + "4": "END_TAG_WITH_TRAILING_SOLIDUS", + "EOF_BEFORE_TAG_NAME": 5, + "5": "EOF_BEFORE_TAG_NAME", + "EOF_IN_CDATA": 6, + "6": "EOF_IN_CDATA", + "EOF_IN_COMMENT": 7, + "7": "EOF_IN_COMMENT", + "EOF_IN_SCRIPT_HTML_COMMENT_LIKE_TEXT": 8, + "8": "EOF_IN_SCRIPT_HTML_COMMENT_LIKE_TEXT", + "EOF_IN_TAG": 9, + "9": "EOF_IN_TAG", + "INCORRECTLY_CLOSED_COMMENT": 10, + "10": "INCORRECTLY_CLOSED_COMMENT", + "INCORRECTLY_OPENED_COMMENT": 11, + "11": "INCORRECTLY_OPENED_COMMENT", + "INVALID_FIRST_CHARACTER_OF_TAG_NAME": 12, + "12": "INVALID_FIRST_CHARACTER_OF_TAG_NAME", + "MISSING_ATTRIBUTE_VALUE": 13, + "13": "MISSING_ATTRIBUTE_VALUE", + "MISSING_END_TAG_NAME": 14, + "14": "MISSING_END_TAG_NAME", + "MISSING_WHITESPACE_BETWEEN_ATTRIBUTES": 15, + "15": "MISSING_WHITESPACE_BETWEEN_ATTRIBUTES", + "NESTED_COMMENT": 16, + "16": "NESTED_COMMENT", + "UNEXPECTED_CHARACTER_IN_ATTRIBUTE_NAME": 17, + "17": "UNEXPECTED_CHARACTER_IN_ATTRIBUTE_NAME", + "UNEXPECTED_CHARACTER_IN_UNQUOTED_ATTRIBUTE_VALUE": 18, + "18": "UNEXPECTED_CHARACTER_IN_UNQUOTED_ATTRIBUTE_VALUE", + "UNEXPECTED_EQUALS_SIGN_BEFORE_ATTRIBUTE_NAME": 19, + "19": "UNEXPECTED_EQUALS_SIGN_BEFORE_ATTRIBUTE_NAME", + "UNEXPECTED_NULL_CHARACTER": 20, + "20": "UNEXPECTED_NULL_CHARACTER", + "UNEXPECTED_QUESTION_MARK_INSTEAD_OF_TAG_NAME": 21, + "21": "UNEXPECTED_QUESTION_MARK_INSTEAD_OF_TAG_NAME", + "UNEXPECTED_SOLIDUS_IN_TAG": 22, + "22": "UNEXPECTED_SOLIDUS_IN_TAG", + "X_INVALID_END_TAG": 23, + "23": "X_INVALID_END_TAG", + "X_MISSING_END_TAG": 24, + "24": "X_MISSING_END_TAG", + "X_MISSING_INTERPOLATION_END": 25, + "25": "X_MISSING_INTERPOLATION_END", + "X_MISSING_DIRECTIVE_NAME": 26, + "26": "X_MISSING_DIRECTIVE_NAME", + "X_MISSING_DYNAMIC_DIRECTIVE_ARGUMENT_END": 27, + "27": "X_MISSING_DYNAMIC_DIRECTIVE_ARGUMENT_END", + "X_V_IF_NO_EXPRESSION": 28, + "28": "X_V_IF_NO_EXPRESSION", + "X_V_IF_SAME_KEY": 29, + "29": "X_V_IF_SAME_KEY", + "X_V_ELSE_NO_ADJACENT_IF": 30, + "30": "X_V_ELSE_NO_ADJACENT_IF", + "X_V_FOR_NO_EXPRESSION": 31, + "31": "X_V_FOR_NO_EXPRESSION", + "X_V_FOR_MALFORMED_EXPRESSION": 32, + "32": "X_V_FOR_MALFORMED_EXPRESSION", + "X_V_FOR_TEMPLATE_KEY_PLACEMENT": 33, + "33": "X_V_FOR_TEMPLATE_KEY_PLACEMENT", + "X_V_BIND_NO_EXPRESSION": 34, + "34": "X_V_BIND_NO_EXPRESSION", + "X_V_ON_NO_EXPRESSION": 35, + "35": "X_V_ON_NO_EXPRESSION", + "X_V_SLOT_UNEXPECTED_DIRECTIVE_ON_SLOT_OUTLET": 36, + "36": "X_V_SLOT_UNEXPECTED_DIRECTIVE_ON_SLOT_OUTLET", + "X_V_SLOT_MIXED_SLOT_USAGE": 37, + "37": "X_V_SLOT_MIXED_SLOT_USAGE", + "X_V_SLOT_DUPLICATE_SLOT_NAMES": 38, + "38": "X_V_SLOT_DUPLICATE_SLOT_NAMES", + "X_V_SLOT_EXTRANEOUS_DEFAULT_SLOT_CHILDREN": 39, + "39": "X_V_SLOT_EXTRANEOUS_DEFAULT_SLOT_CHILDREN", + "X_V_SLOT_MISPLACED": 40, + "40": "X_V_SLOT_MISPLACED", + "X_V_MODEL_NO_EXPRESSION": 41, + "41": "X_V_MODEL_NO_EXPRESSION", + "X_V_MODEL_MALFORMED_EXPRESSION": 42, + "42": "X_V_MODEL_MALFORMED_EXPRESSION", + "X_V_MODEL_ON_SCOPE_VARIABLE": 43, + "43": "X_V_MODEL_ON_SCOPE_VARIABLE", + "X_V_MODEL_ON_PROPS": 44, + "44": "X_V_MODEL_ON_PROPS", + "X_INVALID_EXPRESSION": 45, + "45": "X_INVALID_EXPRESSION", + "X_KEEP_ALIVE_INVALID_CHILDREN": 46, + "46": "X_KEEP_ALIVE_INVALID_CHILDREN", + "X_PREFIX_ID_NOT_SUPPORTED": 47, + "47": "X_PREFIX_ID_NOT_SUPPORTED", + "X_MODULE_MODE_NOT_SUPPORTED": 48, + "48": "X_MODULE_MODE_NOT_SUPPORTED", + "X_CACHE_HANDLER_NOT_SUPPORTED": 49, + "49": "X_CACHE_HANDLER_NOT_SUPPORTED", + "X_SCOPE_ID_NOT_SUPPORTED": 50, + "50": "X_SCOPE_ID_NOT_SUPPORTED", + "X_VNODE_HOOKS": 51, + "51": "X_VNODE_HOOKS", + "__EXTEND_POINT__": 52, + "52": "__EXTEND_POINT__" + }; + errorMessages = { + // parse errors + [0]: "Illegal comment.", + [1]: "CDATA section is allowed only in XML context.", + [2]: "Duplicate attribute.", + [3]: "End tag cannot have attributes.", + [4]: "Illegal '/' in tags.", + [5]: "Unexpected EOF in tag.", + [6]: "Unexpected EOF in CDATA section.", + [7]: "Unexpected EOF in comment.", + [8]: "Unexpected EOF in script.", + [9]: "Unexpected EOF in tag.", + [10]: "Incorrectly closed comment.", + [11]: "Incorrectly opened comment.", + [12]: "Illegal tag name. Use '<' to print '<'.", + [13]: "Attribute value was expected.", + [14]: "End tag name was expected.", + [15]: "Whitespace was expected.", + [16]: "Unexpected '<!--' in comment.", + [17]: `Attribute name cannot contain U+0022 ("), U+0027 ('), and U+003C (<).`, + [18]: "Unquoted attribute value cannot contain U+0022 (\"), U+0027 ('), U+003C (<), U+003D (=), and U+0060 (`).", + [19]: "Attribute name cannot start with '='.", + [21]: "'<?' is allowed only in XML context.", + [20]: `Unexpected null character.`, + [22]: "Illegal '/' in tags.", + // Vue-specific parse errors + [23]: "Invalid end tag.", + [24]: "Element is missing end tag.", + [25]: "Interpolation end sign was not found.", + [27]: "End bracket for dynamic directive argument was not found. Note that dynamic directive argument cannot contain spaces.", + [26]: "Legal directive name was expected.", + // transform errors + [28]: `v-if/v-else-if is missing expression.`, + [29]: `v-if/else branches must use unique keys.`, + [30]: `v-else/v-else-if has no adjacent v-if or v-else-if.`, + [31]: `v-for is missing expression.`, + [32]: `v-for has invalid expression.`, + [33]: `<template v-for> key should be placed on the <template> tag.`, + [34]: `v-bind is missing expression.`, + [35]: `v-on is missing expression.`, + [36]: `Unexpected custom directive on <slot> outlet.`, + [37]: `Mixed v-slot usage on both the component and nested <template>. When there are multiple named slots, all slots should use <template> syntax to avoid scope ambiguity.`, + [38]: `Duplicate slot names found. `, + [39]: `Extraneous children found when component already has explicitly named default slot. These children will be ignored.`, + [40]: `v-slot can only be used on components or <template> tags.`, + [41]: `v-model is missing expression.`, + [42]: `v-model value must be a valid JavaScript member expression.`, + [43]: `v-model cannot be used on v-for or v-slot scope variables because they are not writable.`, + [44]: `v-model cannot be used on a prop, because local prop bindings are not writable. +Use a v-bind binding combined with a v-on listener that emits update:x event instead.`, + [45]: `Error parsing JavaScript expression: `, + [46]: `<KeepAlive> expects exactly one child component.`, + [51]: `@vnode-* hooks in templates are no longer supported. Use the vue: prefix instead. For example, @vnode-mounted should be changed to @vue:mounted. @vnode-* hooks support has been removed in 3.4.`, + // generic errors + [47]: `"prefixIdentifiers" option is not supported in this build of compiler.`, + [48]: `ES module mode is not supported in this build of compiler.`, + [49]: `"cacheHandlers" option is only supported when the "prefixIdentifiers" option is enabled.`, + [50]: `"scopeId" option is only supported in module mode.`, + // just to fulfill types + [52]: `` + }; + isFunctionType = (node) => { + return /Function(?:Expression|Declaration)$|Method$/.test(node.type); + }; + isStaticProperty = (node) => node && (node.type === "ObjectProperty" || node.type === "ObjectMethod") && !node.computed; + isStaticPropertyKey = (node, parent) => isStaticProperty(parent) && parent.key === node; + TS_NODE_TYPES = [ + "TSAsExpression", + // foo as number + "TSTypeAssertion", + // (<number>foo) + "TSNonNullExpression", + // foo! + "TSInstantiationExpression", + // foo<string> + "TSSatisfiesExpression" + // foo satisfies T + ]; + isStaticExp = (p) => p.type === 4 && p.isStatic; + nonIdentifierRE = /^\d|[^\$\w]/; + isSimpleIdentifier = (name) => !nonIdentifierRE.test(name); + validFirstIdentCharRE = /[A-Za-z_$\xA0-\uFFFF]/; + validIdentCharRE = /[\.\?\w$\xA0-\uFFFF]/; + whitespaceRE = /\s+[.[]\s*|\s*[.[]\s+/g; + isMemberExpressionBrowser = (path) => { + path = path.trim().replace(whitespaceRE, (s) => s.trim()); + let state = 0; + let stateStack = []; + let currentOpenBracketCount = 0; + let currentOpenParensCount = 0; + let currentStringType = null; + for (let i = 0; i < path.length; i++) { + const char = path.charAt(i); + switch (state) { + case 0: + if (char === "[") { + stateStack.push(state); + state = 1; + currentOpenBracketCount++; + } else if (char === "(") { + stateStack.push(state); + state = 2; + currentOpenParensCount++; + } else if (!(i === 0 ? validFirstIdentCharRE : validIdentCharRE).test(char)) { + return false; + } + break; + case 1: + if (char === `'` || char === `"` || char === "`") { + stateStack.push(state); + state = 3; + currentStringType = char; + } else if (char === `[`) { + currentOpenBracketCount++; + } else if (char === `]`) { + if (!--currentOpenBracketCount) { + state = stateStack.pop(); + } + } + break; + case 2: + if (char === `'` || char === `"` || char === "`") { + stateStack.push(state); + state = 3; + currentStringType = char; + } else if (char === `(`) { + currentOpenParensCount++; + } else if (char === `)`) { + if (i === path.length - 1) { + return false; + } + if (!--currentOpenParensCount) { + state = stateStack.pop(); + } + } + break; + case 3: + if (char === currentStringType) { + state = stateStack.pop(); + currentStringType = null; + } + break; + } + } + return !currentOpenBracketCount && !currentOpenParensCount; + }; + isMemberExpressionNode = NOOP; + isMemberExpression = isMemberExpressionBrowser; + propsHelperSet = /* @__PURE__ */ new Set([NORMALIZE_PROPS, GUARD_REACTIVE_PROPS]); + forAliasRE = /([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/; + defaultParserOptions = { + parseMode: "base", + ns: 0, + delimiters: [`{{`, `}}`], + getNamespace: () => 0, + isVoidTag: NO, + isPreTag: NO, + isCustomElement: NO, + onError: defaultOnError, + onWarn: defaultOnWarn, + comments: true, + prefixIdentifiers: false + }; + currentOptions = defaultParserOptions; + currentRoot = null; + currentInput = ""; + currentOpenTag = null; + currentProp = null; + currentAttrValue = ""; + currentAttrStartIndex = -1; + currentAttrEndIndex = -1; + inPre = 0; + inVPre = false; + currentVPreBoundary = null; + stack = []; + tokenizer = new Tokenizer(stack, { + onerr: emitError, + ontext(start, end) { + onText(getSlice(start, end), start, end); + }, + ontextentity(char, start, end) { + onText(char, start, end); + }, + oninterpolation(start, end) { + if (inVPre) { + return onText(getSlice(start, end), start, end); + } + let innerStart = start + tokenizer.delimiterOpen.length; + let innerEnd = end - tokenizer.delimiterClose.length; + while (isWhitespace(currentInput.charCodeAt(innerStart))) { + innerStart++; + } + while (isWhitespace(currentInput.charCodeAt(innerEnd - 1))) { + innerEnd--; + } + let exp = getSlice(innerStart, innerEnd); + if (exp.includes("&")) { + { + exp = currentOptions.decodeEntities(exp, false); + } + } + addNode({ + type: 5, + content: createExp(exp, false, getLoc(innerStart, innerEnd)), + loc: getLoc(start, end) + }); + }, + onopentagname(start, end) { + const name = getSlice(start, end); + currentOpenTag = { + type: 1, + tag: name, + ns: currentOptions.getNamespace(name, stack[0], currentOptions.ns), + tagType: 0, + // will be refined on tag close + props: [], + children: [], + loc: getLoc(start - 1, end), + codegenNode: void 0 + }; + }, + onopentagend(end) { + endOpenTag(end); + }, + onclosetag(start, end) { + const name = getSlice(start, end); + if (!currentOptions.isVoidTag(name)) { + let found = false; + for (let i = 0; i < stack.length; i++) { + const e = stack[i]; + if (e.tag.toLowerCase() === name.toLowerCase()) { + found = true; + if (i > 0) { + emitError(24, stack[0].loc.start.offset); + } + for (let j = 0; j <= i; j++) { + const el = stack.shift(); + onCloseTag(el, end, j < i); + } + break; + } + } + if (!found) { + emitError(23, backTrack(start, 60)); + } + } + }, + onselfclosingtag(end) { + var _a; + const name = currentOpenTag.tag; + currentOpenTag.isSelfClosing = true; + endOpenTag(end); + if (((_a = stack[0]) == null ? void 0 : _a.tag) === name) { + onCloseTag(stack.shift(), end); + } + }, + onattribname(start, end) { + currentProp = { + type: 6, + name: getSlice(start, end), + nameLoc: getLoc(start, end), + value: void 0, + loc: getLoc(start) + }; + }, + ondirname(start, end) { + const raw = getSlice(start, end); + const name = raw === "." || raw === ":" ? "bind" : raw === "@" ? "on" : raw === "#" ? "slot" : raw.slice(2); + if (!inVPre && name === "") { + emitError(26, start); + } + if (inVPre || name === "") { + currentProp = { + type: 6, + name: raw, + nameLoc: getLoc(start, end), + value: void 0, + loc: getLoc(start) + }; + } else { + currentProp = { + type: 7, + name, + rawName: raw, + exp: void 0, + arg: void 0, + modifiers: raw === "." ? ["prop"] : [], + loc: getLoc(start) + }; + if (name === "pre") { + inVPre = tokenizer.inVPre = true; + currentVPreBoundary = currentOpenTag; + const props = currentOpenTag.props; + for (let i = 0; i < props.length; i++) { + if (props[i].type === 7) { + props[i] = dirToAttr(props[i]); + } + } + } + } + }, + ondirarg(start, end) { + if (start === end) + return; + const arg = getSlice(start, end); + if (inVPre) { + currentProp.name += arg; + setLocEnd(currentProp.nameLoc, end); + } else { + const isStatic = arg[0] !== `[`; + currentProp.arg = createExp( + isStatic ? arg : arg.slice(1, -1), + isStatic, + getLoc(start, end), + isStatic ? 3 : 0 + ); + } + }, + ondirmodifier(start, end) { + const mod = getSlice(start, end); + if (inVPre) { + currentProp.name += "." + mod; + setLocEnd(currentProp.nameLoc, end); + } else if (currentProp.name === "slot") { + const arg = currentProp.arg; + if (arg) { + arg.content += "." + mod; + setLocEnd(arg.loc, end); + } + } else { + currentProp.modifiers.push(mod); + } + }, + onattribdata(start, end) { + currentAttrValue += getSlice(start, end); + if (currentAttrStartIndex < 0) + currentAttrStartIndex = start; + currentAttrEndIndex = end; + }, + onattribentity(char, start, end) { + currentAttrValue += char; + if (currentAttrStartIndex < 0) + currentAttrStartIndex = start; + currentAttrEndIndex = end; + }, + onattribnameend(end) { + const start = currentProp.loc.start.offset; + const name = getSlice(start, end); + if (currentProp.type === 7) { + currentProp.rawName = name; + } + if (currentOpenTag.props.some( + (p) => (p.type === 7 ? p.rawName : p.name) === name + )) { + emitError(2, start); + } + }, + onattribend(quote, end) { + if (currentOpenTag && currentProp) { + setLocEnd(currentProp.loc, end); + if (quote !== 0) { + if (currentAttrValue.includes("&")) { + currentAttrValue = currentOptions.decodeEntities( + currentAttrValue, + true + ); + } + if (currentProp.type === 6) { + if (currentProp.name === "class") { + currentAttrValue = condense(currentAttrValue).trim(); + } + if (quote === 1 && !currentAttrValue) { + emitError(13, end); + } + currentProp.value = { + type: 2, + content: currentAttrValue, + loc: quote === 1 ? getLoc(currentAttrStartIndex, currentAttrEndIndex) : getLoc(currentAttrStartIndex - 1, currentAttrEndIndex + 1) + }; + if (tokenizer.inSFCRoot && currentOpenTag.tag === "template" && currentProp.name === "lang" && currentAttrValue && currentAttrValue !== "html") { + tokenizer.enterRCDATA(toCharCodes(`</template`), 0); + } + } else { + let expParseMode = 0; + currentProp.exp = createExp( + currentAttrValue, + false, + getLoc(currentAttrStartIndex, currentAttrEndIndex), + 0, + expParseMode + ); + if (currentProp.name === "for") { + currentProp.forParseResult = parseForExpression(currentProp.exp); + } + let syncIndex = -1; + if (currentProp.name === "bind" && (syncIndex = currentProp.modifiers.indexOf("sync")) > -1 && checkCompatEnabled( + "COMPILER_V_BIND_SYNC", + currentOptions, + currentProp.loc, + currentProp.rawName + )) { + currentProp.name = "model"; + currentProp.modifiers.splice(syncIndex, 1); + } + } + } + if (currentProp.type !== 7 || currentProp.name !== "pre") { + currentOpenTag.props.push(currentProp); + } + } + currentAttrValue = ""; + currentAttrStartIndex = currentAttrEndIndex = -1; + }, + oncomment(start, end) { + if (currentOptions.comments) { + addNode({ + type: 3, + content: getSlice(start, end), + loc: getLoc(start - 4, end + 3) + }); + } + }, + onend() { + const end = currentInput.length; + if (tokenizer.state !== 1) { + switch (tokenizer.state) { + case 5: + case 8: + emitError(5, end); + break; + case 3: + case 4: + emitError( + 25, + tokenizer.sectionStart + ); + break; + case 28: + if (tokenizer.currentSequence === Sequences.CdataEnd) { + emitError(6, end); + } else { + emitError(7, end); + } + break; + case 6: + case 7: + case 9: + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: + case 17: + case 18: + case 19: + case 20: + case 21: + emitError(9, end); + break; + } + } + for (let index = 0; index < stack.length; index++) { + onCloseTag(stack[index], end - 1); + emitError(24, stack[index].loc.start.offset); + } + }, + oncdata(start, end) { + if (stack[0].ns !== 0) { + onText(getSlice(start, end), start, end); + } else { + emitError(1, start - 9); + } + }, + onprocessinginstruction(start) { + if ((stack[0] ? stack[0].ns : currentOptions.ns) === 0) { + emitError( + 21, + start - 1 + ); + } + } + }); + forIteratorRE = /,([^,\}\]]*)(?:,([^,\}\]]*))?$/; + stripParensRE = /^\(|\)$/g; + specialTemplateDir = /* @__PURE__ */ new Set(["if", "else", "else-if", "for", "slot"]); + windowsNewlineRE = /\r\n/g; + allowHoistedHelperSet = /* @__PURE__ */ new Set([ + NORMALIZE_CLASS, + NORMALIZE_STYLE, + NORMALIZE_PROPS, + GUARD_REACTIVE_PROPS + ]); + PURE_ANNOTATION = `/*#__PURE__*/`; + aliasHelper = (s) => `${helperNameMap[s]}: _${helperNameMap[s]}`; + prohibitedKeywordRE = new RegExp( + "\\b" + "arguments,await,break,case,catch,class,const,continue,debugger,default,delete,do,else,export,extends,finally,for,function,if,import,let,new,return,super,switch,throw,try,var,void,while,with,yield".split(",").join("\\b|\\b") + "\\b" + ); + stripStringRE = /'(?:[^'\\]|\\.)*'|"(?:[^"\\]|\\.)*"|`(?:[^`\\]|\\.)*\$\{|\}(?:[^`\\]|\\.)*`|`(?:[^`\\]|\\.)*`/g; + transformExpression = (node, context) => { + if (node.type === 5) { + node.content = processExpression( + node.content, + context + ); + } else if (node.type === 1) { + for (let i = 0; i < node.props.length; i++) { + const dir = node.props[i]; + if (dir.type === 7 && dir.name !== "for") { + const exp = dir.exp; + const arg = dir.arg; + if (exp && exp.type === 4 && !(dir.name === "on" && arg)) { + dir.exp = processExpression( + exp, + context, + // slot args must be processed as function params + dir.name === "slot" + ); + } + if (arg && arg.type === 4 && !arg.isStatic) { + dir.arg = processExpression(arg, context); + } + } + } + } + }; + transformIf = createStructuralDirectiveTransform( + /^(if|else|else-if)$/, + (node, dir, context) => { + return processIf(node, dir, context, (ifNode, branch, isRoot) => { + const siblings = context.parent.children; + let i = siblings.indexOf(ifNode); + let key = 0; + while (i-- >= 0) { + const sibling = siblings[i]; + if (sibling && sibling.type === 9) { + key += sibling.branches.length; + } + } + return () => { + if (isRoot) { + ifNode.codegenNode = createCodegenNodeForBranch( + branch, + key, + context + ); + } else { + const parentCondition = getParentCondition(ifNode.codegenNode); + parentCondition.alternate = createCodegenNodeForBranch( + branch, + key + ifNode.branches.length - 1, + context + ); + } + }; + }); + } + ); + transformFor = createStructuralDirectiveTransform( + "for", + (node, dir, context) => { + const { helper, removeHelper } = context; + return processFor(node, dir, context, (forNode) => { + const renderExp = createCallExpression(helper(RENDER_LIST), [ + forNode.source + ]); + const isTemplate = isTemplateNode(node); + const memo = findDir(node, "memo"); + const keyProp = findProp(node, `key`); + const keyExp = keyProp && (keyProp.type === 6 ? createSimpleExpression(keyProp.value.content, true) : keyProp.exp); + const keyProperty = keyProp ? createObjectProperty(`key`, keyExp) : null; + const isStableFragment = forNode.source.type === 4 && forNode.source.constType > 0; + const fragmentFlag = isStableFragment ? 64 : keyProp ? 128 : 256; + forNode.codegenNode = createVNodeCall( + context, + helper(FRAGMENT), + void 0, + renderExp, + fragmentFlag + (true ? ` /* ${PatchFlagNames[fragmentFlag]} */` : ``), + void 0, + void 0, + true, + !isStableFragment, + false, + node.loc + ); + return () => { + let childBlock; + const { children } = forNode; + if (isTemplate) { + node.children.some((c) => { + if (c.type === 1) { + const key = findProp(c, "key"); + if (key) { + context.onError( + createCompilerError( + 33, + key.loc + ) + ); + return true; + } + } + }); + } + const needFragmentWrapper = children.length !== 1 || children[0].type !== 1; + const slotOutlet = isSlotOutlet(node) ? node : isTemplate && node.children.length === 1 && isSlotOutlet(node.children[0]) ? node.children[0] : null; + if (slotOutlet) { + childBlock = slotOutlet.codegenNode; + if (isTemplate && keyProperty) { + injectProp(childBlock, keyProperty, context); + } + } else if (needFragmentWrapper) { + childBlock = createVNodeCall( + context, + helper(FRAGMENT), + keyProperty ? createObjectExpression([keyProperty]) : void 0, + node.children, + 64 + (true ? ` /* ${PatchFlagNames[64]} */` : ``), + void 0, + void 0, + true, + void 0, + false + ); + } else { + childBlock = children[0].codegenNode; + if (isTemplate && keyProperty) { + injectProp(childBlock, keyProperty, context); + } + if (childBlock.isBlock !== !isStableFragment) { + if (childBlock.isBlock) { + removeHelper(OPEN_BLOCK); + removeHelper( + getVNodeBlockHelper(context.inSSR, childBlock.isComponent) + ); + } else { + removeHelper( + getVNodeHelper(context.inSSR, childBlock.isComponent) + ); + } + } + childBlock.isBlock = !isStableFragment; + if (childBlock.isBlock) { + helper(OPEN_BLOCK); + helper(getVNodeBlockHelper(context.inSSR, childBlock.isComponent)); + } else { + helper(getVNodeHelper(context.inSSR, childBlock.isComponent)); + } + } + if (memo) { + const loop = createFunctionExpression( + createForLoopParams(forNode.parseResult, [ + createSimpleExpression(`_cached`) + ]) + ); + loop.body = createBlockStatement([ + createCompoundExpression([`const _memo = (`, memo.exp, `)`]), + createCompoundExpression([ + `if (_cached`, + ...keyExp ? [` && _cached.key === `, keyExp] : [], + ` && ${context.helperString( + IS_MEMO_SAME + )}(_cached, _memo)) return _cached` + ]), + createCompoundExpression([`const _item = `, childBlock]), + createSimpleExpression(`_item.memo = _memo`), + createSimpleExpression(`return _item`) + ]); + renderExp.arguments.push( + loop, + createSimpleExpression(`_cache`), + createSimpleExpression(String(context.cached++)) + ); + } else { + renderExp.arguments.push( + createFunctionExpression( + createForLoopParams(forNode.parseResult), + childBlock, + true + ) + ); + } + }; + }); + } + ); + defaultFallback = createSimpleExpression(`undefined`, false); + trackSlotScopes = (node, context) => { + if (node.type === 1 && (node.tagType === 1 || node.tagType === 3)) { + const vSlot = findDir(node, "slot"); + if (vSlot) { + vSlot.exp; + context.scopes.vSlot++; + return () => { + context.scopes.vSlot--; + }; + } + } + }; + trackVForSlotScopes = (node, context) => { + let vFor; + if (isTemplateNode(node) && node.props.some(isVSlot) && (vFor = findDir(node, "for"))) { + const result = vFor.forParseResult; + if (result) { + finalizeForParseResult(result, context); + const { value, key, index } = result; + const { addIdentifiers, removeIdentifiers } = context; + value && addIdentifiers(value); + key && addIdentifiers(key); + index && addIdentifiers(index); + return () => { + value && removeIdentifiers(value); + key && removeIdentifiers(key); + index && removeIdentifiers(index); + }; + } + } + }; + buildClientSlotFn = (props, _vForExp, children, loc) => createFunctionExpression( + props, + children, + false, + true, + children.length ? children[0].loc : loc + ); + directiveImportMap = /* @__PURE__ */ new WeakMap(); + transformElement = (node, context) => { + return function postTransformElement() { + node = context.currentNode; + if (!(node.type === 1 && (node.tagType === 0 || node.tagType === 1))) { + return; + } + const { tag, props } = node; + const isComponent2 = node.tagType === 1; + let vnodeTag = isComponent2 ? resolveComponentType(node, context) : `"${tag}"`; + const isDynamicComponent = isObject(vnodeTag) && vnodeTag.callee === RESOLVE_DYNAMIC_COMPONENT; + let vnodeProps; + let vnodeChildren; + let vnodePatchFlag; + let patchFlag = 0; + let vnodeDynamicProps; + let dynamicPropNames; + let vnodeDirectives; + let shouldUseBlock = ( + // dynamic component may resolve to plain elements + isDynamicComponent || vnodeTag === TELEPORT || vnodeTag === SUSPENSE || !isComponent2 && // <svg> and <foreignObject> must be forced into blocks so that block + // updates inside get proper isSVG flag at runtime. (#639, #643) + // This is technically web-specific, but splitting the logic out of core + // leads to too much unnecessary complexity. + (tag === "svg" || tag === "foreignObject") + ); + if (props.length > 0) { + const propsBuildResult = buildProps( + node, + context, + void 0, + isComponent2, + isDynamicComponent + ); + vnodeProps = propsBuildResult.props; + patchFlag = propsBuildResult.patchFlag; + dynamicPropNames = propsBuildResult.dynamicPropNames; + const directives = propsBuildResult.directives; + vnodeDirectives = directives && directives.length ? createArrayExpression( + directives.map((dir) => buildDirectiveArgs(dir, context)) + ) : void 0; + if (propsBuildResult.shouldUseBlock) { + shouldUseBlock = true; + } + } + if (node.children.length > 0) { + if (vnodeTag === KEEP_ALIVE) { + shouldUseBlock = true; + patchFlag |= 1024; + if (node.children.length > 1) { + context.onError( + createCompilerError(46, { + start: node.children[0].loc.start, + end: node.children[node.children.length - 1].loc.end, + source: "" + }) + ); + } + } + const shouldBuildAsSlots = isComponent2 && // Teleport is not a real component and has dedicated runtime handling + vnodeTag !== TELEPORT && // explained above. + vnodeTag !== KEEP_ALIVE; + if (shouldBuildAsSlots) { + const { slots, hasDynamicSlots } = buildSlots(node, context); + vnodeChildren = slots; + if (hasDynamicSlots) { + patchFlag |= 1024; + } + } else if (node.children.length === 1 && vnodeTag !== TELEPORT) { + const child = node.children[0]; + const type = child.type; + const hasDynamicTextChild = type === 5 || type === 8; + if (hasDynamicTextChild && getConstantType(child, context) === 0) { + patchFlag |= 1; + } + if (hasDynamicTextChild || type === 2) { + vnodeChildren = child; + } else { + vnodeChildren = node.children; + } + } else { + vnodeChildren = node.children; + } + } + if (patchFlag !== 0) { + if (true) { + if (patchFlag < 0) { + vnodePatchFlag = patchFlag + ` /* ${PatchFlagNames[patchFlag]} */`; + } else { + const flagNames = Object.keys(PatchFlagNames).map(Number).filter((n) => n > 0 && patchFlag & n).map((n) => PatchFlagNames[n]).join(`, `); + vnodePatchFlag = patchFlag + ` /* ${flagNames} */`; + } + } else { + vnodePatchFlag = String(patchFlag); + } + if (dynamicPropNames && dynamicPropNames.length) { + vnodeDynamicProps = stringifyDynamicPropNames(dynamicPropNames); + } + } + node.codegenNode = createVNodeCall( + context, + vnodeTag, + vnodeProps, + vnodeChildren, + vnodePatchFlag, + vnodeDynamicProps, + vnodeDirectives, + !!shouldUseBlock, + false, + isComponent2, + node.loc + ); + }; + }; + transformSlotOutlet = (node, context) => { + if (isSlotOutlet(node)) { + const { children, loc } = node; + const { slotName, slotProps } = processSlotOutlet(node, context); + const slotArgs = [ + context.prefixIdentifiers ? `_ctx.$slots` : `$slots`, + slotName, + "{}", + "undefined", + "true" + ]; + let expectedLen = 2; + if (slotProps) { + slotArgs[2] = slotProps; + expectedLen = 3; + } + if (children.length) { + slotArgs[3] = createFunctionExpression([], children, false, false, loc); + expectedLen = 4; + } + if (context.scopeId && !context.slotted) { + expectedLen = 5; + } + slotArgs.splice(expectedLen); + node.codegenNode = createCallExpression( + context.helper(RENDER_SLOT), + slotArgs, + loc + ); + } + }; + fnExpRE = /^\s*([\w$_]+|(async\s*)?\([^)]*?\))\s*(:[^=]+)?=>|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/; + transformOn = (dir, node, context, augmentor) => { + const { loc, modifiers, arg } = dir; + if (!dir.exp && !modifiers.length) { + context.onError(createCompilerError(35, loc)); + } + let eventName; + if (arg.type === 4) { + if (arg.isStatic) { + let rawName = arg.content; + if (rawName.startsWith("vnode")) { + context.onError(createCompilerError(51, arg.loc)); + } + if (rawName.startsWith("vue:")) { + rawName = `vnode-${rawName.slice(4)}`; + } + const eventString = node.tagType !== 0 || rawName.startsWith("vnode") || !/[A-Z]/.test(rawName) ? ( + // for non-element and vnode lifecycle event listeners, auto convert + // it to camelCase. See issue #2249 + toHandlerKey(camelize(rawName)) + ) : ( + // preserve case for plain element listeners that have uppercase + // letters, as these may be custom elements' custom events + `on:${rawName}` + ); + eventName = createSimpleExpression(eventString, true, arg.loc); + } else { + eventName = createCompoundExpression([ + `${context.helperString(TO_HANDLER_KEY)}(`, + arg, + `)` + ]); + } + } else { + eventName = arg; + eventName.children.unshift(`${context.helperString(TO_HANDLER_KEY)}(`); + eventName.children.push(`)`); + } + let exp = dir.exp; + if (exp && !exp.content.trim()) { + exp = void 0; + } + let shouldCache = context.cacheHandlers && !exp && !context.inVOnce; + if (exp) { + const isMemberExp = isMemberExpression(exp.content); + const isInlineStatement = !(isMemberExp || fnExpRE.test(exp.content)); + const hasMultipleStatements = exp.content.includes(`;`); + if (true) { + validateBrowserExpression( + exp, + context, + false, + hasMultipleStatements + ); + } + if (isInlineStatement || shouldCache && isMemberExp) { + exp = createCompoundExpression([ + `${isInlineStatement ? `$event` : `${``}(...args)`} => ${hasMultipleStatements ? `{` : `(`}`, + exp, + hasMultipleStatements ? `}` : `)` + ]); + } + } + let ret = { + props: [ + createObjectProperty( + eventName, + exp || createSimpleExpression(`() => {}`, false, loc) + ) + ] + }; + if (augmentor) { + ret = augmentor(ret); + } + if (shouldCache) { + ret.props[0].value = context.cache(ret.props[0].value); + } + ret.props.forEach((p) => p.key.isHandlerKey = true); + return ret; + }; + transformBind = (dir, _node, context) => { + const { modifiers, loc } = dir; + const arg = dir.arg; + let { exp } = dir; + if (!exp && arg.type === 4) { + const propName = camelize(arg.content); + exp = dir.exp = createSimpleExpression(propName, false, arg.loc); + } + if (arg.type !== 4) { + arg.children.unshift(`(`); + arg.children.push(`) || ""`); + } else if (!arg.isStatic) { + arg.content = `${arg.content} || ""`; + } + if (modifiers.includes("camel")) { + if (arg.type === 4) { + if (arg.isStatic) { + arg.content = camelize(arg.content); + } else { + arg.content = `${context.helperString(CAMELIZE)}(${arg.content})`; + } + } else { + arg.children.unshift(`${context.helperString(CAMELIZE)}(`); + arg.children.push(`)`); + } + } + if (!context.inSSR) { + if (modifiers.includes("prop")) { + injectPrefix(arg, "."); + } + if (modifiers.includes("attr")) { + injectPrefix(arg, "^"); + } + } + if (!exp || exp.type === 4 && !exp.content.trim()) { + context.onError(createCompilerError(34, loc)); + return { + props: [createObjectProperty(arg, createSimpleExpression("", true, loc))] + }; + } + return { + props: [createObjectProperty(arg, exp)] + }; + }; + injectPrefix = (arg, prefix) => { + if (arg.type === 4) { + if (arg.isStatic) { + arg.content = prefix + arg.content; + } else { + arg.content = `\`${prefix}\${${arg.content}}\``; + } + } else { + arg.children.unshift(`'${prefix}' + (`); + arg.children.push(`)`); + } + }; + transformText = (node, context) => { + if (node.type === 0 || node.type === 1 || node.type === 11 || node.type === 10) { + return () => { + const children = node.children; + let currentContainer = void 0; + let hasText = false; + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (isText$1(child)) { + hasText = true; + for (let j = i + 1; j < children.length; j++) { + const next = children[j]; + if (isText$1(next)) { + if (!currentContainer) { + currentContainer = children[i] = createCompoundExpression( + [child], + child.loc + ); + } + currentContainer.children.push(` + `, next); + children.splice(j, 1); + j--; + } else { + currentContainer = void 0; + break; + } + } + } + } + if (!hasText || // if this is a plain element with a single text child, leave it + // as-is since the runtime has dedicated fast path for this by directly + // setting textContent of the element. + // for component root it's always normalized anyway. + children.length === 1 && (node.type === 0 || node.type === 1 && node.tagType === 0 && // #3756 + // custom directives can potentially add DOM elements arbitrarily, + // we need to avoid setting textContent of the element at runtime + // to avoid accidentally overwriting the DOM elements added + // by the user through custom directives. + !node.props.find( + (p) => p.type === 7 && !context.directiveTransforms[p.name] + ) && // in compat mode, <template> tags with no special directives + // will be rendered as a fragment so its children must be + // converted into vnodes. + !(node.tag === "template"))) { + return; + } + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (isText$1(child) || child.type === 8) { + const callArgs = []; + if (child.type !== 2 || child.content !== " ") { + callArgs.push(child); + } + if (!context.ssr && getConstantType(child, context) === 0) { + callArgs.push( + 1 + (true ? ` /* ${PatchFlagNames[1]} */` : ``) + ); + } + children[i] = { + type: 12, + content: child, + loc: child.loc, + codegenNode: createCallExpression( + context.helper(CREATE_TEXT), + callArgs + ) + }; + } + } + }; + } + }; + seen$1 = /* @__PURE__ */ new WeakSet(); + transformOnce = (node, context) => { + if (node.type === 1 && findDir(node, "once", true)) { + if (seen$1.has(node) || context.inVOnce || context.inSSR) { + return; + } + seen$1.add(node); + context.inVOnce = true; + context.helper(SET_BLOCK_TRACKING); + return () => { + context.inVOnce = false; + const cur = context.currentNode; + if (cur.codegenNode) { + cur.codegenNode = context.cache( + cur.codegenNode, + true + /* isVNode */ + ); + } + }; + } + }; + transformModel = (dir, node, context) => { + const { exp, arg } = dir; + if (!exp) { + context.onError( + createCompilerError(41, dir.loc) + ); + return createTransformProps(); + } + const rawExp = exp.loc.source; + const expString = exp.type === 4 ? exp.content : rawExp; + const bindingType = context.bindingMetadata[rawExp]; + if (bindingType === "props" || bindingType === "props-aliased") { + context.onError(createCompilerError(44, exp.loc)); + return createTransformProps(); + } + const maybeRef = false; + if (!expString.trim() || !isMemberExpression(expString) && !maybeRef) { + context.onError( + createCompilerError(42, exp.loc) + ); + return createTransformProps(); + } + const propName = arg ? arg : createSimpleExpression("modelValue", true); + const eventName = arg ? isStaticExp(arg) ? `onUpdate:${camelize(arg.content)}` : createCompoundExpression(['"onUpdate:" + ', arg]) : `onUpdate:modelValue`; + let assignmentExp; + const eventArg = context.isTS ? `($event: any)` : `$event`; + { + assignmentExp = createCompoundExpression([ + `${eventArg} => ((`, + exp, + `) = $event)` + ]); + } + const props = [ + // modelValue: foo + createObjectProperty(propName, dir.exp), + // "onUpdate:modelValue": $event => (foo = $event) + createObjectProperty(eventName, assignmentExp) + ]; + if (dir.modifiers.length && node.tagType === 1) { + const modifiers = dir.modifiers.map((m) => (isSimpleIdentifier(m) ? m : JSON.stringify(m)) + `: true`).join(`, `); + const modifiersKey = arg ? isStaticExp(arg) ? `${arg.content}Modifiers` : createCompoundExpression([arg, ' + "Modifiers"']) : `modelModifiers`; + props.push( + createObjectProperty( + modifiersKey, + createSimpleExpression( + `{ ${modifiers} }`, + false, + dir.loc, + 2 + ) + ) + ); + } + return createTransformProps(props); + }; + validDivisionCharRE = /[\w).+\-_$\]]/; + transformFilter = (node, context) => { + if (!isCompatEnabled("COMPILER_FILTERS", context)) { + return; + } + if (node.type === 5) { + rewriteFilter(node.content, context); + } + if (node.type === 1) { + node.props.forEach((prop) => { + if (prop.type === 7 && prop.name !== "for" && prop.exp) { + rewriteFilter(prop.exp, context); + } + }); + } + }; + seen = /* @__PURE__ */ new WeakSet(); + transformMemo = (node, context) => { + if (node.type === 1) { + const dir = findDir(node, "memo"); + if (!dir || seen.has(node)) { + return; + } + seen.add(node); + return () => { + const codegenNode = node.codegenNode || context.currentNode.codegenNode; + if (codegenNode && codegenNode.type === 13) { + if (node.tagType !== 1) { + convertToBlock(codegenNode, context); + } + node.codegenNode = createCallExpression(context.helper(WITH_MEMO), [ + dir.exp, + createFunctionExpression(void 0, codegenNode), + `_cache`, + String(context.cached++) + ]); + } + }; + } + }; + BindingTypes = { + "DATA": "data", + "PROPS": "props", + "PROPS_ALIASED": "props-aliased", + "SETUP_LET": "setup-let", + "SETUP_CONST": "setup-const", + "SETUP_REACTIVE_CONST": "setup-reactive-const", + "SETUP_MAYBE_REF": "setup-maybe-ref", + "SETUP_REF": "setup-ref", + "OPTIONS": "options", + "LITERAL_CONST": "literal-const" + }; + noopDirectiveTransform = () => ({ props: [] }); + } +}); + +// node_modules/@vue/compiler-dom/dist/compiler-dom.esm-bundler.js +var compiler_dom_esm_bundler_exports = {}; +__export(compiler_dom_esm_bundler_exports, { + BASE_TRANSITION: () => BASE_TRANSITION, + BindingTypes: () => BindingTypes, + CAMELIZE: () => CAMELIZE, + CAPITALIZE: () => CAPITALIZE, + CREATE_BLOCK: () => CREATE_BLOCK, + CREATE_COMMENT: () => CREATE_COMMENT, + CREATE_ELEMENT_BLOCK: () => CREATE_ELEMENT_BLOCK, + CREATE_ELEMENT_VNODE: () => CREATE_ELEMENT_VNODE, + CREATE_SLOTS: () => CREATE_SLOTS, + CREATE_STATIC: () => CREATE_STATIC, + CREATE_TEXT: () => CREATE_TEXT, + CREATE_VNODE: () => CREATE_VNODE, + CompilerDeprecationTypes: () => CompilerDeprecationTypes, + ConstantTypes: () => ConstantTypes, + DOMDirectiveTransforms: () => DOMDirectiveTransforms, + DOMErrorCodes: () => DOMErrorCodes, + DOMErrorMessages: () => DOMErrorMessages, + DOMNodeTransforms: () => DOMNodeTransforms, + ElementTypes: () => ElementTypes, + ErrorCodes: () => ErrorCodes, + FRAGMENT: () => FRAGMENT, + GUARD_REACTIVE_PROPS: () => GUARD_REACTIVE_PROPS, + IS_MEMO_SAME: () => IS_MEMO_SAME, + IS_REF: () => IS_REF, + KEEP_ALIVE: () => KEEP_ALIVE, + MERGE_PROPS: () => MERGE_PROPS, + NORMALIZE_CLASS: () => NORMALIZE_CLASS, + NORMALIZE_PROPS: () => NORMALIZE_PROPS, + NORMALIZE_STYLE: () => NORMALIZE_STYLE, + Namespaces: () => Namespaces, + NodeTypes: () => NodeTypes, + OPEN_BLOCK: () => OPEN_BLOCK, + POP_SCOPE_ID: () => POP_SCOPE_ID, + PUSH_SCOPE_ID: () => PUSH_SCOPE_ID, + RENDER_LIST: () => RENDER_LIST, + RENDER_SLOT: () => RENDER_SLOT, + RESOLVE_COMPONENT: () => RESOLVE_COMPONENT, + RESOLVE_DIRECTIVE: () => RESOLVE_DIRECTIVE, + RESOLVE_DYNAMIC_COMPONENT: () => RESOLVE_DYNAMIC_COMPONENT, + RESOLVE_FILTER: () => RESOLVE_FILTER, + SET_BLOCK_TRACKING: () => SET_BLOCK_TRACKING, + SUSPENSE: () => SUSPENSE, + TELEPORT: () => TELEPORT, + TO_DISPLAY_STRING: () => TO_DISPLAY_STRING, + TO_HANDLERS: () => TO_HANDLERS, + TO_HANDLER_KEY: () => TO_HANDLER_KEY, + TRANSITION: () => TRANSITION, + TRANSITION_GROUP: () => TRANSITION_GROUP, + TS_NODE_TYPES: () => TS_NODE_TYPES, + UNREF: () => UNREF, + V_MODEL_CHECKBOX: () => V_MODEL_CHECKBOX, + V_MODEL_DYNAMIC: () => V_MODEL_DYNAMIC, + V_MODEL_RADIO: () => V_MODEL_RADIO, + V_MODEL_SELECT: () => V_MODEL_SELECT, + V_MODEL_TEXT: () => V_MODEL_TEXT, + V_ON_WITH_KEYS: () => V_ON_WITH_KEYS, + V_ON_WITH_MODIFIERS: () => V_ON_WITH_MODIFIERS, + V_SHOW: () => V_SHOW, + WITH_CTX: () => WITH_CTX, + WITH_DIRECTIVES: () => WITH_DIRECTIVES, + WITH_MEMO: () => WITH_MEMO, + advancePositionWithClone: () => advancePositionWithClone, + advancePositionWithMutation: () => advancePositionWithMutation, + assert: () => assert, + baseCompile: () => baseCompile, + baseParse: () => baseParse, + buildDirectiveArgs: () => buildDirectiveArgs, + buildProps: () => buildProps, + buildSlots: () => buildSlots, + checkCompatEnabled: () => checkCompatEnabled, + compile: () => compile, + convertToBlock: () => convertToBlock, + createArrayExpression: () => createArrayExpression, + createAssignmentExpression: () => createAssignmentExpression, + createBlockStatement: () => createBlockStatement, + createCacheExpression: () => createCacheExpression, + createCallExpression: () => createCallExpression, + createCompilerError: () => createCompilerError, + createCompoundExpression: () => createCompoundExpression, + createConditionalExpression: () => createConditionalExpression, + createDOMCompilerError: () => createDOMCompilerError, + createForLoopParams: () => createForLoopParams, + createFunctionExpression: () => createFunctionExpression, + createIfStatement: () => createIfStatement, + createInterpolation: () => createInterpolation, + createObjectExpression: () => createObjectExpression, + createObjectProperty: () => createObjectProperty, + createReturnStatement: () => createReturnStatement, + createRoot: () => createRoot, + createSequenceExpression: () => createSequenceExpression, + createSimpleExpression: () => createSimpleExpression, + createStructuralDirectiveTransform: () => createStructuralDirectiveTransform, + createTemplateLiteral: () => createTemplateLiteral, + createTransformContext: () => createTransformContext, + createVNodeCall: () => createVNodeCall, + errorMessages: () => errorMessages, + extractIdentifiers: () => extractIdentifiers, + findDir: () => findDir, + findProp: () => findProp, + forAliasRE: () => forAliasRE, + generate: () => generate, + generateCodeFrame: () => generateCodeFrame, + getBaseTransformPreset: () => getBaseTransformPreset, + getConstantType: () => getConstantType, + getMemoedVNodeCall: () => getMemoedVNodeCall, + getVNodeBlockHelper: () => getVNodeBlockHelper, + getVNodeHelper: () => getVNodeHelper, + hasDynamicKeyVBind: () => hasDynamicKeyVBind, + hasScopeRef: () => hasScopeRef, + helperNameMap: () => helperNameMap, + injectProp: () => injectProp, + isCoreComponent: () => isCoreComponent, + isFunctionType: () => isFunctionType, + isInDestructureAssignment: () => isInDestructureAssignment, + isInNewExpression: () => isInNewExpression, + isMemberExpression: () => isMemberExpression, + isMemberExpressionBrowser: () => isMemberExpressionBrowser, + isMemberExpressionNode: () => isMemberExpressionNode, + isReferencedIdentifier: () => isReferencedIdentifier, + isSimpleIdentifier: () => isSimpleIdentifier, + isSlotOutlet: () => isSlotOutlet, + isStaticArgOf: () => isStaticArgOf, + isStaticExp: () => isStaticExp, + isStaticProperty: () => isStaticProperty, + isStaticPropertyKey: () => isStaticPropertyKey, + isTemplateNode: () => isTemplateNode, + isText: () => isText$1, + isVSlot: () => isVSlot, + locStub: () => locStub, + noopDirectiveTransform: () => noopDirectiveTransform, + parse: () => parse, + parserOptions: () => parserOptions, + processExpression: () => processExpression, + processFor: () => processFor, + processIf: () => processIf, + processSlotOutlet: () => processSlotOutlet, + registerRuntimeHelpers: () => registerRuntimeHelpers, + resolveComponentType: () => resolveComponentType, + stringifyExpression: () => stringifyExpression, + toValidAssetId: () => toValidAssetId, + trackSlotScopes: () => trackSlotScopes, + trackVForSlotScopes: () => trackVForSlotScopes, + transform: () => transform, + transformBind: () => transformBind, + transformElement: () => transformElement, + transformExpression: () => transformExpression, + transformModel: () => transformModel, + transformOn: () => transformOn, + transformStyle: () => transformStyle, + traverseNode: () => traverseNode, + unwrapTSNode: () => unwrapTSNode, + walkBlockDeclarations: () => walkBlockDeclarations, + walkFunctionParams: () => walkFunctionParams, + walkIdentifiers: () => walkIdentifiers, + warnDeprecation: () => warnDeprecation +}); +function decodeHtmlBrowser(raw, asAttr = false) { + if (!decoder) { + decoder = document.createElement("div"); + } + if (asAttr) { + decoder.innerHTML = `<div foo="${raw.replace(/"/g, """)}">`; + return decoder.children[0].getAttribute("foo"); + } else { + decoder.innerHTML = raw; + return decoder.textContent; + } +} +function createDOMCompilerError(code, loc) { + return createCompilerError( + code, + loc, + true ? DOMErrorMessages : void 0 + ); +} +function hasMultipleChildren(node) { + const children = node.children = node.children.filter( + (c) => c.type !== 3 && !(c.type === 2 && !c.content.trim()) + ); + const child = children[0]; + return children.length !== 1 || child.type === 11 || child.type === 9 && child.branches.some(hasMultipleChildren); +} +function compile(src, options = {}) { + return baseCompile( + src, + extend({}, parserOptions, options, { + nodeTransforms: [ + // ignore <script> and <tag> + // this is not put inside DOMNodeTransforms because that list is used + // by compiler-ssr to generate vnode fallback branches + ignoreSideEffectTags, + ...DOMNodeTransforms, + ...options.nodeTransforms || [] + ], + directiveTransforms: extend( + {}, + DOMDirectiveTransforms, + options.directiveTransforms || {} + ), + transformHoist: null + }) + ); +} +function parse(template, options = {}) { + return baseParse(template, extend({}, parserOptions, options)); +} +var V_MODEL_RADIO, V_MODEL_CHECKBOX, V_MODEL_TEXT, V_MODEL_SELECT, V_MODEL_DYNAMIC, V_ON_WITH_MODIFIERS, V_ON_WITH_KEYS, V_SHOW, TRANSITION, TRANSITION_GROUP, decoder, parserOptions, transformStyle, parseInlineCSS, DOMErrorCodes, DOMErrorMessages, transformVHtml, transformVText, transformModel2, isEventOptionModifier, isNonKeyModifier, maybeKeyModifier, isKeyboardEvent, resolveModifiers, transformClick, transformOn2, transformShow, transformTransition, ignoreSideEffectTags, DOMNodeTransforms, DOMDirectiveTransforms; +var init_compiler_dom_esm_bundler = __esm({ + "node_modules/@vue/compiler-dom/dist/compiler-dom.esm-bundler.js"() { + init_compiler_core_esm_bundler(); + init_compiler_core_esm_bundler(); + init_shared_esm_bundler(); + V_MODEL_RADIO = Symbol(true ? `vModelRadio` : ``); + V_MODEL_CHECKBOX = Symbol(true ? `vModelCheckbox` : ``); + V_MODEL_TEXT = Symbol(true ? `vModelText` : ``); + V_MODEL_SELECT = Symbol(true ? `vModelSelect` : ``); + V_MODEL_DYNAMIC = Symbol(true ? `vModelDynamic` : ``); + V_ON_WITH_MODIFIERS = Symbol(true ? `vOnModifiersGuard` : ``); + V_ON_WITH_KEYS = Symbol(true ? `vOnKeysGuard` : ``); + V_SHOW = Symbol(true ? `vShow` : ``); + TRANSITION = Symbol(true ? `Transition` : ``); + TRANSITION_GROUP = Symbol(true ? `TransitionGroup` : ``); + registerRuntimeHelpers({ + [V_MODEL_RADIO]: `vModelRadio`, + [V_MODEL_CHECKBOX]: `vModelCheckbox`, + [V_MODEL_TEXT]: `vModelText`, + [V_MODEL_SELECT]: `vModelSelect`, + [V_MODEL_DYNAMIC]: `vModelDynamic`, + [V_ON_WITH_MODIFIERS]: `withModifiers`, + [V_ON_WITH_KEYS]: `withKeys`, + [V_SHOW]: `vShow`, + [TRANSITION]: `Transition`, + [TRANSITION_GROUP]: `TransitionGroup` + }); + parserOptions = { + parseMode: "html", + isVoidTag, + isNativeTag: (tag) => isHTMLTag(tag) || isSVGTag(tag) || isMathMLTag(tag), + isPreTag: (tag) => tag === "pre", + decodeEntities: decodeHtmlBrowser, + isBuiltInComponent: (tag) => { + if (tag === "Transition" || tag === "transition") { + return TRANSITION; + } else if (tag === "TransitionGroup" || tag === "transition-group") { + return TRANSITION_GROUP; + } + }, + // https://html.spec.whatwg.org/multipage/parsing.html#tree-construction-dispatcher + getNamespace(tag, parent, rootNamespace) { + let ns = parent ? parent.ns : rootNamespace; + if (parent && ns === 2) { + if (parent.tag === "annotation-xml") { + if (tag === "svg") { + return 1; + } + if (parent.props.some( + (a) => a.type === 6 && a.name === "encoding" && a.value != null && (a.value.content === "text/html" || a.value.content === "application/xhtml+xml") + )) { + ns = 0; + } + } else if (/^m(?:[ions]|text)$/.test(parent.tag) && tag !== "mglyph" && tag !== "malignmark") { + ns = 0; + } + } else if (parent && ns === 1) { + if (parent.tag === "foreignObject" || parent.tag === "desc" || parent.tag === "title") { + ns = 0; + } + } + if (ns === 0) { + if (tag === "svg") { + return 1; + } + if (tag === "math") { + return 2; + } + } + return ns; + } + }; + transformStyle = (node) => { + if (node.type === 1) { + node.props.forEach((p, i) => { + if (p.type === 6 && p.name === "style" && p.value) { + node.props[i] = { + type: 7, + name: `bind`, + arg: createSimpleExpression(`style`, true, p.loc), + exp: parseInlineCSS(p.value.content, p.loc), + modifiers: [], + loc: p.loc + }; + } + }); + } + }; + parseInlineCSS = (cssText, loc) => { + const normalized = parseStringStyle(cssText); + return createSimpleExpression( + JSON.stringify(normalized), + false, + loc, + 3 + ); + }; + DOMErrorCodes = { + "X_V_HTML_NO_EXPRESSION": 53, + "53": "X_V_HTML_NO_EXPRESSION", + "X_V_HTML_WITH_CHILDREN": 54, + "54": "X_V_HTML_WITH_CHILDREN", + "X_V_TEXT_NO_EXPRESSION": 55, + "55": "X_V_TEXT_NO_EXPRESSION", + "X_V_TEXT_WITH_CHILDREN": 56, + "56": "X_V_TEXT_WITH_CHILDREN", + "X_V_MODEL_ON_INVALID_ELEMENT": 57, + "57": "X_V_MODEL_ON_INVALID_ELEMENT", + "X_V_MODEL_ARG_ON_ELEMENT": 58, + "58": "X_V_MODEL_ARG_ON_ELEMENT", + "X_V_MODEL_ON_FILE_INPUT_ELEMENT": 59, + "59": "X_V_MODEL_ON_FILE_INPUT_ELEMENT", + "X_V_MODEL_UNNECESSARY_VALUE": 60, + "60": "X_V_MODEL_UNNECESSARY_VALUE", + "X_V_SHOW_NO_EXPRESSION": 61, + "61": "X_V_SHOW_NO_EXPRESSION", + "X_TRANSITION_INVALID_CHILDREN": 62, + "62": "X_TRANSITION_INVALID_CHILDREN", + "X_IGNORED_SIDE_EFFECT_TAG": 63, + "63": "X_IGNORED_SIDE_EFFECT_TAG", + "__EXTEND_POINT__": 64, + "64": "__EXTEND_POINT__" + }; + DOMErrorMessages = { + [53]: `v-html is missing expression.`, + [54]: `v-html will override element children.`, + [55]: `v-text is missing expression.`, + [56]: `v-text will override element children.`, + [57]: `v-model can only be used on <input>, <textarea> and <select> elements.`, + [58]: `v-model argument is not supported on plain elements.`, + [59]: `v-model cannot be used on file inputs since they are read-only. Use a v-on:change listener instead.`, + [60]: `Unnecessary value binding used alongside v-model. It will interfere with v-model's behavior.`, + [61]: `v-show is missing expression.`, + [62]: `<Transition> expects exactly one child element or component.`, + [63]: `Tags with side effect (<script> and <style>) are ignored in client component templates.` + }; + transformVHtml = (dir, node, context) => { + const { exp, loc } = dir; + if (!exp) { + context.onError( + createDOMCompilerError(53, loc) + ); + } + if (node.children.length) { + context.onError( + createDOMCompilerError(54, loc) + ); + node.children.length = 0; + } + return { + props: [ + createObjectProperty( + createSimpleExpression(`innerHTML`, true, loc), + exp || createSimpleExpression("", true) + ) + ] + }; + }; + transformVText = (dir, node, context) => { + const { exp, loc } = dir; + if (!exp) { + context.onError( + createDOMCompilerError(55, loc) + ); + } + if (node.children.length) { + context.onError( + createDOMCompilerError(56, loc) + ); + node.children.length = 0; + } + return { + props: [ + createObjectProperty( + createSimpleExpression(`textContent`, true), + exp ? getConstantType(exp, context) > 0 ? exp : createCallExpression( + context.helperString(TO_DISPLAY_STRING), + [exp], + loc + ) : createSimpleExpression("", true) + ) + ] + }; + }; + transformModel2 = (dir, node, context) => { + const baseResult = transformModel(dir, node, context); + if (!baseResult.props.length || node.tagType === 1) { + return baseResult; + } + if (dir.arg) { + context.onError( + createDOMCompilerError( + 58, + dir.arg.loc + ) + ); + } + function checkDuplicatedValue() { + const value = findDir(node, "bind"); + if (value && isStaticArgOf(value.arg, "value")) { + context.onError( + createDOMCompilerError( + 60, + value.loc + ) + ); + } + } + const { tag } = node; + const isCustomElement = context.isCustomElement(tag); + if (tag === "input" || tag === "textarea" || tag === "select" || isCustomElement) { + let directiveToUse = V_MODEL_TEXT; + let isInvalidType = false; + if (tag === "input" || isCustomElement) { + const type = findProp(node, `type`); + if (type) { + if (type.type === 7) { + directiveToUse = V_MODEL_DYNAMIC; + } else if (type.value) { + switch (type.value.content) { + case "radio": + directiveToUse = V_MODEL_RADIO; + break; + case "checkbox": + directiveToUse = V_MODEL_CHECKBOX; + break; + case "file": + isInvalidType = true; + context.onError( + createDOMCompilerError( + 59, + dir.loc + ) + ); + break; + default: + checkDuplicatedValue(); + break; + } + } + } else if (hasDynamicKeyVBind(node)) { + directiveToUse = V_MODEL_DYNAMIC; + } else { + checkDuplicatedValue(); + } + } else if (tag === "select") { + directiveToUse = V_MODEL_SELECT; + } else { + checkDuplicatedValue(); + } + if (!isInvalidType) { + baseResult.needRuntime = context.helper(directiveToUse); + } + } else { + context.onError( + createDOMCompilerError( + 57, + dir.loc + ) + ); + } + baseResult.props = baseResult.props.filter( + (p) => !(p.key.type === 4 && p.key.content === "modelValue") + ); + return baseResult; + }; + isEventOptionModifier = makeMap(`passive,once,capture`); + isNonKeyModifier = makeMap( + // event propagation management + `stop,prevent,self,ctrl,shift,alt,meta,exact,middle` + ); + maybeKeyModifier = makeMap("left,right"); + isKeyboardEvent = makeMap( + `onkeyup,onkeydown,onkeypress`, + true + ); + resolveModifiers = (key, modifiers, context, loc) => { + const keyModifiers = []; + const nonKeyModifiers = []; + const eventOptionModifiers = []; + for (let i = 0; i < modifiers.length; i++) { + const modifier = modifiers[i]; + if (modifier === "native" && checkCompatEnabled( + "COMPILER_V_ON_NATIVE", + context, + loc + )) { + eventOptionModifiers.push(modifier); + } else if (isEventOptionModifier(modifier)) { + eventOptionModifiers.push(modifier); + } else { + if (maybeKeyModifier(modifier)) { + if (isStaticExp(key)) { + if (isKeyboardEvent(key.content)) { + keyModifiers.push(modifier); + } else { + nonKeyModifiers.push(modifier); + } + } else { + keyModifiers.push(modifier); + nonKeyModifiers.push(modifier); + } + } else { + if (isNonKeyModifier(modifier)) { + nonKeyModifiers.push(modifier); + } else { + keyModifiers.push(modifier); + } + } + } + } + return { + keyModifiers, + nonKeyModifiers, + eventOptionModifiers + }; + }; + transformClick = (key, event) => { + const isStaticClick = isStaticExp(key) && key.content.toLowerCase() === "onclick"; + return isStaticClick ? createSimpleExpression(event, true) : key.type !== 4 ? createCompoundExpression([ + `(`, + key, + `) === "onClick" ? "${event}" : (`, + key, + `)` + ]) : key; + }; + transformOn2 = (dir, node, context) => { + return transformOn(dir, node, context, (baseResult) => { + const { modifiers } = dir; + if (!modifiers.length) + return baseResult; + let { key, value: handlerExp } = baseResult.props[0]; + const { keyModifiers, nonKeyModifiers, eventOptionModifiers } = resolveModifiers(key, modifiers, context, dir.loc); + if (nonKeyModifiers.includes("right")) { + key = transformClick(key, `onContextmenu`); + } + if (nonKeyModifiers.includes("middle")) { + key = transformClick(key, `onMouseup`); + } + if (nonKeyModifiers.length) { + handlerExp = createCallExpression(context.helper(V_ON_WITH_MODIFIERS), [ + handlerExp, + JSON.stringify(nonKeyModifiers) + ]); + } + if (keyModifiers.length && // if event name is dynamic, always wrap with keys guard + (!isStaticExp(key) || isKeyboardEvent(key.content))) { + handlerExp = createCallExpression(context.helper(V_ON_WITH_KEYS), [ + handlerExp, + JSON.stringify(keyModifiers) + ]); + } + if (eventOptionModifiers.length) { + const modifierPostfix = eventOptionModifiers.map(capitalize).join(""); + key = isStaticExp(key) ? createSimpleExpression(`${key.content}${modifierPostfix}`, true) : createCompoundExpression([`(`, key, `) + "${modifierPostfix}"`]); + } + return { + props: [createObjectProperty(key, handlerExp)] + }; + }); + }; + transformShow = (dir, node, context) => { + const { exp, loc } = dir; + if (!exp) { + context.onError( + createDOMCompilerError(61, loc) + ); + } + return { + props: [], + needRuntime: context.helper(V_SHOW) + }; + }; + transformTransition = (node, context) => { + if (node.type === 1 && node.tagType === 1) { + const component = context.isBuiltInComponent(node.tag); + if (component === TRANSITION) { + return () => { + if (!node.children.length) { + return; + } + if (hasMultipleChildren(node)) { + context.onError( + createDOMCompilerError( + 62, + { + start: node.children[0].loc.start, + end: node.children[node.children.length - 1].loc.end, + source: "" + } + ) + ); + } + const child = node.children[0]; + if (child.type === 1) { + for (const p of child.props) { + if (p.type === 7 && p.name === "show") { + node.props.push({ + type: 6, + name: "persisted", + nameLoc: node.loc, + value: void 0, + loc: node.loc + }); + } + } + } + }; + } + } + }; + ignoreSideEffectTags = (node, context) => { + if (node.type === 1 && node.tagType === 0 && (node.tag === "script" || node.tag === "style")) { + context.onError( + createDOMCompilerError( + 63, + node.loc + ) + ); + context.removeNode(); + } + }; + DOMNodeTransforms = [ + transformStyle, + ...true ? [transformTransition] : [] + ]; + DOMDirectiveTransforms = { + cloak: noopDirectiveTransform, + html: transformVHtml, + text: transformVText, + model: transformModel2, + // override compiler-core + on: transformOn2, + // override compiler-core + show: transformShow + }; + } +}); + +// node_modules/vue/dist/vue.cjs.js +var require_vue_cjs = __commonJS({ + "node_modules/vue/dist/vue.cjs.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var compilerDom = (init_compiler_dom_esm_bundler(), __toCommonJS(compiler_dom_esm_bundler_exports)); + var runtimeDom = (init_runtime_dom_esm_bundler(), __toCommonJS(runtime_dom_esm_bundler_exports)); + var shared = (init_shared_esm_bundler(), __toCommonJS(shared_esm_bundler_exports)); + function _interopNamespaceDefault(e) { + var n = /* @__PURE__ */ Object.create(null); + if (e) { + for (var k in e) { + n[k] = e[k]; + } + } + n.default = e; + return Object.freeze(n); + } + var runtimeDom__namespace = _interopNamespaceDefault(runtimeDom); + var compileCache = /* @__PURE__ */ new WeakMap(); + function getCache(options) { + let c = compileCache.get(options != null ? options : shared.EMPTY_OBJ); + if (!c) { + c = /* @__PURE__ */ Object.create(null); + compileCache.set(options != null ? options : shared.EMPTY_OBJ, c); + } + return c; + } + function compileToFunction(template, options) { + if (!shared.isString(template)) { + if (template.nodeType) { + template = template.innerHTML; + } else { + runtimeDom.warn(`invalid template option: `, template); + return shared.NOOP; + } + } + const key = template; + const cache = getCache(options); + const cached = cache[key]; + if (cached) { + return cached; + } + if (template[0] === "#") { + const el = document.querySelector(template); + if (!el) { + runtimeDom.warn(`Template element not found or is empty: ${template}`); + } + template = el ? el.innerHTML : ``; + } + const opts = shared.extend( + { + hoistStatic: true, + onError, + onWarn: (e) => onError(e, true) + }, + options + ); + if (!opts.isCustomElement && typeof customElements !== "undefined") { + opts.isCustomElement = (tag) => !!customElements.get(tag); + } + const { code } = compilerDom.compile(template, opts); + function onError(err, asWarning = false) { + const message = asWarning ? err.message : `Template compilation error: ${err.message}`; + const codeFrame = err.loc && shared.generateCodeFrame( + template, + err.loc.start.offset, + err.loc.end.offset + ); + runtimeDom.warn(codeFrame ? `${message} +${codeFrame}` : message); + } + const render = new Function("Vue", code)(runtimeDom__namespace); + render._rc = true; + return cache[key] = render; + } + runtimeDom.registerRuntimeCompiler(compileToFunction); + exports.compile = compileToFunction; + Object.keys(runtimeDom).forEach(function(k) { + if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports, k)) + exports[k] = runtimeDom[k]; + }); + } +}); + +// node_modules/vue/index.js +var require_vue = __commonJS({ + "node_modules/vue/index.js"(exports, module) { + "use strict"; + if (false) { + module.exports = null; + } else { + module.exports = require_vue_cjs(); + } + } +}); + +// node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/bind.js +var require_bind = __commonJS({ + "node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/bind.js"(exports, module) { + "use strict"; + module.exports = function bind(fn, thisArg) { + return function wrap() { + var args = new Array(arguments.length); + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i]; + } + return fn.apply(thisArg, args); + }; + }; + } +}); + +// node_modules/@inertiajs/inertia/node_modules/axios/lib/utils.js +var require_utils = __commonJS({ + "node_modules/@inertiajs/inertia/node_modules/axios/lib/utils.js"(exports, module) { + "use strict"; + var bind = require_bind(); + var toString = Object.prototype.toString; + function isArray2(val) { + return toString.call(val) === "[object Array]"; + } + function isUndefined(val) { + return typeof val === "undefined"; + } + function isBuffer(val) { + return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && typeof val.constructor.isBuffer === "function" && val.constructor.isBuffer(val); + } + function isArrayBuffer(val) { + return toString.call(val) === "[object ArrayBuffer]"; + } + function isFormData(val) { + return typeof FormData !== "undefined" && val instanceof FormData; + } + function isArrayBufferView(val) { + var result; + if (typeof ArrayBuffer !== "undefined" && ArrayBuffer.isView) { + result = ArrayBuffer.isView(val); + } else { + result = val && val.buffer && val.buffer instanceof ArrayBuffer; + } + return result; + } + function isString2(val) { + return typeof val === "string"; + } + function isNumber(val) { + return typeof val === "number"; + } + function isObject2(val) { + return val !== null && typeof val === "object"; + } + function isPlainObject(val) { + if (toString.call(val) !== "[object Object]") { + return false; + } + var prototype = Object.getPrototypeOf(val); + return prototype === null || prototype === Object.prototype; + } + function isDate(val) { + return toString.call(val) === "[object Date]"; + } + function isFile(val) { + return toString.call(val) === "[object File]"; + } + function isBlob(val) { + return toString.call(val) === "[object Blob]"; + } + function isFunction(val) { + return toString.call(val) === "[object Function]"; + } + function isStream(val) { + return isObject2(val) && isFunction(val.pipe); + } + function isURLSearchParams(val) { + return typeof URLSearchParams !== "undefined" && val instanceof URLSearchParams; + } + function trim(str) { + return str.trim ? str.trim() : str.replace(/^\s+|\s+$/g, ""); + } + function isStandardBrowserEnv() { + if (typeof navigator !== "undefined" && (navigator.product === "ReactNative" || navigator.product === "NativeScript" || navigator.product === "NS")) { + return false; + } + return typeof window !== "undefined" && typeof document !== "undefined"; + } + function forEach(obj, fn) { + if (obj === null || typeof obj === "undefined") { + return; + } + if (typeof obj !== "object") { + obj = [obj]; + } + if (isArray2(obj)) { + for (var i = 0, l = obj.length; i < l; i++) { + fn.call(null, obj[i], i, obj); + } + } else { + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + fn.call(null, obj[key], key, obj); + } + } + } + } + function merge() { + var result = {}; + function assignValue(val, key) { + if (isPlainObject(result[key]) && isPlainObject(val)) { + result[key] = merge(result[key], val); + } else if (isPlainObject(val)) { + result[key] = merge({}, val); + } else if (isArray2(val)) { + result[key] = val.slice(); + } else { + result[key] = val; + } + } + for (var i = 0, l = arguments.length; i < l; i++) { + forEach(arguments[i], assignValue); + } + return result; + } + function extend2(a, b, thisArg) { + forEach(b, function assignValue(val, key) { + if (thisArg && typeof val === "function") { + a[key] = bind(val, thisArg); + } else { + a[key] = val; + } + }); + return a; + } + function stripBOM(content) { + if (content.charCodeAt(0) === 65279) { + content = content.slice(1); + } + return content; + } + module.exports = { + isArray: isArray2, + isArrayBuffer, + isBuffer, + isFormData, + isArrayBufferView, + isString: isString2, + isNumber, + isObject: isObject2, + isPlainObject, + isUndefined, + isDate, + isFile, + isBlob, + isFunction, + isStream, + isURLSearchParams, + isStandardBrowserEnv, + forEach, + merge, + extend: extend2, + trim, + stripBOM + }; + } +}); + +// node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/buildURL.js +var require_buildURL = __commonJS({ + "node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/buildURL.js"(exports, module) { + "use strict"; + var utils = require_utils(); + function encode(val) { + return encodeURIComponent(val).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]"); + } + module.exports = function buildURL(url, params, paramsSerializer) { + if (!params) { + return url; + } + var serializedParams; + if (paramsSerializer) { + serializedParams = paramsSerializer(params); + } else if (utils.isURLSearchParams(params)) { + serializedParams = params.toString(); + } else { + var parts = []; + utils.forEach(params, function serialize(val, key) { + if (val === null || typeof val === "undefined") { + return; + } + if (utils.isArray(val)) { + key = key + "[]"; + } else { + val = [val]; + } + utils.forEach(val, function parseValue(v) { + if (utils.isDate(v)) { + v = v.toISOString(); + } else if (utils.isObject(v)) { + v = JSON.stringify(v); + } + parts.push(encode(key) + "=" + encode(v)); + }); + }); + serializedParams = parts.join("&"); + } + if (serializedParams) { + var hashmarkIndex = url.indexOf("#"); + if (hashmarkIndex !== -1) { + url = url.slice(0, hashmarkIndex); + } + url += (url.indexOf("?") === -1 ? "?" : "&") + serializedParams; + } + return url; + }; + } +}); + +// node_modules/@inertiajs/inertia/node_modules/axios/lib/core/InterceptorManager.js +var require_InterceptorManager = __commonJS({ + "node_modules/@inertiajs/inertia/node_modules/axios/lib/core/InterceptorManager.js"(exports, module) { + "use strict"; + var utils = require_utils(); + function InterceptorManager() { + this.handlers = []; + } + InterceptorManager.prototype.use = function use(fulfilled, rejected, options) { + this.handlers.push({ + fulfilled, + rejected, + synchronous: options ? options.synchronous : false, + runWhen: options ? options.runWhen : null + }); + return this.handlers.length - 1; + }; + InterceptorManager.prototype.eject = function eject(id) { + if (this.handlers[id]) { + this.handlers[id] = null; + } + }; + InterceptorManager.prototype.forEach = function forEach(fn) { + utils.forEach(this.handlers, function forEachHandler(h) { + if (h !== null) { + fn(h); + } + }); + }; + module.exports = InterceptorManager; + } +}); + +// node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/normalizeHeaderName.js +var require_normalizeHeaderName = __commonJS({ + "node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/normalizeHeaderName.js"(exports, module) { + "use strict"; + var utils = require_utils(); + module.exports = function normalizeHeaderName(headers, normalizedName) { + utils.forEach(headers, function processHeader(value, name) { + if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) { + headers[normalizedName] = value; + delete headers[name]; + } + }); + }; + } +}); + +// node_modules/@inertiajs/inertia/node_modules/axios/lib/core/enhanceError.js +var require_enhanceError = __commonJS({ + "node_modules/@inertiajs/inertia/node_modules/axios/lib/core/enhanceError.js"(exports, module) { + "use strict"; + module.exports = function enhanceError(error, config, code, request, response) { + error.config = config; + if (code) { + error.code = code; + } + error.request = request; + error.response = response; + error.isAxiosError = true; + error.toJSON = function toJSON() { + return { + // Standard + message: this.message, + name: this.name, + // Microsoft + description: this.description, + number: this.number, + // Mozilla + fileName: this.fileName, + lineNumber: this.lineNumber, + columnNumber: this.columnNumber, + stack: this.stack, + // Axios + config: this.config, + code: this.code + }; + }; + return error; + }; + } +}); + +// node_modules/@inertiajs/inertia/node_modules/axios/lib/core/createError.js +var require_createError = __commonJS({ + "node_modules/@inertiajs/inertia/node_modules/axios/lib/core/createError.js"(exports, module) { + "use strict"; + var enhanceError = require_enhanceError(); + module.exports = function createError(message, config, code, request, response) { + var error = new Error(message); + return enhanceError(error, config, code, request, response); + }; + } +}); + +// node_modules/@inertiajs/inertia/node_modules/axios/lib/core/settle.js +var require_settle = __commonJS({ + "node_modules/@inertiajs/inertia/node_modules/axios/lib/core/settle.js"(exports, module) { + "use strict"; + var createError = require_createError(); + module.exports = function settle(resolve, reject, response) { + var validateStatus = response.config.validateStatus; + if (!response.status || !validateStatus || validateStatus(response.status)) { + resolve(response); + } else { + reject(createError( + "Request failed with status code " + response.status, + response.config, + null, + response.request, + response + )); + } + }; + } +}); + +// node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/cookies.js +var require_cookies = __commonJS({ + "node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/cookies.js"(exports, module) { + "use strict"; + var utils = require_utils(); + module.exports = utils.isStandardBrowserEnv() ? ( + // Standard browser envs support document.cookie + /* @__PURE__ */ function standardBrowserEnv() { + return { + write: function write(name, value, expires, path, domain, secure) { + var cookie = []; + cookie.push(name + "=" + encodeURIComponent(value)); + if (utils.isNumber(expires)) { + cookie.push("expires=" + new Date(expires).toGMTString()); + } + if (utils.isString(path)) { + cookie.push("path=" + path); + } + if (utils.isString(domain)) { + cookie.push("domain=" + domain); + } + if (secure === true) { + cookie.push("secure"); + } + document.cookie = cookie.join("; "); + }, + read: function read(name) { + var match = document.cookie.match(new RegExp("(^|;\\s*)(" + name + ")=([^;]*)")); + return match ? decodeURIComponent(match[3]) : null; + }, + remove: function remove(name) { + this.write(name, "", Date.now() - 864e5); + } + }; + }() + ) : ( + // Non standard browser env (web workers, react-native) lack needed support. + /* @__PURE__ */ function nonStandardBrowserEnv() { + return { + write: function write() { + }, + read: function read() { + return null; + }, + remove: function remove() { + } + }; + }() + ); + } +}); + +// node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/isAbsoluteURL.js +var require_isAbsoluteURL = __commonJS({ + "node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/isAbsoluteURL.js"(exports, module) { + "use strict"; + module.exports = function isAbsoluteURL(url) { + return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url); + }; + } +}); + +// node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/combineURLs.js +var require_combineURLs = __commonJS({ + "node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/combineURLs.js"(exports, module) { + "use strict"; + module.exports = function combineURLs(baseURL, relativeURL) { + return relativeURL ? baseURL.replace(/\/+$/, "") + "/" + relativeURL.replace(/^\/+/, "") : baseURL; + }; + } +}); + +// node_modules/@inertiajs/inertia/node_modules/axios/lib/core/buildFullPath.js +var require_buildFullPath = __commonJS({ + "node_modules/@inertiajs/inertia/node_modules/axios/lib/core/buildFullPath.js"(exports, module) { + "use strict"; + var isAbsoluteURL = require_isAbsoluteURL(); + var combineURLs = require_combineURLs(); + module.exports = function buildFullPath(baseURL, requestedURL) { + if (baseURL && !isAbsoluteURL(requestedURL)) { + return combineURLs(baseURL, requestedURL); + } + return requestedURL; + }; + } +}); + +// node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/parseHeaders.js +var require_parseHeaders = __commonJS({ + "node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/parseHeaders.js"(exports, module) { + "use strict"; + var utils = require_utils(); + var ignoreDuplicateOf = [ + "age", + "authorization", + "content-length", + "content-type", + "etag", + "expires", + "from", + "host", + "if-modified-since", + "if-unmodified-since", + "last-modified", + "location", + "max-forwards", + "proxy-authorization", + "referer", + "retry-after", + "user-agent" + ]; + module.exports = function parseHeaders(headers) { + var parsed = {}; + var key; + var val; + var i; + if (!headers) { + return parsed; + } + utils.forEach(headers.split("\n"), function parser(line) { + i = line.indexOf(":"); + key = utils.trim(line.substr(0, i)).toLowerCase(); + val = utils.trim(line.substr(i + 1)); + if (key) { + if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) { + return; + } + if (key === "set-cookie") { + parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]); + } else { + parsed[key] = parsed[key] ? parsed[key] + ", " + val : val; + } + } + }); + return parsed; + }; + } +}); + +// node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/isURLSameOrigin.js +var require_isURLSameOrigin = __commonJS({ + "node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/isURLSameOrigin.js"(exports, module) { + "use strict"; + var utils = require_utils(); + module.exports = utils.isStandardBrowserEnv() ? ( + // Standard browser envs have full support of the APIs needed to test + // whether the request URL is of the same origin as current location. + function standardBrowserEnv() { + var msie = /(msie|trident)/i.test(navigator.userAgent); + var urlParsingNode = document.createElement("a"); + var originURL; + function resolveURL(url) { + var href = url; + if (msie) { + urlParsingNode.setAttribute("href", href); + href = urlParsingNode.href; + } + urlParsingNode.setAttribute("href", href); + return { + href: urlParsingNode.href, + protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, "") : "", + host: urlParsingNode.host, + search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, "") : "", + hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, "") : "", + hostname: urlParsingNode.hostname, + port: urlParsingNode.port, + pathname: urlParsingNode.pathname.charAt(0) === "/" ? urlParsingNode.pathname : "/" + urlParsingNode.pathname + }; + } + originURL = resolveURL(window.location.href); + return function isURLSameOrigin(requestURL) { + var parsed = utils.isString(requestURL) ? resolveURL(requestURL) : requestURL; + return parsed.protocol === originURL.protocol && parsed.host === originURL.host; + }; + }() + ) : ( + // Non standard browser envs (web workers, react-native) lack needed support. + /* @__PURE__ */ function nonStandardBrowserEnv() { + return function isURLSameOrigin() { + return true; + }; + }() + ); + } +}); + +// node_modules/@inertiajs/inertia/node_modules/axios/lib/adapters/xhr.js +var require_xhr = __commonJS({ + "node_modules/@inertiajs/inertia/node_modules/axios/lib/adapters/xhr.js"(exports, module) { + "use strict"; + var utils = require_utils(); + var settle = require_settle(); + var cookies = require_cookies(); + var buildURL = require_buildURL(); + var buildFullPath = require_buildFullPath(); + var parseHeaders = require_parseHeaders(); + var isURLSameOrigin = require_isURLSameOrigin(); + var createError = require_createError(); + module.exports = function xhrAdapter(config) { + return new Promise(function dispatchXhrRequest(resolve, reject) { + var requestData = config.data; + var requestHeaders = config.headers; + var responseType = config.responseType; + if (utils.isFormData(requestData)) { + delete requestHeaders["Content-Type"]; + } + var request = new XMLHttpRequest(); + if (config.auth) { + var username = config.auth.username || ""; + var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : ""; + requestHeaders.Authorization = "Basic " + btoa(username + ":" + password); + } + var fullPath = buildFullPath(config.baseURL, config.url); + request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true); + request.timeout = config.timeout; + function onloadend() { + if (!request) { + return; + } + var responseHeaders = "getAllResponseHeaders" in request ? parseHeaders(request.getAllResponseHeaders()) : null; + var responseData = !responseType || responseType === "text" || responseType === "json" ? request.responseText : request.response; + var response = { + data: responseData, + status: request.status, + statusText: request.statusText, + headers: responseHeaders, + config, + request + }; + settle(resolve, reject, response); + request = null; + } + if ("onloadend" in request) { + request.onloadend = onloadend; + } else { + request.onreadystatechange = function handleLoad() { + if (!request || request.readyState !== 4) { + return; + } + if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf("file:") === 0)) { + return; + } + setTimeout(onloadend); + }; + } + request.onabort = function handleAbort() { + if (!request) { + return; + } + reject(createError("Request aborted", config, "ECONNABORTED", request)); + request = null; + }; + request.onerror = function handleError() { + reject(createError("Network Error", config, null, request)); + request = null; + }; + request.ontimeout = function handleTimeout() { + var timeoutErrorMessage = "timeout of " + config.timeout + "ms exceeded"; + if (config.timeoutErrorMessage) { + timeoutErrorMessage = config.timeoutErrorMessage; + } + reject(createError( + timeoutErrorMessage, + config, + config.transitional && config.transitional.clarifyTimeoutError ? "ETIMEDOUT" : "ECONNABORTED", + request + )); + request = null; + }; + if (utils.isStandardBrowserEnv()) { + var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ? cookies.read(config.xsrfCookieName) : void 0; + if (xsrfValue) { + requestHeaders[config.xsrfHeaderName] = xsrfValue; + } + } + if ("setRequestHeader" in request) { + utils.forEach(requestHeaders, function setRequestHeader(val, key) { + if (typeof requestData === "undefined" && key.toLowerCase() === "content-type") { + delete requestHeaders[key]; + } else { + request.setRequestHeader(key, val); + } + }); + } + if (!utils.isUndefined(config.withCredentials)) { + request.withCredentials = !!config.withCredentials; + } + if (responseType && responseType !== "json") { + request.responseType = config.responseType; + } + if (typeof config.onDownloadProgress === "function") { + request.addEventListener("progress", config.onDownloadProgress); + } + if (typeof config.onUploadProgress === "function" && request.upload) { + request.upload.addEventListener("progress", config.onUploadProgress); + } + if (config.cancelToken) { + config.cancelToken.promise.then(function onCanceled(cancel) { + if (!request) { + return; + } + request.abort(); + reject(cancel); + request = null; + }); + } + if (!requestData) { + requestData = null; + } + request.send(requestData); + }); + }; + } +}); + +// node_modules/@inertiajs/inertia/node_modules/axios/lib/defaults.js +var require_defaults = __commonJS({ + "node_modules/@inertiajs/inertia/node_modules/axios/lib/defaults.js"(exports, module) { + "use strict"; + var utils = require_utils(); + var normalizeHeaderName = require_normalizeHeaderName(); + var enhanceError = require_enhanceError(); + var DEFAULT_CONTENT_TYPE = { + "Content-Type": "application/x-www-form-urlencoded" + }; + function setContentTypeIfUnset(headers, value) { + if (!utils.isUndefined(headers) && utils.isUndefined(headers["Content-Type"])) { + headers["Content-Type"] = value; + } + } + function getDefaultAdapter() { + var adapter; + if (typeof XMLHttpRequest !== "undefined") { + adapter = require_xhr(); + } else if (typeof process !== "undefined" && Object.prototype.toString.call(process) === "[object process]") { + adapter = require_xhr(); + } + return adapter; + } + function stringifySafely(rawValue, parser, encoder) { + if (utils.isString(rawValue)) { + try { + (parser || JSON.parse)(rawValue); + return utils.trim(rawValue); + } catch (e) { + if (e.name !== "SyntaxError") { + throw e; + } + } + } + return (encoder || JSON.stringify)(rawValue); + } + var defaults = { + transitional: { + silentJSONParsing: true, + forcedJSONParsing: true, + clarifyTimeoutError: false + }, + adapter: getDefaultAdapter(), + transformRequest: [function transformRequest(data, headers) { + normalizeHeaderName(headers, "Accept"); + normalizeHeaderName(headers, "Content-Type"); + if (utils.isFormData(data) || utils.isArrayBuffer(data) || utils.isBuffer(data) || utils.isStream(data) || utils.isFile(data) || utils.isBlob(data)) { + return data; + } + if (utils.isArrayBufferView(data)) { + return data.buffer; + } + if (utils.isURLSearchParams(data)) { + setContentTypeIfUnset(headers, "application/x-www-form-urlencoded;charset=utf-8"); + return data.toString(); + } + if (utils.isObject(data) || headers && headers["Content-Type"] === "application/json") { + setContentTypeIfUnset(headers, "application/json"); + return stringifySafely(data); + } + return data; + }], + transformResponse: [function transformResponse(data) { + var transitional = this.transitional; + var silentJSONParsing = transitional && transitional.silentJSONParsing; + var forcedJSONParsing = transitional && transitional.forcedJSONParsing; + var strictJSONParsing = !silentJSONParsing && this.responseType === "json"; + if (strictJSONParsing || forcedJSONParsing && utils.isString(data) && data.length) { + try { + return JSON.parse(data); + } catch (e) { + if (strictJSONParsing) { + if (e.name === "SyntaxError") { + throw enhanceError(e, this, "E_JSON_PARSE"); + } + throw e; + } + } + } + return data; + }], + /** + * A timeout in milliseconds to abort a request. If set to 0 (default) a + * timeout is not created. + */ + timeout: 0, + xsrfCookieName: "XSRF-TOKEN", + xsrfHeaderName: "X-XSRF-TOKEN", + maxContentLength: -1, + maxBodyLength: -1, + validateStatus: function validateStatus(status) { + return status >= 200 && status < 300; + } + }; + defaults.headers = { + common: { + "Accept": "application/json, text/plain, */*" + } + }; + utils.forEach(["delete", "get", "head"], function forEachMethodNoData(method) { + defaults.headers[method] = {}; + }); + utils.forEach(["post", "put", "patch"], function forEachMethodWithData(method) { + defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE); + }); + module.exports = defaults; + } +}); + +// node_modules/@inertiajs/inertia/node_modules/axios/lib/core/transformData.js +var require_transformData = __commonJS({ + "node_modules/@inertiajs/inertia/node_modules/axios/lib/core/transformData.js"(exports, module) { + "use strict"; + var utils = require_utils(); + var defaults = require_defaults(); + module.exports = function transformData(data, headers, fns) { + var context = this || defaults; + utils.forEach(fns, function transform2(fn) { + data = fn.call(context, data, headers); + }); + return data; + }; + } +}); + +// node_modules/@inertiajs/inertia/node_modules/axios/lib/cancel/isCancel.js +var require_isCancel = __commonJS({ + "node_modules/@inertiajs/inertia/node_modules/axios/lib/cancel/isCancel.js"(exports, module) { + "use strict"; + module.exports = function isCancel(value) { + return !!(value && value.__CANCEL__); + }; + } +}); + +// node_modules/@inertiajs/inertia/node_modules/axios/lib/core/dispatchRequest.js +var require_dispatchRequest = __commonJS({ + "node_modules/@inertiajs/inertia/node_modules/axios/lib/core/dispatchRequest.js"(exports, module) { + "use strict"; + var utils = require_utils(); + var transformData = require_transformData(); + var isCancel = require_isCancel(); + var defaults = require_defaults(); + function throwIfCancellationRequested(config) { + if (config.cancelToken) { + config.cancelToken.throwIfRequested(); + } + } + module.exports = function dispatchRequest(config) { + throwIfCancellationRequested(config); + config.headers = config.headers || {}; + config.data = transformData.call( + config, + config.data, + config.headers, + config.transformRequest + ); + config.headers = utils.merge( + config.headers.common || {}, + config.headers[config.method] || {}, + config.headers + ); + utils.forEach( + ["delete", "get", "head", "post", "put", "patch", "common"], + function cleanHeaderConfig(method) { + delete config.headers[method]; + } + ); + var adapter = config.adapter || defaults.adapter; + return adapter(config).then(function onAdapterResolution(response) { + throwIfCancellationRequested(config); + response.data = transformData.call( + config, + response.data, + response.headers, + config.transformResponse + ); + return response; + }, function onAdapterRejection(reason) { + if (!isCancel(reason)) { + throwIfCancellationRequested(config); + if (reason && reason.response) { + reason.response.data = transformData.call( + config, + reason.response.data, + reason.response.headers, + config.transformResponse + ); + } + } + return Promise.reject(reason); + }); + }; + } +}); + +// node_modules/@inertiajs/inertia/node_modules/axios/lib/core/mergeConfig.js +var require_mergeConfig = __commonJS({ + "node_modules/@inertiajs/inertia/node_modules/axios/lib/core/mergeConfig.js"(exports, module) { + "use strict"; + var utils = require_utils(); + module.exports = function mergeConfig(config1, config2) { + config2 = config2 || {}; + var config = {}; + var valueFromConfig2Keys = ["url", "method", "data"]; + var mergeDeepPropertiesKeys = ["headers", "auth", "proxy", "params"]; + var defaultToConfig2Keys = [ + "baseURL", + "transformRequest", + "transformResponse", + "paramsSerializer", + "timeout", + "timeoutMessage", + "withCredentials", + "adapter", + "responseType", + "xsrfCookieName", + "xsrfHeaderName", + "onUploadProgress", + "onDownloadProgress", + "decompress", + "maxContentLength", + "maxBodyLength", + "maxRedirects", + "transport", + "httpAgent", + "httpsAgent", + "cancelToken", + "socketPath", + "responseEncoding" + ]; + var directMergeKeys = ["validateStatus"]; + function getMergedValue(target, source) { + if (utils.isPlainObject(target) && utils.isPlainObject(source)) { + return utils.merge(target, source); + } else if (utils.isPlainObject(source)) { + return utils.merge({}, source); + } else if (utils.isArray(source)) { + return source.slice(); + } + return source; + } + function mergeDeepProperties(prop) { + if (!utils.isUndefined(config2[prop])) { + config[prop] = getMergedValue(config1[prop], config2[prop]); + } else if (!utils.isUndefined(config1[prop])) { + config[prop] = getMergedValue(void 0, config1[prop]); + } + } + utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) { + if (!utils.isUndefined(config2[prop])) { + config[prop] = getMergedValue(void 0, config2[prop]); + } + }); + utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties); + utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) { + if (!utils.isUndefined(config2[prop])) { + config[prop] = getMergedValue(void 0, config2[prop]); + } else if (!utils.isUndefined(config1[prop])) { + config[prop] = getMergedValue(void 0, config1[prop]); + } + }); + utils.forEach(directMergeKeys, function merge(prop) { + if (prop in config2) { + config[prop] = getMergedValue(config1[prop], config2[prop]); + } else if (prop in config1) { + config[prop] = getMergedValue(void 0, config1[prop]); + } + }); + var axiosKeys = valueFromConfig2Keys.concat(mergeDeepPropertiesKeys).concat(defaultToConfig2Keys).concat(directMergeKeys); + var otherKeys = Object.keys(config1).concat(Object.keys(config2)).filter(function filterAxiosKeys(key) { + return axiosKeys.indexOf(key) === -1; + }); + utils.forEach(otherKeys, mergeDeepProperties); + return config; + }; + } +}); + +// node_modules/@inertiajs/inertia/node_modules/axios/package.json +var require_package = __commonJS({ + "node_modules/@inertiajs/inertia/node_modules/axios/package.json"(exports, module) { + module.exports = { + name: "axios", + version: "0.21.4", + description: "Promise based HTTP client for the browser and node.js", + main: "index.js", + scripts: { + test: "grunt test", + start: "node ./sandbox/server.js", + build: "NODE_ENV=production grunt build", + preversion: "npm test", + version: "npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json", + postversion: "git push && git push --tags", + examples: "node ./examples/server.js", + coveralls: "cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js", + fix: "eslint --fix lib/**/*.js" + }, + repository: { + type: "git", + url: "https://github.com/axios/axios.git" + }, + keywords: [ + "xhr", + "http", + "ajax", + "promise", + "node" + ], + author: "Matt Zabriskie", + license: "MIT", + bugs: { + url: "https://github.com/axios/axios/issues" + }, + homepage: "https://axios-http.com", + devDependencies: { + coveralls: "^3.0.0", + "es6-promise": "^4.2.4", + grunt: "^1.3.0", + "grunt-banner": "^0.6.0", + "grunt-cli": "^1.2.0", + "grunt-contrib-clean": "^1.1.0", + "grunt-contrib-watch": "^1.0.0", + "grunt-eslint": "^23.0.0", + "grunt-karma": "^4.0.0", + "grunt-mocha-test": "^0.13.3", + "grunt-ts": "^6.0.0-beta.19", + "grunt-webpack": "^4.0.2", + "istanbul-instrumenter-loader": "^1.0.0", + "jasmine-core": "^2.4.1", + karma: "^6.3.2", + "karma-chrome-launcher": "^3.1.0", + "karma-firefox-launcher": "^2.1.0", + "karma-jasmine": "^1.1.1", + "karma-jasmine-ajax": "^0.1.13", + "karma-safari-launcher": "^1.0.0", + "karma-sauce-launcher": "^4.3.6", + "karma-sinon": "^1.0.5", + "karma-sourcemap-loader": "^0.3.8", + "karma-webpack": "^4.0.2", + "load-grunt-tasks": "^3.5.2", + minimist: "^1.2.0", + mocha: "^8.2.1", + sinon: "^4.5.0", + "terser-webpack-plugin": "^4.2.3", + typescript: "^4.0.5", + "url-search-params": "^0.10.0", + webpack: "^4.44.2", + "webpack-dev-server": "^3.11.0" + }, + browser: { + "./lib/adapters/http.js": "./lib/adapters/xhr.js" + }, + jsdelivr: "dist/axios.min.js", + unpkg: "dist/axios.min.js", + typings: "./index.d.ts", + dependencies: { + "follow-redirects": "^1.14.0" + }, + bundlesize: [ + { + path: "./dist/axios.min.js", + threshold: "5kB" + } + ] + }; + } +}); + +// node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/validator.js +var require_validator = __commonJS({ + "node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/validator.js"(exports, module) { + "use strict"; + var pkg = require_package(); + var validators = {}; + ["object", "boolean", "number", "function", "string", "symbol"].forEach(function(type, i) { + validators[type] = function validator(thing) { + return typeof thing === type || "a" + (i < 1 ? "n " : " ") + type; + }; + }); + var deprecatedWarnings = {}; + var currentVerArr = pkg.version.split("."); + function isOlderVersion(version, thanVersion) { + var pkgVersionArr = thanVersion ? thanVersion.split(".") : currentVerArr; + var destVer = version.split("."); + for (var i = 0; i < 3; i++) { + if (pkgVersionArr[i] > destVer[i]) { + return true; + } else if (pkgVersionArr[i] < destVer[i]) { + return false; + } + } + return false; + } + validators.transitional = function transitional(validator, version, message) { + var isDeprecated = version && isOlderVersion(version); + function formatMessage(opt, desc) { + return "[Axios v" + pkg.version + "] Transitional option '" + opt + "'" + desc + (message ? ". " + message : ""); + } + return function(value, opt, opts) { + if (validator === false) { + throw new Error(formatMessage(opt, " has been removed in " + version)); + } + if (isDeprecated && !deprecatedWarnings[opt]) { + deprecatedWarnings[opt] = true; + console.warn( + formatMessage( + opt, + " has been deprecated since v" + version + " and will be removed in the near future" + ) + ); + } + return validator ? validator(value, opt, opts) : true; + }; + }; + function assertOptions(options, schema, allowUnknown) { + if (typeof options !== "object") { + throw new TypeError("options must be an object"); + } + var keys = Object.keys(options); + var i = keys.length; + while (i-- > 0) { + var opt = keys[i]; + var validator = schema[opt]; + if (validator) { + var value = options[opt]; + var result = value === void 0 || validator(value, opt, options); + if (result !== true) { + throw new TypeError("option " + opt + " must be " + result); + } + continue; + } + if (allowUnknown !== true) { + throw Error("Unknown option " + opt); + } + } + } + module.exports = { + isOlderVersion, + assertOptions, + validators + }; + } +}); + +// node_modules/@inertiajs/inertia/node_modules/axios/lib/core/Axios.js +var require_Axios = __commonJS({ + "node_modules/@inertiajs/inertia/node_modules/axios/lib/core/Axios.js"(exports, module) { + "use strict"; + var utils = require_utils(); + var buildURL = require_buildURL(); + var InterceptorManager = require_InterceptorManager(); + var dispatchRequest = require_dispatchRequest(); + var mergeConfig = require_mergeConfig(); + var validator = require_validator(); + var validators = validator.validators; + function Axios(instanceConfig) { + this.defaults = instanceConfig; + this.interceptors = { + request: new InterceptorManager(), + response: new InterceptorManager() + }; + } + Axios.prototype.request = function request(config) { + if (typeof config === "string") { + config = arguments[1] || {}; + config.url = arguments[0]; + } else { + config = config || {}; + } + config = mergeConfig(this.defaults, config); + if (config.method) { + config.method = config.method.toLowerCase(); + } else if (this.defaults.method) { + config.method = this.defaults.method.toLowerCase(); + } else { + config.method = "get"; + } + var transitional = config.transitional; + if (transitional !== void 0) { + validator.assertOptions(transitional, { + silentJSONParsing: validators.transitional(validators.boolean, "1.0.0"), + forcedJSONParsing: validators.transitional(validators.boolean, "1.0.0"), + clarifyTimeoutError: validators.transitional(validators.boolean, "1.0.0") + }, false); + } + var requestInterceptorChain = []; + var synchronousRequestInterceptors = true; + this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { + if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config) === false) { + return; + } + synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; + requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); + }); + var responseInterceptorChain = []; + this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { + responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); + }); + var promise; + if (!synchronousRequestInterceptors) { + var chain = [dispatchRequest, void 0]; + Array.prototype.unshift.apply(chain, requestInterceptorChain); + chain = chain.concat(responseInterceptorChain); + promise = Promise.resolve(config); + while (chain.length) { + promise = promise.then(chain.shift(), chain.shift()); + } + return promise; + } + var newConfig = config; + while (requestInterceptorChain.length) { + var onFulfilled = requestInterceptorChain.shift(); + var onRejected = requestInterceptorChain.shift(); + try { + newConfig = onFulfilled(newConfig); + } catch (error) { + onRejected(error); + break; + } + } + try { + promise = dispatchRequest(newConfig); + } catch (error) { + return Promise.reject(error); + } + while (responseInterceptorChain.length) { + promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift()); + } + return promise; + }; + Axios.prototype.getUri = function getUri(config) { + config = mergeConfig(this.defaults, config); + return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\?/, ""); + }; + utils.forEach(["delete", "get", "head", "options"], function forEachMethodNoData(method) { + Axios.prototype[method] = function(url, config) { + return this.request(mergeConfig(config || {}, { + method, + url, + data: (config || {}).data + })); + }; + }); + utils.forEach(["post", "put", "patch"], function forEachMethodWithData(method) { + Axios.prototype[method] = function(url, data, config) { + return this.request(mergeConfig(config || {}, { + method, + url, + data + })); + }; + }); + module.exports = Axios; + } +}); + +// node_modules/@inertiajs/inertia/node_modules/axios/lib/cancel/Cancel.js +var require_Cancel = __commonJS({ + "node_modules/@inertiajs/inertia/node_modules/axios/lib/cancel/Cancel.js"(exports, module) { + "use strict"; + function Cancel(message) { + this.message = message; + } + Cancel.prototype.toString = function toString() { + return "Cancel" + (this.message ? ": " + this.message : ""); + }; + Cancel.prototype.__CANCEL__ = true; + module.exports = Cancel; + } +}); + +// node_modules/@inertiajs/inertia/node_modules/axios/lib/cancel/CancelToken.js +var require_CancelToken = __commonJS({ + "node_modules/@inertiajs/inertia/node_modules/axios/lib/cancel/CancelToken.js"(exports, module) { + "use strict"; + var Cancel = require_Cancel(); + function CancelToken(executor) { + if (typeof executor !== "function") { + throw new TypeError("executor must be a function."); + } + var resolvePromise; + this.promise = new Promise(function promiseExecutor(resolve) { + resolvePromise = resolve; + }); + var token = this; + executor(function cancel(message) { + if (token.reason) { + return; + } + token.reason = new Cancel(message); + resolvePromise(token.reason); + }); + } + CancelToken.prototype.throwIfRequested = function throwIfRequested() { + if (this.reason) { + throw this.reason; + } + }; + CancelToken.source = function source() { + var cancel; + var token = new CancelToken(function executor(c) { + cancel = c; + }); + return { + token, + cancel + }; + }; + module.exports = CancelToken; + } +}); + +// node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/spread.js +var require_spread = __commonJS({ + "node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/spread.js"(exports, module) { + "use strict"; + module.exports = function spread(callback) { + return function wrap(arr) { + return callback.apply(null, arr); + }; + }; + } +}); + +// node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/isAxiosError.js +var require_isAxiosError = __commonJS({ + "node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/isAxiosError.js"(exports, module) { + "use strict"; + module.exports = function isAxiosError(payload) { + return typeof payload === "object" && payload.isAxiosError === true; + }; + } +}); + +// node_modules/@inertiajs/inertia/node_modules/axios/lib/axios.js +var require_axios = __commonJS({ + "node_modules/@inertiajs/inertia/node_modules/axios/lib/axios.js"(exports, module) { + "use strict"; + var utils = require_utils(); + var bind = require_bind(); + var Axios = require_Axios(); + var mergeConfig = require_mergeConfig(); + var defaults = require_defaults(); + function createInstance(defaultConfig) { + var context = new Axios(defaultConfig); + var instance = bind(Axios.prototype.request, context); + utils.extend(instance, Axios.prototype, context); + utils.extend(instance, context); + return instance; + } + var axios = createInstance(defaults); + axios.Axios = Axios; + axios.create = function create(instanceConfig) { + return createInstance(mergeConfig(axios.defaults, instanceConfig)); + }; + axios.Cancel = require_Cancel(); + axios.CancelToken = require_CancelToken(); + axios.isCancel = require_isCancel(); + axios.all = function all(promises) { + return Promise.all(promises); + }; + axios.spread = require_spread(); + axios.isAxiosError = require_isAxiosError(); + module.exports = axios; + module.exports.default = axios; + } +}); + +// node_modules/@inertiajs/inertia/node_modules/axios/index.js +var require_axios2 = __commonJS({ + "node_modules/@inertiajs/inertia/node_modules/axios/index.js"(exports, module) { + module.exports = require_axios(); + } +}); + +// node_modules/@inertiajs/inertia/dist/index.js +var require_dist = __commonJS({ + "node_modules/@inertiajs/inertia/dist/index.js"(exports) { + function e(e2) { + return e2 && "object" == typeof e2 && "default" in e2 ? e2.default : e2; + } + var t = e(require_axios2()); + var n = require_lib(); + var i = e(require_cjs()); + function r() { + return (r = Object.assign ? Object.assign.bind() : function(e2) { + for (var t2 = 1; t2 < arguments.length; t2++) { + var n2 = arguments[t2]; + for (var i2 in n2) + Object.prototype.hasOwnProperty.call(n2, i2) && (e2[i2] = n2[i2]); + } + return e2; + }).apply(this, arguments); + } + var o; + var s = { modal: null, listener: null, show: function(e2) { + var t2 = this; + "object" == typeof e2 && (e2 = "All Inertia requests must receive a valid Inertia response, however a plain JSON response was received.<hr>" + JSON.stringify(e2)); + var n2 = document.createElement("html"); + n2.innerHTML = e2, n2.querySelectorAll("a").forEach(function(e3) { + return e3.setAttribute("target", "_top"); + }), this.modal = document.createElement("div"), this.modal.style.position = "fixed", this.modal.style.width = "100vw", this.modal.style.height = "100vh", this.modal.style.padding = "50px", this.modal.style.boxSizing = "border-box", this.modal.style.backgroundColor = "rgba(0, 0, 0, .6)", this.modal.style.zIndex = 2e5, this.modal.addEventListener("click", function() { + return t2.hide(); + }); + var i2 = document.createElement("iframe"); + if (i2.style.backgroundColor = "white", i2.style.borderRadius = "5px", i2.style.width = "100%", i2.style.height = "100%", this.modal.appendChild(i2), document.body.prepend(this.modal), document.body.style.overflow = "hidden", !i2.contentWindow) + throw new Error("iframe not yet ready."); + i2.contentWindow.document.open(), i2.contentWindow.document.write(n2.outerHTML), i2.contentWindow.document.close(), this.listener = this.hideOnEscape.bind(this), document.addEventListener("keydown", this.listener); + }, hide: function() { + this.modal.outerHTML = "", this.modal = null, document.body.style.overflow = "visible", document.removeEventListener("keydown", this.listener); + }, hideOnEscape: function(e2) { + 27 === e2.keyCode && this.hide(); + } }; + function a(e2, t2) { + var n2; + return function() { + var i2 = arguments, r2 = this; + clearTimeout(n2), n2 = setTimeout(function() { + return e2.apply(r2, [].slice.call(i2)); + }, t2); + }; + } + function c(e2, t2, n2) { + for (var i2 in void 0 === t2 && (t2 = new FormData()), void 0 === n2 && (n2 = null), e2 = e2 || {}) + Object.prototype.hasOwnProperty.call(e2, i2) && d(t2, l(n2, i2), e2[i2]); + return t2; + } + function l(e2, t2) { + return e2 ? e2 + "[" + t2 + "]" : t2; + } + function d(e2, t2, n2) { + return Array.isArray(n2) ? Array.from(n2.keys()).forEach(function(i2) { + return d(e2, l(t2, i2.toString()), n2[i2]); + }) : n2 instanceof Date ? e2.append(t2, n2.toISOString()) : n2 instanceof File ? e2.append(t2, n2, n2.name) : n2 instanceof Blob ? e2.append(t2, n2) : "boolean" == typeof n2 ? e2.append(t2, n2 ? "1" : "0") : "string" == typeof n2 ? e2.append(t2, n2) : "number" == typeof n2 ? e2.append(t2, "" + n2) : null == n2 ? e2.append(t2, "") : void c(n2, e2, t2); + } + function u(e2) { + return new URL(e2.toString(), window.location.toString()); + } + function h(e2, t2, r2, o2) { + void 0 === o2 && (o2 = "brackets"); + var s2 = /^https?:\/\//.test(t2.toString()), a2 = s2 || t2.toString().startsWith("/"), c2 = !a2 && !t2.toString().startsWith("#") && !t2.toString().startsWith("?"), l2 = t2.toString().includes("?") || e2 === exports.Method.GET && Object.keys(r2).length, d2 = t2.toString().includes("#"), u2 = new URL(t2.toString(), "http://localhost"); + return e2 === exports.Method.GET && Object.keys(r2).length && (u2.search = n.stringify(i(n.parse(u2.search, { ignoreQueryPrefix: true }), r2), { encodeValuesOnly: true, arrayFormat: o2 }), r2 = {}), [[s2 ? u2.protocol + "//" + u2.host : "", a2 ? u2.pathname : "", c2 ? u2.pathname.substring(1) : "", l2 ? u2.search : "", d2 ? u2.hash : ""].join(""), r2]; + } + function p(e2) { + return (e2 = new URL(e2.href)).hash = "", e2; + } + function f(e2, t2) { + return document.dispatchEvent(new CustomEvent("inertia:" + e2, t2)); + } + (o = exports.Method || (exports.Method = {})).GET = "get", o.POST = "post", o.PUT = "put", o.PATCH = "patch", o.DELETE = "delete"; + var v = function(e2) { + return f("finish", { detail: { visit: e2 } }); + }; + var m = function(e2) { + return f("navigate", { detail: { page: e2 } }); + }; + var g = "undefined" == typeof window; + var w = function() { + function e2() { + this.visitId = null; + } + var n2 = e2.prototype; + return n2.init = function(e3) { + var t2 = e3.resolveComponent, n3 = e3.swapComponent; + this.page = e3.initialPage, this.resolveComponent = t2, this.swapComponent = n3, this.isBackForwardVisit() ? this.handleBackForwardVisit(this.page) : this.isLocationVisit() ? this.handleLocationVisit(this.page) : this.handleInitialPageVisit(this.page), this.setupEventListeners(); + }, n2.handleInitialPageVisit = function(e3) { + this.page.url += window.location.hash, this.setPage(e3, { preserveState: true }).then(function() { + return m(e3); + }); + }, n2.setupEventListeners = function() { + window.addEventListener("popstate", this.handlePopstateEvent.bind(this)), document.addEventListener("scroll", a(this.handleScrollEvent.bind(this), 100), true); + }, n2.scrollRegions = function() { + return document.querySelectorAll("[scroll-region]"); + }, n2.handleScrollEvent = function(e3) { + "function" == typeof e3.target.hasAttribute && e3.target.hasAttribute("scroll-region") && this.saveScrollPositions(); + }, n2.saveScrollPositions = function() { + this.replaceState(r({}, this.page, { scrollRegions: Array.from(this.scrollRegions()).map(function(e3) { + return { top: e3.scrollTop, left: e3.scrollLeft }; + }) })); + }, n2.resetScrollPositions = function() { + var e3; + window.scrollTo(0, 0), this.scrollRegions().forEach(function(e4) { + "function" == typeof e4.scrollTo ? e4.scrollTo(0, 0) : (e4.scrollTop = 0, e4.scrollLeft = 0); + }), this.saveScrollPositions(), window.location.hash && (null == (e3 = document.getElementById(window.location.hash.slice(1))) || e3.scrollIntoView()); + }, n2.restoreScrollPositions = function() { + var e3 = this; + this.page.scrollRegions && this.scrollRegions().forEach(function(t2, n3) { + var i2 = e3.page.scrollRegions[n3]; + i2 && ("function" == typeof t2.scrollTo ? t2.scrollTo(i2.left, i2.top) : (t2.scrollTop = i2.top, t2.scrollLeft = i2.left)); + }); + }, n2.isBackForwardVisit = function() { + return window.history.state && window.performance && window.performance.getEntriesByType("navigation").length > 0 && "back_forward" === window.performance.getEntriesByType("navigation")[0].type; + }, n2.handleBackForwardVisit = function(e3) { + var t2 = this; + window.history.state.version = e3.version, this.setPage(window.history.state, { preserveScroll: true, preserveState: true }).then(function() { + t2.restoreScrollPositions(), m(e3); + }); + }, n2.locationVisit = function(e3, t2) { + try { + window.sessionStorage.setItem("inertiaLocationVisit", JSON.stringify({ preserveScroll: t2 })), window.location.href = e3.href, p(window.location).href === p(e3).href && window.location.reload(); + } catch (e4) { + return false; + } + }, n2.isLocationVisit = function() { + try { + return null !== window.sessionStorage.getItem("inertiaLocationVisit"); + } catch (e3) { + return false; + } + }, n2.handleLocationVisit = function(e3) { + var t2, n3, i2, r2, o2 = this, s2 = JSON.parse(window.sessionStorage.getItem("inertiaLocationVisit") || ""); + window.sessionStorage.removeItem("inertiaLocationVisit"), e3.url += window.location.hash, e3.rememberedState = null != (t2 = null == (n3 = window.history.state) ? void 0 : n3.rememberedState) ? t2 : {}, e3.scrollRegions = null != (i2 = null == (r2 = window.history.state) ? void 0 : r2.scrollRegions) ? i2 : [], this.setPage(e3, { preserveScroll: s2.preserveScroll, preserveState: true }).then(function() { + s2.preserveScroll && o2.restoreScrollPositions(), m(e3); + }); + }, n2.isLocationVisitResponse = function(e3) { + return e3 && 409 === e3.status && e3.headers["x-inertia-location"]; + }, n2.isInertiaResponse = function(e3) { + return null == e3 ? void 0 : e3.headers["x-inertia"]; + }, n2.createVisitId = function() { + return this.visitId = {}, this.visitId; + }, n2.cancelVisit = function(e3, t2) { + var n3 = t2.cancelled, i2 = void 0 !== n3 && n3, r2 = t2.interrupted, o2 = void 0 !== r2 && r2; + !e3 || e3.completed || e3.cancelled || e3.interrupted || (e3.cancelToken.cancel(), e3.onCancel(), e3.completed = false, e3.cancelled = i2, e3.interrupted = o2, v(e3), e3.onFinish(e3)); + }, n2.finishVisit = function(e3) { + e3.cancelled || e3.interrupted || (e3.completed = true, e3.cancelled = false, e3.interrupted = false, v(e3), e3.onFinish(e3)); + }, n2.resolvePreserveOption = function(e3, t2) { + return "function" == typeof e3 ? e3(t2) : "errors" === e3 ? Object.keys(t2.props.errors || {}).length > 0 : e3; + }, n2.visit = function(e3, n3) { + var i2 = this, o2 = void 0 === n3 ? {} : n3, a2 = o2.method, l2 = void 0 === a2 ? exports.Method.GET : a2, d2 = o2.data, v2 = void 0 === d2 ? {} : d2, m2 = o2.replace, g2 = void 0 !== m2 && m2, w2 = o2.preserveScroll, y2 = void 0 !== w2 && w2, S2 = o2.preserveState, b = void 0 !== S2 && S2, E = o2.only, P = void 0 === E ? [] : E, T = o2.headers, I = void 0 === T ? {} : T, x = o2.errorBag, V = void 0 === x ? "" : x, L = o2.forceFormData, O = void 0 !== L && L, k = o2.onCancelToken, C = void 0 === k ? function() { + } : k, M = o2.onBefore, A = void 0 === M ? function() { + } : M, j = o2.onStart, F = void 0 === j ? function() { + } : j, R = o2.onProgress, D = void 0 === R ? function() { + } : R, B = o2.onFinish, q = void 0 === B ? function() { + } : B, N = o2.onCancel, H = void 0 === N ? function() { + } : N, W = o2.onSuccess, G = void 0 === W ? function() { + } : W, U = o2.onError, X = void 0 === U ? function() { + } : U, J = o2.queryStringArrayFormat, K = void 0 === J ? "brackets" : J, _ = "string" == typeof e3 ? u(e3) : e3; + if (!function e4(t2) { + return t2 instanceof File || t2 instanceof Blob || t2 instanceof FileList && t2.length > 0 || t2 instanceof FormData && Array.from(t2.values()).some(function(t3) { + return e4(t3); + }) || "object" == typeof t2 && null !== t2 && Object.values(t2).some(function(t3) { + return e4(t3); + }); + }(v2) && !O || v2 instanceof FormData || (v2 = c(v2)), !(v2 instanceof FormData)) { + var z = h(l2, _, v2, K), Q = z[1]; + _ = u(z[0]), v2 = Q; + } + var Y = { url: _, method: l2, data: v2, replace: g2, preserveScroll: y2, preserveState: b, only: P, headers: I, errorBag: V, forceFormData: O, queryStringArrayFormat: K, cancelled: false, completed: false, interrupted: false }; + if (false !== A(Y) && function(e4) { + return f("before", { cancelable: true, detail: { visit: e4 } }); + }(Y)) { + this.activeVisit && this.cancelVisit(this.activeVisit, { interrupted: true }), this.saveScrollPositions(); + var Z = this.createVisitId(); + this.activeVisit = r({}, Y, { onCancelToken: C, onBefore: A, onStart: F, onProgress: D, onFinish: q, onCancel: H, onSuccess: G, onError: X, queryStringArrayFormat: K, cancelToken: t.CancelToken.source() }), C({ cancel: function() { + i2.activeVisit && i2.cancelVisit(i2.activeVisit, { cancelled: true }); + } }), function(e4) { + f("start", { detail: { visit: e4 } }); + }(Y), F(Y), t({ method: l2, url: p(_).href, data: l2 === exports.Method.GET ? {} : v2, params: l2 === exports.Method.GET ? v2 : {}, cancelToken: this.activeVisit.cancelToken.token, headers: r({}, I, { Accept: "text/html, application/xhtml+xml", "X-Requested-With": "XMLHttpRequest", "X-Inertia": true }, P.length ? { "X-Inertia-Partial-Component": this.page.component, "X-Inertia-Partial-Data": P.join(",") } : {}, V && V.length ? { "X-Inertia-Error-Bag": V } : {}, this.page.version ? { "X-Inertia-Version": this.page.version } : {}), onUploadProgress: function(e4) { + v2 instanceof FormData && (e4.percentage = Math.round(e4.loaded / e4.total * 100), function(e5) { + f("progress", { detail: { progress: e5 } }); + }(e4), D(e4)); + } }).then(function(e4) { + var t2; + if (!i2.isInertiaResponse(e4)) + return Promise.reject({ response: e4 }); + var n4 = e4.data; + P.length && n4.component === i2.page.component && (n4.props = r({}, i2.page.props, n4.props)), y2 = i2.resolvePreserveOption(y2, n4), (b = i2.resolvePreserveOption(b, n4)) && null != (t2 = window.history.state) && t2.rememberedState && n4.component === i2.page.component && (n4.rememberedState = window.history.state.rememberedState); + var o3 = _, s2 = u(n4.url); + return o3.hash && !s2.hash && p(o3).href === s2.href && (s2.hash = o3.hash, n4.url = s2.href), i2.setPage(n4, { visitId: Z, replace: g2, preserveScroll: y2, preserveState: b }); + }).then(function() { + var e4 = i2.page.props.errors || {}; + if (Object.keys(e4).length > 0) { + var t2 = V ? e4[V] ? e4[V] : {} : e4; + return function(e5) { + f("error", { detail: { errors: e5 } }); + }(t2), X(t2); + } + return f("success", { detail: { page: i2.page } }), G(i2.page); + }).catch(function(e4) { + if (i2.isInertiaResponse(e4.response)) + return i2.setPage(e4.response.data, { visitId: Z }); + if (i2.isLocationVisitResponse(e4.response)) { + var t2 = u(e4.response.headers["x-inertia-location"]), n4 = _; + n4.hash && !t2.hash && p(n4).href === t2.href && (t2.hash = n4.hash), i2.locationVisit(t2, true === y2); + } else { + if (!e4.response) + return Promise.reject(e4); + f("invalid", { cancelable: true, detail: { response: e4.response } }) && s.show(e4.response.data); + } + }).then(function() { + i2.activeVisit && i2.finishVisit(i2.activeVisit); + }).catch(function(e4) { + if (!t.isCancel(e4)) { + var n4 = f("exception", { cancelable: true, detail: { exception: e4 } }); + if (i2.activeVisit && i2.finishVisit(i2.activeVisit), n4) + return Promise.reject(e4); + } + }); + } + }, n2.setPage = function(e3, t2) { + var n3 = this, i2 = void 0 === t2 ? {} : t2, r2 = i2.visitId, o2 = void 0 === r2 ? this.createVisitId() : r2, s2 = i2.replace, a2 = void 0 !== s2 && s2, c2 = i2.preserveScroll, l2 = void 0 !== c2 && c2, d2 = i2.preserveState, h2 = void 0 !== d2 && d2; + return Promise.resolve(this.resolveComponent(e3.component)).then(function(t3) { + o2 === n3.visitId && (e3.scrollRegions = e3.scrollRegions || [], e3.rememberedState = e3.rememberedState || {}, (a2 = a2 || u(e3.url).href === window.location.href) ? n3.replaceState(e3) : n3.pushState(e3), n3.swapComponent({ component: t3, page: e3, preserveState: h2 }).then(function() { + l2 || n3.resetScrollPositions(), a2 || m(e3); + })); + }); + }, n2.pushState = function(e3) { + this.page = e3, window.history.pushState(e3, "", e3.url); + }, n2.replaceState = function(e3) { + this.page = e3, window.history.replaceState(e3, "", e3.url); + }, n2.handlePopstateEvent = function(e3) { + var t2 = this; + if (null !== e3.state) { + var n3 = e3.state, i2 = this.createVisitId(); + Promise.resolve(this.resolveComponent(n3.component)).then(function(e4) { + i2 === t2.visitId && (t2.page = n3, t2.swapComponent({ component: e4, page: n3, preserveState: false }).then(function() { + t2.restoreScrollPositions(), m(n3); + })); + }); + } else { + var o2 = u(this.page.url); + o2.hash = window.location.hash, this.replaceState(r({}, this.page, { url: o2.href })), this.resetScrollPositions(); + } + }, n2.get = function(e3, t2, n3) { + return void 0 === t2 && (t2 = {}), void 0 === n3 && (n3 = {}), this.visit(e3, r({}, n3, { method: exports.Method.GET, data: t2 })); + }, n2.reload = function(e3) { + return void 0 === e3 && (e3 = {}), this.visit(window.location.href, r({}, e3, { preserveScroll: true, preserveState: true })); + }, n2.replace = function(e3, t2) { + var n3; + return void 0 === t2 && (t2 = {}), console.warn("Inertia.replace() has been deprecated and will be removed in a future release. Please use Inertia." + (null != (n3 = t2.method) ? n3 : "get") + "() instead."), this.visit(e3, r({ preserveState: true }, t2, { replace: true })); + }, n2.post = function(e3, t2, n3) { + return void 0 === t2 && (t2 = {}), void 0 === n3 && (n3 = {}), this.visit(e3, r({ preserveState: true }, n3, { method: exports.Method.POST, data: t2 })); + }, n2.put = function(e3, t2, n3) { + return void 0 === t2 && (t2 = {}), void 0 === n3 && (n3 = {}), this.visit(e3, r({ preserveState: true }, n3, { method: exports.Method.PUT, data: t2 })); + }, n2.patch = function(e3, t2, n3) { + return void 0 === t2 && (t2 = {}), void 0 === n3 && (n3 = {}), this.visit(e3, r({ preserveState: true }, n3, { method: exports.Method.PATCH, data: t2 })); + }, n2.delete = function(e3, t2) { + return void 0 === t2 && (t2 = {}), this.visit(e3, r({ preserveState: true }, t2, { method: exports.Method.DELETE })); + }, n2.remember = function(e3, t2) { + var n3, i2; + void 0 === t2 && (t2 = "default"), g || this.replaceState(r({}, this.page, { rememberedState: r({}, null == (n3 = this.page) ? void 0 : n3.rememberedState, (i2 = {}, i2[t2] = e3, i2)) })); + }, n2.restore = function(e3) { + var t2, n3; + if (void 0 === e3 && (e3 = "default"), !g) + return null == (t2 = window.history.state) || null == (n3 = t2.rememberedState) ? void 0 : n3[e3]; + }, n2.on = function(e3, t2) { + var n3 = function(e4) { + var n4 = t2(e4); + e4.cancelable && !e4.defaultPrevented && false === n4 && e4.preventDefault(); + }; + return document.addEventListener("inertia:" + e3, n3), function() { + return document.removeEventListener("inertia:" + e3, n3); + }; + }, e2; + }(); + var y = { buildDOMElement: function(e2) { + var t2 = document.createElement("template"); + t2.innerHTML = e2; + var n2 = t2.content.firstChild; + if (!e2.startsWith("<script ")) + return n2; + var i2 = document.createElement("script"); + return i2.innerHTML = n2.innerHTML, n2.getAttributeNames().forEach(function(e3) { + i2.setAttribute(e3, n2.getAttribute(e3) || ""); + }), i2; + }, isInertiaManagedElement: function(e2) { + return e2.nodeType === Node.ELEMENT_NODE && null !== e2.getAttribute("inertia"); + }, findMatchingElementIndex: function(e2, t2) { + var n2 = e2.getAttribute("inertia"); + return null !== n2 ? t2.findIndex(function(e3) { + return e3.getAttribute("inertia") === n2; + }) : -1; + }, update: a(function(e2) { + var t2 = this, n2 = e2.map(function(e3) { + return t2.buildDOMElement(e3); + }); + Array.from(document.head.childNodes).filter(function(e3) { + return t2.isInertiaManagedElement(e3); + }).forEach(function(e3) { + var i2 = t2.findMatchingElementIndex(e3, n2); + if (-1 !== i2) { + var r2, o2 = n2.splice(i2, 1)[0]; + o2 && !e3.isEqualNode(o2) && (null == e3 || null == (r2 = e3.parentNode) || r2.replaceChild(o2, e3)); + } else { + var s2; + null == e3 || null == (s2 = e3.parentNode) || s2.removeChild(e3); + } + }), n2.forEach(function(e3) { + return document.head.appendChild(e3); + }); + }, 1) }; + var S = new w(); + exports.Inertia = S, exports.createHeadManager = function(e2, t2, n2) { + var i2 = {}, r2 = 0; + function o2() { + var e3 = Object.values(i2).reduce(function(e4, t3) { + return e4.concat(t3); + }, []).reduce(function(e4, n3) { + if (-1 === n3.indexOf("<")) + return e4; + if (0 === n3.indexOf("<title ")) { + var i3 = n3.match(/(<title [^>]+>)(.*?)(<\/title>)/); + return e4.title = i3 ? "" + i3[1] + t2(i3[2]) + i3[3] : n3, e4; + } + var r3 = n3.match(/ inertia="[^"]+"/); + return r3 ? e4[r3[0]] = n3 : e4[Object.keys(e4).length] = n3, e4; + }, {}); + return Object.values(e3); + } + function s2() { + e2 ? n2(o2()) : y.update(o2()); + } + return { createProvider: function() { + var e3 = function() { + var e4 = r2 += 1; + return i2[e4] = [], e4.toString(); + }(); + return { update: function(t3) { + return function(e4, t4) { + void 0 === t4 && (t4 = []), null !== e4 && Object.keys(i2).indexOf(e4) > -1 && (i2[e4] = t4), s2(); + }(e3, t3); + }, disconnect: function() { + return function(e4) { + null !== e4 && -1 !== Object.keys(i2).indexOf(e4) && (delete i2[e4], s2()); + }(e3); + } }; + } }; + }, exports.hrefToUrl = u, exports.mergeDataIntoQueryString = h, exports.shouldIntercept = function(e2) { + var t2 = "a" === e2.currentTarget.tagName.toLowerCase(); + return !(e2.target && null != e2 && e2.target.isContentEditable || e2.defaultPrevented || t2 && e2.which > 1 || t2 && e2.altKey || t2 && e2.ctrlKey || t2 && e2.metaKey || t2 && e2.shiftKey); + }, exports.urlWithoutHash = p; + } +}); + +// node_modules/@inertiajs/inertia-vue3/dist/index.js +var require_dist2 = __commonJS({ + "node_modules/@inertiajs/inertia-vue3/dist/index.js"(exports) { + function e(e2) { + return e2 && "object" == typeof e2 && "default" in e2 ? e2.default : e2; + } + var r = e(require_lodash2()); + var t = require_vue(); + var n = e(require_lodash()); + var o = require_dist(); + function i() { + return (i = Object.assign || function(e2) { + for (var r2 = 1; r2 < arguments.length; r2++) { + var t2 = arguments[r2]; + for (var n2 in t2) + Object.prototype.hasOwnProperty.call(t2, n2) && (e2[n2] = t2[n2]); + } + return e2; + }).apply(this, arguments); + } + function a() { + var e2 = [].slice.call(arguments), a2 = "string" == typeof e2[0] ? e2[0] : null, u2 = ("string" == typeof e2[0] ? e2[1] : e2[0]) || {}, s2 = a2 ? o.Inertia.restore(a2) : null, c2 = n(u2), l2 = null, p2 = null, f2 = function(e3) { + return e3; + }, d2 = t.reactive(i({}, s2 ? s2.data : u2, { isDirty: false, errors: s2 ? s2.errors : {}, hasErrors: false, processing: false, progress: null, wasSuccessful: false, recentlySuccessful: false, data: function() { + var e3 = this; + return Object.keys(u2).reduce(function(r2, t2) { + return r2[t2] = e3[t2], r2; + }, {}); + }, transform: function(e3) { + return f2 = e3, this; + }, defaults: function(e3, r2) { + var t2; + return c2 = void 0 === e3 ? this.data() : Object.assign({}, n(c2), r2 ? ((t2 = {})[e3] = r2, t2) : e3), this; + }, reset: function() { + var e3 = [].slice.call(arguments), r2 = n(c2); + return Object.assign(this, 0 === e3.length ? r2 : Object.keys(r2).filter(function(r3) { + return e3.includes(r3); + }).reduce(function(e4, t2) { + return e4[t2] = r2[t2], e4; + }, {})), this; + }, setError: function(e3, r2) { + var t2; + return Object.assign(this.errors, r2 ? ((t2 = {})[e3] = r2, t2) : e3), this.hasErrors = Object.keys(this.errors).length > 0, this; + }, clearErrors: function() { + var e3 = this, r2 = [].slice.call(arguments); + return this.errors = Object.keys(this.errors).reduce(function(t2, n2) { + var o2; + return i({}, t2, r2.length > 0 && !r2.includes(n2) ? ((o2 = {})[n2] = e3.errors[n2], o2) : {}); + }, {}), this.hasErrors = Object.keys(this.errors).length > 0, this; + }, submit: function(e3, r2, t2) { + var a3 = this, u3 = this; + void 0 === t2 && (t2 = {}); + var s3 = f2(this.data()), d3 = i({}, t2, { onCancelToken: function(e4) { + if (l2 = e4, t2.onCancelToken) + return t2.onCancelToken(e4); + }, onBefore: function(e4) { + if (u3.wasSuccessful = false, u3.recentlySuccessful = false, clearTimeout(p2), t2.onBefore) + return t2.onBefore(e4); + }, onStart: function(e4) { + if (u3.processing = true, t2.onStart) + return t2.onStart(e4); + }, onProgress: function(e4) { + if (u3.progress = e4, t2.onProgress) + return t2.onProgress(e4); + }, onSuccess: function(e4) { + try { + var r3 = function(e5) { + return c2 = n(a3.data()), a3.isDirty = false, e5; + }; + return a3.processing = false, a3.progress = null, a3.clearErrors(), a3.wasSuccessful = true, a3.recentlySuccessful = true, p2 = setTimeout(function() { + return a3.recentlySuccessful = false; + }, 2e3), Promise.resolve(t2.onSuccess ? Promise.resolve(t2.onSuccess(e4)).then(r3) : r3(null)); + } catch (e5) { + return Promise.reject(e5); + } + }, onError: function(e4) { + if (u3.processing = false, u3.progress = null, u3.clearErrors().setError(e4), t2.onError) + return t2.onError(e4); + }, onCancel: function() { + if (u3.processing = false, u3.progress = null, t2.onCancel) + return t2.onCancel(); + }, onFinish: function() { + if (u3.processing = false, u3.progress = null, l2 = null, t2.onFinish) + return t2.onFinish(); + } }); + "delete" === e3 ? o.Inertia.delete(r2, i({}, d3, { data: s3 })) : o.Inertia[e3](r2, s3, d3); + }, get: function(e3, r2) { + this.submit("get", e3, r2); + }, post: function(e3, r2) { + this.submit("post", e3, r2); + }, put: function(e3, r2) { + this.submit("put", e3, r2); + }, patch: function(e3, r2) { + this.submit("patch", e3, r2); + }, delete: function(e3, r2) { + this.submit("delete", e3, r2); + }, cancel: function() { + l2 && l2.cancel(); + }, __rememberable: null === a2, __remember: function() { + return { data: this.data(), errors: this.errors }; + }, __restore: function(e3) { + Object.assign(this, e3.data), this.setError(e3.errors); + } })); + return t.watch(d2, function(e3) { + d2.isDirty = !r(d2.data(), c2), a2 && o.Inertia.remember(n(e3.__remember()), a2); + }, { immediate: true, deep: true }), d2; + } + var u = { created: function() { + var e2 = this; + if (this.$options.remember) { + Array.isArray(this.$options.remember) && (this.$options.remember = { data: this.$options.remember }), "string" == typeof this.$options.remember && (this.$options.remember = { data: [this.$options.remember] }), "string" == typeof this.$options.remember.data && (this.$options.remember = { data: [this.$options.remember.data] }); + var r2 = this.$options.remember.key instanceof Function ? this.$options.remember.key.call(this) : this.$options.remember.key, t2 = o.Inertia.restore(r2), a2 = this.$options.remember.data.filter(function(r3) { + return !(null !== e2[r3] && "object" == typeof e2[r3] && false === e2[r3].__rememberable); + }), u2 = function(r3) { + return null !== e2[r3] && "object" == typeof e2[r3] && "function" == typeof e2[r3].__remember && "function" == typeof e2[r3].__restore; + }; + a2.forEach(function(s2) { + void 0 !== e2[s2] && void 0 !== t2 && void 0 !== t2[s2] && (u2(s2) ? e2[s2].__restore(t2[s2]) : e2[s2] = t2[s2]), e2.$watch(s2, function() { + o.Inertia.remember(a2.reduce(function(r3, t3) { + var o2; + return i({}, r3, ((o2 = {})[t3] = n(u2(t3) ? e2[t3].__remember() : e2[t3]), o2)); + }, {}), r2); + }, { immediate: true, deep: true }); + }); + } + } }; + var s = t.ref(null); + var c = t.ref({}); + var l = t.ref(null); + var p = null; + var f = { name: "Inertia", props: { initialPage: { type: Object, required: true }, initialComponent: { type: Object, required: false }, resolveComponent: { type: Function, required: false }, titleCallback: { type: Function, required: false, default: function(e2) { + return e2; + } }, onHeadUpdate: { type: Function, required: false, default: function() { + return function() { + }; + } } }, setup: function(e2) { + var r2 = e2.initialPage, n2 = e2.initialComponent, a2 = e2.resolveComponent, u2 = e2.titleCallback, f2 = e2.onHeadUpdate; + s.value = n2 ? t.markRaw(n2) : null, c.value = r2, l.value = null; + var d2 = "undefined" == typeof window; + return p = o.createHeadManager(d2, u2, f2), d2 || o.Inertia.init({ initialPage: r2, resolveComponent: a2, swapComponent: function(e3) { + try { + return s.value = t.markRaw(e3.component), c.value = e3.page, l.value = e3.preserveState ? l.value : Date.now(), Promise.resolve(); + } catch (e4) { + return Promise.reject(e4); + } + } }), function() { + if (s.value) { + s.value.inheritAttrs = !!s.value.inheritAttrs; + var e3 = t.h(s.value, i({}, c.value.props, { key: l.value })); + return s.value.layout ? "function" == typeof s.value.layout ? s.value.layout(t.h, e3) : (Array.isArray(s.value.layout) ? s.value.layout : [s.value.layout]).concat(e3).reverse().reduce(function(e4, r3) { + return r3.inheritAttrs = !!r3.inheritAttrs, t.h(r3, i({}, c.value.props), function() { + return e4; + }); + }) : e3; + } + }; + } }; + var d = { install: function(e2) { + o.Inertia.form = a, Object.defineProperty(e2.config.globalProperties, "$inertia", { get: function() { + return o.Inertia; + } }), Object.defineProperty(e2.config.globalProperties, "$page", { get: function() { + return c.value; + } }), Object.defineProperty(e2.config.globalProperties, "$headManager", { get: function() { + return p; + } }), e2.mixin(u); + } }; + var h = { props: { title: { type: String, required: false } }, data: function() { + return { provider: this.$headManager.createProvider() }; + }, beforeUnmount: function() { + this.provider.disconnect(); + }, methods: { isUnaryTag: function(e2) { + return ["area", "base", "br", "col", "embed", "hr", "img", "input", "keygen", "link", "meta", "param", "source", "track", "wbr"].indexOf(e2.type) > -1; + }, renderTagStart: function(e2) { + e2.props = e2.props || {}, e2.props.inertia = void 0 !== e2.props["head-key"] ? e2.props["head-key"] : ""; + var r2 = Object.keys(e2.props).reduce(function(r3, t2) { + var n2 = e2.props[t2]; + return ["key", "head-key"].includes(t2) ? r3 : "" === n2 ? r3 + " " + t2 : r3 + " " + t2 + '="' + n2 + '"'; + }, ""); + return "<" + e2.type + r2 + ">"; + }, renderTagChildren: function(e2) { + var r2 = this; + return "string" == typeof e2.children ? e2.children : e2.children.reduce(function(e3, t2) { + return e3 + r2.renderTag(t2); + }, ""); + }, renderTag: function(e2) { + if ("Symbol(Text)" === e2.type.toString()) + return e2.children; + if ("Symbol()" === e2.type.toString()) + return ""; + if ("Symbol(Comment)" === e2.type.toString()) + return ""; + var r2 = this.renderTagStart(e2); + return e2.children && (r2 += this.renderTagChildren(e2)), this.isUnaryTag(e2) || (r2 += "</" + e2.type + ">"), r2; + }, addTitleElement: function(e2) { + return this.title && !e2.find(function(e3) { + return e3.startsWith("<title"); + }) && e2.push("<title inertia>" + this.title + ""), e2; + }, renderNodes: function(e2) { + var r2 = this; + return this.addTitleElement(e2.flatMap(function(e3) { + return "Symbol(Fragment)" === e3.type.toString() ? e3.children : e3; + }).map(function(e3) { + return r2.renderTag(e3); + }).filter(function(e3) { + return e3; + })); + } }, render: function() { + this.provider.update(this.renderNodes(this.$slots.default ? this.$slots.default() : [])); + } }; + var m = { name: "InertiaLink", props: { as: { type: String, default: "a" }, data: { type: Object, default: function() { + return {}; + } }, href: { type: String }, method: { type: String, default: "get" }, replace: { type: Boolean, default: false }, preserveScroll: { type: Boolean, default: false }, preserveState: { type: Boolean, default: null }, only: { type: Array, default: function() { + return []; + } }, headers: { type: Object, default: function() { + return {}; + } }, queryStringArrayFormat: { type: String, default: "brackets" } }, setup: function(e2, r2) { + var n2 = r2.slots, a2 = r2.attrs; + return function(e3) { + var r3 = e3.as.toLowerCase(), u2 = e3.method.toLowerCase(), s2 = o.mergeDataIntoQueryString(u2, e3.href || "", e3.data, e3.queryStringArrayFormat), c2 = s2[0], l2 = s2[1]; + return "a" === r3 && "get" !== u2 && console.warn('Creating POST/PUT/PATCH/DELETE links is discouraged as it causes "Open Link in New Tab/Window" accessibility issues.\n\nPlease specify a more appropriate element using the "as" attribute. For example:\n\n...'), t.h(e3.as, i({}, a2, "a" === r3 ? { href: c2 } : {}, { onClick: function(r4) { + var t2; + o.shouldIntercept(r4) && (r4.preventDefault(), o.Inertia.visit(c2, { data: l2, method: u2, replace: e3.replace, preserveScroll: e3.preserveScroll, preserveState: null != (t2 = e3.preserveState) ? t2 : "get" !== u2, only: e3.only, headers: e3.headers, onCancelToken: a2.onCancelToken || function() { + return {}; + }, onBefore: a2.onBefore || function() { + return {}; + }, onStart: a2.onStart || function() { + return {}; + }, onProgress: a2.onProgress || function() { + return {}; + }, onFinish: a2.onFinish || function() { + return {}; + }, onCancel: a2.onCancel || function() { + return {}; + }, onSuccess: a2.onSuccess || function() { + return {}; + }, onError: a2.onError || function() { + return {}; + } })); + } }), n2); + }; + } }; + exports.App = f, exports.Head = h, exports.InertiaApp = f, exports.InertiaHead = h, exports.InertiaLink = m, exports.Link = m, exports.app = f, exports.createInertiaApp = function(e2) { + try { + var r2, n2, o2, i2, a2, u2, s2; + n2 = void 0 === (r2 = e2.id) ? "app" : r2, o2 = e2.resolve, i2 = e2.setup, a2 = e2.title, u2 = e2.page, s2 = e2.render; + var c2 = "undefined" == typeof window, l2 = c2 ? null : document.getElementById(n2), p2 = u2 || JSON.parse(l2.dataset.page), h2 = function(e3) { + return Promise.resolve(o2(e3)).then(function(e4) { + return e4.default || e4; + }); + }, m2 = []; + return Promise.resolve(h2(p2.component).then(function(e3) { + return i2({ el: l2, app: f, App: f, props: { initialPage: p2, initialComponent: e3, resolveComponent: h2, titleCallback: a2, onHeadUpdate: c2 ? function(e4) { + return m2 = e4; + } : null }, plugin: d }); + })).then(function(e3) { + return function() { + if (c2) + return Promise.resolve(s2(t.createSSRApp({ render: function() { + return t.h("div", { id: n2, "data-page": JSON.stringify(p2), innerHTML: s2(e3) }); + } }))).then(function(e4) { + return { head: m2, body: e4 }; + }); + }(); + }); + } catch (e3) { + return Promise.reject(e3); + } + }, exports.link = m, exports.plugin = d, exports.useForm = a, exports.usePage = function() { + return { props: t.computed(function() { + return c.value.props; + }), url: t.computed(function() { + return c.value.url; + }), component: t.computed(function() { + return c.value.component; + }), version: t.computed(function() { + return c.value.version; + }) }; + }, exports.useRemember = function(e2, r2) { + if ("object" == typeof e2 && null !== e2 && false === e2.__rememberable) + return e2; + var i2 = o.Inertia.restore(r2), a2 = t.isReactive(e2) ? t.reactive : t.ref, u2 = "function" == typeof e2.__remember && "function" == typeof e2.__restore, s2 = void 0 === i2 ? e2 : a2(u2 ? e2.__restore(i2) : i2); + return t.watch(s2, function(t2) { + o.Inertia.remember(n(u2 ? e2.__remember() : t2), r2); + }, { immediate: true, deep: true }), s2; + }; + } +}); +export default require_dist2(); +/*! Bundled license information: + +@vue/compiler-core/dist/compiler-core.esm-bundler.js: + (** + * @vue/compiler-core v3.4.15 + * (c) 2018-present Yuxi (Evan) You and Vue contributors + * @license MIT + **) + +@vue/compiler-dom/dist/compiler-dom.esm-bundler.js: + (** + * @vue/compiler-dom v3.4.15 + * (c) 2018-present Yuxi (Evan) You and Vue contributors + * @license MIT + **) + +vue/dist/vue.cjs.js: + (** + * vue v3.4.15 + * (c) 2018-present Yuxi (Evan) You and Vue contributors + * @license MIT + **) +*/ +//# sourceMappingURL=@inertiajs_inertia-vue3.js.map diff --git a/node_modules/.vite/deps/@inertiajs_inertia-vue3.js.map b/node_modules/.vite/deps/@inertiajs_inertia-vue3.js.map new file mode 100644 index 00000000..5fda552c --- /dev/null +++ b/node_modules/.vite/deps/@inertiajs_inertia-vue3.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../../@vue/compiler-core/dist/compiler-core.esm-bundler.js", "../../@vue/compiler-dom/dist/compiler-dom.esm-bundler.js", "../../vue/dist/vue.cjs.js", "../../vue/index.js", "../../@inertiajs/inertia/node_modules/axios/lib/helpers/bind.js", "../../@inertiajs/inertia/node_modules/axios/lib/utils.js", "../../@inertiajs/inertia/node_modules/axios/lib/helpers/buildURL.js", "../../@inertiajs/inertia/node_modules/axios/lib/core/InterceptorManager.js", "../../@inertiajs/inertia/node_modules/axios/lib/helpers/normalizeHeaderName.js", "../../@inertiajs/inertia/node_modules/axios/lib/core/enhanceError.js", "../../@inertiajs/inertia/node_modules/axios/lib/core/createError.js", "../../@inertiajs/inertia/node_modules/axios/lib/core/settle.js", "../../@inertiajs/inertia/node_modules/axios/lib/helpers/cookies.js", "../../@inertiajs/inertia/node_modules/axios/lib/helpers/isAbsoluteURL.js", "../../@inertiajs/inertia/node_modules/axios/lib/helpers/combineURLs.js", "../../@inertiajs/inertia/node_modules/axios/lib/core/buildFullPath.js", "../../@inertiajs/inertia/node_modules/axios/lib/helpers/parseHeaders.js", "../../@inertiajs/inertia/node_modules/axios/lib/helpers/isURLSameOrigin.js", "../../@inertiajs/inertia/node_modules/axios/lib/adapters/xhr.js", "../../@inertiajs/inertia/node_modules/axios/lib/defaults.js", "../../@inertiajs/inertia/node_modules/axios/lib/core/transformData.js", "../../@inertiajs/inertia/node_modules/axios/lib/cancel/isCancel.js", "../../@inertiajs/inertia/node_modules/axios/lib/core/dispatchRequest.js", "../../@inertiajs/inertia/node_modules/axios/lib/core/mergeConfig.js", "../../@inertiajs/inertia/node_modules/axios/package.json", "../../@inertiajs/inertia/node_modules/axios/lib/helpers/validator.js", "../../@inertiajs/inertia/node_modules/axios/lib/core/Axios.js", "../../@inertiajs/inertia/node_modules/axios/lib/cancel/Cancel.js", "../../@inertiajs/inertia/node_modules/axios/lib/cancel/CancelToken.js", "../../@inertiajs/inertia/node_modules/axios/lib/helpers/spread.js", "../../@inertiajs/inertia/node_modules/axios/lib/helpers/isAxiosError.js", "../../@inertiajs/inertia/node_modules/axios/lib/axios.js", "../../@inertiajs/inertia/node_modules/axios/index.js", "../../@inertiajs/inertia/src/modal.ts", "../../@inertiajs/inertia/src/types.ts", "../../@inertiajs/inertia/src/debounce.ts", "../../@inertiajs/inertia/src/formData.ts", "../../@inertiajs/inertia/src/url.ts", "../../@inertiajs/inertia/src/events.ts", "../../@inertiajs/inertia/src/router.ts", "../../@inertiajs/inertia/src/files.ts", "../../@inertiajs/inertia/src/head.ts", "../../@inertiajs/inertia/src/index.ts", "../../@inertiajs/inertia/src/shouldIntercept.ts", "../../@inertiajs/inertia-vue3/src/useForm.js", "../../@inertiajs/inertia-vue3/src/remember.js", "../../@inertiajs/inertia-vue3/src/app.js", "../../@inertiajs/inertia-vue3/src/head.js", "../../@inertiajs/inertia-vue3/src/link.js", "../../@inertiajs/inertia-vue3/src/createInertiaApp.js", "../../@inertiajs/inertia-vue3/src/useRemember.js"], + "sourcesContent": ["/**\n* @vue/compiler-core v3.4.15\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { isString, NOOP, isObject, NO, extend, isSymbol, isArray, capitalize, camelize, EMPTY_OBJ, PatchFlagNames, slotFlagsText, isOn, isBuiltInDirective, isReservedProp, toHandlerKey } from '@vue/shared';\nexport { generateCodeFrame } from '@vue/shared';\n\nconst FRAGMENT = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `Fragment` : ``);\nconst TELEPORT = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `Teleport` : ``);\nconst SUSPENSE = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `Suspense` : ``);\nconst KEEP_ALIVE = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `KeepAlive` : ``);\nconst BASE_TRANSITION = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `BaseTransition` : ``);\nconst OPEN_BLOCK = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `openBlock` : ``);\nconst CREATE_BLOCK = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `createBlock` : ``);\nconst CREATE_ELEMENT_BLOCK = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `createElementBlock` : ``);\nconst CREATE_VNODE = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `createVNode` : ``);\nconst CREATE_ELEMENT_VNODE = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `createElementVNode` : ``);\nconst CREATE_COMMENT = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `createCommentVNode` : ``);\nconst CREATE_TEXT = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `createTextVNode` : ``);\nconst CREATE_STATIC = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `createStaticVNode` : ``);\nconst RESOLVE_COMPONENT = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `resolveComponent` : ``);\nconst RESOLVE_DYNAMIC_COMPONENT = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? `resolveDynamicComponent` : ``\n);\nconst RESOLVE_DIRECTIVE = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `resolveDirective` : ``);\nconst RESOLVE_FILTER = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `resolveFilter` : ``);\nconst WITH_DIRECTIVES = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `withDirectives` : ``);\nconst RENDER_LIST = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `renderList` : ``);\nconst RENDER_SLOT = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `renderSlot` : ``);\nconst CREATE_SLOTS = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `createSlots` : ``);\nconst TO_DISPLAY_STRING = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `toDisplayString` : ``);\nconst MERGE_PROPS = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `mergeProps` : ``);\nconst NORMALIZE_CLASS = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `normalizeClass` : ``);\nconst NORMALIZE_STYLE = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `normalizeStyle` : ``);\nconst NORMALIZE_PROPS = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `normalizeProps` : ``);\nconst GUARD_REACTIVE_PROPS = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `guardReactiveProps` : ``);\nconst TO_HANDLERS = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `toHandlers` : ``);\nconst CAMELIZE = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `camelize` : ``);\nconst CAPITALIZE = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `capitalize` : ``);\nconst TO_HANDLER_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `toHandlerKey` : ``);\nconst SET_BLOCK_TRACKING = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `setBlockTracking` : ``);\nconst PUSH_SCOPE_ID = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `pushScopeId` : ``);\nconst POP_SCOPE_ID = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `popScopeId` : ``);\nconst WITH_CTX = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `withCtx` : ``);\nconst UNREF = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `unref` : ``);\nconst IS_REF = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `isRef` : ``);\nconst WITH_MEMO = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `withMemo` : ``);\nconst IS_MEMO_SAME = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `isMemoSame` : ``);\nconst helperNameMap = {\n [FRAGMENT]: `Fragment`,\n [TELEPORT]: `Teleport`,\n [SUSPENSE]: `Suspense`,\n [KEEP_ALIVE]: `KeepAlive`,\n [BASE_TRANSITION]: `BaseTransition`,\n [OPEN_BLOCK]: `openBlock`,\n [CREATE_BLOCK]: `createBlock`,\n [CREATE_ELEMENT_BLOCK]: `createElementBlock`,\n [CREATE_VNODE]: `createVNode`,\n [CREATE_ELEMENT_VNODE]: `createElementVNode`,\n [CREATE_COMMENT]: `createCommentVNode`,\n [CREATE_TEXT]: `createTextVNode`,\n [CREATE_STATIC]: `createStaticVNode`,\n [RESOLVE_COMPONENT]: `resolveComponent`,\n [RESOLVE_DYNAMIC_COMPONENT]: `resolveDynamicComponent`,\n [RESOLVE_DIRECTIVE]: `resolveDirective`,\n [RESOLVE_FILTER]: `resolveFilter`,\n [WITH_DIRECTIVES]: `withDirectives`,\n [RENDER_LIST]: `renderList`,\n [RENDER_SLOT]: `renderSlot`,\n [CREATE_SLOTS]: `createSlots`,\n [TO_DISPLAY_STRING]: `toDisplayString`,\n [MERGE_PROPS]: `mergeProps`,\n [NORMALIZE_CLASS]: `normalizeClass`,\n [NORMALIZE_STYLE]: `normalizeStyle`,\n [NORMALIZE_PROPS]: `normalizeProps`,\n [GUARD_REACTIVE_PROPS]: `guardReactiveProps`,\n [TO_HANDLERS]: `toHandlers`,\n [CAMELIZE]: `camelize`,\n [CAPITALIZE]: `capitalize`,\n [TO_HANDLER_KEY]: `toHandlerKey`,\n [SET_BLOCK_TRACKING]: `setBlockTracking`,\n [PUSH_SCOPE_ID]: `pushScopeId`,\n [POP_SCOPE_ID]: `popScopeId`,\n [WITH_CTX]: `withCtx`,\n [UNREF]: `unref`,\n [IS_REF]: `isRef`,\n [WITH_MEMO]: `withMemo`,\n [IS_MEMO_SAME]: `isMemoSame`\n};\nfunction registerRuntimeHelpers(helpers) {\n Object.getOwnPropertySymbols(helpers).forEach((s) => {\n helperNameMap[s] = helpers[s];\n });\n}\n\nconst Namespaces = {\n \"HTML\": 0,\n \"0\": \"HTML\",\n \"SVG\": 1,\n \"1\": \"SVG\",\n \"MATH_ML\": 2,\n \"2\": \"MATH_ML\"\n};\nconst NodeTypes = {\n \"ROOT\": 0,\n \"0\": \"ROOT\",\n \"ELEMENT\": 1,\n \"1\": \"ELEMENT\",\n \"TEXT\": 2,\n \"2\": \"TEXT\",\n \"COMMENT\": 3,\n \"3\": \"COMMENT\",\n \"SIMPLE_EXPRESSION\": 4,\n \"4\": \"SIMPLE_EXPRESSION\",\n \"INTERPOLATION\": 5,\n \"5\": \"INTERPOLATION\",\n \"ATTRIBUTE\": 6,\n \"6\": \"ATTRIBUTE\",\n \"DIRECTIVE\": 7,\n \"7\": \"DIRECTIVE\",\n \"COMPOUND_EXPRESSION\": 8,\n \"8\": \"COMPOUND_EXPRESSION\",\n \"IF\": 9,\n \"9\": \"IF\",\n \"IF_BRANCH\": 10,\n \"10\": \"IF_BRANCH\",\n \"FOR\": 11,\n \"11\": \"FOR\",\n \"TEXT_CALL\": 12,\n \"12\": \"TEXT_CALL\",\n \"VNODE_CALL\": 13,\n \"13\": \"VNODE_CALL\",\n \"JS_CALL_EXPRESSION\": 14,\n \"14\": \"JS_CALL_EXPRESSION\",\n \"JS_OBJECT_EXPRESSION\": 15,\n \"15\": \"JS_OBJECT_EXPRESSION\",\n \"JS_PROPERTY\": 16,\n \"16\": \"JS_PROPERTY\",\n \"JS_ARRAY_EXPRESSION\": 17,\n \"17\": \"JS_ARRAY_EXPRESSION\",\n \"JS_FUNCTION_EXPRESSION\": 18,\n \"18\": \"JS_FUNCTION_EXPRESSION\",\n \"JS_CONDITIONAL_EXPRESSION\": 19,\n \"19\": \"JS_CONDITIONAL_EXPRESSION\",\n \"JS_CACHE_EXPRESSION\": 20,\n \"20\": \"JS_CACHE_EXPRESSION\",\n \"JS_BLOCK_STATEMENT\": 21,\n \"21\": \"JS_BLOCK_STATEMENT\",\n \"JS_TEMPLATE_LITERAL\": 22,\n \"22\": \"JS_TEMPLATE_LITERAL\",\n \"JS_IF_STATEMENT\": 23,\n \"23\": \"JS_IF_STATEMENT\",\n \"JS_ASSIGNMENT_EXPRESSION\": 24,\n \"24\": \"JS_ASSIGNMENT_EXPRESSION\",\n \"JS_SEQUENCE_EXPRESSION\": 25,\n \"25\": \"JS_SEQUENCE_EXPRESSION\",\n \"JS_RETURN_STATEMENT\": 26,\n \"26\": \"JS_RETURN_STATEMENT\"\n};\nconst ElementTypes = {\n \"ELEMENT\": 0,\n \"0\": \"ELEMENT\",\n \"COMPONENT\": 1,\n \"1\": \"COMPONENT\",\n \"SLOT\": 2,\n \"2\": \"SLOT\",\n \"TEMPLATE\": 3,\n \"3\": \"TEMPLATE\"\n};\nconst ConstantTypes = {\n \"NOT_CONSTANT\": 0,\n \"0\": \"NOT_CONSTANT\",\n \"CAN_SKIP_PATCH\": 1,\n \"1\": \"CAN_SKIP_PATCH\",\n \"CAN_HOIST\": 2,\n \"2\": \"CAN_HOIST\",\n \"CAN_STRINGIFY\": 3,\n \"3\": \"CAN_STRINGIFY\"\n};\nconst locStub = {\n start: { line: 1, column: 1, offset: 0 },\n end: { line: 1, column: 1, offset: 0 },\n source: \"\"\n};\nfunction createRoot(children, source = \"\") {\n return {\n type: 0,\n source,\n children,\n helpers: /* @__PURE__ */ new Set(),\n components: [],\n directives: [],\n hoists: [],\n imports: [],\n cached: 0,\n temps: 0,\n codegenNode: void 0,\n loc: locStub\n };\n}\nfunction createVNodeCall(context, tag, props, children, patchFlag, dynamicProps, directives, isBlock = false, disableTracking = false, isComponent = false, loc = locStub) {\n if (context) {\n if (isBlock) {\n context.helper(OPEN_BLOCK);\n context.helper(getVNodeBlockHelper(context.inSSR, isComponent));\n } else {\n context.helper(getVNodeHelper(context.inSSR, isComponent));\n }\n if (directives) {\n context.helper(WITH_DIRECTIVES);\n }\n }\n return {\n type: 13,\n tag,\n props,\n children,\n patchFlag,\n dynamicProps,\n directives,\n isBlock,\n disableTracking,\n isComponent,\n loc\n };\n}\nfunction createArrayExpression(elements, loc = locStub) {\n return {\n type: 17,\n loc,\n elements\n };\n}\nfunction createObjectExpression(properties, loc = locStub) {\n return {\n type: 15,\n loc,\n properties\n };\n}\nfunction createObjectProperty(key, value) {\n return {\n type: 16,\n loc: locStub,\n key: isString(key) ? createSimpleExpression(key, true) : key,\n value\n };\n}\nfunction createSimpleExpression(content, isStatic = false, loc = locStub, constType = 0) {\n return {\n type: 4,\n loc,\n content,\n isStatic,\n constType: isStatic ? 3 : constType\n };\n}\nfunction createInterpolation(content, loc) {\n return {\n type: 5,\n loc,\n content: isString(content) ? createSimpleExpression(content, false, loc) : content\n };\n}\nfunction createCompoundExpression(children, loc = locStub) {\n return {\n type: 8,\n loc,\n children\n };\n}\nfunction createCallExpression(callee, args = [], loc = locStub) {\n return {\n type: 14,\n loc,\n callee,\n arguments: args\n };\n}\nfunction createFunctionExpression(params, returns = void 0, newline = false, isSlot = false, loc = locStub) {\n return {\n type: 18,\n params,\n returns,\n newline,\n isSlot,\n loc\n };\n}\nfunction createConditionalExpression(test, consequent, alternate, newline = true) {\n return {\n type: 19,\n test,\n consequent,\n alternate,\n newline,\n loc: locStub\n };\n}\nfunction createCacheExpression(index, value, isVNode = false) {\n return {\n type: 20,\n index,\n value,\n isVNode,\n loc: locStub\n };\n}\nfunction createBlockStatement(body) {\n return {\n type: 21,\n body,\n loc: locStub\n };\n}\nfunction createTemplateLiteral(elements) {\n return {\n type: 22,\n elements,\n loc: locStub\n };\n}\nfunction createIfStatement(test, consequent, alternate) {\n return {\n type: 23,\n test,\n consequent,\n alternate,\n loc: locStub\n };\n}\nfunction createAssignmentExpression(left, right) {\n return {\n type: 24,\n left,\n right,\n loc: locStub\n };\n}\nfunction createSequenceExpression(expressions) {\n return {\n type: 25,\n expressions,\n loc: locStub\n };\n}\nfunction createReturnStatement(returns) {\n return {\n type: 26,\n returns,\n loc: locStub\n };\n}\nfunction getVNodeHelper(ssr, isComponent) {\n return ssr || isComponent ? CREATE_VNODE : CREATE_ELEMENT_VNODE;\n}\nfunction getVNodeBlockHelper(ssr, isComponent) {\n return ssr || isComponent ? CREATE_BLOCK : CREATE_ELEMENT_BLOCK;\n}\nfunction convertToBlock(node, { helper, removeHelper, inSSR }) {\n if (!node.isBlock) {\n node.isBlock = true;\n removeHelper(getVNodeHelper(inSSR, node.isComponent));\n helper(OPEN_BLOCK);\n helper(getVNodeBlockHelper(inSSR, node.isComponent));\n }\n}\n\nconst defaultDelimitersOpen = new Uint8Array([123, 123]);\nconst defaultDelimitersClose = new Uint8Array([125, 125]);\nfunction isTagStartChar(c) {\n return c >= 97 && c <= 122 || c >= 65 && c <= 90;\n}\nfunction isWhitespace(c) {\n return c === 32 || c === 10 || c === 9 || c === 12 || c === 13;\n}\nfunction isEndOfTagSection(c) {\n return c === 47 || c === 62 || isWhitespace(c);\n}\nfunction toCharCodes(str) {\n const ret = new Uint8Array(str.length);\n for (let i = 0; i < str.length; i++) {\n ret[i] = str.charCodeAt(i);\n }\n return ret;\n}\nconst Sequences = {\n Cdata: new Uint8Array([67, 68, 65, 84, 65, 91]),\n // CDATA[\n CdataEnd: new Uint8Array([93, 93, 62]),\n // ]]>\n CommentEnd: new Uint8Array([45, 45, 62]),\n // `-->`\n ScriptEnd: new Uint8Array([60, 47, 115, 99, 114, 105, 112, 116]),\n // `<\\/script`\n StyleEnd: new Uint8Array([60, 47, 115, 116, 121, 108, 101]),\n // `= 0; i--) {\n const newlineIndex = this.newlines[i];\n if (index > newlineIndex) {\n line = i + 2;\n column = index - newlineIndex;\n break;\n }\n }\n return {\n column,\n line,\n offset: index\n };\n }\n peek() {\n return this.buffer.charCodeAt(this.index + 1);\n }\n stateText(c) {\n if (c === 60) {\n if (this.index > this.sectionStart) {\n this.cbs.ontext(this.sectionStart, this.index);\n }\n this.state = 5;\n this.sectionStart = this.index;\n } else if (!this.inVPre && c === this.delimiterOpen[0]) {\n this.state = 2;\n this.delimiterIndex = 0;\n this.stateInterpolationOpen(c);\n }\n }\n stateInterpolationOpen(c) {\n if (c === this.delimiterOpen[this.delimiterIndex]) {\n if (this.delimiterIndex === this.delimiterOpen.length - 1) {\n const start = this.index + 1 - this.delimiterOpen.length;\n if (start > this.sectionStart) {\n this.cbs.ontext(this.sectionStart, start);\n }\n this.state = 3;\n this.sectionStart = start;\n } else {\n this.delimiterIndex++;\n }\n } else if (this.inRCDATA) {\n this.state = 32;\n this.stateInRCDATA(c);\n } else {\n this.state = 1;\n this.stateText(c);\n }\n }\n stateInterpolation(c) {\n if (c === this.delimiterClose[0]) {\n this.state = 4;\n this.delimiterIndex = 0;\n this.stateInterpolationClose(c);\n }\n }\n stateInterpolationClose(c) {\n if (c === this.delimiterClose[this.delimiterIndex]) {\n if (this.delimiterIndex === this.delimiterClose.length - 1) {\n this.cbs.oninterpolation(this.sectionStart, this.index + 1);\n if (this.inRCDATA) {\n this.state = 32;\n } else {\n this.state = 1;\n }\n this.sectionStart = this.index + 1;\n } else {\n this.delimiterIndex++;\n }\n } else {\n this.state = 3;\n this.stateInterpolation(c);\n }\n }\n stateSpecialStartSequence(c) {\n const isEnd = this.sequenceIndex === this.currentSequence.length;\n const isMatch = isEnd ? (\n // If we are at the end of the sequence, make sure the tag name has ended\n isEndOfTagSection(c)\n ) : (\n // Otherwise, do a case-insensitive comparison\n (c | 32) === this.currentSequence[this.sequenceIndex]\n );\n if (!isMatch) {\n this.inRCDATA = false;\n } else if (!isEnd) {\n this.sequenceIndex++;\n return;\n }\n this.sequenceIndex = 0;\n this.state = 6;\n this.stateInTagName(c);\n }\n /** Look for an end tag. For and <textarea>, also decode entities. */\n stateInRCDATA(c) {\n if (this.sequenceIndex === this.currentSequence.length) {\n if (c === 62 || isWhitespace(c)) {\n const endOfText = this.index - this.currentSequence.length;\n if (this.sectionStart < endOfText) {\n const actualIndex = this.index;\n this.index = endOfText;\n this.cbs.ontext(this.sectionStart, endOfText);\n this.index = actualIndex;\n }\n this.sectionStart = endOfText + 2;\n this.stateInClosingTagName(c);\n this.inRCDATA = false;\n return;\n }\n this.sequenceIndex = 0;\n }\n if ((c | 32) === this.currentSequence[this.sequenceIndex]) {\n this.sequenceIndex += 1;\n } else if (this.sequenceIndex === 0) {\n if (this.currentSequence === Sequences.TitleEnd || this.currentSequence === Sequences.TextareaEnd && !this.inSFCRoot) {\n if (c === this.delimiterOpen[0]) {\n this.state = 2;\n this.delimiterIndex = 0;\n this.stateInterpolationOpen(c);\n }\n } else if (this.fastForwardTo(60)) {\n this.sequenceIndex = 1;\n }\n } else {\n this.sequenceIndex = Number(c === 60);\n }\n }\n stateCDATASequence(c) {\n if (c === Sequences.Cdata[this.sequenceIndex]) {\n if (++this.sequenceIndex === Sequences.Cdata.length) {\n this.state = 28;\n this.currentSequence = Sequences.CdataEnd;\n this.sequenceIndex = 0;\n this.sectionStart = this.index + 1;\n }\n } else {\n this.sequenceIndex = 0;\n this.state = 23;\n this.stateInDeclaration(c);\n }\n }\n /**\n * When we wait for one specific character, we can speed things up\n * by skipping through the buffer until we find it.\n *\n * @returns Whether the character was found.\n */\n fastForwardTo(c) {\n while (++this.index < this.buffer.length) {\n const cc = this.buffer.charCodeAt(this.index);\n if (cc === 10) {\n this.newlines.push(this.index);\n }\n if (cc === c) {\n return true;\n }\n }\n this.index = this.buffer.length - 1;\n return false;\n }\n /**\n * Comments and CDATA end with `-->` and `]]>`.\n *\n * Their common qualities are:\n * - Their end sequences have a distinct character they start with.\n * - That character is then repeated, so we have to check multiple repeats.\n * - All characters but the start character of the sequence can be skipped.\n */\n stateInCommentLike(c) {\n if (c === this.currentSequence[this.sequenceIndex]) {\n if (++this.sequenceIndex === this.currentSequence.length) {\n if (this.currentSequence === Sequences.CdataEnd) {\n this.cbs.oncdata(this.sectionStart, this.index - 2);\n } else {\n this.cbs.oncomment(this.sectionStart, this.index - 2);\n }\n this.sequenceIndex = 0;\n this.sectionStart = this.index + 1;\n this.state = 1;\n }\n } else if (this.sequenceIndex === 0) {\n if (this.fastForwardTo(this.currentSequence[0])) {\n this.sequenceIndex = 1;\n }\n } else if (c !== this.currentSequence[this.sequenceIndex - 1]) {\n this.sequenceIndex = 0;\n }\n }\n startSpecial(sequence, offset) {\n this.enterRCDATA(sequence, offset);\n this.state = 31;\n }\n enterRCDATA(sequence, offset) {\n this.inRCDATA = true;\n this.currentSequence = sequence;\n this.sequenceIndex = offset;\n }\n stateBeforeTagName(c) {\n if (c === 33) {\n this.state = 22;\n this.sectionStart = this.index + 1;\n } else if (c === 63) {\n this.state = 24;\n this.sectionStart = this.index + 1;\n } else if (isTagStartChar(c)) {\n this.sectionStart = this.index;\n if (this.mode === 0) {\n this.state = 6;\n } else if (this.inSFCRoot) {\n this.state = 34;\n } else if (!this.inXML) {\n const lower = c | 32;\n if (lower === 116) {\n this.state = 30;\n } else {\n this.state = lower === 115 ? 29 : 6;\n }\n } else {\n this.state = 6;\n }\n } else if (c === 47) {\n this.state = 8;\n } else {\n this.state = 1;\n this.stateText(c);\n }\n }\n stateInTagName(c) {\n if (isEndOfTagSection(c)) {\n this.handleTagName(c);\n }\n }\n stateInSFCRootTagName(c) {\n if (isEndOfTagSection(c)) {\n const tag = this.buffer.slice(this.sectionStart, this.index);\n if (tag !== \"template\") {\n this.enterRCDATA(toCharCodes(`</` + tag), 0);\n }\n this.handleTagName(c);\n }\n }\n handleTagName(c) {\n this.cbs.onopentagname(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.state = 11;\n this.stateBeforeAttrName(c);\n }\n stateBeforeClosingTagName(c) {\n if (isWhitespace(c)) ; else if (c === 62) {\n if (!!(process.env.NODE_ENV !== \"production\") || false) {\n this.cbs.onerr(14, this.index);\n }\n this.state = 1;\n this.sectionStart = this.index + 1;\n } else {\n this.state = isTagStartChar(c) ? 9 : 27;\n this.sectionStart = this.index;\n }\n }\n stateInClosingTagName(c) {\n if (c === 62 || isWhitespace(c)) {\n this.cbs.onclosetag(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.state = 10;\n this.stateAfterClosingTagName(c);\n }\n }\n stateAfterClosingTagName(c) {\n if (c === 62) {\n this.state = 1;\n this.sectionStart = this.index + 1;\n }\n }\n stateBeforeAttrName(c) {\n if (c === 62) {\n this.cbs.onopentagend(this.index);\n if (this.inRCDATA) {\n this.state = 32;\n } else {\n this.state = 1;\n }\n this.sectionStart = this.index + 1;\n } else if (c === 47) {\n this.state = 7;\n if ((!!(process.env.NODE_ENV !== \"production\") || false) && this.peek() !== 62) {\n this.cbs.onerr(22, this.index);\n }\n } else if (c === 60 && this.peek() === 47) {\n this.cbs.onopentagend(this.index);\n this.state = 5;\n this.sectionStart = this.index;\n } else if (!isWhitespace(c)) {\n if ((!!(process.env.NODE_ENV !== \"production\") || false) && c === 61) {\n this.cbs.onerr(\n 19,\n this.index\n );\n }\n this.handleAttrStart(c);\n }\n }\n handleAttrStart(c) {\n if (c === 118 && this.peek() === 45) {\n this.state = 13;\n this.sectionStart = this.index;\n } else if (c === 46 || c === 58 || c === 64 || c === 35) {\n this.cbs.ondirname(this.index, this.index + 1);\n this.state = 14;\n this.sectionStart = this.index + 1;\n } else {\n this.state = 12;\n this.sectionStart = this.index;\n }\n }\n stateInSelfClosingTag(c) {\n if (c === 62) {\n this.cbs.onselfclosingtag(this.index);\n this.state = 1;\n this.sectionStart = this.index + 1;\n this.inRCDATA = false;\n } else if (!isWhitespace(c)) {\n this.state = 11;\n this.stateBeforeAttrName(c);\n }\n }\n stateInAttrName(c) {\n if (c === 61 || isEndOfTagSection(c)) {\n this.cbs.onattribname(this.sectionStart, this.index);\n this.handleAttrNameEnd(c);\n } else if ((!!(process.env.NODE_ENV !== \"production\") || false) && (c === 34 || c === 39 || c === 60)) {\n this.cbs.onerr(\n 17,\n this.index\n );\n }\n }\n stateInDirName(c) {\n if (c === 61 || isEndOfTagSection(c)) {\n this.cbs.ondirname(this.sectionStart, this.index);\n this.handleAttrNameEnd(c);\n } else if (c === 58) {\n this.cbs.ondirname(this.sectionStart, this.index);\n this.state = 14;\n this.sectionStart = this.index + 1;\n } else if (c === 46) {\n this.cbs.ondirname(this.sectionStart, this.index);\n this.state = 16;\n this.sectionStart = this.index + 1;\n }\n }\n stateInDirArg(c) {\n if (c === 61 || isEndOfTagSection(c)) {\n this.cbs.ondirarg(this.sectionStart, this.index);\n this.handleAttrNameEnd(c);\n } else if (c === 91) {\n this.state = 15;\n } else if (c === 46) {\n this.cbs.ondirarg(this.sectionStart, this.index);\n this.state = 16;\n this.sectionStart = this.index + 1;\n }\n }\n stateInDynamicDirArg(c) {\n if (c === 93) {\n this.state = 14;\n } else if (c === 61 || isEndOfTagSection(c)) {\n this.cbs.ondirarg(this.sectionStart, this.index + 1);\n this.handleAttrNameEnd(c);\n if (!!(process.env.NODE_ENV !== \"production\") || false) {\n this.cbs.onerr(\n 27,\n this.index\n );\n }\n }\n }\n stateInDirModifier(c) {\n if (c === 61 || isEndOfTagSection(c)) {\n this.cbs.ondirmodifier(this.sectionStart, this.index);\n this.handleAttrNameEnd(c);\n } else if (c === 46) {\n this.cbs.ondirmodifier(this.sectionStart, this.index);\n this.sectionStart = this.index + 1;\n }\n }\n handleAttrNameEnd(c) {\n this.sectionStart = this.index;\n this.state = 17;\n this.cbs.onattribnameend(this.index);\n this.stateAfterAttrName(c);\n }\n stateAfterAttrName(c) {\n if (c === 61) {\n this.state = 18;\n } else if (c === 47 || c === 62) {\n this.cbs.onattribend(0, this.sectionStart);\n this.sectionStart = -1;\n this.state = 11;\n this.stateBeforeAttrName(c);\n } else if (!isWhitespace(c)) {\n this.cbs.onattribend(0, this.sectionStart);\n this.handleAttrStart(c);\n }\n }\n stateBeforeAttrValue(c) {\n if (c === 34) {\n this.state = 19;\n this.sectionStart = this.index + 1;\n } else if (c === 39) {\n this.state = 20;\n this.sectionStart = this.index + 1;\n } else if (!isWhitespace(c)) {\n this.sectionStart = this.index;\n this.state = 21;\n this.stateInAttrValueNoQuotes(c);\n }\n }\n handleInAttrValue(c, quote) {\n if (c === quote || this.fastForwardTo(quote)) {\n this.cbs.onattribdata(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.cbs.onattribend(\n quote === 34 ? 3 : 2,\n this.index + 1\n );\n this.state = 11;\n }\n }\n stateInAttrValueDoubleQuotes(c) {\n this.handleInAttrValue(c, 34);\n }\n stateInAttrValueSingleQuotes(c) {\n this.handleInAttrValue(c, 39);\n }\n stateInAttrValueNoQuotes(c) {\n if (isWhitespace(c) || c === 62) {\n this.cbs.onattribdata(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.cbs.onattribend(1, this.index);\n this.state = 11;\n this.stateBeforeAttrName(c);\n } else if ((!!(process.env.NODE_ENV !== \"production\") || false) && c === 34 || c === 39 || c === 60 || c === 61 || c === 96) {\n this.cbs.onerr(\n 18,\n this.index\n );\n } else ;\n }\n stateBeforeDeclaration(c) {\n if (c === 91) {\n this.state = 26;\n this.sequenceIndex = 0;\n } else {\n this.state = c === 45 ? 25 : 23;\n }\n }\n stateInDeclaration(c) {\n if (c === 62 || this.fastForwardTo(62)) {\n this.state = 1;\n this.sectionStart = this.index + 1;\n }\n }\n stateInProcessingInstruction(c) {\n if (c === 62 || this.fastForwardTo(62)) {\n this.cbs.onprocessinginstruction(this.sectionStart, this.index);\n this.state = 1;\n this.sectionStart = this.index + 1;\n }\n }\n stateBeforeComment(c) {\n if (c === 45) {\n this.state = 28;\n this.currentSequence = Sequences.CommentEnd;\n this.sequenceIndex = 2;\n this.sectionStart = this.index + 1;\n } else {\n this.state = 23;\n }\n }\n stateInSpecialComment(c) {\n if (c === 62 || this.fastForwardTo(62)) {\n this.cbs.oncomment(this.sectionStart, this.index);\n this.state = 1;\n this.sectionStart = this.index + 1;\n }\n }\n stateBeforeSpecialS(c) {\n const lower = c | 32;\n if (lower === Sequences.ScriptEnd[3]) {\n this.startSpecial(Sequences.ScriptEnd, 4);\n } else if (lower === Sequences.StyleEnd[3]) {\n this.startSpecial(Sequences.StyleEnd, 4);\n } else {\n this.state = 6;\n this.stateInTagName(c);\n }\n }\n stateBeforeSpecialT(c) {\n const lower = c | 32;\n if (lower === Sequences.TitleEnd[3]) {\n this.startSpecial(Sequences.TitleEnd, 4);\n } else if (lower === Sequences.TextareaEnd[3]) {\n this.startSpecial(Sequences.TextareaEnd, 4);\n } else {\n this.state = 6;\n this.stateInTagName(c);\n }\n }\n startEntity() {\n }\n stateInEntity() {\n }\n /**\n * Iterates through the buffer, calling the function corresponding to the current state.\n *\n * States that are more likely to be hit are higher up, as a performance improvement.\n */\n parse(input) {\n this.buffer = input;\n while (this.index < this.buffer.length) {\n const c = this.buffer.charCodeAt(this.index);\n if (c === 10) {\n this.newlines.push(this.index);\n }\n switch (this.state) {\n case 1: {\n this.stateText(c);\n break;\n }\n case 2: {\n this.stateInterpolationOpen(c);\n break;\n }\n case 3: {\n this.stateInterpolation(c);\n break;\n }\n case 4: {\n this.stateInterpolationClose(c);\n break;\n }\n case 31: {\n this.stateSpecialStartSequence(c);\n break;\n }\n case 32: {\n this.stateInRCDATA(c);\n break;\n }\n case 26: {\n this.stateCDATASequence(c);\n break;\n }\n case 19: {\n this.stateInAttrValueDoubleQuotes(c);\n break;\n }\n case 12: {\n this.stateInAttrName(c);\n break;\n }\n case 13: {\n this.stateInDirName(c);\n break;\n }\n case 14: {\n this.stateInDirArg(c);\n break;\n }\n case 15: {\n this.stateInDynamicDirArg(c);\n break;\n }\n case 16: {\n this.stateInDirModifier(c);\n break;\n }\n case 28: {\n this.stateInCommentLike(c);\n break;\n }\n case 27: {\n this.stateInSpecialComment(c);\n break;\n }\n case 11: {\n this.stateBeforeAttrName(c);\n break;\n }\n case 6: {\n this.stateInTagName(c);\n break;\n }\n case 34: {\n this.stateInSFCRootTagName(c);\n break;\n }\n case 9: {\n this.stateInClosingTagName(c);\n break;\n }\n case 5: {\n this.stateBeforeTagName(c);\n break;\n }\n case 17: {\n this.stateAfterAttrName(c);\n break;\n }\n case 20: {\n this.stateInAttrValueSingleQuotes(c);\n break;\n }\n case 18: {\n this.stateBeforeAttrValue(c);\n break;\n }\n case 8: {\n this.stateBeforeClosingTagName(c);\n break;\n }\n case 10: {\n this.stateAfterClosingTagName(c);\n break;\n }\n case 29: {\n this.stateBeforeSpecialS(c);\n break;\n }\n case 30: {\n this.stateBeforeSpecialT(c);\n break;\n }\n case 21: {\n this.stateInAttrValueNoQuotes(c);\n break;\n }\n case 7: {\n this.stateInSelfClosingTag(c);\n break;\n }\n case 23: {\n this.stateInDeclaration(c);\n break;\n }\n case 22: {\n this.stateBeforeDeclaration(c);\n break;\n }\n case 25: {\n this.stateBeforeComment(c);\n break;\n }\n case 24: {\n this.stateInProcessingInstruction(c);\n break;\n }\n case 33: {\n this.stateInEntity();\n break;\n }\n }\n this.index++;\n }\n this.cleanup();\n this.finish();\n }\n /**\n * Remove data that has already been consumed from the buffer.\n */\n cleanup() {\n if (this.sectionStart !== this.index) {\n if (this.state === 1 || this.state === 32 && this.sequenceIndex === 0) {\n this.cbs.ontext(this.sectionStart, this.index);\n this.sectionStart = this.index;\n } else if (this.state === 19 || this.state === 20 || this.state === 21) {\n this.cbs.onattribdata(this.sectionStart, this.index);\n this.sectionStart = this.index;\n }\n }\n }\n finish() {\n this.handleTrailingData();\n this.cbs.onend();\n }\n /** Handle any trailing data. */\n handleTrailingData() {\n const endIndex = this.buffer.length;\n if (this.sectionStart >= endIndex) {\n return;\n }\n if (this.state === 28) {\n if (this.currentSequence === Sequences.CdataEnd) {\n this.cbs.oncdata(this.sectionStart, endIndex);\n } else {\n this.cbs.oncomment(this.sectionStart, endIndex);\n }\n } else if (this.state === 6 || this.state === 11 || this.state === 18 || this.state === 17 || this.state === 12 || this.state === 13 || this.state === 14 || this.state === 15 || this.state === 16 || this.state === 20 || this.state === 19 || this.state === 21 || this.state === 9) ; else {\n this.cbs.ontext(this.sectionStart, endIndex);\n }\n }\n emitCodePoint(cp, consumed) {\n }\n}\n\nconst CompilerDeprecationTypes = {\n \"COMPILER_IS_ON_ELEMENT\": \"COMPILER_IS_ON_ELEMENT\",\n \"COMPILER_V_BIND_SYNC\": \"COMPILER_V_BIND_SYNC\",\n \"COMPILER_V_BIND_OBJECT_ORDER\": \"COMPILER_V_BIND_OBJECT_ORDER\",\n \"COMPILER_V_ON_NATIVE\": \"COMPILER_V_ON_NATIVE\",\n \"COMPILER_V_IF_V_FOR_PRECEDENCE\": \"COMPILER_V_IF_V_FOR_PRECEDENCE\",\n \"COMPILER_NATIVE_TEMPLATE\": \"COMPILER_NATIVE_TEMPLATE\",\n \"COMPILER_INLINE_TEMPLATE\": \"COMPILER_INLINE_TEMPLATE\",\n \"COMPILER_FILTERS\": \"COMPILER_FILTERS\"\n};\nconst deprecationData = {\n [\"COMPILER_IS_ON_ELEMENT\"]: {\n message: `Platform-native elements with \"is\" prop will no longer be treated as components in Vue 3 unless the \"is\" value is explicitly prefixed with \"vue:\".`,\n link: `https://v3-migration.vuejs.org/breaking-changes/custom-elements-interop.html`\n },\n [\"COMPILER_V_BIND_SYNC\"]: {\n message: (key) => `.sync modifier for v-bind has been removed. Use v-model with argument instead. \\`v-bind:${key}.sync\\` should be changed to \\`v-model:${key}\\`.`,\n link: `https://v3-migration.vuejs.org/breaking-changes/v-model.html`\n },\n [\"COMPILER_V_BIND_OBJECT_ORDER\"]: {\n message: `v-bind=\"obj\" usage is now order sensitive and behaves like JavaScript object spread: it will now overwrite an existing non-mergeable attribute that appears before v-bind in the case of conflict. To retain 2.x behavior, move v-bind to make it the first attribute. You can also suppress this warning if the usage is intended.`,\n link: `https://v3-migration.vuejs.org/breaking-changes/v-bind.html`\n },\n [\"COMPILER_V_ON_NATIVE\"]: {\n message: `.native modifier for v-on has been removed as is no longer necessary.`,\n link: `https://v3-migration.vuejs.org/breaking-changes/v-on-native-modifier-removed.html`\n },\n [\"COMPILER_V_IF_V_FOR_PRECEDENCE\"]: {\n message: `v-if / v-for precedence when used on the same element has changed in Vue 3: v-if now takes higher precedence and will no longer have access to v-for scope variables. It is best to avoid the ambiguity with <template> tags or use a computed property that filters v-for data source.`,\n link: `https://v3-migration.vuejs.org/breaking-changes/v-if-v-for.html`\n },\n [\"COMPILER_NATIVE_TEMPLATE\"]: {\n message: `<template> with no special directives will render as a native template element instead of its inner content in Vue 3.`\n },\n [\"COMPILER_INLINE_TEMPLATE\"]: {\n message: `\"inline-template\" has been removed in Vue 3.`,\n link: `https://v3-migration.vuejs.org/breaking-changes/inline-template-attribute.html`\n },\n [\"COMPILER_FILTERS\"]: {\n message: `filters have been removed in Vue 3. The \"|\" symbol will be treated as native JavaScript bitwise OR operator. Use method calls or computed properties instead.`,\n link: `https://v3-migration.vuejs.org/breaking-changes/filters.html`\n }\n};\nfunction getCompatValue(key, { compatConfig }) {\n const value = compatConfig && compatConfig[key];\n if (key === \"MODE\") {\n return value || 3;\n } else {\n return value;\n }\n}\nfunction isCompatEnabled(key, context) {\n const mode = getCompatValue(\"MODE\", context);\n const value = getCompatValue(key, context);\n return mode === 3 ? value === true : value !== false;\n}\nfunction checkCompatEnabled(key, context, loc, ...args) {\n const enabled = isCompatEnabled(key, context);\n if (!!(process.env.NODE_ENV !== \"production\") && enabled) {\n warnDeprecation(key, context, loc, ...args);\n }\n return enabled;\n}\nfunction warnDeprecation(key, context, loc, ...args) {\n const val = getCompatValue(key, context);\n if (val === \"suppress-warning\") {\n return;\n }\n const { message, link } = deprecationData[key];\n const msg = `(deprecation ${key}) ${typeof message === \"function\" ? message(...args) : message}${link ? `\n Details: ${link}` : ``}`;\n const err = new SyntaxError(msg);\n err.code = key;\n if (loc)\n err.loc = loc;\n context.onWarn(err);\n}\n\nfunction defaultOnError(error) {\n throw error;\n}\nfunction defaultOnWarn(msg) {\n !!(process.env.NODE_ENV !== \"production\") && console.warn(`[Vue warn] ${msg.message}`);\n}\nfunction createCompilerError(code, loc, messages, additionalMessage) {\n const msg = !!(process.env.NODE_ENV !== \"production\") || false ? (messages || errorMessages)[code] + (additionalMessage || ``) : `https://vuejs.org/error-reference/#compiler-${code}`;\n const error = new SyntaxError(String(msg));\n error.code = code;\n error.loc = loc;\n return error;\n}\nconst ErrorCodes = {\n \"ABRUPT_CLOSING_OF_EMPTY_COMMENT\": 0,\n \"0\": \"ABRUPT_CLOSING_OF_EMPTY_COMMENT\",\n \"CDATA_IN_HTML_CONTENT\": 1,\n \"1\": \"CDATA_IN_HTML_CONTENT\",\n \"DUPLICATE_ATTRIBUTE\": 2,\n \"2\": \"DUPLICATE_ATTRIBUTE\",\n \"END_TAG_WITH_ATTRIBUTES\": 3,\n \"3\": \"END_TAG_WITH_ATTRIBUTES\",\n \"END_TAG_WITH_TRAILING_SOLIDUS\": 4,\n \"4\": \"END_TAG_WITH_TRAILING_SOLIDUS\",\n \"EOF_BEFORE_TAG_NAME\": 5,\n \"5\": \"EOF_BEFORE_TAG_NAME\",\n \"EOF_IN_CDATA\": 6,\n \"6\": \"EOF_IN_CDATA\",\n \"EOF_IN_COMMENT\": 7,\n \"7\": \"EOF_IN_COMMENT\",\n \"EOF_IN_SCRIPT_HTML_COMMENT_LIKE_TEXT\": 8,\n \"8\": \"EOF_IN_SCRIPT_HTML_COMMENT_LIKE_TEXT\",\n \"EOF_IN_TAG\": 9,\n \"9\": \"EOF_IN_TAG\",\n \"INCORRECTLY_CLOSED_COMMENT\": 10,\n \"10\": \"INCORRECTLY_CLOSED_COMMENT\",\n \"INCORRECTLY_OPENED_COMMENT\": 11,\n \"11\": \"INCORRECTLY_OPENED_COMMENT\",\n \"INVALID_FIRST_CHARACTER_OF_TAG_NAME\": 12,\n \"12\": \"INVALID_FIRST_CHARACTER_OF_TAG_NAME\",\n \"MISSING_ATTRIBUTE_VALUE\": 13,\n \"13\": \"MISSING_ATTRIBUTE_VALUE\",\n \"MISSING_END_TAG_NAME\": 14,\n \"14\": \"MISSING_END_TAG_NAME\",\n \"MISSING_WHITESPACE_BETWEEN_ATTRIBUTES\": 15,\n \"15\": \"MISSING_WHITESPACE_BETWEEN_ATTRIBUTES\",\n \"NESTED_COMMENT\": 16,\n \"16\": \"NESTED_COMMENT\",\n \"UNEXPECTED_CHARACTER_IN_ATTRIBUTE_NAME\": 17,\n \"17\": \"UNEXPECTED_CHARACTER_IN_ATTRIBUTE_NAME\",\n \"UNEXPECTED_CHARACTER_IN_UNQUOTED_ATTRIBUTE_VALUE\": 18,\n \"18\": \"UNEXPECTED_CHARACTER_IN_UNQUOTED_ATTRIBUTE_VALUE\",\n \"UNEXPECTED_EQUALS_SIGN_BEFORE_ATTRIBUTE_NAME\": 19,\n \"19\": \"UNEXPECTED_EQUALS_SIGN_BEFORE_ATTRIBUTE_NAME\",\n \"UNEXPECTED_NULL_CHARACTER\": 20,\n \"20\": \"UNEXPECTED_NULL_CHARACTER\",\n \"UNEXPECTED_QUESTION_MARK_INSTEAD_OF_TAG_NAME\": 21,\n \"21\": \"UNEXPECTED_QUESTION_MARK_INSTEAD_OF_TAG_NAME\",\n \"UNEXPECTED_SOLIDUS_IN_TAG\": 22,\n \"22\": \"UNEXPECTED_SOLIDUS_IN_TAG\",\n \"X_INVALID_END_TAG\": 23,\n \"23\": \"X_INVALID_END_TAG\",\n \"X_MISSING_END_TAG\": 24,\n \"24\": \"X_MISSING_END_TAG\",\n \"X_MISSING_INTERPOLATION_END\": 25,\n \"25\": \"X_MISSING_INTERPOLATION_END\",\n \"X_MISSING_DIRECTIVE_NAME\": 26,\n \"26\": \"X_MISSING_DIRECTIVE_NAME\",\n \"X_MISSING_DYNAMIC_DIRECTIVE_ARGUMENT_END\": 27,\n \"27\": \"X_MISSING_DYNAMIC_DIRECTIVE_ARGUMENT_END\",\n \"X_V_IF_NO_EXPRESSION\": 28,\n \"28\": \"X_V_IF_NO_EXPRESSION\",\n \"X_V_IF_SAME_KEY\": 29,\n \"29\": \"X_V_IF_SAME_KEY\",\n \"X_V_ELSE_NO_ADJACENT_IF\": 30,\n \"30\": \"X_V_ELSE_NO_ADJACENT_IF\",\n \"X_V_FOR_NO_EXPRESSION\": 31,\n \"31\": \"X_V_FOR_NO_EXPRESSION\",\n \"X_V_FOR_MALFORMED_EXPRESSION\": 32,\n \"32\": \"X_V_FOR_MALFORMED_EXPRESSION\",\n \"X_V_FOR_TEMPLATE_KEY_PLACEMENT\": 33,\n \"33\": \"X_V_FOR_TEMPLATE_KEY_PLACEMENT\",\n \"X_V_BIND_NO_EXPRESSION\": 34,\n \"34\": \"X_V_BIND_NO_EXPRESSION\",\n \"X_V_ON_NO_EXPRESSION\": 35,\n \"35\": \"X_V_ON_NO_EXPRESSION\",\n \"X_V_SLOT_UNEXPECTED_DIRECTIVE_ON_SLOT_OUTLET\": 36,\n \"36\": \"X_V_SLOT_UNEXPECTED_DIRECTIVE_ON_SLOT_OUTLET\",\n \"X_V_SLOT_MIXED_SLOT_USAGE\": 37,\n \"37\": \"X_V_SLOT_MIXED_SLOT_USAGE\",\n \"X_V_SLOT_DUPLICATE_SLOT_NAMES\": 38,\n \"38\": \"X_V_SLOT_DUPLICATE_SLOT_NAMES\",\n \"X_V_SLOT_EXTRANEOUS_DEFAULT_SLOT_CHILDREN\": 39,\n \"39\": \"X_V_SLOT_EXTRANEOUS_DEFAULT_SLOT_CHILDREN\",\n \"X_V_SLOT_MISPLACED\": 40,\n \"40\": \"X_V_SLOT_MISPLACED\",\n \"X_V_MODEL_NO_EXPRESSION\": 41,\n \"41\": \"X_V_MODEL_NO_EXPRESSION\",\n \"X_V_MODEL_MALFORMED_EXPRESSION\": 42,\n \"42\": \"X_V_MODEL_MALFORMED_EXPRESSION\",\n \"X_V_MODEL_ON_SCOPE_VARIABLE\": 43,\n \"43\": \"X_V_MODEL_ON_SCOPE_VARIABLE\",\n \"X_V_MODEL_ON_PROPS\": 44,\n \"44\": \"X_V_MODEL_ON_PROPS\",\n \"X_INVALID_EXPRESSION\": 45,\n \"45\": \"X_INVALID_EXPRESSION\",\n \"X_KEEP_ALIVE_INVALID_CHILDREN\": 46,\n \"46\": \"X_KEEP_ALIVE_INVALID_CHILDREN\",\n \"X_PREFIX_ID_NOT_SUPPORTED\": 47,\n \"47\": \"X_PREFIX_ID_NOT_SUPPORTED\",\n \"X_MODULE_MODE_NOT_SUPPORTED\": 48,\n \"48\": \"X_MODULE_MODE_NOT_SUPPORTED\",\n \"X_CACHE_HANDLER_NOT_SUPPORTED\": 49,\n \"49\": \"X_CACHE_HANDLER_NOT_SUPPORTED\",\n \"X_SCOPE_ID_NOT_SUPPORTED\": 50,\n \"50\": \"X_SCOPE_ID_NOT_SUPPORTED\",\n \"X_VNODE_HOOKS\": 51,\n \"51\": \"X_VNODE_HOOKS\",\n \"__EXTEND_POINT__\": 52,\n \"52\": \"__EXTEND_POINT__\"\n};\nconst errorMessages = {\n // parse errors\n [0]: \"Illegal comment.\",\n [1]: \"CDATA section is allowed only in XML context.\",\n [2]: \"Duplicate attribute.\",\n [3]: \"End tag cannot have attributes.\",\n [4]: \"Illegal '/' in tags.\",\n [5]: \"Unexpected EOF in tag.\",\n [6]: \"Unexpected EOF in CDATA section.\",\n [7]: \"Unexpected EOF in comment.\",\n [8]: \"Unexpected EOF in script.\",\n [9]: \"Unexpected EOF in tag.\",\n [10]: \"Incorrectly closed comment.\",\n [11]: \"Incorrectly opened comment.\",\n [12]: \"Illegal tag name. Use '<' to print '<'.\",\n [13]: \"Attribute value was expected.\",\n [14]: \"End tag name was expected.\",\n [15]: \"Whitespace was expected.\",\n [16]: \"Unexpected '<!--' in comment.\",\n [17]: `Attribute name cannot contain U+0022 (\"), U+0027 ('), and U+003C (<).`,\n [18]: \"Unquoted attribute value cannot contain U+0022 (\\\"), U+0027 ('), U+003C (<), U+003D (=), and U+0060 (`).\",\n [19]: \"Attribute name cannot start with '='.\",\n [21]: \"'<?' is allowed only in XML context.\",\n [20]: `Unexpected null character.`,\n [22]: \"Illegal '/' in tags.\",\n // Vue-specific parse errors\n [23]: \"Invalid end tag.\",\n [24]: \"Element is missing end tag.\",\n [25]: \"Interpolation end sign was not found.\",\n [27]: \"End bracket for dynamic directive argument was not found. Note that dynamic directive argument cannot contain spaces.\",\n [26]: \"Legal directive name was expected.\",\n // transform errors\n [28]: `v-if/v-else-if is missing expression.`,\n [29]: `v-if/else branches must use unique keys.`,\n [30]: `v-else/v-else-if has no adjacent v-if or v-else-if.`,\n [31]: `v-for is missing expression.`,\n [32]: `v-for has invalid expression.`,\n [33]: `<template v-for> key should be placed on the <template> tag.`,\n [34]: `v-bind is missing expression.`,\n [35]: `v-on is missing expression.`,\n [36]: `Unexpected custom directive on <slot> outlet.`,\n [37]: `Mixed v-slot usage on both the component and nested <template>. When there are multiple named slots, all slots should use <template> syntax to avoid scope ambiguity.`,\n [38]: `Duplicate slot names found. `,\n [39]: `Extraneous children found when component already has explicitly named default slot. These children will be ignored.`,\n [40]: `v-slot can only be used on components or <template> tags.`,\n [41]: `v-model is missing expression.`,\n [42]: `v-model value must be a valid JavaScript member expression.`,\n [43]: `v-model cannot be used on v-for or v-slot scope variables because they are not writable.`,\n [44]: `v-model cannot be used on a prop, because local prop bindings are not writable.\nUse a v-bind binding combined with a v-on listener that emits update:x event instead.`,\n [45]: `Error parsing JavaScript expression: `,\n [46]: `<KeepAlive> expects exactly one child component.`,\n [51]: `@vnode-* hooks in templates are no longer supported. Use the vue: prefix instead. For example, @vnode-mounted should be changed to @vue:mounted. @vnode-* hooks support has been removed in 3.4.`,\n // generic errors\n [47]: `\"prefixIdentifiers\" option is not supported in this build of compiler.`,\n [48]: `ES module mode is not supported in this build of compiler.`,\n [49]: `\"cacheHandlers\" option is only supported when the \"prefixIdentifiers\" option is enabled.`,\n [50]: `\"scopeId\" option is only supported in module mode.`,\n // just to fulfill types\n [52]: ``\n};\n\nfunction walkIdentifiers(root, onIdentifier, includeAll = false, parentStack = [], knownIds = /* @__PURE__ */ Object.create(null)) {\n {\n return;\n }\n}\nfunction isReferencedIdentifier(id, parent, parentStack) {\n {\n return false;\n }\n}\nfunction isInDestructureAssignment(parent, parentStack) {\n if (parent && (parent.type === \"ObjectProperty\" || parent.type === \"ArrayPattern\")) {\n let i = parentStack.length;\n while (i--) {\n const p = parentStack[i];\n if (p.type === \"AssignmentExpression\") {\n return true;\n } else if (p.type !== \"ObjectProperty\" && !p.type.endsWith(\"Pattern\")) {\n break;\n }\n }\n }\n return false;\n}\nfunction isInNewExpression(parentStack) {\n let i = parentStack.length;\n while (i--) {\n const p = parentStack[i];\n if (p.type === \"NewExpression\") {\n return true;\n } else if (p.type !== \"MemberExpression\") {\n break;\n }\n }\n return false;\n}\nfunction walkFunctionParams(node, onIdent) {\n for (const p of node.params) {\n for (const id of extractIdentifiers(p)) {\n onIdent(id);\n }\n }\n}\nfunction walkBlockDeclarations(block, onIdent) {\n for (const stmt of block.body) {\n if (stmt.type === \"VariableDeclaration\") {\n if (stmt.declare)\n continue;\n for (const decl of stmt.declarations) {\n for (const id of extractIdentifiers(decl.id)) {\n onIdent(id);\n }\n }\n } else if (stmt.type === \"FunctionDeclaration\" || stmt.type === \"ClassDeclaration\") {\n if (stmt.declare || !stmt.id)\n continue;\n onIdent(stmt.id);\n } else if (stmt.type === \"ForOfStatement\" || stmt.type === \"ForInStatement\" || stmt.type === \"ForStatement\") {\n const variable = stmt.type === \"ForStatement\" ? stmt.init : stmt.left;\n if (variable && variable.type === \"VariableDeclaration\") {\n for (const decl of variable.declarations) {\n for (const id of extractIdentifiers(decl.id)) {\n onIdent(id);\n }\n }\n }\n }\n }\n}\nfunction extractIdentifiers(param, nodes = []) {\n switch (param.type) {\n case \"Identifier\":\n nodes.push(param);\n break;\n case \"MemberExpression\":\n let object = param;\n while (object.type === \"MemberExpression\") {\n object = object.object;\n }\n nodes.push(object);\n break;\n case \"ObjectPattern\":\n for (const prop of param.properties) {\n if (prop.type === \"RestElement\") {\n extractIdentifiers(prop.argument, nodes);\n } else {\n extractIdentifiers(prop.value, nodes);\n }\n }\n break;\n case \"ArrayPattern\":\n param.elements.forEach((element) => {\n if (element)\n extractIdentifiers(element, nodes);\n });\n break;\n case \"RestElement\":\n extractIdentifiers(param.argument, nodes);\n break;\n case \"AssignmentPattern\":\n extractIdentifiers(param.left, nodes);\n break;\n }\n return nodes;\n}\nconst isFunctionType = (node) => {\n return /Function(?:Expression|Declaration)$|Method$/.test(node.type);\n};\nconst isStaticProperty = (node) => node && (node.type === \"ObjectProperty\" || node.type === \"ObjectMethod\") && !node.computed;\nconst isStaticPropertyKey = (node, parent) => isStaticProperty(parent) && parent.key === node;\nconst TS_NODE_TYPES = [\n \"TSAsExpression\",\n // foo as number\n \"TSTypeAssertion\",\n // (<number>foo)\n \"TSNonNullExpression\",\n // foo!\n \"TSInstantiationExpression\",\n // foo<string>\n \"TSSatisfiesExpression\"\n // foo satisfies T\n];\nfunction unwrapTSNode(node) {\n if (TS_NODE_TYPES.includes(node.type)) {\n return unwrapTSNode(node.expression);\n } else {\n return node;\n }\n}\n\nconst isStaticExp = (p) => p.type === 4 && p.isStatic;\nfunction isCoreComponent(tag) {\n switch (tag) {\n case \"Teleport\":\n case \"teleport\":\n return TELEPORT;\n case \"Suspense\":\n case \"suspense\":\n return SUSPENSE;\n case \"KeepAlive\":\n case \"keep-alive\":\n return KEEP_ALIVE;\n case \"BaseTransition\":\n case \"base-transition\":\n return BASE_TRANSITION;\n }\n}\nconst nonIdentifierRE = /^\\d|[^\\$\\w]/;\nconst isSimpleIdentifier = (name) => !nonIdentifierRE.test(name);\nconst validFirstIdentCharRE = /[A-Za-z_$\\xA0-\\uFFFF]/;\nconst validIdentCharRE = /[\\.\\?\\w$\\xA0-\\uFFFF]/;\nconst whitespaceRE = /\\s+[.[]\\s*|\\s*[.[]\\s+/g;\nconst isMemberExpressionBrowser = (path) => {\n path = path.trim().replace(whitespaceRE, (s) => s.trim());\n let state = 0 /* inMemberExp */;\n let stateStack = [];\n let currentOpenBracketCount = 0;\n let currentOpenParensCount = 0;\n let currentStringType = null;\n for (let i = 0; i < path.length; i++) {\n const char = path.charAt(i);\n switch (state) {\n case 0 /* inMemberExp */:\n if (char === \"[\") {\n stateStack.push(state);\n state = 1 /* inBrackets */;\n currentOpenBracketCount++;\n } else if (char === \"(\") {\n stateStack.push(state);\n state = 2 /* inParens */;\n currentOpenParensCount++;\n } else if (!(i === 0 ? validFirstIdentCharRE : validIdentCharRE).test(char)) {\n return false;\n }\n break;\n case 1 /* inBrackets */:\n if (char === `'` || char === `\"` || char === \"`\") {\n stateStack.push(state);\n state = 3 /* inString */;\n currentStringType = char;\n } else if (char === `[`) {\n currentOpenBracketCount++;\n } else if (char === `]`) {\n if (!--currentOpenBracketCount) {\n state = stateStack.pop();\n }\n }\n break;\n case 2 /* inParens */:\n if (char === `'` || char === `\"` || char === \"`\") {\n stateStack.push(state);\n state = 3 /* inString */;\n currentStringType = char;\n } else if (char === `(`) {\n currentOpenParensCount++;\n } else if (char === `)`) {\n if (i === path.length - 1) {\n return false;\n }\n if (!--currentOpenParensCount) {\n state = stateStack.pop();\n }\n }\n break;\n case 3 /* inString */:\n if (char === currentStringType) {\n state = stateStack.pop();\n currentStringType = null;\n }\n break;\n }\n }\n return !currentOpenBracketCount && !currentOpenParensCount;\n};\nconst isMemberExpressionNode = NOOP ;\nconst isMemberExpression = isMemberExpressionBrowser ;\nfunction advancePositionWithClone(pos, source, numberOfCharacters = source.length) {\n return advancePositionWithMutation(\n {\n offset: pos.offset,\n line: pos.line,\n column: pos.column\n },\n source,\n numberOfCharacters\n );\n}\nfunction advancePositionWithMutation(pos, source, numberOfCharacters = source.length) {\n let linesCount = 0;\n let lastNewLinePos = -1;\n for (let i = 0; i < numberOfCharacters; i++) {\n if (source.charCodeAt(i) === 10) {\n linesCount++;\n lastNewLinePos = i;\n }\n }\n pos.offset += numberOfCharacters;\n pos.line += linesCount;\n pos.column = lastNewLinePos === -1 ? pos.column + numberOfCharacters : numberOfCharacters - lastNewLinePos;\n return pos;\n}\nfunction assert(condition, msg) {\n if (!condition) {\n throw new Error(msg || `unexpected compiler condition`);\n }\n}\nfunction findDir(node, name, allowEmpty = false) {\n for (let i = 0; i < node.props.length; i++) {\n const p = node.props[i];\n if (p.type === 7 && (allowEmpty || p.exp) && (isString(name) ? p.name === name : name.test(p.name))) {\n return p;\n }\n }\n}\nfunction findProp(node, name, dynamicOnly = false, allowEmpty = false) {\n for (let i = 0; i < node.props.length; i++) {\n const p = node.props[i];\n if (p.type === 6) {\n if (dynamicOnly)\n continue;\n if (p.name === name && (p.value || allowEmpty)) {\n return p;\n }\n } else if (p.name === \"bind\" && (p.exp || allowEmpty) && isStaticArgOf(p.arg, name)) {\n return p;\n }\n }\n}\nfunction isStaticArgOf(arg, name) {\n return !!(arg && isStaticExp(arg) && arg.content === name);\n}\nfunction hasDynamicKeyVBind(node) {\n return node.props.some(\n (p) => p.type === 7 && p.name === \"bind\" && (!p.arg || // v-bind=\"obj\"\n p.arg.type !== 4 || // v-bind:[_ctx.foo]\n !p.arg.isStatic)\n // v-bind:[foo]\n );\n}\nfunction isText$1(node) {\n return node.type === 5 || node.type === 2;\n}\nfunction isVSlot(p) {\n return p.type === 7 && p.name === \"slot\";\n}\nfunction isTemplateNode(node) {\n return node.type === 1 && node.tagType === 3;\n}\nfunction isSlotOutlet(node) {\n return node.type === 1 && node.tagType === 2;\n}\nconst propsHelperSet = /* @__PURE__ */ new Set([NORMALIZE_PROPS, GUARD_REACTIVE_PROPS]);\nfunction getUnnormalizedProps(props, callPath = []) {\n if (props && !isString(props) && props.type === 14) {\n const callee = props.callee;\n if (!isString(callee) && propsHelperSet.has(callee)) {\n return getUnnormalizedProps(\n props.arguments[0],\n callPath.concat(props)\n );\n }\n }\n return [props, callPath];\n}\nfunction injectProp(node, prop, context) {\n let propsWithInjection;\n let props = node.type === 13 ? node.props : node.arguments[2];\n let callPath = [];\n let parentCall;\n if (props && !isString(props) && props.type === 14) {\n const ret = getUnnormalizedProps(props);\n props = ret[0];\n callPath = ret[1];\n parentCall = callPath[callPath.length - 1];\n }\n if (props == null || isString(props)) {\n propsWithInjection = createObjectExpression([prop]);\n } else if (props.type === 14) {\n const first = props.arguments[0];\n if (!isString(first) && first.type === 15) {\n if (!hasProp(prop, first)) {\n first.properties.unshift(prop);\n }\n } else {\n if (props.callee === TO_HANDLERS) {\n propsWithInjection = createCallExpression(context.helper(MERGE_PROPS), [\n createObjectExpression([prop]),\n props\n ]);\n } else {\n props.arguments.unshift(createObjectExpression([prop]));\n }\n }\n !propsWithInjection && (propsWithInjection = props);\n } else if (props.type === 15) {\n if (!hasProp(prop, props)) {\n props.properties.unshift(prop);\n }\n propsWithInjection = props;\n } else {\n propsWithInjection = createCallExpression(context.helper(MERGE_PROPS), [\n createObjectExpression([prop]),\n props\n ]);\n if (parentCall && parentCall.callee === GUARD_REACTIVE_PROPS) {\n parentCall = callPath[callPath.length - 2];\n }\n }\n if (node.type === 13) {\n if (parentCall) {\n parentCall.arguments[0] = propsWithInjection;\n } else {\n node.props = propsWithInjection;\n }\n } else {\n if (parentCall) {\n parentCall.arguments[0] = propsWithInjection;\n } else {\n node.arguments[2] = propsWithInjection;\n }\n }\n}\nfunction hasProp(prop, props) {\n let result = false;\n if (prop.key.type === 4) {\n const propKeyName = prop.key.content;\n result = props.properties.some(\n (p) => p.key.type === 4 && p.key.content === propKeyName\n );\n }\n return result;\n}\nfunction toValidAssetId(name, type) {\n return `_${type}_${name.replace(/[^\\w]/g, (searchValue, replaceValue) => {\n return searchValue === \"-\" ? \"_\" : name.charCodeAt(replaceValue).toString();\n })}`;\n}\nfunction hasScopeRef(node, ids) {\n if (!node || Object.keys(ids).length === 0) {\n return false;\n }\n switch (node.type) {\n case 1:\n for (let i = 0; i < node.props.length; i++) {\n const p = node.props[i];\n if (p.type === 7 && (hasScopeRef(p.arg, ids) || hasScopeRef(p.exp, ids))) {\n return true;\n }\n }\n return node.children.some((c) => hasScopeRef(c, ids));\n case 11:\n if (hasScopeRef(node.source, ids)) {\n return true;\n }\n return node.children.some((c) => hasScopeRef(c, ids));\n case 9:\n return node.branches.some((b) => hasScopeRef(b, ids));\n case 10:\n if (hasScopeRef(node.condition, ids)) {\n return true;\n }\n return node.children.some((c) => hasScopeRef(c, ids));\n case 4:\n return !node.isStatic && isSimpleIdentifier(node.content) && !!ids[node.content];\n case 8:\n return node.children.some((c) => isObject(c) && hasScopeRef(c, ids));\n case 5:\n case 12:\n return hasScopeRef(node.content, ids);\n case 2:\n case 3:\n return false;\n default:\n if (!!(process.env.NODE_ENV !== \"production\")) ;\n return false;\n }\n}\nfunction getMemoedVNodeCall(node) {\n if (node.type === 14 && node.callee === WITH_MEMO) {\n return node.arguments[1].returns;\n } else {\n return node;\n }\n}\nconst forAliasRE = /([\\s\\S]*?)\\s+(?:in|of)\\s+([\\s\\S]*)/;\n\nconst defaultParserOptions = {\n parseMode: \"base\",\n ns: 0,\n delimiters: [`{{`, `}}`],\n getNamespace: () => 0,\n isVoidTag: NO,\n isPreTag: NO,\n isCustomElement: NO,\n onError: defaultOnError,\n onWarn: defaultOnWarn,\n comments: !!(process.env.NODE_ENV !== \"production\"),\n prefixIdentifiers: false\n};\nlet currentOptions = defaultParserOptions;\nlet currentRoot = null;\nlet currentInput = \"\";\nlet currentOpenTag = null;\nlet currentProp = null;\nlet currentAttrValue = \"\";\nlet currentAttrStartIndex = -1;\nlet currentAttrEndIndex = -1;\nlet inPre = 0;\nlet inVPre = false;\nlet currentVPreBoundary = null;\nconst stack = [];\nconst tokenizer = new Tokenizer(stack, {\n onerr: emitError,\n ontext(start, end) {\n onText(getSlice(start, end), start, end);\n },\n ontextentity(char, start, end) {\n onText(char, start, end);\n },\n oninterpolation(start, end) {\n if (inVPre) {\n return onText(getSlice(start, end), start, end);\n }\n let innerStart = start + tokenizer.delimiterOpen.length;\n let innerEnd = end - tokenizer.delimiterClose.length;\n while (isWhitespace(currentInput.charCodeAt(innerStart))) {\n innerStart++;\n }\n while (isWhitespace(currentInput.charCodeAt(innerEnd - 1))) {\n innerEnd--;\n }\n let exp = getSlice(innerStart, innerEnd);\n if (exp.includes(\"&\")) {\n {\n exp = currentOptions.decodeEntities(exp, false);\n }\n }\n addNode({\n type: 5,\n content: createExp(exp, false, getLoc(innerStart, innerEnd)),\n loc: getLoc(start, end)\n });\n },\n onopentagname(start, end) {\n const name = getSlice(start, end);\n currentOpenTag = {\n type: 1,\n tag: name,\n ns: currentOptions.getNamespace(name, stack[0], currentOptions.ns),\n tagType: 0,\n // will be refined on tag close\n props: [],\n children: [],\n loc: getLoc(start - 1, end),\n codegenNode: void 0\n };\n },\n onopentagend(end) {\n endOpenTag(end);\n },\n onclosetag(start, end) {\n const name = getSlice(start, end);\n if (!currentOptions.isVoidTag(name)) {\n let found = false;\n for (let i = 0; i < stack.length; i++) {\n const e = stack[i];\n if (e.tag.toLowerCase() === name.toLowerCase()) {\n found = true;\n if (i > 0) {\n emitError(24, stack[0].loc.start.offset);\n }\n for (let j = 0; j <= i; j++) {\n const el = stack.shift();\n onCloseTag(el, end, j < i);\n }\n break;\n }\n }\n if (!found) {\n emitError(23, backTrack(start, 60));\n }\n }\n },\n onselfclosingtag(end) {\n var _a;\n const name = currentOpenTag.tag;\n currentOpenTag.isSelfClosing = true;\n endOpenTag(end);\n if (((_a = stack[0]) == null ? void 0 : _a.tag) === name) {\n onCloseTag(stack.shift(), end);\n }\n },\n onattribname(start, end) {\n currentProp = {\n type: 6,\n name: getSlice(start, end),\n nameLoc: getLoc(start, end),\n value: void 0,\n loc: getLoc(start)\n };\n },\n ondirname(start, end) {\n const raw = getSlice(start, end);\n const name = raw === \".\" || raw === \":\" ? \"bind\" : raw === \"@\" ? \"on\" : raw === \"#\" ? \"slot\" : raw.slice(2);\n if (!inVPre && name === \"\") {\n emitError(26, start);\n }\n if (inVPre || name === \"\") {\n currentProp = {\n type: 6,\n name: raw,\n nameLoc: getLoc(start, end),\n value: void 0,\n loc: getLoc(start)\n };\n } else {\n currentProp = {\n type: 7,\n name,\n rawName: raw,\n exp: void 0,\n arg: void 0,\n modifiers: raw === \".\" ? [\"prop\"] : [],\n loc: getLoc(start)\n };\n if (name === \"pre\") {\n inVPre = tokenizer.inVPre = true;\n currentVPreBoundary = currentOpenTag;\n const props = currentOpenTag.props;\n for (let i = 0; i < props.length; i++) {\n if (props[i].type === 7) {\n props[i] = dirToAttr(props[i]);\n }\n }\n }\n }\n },\n ondirarg(start, end) {\n if (start === end)\n return;\n const arg = getSlice(start, end);\n if (inVPre) {\n currentProp.name += arg;\n setLocEnd(currentProp.nameLoc, end);\n } else {\n const isStatic = arg[0] !== `[`;\n currentProp.arg = createExp(\n isStatic ? arg : arg.slice(1, -1),\n isStatic,\n getLoc(start, end),\n isStatic ? 3 : 0\n );\n }\n },\n ondirmodifier(start, end) {\n const mod = getSlice(start, end);\n if (inVPre) {\n currentProp.name += \".\" + mod;\n setLocEnd(currentProp.nameLoc, end);\n } else if (currentProp.name === \"slot\") {\n const arg = currentProp.arg;\n if (arg) {\n arg.content += \".\" + mod;\n setLocEnd(arg.loc, end);\n }\n } else {\n currentProp.modifiers.push(mod);\n }\n },\n onattribdata(start, end) {\n currentAttrValue += getSlice(start, end);\n if (currentAttrStartIndex < 0)\n currentAttrStartIndex = start;\n currentAttrEndIndex = end;\n },\n onattribentity(char, start, end) {\n currentAttrValue += char;\n if (currentAttrStartIndex < 0)\n currentAttrStartIndex = start;\n currentAttrEndIndex = end;\n },\n onattribnameend(end) {\n const start = currentProp.loc.start.offset;\n const name = getSlice(start, end);\n if (currentProp.type === 7) {\n currentProp.rawName = name;\n }\n if (currentOpenTag.props.some(\n (p) => (p.type === 7 ? p.rawName : p.name) === name\n )) {\n emitError(2, start);\n }\n },\n onattribend(quote, end) {\n if (currentOpenTag && currentProp) {\n setLocEnd(currentProp.loc, end);\n if (quote !== 0) {\n if (currentAttrValue.includes(\"&\")) {\n currentAttrValue = currentOptions.decodeEntities(\n currentAttrValue,\n true\n );\n }\n if (currentProp.type === 6) {\n if (currentProp.name === \"class\") {\n currentAttrValue = condense(currentAttrValue).trim();\n }\n if (quote === 1 && !currentAttrValue) {\n emitError(13, end);\n }\n currentProp.value = {\n type: 2,\n content: currentAttrValue,\n loc: quote === 1 ? getLoc(currentAttrStartIndex, currentAttrEndIndex) : getLoc(currentAttrStartIndex - 1, currentAttrEndIndex + 1)\n };\n if (tokenizer.inSFCRoot && currentOpenTag.tag === \"template\" && currentProp.name === \"lang\" && currentAttrValue && currentAttrValue !== \"html\") {\n tokenizer.enterRCDATA(toCharCodes(`</template`), 0);\n }\n } else {\n let expParseMode = 0 /* Normal */;\n currentProp.exp = createExp(\n currentAttrValue,\n false,\n getLoc(currentAttrStartIndex, currentAttrEndIndex),\n 0,\n expParseMode\n );\n if (currentProp.name === \"for\") {\n currentProp.forParseResult = parseForExpression(currentProp.exp);\n }\n let syncIndex = -1;\n if (currentProp.name === \"bind\" && (syncIndex = currentProp.modifiers.indexOf(\"sync\")) > -1 && checkCompatEnabled(\n \"COMPILER_V_BIND_SYNC\",\n currentOptions,\n currentProp.loc,\n currentProp.rawName\n )) {\n currentProp.name = \"model\";\n currentProp.modifiers.splice(syncIndex, 1);\n }\n }\n }\n if (currentProp.type !== 7 || currentProp.name !== \"pre\") {\n currentOpenTag.props.push(currentProp);\n }\n }\n currentAttrValue = \"\";\n currentAttrStartIndex = currentAttrEndIndex = -1;\n },\n oncomment(start, end) {\n if (currentOptions.comments) {\n addNode({\n type: 3,\n content: getSlice(start, end),\n loc: getLoc(start - 4, end + 3)\n });\n }\n },\n onend() {\n const end = currentInput.length;\n if ((!!(process.env.NODE_ENV !== \"production\") || false) && tokenizer.state !== 1) {\n switch (tokenizer.state) {\n case 5:\n case 8:\n emitError(5, end);\n break;\n case 3:\n case 4:\n emitError(\n 25,\n tokenizer.sectionStart\n );\n break;\n case 28:\n if (tokenizer.currentSequence === Sequences.CdataEnd) {\n emitError(6, end);\n } else {\n emitError(7, end);\n }\n break;\n case 6:\n case 7:\n case 9:\n case 11:\n case 12:\n case 13:\n case 14:\n case 15:\n case 16:\n case 17:\n case 18:\n case 19:\n case 20:\n case 21:\n emitError(9, end);\n break;\n }\n }\n for (let index = 0; index < stack.length; index++) {\n onCloseTag(stack[index], end - 1);\n emitError(24, stack[index].loc.start.offset);\n }\n },\n oncdata(start, end) {\n if (stack[0].ns !== 0) {\n onText(getSlice(start, end), start, end);\n } else {\n emitError(1, start - 9);\n }\n },\n onprocessinginstruction(start) {\n if ((stack[0] ? stack[0].ns : currentOptions.ns) === 0) {\n emitError(\n 21,\n start - 1\n );\n }\n }\n});\nconst forIteratorRE = /,([^,\\}\\]]*)(?:,([^,\\}\\]]*))?$/;\nconst stripParensRE = /^\\(|\\)$/g;\nfunction parseForExpression(input) {\n const loc = input.loc;\n const exp = input.content;\n const inMatch = exp.match(forAliasRE);\n if (!inMatch)\n return;\n const [, LHS, RHS] = inMatch;\n const createAliasExpression = (content, offset, asParam = false) => {\n const start = loc.start.offset + offset;\n const end = start + content.length;\n return createExp(\n content,\n false,\n getLoc(start, end),\n 0,\n asParam ? 1 /* Params */ : 0 /* Normal */\n );\n };\n const result = {\n source: createAliasExpression(RHS.trim(), exp.indexOf(RHS, LHS.length)),\n value: void 0,\n key: void 0,\n index: void 0,\n finalized: false\n };\n let valueContent = LHS.trim().replace(stripParensRE, \"\").trim();\n const trimmedOffset = LHS.indexOf(valueContent);\n const iteratorMatch = valueContent.match(forIteratorRE);\n if (iteratorMatch) {\n valueContent = valueContent.replace(forIteratorRE, \"\").trim();\n const keyContent = iteratorMatch[1].trim();\n let keyOffset;\n if (keyContent) {\n keyOffset = exp.indexOf(keyContent, trimmedOffset + valueContent.length);\n result.key = createAliasExpression(keyContent, keyOffset, true);\n }\n if (iteratorMatch[2]) {\n const indexContent = iteratorMatch[2].trim();\n if (indexContent) {\n result.index = createAliasExpression(\n indexContent,\n exp.indexOf(\n indexContent,\n result.key ? keyOffset + keyContent.length : trimmedOffset + valueContent.length\n ),\n true\n );\n }\n }\n }\n if (valueContent) {\n result.value = createAliasExpression(valueContent, trimmedOffset, true);\n }\n return result;\n}\nfunction getSlice(start, end) {\n return currentInput.slice(start, end);\n}\nfunction endOpenTag(end) {\n if (tokenizer.inSFCRoot) {\n currentOpenTag.innerLoc = getLoc(end + 1, end + 1);\n }\n addNode(currentOpenTag);\n const { tag, ns } = currentOpenTag;\n if (ns === 0 && currentOptions.isPreTag(tag)) {\n inPre++;\n }\n if (currentOptions.isVoidTag(tag)) {\n onCloseTag(currentOpenTag, end);\n } else {\n stack.unshift(currentOpenTag);\n if (ns === 1 || ns === 2) {\n tokenizer.inXML = true;\n }\n }\n currentOpenTag = null;\n}\nfunction onText(content, start, end) {\n var _a;\n {\n const tag = (_a = stack[0]) == null ? void 0 : _a.tag;\n if (tag !== \"script\" && tag !== \"style\" && content.includes(\"&\")) {\n content = currentOptions.decodeEntities(content, false);\n }\n }\n const parent = stack[0] || currentRoot;\n const lastNode = parent.children[parent.children.length - 1];\n if ((lastNode == null ? void 0 : lastNode.type) === 2) {\n lastNode.content += content;\n setLocEnd(lastNode.loc, end);\n } else {\n parent.children.push({\n type: 2,\n content,\n loc: getLoc(start, end)\n });\n }\n}\nfunction onCloseTag(el, end, isImplied = false) {\n if (isImplied) {\n setLocEnd(el.loc, backTrack(end, 60));\n } else {\n setLocEnd(el.loc, end + 1);\n }\n if (tokenizer.inSFCRoot) {\n if (el.children.length) {\n el.innerLoc.end = extend({}, el.children[el.children.length - 1].loc.end);\n } else {\n el.innerLoc.end = extend({}, el.innerLoc.start);\n }\n el.innerLoc.source = getSlice(\n el.innerLoc.start.offset,\n el.innerLoc.end.offset\n );\n }\n const { tag, ns } = el;\n if (!inVPre) {\n if (tag === \"slot\") {\n el.tagType = 2;\n } else if (isFragmentTemplate(el)) {\n el.tagType = 3;\n } else if (isComponent(el)) {\n el.tagType = 1;\n }\n }\n if (!tokenizer.inRCDATA) {\n el.children = condenseWhitespace(el.children, el.tag);\n }\n if (ns === 0 && currentOptions.isPreTag(tag)) {\n inPre--;\n }\n if (currentVPreBoundary === el) {\n inVPre = tokenizer.inVPre = false;\n currentVPreBoundary = null;\n }\n if (tokenizer.inXML && (stack[0] ? stack[0].ns : currentOptions.ns) === 0) {\n tokenizer.inXML = false;\n }\n {\n const props = el.props;\n if (!!(process.env.NODE_ENV !== \"production\") && isCompatEnabled(\n \"COMPILER_V_IF_V_FOR_PRECEDENCE\",\n currentOptions\n )) {\n let hasIf = false;\n let hasFor = false;\n for (let i = 0; i < props.length; i++) {\n const p = props[i];\n if (p.type === 7) {\n if (p.name === \"if\") {\n hasIf = true;\n } else if (p.name === \"for\") {\n hasFor = true;\n }\n }\n if (hasIf && hasFor) {\n warnDeprecation(\n \"COMPILER_V_IF_V_FOR_PRECEDENCE\",\n currentOptions,\n el.loc\n );\n break;\n }\n }\n }\n if (!tokenizer.inSFCRoot && isCompatEnabled(\n \"COMPILER_NATIVE_TEMPLATE\",\n currentOptions\n ) && el.tag === \"template\" && !isFragmentTemplate(el)) {\n !!(process.env.NODE_ENV !== \"production\") && warnDeprecation(\n \"COMPILER_NATIVE_TEMPLATE\",\n currentOptions,\n el.loc\n );\n const parent = stack[0] || currentRoot;\n const index = parent.children.indexOf(el);\n parent.children.splice(index, 1, ...el.children);\n }\n const inlineTemplateProp = props.find(\n (p) => p.type === 6 && p.name === \"inline-template\"\n );\n if (inlineTemplateProp && checkCompatEnabled(\n \"COMPILER_INLINE_TEMPLATE\",\n currentOptions,\n inlineTemplateProp.loc\n ) && el.children.length) {\n inlineTemplateProp.value = {\n type: 2,\n content: getSlice(\n el.children[0].loc.start.offset,\n el.children[el.children.length - 1].loc.end.offset\n ),\n loc: inlineTemplateProp.loc\n };\n }\n }\n}\nfunction backTrack(index, c) {\n let i = index;\n while (currentInput.charCodeAt(i) !== c && i >= 0)\n i--;\n return i;\n}\nconst specialTemplateDir = /* @__PURE__ */ new Set([\"if\", \"else\", \"else-if\", \"for\", \"slot\"]);\nfunction isFragmentTemplate({ tag, props }) {\n if (tag === \"template\") {\n for (let i = 0; i < props.length; i++) {\n if (props[i].type === 7 && specialTemplateDir.has(props[i].name)) {\n return true;\n }\n }\n }\n return false;\n}\nfunction isComponent({ tag, props }) {\n var _a;\n if (currentOptions.isCustomElement(tag)) {\n return false;\n }\n if (tag === \"component\" || isUpperCase(tag.charCodeAt(0)) || isCoreComponent(tag) || ((_a = currentOptions.isBuiltInComponent) == null ? void 0 : _a.call(currentOptions, tag)) || currentOptions.isNativeTag && !currentOptions.isNativeTag(tag)) {\n return true;\n }\n for (let i = 0; i < props.length; i++) {\n const p = props[i];\n if (p.type === 6) {\n if (p.name === \"is\" && p.value) {\n if (p.value.content.startsWith(\"vue:\")) {\n return true;\n } else if (checkCompatEnabled(\n \"COMPILER_IS_ON_ELEMENT\",\n currentOptions,\n p.loc\n )) {\n return true;\n }\n }\n } else if (// :is on plain element - only treat as component in compat mode\n p.name === \"bind\" && isStaticArgOf(p.arg, \"is\") && checkCompatEnabled(\n \"COMPILER_IS_ON_ELEMENT\",\n currentOptions,\n p.loc\n )) {\n return true;\n }\n }\n return false;\n}\nfunction isUpperCase(c) {\n return c > 64 && c < 91;\n}\nconst windowsNewlineRE = /\\r\\n/g;\nfunction condenseWhitespace(nodes, tag) {\n var _a, _b;\n const shouldCondense = currentOptions.whitespace !== \"preserve\";\n let removedWhitespace = false;\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n if (node.type === 2) {\n if (!inPre) {\n if (isAllWhitespace(node.content)) {\n const prev = (_a = nodes[i - 1]) == null ? void 0 : _a.type;\n const next = (_b = nodes[i + 1]) == null ? void 0 : _b.type;\n if (!prev || !next || shouldCondense && (prev === 3 && (next === 3 || next === 1) || prev === 1 && (next === 3 || next === 1 && hasNewlineChar(node.content)))) {\n removedWhitespace = true;\n nodes[i] = null;\n } else {\n node.content = \" \";\n }\n } else if (shouldCondense) {\n node.content = condense(node.content);\n }\n } else {\n node.content = node.content.replace(windowsNewlineRE, \"\\n\");\n }\n }\n }\n if (inPre && tag && currentOptions.isPreTag(tag)) {\n const first = nodes[0];\n if (first && first.type === 2) {\n first.content = first.content.replace(/^\\r?\\n/, \"\");\n }\n }\n return removedWhitespace ? nodes.filter(Boolean) : nodes;\n}\nfunction isAllWhitespace(str) {\n for (let i = 0; i < str.length; i++) {\n if (!isWhitespace(str.charCodeAt(i))) {\n return false;\n }\n }\n return true;\n}\nfunction hasNewlineChar(str) {\n for (let i = 0; i < str.length; i++) {\n const c = str.charCodeAt(i);\n if (c === 10 || c === 13) {\n return true;\n }\n }\n return false;\n}\nfunction condense(str) {\n let ret = \"\";\n let prevCharIsWhitespace = false;\n for (let i = 0; i < str.length; i++) {\n if (isWhitespace(str.charCodeAt(i))) {\n if (!prevCharIsWhitespace) {\n ret += \" \";\n prevCharIsWhitespace = true;\n }\n } else {\n ret += str[i];\n prevCharIsWhitespace = false;\n }\n }\n return ret;\n}\nfunction addNode(node) {\n (stack[0] || currentRoot).children.push(node);\n}\nfunction getLoc(start, end) {\n return {\n start: tokenizer.getPos(start),\n // @ts-expect-error allow late attachment\n end: end == null ? end : tokenizer.getPos(end),\n // @ts-expect-error allow late attachment\n source: end == null ? end : getSlice(start, end)\n };\n}\nfunction setLocEnd(loc, end) {\n loc.end = tokenizer.getPos(end);\n loc.source = getSlice(loc.start.offset, end);\n}\nfunction dirToAttr(dir) {\n const attr = {\n type: 6,\n name: dir.rawName,\n nameLoc: getLoc(\n dir.loc.start.offset,\n dir.loc.start.offset + dir.rawName.length\n ),\n value: void 0,\n loc: dir.loc\n };\n if (dir.exp) {\n const loc = dir.exp.loc;\n if (loc.end.offset < dir.loc.end.offset) {\n loc.start.offset--;\n loc.start.column--;\n loc.end.offset++;\n loc.end.column++;\n }\n attr.value = {\n type: 2,\n content: dir.exp.content,\n loc\n };\n }\n return attr;\n}\nfunction createExp(content, isStatic = false, loc, constType = 0, parseMode = 0 /* Normal */) {\n const exp = createSimpleExpression(content, isStatic, loc, constType);\n return exp;\n}\nfunction emitError(code, index, message) {\n currentOptions.onError(\n createCompilerError(code, getLoc(index, index), void 0, message)\n );\n}\nfunction reset() {\n tokenizer.reset();\n currentOpenTag = null;\n currentProp = null;\n currentAttrValue = \"\";\n currentAttrStartIndex = -1;\n currentAttrEndIndex = -1;\n stack.length = 0;\n}\nfunction baseParse(input, options) {\n reset();\n currentInput = input;\n currentOptions = extend({}, defaultParserOptions);\n if (options) {\n let key;\n for (key in options) {\n if (options[key] != null) {\n currentOptions[key] = options[key];\n }\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (!currentOptions.decodeEntities) {\n throw new Error(\n `[@vue/compiler-core] decodeEntities option is required in browser builds.`\n );\n }\n }\n tokenizer.mode = currentOptions.parseMode === \"html\" ? 1 : currentOptions.parseMode === \"sfc\" ? 2 : 0;\n tokenizer.inXML = currentOptions.ns === 1 || currentOptions.ns === 2;\n const delimiters = options == null ? void 0 : options.delimiters;\n if (delimiters) {\n tokenizer.delimiterOpen = toCharCodes(delimiters[0]);\n tokenizer.delimiterClose = toCharCodes(delimiters[1]);\n }\n const root = currentRoot = createRoot([], input);\n tokenizer.parse(currentInput);\n root.loc = getLoc(0, input.length);\n root.children = condenseWhitespace(root.children);\n currentRoot = null;\n return root;\n}\n\nfunction hoistStatic(root, context) {\n walk(\n root,\n context,\n // Root node is unfortunately non-hoistable due to potential parent\n // fallthrough attributes.\n isSingleElementRoot(root, root.children[0])\n );\n}\nfunction isSingleElementRoot(root, child) {\n const { children } = root;\n return children.length === 1 && child.type === 1 && !isSlotOutlet(child);\n}\nfunction walk(node, context, doNotHoistNode = false) {\n const { children } = node;\n const originalCount = children.length;\n let hoistedCount = 0;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (child.type === 1 && child.tagType === 0) {\n const constantType = doNotHoistNode ? 0 : getConstantType(child, context);\n if (constantType > 0) {\n if (constantType >= 2) {\n child.codegenNode.patchFlag = -1 + (!!(process.env.NODE_ENV !== \"production\") ? ` /* HOISTED */` : ``);\n child.codegenNode = context.hoist(child.codegenNode);\n hoistedCount++;\n continue;\n }\n } else {\n const codegenNode = child.codegenNode;\n if (codegenNode.type === 13) {\n const flag = getPatchFlag(codegenNode);\n if ((!flag || flag === 512 || flag === 1) && getGeneratedPropsConstantType(child, context) >= 2) {\n const props = getNodeProps(child);\n if (props) {\n codegenNode.props = context.hoist(props);\n }\n }\n if (codegenNode.dynamicProps) {\n codegenNode.dynamicProps = context.hoist(codegenNode.dynamicProps);\n }\n }\n }\n }\n if (child.type === 1) {\n const isComponent = child.tagType === 1;\n if (isComponent) {\n context.scopes.vSlot++;\n }\n walk(child, context);\n if (isComponent) {\n context.scopes.vSlot--;\n }\n } else if (child.type === 11) {\n walk(child, context, child.children.length === 1);\n } else if (child.type === 9) {\n for (let i2 = 0; i2 < child.branches.length; i2++) {\n walk(\n child.branches[i2],\n context,\n child.branches[i2].children.length === 1\n );\n }\n }\n }\n if (hoistedCount && context.transformHoist) {\n context.transformHoist(children, context, node);\n }\n if (hoistedCount && hoistedCount === originalCount && node.type === 1 && node.tagType === 0 && node.codegenNode && node.codegenNode.type === 13 && isArray(node.codegenNode.children)) {\n const hoisted = context.hoist(\n createArrayExpression(node.codegenNode.children)\n );\n if (context.hmr) {\n hoisted.content = `[...${hoisted.content}]`;\n }\n node.codegenNode.children = hoisted;\n }\n}\nfunction getConstantType(node, context) {\n const { constantCache } = context;\n switch (node.type) {\n case 1:\n if (node.tagType !== 0) {\n return 0;\n }\n const cached = constantCache.get(node);\n if (cached !== void 0) {\n return cached;\n }\n const codegenNode = node.codegenNode;\n if (codegenNode.type !== 13) {\n return 0;\n }\n if (codegenNode.isBlock && node.tag !== \"svg\" && node.tag !== \"foreignObject\") {\n return 0;\n }\n const flag = getPatchFlag(codegenNode);\n if (!flag) {\n let returnType2 = 3;\n const generatedPropsType = getGeneratedPropsConstantType(node, context);\n if (generatedPropsType === 0) {\n constantCache.set(node, 0);\n return 0;\n }\n if (generatedPropsType < returnType2) {\n returnType2 = generatedPropsType;\n }\n for (let i = 0; i < node.children.length; i++) {\n const childType = getConstantType(node.children[i], context);\n if (childType === 0) {\n constantCache.set(node, 0);\n return 0;\n }\n if (childType < returnType2) {\n returnType2 = childType;\n }\n }\n if (returnType2 > 1) {\n for (let i = 0; i < node.props.length; i++) {\n const p = node.props[i];\n if (p.type === 7 && p.name === \"bind\" && p.exp) {\n const expType = getConstantType(p.exp, context);\n if (expType === 0) {\n constantCache.set(node, 0);\n return 0;\n }\n if (expType < returnType2) {\n returnType2 = expType;\n }\n }\n }\n }\n if (codegenNode.isBlock) {\n for (let i = 0; i < node.props.length; i++) {\n const p = node.props[i];\n if (p.type === 7) {\n constantCache.set(node, 0);\n return 0;\n }\n }\n context.removeHelper(OPEN_BLOCK);\n context.removeHelper(\n getVNodeBlockHelper(context.inSSR, codegenNode.isComponent)\n );\n codegenNode.isBlock = false;\n context.helper(getVNodeHelper(context.inSSR, codegenNode.isComponent));\n }\n constantCache.set(node, returnType2);\n return returnType2;\n } else {\n constantCache.set(node, 0);\n return 0;\n }\n case 2:\n case 3:\n return 3;\n case 9:\n case 11:\n case 10:\n return 0;\n case 5:\n case 12:\n return getConstantType(node.content, context);\n case 4:\n return node.constType;\n case 8:\n let returnType = 3;\n for (let i = 0; i < node.children.length; i++) {\n const child = node.children[i];\n if (isString(child) || isSymbol(child)) {\n continue;\n }\n const childType = getConstantType(child, context);\n if (childType === 0) {\n return 0;\n } else if (childType < returnType) {\n returnType = childType;\n }\n }\n return returnType;\n default:\n if (!!(process.env.NODE_ENV !== \"production\")) ;\n return 0;\n }\n}\nconst allowHoistedHelperSet = /* @__PURE__ */ new Set([\n NORMALIZE_CLASS,\n NORMALIZE_STYLE,\n NORMALIZE_PROPS,\n GUARD_REACTIVE_PROPS\n]);\nfunction getConstantTypeOfHelperCall(value, context) {\n if (value.type === 14 && !isString(value.callee) && allowHoistedHelperSet.has(value.callee)) {\n const arg = value.arguments[0];\n if (arg.type === 4) {\n return getConstantType(arg, context);\n } else if (arg.type === 14) {\n return getConstantTypeOfHelperCall(arg, context);\n }\n }\n return 0;\n}\nfunction getGeneratedPropsConstantType(node, context) {\n let returnType = 3;\n const props = getNodeProps(node);\n if (props && props.type === 15) {\n const { properties } = props;\n for (let i = 0; i < properties.length; i++) {\n const { key, value } = properties[i];\n const keyType = getConstantType(key, context);\n if (keyType === 0) {\n return keyType;\n }\n if (keyType < returnType) {\n returnType = keyType;\n }\n let valueType;\n if (value.type === 4) {\n valueType = getConstantType(value, context);\n } else if (value.type === 14) {\n valueType = getConstantTypeOfHelperCall(value, context);\n } else {\n valueType = 0;\n }\n if (valueType === 0) {\n return valueType;\n }\n if (valueType < returnType) {\n returnType = valueType;\n }\n }\n }\n return returnType;\n}\nfunction getNodeProps(node) {\n const codegenNode = node.codegenNode;\n if (codegenNode.type === 13) {\n return codegenNode.props;\n }\n}\nfunction getPatchFlag(node) {\n const flag = node.patchFlag;\n return flag ? parseInt(flag, 10) : void 0;\n}\n\nfunction createTransformContext(root, {\n filename = \"\",\n prefixIdentifiers = false,\n hoistStatic: hoistStatic2 = false,\n hmr = false,\n cacheHandlers = false,\n nodeTransforms = [],\n directiveTransforms = {},\n transformHoist = null,\n isBuiltInComponent = NOOP,\n isCustomElement = NOOP,\n expressionPlugins = [],\n scopeId = null,\n slotted = true,\n ssr = false,\n inSSR = false,\n ssrCssVars = ``,\n bindingMetadata = EMPTY_OBJ,\n inline = false,\n isTS = false,\n onError = defaultOnError,\n onWarn = defaultOnWarn,\n compatConfig\n}) {\n const nameMatch = filename.replace(/\\?.*$/, \"\").match(/([^/\\\\]+)\\.\\w+$/);\n const context = {\n // options\n filename,\n selfName: nameMatch && capitalize(camelize(nameMatch[1])),\n prefixIdentifiers,\n hoistStatic: hoistStatic2,\n hmr,\n cacheHandlers,\n nodeTransforms,\n directiveTransforms,\n transformHoist,\n isBuiltInComponent,\n isCustomElement,\n expressionPlugins,\n scopeId,\n slotted,\n ssr,\n inSSR,\n ssrCssVars,\n bindingMetadata,\n inline,\n isTS,\n onError,\n onWarn,\n compatConfig,\n // state\n root,\n helpers: /* @__PURE__ */ new Map(),\n components: /* @__PURE__ */ new Set(),\n directives: /* @__PURE__ */ new Set(),\n hoists: [],\n imports: [],\n constantCache: /* @__PURE__ */ new WeakMap(),\n temps: 0,\n cached: 0,\n identifiers: /* @__PURE__ */ Object.create(null),\n scopes: {\n vFor: 0,\n vSlot: 0,\n vPre: 0,\n vOnce: 0\n },\n parent: null,\n currentNode: root,\n childIndex: 0,\n inVOnce: false,\n // methods\n helper(name) {\n const count = context.helpers.get(name) || 0;\n context.helpers.set(name, count + 1);\n return name;\n },\n removeHelper(name) {\n const count = context.helpers.get(name);\n if (count) {\n const currentCount = count - 1;\n if (!currentCount) {\n context.helpers.delete(name);\n } else {\n context.helpers.set(name, currentCount);\n }\n }\n },\n helperString(name) {\n return `_${helperNameMap[context.helper(name)]}`;\n },\n replaceNode(node) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (!context.currentNode) {\n throw new Error(`Node being replaced is already removed.`);\n }\n if (!context.parent) {\n throw new Error(`Cannot replace root node.`);\n }\n }\n context.parent.children[context.childIndex] = context.currentNode = node;\n },\n removeNode(node) {\n if (!!(process.env.NODE_ENV !== \"production\") && !context.parent) {\n throw new Error(`Cannot remove root node.`);\n }\n const list = context.parent.children;\n const removalIndex = node ? list.indexOf(node) : context.currentNode ? context.childIndex : -1;\n if (!!(process.env.NODE_ENV !== \"production\") && removalIndex < 0) {\n throw new Error(`node being removed is not a child of current parent`);\n }\n if (!node || node === context.currentNode) {\n context.currentNode = null;\n context.onNodeRemoved();\n } else {\n if (context.childIndex > removalIndex) {\n context.childIndex--;\n context.onNodeRemoved();\n }\n }\n context.parent.children.splice(removalIndex, 1);\n },\n onNodeRemoved: NOOP,\n addIdentifiers(exp) {\n },\n removeIdentifiers(exp) {\n },\n hoist(exp) {\n if (isString(exp))\n exp = createSimpleExpression(exp);\n context.hoists.push(exp);\n const identifier = createSimpleExpression(\n `_hoisted_${context.hoists.length}`,\n false,\n exp.loc,\n 2\n );\n identifier.hoisted = exp;\n return identifier;\n },\n cache(exp, isVNode = false) {\n return createCacheExpression(context.cached++, exp, isVNode);\n }\n };\n {\n context.filters = /* @__PURE__ */ new Set();\n }\n return context;\n}\nfunction transform(root, options) {\n const context = createTransformContext(root, options);\n traverseNode(root, context);\n if (options.hoistStatic) {\n hoistStatic(root, context);\n }\n if (!options.ssr) {\n createRootCodegen(root, context);\n }\n root.helpers = /* @__PURE__ */ new Set([...context.helpers.keys()]);\n root.components = [...context.components];\n root.directives = [...context.directives];\n root.imports = context.imports;\n root.hoists = context.hoists;\n root.temps = context.temps;\n root.cached = context.cached;\n root.transformed = true;\n {\n root.filters = [...context.filters];\n }\n}\nfunction createRootCodegen(root, context) {\n const { helper } = context;\n const { children } = root;\n if (children.length === 1) {\n const child = children[0];\n if (isSingleElementRoot(root, child) && child.codegenNode) {\n const codegenNode = child.codegenNode;\n if (codegenNode.type === 13) {\n convertToBlock(codegenNode, context);\n }\n root.codegenNode = codegenNode;\n } else {\n root.codegenNode = child;\n }\n } else if (children.length > 1) {\n let patchFlag = 64;\n let patchFlagText = PatchFlagNames[64];\n if (!!(process.env.NODE_ENV !== \"production\") && children.filter((c) => c.type !== 3).length === 1) {\n patchFlag |= 2048;\n patchFlagText += `, ${PatchFlagNames[2048]}`;\n }\n root.codegenNode = createVNodeCall(\n context,\n helper(FRAGMENT),\n void 0,\n root.children,\n patchFlag + (!!(process.env.NODE_ENV !== \"production\") ? ` /* ${patchFlagText} */` : ``),\n void 0,\n void 0,\n true,\n void 0,\n false\n );\n } else ;\n}\nfunction traverseChildren(parent, context) {\n let i = 0;\n const nodeRemoved = () => {\n i--;\n };\n for (; i < parent.children.length; i++) {\n const child = parent.children[i];\n if (isString(child))\n continue;\n context.parent = parent;\n context.childIndex = i;\n context.onNodeRemoved = nodeRemoved;\n traverseNode(child, context);\n }\n}\nfunction traverseNode(node, context) {\n context.currentNode = node;\n const { nodeTransforms } = context;\n const exitFns = [];\n for (let i2 = 0; i2 < nodeTransforms.length; i2++) {\n const onExit = nodeTransforms[i2](node, context);\n if (onExit) {\n if (isArray(onExit)) {\n exitFns.push(...onExit);\n } else {\n exitFns.push(onExit);\n }\n }\n if (!context.currentNode) {\n return;\n } else {\n node = context.currentNode;\n }\n }\n switch (node.type) {\n case 3:\n if (!context.ssr) {\n context.helper(CREATE_COMMENT);\n }\n break;\n case 5:\n if (!context.ssr) {\n context.helper(TO_DISPLAY_STRING);\n }\n break;\n case 9:\n for (let i2 = 0; i2 < node.branches.length; i2++) {\n traverseNode(node.branches[i2], context);\n }\n break;\n case 10:\n case 11:\n case 1:\n case 0:\n traverseChildren(node, context);\n break;\n }\n context.currentNode = node;\n let i = exitFns.length;\n while (i--) {\n exitFns[i]();\n }\n}\nfunction createStructuralDirectiveTransform(name, fn) {\n const matches = isString(name) ? (n) => n === name : (n) => name.test(n);\n return (node, context) => {\n if (node.type === 1) {\n const { props } = node;\n if (node.tagType === 3 && props.some(isVSlot)) {\n return;\n }\n const exitFns = [];\n for (let i = 0; i < props.length; i++) {\n const prop = props[i];\n if (prop.type === 7 && matches(prop.name)) {\n props.splice(i, 1);\n i--;\n const onExit = fn(node, prop, context);\n if (onExit)\n exitFns.push(onExit);\n }\n }\n return exitFns;\n }\n };\n}\n\nconst PURE_ANNOTATION = `/*#__PURE__*/`;\nconst aliasHelper = (s) => `${helperNameMap[s]}: _${helperNameMap[s]}`;\nfunction createCodegenContext(ast, {\n mode = \"function\",\n prefixIdentifiers = mode === \"module\",\n sourceMap = false,\n filename = `template.vue.html`,\n scopeId = null,\n optimizeImports = false,\n runtimeGlobalName = `Vue`,\n runtimeModuleName = `vue`,\n ssrRuntimeModuleName = \"vue/server-renderer\",\n ssr = false,\n isTS = false,\n inSSR = false\n}) {\n const context = {\n mode,\n prefixIdentifiers,\n sourceMap,\n filename,\n scopeId,\n optimizeImports,\n runtimeGlobalName,\n runtimeModuleName,\n ssrRuntimeModuleName,\n ssr,\n isTS,\n inSSR,\n source: ast.source,\n code: ``,\n column: 1,\n line: 1,\n offset: 0,\n indentLevel: 0,\n pure: false,\n map: void 0,\n helper(key) {\n return `_${helperNameMap[key]}`;\n },\n push(code, newlineIndex = -2 /* None */, node) {\n context.code += code;\n },\n indent() {\n newline(++context.indentLevel);\n },\n deindent(withoutNewLine = false) {\n if (withoutNewLine) {\n --context.indentLevel;\n } else {\n newline(--context.indentLevel);\n }\n },\n newline() {\n newline(context.indentLevel);\n }\n };\n function newline(n) {\n context.push(\"\\n\" + ` `.repeat(n), 0 /* Start */);\n }\n return context;\n}\nfunction generate(ast, options = {}) {\n const context = createCodegenContext(ast, options);\n if (options.onContextCreated)\n options.onContextCreated(context);\n const {\n mode,\n push,\n prefixIdentifiers,\n indent,\n deindent,\n newline,\n scopeId,\n ssr\n } = context;\n const helpers = Array.from(ast.helpers);\n const hasHelpers = helpers.length > 0;\n const useWithBlock = !prefixIdentifiers && mode !== \"module\";\n const isSetupInlined = false;\n const preambleContext = isSetupInlined ? createCodegenContext(ast, options) : context;\n {\n genFunctionPreamble(ast, preambleContext);\n }\n const functionName = ssr ? `ssrRender` : `render`;\n const args = ssr ? [\"_ctx\", \"_push\", \"_parent\", \"_attrs\"] : [\"_ctx\", \"_cache\"];\n const signature = args.join(\", \");\n {\n push(`function ${functionName}(${signature}) {`);\n }\n indent();\n if (useWithBlock) {\n push(`with (_ctx) {`);\n indent();\n if (hasHelpers) {\n push(\n `const { ${helpers.map(aliasHelper).join(\", \")} } = _Vue\n`,\n -1 /* End */\n );\n newline();\n }\n }\n if (ast.components.length) {\n genAssets(ast.components, \"component\", context);\n if (ast.directives.length || ast.temps > 0) {\n newline();\n }\n }\n if (ast.directives.length) {\n genAssets(ast.directives, \"directive\", context);\n if (ast.temps > 0) {\n newline();\n }\n }\n if (ast.filters && ast.filters.length) {\n newline();\n genAssets(ast.filters, \"filter\", context);\n newline();\n }\n if (ast.temps > 0) {\n push(`let `);\n for (let i = 0; i < ast.temps; i++) {\n push(`${i > 0 ? `, ` : ``}_temp${i}`);\n }\n }\n if (ast.components.length || ast.directives.length || ast.temps) {\n push(`\n`, 0 /* Start */);\n newline();\n }\n if (!ssr) {\n push(`return `);\n }\n if (ast.codegenNode) {\n genNode(ast.codegenNode, context);\n } else {\n push(`null`);\n }\n if (useWithBlock) {\n deindent();\n push(`}`);\n }\n deindent();\n push(`}`);\n return {\n ast,\n code: context.code,\n preamble: isSetupInlined ? preambleContext.code : ``,\n map: context.map ? context.map.toJSON() : void 0\n };\n}\nfunction genFunctionPreamble(ast, context) {\n const {\n ssr,\n prefixIdentifiers,\n push,\n newline,\n runtimeModuleName,\n runtimeGlobalName,\n ssrRuntimeModuleName\n } = context;\n const VueBinding = runtimeGlobalName;\n const helpers = Array.from(ast.helpers);\n if (helpers.length > 0) {\n {\n push(`const _Vue = ${VueBinding}\n`, -1 /* End */);\n if (ast.hoists.length) {\n const staticHelpers = [\n CREATE_VNODE,\n CREATE_ELEMENT_VNODE,\n CREATE_COMMENT,\n CREATE_TEXT,\n CREATE_STATIC\n ].filter((helper) => helpers.includes(helper)).map(aliasHelper).join(\", \");\n push(`const { ${staticHelpers} } = _Vue\n`, -1 /* End */);\n }\n }\n }\n genHoists(ast.hoists, context);\n newline();\n push(`return `);\n}\nfunction genAssets(assets, type, { helper, push, newline, isTS }) {\n const resolver = helper(\n type === \"filter\" ? RESOLVE_FILTER : type === \"component\" ? RESOLVE_COMPONENT : RESOLVE_DIRECTIVE\n );\n for (let i = 0; i < assets.length; i++) {\n let id = assets[i];\n const maybeSelfReference = id.endsWith(\"__self\");\n if (maybeSelfReference) {\n id = id.slice(0, -6);\n }\n push(\n `const ${toValidAssetId(id, type)} = ${resolver}(${JSON.stringify(id)}${maybeSelfReference ? `, true` : ``})${isTS ? `!` : ``}`\n );\n if (i < assets.length - 1) {\n newline();\n }\n }\n}\nfunction genHoists(hoists, context) {\n if (!hoists.length) {\n return;\n }\n context.pure = true;\n const { push, newline, helper, scopeId, mode } = context;\n newline();\n for (let i = 0; i < hoists.length; i++) {\n const exp = hoists[i];\n if (exp) {\n push(\n `const _hoisted_${i + 1} = ${``}`\n );\n genNode(exp, context);\n newline();\n }\n }\n context.pure = false;\n}\nfunction isText(n) {\n return isString(n) || n.type === 4 || n.type === 2 || n.type === 5 || n.type === 8;\n}\nfunction genNodeListAsArray(nodes, context) {\n const multilines = nodes.length > 3 || !!(process.env.NODE_ENV !== \"production\") && nodes.some((n) => isArray(n) || !isText(n));\n context.push(`[`);\n multilines && context.indent();\n genNodeList(nodes, context, multilines);\n multilines && context.deindent();\n context.push(`]`);\n}\nfunction genNodeList(nodes, context, multilines = false, comma = true) {\n const { push, newline } = context;\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n if (isString(node)) {\n push(node, -3 /* Unknown */);\n } else if (isArray(node)) {\n genNodeListAsArray(node, context);\n } else {\n genNode(node, context);\n }\n if (i < nodes.length - 1) {\n if (multilines) {\n comma && push(\",\");\n newline();\n } else {\n comma && push(\", \");\n }\n }\n }\n}\nfunction genNode(node, context) {\n if (isString(node)) {\n context.push(node, -3 /* Unknown */);\n return;\n }\n if (isSymbol(node)) {\n context.push(context.helper(node));\n return;\n }\n switch (node.type) {\n case 1:\n case 9:\n case 11:\n !!(process.env.NODE_ENV !== \"production\") && assert(\n node.codegenNode != null,\n `Codegen node is missing for element/if/for node. Apply appropriate transforms first.`\n );\n genNode(node.codegenNode, context);\n break;\n case 2:\n genText(node, context);\n break;\n case 4:\n genExpression(node, context);\n break;\n case 5:\n genInterpolation(node, context);\n break;\n case 12:\n genNode(node.codegenNode, context);\n break;\n case 8:\n genCompoundExpression(node, context);\n break;\n case 3:\n genComment(node, context);\n break;\n case 13:\n genVNodeCall(node, context);\n break;\n case 14:\n genCallExpression(node, context);\n break;\n case 15:\n genObjectExpression(node, context);\n break;\n case 17:\n genArrayExpression(node, context);\n break;\n case 18:\n genFunctionExpression(node, context);\n break;\n case 19:\n genConditionalExpression(node, context);\n break;\n case 20:\n genCacheExpression(node, context);\n break;\n case 21:\n genNodeList(node.body, context, true, false);\n break;\n case 22:\n break;\n case 23:\n break;\n case 24:\n break;\n case 25:\n break;\n case 26:\n break;\n case 10:\n break;\n default:\n if (!!(process.env.NODE_ENV !== \"production\")) {\n assert(false, `unhandled codegen node type: ${node.type}`);\n const exhaustiveCheck = node;\n return exhaustiveCheck;\n }\n }\n}\nfunction genText(node, context) {\n context.push(JSON.stringify(node.content), -3 /* Unknown */, node);\n}\nfunction genExpression(node, context) {\n const { content, isStatic } = node;\n context.push(\n isStatic ? JSON.stringify(content) : content,\n -3 /* Unknown */,\n node\n );\n}\nfunction genInterpolation(node, context) {\n const { push, helper, pure } = context;\n if (pure)\n push(PURE_ANNOTATION);\n push(`${helper(TO_DISPLAY_STRING)}(`);\n genNode(node.content, context);\n push(`)`);\n}\nfunction genCompoundExpression(node, context) {\n for (let i = 0; i < node.children.length; i++) {\n const child = node.children[i];\n if (isString(child)) {\n context.push(child, -3 /* Unknown */);\n } else {\n genNode(child, context);\n }\n }\n}\nfunction genExpressionAsPropertyKey(node, context) {\n const { push } = context;\n if (node.type === 8) {\n push(`[`);\n genCompoundExpression(node, context);\n push(`]`);\n } else if (node.isStatic) {\n const text = isSimpleIdentifier(node.content) ? node.content : JSON.stringify(node.content);\n push(text, -2 /* None */, node);\n } else {\n push(`[${node.content}]`, -3 /* Unknown */, node);\n }\n}\nfunction genComment(node, context) {\n const { push, helper, pure } = context;\n if (pure) {\n push(PURE_ANNOTATION);\n }\n push(\n `${helper(CREATE_COMMENT)}(${JSON.stringify(node.content)})`,\n -3 /* Unknown */,\n node\n );\n}\nfunction genVNodeCall(node, context) {\n const { push, helper, pure } = context;\n const {\n tag,\n props,\n children,\n patchFlag,\n dynamicProps,\n directives,\n isBlock,\n disableTracking,\n isComponent\n } = node;\n if (directives) {\n push(helper(WITH_DIRECTIVES) + `(`);\n }\n if (isBlock) {\n push(`(${helper(OPEN_BLOCK)}(${disableTracking ? `true` : ``}), `);\n }\n if (pure) {\n push(PURE_ANNOTATION);\n }\n const callHelper = isBlock ? getVNodeBlockHelper(context.inSSR, isComponent) : getVNodeHelper(context.inSSR, isComponent);\n push(helper(callHelper) + `(`, -2 /* None */, node);\n genNodeList(\n genNullableArgs([tag, props, children, patchFlag, dynamicProps]),\n context\n );\n push(`)`);\n if (isBlock) {\n push(`)`);\n }\n if (directives) {\n push(`, `);\n genNode(directives, context);\n push(`)`);\n }\n}\nfunction genNullableArgs(args) {\n let i = args.length;\n while (i--) {\n if (args[i] != null)\n break;\n }\n return args.slice(0, i + 1).map((arg) => arg || `null`);\n}\nfunction genCallExpression(node, context) {\n const { push, helper, pure } = context;\n const callee = isString(node.callee) ? node.callee : helper(node.callee);\n if (pure) {\n push(PURE_ANNOTATION);\n }\n push(callee + `(`, -2 /* None */, node);\n genNodeList(node.arguments, context);\n push(`)`);\n}\nfunction genObjectExpression(node, context) {\n const { push, indent, deindent, newline } = context;\n const { properties } = node;\n if (!properties.length) {\n push(`{}`, -2 /* None */, node);\n return;\n }\n const multilines = properties.length > 1 || !!(process.env.NODE_ENV !== \"production\") && properties.some((p) => p.value.type !== 4);\n push(multilines ? `{` : `{ `);\n multilines && indent();\n for (let i = 0; i < properties.length; i++) {\n const { key, value } = properties[i];\n genExpressionAsPropertyKey(key, context);\n push(`: `);\n genNode(value, context);\n if (i < properties.length - 1) {\n push(`,`);\n newline();\n }\n }\n multilines && deindent();\n push(multilines ? `}` : ` }`);\n}\nfunction genArrayExpression(node, context) {\n genNodeListAsArray(node.elements, context);\n}\nfunction genFunctionExpression(node, context) {\n const { push, indent, deindent } = context;\n const { params, returns, body, newline, isSlot } = node;\n if (isSlot) {\n push(`_${helperNameMap[WITH_CTX]}(`);\n }\n push(`(`, -2 /* None */, node);\n if (isArray(params)) {\n genNodeList(params, context);\n } else if (params) {\n genNode(params, context);\n }\n push(`) => `);\n if (newline || body) {\n push(`{`);\n indent();\n }\n if (returns) {\n if (newline) {\n push(`return `);\n }\n if (isArray(returns)) {\n genNodeListAsArray(returns, context);\n } else {\n genNode(returns, context);\n }\n } else if (body) {\n genNode(body, context);\n }\n if (newline || body) {\n deindent();\n push(`}`);\n }\n if (isSlot) {\n if (node.isNonScopedSlot) {\n push(`, undefined, true`);\n }\n push(`)`);\n }\n}\nfunction genConditionalExpression(node, context) {\n const { test, consequent, alternate, newline: needNewline } = node;\n const { push, indent, deindent, newline } = context;\n if (test.type === 4) {\n const needsParens = !isSimpleIdentifier(test.content);\n needsParens && push(`(`);\n genExpression(test, context);\n needsParens && push(`)`);\n } else {\n push(`(`);\n genNode(test, context);\n push(`)`);\n }\n needNewline && indent();\n context.indentLevel++;\n needNewline || push(` `);\n push(`? `);\n genNode(consequent, context);\n context.indentLevel--;\n needNewline && newline();\n needNewline || push(` `);\n push(`: `);\n const isNested = alternate.type === 19;\n if (!isNested) {\n context.indentLevel++;\n }\n genNode(alternate, context);\n if (!isNested) {\n context.indentLevel--;\n }\n needNewline && deindent(\n true\n /* without newline */\n );\n}\nfunction genCacheExpression(node, context) {\n const { push, helper, indent, deindent, newline } = context;\n push(`_cache[${node.index}] || (`);\n if (node.isVNode) {\n indent();\n push(`${helper(SET_BLOCK_TRACKING)}(-1),`);\n newline();\n }\n push(`_cache[${node.index}] = `);\n genNode(node.value, context);\n if (node.isVNode) {\n push(`,`);\n newline();\n push(`${helper(SET_BLOCK_TRACKING)}(1),`);\n newline();\n push(`_cache[${node.index}]`);\n deindent();\n }\n push(`)`);\n}\n\nconst prohibitedKeywordRE = new RegExp(\n \"\\\\b\" + \"arguments,await,break,case,catch,class,const,continue,debugger,default,delete,do,else,export,extends,finally,for,function,if,import,let,new,return,super,switch,throw,try,var,void,while,with,yield\".split(\",\").join(\"\\\\b|\\\\b\") + \"\\\\b\"\n);\nconst stripStringRE = /'(?:[^'\\\\]|\\\\.)*'|\"(?:[^\"\\\\]|\\\\.)*\"|`(?:[^`\\\\]|\\\\.)*\\$\\{|\\}(?:[^`\\\\]|\\\\.)*`|`(?:[^`\\\\]|\\\\.)*`/g;\nfunction validateBrowserExpression(node, context, asParams = false, asRawStatements = false) {\n const exp = node.content;\n if (!exp.trim()) {\n return;\n }\n try {\n new Function(\n asRawStatements ? ` ${exp} ` : `return ${asParams ? `(${exp}) => {}` : `(${exp})`}`\n );\n } catch (e) {\n let message = e.message;\n const keywordMatch = exp.replace(stripStringRE, \"\").match(prohibitedKeywordRE);\n if (keywordMatch) {\n message = `avoid using JavaScript keyword as property name: \"${keywordMatch[0]}\"`;\n }\n context.onError(\n createCompilerError(\n 45,\n node.loc,\n void 0,\n message\n )\n );\n }\n}\n\nconst transformExpression = (node, context) => {\n if (node.type === 5) {\n node.content = processExpression(\n node.content,\n context\n );\n } else if (node.type === 1) {\n for (let i = 0; i < node.props.length; i++) {\n const dir = node.props[i];\n if (dir.type === 7 && dir.name !== \"for\") {\n const exp = dir.exp;\n const arg = dir.arg;\n if (exp && exp.type === 4 && !(dir.name === \"on\" && arg)) {\n dir.exp = processExpression(\n exp,\n context,\n // slot args must be processed as function params\n dir.name === \"slot\"\n );\n }\n if (arg && arg.type === 4 && !arg.isStatic) {\n dir.arg = processExpression(arg, context);\n }\n }\n }\n }\n};\nfunction processExpression(node, context, asParams = false, asRawStatements = false, localVars = Object.create(context.identifiers)) {\n {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n validateBrowserExpression(node, context, asParams, asRawStatements);\n }\n return node;\n }\n}\nfunction stringifyExpression(exp) {\n if (isString(exp)) {\n return exp;\n } else if (exp.type === 4) {\n return exp.content;\n } else {\n return exp.children.map(stringifyExpression).join(\"\");\n }\n}\n\nconst transformIf = createStructuralDirectiveTransform(\n /^(if|else|else-if)$/,\n (node, dir, context) => {\n return processIf(node, dir, context, (ifNode, branch, isRoot) => {\n const siblings = context.parent.children;\n let i = siblings.indexOf(ifNode);\n let key = 0;\n while (i-- >= 0) {\n const sibling = siblings[i];\n if (sibling && sibling.type === 9) {\n key += sibling.branches.length;\n }\n }\n return () => {\n if (isRoot) {\n ifNode.codegenNode = createCodegenNodeForBranch(\n branch,\n key,\n context\n );\n } else {\n const parentCondition = getParentCondition(ifNode.codegenNode);\n parentCondition.alternate = createCodegenNodeForBranch(\n branch,\n key + ifNode.branches.length - 1,\n context\n );\n }\n };\n });\n }\n);\nfunction processIf(node, dir, context, processCodegen) {\n if (dir.name !== \"else\" && (!dir.exp || !dir.exp.content.trim())) {\n const loc = dir.exp ? dir.exp.loc : node.loc;\n context.onError(\n createCompilerError(28, dir.loc)\n );\n dir.exp = createSimpleExpression(`true`, false, loc);\n }\n if (!!(process.env.NODE_ENV !== \"production\") && true && dir.exp) {\n validateBrowserExpression(dir.exp, context);\n }\n if (dir.name === \"if\") {\n const branch = createIfBranch(node, dir);\n const ifNode = {\n type: 9,\n loc: node.loc,\n branches: [branch]\n };\n context.replaceNode(ifNode);\n if (processCodegen) {\n return processCodegen(ifNode, branch, true);\n }\n } else {\n const siblings = context.parent.children;\n const comments = [];\n let i = siblings.indexOf(node);\n while (i-- >= -1) {\n const sibling = siblings[i];\n if (sibling && sibling.type === 3) {\n context.removeNode(sibling);\n !!(process.env.NODE_ENV !== \"production\") && comments.unshift(sibling);\n continue;\n }\n if (sibling && sibling.type === 2 && !sibling.content.trim().length) {\n context.removeNode(sibling);\n continue;\n }\n if (sibling && sibling.type === 9) {\n if (dir.name === \"else-if\" && sibling.branches[sibling.branches.length - 1].condition === void 0) {\n context.onError(\n createCompilerError(30, node.loc)\n );\n }\n context.removeNode();\n const branch = createIfBranch(node, dir);\n if (!!(process.env.NODE_ENV !== \"production\") && comments.length && // #3619 ignore comments if the v-if is direct child of <transition>\n !(context.parent && context.parent.type === 1 && (context.parent.tag === \"transition\" || context.parent.tag === \"Transition\"))) {\n branch.children = [...comments, ...branch.children];\n }\n if (!!(process.env.NODE_ENV !== \"production\") || false) {\n const key = branch.userKey;\n if (key) {\n sibling.branches.forEach(({ userKey }) => {\n if (isSameKey(userKey, key)) {\n context.onError(\n createCompilerError(\n 29,\n branch.userKey.loc\n )\n );\n }\n });\n }\n }\n sibling.branches.push(branch);\n const onExit = processCodegen && processCodegen(sibling, branch, false);\n traverseNode(branch, context);\n if (onExit)\n onExit();\n context.currentNode = null;\n } else {\n context.onError(\n createCompilerError(30, node.loc)\n );\n }\n break;\n }\n }\n}\nfunction createIfBranch(node, dir) {\n const isTemplateIf = node.tagType === 3;\n return {\n type: 10,\n loc: node.loc,\n condition: dir.name === \"else\" ? void 0 : dir.exp,\n children: isTemplateIf && !findDir(node, \"for\") ? node.children : [node],\n userKey: findProp(node, `key`),\n isTemplateIf\n };\n}\nfunction createCodegenNodeForBranch(branch, keyIndex, context) {\n if (branch.condition) {\n return createConditionalExpression(\n branch.condition,\n createChildrenCodegenNode(branch, keyIndex, context),\n // make sure to pass in asBlock: true so that the comment node call\n // closes the current block.\n createCallExpression(context.helper(CREATE_COMMENT), [\n !!(process.env.NODE_ENV !== \"production\") ? '\"v-if\"' : '\"\"',\n \"true\"\n ])\n );\n } else {\n return createChildrenCodegenNode(branch, keyIndex, context);\n }\n}\nfunction createChildrenCodegenNode(branch, keyIndex, context) {\n const { helper } = context;\n const keyProperty = createObjectProperty(\n `key`,\n createSimpleExpression(\n `${keyIndex}`,\n false,\n locStub,\n 2\n )\n );\n const { children } = branch;\n const firstChild = children[0];\n const needFragmentWrapper = children.length !== 1 || firstChild.type !== 1;\n if (needFragmentWrapper) {\n if (children.length === 1 && firstChild.type === 11) {\n const vnodeCall = firstChild.codegenNode;\n injectProp(vnodeCall, keyProperty, context);\n return vnodeCall;\n } else {\n let patchFlag = 64;\n let patchFlagText = PatchFlagNames[64];\n if (!!(process.env.NODE_ENV !== \"production\") && !branch.isTemplateIf && children.filter((c) => c.type !== 3).length === 1) {\n patchFlag |= 2048;\n patchFlagText += `, ${PatchFlagNames[2048]}`;\n }\n return createVNodeCall(\n context,\n helper(FRAGMENT),\n createObjectExpression([keyProperty]),\n children,\n patchFlag + (!!(process.env.NODE_ENV !== \"production\") ? ` /* ${patchFlagText} */` : ``),\n void 0,\n void 0,\n true,\n false,\n false,\n branch.loc\n );\n }\n } else {\n const ret = firstChild.codegenNode;\n const vnodeCall = getMemoedVNodeCall(ret);\n if (vnodeCall.type === 13) {\n convertToBlock(vnodeCall, context);\n }\n injectProp(vnodeCall, keyProperty, context);\n return ret;\n }\n}\nfunction isSameKey(a, b) {\n if (!a || a.type !== b.type) {\n return false;\n }\n if (a.type === 6) {\n if (a.value.content !== b.value.content) {\n return false;\n }\n } else {\n const exp = a.exp;\n const branchExp = b.exp;\n if (exp.type !== branchExp.type) {\n return false;\n }\n if (exp.type !== 4 || exp.isStatic !== branchExp.isStatic || exp.content !== branchExp.content) {\n return false;\n }\n }\n return true;\n}\nfunction getParentCondition(node) {\n while (true) {\n if (node.type === 19) {\n if (node.alternate.type === 19) {\n node = node.alternate;\n } else {\n return node;\n }\n } else if (node.type === 20) {\n node = node.value;\n }\n }\n}\n\nconst transformFor = createStructuralDirectiveTransform(\n \"for\",\n (node, dir, context) => {\n const { helper, removeHelper } = context;\n return processFor(node, dir, context, (forNode) => {\n const renderExp = createCallExpression(helper(RENDER_LIST), [\n forNode.source\n ]);\n const isTemplate = isTemplateNode(node);\n const memo = findDir(node, \"memo\");\n const keyProp = findProp(node, `key`);\n const keyExp = keyProp && (keyProp.type === 6 ? createSimpleExpression(keyProp.value.content, true) : keyProp.exp);\n const keyProperty = keyProp ? createObjectProperty(`key`, keyExp) : null;\n const isStableFragment = forNode.source.type === 4 && forNode.source.constType > 0;\n const fragmentFlag = isStableFragment ? 64 : keyProp ? 128 : 256;\n forNode.codegenNode = createVNodeCall(\n context,\n helper(FRAGMENT),\n void 0,\n renderExp,\n fragmentFlag + (!!(process.env.NODE_ENV !== \"production\") ? ` /* ${PatchFlagNames[fragmentFlag]} */` : ``),\n void 0,\n void 0,\n true,\n !isStableFragment,\n false,\n node.loc\n );\n return () => {\n let childBlock;\n const { children } = forNode;\n if ((!!(process.env.NODE_ENV !== \"production\") || false) && isTemplate) {\n node.children.some((c) => {\n if (c.type === 1) {\n const key = findProp(c, \"key\");\n if (key) {\n context.onError(\n createCompilerError(\n 33,\n key.loc\n )\n );\n return true;\n }\n }\n });\n }\n const needFragmentWrapper = children.length !== 1 || children[0].type !== 1;\n const slotOutlet = isSlotOutlet(node) ? node : isTemplate && node.children.length === 1 && isSlotOutlet(node.children[0]) ? node.children[0] : null;\n if (slotOutlet) {\n childBlock = slotOutlet.codegenNode;\n if (isTemplate && keyProperty) {\n injectProp(childBlock, keyProperty, context);\n }\n } else if (needFragmentWrapper) {\n childBlock = createVNodeCall(\n context,\n helper(FRAGMENT),\n keyProperty ? createObjectExpression([keyProperty]) : void 0,\n node.children,\n 64 + (!!(process.env.NODE_ENV !== \"production\") ? ` /* ${PatchFlagNames[64]} */` : ``),\n void 0,\n void 0,\n true,\n void 0,\n false\n );\n } else {\n childBlock = children[0].codegenNode;\n if (isTemplate && keyProperty) {\n injectProp(childBlock, keyProperty, context);\n }\n if (childBlock.isBlock !== !isStableFragment) {\n if (childBlock.isBlock) {\n removeHelper(OPEN_BLOCK);\n removeHelper(\n getVNodeBlockHelper(context.inSSR, childBlock.isComponent)\n );\n } else {\n removeHelper(\n getVNodeHelper(context.inSSR, childBlock.isComponent)\n );\n }\n }\n childBlock.isBlock = !isStableFragment;\n if (childBlock.isBlock) {\n helper(OPEN_BLOCK);\n helper(getVNodeBlockHelper(context.inSSR, childBlock.isComponent));\n } else {\n helper(getVNodeHelper(context.inSSR, childBlock.isComponent));\n }\n }\n if (memo) {\n const loop = createFunctionExpression(\n createForLoopParams(forNode.parseResult, [\n createSimpleExpression(`_cached`)\n ])\n );\n loop.body = createBlockStatement([\n createCompoundExpression([`const _memo = (`, memo.exp, `)`]),\n createCompoundExpression([\n `if (_cached`,\n ...keyExp ? [` && _cached.key === `, keyExp] : [],\n ` && ${context.helperString(\n IS_MEMO_SAME\n )}(_cached, _memo)) return _cached`\n ]),\n createCompoundExpression([`const _item = `, childBlock]),\n createSimpleExpression(`_item.memo = _memo`),\n createSimpleExpression(`return _item`)\n ]);\n renderExp.arguments.push(\n loop,\n createSimpleExpression(`_cache`),\n createSimpleExpression(String(context.cached++))\n );\n } else {\n renderExp.arguments.push(\n createFunctionExpression(\n createForLoopParams(forNode.parseResult),\n childBlock,\n true\n )\n );\n }\n };\n });\n }\n);\nfunction processFor(node, dir, context, processCodegen) {\n if (!dir.exp) {\n context.onError(\n createCompilerError(31, dir.loc)\n );\n return;\n }\n const parseResult = dir.forParseResult;\n if (!parseResult) {\n context.onError(\n createCompilerError(32, dir.loc)\n );\n return;\n }\n finalizeForParseResult(parseResult, context);\n const { addIdentifiers, removeIdentifiers, scopes } = context;\n const { source, value, key, index } = parseResult;\n const forNode = {\n type: 11,\n loc: dir.loc,\n source,\n valueAlias: value,\n keyAlias: key,\n objectIndexAlias: index,\n parseResult,\n children: isTemplateNode(node) ? node.children : [node]\n };\n context.replaceNode(forNode);\n scopes.vFor++;\n const onExit = processCodegen && processCodegen(forNode);\n return () => {\n scopes.vFor--;\n if (onExit)\n onExit();\n };\n}\nfunction finalizeForParseResult(result, context) {\n if (result.finalized)\n return;\n if (!!(process.env.NODE_ENV !== \"production\") && true) {\n validateBrowserExpression(result.source, context);\n if (result.key) {\n validateBrowserExpression(\n result.key,\n context,\n true\n );\n }\n if (result.index) {\n validateBrowserExpression(\n result.index,\n context,\n true\n );\n }\n if (result.value) {\n validateBrowserExpression(\n result.value,\n context,\n true\n );\n }\n }\n result.finalized = true;\n}\nfunction createForLoopParams({ value, key, index }, memoArgs = []) {\n return createParamsList([value, key, index, ...memoArgs]);\n}\nfunction createParamsList(args) {\n let i = args.length;\n while (i--) {\n if (args[i])\n break;\n }\n return args.slice(0, i + 1).map((arg, i2) => arg || createSimpleExpression(`_`.repeat(i2 + 1), false));\n}\n\nconst defaultFallback = createSimpleExpression(`undefined`, false);\nconst trackSlotScopes = (node, context) => {\n if (node.type === 1 && (node.tagType === 1 || node.tagType === 3)) {\n const vSlot = findDir(node, \"slot\");\n if (vSlot) {\n vSlot.exp;\n context.scopes.vSlot++;\n return () => {\n context.scopes.vSlot--;\n };\n }\n }\n};\nconst trackVForSlotScopes = (node, context) => {\n let vFor;\n if (isTemplateNode(node) && node.props.some(isVSlot) && (vFor = findDir(node, \"for\"))) {\n const result = vFor.forParseResult;\n if (result) {\n finalizeForParseResult(result, context);\n const { value, key, index } = result;\n const { addIdentifiers, removeIdentifiers } = context;\n value && addIdentifiers(value);\n key && addIdentifiers(key);\n index && addIdentifiers(index);\n return () => {\n value && removeIdentifiers(value);\n key && removeIdentifiers(key);\n index && removeIdentifiers(index);\n };\n }\n }\n};\nconst buildClientSlotFn = (props, _vForExp, children, loc) => createFunctionExpression(\n props,\n children,\n false,\n true,\n children.length ? children[0].loc : loc\n);\nfunction buildSlots(node, context, buildSlotFn = buildClientSlotFn) {\n context.helper(WITH_CTX);\n const { children, loc } = node;\n const slotsProperties = [];\n const dynamicSlots = [];\n let hasDynamicSlots = context.scopes.vSlot > 0 || context.scopes.vFor > 0;\n const onComponentSlot = findDir(node, \"slot\", true);\n if (onComponentSlot) {\n const { arg, exp } = onComponentSlot;\n if (arg && !isStaticExp(arg)) {\n hasDynamicSlots = true;\n }\n slotsProperties.push(\n createObjectProperty(\n arg || createSimpleExpression(\"default\", true),\n buildSlotFn(exp, void 0, children, loc)\n )\n );\n }\n let hasTemplateSlots = false;\n let hasNamedDefaultSlot = false;\n const implicitDefaultChildren = [];\n const seenSlotNames = /* @__PURE__ */ new Set();\n let conditionalBranchIndex = 0;\n for (let i = 0; i < children.length; i++) {\n const slotElement = children[i];\n let slotDir;\n if (!isTemplateNode(slotElement) || !(slotDir = findDir(slotElement, \"slot\", true))) {\n if (slotElement.type !== 3) {\n implicitDefaultChildren.push(slotElement);\n }\n continue;\n }\n if (onComponentSlot) {\n context.onError(\n createCompilerError(37, slotDir.loc)\n );\n break;\n }\n hasTemplateSlots = true;\n const { children: slotChildren, loc: slotLoc } = slotElement;\n const {\n arg: slotName = createSimpleExpression(`default`, true),\n exp: slotProps,\n loc: dirLoc\n } = slotDir;\n let staticSlotName;\n if (isStaticExp(slotName)) {\n staticSlotName = slotName ? slotName.content : `default`;\n } else {\n hasDynamicSlots = true;\n }\n const vFor = findDir(slotElement, \"for\");\n const slotFunction = buildSlotFn(slotProps, vFor, slotChildren, slotLoc);\n let vIf;\n let vElse;\n if (vIf = findDir(slotElement, \"if\")) {\n hasDynamicSlots = true;\n dynamicSlots.push(\n createConditionalExpression(\n vIf.exp,\n buildDynamicSlot(slotName, slotFunction, conditionalBranchIndex++),\n defaultFallback\n )\n );\n } else if (vElse = findDir(\n slotElement,\n /^else(-if)?$/,\n true\n /* allowEmpty */\n )) {\n let j = i;\n let prev;\n while (j--) {\n prev = children[j];\n if (prev.type !== 3) {\n break;\n }\n }\n if (prev && isTemplateNode(prev) && findDir(prev, \"if\")) {\n children.splice(i, 1);\n i--;\n let conditional = dynamicSlots[dynamicSlots.length - 1];\n while (conditional.alternate.type === 19) {\n conditional = conditional.alternate;\n }\n conditional.alternate = vElse.exp ? createConditionalExpression(\n vElse.exp,\n buildDynamicSlot(\n slotName,\n slotFunction,\n conditionalBranchIndex++\n ),\n defaultFallback\n ) : buildDynamicSlot(slotName, slotFunction, conditionalBranchIndex++);\n } else {\n context.onError(\n createCompilerError(30, vElse.loc)\n );\n }\n } else if (vFor) {\n hasDynamicSlots = true;\n const parseResult = vFor.forParseResult;\n if (parseResult) {\n finalizeForParseResult(parseResult, context);\n dynamicSlots.push(\n createCallExpression(context.helper(RENDER_LIST), [\n parseResult.source,\n createFunctionExpression(\n createForLoopParams(parseResult),\n buildDynamicSlot(slotName, slotFunction),\n true\n )\n ])\n );\n } else {\n context.onError(\n createCompilerError(\n 32,\n vFor.loc\n )\n );\n }\n } else {\n if (staticSlotName) {\n if (seenSlotNames.has(staticSlotName)) {\n context.onError(\n createCompilerError(\n 38,\n dirLoc\n )\n );\n continue;\n }\n seenSlotNames.add(staticSlotName);\n if (staticSlotName === \"default\") {\n hasNamedDefaultSlot = true;\n }\n }\n slotsProperties.push(createObjectProperty(slotName, slotFunction));\n }\n }\n if (!onComponentSlot) {\n const buildDefaultSlotProperty = (props, children2) => {\n const fn = buildSlotFn(props, void 0, children2, loc);\n if (context.compatConfig) {\n fn.isNonScopedSlot = true;\n }\n return createObjectProperty(`default`, fn);\n };\n if (!hasTemplateSlots) {\n slotsProperties.push(buildDefaultSlotProperty(void 0, children));\n } else if (implicitDefaultChildren.length && // #3766\n // with whitespace: 'preserve', whitespaces between slots will end up in\n // implicitDefaultChildren. Ignore if all implicit children are whitespaces.\n implicitDefaultChildren.some((node2) => isNonWhitespaceContent(node2))) {\n if (hasNamedDefaultSlot) {\n context.onError(\n createCompilerError(\n 39,\n implicitDefaultChildren[0].loc\n )\n );\n } else {\n slotsProperties.push(\n buildDefaultSlotProperty(void 0, implicitDefaultChildren)\n );\n }\n }\n }\n const slotFlag = hasDynamicSlots ? 2 : hasForwardedSlots(node.children) ? 3 : 1;\n let slots = createObjectExpression(\n slotsProperties.concat(\n createObjectProperty(\n `_`,\n // 2 = compiled but dynamic = can skip normalization, but must run diff\n // 1 = compiled and static = can skip normalization AND diff as optimized\n createSimpleExpression(\n slotFlag + (!!(process.env.NODE_ENV !== \"production\") ? ` /* ${slotFlagsText[slotFlag]} */` : ``),\n false\n )\n )\n ),\n loc\n );\n if (dynamicSlots.length) {\n slots = createCallExpression(context.helper(CREATE_SLOTS), [\n slots,\n createArrayExpression(dynamicSlots)\n ]);\n }\n return {\n slots,\n hasDynamicSlots\n };\n}\nfunction buildDynamicSlot(name, fn, index) {\n const props = [\n createObjectProperty(`name`, name),\n createObjectProperty(`fn`, fn)\n ];\n if (index != null) {\n props.push(\n createObjectProperty(`key`, createSimpleExpression(String(index), true))\n );\n }\n return createObjectExpression(props);\n}\nfunction hasForwardedSlots(children) {\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n switch (child.type) {\n case 1:\n if (child.tagType === 2 || hasForwardedSlots(child.children)) {\n return true;\n }\n break;\n case 9:\n if (hasForwardedSlots(child.branches))\n return true;\n break;\n case 10:\n case 11:\n if (hasForwardedSlots(child.children))\n return true;\n break;\n }\n }\n return false;\n}\nfunction isNonWhitespaceContent(node) {\n if (node.type !== 2 && node.type !== 12)\n return true;\n return node.type === 2 ? !!node.content.trim() : isNonWhitespaceContent(node.content);\n}\n\nconst directiveImportMap = /* @__PURE__ */ new WeakMap();\nconst transformElement = (node, context) => {\n return function postTransformElement() {\n node = context.currentNode;\n if (!(node.type === 1 && (node.tagType === 0 || node.tagType === 1))) {\n return;\n }\n const { tag, props } = node;\n const isComponent = node.tagType === 1;\n let vnodeTag = isComponent ? resolveComponentType(node, context) : `\"${tag}\"`;\n const isDynamicComponent = isObject(vnodeTag) && vnodeTag.callee === RESOLVE_DYNAMIC_COMPONENT;\n let vnodeProps;\n let vnodeChildren;\n let vnodePatchFlag;\n let patchFlag = 0;\n let vnodeDynamicProps;\n let dynamicPropNames;\n let vnodeDirectives;\n let shouldUseBlock = (\n // dynamic component may resolve to plain elements\n isDynamicComponent || vnodeTag === TELEPORT || vnodeTag === SUSPENSE || !isComponent && // <svg> and <foreignObject> must be forced into blocks so that block\n // updates inside get proper isSVG flag at runtime. (#639, #643)\n // This is technically web-specific, but splitting the logic out of core\n // leads to too much unnecessary complexity.\n (tag === \"svg\" || tag === \"foreignObject\")\n );\n if (props.length > 0) {\n const propsBuildResult = buildProps(\n node,\n context,\n void 0,\n isComponent,\n isDynamicComponent\n );\n vnodeProps = propsBuildResult.props;\n patchFlag = propsBuildResult.patchFlag;\n dynamicPropNames = propsBuildResult.dynamicPropNames;\n const directives = propsBuildResult.directives;\n vnodeDirectives = directives && directives.length ? createArrayExpression(\n directives.map((dir) => buildDirectiveArgs(dir, context))\n ) : void 0;\n if (propsBuildResult.shouldUseBlock) {\n shouldUseBlock = true;\n }\n }\n if (node.children.length > 0) {\n if (vnodeTag === KEEP_ALIVE) {\n shouldUseBlock = true;\n patchFlag |= 1024;\n if (!!(process.env.NODE_ENV !== \"production\") && node.children.length > 1) {\n context.onError(\n createCompilerError(46, {\n start: node.children[0].loc.start,\n end: node.children[node.children.length - 1].loc.end,\n source: \"\"\n })\n );\n }\n }\n const shouldBuildAsSlots = isComponent && // Teleport is not a real component and has dedicated runtime handling\n vnodeTag !== TELEPORT && // explained above.\n vnodeTag !== KEEP_ALIVE;\n if (shouldBuildAsSlots) {\n const { slots, hasDynamicSlots } = buildSlots(node, context);\n vnodeChildren = slots;\n if (hasDynamicSlots) {\n patchFlag |= 1024;\n }\n } else if (node.children.length === 1 && vnodeTag !== TELEPORT) {\n const child = node.children[0];\n const type = child.type;\n const hasDynamicTextChild = type === 5 || type === 8;\n if (hasDynamicTextChild && getConstantType(child, context) === 0) {\n patchFlag |= 1;\n }\n if (hasDynamicTextChild || type === 2) {\n vnodeChildren = child;\n } else {\n vnodeChildren = node.children;\n }\n } else {\n vnodeChildren = node.children;\n }\n }\n if (patchFlag !== 0) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (patchFlag < 0) {\n vnodePatchFlag = patchFlag + ` /* ${PatchFlagNames[patchFlag]} */`;\n } else {\n const flagNames = Object.keys(PatchFlagNames).map(Number).filter((n) => n > 0 && patchFlag & n).map((n) => PatchFlagNames[n]).join(`, `);\n vnodePatchFlag = patchFlag + ` /* ${flagNames} */`;\n }\n } else {\n vnodePatchFlag = String(patchFlag);\n }\n if (dynamicPropNames && dynamicPropNames.length) {\n vnodeDynamicProps = stringifyDynamicPropNames(dynamicPropNames);\n }\n }\n node.codegenNode = createVNodeCall(\n context,\n vnodeTag,\n vnodeProps,\n vnodeChildren,\n vnodePatchFlag,\n vnodeDynamicProps,\n vnodeDirectives,\n !!shouldUseBlock,\n false,\n isComponent,\n node.loc\n );\n };\n};\nfunction resolveComponentType(node, context, ssr = false) {\n let { tag } = node;\n const isExplicitDynamic = isComponentTag(tag);\n const isProp = findProp(node, \"is\");\n if (isProp) {\n if (isExplicitDynamic || isCompatEnabled(\n \"COMPILER_IS_ON_ELEMENT\",\n context\n )) {\n const exp = isProp.type === 6 ? isProp.value && createSimpleExpression(isProp.value.content, true) : isProp.exp;\n if (exp) {\n return createCallExpression(context.helper(RESOLVE_DYNAMIC_COMPONENT), [\n exp\n ]);\n }\n } else if (isProp.type === 6 && isProp.value.content.startsWith(\"vue:\")) {\n tag = isProp.value.content.slice(4);\n }\n }\n const builtIn = isCoreComponent(tag) || context.isBuiltInComponent(tag);\n if (builtIn) {\n if (!ssr)\n context.helper(builtIn);\n return builtIn;\n }\n context.helper(RESOLVE_COMPONENT);\n context.components.add(tag);\n return toValidAssetId(tag, `component`);\n}\nfunction buildProps(node, context, props = node.props, isComponent, isDynamicComponent, ssr = false) {\n const { tag, loc: elementLoc, children } = node;\n let properties = [];\n const mergeArgs = [];\n const runtimeDirectives = [];\n const hasChildren = children.length > 0;\n let shouldUseBlock = false;\n let patchFlag = 0;\n let hasRef = false;\n let hasClassBinding = false;\n let hasStyleBinding = false;\n let hasHydrationEventBinding = false;\n let hasDynamicKeys = false;\n let hasVnodeHook = false;\n const dynamicPropNames = [];\n const pushMergeArg = (arg) => {\n if (properties.length) {\n mergeArgs.push(\n createObjectExpression(dedupeProperties(properties), elementLoc)\n );\n properties = [];\n }\n if (arg)\n mergeArgs.push(arg);\n };\n const analyzePatchFlag = ({ key, value }) => {\n if (isStaticExp(key)) {\n const name = key.content;\n const isEventHandler = isOn(name);\n if (isEventHandler && (!isComponent || isDynamicComponent) && // omit the flag for click handlers because hydration gives click\n // dedicated fast path.\n name.toLowerCase() !== \"onclick\" && // omit v-model handlers\n name !== \"onUpdate:modelValue\" && // omit onVnodeXXX hooks\n !isReservedProp(name)) {\n hasHydrationEventBinding = true;\n }\n if (isEventHandler && isReservedProp(name)) {\n hasVnodeHook = true;\n }\n if (isEventHandler && value.type === 14) {\n value = value.arguments[0];\n }\n if (value.type === 20 || (value.type === 4 || value.type === 8) && getConstantType(value, context) > 0) {\n return;\n }\n if (name === \"ref\") {\n hasRef = true;\n } else if (name === \"class\") {\n hasClassBinding = true;\n } else if (name === \"style\") {\n hasStyleBinding = true;\n } else if (name !== \"key\" && !dynamicPropNames.includes(name)) {\n dynamicPropNames.push(name);\n }\n if (isComponent && (name === \"class\" || name === \"style\") && !dynamicPropNames.includes(name)) {\n dynamicPropNames.push(name);\n }\n } else {\n hasDynamicKeys = true;\n }\n };\n for (let i = 0; i < props.length; i++) {\n const prop = props[i];\n if (prop.type === 6) {\n const { loc, name, nameLoc, value } = prop;\n let isStatic = true;\n if (name === \"ref\") {\n hasRef = true;\n if (context.scopes.vFor > 0) {\n properties.push(\n createObjectProperty(\n createSimpleExpression(\"ref_for\", true),\n createSimpleExpression(\"true\")\n )\n );\n }\n }\n if (name === \"is\" && (isComponentTag(tag) || value && value.content.startsWith(\"vue:\") || isCompatEnabled(\n \"COMPILER_IS_ON_ELEMENT\",\n context\n ))) {\n continue;\n }\n properties.push(\n createObjectProperty(\n createSimpleExpression(name, true, nameLoc),\n createSimpleExpression(\n value ? value.content : \"\",\n isStatic,\n value ? value.loc : loc\n )\n )\n );\n } else {\n const { name, arg, exp, loc, modifiers } = prop;\n const isVBind = name === \"bind\";\n const isVOn = name === \"on\";\n if (name === \"slot\") {\n if (!isComponent) {\n context.onError(\n createCompilerError(40, loc)\n );\n }\n continue;\n }\n if (name === \"once\" || name === \"memo\") {\n continue;\n }\n if (name === \"is\" || isVBind && isStaticArgOf(arg, \"is\") && (isComponentTag(tag) || isCompatEnabled(\n \"COMPILER_IS_ON_ELEMENT\",\n context\n ))) {\n continue;\n }\n if (isVOn && ssr) {\n continue;\n }\n if (\n // #938: elements with dynamic keys should be forced into blocks\n isVBind && isStaticArgOf(arg, \"key\") || // inline before-update hooks need to force block so that it is invoked\n // before children\n isVOn && hasChildren && isStaticArgOf(arg, \"vue:before-update\")\n ) {\n shouldUseBlock = true;\n }\n if (isVBind && isStaticArgOf(arg, \"ref\") && context.scopes.vFor > 0) {\n properties.push(\n createObjectProperty(\n createSimpleExpression(\"ref_for\", true),\n createSimpleExpression(\"true\")\n )\n );\n }\n if (!arg && (isVBind || isVOn)) {\n hasDynamicKeys = true;\n if (exp) {\n if (isVBind) {\n pushMergeArg();\n {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const hasOverridableKeys = mergeArgs.some((arg2) => {\n if (arg2.type === 15) {\n return arg2.properties.some(({ key }) => {\n if (key.type !== 4 || !key.isStatic) {\n return true;\n }\n return key.content !== \"class\" && key.content !== \"style\" && !isOn(key.content);\n });\n } else {\n return true;\n }\n });\n if (hasOverridableKeys) {\n checkCompatEnabled(\n \"COMPILER_V_BIND_OBJECT_ORDER\",\n context,\n loc\n );\n }\n }\n if (isCompatEnabled(\n \"COMPILER_V_BIND_OBJECT_ORDER\",\n context\n )) {\n mergeArgs.unshift(exp);\n continue;\n }\n }\n mergeArgs.push(exp);\n } else {\n pushMergeArg({\n type: 14,\n loc,\n callee: context.helper(TO_HANDLERS),\n arguments: isComponent ? [exp] : [exp, `true`]\n });\n }\n } else {\n context.onError(\n createCompilerError(\n isVBind ? 34 : 35,\n loc\n )\n );\n }\n continue;\n }\n if (isVBind && modifiers.includes(\"prop\")) {\n patchFlag |= 32;\n }\n const directiveTransform = context.directiveTransforms[name];\n if (directiveTransform) {\n const { props: props2, needRuntime } = directiveTransform(prop, node, context);\n !ssr && props2.forEach(analyzePatchFlag);\n if (isVOn && arg && !isStaticExp(arg)) {\n pushMergeArg(createObjectExpression(props2, elementLoc));\n } else {\n properties.push(...props2);\n }\n if (needRuntime) {\n runtimeDirectives.push(prop);\n if (isSymbol(needRuntime)) {\n directiveImportMap.set(prop, needRuntime);\n }\n }\n } else if (!isBuiltInDirective(name)) {\n runtimeDirectives.push(prop);\n if (hasChildren) {\n shouldUseBlock = true;\n }\n }\n }\n }\n let propsExpression = void 0;\n if (mergeArgs.length) {\n pushMergeArg();\n if (mergeArgs.length > 1) {\n propsExpression = createCallExpression(\n context.helper(MERGE_PROPS),\n mergeArgs,\n elementLoc\n );\n } else {\n propsExpression = mergeArgs[0];\n }\n } else if (properties.length) {\n propsExpression = createObjectExpression(\n dedupeProperties(properties),\n elementLoc\n );\n }\n if (hasDynamicKeys) {\n patchFlag |= 16;\n } else {\n if (hasClassBinding && !isComponent) {\n patchFlag |= 2;\n }\n if (hasStyleBinding && !isComponent) {\n patchFlag |= 4;\n }\n if (dynamicPropNames.length) {\n patchFlag |= 8;\n }\n if (hasHydrationEventBinding) {\n patchFlag |= 32;\n }\n }\n if (!shouldUseBlock && (patchFlag === 0 || patchFlag === 32) && (hasRef || hasVnodeHook || runtimeDirectives.length > 0)) {\n patchFlag |= 512;\n }\n if (!context.inSSR && propsExpression) {\n switch (propsExpression.type) {\n case 15:\n let classKeyIndex = -1;\n let styleKeyIndex = -1;\n let hasDynamicKey = false;\n for (let i = 0; i < propsExpression.properties.length; i++) {\n const key = propsExpression.properties[i].key;\n if (isStaticExp(key)) {\n if (key.content === \"class\") {\n classKeyIndex = i;\n } else if (key.content === \"style\") {\n styleKeyIndex = i;\n }\n } else if (!key.isHandlerKey) {\n hasDynamicKey = true;\n }\n }\n const classProp = propsExpression.properties[classKeyIndex];\n const styleProp = propsExpression.properties[styleKeyIndex];\n if (!hasDynamicKey) {\n if (classProp && !isStaticExp(classProp.value)) {\n classProp.value = createCallExpression(\n context.helper(NORMALIZE_CLASS),\n [classProp.value]\n );\n }\n if (styleProp && // the static style is compiled into an object,\n // so use `hasStyleBinding` to ensure that it is a dynamic style binding\n (hasStyleBinding || styleProp.value.type === 4 && styleProp.value.content.trim()[0] === `[` || // v-bind:style and style both exist,\n // v-bind:style with static literal object\n styleProp.value.type === 17)) {\n styleProp.value = createCallExpression(\n context.helper(NORMALIZE_STYLE),\n [styleProp.value]\n );\n }\n } else {\n propsExpression = createCallExpression(\n context.helper(NORMALIZE_PROPS),\n [propsExpression]\n );\n }\n break;\n case 14:\n break;\n default:\n propsExpression = createCallExpression(\n context.helper(NORMALIZE_PROPS),\n [\n createCallExpression(context.helper(GUARD_REACTIVE_PROPS), [\n propsExpression\n ])\n ]\n );\n break;\n }\n }\n return {\n props: propsExpression,\n directives: runtimeDirectives,\n patchFlag,\n dynamicPropNames,\n shouldUseBlock\n };\n}\nfunction dedupeProperties(properties) {\n const knownProps = /* @__PURE__ */ new Map();\n const deduped = [];\n for (let i = 0; i < properties.length; i++) {\n const prop = properties[i];\n if (prop.key.type === 8 || !prop.key.isStatic) {\n deduped.push(prop);\n continue;\n }\n const name = prop.key.content;\n const existing = knownProps.get(name);\n if (existing) {\n if (name === \"style\" || name === \"class\" || isOn(name)) {\n mergeAsArray(existing, prop);\n }\n } else {\n knownProps.set(name, prop);\n deduped.push(prop);\n }\n }\n return deduped;\n}\nfunction mergeAsArray(existing, incoming) {\n if (existing.value.type === 17) {\n existing.value.elements.push(incoming.value);\n } else {\n existing.value = createArrayExpression(\n [existing.value, incoming.value],\n existing.loc\n );\n }\n}\nfunction buildDirectiveArgs(dir, context) {\n const dirArgs = [];\n const runtime = directiveImportMap.get(dir);\n if (runtime) {\n dirArgs.push(context.helperString(runtime));\n } else {\n {\n context.helper(RESOLVE_DIRECTIVE);\n context.directives.add(dir.name);\n dirArgs.push(toValidAssetId(dir.name, `directive`));\n }\n }\n const { loc } = dir;\n if (dir.exp)\n dirArgs.push(dir.exp);\n if (dir.arg) {\n if (!dir.exp) {\n dirArgs.push(`void 0`);\n }\n dirArgs.push(dir.arg);\n }\n if (Object.keys(dir.modifiers).length) {\n if (!dir.arg) {\n if (!dir.exp) {\n dirArgs.push(`void 0`);\n }\n dirArgs.push(`void 0`);\n }\n const trueExpression = createSimpleExpression(`true`, false, loc);\n dirArgs.push(\n createObjectExpression(\n dir.modifiers.map(\n (modifier) => createObjectProperty(modifier, trueExpression)\n ),\n loc\n )\n );\n }\n return createArrayExpression(dirArgs, dir.loc);\n}\nfunction stringifyDynamicPropNames(props) {\n let propsNamesString = `[`;\n for (let i = 0, l = props.length; i < l; i++) {\n propsNamesString += JSON.stringify(props[i]);\n if (i < l - 1)\n propsNamesString += \", \";\n }\n return propsNamesString + `]`;\n}\nfunction isComponentTag(tag) {\n return tag === \"component\" || tag === \"Component\";\n}\n\nconst transformSlotOutlet = (node, context) => {\n if (isSlotOutlet(node)) {\n const { children, loc } = node;\n const { slotName, slotProps } = processSlotOutlet(node, context);\n const slotArgs = [\n context.prefixIdentifiers ? `_ctx.$slots` : `$slots`,\n slotName,\n \"{}\",\n \"undefined\",\n \"true\"\n ];\n let expectedLen = 2;\n if (slotProps) {\n slotArgs[2] = slotProps;\n expectedLen = 3;\n }\n if (children.length) {\n slotArgs[3] = createFunctionExpression([], children, false, false, loc);\n expectedLen = 4;\n }\n if (context.scopeId && !context.slotted) {\n expectedLen = 5;\n }\n slotArgs.splice(expectedLen);\n node.codegenNode = createCallExpression(\n context.helper(RENDER_SLOT),\n slotArgs,\n loc\n );\n }\n};\nfunction processSlotOutlet(node, context) {\n let slotName = `\"default\"`;\n let slotProps = void 0;\n const nonNameProps = [];\n for (let i = 0; i < node.props.length; i++) {\n const p = node.props[i];\n if (p.type === 6) {\n if (p.value) {\n if (p.name === \"name\") {\n slotName = JSON.stringify(p.value.content);\n } else {\n p.name = camelize(p.name);\n nonNameProps.push(p);\n }\n }\n } else {\n if (p.name === \"bind\" && isStaticArgOf(p.arg, \"name\")) {\n if (p.exp)\n slotName = p.exp;\n } else {\n if (p.name === \"bind\" && p.arg && isStaticExp(p.arg)) {\n p.arg.content = camelize(p.arg.content);\n }\n nonNameProps.push(p);\n }\n }\n }\n if (nonNameProps.length > 0) {\n const { props, directives } = buildProps(\n node,\n context,\n nonNameProps,\n false,\n false\n );\n slotProps = props;\n if (directives.length) {\n context.onError(\n createCompilerError(\n 36,\n directives[0].loc\n )\n );\n }\n }\n return {\n slotName,\n slotProps\n };\n}\n\nconst fnExpRE = /^\\s*([\\w$_]+|(async\\s*)?\\([^)]*?\\))\\s*(:[^=]+)?=>|^\\s*(async\\s+)?function(?:\\s+[\\w$]+)?\\s*\\(/;\nconst transformOn = (dir, node, context, augmentor) => {\n const { loc, modifiers, arg } = dir;\n if (!dir.exp && !modifiers.length) {\n context.onError(createCompilerError(35, loc));\n }\n let eventName;\n if (arg.type === 4) {\n if (arg.isStatic) {\n let rawName = arg.content;\n if (!!(process.env.NODE_ENV !== \"production\") && rawName.startsWith(\"vnode\")) {\n context.onError(createCompilerError(51, arg.loc));\n }\n if (rawName.startsWith(\"vue:\")) {\n rawName = `vnode-${rawName.slice(4)}`;\n }\n const eventString = node.tagType !== 0 || rawName.startsWith(\"vnode\") || !/[A-Z]/.test(rawName) ? (\n // for non-element and vnode lifecycle event listeners, auto convert\n // it to camelCase. See issue #2249\n toHandlerKey(camelize(rawName))\n ) : (\n // preserve case for plain element listeners that have uppercase\n // letters, as these may be custom elements' custom events\n `on:${rawName}`\n );\n eventName = createSimpleExpression(eventString, true, arg.loc);\n } else {\n eventName = createCompoundExpression([\n `${context.helperString(TO_HANDLER_KEY)}(`,\n arg,\n `)`\n ]);\n }\n } else {\n eventName = arg;\n eventName.children.unshift(`${context.helperString(TO_HANDLER_KEY)}(`);\n eventName.children.push(`)`);\n }\n let exp = dir.exp;\n if (exp && !exp.content.trim()) {\n exp = void 0;\n }\n let shouldCache = context.cacheHandlers && !exp && !context.inVOnce;\n if (exp) {\n const isMemberExp = isMemberExpression(exp.content);\n const isInlineStatement = !(isMemberExp || fnExpRE.test(exp.content));\n const hasMultipleStatements = exp.content.includes(`;`);\n if (!!(process.env.NODE_ENV !== \"production\") && true) {\n validateBrowserExpression(\n exp,\n context,\n false,\n hasMultipleStatements\n );\n }\n if (isInlineStatement || shouldCache && isMemberExp) {\n exp = createCompoundExpression([\n `${isInlineStatement ? `$event` : `${``}(...args)`} => ${hasMultipleStatements ? `{` : `(`}`,\n exp,\n hasMultipleStatements ? `}` : `)`\n ]);\n }\n }\n let ret = {\n props: [\n createObjectProperty(\n eventName,\n exp || createSimpleExpression(`() => {}`, false, loc)\n )\n ]\n };\n if (augmentor) {\n ret = augmentor(ret);\n }\n if (shouldCache) {\n ret.props[0].value = context.cache(ret.props[0].value);\n }\n ret.props.forEach((p) => p.key.isHandlerKey = true);\n return ret;\n};\n\nconst transformBind = (dir, _node, context) => {\n const { modifiers, loc } = dir;\n const arg = dir.arg;\n let { exp } = dir;\n if (!exp && arg.type === 4) {\n const propName = camelize(arg.content);\n exp = dir.exp = createSimpleExpression(propName, false, arg.loc);\n }\n if (arg.type !== 4) {\n arg.children.unshift(`(`);\n arg.children.push(`) || \"\"`);\n } else if (!arg.isStatic) {\n arg.content = `${arg.content} || \"\"`;\n }\n if (modifiers.includes(\"camel\")) {\n if (arg.type === 4) {\n if (arg.isStatic) {\n arg.content = camelize(arg.content);\n } else {\n arg.content = `${context.helperString(CAMELIZE)}(${arg.content})`;\n }\n } else {\n arg.children.unshift(`${context.helperString(CAMELIZE)}(`);\n arg.children.push(`)`);\n }\n }\n if (!context.inSSR) {\n if (modifiers.includes(\"prop\")) {\n injectPrefix(arg, \".\");\n }\n if (modifiers.includes(\"attr\")) {\n injectPrefix(arg, \"^\");\n }\n }\n if (!exp || exp.type === 4 && !exp.content.trim()) {\n context.onError(createCompilerError(34, loc));\n return {\n props: [createObjectProperty(arg, createSimpleExpression(\"\", true, loc))]\n };\n }\n return {\n props: [createObjectProperty(arg, exp)]\n };\n};\nconst injectPrefix = (arg, prefix) => {\n if (arg.type === 4) {\n if (arg.isStatic) {\n arg.content = prefix + arg.content;\n } else {\n arg.content = `\\`${prefix}\\${${arg.content}}\\``;\n }\n } else {\n arg.children.unshift(`'${prefix}' + (`);\n arg.children.push(`)`);\n }\n};\n\nconst transformText = (node, context) => {\n if (node.type === 0 || node.type === 1 || node.type === 11 || node.type === 10) {\n return () => {\n const children = node.children;\n let currentContainer = void 0;\n let hasText = false;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (isText$1(child)) {\n hasText = true;\n for (let j = i + 1; j < children.length; j++) {\n const next = children[j];\n if (isText$1(next)) {\n if (!currentContainer) {\n currentContainer = children[i] = createCompoundExpression(\n [child],\n child.loc\n );\n }\n currentContainer.children.push(` + `, next);\n children.splice(j, 1);\n j--;\n } else {\n currentContainer = void 0;\n break;\n }\n }\n }\n }\n if (!hasText || // if this is a plain element with a single text child, leave it\n // as-is since the runtime has dedicated fast path for this by directly\n // setting textContent of the element.\n // for component root it's always normalized anyway.\n children.length === 1 && (node.type === 0 || node.type === 1 && node.tagType === 0 && // #3756\n // custom directives can potentially add DOM elements arbitrarily,\n // we need to avoid setting textContent of the element at runtime\n // to avoid accidentally overwriting the DOM elements added\n // by the user through custom directives.\n !node.props.find(\n (p) => p.type === 7 && !context.directiveTransforms[p.name]\n ) && // in compat mode, <template> tags with no special directives\n // will be rendered as a fragment so its children must be\n // converted into vnodes.\n !(node.tag === \"template\"))) {\n return;\n }\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (isText$1(child) || child.type === 8) {\n const callArgs = [];\n if (child.type !== 2 || child.content !== \" \") {\n callArgs.push(child);\n }\n if (!context.ssr && getConstantType(child, context) === 0) {\n callArgs.push(\n 1 + (!!(process.env.NODE_ENV !== \"production\") ? ` /* ${PatchFlagNames[1]} */` : ``)\n );\n }\n children[i] = {\n type: 12,\n content: child,\n loc: child.loc,\n codegenNode: createCallExpression(\n context.helper(CREATE_TEXT),\n callArgs\n )\n };\n }\n }\n };\n }\n};\n\nconst seen$1 = /* @__PURE__ */ new WeakSet();\nconst transformOnce = (node, context) => {\n if (node.type === 1 && findDir(node, \"once\", true)) {\n if (seen$1.has(node) || context.inVOnce || context.inSSR) {\n return;\n }\n seen$1.add(node);\n context.inVOnce = true;\n context.helper(SET_BLOCK_TRACKING);\n return () => {\n context.inVOnce = false;\n const cur = context.currentNode;\n if (cur.codegenNode) {\n cur.codegenNode = context.cache(\n cur.codegenNode,\n true\n /* isVNode */\n );\n }\n };\n }\n};\n\nconst transformModel = (dir, node, context) => {\n const { exp, arg } = dir;\n if (!exp) {\n context.onError(\n createCompilerError(41, dir.loc)\n );\n return createTransformProps();\n }\n const rawExp = exp.loc.source;\n const expString = exp.type === 4 ? exp.content : rawExp;\n const bindingType = context.bindingMetadata[rawExp];\n if (bindingType === \"props\" || bindingType === \"props-aliased\") {\n context.onError(createCompilerError(44, exp.loc));\n return createTransformProps();\n }\n const maybeRef = false;\n if (!expString.trim() || !isMemberExpression(expString) && !maybeRef) {\n context.onError(\n createCompilerError(42, exp.loc)\n );\n return createTransformProps();\n }\n const propName = arg ? arg : createSimpleExpression(\"modelValue\", true);\n const eventName = arg ? isStaticExp(arg) ? `onUpdate:${camelize(arg.content)}` : createCompoundExpression(['\"onUpdate:\" + ', arg]) : `onUpdate:modelValue`;\n let assignmentExp;\n const eventArg = context.isTS ? `($event: any)` : `$event`;\n {\n assignmentExp = createCompoundExpression([\n `${eventArg} => ((`,\n exp,\n `) = $event)`\n ]);\n }\n const props = [\n // modelValue: foo\n createObjectProperty(propName, dir.exp),\n // \"onUpdate:modelValue\": $event => (foo = $event)\n createObjectProperty(eventName, assignmentExp)\n ];\n if (dir.modifiers.length && node.tagType === 1) {\n const modifiers = dir.modifiers.map((m) => (isSimpleIdentifier(m) ? m : JSON.stringify(m)) + `: true`).join(`, `);\n const modifiersKey = arg ? isStaticExp(arg) ? `${arg.content}Modifiers` : createCompoundExpression([arg, ' + \"Modifiers\"']) : `modelModifiers`;\n props.push(\n createObjectProperty(\n modifiersKey,\n createSimpleExpression(\n `{ ${modifiers} }`,\n false,\n dir.loc,\n 2\n )\n )\n );\n }\n return createTransformProps(props);\n};\nfunction createTransformProps(props = []) {\n return { props };\n}\n\nconst validDivisionCharRE = /[\\w).+\\-_$\\]]/;\nconst transformFilter = (node, context) => {\n if (!isCompatEnabled(\"COMPILER_FILTERS\", context)) {\n return;\n }\n if (node.type === 5) {\n rewriteFilter(node.content, context);\n }\n if (node.type === 1) {\n node.props.forEach((prop) => {\n if (prop.type === 7 && prop.name !== \"for\" && prop.exp) {\n rewriteFilter(prop.exp, context);\n }\n });\n }\n};\nfunction rewriteFilter(node, context) {\n if (node.type === 4) {\n parseFilter(node, context);\n } else {\n for (let i = 0; i < node.children.length; i++) {\n const child = node.children[i];\n if (typeof child !== \"object\")\n continue;\n if (child.type === 4) {\n parseFilter(child, context);\n } else if (child.type === 8) {\n rewriteFilter(node, context);\n } else if (child.type === 5) {\n rewriteFilter(child.content, context);\n }\n }\n }\n}\nfunction parseFilter(node, context) {\n const exp = node.content;\n let inSingle = false;\n let inDouble = false;\n let inTemplateString = false;\n let inRegex = false;\n let curly = 0;\n let square = 0;\n let paren = 0;\n let lastFilterIndex = 0;\n let c, prev, i, expression, filters = [];\n for (i = 0; i < exp.length; i++) {\n prev = c;\n c = exp.charCodeAt(i);\n if (inSingle) {\n if (c === 39 && prev !== 92)\n inSingle = false;\n } else if (inDouble) {\n if (c === 34 && prev !== 92)\n inDouble = false;\n } else if (inTemplateString) {\n if (c === 96 && prev !== 92)\n inTemplateString = false;\n } else if (inRegex) {\n if (c === 47 && prev !== 92)\n inRegex = false;\n } else if (c === 124 && // pipe\n exp.charCodeAt(i + 1) !== 124 && exp.charCodeAt(i - 1) !== 124 && !curly && !square && !paren) {\n if (expression === void 0) {\n lastFilterIndex = i + 1;\n expression = exp.slice(0, i).trim();\n } else {\n pushFilter();\n }\n } else {\n switch (c) {\n case 34:\n inDouble = true;\n break;\n case 39:\n inSingle = true;\n break;\n case 96:\n inTemplateString = true;\n break;\n case 40:\n paren++;\n break;\n case 41:\n paren--;\n break;\n case 91:\n square++;\n break;\n case 93:\n square--;\n break;\n case 123:\n curly++;\n break;\n case 125:\n curly--;\n break;\n }\n if (c === 47) {\n let j = i - 1;\n let p;\n for (; j >= 0; j--) {\n p = exp.charAt(j);\n if (p !== \" \")\n break;\n }\n if (!p || !validDivisionCharRE.test(p)) {\n inRegex = true;\n }\n }\n }\n }\n if (expression === void 0) {\n expression = exp.slice(0, i).trim();\n } else if (lastFilterIndex !== 0) {\n pushFilter();\n }\n function pushFilter() {\n filters.push(exp.slice(lastFilterIndex, i).trim());\n lastFilterIndex = i + 1;\n }\n if (filters.length) {\n !!(process.env.NODE_ENV !== \"production\") && warnDeprecation(\n \"COMPILER_FILTERS\",\n context,\n node.loc\n );\n for (i = 0; i < filters.length; i++) {\n expression = wrapFilter(expression, filters[i], context);\n }\n node.content = expression;\n }\n}\nfunction wrapFilter(exp, filter, context) {\n context.helper(RESOLVE_FILTER);\n const i = filter.indexOf(\"(\");\n if (i < 0) {\n context.filters.add(filter);\n return `${toValidAssetId(filter, \"filter\")}(${exp})`;\n } else {\n const name = filter.slice(0, i);\n const args = filter.slice(i + 1);\n context.filters.add(name);\n return `${toValidAssetId(name, \"filter\")}(${exp}${args !== \")\" ? \",\" + args : args}`;\n }\n}\n\nconst seen = /* @__PURE__ */ new WeakSet();\nconst transformMemo = (node, context) => {\n if (node.type === 1) {\n const dir = findDir(node, \"memo\");\n if (!dir || seen.has(node)) {\n return;\n }\n seen.add(node);\n return () => {\n const codegenNode = node.codegenNode || context.currentNode.codegenNode;\n if (codegenNode && codegenNode.type === 13) {\n if (node.tagType !== 1) {\n convertToBlock(codegenNode, context);\n }\n node.codegenNode = createCallExpression(context.helper(WITH_MEMO), [\n dir.exp,\n createFunctionExpression(void 0, codegenNode),\n `_cache`,\n String(context.cached++)\n ]);\n }\n };\n }\n};\n\nfunction getBaseTransformPreset(prefixIdentifiers) {\n return [\n [\n transformOnce,\n transformIf,\n transformMemo,\n transformFor,\n ...[transformFilter] ,\n ...!!(process.env.NODE_ENV !== \"production\") ? [transformExpression] : [],\n transformSlotOutlet,\n transformElement,\n trackSlotScopes,\n transformText\n ],\n {\n on: transformOn,\n bind: transformBind,\n model: transformModel\n }\n ];\n}\nfunction baseCompile(source, options = {}) {\n const onError = options.onError || defaultOnError;\n const isModuleMode = options.mode === \"module\";\n {\n if (options.prefixIdentifiers === true) {\n onError(createCompilerError(47));\n } else if (isModuleMode) {\n onError(createCompilerError(48));\n }\n }\n const prefixIdentifiers = false;\n if (options.cacheHandlers) {\n onError(createCompilerError(49));\n }\n if (options.scopeId && !isModuleMode) {\n onError(createCompilerError(50));\n }\n const resolvedOptions = extend({}, options, {\n prefixIdentifiers\n });\n const ast = isString(source) ? baseParse(source, resolvedOptions) : source;\n const [nodeTransforms, directiveTransforms] = getBaseTransformPreset();\n transform(\n ast,\n extend({}, resolvedOptions, {\n nodeTransforms: [\n ...nodeTransforms,\n ...options.nodeTransforms || []\n // user transforms\n ],\n directiveTransforms: extend(\n {},\n directiveTransforms,\n options.directiveTransforms || {}\n // user transforms\n )\n })\n );\n return generate(ast, resolvedOptions);\n}\n\nconst BindingTypes = {\n \"DATA\": \"data\",\n \"PROPS\": \"props\",\n \"PROPS_ALIASED\": \"props-aliased\",\n \"SETUP_LET\": \"setup-let\",\n \"SETUP_CONST\": \"setup-const\",\n \"SETUP_REACTIVE_CONST\": \"setup-reactive-const\",\n \"SETUP_MAYBE_REF\": \"setup-maybe-ref\",\n \"SETUP_REF\": \"setup-ref\",\n \"OPTIONS\": \"options\",\n \"LITERAL_CONST\": \"literal-const\"\n};\n\nconst noopDirectiveTransform = () => ({ props: [] });\n\nexport { BASE_TRANSITION, BindingTypes, CAMELIZE, CAPITALIZE, CREATE_BLOCK, CREATE_COMMENT, CREATE_ELEMENT_BLOCK, CREATE_ELEMENT_VNODE, CREATE_SLOTS, CREATE_STATIC, CREATE_TEXT, CREATE_VNODE, CompilerDeprecationTypes, ConstantTypes, ElementTypes, ErrorCodes, FRAGMENT, GUARD_REACTIVE_PROPS, IS_MEMO_SAME, IS_REF, KEEP_ALIVE, MERGE_PROPS, NORMALIZE_CLASS, NORMALIZE_PROPS, NORMALIZE_STYLE, Namespaces, NodeTypes, OPEN_BLOCK, POP_SCOPE_ID, PUSH_SCOPE_ID, RENDER_LIST, RENDER_SLOT, RESOLVE_COMPONENT, RESOLVE_DIRECTIVE, RESOLVE_DYNAMIC_COMPONENT, RESOLVE_FILTER, SET_BLOCK_TRACKING, SUSPENSE, TELEPORT, TO_DISPLAY_STRING, TO_HANDLERS, TO_HANDLER_KEY, TS_NODE_TYPES, UNREF, WITH_CTX, WITH_DIRECTIVES, WITH_MEMO, advancePositionWithClone, advancePositionWithMutation, assert, baseCompile, baseParse, buildDirectiveArgs, buildProps, buildSlots, checkCompatEnabled, convertToBlock, createArrayExpression, createAssignmentExpression, createBlockStatement, createCacheExpression, createCallExpression, createCompilerError, createCompoundExpression, createConditionalExpression, createForLoopParams, createFunctionExpression, createIfStatement, createInterpolation, createObjectExpression, createObjectProperty, createReturnStatement, createRoot, createSequenceExpression, createSimpleExpression, createStructuralDirectiveTransform, createTemplateLiteral, createTransformContext, createVNodeCall, errorMessages, extractIdentifiers, findDir, findProp, forAliasRE, generate, getBaseTransformPreset, getConstantType, getMemoedVNodeCall, getVNodeBlockHelper, getVNodeHelper, hasDynamicKeyVBind, hasScopeRef, helperNameMap, injectProp, isCoreComponent, isFunctionType, isInDestructureAssignment, isInNewExpression, isMemberExpression, isMemberExpressionBrowser, isMemberExpressionNode, isReferencedIdentifier, isSimpleIdentifier, isSlotOutlet, isStaticArgOf, isStaticExp, isStaticProperty, isStaticPropertyKey, isTemplateNode, isText$1 as isText, isVSlot, locStub, noopDirectiveTransform, processExpression, processFor, processIf, processSlotOutlet, registerRuntimeHelpers, resolveComponentType, stringifyExpression, toValidAssetId, trackSlotScopes, trackVForSlotScopes, transform, transformBind, transformElement, transformExpression, transformModel, transformOn, traverseNode, unwrapTSNode, walkBlockDeclarations, walkFunctionParams, walkIdentifiers, warnDeprecation };\n", "/**\n* @vue/compiler-dom v3.4.15\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { registerRuntimeHelpers, createSimpleExpression, createCompilerError, createObjectProperty, getConstantType, createCallExpression, TO_DISPLAY_STRING, transformModel as transformModel$1, findProp, hasDynamicKeyVBind, findDir, isStaticArgOf, transformOn as transformOn$1, isStaticExp, createCompoundExpression, checkCompatEnabled, noopDirectiveTransform, baseCompile, baseParse } from '@vue/compiler-core';\nexport * from '@vue/compiler-core';\nimport { isVoidTag, isHTMLTag, isSVGTag, isMathMLTag, parseStringStyle, capitalize, makeMap, extend } from '@vue/shared';\n\nconst V_MODEL_RADIO = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `vModelRadio` : ``);\nconst V_MODEL_CHECKBOX = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `vModelCheckbox` : ``);\nconst V_MODEL_TEXT = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `vModelText` : ``);\nconst V_MODEL_SELECT = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `vModelSelect` : ``);\nconst V_MODEL_DYNAMIC = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `vModelDynamic` : ``);\nconst V_ON_WITH_MODIFIERS = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `vOnModifiersGuard` : ``);\nconst V_ON_WITH_KEYS = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `vOnKeysGuard` : ``);\nconst V_SHOW = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `vShow` : ``);\nconst TRANSITION = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `Transition` : ``);\nconst TRANSITION_GROUP = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `TransitionGroup` : ``);\nregisterRuntimeHelpers({\n [V_MODEL_RADIO]: `vModelRadio`,\n [V_MODEL_CHECKBOX]: `vModelCheckbox`,\n [V_MODEL_TEXT]: `vModelText`,\n [V_MODEL_SELECT]: `vModelSelect`,\n [V_MODEL_DYNAMIC]: `vModelDynamic`,\n [V_ON_WITH_MODIFIERS]: `withModifiers`,\n [V_ON_WITH_KEYS]: `withKeys`,\n [V_SHOW]: `vShow`,\n [TRANSITION]: `Transition`,\n [TRANSITION_GROUP]: `TransitionGroup`\n});\n\nlet decoder;\nfunction decodeHtmlBrowser(raw, asAttr = false) {\n if (!decoder) {\n decoder = document.createElement(\"div\");\n }\n if (asAttr) {\n decoder.innerHTML = `<div foo=\"${raw.replace(/\"/g, \""\")}\">`;\n return decoder.children[0].getAttribute(\"foo\");\n } else {\n decoder.innerHTML = raw;\n return decoder.textContent;\n }\n}\n\nconst parserOptions = {\n parseMode: \"html\",\n isVoidTag,\n isNativeTag: (tag) => isHTMLTag(tag) || isSVGTag(tag) || isMathMLTag(tag),\n isPreTag: (tag) => tag === \"pre\",\n decodeEntities: decodeHtmlBrowser ,\n isBuiltInComponent: (tag) => {\n if (tag === \"Transition\" || tag === \"transition\") {\n return TRANSITION;\n } else if (tag === \"TransitionGroup\" || tag === \"transition-group\") {\n return TRANSITION_GROUP;\n }\n },\n // https://html.spec.whatwg.org/multipage/parsing.html#tree-construction-dispatcher\n getNamespace(tag, parent, rootNamespace) {\n let ns = parent ? parent.ns : rootNamespace;\n if (parent && ns === 2) {\n if (parent.tag === \"annotation-xml\") {\n if (tag === \"svg\") {\n return 1;\n }\n if (parent.props.some(\n (a) => a.type === 6 && a.name === \"encoding\" && a.value != null && (a.value.content === \"text/html\" || a.value.content === \"application/xhtml+xml\")\n )) {\n ns = 0;\n }\n } else if (/^m(?:[ions]|text)$/.test(parent.tag) && tag !== \"mglyph\" && tag !== \"malignmark\") {\n ns = 0;\n }\n } else if (parent && ns === 1) {\n if (parent.tag === \"foreignObject\" || parent.tag === \"desc\" || parent.tag === \"title\") {\n ns = 0;\n }\n }\n if (ns === 0) {\n if (tag === \"svg\") {\n return 1;\n }\n if (tag === \"math\") {\n return 2;\n }\n }\n return ns;\n }\n};\n\nconst transformStyle = (node) => {\n if (node.type === 1) {\n node.props.forEach((p, i) => {\n if (p.type === 6 && p.name === \"style\" && p.value) {\n node.props[i] = {\n type: 7,\n name: `bind`,\n arg: createSimpleExpression(`style`, true, p.loc),\n exp: parseInlineCSS(p.value.content, p.loc),\n modifiers: [],\n loc: p.loc\n };\n }\n });\n }\n};\nconst parseInlineCSS = (cssText, loc) => {\n const normalized = parseStringStyle(cssText);\n return createSimpleExpression(\n JSON.stringify(normalized),\n false,\n loc,\n 3\n );\n};\n\nfunction createDOMCompilerError(code, loc) {\n return createCompilerError(\n code,\n loc,\n !!(process.env.NODE_ENV !== \"production\") || false ? DOMErrorMessages : void 0\n );\n}\nconst DOMErrorCodes = {\n \"X_V_HTML_NO_EXPRESSION\": 53,\n \"53\": \"X_V_HTML_NO_EXPRESSION\",\n \"X_V_HTML_WITH_CHILDREN\": 54,\n \"54\": \"X_V_HTML_WITH_CHILDREN\",\n \"X_V_TEXT_NO_EXPRESSION\": 55,\n \"55\": \"X_V_TEXT_NO_EXPRESSION\",\n \"X_V_TEXT_WITH_CHILDREN\": 56,\n \"56\": \"X_V_TEXT_WITH_CHILDREN\",\n \"X_V_MODEL_ON_INVALID_ELEMENT\": 57,\n \"57\": \"X_V_MODEL_ON_INVALID_ELEMENT\",\n \"X_V_MODEL_ARG_ON_ELEMENT\": 58,\n \"58\": \"X_V_MODEL_ARG_ON_ELEMENT\",\n \"X_V_MODEL_ON_FILE_INPUT_ELEMENT\": 59,\n \"59\": \"X_V_MODEL_ON_FILE_INPUT_ELEMENT\",\n \"X_V_MODEL_UNNECESSARY_VALUE\": 60,\n \"60\": \"X_V_MODEL_UNNECESSARY_VALUE\",\n \"X_V_SHOW_NO_EXPRESSION\": 61,\n \"61\": \"X_V_SHOW_NO_EXPRESSION\",\n \"X_TRANSITION_INVALID_CHILDREN\": 62,\n \"62\": \"X_TRANSITION_INVALID_CHILDREN\",\n \"X_IGNORED_SIDE_EFFECT_TAG\": 63,\n \"63\": \"X_IGNORED_SIDE_EFFECT_TAG\",\n \"__EXTEND_POINT__\": 64,\n \"64\": \"__EXTEND_POINT__\"\n};\nconst DOMErrorMessages = {\n [53]: `v-html is missing expression.`,\n [54]: `v-html will override element children.`,\n [55]: `v-text is missing expression.`,\n [56]: `v-text will override element children.`,\n [57]: `v-model can only be used on <input>, <textarea> and <select> elements.`,\n [58]: `v-model argument is not supported on plain elements.`,\n [59]: `v-model cannot be used on file inputs since they are read-only. Use a v-on:change listener instead.`,\n [60]: `Unnecessary value binding used alongside v-model. It will interfere with v-model's behavior.`,\n [61]: `v-show is missing expression.`,\n [62]: `<Transition> expects exactly one child element or component.`,\n [63]: `Tags with side effect (<script> and <style>) are ignored in client component templates.`\n};\n\nconst transformVHtml = (dir, node, context) => {\n const { exp, loc } = dir;\n if (!exp) {\n context.onError(\n createDOMCompilerError(53, loc)\n );\n }\n if (node.children.length) {\n context.onError(\n createDOMCompilerError(54, loc)\n );\n node.children.length = 0;\n }\n return {\n props: [\n createObjectProperty(\n createSimpleExpression(`innerHTML`, true, loc),\n exp || createSimpleExpression(\"\", true)\n )\n ]\n };\n};\n\nconst transformVText = (dir, node, context) => {\n const { exp, loc } = dir;\n if (!exp) {\n context.onError(\n createDOMCompilerError(55, loc)\n );\n }\n if (node.children.length) {\n context.onError(\n createDOMCompilerError(56, loc)\n );\n node.children.length = 0;\n }\n return {\n props: [\n createObjectProperty(\n createSimpleExpression(`textContent`, true),\n exp ? getConstantType(exp, context) > 0 ? exp : createCallExpression(\n context.helperString(TO_DISPLAY_STRING),\n [exp],\n loc\n ) : createSimpleExpression(\"\", true)\n )\n ]\n };\n};\n\nconst transformModel = (dir, node, context) => {\n const baseResult = transformModel$1(dir, node, context);\n if (!baseResult.props.length || node.tagType === 1) {\n return baseResult;\n }\n if (dir.arg) {\n context.onError(\n createDOMCompilerError(\n 58,\n dir.arg.loc\n )\n );\n }\n function checkDuplicatedValue() {\n const value = findDir(node, \"bind\");\n if (value && isStaticArgOf(value.arg, \"value\")) {\n context.onError(\n createDOMCompilerError(\n 60,\n value.loc\n )\n );\n }\n }\n const { tag } = node;\n const isCustomElement = context.isCustomElement(tag);\n if (tag === \"input\" || tag === \"textarea\" || tag === \"select\" || isCustomElement) {\n let directiveToUse = V_MODEL_TEXT;\n let isInvalidType = false;\n if (tag === \"input\" || isCustomElement) {\n const type = findProp(node, `type`);\n if (type) {\n if (type.type === 7) {\n directiveToUse = V_MODEL_DYNAMIC;\n } else if (type.value) {\n switch (type.value.content) {\n case \"radio\":\n directiveToUse = V_MODEL_RADIO;\n break;\n case \"checkbox\":\n directiveToUse = V_MODEL_CHECKBOX;\n break;\n case \"file\":\n isInvalidType = true;\n context.onError(\n createDOMCompilerError(\n 59,\n dir.loc\n )\n );\n break;\n default:\n !!(process.env.NODE_ENV !== \"production\") && checkDuplicatedValue();\n break;\n }\n }\n } else if (hasDynamicKeyVBind(node)) {\n directiveToUse = V_MODEL_DYNAMIC;\n } else {\n !!(process.env.NODE_ENV !== \"production\") && checkDuplicatedValue();\n }\n } else if (tag === \"select\") {\n directiveToUse = V_MODEL_SELECT;\n } else {\n !!(process.env.NODE_ENV !== \"production\") && checkDuplicatedValue();\n }\n if (!isInvalidType) {\n baseResult.needRuntime = context.helper(directiveToUse);\n }\n } else {\n context.onError(\n createDOMCompilerError(\n 57,\n dir.loc\n )\n );\n }\n baseResult.props = baseResult.props.filter(\n (p) => !(p.key.type === 4 && p.key.content === \"modelValue\")\n );\n return baseResult;\n};\n\nconst isEventOptionModifier = /* @__PURE__ */ makeMap(`passive,once,capture`);\nconst isNonKeyModifier = /* @__PURE__ */ makeMap(\n // event propagation management\n `stop,prevent,self,ctrl,shift,alt,meta,exact,middle`\n);\nconst maybeKeyModifier = /* @__PURE__ */ makeMap(\"left,right\");\nconst isKeyboardEvent = /* @__PURE__ */ makeMap(\n `onkeyup,onkeydown,onkeypress`,\n true\n);\nconst resolveModifiers = (key, modifiers, context, loc) => {\n const keyModifiers = [];\n const nonKeyModifiers = [];\n const eventOptionModifiers = [];\n for (let i = 0; i < modifiers.length; i++) {\n const modifier = modifiers[i];\n if (modifier === \"native\" && checkCompatEnabled(\n \"COMPILER_V_ON_NATIVE\",\n context,\n loc\n )) {\n eventOptionModifiers.push(modifier);\n } else if (isEventOptionModifier(modifier)) {\n eventOptionModifiers.push(modifier);\n } else {\n if (maybeKeyModifier(modifier)) {\n if (isStaticExp(key)) {\n if (isKeyboardEvent(key.content)) {\n keyModifiers.push(modifier);\n } else {\n nonKeyModifiers.push(modifier);\n }\n } else {\n keyModifiers.push(modifier);\n nonKeyModifiers.push(modifier);\n }\n } else {\n if (isNonKeyModifier(modifier)) {\n nonKeyModifiers.push(modifier);\n } else {\n keyModifiers.push(modifier);\n }\n }\n }\n }\n return {\n keyModifiers,\n nonKeyModifiers,\n eventOptionModifiers\n };\n};\nconst transformClick = (key, event) => {\n const isStaticClick = isStaticExp(key) && key.content.toLowerCase() === \"onclick\";\n return isStaticClick ? createSimpleExpression(event, true) : key.type !== 4 ? createCompoundExpression([\n `(`,\n key,\n `) === \"onClick\" ? \"${event}\" : (`,\n key,\n `)`\n ]) : key;\n};\nconst transformOn = (dir, node, context) => {\n return transformOn$1(dir, node, context, (baseResult) => {\n const { modifiers } = dir;\n if (!modifiers.length)\n return baseResult;\n let { key, value: handlerExp } = baseResult.props[0];\n const { keyModifiers, nonKeyModifiers, eventOptionModifiers } = resolveModifiers(key, modifiers, context, dir.loc);\n if (nonKeyModifiers.includes(\"right\")) {\n key = transformClick(key, `onContextmenu`);\n }\n if (nonKeyModifiers.includes(\"middle\")) {\n key = transformClick(key, `onMouseup`);\n }\n if (nonKeyModifiers.length) {\n handlerExp = createCallExpression(context.helper(V_ON_WITH_MODIFIERS), [\n handlerExp,\n JSON.stringify(nonKeyModifiers)\n ]);\n }\n if (keyModifiers.length && // if event name is dynamic, always wrap with keys guard\n (!isStaticExp(key) || isKeyboardEvent(key.content))) {\n handlerExp = createCallExpression(context.helper(V_ON_WITH_KEYS), [\n handlerExp,\n JSON.stringify(keyModifiers)\n ]);\n }\n if (eventOptionModifiers.length) {\n const modifierPostfix = eventOptionModifiers.map(capitalize).join(\"\");\n key = isStaticExp(key) ? createSimpleExpression(`${key.content}${modifierPostfix}`, true) : createCompoundExpression([`(`, key, `) + \"${modifierPostfix}\"`]);\n }\n return {\n props: [createObjectProperty(key, handlerExp)]\n };\n });\n};\n\nconst transformShow = (dir, node, context) => {\n const { exp, loc } = dir;\n if (!exp) {\n context.onError(\n createDOMCompilerError(61, loc)\n );\n }\n return {\n props: [],\n needRuntime: context.helper(V_SHOW)\n };\n};\n\nconst transformTransition = (node, context) => {\n if (node.type === 1 && node.tagType === 1) {\n const component = context.isBuiltInComponent(node.tag);\n if (component === TRANSITION) {\n return () => {\n if (!node.children.length) {\n return;\n }\n if (hasMultipleChildren(node)) {\n context.onError(\n createDOMCompilerError(\n 62,\n {\n start: node.children[0].loc.start,\n end: node.children[node.children.length - 1].loc.end,\n source: \"\"\n }\n )\n );\n }\n const child = node.children[0];\n if (child.type === 1) {\n for (const p of child.props) {\n if (p.type === 7 && p.name === \"show\") {\n node.props.push({\n type: 6,\n name: \"persisted\",\n nameLoc: node.loc,\n value: void 0,\n loc: node.loc\n });\n }\n }\n }\n };\n }\n }\n};\nfunction hasMultipleChildren(node) {\n const children = node.children = node.children.filter(\n (c) => c.type !== 3 && !(c.type === 2 && !c.content.trim())\n );\n const child = children[0];\n return children.length !== 1 || child.type === 11 || child.type === 9 && child.branches.some(hasMultipleChildren);\n}\n\nconst ignoreSideEffectTags = (node, context) => {\n if (node.type === 1 && node.tagType === 0 && (node.tag === \"script\" || node.tag === \"style\")) {\n !!(process.env.NODE_ENV !== \"production\") && context.onError(\n createDOMCompilerError(\n 63,\n node.loc\n )\n );\n context.removeNode();\n }\n};\n\nconst DOMNodeTransforms = [\n transformStyle,\n ...!!(process.env.NODE_ENV !== \"production\") ? [transformTransition] : []\n];\nconst DOMDirectiveTransforms = {\n cloak: noopDirectiveTransform,\n html: transformVHtml,\n text: transformVText,\n model: transformModel,\n // override compiler-core\n on: transformOn,\n // override compiler-core\n show: transformShow\n};\nfunction compile(src, options = {}) {\n return baseCompile(\n src,\n extend({}, parserOptions, options, {\n nodeTransforms: [\n // ignore <script> and <tag>\n // this is not put inside DOMNodeTransforms because that list is used\n // by compiler-ssr to generate vnode fallback branches\n ignoreSideEffectTags,\n ...DOMNodeTransforms,\n ...options.nodeTransforms || []\n ],\n directiveTransforms: extend(\n {},\n DOMDirectiveTransforms,\n options.directiveTransforms || {}\n ),\n transformHoist: null \n })\n );\n}\nfunction parse(template, options = {}) {\n return baseParse(template, extend({}, parserOptions, options));\n}\n\nexport { DOMDirectiveTransforms, DOMErrorCodes, DOMErrorMessages, DOMNodeTransforms, TRANSITION, TRANSITION_GROUP, V_MODEL_CHECKBOX, V_MODEL_DYNAMIC, V_MODEL_RADIO, V_MODEL_SELECT, V_MODEL_TEXT, V_ON_WITH_KEYS, V_ON_WITH_MODIFIERS, V_SHOW, compile, createDOMCompilerError, parse, parserOptions, transformStyle };\n", "/**\n* vue v3.4.15\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar compilerDom = require('@vue/compiler-dom');\nvar runtimeDom = require('@vue/runtime-dom');\nvar shared = require('@vue/shared');\n\nfunction _interopNamespaceDefault(e) {\n var n = Object.create(null);\n if (e) {\n for (var k in e) {\n n[k] = e[k];\n }\n }\n n.default = e;\n return Object.freeze(n);\n}\n\nvar runtimeDom__namespace = /*#__PURE__*/_interopNamespaceDefault(runtimeDom);\n\nconst compileCache = /* @__PURE__ */ new WeakMap();\nfunction getCache(options) {\n let c = compileCache.get(options != null ? options : shared.EMPTY_OBJ);\n if (!c) {\n c = /* @__PURE__ */ Object.create(null);\n compileCache.set(options != null ? options : shared.EMPTY_OBJ, c);\n }\n return c;\n}\nfunction compileToFunction(template, options) {\n if (!shared.isString(template)) {\n if (template.nodeType) {\n template = template.innerHTML;\n } else {\n runtimeDom.warn(`invalid template option: `, template);\n return shared.NOOP;\n }\n }\n const key = template;\n const cache = getCache(options);\n const cached = cache[key];\n if (cached) {\n return cached;\n }\n if (template[0] === \"#\") {\n const el = document.querySelector(template);\n if (!el) {\n runtimeDom.warn(`Template element not found or is empty: ${template}`);\n }\n template = el ? el.innerHTML : ``;\n }\n const opts = shared.extend(\n {\n hoistStatic: true,\n onError: onError ,\n onWarn: (e) => onError(e, true) \n },\n options\n );\n if (!opts.isCustomElement && typeof customElements !== \"undefined\") {\n opts.isCustomElement = (tag) => !!customElements.get(tag);\n }\n const { code } = compilerDom.compile(template, opts);\n function onError(err, asWarning = false) {\n const message = asWarning ? err.message : `Template compilation error: ${err.message}`;\n const codeFrame = err.loc && shared.generateCodeFrame(\n template,\n err.loc.start.offset,\n err.loc.end.offset\n );\n runtimeDom.warn(codeFrame ? `${message}\n${codeFrame}` : message);\n }\n const render = new Function(\"Vue\", code)(runtimeDom__namespace);\n render._rc = true;\n return cache[key] = render;\n}\nruntimeDom.registerRuntimeCompiler(compileToFunction);\n\nexports.compile = compileToFunction;\nObject.keys(runtimeDom).forEach(function (k) {\n if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) exports[k] = runtimeDom[k];\n});\n", "'use strict'\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./dist/vue.cjs.prod.js')\n} else {\n module.exports = require('./dist/vue.cjs.js')\n}\n", "'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n", "'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n", "'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n", "'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n", "'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n", "'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n", "'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n", "'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n", "'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n", "'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n", "'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n", "'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n", "'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n", "'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n", "'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(\n timeoutErrorMessage,\n config,\n config.transitional && config.transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n", "'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\nvar enhanceError = require('./core/enhanceError');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n },\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n", "'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('./../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n", "'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n", "'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n", "'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n", "{\n \"name\": \"axios\",\n \"version\": \"0.21.4\",\n \"description\": \"Promise based HTTP client for the browser and node.js\",\n \"main\": \"index.js\",\n \"scripts\": {\n \"test\": \"grunt test\",\n \"start\": \"node ./sandbox/server.js\",\n \"build\": \"NODE_ENV=production grunt build\",\n \"preversion\": \"npm test\",\n \"version\": \"npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json\",\n \"postversion\": \"git push && git push --tags\",\n \"examples\": \"node ./examples/server.js\",\n \"coveralls\": \"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js\",\n \"fix\": \"eslint --fix lib/**/*.js\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/axios/axios.git\"\n },\n \"keywords\": [\n \"xhr\",\n \"http\",\n \"ajax\",\n \"promise\",\n \"node\"\n ],\n \"author\": \"Matt Zabriskie\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/axios/axios/issues\"\n },\n \"homepage\": \"https://axios-http.com\",\n \"devDependencies\": {\n \"coveralls\": \"^3.0.0\",\n \"es6-promise\": \"^4.2.4\",\n \"grunt\": \"^1.3.0\",\n \"grunt-banner\": \"^0.6.0\",\n \"grunt-cli\": \"^1.2.0\",\n \"grunt-contrib-clean\": \"^1.1.0\",\n \"grunt-contrib-watch\": \"^1.0.0\",\n \"grunt-eslint\": \"^23.0.0\",\n \"grunt-karma\": \"^4.0.0\",\n \"grunt-mocha-test\": \"^0.13.3\",\n \"grunt-ts\": \"^6.0.0-beta.19\",\n \"grunt-webpack\": \"^4.0.2\",\n \"istanbul-instrumenter-loader\": \"^1.0.0\",\n \"jasmine-core\": \"^2.4.1\",\n \"karma\": \"^6.3.2\",\n \"karma-chrome-launcher\": \"^3.1.0\",\n \"karma-firefox-launcher\": \"^2.1.0\",\n \"karma-jasmine\": \"^1.1.1\",\n \"karma-jasmine-ajax\": \"^0.1.13\",\n \"karma-safari-launcher\": \"^1.0.0\",\n \"karma-sauce-launcher\": \"^4.3.6\",\n \"karma-sinon\": \"^1.0.5\",\n \"karma-sourcemap-loader\": \"^0.3.8\",\n \"karma-webpack\": \"^4.0.2\",\n \"load-grunt-tasks\": \"^3.5.2\",\n \"minimist\": \"^1.2.0\",\n \"mocha\": \"^8.2.1\",\n \"sinon\": \"^4.5.0\",\n \"terser-webpack-plugin\": \"^4.2.3\",\n \"typescript\": \"^4.0.5\",\n \"url-search-params\": \"^0.10.0\",\n \"webpack\": \"^4.44.2\",\n \"webpack-dev-server\": \"^3.11.0\"\n },\n \"browser\": {\n \"./lib/adapters/http.js\": \"./lib/adapters/xhr.js\"\n },\n \"jsdelivr\": \"dist/axios.min.js\",\n \"unpkg\": \"dist/axios.min.js\",\n \"typings\": \"./index.d.ts\",\n \"dependencies\": {\n \"follow-redirects\": \"^1.14.0\"\n },\n \"bundlesize\": [\n {\n \"path\": \"./dist/axios.min.js\",\n \"threshold\": \"5kB\"\n }\n ]\n}\n", "'use strict';\n\nvar pkg = require('./../../package.json');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\nvar currentVerArr = pkg.version.split('.');\n\n/**\n * Compare package versions\n * @param {string} version\n * @param {string?} thanVersion\n * @returns {boolean}\n */\nfunction isOlderVersion(version, thanVersion) {\n var pkgVersionArr = thanVersion ? thanVersion.split('.') : currentVerArr;\n var destVer = version.split('.');\n for (var i = 0; i < 3; i++) {\n if (pkgVersionArr[i] > destVer[i]) {\n return true;\n } else if (pkgVersionArr[i] < destVer[i]) {\n return false;\n }\n }\n return false;\n}\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator\n * @param {string?} version\n * @param {string} message\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n var isDeprecated = version && isOlderVersion(version);\n\n function formatMessage(opt, desc) {\n return '[Axios v' + pkg.version + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new Error(formatMessage(opt, ' has been removed in ' + version));\n }\n\n if (isDeprecated && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new TypeError('options must be an object');\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new TypeError('option ' + opt + ' must be ' + result);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw Error('Unknown option ' + opt);\n }\n }\n}\n\nmodule.exports = {\n isOlderVersion: isOlderVersion,\n assertOptions: assertOptions,\n validators: validators\n};\n", "'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean, '1.0.0'),\n forcedJSONParsing: validators.transitional(validators.boolean, '1.0.0'),\n clarifyTimeoutError: validators.transitional(validators.boolean, '1.0.0')\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n", "'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n", "'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n", "'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n", "'use strict';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n", "'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n", "module.exports = require('./lib/axios');", "export default {\n modal: null,\n listener: null,\n\n show(html: Record<string, unknown>|string): void {\n if (typeof html === 'object') {\n html = `All Inertia requests must receive a valid Inertia response, however a plain JSON response was received.<hr>${JSON.stringify(html)}`\n }\n\n const page = document.createElement('html')\n page.innerHTML = html\n page.querySelectorAll('a').forEach(a => a.setAttribute('target', '_top'))\n\n this.modal = document.createElement('div')\n this.modal.style.position = 'fixed'\n this.modal.style.width = '100vw'\n this.modal.style.height = '100vh'\n this.modal.style.padding = '50px'\n this.modal.style.boxSizing = 'border-box'\n this.modal.style.backgroundColor = 'rgba(0, 0, 0, .6)'\n this.modal.style.zIndex = 200000\n this.modal.addEventListener('click', () => this.hide())\n\n const iframe = document.createElement('iframe')\n iframe.style.backgroundColor = 'white'\n iframe.style.borderRadius = '5px'\n iframe.style.width = '100%'\n iframe.style.height = '100%'\n this.modal.appendChild(iframe)\n\n document.body.prepend(this.modal)\n document.body.style.overflow = 'hidden'\n if (!iframe.contentWindow) {\n throw new Error('iframe not yet ready.')\n }\n iframe.contentWindow.document.open()\n iframe.contentWindow.document.write(page.outerHTML)\n iframe.contentWindow.document.close()\n\n this.listener = this.hideOnEscape.bind(this)\n document.addEventListener('keydown', this.listener)\n },\n\n hide(): void {\n this.modal.outerHTML = ''\n this.modal = null\n document.body.style.overflow = 'visible'\n document.removeEventListener('keydown', this.listener)\n },\n\n hideOnEscape(event: KeyboardEvent): void {\n if (event.keyCode === 27) {\n this.hide()\n }\n },\n}\n", "import { AxiosResponse, CancelTokenSource } from 'axios'\n\nexport type Errors = Record<string, string>\nexport type ErrorBag = Record<string, Errors>\n\nexport type FormDataConvertible = Array<FormDataConvertible>|Blob|FormDataEntryValue|Date|boolean|number|null\n\nexport enum Method {\n GET = 'get',\n POST = 'post',\n PUT = 'put',\n PATCH = 'patch',\n DELETE = 'delete',\n}\n\nexport type RequestPayload = Record<string, FormDataConvertible>|FormData\n\nexport interface PageProps {\n [key: string]: unknown\n}\n\nexport interface Page<SharedProps = PageProps> {\n component: string,\n props: PageProps & SharedProps & {\n errors: Errors & ErrorBag;\n }\n url: string,\n version: string|null\n\n // Refactor away\n scrollRegions: Array<{ top: number, left: number }>\n rememberedState: Record<string, unknown>\n resolvedErrors: Errors\n}\n\nexport type PageResolver = (name: string) => Component\n\nexport type PageHandler = ({\n component,\n page,\n preserveState,\n}: {\n component: Component,\n page: Page,\n preserveState: PreserveStateOption,\n}) => Promise<unknown>\n\nexport type PreserveStateOption = boolean|string|((page: Page) => boolean)\n\nexport type Progress = ProgressEvent & { percentage: number }\n\nexport type LocationVisit = {\n preserveScroll: boolean,\n}\n\nexport type Visit = {\n method: Method,\n data: RequestPayload,\n replace: boolean,\n preserveScroll: PreserveStateOption,\n preserveState: PreserveStateOption,\n only: Array<string>,\n headers: Record<string, string>\n errorBag: string|null,\n forceFormData: boolean,\n queryStringArrayFormat: 'indices'|'brackets',\n}\n\nexport type GlobalEventsMap = {\n before: {\n parameters: [PendingVisit],\n details: {\n visit: PendingVisit,\n },\n result: boolean|void,\n },\n start: {\n parameters: [PendingVisit],\n details: {\n visit: PendingVisit,\n },\n result: void,\n },\n progress: {\n parameters: [Progress|undefined],\n details: {\n progress: Progress|undefined,\n },\n result: void,\n },\n finish: {\n parameters: [ActiveVisit],\n details: {\n visit: ActiveVisit,\n },\n result: void,\n },\n cancel: {\n parameters: [],\n details: {\n },\n result: void,\n },\n navigate: {\n parameters: [Page],\n details: {\n page: Page\n },\n result: void,\n },\n success: {\n parameters: [Page],\n details: {\n page: Page\n },\n result: void,\n },\n error: {\n parameters: [Errors],\n details: {\n errors: Errors\n },\n result: void,\n },\n invalid: {\n parameters: [AxiosResponse],\n details: {\n response: AxiosResponse\n },\n result: boolean|void,\n },\n exception: {\n parameters: [Error],\n details: {\n exception: Error\n },\n result: boolean|void,\n },\n}\n\nexport type GlobalEventNames = keyof GlobalEventsMap\n\nexport type GlobalEvent<TEventName extends GlobalEventNames> = CustomEvent<GlobalEventDetails<TEventName>>\n\nexport type GlobalEventParameters<TEventName extends GlobalEventNames> = GlobalEventsMap[TEventName]['parameters']\n\nexport type GlobalEventResult<TEventName extends GlobalEventNames> = GlobalEventsMap[TEventName]['result']\n\nexport type GlobalEventDetails<TEventName extends GlobalEventNames> = GlobalEventsMap[TEventName]['details']\n\nexport type GlobalEventTrigger<TEventName extends GlobalEventNames> = (...params: GlobalEventParameters<TEventName>) => GlobalEventResult<TEventName>\n\nexport type GlobalEventCallback<TEventName extends GlobalEventNames> = (...params: GlobalEventParameters<TEventName>) => GlobalEventResult<TEventName>\n\nexport type VisitOptions = Partial<Visit & {\n onCancelToken: { ({ cancel }: { cancel: VoidFunction }): void },\n onBefore: GlobalEventCallback<'before'>,\n onStart: GlobalEventCallback<'start'>,\n onProgress: GlobalEventCallback<'progress'>,\n onFinish: GlobalEventCallback<'finish'>,\n onCancel: GlobalEventCallback<'cancel'>,\n onSuccess: GlobalEventCallback<'success'>,\n onError: GlobalEventCallback<'error'>,\n}>\n\nexport type PendingVisit = Visit & {\n url: URL,\n completed: boolean,\n cancelled: boolean,\n interrupted: boolean,\n};\n\nexport type ActiveVisit = PendingVisit & Required<VisitOptions> & {\n cancelToken: CancelTokenSource,\n}\n\nexport type VisitId = unknown\nexport type Component = unknown\n\nexport type InertiaAppResponse = Promise<{ head: string[], body: string } | void>\n", "// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport default function debounce<F extends (...params: any[]) => ReturnType<F>>(fn: F, delay: number): F {\n let timeoutID: NodeJS.Timeout\n return function (...args: unknown[]) {\n clearTimeout(timeoutID)\n timeoutID = setTimeout(() => fn.apply(this, args), delay)\n } as F\n}\n", "import { FormDataConvertible } from './types'\n\nexport function objectToFormData(\n source: Record<string, FormDataConvertible>,\n form: FormData = new FormData(),\n parentKey: string|null = null,\n): FormData {\n source = source || {}\n\n for (const key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n append(form, composeKey(parentKey, key), source[key])\n }\n }\n\n return form\n}\n\nfunction composeKey(parent: string|null, key: string): string {\n return parent ? parent + '[' + key + ']' : key\n}\n\nfunction append(form: FormData, key: string, value: FormDataConvertible): void {\n if (Array.isArray(value)) {\n return Array.from(value.keys()).forEach(index => append(form, composeKey(key, index.toString()), value[index]))\n } else if (value instanceof Date) {\n return form.append(key, value.toISOString())\n } else if (value instanceof File) {\n return form.append(key, value, value.name)\n } else if (value instanceof Blob) {\n return form.append(key, value)\n } else if (typeof value === 'boolean') {\n return form.append(key, value ? '1' : '0')\n } else if (typeof value === 'string') {\n return form.append(key, value)\n } else if (typeof value === 'number') {\n return form.append(key, `${value}`)\n } else if (value === null || value === undefined) {\n return form.append(key, '')\n }\n\n objectToFormData(value, form, key)\n}\n", "import * as qs from 'qs'\nimport deepmerge from 'deepmerge'\nimport { FormDataConvertible, Method } from './types'\n\nexport function hrefToUrl(href: string|URL): URL {\n return new URL(href.toString(), window.location.toString())\n}\n\nexport function mergeDataIntoQueryString(\n method: Method,\n href: URL|string,\n data: Record<string, FormDataConvertible>,\n qsArrayFormat: 'indices'|'brackets' = 'brackets',\n): [string, Record<string, FormDataConvertible>] {\n const hasHost = /^https?:\\/\\//.test(href.toString())\n const hasAbsolutePath = hasHost || href.toString().startsWith('/')\n const hasRelativePath = !hasAbsolutePath && !href.toString().startsWith('#') && !href.toString().startsWith('?')\n const hasSearch = href.toString().includes('?') || (method === Method.GET && Object.keys(data).length)\n const hasHash = href.toString().includes('#')\n\n const url = new URL(href.toString(), 'http://localhost')\n\n if (method === Method.GET && Object.keys(data).length) {\n url.search = qs.stringify(deepmerge(qs.parse(url.search, { ignoreQueryPrefix: true }), data), {\n encodeValuesOnly: true,\n arrayFormat: qsArrayFormat,\n })\n data = {}\n }\n\n return [\n [\n hasHost ? `${url.protocol}//${url.host}` : '',\n hasAbsolutePath ? url.pathname : '',\n hasRelativePath ? url.pathname.substring(1) : '',\n hasSearch ? url.search : '',\n hasHash ? url.hash : '',\n ].join(''),\n data,\n ]\n}\n\nexport function urlWithoutHash(url: URL|Location): URL {\n url = new URL(url.href)\n url.hash = ''\n return url\n}\n", "import { GlobalEventDetails, GlobalEventNames, GlobalEventTrigger } from './types'\n\nfunction fireEvent<TEventName extends GlobalEventNames>(name: TEventName, options: CustomEventInit<GlobalEventDetails<TEventName>>): boolean {\n return document.dispatchEvent(new CustomEvent(`inertia:${name}`, options))\n}\n\nexport const fireBeforeEvent: GlobalEventTrigger<'before'> = (visit) => {\n return fireEvent('before', { cancelable: true, detail: { visit } })\n}\n\nexport const fireErrorEvent: GlobalEventTrigger<'error'> = (errors) => {\n return fireEvent('error', { detail: { errors } })\n}\n\nexport const fireExceptionEvent: GlobalEventTrigger<'exception'> = (exception) => {\n return fireEvent('exception', { cancelable: true, detail: { exception } })\n}\n\nexport const fireFinishEvent: GlobalEventTrigger<'finish'> = (visit) => {\n return fireEvent('finish', { detail: { visit } })\n}\n\nexport const fireInvalidEvent: GlobalEventTrigger<'invalid'> = (response) => {\n return fireEvent('invalid', { cancelable: true, detail: { response } })\n}\n\nexport const fireNavigateEvent: GlobalEventTrigger<'navigate'> = (page) => {\n return fireEvent('navigate', { detail: { page } })\n}\n\nexport const fireProgressEvent: GlobalEventTrigger<'progress'> = (progress) => {\n return fireEvent('progress', { detail: { progress } })\n}\n\nexport const fireStartEvent: GlobalEventTrigger<'start'> = (visit) => {\n return fireEvent('start', { detail: { visit } })\n}\n\nexport const fireSuccessEvent: GlobalEventTrigger<'success'> = (page) => {\n return fireEvent('success', { detail: { page } })\n}\n", "import modal from './modal'\nimport debounce from './debounce'\nimport { hasFiles } from './files'\nimport { objectToFormData } from './formData'\nimport { default as Axios, AxiosResponse } from 'axios'\nimport { hrefToUrl, mergeDataIntoQueryString, urlWithoutHash } from './url'\nimport { ActiveVisit, GlobalEvent, GlobalEventNames, GlobalEventResult, LocationVisit, Method, Page, PageHandler, PageResolver, PendingVisit, PreserveStateOption, RequestPayload, VisitId, VisitOptions } from './types'\nimport { fireBeforeEvent, fireErrorEvent, fireExceptionEvent, fireFinishEvent, fireInvalidEvent, fireNavigateEvent, fireProgressEvent, fireStartEvent, fireSuccessEvent } from './events'\n\nconst isServer = typeof window === 'undefined'\n\nexport class Router {\n protected resolveComponent!: PageResolver\n protected swapComponent!: PageHandler\n protected activeVisit?: ActiveVisit\n protected visitId: VisitId = null\n protected page!: Page\n\n public init({\n initialPage,\n resolveComponent,\n swapComponent,\n }: {\n initialPage: Page,\n resolveComponent: PageResolver,\n swapComponent: PageHandler,\n }): void {\n this.page = initialPage\n this.resolveComponent = resolveComponent\n this.swapComponent = swapComponent\n\n if (this.isBackForwardVisit()) {\n this.handleBackForwardVisit(this.page)\n } else if (this.isLocationVisit()) {\n this.handleLocationVisit(this.page)\n } else {\n this.handleInitialPageVisit(this.page)\n }\n\n this.setupEventListeners()\n }\n\n protected handleInitialPageVisit(page: Page): void {\n this.page.url += window.location.hash\n this.setPage(page, { preserveState: true }).then(() => fireNavigateEvent(page))\n }\n\n protected setupEventListeners(): void {\n window.addEventListener('popstate', this.handlePopstateEvent.bind(this))\n document.addEventListener('scroll', debounce(this.handleScrollEvent.bind(this), 100), true)\n }\n\n protected scrollRegions(): NodeListOf<Element> {\n return document.querySelectorAll('[scroll-region]')\n }\n\n protected handleScrollEvent(event: Event): void {\n if (typeof (event.target as Element).hasAttribute === 'function' && (event.target as Element).hasAttribute('scroll-region')) {\n this.saveScrollPositions()\n }\n }\n\n protected saveScrollPositions(): void {\n this.replaceState({\n ...this.page,\n scrollRegions: Array.from(this.scrollRegions()).map(region => {\n return {\n top: region.scrollTop,\n left: region.scrollLeft,\n }\n }),\n })\n }\n\n protected resetScrollPositions(): void {\n window.scrollTo(0, 0)\n this.scrollRegions().forEach(region => {\n if (typeof region.scrollTo === 'function') {\n region.scrollTo(0, 0)\n } else {\n region.scrollTop = 0\n region.scrollLeft = 0\n }\n })\n this.saveScrollPositions()\n if (window.location.hash) {\n document.getElementById(window.location.hash.slice(1))?.scrollIntoView()\n }\n }\n\n protected restoreScrollPositions(): void {\n if (this.page.scrollRegions) {\n this.scrollRegions().forEach((region: Element, index: number) => {\n const scrollPosition = this.page.scrollRegions[index]\n if (! scrollPosition) {\n return\n } else if (typeof region.scrollTo === 'function') {\n region.scrollTo(scrollPosition.left, scrollPosition.top)\n } else {\n region.scrollTop = scrollPosition.top\n region.scrollLeft = scrollPosition.left\n }\n })\n }\n }\n\n protected isBackForwardVisit(): boolean {\n return window.history.state\n && window.performance\n && window.performance.getEntriesByType('navigation').length > 0\n && (window.performance.getEntriesByType('navigation')[0] as PerformanceNavigationTiming).type === 'back_forward'\n }\n\n protected handleBackForwardVisit(page: Page): void {\n window.history.state.version = page.version\n this.setPage(window.history.state, { preserveScroll: true, preserveState: true }).then(() => {\n this.restoreScrollPositions()\n fireNavigateEvent(page)\n })\n }\n\n protected locationVisit(url: URL, preserveScroll: LocationVisit['preserveScroll']): boolean|void {\n try {\n const locationVisit: LocationVisit = { preserveScroll }\n window.sessionStorage.setItem('inertiaLocationVisit', JSON.stringify(locationVisit))\n window.location.href = url.href\n if (urlWithoutHash(window.location).href === urlWithoutHash(url).href) {\n window.location.reload()\n }\n } catch (error) {\n return false\n }\n }\n\n protected isLocationVisit(): boolean {\n try {\n return window.sessionStorage.getItem('inertiaLocationVisit') !== null\n } catch (error) {\n return false\n }\n }\n\n protected handleLocationVisit(page: Page): void {\n const locationVisit: LocationVisit = JSON.parse(window.sessionStorage.getItem('inertiaLocationVisit') || '')\n window.sessionStorage.removeItem('inertiaLocationVisit')\n page.url += window.location.hash\n page.rememberedState = window.history.state?.rememberedState ?? {}\n page.scrollRegions = window.history.state?.scrollRegions ?? []\n this.setPage(page, { preserveScroll: locationVisit.preserveScroll, preserveState: true }).then(() => {\n if (locationVisit.preserveScroll) {\n this.restoreScrollPositions()\n }\n fireNavigateEvent(page)\n })\n }\n\n protected isLocationVisitResponse(response: AxiosResponse): boolean {\n return response && response.status === 409 && response.headers['x-inertia-location']\n }\n\n protected isInertiaResponse(response: AxiosResponse): boolean {\n return response?.headers['x-inertia']\n }\n\n protected createVisitId(): VisitId {\n this.visitId = {}\n return this.visitId\n }\n\n protected cancelVisit(\n activeVisit: ActiveVisit,\n { cancelled = false, interrupted = false}: { cancelled?: boolean, interrupted?: boolean },\n ): void {\n if (activeVisit && !activeVisit.completed && !activeVisit.cancelled && !activeVisit.interrupted) {\n activeVisit.cancelToken.cancel()\n activeVisit.onCancel()\n activeVisit.completed = false\n activeVisit.cancelled = cancelled\n activeVisit.interrupted = interrupted\n fireFinishEvent(activeVisit)\n activeVisit.onFinish(activeVisit)\n }\n }\n\n protected finishVisit(visit: ActiveVisit): void {\n if (!visit.cancelled && !visit.interrupted) {\n visit.completed = true\n visit.cancelled = false\n visit.interrupted = false\n fireFinishEvent(visit)\n visit.onFinish(visit)\n }\n }\n\n protected resolvePreserveOption(value: PreserveStateOption, page: Page): boolean|string {\n if (typeof value === 'function') {\n return value(page)\n } else if (value === 'errors') {\n return Object.keys(page.props.errors || {}).length > 0\n } else {\n return value\n }\n }\n\n public visit(href: string|URL, {\n method = Method.GET,\n data = {},\n replace = false,\n preserveScroll = false,\n preserveState = false,\n only = [],\n headers = {},\n errorBag = '',\n forceFormData = false,\n onCancelToken = () => {},\n onBefore = () => {},\n onStart = () => {},\n onProgress = () => {},\n onFinish = () => {},\n onCancel = () => {},\n onSuccess = () => {},\n onError = () => {},\n queryStringArrayFormat = 'brackets',\n }: VisitOptions = {}): void {\n let url = typeof href === 'string' ? hrefToUrl(href) : href\n\n if ((hasFiles(data) || forceFormData) && !(data instanceof FormData)) {\n data = objectToFormData(data)\n }\n\n if (!(data instanceof FormData)) {\n const [_href, _data] = mergeDataIntoQueryString(method, url, data, queryStringArrayFormat)\n url = hrefToUrl(_href)\n data = _data\n }\n\n const visit: PendingVisit = {\n url,\n method,\n data,\n replace,\n preserveScroll,\n preserveState,\n only,\n headers,\n errorBag,\n forceFormData,\n queryStringArrayFormat,\n cancelled: false,\n completed: false,\n interrupted: false,\n }\n\n if (onBefore(visit) === false || !fireBeforeEvent(visit)) {\n return\n }\n\n if (this.activeVisit) {\n this.cancelVisit(this.activeVisit, { interrupted: true })\n }\n\n this.saveScrollPositions()\n\n const visitId = this.createVisitId()\n this.activeVisit = { ...visit, onCancelToken, onBefore, onStart, onProgress, onFinish, onCancel, onSuccess, onError, queryStringArrayFormat, cancelToken: Axios.CancelToken.source() }\n\n onCancelToken({\n cancel: () => {\n if (this.activeVisit) {\n this.cancelVisit(this.activeVisit, { cancelled: true })\n }\n },\n })\n\n fireStartEvent(visit)\n onStart(visit)\n\n Axios({\n method,\n url: urlWithoutHash(url).href,\n data: method === Method.GET ? {} : data,\n params: method === Method.GET ? data : {},\n cancelToken: this.activeVisit.cancelToken.token,\n headers: {\n ...headers,\n Accept: 'text/html, application/xhtml+xml',\n 'X-Requested-With': 'XMLHttpRequest',\n 'X-Inertia': true,\n ...(only.length ? {\n 'X-Inertia-Partial-Component': this.page.component,\n 'X-Inertia-Partial-Data': only.join(','),\n } : {}),\n ...(errorBag && errorBag.length ? { 'X-Inertia-Error-Bag': errorBag } : {}),\n ...(this.page.version ? { 'X-Inertia-Version': this.page.version } : {}),\n },\n onUploadProgress: progress => {\n if (data instanceof FormData) {\n progress.percentage = Math.round(progress.loaded / progress.total * 100)\n fireProgressEvent(progress)\n onProgress(progress)\n }\n },\n }).then(response => {\n if (!this.isInertiaResponse(response)) {\n return Promise.reject({ response })\n }\n\n const pageResponse: Page = response.data\n if (only.length && pageResponse.component === this.page.component) {\n pageResponse.props = { ...this.page.props, ...pageResponse.props }\n }\n preserveScroll = this.resolvePreserveOption(preserveScroll, pageResponse) as boolean\n preserveState = this.resolvePreserveOption(preserveState, pageResponse)\n if (preserveState && window.history.state?.rememberedState && pageResponse.component === this.page.component) {\n pageResponse.rememberedState = window.history.state.rememberedState\n }\n const requestUrl = url\n const responseUrl = hrefToUrl(pageResponse.url)\n if (requestUrl.hash && !responseUrl.hash && urlWithoutHash(requestUrl).href === responseUrl.href) {\n responseUrl.hash = requestUrl.hash\n pageResponse.url = responseUrl.href\n }\n return this.setPage(pageResponse, { visitId, replace, preserveScroll, preserveState })\n }).then(() => {\n const errors = this.page.props.errors || {}\n if (Object.keys(errors).length > 0) {\n const scopedErrors = errorBag ? (errors[errorBag] ? errors[errorBag] : {}) : errors\n fireErrorEvent(scopedErrors)\n return onError(scopedErrors)\n }\n fireSuccessEvent(this.page)\n return onSuccess(this.page)\n }).catch(error => {\n if (this.isInertiaResponse(error.response)) {\n return this.setPage(error.response.data, { visitId })\n } else if (this.isLocationVisitResponse(error.response)) {\n const locationUrl = hrefToUrl(error.response.headers['x-inertia-location'])\n const requestUrl = url\n if (requestUrl.hash && !locationUrl.hash && urlWithoutHash(requestUrl).href === locationUrl.href) {\n locationUrl.hash = requestUrl.hash\n }\n this.locationVisit(locationUrl, preserveScroll === true)\n } else if (error.response) {\n if (fireInvalidEvent(error.response)) {\n modal.show(error.response.data)\n }\n } else {\n return Promise.reject(error)\n }\n }).then(() => {\n if (this.activeVisit) {\n this.finishVisit(this.activeVisit)\n }\n }).catch(error => {\n if (!Axios.isCancel(error)) {\n const throwException = fireExceptionEvent(error)\n if (this.activeVisit) {\n this.finishVisit(this.activeVisit)\n }\n if (throwException) {\n return Promise.reject(error)\n }\n }\n })\n }\n\n protected setPage(page: Page, {\n visitId = this.createVisitId(),\n replace = false,\n preserveScroll = false,\n preserveState = false,\n }: {\n visitId?: VisitId,\n replace?: boolean,\n preserveScroll?: PreserveStateOption\n preserveState?: PreserveStateOption\n } = {}): Promise<void> {\n return Promise.resolve(this.resolveComponent(page.component)).then(component => {\n if (visitId === this.visitId) {\n page.scrollRegions = page.scrollRegions || []\n page.rememberedState = page.rememberedState || {}\n replace = replace || hrefToUrl(page.url).href === window.location.href\n replace ? this.replaceState(page) : this.pushState(page)\n this.swapComponent({ component, page, preserveState }).then(() => {\n if (!preserveScroll) {\n this.resetScrollPositions()\n }\n if (!replace) {\n fireNavigateEvent(page)\n }\n })\n }\n })\n }\n\n protected pushState(page: Page): void {\n this.page = page\n window.history.pushState(page, '', page.url)\n }\n\n protected replaceState(page: Page): void {\n this.page = page\n window.history.replaceState(page, '', page.url)\n }\n\n protected handlePopstateEvent(event: PopStateEvent): void {\n if (event.state !== null) {\n const page = event.state\n const visitId = this.createVisitId()\n Promise.resolve(this.resolveComponent(page.component)).then(component => {\n if (visitId === this.visitId) {\n this.page = page\n this.swapComponent({ component, page, preserveState: false }).then(() => {\n this.restoreScrollPositions()\n fireNavigateEvent(page)\n })\n }\n })\n } else {\n const url = hrefToUrl(this.page.url)\n url.hash = window.location.hash\n this.replaceState({ ...this.page, url: url.href })\n this.resetScrollPositions()\n }\n }\n\n public get(url: URL|string, data: RequestPayload = {}, options: Exclude<VisitOptions, 'method'|'data'> = {}): void {\n return this.visit(url, { ...options, method: Method.GET, data })\n }\n\n public reload(options: Exclude<VisitOptions, 'preserveScroll'|'preserveState'> = {}): void {\n return this.visit(window.location.href, { ...options, preserveScroll: true, preserveState: true })\n }\n\n public replace(url: URL|string, options: Exclude<VisitOptions, 'replace'> = {}): void {\n console.warn(`Inertia.replace() has been deprecated and will be removed in a future release. Please use Inertia.${options.method ?? 'get'}() instead.`)\n return this.visit(url, { preserveState: true, ...options, replace: true })\n }\n\n public post(url: URL|string, data: RequestPayload = {}, options: Exclude<VisitOptions, 'method'|'data'> = {}): void {\n return this.visit(url, { preserveState: true, ...options, method: Method.POST, data })\n }\n\n public put(url: URL|string, data: RequestPayload = {}, options: Exclude<VisitOptions, 'method'|'data'> = {}): void {\n return this.visit(url, { preserveState: true, ...options, method: Method.PUT, data })\n }\n\n public patch(url: URL|string, data: RequestPayload = {}, options: Exclude<VisitOptions, 'method'|'data'> = {}): void {\n return this.visit(url, { preserveState: true, ...options, method: Method.PATCH, data })\n }\n\n public delete(url: URL|string, options: Exclude<VisitOptions, 'method'> = {}): void {\n return this.visit(url, { preserveState: true, ...options, method: Method.DELETE })\n }\n\n public remember(data: unknown, key = 'default'): void {\n if (isServer) {\n return\n }\n\n this.replaceState({\n ...this.page,\n rememberedState: {\n ...this.page?.rememberedState,\n [key]: data,\n },\n })\n }\n\n public restore(key = 'default'): unknown {\n if (isServer) {\n return\n }\n\n return window.history.state?.rememberedState?.[key]\n }\n\n public on<TEventName extends GlobalEventNames>(type: TEventName, callback: (event: GlobalEvent<TEventName>) => GlobalEventResult<TEventName>): VoidFunction {\n const listener = ((event: GlobalEvent<TEventName>) => {\n const response = callback(event)\n if (event.cancelable && !event.defaultPrevented && response === false) {\n event.preventDefault()\n }\n }) as EventListener\n\n document.addEventListener(`inertia:${type}`, listener)\n return () => document.removeEventListener(`inertia:${type}`, listener)\n }\n}\n", "import { FormDataConvertible, RequestPayload } from './types'\n\nexport function hasFiles(data: RequestPayload|FormDataConvertible): boolean {\n return (\n data instanceof File ||\n data instanceof Blob ||\n (data instanceof FileList && data.length > 0) ||\n (data instanceof FormData && Array.from(data.values()).some((value) => hasFiles(value))) ||\n (typeof data === 'object' && data !== null && Object.values(data).some((value) => hasFiles(value)))\n )\n}\n", "import debounce from './debounce'\n\nconst Renderer = {\n buildDOMElement(tag: string): ChildNode {\n const template = document.createElement('template')\n template.innerHTML = tag\n const node = (template.content.firstChild as Element)\n\n if (!tag.startsWith('<script ')) {\n return node\n }\n\n const script = document.createElement('script')\n script.innerHTML = node.innerHTML\n node.getAttributeNames().forEach(name => {\n script.setAttribute(name, node.getAttribute(name) || '')\n })\n\n return script\n },\n\n isInertiaManagedElement(element: Element): boolean {\n return element.nodeType === Node.ELEMENT_NODE && element.getAttribute('inertia') !== null\n },\n\n findMatchingElementIndex(element: Element, elements: Array<Element>): number {\n const key = element.getAttribute('inertia')\n if (key !== null) {\n return elements.findIndex(element => element.getAttribute('inertia') === key)\n }\n\n return -1\n },\n\n update: debounce(function (elements: Array<string>) {\n const sourceElements = elements.map(element => this.buildDOMElement(element))\n const targetElements = Array.from(document.head.childNodes).filter(element => this.isInertiaManagedElement(element as Element))\n\n targetElements.forEach(targetElement => {\n const index = this.findMatchingElementIndex((targetElement as Element), sourceElements)\n if (index === -1) {\n targetElement?.parentNode?.removeChild(targetElement)\n return\n }\n\n const sourceElement = sourceElements.splice(index, 1)[0]\n if (sourceElement && !targetElement.isEqualNode(sourceElement)) {\n targetElement?.parentNode?.replaceChild(sourceElement, targetElement)\n }\n })\n\n sourceElements.forEach(element => document.head.appendChild(element))\n }, 1),\n}\n\nexport default function createHeadManager(isServer: boolean, titleCallback: ((title: string) => string), onUpdate: ((elements: string[]) => void)): ({\n createProvider: () => ({\n update: (elements: Array<string>) => void,\n disconnect: () => void,\n })\n}) {\n const states: Record<string, Array<string>> = {}\n let lastProviderId = 0\n\n function connect(): string {\n const id = (lastProviderId += 1)\n states[id] = []\n return id.toString()\n }\n\n function disconnect(id: string): void {\n if (id === null || Object.keys(states).indexOf(id) === -1) {\n return\n }\n\n delete states[id]\n commit()\n }\n\n function update(id: string, elements: Array<string> = []): void {\n if (id !== null && Object.keys(states).indexOf(id) > -1) {\n states[id] = elements\n }\n\n commit()\n }\n\n function collect(): Array<string> {\n const elements = Object.values(states)\n .reduce((carry, elements) => carry.concat(elements), [])\n .reduce((carry, element) => {\n if (element.indexOf('<') === -1) {\n return carry\n }\n\n if (element.indexOf('<title ') === 0) {\n const title = element.match(/(<title [^>]+>)(.*?)(<\\/title>)/)\n carry.title = title ? `${title[1]}${titleCallback(title[2])}${title[3]}`: element\n return carry\n }\n\n const match = element.match(/ inertia=\"[^\"]+\"/)\n if (match) {\n carry[match[0]] = element\n } else {\n carry[Object.keys(carry).length] = element\n }\n\n return carry\n }, {} as Record<string, string>)\n\n return Object.values(elements)\n }\n\n function commit(): void {\n isServer ? onUpdate(collect()) : Renderer.update(collect())\n }\n\n return {\n createProvider: function () {\n const id = connect()\n\n return {\n update: (elements) => update(id, elements),\n disconnect: () => disconnect(id),\n }\n },\n }\n}\n", "import { Router } from './router'\n\nexport * from './types'\n\nexport { default as createHeadManager } from './head'\nexport { default as shouldIntercept } from './shouldIntercept'\nexport { hrefToUrl, mergeDataIntoQueryString, urlWithoutHash } from './url'\n\nexport const Inertia = new Router()\n", "export default function shouldIntercept(event: KeyboardEvent): boolean {\n const isLink = (event.currentTarget as HTMLElement).tagName.toLowerCase() === 'a'\n return !(\n (event.target && (event?.target as HTMLElement).isContentEditable) ||\n event.defaultPrevented ||\n (isLink && event.which > 1) ||\n (isLink && event.altKey) ||\n (isLink && event.ctrlKey) ||\n (isLink && event.metaKey) ||\n (isLink && event.shiftKey)\n )\n}\n", "import isEqual from 'lodash.isequal'\nimport { reactive, watch } from 'vue'\nimport cloneDeep from 'lodash.clonedeep'\nimport { Inertia } from '@inertiajs/inertia'\n\nexport default function useForm(...args) {\n const rememberKey = typeof args[0] === 'string' ? args[0] : null\n const data = (typeof args[0] === 'string' ? args[1] : args[0]) || {}\n const restored = rememberKey ? Inertia.restore(rememberKey) : null\n let defaults = cloneDeep(data)\n let cancelToken = null\n let recentlySuccessfulTimeoutId = null\n let transform = data => data\n\n let form = reactive({\n ...restored ? restored.data : data,\n isDirty: false,\n errors: restored ? restored.errors : {},\n hasErrors: false,\n processing: false,\n progress: null,\n wasSuccessful: false,\n recentlySuccessful: false,\n data() {\n return Object\n .keys(data)\n .reduce((carry, key) => {\n carry[key] = this[key]\n return carry\n }, {})\n },\n transform(callback) {\n transform = callback\n\n return this\n },\n defaults(key, value) {\n if (typeof key === 'undefined') {\n defaults = this.data()\n } else {\n defaults = Object.assign(\n {},\n cloneDeep(defaults),\n value ? ({ [key]: value }) : key,\n )\n }\n\n return this\n },\n reset(...fields) {\n let clonedDefaults = cloneDeep(defaults)\n if (fields.length === 0) {\n Object.assign(this, clonedDefaults)\n } else {\n Object.assign(\n this,\n Object\n .keys(clonedDefaults)\n .filter(key => fields.includes(key))\n .reduce((carry, key) => {\n carry[key] = clonedDefaults[key]\n return carry\n }, {}),\n )\n }\n\n return this\n },\n setError(key, value) {\n Object.assign(this.errors, (value ? { [key]: value } : key))\n\n this.hasErrors = Object.keys(this.errors).length > 0\n\n return this\n },\n clearErrors(...fields) {\n this.errors = Object\n .keys(this.errors)\n .reduce((carry, field) => ({\n ...carry,\n ...(fields.length > 0 && !fields.includes(field) ? { [field] : this.errors[field] } : {}),\n }), {})\n\n this.hasErrors = Object.keys(this.errors).length > 0\n\n return this\n },\n submit(method, url, options = {}) {\n const data = transform(this.data())\n const _options = {\n ...options,\n onCancelToken: (token) => {\n cancelToken = token\n\n if (options.onCancelToken) {\n return options.onCancelToken(token)\n }\n },\n onBefore: visit => {\n this.wasSuccessful = false\n this.recentlySuccessful = false\n clearTimeout(recentlySuccessfulTimeoutId)\n\n if (options.onBefore) {\n return options.onBefore(visit)\n }\n },\n onStart: visit => {\n this.processing = true\n\n if (options.onStart) {\n return options.onStart(visit)\n }\n },\n onProgress: event => {\n this.progress = event\n\n if (options.onProgress) {\n return options.onProgress(event)\n }\n },\n onSuccess: async page => {\n this.processing = false\n this.progress = null\n this.clearErrors()\n this.wasSuccessful = true\n this.recentlySuccessful = true\n recentlySuccessfulTimeoutId = setTimeout(() => this.recentlySuccessful = false, 2000)\n\n const onSuccess = options.onSuccess ? await options.onSuccess(page) : null\n defaults = cloneDeep(this.data())\n this.isDirty = false\n return onSuccess\n },\n onError: errors => {\n this.processing = false\n this.progress = null\n this.clearErrors().setError(errors)\n\n if (options.onError) {\n return options.onError(errors)\n }\n },\n onCancel: () => {\n this.processing = false\n this.progress = null\n\n if (options.onCancel) {\n return options.onCancel()\n }\n },\n onFinish: () => {\n this.processing = false\n this.progress = null\n cancelToken = null\n\n if (options.onFinish) {\n return options.onFinish()\n }\n },\n }\n\n if (method === 'delete') {\n Inertia.delete(url, { ..._options, data })\n } else {\n Inertia[method](url, data, _options)\n }\n },\n get(url, options) {\n this.submit('get', url, options)\n },\n post(url, options) {\n this.submit('post', url, options)\n },\n put(url, options) {\n this.submit('put', url, options)\n },\n patch(url, options) {\n this.submit('patch', url, options)\n },\n delete(url, options) {\n this.submit('delete', url, options)\n },\n cancel() {\n if (cancelToken) {\n cancelToken.cancel()\n }\n },\n __rememberable: rememberKey === null,\n __remember() {\n return { data: this.data(), errors: this.errors }\n },\n __restore(restored) {\n Object.assign(this, restored.data)\n this.setError(restored.errors)\n },\n })\n\n watch(form, newValue => {\n form.isDirty = !isEqual(form.data(), defaults)\n if (rememberKey) {\n Inertia.remember(cloneDeep(newValue.__remember()), rememberKey)\n }\n }, { immediate: true, deep: true })\n\n return form\n}\n", "import cloneDeep from 'lodash.clonedeep'\nimport { Inertia } from '@inertiajs/inertia'\n\nexport default {\n created() {\n if (!this.$options.remember) {\n return\n }\n\n if (Array.isArray(this.$options.remember)) {\n this.$options.remember = { data: this.$options.remember }\n }\n\n if (typeof this.$options.remember === 'string') {\n this.$options.remember = { data: [this.$options.remember] }\n }\n\n if (typeof this.$options.remember.data === 'string') {\n this.$options.remember = { data: [this.$options.remember.data] }\n }\n\n const rememberKey = this.$options.remember.key instanceof Function\n ? this.$options.remember.key.call(this)\n : this.$options.remember.key\n\n const restored = Inertia.restore(rememberKey)\n\n const rememberable = this.$options.remember.data.filter(key => {\n return !(this[key] !== null && typeof this[key] === 'object' && this[key].__rememberable === false)\n })\n\n const hasCallbacks = (key) => {\n return this[key] !== null\n && typeof this[key] === 'object'\n && typeof this[key].__remember === 'function'\n && typeof this[key].__restore === 'function'\n }\n\n rememberable.forEach(key => {\n if (this[key] !== undefined && restored !== undefined && restored[key] !== undefined) {\n hasCallbacks(key) ? this[key].__restore(restored[key]) : (this[key] = restored[key])\n }\n\n this.$watch(key, () => {\n Inertia.remember(\n rememberable.reduce((data, key) => ({\n ...data,\n [key]: cloneDeep(hasCallbacks(key) ? this[key].__remember(): this[key]),\n }), {}),\n rememberKey,\n )\n }, { immediate: true, deep: true })\n })\n },\n}\n", "import useForm from './useForm'\nimport remember from './remember'\nimport { computed, h, markRaw, ref } from 'vue'\nimport { createHeadManager, Inertia } from '@inertiajs/inertia'\n\nconst component = ref(null)\nconst page = ref({})\nconst key = ref(null)\nlet headManager = null\n\nexport default {\n name: 'Inertia',\n props: {\n initialPage: {\n type: Object,\n required: true,\n },\n initialComponent: {\n type: Object,\n required: false,\n },\n resolveComponent: {\n type: Function,\n required: false,\n },\n titleCallback: {\n type: Function,\n required: false,\n default: title => title,\n },\n onHeadUpdate: {\n type: Function,\n required: false,\n default: () => () => {},\n },\n },\n setup({ initialPage, initialComponent, resolveComponent, titleCallback, onHeadUpdate }) {\n component.value = initialComponent ? markRaw(initialComponent) : null\n page.value = initialPage\n key.value = null\n\n const isServer = typeof window === 'undefined'\n headManager = createHeadManager(isServer, titleCallback, onHeadUpdate)\n\n if (!isServer) {\n Inertia.init({\n initialPage,\n resolveComponent,\n swapComponent: async (args) => {\n component.value = markRaw(args.component)\n page.value = args.page\n key.value = args.preserveState ? key.value : Date.now()\n },\n })\n }\n\n return () => {\n if (component.value) {\n component.value.inheritAttrs = !!component.value.inheritAttrs\n\n const child = h(component.value, {\n ...page.value.props,\n key: key.value,\n })\n\n if (component.value.layout) {\n if (typeof component.value.layout === 'function') {\n return component.value.layout(h, child)\n }\n\n return (Array.isArray(component.value.layout) ? component.value.layout : [component.value.layout])\n .concat(child)\n .reverse()\n .reduce((child, layout) => {\n layout.inheritAttrs = !!layout.inheritAttrs\n return h(layout, { ...page.value.props }, () => child)\n })\n }\n\n return child\n }\n }\n },\n}\n\nexport const plugin = {\n install(app) {\n Inertia.form = useForm\n\n Object.defineProperty(app.config.globalProperties, '$inertia', { get: () => Inertia })\n Object.defineProperty(app.config.globalProperties, '$page', { get: () => page.value })\n Object.defineProperty(app.config.globalProperties, '$headManager', { get: () => headManager })\n\n app.mixin(remember)\n },\n}\n\nexport function usePage() {\n return {\n props: computed(() => page.value.props),\n url: computed(() => page.value.url),\n component: computed(() => page.value.component),\n version: computed(() => page.value.version),\n }\n}\n", "export default {\n props: {\n title: {\n type: String,\n required: false,\n },\n },\n data() {\n return {\n provider: this.$headManager.createProvider(),\n }\n },\n beforeUnmount() {\n this.provider.disconnect()\n },\n methods: {\n isUnaryTag(node) {\n return [\n 'area', 'base', 'br', 'col', 'embed', 'hr', 'img',\n 'input', 'keygen', 'link', 'meta', 'param', 'source',\n 'track', 'wbr',\n ].indexOf(node.type) > -1\n },\n renderTagStart(node) {\n node.props = node.props || {}\n node.props.inertia = node.props['head-key'] !== undefined ? node.props['head-key'] : ''\n const attrs = Object.keys(node.props).reduce((carry, name) => {\n const value = node.props[name]\n if (['key', 'head-key'].includes(name)) {\n return carry\n } else if (value === '') {\n return carry + ` ${name}`\n } else {\n return carry + ` ${name}=\"${value}\"`\n }\n }, '')\n return `<${node.type}${attrs}>`\n },\n renderTagChildren(node) {\n return typeof node.children === 'string'\n ? node.children\n : node.children.reduce((html, child) => html + this.renderTag(child), '')\n },\n renderTag(node) {\n if (node.type.toString() === 'Symbol(Text)') {\n return node.children\n } else if (node.type.toString() === 'Symbol()') {\n return ''\n } else if (node.type.toString() === 'Symbol(Comment)') {\n return ''\n }\n let html = this.renderTagStart(node)\n if (node.children) {\n html += this.renderTagChildren(node)\n }\n if (!this.isUnaryTag(node)) {\n html += `</${node.type}>`\n }\n return html\n },\n addTitleElement(elements) {\n if (this.title && !elements.find(tag => tag.startsWith('<title'))) {\n elements.push(`<title inertia>${this.title}`)\n }\n return elements\n },\n renderNodes(nodes) {\n return this.addTitleElement(\n nodes\n .flatMap(node => node.type.toString() === 'Symbol(Fragment)' ? node.children : node)\n .map(node => this.renderTag(node))\n .filter(node => node)\n )\n },\n },\n render() {\n this.provider.update(\n this.renderNodes(this.$slots.default ? this.$slots.default() : [])\n )\n },\n}\n", "import { h } from 'vue'\nimport { Inertia, mergeDataIntoQueryString, shouldIntercept } from '@inertiajs/inertia'\n\nexport default {\n name: 'InertiaLink',\n props: {\n as: {\n type: String,\n default: 'a',\n },\n data: {\n type: Object,\n default: () => ({}),\n },\n href: {\n type: String,\n },\n method: {\n type: String,\n default: 'get',\n },\n replace: {\n type: Boolean,\n default: false,\n },\n preserveScroll: {\n type: Boolean,\n default: false,\n },\n preserveState: {\n type: Boolean,\n default: null,\n },\n only: {\n type: Array,\n default: () => [],\n },\n headers: {\n type: Object,\n default: () => ({}),\n },\n queryStringArrayFormat: {\n type: String,\n default: 'brackets',\n },\n },\n setup(props, { slots, attrs }) {\n return props => {\n const as = props.as.toLowerCase()\n const method = props.method.toLowerCase()\n const [href, data] = mergeDataIntoQueryString(method, props.href || '', props.data, props.queryStringArrayFormat)\n\n if (as === 'a' && method !== 'get') {\n console.warn(`Creating POST/PUT/PATCH/DELETE links is discouraged as it causes \"Open Link in New Tab/Window\" accessibility issues.\\n\\nPlease specify a more appropriate element using the \"as\" attribute. For example:\\n\\n...`)\n }\n\n return h(props.as, {\n ...attrs,\n ...as === 'a' ? { href } : {},\n onClick: (event) => {\n if (shouldIntercept(event)) {\n event.preventDefault()\n\n Inertia.visit(href, {\n data: data,\n method: method,\n replace: props.replace,\n preserveScroll: props.preserveScroll,\n preserveState: props.preserveState ?? (method !== 'get'),\n only: props.only,\n headers: props.headers,\n onCancelToken: attrs.onCancelToken || (() => ({})),\n onBefore: attrs.onBefore || (() => ({})),\n onStart: attrs.onStart || (() => ({})),\n onProgress: attrs.onProgress || (() => ({})),\n onFinish: attrs.onFinish || (() => ({})),\n onCancel: attrs.onCancel || (() => ({})),\n onSuccess: attrs.onSuccess || (() => ({})),\n onError: attrs.onError || (() => ({})),\n })\n }\n },\n }, slots)\n }\n },\n}\n", "import { createSSRApp, h } from 'vue'\nimport App, { plugin } from './app'\n\nexport default async function createInertiaApp({ id = 'app', resolve, setup, title, page, render }) {\n const isServer = typeof window === 'undefined'\n const el = isServer ? null : document.getElementById(id)\n const initialPage = page || JSON.parse(el.dataset.page)\n const resolveComponent = name => Promise.resolve(resolve(name)).then(module => module.default || module)\n\n let head = []\n\n const vueApp = await resolveComponent(initialPage.component).then(initialComponent => {\n return setup({\n el,\n app: App, // deprecated\n App,\n props: {\n initialPage,\n initialComponent,\n resolveComponent,\n titleCallback: title,\n onHeadUpdate: isServer ? elements => (head = elements) : null,\n },\n plugin,\n })\n })\n\n if (isServer) {\n const body = await render(createSSRApp({\n render: () => h('div', {\n id,\n 'data-page': JSON.stringify(initialPage),\n innerHTML: render(vueApp),\n }),\n }))\n\n return { head, body }\n }\n}\n", "import cloneDeep from 'lodash.clonedeep'\nimport { Inertia } from '@inertiajs/inertia'\nimport { isReactive, reactive, ref, watch } from 'vue'\n\nexport default function useRemember(data, key) {\n if (typeof data === 'object' && data !== null && data.__rememberable === false) {\n return data\n }\n\n const restored = Inertia.restore(key)\n const type = isReactive(data) ? reactive : ref\n const hasCallbacks = typeof data.__remember === 'function' && typeof data.__restore === 'function'\n const remembered = restored === undefined ? data : type(hasCallbacks ? data.__restore(restored) : restored)\n\n watch(remembered, (newValue) => {\n Inertia.remember(cloneDeep(hasCallbacks ? data.__remember() : newValue), key)\n }, { immediate: true, deep: true })\n\n return remembered\n}\n"], + "mappings": "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", + "names": ["isComponent", "stack", "transformModel", "transformOn", "isArray", "isString", "isObject", "extend", "transform", "require_axios", "Method", "modal", "listener", "show", "html", "e", "JSON", "stringify", "n", "document", "createElement", "page", "innerHTML", "querySelectorAll", "forEach", "a", "setAttribute", "this", "style", "position", "width", "height", "padding", "boxSizing", "backgroundColor", "zIndex", "addEventListener", "t", "hide", "i", "iframe", "borderRadius", "appendChild", "body", "prepend", "overflow", "contentWindow", "open", "write", "outerHTML", "close", "hideOnEscape", "bind", "removeEventListener", "event", "keyCode", "fn", "delay", "r", "clearTimeout", "timeoutID", "setTimeout", "apply", "_this", "source", "form", "parentKey", "Object", "prototype", "hasOwnProperty", "call", "key", "append", "composeKey", "parent", "value", "Array", "isArray", "from", "keys", "index", "toString", "toISOString", "name", "objectToFormData", "href", "window", "location", "method", "data", "qsArrayFormat", "s", "test", "hasHost", "startsWith", "c", "hasAbsolutePath", "l", "includes", "GET", "length", "u", "url", "search", "qs", "deepmerge", "ignoreQueryPrefix", "encodeValuesOnly", "arrayFormat", "protocol", "host", "pathname", "hasRelativePath", "substring", "hasSearch", "hasHash", "hash", "join", "options", "dispatchEvent", "visit", "detail", "init", "resolveComponent", "swapComponent", "initialPage", "isBackForwardVisit", "handleBackForwardVisit", "isLocationVisit", "handleLocationVisit", "handleInitialPageVisit", "setupEventListeners", "setPage", "preserveState", "then", "handlePopstateEvent", "debounce", "handleScrollEvent", "scrollRegions", "target", "hasAttribute", "saveScrollPositions", "replaceState", "map", "region", "top", "scrollTop", "left", "scrollLeft", "resetScrollPositions", "scrollTo", "getElementById", "slice", "scrollIntoView", "restoreScrollPositions", "scrollPosition", "history", "state", "performance", "getEntriesByType", "type", "version", "preserveScroll", "_this2", "fireNavigateEvent", "locationVisit", "sessionStorage", "setItem", "urlWithoutHash", "reload", "error", "getItem", "parse", "removeItem", "rememberedState", "_window$history$state2", "_window$history$state4", "_this3", "isLocationVisitResponse", "response", "status", "headers", "isInertiaResponse", "createVisitId", "visitId", "cancelVisit", "activeVisit", "cancelled", "interrupted", "completed", "cancelToken", "cancel", "onCancel", "fireFinishEvent", "onFinish", "finishVisit", "resolvePreserveOption", "props", "errors", "o", "d", "m", "replace", "only", "errorBag", "forceFormData", "onCancelToken", "onBefore", "onStart", "onProgress", "onSuccess", "onError", "queryStringArrayFormat", "hrefToUrl", "values", "some", "mergeDataIntoQueryString", "_data", "cancelable", "Axios", "CancelToken", "_this4", "params", "token", "Accept", "X-Requested-With", "X-Inertia", "X-Inertia-Partial-Component", "component", "X-Inertia-Partial-Data", "X-Inertia-Error-Bag", "X-Inertia-Version", "onUploadProgress", "progress", "percentage", "Math", "round", "loaded", "total", "reject", "pageResponse", "_window$history$state5", "requestUrl", "responseUrl", "scopedErrors", "locationUrl", "isCancel", "exception", "throwException", "resolve", "_this5", "pushState", "Promise", "_this6", "get", "console", "warn", "post", "POST", "put", "PUT", "patch", "PATCH", "DELETE", "remember", "isServer", "_this$page", "restore", "_window$history$state6", "_window$history$state7", "on", "callback", "defaultPrevented", "preventDefault", "buildDOMElement", "tag", "template", "content", "firstChild", "script", "node", "getAttributeNames", "getAttribute", "isInertiaManagedElement", "element", "nodeType", "Node", "ELEMENT_NODE", "findMatchingElementIndex", "elements", "findIndex", "update", "head", "childNodes", "filter", "targetElement", "sourceElements", "splice", "sourceElement", "isEqualNode", "parentNode", "replaceChild", "removeChild", "titleCallback", "onUpdate", "states", "reduce", "carry", "concat", "indexOf", "match", "title", "collect", "Renderer", "createProvider", "lastProviderId", "id", "connect", "commit", "disconnect", "currentTarget", "tagName", "toLowerCase", "isContentEditable", "isLink", "which", "altKey", "ctrlKey", "metaKey", "shiftKey", "useForm", "args", "rememberKey", "data", "restored", "Inertia", "restore", "defaults", "cloneDeep", "cancelToken", "recentlySuccessfulTimeoutId", "transform", "form", "reactive", "isDirty", "errors", "hasErrors", "processing", "progress", "wasSuccessful", "recentlySuccessful", "Object", "keys", "reduce", "carry", "key", "_this", "callback", "value", "this", "assign", "reset", "fields", "clonedDefaults", "length", "filter", "includes", "setError", "clearErrors", "field", "_this2", "submit", "method", "url", "options", "_options", "onCancelToken", "token", "onBefore", "visit", "_this3", "clearTimeout", "onStart", "onProgress", "event", "onSuccess", "page", "_this4", "setTimeout", "a", "e", "onError", "onCancel", "onFinish", "get", "post", "put", "patch", "cancel", "__rememberable", "__remember", "__restore", "watch", "newValue", "isEqual", "remember", "immediate", "deep", "created", "$options", "Array", "isArray", "Function", "call", "rememberable", "hasCallbacks", "forEach", "$watch", "component", "ref", "headManager", "name", "props", "initialPage", "type", "required", "initialComponent", "resolveComponent", "titleCallback", "default", "title", "onHeadUpdate", "setup", "markRaw", "isServer", "window", "createHeadManager", "init", "swapComponent", "preserveState", "Date", "now", "inheritAttrs", "child", "h", "layout", "concat", "reverse", "plugin", "install", "app", "defineProperty", "config", "globalProperties", "mixin", "String", "provider", "$headManager", "createProvider", "beforeUnmount", "disconnect", "methods", "isUnaryTag", "node", "indexOf", "renderTagStart", "inertia", "attrs", "renderTagChildren", "children", "html", "renderTag", "toString", "addTitleElement", "elements", "find", "tag", "startsWith", "push", "renderNodes", "nodes", "flatMap", "map", "render", "update", "$slots", "as", "href", "replace", "Boolean", "preserveScroll", "only", "headers", "queryStringArrayFormat", "slots", "toLowerCase", "mergeDataIntoQueryString", "console", "warn", "onClick", "shouldIntercept", "preventDefault", "id", "resolve", "r", "el", "document", "getElementById", "JSON", "parse", "dataset", "Promise", "then", "module", "head", "App", "vueApp", "createSSRApp", "data-page", "stringify", "innerHTML", "body", "computed", "version", "isReactive", "remembered"] +} diff --git a/node_modules/.vite/deps/@inertiajs_vue3.js b/node_modules/.vite/deps/@inertiajs_vue3.js new file mode 100644 index 00000000..b203a486 --- /dev/null +++ b/node_modules/.vite/deps/@inertiajs_vue3.js @@ -0,0 +1,978 @@ +import { + axios_default +} from "./chunk-MJN6PGBK.js"; +import { + require_cjs, + require_lib, + require_lodash, + require_lodash2 +} from "./chunk-Y3GWUAMM.js"; +import "./chunk-SA4QXAJ3.js"; +import { + computed, + createSSRApp, + defineComponent, + h, + isReactive, + markRaw, + reactive, + ref, + shallowRef, + watch +} from "./chunk-XSQZ24V4.js"; +import { + __commonJS, + __toESM +} from "./chunk-CEQRFMJQ.js"; + +// node_modules/nprogress/nprogress.js +var require_nprogress = __commonJS({ + "node_modules/nprogress/nprogress.js"(exports, module) { + (function(root, factory) { + if (typeof define === "function" && define.amd) { + define(factory); + } else if (typeof exports === "object") { + module.exports = factory(); + } else { + root.NProgress = factory(); + } + })(exports, function() { + var NProgress = {}; + NProgress.version = "0.2.0"; + var Settings = NProgress.settings = { + minimum: 0.08, + easing: "ease", + positionUsing: "", + speed: 200, + trickle: true, + trickleRate: 0.02, + trickleSpeed: 800, + showSpinner: true, + barSelector: '[role="bar"]', + spinnerSelector: '[role="spinner"]', + parent: "body", + template: '
' + }; + NProgress.configure = function(options) { + var key, value; + for (key in options) { + value = options[key]; + if (value !== void 0 && options.hasOwnProperty(key)) + Settings[key] = value; + } + return this; + }; + NProgress.status = null; + NProgress.set = function(n) { + var started = NProgress.isStarted(); + n = clamp(n, Settings.minimum, 1); + NProgress.status = n === 1 ? null : n; + var progress = NProgress.render(!started), bar = progress.querySelector(Settings.barSelector), speed = Settings.speed, ease = Settings.easing; + progress.offsetWidth; + queue(function(next) { + if (Settings.positionUsing === "") + Settings.positionUsing = NProgress.getPositioningCSS(); + css(bar, barPositionCSS(n, speed, ease)); + if (n === 1) { + css(progress, { + transition: "none", + opacity: 1 + }); + progress.offsetWidth; + setTimeout(function() { + css(progress, { + transition: "all " + speed + "ms linear", + opacity: 0 + }); + setTimeout(function() { + NProgress.remove(); + next(); + }, speed); + }, speed); + } else { + setTimeout(next, speed); + } + }); + return this; + }; + NProgress.isStarted = function() { + return typeof NProgress.status === "number"; + }; + NProgress.start = function() { + if (!NProgress.status) + NProgress.set(0); + var work = function() { + setTimeout(function() { + if (!NProgress.status) + return; + NProgress.trickle(); + work(); + }, Settings.trickleSpeed); + }; + if (Settings.trickle) + work(); + return this; + }; + NProgress.done = function(force) { + if (!force && !NProgress.status) + return this; + return NProgress.inc(0.3 + 0.5 * Math.random()).set(1); + }; + NProgress.inc = function(amount) { + var n = NProgress.status; + if (!n) { + return NProgress.start(); + } else { + if (typeof amount !== "number") { + amount = (1 - n) * clamp(Math.random() * n, 0.1, 0.95); + } + n = clamp(n + amount, 0, 0.994); + return NProgress.set(n); + } + }; + NProgress.trickle = function() { + return NProgress.inc(Math.random() * Settings.trickleRate); + }; + (function() { + var initial = 0, current = 0; + NProgress.promise = function($promise) { + if (!$promise || $promise.state() === "resolved") { + return this; + } + if (current === 0) { + NProgress.start(); + } + initial++; + current++; + $promise.always(function() { + current--; + if (current === 0) { + initial = 0; + NProgress.done(); + } else { + NProgress.set((initial - current) / initial); + } + }); + return this; + }; + })(); + NProgress.render = function(fromStart) { + if (NProgress.isRendered()) + return document.getElementById("nprogress"); + addClass(document.documentElement, "nprogress-busy"); + var progress = document.createElement("div"); + progress.id = "nprogress"; + progress.innerHTML = Settings.template; + var bar = progress.querySelector(Settings.barSelector), perc = fromStart ? "-100" : toBarPerc(NProgress.status || 0), parent = document.querySelector(Settings.parent), spinner; + css(bar, { + transition: "all 0 linear", + transform: "translate3d(" + perc + "%,0,0)" + }); + if (!Settings.showSpinner) { + spinner = progress.querySelector(Settings.spinnerSelector); + spinner && removeElement(spinner); + } + if (parent != document.body) { + addClass(parent, "nprogress-custom-parent"); + } + parent.appendChild(progress); + return progress; + }; + NProgress.remove = function() { + removeClass(document.documentElement, "nprogress-busy"); + removeClass(document.querySelector(Settings.parent), "nprogress-custom-parent"); + var progress = document.getElementById("nprogress"); + progress && removeElement(progress); + }; + NProgress.isRendered = function() { + return !!document.getElementById("nprogress"); + }; + NProgress.getPositioningCSS = function() { + var bodyStyle = document.body.style; + var vendorPrefix = "WebkitTransform" in bodyStyle ? "Webkit" : "MozTransform" in bodyStyle ? "Moz" : "msTransform" in bodyStyle ? "ms" : "OTransform" in bodyStyle ? "O" : ""; + if (vendorPrefix + "Perspective" in bodyStyle) { + return "translate3d"; + } else if (vendorPrefix + "Transform" in bodyStyle) { + return "translate"; + } else { + return "margin"; + } + }; + function clamp(n, min, max) { + if (n < min) + return min; + if (n > max) + return max; + return n; + } + function toBarPerc(n) { + return (-1 + n) * 100; + } + function barPositionCSS(n, speed, ease) { + var barCSS; + if (Settings.positionUsing === "translate3d") { + barCSS = { transform: "translate3d(" + toBarPerc(n) + "%,0,0)" }; + } else if (Settings.positionUsing === "translate") { + barCSS = { transform: "translate(" + toBarPerc(n) + "%,0)" }; + } else { + barCSS = { "margin-left": toBarPerc(n) + "%" }; + } + barCSS.transition = "all " + speed + "ms " + ease; + return barCSS; + } + var queue = /* @__PURE__ */ function() { + var pending = []; + function next() { + var fn = pending.shift(); + if (fn) { + fn(next); + } + } + return function(fn) { + pending.push(fn); + if (pending.length == 1) + next(); + }; + }(); + var css = /* @__PURE__ */ function() { + var cssPrefixes = ["Webkit", "O", "Moz", "ms"], cssProps = {}; + function camelCase(string) { + return string.replace(/^-ms-/, "ms-").replace(/-([\da-z])/gi, function(match, letter) { + return letter.toUpperCase(); + }); + } + function getVendorProp(name) { + var style = document.body.style; + if (name in style) + return name; + var i = cssPrefixes.length, capName = name.charAt(0).toUpperCase() + name.slice(1), vendorName; + while (i--) { + vendorName = cssPrefixes[i] + capName; + if (vendorName in style) + return vendorName; + } + return name; + } + function getStyleProp(name) { + name = camelCase(name); + return cssProps[name] || (cssProps[name] = getVendorProp(name)); + } + function applyCss(element, prop, value) { + prop = getStyleProp(prop); + element.style[prop] = value; + } + return function(element, properties) { + var args = arguments, prop, value; + if (args.length == 2) { + for (prop in properties) { + value = properties[prop]; + if (value !== void 0 && properties.hasOwnProperty(prop)) + applyCss(element, prop, value); + } + } else { + applyCss(element, args[1], args[2]); + } + }; + }(); + function hasClass(element, name) { + var list = typeof element == "string" ? element : classList(element); + return list.indexOf(" " + name + " ") >= 0; + } + function addClass(element, name) { + var oldList = classList(element), newList = oldList + name; + if (hasClass(oldList, name)) + return; + element.className = newList.substring(1); + } + function removeClass(element, name) { + var oldList = classList(element), newList; + if (!hasClass(element, name)) + return; + newList = oldList.replace(" " + name + " ", " "); + element.className = newList.substring(1, newList.length - 1); + } + function classList(element) { + return (" " + (element.className || "") + " ").replace(/\s+/gi, " "); + } + function removeElement(element) { + element && element.parentNode && element.parentNode.removeChild(element); + } + return NProgress; + }); + } +}); + +// node_modules/@inertiajs/core/dist/index.esm.js +var import_deepmerge = __toESM(require_cjs()); +var O = __toESM(require_lib()); +var import_nprogress = __toESM(require_nprogress()); +function R(t, e) { + let i; + return function(...n) { + clearTimeout(i), i = setTimeout(() => t.apply(this, n), e); + }; +} +function f(t, e) { + return document.dispatchEvent(new CustomEvent(`inertia:${t}`, e)); +} +var M = (t) => f("before", { cancelable: true, detail: { visit: t } }); +var j = (t) => f("error", { detail: { errors: t } }); +var H = (t) => f("exception", { cancelable: true, detail: { exception: t } }); +var N = (t) => f("finish", { detail: { visit: t } }); +var $ = (t) => f("invalid", { cancelable: true, detail: { response: t } }); +var S = (t) => f("navigate", { detail: { page: t } }); +var q = (t) => f("progress", { detail: { progress: t } }); +var W = (t) => f("start", { detail: { visit: t } }); +var K = (t) => f("success", { detail: { page: t } }); +function I(t) { + return t instanceof File || t instanceof Blob || t instanceof FileList && t.length > 0 || t instanceof FormData && Array.from(t.values()).some((e) => I(e)) || typeof t == "object" && t !== null && Object.values(t).some((e) => I(e)); +} +function A(t, e = new FormData(), i = null) { + t = t || {}; + for (let n in t) + Object.prototype.hasOwnProperty.call(t, n) && J(e, X(i, n), t[n]); + return e; +} +function X(t, e) { + return t ? t + "[" + e + "]" : e; +} +function J(t, e, i) { + if (Array.isArray(i)) + return Array.from(i.keys()).forEach((n) => J(t, X(e, n.toString()), i[n])); + if (i instanceof Date) + return t.append(e, i.toISOString()); + if (i instanceof File) + return t.append(e, i, i.name); + if (i instanceof Blob) + return t.append(e, i); + if (typeof i == "boolean") + return t.append(e, i ? "1" : "0"); + if (typeof i == "string") + return t.append(e, i); + if (typeof i == "number") + return t.append(e, `${i}`); + if (i == null) + return t.append(e, ""); + A(i, t, e); +} +var z = { modal: null, listener: null, show(t) { + typeof t == "object" && (t = `All Inertia requests must receive a valid Inertia response, however a plain JSON response was received.
${JSON.stringify(t)}`); + let e = document.createElement("html"); + e.innerHTML = t, e.querySelectorAll("a").forEach((n) => n.setAttribute("target", "_top")), this.modal = document.createElement("div"), this.modal.style.position = "fixed", this.modal.style.width = "100vw", this.modal.style.height = "100vh", this.modal.style.padding = "50px", this.modal.style.boxSizing = "border-box", this.modal.style.backgroundColor = "rgba(0, 0, 0, .6)", this.modal.style.zIndex = 2e5, this.modal.addEventListener("click", () => this.hide()); + let i = document.createElement("iframe"); + if (i.style.backgroundColor = "white", i.style.borderRadius = "5px", i.style.width = "100%", i.style.height = "100%", this.modal.appendChild(i), document.body.prepend(this.modal), document.body.style.overflow = "hidden", !i.contentWindow) + throw new Error("iframe not yet ready."); + i.contentWindow.document.open(), i.contentWindow.document.write(e.outerHTML), i.contentWindow.document.close(), this.listener = this.hideOnEscape.bind(this), document.addEventListener("keydown", this.listener); +}, hide() { + this.modal.outerHTML = "", this.modal = null, document.body.style.overflow = "visible", document.removeEventListener("keydown", this.listener); +}, hideOnEscape(t) { + t.keyCode === 27 && this.hide(); +} }; +function v(t) { + return new URL(t.toString(), window.location.toString()); +} +function k(t, e, i, n = "brackets") { + let o = /^https?:\/\//.test(e.toString()), c2 = o || e.toString().startsWith("/"), h2 = !c2 && !e.toString().startsWith("#") && !e.toString().startsWith("?"), m = e.toString().includes("?") || t === "get" && Object.keys(i).length, b = e.toString().includes("#"), a = new URL(e.toString(), "http://localhost"); + return t === "get" && Object.keys(i).length && (a.search = O.stringify((0, import_deepmerge.default)(O.parse(a.search, { ignoreQueryPrefix: true }), i), { encodeValuesOnly: true, arrayFormat: n }), i = {}), [[o ? `${a.protocol}//${a.host}` : "", c2 ? a.pathname : "", h2 ? a.pathname.substring(1) : "", m ? a.search : "", b ? a.hash : ""].join(""), i]; +} +function w(t) { + return t = new URL(t.href), t.hash = "", t; +} +var _ = typeof window > "u"; +var C = class { + constructor() { + this.visitId = null; + } + init({ initialPage: e, resolveComponent: i, swapComponent: n }) { + this.page = e, this.resolveComponent = i, this.swapComponent = n, this.setNavigationType(), this.clearRememberedStateOnReload(), this.isBackForwardVisit() ? this.handleBackForwardVisit(this.page) : this.isLocationVisit() ? this.handleLocationVisit(this.page) : this.handleInitialPageVisit(this.page), this.setupEventListeners(); + } + setNavigationType() { + this.navigationType = window.performance && window.performance.getEntriesByType("navigation").length > 0 ? window.performance.getEntriesByType("navigation")[0].type : "navigate"; + } + clearRememberedStateOnReload() { + var _a; + this.navigationType === "reload" && ((_a = window.history.state) == null ? void 0 : _a.rememberedState) && delete window.history.state.rememberedState; + } + handleInitialPageVisit(e) { + this.page.url += window.location.hash, this.setPage(e, { preserveState: true }).then(() => S(e)); + } + setupEventListeners() { + window.addEventListener("popstate", this.handlePopstateEvent.bind(this)), document.addEventListener("scroll", R(this.handleScrollEvent.bind(this), 100), true); + } + scrollRegions() { + return document.querySelectorAll("[scroll-region]"); + } + handleScrollEvent(e) { + typeof e.target.hasAttribute == "function" && e.target.hasAttribute("scroll-region") && this.saveScrollPositions(); + } + saveScrollPositions() { + this.replaceState({ ...this.page, scrollRegions: Array.from(this.scrollRegions()).map((e) => ({ top: e.scrollTop, left: e.scrollLeft })) }); + } + resetScrollPositions() { + window.scrollTo(0, 0), this.scrollRegions().forEach((e) => { + typeof e.scrollTo == "function" ? e.scrollTo(0, 0) : (e.scrollTop = 0, e.scrollLeft = 0); + }), this.saveScrollPositions(), window.location.hash && setTimeout(() => { + var _a; + return (_a = document.getElementById(window.location.hash.slice(1))) == null ? void 0 : _a.scrollIntoView(); + }); + } + restoreScrollPositions() { + this.page.scrollRegions && this.scrollRegions().forEach((e, i) => { + let n = this.page.scrollRegions[i]; + if (n) + typeof e.scrollTo == "function" ? e.scrollTo(n.left, n.top) : (e.scrollTop = n.top, e.scrollLeft = n.left); + else + return; + }); + } + isBackForwardVisit() { + return window.history.state && this.navigationType === "back_forward"; + } + handleBackForwardVisit(e) { + window.history.state.version = e.version, this.setPage(window.history.state, { preserveScroll: true, preserveState: true }).then(() => { + this.restoreScrollPositions(), S(e); + }); + } + locationVisit(e, i) { + try { + let n = { preserveScroll: i }; + window.sessionStorage.setItem("inertiaLocationVisit", JSON.stringify(n)), window.location.href = e.href, w(window.location).href === w(e).href && window.location.reload(); + } catch { + return false; + } + } + isLocationVisit() { + try { + return window.sessionStorage.getItem("inertiaLocationVisit") !== null; + } catch { + return false; + } + } + handleLocationVisit(e) { + var _a, _b; + let i = JSON.parse(window.sessionStorage.getItem("inertiaLocationVisit") || ""); + window.sessionStorage.removeItem("inertiaLocationVisit"), e.url += window.location.hash, e.rememberedState = ((_a = window.history.state) == null ? void 0 : _a.rememberedState) ?? {}, e.scrollRegions = ((_b = window.history.state) == null ? void 0 : _b.scrollRegions) ?? [], this.setPage(e, { preserveScroll: i.preserveScroll, preserveState: true }).then(() => { + i.preserveScroll && this.restoreScrollPositions(), S(e); + }); + } + isLocationVisitResponse(e) { + return !!(e && e.status === 409 && e.headers["x-inertia-location"]); + } + isInertiaResponse(e) { + return !!(e == null ? void 0 : e.headers["x-inertia"]); + } + createVisitId() { + return this.visitId = {}, this.visitId; + } + cancelVisit(e, { cancelled: i = false, interrupted: n = false }) { + e && !e.completed && !e.cancelled && !e.interrupted && (e.cancelToken.abort(), e.onCancel(), e.completed = false, e.cancelled = i, e.interrupted = n, N(e), e.onFinish(e)); + } + finishVisit(e) { + !e.cancelled && !e.interrupted && (e.completed = true, e.cancelled = false, e.interrupted = false, N(e), e.onFinish(e)); + } + resolvePreserveOption(e, i) { + return typeof e == "function" ? e(i) : e === "errors" ? Object.keys(i.props.errors || {}).length > 0 : e; + } + cancel() { + this.activeVisit && this.cancelVisit(this.activeVisit, { cancelled: true }); + } + visit(e, { method: i = "get", data: n = {}, replace: o = false, preserveScroll: c2 = false, preserveState: h2 = false, only: m = [], headers: b = {}, errorBag: a = "", forceFormData: l = false, onCancelToken: g2 = () => { + }, onBefore: L2 = () => { + }, onStart: d2 = () => { + }, onProgress: p = () => { + }, onFinish: T2 = () => { + }, onCancel: y = () => { + }, onSuccess: D2 = () => { + }, onError: U = () => { + }, queryStringArrayFormat: F2 = "brackets" } = {}) { + let x2 = typeof e == "string" ? v(e) : e; + if ((I(n) || l) && !(n instanceof FormData) && (n = A(n)), !(n instanceof FormData)) { + let [r, s] = k(i, x2, n, F2); + x2 = v(r), n = s; + } + let P = { url: x2, method: i, data: n, replace: o, preserveScroll: c2, preserveState: h2, only: m, headers: b, errorBag: a, forceFormData: l, queryStringArrayFormat: F2, cancelled: false, completed: false, interrupted: false }; + if (L2(P) === false || !M(P)) + return; + this.activeVisit && this.cancelVisit(this.activeVisit, { interrupted: true }), this.saveScrollPositions(); + let G = this.createVisitId(); + this.activeVisit = { ...P, onCancelToken: g2, onBefore: L2, onStart: d2, onProgress: p, onFinish: T2, onCancel: y, onSuccess: D2, onError: U, queryStringArrayFormat: F2, cancelToken: new AbortController() }, g2({ cancel: () => { + this.activeVisit && this.cancelVisit(this.activeVisit, { cancelled: true }); + } }), W(P), d2(P), axios_default({ method: i, url: w(x2).href, data: i === "get" ? {} : n, params: i === "get" ? n : {}, signal: this.activeVisit.cancelToken.signal, headers: { ...b, Accept: "text/html, application/xhtml+xml", "X-Requested-With": "XMLHttpRequest", "X-Inertia": true, ...m.length ? { "X-Inertia-Partial-Component": this.page.component, "X-Inertia-Partial-Data": m.join(",") } : {}, ...a && a.length ? { "X-Inertia-Error-Bag": a } : {}, ...this.page.version ? { "X-Inertia-Version": this.page.version } : {} }, onUploadProgress: (r) => { + n instanceof FormData && (r.percentage = r.progress ? Math.round(r.progress * 100) : 0, q(r), p(r)); + } }).then((r) => { + var _a; + if (!this.isInertiaResponse(r)) + return Promise.reject({ response: r }); + let s = r.data; + m.length && s.component === this.page.component && (s.props = { ...this.page.props, ...s.props }), c2 = this.resolvePreserveOption(c2, s), h2 = this.resolvePreserveOption(h2, s), h2 && ((_a = window.history.state) == null ? void 0 : _a.rememberedState) && s.component === this.page.component && (s.rememberedState = window.history.state.rememberedState); + let E2 = x2, V = v(s.url); + return E2.hash && !V.hash && w(E2).href === V.href && (V.hash = E2.hash, s.url = V.href), this.setPage(s, { visitId: G, replace: o, preserveScroll: c2, preserveState: h2 }); + }).then(() => { + let r = this.page.props.errors || {}; + if (Object.keys(r).length > 0) { + let s = a ? r[a] ? r[a] : {} : r; + return j(s), U(s); + } + return K(this.page), D2(this.page); + }).catch((r) => { + if (this.isInertiaResponse(r.response)) + return this.setPage(r.response.data, { visitId: G }); + if (this.isLocationVisitResponse(r.response)) { + let s = v(r.response.headers["x-inertia-location"]), E2 = x2; + E2.hash && !s.hash && w(E2).href === s.href && (s.hash = E2.hash), this.locationVisit(s, c2 === true); + } else if (r.response) + $(r.response) && z.show(r.response.data); + else + return Promise.reject(r); + }).then(() => { + this.activeVisit && this.finishVisit(this.activeVisit); + }).catch((r) => { + if (!axios_default.isCancel(r)) { + let s = H(r); + if (this.activeVisit && this.finishVisit(this.activeVisit), s) + return Promise.reject(r); + } + }); + } + setPage(e, { visitId: i = this.createVisitId(), replace: n = false, preserveScroll: o = false, preserveState: c2 = false } = {}) { + return Promise.resolve(this.resolveComponent(e.component)).then((h2) => { + i === this.visitId && (e.scrollRegions = e.scrollRegions || [], e.rememberedState = e.rememberedState || {}, n = n || v(e.url).href === window.location.href, n ? this.replaceState(e) : this.pushState(e), this.swapComponent({ component: h2, page: e, preserveState: c2 }).then(() => { + o || this.resetScrollPositions(), n || S(e); + })); + }); + } + pushState(e) { + this.page = e, window.history.pushState(e, "", e.url); + } + replaceState(e) { + this.page = e, window.history.replaceState(e, "", e.url); + } + handlePopstateEvent(e) { + if (e.state !== null) { + let i = e.state, n = this.createVisitId(); + Promise.resolve(this.resolveComponent(i.component)).then((o) => { + n === this.visitId && (this.page = i, this.swapComponent({ component: o, page: i, preserveState: false }).then(() => { + this.restoreScrollPositions(), S(i); + })); + }); + } else { + let i = v(this.page.url); + i.hash = window.location.hash, this.replaceState({ ...this.page, url: i.href }), this.resetScrollPositions(); + } + } + get(e, i = {}, n = {}) { + return this.visit(e, { ...n, method: "get", data: i }); + } + reload(e = {}) { + return this.visit(window.location.href, { ...e, preserveScroll: true, preserveState: true }); + } + replace(e, i = {}) { + return console.warn(`Inertia.replace() has been deprecated and will be removed in a future release. Please use Inertia.${i.method ?? "get"}() instead.`), this.visit(e, { preserveState: true, ...i, replace: true }); + } + post(e, i = {}, n = {}) { + return this.visit(e, { preserveState: true, ...n, method: "post", data: i }); + } + put(e, i = {}, n = {}) { + return this.visit(e, { preserveState: true, ...n, method: "put", data: i }); + } + patch(e, i = {}, n = {}) { + return this.visit(e, { preserveState: true, ...n, method: "patch", data: i }); + } + delete(e, i = {}) { + return this.visit(e, { preserveState: true, ...i, method: "delete" }); + } + remember(e, i = "default") { + var _a; + _ || this.replaceState({ ...this.page, rememberedState: { ...(_a = this.page) == null ? void 0 : _a.rememberedState, [i]: e } }); + } + restore(e = "default") { + var _a, _b; + if (!_) + return (_b = (_a = window.history.state) == null ? void 0 : _a.rememberedState) == null ? void 0 : _b[e]; + } + on(e, i) { + let n = (o) => { + let c2 = i(o); + o.cancelable && !o.defaultPrevented && c2 === false && o.preventDefault(); + }; + return document.addEventListener(`inertia:${e}`, n), () => document.removeEventListener(`inertia:${e}`, n); + } +}; +var ie = { buildDOMElement(t) { + let e = document.createElement("template"); + e.innerHTML = t; + let i = e.content.firstChild; + if (!t.startsWith("