{"version":3,"file":"ChNn-KD7.js","sources":["../../../../node_modules/nuxt-jsonld/dist/runtime/composable.js"],"sourcesContent":["// src/runtime/composable.ts\nimport { computed } from \"vue\";\n\n// ../../node_modules/@unhead/shared/dist/index.mjs\nvar HasElementTags = /* @__PURE__ */ new Set([\n \"base\",\n \"meta\",\n \"link\",\n \"style\",\n \"script\",\n \"noscript\"\n]);\nvar UniqueTags = /* @__PURE__ */ new Set([\"base\", \"title\", \"titleTemplate\", \"bodyAttrs\", \"htmlAttrs\", \"templateParams\"]);\nvar composableNames = [\n \"getActiveHead\",\n \"useHead\",\n \"useSeoMeta\",\n \"useHeadSafe\",\n \"useServerHead\",\n \"useServerSeoMeta\",\n \"useServerHeadSafe\"\n];\nfunction defineHeadPlugin(plugin) {\n return plugin;\n}\nfunction hashCode(s) {\n let h = 9;\n for (let i = 0; i < s.length; )\n h = Math.imul(h ^ s.charCodeAt(i++), 9 ** 9);\n return ((h ^ h >>> 9) + 65536).toString(16).substring(1, 8).toLowerCase();\n}\nfunction hashTag(tag) {\n if (tag._h) {\n return tag._h;\n }\n if (tag._d) {\n return hashCode(tag._d);\n }\n let content = `${tag.tag}:${tag.textContent || tag.innerHTML || \"\"}:`;\n for (const key in tag.props) {\n content += `${key}:${String(tag.props[key])},`;\n }\n return hashCode(content);\n}\nvar p = (p2) => ({ keyValue: p2, metaKey: \"property\" });\nvar k = (p2) => ({ keyValue: p2 });\nvar MetaPackingSchema = {\n appleItunesApp: {\n unpack: {\n entrySeparator: \", \",\n resolve({ key, value }) {\n return `${fixKeyCase(key)}=${value}`;\n }\n }\n },\n articleExpirationTime: p(\"article:expiration_time\"),\n articleModifiedTime: p(\"article:modified_time\"),\n articlePublishedTime: p(\"article:published_time\"),\n bookReleaseDate: p(\"book:release_date\"),\n charset: {\n metaKey: \"charset\"\n },\n contentSecurityPolicy: {\n unpack: {\n entrySeparator: \"; \",\n resolve({ key, value }) {\n return `${fixKeyCase(key)} ${value}`;\n }\n },\n metaKey: \"http-equiv\"\n },\n contentType: {\n metaKey: \"http-equiv\"\n },\n defaultStyle: {\n metaKey: \"http-equiv\"\n },\n fbAppId: p(\"fb:app_id\"),\n msapplicationConfig: k(\"msapplication-Config\"),\n msapplicationTileColor: k(\"msapplication-TileColor\"),\n msapplicationTileImage: k(\"msapplication-TileImage\"),\n ogAudioSecureUrl: p(\"og:audio:secure_url\"),\n ogAudioUrl: p(\"og:audio\"),\n ogImageSecureUrl: p(\"og:image:secure_url\"),\n ogImageUrl: p(\"og:image\"),\n ogSiteName: p(\"og:site_name\"),\n ogVideoSecureUrl: p(\"og:video:secure_url\"),\n ogVideoUrl: p(\"og:video\"),\n profileFirstName: p(\"profile:first_name\"),\n profileLastName: p(\"profile:last_name\"),\n profileUsername: p(\"profile:username\"),\n refresh: {\n metaKey: \"http-equiv\",\n unpack: {\n entrySeparator: \";\",\n resolve({ key, value }) {\n if (key === \"seconds\")\n return `${value}`;\n }\n }\n },\n robots: {\n unpack: {\n entrySeparator: \", \",\n resolve({ key, value }) {\n if (typeof value === \"boolean\")\n return `${fixKeyCase(key)}`;\n else\n return `${fixKeyCase(key)}:${value}`;\n }\n }\n },\n xUaCompatible: {\n metaKey: \"http-equiv\"\n }\n};\nvar openGraphNamespaces = /* @__PURE__ */ new Set([\n \"og\",\n \"book\",\n \"article\",\n \"profile\"\n]);\nfunction fixKeyCase(key) {\n const updated = key.replace(/([A-Z])/g, \"-$1\").toLowerCase();\n const prefixIndex = updated.indexOf(\"-\");\n const fKey = updated.substring(0, prefixIndex);\n if (fKey === \"twitter\" || openGraphNamespaces.has(fKey))\n return key.replace(/([A-Z])/g, \":$1\").toLowerCase();\n return updated;\n}\nvar NetworkEvents = /* @__PURE__ */ new Set([\"onload\", \"onerror\", \"onabort\", \"onprogress\", \"onloadstart\"]);\nvar TAG_WEIGHTS = {\n // tags\n base: -10,\n title: 10\n};\nvar TAG_ALIASES = {\n // relative scores to their default values\n critical: -80,\n high: -10,\n low: 20\n};\nfunction tagWeight(tag) {\n const priority = tag.tagPriority;\n if (typeof priority === \"number\")\n return priority;\n let weight = 100;\n if (tag.tag === \"meta\") {\n if (tag.props[\"http-equiv\"] === \"content-security-policy\")\n weight = -30;\n else if (tag.props.charset)\n weight = -20;\n else if (tag.props.name === \"viewport\")\n weight = -15;\n } else if (tag.tag === \"link\" && tag.props.rel === \"preconnect\") {\n weight = 20;\n } else if (tag.tag in TAG_WEIGHTS) {\n weight = TAG_WEIGHTS[tag.tag];\n }\n if (priority && priority in TAG_ALIASES) {\n return weight + TAG_ALIASES[priority];\n }\n return weight;\n}\nvar SortModifiers = [{ prefix: \"before:\", offset: -1 }, { prefix: \"after:\", offset: 1 }];\nvar allowedMetaProperties = [\"name\", \"property\", \"http-equiv\"];\nfunction tagDedupeKey(tag) {\n const { props, tag: tagName } = tag;\n if (UniqueTags.has(tagName))\n return tagName;\n if (tagName === \"link\" && props.rel === \"canonical\")\n return \"canonical\";\n if (props.charset)\n return \"charset\";\n if (props.id) {\n return `${tagName}:id:${props.id}`;\n }\n for (const n of allowedMetaProperties) {\n if (props[n] !== void 0) {\n return `${tagName}:${n}:${props[n]}`;\n }\n }\n return false;\n}\nvar sepSub = \"%separator\";\nfunction sub(p2, token, isJson = false) {\n let val;\n if (token === \"s\" || token === \"pageTitle\") {\n val = p2.pageTitle;\n } else if (token.includes(\".\")) {\n const dotIndex = token.indexOf(\".\");\n val = p2[token.substring(0, dotIndex)]?.[token.substring(dotIndex + 1)];\n } else {\n val = p2[token];\n }\n if (val !== void 0) {\n return isJson ? (val || \"\").replace(/\"/g, '\\\\\"') : val || \"\";\n }\n return void 0;\n}\nvar sepSubRe = new RegExp(`${sepSub}(?:\\\\s*${sepSub})*`, \"g\");\nfunction processTemplateParams(s, p2, sep, isJson = false) {\n if (typeof s !== \"string\" || !s.includes(\"%\"))\n return s;\n let decoded = s;\n try {\n decoded = decodeURI(s);\n } catch {\n }\n const tokens = decoded.match(/%\\w+(?:\\.\\w+)?/g);\n if (!tokens) {\n return s;\n }\n const hasSepSub = s.includes(sepSub);\n s = s.replace(/%\\w+(?:\\.\\w+)?/g, (token) => {\n if (token === sepSub || !tokens.includes(token)) {\n return token;\n }\n const re = sub(p2, token.slice(1), isJson);\n return re !== void 0 ? re : token;\n }).trim();\n if (hasSepSub) {\n if (s.endsWith(sepSub))\n s = s.slice(0, -sepSub.length);\n if (s.startsWith(sepSub))\n s = s.slice(sepSub.length);\n s = s.replace(sepSubRe, sep).trim();\n }\n return s;\n}\nfunction resolveTitleTemplate(template, title) {\n if (template == null)\n return title || null;\n if (typeof template === \"function\")\n return template(title);\n return template;\n}\n\n// ../../node_modules/hookable/dist/index.mjs\nvar defaultTask = { run: (function_) => function_() };\nvar _createTask = () => defaultTask;\nvar createTask = typeof console.createTask !== \"undefined\" ? console.createTask : _createTask;\n\n// ../../node_modules/unhead/dist/index.mjs\nvar UsesMergeStrategy = /* @__PURE__ */ new Set([\"templateParams\", \"htmlAttrs\", \"bodyAttrs\"]);\nvar DedupePlugin = defineHeadPlugin({\n hooks: {\n \"tag:normalise\": ({ tag }) => {\n if (tag.props.hid) {\n tag.key = tag.props.hid;\n delete tag.props.hid;\n }\n if (tag.props.vmid) {\n tag.key = tag.props.vmid;\n delete tag.props.vmid;\n }\n if (tag.props.key) {\n tag.key = tag.props.key;\n delete tag.props.key;\n }\n const generatedKey = tagDedupeKey(tag);\n if (generatedKey && !generatedKey.startsWith(\"meta:og:\") && !generatedKey.startsWith(\"meta:twitter:\")) {\n delete tag.key;\n }\n const dedupe = generatedKey || (tag.key ? `${tag.tag}:${tag.key}` : false);\n if (dedupe)\n tag._d = dedupe;\n },\n \"tags:resolve\": (ctx) => {\n const deduping = /* @__PURE__ */ Object.create(null);\n for (const tag of ctx.tags) {\n const dedupeKey = (tag.key ? `${tag.tag}:${tag.key}` : tag._d) || hashTag(tag);\n const dupedTag = deduping[dedupeKey];\n if (dupedTag) {\n let strategy = tag?.tagDuplicateStrategy;\n if (!strategy && UsesMergeStrategy.has(tag.tag))\n strategy = \"merge\";\n if (strategy === \"merge\") {\n const oldProps = dupedTag.props;\n if (oldProps.style && tag.props.style) {\n if (oldProps.style[oldProps.style.length - 1] !== \";\") {\n oldProps.style += \";\";\n }\n tag.props.style = `${oldProps.style} ${tag.props.style}`;\n }\n if (oldProps.class && tag.props.class) {\n tag.props.class = `${oldProps.class} ${tag.props.class}`;\n } else if (oldProps.class) {\n tag.props.class = oldProps.class;\n }\n deduping[dedupeKey].props = {\n ...oldProps,\n ...tag.props\n };\n continue;\n } else if (tag._e === dupedTag._e) {\n dupedTag._duped = dupedTag._duped || [];\n tag._d = `${dupedTag._d}:${dupedTag._duped.length + 1}`;\n dupedTag._duped.push(tag);\n continue;\n } else if (tagWeight(tag) > tagWeight(dupedTag)) {\n continue;\n }\n }\n const hasProps = tag.innerHTML || tag.textContent || Object.keys(tag.props).length !== 0;\n if (!hasProps && HasElementTags.has(tag.tag)) {\n delete deduping[dedupeKey];\n continue;\n }\n deduping[dedupeKey] = tag;\n }\n const newTags = [];\n for (const key in deduping) {\n const tag = deduping[key];\n const dupes = tag._duped;\n newTags.push(tag);\n if (dupes) {\n delete tag._duped;\n newTags.push(...dupes);\n }\n }\n ctx.tags = newTags;\n ctx.tags = ctx.tags.filter((t) => !(t.tag === \"meta\" && (t.props.name || t.props.property) && !t.props.content));\n }\n }\n});\nvar ValidEventTags = /* @__PURE__ */ new Set([\"script\", \"link\", \"bodyAttrs\"]);\nvar EventHandlersPlugin = defineHeadPlugin((head) => ({\n hooks: {\n \"tags:resolve\": (ctx) => {\n for (const tag of ctx.tags) {\n if (!ValidEventTags.has(tag.tag)) {\n continue;\n }\n const props = tag.props;\n for (const key in props) {\n if (key[0] !== \"o\" || key[1] !== \"n\") {\n continue;\n }\n if (!Object.prototype.hasOwnProperty.call(props, key)) {\n continue;\n }\n const value = props[key];\n if (typeof value !== \"function\") {\n continue;\n }\n if (head.ssr && NetworkEvents.has(key)) {\n props[key] = `this.dataset.${key}fired = true`;\n } else {\n delete props[key];\n }\n tag._eventHandlers = tag._eventHandlers || {};\n tag._eventHandlers[key] = value;\n }\n if (head.ssr && tag._eventHandlers && (tag.props.src || tag.props.href)) {\n tag.key = tag.key || hashCode(tag.props.src || tag.props.href);\n }\n }\n },\n \"dom:renderTag\": ({ $el, tag }) => {\n const dataset = $el?.dataset;\n if (!dataset) {\n return;\n }\n for (const k2 in dataset) {\n if (!k2.endsWith(\"fired\")) {\n continue;\n }\n const ek = k2.slice(0, -5);\n if (!NetworkEvents.has(ek)) {\n continue;\n }\n tag._eventHandlers?.[ek]?.call($el, new Event(ek.substring(2)));\n }\n }\n }\n}));\nvar DupeableTags = /* @__PURE__ */ new Set([\"link\", \"style\", \"script\", \"noscript\"]);\nvar HashKeyedPlugin = defineHeadPlugin({\n hooks: {\n \"tag:normalise\": ({ tag }) => {\n if (tag.key && DupeableTags.has(tag.tag)) {\n tag.props[\"data-hid\"] = tag._h = hashCode(tag.key);\n }\n }\n }\n});\nvar PayloadPlugin = defineHeadPlugin({\n mode: \"server\",\n hooks: {\n \"tags:beforeResolve\": (ctx) => {\n const payload = {};\n let hasPayload = false;\n for (const tag of ctx.tags) {\n if (tag._m !== \"server\" || tag.tag !== \"titleTemplate\" && tag.tag !== \"templateParams\" && tag.tag !== \"title\") {\n continue;\n }\n payload[tag.tag] = tag.tag === \"title\" || tag.tag === \"titleTemplate\" ? tag.textContent : tag.props;\n hasPayload = true;\n }\n if (hasPayload) {\n ctx.tags.push({\n tag: \"script\",\n innerHTML: JSON.stringify(payload),\n props: { id: \"unhead:payload\", type: \"application/json\" }\n });\n }\n }\n }\n});\nvar SortPlugin = defineHeadPlugin({\n hooks: {\n \"tags:resolve\": (ctx) => {\n for (const tag of ctx.tags) {\n if (typeof tag.tagPriority !== \"string\") {\n continue;\n }\n for (const { prefix, offset } of SortModifiers) {\n if (!tag.tagPriority.startsWith(prefix)) {\n continue;\n }\n const key = tag.tagPriority.substring(prefix.length);\n const position = ctx.tags.find((tag2) => tag2._d === key)?._p;\n if (position !== void 0) {\n tag._p = position + offset;\n break;\n }\n }\n }\n ctx.tags.sort((a, b) => {\n const aWeight = tagWeight(a);\n const bWeight = tagWeight(b);\n if (aWeight < bWeight) {\n return -1;\n } else if (aWeight > bWeight) {\n return 1;\n }\n return a._p - b._p;\n });\n }\n }\n});\nvar SupportedAttrs = {\n meta: \"content\",\n link: \"href\",\n htmlAttrs: \"lang\"\n};\nvar contentAttrs = [\"innerHTML\", \"textContent\"];\nvar TemplateParamsPlugin = defineHeadPlugin((head) => ({\n hooks: {\n \"tags:resolve\": (ctx) => {\n const { tags } = ctx;\n let templateParams;\n for (let i = 0; i < tags.length; i += 1) {\n const tag = tags[i];\n if (tag.tag !== \"templateParams\") {\n continue;\n }\n templateParams = ctx.tags.splice(i, 1)[0].props;\n i -= 1;\n }\n const params = templateParams || {};\n const sep = params.separator || \"|\";\n delete params.separator;\n params.pageTitle = processTemplateParams(\n // find templateParams\n params.pageTitle || tags.find((tag) => tag.tag === \"title\")?.textContent || \"\",\n params,\n sep\n );\n for (const tag of tags) {\n if (tag.processTemplateParams === false) {\n continue;\n }\n const v = SupportedAttrs[tag.tag];\n if (v && typeof tag.props[v] === \"string\") {\n tag.props[v] = processTemplateParams(tag.props[v], params, sep);\n } else if (tag.processTemplateParams || tag.tag === \"titleTemplate\" || tag.tag === \"title\") {\n for (const p2 of contentAttrs) {\n if (typeof tag[p2] === \"string\")\n tag[p2] = processTemplateParams(tag[p2], params, sep, tag.tag === \"script\" && tag.props.type.endsWith(\"json\"));\n }\n }\n }\n head._templateParams = params;\n head._separator = sep;\n },\n \"tags:afterResolve\": ({ tags }) => {\n let title;\n for (let i = 0; i < tags.length; i += 1) {\n const tag = tags[i];\n if (tag.tag === \"title\" && tag.processTemplateParams !== false) {\n title = tag;\n }\n }\n if (title?.textContent) {\n title.textContent = processTemplateParams(title.textContent, head._templateParams, head._separator);\n }\n }\n }\n}));\nvar TitleTemplatePlugin = defineHeadPlugin({\n hooks: {\n \"tags:resolve\": (ctx) => {\n const { tags } = ctx;\n let titleTag;\n let titleTemplateTag;\n for (let i = 0; i < tags.length; i += 1) {\n const tag = tags[i];\n if (tag.tag === \"title\") {\n titleTag = tag;\n } else if (tag.tag === \"titleTemplate\") {\n titleTemplateTag = tag;\n }\n }\n if (titleTemplateTag && titleTag) {\n const newTitle = resolveTitleTemplate(\n titleTemplateTag.textContent,\n titleTag.textContent\n );\n if (newTitle !== null) {\n titleTag.textContent = newTitle || titleTag.textContent;\n } else {\n ctx.tags.splice(ctx.tags.indexOf(titleTag), 1);\n }\n } else if (titleTemplateTag) {\n const newTitle = resolveTitleTemplate(\n titleTemplateTag.textContent\n );\n if (newTitle !== null) {\n titleTemplateTag.textContent = newTitle;\n titleTemplateTag.tag = \"title\";\n titleTemplateTag = void 0;\n }\n }\n if (titleTemplateTag) {\n ctx.tags.splice(ctx.tags.indexOf(titleTemplateTag), 1);\n }\n }\n }\n});\nvar XSSPlugin = defineHeadPlugin({\n hooks: {\n \"tags:afterResolve\": (ctx) => {\n for (const tag of ctx.tags) {\n if (typeof tag.innerHTML === \"string\") {\n if (tag.innerHTML && (tag.props.type === \"application/ld+json\" || tag.props.type === \"application/json\")) {\n tag.innerHTML = tag.innerHTML.replace(/ resolveUnrefHeadInput(r));\n if (typeof root === \"object\") {\n const resolved = {};\n for (const k2 in root) {\n if (!Object.prototype.hasOwnProperty.call(root, k2)) {\n continue;\n }\n if (k2 === \"titleTemplate\" || k2[0] === \"o\" && k2[1] === \"n\") {\n resolved[k2] = unref(root[k2]);\n continue;\n }\n resolved[k2] = resolveUnrefHeadInput(root[k2]);\n }\n return resolved;\n }\n return root;\n}\nvar VueReactivityPlugin = defineHeadPlugin({\n hooks: {\n \"entries:resolve\": (ctx) => {\n for (const entry of ctx.entries)\n entry.resolvedInput = resolveUnrefHeadInput(entry.input);\n }\n }\n});\nvar headSymbol = \"usehead\";\nvar _global = typeof globalThis !== \"undefined\" ? globalThis : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : {};\nvar globalKey = \"__unhead_injection_handler__\";\nfunction injectHead() {\n if (globalKey in _global) {\n return _global[globalKey]();\n }\n const head = inject(headSymbol);\n if (!head && process.env.NODE_ENV !== \"production\")\n console.warn(\"Unhead is missing Vue context, falling back to shared context. This may have unexpected results.\");\n return head || getActiveHead();\n}\n\n// ../../node_modules/@unhead/vue/dist/shared/vue.8fc199ce.mjs\nimport { ref, watchEffect, watch, getCurrentInstance, onBeforeUnmount, onDeactivated, onActivated } from \"vue\";\nfunction useHead(input, options = {}) {\n const head = options.head || injectHead();\n if (head) {\n if (!head.ssr)\n return clientUseHead(head, input, options);\n return head.push(input, options);\n }\n}\nfunction clientUseHead(head, input, options = {}) {\n const deactivated = ref(false);\n const resolvedInput = ref({});\n watchEffect(() => {\n resolvedInput.value = deactivated.value ? {} : resolveUnrefHeadInput(input);\n });\n const entry = head.push(resolvedInput.value, options);\n watch(resolvedInput, (e) => {\n entry.patch(e);\n });\n const vm = getCurrentInstance();\n if (vm) {\n onBeforeUnmount(() => {\n entry.dispose();\n });\n onDeactivated(() => {\n deactivated.value = true;\n });\n onActivated(() => {\n deactivated.value = false;\n });\n }\n return entry;\n}\n\n// ../../node_modules/@unhead/vue/dist/index.mjs\nimport { getCurrentInstance as getCurrentInstance2, onMounted, isRef, watch as watch2, onScopeDispose, ref as ref2 } from \"vue\";\nvar coreComposableNames = [\n \"injectHead\"\n];\nvar unheadVueComposablesImports = {\n \"@unhead/vue\": [...coreComposableNames, ...composableNames]\n};\n\n// src/runtime/composable.ts\nvar isFunc = (json) => typeof json === \"function\";\nvar useJsonld = (json, options) => {\n if (!json) {\n return;\n }\n const jsonComputed = computed(() => isFunc(json) ? json() : json);\n useHead(() => {\n if (!jsonComputed.value) {\n return {};\n }\n return {\n script: [\n {\n type: \"application/ld+json\",\n children: JSON.stringify(jsonComputed.value, null, \"\")\n }\n ]\n };\n }, options);\n};\nexport {\n useJsonld\n};\n"],"names":["activeHead","getActiveHead","resolveUnref","r","unref","resolveUnrefHeadInput","ref3","root","resolved","k2","headSymbol","_global","globalKey","injectHead","inject","useHead","input","options","head","clientUseHead","deactivated","ref","resolvedInput","watchEffect","entry","watch","e","getCurrentInstance","onBeforeUnmount","onDeactivated","onActivated","isFunc","json","useJsonld","jsonComputed","computed"],"mappings":"uGA4iBA,IAAIA,EACJ,SAASC,GAAgB,CAChB,OAAAD,CACT,CASA,SAASE,EAAaC,EAAG,CACvB,OAAO,OAAOA,GAAM,WAAaA,EAAE,EAAIC,EAAMD,CAAC,CAChD,CACA,SAASE,EAAsBC,EAAM,CACnC,GAAIA,aAAgB,SAAWA,aAAgB,MAAQA,aAAgB,OAC9D,OAAAA,EACH,MAAAC,EAAOL,EAAaI,CAAI,EAC1B,GAAA,CAACA,GAAQ,CAACC,EACL,OAAAA,EACL,GAAA,MAAM,QAAQA,CAAI,EACpB,OAAOA,EAAK,IAAKJ,GAAME,EAAsBF,CAAC,CAAC,EAC7C,GAAA,OAAOI,GAAS,SAAU,CAC5B,MAAMC,EAAW,CAAC,EAClB,UAAWC,KAAMF,EACf,GAAK,OAAO,UAAU,eAAe,KAAKA,EAAME,CAAE,EAG9C,IAAAA,IAAO,iBAAmBA,EAAG,CAAC,IAAM,KAAOA,EAAG,CAAC,IAAM,IAAK,CAC5DD,EAASC,CAAE,EAAIL,EAAMG,EAAKE,CAAE,CAAC,EAC7B,QAAA,CAEFD,EAASC,CAAE,EAAIJ,EAAsBE,EAAKE,CAAE,CAAC,EAExC,OAAAD,CAAA,CAEF,OAAAD,CACT,CASA,IAAIG,EAAa,UACbC,EAAU,OAAO,WAAe,IAAc,WAAa,OAAO,OAAW,IAAc,OAAS,OAAO,OAAW,IAAc,OAAS,OAAO,KAAS,IAAc,KAAO,CAAC,EACnLC,EAAY,+BAChB,SAASC,GAAa,CACpB,OAAID,KAAaD,EACRA,EAAQC,CAAS,EAAE,EAEfE,EAAOJ,CAAU,GAGfT,EAAc,CAC/B,CAIA,SAASc,EAAQC,EAAOC,EAAU,GAAI,CAC9B,MAAAC,EAAOD,EAAQ,MAAQJ,EAAW,EACxC,GAAIK,EACF,OAAKA,EAAK,IAEHA,EAAK,KAAKF,EAAOC,CAAO,EADtBE,EAAcD,EAAMF,EAAOC,CAAO,CAG/C,CACA,SAASE,EAAcD,EAAMF,EAAOC,EAAU,CAAA,EAAI,CAC1C,MAAAG,EAAcC,EAAI,EAAK,EACvBC,EAAgBD,EAAI,EAAE,EAC5BE,EAAY,IAAM,CAChBD,EAAc,MAAQF,EAAY,MAAQ,CAAC,EAAIf,EAAsBW,CAAK,CAAA,CAC3E,EACD,MAAMQ,EAAQN,EAAK,KAAKI,EAAc,MAAOL,CAAO,EAC9C,OAAAQ,EAAAH,EAAgBI,GAAM,CAC1BF,EAAM,MAAME,CAAC,CAAA,CACd,EACUC,EAAmB,IAE5BC,EAAgB,IAAM,CACpBJ,EAAM,QAAQ,CAAA,CACf,EACDK,EAAc,IAAM,CAClBT,EAAY,MAAQ,EAAA,CACrB,EACDU,EAAY,IAAM,CAChBV,EAAY,MAAQ,EAAA,CACrB,GAEII,CACT,CAYA,IAAIO,EAAUC,GAAS,OAAOA,GAAS,WACnCC,EAAY,CAACD,EAAMf,IAAY,CACjC,GAAI,CAACe,EACH,OAEI,MAAAE,EAAeC,EAAS,IAAMJ,EAAOC,CAAI,EAAIA,IAASA,CAAI,EAChEjB,EAAQ,IACDmB,EAAa,MAGX,CACL,OAAQ,CACN,CACE,KAAM,sBACN,SAAU,KAAK,UAAUA,EAAa,MAAO,KAAM,EAAE,CAAA,CACvD,CAEJ,EATS,CAAC,EAUTjB,CAAO,CACZ","x_google_ignoreList":[0]}