diff --git a/dist/css/app.58e56f4c.css b/dist/css/app.58e56f4c.css new file mode 100644 index 0000000..ad5b11d --- /dev/null +++ b/dist/css/app.58e56f4c.css @@ -0,0 +1 @@ +#app[data-v-02724ab4]{position:relative;display:flex;justify-content:center;align-items:center}.bookmark[data-v-02724ab4]{position:relative;margin-top:10vh;width:1200px;height:80vh;border:1px solid hsla(0,0%,100%,.18);box-shadow:0 8px 32px 0 rgba(31,38,135,.2);border-radius:6px;background:#fff}.bookmark .left-box[data-v-02724ab4]{width:200px;height:100%;border:1px solid hsla(0,0%,100%,.18);box-shadow:0 8px 32px 0 rgba(31,38,135,.2);position:relative;overflow-y:auto;padding:8px 0}.bookmark .left-box img[data-v-02724ab4]{width:20px;height:auto;margin-right:5px;cursor:pointer}.bookmark .left-box .active[data-v-02724ab4]{box-shadow:0 8px 32px 0 rgba(31,38,135,.2);background:#a0cae6}.bookmark .left-box .inactive[data-v-02724ab4]{box-shadow:none;background:#fff}.bookmark .left-box .label[data-v-02724ab4]{font-size:14px;display:flex;cursor:pointer;border:none;position:relative;padding:10px 15px}.bookmark .left-box .label[data-v-02724ab4]:hover{box-shadow:0 8px 32px 0 rgba(31,38,135,.2);background:#a0cae6}.bookmark .left-box .label .text-elipss[data-v-02724ab4]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bookmark .right-box[data-v-02724ab4]{width:calc(100% - 200px)}.bookmark .right-box .card-s[data-v-02724ab4]{width:100%;padding-top:10px;max-height:calc(80vh - 49px);display:flex;flex-wrap:wrap;overflow-x:hidden;overflow-y:auto}.bookmark .right-box .card-s .card-item[data-v-02724ab4]{cursor:pointer;width:calc(33% - 40px);display:flex;justify-content:flex-start;align-items:center;border:1px solid hsla(0,0%,100%,.18);box-shadow:0 8px 18px 0 rgba(31,38,135,.2);padding:10px;margin:7px 20px 7px 20px;position:relative;border-radius:8px;max-height:200px;height:72px!important}.bookmark .right-box .card-s .card-item[data-v-02724ab4]:hover{transform:scale(1.04);-webkit-animation-delay:.3ms;animation-delay:.3ms;-webkit-animation:.3ms;animation:.3ms;box-shadow:0 8px 18px 0 rgba(31,38,135,.3)}.tool-icon[data-v-02724ab4]{width:20px;height:20px;-o-object-fit:contain;object-fit:contain;display:inline-block;margin-right:12px;cursor:pointer}.tool-icon[data-v-02724ab4]:hover{fill:"#3eaf7c"}.tool-bar[data-v-02724ab4]{height:48px;border-bottom:1px solid #eee;width:100%;display:flex;justify-content:space-between;align-items:center;background:#faf8f8}.tool-bar .tool-logo[data-v-02724ab4]{margin:0 15px}.tool-bar .tool-logo a[data-v-02724ab4]{color:#e03b5d;display:flex;align-items:center}.tool-bar .search-box[data-v-02724ab4]{display:inline-block;position:relative;margin-right:1rem;white-space:nowrap}.tool-bar .search-box img[data-v-02724ab4]{position:absolute;top:0;bottom:0;z-index:0;left:.6rem;margin:auto;width:20px;height:auto}.tool-bar .search-box input[data-v-02724ab4]{text-align:initial;text-indent:0;text-shadow:none;text-transform:none;word-spacing:normal;letter-spacing:normal;cursor:text;width:14rem;height:2rem;color:#4e6e8e;display:inline-block;border:1px solid #eaecef;border-radius:.25rem;font-size:.9rem;line-height:2rem;padding:0 .5rem 0 2rem;outline:none;transition:all .2s ease;background:transparent;background-size:auto;background-size:1rem}.box-m[data-v-02724ab4]{display:flex;height:calc(100% - 50px)}.logo-img[data-v-02724ab4]{width:62px;height:100%;margin-right:14px}.logo-img img[data-v-02724ab4]{height:100%;width:100%;-o-object-fit:contain;object-fit:contain;display:block;max-width:70px;width:62px}.logo-box[data-v-02724ab4]{flex:1}.logo-box .title[data-v-02724ab4]{max-width:190px;padding-top:3px;font-size:16px;font-weight:700;color:#000}.logo-box .subtitle[data-v-02724ab4],.logo-box .title[data-v-02724ab4]{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.logo-box .subtitle[data-v-02724ab4]{position:relative;max-width:185px;margin-top:5px;font-size:13px;color:rgba(0,0,0,.7)}.list-complete-item[data-v-02724ab4]{transition:all .8s ease;display:inline-block;margin-right:10px}.list-complete-enter-from[data-v-02724ab4],.list-complete-leave-to[data-v-02724ab4]{opacity:0;transform:translateY(30px)}.list-complete-leave-active[data-v-02724ab4]{position:absolute}.card-item-nodata[data-v-02724ab4]{height:100%;width:100%;display:flex;justify-content:center;align-items:center}.card-item-nodata span[data-v-02724ab4]{display:block;margin-top:20px;color:#999}.bg[data-v-02724ab4]{z-index:-999;position:fixed;height:100%;width:100%;background:url(../img/bg.18b122a7.jpg)} \ No newline at end of file diff --git a/dist/favicon.ico b/dist/favicon.ico new file mode 100644 index 0000000..8201c16 Binary files /dev/null and b/dist/favicon.ico differ diff --git a/dist/img/bg.18b122a7.jpg b/dist/img/bg.18b122a7.jpg new file mode 100644 index 0000000..b34f9c6 Binary files /dev/null and b/dist/img/bg.18b122a7.jpg differ diff --git a/dist/img/blog.f57ba53d.svg b/dist/img/blog.f57ba53d.svg new file mode 100644 index 0000000..dc84580 --- /dev/null +++ b/dist/img/blog.f57ba53d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dist/img/file.807fb7b5.svg b/dist/img/file.807fb7b5.svg new file mode 100644 index 0000000..3e9721c --- /dev/null +++ b/dist/img/file.807fb7b5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dist/img/gitee.8160b75c.svg b/dist/img/gitee.8160b75c.svg new file mode 100644 index 0000000..ce63c98 --- /dev/null +++ b/dist/img/gitee.8160b75c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dist/img/github.3f137925.svg b/dist/img/github.3f137925.svg new file mode 100644 index 0000000..69ef1a1 --- /dev/null +++ b/dist/img/github.3f137925.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dist/img/logo.f38dc2e8.svg b/dist/img/logo.f38dc2e8.svg new file mode 100644 index 0000000..1a776c2 --- /dev/null +++ b/dist/img/logo.f38dc2e8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dist/img/search.c77e1385.svg b/dist/img/search.c77e1385.svg new file mode 100644 index 0000000..c77aab9 --- /dev/null +++ b/dist/img/search.c77e1385.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dist/img/translate.fa0bf271.svg b/dist/img/translate.fa0bf271.svg new file mode 100644 index 0000000..cf4457a --- /dev/null +++ b/dist/img/translate.fa0bf271.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dist/index.html b/dist/index.html new file mode 100644 index 0000000..657d744 --- /dev/null +++ b/dist/index.html @@ -0,0 +1,21 @@ +红隼书签-为中国 Web 前端开发人员提供优质网站导航
\ No newline at end of file diff --git a/dist/js/app.78ccd3f1.js b/dist/js/app.78ccd3f1.js new file mode 100644 index 0000000..f4abf18 --- /dev/null +++ b/dist/js/app.78ccd3f1.js @@ -0,0 +1,2 @@ +(function(t){function e(e){for(var s,r,a=e[0],n=e[1],h=e[2],g=0,p=[];g1&&void 0!==arguments[1]?arguments[1]:[],c=Object(B["a"])(t);try{for(c.s();!(e=c.n()).done;){var i=e.value;Array.isArray(i.children)?s(i.children,o):o.push(i)}}catch(r){c.e(r)}finally{c.f()}return o}var c=Object(F["j"])({activeIndex:0,data:Q,bookMark:Q[0].children,searchVal:"",allData:s(Q)});function i(){function t(t,e){c.bookMark=t.children,c.activeIndex=e}function e(t){window.open(t.url,"_target")}return{selectType:t,navigate:e}}return Object(W["z"])((function(){return c.searchVal}),(function(){c.bookMark=c.allData.filter((function(t){return t.title.toLowerCase().indexOf(c.searchVal.toLowerCase())>-1}))})),Object(G["a"])(Object(G["a"])({},Object(F["q"])(c)),{},{selectType:e,navigate:o})},methods:{beforeEnter:function(t){t.style.opacity=0,t.style.height=0},enter:function(t,e){H["a"].to(t,{opacity:1,height:"1.6em",delay:.15*t.dataset.index,onComplete:e})},leave:function(t,e){H["a"].to(t,{opacity:0,height:0,delay:.15*t.dataset.index,onComplete:e})}}};o("0507");Z.render=q,Z.__scopeId="data-v-02724ab4";var K=Z,X=Object(s["c"])(K);X.mount("#app")},"76f4":function(t,e,o){t.exports=o.p+"img/github.3f137925.svg"},a5f7:function(t,e,o){t.exports=o.p+"img/logo.f38dc2e8.svg"},d7b3:function(t,e,o){t.exports=o.p+"img/gitee.8160b75c.svg"},e8ed:function(t,e,o){t.exports=o.p+"img/blog.f57ba53d.svg"},fe3c:function(t,e,o){t.exports=o.p+"img/file.807fb7b5.svg"}}); +//# sourceMappingURL=app.78ccd3f1.js.map \ No newline at end of file diff --git a/dist/js/app.78ccd3f1.js.map b/dist/js/app.78ccd3f1.js.map new file mode 100644 index 0000000..a5131fd --- /dev/null +++ b/dist/js/app.78ccd3f1.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/App.vue?5581","webpack:///./src/assets/svg/search.svg","webpack:///./src/assets/svg/translate.svg","webpack:///./src/App.vue","webpack:///./src/assets/Json/印象笔记.js","webpack:///./src/App.vue?97f5","webpack:///./src/main.js","webpack:///./src/assets/svg/github.svg","webpack:///./src/assets/svg/logo.svg","webpack:///./src/assets/svg/gitee.svg","webpack:///./src/assets/svg/blog.svg","webpack:///./src/assets/svg/file.svg"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","class","id","href","target","src","title","width","height","viewBox","data-v-8739e5ce","fill","fill-rule","transform","x","y","stroke","stroke-width","rx","type","placeholder","searchVal","item","index","activeIndex","selectType","bookMark","tag","css","beforeEnter","enter","leave","card","idx","navigate","logo","desc","myData","children","url","contribute","is_docschina","repository","_id","_updateTime","team","homeBackup","imgStyle","objectFit","_createTime","rowData","setup","MyFunction","flatten","arr","Array","isArray","allData","open","filter","v","toLowerCase","indexOf","methods","el","style","opacity","done","gsap","to","delay","dataset","onComplete","render","__scopeId","app","createApp","App","mount"],"mappings":"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","file":"js/app.78ccd3f1.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./App.vue?vue&type=style&index=0&id=02724ab4&scoped=true&lang=scss\"","module.exports = __webpack_public_path__ + \"img/search.c77e1385.svg\";","module.exports = __webpack_public_path__ + \"img/translate.fa0bf271.svg\";","\r\n\r\n\r\n\r\n\r\n","export const myData = [{\r\n type: '语言文档和规范',\r\n children: [{\r\n desc: '提供 Web 技术文档,学习 Web 开发的最佳实践',\r\n url: 'https://developer.mozilla.org/zh-CN/docs/Web',\r\n logo: '',\r\n title: 'MDN'\r\n },\r\n {\r\n contribute: 'https://github.com/docschina/ecma262',\r\n desc: 'ECMAScript 2018 标准',\r\n url: 'https://ecma262.docschina.org/',\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/ecma.svg',\r\n title: 'ECMAScript'\r\n },\r\n {\r\n contribute: 'https://github.com/LinFeng1997/markdown-it-docs',\r\n desc: 'Markdown 解析器。完全支持 CommonMark 规范,并且进行语法扩展、提供可编写插件和快速编译',\r\n url: 'https://markdown-it.docschina.org/',\r\n is_docschina: true,\r\n title: 'markdown-it 中文文档',\r\n repository: 'https://github.com/markdown-it/markdown-it'\r\n },\r\n {\r\n contribute: 'https://github.com/docschina/GFM-docs',\r\n url: 'https://gfm.docschina.org/zh-hans/',\r\n is_docschina: true,\r\n title: 'GitHub 风格 Markdown 规范',\r\n repository: 'https://github.com/docschina/GFM-docs'\r\n },\r\n {\r\n url: 'https://www.markdownguide.org/basic-syntax/',\r\n title: 'Markdown 基本语法'\r\n },\r\n {\r\n contribute: 'https://github.com/xitu/graphql.github.io',\r\n desc: '一种用于 API 的查询语言',\r\n url: 'http://graphql.cn/',\r\n logo: 'https://cdn.docschina.org/home/logo/graphql.svg',\r\n title: 'GraphQL'\r\n },\r\n {\r\n contribute: 'https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md',\r\n desc: 'OpenAPI 规范为 RESTful API 定义了一个与语言无关的标准接口',\r\n url: 'https://swagger.io/docs/specification/about/',\r\n logo: 'https://cdn.docschina.org/home/logo/openapi.png',\r\n title: 'OpenAPI'\r\n },\r\n {\r\n contribute: 'https://github.com/json-schema-org/json-schema-spec',\r\n desc: 'JSON Schema 是一个词汇表,可以验证、注释和操作 JSON 文档',\r\n url: 'http://json-schema.org/',\r\n logo: 'https://cdn.docschina.org/home/logo/json-schema.svg',\r\n title: 'JSON Schema'\r\n },\r\n {\r\n desc: '一门语言,帮助开发者构建可靠和高效软件',\r\n url: 'https://www.rust-lang.org/zh-CN/',\r\n logo: 'https://www.rust-lang.org/static/images/rust-logo-blk.svg',\r\n title: 'Rust'\r\n }],\r\n title: 'standard'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d57b2d7881b8',\r\n _updateTime: 1614568539818,\r\n type: '视频音频',\r\n children: [{\r\n desc: '带解析器、能节省流量的 Web 视频播放器',\r\n url: 'https://h5player.bytedance.com/',\r\n logo: 'https://cdn.docschina.org/home/logo/xgplayer.png',\r\n title: 'XGPlayer',\r\n repository: 'https://github.com/bytedance/xgplayer',\r\n team: '今日头条'\r\n },\r\n {\r\n desc: '奇舞团研制的 h5 播放器,它支持 mp4、m3u8、flv 等多种格式',\r\n url: 'http://chimee.org/',\r\n logo: 'https://cdn.docschina.org/home/logo/75team.svg',\r\n title: 'Chimee',\r\n repository: 'https://github.com/Chimeejs/chimee',\r\n team: '360'\r\n },\r\n {\r\n desc: 'HTML5 视频播放器以纯 JavaScript 编写,不含 Flash',\r\n url: 'https://github.com/Bilibili/flv.js',\r\n logo: '',\r\n title: 'flv.js',\r\n team: '哔哩哔哩'\r\n }],\r\n title: 'media'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d57508ba180c',\r\n type: '函数式编程',\r\n children: [{\r\n contribute: 'https://github.com/RxJS-CN/RxJS-Docs-CN/',\r\n desc: 'RxJS 是 Reactive Extensions 的 JavaScript 实现,可以通过响应式和函数式编程模型组合异步数据流',\r\n url: 'http://cn.rx.js.org/',\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/rxjs.png',\r\n title: 'RxJS'\r\n },\r\n {\r\n desc: '函数式和响应式的 JavaScript 框架',\r\n url: 'http://cyclejs.cn/',\r\n logo: 'https://cdn.docschina.org/home/logo/cyclejs.svg',\r\n title: 'Cycle.js'\r\n },\r\n {\r\n desc: '一款实用的 JavaScript 函数式编程库',\r\n url: 'http://ramda.cn/',\r\n logo: 'https://ramdajs.com/ramdaFilled_200x235.png',\r\n title: 'Ramda'\r\n }],\r\n title: 'functional'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d56d1789876d',\r\n _updateTime: 1611132890668,\r\n type: 'Vue(Mobile)',\r\n children: [{\r\n desc: '移动端 Vue 组件库',\r\n url: 'https://youzan.github.io/vant/',\r\n logo: 'https://cdn.docschina.org/home/logo/vant.png',\r\n title: 'Vant',\r\n repository: 'https://github.com/youzan/vant',\r\n team: '有赞'\r\n },\r\n {\r\n desc: '基于 Vue 实现的精致移动端组件库',\r\n url: 'https://didi.github.io/cube-ui/',\r\n logo: 'https://cdn.docschina.org/home/logo/cube.png',\r\n title: 'Cube UI',\r\n repository: 'https://github.com/didi/cube-ui',\r\n team: '滴滴'\r\n },\r\n {\r\n desc: '面向金融场景的 Vue 移动端组件库',\r\n url: 'https://didi.github.io/mand-mobile/',\r\n logo: 'https://cdn.docschina.org/home/logo/mand.svg',\r\n title: 'Mand Mobile',\r\n repository: 'https://github.com/didi/mand-mobile',\r\n team: '滴滴'\r\n },\r\n {\r\n desc: '可视化 Mand Mobile 主题编辑器',\r\n url: 'https://mand-mobile.github.io/palette/',\r\n logo: 'https://cdn.docschina.org/home/logo/mand.svg',\r\n title: 'Mand Mobile Palette',\r\n repository: 'https://github.com/mand-mobile/palette',\r\n team: '滴滴'\r\n },\r\n {\r\n desc: '基于 Vue 的移动端跨平台 UI',\r\n url: 'https://weex.apache.org/',\r\n logo: 'https://cdn.docschina.org/home/logo/weex.svg',\r\n title: 'Weex',\r\n repository: 'https://github.com/apache/incubator-weex',\r\n team: '阿里巴巴'\r\n }],\r\n title: 'vue-mobile'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d57a3885d353',\r\n _updateTime: 1612263116672,\r\n type: '工具',\r\n children: [{\r\n contribute: 'https://github.com/xmoyking/localForage-cn',\r\n desc: '通过简单类似 localStorage API 的异步数据存储来改进你的 Web 应用程序的离线体验',\r\n url: 'https://localforage.docschina.org/',\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/lf.png',\r\n title: 'localForage'\r\n },\r\n {\r\n contribute: 'https://github.com/iamkun/dayjs',\r\n desc: '处理时间和日期的 JavaScript 函数库',\r\n url: 'https://day.js.org/zh-CN/',\r\n title: 'Day.js'\r\n },\r\n {\r\n contribute: 'https://github.com/moment/moment',\r\n desc: '处理时间和日期的 JavaScript 函数库',\r\n url: 'https://momentjs.com/docs/',\r\n title: 'Moment.js'\r\n },\r\n {\r\n desc: '一个现代的 JavaScript 工具库',\r\n url: 'http://lodash.think2011.net/',\r\n logo: 'https://cdn.docschina.org/home/logo/lodash.svg',\r\n title: 'Lodash'\r\n },\r\n {\r\n desc: 'jQuery API 速查表',\r\n url: 'http://hemin.cn/jq/',\r\n logo: 'https://cdn.docschina.org/home/logo/jquery.svg',\r\n title: 'jQuery API'\r\n },\r\n {\r\n desc: '高效精简强大的工具库',\r\n url: 'http://www.jquery123.com/',\r\n logo: 'https://cdn.docschina.org/home/logo/jquery.svg',\r\n title: 'jQuery'\r\n },\r\n {\r\n desc: '轻量级的工具库',\r\n url: 'http://zeptojs.com/',\r\n logo: 'https://cdn.docschina.org/home/logo/zepto.png',\r\n title: 'Zepto'\r\n }],\r\n title: 'utils'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d56a6fb97586',\r\n _updateTime: 1618062117484,\r\n type: 'React',\r\n children: [{\r\n contribute: 'https://github.com/docschina/create-react-app',\r\n desc: 'React 官方维护的创建 React 单页面应用的工具',\r\n url: 'https://cra.docschina.org/',\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/react.svg',\r\n title: 'Create React App'\r\n },\r\n {\r\n contribute: 'https://github.com/docschina/preact-www',\r\n desc: 'React 的 3kb 轻量化方案,拥有同样的 ES6 API',\r\n url: 'https://preactjs.com/',\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/preact.png',\r\n title: 'Preact'\r\n },\r\n {\r\n contribute: 'https://github.com/docschina/react-router.cn',\r\n desc: 'React 官方维护的路由库',\r\n url: 'https://react-router.docschina.org/',\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/react-router.svg',\r\n title: 'React-Router'\r\n },\r\n {\r\n contribute: 'https://github.com/dvajs/dva',\r\n desc: '基于 React 和 redux,具有 elm 风格的轻量级框架。',\r\n url: 'https://dvajs.com/',\r\n logo: '',\r\n title: 'dva'\r\n },\r\n {\r\n desc: 'Element UI 的 React 实现',\r\n url: 'https://elemefe.github.io/element-react/',\r\n logo: 'https://cdn.docschina.org/home/logo/element.svg',\r\n title: 'Element React',\r\n repository: 'https://github.com/eleme/element-react',\r\n team: '饿了么'\r\n },\r\n {\r\n desc: 'PC 端 WebUI 规范的 React 实现,提供了一整套基础的 UI 组件以及一些常用的业务组件',\r\n url: 'https://youzan.github.io/zent/zh/guides/install',\r\n logo: 'https://cdn.docschina.org/home/logo/zent.png',\r\n title: 'Zent',\r\n repository: 'https://github.com/youzan/zent',\r\n team: '有赞'\r\n },\r\n {\r\n desc: 'Nerv 是一款基于虚拟 DOM 技术的 JavaScript(TypeScript)库,它提供了与 React 16 一致的使用方式与 API,并且拥有更高的性能表现、更小的包大小以及更好的浏览器兼容性',\r\n url: 'https://nerv.aotu.io/',\r\n logo: 'https://camo.githubusercontent.com/3e1b76e514b895760055987f164ce6c95935a3aa/687474703a2f2f73746f726167652e333630627579696d672e636f6d2f6d74642f686f6d652f6c6f676f2d3278313531333833373932363730372e706e67',\r\n title: 'Nerv',\r\n repository: 'https://github.com/NervJS/nerv',\r\n team: '京东'\r\n },\r\n {\r\n desc: '基于 React 的移动端跨平台 UI',\r\n url: 'https://reactnative.cn/',\r\n logo: 'https://cdn.docschina.org/home/logo/react.svg',\r\n title: 'React Native',\r\n repository: 'https://github.com/reactnativecn/react-native.cn'\r\n },\r\n {\r\n desc: 'React Native 应用程序的路由和导航',\r\n url: 'https://reactnavigation.org/docs/getting-started',\r\n logo: 'https://reactnavigation.org/img/spiro.svg',\r\n title: 'React Navigation',\r\n repository: 'https://github.com/react-navigation'\r\n }],\r\n title: 'react'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d56873ba5666',\r\n _updateTime: 1618062691090,\r\n type: 'web 框架',\r\n children: [{\r\n contribute: 'https://github.com/reactjs/zh-hans.reactjs.org',\r\n desc: '构建用户界面的 JavaScript 库',\r\n url: 'https://react.docschina.org',\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/react.svg',\r\n title: 'React'\r\n },\r\n {\r\n contribute: 'https://github.com/vuejs/cn.vuejs.org',\r\n desc: '渐进式 JavaScript 框架',\r\n url: 'https://cn.vuejs.org/v2/guide/',\r\n logo: 'https://cdn.docschina.org/home/logo/vue.svg',\r\n title: 'Vue 2'\r\n },\r\n {\r\n contribute: 'https://github.com/vuejs/vue-next',\r\n desc: '渐进式 JavaScript 框架',\r\n url: 'https://v3.cn.vuejs.org/',\r\n logo: 'https://cdn.docschina.org/home/logo/vue.svg',\r\n title: 'Vue 3'\r\n },\r\n {\r\n contribute: 'https://github.com/single-spa/single-spa',\r\n desc: 'JavaScript 框架,将多个微前端组合成一个应用程序',\r\n url: 'https://single-spa.js.org/',\r\n logo: 'https://single-spa.js.org/img/logo-white-bgblue.svg',\r\n title: 'single-spa'\r\n },\r\n {\r\n contribute: 'https://github.com/angular/angular',\r\n desc: '应用程序设计框架和开发平台,用于创建高效且复杂的单页应用程序',\r\n url: 'https://angular.cn/',\r\n logo: 'https://cdn.docschina.org/home/logo/angular.svg',\r\n title: 'Angular'\r\n },\r\n {\r\n contribute: 'https://github.com/sveltejs/svelte',\r\n desc: '将声明性组件转换为精准高效更新 DOM 的 JavaScript 代码。',\r\n url: 'https://svelte.dev/',\r\n logo: 'https://svelte.dev/svelte-logo-horizontal.svg',\r\n title: 'Svelte'\r\n }],\r\n title: 'web-framework'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d5725620766a',\r\n type: '代码风格检查',\r\n children: [{\r\n desc: '可组装的、用于 JavaScript 和 JSX 的代码检查工具',\r\n url: 'https://cn.eslint.org/',\r\n logo: 'https://cdn.docschina.org/home/logo/eslint.svg',\r\n title: 'ESLint'\r\n },\r\n {\r\n contribute: 'https://github.com/docschina/stylelint',\r\n desc: '强大的现代 CSS 检测工具,帮助样式表遵循一致的约定和避免错误',\r\n url: 'https://stylelint.docschina.org/',\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/stylelint.svg',\r\n title: 'StyleLint'\r\n },\r\n {\r\n desc: 'JavaScript 风格指南、检查工具和格式化工具',\r\n url: 'https://standardjs.com/',\r\n logo: 'https://cdn.docschina.org/home/logo/standardjs.svg',\r\n title: 'Standard JS'\r\n },\r\n {\r\n desc: 'Vue 代码的风格指南',\r\n url: 'https://vue.docschina.org/v2/style-guide/',\r\n logo: 'https://cdn.docschina.org/home/logo/vue.svg',\r\n title: 'Vue 风格指南'\r\n }],\r\n title: 'codestyle'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d56f23ffeb15',\r\n _updateTime: 1618761523555,\r\n type: 'Node.js & Deno',\r\n children: [{\r\n contribute: 'https://github.com/nodejscn/node-api-cn',\r\n desc: '基于 V8 引擎的 JavaScript 运行环境',\r\n url: 'http://nodejs.cn/',\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/node.svg',\r\n title: 'Node.js'\r\n },\r\n {\r\n contribute: 'https://deno.js.cn/',\r\n desc: 'Deno 是一个 JavaScript/TypeScript 的运行时',\r\n url: 'https://manual.deno.js.cn/',\r\n logo: 'https://deno.land/logo.svg',\r\n title: 'Deno'\r\n },\r\n {\r\n contribute: 'https://github.com/demopark/koa-docs-Zh-CN',\r\n desc: '新一代的 Web 后台框架',\r\n url: 'https://koajs.docschina.org/',\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/koa.svg',\r\n title: 'Koa'\r\n },\r\n {\r\n desc: '为企业级框架和 Node.js & Koa 应用程序而生',\r\n url: 'https://eggjs.org/',\r\n logo: 'https://cdn.docschina.org/home/logo/egg.png',\r\n title: 'egg',\r\n repository: 'https://github.com/eggjs/egg',\r\n team: '阿里巴巴'\r\n },\r\n {\r\n desc: '快速极简的 Web 框架',\r\n url: 'http://expressjs.com/zh-cn/',\r\n logo: 'https://cdn.docschina.org/home/logo/express.png',\r\n title: 'Express',\r\n repository: 'https://github.com/expressjs/express'\r\n },\r\n {\r\n desc: '渐进式 Node.js 框架,构建高效、可靠和可扩展的 server 应用程序',\r\n url: 'https://nestjs.com/',\r\n logo: 'https://cdn.docschina.org/home/logo/nest.png',\r\n title: 'nest',\r\n repository: 'https://github.com/nestjs/nest'\r\n },\r\n {\r\n desc: '能够使用完整 ES6/7 特性进行开发的 Node.js 应用程序',\r\n url: 'https://thinkjs.org/',\r\n logo: 'https://cdn.docschina.org/home/logo/think.png',\r\n title: 'ThinkJS',\r\n repository: 'https://github.com/thinkjs/thinkjs',\r\n team: '360'\r\n },\r\n {\r\n desc: 'npm 是 JavaScript package 管理工具,在这里可以找到可复用代码,并以强大的全新方式进行聚合',\r\n url: 'https://docs.npmjs.com/',\r\n logo: 'https://cdn.docschina.org/home/logo/npm.png',\r\n title: 'npm'\r\n },\r\n {\r\n desc: '淘宝提供的 npmjs.org 镜像',\r\n url: 'https://npm.taobao.org/',\r\n logo: 'https://npm.taobao.org/favicon.png',\r\n title: 'cnpm'\r\n },\r\n {\r\n desc: '快速、可靠和安全的依赖管理',\r\n url: 'https://yarnpkg.com/zh-Hans/',\r\n logo: 'https://cdn.docschina.org/home/logo/yarn.png',\r\n title: 'yarn'\r\n }],\r\n title: 'node'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d5741113911d',\r\n _updateTime: 1618213635311,\r\n type: '编程教程',\r\n children: [{\r\n contribute: 'https://github.com/javascript-tutorial/zh.javascript.info',\r\n desc: '以最新的 JavaScript 标准为基准,通过简单但足够详细的内容,为你讲解从基础到高阶的 JavaScript 相关知识。',\r\n url: 'https://zh.javascript.info/',\r\n is_docschina: false,\r\n logo: 'https://user-images.githubusercontent.com/26959437/67275005-3df25500-f4f4-11e9-9c13-36e442ff40cc.jpg',\r\n title: '现代 JavaScript 教程'\r\n },\r\n {\r\n contribute: 'https://github.com/RxJS-CN/learn-rxjs-operators',\r\n desc: '通过每个操作符的清晰示例及解释来进行 RxJS 的学习',\r\n url: 'https://rxjs-cn.github.io/learn-rxjs-operators/',\r\n is_docschina: true,\r\n logo: '',\r\n title: '学习 RxJS 操作符'\r\n },\r\n {\r\n desc: '从 JavaScript 程序员的角度总结思考,循序渐进的理解 TypeScript',\r\n url: 'https://ts.xcatliu.com/',\r\n logo: 'https://cdn.docschina.org/home/logo/typescript.svg',\r\n title: 'TypeScript 入门教程',\r\n repository: 'https://github.com/xcatliu/typescript-tutorial'\r\n },\r\n {\r\n desc: '基于 Promise 进行异步编程的基本使用方法以及测试的编写方法、应用及反模式等内容的文档',\r\n url: 'http://liubin.org/promises-book/',\r\n logo: '',\r\n title: 'JavaScript Promise 迷你书'\r\n },\r\n {\r\n contribute: 'https://github.com/RxJS-CN/learn-rxjs-operators',\r\n desc: '通过每个操作符的清晰示例及解释来进行 RxJS 的学习',\r\n url: 'https://rxjs-cn.github.io/learn-rxjs-operators/',\r\n is_docschina: true,\r\n logo: '',\r\n title: '学习 RxJS 操作符'\r\n },\r\n {\r\n desc: '这是一本有关 Rust的入门书籍',\r\n url: 'https://doc.rust-lang.org/book/',\r\n logo: 'https://www.rust-lang.org/static/images/rust-logo-blk.svg',\r\n title: 'Rust 编程语言'\r\n }],\r\n title: 'tutorial'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d56c79303c20',\r\n _updateTime: 1611204893455,\r\n type: 'Vue(PC)',\r\n children: [{\r\n desc: '基于 Vue 的组件库',\r\n url: 'http://element-cn.eleme.io/',\r\n logo: 'https://cdn.docschina.org/home/logo/element.svg',\r\n title: 'Element UI',\r\n repository: 'https://github.com/ElemeFE/element',\r\n team: '饿了么'\r\n },\r\n {\r\n desc: '基于 Vue 的 Material 组件库',\r\n url: 'https://vuetifyjs.com/zh-Hans/',\r\n logo: 'https://cdn.docschina.org/home/logo/vuetify.svg',\r\n title: 'Vuetify',\r\n repository: 'https://github.com/vuetifyjs/vuetify'\r\n },\r\n {\r\n desc: '基于 Vue 的组件库',\r\n url: 'https://www.iviewui.com/',\r\n logo: 'https://cdn.docschina.org/home/logo/iview.png',\r\n title: 'View UI',\r\n repository: 'https://github.com/iview/iview',\r\n team: 'TalkingData'\r\n },\r\n {\r\n desc: 'Vue 官方 UI 组件',\r\n url: 'https://vuejs.github.io/ui/',\r\n logo: 'https://cdn.docschina.org/home/logo/vue.svg',\r\n title: 'Vue UI Framework',\r\n repository: 'https://github.com/vuejs/ui'\r\n },\r\n {\r\n desc: '一个基于 Vue 的高质量 UI 组件库',\r\n url: 'https://www.heyui.top/',\r\n logo: 'https://camo.githubusercontent.com/1424cb86c2634f96fe82db55f01f07c3c29e53a1/68747470733a2f2f7777772e68657975692e746f702f7374617469632f696d616765732f6c6f676f2e706e67',\r\n title: 'HeyUI',\r\n repository: 'https://github.com/heyui/heyui'\r\n },\r\n {\r\n desc: '灵活易用的 JavaScript 组件框架,兼容到 IE6',\r\n url: 'https://baidu.github.io/san/',\r\n logo: 'https://cdn.docschina.org/home/logo/san.svg',\r\n title: 'San',\r\n repository: 'https://github.com/baidu/san',\r\n team: '百度'\r\n },\r\n {\r\n desc: 'vue-loader 可以将 Vue 单文件组件转换为 JavaScript 模块的 webpack loader',\r\n url: 'https://vue-loader.vuejs.org/zh/',\r\n logo: '',\r\n title: 'vue-loader',\r\n repository: 'https://github.com/vuejs/vue-loader'\r\n },\r\n {\r\n contribute: 'https://github.com/vuejs/vuepress',\r\n desc: '由 Vue 提供支持的静态站点生成器',\r\n url: 'https://vuepress.vuejs.org/zh/',\r\n logo: 'https://cdn.docschina.org/home/logo/vuepress.svg',\r\n title: 'VuePress'\r\n },\r\n {\r\n desc: 'vue-router 是 Vue 官方提供的 router',\r\n url: 'https://router.vuejs.org/zh/',\r\n logo: '',\r\n title: 'vue-router',\r\n repository: 'https://github.com/vuejs/vue-router'\r\n },\r\n {\r\n desc: 'vue-rx 帮助用户在 Vue 应用程序中实现简单的 RxJS 绑定',\r\n url: 'https://github.com/vuejs/vue-rx/blob/master/README-CN.md',\r\n logo: '',\r\n title: 'vue-rx',\r\n repository: 'https://github.com/vuejs/vue-rx'\r\n },\r\n {\r\n desc: 'vue-cli 帮助用户快速开发 Vue 的脚手架(scaffold)',\r\n url: 'https://cli.vuejs.org/zh/',\r\n logo: 'https://cdn.docschina.org/home/logo/vue.svg',\r\n title: 'vue-cli',\r\n repository: 'https://github.com/vuejs/vue-cli'\r\n },\r\n {\r\n desc: 'Vue 官方提供的服务器端渲染(SSR)指南',\r\n url: 'https://ssr.vuejs.org/zh/',\r\n logo: '',\r\n title: 'vue-ssr',\r\n repository: 'https://github.com/vuejs/vue-ssr-docs'\r\n },\r\n {\r\n desc: 'Vue.js 元框架,用于快速创建复杂、高性能的通用 Web 应用程序',\r\n url: 'https://zh.nuxtjs.org/',\r\n logo: 'https://zh.nuxtjs.org/logos/nuxt-icon.png',\r\n title: 'Nuxt.js',\r\n repository: 'https://github.com/nuxt/nuxt.js'\r\n }],\r\n title: 'vue-pc'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d57622981fde',\r\n type: '测试工具',\r\n children: [{\r\n desc: 'Vue Test Utils 是 Vue.js 官方的单元测试实用工具库',\r\n url: 'https://vue-test-utils.vuejs.org/zh/',\r\n logo: '',\r\n title: 'Vue Test Utils',\r\n repository: 'https://github.com/vuejs/vue-test-utils'\r\n },\r\n {\r\n desc: 'Facebook 开发的零配置测试平台,让代码库更加稳定和健壮',\r\n url: 'https://jest.docschina.org/',\r\n logo: 'https://cdn.docschina.org/home/logo/jest.png',\r\n title: 'Jest',\r\n repository: 'https://github.com/facebook/jest'\r\n },\r\n {\r\n desc: '未来的测试运行器',\r\n url: 'https://github.com/avajs/ava',\r\n logo: 'https://cdn.docschina.org/home/logo/ava.png',\r\n title: 'ava'\r\n },\r\n {\r\n desc: 'Karma 的主要目标是,让测试驱动开发(TDD)变得简单、快速和有趣。',\r\n url: 'https://karma-runner.github.io/2.0/index.html',\r\n logo: 'https://cdn.docschina.org/home/logo/karma.png',\r\n title: 'Karma',\r\n repository: 'https://github.com/karma-runner/karma'\r\n },\r\n {\r\n desc: 'Mocha 是运行在 Node.js 和浏览器上的功能丰富的 JavaScript 测试框架,使异步测试变得简单而有趣。Mocha 串行运行测试,提供灵活精准的报告,同时将未捕获的异常映射到正确的测试用例。',\r\n url: 'https://mochajs.org/',\r\n logo: 'https://cdn.docschina.org/home/logo/mocha.svg',\r\n title: 'Mocha',\r\n repository: 'https://github.com/mochajs/mocha'\r\n },\r\n {\r\n desc: 'Jasmine 是一个用于测试 JavaScript 代码的行为驱动开发(BDD)框架',\r\n url: 'https://jasmine.github.io/',\r\n logo: 'https://cdn.docschina.org/home/logo/jasmine.png',\r\n title: 'Jasmine',\r\n repository: 'https://github.com/jasmine/jasmine'\r\n },\r\n {\r\n desc: 'Puppeteer 可以通过 DevTools 协议控制 headless Chrome 或 Chromium',\r\n url: 'https://pptr.dev/',\r\n logo: 'https://cdn.docschina.org/home/logo/puppeteer.png',\r\n title: 'Puppeteer',\r\n repository: 'https://github.com/GoogleChrome/puppeteer'\r\n },\r\n {\r\n desc: '用于对 JavaScript 隔离测试 spy, stub 和 mock。适用于任何单元测试框架',\r\n url: 'http://sinonjs.org/',\r\n logo: 'https://cdn.docschina.org/home/logo/sinon.png',\r\n title: 'Sinon.JS',\r\n repository: 'https://github.com/sinonjs/sinon'\r\n },\r\n {\r\n desc: 'Chai 是一个用于 Node.js 和浏览器的 BDD/TDD 断言库,可以与任何 JavaScript 测试框架便捷配对',\r\n url: 'http://chaijs.com/',\r\n logo: 'https://cdn.docschina.org/home/logo/chai.png',\r\n title: 'Chai',\r\n repository: 'https://github.com/chaijs/chai'\r\n },\r\n {\r\n desc: 'expect 帮助你编写更好的断言',\r\n url: 'https://github.com/mjackson/expect',\r\n logo: '',\r\n title: 'expect'\r\n },\r\n {\r\n desc: '一个富于表现力、可读性强、与框架无关,用于 Node.js 的 BDD 风格断言库',\r\n url: 'https://shouldjs.github.io/',\r\n logo: '',\r\n title: 'Should.js',\r\n repository: 'https://github.com/shouldjs/should.js'\r\n },\r\n {\r\n desc: '生成随机数据,拦截 Ajax 请求',\r\n url: 'http://mockjs.com/',\r\n logo: '',\r\n title: 'Mock.js',\r\n repository: 'https://github.com/nuysoft/Mock'\r\n }],\r\n title: 'test'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d5770943917c',\r\n _updateTime: 1613989291342,\r\n type: '编译构建',\r\n children: [{\r\n contribute: 'https://github.com/docschina/webpack.js.org',\r\n desc: '用于现代 JavaScript 应用程序的静态模块打包工具',\r\n url: 'https://webpack.docschina.org/',\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/webpack-offical.svg',\r\n title: 'webpack'\r\n },\r\n {\r\n contribute: 'https://github.com/docschina/babeljs.io',\r\n desc: '一个编译工具,让你可以项目中直接使用下一代 JavaScript',\r\n url: 'https://babel.docschina.org/',\r\n homeBackup: 'https://babeljs.cn/',\r\n imgStyle: { objectFit: 'contain' },\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/babel.png',\r\n title: 'Babel'\r\n },\r\n {\r\n contribute: 'https://github.com/docschina/parceljs.io',\r\n desc: '零配置打包工具',\r\n url: 'https://parceljs.docschina.org/',\r\n homeBackup: 'https://www.parceljs.io/',\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/parcel.png',\r\n title: 'Parcel'\r\n },\r\n {\r\n contribute: 'https://github.com/docschina/rollupjs.org',\r\n desc: '新一代 JavaScript 模块打包器',\r\n url: 'https://rollup.docschina.org/',\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/rollup.svg',\r\n title: 'Rollup'\r\n },\r\n {\r\n contribute: 'https://github.com/vitejs/docs-cn',\r\n desc: '下一代前端开发与构建工具',\r\n url: 'https://cn.vitejs.dev/',\r\n logo: 'https://vitejs.dev/logo.svg',\r\n title: 'Vite'\r\n },\r\n {\r\n desc: 'JavaScript 超集',\r\n url: 'https://zhongsp.gitbooks.io/typescript-handbook/',\r\n logo: 'https://cdn.docschina.org/home/logo/typescript.svg',\r\n title: 'TypeScript',\r\n repository: 'https://github.com/zhongsp/TypeScript'\r\n },\r\n {\r\n desc: '基于流的自动化构建工具',\r\n url: 'http://www.gulpjs.com.cn/',\r\n logo: 'https://cdn.docschina.org/home/logo/gulp.svg',\r\n title: 'Gulp'\r\n },\r\n {\r\n desc: 'JavaScript 世界的构建工具',\r\n url: 'https://grunt.docschina.org/',\r\n logo: 'https://cdn.docschina.org/home/logo/grunt.svg',\r\n title: 'Grunt'\r\n },\r\n {\r\n desc: '用于管理有多个包的 JavaScript 项目的工具',\r\n url: 'https://lerna.js.org/',\r\n logo: 'https://cdn.docschina.org/home/logo/lerna.svg',\r\n title: 'Lerna',\r\n repository: 'https://github.com/lerna/lerna'\r\n }],\r\n title: 'build'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d5781a2d68bb',\r\n type: '模板引擎',\r\n children: [{\r\n desc: 'JavaScript 模板引擎',\r\n url: 'http://ejs.co/',\r\n logo: '',\r\n title: 'EJS'\r\n },\r\n {\r\n desc: 'JavaScript 模板引擎',\r\n url: 'https://pugjs.org/',\r\n logo: '',\r\n title: 'Pug'\r\n },\r\n {\r\n desc: 'JavaScript 模板引擎',\r\n url: 'https://handlebarsjs.com/',\r\n logo: '',\r\n title: 'Handlebars.js'\r\n }],\r\n title: 'template'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d5733b66fd34',\r\n _updateTime: 1618063291445,\r\n type: '状态管理',\r\n children: [{\r\n contribute: 'https://github.com/SangKa/mobx-docs-cn',\r\n desc: '简单、可扩展的状态管理',\r\n url: 'https://cn.mobx.js.org/',\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/mobx.png',\r\n title: 'Mobx'\r\n },\r\n {\r\n contribute: 'https://www.github.com/reduxjs/react-redux',\r\n desc: 'React 官方版本 Redux',\r\n url: 'https://react-redux.js.org/',\r\n logo: 'https://cdn.docschina.org/home/logo/redux.svg',\r\n title: 'React Redux'\r\n },\r\n {\r\n contribute: 'https://github.com/camsong/redux-in-chinese',\r\n desc: 'JavaScript 状态容器,提供可预测化的状态管理',\r\n url: 'https://cn.redux.js.org/',\r\n logo: 'https://cdn.docschina.org/home/logo/redux.svg',\r\n title: 'Redux'\r\n },\r\n {\r\n contribute: 'https://github.com/rematch/rematch',\r\n desc: 'Rematch 是没有 boilerplate 的 Redux 最佳实践',\r\n url: 'https://rematch.gitbook.io/',\r\n logo: 'https://cdn.docschina.org/home/logo/rematch.png',\r\n title: 'Rematch'\r\n },\r\n {\r\n desc: 'vuex 是 Vue 官方提供的状态管理工具',\r\n url: 'https://vuex.vuejs.org/zh/',\r\n logo: 'https://cdn.docschina.org/home/logo/vue.svg',\r\n title: 'Vuex',\r\n repository: 'https://github.com/vuejs/vuex'\r\n }],\r\n title: 'data-model'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d57c78a8184a',\r\n _updateTime: 1606363580152,\r\n type: '技术周刊',\r\n children: [{\r\n desc: '关于 JavaScript 的文章、新闻和项目的周刊',\r\n url: 'https://docschina.org/weekly/js/docs/',\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/docschina-logo.svg',\r\n title: '印记中文周刊 - JavaScript'\r\n },\r\n {\r\n desc: '关于 React 的文章、新闻和项目的周刊',\r\n url: 'https://docschina.org/weekly/react/docs/',\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/docschina-logo.svg',\r\n title: '印记中文周刊 - React'\r\n },\r\n {\r\n desc: 'Node.js 新闻和文章',\r\n url: 'https://nodeweekly.com/',\r\n logo: '',\r\n title: 'Node Weekly'\r\n },\r\n {\r\n desc: 'CSS 文章、教程、实验、工具等摘要',\r\n url: 'https://css-weekly.com/',\r\n logo: 'https://css-weekly.com/wp-content/themes/cssweekly/img/cssweekly-logo.png',\r\n title: 'CSS Weekly'\r\n },\r\n {\r\n desc: 'Vue 官方提供的最新实时动态资讯',\r\n url: 'https://news.vuejs.org/',\r\n logo: 'https://cdn.docschina.org/home/logo/vue.svg',\r\n title: 'Vue news',\r\n repository: 'https://github.com/vuejs/news.vuejs.org'\r\n }],\r\n title: 'weekly'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d5691d88abc2',\r\n type: '小程序框架',\r\n children: [{\r\n contribute: 'https://github.com/remaxjs/remax',\r\n desc: 'Remax 将 React 运行在小程序环境中,让你可以使用完整的 React 进行小程序开发。',\r\n url: 'https://remaxjs.org/',\r\n logo: 'https://gw.alipayobjects.com/mdn/rms_b5fcc5/afts/img/A*1NHAQYduQiQAAAAAAAAAAABkARQnAQ',\r\n title: 'Remax'\r\n },\r\n {\r\n contribute: 'https://github.com/NervJS/taro',\r\n desc: 'Taro 是一套遵循 React 语法规范的 多端开发 解决方案。',\r\n url: 'https://taro.jd.com/',\r\n logo: 'https://cdn.docschina.org/home/logo/taro.png',\r\n title: 'Taro'\r\n },\r\n {\r\n contribute: 'https://github.com/wechat-miniprogram/kbone',\r\n desc: 'kbone 用于支持一个项目可以同时在 Web 端和小程序端被使用',\r\n url: 'https://developers.weixin.qq.com/miniprogram/dev/extended/kbone/',\r\n logo: '',\r\n title: 'kbone'\r\n },\r\n {\r\n contribute: 'https://github.com/Tencent/omi',\r\n desc: 'Omi 可以开发桌面 Web、移动 H5,同时支持开发小程序',\r\n url: 'http://omijs.org',\r\n logo: 'https://camo.githubusercontent.com/5a3ce051411cca4d8abd0e0abff879bb5a871520/68747470733a2f2f74656e63656e742e6769746875622e696f2f6f6d692f6173736574732f6f6d692d6c6f676f323031392e737667',\r\n title: 'omi/omip'\r\n },\r\n {\r\n contribute: 'https://github.com/Tencent/wepy',\r\n desc: 'WePY 是一款让小程序支持组件化开发的框架,通过预编译的手段让开发者可以选择自己喜欢的开发风格去开发小程序',\r\n url: 'https://developers.weixin.qq.com/miniprogram/dev/extended/kbone/',\r\n logo: 'https://opensource.tencent.com/img/wepy.png',\r\n title: 'wepy'\r\n },\r\n {\r\n contribute: 'https://github.com/RubyLouvre/nanachi',\r\n desc: '基于 React 的多端小程序转译框架,完美兼容 React 生命周期',\r\n url: 'https://rubylouvre.github.io/nanachi/',\r\n logo: 'https://cdn.docschina.org/home/logo/nanachi.png',\r\n title: 'nanachi'\r\n },\r\n {\r\n contribute: 'https://github.com/Meituan-Dianping/mpvue',\r\n desc: '框架基于 Vue.js 核心,mpvue 修改了 Vue.js 的 runtime 和 compiler 实现,使其可以运行在小程序环境中,从而为小程序开发引入了整套 Vue.js 开发体验。',\r\n url: 'http://mpvue.com',\r\n logo: 'https://cdn.docschina.org/home/logo/mpvue.png',\r\n title: 'mpvue'\r\n },\r\n {\r\n contribute: 'https://github.com/wxajs/wxa',\r\n desc: 'wxa 是一个 AOP 框架,主要使用 Decorator(运行时改写,拦截)和预编译实现框架功能。',\r\n url: 'https://wxajs.github.io/wxa/',\r\n logo: 'https://github.com/wxajs/wxa/raw/dev/wxa-logo.png',\r\n title: 'wxa'\r\n },\r\n {\r\n contribute: 'https://github.com/didi/mpx',\r\n desc: 'Mpx 是一款致力于提高小程序开发体验的增强型小程序框架,通过 Mpx,我们能够以最先进的 web 开发体验来开发生产性能深度优化的小程序。',\r\n url: 'https://didi.github.io/mpx/',\r\n logo: 'https://cdn.docschina.org/home/logo/mpx-logo.png',\r\n title: 'mpx'\r\n },\r\n {\r\n contribute: 'https://github.com/kaola-fed/megalo',\r\n desc: 'Megalo 是基于 Vue(Vue@2.6.6) 的小程序开发框架,让开发者可以用 Vue 的开发方式开发小程序应用。',\r\n url: 'https://megalojs.org/#/',\r\n logo: 'https://megalojs.org/static/megalo.png',\r\n title: 'megalo'\r\n },\r\n {\r\n contribute: 'https://github.com/didi/chameleon',\r\n desc: 'Chameleon/kəˈmiːlɪən/,简写CML,中文名卡梅龙;中文意思变色龙,意味着就像变色龙一样能适应不同环境的跨端整体解决方案。',\r\n url: 'https://cml.js.org/',\r\n logo: 'https://camo.githubusercontent.com/9a6e165b9188a8ac4e5173bc382688a418fad711/68747470733a2f2f636d6c2e6a732e6f72672f646f632f6173736574732f3130302a3130302e706e67',\r\n title: 'chameleon'\r\n },\r\n {\r\n contribute: 'https://github.com/dcloudio/uni-app',\r\n desc: '框架基于 Vue.js 核心,mpvue 修改了 Vue.js 的 runtime 和 compiler 实现,使其可以运行在小程序环境中,从而为小程序开发引入了整套 Vue.js 开发体验。',\r\n url: 'https://uniapp.dcloud.io/',\r\n logo: 'https://img-cdn-qiniu.dcloud.net.cn/new-page/uni.png',\r\n title: 'uni-app'\r\n }],\r\n title: 'mini-program'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d56e41e13c2b',\r\n _updateTime: 1612264536260,\r\n type: 'Angular',\r\n children: [{\r\n desc: 'Material Design 组件库 for Angular',\r\n url: 'https://material.angular.cn/',\r\n logo: 'https://cdn.docschina.org/home/logo/angular.svg',\r\n title: 'Angular Material',\r\n repository: 'https://github.com/ng-docs/components'\r\n },\r\n {\r\n desc: 'Element UI 的 Angular 实现',\r\n url: 'https://element-angular.faas.ele.me/',\r\n logo: 'https://cdn.docschina.org/home/logo/element.svg',\r\n title: 'Element Angular',\r\n repository: 'https://github.com/ElemeFE/element-angular',\r\n team: '饿了么'\r\n },\r\n {\r\n desc: '基于 Angular 的移动端跨平台 UI',\r\n url: 'https://ionicframework.com/',\r\n logo: 'https://cdn.docschina.org/home/logo/ionic.png',\r\n title: 'Ionic',\r\n repository: 'https://github.com/ionic-team/ionic'\r\n }],\r\n title: 'angular'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d5706183e0bf',\r\n type: 'CSS',\r\n children: [{\r\n desc: 'Sass 是 CSS 的一个扩展,它使 CSS 的使用起来更加优雅和强大。',\r\n url: 'https://sass-guidelin.es/zh/',\r\n logo: 'https://cdn.docschina.org/home/logo/sass.svg',\r\n title: 'Sass'\r\n },\r\n {\r\n desc: 'Less 是 CSS 预处理语言,使 CSS 更易维护和扩展',\r\n url: 'http://lesscss.cn/',\r\n logo: 'https://cdn.docschina.org/home/logo/less.svg',\r\n title: 'Less'\r\n },\r\n {\r\n desc: '富有表现力、动态、健壮的 CSS',\r\n url: 'http://www.zhangxinxu.com/jq/stylus/',\r\n homeBackup: 'http://stylus-lang.com/',\r\n logo: 'https://cdn.docschina.org/home/logo/stylus.svg',\r\n title: 'Stylus'\r\n },\r\n {\r\n contribute: 'https://github.com/docschina/postcss/blob/cn/Translation.md',\r\n desc: '通过 JavaScript 来转换 CSS,并且提供强大的插件系统',\r\n url: 'http://postcss.docschina.org/',\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/postcss.svg',\r\n title: 'PostCSS'\r\n }],\r\n title: 'css'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d5793d4545a7',\r\n type: '可视化工具',\r\n children: [{\r\n contribute: 'https://github.com/docschina/threejs.org',\r\n desc: 'JavaScript 3d 库',\r\n url: 'https://threejs.docschina.org/',\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/threejs.png',\r\n title: 'Threejs',\r\n repository: 'https://github.com/mrdoob/three.js'\r\n },\r\n {\r\n desc: '使用 JavaScript 实现的开源可视化库',\r\n url: 'http://echarts.baidu.com/',\r\n logo: 'https://cdn.docschina.org/home/logo/echarts.png',\r\n title: 'ECharts',\r\n repository: 'https://github.com/ecomfe/echarts',\r\n team: '百度'\r\n },\r\n {\r\n desc: '跨平台的轻量级 2D 渲染对象模型',\r\n url: 'http://spritejs.org/',\r\n logo: 'https://cdn.docschina.org/home/logo/spritejs.png',\r\n title: 'SpriteJS',\r\n repository: 'https://github.com/spritejs/spritejs',\r\n team: '360'\r\n },\r\n {\r\n desc: '基于全新一代数据可视化解决方案 AntV',\r\n url: 'https://antv.alipay.com/',\r\n logo: 'https://cdn.docschina.org/home/logo/antv.svg',\r\n title: 'AntV 可视化解决方案',\r\n repository: 'https://github.com/ecomfe/echarts',\r\n team: '阿里巴巴'\r\n },\r\n {\r\n desc: '一套基于可视化编码的图形语法,以数据驱动,具有高度的易用性和扩展性',\r\n url: 'https://antv.alipay.com/',\r\n logo: 'https://cdn.docschina.org/home/logo/antv.svg',\r\n title: 'G2 可视化图形语法',\r\n repository: 'https://github.com/antvis/g2/',\r\n team: '阿里巴巴'\r\n },\r\n {\r\n desc: 'G6 是解决流程图和关系分析的图表库',\r\n url: 'https://antv.alipay.com/zh-cn/g6/1.x/index.html',\r\n logo: 'https://cdn.docschina.org/home/logo/antv.svg',\r\n title: 'G6 关系图类库',\r\n repository: 'https://github.com/antvis/g6/',\r\n team: '阿里巴巴'\r\n },\r\n {\r\n desc: '面向移动端的一套基于可视化图形语法的图表库,具有精简、高性能、易扩展的特性',\r\n url: 'https://antv.alipay.com/zh-cn/f2/3.x/index.html',\r\n logo: 'https://cdn.docschina.org/home/logo/antv.svg',\r\n title: 'F2 移动端图表库',\r\n repository: 'https://github.com/antvis/f2/',\r\n team: '阿里巴巴'\r\n },\r\n {\r\n desc: '一个遵循 Web 标准,用于可视化数据的 JavaScript 库',\r\n url: 'https://d3js.org.cn/',\r\n logo: 'https://cdn.docschina.org/home/logo/d3.svg',\r\n title: 'D3.js',\r\n repository: 'https://github.com/xswei/d3js_doc'\r\n },\r\n {\r\n desc: '基于 Vue 和 ECharts 封装的图表组件',\r\n url: 'https://v-charts.js.org/',\r\n logo: 'https://cdn.docschina.org/home/logo/vue.svg',\r\n title: 'v-charts',\r\n repository: 'https://github.com/elemefe/v-charts',\r\n team: '饿了么'\r\n }],\r\n title: 'visualization'\r\n},\r\n{\r\n _createTime: 1611133617441,\r\n _id: '1526e12a6007f2b1002d9ab04359d927',\r\n _updateTime: 1616657640052,\r\n type: 'UmiJS 框架',\r\n children: [{\r\n desc: '可插拔的企业级 React 应用框架',\r\n url: 'https://umijs.org/',\r\n logo: '',\r\n title: 'UmiJS',\r\n repository: 'https://github.com/umijs/umi',\r\n team: '蚂蚁金服'\r\n },\r\n {\r\n desc: '基于 Umi 的场景化框架',\r\n url: 'https://alitajs.com/',\r\n logo: '',\r\n title: 'alita',\r\n repository: 'https://github.com/alitajs/alita'\r\n },\r\n {\r\n desc: '为微前端提供快速、简单和完整的解决方案',\r\n url: 'https://qiankun.umijs.org/',\r\n logo: '',\r\n title: 'qiankun',\r\n repository: 'https://github.com/umijs/qiankun',\r\n team: '蚂蚁金服'\r\n },\r\n {\r\n desc: 'React 组件文档生成工具',\r\n url: 'https://d.umijs.org/',\r\n logo: '',\r\n title: 'dumi',\r\n repository: 'https://github.com/umijs/dumi',\r\n team: '蚂蚁金服'\r\n },\r\n {\r\n desc: '零基础 UmiJS 入门教程',\r\n url: 'https://www.yuque.com/umijs/umi',\r\n logo: '',\r\n title: 'Umi 入门',\r\n repository: 'https://github.com/umijs/umi-course',\r\n team: '蚂蚁金服'\r\n }],\r\n title: 'umi'\r\n},\r\n{\r\n _createTime: 1611195580301,\r\n _id: '79550af26008e4bc004838e050c2c0c1',\r\n _updateTime: 1611205328048,\r\n type: 'ant design 系列',\r\n children: [{\r\n desc: '企业级的 UI 设计语言和 React 实现',\r\n url: 'https://ant.design/',\r\n logo: 'https://cdn.docschina.org/home/logo/antdesign.svg',\r\n title: 'Ant Design',\r\n repository: 'https://github.com/ant-design/ant-design'\r\n },\r\n {\r\n desc: '开箱即用的中台前端/设计解决方案',\r\n url: 'https://pro.ant.design/',\r\n logo: 'https://cdn.docschina.org/home/logo/antdesign.svg',\r\n title: 'Ant Design Pro',\r\n repository: 'https://github.com/ant-design/ant-design-pro',\r\n team: '阿里巴巴'\r\n },\r\n {\r\n desc: '一个基于 Preact / React / React Native 的 UI 组件库',\r\n url: 'https://mobile.ant.design/',\r\n logo: 'https://cdn.docschina.org/home/logo/antdesign.svg',\r\n title: 'Ant Design Mobile',\r\n repository: 'https://github.com/ant-design/ant-design-mobile'\r\n },\r\n {\r\n desc: 'Ant Design 的 Vue 实现',\r\n url: 'https://antdv.com/',\r\n logo: 'https://cdn.docschina.org/home/logo/antdesign.svg',\r\n title: 'Ant Design Vue',\r\n repository: 'https://github.com/vueComponent/ant-design-vue'\r\n },\r\n {\r\n desc: '开箱即用的中台前端/设计解决方案',\r\n url: 'https://pro.antdv.com/',\r\n logo: 'https://pro.antdv.com/logo.png',\r\n title: 'Ant Design Pro Vue',\r\n repository: 'https://github.com/vueComponent/ant-design-vue-pro'\r\n },\r\n {\r\n desc: 'Ant Design 的 Angular 实现',\r\n url: 'https://ng.ant.design/',\r\n logo: 'https://cdn.docschina.org/home/logo/NG-ZORRO.svg',\r\n title: 'NG-ZORRO',\r\n repository: 'https://github.com/NG-ZORRO/ng-zorro-antd'\r\n },\r\n {\r\n desc: 'Ant Design Mobile 的 Angular 实现',\r\n url: 'http://ng.mobile.ant.design/',\r\n logo: 'https://cdn.docschina.org/home/logo/NG-ZORRO.svg',\r\n title: 'NG-ZORRO-MOBILE',\r\n repository: 'https://github.com/NG-ZORRO/ng-zorro-antd-mobile'\r\n },\r\n {\r\n desc: '基于 ng-zorro-antd 的中台前端解决方案',\r\n url: 'http://ng-alain.com/',\r\n logo: 'https://cdn.docschina.org/home/logo/ng-alain.svg',\r\n title: 'ng-alain',\r\n repository: 'https://github.com/cipchk/ng-alain/'\r\n },\r\n {\r\n contribute: 'https://github.com/ant-design/ant-ux',\r\n desc: '用于 OG, Sketch,Axure,Affinity,Adobe XD 等 UX 的 sitemap 模板',\r\n url: 'https://ux.ant.design/',\r\n logo: 'https://cdn.docschina.org/home/logo/antdesign.svg',\r\n title: 'Ant UX'\r\n },\r\n {\r\n contribute: 'https://github.com/react-component',\r\n desc: 'ant design 内部使用的 React 基础组件',\r\n url: 'http://react-component.github.io/badgeboard/',\r\n logo: 'https://cdn.docschina.org/home/logo/antdesign.svg',\r\n title: 'react-component'\r\n }]\r\n}]\r\n","import { render } from \"./App.vue?vue&type=template&id=02724ab4&scoped=true\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=02724ab4&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-02724ab4\"\n\nexport default script","import { createApp } from 'vue'\r\nimport App from './App.vue'\r\n\r\nconst app = createApp(App)\r\napp.mount('#app')\r\n","module.exports = __webpack_public_path__ + \"img/github.3f137925.svg\";","module.exports = __webpack_public_path__ + \"img/logo.f38dc2e8.svg\";","module.exports = __webpack_public_path__ + \"img/gitee.8160b75c.svg\";","module.exports = __webpack_public_path__ + \"img/blog.f57ba53d.svg\";","module.exports = __webpack_public_path__ + \"img/file.807fb7b5.svg\";"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/js/chunk-vendors.ea6bfa4a.js b/dist/js/chunk-vendors.ea6bfa4a.js new file mode 100644 index 0000000..867d50e --- /dev/null +++ b/dist/js/chunk-vendors.ea6bfa4a.js @@ -0,0 +1,20 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-vendors"],{"00ee":function(t,e,n){var r=n("b622"),i=r("toStringTag"),o={};o[i]="z",t.exports="[object z]"===String(o)},"0366":function(t,e,n){var r=n("1c0b");t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 0:return function(){return t.call(e)};case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},"057f":function(t,e,n){var r=n("fc6a"),i=n("241c").f,o={}.toString,s="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],a=function(t){try{return i(t)}catch(e){return s.slice()}};t.exports.f=function(t){return s&&"[object Window]"==o.call(t)?a(t):i(r(t))}},"06cf":function(t,e,n){var r=n("83ab"),i=n("d1e7"),o=n("5c6c"),s=n("fc6a"),a=n("c04e"),c=n("5135"),u=n("0cfb"),l=Object.getOwnPropertyDescriptor;e.f=r?l:function(t,e){if(t=s(t),e=a(e,!0),u)try{return l(t,e)}catch(n){}if(c(t,e))return o(!i.f.call(t,e),t[e])}},"0cfb":function(t,e,n){var r=n("83ab"),i=n("d039"),o=n("cc12");t.exports=!r&&!i((function(){return 7!=Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a}))},"159b":function(t,e,n){var r=n("da84"),i=n("fdbc"),o=n("17c2"),s=n("9112");for(var a in i){var c=r[a],u=c&&c.prototype;if(u&&u.forEach!==o)try{s(u,"forEach",o)}catch(l){u.forEach=o}}},"17c2":function(t,e,n){"use strict";var r=n("b727").forEach,i=n("a640"),o=i("forEach");t.exports=o?[].forEach:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}},"19aa":function(t,e){t.exports=function(t,e,n){if(!(t instanceof e))throw TypeError("Incorrect "+(n?n+" ":"")+"invocation");return t}},"1be4":function(t,e,n){var r=n("d066");t.exports=r("document","documentElement")},"1c0b":function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},"1c7e":function(t,e,n){var r=n("b622"),i=r("iterator"),o=!1;try{var s=0,a={next:function(){return{done:!!s++}},return:function(){o=!0}};a[i]=function(){return this},Array.from(a,(function(){throw 2}))}catch(c){}t.exports=function(t,e){if(!e&&!o)return!1;var n=!1;try{var r={};r[i]=function(){return{next:function(){return{done:n=!0}}}},t(r)}catch(c){}return n}},"1cdc":function(t,e,n){var r=n("342f");t.exports=/(?:iphone|ipod|ipad).*applewebkit/i.test(r)},"1d80":function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},"1dde":function(t,e,n){var r=n("d039"),i=n("b622"),o=n("2d00"),s=i("species");t.exports=function(t){return o>=51||!r((function(){var e=[],n=e.constructor={};return n[s]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}},2266:function(t,e,n){var r=n("825a"),i=n("e95a"),o=n("50c4"),s=n("0366"),a=n("35a1"),c=n("2a62"),u=function(t,e){this.stopped=t,this.result=e};t.exports=function(t,e,n){var l,f,p,d,h,v,m,g=n&&n.that,b=!(!n||!n.AS_ENTRIES),_=!(!n||!n.IS_ITERATOR),y=!(!n||!n.INTERRUPTED),O=s(e,g,1+b+y),w=function(t){return l&&c(l),new u(!0,t)},j=function(t){return b?(r(t),y?O(t[0],t[1],w):O(t[0],t[1])):y?O(t,w):O(t)};if(_)l=t;else{if(f=a(t),"function"!=typeof f)throw TypeError("Target is not iterable");if(i(f)){for(p=0,d=o(t.length);d>p;p++)if(h=j(t[p]),h&&h instanceof u)return h;return new u(!1)}l=f.call(t)}v=l.next;while(!(m=v.call(l)).done){try{h=j(m.value)}catch(x){throw c(l),x}if("object"==typeof h&&h&&h instanceof u)return h}return new u(!1)}},"23cb":function(t,e,n){var r=n("a691"),i=Math.max,o=Math.min;t.exports=function(t,e){var n=r(t);return n<0?i(n+e,0):o(n,e)}},"23e7":function(t,e,n){var r=n("da84"),i=n("06cf").f,o=n("9112"),s=n("6eeb"),a=n("ce4e"),c=n("e893"),u=n("94ca");t.exports=function(t,e){var n,l,f,p,d,h,v=t.target,m=t.global,g=t.stat;if(l=m?r:g?r[v]||a(v,{}):(r[v]||{}).prototype,l)for(f in e){if(d=e[f],t.noTargetGet?(h=i(l,f),p=h&&h.value):p=l[f],n=u(m?f:v+(g?".":"#")+f,t.forced),!n&&void 0!==p){if(typeof d===typeof p)continue;c(d,p)}(t.sham||p&&p.sham)&&o(d,"sham",!0),s(l,f,d,t)}}},"241c":function(t,e,n){var r=n("ca84"),i=n("7839"),o=i.concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},2626:function(t,e,n){"use strict";var r=n("d066"),i=n("9bf2"),o=n("b622"),s=n("83ab"),a=o("species");t.exports=function(t){var e=r(t),n=i.f;s&&e&&!e[a]&&n(e,a,{configurable:!0,get:function(){return this}})}},"2a62":function(t,e,n){var r=n("825a");t.exports=function(t){var e=t["return"];if(void 0!==e)return r(e.call(t)).value}},"2cf4":function(t,e,n){var r,i,o,s=n("da84"),a=n("d039"),c=n("0366"),u=n("1be4"),l=n("cc12"),f=n("1cdc"),p=n("605d"),d=s.location,h=s.setImmediate,v=s.clearImmediate,m=s.process,g=s.MessageChannel,b=s.Dispatch,_=0,y={},O="onreadystatechange",w=function(t){if(y.hasOwnProperty(t)){var e=y[t];delete y[t],e()}},j=function(t){return function(){w(t)}},x=function(t){w(t.data)},T=function(t){s.postMessage(t+"",d.protocol+"//"+d.host)};h&&v||(h=function(t){var e=[],n=1;while(arguments.length>n)e.push(arguments[n++]);return y[++_]=function(){("function"==typeof t?t:Function(t)).apply(void 0,e)},r(_),_},v=function(t){delete y[t]},p?r=function(t){m.nextTick(j(t))}:b&&b.now?r=function(t){b.now(j(t))}:g&&!f?(i=new g,o=i.port2,i.port1.onmessage=x,r=c(o.postMessage,o,1)):s.addEventListener&&"function"==typeof postMessage&&!s.importScripts&&d&&"file:"!==d.protocol&&!a(T)?(r=T,s.addEventListener("message",x,!1)):r=O in l("script")?function(t){u.appendChild(l("script"))[O]=function(){u.removeChild(this),w(t)}}:function(t){setTimeout(j(t),0)}),t.exports={set:h,clear:v}},"2d00":function(t,e,n){var r,i,o=n("da84"),s=n("342f"),a=o.process,c=a&&a.versions,u=c&&c.v8;u?(r=u.split("."),i=r[0]<4?1:r[0]+r[1]):s&&(r=s.match(/Edge\/(\d+)/),(!r||r[1]>=74)&&(r=s.match(/Chrome\/(\d+)/),r&&(i=r[1]))),t.exports=i&&+i},"342f":function(t,e,n){var r=n("d066");t.exports=r("navigator","userAgent")||""},"35a1":function(t,e,n){var r=n("f5df"),i=n("3f8c"),o=n("b622"),s=o("iterator");t.exports=function(t){if(void 0!=t)return t[s]||t["@@iterator"]||i[r(t)]}},"37e8":function(t,e,n){var r=n("83ab"),i=n("9bf2"),o=n("825a"),s=n("df75");t.exports=r?Object.defineProperties:function(t,e){o(t);var n,r=s(e),a=r.length,c=0;while(a>c)i.f(t,n=r[c++],e[n]);return t}},"3bbe":function(t,e,n){var r=n("861d");t.exports=function(t){if(!r(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},"3ca3":function(t,e,n){"use strict";var r=n("6547").charAt,i=n("69f3"),o=n("7dd0"),s="String Iterator",a=i.set,c=i.getterFor(s);o(String,"String",(function(t){a(this,{type:s,string:String(t),index:0})}),(function(){var t,e=c(this),n=e.string,i=e.index;return i>=n.length?{value:void 0,done:!0}:(t=r(n,i),e.index+=t.length,{value:t,done:!1})}))},"3f8c":function(t,e){t.exports={}},"428f":function(t,e,n){var r=n("da84");t.exports=r},"44ad":function(t,e,n){var r=n("d039"),i=n("c6b6"),o="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==i(t)?o.call(t,""):Object(t)}:Object},"44d2":function(t,e,n){var r=n("b622"),i=n("7c73"),o=n("9bf2"),s=r("unscopables"),a=Array.prototype;void 0==a[s]&&o.f(a,s,{configurable:!0,value:i(null)}),t.exports=function(t){a[s][t]=!0}},"44de":function(t,e,n){var r=n("da84");t.exports=function(t,e){var n=r.console;n&&n.error&&(1===arguments.length?n.error(t):n.error(t,e))}},4840:function(t,e,n){var r=n("825a"),i=n("1c0b"),o=n("b622"),s=o("species");t.exports=function(t,e){var n,o=r(t).constructor;return void 0===o||void 0==(n=r(o)[s])?e:i(n)}},4930:function(t,e,n){var r=n("2d00"),i=n("d039");t.exports=!!Object.getOwnPropertySymbols&&!i((function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&r&&r<41}))},"4d64":function(t,e,n){var r=n("fc6a"),i=n("50c4"),o=n("23cb"),s=function(t){return function(e,n,s){var a,c=r(e),u=i(c.length),l=o(s,u);if(t&&n!=n){while(u>l)if(a=c[l++],a!=a)return!0}else for(;u>l;l++)if((t||l in c)&&c[l]===n)return t||l||0;return!t&&-1}};t.exports={includes:s(!0),indexOf:s(!1)}},"4de4":function(t,e,n){"use strict";var r=n("23e7"),i=n("b727").filter,o=n("1dde"),s=o("filter");r({target:"Array",proto:!0,forced:!s},{filter:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}})},"4df4":function(t,e,n){"use strict";var r=n("0366"),i=n("7b0b"),o=n("9bdd"),s=n("e95a"),a=n("50c4"),c=n("8418"),u=n("35a1");t.exports=function(t){var e,n,l,f,p,d,h=i(t),v="function"==typeof this?this:Array,m=arguments.length,g=m>1?arguments[1]:void 0,b=void 0!==g,_=u(h),y=0;if(b&&(g=r(g,m>2?arguments[2]:void 0,2)),void 0==_||v==Array&&s(_))for(e=a(h.length),n=new v(e);e>y;y++)d=b?g(h[y],y):h[y],c(n,y,d);else for(f=_.call(h),p=f.next,n=new v;!(l=p.call(f)).done;y++)d=b?o(f,g,[l.value,y],!0):l.value,c(n,y,d);return n.length=y,n}},"50c4":function(t,e,n){var r=n("a691"),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},5135:function(t,e,n){var r=n("7b0b"),i={}.hasOwnProperty;t.exports=Object.hasOwn||function(t,e){return i.call(r(t),e)}},5530:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));n("b64b"),n("a4d3"),n("4de4"),n("e439"),n("159b"),n("dbb4");function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function i(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function o(t){for(var e=1;e`at <${Bn(n,t.type)}>`).join("\n"),s]);else{const n=["[Vue warn]: "+t,...e];s.length&&n.push("\n",...c(s)),console.warn(...n)}Object(r["l"])()}function a(){let t=o[o.length-1];if(!t)return[];const e=[];while(t){const n=e[0];n&&n.vnode===t?n.recurseCount++:e.push({vnode:t,recurseCount:0});const r=t.component&&t.component.parent;t=r&&r.vnode}return e}function c(t){const e=[];return t.forEach((t,n)=>{e.push(...0===n?[]:["\n"],...u(t))}),e}function u({vnode:t,recurseCount:e}){const n=e>0?`... (${e} recursive calls)`:"",r=!!t.component&&null==t.component.parent,i=" at <"+Bn(t.component,t.type,r),o=">"+n;return t.props?[i,...l(t.props),o]:[i+o]}function l(t){const e=[],n=Object.keys(t);return n.slice(0,3).forEach(n=>{e.push(...f(n,t[n]))}),n.length>3&&e.push(" ..."),e}function f(t,e,n){return Object(i["B"])(e)?(e=JSON.stringify(e),n?e:[`${t}=${e}`]):"number"===typeof e||"boolean"===typeof e||null==e?n?e:[`${t}=${e}`]:Object(r["f"])(e)?(e=f(t,Object(r["o"])(e.value),!0),n?e:[t+"=Ref<",e,">"]):Object(i["n"])(e)?[`${t}=fn${e.name?`<${e.name}>`:""}`]:(e=Object(r["o"])(e),n?e:[t+"=",e])}function p(t,e,n,r){let i;try{i=r?t(...r):t()}catch(o){h(o,e,n)}return i}function d(t,e,n,r){if(Object(i["n"])(t)){const o=p(t,e,n,r);return o&&Object(i["w"])(o)&&o.catch(t=>{h(t,e,n)}),o}const o=[];for(let i=0;i>>1,i=N(b[t]);i-1?b.splice(e,0,t):b.push(t),P()}}function P(){m||g||(g=!0,C=S.then(z))}function F(t){const e=b.indexOf(t);e>_&&b.splice(e,1)}function R(t,e,n,r){Object(i["m"])(t)?n.push(...t):e&&e.includes(t,t.allowRecurse?r+1:r)||n.push(t),P()}function L(t){R(t,O,y,w)}function D(t){R(t,x,j,T)}function I(t,e=null){if(y.length){for(k=e,O=[...new Set(y)],y.length=0,w=0;wN(t)-N(e)),T=0;Tnull==t.id?1/0:t.id;function z(t){g=!1,m=!0,I(t),b.sort((t,e)=>N(t)-N(e));try{for(_=0;_t.trim()):e&&(o=n.map(i["L"]))}let c;let u=r[c=Object(i["K"])(e)]||r[c=Object(i["K"])(Object(i["e"])(e))];!u&&s&&(u=r[c=Object(i["K"])(Object(i["k"])(e))]),u&&d(u,t,6,o);const l=r[c+"Once"];if(l){if(t.emitted){if(t.emitted[c])return}else t.emitted={};t.emitted[c]=!0,d(l,t,6,o)}}function V(t,e,n=!1){const r=e.emitsCache,o=r.get(t);if(void 0!==o)return o;const s=t.emits;let a={},c=!1;if(!Object(i["n"])(t)){const r=t=>{const n=V(t,e,!0);n&&(c=!0,Object(i["h"])(a,n))};!n&&e.mixins.length&&e.mixins.forEach(r),t.extends&&r(t.extends),t.mixins&&t.mixins.forEach(r)}return s||c?(Object(i["m"])(s)?s.forEach(t=>a[t]=null):Object(i["h"])(a,s),r.set(t,a),a):(r.set(t,null),null)}function $(t,e){return!(!t||!Object(i["u"])(e))&&(e=e.slice(2).replace(/Once$/,""),Object(i["j"])(t,e[0].toLowerCase()+e.slice(1))||Object(i["j"])(t,Object(i["k"])(e))||Object(i["j"])(t,e))}let q=null,W=null;function G(t){const e=q;return q=t,W=t&&t.type.__scopeId||null,e}function H(t){W=t}function Y(){W=null}const X=t=>K;function K(t,e=q,n){if(!e)return t;if(t._n)return t;const r=(...n)=>{r._d&&Je(-1);const i=G(e),o=t(...n);return G(i),r._d&&Je(1),o};return r._n=!0,r._c=!0,r._d=!0,r}function J(t){const{type:e,vnode:n,proxy:r,withProxy:o,props:s,propsOptions:[a],slots:c,attrs:u,emit:l,render:f,renderCache:p,data:d,setupState:v,ctx:m,inheritAttrs:g}=t;let b;const _=G(t);try{let t;if(4&n.shapeFlag){const e=o||r;b=ln(f.call(e,e,p,s,v,d,m)),t=u}else{const n=e;0,b=ln(n.length>1?n(s,{attrs:u,slots:c,emit:l}):n(s,null)),t=e.props?u:Q(u)}let h=b;if(t&&!1!==g){const e=Object.keys(t),{shapeFlag:n}=h;e.length&&(1&n||6&n)&&(a&&e.some(i["s"])&&(t=Z(t,a)),h=an(h,t))}0,n.dirs&&(h.dirs=h.dirs?h.dirs.concat(n.dirs):n.dirs),n.transition&&(h.transition=n.transition),b=h}catch(y){Ge.length=0,h(y,t,1),b=on(qe)}return G(_),b}const Q=t=>{let e;for(const n in t)("class"===n||"style"===n||Object(i["u"])(n))&&((e||(e={}))[n]=t[n]);return e},Z=(t,e)=>{const n={};for(const r in t)Object(i["s"])(r)&&r.slice(9)in e||(n[r]=t[r]);return n};function tt(t,e,n){const{props:r,children:i,component:o}=t,{props:s,children:a,patchFlag:c}=e,u=o.emitsOptions;if(e.dirs||e.transition)return!0;if(!(n&&c>=0))return!(!i&&!a||a&&a.$stable)||r!==s&&(r?!s||et(r,s,u):!!s);if(1024&c)return!0;if(16&c)return r?et(r,s,u):!!s;if(8&c){const t=e.dynamicProps;for(let e=0;et.__isSuspense;function it(t,e){e&&e.pendingBranch?Object(i["m"])(t)?e.effects.push(...t):e.effects.push(t):D(t)}function ot(t,e){if(wn){let n=wn.provides;const r=wn.parent&&wn.parent.provides;r===n&&(n=wn.provides=Object.create(r)),n[t]=e}else 0}function st(t,e,n=!1){const r=wn||q;if(r){const o=null==r.parent?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides;if(o&&t in o)return o[t];if(arguments.length>1)return n&&Object(i["n"])(e)?e.call(r.proxy):e}else 0}function at(t,e){return lt(t,null,e)}const ct={};function ut(t,e,n){return lt(t,e,n)}function lt(t,e,{immediate:n,deep:o,flush:s,onTrack:a,onTrigger:c}=i["b"],u=wn){let l,f,h=!1,v=!1;if(Object(r["f"])(t)?(l=()=>t.value,h=!!t._shallow):Object(r["d"])(t)?(l=()=>t,o=!0):Object(i["m"])(t)?(v=!0,h=t.some(r["d"]),l=()=>t.map(t=>Object(r["f"])(t)?t.value:Object(r["d"])(t)?dt(t):Object(i["n"])(t)?p(t,u,2):void 0)):l=Object(i["n"])(t)?e?()=>p(t,u,2):()=>{if(!u||!u.isUnmounted)return f&&f(),d(t,u,3,[m])}:i["d"],e&&o){const t=l;l=()=>dt(t())}let m=t=>{f=y.options.onStop=()=>{p(t,u,4)}},g=v?[]:ct;const b=()=>{if(y.active)if(e){const t=y();(o||h||(v?t.some((t,e)=>Object(i["i"])(t,g[e])):Object(i["i"])(t,g)))&&(f&&f(),d(e,u,3,[t,g===ct?void 0:g,m]),g=t)}else y()};let _;b.allowRecurse=!!e,_="sync"===s?b:"post"===s?()=>Pe(b,u&&u.suspense):()=>{!u||u.isMounted?L(b):b()};const y=Object(r["b"])(l,{lazy:!0,onTrack:a,onTrigger:c,scheduler:_});return Rn(y,u),e?n?b():g=y():"post"===s?Pe(y,u&&u.suspense):y(),()=>{Object(r["n"])(y),u&&Object(i["I"])(u.effects,y)}}function ft(t,e,n){const r=this.proxy,o=Object(i["B"])(t)?t.includes(".")?pt(r,t):()=>r[t]:t.bind(r,r);let s;return Object(i["n"])(e)?s=e:(s=e.handler,n=e),lt(o,s.bind(r),n,this)}function pt(t,e){const n=e.split(".");return()=>{let e=t;for(let t=0;t{dt(t,e)});else if(Object(i["v"])(t))for(const n in t)dt(t[n],e);return t}function ht(){const t={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Dt(()=>{t.isMounted=!0}),Nt(()=>{t.isUnmounting=!0}),t}const vt=[Function,Array],mt={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:vt,onEnter:vt,onAfterEnter:vt,onEnterCancelled:vt,onBeforeLeave:vt,onLeave:vt,onAfterLeave:vt,onLeaveCancelled:vt,onBeforeAppear:vt,onAppear:vt,onAfterAppear:vt,onAppearCancelled:vt},setup(t,{slots:e}){const n=jn(),i=ht();let o;return()=>{const s=e.default&&jt(e.default(),!0);if(!s||!s.length)return;const a=Object(r["o"])(t),{mode:c}=a;const u=s[0];if(i.isLeaving)return yt(u);const l=Ot(u);if(!l)return yt(u);const f=_t(l,a,i,n);wt(l,f);const p=n.subTree,d=p&&Ot(p);let h=!1;const{getTransitionKey:v}=l.type;if(v){const t=v();void 0===o?o=t:t!==o&&(o=t,h=!0)}if(d&&d.type!==qe&&(!tn(l,d)||h)){const t=_t(d,a,i,n);if(wt(d,t),"out-in"===c)return i.isLeaving=!0,t.afterLeave=()=>{i.isLeaving=!1,n.update()},yt(u);"in-out"===c&&l.type!==qe&&(t.delayLeave=(t,e,n)=>{const r=bt(i,d);r[String(d.key)]=d,t._leaveCb=()=>{e(),t._leaveCb=void 0,delete f.delayedLeave},f.delayedLeave=n})}return u}}},gt=mt;function bt(t,e){const{leavingVNodes:n}=t;let r=n.get(e.type);return r||(r=Object.create(null),n.set(e.type,r)),r}function _t(t,e,n,r){const{appear:i,mode:o,persisted:s=!1,onBeforeEnter:a,onEnter:c,onAfterEnter:u,onEnterCancelled:l,onBeforeLeave:f,onLeave:p,onAfterLeave:h,onLeaveCancelled:v,onBeforeAppear:m,onAppear:g,onAfterAppear:b,onAppearCancelled:_}=e,y=String(t.key),O=bt(n,t),w=(t,e)=>{t&&d(t,r,9,e)},j={mode:o,persisted:s,beforeEnter(e){let r=a;if(!n.isMounted){if(!i)return;r=m||a}e._leaveCb&&e._leaveCb(!0);const o=O[y];o&&tn(t,o)&&o.el._leaveCb&&o.el._leaveCb(),w(r,[e])},enter(t){let e=c,r=u,o=l;if(!n.isMounted){if(!i)return;e=g||c,r=b||u,o=_||l}let s=!1;const a=t._enterCb=e=>{s||(s=!0,w(e?o:r,[t]),j.delayedLeave&&j.delayedLeave(),t._enterCb=void 0)};e?(e(t,a),e.length<=1&&a()):a()},leave(e,r){const i=String(t.key);if(e._enterCb&&e._enterCb(!0),n.isUnmounting)return r();w(f,[e]);let o=!1;const s=e._leaveCb=n=>{o||(o=!0,r(),w(n?v:h,[e]),e._leaveCb=void 0,O[i]===t&&delete O[i])};O[i]=t,p?(p(e,s),p.length<=1&&s()):s()},clone(t){return _t(t,e,n,r)}};return j}function yt(t){if(Tt(t))return t=an(t),t.children=null,t}function Ot(t){return Tt(t)?t.children?t.children[0]:void 0:t}function wt(t,e){6&t.shapeFlag&&t.component?wt(t.component.subTree,e):128&t.shapeFlag?(t.ssContent.transition=e.clone(t.ssContent),t.ssFallback.transition=e.clone(t.ssFallback)):t.transition=e}function jt(t,e=!1){let n=[],r=0;for(let i=0;i1)for(let i=0;i!!t.type.__asyncLoader;const Tt=t=>t.type.__isKeepAlive;RegExp,RegExp;function St(t,e){return Object(i["m"])(t)?t.some(t=>St(t,e)):Object(i["B"])(t)?t.split(",").indexOf(e)>-1:!!t.test&&t.test(e)}function Ct(t,e){At(t,"a",e)}function kt(t,e){At(t,"da",e)}function At(t,e,n=wn){const r=t.__wdc||(t.__wdc=()=>{let e=n;while(e){if(e.isDeactivated)return;e=e.parent}t()});if(Ft(e,r,n),n){let t=n.parent;while(t&&t.parent)Tt(t.parent.vnode)&&Et(r,e,n,t),t=t.parent}}function Et(t,e,n,r){const o=Ft(e,t,r,!0);zt(()=>{Object(i["I"])(r[e],o)},n)}function Mt(t){let e=t.shapeFlag;256&e&&(e-=256),512&e&&(e-=512),t.shapeFlag=e}function Pt(t){return 128&t.shapeFlag?t.ssContent:t}function Ft(t,e,n=wn,i=!1){if(n){const o=n[t]||(n[t]=[]),s=e.__weh||(e.__weh=(...i)=>{if(n.isUnmounted)return;Object(r["h"])(),xn(n);const o=d(e,n,t,i);return xn(null),Object(r["l"])(),o});return i?o.unshift(s):o.push(s),s}}const Rt=t=>(e,n=wn)=>(!Cn||"sp"===t)&&Ft(t,e,n),Lt=Rt("bm"),Dt=Rt("m"),It=Rt("bu"),Bt=Rt("u"),Nt=Rt("bum"),zt=Rt("um"),Ut=Rt("sp"),Vt=Rt("rtg"),$t=Rt("rtc");function qt(t,e=wn){Ft("ec",t,e)}let Wt=!0;function Gt(t){const e=Kt(t),n=t.proxy,o=t.ctx;Wt=!1,e.beforeCreate&&Yt(e.beforeCreate,t,"bc");const{data:s,computed:a,methods:c,watch:u,provide:l,inject:f,created:p,beforeMount:d,mounted:h,beforeUpdate:v,updated:m,activated:g,deactivated:b,beforeDestroy:_,beforeUnmount:y,destroyed:O,unmounted:w,render:j,renderTracked:x,renderTriggered:T,errorCaptured:S,serverPrefetch:C,expose:k,inheritAttrs:A,components:E,directives:M,filters:P}=e,F=null;if(f&&Ht(f,o,F),c)for(const r in c){const t=c[r];Object(i["n"])(t)&&(o[r]=t.bind(n))}if(s){0;const e=s.call(n,n);0,Object(i["t"])(e)&&(t.data=Object(r["j"])(e))}if(Wt=!0,a)for(const r in a){const t=a[r],e=Object(i["n"])(t)?t.bind(n,n):Object(i["n"])(t.get)?t.get.bind(n,n):i["d"];0;const s=!Object(i["n"])(t)&&Object(i["n"])(t.set)?t.set.bind(n):i["d"],c=zn({get:e,set:s});Object.defineProperty(o,r,{enumerable:!0,configurable:!0,get:()=>c.value,set:t=>c.value=t})}if(u)for(const r in u)Xt(u[r],o,n,r);if(l){const t=Object(i["n"])(l)?l.call(n):l;Reflect.ownKeys(t).forEach(e=>{ot(e,t[e])})}function R(t,e){Object(i["m"])(e)?e.forEach(e=>t(e.bind(n))):e&&t(e.bind(n))}if(p&&Yt(p,t,"c"),R(Lt,d),R(Dt,h),R(It,v),R(Bt,m),R(Ct,g),R(kt,b),R(qt,S),R($t,x),R(Vt,T),R(Nt,y),R(zt,w),R(Ut,C),Object(i["m"])(k))if(k.length){const e=t.exposed||(t.exposed=Object(r["i"])({}));k.forEach(t=>{e[t]=Object(r["p"])(n,t)})}else t.exposed||(t.exposed=i["b"]);j&&t.render===i["d"]&&(t.render=j),null!=A&&(t.inheritAttrs=A),E&&(t.components=E),M&&(t.directives=M)}function Ht(t,e,n=i["d"]){Object(i["m"])(t)&&(t=ee(t));for(const r in t){const n=t[r];Object(i["t"])(n)?e[r]="default"in n?st(n.from||r,n.default,!0):st(n.from||r):e[r]=st(n)}}function Yt(t,e,n){d(Object(i["m"])(t)?t.map(t=>t.bind(e.proxy)):t.bind(e.proxy),e,n)}function Xt(t,e,n,r){const o=r.includes(".")?pt(n,r):()=>n[r];if(Object(i["B"])(t)){const n=e[t];Object(i["n"])(n)&&ut(o,n)}else if(Object(i["n"])(t))ut(o,t.bind(n));else if(Object(i["t"])(t))if(Object(i["m"])(t))t.forEach(t=>Xt(t,e,n,r));else{const r=Object(i["n"])(t.handler)?t.handler.bind(n):e[t.handler];Object(i["n"])(r)&&ut(o,r,t)}else 0}function Kt(t){const e=t.type,{mixins:n,extends:r}=e,{mixins:i,optionsCache:o,config:{optionMergeStrategies:s}}=t.appContext,a=o.get(e);let c;return a?c=a:i.length||n||r?(c={},i.length&&i.forEach(t=>Jt(c,t,s,!0)),Jt(c,e,s)):c=e,o.set(e,c),c}function Jt(t,e,n,r=!1){const{mixins:i,extends:o}=e;o&&Jt(t,o,n,!0),i&&i.forEach(e=>Jt(t,e,n,!0));for(const s in e)if(r&&"expose"===s);else{const r=Qt[s]||n&&n[s];t[s]=r?r(t[s],e[s]):e[s]}return t}const Qt={data:Zt,props:re,emits:re,methods:re,computed:re,beforeCreate:ne,created:ne,beforeMount:ne,mounted:ne,beforeUpdate:ne,updated:ne,beforeDestroy:ne,destroyed:ne,activated:ne,deactivated:ne,errorCaptured:ne,serverPrefetch:ne,components:re,directives:re,watch:ie,provide:Zt,inject:te};function Zt(t,e){return e?t?function(){return Object(i["h"])(Object(i["n"])(t)?t.call(this,this):t,Object(i["n"])(e)?e.call(this,this):e)}:e:t}function te(t,e){return re(ee(t),ee(e))}function ee(t){if(Object(i["m"])(t)){const e={};for(let n=0;n0)||16&c){let r;ae(t,e,s,a)&&(f=!0);for(const o in u)e&&(Object(i["j"])(e,o)||(r=Object(i["k"])(o))!==o&&Object(i["j"])(e,r))||(l?!n||void 0===n[o]&&void 0===n[r]||(s[o]=ce(l,u,o,void 0,t,!0)):delete s[o]);if(a!==u)for(const t in a)e&&Object(i["j"])(e,t)||(delete a[t],f=!0)}else if(8&c){const n=t.vnode.dynamicProps;for(let r=0;r{u=!0;const[n,r]=ue(t,e,!0);Object(i["h"])(a,n),r&&c.push(...r)};!n&&e.mixins.length&&e.mixins.forEach(r),t.extends&&r(t.extends),t.mixins&&t.mixins.forEach(r)}if(!s&&!u)return r.set(t,i["a"]),i["a"];if(Object(i["m"])(s))for(let f=0;f-1,r[1]=n<0||t-1||Object(i["j"])(r,"default"))&&c.push(e)}}}}const l=[a,c];return r.set(t,l),l}function le(t){return"$"!==t[0]}function fe(t){const e=t&&t.toString().match(/^\s*function (\w+)/);return e?e[1]:""}function pe(t,e){return fe(t)===fe(e)}function de(t,e){return Object(i["m"])(e)?e.findIndex(e=>pe(e,t)):Object(i["n"])(e)&&pe(e,t)?0:-1}const he=t=>"_"===t[0]||"$stable"===t,ve=t=>Object(i["m"])(t)?t.map(ln):[ln(t)],me=(t,e,n)=>{const r=K(t=>ve(e(t)),n);return r._c=!1,r},ge=(t,e,n)=>{const r=t._ctx;for(const o in t){if(he(o))continue;const n=t[o];if(Object(i["n"])(n))e[o]=me(o,n,r);else if(null!=n){0;const t=ve(n);e[o]=()=>t}}},be=(t,e)=>{const n=ve(e);t.slots.default=()=>n},_e=(t,e)=>{if(32&t.vnode.shapeFlag){const n=e._;n?(t.slots=Object(r["o"])(e),Object(i["g"])(e,"_",n)):ge(e,t.slots={})}else t.slots={},e&&be(t,e);Object(i["g"])(t.slots,en,1)},ye=(t,e,n)=>{const{vnode:r,slots:o}=t;let s=!0,a=i["b"];if(32&r.shapeFlag){const t=e._;t?n&&1===t?s=!1:(Object(i["h"])(o,e),n||1!==t||delete o._):(s=!e.$stable,ge(e,o)),a=e}else e&&(be(t,e),a={default:1});if(s)for(const i in o)he(i)||i in a||delete o[i]};function Oe(t,e){const n=q;if(null===n)return t;const r=n.proxy,o=t.dirs||(t.dirs=[]);for(let s=0;s/svg/.test(t.namespaceURI)&&"foreignObject"!==t.tagName,ke=t=>8===t.nodeType;function Ae(t){const{mt:e,p:n,o:{patchProp:r,nextSibling:o,parentNode:s,remove:a,insert:c,createComment:u}}=t,l=(t,e)=>{Se=!1,f(e.firstChild,t,null,null,null),B(),Se&&console.error("Hydration completed but contains mismatches.")},f=(n,r,i,a,c,u=!1)=>{const l=ke(n)&&"["===n.data,g=()=>v(n,r,i,a,c,l),{type:b,ref:_,shapeFlag:y}=r,O=n.nodeType;r.el=n;let w=null;switch(b){case $e:3!==O?w=g():(n.data!==r.children&&(Se=!0,n.data=r.children),w=o(n));break;case qe:w=8!==O||l?g():o(n);break;case We:if(1===O){w=n;const t=!r.children.length;for(let e=0;e{c=c||!!e.dynamicChildren;const{props:u,patchFlag:l,shapeFlag:f,dirs:p}=e;if(-1!==l){if(p&&we(e,null,n,"created"),u)if(!c||16&l||32&l)for(const e in u)!Object(i["x"])(e)&&Object(i["u"])(e)&&r(t,e,null,u[e]);else u.onClick&&r(t,"onClick",null,u.onClick);let h;if((h=u&&u.onVnodeBeforeMount)&&Ie(h,n,e),p&&we(e,null,n,"beforeMount"),((h=u&&u.onVnodeMounted)||p)&&it(()=>{h&&Ie(h,n,e),p&&we(e,null,n,"mounted")},o),16&f&&(!u||!u.innerHTML&&!u.textContent)){let r=d(t.firstChild,e,t,n,o,s,c);while(r){Se=!0;const t=r;r=r.nextSibling,a(t)}}else 8&f&&t.textContent!==e.children&&(Se=!0,t.textContent=e.children)}return t.nextSibling},d=(t,e,r,i,o,s,a)=>{a=a||!!e.dynamicChildren;const c=e.children,u=c.length;for(let l=0;l{const{slotScopeIds:l}=e;l&&(i=i?i.concat(l):l);const f=s(t),p=d(o(t),e,f,n,r,i,a);return p&&ke(p)&&"]"===p.data?o(e.anchor=p):(Se=!0,c(e.anchor=u("]"),f,p),p)},v=(t,e,r,i,c,u)=>{if(Se=!0,e.el=null,u){const e=m(t);while(1){const n=o(t);if(!n||n===e)break;a(n)}}const l=o(t),f=s(t);return a(t),n(null,e,f,l,r,i,Ce(f),c),l},m=t=>{let e=0;while(t)if(t=o(t),t&&ke(t)&&("["===t.data&&e++,"]"===t.data)){if(0===e)return o(t);e--}return t};return[l,f]}function Ee(){}const Me={scheduler:M,allowRecurse:!0};const Pe=it,Fe=(t,e,n,o,s=!1)=>{if(Object(i["m"])(t))return void t.forEach((t,r)=>Fe(t,e&&(Object(i["m"])(e)?e[r]:e),n,o,s));if(xt(o)&&!s)return;const a=4&o.shapeFlag?o.component.exposed||o.component.proxy:o.el,c=s?null:a,{i:u,r:l}=t;const f=e&&e.r,d=u.refs===i["b"]?u.refs={}:u.refs,h=u.setupState;if(null!=f&&f!==l&&(Object(i["B"])(f)?(d[f]=null,Object(i["j"])(h,f)&&(h[f]=null)):Object(r["f"])(f)&&(f.value=null)),Object(i["B"])(l)){const t=()=>{d[l]=c,Object(i["j"])(h,l)&&(h[l]=c)};c?(t.id=-1,Pe(t,n)):t()}else if(Object(r["f"])(l)){const t=()=>{l.value=c};c?(t.id=-1,Pe(t,n)):t()}else Object(i["n"])(l)&&p(l,u,12,[c,d])};function Re(t){return De(t)}function Le(t){return De(t,Ae)}function De(t,e){Ee();const{insert:n,remove:o,patchProp:s,forcePatchProp:a,createElement:c,createText:u,createComment:l,setText:f,setElementText:p,parentNode:d,nextSibling:h,setScopeId:v=i["d"],cloneNode:m,insertStaticContent:g}=t,b=(t,e,n,r=null,i=null,o=null,s=!1,a=null,c=!1)=>{t&&!tn(t,e)&&(r=X(t),q(t,i,o,!0),t=null),-2===e.patchFlag&&(c=!1,e.dynamicChildren=null);const{type:u,ref:l,shapeFlag:f}=e;switch(u){case $e:_(t,e,n,r);break;case qe:y(t,e,n,r);break;case We:null==t&&O(e,n,r,s);break;case Ve:M(t,e,n,r,i,o,s,a,c);break;default:1&f?x(t,e,n,r,i,o,s,a,c):6&f?P(t,e,n,r,i,o,s,a,c):(64&f||128&f)&&u.process(t,e,n,r,i,o,s,a,c,Q)}null!=l&&i&&Fe(l,t&&t.ref,o,e||t,!e)},_=(t,e,r,i)=>{if(null==t)n(e.el=u(e.children),r,i);else{const n=e.el=t.el;e.children!==t.children&&f(n,e.children)}},y=(t,e,r,i)=>{null==t?n(e.el=l(e.children||""),r,i):e.el=t.el},O=(t,e,n,r)=>{[t.el,t.anchor]=g(t.children,e,n,r,t.el&&[t.el,t.anchor])},w=({el:t,anchor:e},r,i)=>{let o;while(t&&t!==e)o=h(t),n(t,r,i),t=o;n(e,r,i)},j=({el:t,anchor:e})=>{let n;while(t&&t!==e)n=h(t),o(t),t=n;o(e)},x=(t,e,n,r,i,o,s,a,c)=>{s=s||"svg"===e.type,null==t?T(e,n,r,i,o,s,a,c):k(t,e,i,o,s,a,c)},T=(t,e,r,o,a,u,l,f)=>{let d,h;const{type:v,props:g,shapeFlag:b,transition:_,patchFlag:y,dirs:O}=t;if(t.el&&void 0!==m&&-1===y)d=t.el=m(t.el);else{if(d=t.el=c(t.type,u,g&&g.is,g),8&b?p(d,t.children):16&b&&C(t.children,d,null,o,a,u&&"foreignObject"!==v,l,f||!!t.dynamicChildren),O&&we(t,null,o,"created"),g){for(const e in g)Object(i["x"])(e)||s(d,e,null,g[e],u,t.children,o,a,Y);(h=g.onVnodeBeforeMount)&&Ie(h,o,t)}S(d,t,t.scopeId,l,o)}O&&we(t,null,o,"beforeMount");const w=(!a||a&&!a.pendingBranch)&&_&&!_.persisted;w&&_.beforeEnter(d),n(d,e,r),((h=g&&g.onVnodeMounted)||w||O)&&Pe(()=>{h&&Ie(h,o,t),w&&_.enter(d),O&&we(t,null,o,"mounted")},a)},S=(t,e,n,r,i)=>{if(n&&v(t,n),r)for(let o=0;o{for(let u=c;u{const l=e.el=t.el;let{patchFlag:f,dynamicChildren:d,dirs:h}=e;f|=16&t.patchFlag;const v=t.props||i["b"],m=e.props||i["b"];let g;if((g=m.onVnodeBeforeUpdate)&&Ie(g,n,e,t),h&&we(e,t,n,"beforeUpdate"),f>0){if(16&f)E(l,e,v,m,n,r,o);else if(2&f&&v.class!==m.class&&s(l,"class",null,m.class,o),4&f&&s(l,"style",v.style,m.style,o),8&f){const i=e.dynamicProps;for(let e=0;e{g&&Ie(g,n,e,t),h&&we(e,t,n,"updated")},r)},A=(t,e,n,r,i,o,s)=>{for(let a=0;a{if(n!==r){for(const l in r){if(Object(i["x"])(l))continue;const f=r[l],p=n[l];(f!==p||a&&a(t,l))&&s(t,l,p,f,u,e.children,o,c,Y)}if(n!==i["b"])for(const a in n)Object(i["x"])(a)||a in r||s(t,a,n[a],null,u,e.children,o,c,Y)}},M=(t,e,r,i,o,s,a,c,l)=>{const f=e.el=t?t.el:u(""),p=e.anchor=t?t.anchor:u("");let{patchFlag:d,dynamicChildren:h,slotScopeIds:v}=e;h&&(l=!0),v&&(c=c?c.concat(v):v),null==t?(n(f,r,i),n(p,r,i),C(e.children,r,p,o,s,a,c,l)):d>0&&64&d&&h&&t.dynamicChildren?(A(t.dynamicChildren,h,r,o,s,a,c),(null!=e.key||o&&e===o.subTree)&&Be(t,e,!0)):z(t,e,r,p,o,s,a,c,l)},P=(t,e,n,r,i,o,s,a,c)=>{e.slotScopeIds=a,null==t?512&e.shapeFlag?i.ctx.activate(e,n,r,s,c):R(e,n,r,i,o,s,c):L(t,e,c)},R=(t,e,n,r,i,o,s)=>{const a=t.component=On(t,r,i);if(Tt(t)&&(a.ctx.renderer=Q),kn(a),a.asyncDep){if(i&&i.registerDep(a,D),!t.el){const t=a.subTree=on(qe);y(null,t,e,n)}}else D(a,t,e,n,i,o,s)},L=(t,e,n)=>{const r=e.component=t.component;if(tt(t,e,n)){if(r.asyncDep&&!r.asyncResolved)return void N(r,e,n);r.next=e,F(r.update),r.update()}else e.component=t.component,e.el=t.el,r.vnode=e},D=(t,e,n,o,s,a,c)=>{t.update=Object(r["b"])((function(){if(t.isMounted){let e,{next:n,bu:r,u:o,parent:u,vnode:l}=t,f=n;0,n?(n.el=l.el,N(t,n,c)):n=l,r&&Object(i["l"])(r),(e=n.props&&n.props.onVnodeBeforeUpdate)&&Ie(e,u,n,l);const p=J(t);0;const h=t.subTree;t.subTree=p,b(h,p,d(h.el),X(h),t,s,a),n.el=p.el,null===f&&nt(t,p.el),o&&Pe(o,s),(e=n.props&&n.props.onVnodeUpdated)&&Pe(()=>Ie(e,u,n,l),s)}else{let r;const{el:c,props:u}=e,{bm:l,m:f,parent:p}=t;if(l&&Object(i["l"])(l),(r=u&&u.onVnodeBeforeMount)&&Ie(r,p,e),c&&et){const n=()=>{t.subTree=J(t),et(c,t.subTree,t,s,null)};xt(e)?e.type.__asyncLoader().then(()=>!t.isUnmounted&&n()):n()}else{0;const r=t.subTree=J(t);0,b(null,r,n,o,t,s,a),e.el=r.el}if(f&&Pe(f,s),r=u&&u.onVnodeMounted){const t=e;Pe(()=>Ie(r,p,t),s)}256&e.shapeFlag&&t.a&&Pe(t.a,s),t.isMounted=!0,e=n=o=null}}),Me)},N=(t,e,n)=>{e.component=t;const i=t.vnode.props;t.vnode=e,t.next=null,se(t,e.props,i,n),ye(t,e.children,n),Object(r["h"])(),I(void 0,t.update),Object(r["l"])()},z=(t,e,n,r,i,o,s,a,c=!1)=>{const u=t&&t.children,l=t?t.shapeFlag:0,f=e.children,{patchFlag:d,shapeFlag:h}=e;if(d>0){if(128&d)return void V(u,f,n,r,i,o,s,a,c);if(256&d)return void U(u,f,n,r,i,o,s,a,c)}8&h?(16&l&&Y(u,i,o),f!==u&&p(n,f)):16&l?16&h?V(u,f,n,r,i,o,s,a,c):Y(u,i,o,!0):(8&l&&p(n,""),16&h&&C(f,n,r,i,o,s,a,c))},U=(t,e,n,r,o,s,a,c,u)=>{t=t||i["a"],e=e||i["a"];const l=t.length,f=e.length,p=Math.min(l,f);let d;for(d=0;df?Y(t,o,s,!0,!1,p):C(e,n,r,o,s,a,c,u,p)},V=(t,e,n,r,o,s,a,c,u)=>{let l=0;const f=e.length;let p=t.length-1,d=f-1;while(l<=p&&l<=d){const r=t[l],i=e[l]=u?fn(e[l]):ln(e[l]);if(!tn(r,i))break;b(r,i,n,null,o,s,a,c,u),l++}while(l<=p&&l<=d){const r=t[p],i=e[d]=u?fn(e[d]):ln(e[d]);if(!tn(r,i))break;b(r,i,n,null,o,s,a,c,u),p--,d--}if(l>p){if(l<=d){const t=d+1,i=td)while(l<=p)q(t[l],o,s,!0),l++;else{const h=l,v=l,m=new Map;for(l=v;l<=d;l++){const t=e[l]=u?fn(e[l]):ln(e[l]);null!=t.key&&m.set(t.key,l)}let g,_=0;const y=d-v+1;let O=!1,w=0;const j=new Array(y);for(l=0;l=y){q(r,o,s,!0);continue}let i;if(null!=r.key)i=m.get(r.key);else for(g=v;g<=d;g++)if(0===j[g-v]&&tn(r,e[g])){i=g;break}void 0===i?q(r,o,s,!0):(j[i-v]=l+1,i>=w?w=i:O=!0,b(r,e[i],n,null,o,s,a,c,u),_++)}const x=O?Ne(j):i["a"];for(g=x.length-1,l=y-1;l>=0;l--){const t=v+l,i=e[t],p=t+1{const{el:s,type:a,transition:c,children:u,shapeFlag:l}=t;if(6&l)return void $(t.component.subTree,e,r,i);if(128&l)return void t.suspense.move(e,r,i);if(64&l)return void a.move(t,e,r,Q);if(a===Ve){n(s,e,r);for(let t=0;tc.enter(s),o);else{const{leave:t,delayLeave:i,afterLeave:o}=c,a=()=>n(s,e,r),u=()=>{t(s,()=>{a(),o&&o()})};i?i(s,a,u):u()}else n(s,e,r)},q=(t,e,n,r=!1,i=!1)=>{const{type:o,props:s,ref:a,children:c,dynamicChildren:u,shapeFlag:l,patchFlag:f,dirs:p}=t;if(null!=a&&Fe(a,null,n,t,!0),256&l)return void e.ctx.deactivate(t);const d=1&l&&p;let h;if((h=s&&s.onVnodeBeforeUnmount)&&Ie(h,e,t),6&l)H(t.component,n,r);else{if(128&l)return void t.suspense.unmount(n,r);d&&we(t,null,e,"beforeUnmount"),64&l?t.type.remove(t,e,n,i,Q,r):u&&(o!==Ve||f>0&&64&f)?Y(u,e,n,!1,!0):(o===Ve&&(128&f||256&f)||!i&&16&l)&&Y(c,e,n),r&&W(t)}((h=s&&s.onVnodeUnmounted)||d)&&Pe(()=>{h&&Ie(h,e,t),d&&we(t,null,e,"unmounted")},n)},W=t=>{const{type:e,el:n,anchor:r,transition:i}=t;if(e===Ve)return void G(n,r);if(e===We)return void j(t);const s=()=>{o(n),i&&!i.persisted&&i.afterLeave&&i.afterLeave()};if(1&t.shapeFlag&&i&&!i.persisted){const{leave:e,delayLeave:r}=i,o=()=>e(n,s);r?r(t.el,s,o):o()}else s()},G=(t,e)=>{let n;while(t!==e)n=h(t),o(t),t=n;o(e)},H=(t,e,n)=>{const{bum:o,effects:s,update:a,subTree:c,um:u}=t;if(o&&Object(i["l"])(o),s)for(let i=0;i{t.isUnmounted=!0},e),e&&e.pendingBranch&&!e.isUnmounted&&t.asyncDep&&!t.asyncResolved&&t.suspenseId===e.pendingId&&(e.deps--,0===e.deps&&e.resolve())},Y=(t,e,n,r=!1,i=!1,o=0)=>{for(let s=o;s6&t.shapeFlag?X(t.component.subTree):128&t.shapeFlag?t.suspense.next():h(t.anchor||t.el),K=(t,e,n)=>{null==t?e._vnode&&q(e._vnode,null,null,!0):b(e._vnode||null,t,e,null,null,null,n),B(),e._vnode=t},Q={p:b,um:q,m:$,r:W,mt:R,mc:C,pc:z,pbc:A,n:X,o:t};let Z,et;return e&&([Z,et]=e(Q)),{render:K,hydrate:Z,createApp:Te(K,Z)}}function Ie(t,e,n,r=null){d(t,e,7,[n,r])}function Be(t,e,n=!1){const r=t.children,o=e.children;if(Object(i["m"])(r)&&Object(i["m"])(o))for(let i=0;i0&&(e[r]=n[o-1]),n[o]=r)}}o=n.length,s=n[o-1];while(o-- >0)n[o]=s,s=e[s];return n}const ze=t=>t.__isTeleport;const Ue=Symbol();const Ve=Symbol(void 0),$e=Symbol(void 0),qe=Symbol(void 0),We=Symbol(void 0),Ge=[];let He=null;function Ye(t=!1){Ge.push(He=t?null:[])}function Xe(){Ge.pop(),He=Ge[Ge.length-1]||null}let Ke=1;function Je(t){Ke+=t}function Qe(t,e,n,r,o){const s=on(t,e,n,r,o,!0);return s.dynamicChildren=Ke>0?He||i["a"]:null,Xe(),Ke>0&&He&&He.push(s),s}function Ze(t){return!!t&&!0===t.__v_isVNode}function tn(t,e){return t.type===e.type&&t.key===e.key}const en="__vInternal",nn=({key:t})=>null!=t?t:null,rn=({ref:t})=>null!=t?Object(i["B"])(t)||Object(r["f"])(t)||Object(i["n"])(t)?{i:q,r:t}:t:null,on=sn;function sn(t,e=null,n=null,o=0,s=null,a=!1){if(t&&t!==Ue||(t=qe),Ze(t)){const r=an(t,e,!0);return n&&pn(r,n),r}if(Nn(t)&&(t=t.__vccOpts),e){(Object(r["c"])(e)||en in e)&&(e=Object(i["h"])({},e));let{class:t,style:n}=e;t&&!Object(i["B"])(t)&&(e.class=Object(i["G"])(t)),Object(i["t"])(n)&&(Object(r["c"])(n)&&!Object(i["m"])(n)&&(n=Object(i["h"])({},n)),e.style=Object(i["H"])(n))}const c=Object(i["B"])(t)?1:rt(t)?128:ze(t)?64:Object(i["t"])(t)?4:Object(i["n"])(t)?2:0;const u={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&nn(e),ref:e&&rn(e),scopeId:W,slotScopeIds:null,children:null,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:c,patchFlag:o,dynamicProps:s,dynamicChildren:null,appContext:null};return pn(u,n),128&c&&t.normalize(u),Ke>0&&!a&&He&&(o>0||6&c)&&32!==o&&He.push(u),u}function an(t,e,n=!1){const{props:r,ref:o,patchFlag:s,children:a}=t,c=e?dn(r||{},e):r,u={__v_isVNode:!0,__v_skip:!0,type:t.type,props:c,key:c&&nn(c),ref:e&&e.ref?n&&o?Object(i["m"])(o)?o.concat(rn(e)):[o,rn(e)]:rn(e):o,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:a,target:t.target,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==Ve?-1===s?16:16|s:s,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:t.transition,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&an(t.ssContent),ssFallback:t.ssFallback&&an(t.ssFallback),el:t.el,anchor:t.anchor};return u}function cn(t=" ",e=0){return on($e,null,t,e)}function un(t="",e=!1){return e?(Ye(),Qe(qe,null,t)):on(qe,null,t)}function ln(t){return null==t||"boolean"===typeof t?on(qe):Object(i["m"])(t)?on(Ve,null,t.slice()):"object"===typeof t?fn(t):on($e,null,String(t))}function fn(t){return null===t.el?t:an(t)}function pn(t,e){let n=0;const{shapeFlag:r}=t;if(null==e)e=null;else if(Object(i["m"])(e))n=16;else if("object"===typeof e){if(1&r||64&r){const n=e.default;return void(n&&(n._c&&(n._d=!1),pn(t,n()),n._c&&(n._d=!0)))}{n=32;const r=e._;r||en in e?3===r&&q&&(1===q.slots._?e._=1:(e._=2,t.patchFlag|=1024)):e._ctx=q}}else Object(i["n"])(e)?(e={default:e,_ctx:q},n=32):(e=String(e),64&r?(n=16,e=[cn(e)]):n=8);t.children=e,t.shapeFlag|=n}function dn(...t){const e=Object(i["h"])({},t[0]);for(let n=1;nt?Tn(t)?t.exposed?t.exposed:t.proxy:vn(t.parent):null,mn=Object(i["h"])(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>vn(t.parent),$root:t=>vn(t.root),$emit:t=>t.emit,$options:t=>Kt(t),$forceUpdate:t=>()=>M(t.update),$nextTick:t=>A.bind(t.proxy),$watch:t=>ft.bind(t)}),gn={get({_:t},e){const{ctx:n,setupState:o,data:s,props:a,accessCache:c,type:u,appContext:l}=t;let f;if("$"!==e[0]){const r=c[e];if(void 0!==r)switch(r){case 0:return o[e];case 1:return s[e];case 3:return n[e];case 2:return a[e]}else{if(o!==i["b"]&&Object(i["j"])(o,e))return c[e]=0,o[e];if(s!==i["b"]&&Object(i["j"])(s,e))return c[e]=1,s[e];if((f=t.propsOptions[0])&&Object(i["j"])(f,e))return c[e]=2,a[e];if(n!==i["b"]&&Object(i["j"])(n,e))return c[e]=3,n[e];Wt&&(c[e]=4)}}const p=mn[e];let d,h;return p?("$attrs"===e&&Object(r["r"])(t,"get",e),p(t)):(d=u.__cssModules)&&(d=d[e])?d:n!==i["b"]&&Object(i["j"])(n,e)?(c[e]=3,n[e]):(h=l.config.globalProperties,Object(i["j"])(h,e)?h[e]:void 0)},set({_:t},e,n){const{data:r,setupState:o,ctx:s}=t;if(o!==i["b"]&&Object(i["j"])(o,e))o[e]=n;else if(r!==i["b"]&&Object(i["j"])(r,e))r[e]=n;else if(Object(i["j"])(t.props,e))return!1;return("$"!==e[0]||!(e.slice(1)in t))&&(s[e]=n,!0)},has({_:{data:t,setupState:e,accessCache:n,ctx:r,appContext:o,propsOptions:s}},a){let c;return void 0!==n[a]||t!==i["b"]&&Object(i["j"])(t,a)||e!==i["b"]&&Object(i["j"])(e,a)||(c=s[0])&&Object(i["j"])(c,a)||Object(i["j"])(r,a)||Object(i["j"])(mn,a)||Object(i["j"])(o.config.globalProperties,a)}};const bn=Object(i["h"])({},gn,{get(t,e){if(e!==Symbol.unscopables)return gn.get(t,e,t)},has(t,e){const n="_"!==e[0]&&!Object(i["o"])(e);return n}});const _n=je();let yn=0;function On(t,e,n){const r=t.type,o=(e?e.appContext:t.appContext)||_n,s={uid:yn++,vnode:t,type:r,parent:e,appContext:o,root:null,next:null,subTree:null,update:null,render:null,proxy:null,exposed:null,withProxy:null,effects:null,provides:e?e.provides:Object.create(o.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:ue(r,o),emitsOptions:V(r,o),emit:null,emitted:null,propsDefaults:i["b"],inheritAttrs:r.inheritAttrs,ctx:i["b"],data:i["b"],props:i["b"],attrs:i["b"],slots:i["b"],refs:i["b"],setupState:i["b"],setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return s.ctx={_:s},s.root=e?e.root:s,s.emit=U.bind(null,s),s}let wn=null;const jn=()=>wn||q,xn=t=>{wn=t};function Tn(t){return 4&t.vnode.shapeFlag}let Sn,Cn=!1;function kn(t,e=!1){Cn=e;const{props:n,children:r}=t.vnode,i=Tn(t);oe(t,n,i,e),_e(t,r);const o=i?An(t,e):void 0;return Cn=!1,o}function An(t,e){const n=t.type;t.accessCache=Object.create(null),t.proxy=Object(r["g"])(new Proxy(t.ctx,gn));const{setup:o}=n;if(o){const n=t.setupContext=o.length>1?Fn(t):null;wn=t,Object(r["h"])();const s=p(o,t,0,[t.props,n]);if(Object(r["l"])(),wn=null,Object(i["w"])(s)){if(e)return s.then(n=>{En(t,n,e)}).catch(e=>{h(e,t,0)});t.asyncDep=s}else En(t,s,e)}else Pn(t,e)}function En(t,e,n){Object(i["n"])(e)?t.render=e:Object(i["t"])(e)&&(t.setupState=Object(r["i"])(e)),Pn(t,n)}const Mn=()=>!Sn;function Pn(t,e,n){const o=t.type;if(!t.render){if(Sn&&!o.render){const e=o.template;if(e){0;const{isCustomElement:n,compilerOptions:r}=t.appContext.config,{delimiters:s,compilerOptions:a}=o,c=Object(i["h"])(Object(i["h"])({isCustomElement:n,delimiters:s},r),a);o.render=Sn(e,c)}}t.render=o.render||i["d"],t.render._rc&&(t.withProxy=new Proxy(t.ctx,bn))}wn=t,Object(r["h"])(),Gt(t),Object(r["l"])(),wn=null}function Fn(t){const e=e=>{t.exposed=Object(r["i"])(e)};return{attrs:t.attrs,slots:t.slots,emit:t.emit,expose:e}}function Rn(t,e=wn){e&&(e.effects||(e.effects=[])).push(t)}const Ln=/(?:^|[-_])(\w)/g,Dn=t=>t.replace(Ln,t=>t.toUpperCase()).replace(/[-_]/g,"");function In(t){return Object(i["n"])(t)&&t.displayName||t.name}function Bn(t,e,n=!1){let r=In(e);if(!r&&e.__file){const t=e.__file.match(/([^/\\]+)\.\w+$/);t&&(r=t[1])}if(!r&&t&&t.parent){const n=t=>{for(const n in t)if(t[n]===e)return n};r=n(t.components||t.parent.type.components)||n(t.appContext.components)}return r?Dn(r):n?"App":"Anonymous"}function Nn(t){return Object(i["n"])(t)&&"__vccOpts"in t}function zn(t){const e=Object(r["a"])(t);return Rn(e.effect),e}function Un(t,e,n){const r=arguments.length;return 2===r?Object(i["t"])(e)&&!Object(i["m"])(e)?Ze(e)?on(t,null,[e]):on(t,e):on(t,null,e):(r>3?n=Array.prototype.slice.call(arguments,2):3===r&&Ze(n)&&(n=[n]),on(t,e,n))}Symbol("");function Vn(){return void 0}const $n="3.1.2"},"5c6c":function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},"605d":function(t,e,n){var r=n("c6b6"),i=n("da84");t.exports="process"==r(i.process)},6069:function(t,e){t.exports="object"==typeof window},"60da":function(t,e,n){"use strict";var r=n("83ab"),i=n("d039"),o=n("df75"),s=n("7418"),a=n("d1e7"),c=n("7b0b"),u=n("44ad"),l=Object.assign,f=Object.defineProperty;t.exports=!l||i((function(){if(r&&1!==l({b:1},l(f({},"a",{enumerable:!0,get:function(){f(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},n=Symbol(),i="abcdefghijklmnopqrst";return t[n]=7,i.split("").forEach((function(t){e[t]=t})),7!=l({},t)[n]||o(l({},e)).join("")!=i}))?function(t,e){var n=c(t),i=arguments.length,l=1,f=s.f,p=a.f;while(i>l){var d,h=u(arguments[l++]),v=f?o(h).concat(f(h)):o(h),m=v.length,g=0;while(m>g)d=v[g++],r&&!p.call(h,d)||(n[d]=h[d])}return n}:l},6547:function(t,e,n){var r=n("a691"),i=n("1d80"),o=function(t){return function(e,n){var o,s,a=String(i(e)),c=r(n),u=a.length;return c<0||c>=u?t?"":void 0:(o=a.charCodeAt(c),o<55296||o>56319||c+1===u||(s=a.charCodeAt(c+1))<56320||s>57343?t?a.charAt(c):o:t?a.slice(c,c+2):s-56320+(o-55296<<10)+65536)}};t.exports={codeAt:o(!1),charAt:o(!0)}},"65f0":function(t,e,n){var r=n("861d"),i=n("e8b5"),o=n("b622"),s=o("species");t.exports=function(t,e){var n;return i(t)&&(n=t.constructor,"function"!=typeof n||n!==Array&&!i(n.prototype)?r(n)&&(n=n[s],null===n&&(n=void 0)):n=void 0),new(void 0===n?Array:n)(0===e?0:e)}},"69f3":function(t,e,n){var r,i,o,s=n("7f9a"),a=n("da84"),c=n("861d"),u=n("9112"),l=n("5135"),f=n("c6cd"),p=n("f772"),d=n("d012"),h="Object already initialized",v=a.WeakMap,m=function(t){return o(t)?i(t):r(t,{})},g=function(t){return function(e){var n;if(!c(e)||(n=i(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}};if(s||f.state){var b=f.state||(f.state=new v),_=b.get,y=b.has,O=b.set;r=function(t,e){if(y.call(b,t))throw new TypeError(h);return e.facade=t,O.call(b,t,e),e},i=function(t){return _.call(b,t)||{}},o=function(t){return y.call(b,t)}}else{var w=p("state");d[w]=!0,r=function(t,e){if(l(t,w))throw new TypeError(h);return e.facade=t,u(t,w,e),e},i=function(t){return l(t,w)?t[w]:{}},o=function(t){return l(t,w)}}t.exports={set:r,get:i,has:o,enforce:m,getterFor:g}},"6eeb":function(t,e,n){var r=n("da84"),i=n("9112"),o=n("5135"),s=n("ce4e"),a=n("8925"),c=n("69f3"),u=c.get,l=c.enforce,f=String(String).split("String");(t.exports=function(t,e,n,a){var c,u=!!a&&!!a.unsafe,p=!!a&&!!a.enumerable,d=!!a&&!!a.noTargetGet;"function"==typeof n&&("string"!=typeof e||o(n,"name")||i(n,"name",e),c=l(n),c.source||(c.source=f.join("string"==typeof e?e:""))),t!==r?(u?!d&&t[e]&&(p=!0):delete t[e],p?t[e]=n:i(t,e,n)):p?t[e]=n:s(e,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&u(this).source||a(this)}))},7418:function(t,e){e.f=Object.getOwnPropertySymbols},"746f":function(t,e,n){var r=n("428f"),i=n("5135"),o=n("e538"),s=n("9bf2").f;t.exports=function(t){var e=r.Symbol||(r.Symbol={});i(e,t)||s(e,t,{value:o.f(t)})}},7839:function(t,e){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"7a23":function(t,e,n){"use strict";n.d(e,"l",(function(){return r["w"]})),n.d(e,"a",(function(){return r["b"]})),n.d(e,"d",(function(){return r["d"]})),n.d(e,"e",(function(){return r["e"]})),n.d(e,"f",(function(){return r["h"]})),n.d(e,"g",(function(){return r["i"]})),n.d(e,"h",(function(){return r["q"]})),n.d(e,"i",(function(){return r["r"]})),n.d(e,"j",(function(){return r["s"]})),n.d(e,"k",(function(){return r["t"]})),n.d(e,"n",(function(){return r["B"]})),n.d(e,"o",(function(){return r["C"]})),n.d(e,"b",(function(){return it})),n.d(e,"c",(function(){return gt})),n.d(e,"m",(function(){return dt}));var r=n("5c40"),i=n("9ff4"),o=n("a1e9");const s="http://www.w3.org/2000/svg",a="undefined"!==typeof document?document:null,c={insert:(t,e,n)=>{e.insertBefore(t,n||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,n,r)=>{const i=e?a.createElementNS(s,t):a.createElement(t,n?{is:n}:void 0);return"select"===t&&r&&null!=r.multiple&&i.setAttribute("multiple",r.multiple),i},createText:t=>a.createTextNode(t),createComment:t=>a.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>a.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},cloneNode(t){const e=t.cloneNode(!0);return"_value"in t&&(e._value=t._value),e},insertStaticContent(t,e,n,r,i){if(i){let t,r,[o,s]=i;while(1){let i=o.cloneNode(!0);if(t||(t=i),e.insertBefore(i,n),o===s){r=i;break}o=o.nextSibling}return[t,r]}const o=n?n.previousSibling:e.lastChild;if(n){let i,o=!1;n instanceof Element?i=n:(o=!0,i=r?a.createElementNS(s,"g"):a.createElement("div"),e.insertBefore(i,n)),i.insertAdjacentHTML("beforebegin",t),o&&e.removeChild(i)}else e.insertAdjacentHTML("beforeend",t);return[o?o.nextSibling:e.firstChild,n?n.previousSibling:e.lastChild]}};function u(t,e,n){if(null==e&&(e=""),n)t.setAttribute("class",e);else{const n=t._vtc;n&&(e=(e?[e,...n]:[...n]).join(" ")),t.className=e}}function l(t,e,n){const r=t.style;if(n)if(Object(i["B"])(n)){if(e!==n){const e=r.display;r.cssText=n,"_vod"in t&&(r.display=e)}}else{for(const t in n)p(r,t,n[t]);if(e&&!Object(i["B"])(e))for(const t in e)null==n[t]&&p(r,t,"")}else t.removeAttribute("style")}const f=/\s*!important$/;function p(t,e,n){if(Object(i["m"])(n))n.forEach(n=>p(t,e,n));else if(e.startsWith("--"))t.setProperty(e,n);else{const r=v(t,e);f.test(n)?t.setProperty(Object(i["k"])(r),n.replace(f,""),"important"):t[r]=n}}const d=["Webkit","Moz","ms"],h={};function v(t,e){const n=h[e];if(n)return n;let r=Object(i["e"])(e);if("filter"!==r&&r in t)return h[e]=r;r=Object(i["f"])(r);for(let i=0;idocument.createEvent("Event").timeStamp&&(_=()=>performance.now());const t=navigator.userAgent.match(/firefox\/(\d+)/i);y=!!(t&&Number(t[1])<=53)}let O=0;const w=Promise.resolve(),j=()=>{O=0},x=()=>O||(w.then(j),O=_());function T(t,e,n,r){t.addEventListener(e,n,r)}function S(t,e,n,r){t.removeEventListener(e,n,r)}function C(t,e,n,r,i=null){const o=t._vei||(t._vei={}),s=o[e];if(r&&s)s.value=r;else{const[n,a]=A(e);if(r){const s=o[e]=E(r,i);T(t,n,s,a)}else s&&(S(t,n,s,a),o[e]=void 0)}}const k=/(?:Once|Passive|Capture)$/;function A(t){let e;if(k.test(t)){let n;e={};while(n=t.match(k))t=t.slice(0,t.length-n[0].length),e[n[0].toLowerCase()]=!0}return[Object(i["k"])(t.slice(2)),e]}function E(t,e){const n=t=>{const i=t.timeStamp||_();(y||i>=n.attached-1)&&Object(r["c"])(M(t,n.value),e,5,[t])};return n.value=t,n.attached=x(),n}function M(t,e){if(Object(i["m"])(e)){const n=t.stopImmediatePropagation;return t.stopImmediatePropagation=()=>{n.call(t),t._stopped=!0},e.map(t=>e=>!e._stopped&&t(e))}return e}const P=/^on[a-z]/,F=(t,e)=>"value"===e,R=(t,e,n,r,o=!1,s,a,c,f)=>{switch(e){case"class":u(t,r,o);break;case"style":l(t,n,r);break;default:Object(i["u"])(e)?Object(i["s"])(e)||C(t,e,n,r,a):L(t,e,r,o)?b(t,e,r,s,a,c,f):("true-value"===e?t._trueValue=r:"false-value"===e&&(t._falseValue=r),g(t,e,r,o));break}};function L(t,e,n,r){return r?"innerHTML"===e||!!(e in t&&P.test(e)&&Object(i["n"])(n)):"spellcheck"!==e&&"draggable"!==e&&("form"!==e&&(("list"!==e||"INPUT"!==t.tagName)&&(("type"!==e||"TEXTAREA"!==t.tagName)&&((!P.test(e)||!Object(i["B"])(n))&&e in t))))}const D="transition",I="animation",B=(t,{slots:e})=>Object(r["l"])(r["a"],$(t),e);B.displayName="Transition";const N={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},z=B.props=Object(i["h"])({},r["a"].props,N),U=(t,e=[])=>{Object(i["m"])(t)?t.forEach(t=>t(...e)):t&&t(...e)},V=t=>!!t&&(Object(i["m"])(t)?t.some(t=>t.length>1):t.length>1);function $(t){const e={};for(const i in t)i in N||(e[i]=t[i]);if(!1===t.css)return e;const{name:n="v",type:r,duration:o,enterFromClass:s=n+"-enter-from",enterActiveClass:a=n+"-enter-active",enterToClass:c=n+"-enter-to",appearFromClass:u=s,appearActiveClass:l=a,appearToClass:f=c,leaveFromClass:p=n+"-leave-from",leaveActiveClass:d=n+"-leave-active",leaveToClass:h=n+"-leave-to"}=t,v=q(o),m=v&&v[0],g=v&&v[1],{onBeforeEnter:b,onEnter:_,onEnterCancelled:y,onLeave:O,onLeaveCancelled:w,onBeforeAppear:j=b,onAppear:x=_,onAppearCancelled:T=y}=e,S=(t,e,n)=>{H(t,e?f:c),H(t,e?l:a),n&&n()},C=(t,e)=>{H(t,h),H(t,d),e&&e()},k=t=>(e,n)=>{const i=t?x:_,o=()=>S(e,t,n);U(i,[e,o]),Y(()=>{H(e,t?u:s),G(e,t?f:c),V(i)||K(e,r,m,o)})};return Object(i["h"])(e,{onBeforeEnter(t){U(b,[t]),G(t,s),G(t,a)},onBeforeAppear(t){U(j,[t]),G(t,u),G(t,l)},onEnter:k(!1),onAppear:k(!0),onLeave(t,e){const n=()=>C(t,e);G(t,p),tt(),G(t,d),Y(()=>{H(t,p),G(t,h),V(O)||K(t,r,g,n)}),U(O,[t,n])},onEnterCancelled(t){S(t,!1),U(y,[t])},onAppearCancelled(t){S(t,!0),U(T,[t])},onLeaveCancelled(t){C(t),U(w,[t])}})}function q(t){if(null==t)return null;if(Object(i["t"])(t))return[W(t.enter),W(t.leave)];{const e=W(t);return[e,e]}}function W(t){const e=Object(i["L"])(t);return e}function G(t,e){e.split(/\s+/).forEach(e=>e&&t.classList.add(e)),(t._vtc||(t._vtc=new Set)).add(e)}function H(t,e){e.split(/\s+/).forEach(e=>e&&t.classList.remove(e));const{_vtc:n}=t;n&&(n.delete(e),n.size||(t._vtc=void 0))}function Y(t){requestAnimationFrame(()=>{requestAnimationFrame(t)})}let X=0;function K(t,e,n,r){const i=t._endId=++X,o=()=>{i===t._endId&&r()};if(n)return setTimeout(o,n);const{type:s,timeout:a,propCount:c}=J(t,e);if(!s)return r();const u=s+"end";let l=0;const f=()=>{t.removeEventListener(u,p),o()},p=e=>{e.target===t&&++l>=c&&f()};setTimeout(()=>{l(n[t]||"").split(", "),i=r(D+"Delay"),o=r(D+"Duration"),s=Q(i,o),a=r(I+"Delay"),c=r(I+"Duration"),u=Q(a,c);let l=null,f=0,p=0;e===D?s>0&&(l=D,f=s,p=o.length):e===I?u>0&&(l=I,f=u,p=c.length):(f=Math.max(s,u),l=f>0?s>u?D:I:null,p=l?l===D?o.length:c.length:0);const d=l===D&&/\b(transform|all)(,|$)/.test(n[D+"Property"]);return{type:l,timeout:f,propCount:p,hasTransform:d}}function Q(t,e){while(t.lengthZ(e)+Z(t[n])))}function Z(t){return 1e3*Number(t.slice(0,-1).replace(",","."))}function tt(){return document.body.offsetHeight}const et=new WeakMap,nt=new WeakMap,rt={name:"TransitionGroup",props:Object(i["h"])({},z,{tag:String,moveClass:String}),setup(t,{slots:e}){const n=Object(r["j"])(),i=Object(r["x"])();let s,a;return Object(r["p"])(()=>{if(!s.length)return;const e=t.moveClass||(t.name||"v")+"-move";if(!ct(s[0].el,n.vnode.el,e))return;s.forEach(ot),s.forEach(st);const r=s.filter(at);tt(),r.forEach(t=>{const n=t.el,r=n.style;G(n,e),r.transform=r.webkitTransform=r.transitionDuration="";const i=n._moveCb=t=>{t&&t.target!==n||t&&!/transform$/.test(t.propertyName)||(n.removeEventListener("transitionend",i),n._moveCb=null,H(n,e))};n.addEventListener("transitionend",i)})}),()=>{const c=Object(o["o"])(t),u=$(c);let l=c.tag||r["b"];s=a,a=e.default?Object(r["k"])(e.default()):[];for(let t=0;t{t.split(/\s+/).forEach(t=>t&&r.classList.remove(t))}),n.split(/\s+/).forEach(t=>t&&r.classList.add(t)),r.style.display="none";const i=1===e.nodeType?e:e.parentNode;i.appendChild(r);const{hasTransform:o}=J(r);return i.removeChild(r),o}const ut=t=>{const e=t.props["onUpdate:modelValue"];return Object(i["m"])(e)?t=>Object(i["l"])(e,t):e};function lt(t){t.target.composing=!0}function ft(t){const e=t.target;e.composing&&(e.composing=!1,pt(e,"input"))}function pt(t,e){const n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}const dt={created(t,{modifiers:{lazy:e,trim:n,number:r}},o){t._assign=ut(o);const s=r||"number"===t.type;T(t,e?"change":"input",e=>{if(e.target.composing)return;let r=t.value;n?r=r.trim():s&&(r=Object(i["L"])(r)),t._assign(r)}),n&&T(t,"change",()=>{t.value=t.value.trim()}),e||(T(t,"compositionstart",lt),T(t,"compositionend",ft),T(t,"change",ft))},mounted(t,{value:e}){t.value=null==e?"":e},beforeUpdate(t,{value:e,modifiers:{trim:n,number:r}},o){if(t._assign=ut(o),t.composing)return;if(document.activeElement===t){if(n&&t.value.trim()===e)return;if((r||"number"===t.type)&&Object(i["L"])(t.value)===e)return}const s=null==e?"":e;t.value!==s&&(t.value=s)}};const ht=Object(i["h"])({patchProp:R,forcePatchProp:F},c);let vt;function mt(){return vt||(vt=Object(r["g"])(ht))}const gt=(...t)=>{const e=mt().createApp(...t);const{mount:n}=e;return e.mount=t=>{const r=bt(t);if(!r)return;const o=e._component;Object(i["n"])(o)||o.render||o.template||(o.template=r.innerHTML),r.innerHTML="";const s=n(r,!1,r instanceof SVGElement);return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),s},e};function bt(t){if(Object(i["B"])(t)){const e=document.querySelector(t);return e}return t}},"7b0b":function(t,e,n){var r=n("1d80");t.exports=function(t){return Object(r(t))}},"7c73":function(t,e,n){var r,i=n("825a"),o=n("37e8"),s=n("7839"),a=n("d012"),c=n("1be4"),u=n("cc12"),l=n("f772"),f=">",p="<",d="prototype",h="script",v=l("IE_PROTO"),m=function(){},g=function(t){return p+h+f+t+p+"/"+h+f},b=function(t){t.write(g("")),t.close();var e=t.parentWindow.Object;return t=null,e},_=function(){var t,e=u("iframe"),n="java"+h+":";return e.style.display="none",c.appendChild(e),e.src=String(n),t=e.contentWindow.document,t.open(),t.write(g("document.F=Object")),t.close(),t.F},y=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(e){}y=r?b(r):_();var t=s.length;while(t--)delete y[d][s[t]];return y()};a[v]=!0,t.exports=Object.create||function(t,e){var n;return null!==t?(m[d]=i(t),n=new m,m[d]=null,n[v]=t):n=y(),void 0===e?n:o(n,e)}},"7dd0":function(t,e,n){"use strict";var r=n("23e7"),i=n("9ed3"),o=n("e163"),s=n("d2bb"),a=n("d44e"),c=n("9112"),u=n("6eeb"),l=n("b622"),f=n("c430"),p=n("3f8c"),d=n("ae93"),h=d.IteratorPrototype,v=d.BUGGY_SAFARI_ITERATORS,m=l("iterator"),g="keys",b="values",_="entries",y=function(){return this};t.exports=function(t,e,n,l,d,O,w){i(n,e,l);var j,x,T,S=function(t){if(t===d&&M)return M;if(!v&&t in A)return A[t];switch(t){case g:return function(){return new n(this,t)};case b:return function(){return new n(this,t)};case _:return function(){return new n(this,t)}}return function(){return new n(this)}},C=e+" Iterator",k=!1,A=t.prototype,E=A[m]||A["@@iterator"]||d&&A[d],M=!v&&E||S(d),P="Array"==e&&A.entries||E;if(P&&(j=o(P.call(new t)),h!==Object.prototype&&j.next&&(f||o(j)===h||(s?s(j,h):"function"!=typeof j[m]&&c(j,m,y)),a(j,C,!0,!0),f&&(p[C]=y))),d==b&&E&&E.name!==b&&(k=!0,M=function(){return E.call(this)}),f&&!w||A[m]===M||c(A,m,M),p[e]=M,d)if(x={values:S(b),keys:O?M:S(g),entries:S(_)},w)for(T in x)(v||k||!(T in A))&&u(A,T,x[T]);else r({target:e,proto:!0,forced:v||k},x);return x}},"7f9a":function(t,e,n){var r=n("da84"),i=n("8925"),o=r.WeakMap;t.exports="function"===typeof o&&/native code/.test(i(o))},"825a":function(t,e,n){var r=n("861d");t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},"83ab":function(t,e,n){var r=n("d039");t.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},8418:function(t,e,n){"use strict";var r=n("c04e"),i=n("9bf2"),o=n("5c6c");t.exports=function(t,e,n){var s=r(e);s in t?i.f(t,s,o(0,n)):t[s]=n}},"861d":function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},8925:function(t,e,n){var r=n("c6cd"),i=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(t){return i.call(t)}),t.exports=r.inspectSource},"90e3":function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++n+r).toString(36)}},9112:function(t,e,n){var r=n("83ab"),i=n("9bf2"),o=n("5c6c");t.exports=r?function(t,e,n){return i.f(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},"94ca":function(t,e,n){var r=n("d039"),i=/#|\.prototype\./,o=function(t,e){var n=a[s(t)];return n==u||n!=c&&("function"==typeof e?r(e):!!e)},s=o.normalize=function(t){return String(t).replace(i,".").toLowerCase()},a=o.data={},c=o.NATIVE="N",u=o.POLYFILL="P";t.exports=o},"9bdd":function(t,e,n){var r=n("825a"),i=n("2a62");t.exports=function(t,e,n,o){try{return o?e(r(n)[0],n[1]):e(n)}catch(s){throw i(t),s}}},"9bf2":function(t,e,n){var r=n("83ab"),i=n("0cfb"),o=n("825a"),s=n("c04e"),a=Object.defineProperty;e.f=r?a:function(t,e,n){if(o(t),e=s(e,!0),o(n),i)try{return a(t,e,n)}catch(r){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(t[e]=n.value),t}},"9ed3":function(t,e,n){"use strict";var r=n("ae93").IteratorPrototype,i=n("7c73"),o=n("5c6c"),s=n("d44e"),a=n("3f8c"),c=function(){return this};t.exports=function(t,e,n){var u=e+" Iterator";return t.prototype=i(r,{next:o(1,n)}),s(t,u,!1,!0),a[u]=c,t}},"9ff4":function(t,e,n){"use strict";(function(t){function r(t,e){const n=Object.create(null),r=t.split(",");for(let i=0;i!!n[t.toLowerCase()]:t=>!!n[t]}n.d(e,"a",(function(){return j})),n.d(e,"b",(function(){return w})),n.d(e,"c",(function(){return T})),n.d(e,"d",(function(){return x})),n.d(e,"e",(function(){return K})),n.d(e,"f",(function(){return Z})),n.d(e,"g",(function(){return rt})),n.d(e,"h",(function(){return A})),n.d(e,"i",(function(){return et})),n.d(e,"j",(function(){return P})),n.d(e,"k",(function(){return Q})),n.d(e,"l",(function(){return nt})),n.d(e,"m",(function(){return F})),n.d(e,"n",(function(){return I})),n.d(e,"o",(function(){return o})),n.d(e,"p",(function(){return v})),n.d(e,"q",(function(){return G})),n.d(e,"r",(function(){return R})),n.d(e,"s",(function(){return k})),n.d(e,"t",(function(){return z})),n.d(e,"u",(function(){return C})),n.d(e,"v",(function(){return W})),n.d(e,"w",(function(){return U})),n.d(e,"x",(function(){return H})),n.d(e,"y",(function(){return m})),n.d(e,"z",(function(){return L})),n.d(e,"A",(function(){return a})),n.d(e,"B",(function(){return B})),n.d(e,"C",(function(){return N})),n.d(e,"D",(function(){return b})),n.d(e,"E",(function(){return _})),n.d(e,"F",(function(){return r})),n.d(e,"G",(function(){return p})),n.d(e,"H",(function(){return c})),n.d(e,"I",(function(){return E})),n.d(e,"J",(function(){return y})),n.d(e,"K",(function(){return tt})),n.d(e,"L",(function(){return it})),n.d(e,"M",(function(){return q}));const i="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt",o=r(i);const s="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",a=r(s);function c(t){if(F(t)){const e={};for(let n=0;n{if(t){const n=t.split(l);n.length>1&&(e[n[0].trim()]=n[1].trim())}}),e}function p(t){let e="";if(B(t))e=t;else if(F(t))for(let n=0;nb(t,e))}const y=t=>null==t?"":z(t)?JSON.stringify(t,O,2):String(t),O=(t,e)=>R(e)?{[`Map(${e.size})`]:[...e.entries()].reduce((t,[e,n])=>(t[e+" =>"]=n,t),{})}:L(e)?{[`Set(${e.size})`]:[...e.values()]}:!z(e)||F(e)||W(e)?e:String(e),w={},j=[],x=()=>{},T=()=>!1,S=/^on[^a-z]/,C=t=>S.test(t),k=t=>t.startsWith("onUpdate:"),A=Object.assign,E=(t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)},M=Object.prototype.hasOwnProperty,P=(t,e)=>M.call(t,e),F=Array.isArray,R=t=>"[object Map]"===$(t),L=t=>"[object Set]"===$(t),D=t=>t instanceof Date,I=t=>"function"===typeof t,B=t=>"string"===typeof t,N=t=>"symbol"===typeof t,z=t=>null!==t&&"object"===typeof t,U=t=>z(t)&&I(t.then)&&I(t.catch),V=Object.prototype.toString,$=t=>V.call(t),q=t=>$(t).slice(8,-1),W=t=>"[object Object]"===$(t),G=t=>B(t)&&"NaN"!==t&&"-"!==t[0]&&""+parseInt(t,10)===t,H=r(",key,ref,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Y=t=>{const e=Object.create(null);return n=>{const r=e[n];return r||(e[n]=t(n))}},X=/-(\w)/g,K=Y(t=>t.replace(X,(t,e)=>e?e.toUpperCase():"")),J=/\B([A-Z])/g,Q=Y(t=>t.replace(J,"-$1").toLowerCase()),Z=Y(t=>t.charAt(0).toUpperCase()+t.slice(1)),tt=Y(t=>t?"on"+Z(t):""),et=(t,e)=>t!==e&&(t===t||e===e),nt=(t,e)=>{for(let n=0;n{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value:n})},it=t=>{const e=parseFloat(t);return isNaN(e)?t:e}}).call(this,n("c8ba"))},a1e9:function(t,e,n){"use strict";n.d(e,"a",(function(){return Lt})),n.d(e,"b",(function(){return l})),n.d(e,"c",(function(){return yt})),n.d(e,"d",(function(){return bt})),n.d(e,"e",(function(){return _t})),n.d(e,"f",(function(){return xt})),n.d(e,"g",(function(){return wt})),n.d(e,"h",(function(){return g})),n.d(e,"i",(function(){return Et})),n.d(e,"j",(function(){return ht})),n.d(e,"k",(function(){return Tt})),n.d(e,"l",(function(){return _})),n.d(e,"m",(function(){return vt})),n.d(e,"n",(function(){return f})),n.d(e,"o",(function(){return Ot})),n.d(e,"p",(function(){return Ft})),n.d(e,"q",(function(){return Mt})),n.d(e,"r",(function(){return y})),n.d(e,"s",(function(){return O}));var r=n("9ff4");const i=new WeakMap,o=[];let s;const a=Symbol(""),c=Symbol("");function u(t){return t&&!0===t._isEffect}function l(t,e=r["b"]){u(t)&&(t=t.raw);const n=d(t,e);return e.lazy||n(),n}function f(t){t.active&&(h(t),t.options.onStop&&t.options.onStop(),t.active=!1)}let p=0;function d(t,e){const n=function(){if(!n.active)return t();if(!o.includes(n)){h(n);try{return b(),o.push(n),s=n,t()}finally{o.pop(),_(),s=o[o.length-1]}}};return n.id=p++,n.allowRecurse=!!e.allowRecurse,n._isEffect=!0,n.active=!0,n.raw=t,n.deps=[],n.options=e,n}function h(t){const{deps:e}=t;if(e.length){for(let n=0;n{t&&t.forEach(t=>{(t!==s||t.allowRecurse)&&p.add(t)})};if("clear"===e)f.forEach(d);else if("length"===n&&Object(r["m"])(t))f.forEach((t,e)=>{("length"===e||e>=o)&&d(t)});else switch(void 0!==n&&d(f.get(n)),e){case"add":Object(r["m"])(t)?Object(r["q"])(n)&&d(f.get("length")):(d(f.get(a)),Object(r["r"])(t)&&d(f.get(c)));break;case"delete":Object(r["m"])(t)||(d(f.get(a)),Object(r["r"])(t)&&d(f.get(c)));break;case"set":Object(r["r"])(t)&&d(f.get(a));break}const h=t=>{t.options.scheduler?t.options.scheduler(t):t()};p.forEach(h)}const w=Object(r["F"])("__proto__,__v_isRef,__isVue"),j=new Set(Object.getOwnPropertyNames(Symbol).map(t=>Symbol[t]).filter(r["C"])),x=A(),T=A(!1,!0),S=A(!0),C=A(!0,!0),k={};function A(t=!1,e=!1){return function(n,i,o){if("__v_isReactive"===i)return!t;if("__v_isReadonly"===i)return t;if("__v_raw"===i&&o===(t?e?ft:lt:e?ut:ct).get(n))return n;const s=Object(r["m"])(n);if(!t&&s&&Object(r["j"])(k,i))return Reflect.get(k,i,o);const a=Reflect.get(n,i,o);if(Object(r["C"])(i)?j.has(i):w(i))return a;if(t||y(n,"get",i),e)return a;if(xt(a)){const t=!s||!Object(r["q"])(i);return t?a.value:a}return Object(r["t"])(a)?t?mt(a):ht(a):a}}["includes","indexOf","lastIndexOf"].forEach(t=>{const e=Array.prototype[t];k[t]=function(...t){const n=Ot(this);for(let e=0,i=this.length;e{const e=Array.prototype[t];k[t]=function(...t){g();const n=e.apply(this,t);return _(),n}});const E=P(),M=P(!0);function P(t=!1){return function(e,n,i,o){let s=e[n];if(!t&&(i=Ot(i),s=Ot(s),!Object(r["m"])(e)&&xt(s)&&!xt(i)))return s.value=i,!0;const a=Object(r["m"])(e)&&Object(r["q"])(n)?Number(n)Object(r["t"])(t)?ht(t):t),z=t=>Object(r["t"])(t)?mt(t):t,U=t=>t,V=t=>Reflect.getPrototypeOf(t);function $(t,e,n=!1,r=!1){t=t["__v_raw"];const i=Ot(t),o=Ot(e);e!==o&&!n&&y(i,"get",e),!n&&y(i,"get",o);const{has:s}=V(i),a=r?U:n?z:N;return s.call(i,e)?a(t.get(e)):s.call(i,o)?a(t.get(o)):void(t!==i&&t.get(e))}function q(t,e=!1){const n=this["__v_raw"],r=Ot(n),i=Ot(t);return t!==i&&!e&&y(r,"has",t),!e&&y(r,"has",i),t===i?n.has(t):n.has(t)||n.has(i)}function W(t,e=!1){return t=t["__v_raw"],!e&&y(Ot(t),"iterate",a),Reflect.get(t,"size",t)}function G(t){t=Ot(t);const e=Ot(this),n=V(e),r=n.has.call(e,t);return r||(e.add(t),O(e,"add",t,t)),this}function H(t,e){e=Ot(e);const n=Ot(this),{has:i,get:o}=V(n);let s=i.call(n,t);s||(t=Ot(t),s=i.call(n,t));const a=o.call(n,t);return n.set(t,e),s?Object(r["i"])(e,a)&&O(n,"set",t,e,a):O(n,"add",t,e),this}function Y(t){const e=Ot(this),{has:n,get:r}=V(e);let i=n.call(e,t);i||(t=Ot(t),i=n.call(e,t));const o=r?r.call(e,t):void 0,s=e.delete(t);return i&&O(e,"delete",t,void 0,o),s}function X(){const t=Ot(this),e=0!==t.size,n=void 0,r=t.clear();return e&&O(t,"clear",void 0,void 0,n),r}function K(t,e){return function(n,r){const i=this,o=i["__v_raw"],s=Ot(o),c=e?U:t?z:N;return!t&&y(s,"iterate",a),o.forEach((t,e)=>n.call(r,c(t),c(e),i))}}function J(t,e,n){return function(...i){const o=this["__v_raw"],s=Ot(o),u=Object(r["r"])(s),l="entries"===t||t===Symbol.iterator&&u,f="keys"===t&&u,p=o[t](...i),d=n?U:e?z:N;return!e&&y(s,"iterate",f?c:a),{next(){const{value:t,done:e}=p.next();return e?{value:t,done:e}:{value:l?[d(t[0]),d(t[1])]:d(t),done:e}},[Symbol.iterator](){return this}}}}function Q(t){return function(...e){return"delete"!==t&&this}}const Z={get(t){return $(this,t)},get size(){return W(this)},has:q,add:G,set:H,delete:Y,clear:X,forEach:K(!1,!1)},tt={get(t){return $(this,t,!1,!0)},get size(){return W(this)},has:q,add:G,set:H,delete:Y,clear:X,forEach:K(!1,!0)},et={get(t){return $(this,t,!0)},get size(){return W(this,!0)},has(t){return q.call(this,t,!0)},add:Q("add"),set:Q("set"),delete:Q("delete"),clear:Q("clear"),forEach:K(!0,!1)},nt={get(t){return $(this,t,!0,!0)},get size(){return W(this,!0)},has(t){return q.call(this,t,!0)},add:Q("add"),set:Q("set"),delete:Q("delete"),clear:Q("clear"),forEach:K(!0,!0)},rt=["keys","values","entries",Symbol.iterator];function it(t,e){const n=e?t?nt:tt:t?et:Z;return(e,i,o)=>"__v_isReactive"===i?!t:"__v_isReadonly"===i?t:"__v_raw"===i?e:Reflect.get(Object(r["j"])(n,i)&&i in e?n:e,i,o)}rt.forEach(t=>{Z[t]=J(t,!1,!1),et[t]=J(t,!0,!1),tt[t]=J(t,!1,!0),nt[t]=J(t,!0,!0)});const ot={get:it(!1,!1)},st={get:it(!1,!0)},at={get:it(!0,!1)};it(!0,!0);const ct=new WeakMap,ut=new WeakMap,lt=new WeakMap,ft=new WeakMap;function pt(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function dt(t){return t["__v_skip"]||!Object.isExtensible(t)?0:pt(Object(r["M"])(t))}function ht(t){return t&&t["__v_isReadonly"]?t:gt(t,!1,D,ot,ct)}function vt(t){return gt(t,!1,B,st,ut)}function mt(t){return gt(t,!0,I,at,lt)}function gt(t,e,n,i,o){if(!Object(r["t"])(t))return t;if(t["__v_raw"]&&(!e||!t["__v_isReactive"]))return t;const s=o.get(t);if(s)return s;const a=dt(t);if(0===a)return t;const c=new Proxy(t,2===a?i:n);return o.set(t,c),c}function bt(t){return _t(t)?bt(t["__v_raw"]):!(!t||!t["__v_isReactive"])}function _t(t){return!(!t||!t["__v_isReadonly"])}function yt(t){return bt(t)||_t(t)}function Ot(t){return t&&Ot(t["__v_raw"])||t}function wt(t){return Object(r["g"])(t,"__v_skip",!0),t}const jt=t=>Object(r["t"])(t)?ht(t):t;function xt(t){return Boolean(t&&!0===t.__v_isRef)}function Tt(t){return Ct(t)}class St{constructor(t,e){this._rawValue=t,this._shallow=e,this.__v_isRef=!0,this._value=e?t:jt(t)}get value(){return y(Ot(this),"get","value"),this._value}set value(t){Object(r["i"])(Ot(t),this._rawValue)&&(this._rawValue=t,this._value=this._shallow?t:jt(t),O(Ot(this),"set","value",t))}}function Ct(t,e=!1){return xt(t)?t:new St(t,e)}function kt(t){return xt(t)?t.value:t}const At={get:(t,e,n)=>kt(Reflect.get(t,e,n)),set:(t,e,n,r)=>{const i=t[e];return xt(i)&&!xt(n)?(i.value=n,!0):Reflect.set(t,e,n,r)}};function Et(t){return bt(t)?t:new Proxy(t,At)}function Mt(t){const e=Object(r["m"])(t)?new Array(t.length):{};for(const n in t)e[n]=Ft(t,n);return e}class Pt{constructor(t,e){this._object=t,this._key=e,this.__v_isRef=!0}get value(){return this._object[this._key]}set value(t){this._object[this._key]=t}}function Ft(t,e){return xt(t[e])?t[e]:new Pt(t,e)}class Rt{constructor(t,e,n){this._setter=e,this._dirty=!0,this.__v_isRef=!0,this.effect=l(t,{lazy:!0,scheduler:()=>{this._dirty||(this._dirty=!0,O(Ot(this),"set","value"))}}),this["__v_isReadonly"]=n}get value(){const t=Ot(this);return t._dirty&&(t._value=this.effect(),t._dirty=!1),y(t,"get","value"),t._value}set value(t){this._setter(t)}}function Lt(t){let e,n;return Object(r["n"])(t)?(e=t,n=r["d"]):(e=t.get,n=t.set),new Rt(e,n,Object(r["n"])(t)||!t.set)}},a4b4:function(t,e,n){var r=n("342f");t.exports=/web0s(?!.*chrome)/i.test(r)},a4d3:function(t,e,n){"use strict";var r=n("23e7"),i=n("da84"),o=n("d066"),s=n("c430"),a=n("83ab"),c=n("4930"),u=n("fdbf"),l=n("d039"),f=n("5135"),p=n("e8b5"),d=n("861d"),h=n("825a"),v=n("7b0b"),m=n("fc6a"),g=n("c04e"),b=n("5c6c"),_=n("7c73"),y=n("df75"),O=n("241c"),w=n("057f"),j=n("7418"),x=n("06cf"),T=n("9bf2"),S=n("d1e7"),C=n("9112"),k=n("6eeb"),A=n("5692"),E=n("f772"),M=n("d012"),P=n("90e3"),F=n("b622"),R=n("e538"),L=n("746f"),D=n("d44e"),I=n("69f3"),B=n("b727").forEach,N=E("hidden"),z="Symbol",U="prototype",V=F("toPrimitive"),$=I.set,q=I.getterFor(z),W=Object[U],G=i.Symbol,H=o("JSON","stringify"),Y=x.f,X=T.f,K=w.f,J=S.f,Q=A("symbols"),Z=A("op-symbols"),tt=A("string-to-symbol-registry"),et=A("symbol-to-string-registry"),nt=A("wks"),rt=i.QObject,it=!rt||!rt[U]||!rt[U].findChild,ot=a&&l((function(){return 7!=_(X({},"a",{get:function(){return X(this,"a",{value:7}).a}})).a}))?function(t,e,n){var r=Y(W,e);r&&delete W[e],X(t,e,n),r&&t!==W&&X(W,e,r)}:X,st=function(t,e){var n=Q[t]=_(G[U]);return $(n,{type:z,tag:t,description:e}),a||(n.description=e),n},at=u?function(t){return"symbol"==typeof t}:function(t){return Object(t)instanceof G},ct=function(t,e,n){t===W&&ct(Z,e,n),h(t);var r=g(e,!0);return h(n),f(Q,r)?(n.enumerable?(f(t,N)&&t[N][r]&&(t[N][r]=!1),n=_(n,{enumerable:b(0,!1)})):(f(t,N)||X(t,N,b(1,{})),t[N][r]=!0),ot(t,r,n)):X(t,r,n)},ut=function(t,e){h(t);var n=m(e),r=y(n).concat(ht(n));return B(r,(function(e){a&&!ft.call(n,e)||ct(t,e,n[e])})),t},lt=function(t,e){return void 0===e?_(t):ut(_(t),e)},ft=function(t){var e=g(t,!0),n=J.call(this,e);return!(this===W&&f(Q,e)&&!f(Z,e))&&(!(n||!f(this,e)||!f(Q,e)||f(this,N)&&this[N][e])||n)},pt=function(t,e){var n=m(t),r=g(e,!0);if(n!==W||!f(Q,r)||f(Z,r)){var i=Y(n,r);return!i||!f(Q,r)||f(n,N)&&n[N][r]||(i.enumerable=!0),i}},dt=function(t){var e=K(m(t)),n=[];return B(e,(function(t){f(Q,t)||f(M,t)||n.push(t)})),n},ht=function(t){var e=t===W,n=K(e?Z:m(t)),r=[];return B(n,(function(t){!f(Q,t)||e&&!f(W,t)||r.push(Q[t])})),r};if(c||(G=function(){if(this instanceof G)throw TypeError("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,e=P(t),n=function(t){this===W&&n.call(Z,t),f(this,N)&&f(this[N],e)&&(this[N][e]=!1),ot(this,e,b(1,t))};return a&&it&&ot(W,e,{configurable:!0,set:n}),st(e,t)},k(G[U],"toString",(function(){return q(this).tag})),k(G,"withoutSetter",(function(t){return st(P(t),t)})),S.f=ft,T.f=ct,x.f=pt,O.f=w.f=dt,j.f=ht,R.f=function(t){return st(F(t),t)},a&&(X(G[U],"description",{configurable:!0,get:function(){return q(this).description}}),s||k(W,"propertyIsEnumerable",ft,{unsafe:!0}))),r({global:!0,wrap:!0,forced:!c,sham:!c},{Symbol:G}),B(y(nt),(function(t){L(t)})),r({target:z,stat:!0,forced:!c},{for:function(t){var e=String(t);if(f(tt,e))return tt[e];var n=G(e);return tt[e]=n,et[n]=e,n},keyFor:function(t){if(!at(t))throw TypeError(t+" is not a symbol");if(f(et,t))return et[t]},useSetter:function(){it=!0},useSimple:function(){it=!1}}),r({target:"Object",stat:!0,forced:!c,sham:!a},{create:lt,defineProperty:ct,defineProperties:ut,getOwnPropertyDescriptor:pt}),r({target:"Object",stat:!0,forced:!c},{getOwnPropertyNames:dt,getOwnPropertySymbols:ht}),r({target:"Object",stat:!0,forced:l((function(){j.f(1)}))},{getOwnPropertySymbols:function(t){return j.f(v(t))}}),H){var vt=!c||l((function(){var t=G();return"[null]"!=H([t])||"{}"!=H({a:t})||"{}"!=H(Object(t))}));r({target:"JSON",stat:!0,forced:vt},{stringify:function(t,e,n){var r,i=[t],o=1;while(arguments.length>o)i.push(arguments[o++]);if(r=e,(d(e)||void 0!==t)&&!at(t))return p(e)||(e=function(t,e){if("function"==typeof r&&(e=r.call(this,t,e)),!at(e))return e}),i[1]=e,H.apply(null,i)}})}G[U][V]||C(G[U],V,G[U].valueOf),D(G,z),M[N]=!0},a630:function(t,e,n){var r=n("23e7"),i=n("4df4"),o=n("1c7e"),s=!o((function(t){Array.from(t)}));r({target:"Array",stat:!0,forced:s},{from:i})},a640:function(t,e,n){"use strict";var r=n("d039");t.exports=function(t,e){var n=[][t];return!!n&&r((function(){n.call(null,e||function(){throw 1},1)}))}},a691:function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},a79d:function(t,e,n){"use strict";var r=n("23e7"),i=n("c430"),o=n("fea9"),s=n("d039"),a=n("d066"),c=n("4840"),u=n("cdf9"),l=n("6eeb"),f=!!o&&s((function(){o.prototype["finally"].call({then:function(){}},(function(){}))}));if(r({target:"Promise",proto:!0,real:!0,forced:f},{finally:function(t){var e=c(this,a("Promise")),n="function"==typeof t;return this.then(n?function(n){return u(e,t()).then((function(){return n}))}:t,n?function(n){return u(e,t()).then((function(){throw n}))}:t)}}),!i&&"function"==typeof o){var p=a("Promise").prototype["finally"];o.prototype["finally"]!==p&&l(o.prototype,"finally",p,{unsafe:!0})}},ae93:function(t,e,n){"use strict";var r,i,o,s=n("d039"),a=n("e163"),c=n("9112"),u=n("5135"),l=n("b622"),f=n("c430"),p=l("iterator"),d=!1,h=function(){return this};[].keys&&(o=[].keys(),"next"in o?(i=a(a(o)),i!==Object.prototype&&(r=i)):d=!0);var v=void 0==r||s((function(){var t={};return r[p].call(t)!==t}));v&&(r={}),f&&!v||u(r,p)||c(r,p,h),t.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:d}},b041:function(t,e,n){"use strict";var r=n("00ee"),i=n("f5df");t.exports=r?{}.toString:function(){return"[object "+i(this)+"]"}},b0c0:function(t,e,n){var r=n("83ab"),i=n("9bf2").f,o=Function.prototype,s=o.toString,a=/^\s*function ([^ (]*)/,c="name";r&&!(c in o)&&i(o,c,{configurable:!0,get:function(){try{return s.call(this).match(a)[1]}catch(t){return""}}})},b575:function(t,e,n){var r,i,o,s,a,c,u,l,f=n("da84"),p=n("06cf").f,d=n("2cf4").set,h=n("1cdc"),v=n("a4b4"),m=n("605d"),g=f.MutationObserver||f.WebKitMutationObserver,b=f.document,_=f.process,y=f.Promise,O=p(f,"queueMicrotask"),w=O&&O.value;w||(r=function(){var t,e;m&&(t=_.domain)&&t.exit();while(i){e=i.fn,i=i.next;try{e()}catch(n){throw i?s():o=void 0,n}}o=void 0,t&&t.enter()},h||m||v||!g||!b?y&&y.resolve?(u=y.resolve(void 0),u.constructor=y,l=u.then,s=function(){l.call(u,r)}):s=m?function(){_.nextTick(r)}:function(){d.call(f,r)}:(a=!0,c=b.createTextNode(""),new g(r).observe(c,{characterData:!0}),s=function(){c.data=a=!a})),t.exports=w||function(t){var e={fn:t,next:void 0};o&&(o.next=e),i||(i=e,s()),o=e}},b622:function(t,e,n){var r=n("da84"),i=n("5692"),o=n("5135"),s=n("90e3"),a=n("4930"),c=n("fdbf"),u=i("wks"),l=r.Symbol,f=c?l:l&&l.withoutSetter||s;t.exports=function(t){return o(u,t)&&(a||"string"==typeof u[t])||(a&&o(l,t)?u[t]=l[t]:u[t]=f("Symbol."+t)),u[t]}},b64b:function(t,e,n){var r=n("23e7"),i=n("7b0b"),o=n("df75"),s=n("d039"),a=s((function(){o(1)}));r({target:"Object",stat:!0,forced:a},{keys:function(t){return o(i(t))}})},b727:function(t,e,n){var r=n("0366"),i=n("44ad"),o=n("7b0b"),s=n("50c4"),a=n("65f0"),c=[].push,u=function(t){var e=1==t,n=2==t,u=3==t,l=4==t,f=6==t,p=7==t,d=5==t||f;return function(h,v,m,g){for(var b,_,y=o(h),O=i(y),w=r(v,m,3),j=s(O.length),x=0,T=g||a,S=e?T(h,j):n||p?T(h,0):void 0;j>x;x++)if((d||x in O)&&(b=O[x],_=w(b,x,y),t))if(e)S[x]=_;else if(_)switch(t){case 3:return!0;case 5:return b;case 6:return x;case 2:c.call(S,b)}else switch(t){case 4:return!1;case 7:c.call(S,b)}return f?-1:u||l?l:S}};t.exports={forEach:u(0),map:u(1),filter:u(2),some:u(3),every:u(4),find:u(5),findIndex:u(6),filterOut:u(7)}},b85c:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));n("a4d3"),n("e01a"),n("d3b7"),n("d28b"),n("3ca3"),n("ddb0"),n("fb6a"),n("b0c0"),n("a630");function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,a=!0,c=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){c=!0,s=t},f:function(){try{a||null==n["return"]||n["return"]()}finally{if(c)throw s}}}}},c04e:function(t,e,n){var r=n("861d");t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},c430:function(t,e){t.exports=!1},c6b6:function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},c6cd:function(t,e,n){var r=n("da84"),i=n("ce4e"),o="__core-js_shared__",s=r[o]||i(o,{});t.exports=s},c8ba:function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"===typeof window&&(n=window)}t.exports=n},ca84:function(t,e,n){var r=n("5135"),i=n("fc6a"),o=n("4d64").indexOf,s=n("d012");t.exports=function(t,e){var n,a=i(t),c=0,u=[];for(n in a)!r(s,n)&&r(a,n)&&u.push(n);while(e.length>c)r(a,n=e[c++])&&(~o(u,n)||u.push(n));return u}},cc12:function(t,e,n){var r=n("da84"),i=n("861d"),o=r.document,s=i(o)&&i(o.createElement);t.exports=function(t){return s?o.createElement(t):{}}},cca6:function(t,e,n){var r=n("23e7"),i=n("60da");r({target:"Object",stat:!0,forced:Object.assign!==i},{assign:i})},cdf9:function(t,e,n){var r=n("825a"),i=n("861d"),o=n("f069");t.exports=function(t,e){if(r(t),i(e)&&e.constructor===t)return e;var n=o.f(t),s=n.resolve;return s(e),n.promise}},ce4e:function(t,e,n){var r=n("da84"),i=n("9112");t.exports=function(t,e){try{i(r,t,e)}catch(n){r[t]=e}return e}},cffa:function(t,e,n){"use strict";function r(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function i(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e} +/*! + * GSAP 3.7.0 + * https://greensock.com + * + * @license Copyright 2008-2021, GreenSock. All rights reserved. + * Subject to the terms at https://greensock.com/standard-license or for + * Club GreenSock members, the agreement issued with that membership. + * @author: Jack Doyle, jack@greensock.com +*/n.d(e,"a",(function(){return Lr}));var o,s,a,c,u,l,f,p,d,h={autoSleep:120,force3D:"auto",nullTargetWarn:1,units:{lineHeight:""}},v={duration:.5,overwrite:!1,delay:0},m=1e8,g=1/m,b=2*Math.PI,_=b/4,y=0,O=Math.sqrt,w=Math.cos,j=Math.sin,x=function(t){return"string"===typeof t},T=function(t){return"function"===typeof t},S=function(t){return"number"===typeof t},C=function(t){return"undefined"===typeof t},k=function(t){return"object"===typeof t},A=function(t){return!1!==t},E=function(){return"undefined"!==typeof window},M=function(t){return T(t)||x(t)},P="function"===typeof ArrayBuffer&&ArrayBuffer.isView||function(){},F=Array.isArray,R=/(?:-?\.?\d|\.)+/gi,L=/[-+=.]*\d+[.e\-+]*\d*[e\-+]*\d*/g,D=/[-+=.]*\d+[.e-]*\d*[a-z%]*/g,I=/[-+=.]*\d+\.?\d*(?:e-|e\+)?\d*/gi,B=/[+-]=-?[.\d]+/,N=/[^,'"\[\]\s]+/gi,z=/[\d.+\-=]+(?:e[-+]\d*)*/i,U={},V={},$=function(t){return(V=ht(t,U))&&_n},q=function(t,e){return console.warn("Invalid property",t,"set to",e,"Missing plugin? gsap.registerPlugin()")},W=function(t,e){return!e&&console.warn(t)},G=function(t,e){return t&&(U[t]=e)&&V&&(V[t]=e)||U},H=function(){return 0},Y={},X=[],K={},J={},Q={},Z=30,tt=[],et="",nt=function(t){var e,n,r=t[0];if(k(r)||T(r)||(t=[t]),!(e=(r._gsap||{}).harness)){n=tt.length;while(n--&&!tt[n].targetTest(r));e=tt[n]}n=t.length;while(n--)t[n]&&(t[n]._gsap||(t[n]._gsap=new ze(t[n],e)))||t.splice(n,1);return t},rt=function(t){return t._gsap||nt(Kt(t))[0]._gsap},it=function(t,e,n){return(n=t[e])&&T(n)?t[e]():C(n)&&t.getAttribute&&t.getAttribute(e)||n},ot=function(t,e){return(t=t.split(",")).forEach(e)||t},st=function(t){return Math.round(1e5*t)/1e5||0},at=function(t,e){for(var n=e.length,r=0;t.indexOf(e[r])<0&&++ro)s=s._prev}return s?(e._next=s._next,s._next=e):(e._next=t[n],t[n]=e),e._next?e._next._prev=e:t[r]=e,e._prev=s,e.parent=e._dp=t,e},yt=function(t,e,n,r){void 0===n&&(n="_first"),void 0===r&&(r="_last");var i=e._prev,o=e._next;i?i._next=o:t[n]===e&&(t[n]=o),o?o._prev=i:t[r]===e&&(t[r]=i),e._next=e._prev=e.parent=null},Ot=function(t,e){t.parent&&(!e||t.parent.autoRemoveChildren)&&t.parent.remove(t),t._act=0},wt=function(t,e){if(t&&(!e||e._end>t._dur||e._start<0)){var n=t;while(n)n._dirty=1,n=n.parent}return t},jt=function(t){var e=t.parent;while(e&&e.parent)e._dirty=1,e.totalDuration(),e=e.parent;return t},xt=function t(e){return!e||e._ts&&t(e.parent)},Tt=function(t){return t._repeat?St(t._tTime,t=t.duration()+t._rDelay)*t:0},St=function(t,e){var n=Math.floor(t/=e);return t&&n===t?n-1:n},Ct=function(t,e){return(t-e._start)*e._ts+(e._ts>=0?0:e._dirty?e.totalDuration():e._tDur)},kt=function(t){return t._end=st(t._start+(t._tDur/Math.abs(t._ts||t._rts||g)||0))},At=function(t,e){var n=t._dp;return n&&n.smoothChildTiming&&t._ts&&(t._start=st(n._time-(t._ts>0?e/t._ts:((t._dirty?t.totalDuration():t._tDur)-e)/-t._ts)),kt(t),n._dirty||wt(n,t)),t},Et=function(t,e){var n;if((e._time||e._initted&&!e._dur)&&(n=Ct(t.rawTime(),e),(!e._dur||qt(0,e.totalDuration(),n)-e._tTime>g)&&e.render(n,!0)),wt(t,e)._dp&&t._initted&&t._time>=t._dur&&t._ts){if(t._dur=0&&n.totalTime(n._tTime),n=n._dp}t._zTime=-g}},Mt=function(t,e,n,r){return e.parent&&Ot(e),e._start=st((S(n)?n:n||t!==s?Ut(t,n,e):t._time)+e._delay),e._end=st(e._start+(e.totalDuration()/Math.abs(e.timeScale())||0)),_t(t,e,"_first","_last",t._sort?"_start":0),Lt(e)||(t._recent=e),r||Et(t,e),t},Pt=function(t,e){return(U.ScrollTrigger||q("scrollTrigger",e))&&U.ScrollTrigger.create(e,t)},Ft=function(t,e,n,r){return Ye(t,e),t._initted?!n&&t._pt&&(t._dur&&!1!==t.vars.lazy||!t._dur&&t.vars.lazy)&&f!==Te.frame?(X.push(t),t._lazy=[e,r],1):void 0:1},Rt=function t(e){var n=e.parent;return n&&n._ts&&n._initted&&!n._lock&&(n.rawTime()<0||t(n))},Lt=function(t){var e=t.data;return"isFromStart"===e||"isStart"===e},Dt=function(t,e,n,r){var i,o,s,a=t.ratio,c=e<0||!e&&(!t._start&&Rt(t)&&(t._initted||!Lt(t))||(t._ts<0||t._dp._ts<0)&&!Lt(t))?0:1,u=t._rDelay,l=0;if(u&&t._repeat&&(l=qt(0,t._tDur,e),o=St(l,u),s=St(t._tTime,u),t._yoyo&&1&o&&(c=1-c),o!==s&&(a=1-c,t.vars.repeatRefresh&&t._initted&&t.invalidate())),c!==a||r||t._zTime===g||!e&&t._zTime){if(!t._initted&&Ft(t,e,r,n))return;s=t._zTime,t._zTime=e||(n?g:0),n||(n=e&&!s),t.ratio=c,t._from&&(c=1-c),t._time=0,t._tTime=l,i=t._pt;while(i)i.r(c,i.d),i=i._next;t._startAt&&e<0&&t._startAt.render(e,!0,!0),t._onUpdate&&!n&&de(t,"onUpdate"),l&&t._repeat&&!n&&t.parent&&de(t,"onRepeat"),(e>=t._tDur||e<0)&&t.ratio===c&&(c&&Ot(t,1),n||(de(t,c?"onComplete":"onReverseComplete",!0),t._prom&&t._prom()))}else t._zTime||(t._zTime=e)},It=function(t,e,n){var r;if(n>e){r=t._first;while(r&&r._start<=n){if(!r._dur&&"isPause"===r.data&&r._start>e)return r;r=r._next}}else{r=t._last;while(r&&r._start>=n){if(!r._dur&&"isPause"===r.data&&r._start=m?c.endTime(!1):e._dur;return x(n)&&(isNaN(n)||n in a)?(o=n.charAt(0),s="%"===n.substr(-1),i=n.indexOf("="),"<"===o||">"===o?(i>=0&&(n=n.replace(/=/,"")),("<"===o?c._start:c.endTime(c._repeat>=0))+(parseFloat(n.substr(1))||0)*(s?(i<0?c:r).totalDuration()/100:1)):i<0?(n in a||(a[n]=u),a[n]):(o=parseFloat(n.charAt(i-1)+n.substr(i+1)),s&&r&&(o=o/100*(F(r)?r[0]:r).totalDuration()),i>1?t(e,n.substr(0,i-1),r)+o:u+o)):null==n?u:+n},Vt=function(t,e,n){var r,i,o=S(e[1]),s=(o?2:1)+(t<2?0:1),a=e[s];if(o&&(a.duration=e[1]),a.parent=n,t){r=a,i=n;while(i&&!("immediateRender"in r))r=i.vars.defaults||{},i=A(i.vars.inherit)&&i.parent;a.immediateRender=A(r.immediateRender),t<2?a.runBackwards=1:a.startAt=e[s-1]}return new Ze(e[0],a,e[s+1])},$t=function(t,e){return t||0===t?e(t):e},qt=function(t,e,n){return ne?e:n},Wt=function(t){if("string"!==typeof t)return"";var e=z.exec(t);return e?t.substr(e.index+e[0].length):""},Gt=function(t,e,n){return $t(n,(function(n){return qt(t,e,n)}))},Ht=[].slice,Yt=function(t,e){return t&&k(t)&&"length"in t&&(!e&&!t.length||t.length-1 in t&&k(t[0]))&&!t.nodeType&&t!==a},Xt=function(t,e,n){return void 0===n&&(n=[]),t.forEach((function(t){var r;return x(t)&&!e||Yt(t,1)?(r=n).push.apply(r,Kt(t)):n.push(t)}))||n},Kt=function(t,e,n){return!x(t)||n||!c&&Se()?F(t)?Xt(t,n):Yt(t)?Ht.call(t,0):t?[t]:[]:Ht.call((e||u).querySelectorAll(t),0)},Jt=function(t){return t=Kt(t)[0]||W("Invalid scope")||{},function(e){var n=t.current||t.nativeElement||t;return Kt(e,n.querySelectorAll?n:n===t?W("Invalid scope")||u.createElement("div"):t)}},Qt=function(t){return t.sort((function(){return.5-Math.random()}))},Zt=function(t){if(T(t))return t;var e=k(t)?t:{each:t},n=Le(e.ease),r=e.from||0,i=parseFloat(e.base)||0,o={},s=r>0&&r<1,a=isNaN(r)||s,c=e.axis,u=r,l=r;return x(r)?u=l={center:.5,edges:.5,end:1}[r]||0:!s&&a&&(u=r[0],l=r[1]),function(t,s,f){var p,d,h,v,g,b,_,y,w,j=(f||e).length,x=o[j];if(!x){if(w="auto"===e.grid?0:(e.grid||[1,m])[1],!w){_=-m;while(_<(_=f[w++].getBoundingClientRect().left)&&w_&&(_=g),gj?j-1:c?"y"===c?j/w:w:Math.max(w,j/w))||0)*("edges"===r?-1:1),x.b=j<0?i-j:i,x.u=Wt(e.amount||e.each)||0,n=n&&j<0?Fe(n):n}return j=(x[t]-x.min)/x.max||0,st(x.b+(n?n(j):j)*x.v)+x.u}},te=function(t){var e=t<1?Math.pow(10,(t+"").length-2):1;return function(n){var r=Math.round(parseFloat(n)/t)*t*e;return(r-r%1)/e+(S(n)?0:Wt(n))}},ee=function(t,e){var n,r,i=F(t);return!i&&k(t)&&(n=i=t.radius||m,t.values?(t=Kt(t.values),(r=!S(t[0]))&&(n*=n)):t=te(t.increment)),$t(e,i?T(t)?function(e){return r=t(e),Math.abs(r-e)<=n?r:e}:function(e){var i,o,s=parseFloat(r?e.x:e),a=parseFloat(r?e.y:0),c=m,u=0,l=t.length;while(l--)r?(i=t[l].x-s,o=t[l].y-a,i=i*i+o*o):i=Math.abs(t[l]-s),ii?o-t:t)}))},ue=function(t){var e,n,r,i,o=0,s="";while(~(e=t.indexOf("random(",o)))r=t.indexOf(")",e),i="["===t.charAt(e+7),n=t.substr(e+7,r-e-7).match(i?N:R),s+=t.substr(o,e-o)+ne(i?n:+n[0],i?0:+n[1],+n[2]||1e-5),o=r+1;return s+t.substr(o,t.length-o)},le=function(t,e,n,r,i){var o=e-t,s=r-n;return $t(i,(function(e){return n+((e-t)/o*s||0)}))},fe=function t(e,n,r,i){var o=isNaN(e+n)?0:function(t){return(1-t)*e+t*n};if(!o){var s,a,c,u,l,f=x(e),p={};if(!0===r&&(i=1)&&(r=null),f)e={p:e},n={p:n};else if(F(e)&&!F(n)){for(c=[],u=e.length,l=u-2,a=1;a(i=Math.abs(i))&&(o=r,a=i);return o},de=function(t,e,n){var r,i,o=t.vars,s=o[e];if(s)return r=o[e+"Params"],i=o.callbackScope||t,n&&X.length&&ct(),r?s.apply(i,r):s.call(i)},he=function(t){return Ot(t),t.scrollTrigger&&t.scrollTrigger.kill(!1),t.progress()<1&&de(t,"onInterrupt"),t},ve=function(t){t=!t.name&&t["default"]||t;var e=t.name,n=T(t),r=e&&!n&&t.init?function(){this._props=[]}:t,i={init:H,render:un,add:We,kill:fn,modifier:ln,rawVars:0},o={targetTest:0,get:0,getSetter:on,aliases:{},register:0};if(Se(),t!==r){if(J[e])return;pt(r,pt(mt(t,i),o)),ht(r.prototype,ht(i,mt(t,o))),J[r.prop=e]=r,t.targetTest&&(tt.push(r),Y[e]=1),e=("css"===e?"CSS":e.charAt(0).toUpperCase()+e.substr(1))+"Plugin"}G(e,r),t.register&&t.register(_n,r,hn)},me=255,ge={aqua:[0,me,me],lime:[0,me,0],silver:[192,192,192],black:[0,0,0],maroon:[128,0,0],teal:[0,128,128],blue:[0,0,me],navy:[0,0,128],white:[me,me,me],olive:[128,128,0],yellow:[me,me,0],orange:[me,165,0],gray:[128,128,128],purple:[128,0,128],green:[0,128,0],red:[me,0,0],pink:[me,192,203],cyan:[0,me,me],transparent:[me,me,me,0]},be=function(t,e,n){return t=t<0?t+1:t>1?t-1:t,(6*t<1?e+(n-e)*t*6:t<.5?n:3*t<2?e+(n-e)*(2/3-t)*6:e)*me+.5|0},_e=function(t,e,n){var r,i,o,s,a,c,u,l,f,p,d=t?S(t)?[t>>16,t>>8&me,t&me]:0:ge.black;if(!d){if(","===t.substr(-1)&&(t=t.substr(0,t.length-1)),ge[t])d=ge[t];else if("#"===t.charAt(0)){if(t.length<6&&(r=t.charAt(1),i=t.charAt(2),o=t.charAt(3),t="#"+r+r+i+i+o+o+(5===t.length?t.charAt(4)+t.charAt(4):"")),9===t.length)return d=parseInt(t.substr(1,6),16),[d>>16,d>>8&me,d&me,parseInt(t.substr(7),16)/255];t=parseInt(t.substr(1),16),d=[t>>16,t>>8&me,t&me]}else if("hsl"===t.substr(0,3))if(d=p=t.match(R),e){if(~t.indexOf("="))return d=t.match(L),n&&d.length<4&&(d[3]=1),d}else s=+d[0]%360/360,a=+d[1]/100,c=+d[2]/100,i=c<=.5?c*(a+1):c+a-c*a,r=2*c-i,d.length>3&&(d[3]*=1),d[0]=be(s+1/3,r,i),d[1]=be(s,r,i),d[2]=be(s-1/3,r,i);else d=t.match(R)||ge.transparent;d=d.map(Number)}return e&&!p&&(r=d[0]/me,i=d[1]/me,o=d[2]/me,u=Math.max(r,i,o),l=Math.min(r,i,o),c=(u+l)/2,u===l?s=a=0:(f=u-l,a=c>.5?f/(2-u-l):f/(u+l),s=u===r?(i-o)/f+(if&&(h+=g-p),v+=g,l=v-h,c=l-b,(c>0||y)&&(d=++r.frame,i=l-1e3*r.time,r.time=l/=1e3,b+=c+(c>=m?4:m-c),u=1),y||(t=e(n)),u)for(o=0;o<_.length;o++)_[o](l,i,d,a)};return r={time:0,frame:0,tick:function(){y(!0)},deltaRatio:function(t){return i/(1e3/(t||60))},wake:function(){l&&(!c&&E()&&(a=c=window,u=a.document||{},U.gsap=_n,(a.gsapVersions||(a.gsapVersions=[])).push(_n.version),$(V||a.GreenSockGlobals||!a.gsap&&a||{}),n=a.requestAnimationFrame),t&&r.sleep(),e=n||function(t){return setTimeout(t,b-1e3*r.time+1|0)},d=1,y(2))},sleep:function(){(n?a.cancelAnimationFrame:clearTimeout)(t),d=0,e=H},lagSmoothing:function(t,e){f=t||1/g,p=Math.min(e,f,0)},fps:function(t){m=1e3/(t||240),b=1e3*r.time+m},add:function(t){_.indexOf(t)<0&&_.push(t),Se()},remove:function(t){var e;~(e=_.indexOf(t))&&_.splice(e,1)&&o>=e&&o--},_listeners:_},r}(),Se=function(){return!d&&Te.wake()},Ce={},ke=/^[\d.\-M][\d.\-,\s]/,Ae=/["']/g,Ee=function(t){for(var e,n,r,i={},o=t.substr(1,t.length-3).split(":"),s=o[0],a=1,c=o.length;a1&&n.config?n.config.apply(null,~t.indexOf("{")?[Ee(e[1])]:Me(t).split(",").map(lt)):Ce._CE&&ke.test(t)?Ce._CE("",t):n},Fe=function(t){return function(e){return 1-t(1-e)}},Re=function t(e,n){var r,i=e._first;while(i)i instanceof Ve?t(i,n):!i.vars.yoyoEase||i._yoyo&&i._repeat||i._yoyo===n||(i.timeline?t(i.timeline,n):(r=i._ease,i._ease=i._yEase,i._yEase=r,i._yoyo=n)),i=i._next},Le=function(t,e){return t&&(T(t)?t:Ce[t]||Pe(t))||e},De=function(t,e,n,r){void 0===n&&(n=function(t){return 1-e(1-t)}),void 0===r&&(r=function(t){return t<.5?e(2*t)/2:1-e(2*(1-t))/2});var i,o={easeIn:e,easeOut:n,easeInOut:r};return ot(t,(function(t){for(var e in Ce[t]=U[t]=o,Ce[i=t.toLowerCase()]=n,o)Ce[i+("easeIn"===e?".in":"easeOut"===e?".out":".inOut")]=Ce[t+"."+e]=o[e]})),o},Ie=function(t){return function(e){return e<.5?(1-t(1-2*e))/2:.5+t(2*(e-.5))/2}},Be=function t(e,n,r){var i=n>=1?n:1,o=(r||(e?.3:.45))/(n<1?n:1),s=o/b*(Math.asin(1/i)||0),a=function(t){return 1===t?1:i*Math.pow(2,-10*t)*j((t-s)*o)+1},c="out"===e?a:"in"===e?function(t){return 1-a(1-t)}:Ie(a);return o=b/o,c.config=function(n,r){return t(e,n,r)},c},Ne=function t(e,n){void 0===n&&(n=1.70158);var r=function(t){return t?--t*t*((n+1)*t+n)+1:0},i="out"===e?r:"in"===e?function(t){return 1-r(1-t)}:Ie(r);return i.config=function(n){return t(e,n)},i};ot("Linear,Quad,Cubic,Quart,Quint,Strong",(function(t,e){var n=e<5?e+1:e;De(t+",Power"+(n-1),e?function(t){return Math.pow(t,n)}:function(t){return t},(function(t){return 1-Math.pow(1-t,n)}),(function(t){return t<.5?Math.pow(2*t,n)/2:1-Math.pow(2*(1-t),n)/2}))})),Ce.Linear.easeNone=Ce.none=Ce.Linear.easeIn,De("Elastic",Be("in"),Be("out"),Be()),function(t,e){var n=1/e,r=2*n,i=2.5*n,o=function(o){return o0?t+(t+this._rDelay)*this._repeat:t):this.totalDuration()&&this._dur},e.totalDuration=function(t){return arguments.length?(this._dirty=0,Bt(this,this._repeat<0?t:(t-this._repeat*this._rDelay)/(this._repeat+1))):this._tDur},e.totalTime=function(t,e){if(Se(),!arguments.length)return this._tTime;var n=this._dp;if(n&&n.smoothChildTiming&&this._ts){At(this,t),!n._dp||n.parent||Et(n,this);while(n.parent)n.parent._time!==n._start+(n._ts>=0?n._tTime/n._ts:(n.totalDuration()-n._tTime)/-n._ts)&&n.totalTime(n._tTime,!0),n=n.parent;!this.parent&&this._dp.autoRemoveChildren&&(this._ts>0&&t0||!this._tDur&&!t)&&Mt(this._dp,this,this._start-this._delay)}return(this._tTime!==t||!this._dur&&!e||this._initted&&Math.abs(this._zTime)===g||!t&&!this._initted&&(this.add||this._ptLookup))&&(this._ts||(this._pTime=t),ut(this,t,e)),this},e.time=function(t,e){return arguments.length?this.totalTime(Math.min(this.totalDuration(),t+Tt(this))%this._dur||(t?this._dur:0),e):this._time},e.totalProgress=function(t,e){return arguments.length?this.totalTime(this.totalDuration()*t,e):this.totalDuration()?Math.min(1,this._tTime/this._tDur):this.ratio},e.progress=function(t,e){return arguments.length?this.totalTime(this.duration()*(!this._yoyo||1&this.iteration()?t:1-t)+Tt(this),e):this.duration()?Math.min(1,this._time/this._dur):this.ratio},e.iteration=function(t,e){var n=this.duration()+this._rDelay;return arguments.length?this.totalTime(this._time+(t-1)*n,e):this._repeat?St(this._tTime,n)+1:1},e.timeScale=function(t){if(!arguments.length)return this._rts===-g?0:this._rts;if(this._rts===t)return this;var e=this.parent&&this._ts?Ct(this.parent._time,this):this._tTime;return this._rts=+t||0,this._ts=this._ps||t===-g?0:this._rts,jt(this.totalTime(qt(-this._delay,this._tDur,e),!0))},e.paused=function(t){return arguments.length?(this._ps!==t&&(this._ps=t,t?(this._pTime=this._tTime||Math.max(-this._delay,this.rawTime()),this._ts=this._act=0):(Se(),this._ts=this._rts,this.totalTime(this.parent&&!this.parent.smoothChildTiming?this.rawTime():this._tTime||this._pTime,1===this.progress()&&(this._tTime-=g)&&Math.abs(this._zTime)!==g))),this):this._ps},e.startTime=function(t){if(arguments.length){this._start=t;var e=this.parent||this._dp;return e&&(e._sort||!this.parent)&&Mt(e,this,t-this._delay),this}return this._start},e.endTime=function(t){return this._start+(A(t)?this.totalDuration():this.duration())/Math.abs(this._ts)},e.rawTime=function(t){var e=this.parent||this._dp;return e?t&&(!this._ts||this._repeat&&this._time&&this.totalProgress()<1)?this._tTime%(this._dur+this._rDelay):this._ts?Ct(e.rawTime(t),this):this._tTime:this._tTime},e.globalTime=function(t){var e=this,n=arguments.length?t:e.rawTime();while(e)n=e._start+n/(e._ts||1),e=e._dp;return n},e.repeat=function(t){return arguments.length?(this._repeat=t===1/0?-2:t,Nt(this)):-2===this._repeat?1/0:this._repeat},e.repeatDelay=function(t){return arguments.length?(this._rDelay=t,Nt(this)):this._rDelay},e.yoyo=function(t){return arguments.length?(this._yoyo=t,this):this._yoyo},e.seek=function(t,e){return this.totalTime(Ut(this,t),A(e))},e.restart=function(t,e){return this.play().totalTime(t?-this._delay:0,A(e))},e.play=function(t,e){return null!=t&&this.seek(t,e),this.reversed(!1).paused(!1)},e.reverse=function(t,e){return null!=t&&this.seek(t||this.totalDuration(),e),this.reversed(!0).paused(!1)},e.pause=function(t,e){return null!=t&&this.seek(t,e),this.paused(!0)},e.resume=function(){return this.paused(!1)},e.reversed=function(t){return arguments.length?(!!t!==this.reversed()&&this.timeScale(-this._rts||(t?-g:0)),this):this._rts<0},e.invalidate=function(){return this._initted=this._act=0,this._zTime=-g,this},e.isActive=function(){var t,e=this.parent||this._dp,n=this._start;return!(e&&!(this._ts&&this._initted&&e.isActive()&&(t=e.rawTime(!0))>=n&&t1?(e?(r[t]=e,n&&(r[t+"Params"]=n),"onUpdate"===t&&(this._onUpdate=e)):delete r[t],this):r[t]},e.then=function(t){var e=this;return new Promise((function(n){var r=T(t)?t:ft,i=function(){var t=e.then;e.then=null,T(r)&&(r=r(e))&&(r.then||r===e)&&(e.then=t),n(r),e.then=t};e._initted&&1===e.totalProgress()&&e._ts>=0||!e._tTime&&e._ts<0?i():e._prom=i}))},e.kill=function(){he(this)},t}();pt(Ue.prototype,{_time:0,_start:0,_end:0,_tTime:0,_tDur:0,_dirty:0,_repeat:0,_yoyo:!1,parent:null,_initted:!1,_rDelay:0,_ts:1,_dp:0,ratio:0,_zTime:-g,_prom:0,_ps:!1,_rts:1});var Ve=function(t){function e(e,n){var i;return void 0===e&&(e={}),i=t.call(this,e)||this,i.labels={},i.smoothChildTiming=!!e.smoothChildTiming,i.autoRemoveChildren=!!e.autoRemoveChildren,i._sort=A(e.sortChildren),s&&Mt(e.parent||s,r(i),n),e.reversed&&i.reverse(),e.paused&&i.paused(!0),e.scrollTrigger&&Pt(r(i),e.scrollTrigger),i}i(e,t);var n=e.prototype;return n.to=function(t,e,n){return Vt(0,arguments,this),this},n.from=function(t,e,n){return Vt(1,arguments,this),this},n.fromTo=function(t,e,n,r){return Vt(2,arguments,this),this},n.set=function(t,e,n){return e.duration=0,e.parent=this,gt(e).repeatDelay||(e.repeat=0),e.immediateRender=!!e.immediateRender,new Ze(t,e,Ut(this,n),1),this},n.call=function(t,e,n){return Mt(this,Ze.delayedCall(0,t,e),n)},n.staggerTo=function(t,e,n,r,i,o,s){return n.duration=e,n.stagger=n.stagger||r,n.onComplete=o,n.onCompleteParams=s,n.parent=this,new Ze(t,n,Ut(this,i)),this},n.staggerFrom=function(t,e,n,r,i,o,s){return n.runBackwards=1,gt(n).immediateRender=A(n.immediateRender),this.staggerTo(t,e,n,r,i,o,s)},n.staggerFromTo=function(t,e,n,r,i,o,s,a){return r.startAt=n,gt(r).immediateRender=A(r.immediateRender),this.staggerTo(t,e,r,i,o,s,a)},n.render=function(t,e,n){var r,i,o,a,c,u,l,f,p,d,h,v,m=this._time,b=this._dirty?this.totalDuration():this._tDur,_=this._dur,y=this!==s&&t>b-g&&t>=0?b:t_&&(r=_)),d=St(this._tTime,c),!m&&this._tTime&&d!==a&&(d=a),h&&1&a&&(r=_-r,v=1),a!==d&&!this._lock){var w=h&&1&d,j=w===(h&&1&a);if(a=m&&t>=0){i=this._first;while(i){if(o=i._next,(i._act||r>=i._start)&&i._ts&&l!==i){if(i.parent!==this)return this.render(t,e,n);if(i.render(i._ts>0?(r-i._start)*i._ts:(i._dirty?i.totalDuration():i._tDur)+(r-i._start)*i._ts,e,n),r!==this._time||!this._ts&&!u){l=0,o&&(y+=this._zTime=-g);break}}i=o}}else{i=this._last;var x=t<0?t:r;while(i){if(o=i._prev,(i._act||x<=i._end)&&i._ts&&l!==i){if(i.parent!==this)return this.render(t,e,n);if(i.render(i._ts>0?(x-i._start)*i._ts:(i._dirty?i.totalDuration():i._tDur)+(x-i._start)*i._ts,e,n),r!==this._time||!this._ts&&!u){l=0,o&&(y+=this._zTime=x?-g:g);break}}i=o}}if(l&&!e&&(this.pause(),l.render(r>=m?0:-g)._zTime=r>=m?1:-1,this._ts))return this._start=p,kt(this),this.render(t,e,n);this._onUpdate&&!e&&de(this,"onUpdate",!0),(y===b&&b>=this.totalDuration()||!y&&m)&&(p!==this._start&&Math.abs(f)===Math.abs(this._ts)||this._lock||((t||!_)&&(y===b&&this._ts>0||!y&&this._ts<0)&&Ot(this,1),e||t<0&&!m||!y&&!m&&b||(de(this,y===b&&t>=0?"onComplete":"onReverseComplete",!0),this._prom&&!(y0)&&this._prom())))}return this},n.add=function(t,e){var n=this;if(S(e)||(e=Ut(this,e,t)),!(t instanceof Ue)){if(F(t))return t.forEach((function(t){return n.add(t,e)})),this;if(x(t))return this.addLabel(t,e);if(!T(t))return this;t=Ze.delayedCall(0,t)}return this!==t?Mt(this,t,e):this},n.getChildren=function(t,e,n,r){void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===n&&(n=!0),void 0===r&&(r=-m);var i=[],o=this._first;while(o)o._start>=r&&(o instanceof Ze?e&&i.push(o):(n&&i.push(o),t&&i.push.apply(i,o.getChildren(!0,e,n)))),o=o._next;return i},n.getById=function(t){var e=this.getChildren(1,1,1),n=e.length;while(n--)if(e[n].vars.id===t)return e[n]},n.remove=function(t){return x(t)?this.removeLabel(t):T(t)?this.killTweensOf(t):(yt(this,t),t===this._recent&&(this._recent=this._last),wt(this))},n.totalTime=function(e,n){return arguments.length?(this._forcing=1,!this._dp&&this._ts&&(this._start=st(Te.time-(this._ts>0?e/this._ts:(this.totalDuration()-e)/-this._ts))),t.prototype.totalTime.call(this,e,n),this._forcing=0,this):this._tTime},n.addLabel=function(t,e){return this.labels[t]=Ut(this,e),this},n.removeLabel=function(t){return delete this.labels[t],this},n.addPause=function(t,e,n){var r=Ze.delayedCall(0,e||H,n);return r.data="isPause",this._hasPause=1,Mt(this,r,Ut(this,t))},n.removePause=function(t){var e=this._first;t=Ut(this,t);while(e)e._start===t&&"isPause"===e.data&&Ot(e),e=e._next},n.killTweensOf=function(t,e,n){var r=this.getTweensOf(t,n),i=r.length;while(i--)$e!==r[i]&&r[i].kill(t,e);return this},n.getTweensOf=function(t,e){var n,r=[],i=Kt(t),o=this._first,s=S(e);while(o)o instanceof Ze?at(o._targets,i)&&(s?(!$e||o._initted&&o._ts)&&o.globalTime(0)<=e&&o.globalTime(o.totalDuration())>e:!e||o.isActive())&&r.push(o):(n=o.getTweensOf(i,e)).length&&r.push.apply(r,n),o=o._next;return r},n.tweenTo=function(t,e){e=e||{};var n,r=this,i=Ut(r,t),o=e,s=o.startAt,a=o.onStart,c=o.onStartParams,u=o.immediateRender,l=Ze.to(r,pt({ease:e.ease||"none",lazy:!1,immediateRender:!1,time:i,overwrite:"auto",duration:e.duration||Math.abs((i-(s&&"time"in s?s.time:r._time))/r.timeScale())||g,onStart:function(){if(r.pause(),!n){var t=e.duration||Math.abs((i-(s&&"time"in s?s.time:r._time))/r.timeScale());l._dur!==t&&Bt(l,t,0,1).render(l._time,!0,!0),n=1}a&&a.apply(l,c||[])}},e));return u?l.render(0):l},n.tweenFromTo=function(t,e,n){return this.tweenTo(e,pt({startAt:{time:Ut(this,t)}},n))},n.recent=function(){return this._recent},n.nextLabel=function(t){return void 0===t&&(t=this._time),pe(this,Ut(this,t))},n.previousLabel=function(t){return void 0===t&&(t=this._time),pe(this,Ut(this,t),1)},n.currentLabel=function(t){return arguments.length?this.seek(t,!0):this.previousLabel(this._time+g)},n.shiftChildren=function(t,e,n){void 0===n&&(n=0);var r,i=this._first,o=this.labels;while(i)i._start>=n&&(i._start+=t,i._end+=t),i=i._next;if(e)for(r in o)o[r]>=n&&(o[r]+=t);return wt(this)},n.invalidate=function(){var e=this._first;this._lock=0;while(e)e.invalidate(),e=e._next;return t.prototype.invalidate.call(this)},n.clear=function(t){void 0===t&&(t=!0);var e,n=this._first;while(n)e=n._next,this.remove(n),n=e;return this._dp&&(this._time=this._tTime=this._pTime=0),t&&(this.labels={}),wt(this)},n.totalDuration=function(t){var e,n,r,i=0,o=this,a=o._last,c=m;if(arguments.length)return o.timeScale((o._repeat<0?o.duration():o.totalDuration())/(o.reversed()?-t:t));if(o._dirty){r=o.parent;while(a)e=a._prev,a._dirty&&a.totalDuration(),n=a._start,n>c&&o._sort&&a._ts&&!o._lock?(o._lock=1,Mt(o,a,n-a._delay,1)._lock=0):c=n,n<0&&a._ts&&(i-=n,(!r&&!o._dp||r&&r.smoothChildTiming)&&(o._start+=n/o._ts,o._time-=n,o._tTime-=n),o.shiftChildren(-n,!1,-Infinity),c=0),a._end>i&&a._ts&&(i=a._end),a=e;Bt(o,o===s&&o._time>i?o._time:i,1,1),o._dirty=0}return o._tDur},e.updateRoot=function(t){if(s._ts&&(ut(s,Ct(t,s)),f=Te.frame),Te.frame>=Z){Z+=h.autoSleep||120;var e=s._first;if((!e||!e._ts)&&h.autoSleep&&Te._listeners.length<2){while(e&&!e._ts)e=e._next;e||Te.sleep()}}},e}(Ue);pt(Ve.prototype,{_lock:0,_hasPause:0,_forcing:0});var $e,qe=function(t,e,n,r,i,o,s){var a,c,u,l,f,p,d,h,v=new hn(this._pt,t,e,0,1,cn,null,i),m=0,g=0;v.b=n,v.e=r,n+="",r+="",(d=~r.indexOf("random("))&&(r=ue(r)),o&&(h=[n,r],o(h,t,e),n=h[0],r=h[1]),c=n.match(I)||[];while(a=I.exec(r))l=a[0],f=r.substring(m,a.index),u?u=(u+1)%5:"rgba("===f.substr(-5)&&(u=1),l!==c[g++]&&(p=parseFloat(c[g-1])||0,v._pt={_next:v._pt,p:f||1===g?f:",",s:p,c:"="===l.charAt(1)?parseFloat(l.substr(2))*("-"===l.charAt(0)?-1:1):parseFloat(l)-p,m:u&&u<4?Math.round:0},m=I.lastIndex);return v.c=m0&&!P&&(e._startAt=0),F&&n<=0)return void(n&&(e._zTime=n))}else!1===P&&(e._startAt=0);else if(k&&F)if(R)!P&&(e._startAt=0);else if(n&&(j=!1),a=pt({overwrite:!1,data:"isFromStart",lazy:j&&A(x),immediateRender:j,stagger:0,parent:D},r),b&&(a[p.prop]=b),Ot(e._startAt=Ze.set(L,a)),n<0&&e._startAt.render(-1,!0),j){if(!n)return}else t(e._startAt,g);for(e._pt=0,x=F&&A(x)||x&&!F,i=0;i":e*j)}))})):T.forEach((function(t){return u.to(D,t,">")}));else{if(p=D.length,m=j?Zt(j):H,k(j))for(d in j)~Je.indexOf(d)&&(b||(b={}),b[d]=j[d]);for(l=0;ld-g&&t>=0?d:th&&(r=h)),c=this._yoyo&&1&o,c&&(f=this._yEase,r=h-r),a=St(this._tTime,s),r===p&&!n&&this._initted)return this;o!==a&&(l&&this._yEase&&Re(l,c),!this.vars.repeatRefresh||c||this._lock||(this._lock=n=1,this.render(st(s*o),!0).invalidate()._lock=0))}if(!this._initted){if(Ft(this,t<0?t:r,n,e))return this._tTime=0,this;if(h!==this._dur)return this.render(t,e,n)}if(this._tTime=v,this._time=r,!this._act&&this._ts&&(this._act=1,this._lazy=0),this.ratio=u=(f||this._ease)(r/h),this._from&&(this.ratio=u=1-u),r&&!p&&!e&&de(this,"onStart"),r&&!p&&!e&&(de(this,"onStart"),this._tTime!==v))return this;i=this._pt;while(i)i.r(u,i.d),i=i._next;l&&l.render(t<0?t:!r&&c?-g:l._dur*u,e,n)||this._startAt&&(this._zTime=t),this._onUpdate&&!e&&(t<0&&this._startAt&&this._startAt.render(t,!0,n),de(this,"onUpdate")),this._repeat&&o!==a&&this.vars.onRepeat&&!e&&this.parent&&de(this,"onRepeat"),v!==this._tDur&&v||this._tTime!==v||(t<0&&this._startAt&&!this._onUpdate&&this._startAt.render(t,!0,!0),(t||!h)&&(v===this._tDur&&this._ts>0||!v&&this._ts<0)&&Ot(this,1),e||t<0&&!p||!v&&!p||(de(this,v===d?"onComplete":"onReverseComplete",!0),this._prom&&!(v0)&&this._prom()))}}else Dt(this,t,e,n);return this},n.targets=function(){return this._targets},n.invalidate=function(){return this._pt=this._op=this._startAt=this._onUpdate=this._lazy=this.ratio=0,this._ptLookup=[],this.timeline&&this.timeline.invalidate(),t.prototype.invalidate.call(this)},n.kill=function(t,e){if(void 0===e&&(e="all"),!t&&(!e||"all"===e))return this._lazy=this._pt=0,this.parent?he(this):this;if(this.timeline){var n=this.timeline.totalDuration();return this.timeline.killTweensOf(t,e,$e&&!0!==$e.vars.overwrite)._first||he(this),this.parent&&n!==this.timeline.totalDuration()&&Bt(this,this._dur*this.timeline._tDur/n,0,1),this}var r,i,o,s,a,c,u,l=this._targets,f=t?Kt(t):l,p=this._ptLookup,d=this._pt;if((!e||"all"===e)&&bt(l,f))return"all"===e&&(this._pt=0),he(this);r=this._op=this._op||[],"all"!==e&&(x(e)&&(a={},ot(e,(function(t){return a[t]=1})),e=a),e=Xe(l,e)),u=l.length;while(u--)if(~f.indexOf(l[u]))for(a in i=p[u],"all"===e?(r[u]=e,s=i,o={}):(o=r[u]=r[u]||{},s=e),s)c=i&&i[a],c&&("kill"in c.d&&!0!==c.d.kill(a)||yt(this,c,"_pt"),delete i[a]),"all"!==o&&(o[a]=1);return this._initted&&!this._pt&&d&&he(this),this},e.to=function(t,n){return new e(t,n,arguments[2])},e.from=function(t,e){return Vt(1,arguments)},e.delayedCall=function(t,n,r,i){return new e(n,0,{immediateRender:!1,lazy:!1,overwrite:!1,delay:t,onComplete:n,onReverseComplete:n,onCompleteParams:r,onReverseCompleteParams:r,callbackScope:i})},e.fromTo=function(t,e,n){return Vt(2,arguments)},e.set=function(t,n){return n.duration=0,n.repeatDelay||(n.repeat=0),new e(t,n)},e.killTweensOf=function(t,e,n){return s.killTweensOf(t,e,n)},e}(Ue);pt(Ze.prototype,{_targets:[],_lazy:0,_startAt:0,_op:0,_onInit:0}),ot("staggerTo,staggerFrom,staggerFromTo",(function(t){Ze[t]=function(){var e=new Ve,n=Ht.call(arguments,0);return n.splice("staggerFromTo"===t?5:4,0,0),e[t].apply(e,n)}}));var tn=function(t,e,n){return t[e]=n},en=function(t,e,n){return t[e](n)},nn=function(t,e,n,r){return t[e](r.fp,n)},rn=function(t,e,n){return t.setAttribute(e,n)},on=function(t,e){return T(t[e])?en:C(t[e])&&t.setAttribute?rn:tn},sn=function(t,e){return e.set(e.t,e.p,Math.round(1e6*(e.s+e.c*t))/1e6,e)},an=function(t,e){return e.set(e.t,e.p,!!(e.s+e.c*t),e)},cn=function(t,e){var n=e._pt,r="";if(!t&&e.b)r=e.b;else if(1===t&&e.e)r=e.e;else{while(n)r=n.p+(n.m?n.m(n.s+n.c*t):Math.round(1e4*(n.s+n.c*t))/1e4)+r,n=n._next;r+=e.c}e.set(e.t,e.p,r,e)},un=function(t,e){var n=e._pt;while(n)n.r(t,n.d),n=n._next},ln=function(t,e,n,r){var i,o=this._pt;while(o)i=o._next,o.p===r&&o.modifier(t,e,n),o=i},fn=function(t){var e,n,r=this._pt;while(r)n=r._next,r.p===t&&!r.op||r.op===t?yt(this,r,"_pt"):r.dep||(e=1),r=n;return!e},pn=function(t,e,n,r){r.mSet(t,e,r.m.call(r.tween,n,r.mt),r)},dn=function(t){var e,n,r,i,o=t._pt;while(o){e=o._next,n=r;while(n&&n.pr>o.pr)n=n._next;(o._prev=n?n._prev:i)?o._prev._next=o:r=o,(o._next=n)?n._prev=o:i=o,o=e}t._pt=r},hn=function(){function t(t,e,n,r,i,o,s,a,c){this.t=e,this.s=r,this.c=i,this.p=n,this.r=o||sn,this.d=s||this,this.set=a||tn,this.pr=c||0,this._next=t,t&&(t._prev=this)}var e=t.prototype;return e.modifier=function(t,e,n){this.mSet=this.mSet||this.set,this.set=pn,this.m=t,this.mt=n,this.tween=e},t}();ot(et+"parent,duration,ease,delay,overwrite,runBackwards,startAt,yoyo,immediateRender,repeat,repeatDelay,data,paused,reversed,lazy,callbackScope,stringFilter,id,yoyoEase,stagger,inherit,repeatRefresh,keyframes,autoRevert,scrollTrigger",(function(t){return Y[t]=1})),U.TweenMax=U.TweenLite=Ze,U.TimelineLite=U.TimelineMax=Ve,s=new Ve({sortChildren:!1,defaults:v,autoRemoveChildren:!0,id:"root",smoothChildTiming:!0}),h.stringFilter=xe;var vn={registerPlugin:function(){for(var t=arguments.length,e=new Array(t),n=0;n1){var r=t.map((function(t){return _n.quickSetter(t,e,n)})),i=r.length;return function(t){var e=i;while(e--)r[e](t)}}t=t[0]||{};var o=J[e],s=rt(t),a=s.harness&&(s.harness.aliases||{})[e]||e,c=o?function(e){var r=new o;p._pt=0,r.init(t,n?e+n:e,p,0,[t]),r.render(1,r),p._pt&&un(1,p)}:s.set(t,a);return o?c:function(e){return c(t,a,n?e+n:e,s,1)}},isTweening:function(t){return s.getTweensOf(t,!0).length>0},defaults:function(t){return t&&t.ease&&(t.ease=Le(t.ease,v.ease)),vt(v,t||{})},config:function(t){return vt(h,t||{})},registerEffect:function(t){var e=t.name,n=t.effect,r=t.plugins,i=t.defaults,o=t.extendTimeline;(r||"").split(",").forEach((function(t){return t&&!J[t]&&!U[t]&&W(e+" effect requires "+t+" plugin.")})),Q[e]=function(t,e,r){return n(Kt(t),pt(e||{},i),r)},o&&(Ve.prototype[e]=function(t,n,r){return this.add(Q[e](t,k(n)?n:(r=n)&&{},this),r)})},registerEase:function(t,e){Ce[t]=Le(e)},parseEase:function(t,e){return arguments.length?Le(t,e):Ce},getById:function(t){return s.getById(t)},exportRoot:function(t,e){void 0===t&&(t={});var n,r,i=new Ve(t);i.smoothChildTiming=A(t.smoothChildTiming),s.remove(i),i._dp=0,i._time=i._tTime=s._time,n=s._first;while(n)r=n._next,!e&&!n._dur&&n instanceof Ze&&n.vars.onComplete===n._targets[0]||Mt(i,n,n._start-n._delay),n=r;return Mt(s,i,0),i},utils:{wrap:ae,wrapYoyo:ce,distribute:Zt,random:ne,snap:ee,normalize:oe,getUnit:Wt,clamp:Gt,splitColor:_e,toArray:Kt,selector:Jt,mapRange:le,pipe:re,unitize:ie,interpolate:fe,shuffle:Qt},install:$,effects:Q,ticker:Te,updateRoot:Ve.updateRoot,plugins:J,globalTimeline:s,core:{PropTween:hn,globals:G,Tween:Ze,Timeline:Ve,Animation:Ue,getCache:rt,_removeLinkedListItem:yt,suppressOverwrites:function(t){return o=t}}};ot("to,from,fromTo,delayedCall,set,killTweensOf",(function(t){return vn[t]=Ze[t]})),Te.add(Ve.updateRoot),p=vn.to({},{duration:0});var mn=function(t,e){var n=t._pt;while(n&&n.p!==e&&n.op!==e&&n.fp!==e)n=n._next;return n},gn=function(t,e){var n,r,i,o=t._targets;for(n in e){r=o.length;while(r--)i=t._ptLookup[r][n],i&&(i=i.d)&&(i._pt&&(i=mn(i,n)),i&&i.modifier&&i.modifier(e[n],t,o[r],n))}},bn=function(t,e){return{name:t,rawVars:1,init:function(t,n,r){r._onInit=function(t){var r,i;if(x(n)&&(r={},ot(n,(function(t){return r[t]=1})),n=r),e){for(i in r={},n)r[i]=e(n[i]);n=r}gn(t,n)}}}},_n=vn.registerPlugin({name:"attr",init:function(t,e,n,r,i){var o,s;for(o in e)s=this.add(t,"setAttribute",(t.getAttribute(o)||0)+"",e[o],r,i,0,0,o),s&&(s.op=o),this._props.push(o)}},{name:"endArray",init:function(t,e){var n=e.length;while(n--)this.add(t,n,t[n]||0,e[n])}},bn("roundProps",te),bn("modifiers"),bn("snap",ee))||vn;Ze.version=Ve.version=_n.version="3.7.0",l=1,E()&&Se();Ce.Power0,Ce.Power1,Ce.Power2,Ce.Power3,Ce.Power4,Ce.Linear,Ce.Quad,Ce.Cubic,Ce.Quart,Ce.Quint,Ce.Strong,Ce.Elastic,Ce.Back,Ce.SteppedEase,Ce.Bounce,Ce.Sine,Ce.Expo,Ce.Circ; +/*! + * CSSPlugin 3.7.0 + * https://greensock.com + * + * Copyright 2008-2021, GreenSock. All rights reserved. + * Subject to the terms at https://greensock.com/standard-license or for + * Club GreenSock members, the agreement issued with that membership. + * @author: Jack Doyle, jack@greensock.com +*/var yn,On,wn,jn,xn,Tn,Sn,Cn=function(){return"undefined"!==typeof window},kn={},An=180/Math.PI,En=Math.PI/180,Mn=Math.atan2,Pn=1e8,Fn=/([A-Z])/g,Rn=/(?:left|right|width|margin|padding|x)/i,Ln=/[\s,\(]\S/,Dn={autoAlpha:"opacity,visibility",scale:"scaleX,scaleY",alpha:"opacity"},In=function(t,e){return e.set(e.t,e.p,Math.round(1e4*(e.s+e.c*t))/1e4+e.u,e)},Bn=function(t,e){return e.set(e.t,e.p,1===t?e.e:Math.round(1e4*(e.s+e.c*t))/1e4+e.u,e)},Nn=function(t,e){return e.set(e.t,e.p,t?Math.round(1e4*(e.s+e.c*t))/1e4+e.u:e.b,e)},zn=function(t,e){var n=e.s+e.c*t;e.set(e.t,e.p,~~(n+(n<0?-.5:.5))+e.u,e)},Un=function(t,e){return e.set(e.t,e.p,t?e.e:e.b,e)},Vn=function(t,e){return e.set(e.t,e.p,1!==t?e.b:e.e,e)},$n=function(t,e,n){return t.style[e]=n},qn=function(t,e,n){return t.style.setProperty(e,n)},Wn=function(t,e,n){return t._gsap[e]=n},Gn=function(t,e,n){return t._gsap.scaleX=t._gsap.scaleY=n},Hn=function(t,e,n,r,i){var o=t._gsap;o.scaleX=o.scaleY=n,o.renderTransform(i,o)},Yn=function(t,e,n,r,i){var o=t._gsap;o[e]=n,o.renderTransform(i,o)},Xn="transform",Kn=Xn+"Origin",Jn=function(t,e){var n=On.createElementNS?On.createElementNS((e||"http://www.w3.org/1999/xhtml").replace(/^https/,"http"),t):On.createElement(t);return n.style?n:On.createElement(t)},Qn=function t(e,n,r){var i=getComputedStyle(e);return i[n]||i.getPropertyValue(n.replace(Fn,"-$1").toLowerCase())||i.getPropertyValue(n)||!r&&t(e,tr(n)||n,1)||""},Zn="O,Moz,ms,Ms,Webkit".split(","),tr=function(t,e,n){var r=e||xn,i=r.style,o=5;if(t in i&&!n)return t;t=t.charAt(0).toUpperCase()+t.substr(1);while(o--&&!(Zn[o]+t in i));return o<0?null:(3===o?"ms":o>=0?Zn[o]:"")+t},er=function(){Cn()&&window.document&&(yn=window,On=yn.document,wn=On.documentElement,xn=Jn("div")||{style:{}},Jn("div"),Xn=tr(Xn),Kn=Xn+"Origin",xn.style.cssText="border-width:0;line-height:0;position:absolute;padding:0",Sn=!!tr("perspective"),jn=1)},nr=function t(e){var n,r=Jn("svg",this.ownerSVGElement&&this.ownerSVGElement.getAttribute("xmlns")||"http://www.w3.org/2000/svg"),i=this.parentNode,o=this.nextSibling,s=this.style.cssText;if(wn.appendChild(r),r.appendChild(this),this.style.display="block",e)try{n=this.getBBox(),this._gsapBBox=this.getBBox,this.getBBox=t}catch(a){}else this._gsapBBox&&(n=this._gsapBBox());return i&&(o?i.insertBefore(this,o):i.appendChild(this)),wn.removeChild(r),this.style.cssText=s,n},rr=function(t,e){var n=e.length;while(n--)if(t.hasAttribute(e[n]))return t.getAttribute(e[n])},ir=function(t){var e;try{e=t.getBBox()}catch(n){e=nr.call(t,!0)}return e&&(e.width||e.height)||t.getBBox===nr||(e=nr.call(t,!0)),!e||e.width||e.x||e.y?e:{x:+rr(t,["x","cx","x1"])||0,y:+rr(t,["y","cy","y1"])||0,width:0,height:0}},or=function(t){return!(!t.getCTM||t.parentNode&&!t.ownerSVGElement||!ir(t))},sr=function(t,e){if(e){var n=t.style;e in kn&&e!==Kn&&(e=Xn),n.removeProperty?("ms"!==e.substr(0,2)&&"webkit"!==e.substr(0,6)||(e="-"+e),n.removeProperty(e.replace(Fn,"-$1").toLowerCase())):n.removeAttribute(e)}},ar=function(t,e,n,r,i,o){var s=new hn(t._pt,e,n,0,1,o?Vn:Un);return t._pt=s,s.b=r,s.e=i,t._props.push(n),s},cr={deg:1,rad:1,turn:1},ur=function t(e,n,r,i){var o,s,a,c,u=parseFloat(r)||0,l=(r+"").trim().substr((u+"").length)||"px",f=xn.style,p=Rn.test(n),d="svg"===e.tagName.toLowerCase(),h=(d?"client":"offset")+(p?"Width":"Height"),v=100,m="px"===i,g="%"===i;return i===l||!u||cr[i]||cr[l]?u:("px"!==l&&!m&&(u=t(e,n,r,"px")),c=e.getCTM&&or(e),!g&&"%"!==l||!kn[n]&&!~n.indexOf("adius")?(f[p?"width":"height"]=v+(m?l:i),s=~n.indexOf("adius")||"em"===i&&e.appendChild&&!d?e:e.parentNode,c&&(s=(e.ownerSVGElement||{}).parentNode),s&&s!==On&&s.appendChild||(s=On.body),a=s._gsap,a&&g&&a.width&&p&&a.time===Te.time?st(u/a.width*v):((g||"%"===l)&&(f.position=Qn(e,"position")),s===e&&(f.position="static"),s.appendChild(xn),o=xn[h],s.removeChild(xn),f.position="absolute",p&&g&&(a=rt(s),a.time=Te.time,a.width=s[h]),st(m?o*u/v:o&&u?v/o*u:0))):(o=c?e.getBBox()[p?"width":"height"]:e[h],st(g?u/o*v:u/100*o)))},lr=function(t,e,n,r){var i;return jn||er(),e in Dn&&"transform"!==e&&(e=Dn[e],~e.indexOf(",")&&(e=e.split(",")[0])),kn[e]&&"transform"!==e?(i=wr(t,r),i="transformOrigin"!==e?i[e]:i.svg?i.origin:jr(Qn(t,Kn))+" "+i.zOrigin+"px"):(i=t.style[e],(!i||"auto"===i||r||~(i+"").indexOf("calc("))&&(i=vr[e]&&vr[e](t,e,n)||Qn(t,e)||it(t,e)||("opacity"===e?1:0))),n&&!~(i+"").trim().indexOf(" ")?ur(t,e,i,n)+n:i},fr=function(t,e,n,r){if(!n||"none"===n){var i=tr(e,t,1),o=i&&Qn(t,i,1);o&&o!==n?(e=i,n=o):"borderColor"===e&&(n=Qn(t,"borderTopColor"))}var s,a,c,u,l,f,p,d,v,m,g,b,_,y=new hn(this._pt,t.style,e,0,1,cn),O=0,w=0;if(y.b=n,y.e=r,n+="",r+="","auto"===r&&(t.style[e]=r,r=Qn(t,e)||r,t.style[e]=n),s=[n,r],xe(s),n=s[0],r=s[1],c=n.match(D)||[],_=r.match(D)||[],_.length){while(a=D.exec(r))p=a[0],v=r.substring(O,a.index),l?l=(l+1)%5:"rgba("!==v.substr(-5)&&"hsla("!==v.substr(-5)||(l=1),p!==(f=c[w++]||"")&&(u=parseFloat(f)||0,g=f.substr((u+"").length),b="="===p.charAt(1)?+(p.charAt(0)+"1"):0,b&&(p=p.substr(2)),d=parseFloat(p),m=p.substr((d+"").length),O=D.lastIndex-m.length,m||(m=m||h.units[e]||g,O===r.length&&(r+=m,y.e+=m)),g!==m&&(u=ur(t,e,f,m)||0),y._pt={_next:y._pt,p:v||1===w?v:",",s:u,c:b?b*d:d-u,m:l&&l<4||"zIndex"===e?Math.round:0});y.c=O-1)n=a[i],kn[n]&&(r=1,n="transformOrigin"===n?Kn:Xn),sr(o,n)}r&&(sr(o,Xn),c&&(c.svg&&o.removeAttribute("transform"),wr(o,1),c.uncache=1))}},vr={clearProps:function(t,e,n,r,i){if("isFromStart"!==i.data){var o=t._pt=new hn(t._pt,e,n,0,0,hr);return o.u=r,o.pr=-10,o.tween=i,t._props.push(n),1}}},mr=[1,0,0,1,0,0],gr={},br=function(t){return"matrix(1, 0, 0, 1, 0, 0)"===t||"none"===t||!t},_r=function(t){var e=Qn(t,Xn);return br(e)?mr:e.substr(7).match(L).map(st)},yr=function(t,e){var n,r,i,o,s=t._gsap||rt(t),a=t.style,c=_r(t);return s.svg&&t.getAttribute("transform")?(i=t.transform.baseVal.consolidate().matrix,c=[i.a,i.b,i.c,i.d,i.e,i.f],"1,0,0,1,0,0"===c.join(",")?mr:c):(c!==mr||t.offsetParent||t===wn||s.svg||(i=a.display,a.display="block",n=t.parentNode,n&&t.offsetParent||(o=1,r=t.nextSibling,wn.appendChild(t)),c=_r(t),i?a.display=i:sr(t,"display"),o&&(r?n.insertBefore(t,r):n?n.appendChild(t):wn.removeChild(t))),e&&c.length>6?[c[0],c[1],c[4],c[5],c[12],c[13]]:c)},Or=function(t,e,n,r,i,o){var s,a,c,u,l=t._gsap,f=i||yr(t,!0),p=l.xOrigin||0,d=l.yOrigin||0,h=l.xOffset||0,v=l.yOffset||0,m=f[0],g=f[1],b=f[2],_=f[3],y=f[4],O=f[5],w=e.split(" "),j=parseFloat(w[0])||0,x=parseFloat(w[1])||0;n?f!==mr&&(a=m*_-g*b)&&(c=j*(_/a)+x*(-b/a)+(b*O-_*y)/a,u=j*(-g/a)+x*(m/a)-(m*O-g*y)/a,j=c,x=u):(s=ir(t),j=s.x+(~w[0].indexOf("%")?j/100*s.width:j),x=s.y+(~(w[1]||w[0]).indexOf("%")?x/100*s.height:x)),r||!1!==r&&l.smooth?(y=j-p,O=x-d,l.xOffset=h+(y*m+O*b)-y,l.yOffset=v+(y*g+O*_)-O):l.xOffset=l.yOffset=0,l.xOrigin=j,l.yOrigin=x,l.smooth=!!r,l.origin=e,l.originIsAbsolute=!!n,t.style[Kn]="0px 0px",o&&(ar(o,l,"xOrigin",p,j),ar(o,l,"yOrigin",d,x),ar(o,l,"xOffset",h,l.xOffset),ar(o,l,"yOffset",v,l.yOffset)),t.setAttribute("data-svg-origin",j+" "+x)},wr=function(t,e){var n=t._gsap||new ze(t);if("x"in n&&!e&&!n.uncache)return n;var r,i,o,s,a,c,u,l,f,p,d,v,m,g,b,_,y,O,w,j,x,T,S,C,k,A,E,M,P,F,R,L,D=t.style,I=n.scaleX<0,B="px",N="deg",z=Qn(t,Kn)||"0";return r=i=o=c=u=l=f=p=d=0,s=a=1,n.svg=!(!t.getCTM||!or(t)),g=yr(t,n.svg),n.svg&&(C=(!n.uncache||"0px 0px"===z)&&!e&&t.getAttribute("data-svg-origin"),Or(t,C||z,!!C||n.originIsAbsolute,!1!==n.smooth,g)),v=n.xOrigin||0,m=n.yOrigin||0,g!==mr&&(O=g[0],w=g[1],j=g[2],x=g[3],r=T=g[4],i=S=g[5],6===g.length?(s=Math.sqrt(O*O+w*w),a=Math.sqrt(x*x+j*j),c=O||w?Mn(w,O)*An:0,f=j||x?Mn(j,x)*An+c:0,f&&(a*=Math.abs(Math.cos(f*En))),n.svg&&(r-=v-(v*O+m*j),i-=m-(v*w+m*x))):(L=g[6],F=g[7],E=g[8],M=g[9],P=g[10],R=g[11],r=g[12],i=g[13],o=g[14],b=Mn(L,P),u=b*An,b&&(_=Math.cos(-b),y=Math.sin(-b),C=T*_+E*y,k=S*_+M*y,A=L*_+P*y,E=T*-y+E*_,M=S*-y+M*_,P=L*-y+P*_,R=F*-y+R*_,T=C,S=k,L=A),b=Mn(-j,P),l=b*An,b&&(_=Math.cos(-b),y=Math.sin(-b),C=O*_-E*y,k=w*_-M*y,A=j*_-P*y,R=x*y+R*_,O=C,w=k,j=A),b=Mn(w,O),c=b*An,b&&(_=Math.cos(b),y=Math.sin(b),C=O*_+w*y,k=T*_+S*y,w=w*_-O*y,S=S*_-T*y,O=C,T=k),u&&Math.abs(u)+Math.abs(c)>359.9&&(u=c=0,l=180-l),s=st(Math.sqrt(O*O+w*w+j*j)),a=st(Math.sqrt(S*S+L*L)),b=Mn(T,S),f=Math.abs(b)>2e-4?b*An:0,d=R?1/(R<0?-R:R):0),n.svg&&(C=t.getAttribute("transform"),n.forceCSS=t.setAttribute("transform","")||!br(Qn(t,Xn)),C&&t.setAttribute("transform",C))),Math.abs(f)>90&&Math.abs(f)<270&&(I?(s*=-1,f+=c<=0?180:-180,c+=c<=0?180:-180):(a*=-1,f+=f<=0?180:-180)),n.x=r-((n.xPercent=r&&(n.xPercent||(Math.round(t.offsetWidth/2)===Math.round(-r)?-50:0)))?t.offsetWidth*n.xPercent/100:0)+B,n.y=i-((n.yPercent=i&&(n.yPercent||(Math.round(t.offsetHeight/2)===Math.round(-i)?-50:0)))?t.offsetHeight*n.yPercent/100:0)+B,n.z=o+B,n.scaleX=st(s),n.scaleY=st(a),n.rotation=st(c)+N,n.rotationX=st(u)+N,n.rotationY=st(l)+N,n.skewX=f+N,n.skewY=p+N,n.transformPerspective=d+B,(n.zOrigin=parseFloat(z.split(" ")[2])||0)&&(D[Kn]=jr(z)),n.xOffset=n.yOffset=0,n.force3D=h.force3D,n.renderTransform=n.svg?Er:Sn?Ar:Tr,n.uncache=0,n},jr=function(t){return(t=t.split(" "))[0]+" "+t[1]},xr=function(t,e,n){var r=Wt(e);return st(parseFloat(e)+parseFloat(ur(t,"x",n+"px",r)))+r},Tr=function(t,e){e.z="0px",e.rotationY=e.rotationX="0deg",e.force3D=0,Ar(t,e)},Sr="0deg",Cr="0px",kr=") ",Ar=function(t,e){var n=e||this,r=n.xPercent,i=n.yPercent,o=n.x,s=n.y,a=n.z,c=n.rotation,u=n.rotationY,l=n.rotationX,f=n.skewX,p=n.skewY,d=n.scaleX,h=n.scaleY,v=n.transformPerspective,m=n.force3D,g=n.target,b=n.zOrigin,_="",y="auto"===m&&t&&1!==t||!0===m;if(b&&(l!==Sr||u!==Sr)){var O,w=parseFloat(u)*En,j=Math.sin(w),x=Math.cos(w);w=parseFloat(l)*En,O=Math.cos(w),o=xr(g,o,j*O*-b),s=xr(g,s,-Math.sin(w)*-b),a=xr(g,a,x*O*-b+b)}v!==Cr&&(_+="perspective("+v+kr),(r||i)&&(_+="translate("+r+"%, "+i+"%) "),(y||o!==Cr||s!==Cr||a!==Cr)&&(_+=a!==Cr||y?"translate3d("+o+", "+s+", "+a+") ":"translate("+o+", "+s+kr),c!==Sr&&(_+="rotate("+c+kr),u!==Sr&&(_+="rotateY("+u+kr),l!==Sr&&(_+="rotateX("+l+kr),f===Sr&&p===Sr||(_+="skew("+f+", "+p+kr),1===d&&1===h||(_+="scale("+d+", "+h+kr),g.style[Xn]=_||"translate(0, 0)"},Er=function(t,e){var n,r,i,o,s,a=e||this,c=a.xPercent,u=a.yPercent,l=a.x,f=a.y,p=a.rotation,d=a.skewX,h=a.skewY,v=a.scaleX,m=a.scaleY,g=a.target,b=a.xOrigin,_=a.yOrigin,y=a.xOffset,O=a.yOffset,w=a.forceCSS,j=parseFloat(l),x=parseFloat(f);p=parseFloat(p),d=parseFloat(d),h=parseFloat(h),h&&(h=parseFloat(h),d+=h,p+=h),p||d?(p*=En,d*=En,n=Math.cos(p)*v,r=Math.sin(p)*v,i=Math.sin(p-d)*-m,o=Math.cos(p-d)*m,d&&(h*=En,s=Math.tan(d-h),s=Math.sqrt(1+s*s),i*=s,o*=s,h&&(s=Math.tan(h),s=Math.sqrt(1+s*s),n*=s,r*=s)),n=st(n),r=st(r),i=st(i),o=st(o)):(n=v,o=m,r=i=0),(j&&!~(l+"").indexOf("px")||x&&!~(f+"").indexOf("px"))&&(j=ur(g,"x",l,"px"),x=ur(g,"y",f,"px")),(b||_||y||O)&&(j=st(j+b-(b*n+_*i)+y),x=st(x+_-(b*r+_*o)+O)),(c||u)&&(s=g.getBBox(),j=st(j+c/100*s.width),x=st(x+u/100*s.height)),s="matrix("+n+","+r+","+i+","+o+","+j+","+x+")",g.setAttribute("transform",s),w&&(g.style[Xn]=s)},Mr=function(t,e,n,r,i,o){var s,a,c=360,u=x(i),l=parseFloat(i)*(u&&~i.indexOf("rad")?An:1),f=o?l*o:l-r,p=r+f+"deg";return u&&(s=i.split("_")[1],"short"===s&&(f%=c,f!==f%(c/2)&&(f+=f<0?c:-c)),"cw"===s&&f<0?f=(f+c*Pn)%c-~~(f/c)*c:"ccw"===s&&f>0&&(f=(f-c*Pn)%c-~~(f/c)*c)),t._pt=a=new hn(t._pt,e,n,r,f,Bn),a.e=p,a.u="deg",t._props.push(n),a},Pr=function(t,e){for(var n in e)t[n]=e[n];return t},Fr=function(t,e,n){var r,i,o,s,a,c,u,l,f=Pr({},n._gsap),p="perspective,force3D,transformOrigin,svgOrigin",d=n.style;for(i in f.svg?(o=n.getAttribute("transform"),n.setAttribute("transform",""),d[Xn]=e,r=wr(n,1),sr(n,Xn),n.setAttribute("transform",o)):(o=getComputedStyle(n)[Xn],d[Xn]=e,r=wr(n,1),d[Xn]=o),kn)o=f[i],s=r[i],o!==s&&p.indexOf(i)<0&&(u=Wt(o),l=Wt(s),a=u!==l?ur(n,i,o,l):parseFloat(o),c=parseFloat(s),t._pt=new hn(t._pt,r,i,a,c-a,In),t._pt.u=l||0,t._props.push(i));Pr(r,f)};ot("padding,margin,Width,Radius",(function(t,e){var n="Top",r="Right",i="Bottom",o="Left",s=(e<3?[n,r,i,o]:[n+o,n+r,i+r,i+o]).map((function(n){return e<2?t+n:"border"+n+t}));vr[e>1?"border"+t:t]=function(t,e,n,r,i){var o,a;if(arguments.length<4)return o=s.map((function(e){return lr(t,e,n)})),a=o.join(" "),5===a.split(o[0]).length?o[0]:a;o=(r+"").split(" "),a={},s.forEach((function(t,e){return a[t]=o[e]=o[e]||o[(e-1)/2|0]})),t.init(e,a,i)}}));var Rr={name:"css",register:er,targetTest:function(t){return t.style&&t.nodeType},init:function(t,e,n,r,i){var o,s,a,c,u,l,f,p,d,v,m,g,b,_,y,O=this._props,w=t.style,j=n.vars.startAt;for(f in jn||er(),e)if("autoRound"!==f&&(s=e[f],!J[f]||!He(f,e,n,r,t,i)))if(u=typeof s,l=vr[f],"function"===u&&(s=s.call(n,r,t,i),u=typeof s),"string"===u&&~s.indexOf("random(")&&(s=ue(s)),l)l(this,t,f,s,n)&&(y=1);else if("--"===f.substr(0,2))o=(getComputedStyle(t).getPropertyValue(f)+"").trim(),s+="",we.lastIndex=0,we.test(o)||(p=Wt(o),d=Wt(s)),d?p!==d&&(o=ur(t,f,o,d)+d):p&&(s+=p),this.add(w,"setProperty",o,s,r,i,0,0,f),O.push(f);else if("undefined"!==u){if(j&&f in j?(o="function"===typeof j[f]?j[f].call(n,r,t,i):j[f],f in h.units&&!Wt(o)&&(o+=h.units[f]),"="===(o+"").charAt(1)&&(o=lr(t,f))):o=lr(t,f),c=parseFloat(o),v="string"===u&&"="===s.charAt(1)?+(s.charAt(0)+"1"):0,v&&(s=s.substr(2)),a=parseFloat(s),f in Dn&&("autoAlpha"===f&&(1===c&&"hidden"===lr(t,"visibility")&&a&&(c=0),ar(this,w,"visibility",c?"inherit":"hidden",a?"inherit":"hidden",!a)),"scale"!==f&&"transform"!==f&&(f=Dn[f],~f.indexOf(",")&&(f=f.split(",")[0]))),m=f in kn,m)if(g||(b=t._gsap,b.renderTransform&&!e.parseTransform||wr(t,e.parseTransform),_=!1!==e.smoothOrigin&&b.smooth,g=this._pt=new hn(this._pt,w,Xn,0,1,b.renderTransform,b,0,-1),g.dep=1),"scale"===f)this._pt=new hn(this._pt,b,"scaleY",b.scaleY,(v?v*a:a-b.scaleY)||0),O.push("scaleY",f),f+="X";else{if("transformOrigin"===f){s=dr(s),b.svg?Or(t,s,0,_,0,this):(d=parseFloat(s.split(" ")[2])||0,d!==b.zOrigin&&ar(this,b,"zOrigin",b.zOrigin,d),ar(this,w,f,jr(o),jr(s)));continue}if("svgOrigin"===f){Or(t,s,1,_,0,this);continue}if(f in gr){Mr(this,b,f,c,s,v);continue}if("smoothOrigin"===f){ar(this,b,"smooth",b.smooth,s);continue}if("force3D"===f){b[f]=s;continue}if("transform"===f){Fr(this,s,t);continue}}else f in w||(f=tr(f)||f);if(m||(a||0===a)&&(c||0===c)&&!Ln.test(s)&&f in w)p=(o+"").substr((c+"").length),a||(a=0),d=Wt(s)||(f in h.units?h.units[f]:p),p!==d&&(c=ur(t,f,o,d)),this._pt=new hn(this._pt,m?b:w,f,c,v?v*a:a-c,m||"px"!==d&&"zIndex"!==f||!1===e.autoRound?In:zn),this._pt.u=d||0,p!==d&&(this._pt.b=o,this._pt.r=Nn);else if(f in w)fr.call(this,t,f,o,s);else{if(!(f in t)){q(f,s);continue}this.add(t,f,o||t[f],s,r,i)}O.push(f)}y&&dn(this)},get:lr,aliases:Dn,getSetter:function(t,e,n){var r=Dn[e];return r&&r.indexOf(",")<0&&(e=r),e in kn&&e!==Kn&&(t._gsap.x||lr(t,"x"))?n&&Tn===n?"scale"===e?Gn:Wn:(Tn=n||{})&&("scale"===e?Hn:Yn):t.style&&!C(t.style[e])?$n:~e.indexOf("-")?qn:on(t,e)},core:{_removeProperty:sr,_getMatrix:yr}};_n.utils.checkPrefix=tr,function(t,e,n,r){var i=ot(t+","+e+","+n,(function(t){kn[t]=1}));ot(e,(function(t){h.units[t]="deg",gr[t]=1})),Dn[i[13]]=t+","+e,ot(r,(function(t){var e=t.split(":");Dn[e[1]]=i[e[0]]}))}("x,y,z,scale,scaleX,scaleY,xPercent,yPercent","rotation,rotationX,rotationY,skewX,skewY","transform,transformOrigin,svgOrigin,force3D,smoothOrigin,transformPerspective","0:translateX,1:translateY,2:translateZ,8:rotate,8:rotationZ,8:rotateZ,9:rotateX,10:rotateY"),ot("x,y,z,top,right,bottom,left,width,height,fontSize,padding,margin,perspective",(function(t){h.units[t]="px"})),_n.registerPlugin(Rr);var Lr=_n.registerPlugin(Rr)||_n;Lr.core.Tween},d012:function(t,e){t.exports={}},d039:function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},d066:function(t,e,n){var r=n("428f"),i=n("da84"),o=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,e){return arguments.length<2?o(r[t])||o(i[t]):r[t]&&r[t][e]||i[t]&&i[t][e]}},d1e7:function(t,e,n){"use strict";var r={}.propertyIsEnumerable,i=Object.getOwnPropertyDescriptor,o=i&&!r.call({1:2},1);e.f=o?function(t){var e=i(this,t);return!!e&&e.enumerable}:r},d28b:function(t,e,n){var r=n("746f");r("iterator")},d2bb:function(t,e,n){var r=n("825a"),i=n("3bbe");t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,n={};try{t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set,t.call(n,[]),e=n instanceof Array}catch(o){}return function(n,o){return r(n),i(o),e?t.call(n,o):n.__proto__=o,n}}():void 0)},d3b7:function(t,e,n){var r=n("00ee"),i=n("6eeb"),o=n("b041");r||i(Object.prototype,"toString",o,{unsafe:!0})},d44e:function(t,e,n){var r=n("9bf2").f,i=n("5135"),o=n("b622"),s=o("toStringTag");t.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,s)&&r(t,s,{configurable:!0,value:e})}},da84:function(t,e,n){(function(e){var n=function(t){return t&&t.Math==Math&&t};t.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof e&&e)||function(){return this}()||Function("return this")()}).call(this,n("c8ba"))},dbb4:function(t,e,n){var r=n("23e7"),i=n("83ab"),o=n("56ef"),s=n("fc6a"),a=n("06cf"),c=n("8418");r({target:"Object",stat:!0,sham:!i},{getOwnPropertyDescriptors:function(t){var e,n,r=s(t),i=a.f,u=o(r),l={},f=0;while(u.length>f)n=i(r,e=u[f++]),void 0!==n&&c(l,e,n);return l}})},ddb0:function(t,e,n){var r=n("da84"),i=n("fdbc"),o=n("e260"),s=n("9112"),a=n("b622"),c=a("iterator"),u=a("toStringTag"),l=o.values;for(var f in i){var p=r[f],d=p&&p.prototype;if(d){if(d[c]!==l)try{s(d,c,l)}catch(v){d[c]=l}if(d[u]||s(d,u,f),i[f])for(var h in o)if(d[h]!==o[h])try{s(d,h,o[h])}catch(v){d[h]=o[h]}}}},df75:function(t,e,n){var r=n("ca84"),i=n("7839");t.exports=Object.keys||function(t){return r(t,i)}},e01a:function(t,e,n){"use strict";var r=n("23e7"),i=n("83ab"),o=n("da84"),s=n("5135"),a=n("861d"),c=n("9bf2").f,u=n("e893"),l=o.Symbol;if(i&&"function"==typeof l&&(!("description"in l.prototype)||void 0!==l().description)){var f={},p=function(){var t=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),e=this instanceof p?new l(t):void 0===t?l():l(t);return""===t&&(f[e]=!0),e};u(p,l);var d=p.prototype=l.prototype;d.constructor=p;var h=d.toString,v="Symbol(test)"==String(l("test")),m=/^Symbol\((.*)\)[^)]+$/;c(d,"description",{configurable:!0,get:function(){var t=a(this)?this.valueOf():this,e=h.call(t);if(s(f,t))return"";var n=v?e.slice(7,-1):e.replace(m,"$1");return""===n?void 0:n}}),r({global:!0,forced:!0},{Symbol:p})}},e163:function(t,e,n){var r=n("5135"),i=n("7b0b"),o=n("f772"),s=n("e177"),a=o("IE_PROTO"),c=Object.prototype;t.exports=s?Object.getPrototypeOf:function(t){return t=i(t),r(t,a)?t[a]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?c:null}},e177:function(t,e,n){var r=n("d039");t.exports=!r((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}))},e260:function(t,e,n){"use strict";var r=n("fc6a"),i=n("44d2"),o=n("3f8c"),s=n("69f3"),a=n("7dd0"),c="Array Iterator",u=s.set,l=s.getterFor(c);t.exports=a(Array,"Array",(function(t,e){u(this,{type:c,target:r(t),index:0,kind:e})}),(function(){var t=l(this),e=t.target,n=t.kind,r=t.index++;return!e||r>=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==n?{value:r,done:!1}:"values"==n?{value:e[r],done:!1}:{value:[r,e[r]],done:!1}}),"values"),o.Arguments=o.Array,i("keys"),i("values"),i("entries")},e2cc:function(t,e,n){var r=n("6eeb");t.exports=function(t,e,n){for(var i in e)r(t,i,e[i],n);return t}},e439:function(t,e,n){var r=n("23e7"),i=n("d039"),o=n("fc6a"),s=n("06cf").f,a=n("83ab"),c=i((function(){s(1)})),u=!a||c;r({target:"Object",stat:!0,forced:u,sham:!a},{getOwnPropertyDescriptor:function(t,e){return s(o(t),e)}})},e538:function(t,e,n){var r=n("b622");e.f=r},e667:function(t,e){t.exports=function(t){try{return{error:!1,value:t()}}catch(e){return{error:!0,value:e}}}},e6cf:function(t,e,n){"use strict";var r,i,o,s,a=n("23e7"),c=n("c430"),u=n("da84"),l=n("d066"),f=n("fea9"),p=n("6eeb"),d=n("e2cc"),h=n("d2bb"),v=n("d44e"),m=n("2626"),g=n("861d"),b=n("1c0b"),_=n("19aa"),y=n("8925"),O=n("2266"),w=n("1c7e"),j=n("4840"),x=n("2cf4").set,T=n("b575"),S=n("cdf9"),C=n("44de"),k=n("f069"),A=n("e667"),E=n("69f3"),M=n("94ca"),P=n("b622"),F=n("6069"),R=n("605d"),L=n("2d00"),D=P("species"),I="Promise",B=E.get,N=E.set,z=E.getterFor(I),U=f&&f.prototype,V=f,$=U,q=u.TypeError,W=u.document,G=u.process,H=k.f,Y=H,X=!!(W&&W.createEvent&&u.dispatchEvent),K="function"==typeof PromiseRejectionEvent,J="unhandledrejection",Q="rejectionhandled",Z=0,tt=1,et=2,nt=1,rt=2,it=!1,ot=M(I,(function(){var t=y(V)!==String(V);if(!t&&66===L)return!0;if(c&&!$["finally"])return!0;if(L>=51&&/native code/.test(V))return!1;var e=new V((function(t){t(1)})),n=function(t){t((function(){}),(function(){}))},r=e.constructor={};return r[D]=n,it=e.then((function(){}))instanceof n,!it||!t&&F&&!K})),st=ot||!w((function(t){V.all(t)["catch"]((function(){}))})),at=function(t){var e;return!(!g(t)||"function"!=typeof(e=t.then))&&e},ct=function(t,e){if(!t.notified){t.notified=!0;var n=t.reactions;T((function(){var r=t.value,i=t.state==tt,o=0;while(n.length>o){var s,a,c,u=n[o++],l=i?u.ok:u.fail,f=u.resolve,p=u.reject,d=u.domain;try{l?(i||(t.rejection===rt&&pt(t),t.rejection=nt),!0===l?s=r:(d&&d.enter(),s=l(r),d&&(d.exit(),c=!0)),s===u.promise?p(q("Promise-chain cycle")):(a=at(s))?a.call(s,f,p):f(s)):p(r)}catch(h){d&&!c&&d.exit(),p(h)}}t.reactions=[],t.notified=!1,e&&!t.rejection&<(t)}))}},ut=function(t,e,n){var r,i;X?(r=W.createEvent("Event"),r.promise=e,r.reason=n,r.initEvent(t,!1,!0),u.dispatchEvent(r)):r={promise:e,reason:n},!K&&(i=u["on"+t])?i(r):t===J&&C("Unhandled promise rejection",n)},lt=function(t){x.call(u,(function(){var e,n=t.facade,r=t.value,i=ft(t);if(i&&(e=A((function(){R?G.emit("unhandledRejection",r,n):ut(J,n,r)})),t.rejection=R||ft(t)?rt:nt,e.error))throw e.value}))},ft=function(t){return t.rejection!==nt&&!t.parent},pt=function(t){x.call(u,(function(){var e=t.facade;R?G.emit("rejectionHandled",e):ut(Q,e,t.value)}))},dt=function(t,e,n){return function(r){t(e,r,n)}},ht=function(t,e,n){t.done||(t.done=!0,n&&(t=n),t.value=e,t.state=et,ct(t,!0))},vt=function(t,e,n){if(!t.done){t.done=!0,n&&(t=n);try{if(t.facade===e)throw q("Promise can't be resolved itself");var r=at(e);r?T((function(){var n={done:!1};try{r.call(e,dt(vt,n,t),dt(ht,n,t))}catch(i){ht(n,i,t)}})):(t.value=e,t.state=tt,ct(t,!1))}catch(i){ht({done:!1},i,t)}}};if(ot&&(V=function(t){_(this,V,I),b(t),r.call(this);var e=B(this);try{t(dt(vt,e),dt(ht,e))}catch(n){ht(e,n)}},$=V.prototype,r=function(t){N(this,{type:I,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:Z,value:void 0})},r.prototype=d($,{then:function(t,e){var n=z(this),r=H(j(this,V));return r.ok="function"!=typeof t||t,r.fail="function"==typeof e&&e,r.domain=R?G.domain:void 0,n.parent=!0,n.reactions.push(r),n.state!=Z&&ct(n,!1),r.promise},catch:function(t){return this.then(void 0,t)}}),i=function(){var t=new r,e=B(t);this.promise=t,this.resolve=dt(vt,e),this.reject=dt(ht,e)},k.f=H=function(t){return t===V||t===o?new i(t):Y(t)},!c&&"function"==typeof f&&U!==Object.prototype)){s=U.then,it||(p(U,"then",(function(t,e){var n=this;return new V((function(t,e){s.call(n,t,e)})).then(t,e)}),{unsafe:!0}),p(U,"catch",$["catch"],{unsafe:!0}));try{delete U.constructor}catch(mt){}h&&h(U,$)}a({global:!0,wrap:!0,forced:ot},{Promise:V}),v(V,I,!1,!0),m(I),o=l(I),a({target:I,stat:!0,forced:ot},{reject:function(t){var e=H(this);return e.reject.call(void 0,t),e.promise}}),a({target:I,stat:!0,forced:c||ot},{resolve:function(t){return S(c&&this===o?V:this,t)}}),a({target:I,stat:!0,forced:st},{all:function(t){var e=this,n=H(e),r=n.resolve,i=n.reject,o=A((function(){var n=b(e.resolve),o=[],s=0,a=1;O(t,(function(t){var c=s++,u=!1;o.push(void 0),a++,n.call(e,t).then((function(t){u||(u=!0,o[c]=t,--a||r(o))}),i)})),--a||r(o)}));return o.error&&i(o.value),n.promise},race:function(t){var e=this,n=H(e),r=n.reject,i=A((function(){var i=b(e.resolve);O(t,(function(t){i.call(e,t).then(n.resolve,r)}))}));return i.error&&r(i.value),n.promise}})},e893:function(t,e,n){var r=n("5135"),i=n("56ef"),o=n("06cf"),s=n("9bf2");t.exports=function(t,e){for(var n=i(e),a=s.f,c=o.f,u=0;u 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(?:iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var anObject = require('../internals/an-object');\n\nmodule.exports = function (iterator) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) {\n return anObject(returnMethod.call(iterator)).value;\n }\n};\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar bind = require('../internals/function-bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins -- safe\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func -- spec requirement\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n typeof postMessage == 'function' &&\n !global.importScripts &&\n location && location.protocol !== 'file:' &&\n !fails(post)\n ) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] < 4 ? 1 : match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","module.exports = {};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var toObject = require('../internals/to-object');\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty.call(toObject(it), key);\n};\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.15.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","import { pauseTracking, resetTracking, isRef, toRaw, isReactive, effect, stop, ref, reactive, proxyRefs, toRef, shallowReactive, trigger, isProxy, shallowReadonly, track, markRaw, computed as computed$1, isReadonly } from '@vue/reactivity';\nexport { customRef, isProxy, isReactive, isReadonly, isRef, markRaw, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, toRaw, toRef, toRefs, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, extend, hasOwn, EMPTY_OBJ, toHandlerKey, toNumber, hyphenate, camelize, isOn, isModelListener, remove, NOOP, hasChanged, isObject, isSet, isMap, isPlainObject, invokeArrayFns, def, isReservedProp, EMPTY_ARR, capitalize, toRawType, makeMap, NO, getGlobalThis, normalizeClass, normalizeStyle, isGloballyWhitelisted } from '@vue/shared';\nexport { camelize, capitalize, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\r\nfunction pushWarningContext(vnode) {\r\n stack.push(vnode);\r\n}\r\nfunction popWarningContext() {\r\n stack.pop();\r\n}\r\nfunction warn(msg, ...args) {\r\n // avoid props formatting or warn handler tracking deps that might be mutated\r\n // during patch, leading to infinite recursion.\r\n pauseTracking();\r\n const instance = stack.length ? stack[stack.length - 1].component : null;\r\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\r\n const trace = getComponentTrace();\r\n if (appWarnHandler) {\r\n callWithErrorHandling(appWarnHandler, instance, 11 /* APP_WARN_HANDLER */, [\r\n msg + args.join(''),\r\n instance && instance.proxy,\r\n trace\r\n .map(({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`)\r\n .join('\\n'),\r\n trace\r\n ]);\r\n }\r\n else {\r\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\r\n /* istanbul ignore if */\r\n if (trace.length &&\r\n // avoid spamming console during tests\r\n !false) {\r\n warnArgs.push(`\\n`, ...formatTrace(trace));\r\n }\r\n console.warn(...warnArgs);\r\n }\r\n resetTracking();\r\n}\r\nfunction getComponentTrace() {\r\n let currentVNode = stack[stack.length - 1];\r\n if (!currentVNode) {\r\n return [];\r\n }\r\n // we can't just use the stack because it will be incomplete during updates\r\n // that did not start from the root. Re-construct the parent chain using\r\n // instance parent pointers.\r\n const normalizedStack = [];\r\n while (currentVNode) {\r\n const last = normalizedStack[0];\r\n if (last && last.vnode === currentVNode) {\r\n last.recurseCount++;\r\n }\r\n else {\r\n normalizedStack.push({\r\n vnode: currentVNode,\r\n recurseCount: 0\r\n });\r\n }\r\n const parentInstance = currentVNode.component && currentVNode.component.parent;\r\n currentVNode = parentInstance && parentInstance.vnode;\r\n }\r\n return normalizedStack;\r\n}\r\n/* istanbul ignore next */\r\nfunction formatTrace(trace) {\r\n const logs = [];\r\n trace.forEach((entry, i) => {\r\n logs.push(...(i === 0 ? [] : [`\\n`]), ...formatTraceEntry(entry));\r\n });\r\n return logs;\r\n}\r\nfunction formatTraceEntry({ vnode, recurseCount }) {\r\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\r\n const isRoot = vnode.component ? vnode.component.parent == null : false;\r\n const open = ` at <${formatComponentName(vnode.component, vnode.type, isRoot)}`;\r\n const close = `>` + postfix;\r\n return vnode.props\r\n ? [open, ...formatProps(vnode.props), close]\r\n : [open + close];\r\n}\r\n/* istanbul ignore next */\r\nfunction formatProps(props) {\r\n const res = [];\r\n const keys = Object.keys(props);\r\n keys.slice(0, 3).forEach(key => {\r\n res.push(...formatProp(key, props[key]));\r\n });\r\n if (keys.length > 3) {\r\n res.push(` ...`);\r\n }\r\n return res;\r\n}\r\n/* istanbul ignore next */\r\nfunction formatProp(key, value, raw) {\r\n if (isString(value)) {\r\n value = JSON.stringify(value);\r\n return raw ? value : [`${key}=${value}`];\r\n }\r\n else if (typeof value === 'number' ||\r\n typeof value === 'boolean' ||\r\n value == null) {\r\n return raw ? value : [`${key}=${value}`];\r\n }\r\n else if (isRef(value)) {\r\n value = formatProp(key, toRaw(value.value), true);\r\n return raw ? value : [`${key}=Ref<`, value, `>`];\r\n }\r\n else if (isFunction(value)) {\r\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\r\n }\r\n else {\r\n value = toRaw(value);\r\n return raw ? value : [`${key}=`, value];\r\n }\r\n}\n\nconst ErrorTypeStrings = {\r\n [\"bc\" /* BEFORE_CREATE */]: 'beforeCreate hook',\r\n [\"c\" /* CREATED */]: 'created hook',\r\n [\"bm\" /* BEFORE_MOUNT */]: 'beforeMount hook',\r\n [\"m\" /* MOUNTED */]: 'mounted hook',\r\n [\"bu\" /* BEFORE_UPDATE */]: 'beforeUpdate hook',\r\n [\"u\" /* UPDATED */]: 'updated',\r\n [\"bum\" /* BEFORE_UNMOUNT */]: 'beforeUnmount hook',\r\n [\"um\" /* UNMOUNTED */]: 'unmounted hook',\r\n [\"a\" /* ACTIVATED */]: 'activated hook',\r\n [\"da\" /* DEACTIVATED */]: 'deactivated hook',\r\n [\"ec\" /* ERROR_CAPTURED */]: 'errorCaptured hook',\r\n [\"rtc\" /* RENDER_TRACKED */]: 'renderTracked hook',\r\n [\"rtg\" /* RENDER_TRIGGERED */]: 'renderTriggered hook',\r\n [0 /* SETUP_FUNCTION */]: 'setup function',\r\n [1 /* RENDER_FUNCTION */]: 'render function',\r\n [2 /* WATCH_GETTER */]: 'watcher getter',\r\n [3 /* WATCH_CALLBACK */]: 'watcher callback',\r\n [4 /* WATCH_CLEANUP */]: 'watcher cleanup function',\r\n [5 /* NATIVE_EVENT_HANDLER */]: 'native event handler',\r\n [6 /* COMPONENT_EVENT_HANDLER */]: 'component event handler',\r\n [7 /* VNODE_HOOK */]: 'vnode hook',\r\n [8 /* DIRECTIVE_HOOK */]: 'directive hook',\r\n [9 /* TRANSITION_HOOK */]: 'transition hook',\r\n [10 /* APP_ERROR_HANDLER */]: 'app errorHandler',\r\n [11 /* APP_WARN_HANDLER */]: 'app warnHandler',\r\n [12 /* FUNCTION_REF */]: 'ref function',\r\n [13 /* ASYNC_COMPONENT_LOADER */]: 'async component loader',\r\n [14 /* SCHEDULER */]: 'scheduler flush. This is likely a Vue internals bug. ' +\r\n 'Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/vue-next'\r\n};\r\nfunction callWithErrorHandling(fn, instance, type, args) {\r\n let res;\r\n try {\r\n res = args ? fn(...args) : fn();\r\n }\r\n catch (err) {\r\n handleError(err, instance, type);\r\n }\r\n return res;\r\n}\r\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\r\n if (isFunction(fn)) {\r\n const res = callWithErrorHandling(fn, instance, type, args);\r\n if (res && isPromise(res)) {\r\n res.catch(err => {\r\n handleError(err, instance, type);\r\n });\r\n }\r\n return res;\r\n }\r\n const values = [];\r\n for (let i = 0; i < fn.length; i++) {\r\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\r\n }\r\n return values;\r\n}\r\nfunction handleError(err, instance, type, throwInDev = true) {\r\n const contextVNode = instance ? instance.vnode : null;\r\n if (instance) {\r\n let cur = instance.parent;\r\n // the exposed instance is the render proxy to keep it consistent with 2.x\r\n const exposedInstance = instance.proxy;\r\n // in production the hook receives only the error code\r\n const errorInfo = (process.env.NODE_ENV !== 'production') ? ErrorTypeStrings[type] : type;\r\n while (cur) {\r\n const errorCapturedHooks = cur.ec;\r\n if (errorCapturedHooks) {\r\n for (let i = 0; i < errorCapturedHooks.length; i++) {\r\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\r\n return;\r\n }\r\n }\r\n }\r\n cur = cur.parent;\r\n }\r\n // app-level handling\r\n const appErrorHandler = instance.appContext.config.errorHandler;\r\n if (appErrorHandler) {\r\n callWithErrorHandling(appErrorHandler, null, 10 /* APP_ERROR_HANDLER */, [err, exposedInstance, errorInfo]);\r\n return;\r\n }\r\n }\r\n logError(err, type, contextVNode, throwInDev);\r\n}\r\nfunction logError(err, type, contextVNode, throwInDev = true) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const info = ErrorTypeStrings[type];\r\n if (contextVNode) {\r\n pushWarningContext(contextVNode);\r\n }\r\n warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\r\n if (contextVNode) {\r\n popWarningContext();\r\n }\r\n // crash in dev by default so it's more noticeable\r\n if (throwInDev) {\r\n throw err;\r\n }\r\n else {\r\n console.error(err);\r\n }\r\n }\r\n else {\r\n // recover in prod to reduce the impact on end-user\r\n console.error(err);\r\n }\r\n}\n\nlet isFlushing = false;\r\nlet isFlushPending = false;\r\nconst queue = [];\r\nlet flushIndex = 0;\r\nconst pendingPreFlushCbs = [];\r\nlet activePreFlushCbs = null;\r\nlet preFlushIndex = 0;\r\nconst pendingPostFlushCbs = [];\r\nlet activePostFlushCbs = null;\r\nlet postFlushIndex = 0;\r\nconst resolvedPromise = Promise.resolve();\r\nlet currentFlushPromise = null;\r\nlet currentPreFlushParentJob = null;\r\nconst RECURSION_LIMIT = 100;\r\nfunction nextTick(fn) {\r\n const p = currentFlushPromise || resolvedPromise;\r\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\r\n}\r\n// #2768\r\n// Use binary-search to find a suitable position in the queue,\r\n// so that the queue maintains the increasing order of job's id,\r\n// which can prevent the job from being skipped and also can avoid repeated patching.\r\nfunction findInsertionIndex(job) {\r\n // the start index should be `flushIndex + 1`\r\n let start = flushIndex + 1;\r\n let end = queue.length;\r\n const jobId = getId(job);\r\n while (start < end) {\r\n const middle = (start + end) >>> 1;\r\n const middleJobId = getId(queue[middle]);\r\n middleJobId < jobId ? (start = middle + 1) : (end = middle);\r\n }\r\n return start;\r\n}\r\nfunction queueJob(job) {\r\n // the dedupe search uses the startIndex argument of Array.includes()\r\n // by default the search index includes the current job that is being run\r\n // so it cannot recursively trigger itself again.\r\n // if the job is a watch() callback, the search will start with a +1 index to\r\n // allow it recursively trigger itself - it is the user's responsibility to\r\n // ensure it doesn't end up in an infinite loop.\r\n if ((!queue.length ||\r\n !queue.includes(job, isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex)) &&\r\n job !== currentPreFlushParentJob) {\r\n const pos = findInsertionIndex(job);\r\n if (pos > -1) {\r\n queue.splice(pos, 0, job);\r\n }\r\n else {\r\n queue.push(job);\r\n }\r\n queueFlush();\r\n }\r\n}\r\nfunction queueFlush() {\r\n if (!isFlushing && !isFlushPending) {\r\n isFlushPending = true;\r\n currentFlushPromise = resolvedPromise.then(flushJobs);\r\n }\r\n}\r\nfunction invalidateJob(job) {\r\n const i = queue.indexOf(job);\r\n if (i > flushIndex) {\r\n queue.splice(i, 1);\r\n }\r\n}\r\nfunction queueCb(cb, activeQueue, pendingQueue, index) {\r\n if (!isArray(cb)) {\r\n if (!activeQueue ||\r\n !activeQueue.includes(cb, cb.allowRecurse ? index + 1 : index)) {\r\n pendingQueue.push(cb);\r\n }\r\n }\r\n else {\r\n // if cb is an array, it is a component lifecycle hook which can only be\r\n // triggered by a job, which is already deduped in the main queue, so\r\n // we can skip duplicate check here to improve perf\r\n pendingQueue.push(...cb);\r\n }\r\n queueFlush();\r\n}\r\nfunction queuePreFlushCb(cb) {\r\n queueCb(cb, activePreFlushCbs, pendingPreFlushCbs, preFlushIndex);\r\n}\r\nfunction queuePostFlushCb(cb) {\r\n queueCb(cb, activePostFlushCbs, pendingPostFlushCbs, postFlushIndex);\r\n}\r\nfunction flushPreFlushCbs(seen, parentJob = null) {\r\n if (pendingPreFlushCbs.length) {\r\n currentPreFlushParentJob = parentJob;\r\n activePreFlushCbs = [...new Set(pendingPreFlushCbs)];\r\n pendingPreFlushCbs.length = 0;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n for (preFlushIndex = 0; preFlushIndex < activePreFlushCbs.length; preFlushIndex++) {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n checkRecursiveUpdates(seen, activePreFlushCbs[preFlushIndex])) {\r\n continue;\r\n }\r\n activePreFlushCbs[preFlushIndex]();\r\n }\r\n activePreFlushCbs = null;\r\n preFlushIndex = 0;\r\n currentPreFlushParentJob = null;\r\n // recursively flush until it drains\r\n flushPreFlushCbs(seen, parentJob);\r\n }\r\n}\r\nfunction flushPostFlushCbs(seen) {\r\n if (pendingPostFlushCbs.length) {\r\n const deduped = [...new Set(pendingPostFlushCbs)];\r\n pendingPostFlushCbs.length = 0;\r\n // #1947 already has active queue, nested flushPostFlushCbs call\r\n if (activePostFlushCbs) {\r\n activePostFlushCbs.push(...deduped);\r\n return;\r\n }\r\n activePostFlushCbs = deduped;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n activePostFlushCbs.sort((a, b) => getId(a) - getId(b));\r\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\r\n continue;\r\n }\r\n activePostFlushCbs[postFlushIndex]();\r\n }\r\n activePostFlushCbs = null;\r\n postFlushIndex = 0;\r\n }\r\n}\r\nconst getId = (job) => job.id == null ? Infinity : job.id;\r\nfunction flushJobs(seen) {\r\n isFlushPending = false;\r\n isFlushing = true;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n flushPreFlushCbs(seen);\r\n // Sort queue before flush.\r\n // This ensures that:\r\n // 1. Components are updated from parent to child. (because parent is always\r\n // created before the child so its render effect will have smaller\r\n // priority number)\r\n // 2. If a component is unmounted during a parent component's update,\r\n // its update can be skipped.\r\n queue.sort((a, b) => getId(a) - getId(b));\r\n try {\r\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\r\n const job = queue[flushIndex];\r\n if (job && job.active !== false) {\r\n if ((process.env.NODE_ENV !== 'production') && checkRecursiveUpdates(seen, job)) {\r\n continue;\r\n }\r\n callWithErrorHandling(job, null, 14 /* SCHEDULER */);\r\n }\r\n }\r\n }\r\n finally {\r\n flushIndex = 0;\r\n queue.length = 0;\r\n flushPostFlushCbs(seen);\r\n isFlushing = false;\r\n currentFlushPromise = null;\r\n // some postFlushCb queued jobs!\r\n // keep flushing until it drains.\r\n if (queue.length ||\r\n pendingPreFlushCbs.length ||\r\n pendingPostFlushCbs.length) {\r\n flushJobs(seen);\r\n }\r\n }\r\n}\r\nfunction checkRecursiveUpdates(seen, fn) {\r\n if (!seen.has(fn)) {\r\n seen.set(fn, 1);\r\n }\r\n else {\r\n const count = seen.get(fn);\r\n if (count > RECURSION_LIMIT) {\r\n const instance = fn.ownerInstance;\r\n const componentName = instance && getComponentName(instance.type);\r\n warn(`Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. ` +\r\n `This means you have a reactive effect that is mutating its own ` +\r\n `dependencies and thus recursively triggering itself. Possible sources ` +\r\n `include component template, render function, updated hook or ` +\r\n `watcher source function.`);\r\n return true;\r\n }\r\n else {\r\n seen.set(fn, count + 1);\r\n }\r\n }\r\n}\n\n/* eslint-disable no-restricted-globals */\r\nlet isHmrUpdating = false;\r\nconst hmrDirtyComponents = new Set();\r\n// Expose the HMR runtime on the global object\r\n// This makes it entirely tree-shakable without polluting the exports and makes\r\n// it easier to be used in toolings like vue-loader\r\n// Note: for a component to be eligible for HMR it also needs the __hmrId option\r\n// to be set so that its instances can be registered / removed.\r\nif ((process.env.NODE_ENV !== 'production')) {\r\n const globalObject = typeof global !== 'undefined'\r\n ? global\r\n : typeof self !== 'undefined'\r\n ? self\r\n : typeof window !== 'undefined'\r\n ? window\r\n : {};\r\n globalObject.__VUE_HMR_RUNTIME__ = {\r\n createRecord: tryWrap(createRecord),\r\n rerender: tryWrap(rerender),\r\n reload: tryWrap(reload)\r\n };\r\n}\r\nconst map = new Map();\r\nfunction registerHMR(instance) {\r\n const id = instance.type.__hmrId;\r\n let record = map.get(id);\r\n if (!record) {\r\n createRecord(id, instance.type);\r\n record = map.get(id);\r\n }\r\n record.instances.add(instance);\r\n}\r\nfunction unregisterHMR(instance) {\r\n map.get(instance.type.__hmrId).instances.delete(instance);\r\n}\r\nfunction createRecord(id, component) {\r\n if (!component) {\r\n warn(`HMR API usage is out of date.\\n` +\r\n `Please upgrade vue-loader/vite/rollup-plugin-vue or other relevant ` +\r\n `dependency that handles Vue SFC compilation.`);\r\n component = {};\r\n }\r\n if (map.has(id)) {\r\n return false;\r\n }\r\n map.set(id, {\r\n component: isClassComponent(component) ? component.__vccOpts : component,\r\n instances: new Set()\r\n });\r\n return true;\r\n}\r\nfunction rerender(id, newRender) {\r\n const record = map.get(id);\r\n if (!record)\r\n return;\r\n if (newRender)\r\n record.component.render = newRender;\r\n // Array.from creates a snapshot which avoids the set being mutated during\r\n // updates\r\n Array.from(record.instances).forEach(instance => {\r\n if (newRender) {\r\n instance.render = newRender;\r\n }\r\n instance.renderCache = [];\r\n // this flag forces child components with slot content to update\r\n isHmrUpdating = true;\r\n instance.update();\r\n isHmrUpdating = false;\r\n });\r\n}\r\nfunction reload(id, newComp) {\r\n const record = map.get(id);\r\n if (!record)\r\n return;\r\n // Array.from creates a snapshot which avoids the set being mutated during\r\n // updates\r\n const { component, instances } = record;\r\n if (!hmrDirtyComponents.has(component)) {\r\n // 1. Update existing comp definition to match new one\r\n newComp = isClassComponent(newComp) ? newComp.__vccOpts : newComp;\r\n extend(component, newComp);\r\n for (const key in component) {\r\n if (key !== '__file' && !(key in newComp)) {\r\n delete component[key];\r\n }\r\n }\r\n // 2. Mark component dirty. This forces the renderer to replace the component\r\n // on patch.\r\n hmrDirtyComponents.add(component);\r\n // 3. Make sure to unmark the component after the reload.\r\n queuePostFlushCb(() => {\r\n hmrDirtyComponents.delete(component);\r\n });\r\n }\r\n Array.from(instances).forEach(instance => {\r\n if (instance.parent) {\r\n // 4. Force the parent instance to re-render. This will cause all updated\r\n // components to be unmounted and re-mounted. Queue the update so that we\r\n // don't end up forcing the same parent to re-render multiple times.\r\n queueJob(instance.parent.update);\r\n }\r\n else if (instance.appContext.reload) {\r\n // root instance mounted via createApp() has a reload method\r\n instance.appContext.reload();\r\n }\r\n else if (typeof window !== 'undefined') {\r\n // root instance inside tree created via raw render(). Force reload.\r\n window.location.reload();\r\n }\r\n else {\r\n console.warn('[HMR] Root or manually mounted instance modified. Full reload required.');\r\n }\r\n });\r\n}\r\nfunction tryWrap(fn) {\r\n return (id, arg) => {\r\n try {\r\n return fn(id, arg);\r\n }\r\n catch (e) {\r\n console.error(e);\r\n console.warn(`[HMR] Something went wrong during Vue component hot-reload. ` +\r\n `Full reload required.`);\r\n }\r\n };\r\n}\n\nlet devtools;\r\nfunction setDevtoolsHook(hook) {\r\n devtools = hook;\r\n}\r\nfunction devtoolsInitApp(app, version) {\r\n // TODO queue if devtools is undefined\r\n if (!devtools)\r\n return;\r\n devtools.emit(\"app:init\" /* APP_INIT */, app, version, {\r\n Fragment,\r\n Text,\r\n Comment: Comment$1,\r\n Static\r\n });\r\n}\r\nfunction devtoolsUnmountApp(app) {\r\n if (!devtools)\r\n return;\r\n devtools.emit(\"app:unmount\" /* APP_UNMOUNT */, app);\r\n}\r\nconst devtoolsComponentAdded = /*#__PURE__*/ createDevtoolsComponentHook(\"component:added\" /* COMPONENT_ADDED */);\r\nconst devtoolsComponentUpdated = /*#__PURE__*/ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\r\nconst devtoolsComponentRemoved = /*#__PURE__*/ createDevtoolsComponentHook(\"component:removed\" /* COMPONENT_REMOVED */);\r\nfunction createDevtoolsComponentHook(hook) {\r\n return (component) => {\r\n if (!devtools)\r\n return;\r\n devtools.emit(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined, component);\r\n };\r\n}\r\nconst devtoolsPerfStart = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:start\" /* PERFORMANCE_START */);\r\nconst devtoolsPerfEnd = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:end\" /* PERFORMANCE_END */);\r\nfunction createDevtoolsPerformanceHook(hook) {\r\n return (component, type, time) => {\r\n if (!devtools)\r\n return;\r\n devtools.emit(hook, component.appContext.app, component.uid, component, type, time);\r\n };\r\n}\r\nfunction devtoolsComponentEmit(component, event, params) {\r\n if (!devtools)\r\n return;\r\n devtools.emit(\"component:emit\" /* COMPONENT_EMIT */, component.appContext.app, component, event, params);\r\n}\n\nconst deprecationData = {\r\n [\"GLOBAL_MOUNT\" /* GLOBAL_MOUNT */]: {\r\n message: `The global app bootstrapping API has changed: vm.$mount() and the \"el\" ` +\r\n `option have been removed. Use createApp(RootComponent).mount() instead.`,\r\n link: `https://v3.vuejs.org/guide/migration/global-api.html#mounting-app-instance`\r\n },\r\n [\"GLOBAL_MOUNT_CONTAINER\" /* GLOBAL_MOUNT_CONTAINER */]: {\r\n message: `Vue detected directives on the mount container. ` +\r\n `In Vue 3, the container is no longer considered part of the template ` +\r\n `and will not be processed/replaced.`,\r\n link: `https://v3.vuejs.org/guide/migration/mount-changes.html`\r\n },\r\n [\"GLOBAL_EXTEND\" /* GLOBAL_EXTEND */]: {\r\n message: `Vue.extend() has been removed in Vue 3. ` +\r\n `Use defineComponent() instead.`,\r\n link: `https://v3.vuejs.org/api/global-api.html#definecomponent`\r\n },\r\n [\"GLOBAL_PROTOTYPE\" /* GLOBAL_PROTOTYPE */]: {\r\n message: `Vue.prototype is no longer available in Vue 3. ` +\r\n `Use app.config.globalProperties instead.`,\r\n link: `https://v3.vuejs.org/guide/migration/global-api.html#vue-prototype-replaced-by-config-globalproperties`\r\n },\r\n [\"GLOBAL_SET\" /* GLOBAL_SET */]: {\r\n message: `Vue.set() has been removed as it is no longer needed in Vue 3. ` +\r\n `Simply use native JavaScript mutations.`\r\n },\r\n [\"GLOBAL_DELETE\" /* GLOBAL_DELETE */]: {\r\n message: `Vue.delete() has been removed as it is no longer needed in Vue 3. ` +\r\n `Simply use native JavaScript mutations.`\r\n },\r\n [\"GLOBAL_OBSERVABLE\" /* GLOBAL_OBSERVABLE */]: {\r\n message: `Vue.observable() has been removed. ` +\r\n `Use \\`import { reactive } from \"vue\"\\` from Composition API instead.`,\r\n link: `https://v3.vuejs.org/api/basic-reactivity.html`\r\n },\r\n [\"GLOBAL_PRIVATE_UTIL\" /* GLOBAL_PRIVATE_UTIL */]: {\r\n message: `Vue.util has been removed. Please refactor to avoid its usage ` +\r\n `since it was an internal API even in Vue 2.`\r\n },\r\n [\"CONFIG_SILENT\" /* CONFIG_SILENT */]: {\r\n message: `config.silent has been removed because it is not good practice to ` +\r\n `intentionally suppress warnings. You can use your browser console's ` +\r\n `filter features to focus on relevant messages.`\r\n },\r\n [\"CONFIG_DEVTOOLS\" /* CONFIG_DEVTOOLS */]: {\r\n message: `config.devtools has been removed. To enable devtools for ` +\r\n `production, configure the __VUE_PROD_DEVTOOLS__ compile-time flag.`,\r\n link: `https://github.com/vuejs/vue-next/tree/master/packages/vue#bundler-build-feature-flags`\r\n },\r\n [\"CONFIG_KEY_CODES\" /* CONFIG_KEY_CODES */]: {\r\n message: `config.keyCodes has been removed. ` +\r\n `In Vue 3, you can directly use the kebab-case key names as v-on modifiers.`,\r\n link: `https://v3.vuejs.org/guide/migration/keycode-modifiers.html`\r\n },\r\n [\"CONFIG_PRODUCTION_TIP\" /* CONFIG_PRODUCTION_TIP */]: {\r\n message: `config.productionTip has been removed.`,\r\n link: `https://v3.vuejs.org/guide/migration/global-api.html#config-productiontip-removed`\r\n },\r\n [\"CONFIG_IGNORED_ELEMENTS\" /* CONFIG_IGNORED_ELEMENTS */]: {\r\n message: () => {\r\n let msg = `config.ignoredElements has been removed.`;\r\n if (isRuntimeOnly()) {\r\n msg += ` Pass the \"isCustomElement\" option to @vue/compiler-dom instead.`;\r\n }\r\n else {\r\n msg += ` Use config.isCustomElement instead.`;\r\n }\r\n return msg;\r\n },\r\n link: `https://v3.vuejs.org/guide/migration/global-api.html#config-ignoredelements-is-now-config-iscustomelement`\r\n },\r\n [\"CONFIG_WHITESPACE\" /* CONFIG_WHITESPACE */]: {\r\n // this warning is only relevant in the full build when using runtime\r\n // compilation, so it's put in the runtime compatConfig list.\r\n message: `Vue 3 compiler's whitespace option will default to \"condense\" instead of ` +\r\n `\"preserve\". To suppress this warning, provide an explicit value for ` +\r\n `\\`config.compilerOptions.whitespace\\`.`\r\n },\r\n [\"CONFIG_OPTION_MERGE_STRATS\" /* CONFIG_OPTION_MERGE_STRATS */]: {\r\n message: `config.optionMergeStrategies no longer exposes internal strategies. ` +\r\n `Use custom merge functions instead.`\r\n },\r\n [\"INSTANCE_SET\" /* INSTANCE_SET */]: {\r\n message: `vm.$set() has been removed as it is no longer needed in Vue 3. ` +\r\n `Simply use native JavaScript mutations.`\r\n },\r\n [\"INSTANCE_DELETE\" /* INSTANCE_DELETE */]: {\r\n message: `vm.$delete() has been removed as it is no longer needed in Vue 3. ` +\r\n `Simply use native JavaScript mutations.`\r\n },\r\n [\"INSTANCE_DESTROY\" /* INSTANCE_DESTROY */]: {\r\n message: `vm.$destroy() has been removed. Use app.unmount() instead.`,\r\n link: `https://v3.vuejs.org/api/application-api.html#unmount`\r\n },\r\n [\"INSTANCE_EVENT_EMITTER\" /* INSTANCE_EVENT_EMITTER */]: {\r\n message: `vm.$on/$once/$off() have been removed. ` +\r\n `Use an external event emitter library instead.`,\r\n link: `https://v3.vuejs.org/guide/migration/events-api.html`\r\n },\r\n [\"INSTANCE_EVENT_HOOKS\" /* INSTANCE_EVENT_HOOKS */]: {\r\n message: event => `\"${event}\" lifecycle events are no longer supported. From templates, ` +\r\n `use the \"vnode\" prefix instead of \"hook:\". For example, @${event} ` +\r\n `should be changed to @vnode-${event.slice(5)}. ` +\r\n `From JavaScript, use Composition API to dynamically register lifecycle ` +\r\n `hooks.`,\r\n link: `https://v3.vuejs.org/guide/migration/vnode-lifecycle-events.html`\r\n },\r\n [\"INSTANCE_CHILDREN\" /* INSTANCE_CHILDREN */]: {\r\n message: `vm.$children has been removed. Consider refactoring your logic ` +\r\n `to avoid relying on direct access to child components.`,\r\n link: `https://v3.vuejs.org/guide/migration/children.html`\r\n },\r\n [\"INSTANCE_LISTENERS\" /* INSTANCE_LISTENERS */]: {\r\n message: `vm.$listeners has been removed. In Vue 3, parent v-on listeners are ` +\r\n `included in vm.$attrs and it is no longer necessary to separately use ` +\r\n `v-on=\"$listeners\" if you are already using v-bind=\"$attrs\". ` +\r\n `(Note: the Vue 3 behavior only applies if this compat config is disabled)`,\r\n link: `https://v3.vuejs.org/guide/migration/listeners-removed.html`\r\n },\r\n [\"INSTANCE_SCOPED_SLOTS\" /* INSTANCE_SCOPED_SLOTS */]: {\r\n message: `vm.$scopedSlots has been removed. Use vm.$slots instead.`,\r\n link: `https://v3.vuejs.org/guide/migration/slots-unification.html`\r\n },\r\n [\"INSTANCE_ATTRS_CLASS_STYLE\" /* INSTANCE_ATTRS_CLASS_STYLE */]: {\r\n message: componentName => `Component <${componentName ||\r\n 'Anonymous'}> has \\`inheritAttrs: false\\` but is ` +\r\n `relying on class/style fallthrough from parent. In Vue 3, class/style ` +\r\n `are now included in $attrs and will no longer fallthrough when ` +\r\n `inheritAttrs is false. If you are already using v-bind=\"$attrs\" on ` +\r\n `component root it should render the same end result. ` +\r\n `If you are binding $attrs to a non-root element and expecting ` +\r\n `class/style to fallthrough on root, you will need to now manually bind ` +\r\n `them on root via :class=\"$attrs.class\".`,\r\n link: `https://v3.vuejs.org/guide/migration/attrs-includes-class-style.html`\r\n },\r\n [\"OPTIONS_DATA_FN\" /* OPTIONS_DATA_FN */]: {\r\n message: `The \"data\" option can no longer be a plain object. ` +\r\n `Always use a function.`,\r\n link: `https://v3.vuejs.org/guide/migration/data-option.html`\r\n },\r\n [\"OPTIONS_DATA_MERGE\" /* OPTIONS_DATA_MERGE */]: {\r\n message: (key) => `Detected conflicting key \"${key}\" when merging data option values. ` +\r\n `In Vue 3, data keys are merged shallowly and will override one another.`,\r\n link: `https://v3.vuejs.org/guide/migration/data-option.html#mixin-merge-behavior-change`\r\n },\r\n [\"OPTIONS_BEFORE_DESTROY\" /* OPTIONS_BEFORE_DESTROY */]: {\r\n message: `\\`beforeDestroy\\` has been renamed to \\`beforeUnmount\\`.`\r\n },\r\n [\"OPTIONS_DESTROYED\" /* OPTIONS_DESTROYED */]: {\r\n message: `\\`destroyed\\` has been renamed to \\`unmounted\\`.`\r\n },\r\n [\"WATCH_ARRAY\" /* WATCH_ARRAY */]: {\r\n message: `\"watch\" option or vm.$watch on an array value will no longer ` +\r\n `trigger on array mutation unless the \"deep\" option is specified. ` +\r\n `If current usage is intended, you can disable the compat behavior and ` +\r\n `suppress this warning with:` +\r\n `\\n\\n configureCompat({ ${\"WATCH_ARRAY\" /* WATCH_ARRAY */}: false })\\n`,\r\n link: `https://v3.vuejs.org/guide/migration/watch.html`\r\n },\r\n [\"PROPS_DEFAULT_THIS\" /* PROPS_DEFAULT_THIS */]: {\r\n message: (key) => `props default value function no longer has access to \"this\". The compat ` +\r\n `build only offers access to this.$options.` +\r\n `(found in prop \"${key}\")`,\r\n link: `https://v3.vuejs.org/guide/migration/props-default-this.html`\r\n },\r\n [\"CUSTOM_DIR\" /* CUSTOM_DIR */]: {\r\n message: (legacyHook, newHook) => `Custom directive hook \"${legacyHook}\" has been removed. ` +\r\n `Use \"${newHook}\" instead.`,\r\n link: `https://v3.vuejs.org/guide/migration/custom-directives.html`\r\n },\r\n [\"V_FOR_REF\" /* V_FOR_REF */]: {\r\n message: `Ref usage on v-for no longer creates array ref values in Vue 3. ` +\r\n `Consider using function refs or refactor to avoid ref usage altogether.`,\r\n link: `https://v3.vuejs.org/guide/migration/array-refs.html`\r\n },\r\n [\"V_ON_KEYCODE_MODIFIER\" /* V_ON_KEYCODE_MODIFIER */]: {\r\n message: `Using keyCode as v-on modifier is no longer supported. ` +\r\n `Use kebab-case key name modifiers instead.`,\r\n link: `https://v3.vuejs.org/guide/migration/keycode-modifiers.html`\r\n },\r\n [\"ATTR_FALSE_VALUE\" /* ATTR_FALSE_VALUE */]: {\r\n message: (name) => `Attribute \"${name}\" with v-bind value \\`false\\` will render ` +\r\n `${name}=\"false\" instead of removing it in Vue 3. To remove the attribute, ` +\r\n `use \\`null\\` or \\`undefined\\` instead. If the usage is intended, ` +\r\n `you can disable the compat behavior and suppress this warning with:` +\r\n `\\n\\n configureCompat({ ${\"ATTR_FALSE_VALUE\" /* ATTR_FALSE_VALUE */}: false })\\n`,\r\n link: `https://v3.vuejs.org/guide/migration/attribute-coercion.html`\r\n },\r\n [\"ATTR_ENUMERATED_COERCION\" /* ATTR_ENUMERATED_COERCION */]: {\r\n message: (name, value, coerced) => `Enumerated attribute \"${name}\" with v-bind value \\`${value}\\` will ` +\r\n `${value === null ? `be removed` : `render the value as-is`} instead of coercing the value to \"${coerced}\" in Vue 3. ` +\r\n `Always use explicit \"true\" or \"false\" values for enumerated attributes. ` +\r\n `If the usage is intended, ` +\r\n `you can disable the compat behavior and suppress this warning with:` +\r\n `\\n\\n configureCompat({ ${\"ATTR_ENUMERATED_COERCION\" /* ATTR_ENUMERATED_COERCION */}: false })\\n`,\r\n link: `https://v3.vuejs.org/guide/migration/attribute-coercion.html`\r\n },\r\n [\"TRANSITION_CLASSES\" /* TRANSITION_CLASSES */]: {\r\n message: `` // this feature cannot be runtime-detected\r\n },\r\n [\"TRANSITION_GROUP_ROOT\" /* TRANSITION_GROUP_ROOT */]: {\r\n message: ` no longer renders a root element by ` +\r\n `default if no \"tag\" prop is specified. If you do not rely on the span ` +\r\n `for styling, you can disable the compat behavior and suppress this ` +\r\n `warning with:` +\r\n `\\n\\n configureCompat({ ${\"TRANSITION_GROUP_ROOT\" /* TRANSITION_GROUP_ROOT */}: false })\\n`,\r\n link: `https://v3.vuejs.org/guide/migration/transition-group.html`\r\n },\r\n [\"COMPONENT_ASYNC\" /* COMPONENT_ASYNC */]: {\r\n message: (comp) => {\r\n const name = getComponentName(comp);\r\n return (`Async component${name ? ` <${name}>` : `s`} should be explicitly created via \\`defineAsyncComponent()\\` ` +\r\n `in Vue 3. Plain functions will be treated as functional components in ` +\r\n `non-compat build. If you have already migrated all async component ` +\r\n `usage and intend to use plain functions for functional components, ` +\r\n `you can disable the compat behavior and suppress this ` +\r\n `warning with:` +\r\n `\\n\\n configureCompat({ ${\"COMPONENT_ASYNC\" /* COMPONENT_ASYNC */}: false })\\n`);\r\n },\r\n link: `https://v3.vuejs.org/guide/migration/async-components.html`\r\n },\r\n [\"COMPONENT_FUNCTIONAL\" /* COMPONENT_FUNCTIONAL */]: {\r\n message: (comp) => {\r\n const name = getComponentName(comp);\r\n return (`Functional component${name ? ` <${name}>` : `s`} should be defined as a plain function in Vue 3. The \"functional\" ` +\r\n `option has been removed. NOTE: Before migrating to use plain ` +\r\n `functions for functional components, first make sure that all async ` +\r\n `components usage have been migrated and its compat behavior has ` +\r\n `been disabled.`);\r\n },\r\n link: `https://v3.vuejs.org/guide/migration/functional-components.html`\r\n },\r\n [\"COMPONENT_V_MODEL\" /* COMPONENT_V_MODEL */]: {\r\n message: (comp) => {\r\n const configMsg = `opt-in to ` +\r\n `Vue 3 behavior on a per-component basis with \\`compatConfig: { ${\"COMPONENT_V_MODEL\" /* COMPONENT_V_MODEL */}: false }\\`.`;\r\n if (comp.props && isArray(comp.props)\r\n ? comp.props.includes('modelValue')\r\n : hasOwn(comp.props, 'modelValue')) {\r\n return (`Component delcares \"modelValue\" prop, which is Vue 3 usage, but ` +\r\n `is running under Vue 2 compat v-model behavior. You can ${configMsg}`);\r\n }\r\n return (`v-model usage on component has changed in Vue 3. Component that expects ` +\r\n `to work with v-model should now use the \"modelValue\" prop and emit the ` +\r\n `\"update:modelValue\" event. You can update the usage and then ${configMsg}`);\r\n },\r\n link: `https://v3.vuejs.org/guide/migration/v-model.html`\r\n },\r\n [\"RENDER_FUNCTION\" /* RENDER_FUNCTION */]: {\r\n message: `Vue 3's render function API has changed. ` +\r\n `You can opt-in to the new API with:` +\r\n `\\n\\n configureCompat({ ${\"RENDER_FUNCTION\" /* RENDER_FUNCTION */}: false })\\n` +\r\n `\\n (This can also be done per-component via the \"compatConfig\" option.)`,\r\n link: `https://v3.vuejs.org/guide/migration/render-function-api.html`\r\n },\r\n [\"FILTERS\" /* FILTERS */]: {\r\n message: `filters have been removed in Vue 3. ` +\r\n `The \"|\" symbol will be treated as native JavaScript bitwise OR operator. ` +\r\n `Use method calls or computed properties instead.`,\r\n link: `https://v3.vuejs.org/guide/migration/filters.html`\r\n },\r\n [\"PRIVATE_APIS\" /* PRIVATE_APIS */]: {\r\n message: name => `\"${name}\" is a Vue 2 private API that no longer exists in Vue 3. ` +\r\n `If you are seeing this warning only due to a dependency, you can ` +\r\n `suppress this warning via { PRIVATE_APIS: 'supress-warning' }.`\r\n }\r\n};\r\nconst instanceWarned = Object.create(null);\r\nconst warnCount = Object.create(null);\r\nfunction warnDeprecation(key, instance, ...args) {\r\n if (!(process.env.NODE_ENV !== 'production')) {\r\n return;\r\n }\r\n instance = instance || getCurrentInstance();\r\n // check user config\r\n const config = getCompatConfigForKey(key, instance);\r\n if (config === 'suppress-warning') {\r\n return;\r\n }\r\n const dupKey = key + args.join('');\r\n let compId = instance && formatComponentName(instance, instance.type);\r\n if (compId === 'Anonymous' && instance) {\r\n compId = instance.uid;\r\n }\r\n // skip if the same warning is emitted for the same component type\r\n const componentDupKey = dupKey + compId;\r\n if (componentDupKey in instanceWarned) {\r\n return;\r\n }\r\n instanceWarned[componentDupKey] = true;\r\n // same warning, but different component. skip the long message and just\r\n // log the key and count.\r\n if (dupKey in warnCount) {\r\n warn(`(deprecation ${key}) (${++warnCount[dupKey] + 1})`);\r\n return;\r\n }\r\n warnCount[dupKey] = 0;\r\n const { message, link } = deprecationData[key];\r\n warn(`(deprecation ${key}) ${typeof message === 'function' ? message(...args) : message}${link ? `\\n Details: ${link}` : ``}`);\r\n if (!isCompatEnabled(key, instance, true)) {\r\n console.error(`^ The above deprecation's compat behavior is disabled and will likely ` +\r\n `lead to runtime errors.`);\r\n }\r\n}\r\nconst globalCompatConfig = {\r\n MODE: 2\r\n};\r\nfunction getCompatConfigForKey(key, instance) {\r\n const instanceConfig = instance && instance.type.compatConfig;\r\n if (instanceConfig && key in instanceConfig) {\r\n return instanceConfig[key];\r\n }\r\n return globalCompatConfig[key];\r\n}\r\nfunction isCompatEnabled(key, instance, enableForBuiltIn = false) {\r\n // skip compat for built-in components\r\n if (!enableForBuiltIn && instance && instance.type.__isBuiltIn) {\r\n return false;\r\n }\r\n const rawMode = getCompatConfigForKey('MODE', instance) || 2;\r\n const val = getCompatConfigForKey(key, instance);\r\n const mode = isFunction(rawMode)\r\n ? rawMode(instance && instance.type)\r\n : rawMode;\r\n if (mode === 2) {\r\n return val !== false;\r\n }\r\n else {\r\n return val === true || val === 'suppress-warning';\r\n }\r\n}\n\nfunction emit(instance, event, ...rawArgs) {\r\n const props = instance.vnode.props || EMPTY_OBJ;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const { emitsOptions, propsOptions: [propsOptions] } = instance;\r\n if (emitsOptions) {\r\n if (!(event in emitsOptions) &&\r\n !(false )) {\r\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\r\n warn(`Component emitted event \"${event}\" but it is neither declared in ` +\r\n `the emits option nor as an \"${toHandlerKey(event)}\" prop.`);\r\n }\r\n }\r\n else {\r\n const validator = emitsOptions[event];\r\n if (isFunction(validator)) {\r\n const isValid = validator(...rawArgs);\r\n if (!isValid) {\r\n warn(`Invalid event arguments: event validation failed for event \"${event}\".`);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n let args = rawArgs;\r\n const isModelListener = event.startsWith('update:');\r\n // for v-model update:xxx events, apply modifiers on args\r\n const modelArg = isModelListener && event.slice(7);\r\n if (modelArg && modelArg in props) {\r\n const modifiersKey = `${modelArg === 'modelValue' ? 'model' : modelArg}Modifiers`;\r\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\r\n if (trim) {\r\n args = rawArgs.map(a => a.trim());\r\n }\r\n else if (number) {\r\n args = rawArgs.map(toNumber);\r\n }\r\n }\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentEmit(instance, event, args);\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const lowerCaseEvent = event.toLowerCase();\r\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\r\n warn(`Event \"${lowerCaseEvent}\" is emitted in component ` +\r\n `${formatComponentName(instance, instance.type)} but the handler is registered for \"${event}\". ` +\r\n `Note that HTML attributes are case-insensitive and you cannot use ` +\r\n `v-on to listen to camelCase events when using in-DOM templates. ` +\r\n `You should probably use \"${hyphenate(event)}\" instead of \"${event}\".`);\r\n }\r\n }\r\n let handlerName;\r\n let handler = props[(handlerName = toHandlerKey(event))] ||\r\n // also try camelCase event handler (#2249)\r\n props[(handlerName = toHandlerKey(camelize(event)))];\r\n // for v-model update:xxx events, also trigger kebab-case equivalent\r\n // for props passed via kebab-case\r\n if (!handler && isModelListener) {\r\n handler = props[(handlerName = toHandlerKey(hyphenate(event)))];\r\n }\r\n if (handler) {\r\n callWithAsyncErrorHandling(handler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);\r\n }\r\n const onceHandler = props[handlerName + `Once`];\r\n if (onceHandler) {\r\n if (!instance.emitted) {\r\n instance.emitted = {};\r\n }\r\n else if (instance.emitted[handlerName]) {\r\n return;\r\n }\r\n instance.emitted[handlerName] = true;\r\n callWithAsyncErrorHandling(onceHandler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);\r\n }\r\n}\r\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\r\n const cache = appContext.emitsCache;\r\n const cached = cache.get(comp);\r\n if (cached !== undefined) {\r\n return cached;\r\n }\r\n const raw = comp.emits;\r\n let normalized = {};\r\n // apply mixin/extends props\r\n let hasExtends = false;\r\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\r\n const extendEmits = (raw) => {\r\n const normalizedFromExtend = normalizeEmitsOptions(raw, appContext, true);\r\n if (normalizedFromExtend) {\r\n hasExtends = true;\r\n extend(normalized, normalizedFromExtend);\r\n }\r\n };\r\n if (!asMixin && appContext.mixins.length) {\r\n appContext.mixins.forEach(extendEmits);\r\n }\r\n if (comp.extends) {\r\n extendEmits(comp.extends);\r\n }\r\n if (comp.mixins) {\r\n comp.mixins.forEach(extendEmits);\r\n }\r\n }\r\n if (!raw && !hasExtends) {\r\n cache.set(comp, null);\r\n return null;\r\n }\r\n if (isArray(raw)) {\r\n raw.forEach(key => (normalized[key] = null));\r\n }\r\n else {\r\n extend(normalized, raw);\r\n }\r\n cache.set(comp, normalized);\r\n return normalized;\r\n}\r\n// Check if an incoming prop key is a declared emit event listener.\r\n// e.g. With `emits: { click: null }`, props named `onClick` and `onclick` are\r\n// both considered matched listeners.\r\nfunction isEmitListener(options, key) {\r\n if (!options || !isOn(key)) {\r\n return false;\r\n }\r\n key = key.slice(2).replace(/Once$/, '');\r\n return (hasOwn(options, key[0].toLowerCase() + key.slice(1)) ||\r\n hasOwn(options, hyphenate(key)) ||\r\n hasOwn(options, key));\r\n}\n\n/**\r\n * mark the current rendering instance for asset resolution (e.g.\r\n * resolveComponent, resolveDirective) during render\r\n */\r\nlet currentRenderingInstance = null;\r\nlet currentScopeId = null;\r\n/**\r\n * Note: rendering calls maybe nested. The function returns the parent rendering\r\n * instance if present, which should be restored after the render is done:\r\n *\r\n * ```js\r\n * const prev = setCurrentRenderingInstance(i)\r\n * // ...render\r\n * setCurrentRenderingInstance(prev)\r\n * ```\r\n */\r\nfunction setCurrentRenderingInstance(instance) {\r\n const prev = currentRenderingInstance;\r\n currentRenderingInstance = instance;\r\n currentScopeId = (instance && instance.type.__scopeId) || null;\r\n return prev;\r\n}\r\n/**\r\n * Set scope id when creating hoisted vnodes.\r\n * @private compiler helper\r\n */\r\nfunction pushScopeId(id) {\r\n currentScopeId = id;\r\n}\r\n/**\r\n * Technically we no longer need this after 3.0.8 but we need to keep the same\r\n * API for backwards compat w/ code generated by compilers.\r\n * @private\r\n */\r\nfunction popScopeId() {\r\n currentScopeId = null;\r\n}\r\n/**\r\n * Only for backwards compat\r\n * @private\r\n */\r\nconst withScopeId = (_id) => withCtx;\r\n/**\r\n * Wrap a slot function to memoize current rendering instance\r\n * @private compiler helper\r\n */\r\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot // false only\r\n) {\r\n if (!ctx)\r\n return fn;\r\n // already normalized\r\n if (fn._n) {\r\n return fn;\r\n }\r\n const renderFnWithContext = (...args) => {\r\n // If a user calls a compiled slot inside a template expression (#1745), it\r\n // can mess up block tracking, so by default we disable block tracking and\r\n // force bail out when invoking a compiled slot (indicated by the ._d flag).\r\n // This isn't necessary if rendering a compiled ``, so we flip the\r\n // ._d flag off when invoking the wrapped fn inside `renderSlot`.\r\n if (renderFnWithContext._d) {\r\n setBlockTracking(-1);\r\n }\r\n const prevInstance = setCurrentRenderingInstance(ctx);\r\n const res = fn(...args);\r\n setCurrentRenderingInstance(prevInstance);\r\n if (renderFnWithContext._d) {\r\n setBlockTracking(1);\r\n }\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentUpdated(ctx);\r\n }\r\n return res;\r\n };\r\n // mark normalized to avoid duplicated wrapping\r\n renderFnWithContext._n = true;\r\n // mark this as compiled by default\r\n // this is used in vnode.ts -> normalizeChildren() to set the slot\r\n // rendering flag.\r\n renderFnWithContext._c = true;\r\n // disable block tracking by default\r\n renderFnWithContext._d = true;\r\n return renderFnWithContext;\r\n}\n\n/**\r\n * dev only flag to track whether $attrs was used during render.\r\n * If $attrs was used during render then the warning for failed attrs\r\n * fallthrough can be suppressed.\r\n */\r\nlet accessedAttrs = false;\r\nfunction markAttrsAccessed() {\r\n accessedAttrs = true;\r\n}\r\nfunction renderComponentRoot(instance) {\r\n const { type: Component, vnode, proxy, withProxy, props, propsOptions: [propsOptions], slots, attrs, emit, render, renderCache, data, setupState, ctx, inheritAttrs } = instance;\r\n let result;\r\n const prev = setCurrentRenderingInstance(instance);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n accessedAttrs = false;\r\n }\r\n try {\r\n let fallthroughAttrs;\r\n if (vnode.shapeFlag & 4 /* STATEFUL_COMPONENT */) {\r\n // withProxy is a proxy with a different `has` trap only for\r\n // runtime-compiled render functions using `with` block.\r\n const proxyToUse = withProxy || proxy;\r\n result = normalizeVNode(render.call(proxyToUse, proxyToUse, renderCache, props, setupState, data, ctx));\r\n fallthroughAttrs = attrs;\r\n }\r\n else {\r\n // functional\r\n const render = Component;\r\n // in dev, mark attrs accessed if optional props (attrs === props)\r\n if ((process.env.NODE_ENV !== 'production') && attrs === props) {\r\n markAttrsAccessed();\r\n }\r\n result = normalizeVNode(render.length > 1\r\n ? render(props, (process.env.NODE_ENV !== 'production')\r\n ? {\r\n get attrs() {\r\n markAttrsAccessed();\r\n return attrs;\r\n },\r\n slots,\r\n emit\r\n }\r\n : { attrs, slots, emit })\r\n : render(props, null /* we know it doesn't need it */));\r\n fallthroughAttrs = Component.props\r\n ? attrs\r\n : getFunctionalFallthrough(attrs);\r\n }\r\n // attr merging\r\n // in dev mode, comments are preserved, and it's possible for a template\r\n // to have comments along side the root element which makes it a fragment\r\n let root = result;\r\n let setRoot = undefined;\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n result.patchFlag > 0 &&\r\n result.patchFlag & 2048 /* DEV_ROOT_FRAGMENT */) {\r\n ;\r\n [root, setRoot] = getChildRoot(result);\r\n }\r\n if (fallthroughAttrs && inheritAttrs !== false) {\r\n const keys = Object.keys(fallthroughAttrs);\r\n const { shapeFlag } = root;\r\n if (keys.length) {\r\n if (shapeFlag & 1 /* ELEMENT */ ||\r\n shapeFlag & 6 /* COMPONENT */) {\r\n if (propsOptions && keys.some(isModelListener)) {\r\n // If a v-model listener (onUpdate:xxx) has a corresponding declared\r\n // prop, it indicates this component expects to handle v-model and\r\n // it should not fallthrough.\r\n // related: #1543, #1643, #1989\r\n fallthroughAttrs = filterModelListeners(fallthroughAttrs, propsOptions);\r\n }\r\n root = cloneVNode(root, fallthroughAttrs);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production') && !accessedAttrs && root.type !== Comment$1) {\r\n const allAttrs = Object.keys(attrs);\r\n const eventAttrs = [];\r\n const extraAttrs = [];\r\n for (let i = 0, l = allAttrs.length; i < l; i++) {\r\n const key = allAttrs[i];\r\n if (isOn(key)) {\r\n // ignore v-model handlers when they fail to fallthrough\r\n if (!isModelListener(key)) {\r\n // remove `on`, lowercase first letter to reflect event casing\r\n // accurately\r\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\r\n }\r\n }\r\n else {\r\n extraAttrs.push(key);\r\n }\r\n }\r\n if (extraAttrs.length) {\r\n warn(`Extraneous non-props attributes (` +\r\n `${extraAttrs.join(', ')}) ` +\r\n `were passed to component but could not be automatically inherited ` +\r\n `because component renders fragment or text root nodes.`);\r\n }\r\n if (eventAttrs.length) {\r\n warn(`Extraneous non-emits event listeners (` +\r\n `${eventAttrs.join(', ')}) ` +\r\n `were passed to component but could not be automatically inherited ` +\r\n `because component renders fragment or text root nodes. ` +\r\n `If the listener is intended to be a component custom event listener only, ` +\r\n `declare it using the \"emits\" option.`);\r\n }\r\n }\r\n }\r\n }\r\n if (false &&\r\n isCompatEnabled(\"INSTANCE_ATTRS_CLASS_STYLE\" /* INSTANCE_ATTRS_CLASS_STYLE */, instance) &&\r\n vnode.shapeFlag & 4 /* STATEFUL_COMPONENT */ &&\r\n (root.shapeFlag & 1 /* ELEMENT */ ||\r\n root.shapeFlag & 6 /* COMPONENT */)) ;\r\n // inherit directives\r\n if (vnode.dirs) {\r\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\r\n warn(`Runtime directive used on component with non-element root node. ` +\r\n `The directives will not function as intended.`);\r\n }\r\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\r\n }\r\n // inherit transition data\r\n if (vnode.transition) {\r\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\r\n warn(`Component inside renders non-element root node ` +\r\n `that cannot be animated.`);\r\n }\r\n root.transition = vnode.transition;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && setRoot) {\r\n setRoot(root);\r\n }\r\n else {\r\n result = root;\r\n }\r\n }\r\n catch (err) {\r\n blockStack.length = 0;\r\n handleError(err, instance, 1 /* RENDER_FUNCTION */);\r\n result = createVNode(Comment$1);\r\n }\r\n setCurrentRenderingInstance(prev);\r\n return result;\r\n}\r\n/**\r\n * dev only\r\n * In dev mode, template root level comments are rendered, which turns the\r\n * template into a fragment root, but we need to locate the single element\r\n * root for attrs and scope id processing.\r\n */\r\nconst getChildRoot = (vnode) => {\r\n const rawChildren = vnode.children;\r\n const dynamicChildren = vnode.dynamicChildren;\r\n const childRoot = filterSingleRoot(rawChildren);\r\n if (!childRoot) {\r\n return [vnode, undefined];\r\n }\r\n const index = rawChildren.indexOf(childRoot);\r\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\r\n const setRoot = (updatedRoot) => {\r\n rawChildren[index] = updatedRoot;\r\n if (dynamicChildren) {\r\n if (dynamicIndex > -1) {\r\n dynamicChildren[dynamicIndex] = updatedRoot;\r\n }\r\n else if (updatedRoot.patchFlag > 0) {\r\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\r\n }\r\n }\r\n };\r\n return [normalizeVNode(childRoot), setRoot];\r\n};\r\nfunction filterSingleRoot(children) {\r\n let singleRoot;\r\n for (let i = 0; i < children.length; i++) {\r\n const child = children[i];\r\n if (isVNode(child)) {\r\n // ignore user comment\r\n if (child.type !== Comment$1 || child.children === 'v-if') {\r\n if (singleRoot) {\r\n // has more than 1 non-comment child, return now\r\n return;\r\n }\r\n else {\r\n singleRoot = child;\r\n }\r\n }\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n return singleRoot;\r\n}\r\nconst getFunctionalFallthrough = (attrs) => {\r\n let res;\r\n for (const key in attrs) {\r\n if (key === 'class' || key === 'style' || isOn(key)) {\r\n (res || (res = {}))[key] = attrs[key];\r\n }\r\n }\r\n return res;\r\n};\r\nconst filterModelListeners = (attrs, props) => {\r\n const res = {};\r\n for (const key in attrs) {\r\n if (!isModelListener(key) || !(key.slice(9) in props)) {\r\n res[key] = attrs[key];\r\n }\r\n }\r\n return res;\r\n};\r\nconst isElementRoot = (vnode) => {\r\n return (vnode.shapeFlag & 6 /* COMPONENT */ ||\r\n vnode.shapeFlag & 1 /* ELEMENT */ ||\r\n vnode.type === Comment$1 // potential v-if branch switch\r\n );\r\n};\r\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\r\n const { props: prevProps, children: prevChildren, component } = prevVNode;\r\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\r\n const emits = component.emitsOptions;\r\n // Parent component's render function was hot-updated. Since this may have\r\n // caused the child component's slots content to have changed, we need to\r\n // force the child to update as well.\r\n if ((process.env.NODE_ENV !== 'production') && (prevChildren || nextChildren) && isHmrUpdating) {\r\n return true;\r\n }\r\n // force child update for runtime directive or transition on component vnode.\r\n if (nextVNode.dirs || nextVNode.transition) {\r\n return true;\r\n }\r\n if (optimized && patchFlag >= 0) {\r\n if (patchFlag & 1024 /* DYNAMIC_SLOTS */) {\r\n // slot content that references values that might have changed,\r\n // e.g. in a v-for\r\n return true;\r\n }\r\n if (patchFlag & 16 /* FULL_PROPS */) {\r\n if (!prevProps) {\r\n return !!nextProps;\r\n }\r\n // presence of this flag indicates props are always non-null\r\n return hasPropsChanged(prevProps, nextProps, emits);\r\n }\r\n else if (patchFlag & 8 /* PROPS */) {\r\n const dynamicProps = nextVNode.dynamicProps;\r\n for (let i = 0; i < dynamicProps.length; i++) {\r\n const key = dynamicProps[i];\r\n if (nextProps[key] !== prevProps[key] &&\r\n !isEmitListener(emits, key)) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n // this path is only taken by manually written render functions\r\n // so presence of any children leads to a forced update\r\n if (prevChildren || nextChildren) {\r\n if (!nextChildren || !nextChildren.$stable) {\r\n return true;\r\n }\r\n }\r\n if (prevProps === nextProps) {\r\n return false;\r\n }\r\n if (!prevProps) {\r\n return !!nextProps;\r\n }\r\n if (!nextProps) {\r\n return true;\r\n }\r\n return hasPropsChanged(prevProps, nextProps, emits);\r\n }\r\n return false;\r\n}\r\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\r\n const nextKeys = Object.keys(nextProps);\r\n if (nextKeys.length !== Object.keys(prevProps).length) {\r\n return true;\r\n }\r\n for (let i = 0; i < nextKeys.length; i++) {\r\n const key = nextKeys[i];\r\n if (nextProps[key] !== prevProps[key] &&\r\n !isEmitListener(emitsOptions, key)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nfunction updateHOCHostEl({ vnode, parent }, el // HostNode\r\n) {\r\n while (parent && parent.subTree === vnode) {\r\n (vnode = parent.vnode).el = el;\r\n parent = parent.parent;\r\n }\r\n}\n\nconst isSuspense = (type) => type.__isSuspense;\r\n// Suspense exposes a component-like API, and is treated like a component\r\n// in the compiler, but internally it's a special built-in type that hooks\r\n// directly into the renderer.\r\nconst SuspenseImpl = {\r\n name: 'Suspense',\r\n // In order to make Suspense tree-shakable, we need to avoid importing it\r\n // directly in the renderer. The renderer checks for the __isSuspense flag\r\n // on a vnode's type and calls the `process` method, passing in renderer\r\n // internals.\r\n __isSuspense: true,\r\n process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, \r\n // platform-specific impl passed from renderer\r\n rendererInternals) {\r\n if (n1 == null) {\r\n mountSuspense(n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals);\r\n }\r\n else {\r\n patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, rendererInternals);\r\n }\r\n },\r\n hydrate: hydrateSuspense,\r\n create: createSuspenseBoundary,\r\n normalize: normalizeSuspenseChildren\r\n};\r\n// Force-casted public typing for h and TSX props inference\r\nconst Suspense = (SuspenseImpl\r\n );\r\nfunction triggerEvent(vnode, name) {\r\n const eventListener = vnode.props && vnode.props[name];\r\n if (isFunction(eventListener)) {\r\n eventListener();\r\n }\r\n}\r\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {\r\n const { p: patch, o: { createElement } } = rendererInternals;\r\n const hiddenContainer = createElement('div');\r\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals));\r\n // start mounting the content subtree in an off-dom container\r\n patch(null, (suspense.pendingBranch = vnode.ssContent), hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds);\r\n // now check if we have encountered any async deps\r\n if (suspense.deps > 0) {\r\n // has async\r\n // invoke @fallback event\r\n triggerEvent(vnode, 'onPending');\r\n triggerEvent(vnode, 'onFallback');\r\n // mount the fallback tree\r\n patch(null, vnode.ssFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds);\r\n setActiveBranch(suspense, vnode.ssFallback);\r\n }\r\n else {\r\n // Suspense has no async deps. Just resolve.\r\n suspense.resolve();\r\n }\r\n}\r\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {\r\n const suspense = (n2.suspense = n1.suspense);\r\n suspense.vnode = n2;\r\n n2.el = n1.el;\r\n const newBranch = n2.ssContent;\r\n const newFallback = n2.ssFallback;\r\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\r\n if (pendingBranch) {\r\n suspense.pendingBranch = newBranch;\r\n if (isSameVNodeType(newBranch, pendingBranch)) {\r\n // same root type but content may have changed.\r\n patch(pendingBranch, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n else if (isInFallback) {\r\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newFallback);\r\n }\r\n }\r\n else {\r\n // toggled before pending tree is resolved\r\n suspense.pendingId++;\r\n if (isHydrating) {\r\n // if toggled before hydration is finished, the current DOM tree is\r\n // no longer valid. set it as the active branch so it will be unmounted\r\n // when resolved\r\n suspense.isHydrating = false;\r\n suspense.activeBranch = pendingBranch;\r\n }\r\n else {\r\n unmount(pendingBranch, parentComponent, suspense);\r\n }\r\n // increment pending ID. this is used to invalidate async callbacks\r\n // reset suspense state\r\n suspense.deps = 0;\r\n // discard effects from pending branch\r\n suspense.effects.length = 0;\r\n // discard previous container\r\n suspense.hiddenContainer = createElement('div');\r\n if (isInFallback) {\r\n // already in fallback state\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n else {\r\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newFallback);\r\n }\r\n }\r\n else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\r\n // toggled \"back\" to current active branch\r\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n // force resolve\r\n suspense.resolve(true);\r\n }\r\n else {\r\n // switched to a 3rd branch\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\r\n // root did not change, just normal patch\r\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newBranch);\r\n }\r\n else {\r\n // root node toggled\r\n // invoke @pending event\r\n triggerEvent(n2, 'onPending');\r\n // mount pending branch in off-dom container\r\n suspense.pendingBranch = newBranch;\r\n suspense.pendingId++;\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n // incoming branch has no async deps, resolve now.\r\n suspense.resolve();\r\n }\r\n else {\r\n const { timeout, pendingId } = suspense;\r\n if (timeout > 0) {\r\n setTimeout(() => {\r\n if (suspense.pendingId === pendingId) {\r\n suspense.fallback(newFallback);\r\n }\r\n }, timeout);\r\n }\r\n else if (timeout === 0) {\r\n suspense.fallback(newFallback);\r\n }\r\n }\r\n }\r\n }\r\n}\r\nlet hasWarned = false;\r\nfunction createSuspenseBoundary(vnode, parent, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\r\n /* istanbul ignore if */\r\n if ((process.env.NODE_ENV !== 'production') && !false && !hasWarned) {\r\n hasWarned = true;\r\n // @ts-ignore `console.info` cannot be null error\r\n console[console.info ? 'info' : 'log'](` is an experimental feature and its API will likely change.`);\r\n }\r\n const { p: patch, m: move, um: unmount, n: next, o: { parentNode, remove } } = rendererInternals;\r\n const timeout = toNumber(vnode.props && vnode.props.timeout);\r\n const suspense = {\r\n vnode,\r\n parent,\r\n parentComponent,\r\n isSVG,\r\n container,\r\n hiddenContainer,\r\n anchor,\r\n deps: 0,\r\n pendingId: 0,\r\n timeout: typeof timeout === 'number' ? timeout : -1,\r\n activeBranch: null,\r\n pendingBranch: null,\r\n isInFallback: true,\r\n isHydrating,\r\n isUnmounted: false,\r\n effects: [],\r\n resolve(resume = false) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n if (!resume && !suspense.pendingBranch) {\r\n throw new Error(`suspense.resolve() is called without a pending branch.`);\r\n }\r\n if (suspense.isUnmounted) {\r\n throw new Error(`suspense.resolve() is called on an already unmounted suspense boundary.`);\r\n }\r\n }\r\n const { vnode, activeBranch, pendingBranch, pendingId, effects, parentComponent, container } = suspense;\r\n if (suspense.isHydrating) {\r\n suspense.isHydrating = false;\r\n }\r\n else if (!resume) {\r\n const delayEnter = activeBranch &&\r\n pendingBranch.transition &&\r\n pendingBranch.transition.mode === 'out-in';\r\n if (delayEnter) {\r\n activeBranch.transition.afterLeave = () => {\r\n if (pendingId === suspense.pendingId) {\r\n move(pendingBranch, container, anchor, 0 /* ENTER */);\r\n }\r\n };\r\n }\r\n // this is initial anchor on mount\r\n let { anchor } = suspense;\r\n // unmount current active tree\r\n if (activeBranch) {\r\n // if the fallback tree was mounted, it may have been moved\r\n // as part of a parent suspense. get the latest anchor for insertion\r\n anchor = next(activeBranch);\r\n unmount(activeBranch, parentComponent, suspense, true);\r\n }\r\n if (!delayEnter) {\r\n // move content from off-dom container to actual container\r\n move(pendingBranch, container, anchor, 0 /* ENTER */);\r\n }\r\n }\r\n setActiveBranch(suspense, pendingBranch);\r\n suspense.pendingBranch = null;\r\n suspense.isInFallback = false;\r\n // flush buffered effects\r\n // check if there is a pending parent suspense\r\n let parent = suspense.parent;\r\n let hasUnresolvedAncestor = false;\r\n while (parent) {\r\n if (parent.pendingBranch) {\r\n // found a pending parent suspense, merge buffered post jobs\r\n // into that parent\r\n parent.effects.push(...effects);\r\n hasUnresolvedAncestor = true;\r\n break;\r\n }\r\n parent = parent.parent;\r\n }\r\n // no pending parent suspense, flush all jobs\r\n if (!hasUnresolvedAncestor) {\r\n queuePostFlushCb(effects);\r\n }\r\n suspense.effects = [];\r\n // invoke @resolve event\r\n triggerEvent(vnode, 'onResolve');\r\n },\r\n fallback(fallbackVNode) {\r\n if (!suspense.pendingBranch) {\r\n return;\r\n }\r\n const { vnode, activeBranch, parentComponent, container, isSVG } = suspense;\r\n // invoke @fallback event\r\n triggerEvent(vnode, 'onFallback');\r\n const anchor = next(activeBranch);\r\n const mountFallback = () => {\r\n if (!suspense.isInFallback) {\r\n return;\r\n }\r\n // mount the fallback tree\r\n patch(null, fallbackVNode, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, fallbackVNode);\r\n };\r\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === 'out-in';\r\n if (delayEnter) {\r\n activeBranch.transition.afterLeave = mountFallback;\r\n }\r\n suspense.isInFallback = true;\r\n // unmount current active branch\r\n unmount(activeBranch, parentComponent, null, // no suspense so unmount hooks fire now\r\n true // shouldRemove\r\n );\r\n if (!delayEnter) {\r\n mountFallback();\r\n }\r\n },\r\n move(container, anchor, type) {\r\n suspense.activeBranch &&\r\n move(suspense.activeBranch, container, anchor, type);\r\n suspense.container = container;\r\n },\r\n next() {\r\n return suspense.activeBranch && next(suspense.activeBranch);\r\n },\r\n registerDep(instance, setupRenderEffect) {\r\n const isInPendingSuspense = !!suspense.pendingBranch;\r\n if (isInPendingSuspense) {\r\n suspense.deps++;\r\n }\r\n const hydratedEl = instance.vnode.el;\r\n instance\r\n .asyncDep.catch(err => {\r\n handleError(err, instance, 0 /* SETUP_FUNCTION */);\r\n })\r\n .then(asyncSetupResult => {\r\n // retry when the setup() promise resolves.\r\n // component may have been unmounted before resolve.\r\n if (instance.isUnmounted ||\r\n suspense.isUnmounted ||\r\n suspense.pendingId !== instance.suspenseId) {\r\n return;\r\n }\r\n // retry from this component\r\n instance.asyncResolved = true;\r\n const { vnode } = instance;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n pushWarningContext(vnode);\r\n }\r\n handleSetupResult(instance, asyncSetupResult, false);\r\n if (hydratedEl) {\r\n // vnode may have been replaced if an update happened before the\r\n // async dep is resolved.\r\n vnode.el = hydratedEl;\r\n }\r\n const placeholder = !hydratedEl && instance.subTree.el;\r\n setupRenderEffect(instance, vnode, \r\n // component may have been moved before resolve.\r\n // if this is not a hydration, instance.subTree will be the comment\r\n // placeholder.\r\n parentNode(hydratedEl || instance.subTree.el), \r\n // anchor will not be used if this is hydration, so only need to\r\n // consider the comment placeholder case.\r\n hydratedEl ? null : next(instance.subTree), suspense, isSVG, optimized);\r\n if (placeholder) {\r\n remove(placeholder);\r\n }\r\n updateHOCHostEl(instance, vnode.el);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n popWarningContext();\r\n }\r\n // only decrease deps count if suspense is not already resolved\r\n if (isInPendingSuspense && --suspense.deps === 0) {\r\n suspense.resolve();\r\n }\r\n });\r\n },\r\n unmount(parentSuspense, doRemove) {\r\n suspense.isUnmounted = true;\r\n if (suspense.activeBranch) {\r\n unmount(suspense.activeBranch, parentComponent, parentSuspense, doRemove);\r\n }\r\n if (suspense.pendingBranch) {\r\n unmount(suspense.pendingBranch, parentComponent, parentSuspense, doRemove);\r\n }\r\n }\r\n };\r\n return suspense;\r\n}\r\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals, hydrateNode) {\r\n /* eslint-disable no-restricted-globals */\r\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, node.parentNode, document.createElement('div'), null, isSVG, slotScopeIds, optimized, rendererInternals, true /* hydrating */));\r\n // there are two possible scenarios for server-rendered suspense:\r\n // - success: ssr content should be fully resolved\r\n // - failure: ssr content should be the fallback branch.\r\n // however, on the client we don't really know if it has failed or not\r\n // attempt to hydrate the DOM assuming it has succeeded, but we still\r\n // need to construct a suspense boundary first\r\n const result = hydrateNode(node, (suspense.pendingBranch = vnode.ssContent), parentComponent, suspense, slotScopeIds, optimized);\r\n if (suspense.deps === 0) {\r\n suspense.resolve();\r\n }\r\n return result;\r\n /* eslint-enable no-restricted-globals */\r\n}\r\nfunction normalizeSuspenseChildren(vnode) {\r\n const { shapeFlag, children } = vnode;\r\n const isSlotChildren = shapeFlag & 32 /* SLOTS_CHILDREN */;\r\n vnode.ssContent = normalizeSuspenseSlot(isSlotChildren ? children.default : children);\r\n vnode.ssFallback = isSlotChildren\r\n ? normalizeSuspenseSlot(children.fallback)\r\n : createVNode(Comment);\r\n}\r\nfunction normalizeSuspenseSlot(s) {\r\n let block;\r\n if (isFunction(s)) {\r\n const isCompiledSlot = s._c;\r\n if (isCompiledSlot) {\r\n // disableTracking: false\r\n // allow block tracking for compiled slots\r\n // (see ./componentRenderContext.ts)\r\n s._d = false;\r\n openBlock();\r\n }\r\n s = s();\r\n if (isCompiledSlot) {\r\n s._d = true;\r\n block = currentBlock;\r\n closeBlock();\r\n }\r\n }\r\n if (isArray(s)) {\r\n const singleChild = filterSingleRoot(s);\r\n if ((process.env.NODE_ENV !== 'production') && !singleChild) {\r\n warn(` slots expect a single root node.`);\r\n }\r\n s = singleChild;\r\n }\r\n s = normalizeVNode(s);\r\n if (block) {\r\n s.dynamicChildren = block.filter(c => c !== s);\r\n }\r\n return s;\r\n}\r\nfunction queueEffectWithSuspense(fn, suspense) {\r\n if (suspense && suspense.pendingBranch) {\r\n if (isArray(fn)) {\r\n suspense.effects.push(...fn);\r\n }\r\n else {\r\n suspense.effects.push(fn);\r\n }\r\n }\r\n else {\r\n queuePostFlushCb(fn);\r\n }\r\n}\r\nfunction setActiveBranch(suspense, branch) {\r\n suspense.activeBranch = branch;\r\n const { vnode, parentComponent } = suspense;\r\n const el = (vnode.el = branch.el);\r\n // in case suspense is the root node of a component,\r\n // recursively update the HOC el\r\n if (parentComponent && parentComponent.subTree === vnode) {\r\n parentComponent.vnode.el = el;\r\n updateHOCHostEl(parentComponent, el);\r\n }\r\n}\n\nfunction provide(key, value) {\r\n if (!currentInstance) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`provide() can only be used inside setup().`);\r\n }\r\n }\r\n else {\r\n let provides = currentInstance.provides;\r\n // by default an instance inherits its parent's provides object\r\n // but when it needs to provide values of its own, it creates its\r\n // own provides object using parent provides object as prototype.\r\n // this way in `inject` we can simply look up injections from direct\r\n // parent and let the prototype chain do the work.\r\n const parentProvides = currentInstance.parent && currentInstance.parent.provides;\r\n if (parentProvides === provides) {\r\n provides = currentInstance.provides = Object.create(parentProvides);\r\n }\r\n // TS doesn't allow symbol as index type\r\n provides[key] = value;\r\n }\r\n}\r\nfunction inject(key, defaultValue, treatDefaultAsFactory = false) {\r\n // fallback to `currentRenderingInstance` so that this can be called in\r\n // a functional component\r\n const instance = currentInstance || currentRenderingInstance;\r\n if (instance) {\r\n // #2400\r\n // to support `app.use` plugins,\r\n // fallback to appContext's `provides` if the intance is at root\r\n const provides = instance.parent == null\r\n ? instance.vnode.appContext && instance.vnode.appContext.provides\r\n : instance.parent.provides;\r\n if (provides && key in provides) {\r\n // TS doesn't allow symbol as index type\r\n return provides[key];\r\n }\r\n else if (arguments.length > 1) {\r\n return treatDefaultAsFactory && isFunction(defaultValue)\r\n ? defaultValue.call(instance.proxy)\r\n : defaultValue;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`injection \"${String(key)}\" not found.`);\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`inject() can only be used inside setup() or functional components.`);\r\n }\r\n}\n\n// Simple effect.\r\nfunction watchEffect(effect, options) {\r\n return doWatch(effect, null, options);\r\n}\r\n// initial value for watchers to trigger on undefined initial values\r\nconst INITIAL_WATCHER_VALUE = {};\r\n// implementation\r\nfunction watch(source, cb, options) {\r\n if ((process.env.NODE_ENV !== 'production') && !isFunction(cb)) {\r\n warn(`\\`watch(fn, options?)\\` signature has been moved to a separate API. ` +\r\n `Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only ` +\r\n `supports \\`watch(source, cb, options?) signature.`);\r\n }\r\n return doWatch(source, cb, options);\r\n}\r\nfunction doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ, instance = currentInstance) {\r\n if ((process.env.NODE_ENV !== 'production') && !cb) {\r\n if (immediate !== undefined) {\r\n warn(`watch() \"immediate\" option is only respected when using the ` +\r\n `watch(source, callback, options?) signature.`);\r\n }\r\n if (deep !== undefined) {\r\n warn(`watch() \"deep\" option is only respected when using the ` +\r\n `watch(source, callback, options?) signature.`);\r\n }\r\n }\r\n const warnInvalidSource = (s) => {\r\n warn(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, ` +\r\n `a reactive object, or an array of these types.`);\r\n };\r\n let getter;\r\n let forceTrigger = false;\r\n let isMultiSource = false;\r\n if (isRef(source)) {\r\n getter = () => source.value;\r\n forceTrigger = !!source._shallow;\r\n }\r\n else if (isReactive(source)) {\r\n getter = () => source;\r\n deep = true;\r\n }\r\n else if (isArray(source)) {\r\n isMultiSource = true;\r\n forceTrigger = source.some(isReactive);\r\n getter = () => source.map(s => {\r\n if (isRef(s)) {\r\n return s.value;\r\n }\r\n else if (isReactive(s)) {\r\n return traverse(s);\r\n }\r\n else if (isFunction(s)) {\r\n return callWithErrorHandling(s, instance, 2 /* WATCH_GETTER */);\r\n }\r\n else {\r\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(s);\r\n }\r\n });\r\n }\r\n else if (isFunction(source)) {\r\n if (cb) {\r\n // getter with cb\r\n getter = () => callWithErrorHandling(source, instance, 2 /* WATCH_GETTER */);\r\n }\r\n else {\r\n // no cb -> simple effect\r\n getter = () => {\r\n if (instance && instance.isUnmounted) {\r\n return;\r\n }\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n return callWithAsyncErrorHandling(source, instance, 3 /* WATCH_CALLBACK */, [onInvalidate]);\r\n };\r\n }\r\n }\r\n else {\r\n getter = NOOP;\r\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(source);\r\n }\r\n if (cb && deep) {\r\n const baseGetter = getter;\r\n getter = () => traverse(baseGetter());\r\n }\r\n let cleanup;\r\n let onInvalidate = (fn) => {\r\n cleanup = runner.options.onStop = () => {\r\n callWithErrorHandling(fn, instance, 4 /* WATCH_CLEANUP */);\r\n };\r\n };\r\n let oldValue = isMultiSource ? [] : INITIAL_WATCHER_VALUE;\r\n const job = () => {\r\n if (!runner.active) {\r\n return;\r\n }\r\n if (cb) {\r\n // watch(source, cb)\r\n const newValue = runner();\r\n if (deep ||\r\n forceTrigger ||\r\n (isMultiSource\r\n ? newValue.some((v, i) => hasChanged(v, oldValue[i]))\r\n : hasChanged(newValue, oldValue)) ||\r\n (false )) {\r\n // cleanup before running cb again\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n callWithAsyncErrorHandling(cb, instance, 3 /* WATCH_CALLBACK */, [\r\n newValue,\r\n // pass undefined as the old value when it's changed for the first time\r\n oldValue === INITIAL_WATCHER_VALUE ? undefined : oldValue,\r\n onInvalidate\r\n ]);\r\n oldValue = newValue;\r\n }\r\n }\r\n else {\r\n // watchEffect\r\n runner();\r\n }\r\n };\r\n // important: mark the job as a watcher callback so that scheduler knows\r\n // it is allowed to self-trigger (#1727)\r\n job.allowRecurse = !!cb;\r\n let scheduler;\r\n if (flush === 'sync') {\r\n scheduler = job; // the scheduler function gets called directly\r\n }\r\n else if (flush === 'post') {\r\n scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);\r\n }\r\n else {\r\n // default: 'pre'\r\n scheduler = () => {\r\n if (!instance || instance.isMounted) {\r\n queuePreFlushCb(job);\r\n }\r\n else {\r\n // with 'pre' option, the first call must happen before\r\n // the component is mounted so it is called synchronously.\r\n job();\r\n }\r\n };\r\n }\r\n const runner = effect(getter, {\r\n lazy: true,\r\n onTrack,\r\n onTrigger,\r\n scheduler\r\n });\r\n recordInstanceBoundEffect(runner, instance);\r\n // initial run\r\n if (cb) {\r\n if (immediate) {\r\n job();\r\n }\r\n else {\r\n oldValue = runner();\r\n }\r\n }\r\n else if (flush === 'post') {\r\n queuePostRenderEffect(runner, instance && instance.suspense);\r\n }\r\n else {\r\n runner();\r\n }\r\n return () => {\r\n stop(runner);\r\n if (instance) {\r\n remove(instance.effects, runner);\r\n }\r\n };\r\n}\r\n// this.$watch\r\nfunction instanceWatch(source, value, options) {\r\n const publicThis = this.proxy;\r\n const getter = isString(source)\r\n ? source.includes('.')\r\n ? createPathGetter(publicThis, source)\r\n : () => publicThis[source]\r\n : source.bind(publicThis, publicThis);\r\n let cb;\r\n if (isFunction(value)) {\r\n cb = value;\r\n }\r\n else {\r\n cb = value.handler;\r\n options = value;\r\n }\r\n return doWatch(getter, cb.bind(publicThis), options, this);\r\n}\r\nfunction createPathGetter(ctx, path) {\r\n const segments = path.split('.');\r\n return () => {\r\n let cur = ctx;\r\n for (let i = 0; i < segments.length && cur; i++) {\r\n cur = cur[segments[i]];\r\n }\r\n return cur;\r\n };\r\n}\r\nfunction traverse(value, seen = new Set()) {\r\n if (!isObject(value) ||\r\n seen.has(value) ||\r\n value[\"__v_skip\" /* SKIP */]) {\r\n return value;\r\n }\r\n seen.add(value);\r\n if (isRef(value)) {\r\n traverse(value.value, seen);\r\n }\r\n else if (isArray(value)) {\r\n for (let i = 0; i < value.length; i++) {\r\n traverse(value[i], seen);\r\n }\r\n }\r\n else if (isSet(value) || isMap(value)) {\r\n value.forEach((v) => {\r\n traverse(v, seen);\r\n });\r\n }\r\n else if (isPlainObject(value)) {\r\n for (const key in value) {\r\n traverse(value[key], seen);\r\n }\r\n }\r\n return value;\r\n}\n\nfunction useTransitionState() {\r\n const state = {\r\n isMounted: false,\r\n isLeaving: false,\r\n isUnmounting: false,\r\n leavingVNodes: new Map()\r\n };\r\n onMounted(() => {\r\n state.isMounted = true;\r\n });\r\n onBeforeUnmount(() => {\r\n state.isUnmounting = true;\r\n });\r\n return state;\r\n}\r\nconst TransitionHookValidator = [Function, Array];\r\nconst BaseTransitionImpl = {\r\n name: `BaseTransition`,\r\n props: {\r\n mode: String,\r\n appear: Boolean,\r\n persisted: Boolean,\r\n // enter\r\n onBeforeEnter: TransitionHookValidator,\r\n onEnter: TransitionHookValidator,\r\n onAfterEnter: TransitionHookValidator,\r\n onEnterCancelled: TransitionHookValidator,\r\n // leave\r\n onBeforeLeave: TransitionHookValidator,\r\n onLeave: TransitionHookValidator,\r\n onAfterLeave: TransitionHookValidator,\r\n onLeaveCancelled: TransitionHookValidator,\r\n // appear\r\n onBeforeAppear: TransitionHookValidator,\r\n onAppear: TransitionHookValidator,\r\n onAfterAppear: TransitionHookValidator,\r\n onAppearCancelled: TransitionHookValidator\r\n },\r\n setup(props, { slots }) {\r\n const instance = getCurrentInstance();\r\n const state = useTransitionState();\r\n let prevTransitionKey;\r\n return () => {\r\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\r\n if (!children || !children.length) {\r\n return;\r\n }\r\n // warn multiple elements\r\n if ((process.env.NODE_ENV !== 'production') && children.length > 1) {\r\n warn(' can only be used on a single element or component. Use ' +\r\n ' for lists.');\r\n }\r\n // there's no need to track reactivity for these props so use the raw\r\n // props for a bit better perf\r\n const rawProps = toRaw(props);\r\n const { mode } = rawProps;\r\n // check mode\r\n if ((process.env.NODE_ENV !== 'production') && mode && !['in-out', 'out-in', 'default'].includes(mode)) {\r\n warn(`invalid mode: ${mode}`);\r\n }\r\n // at this point children has a guaranteed length of 1.\r\n const child = children[0];\r\n if (state.isLeaving) {\r\n return emptyPlaceholder(child);\r\n }\r\n // in the case of , we need to\r\n // compare the type of the kept-alive children.\r\n const innerChild = getKeepAliveChild(child);\r\n if (!innerChild) {\r\n return emptyPlaceholder(child);\r\n }\r\n const enterHooks = resolveTransitionHooks(innerChild, rawProps, state, instance);\r\n setTransitionHooks(innerChild, enterHooks);\r\n const oldChild = instance.subTree;\r\n const oldInnerChild = oldChild && getKeepAliveChild(oldChild);\r\n let transitionKeyChanged = false;\r\n const { getTransitionKey } = innerChild.type;\r\n if (getTransitionKey) {\r\n const key = getTransitionKey();\r\n if (prevTransitionKey === undefined) {\r\n prevTransitionKey = key;\r\n }\r\n else if (key !== prevTransitionKey) {\r\n prevTransitionKey = key;\r\n transitionKeyChanged = true;\r\n }\r\n }\r\n // handle mode\r\n if (oldInnerChild &&\r\n oldInnerChild.type !== Comment$1 &&\r\n (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {\r\n const leavingHooks = resolveTransitionHooks(oldInnerChild, rawProps, state, instance);\r\n // update old tree's hooks in case of dynamic transition\r\n setTransitionHooks(oldInnerChild, leavingHooks);\r\n // switching between different views\r\n if (mode === 'out-in') {\r\n state.isLeaving = true;\r\n // return placeholder node and queue update when leave finishes\r\n leavingHooks.afterLeave = () => {\r\n state.isLeaving = false;\r\n instance.update();\r\n };\r\n return emptyPlaceholder(child);\r\n }\r\n else if (mode === 'in-out' && innerChild.type !== Comment$1) {\r\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\r\n const leavingVNodesCache = getLeavingNodesForType(state, oldInnerChild);\r\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\r\n // early removal callback\r\n el._leaveCb = () => {\r\n earlyRemove();\r\n el._leaveCb = undefined;\r\n delete enterHooks.delayedLeave;\r\n };\r\n enterHooks.delayedLeave = delayedLeave;\r\n };\r\n }\r\n }\r\n return child;\r\n };\r\n }\r\n};\r\n// export the public type for h/tsx inference\r\n// also to avoid inline import() in generated d.ts files\r\nconst BaseTransition = BaseTransitionImpl;\r\nfunction getLeavingNodesForType(state, vnode) {\r\n const { leavingVNodes } = state;\r\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\r\n if (!leavingVNodesCache) {\r\n leavingVNodesCache = Object.create(null);\r\n leavingVNodes.set(vnode.type, leavingVNodesCache);\r\n }\r\n return leavingVNodesCache;\r\n}\r\n// The transition hooks are attached to the vnode as vnode.transition\r\n// and will be called at appropriate timing in the renderer.\r\nfunction resolveTransitionHooks(vnode, props, state, instance) {\r\n const { appear, mode, persisted = false, onBeforeEnter, onEnter, onAfterEnter, onEnterCancelled, onBeforeLeave, onLeave, onAfterLeave, onLeaveCancelled, onBeforeAppear, onAppear, onAfterAppear, onAppearCancelled } = props;\r\n const key = String(vnode.key);\r\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\r\n const callHook = (hook, args) => {\r\n hook &&\r\n callWithAsyncErrorHandling(hook, instance, 9 /* TRANSITION_HOOK */, args);\r\n };\r\n const hooks = {\r\n mode,\r\n persisted,\r\n beforeEnter(el) {\r\n let hook = onBeforeEnter;\r\n if (!state.isMounted) {\r\n if (appear) {\r\n hook = onBeforeAppear || onBeforeEnter;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n // for same element (v-show)\r\n if (el._leaveCb) {\r\n el._leaveCb(true /* cancelled */);\r\n }\r\n // for toggled element with same key (v-if)\r\n const leavingVNode = leavingVNodesCache[key];\r\n if (leavingVNode &&\r\n isSameVNodeType(vnode, leavingVNode) &&\r\n leavingVNode.el._leaveCb) {\r\n // force early removal (not cancelled)\r\n leavingVNode.el._leaveCb();\r\n }\r\n callHook(hook, [el]);\r\n },\r\n enter(el) {\r\n let hook = onEnter;\r\n let afterHook = onAfterEnter;\r\n let cancelHook = onEnterCancelled;\r\n if (!state.isMounted) {\r\n if (appear) {\r\n hook = onAppear || onEnter;\r\n afterHook = onAfterAppear || onAfterEnter;\r\n cancelHook = onAppearCancelled || onEnterCancelled;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n let called = false;\r\n const done = (el._enterCb = (cancelled) => {\r\n if (called)\r\n return;\r\n called = true;\r\n if (cancelled) {\r\n callHook(cancelHook, [el]);\r\n }\r\n else {\r\n callHook(afterHook, [el]);\r\n }\r\n if (hooks.delayedLeave) {\r\n hooks.delayedLeave();\r\n }\r\n el._enterCb = undefined;\r\n });\r\n if (hook) {\r\n hook(el, done);\r\n if (hook.length <= 1) {\r\n done();\r\n }\r\n }\r\n else {\r\n done();\r\n }\r\n },\r\n leave(el, remove) {\r\n const key = String(vnode.key);\r\n if (el._enterCb) {\r\n el._enterCb(true /* cancelled */);\r\n }\r\n if (state.isUnmounting) {\r\n return remove();\r\n }\r\n callHook(onBeforeLeave, [el]);\r\n let called = false;\r\n const done = (el._leaveCb = (cancelled) => {\r\n if (called)\r\n return;\r\n called = true;\r\n remove();\r\n if (cancelled) {\r\n callHook(onLeaveCancelled, [el]);\r\n }\r\n else {\r\n callHook(onAfterLeave, [el]);\r\n }\r\n el._leaveCb = undefined;\r\n if (leavingVNodesCache[key] === vnode) {\r\n delete leavingVNodesCache[key];\r\n }\r\n });\r\n leavingVNodesCache[key] = vnode;\r\n if (onLeave) {\r\n onLeave(el, done);\r\n if (onLeave.length <= 1) {\r\n done();\r\n }\r\n }\r\n else {\r\n done();\r\n }\r\n },\r\n clone(vnode) {\r\n return resolveTransitionHooks(vnode, props, state, instance);\r\n }\r\n };\r\n return hooks;\r\n}\r\n// the placeholder really only handles one special case: KeepAlive\r\n// in the case of a KeepAlive in a leave phase we need to return a KeepAlive\r\n// placeholder with empty content to avoid the KeepAlive instance from being\r\n// unmounted.\r\nfunction emptyPlaceholder(vnode) {\r\n if (isKeepAlive(vnode)) {\r\n vnode = cloneVNode(vnode);\r\n vnode.children = null;\r\n return vnode;\r\n }\r\n}\r\nfunction getKeepAliveChild(vnode) {\r\n return isKeepAlive(vnode)\r\n ? vnode.children\r\n ? vnode.children[0]\r\n : undefined\r\n : vnode;\r\n}\r\nfunction setTransitionHooks(vnode, hooks) {\r\n if (vnode.shapeFlag & 6 /* COMPONENT */ && vnode.component) {\r\n setTransitionHooks(vnode.component.subTree, hooks);\r\n }\r\n else if (vnode.shapeFlag & 128 /* SUSPENSE */) {\r\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\r\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\r\n }\r\n else {\r\n vnode.transition = hooks;\r\n }\r\n}\r\nfunction getTransitionRawChildren(children, keepComment = false) {\r\n let ret = [];\r\n let keyedFragmentCount = 0;\r\n for (let i = 0; i < children.length; i++) {\r\n const child = children[i];\r\n // handle fragment children case, e.g. v-for\r\n if (child.type === Fragment) {\r\n if (child.patchFlag & 128 /* KEYED_FRAGMENT */)\r\n keyedFragmentCount++;\r\n ret = ret.concat(getTransitionRawChildren(child.children, keepComment));\r\n }\r\n // comment placeholders should be skipped, e.g. v-if\r\n else if (keepComment || child.type !== Comment$1) {\r\n ret.push(child);\r\n }\r\n }\r\n // #1126 if a transition children list contains multiple sub fragments, these\r\n // fragments will be merged into a flat children array. Since each v-for\r\n // fragment may contain different static bindings inside, we need to de-op\r\n // these children to force full diffs to ensure correct behavior.\r\n if (keyedFragmentCount > 1) {\r\n for (let i = 0; i < ret.length; i++) {\r\n ret[i].patchFlag = -2 /* BAIL */;\r\n }\r\n }\r\n return ret;\r\n}\n\n// implementation, close to no-op\r\nfunction defineComponent(options) {\r\n return isFunction(options) ? { setup: options, name: options.name } : options;\r\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\r\nfunction defineAsyncComponent(source) {\r\n if (isFunction(source)) {\r\n source = { loader: source };\r\n }\r\n const { loader, loadingComponent, errorComponent, delay = 200, timeout, // undefined = never times out\r\n suspensible = true, onError: userOnError } = source;\r\n let pendingRequest = null;\r\n let resolvedComp;\r\n let retries = 0;\r\n const retry = () => {\r\n retries++;\r\n pendingRequest = null;\r\n return load();\r\n };\r\n const load = () => {\r\n let thisRequest;\r\n return (pendingRequest ||\r\n (thisRequest = pendingRequest = loader()\r\n .catch(err => {\r\n err = err instanceof Error ? err : new Error(String(err));\r\n if (userOnError) {\r\n return new Promise((resolve, reject) => {\r\n const userRetry = () => resolve(retry());\r\n const userFail = () => reject(err);\r\n userOnError(err, userRetry, userFail, retries + 1);\r\n });\r\n }\r\n else {\r\n throw err;\r\n }\r\n })\r\n .then((comp) => {\r\n if (thisRequest !== pendingRequest && pendingRequest) {\r\n return pendingRequest;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && !comp) {\r\n warn(`Async component loader resolved to undefined. ` +\r\n `If you are using retry(), make sure to return its return value.`);\r\n }\r\n // interop module default\r\n if (comp &&\r\n (comp.__esModule || comp[Symbol.toStringTag] === 'Module')) {\r\n comp = comp.default;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && comp && !isObject(comp) && !isFunction(comp)) {\r\n throw new Error(`Invalid async component load result: ${comp}`);\r\n }\r\n resolvedComp = comp;\r\n return comp;\r\n })));\r\n };\r\n return defineComponent({\r\n name: 'AsyncComponentWrapper',\r\n __asyncLoader: load,\r\n get __asyncResolved() {\r\n return resolvedComp;\r\n },\r\n setup() {\r\n const instance = currentInstance;\r\n // already resolved\r\n if (resolvedComp) {\r\n return () => createInnerComp(resolvedComp, instance);\r\n }\r\n const onError = (err) => {\r\n pendingRequest = null;\r\n handleError(err, instance, 13 /* ASYNC_COMPONENT_LOADER */, !errorComponent /* do not throw in dev if user provided error component */);\r\n };\r\n // suspense-controlled or SSR.\r\n if ((suspensible && instance.suspense) ||\r\n (false )) {\r\n return load()\r\n .then(comp => {\r\n return () => createInnerComp(comp, instance);\r\n })\r\n .catch(err => {\r\n onError(err);\r\n return () => errorComponent\r\n ? createVNode(errorComponent, {\r\n error: err\r\n })\r\n : null;\r\n });\r\n }\r\n const loaded = ref(false);\r\n const error = ref();\r\n const delayed = ref(!!delay);\r\n if (delay) {\r\n setTimeout(() => {\r\n delayed.value = false;\r\n }, delay);\r\n }\r\n if (timeout != null) {\r\n setTimeout(() => {\r\n if (!loaded.value && !error.value) {\r\n const err = new Error(`Async component timed out after ${timeout}ms.`);\r\n onError(err);\r\n error.value = err;\r\n }\r\n }, timeout);\r\n }\r\n load()\r\n .then(() => {\r\n loaded.value = true;\r\n if (instance.parent && isKeepAlive(instance.parent.vnode)) {\r\n // parent is keep-alive, force update so the loaded component's\r\n // name is taken into account\r\n queueJob(instance.parent.update);\r\n }\r\n })\r\n .catch(err => {\r\n onError(err);\r\n error.value = err;\r\n });\r\n return () => {\r\n if (loaded.value && resolvedComp) {\r\n return createInnerComp(resolvedComp, instance);\r\n }\r\n else if (error.value && errorComponent) {\r\n return createVNode(errorComponent, {\r\n error: error.value\r\n });\r\n }\r\n else if (loadingComponent && !delayed.value) {\r\n return createVNode(loadingComponent);\r\n }\r\n };\r\n }\r\n });\r\n}\r\nfunction createInnerComp(comp, { vnode: { ref, props, children } }) {\r\n const vnode = createVNode(comp, props, children);\r\n // ensure inner component inherits the async wrapper's ref owner\r\n vnode.ref = ref;\r\n return vnode;\r\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\r\nconst KeepAliveImpl = {\r\n name: `KeepAlive`,\r\n // Marker for special handling inside the renderer. We are not using a ===\r\n // check directly on KeepAlive in the renderer, because importing it directly\r\n // would prevent it from being tree-shaken.\r\n __isKeepAlive: true,\r\n props: {\r\n include: [String, RegExp, Array],\r\n exclude: [String, RegExp, Array],\r\n max: [String, Number]\r\n },\r\n setup(props, { slots }) {\r\n const instance = getCurrentInstance();\r\n // KeepAlive communicates with the instantiated renderer via the\r\n // ctx where the renderer passes in its internals,\r\n // and the KeepAlive instance exposes activate/deactivate implementations.\r\n // The whole point of this is to avoid importing KeepAlive directly in the\r\n // renderer to facilitate tree-shaking.\r\n const sharedContext = instance.ctx;\r\n // if the internal renderer is not registered, it indicates that this is server-side rendering,\r\n // for KeepAlive, we just need to render its children\r\n if (!sharedContext.renderer) {\r\n return slots.default;\r\n }\r\n const cache = new Map();\r\n const keys = new Set();\r\n let current = null;\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n instance.__v_cache = cache;\r\n }\r\n const parentSuspense = instance.suspense;\r\n const { renderer: { p: patch, m: move, um: _unmount, o: { createElement } } } = sharedContext;\r\n const storageContainer = createElement('div');\r\n sharedContext.activate = (vnode, container, anchor, isSVG, optimized) => {\r\n const instance = vnode.component;\r\n move(vnode, container, anchor, 0 /* ENTER */, parentSuspense);\r\n // in case props have changed\r\n patch(instance.vnode, vnode, container, anchor, instance, parentSuspense, isSVG, vnode.slotScopeIds, optimized);\r\n queuePostRenderEffect(() => {\r\n instance.isDeactivated = false;\r\n if (instance.a) {\r\n invokeArrayFns(instance.a);\r\n }\r\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\r\n if (vnodeHook) {\r\n invokeVNodeHook(vnodeHook, instance.parent, vnode);\r\n }\r\n }, parentSuspense);\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n // Update components tree\r\n devtoolsComponentAdded(instance);\r\n }\r\n };\r\n sharedContext.deactivate = (vnode) => {\r\n const instance = vnode.component;\r\n move(vnode, storageContainer, null, 1 /* LEAVE */, parentSuspense);\r\n queuePostRenderEffect(() => {\r\n if (instance.da) {\r\n invokeArrayFns(instance.da);\r\n }\r\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\r\n if (vnodeHook) {\r\n invokeVNodeHook(vnodeHook, instance.parent, vnode);\r\n }\r\n instance.isDeactivated = true;\r\n }, parentSuspense);\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n // Update components tree\r\n devtoolsComponentAdded(instance);\r\n }\r\n };\r\n function unmount(vnode) {\r\n // reset the shapeFlag so it can be properly unmounted\r\n resetShapeFlag(vnode);\r\n _unmount(vnode, instance, parentSuspense);\r\n }\r\n function pruneCache(filter) {\r\n cache.forEach((vnode, key) => {\r\n const name = getComponentName(vnode.type);\r\n if (name && (!filter || !filter(name))) {\r\n pruneCacheEntry(key);\r\n }\r\n });\r\n }\r\n function pruneCacheEntry(key) {\r\n const cached = cache.get(key);\r\n if (!current || cached.type !== current.type) {\r\n unmount(cached);\r\n }\r\n else if (current) {\r\n // current active instance should no longer be kept-alive.\r\n // we can't unmount it now but it might be later, so reset its flag now.\r\n resetShapeFlag(current);\r\n }\r\n cache.delete(key);\r\n keys.delete(key);\r\n }\r\n // prune cache on include/exclude prop change\r\n watch(() => [props.include, props.exclude], ([include, exclude]) => {\r\n include && pruneCache(name => matches(include, name));\r\n exclude && pruneCache(name => !matches(exclude, name));\r\n }, \r\n // prune post-render after `current` has been updated\r\n { flush: 'post', deep: true });\r\n // cache sub tree after render\r\n let pendingCacheKey = null;\r\n const cacheSubtree = () => {\r\n // fix #1621, the pendingCacheKey could be 0\r\n if (pendingCacheKey != null) {\r\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\r\n }\r\n };\r\n onMounted(cacheSubtree);\r\n onUpdated(cacheSubtree);\r\n onBeforeUnmount(() => {\r\n cache.forEach(cached => {\r\n const { subTree, suspense } = instance;\r\n const vnode = getInnerChild(subTree);\r\n if (cached.type === vnode.type) {\r\n // current instance will be unmounted as part of keep-alive's unmount\r\n resetShapeFlag(vnode);\r\n // but invoke its deactivated hook here\r\n const da = vnode.component.da;\r\n da && queuePostRenderEffect(da, suspense);\r\n return;\r\n }\r\n unmount(cached);\r\n });\r\n });\r\n return () => {\r\n pendingCacheKey = null;\r\n if (!slots.default) {\r\n return null;\r\n }\r\n const children = slots.default();\r\n const rawVNode = children[0];\r\n if (children.length > 1) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`KeepAlive should contain exactly one component child.`);\r\n }\r\n current = null;\r\n return children;\r\n }\r\n else if (!isVNode(rawVNode) ||\r\n (!(rawVNode.shapeFlag & 4 /* STATEFUL_COMPONENT */) &&\r\n !(rawVNode.shapeFlag & 128 /* SUSPENSE */))) {\r\n current = null;\r\n return rawVNode;\r\n }\r\n let vnode = getInnerChild(rawVNode);\r\n const comp = vnode.type;\r\n // for async components, name check should be based in its loaded\r\n // inner component if available\r\n const name = getComponentName(isAsyncWrapper(vnode)\r\n ? vnode.type.__asyncResolved || {}\r\n : comp);\r\n const { include, exclude, max } = props;\r\n if ((include && (!name || !matches(include, name))) ||\r\n (exclude && name && matches(exclude, name))) {\r\n current = vnode;\r\n return rawVNode;\r\n }\r\n const key = vnode.key == null ? comp : vnode.key;\r\n const cachedVNode = cache.get(key);\r\n // clone vnode if it's reused because we are going to mutate it\r\n if (vnode.el) {\r\n vnode = cloneVNode(vnode);\r\n if (rawVNode.shapeFlag & 128 /* SUSPENSE */) {\r\n rawVNode.ssContent = vnode;\r\n }\r\n }\r\n // #1513 it's possible for the returned vnode to be cloned due to attr\r\n // fallthrough or scopeId, so the vnode here may not be the final vnode\r\n // that is mounted. Instead of caching it directly, we store the pending\r\n // key and cache `instance.subTree` (the normalized vnode) in\r\n // beforeMount/beforeUpdate hooks.\r\n pendingCacheKey = key;\r\n if (cachedVNode) {\r\n // copy over mounted state\r\n vnode.el = cachedVNode.el;\r\n vnode.component = cachedVNode.component;\r\n if (vnode.transition) {\r\n // recursively update transition hooks on subTree\r\n setTransitionHooks(vnode, vnode.transition);\r\n }\r\n // avoid vnode being mounted as fresh\r\n vnode.shapeFlag |= 512 /* COMPONENT_KEPT_ALIVE */;\r\n // make this key the freshest\r\n keys.delete(key);\r\n keys.add(key);\r\n }\r\n else {\r\n keys.add(key);\r\n // prune oldest entry\r\n if (max && keys.size > parseInt(max, 10)) {\r\n pruneCacheEntry(keys.values().next().value);\r\n }\r\n }\r\n // avoid vnode being unmounted\r\n vnode.shapeFlag |= 256 /* COMPONENT_SHOULD_KEEP_ALIVE */;\r\n current = vnode;\r\n return rawVNode;\r\n };\r\n }\r\n};\r\n// export the public type for h/tsx inference\r\n// also to avoid inline import() in generated d.ts files\r\nconst KeepAlive = KeepAliveImpl;\r\nfunction matches(pattern, name) {\r\n if (isArray(pattern)) {\r\n return pattern.some((p) => matches(p, name));\r\n }\r\n else if (isString(pattern)) {\r\n return pattern.split(',').indexOf(name) > -1;\r\n }\r\n else if (pattern.test) {\r\n return pattern.test(name);\r\n }\r\n /* istanbul ignore next */\r\n return false;\r\n}\r\nfunction onActivated(hook, target) {\r\n registerKeepAliveHook(hook, \"a\" /* ACTIVATED */, target);\r\n}\r\nfunction onDeactivated(hook, target) {\r\n registerKeepAliveHook(hook, \"da\" /* DEACTIVATED */, target);\r\n}\r\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\r\n // cache the deactivate branch check wrapper for injected hooks so the same\r\n // hook can be properly deduped by the scheduler. \"__wdc\" stands for \"with\r\n // deactivation check\".\r\n const wrappedHook = hook.__wdc ||\r\n (hook.__wdc = () => {\r\n // only fire the hook if the target instance is NOT in a deactivated branch.\r\n let current = target;\r\n while (current) {\r\n if (current.isDeactivated) {\r\n return;\r\n }\r\n current = current.parent;\r\n }\r\n hook();\r\n });\r\n injectHook(type, wrappedHook, target);\r\n // In addition to registering it on the target instance, we walk up the parent\r\n // chain and register it on all ancestor instances that are keep-alive roots.\r\n // This avoids the need to walk the entire component tree when invoking these\r\n // hooks, and more importantly, avoids the need to track child components in\r\n // arrays.\r\n if (target) {\r\n let current = target.parent;\r\n while (current && current.parent) {\r\n if (isKeepAlive(current.parent.vnode)) {\r\n injectToKeepAliveRoot(wrappedHook, type, target, current);\r\n }\r\n current = current.parent;\r\n }\r\n }\r\n}\r\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\r\n // injectHook wraps the original for error handling, so make sure to remove\r\n // the wrapped version.\r\n const injected = injectHook(type, hook, keepAliveRoot, true /* prepend */);\r\n onUnmounted(() => {\r\n remove(keepAliveRoot[type], injected);\r\n }, target);\r\n}\r\nfunction resetShapeFlag(vnode) {\r\n let shapeFlag = vnode.shapeFlag;\r\n if (shapeFlag & 256 /* COMPONENT_SHOULD_KEEP_ALIVE */) {\r\n shapeFlag -= 256 /* COMPONENT_SHOULD_KEEP_ALIVE */;\r\n }\r\n if (shapeFlag & 512 /* COMPONENT_KEPT_ALIVE */) {\r\n shapeFlag -= 512 /* COMPONENT_KEPT_ALIVE */;\r\n }\r\n vnode.shapeFlag = shapeFlag;\r\n}\r\nfunction getInnerChild(vnode) {\r\n return vnode.shapeFlag & 128 /* SUSPENSE */ ? vnode.ssContent : vnode;\r\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\r\n if (target) {\r\n const hooks = target[type] || (target[type] = []);\r\n // cache the error handling wrapper for injected hooks so the same hook\r\n // can be properly deduped by the scheduler. \"__weh\" stands for \"with error\r\n // handling\".\r\n const wrappedHook = hook.__weh ||\r\n (hook.__weh = (...args) => {\r\n if (target.isUnmounted) {\r\n return;\r\n }\r\n // disable tracking inside all lifecycle hooks\r\n // since they can potentially be called inside effects.\r\n pauseTracking();\r\n // Set currentInstance during hook invocation.\r\n // This assumes the hook does not synchronously trigger other hooks, which\r\n // can only be false when the user does something really funky.\r\n setCurrentInstance(target);\r\n const res = callWithAsyncErrorHandling(hook, target, type, args);\r\n setCurrentInstance(null);\r\n resetTracking();\r\n return res;\r\n });\r\n if (prepend) {\r\n hooks.unshift(wrappedHook);\r\n }\r\n else {\r\n hooks.push(wrappedHook);\r\n }\r\n return wrappedHook;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n const apiName = toHandlerKey(ErrorTypeStrings[type].replace(/ hook$/, ''));\r\n warn(`${apiName} is called when there is no active component instance to be ` +\r\n `associated with. ` +\r\n `Lifecycle injection APIs can only be used during execution of setup().` +\r\n (` If you are using async setup(), make sure to register lifecycle ` +\r\n `hooks before the first await statement.`\r\n ));\r\n }\r\n}\r\nconst createHook = (lifecycle) => (hook, target = currentInstance) => \r\n// post-create lifecycle registrations are noops during SSR (except for serverPrefetch)\r\n(!isInSSRComponentSetup || lifecycle === \"sp\" /* SERVER_PREFETCH */) &&\r\n injectHook(lifecycle, hook, target);\r\nconst onBeforeMount = createHook(\"bm\" /* BEFORE_MOUNT */);\r\nconst onMounted = createHook(\"m\" /* MOUNTED */);\r\nconst onBeforeUpdate = createHook(\"bu\" /* BEFORE_UPDATE */);\r\nconst onUpdated = createHook(\"u\" /* UPDATED */);\r\nconst onBeforeUnmount = createHook(\"bum\" /* BEFORE_UNMOUNT */);\r\nconst onUnmounted = createHook(\"um\" /* UNMOUNTED */);\r\nconst onServerPrefetch = createHook(\"sp\" /* SERVER_PREFETCH */);\r\nconst onRenderTriggered = createHook(\"rtg\" /* RENDER_TRIGGERED */);\r\nconst onRenderTracked = createHook(\"rtc\" /* RENDER_TRACKED */);\r\nfunction onErrorCaptured(hook, target = currentInstance) {\r\n injectHook(\"ec\" /* ERROR_CAPTURED */, hook, target);\r\n}\n\nfunction createDuplicateChecker() {\r\n const cache = Object.create(null);\r\n return (type, key) => {\r\n if (cache[key]) {\r\n warn(`${type} property \"${key}\" is already defined in ${cache[key]}.`);\r\n }\r\n else {\r\n cache[key] = type;\r\n }\r\n };\r\n}\r\nlet shouldCacheAccess = true;\r\nfunction applyOptions(instance) {\r\n const options = resolveMergedOptions(instance);\r\n const publicThis = instance.proxy;\r\n const ctx = instance.ctx;\r\n // do not cache property access on public proxy during state initialization\r\n shouldCacheAccess = false;\r\n // call beforeCreate first before accessing other options since\r\n // the hook may mutate resolved options (#2791)\r\n if (options.beforeCreate) {\r\n callHook(options.beforeCreate, instance, \"bc\" /* BEFORE_CREATE */);\r\n }\r\n const { \r\n // state\r\n data: dataOptions, computed: computedOptions, methods, watch: watchOptions, provide: provideOptions, inject: injectOptions, \r\n // lifecycle\r\n created, beforeMount, mounted, beforeUpdate, updated, activated, deactivated, beforeDestroy, beforeUnmount, destroyed, unmounted, render, renderTracked, renderTriggered, errorCaptured, serverPrefetch, \r\n // public API\r\n expose, inheritAttrs, \r\n // assets\r\n components, directives, filters } = options;\r\n const checkDuplicateProperties = (process.env.NODE_ENV !== 'production') ? createDuplicateChecker() : null;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const [propsOptions] = instance.propsOptions;\r\n if (propsOptions) {\r\n for (const key in propsOptions) {\r\n checkDuplicateProperties(\"Props\" /* PROPS */, key);\r\n }\r\n }\r\n }\r\n // options initialization order (to be consistent with Vue 2):\r\n // - props (already done outside of this function)\r\n // - inject\r\n // - methods\r\n // - data (deferred since it relies on `this` access)\r\n // - computed\r\n // - watch (deferred since it relies on `this` access)\r\n if (injectOptions) {\r\n resolveInjections(injectOptions, ctx, checkDuplicateProperties);\r\n }\r\n if (methods) {\r\n for (const key in methods) {\r\n const methodHandler = methods[key];\r\n if (isFunction(methodHandler)) {\r\n // In dev mode, we use the `createRenderContext` function to define methods to the proxy target,\r\n // and those are read-only but reconfigurable, so it needs to be redefined here\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n Object.defineProperty(ctx, key, {\r\n value: methodHandler.bind(publicThis),\r\n configurable: true,\r\n enumerable: true,\r\n writable: true\r\n });\r\n }\r\n else {\r\n ctx[key] = methodHandler.bind(publicThis);\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n checkDuplicateProperties(\"Methods\" /* METHODS */, key);\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Method \"${key}\" has type \"${typeof methodHandler}\" in the component definition. ` +\r\n `Did you reference the function correctly?`);\r\n }\r\n }\r\n }\r\n if (dataOptions) {\r\n if ((process.env.NODE_ENV !== 'production') && !isFunction(dataOptions)) {\r\n warn(`The data option must be a function. ` +\r\n `Plain object usage is no longer supported.`);\r\n }\r\n const data = dataOptions.call(publicThis, publicThis);\r\n if ((process.env.NODE_ENV !== 'production') && isPromise(data)) {\r\n warn(`data() returned a Promise - note data() cannot be async; If you ` +\r\n `intend to perform data fetching before component renders, use ` +\r\n `async setup() + .`);\r\n }\r\n if (!isObject(data)) {\r\n (process.env.NODE_ENV !== 'production') && warn(`data() should return an object.`);\r\n }\r\n else {\r\n instance.data = reactive(data);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n for (const key in data) {\r\n checkDuplicateProperties(\"Data\" /* DATA */, key);\r\n // expose data on ctx during dev\r\n if (key[0] !== '$' && key[0] !== '_') {\r\n Object.defineProperty(ctx, key, {\r\n configurable: true,\r\n enumerable: true,\r\n get: () => data[key],\r\n set: NOOP\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n // state initialization complete at this point - start caching access\r\n shouldCacheAccess = true;\r\n if (computedOptions) {\r\n for (const key in computedOptions) {\r\n const opt = computedOptions[key];\r\n const get = isFunction(opt)\r\n ? opt.bind(publicThis, publicThis)\r\n : isFunction(opt.get)\r\n ? opt.get.bind(publicThis, publicThis)\r\n : NOOP;\r\n if ((process.env.NODE_ENV !== 'production') && get === NOOP) {\r\n warn(`Computed property \"${key}\" has no getter.`);\r\n }\r\n const set = !isFunction(opt) && isFunction(opt.set)\r\n ? opt.set.bind(publicThis)\r\n : (process.env.NODE_ENV !== 'production')\r\n ? () => {\r\n warn(`Write operation failed: computed property \"${key}\" is readonly.`);\r\n }\r\n : NOOP;\r\n const c = computed({\r\n get,\r\n set\r\n });\r\n Object.defineProperty(ctx, key, {\r\n enumerable: true,\r\n configurable: true,\r\n get: () => c.value,\r\n set: v => (c.value = v)\r\n });\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n checkDuplicateProperties(\"Computed\" /* COMPUTED */, key);\r\n }\r\n }\r\n }\r\n if (watchOptions) {\r\n for (const key in watchOptions) {\r\n createWatcher(watchOptions[key], ctx, publicThis, key);\r\n }\r\n }\r\n if (provideOptions) {\r\n const provides = isFunction(provideOptions)\r\n ? provideOptions.call(publicThis)\r\n : provideOptions;\r\n Reflect.ownKeys(provides).forEach(key => {\r\n provide(key, provides[key]);\r\n });\r\n }\r\n if (created) {\r\n callHook(created, instance, \"c\" /* CREATED */);\r\n }\r\n function registerLifecycleHook(register, hook) {\r\n if (isArray(hook)) {\r\n hook.forEach(_hook => register(_hook.bind(publicThis)));\r\n }\r\n else if (hook) {\r\n register(hook.bind(publicThis));\r\n }\r\n }\r\n registerLifecycleHook(onBeforeMount, beforeMount);\r\n registerLifecycleHook(onMounted, mounted);\r\n registerLifecycleHook(onBeforeUpdate, beforeUpdate);\r\n registerLifecycleHook(onUpdated, updated);\r\n registerLifecycleHook(onActivated, activated);\r\n registerLifecycleHook(onDeactivated, deactivated);\r\n registerLifecycleHook(onErrorCaptured, errorCaptured);\r\n registerLifecycleHook(onRenderTracked, renderTracked);\r\n registerLifecycleHook(onRenderTriggered, renderTriggered);\r\n registerLifecycleHook(onBeforeUnmount, beforeUnmount);\r\n registerLifecycleHook(onUnmounted, unmounted);\r\n registerLifecycleHook(onServerPrefetch, serverPrefetch);\r\n if (isArray(expose)) {\r\n if (expose.length) {\r\n const exposed = instance.exposed || (instance.exposed = proxyRefs({}));\r\n expose.forEach(key => {\r\n exposed[key] = toRef(publicThis, key);\r\n });\r\n }\r\n else if (!instance.exposed) {\r\n instance.exposed = EMPTY_OBJ;\r\n }\r\n }\r\n // options that are handled when creating the instance but also need to be\r\n // applied from mixins\r\n if (render && instance.render === NOOP) {\r\n instance.render = render;\r\n }\r\n if (inheritAttrs != null) {\r\n instance.inheritAttrs = inheritAttrs;\r\n }\r\n // asset options.\r\n if (components)\r\n instance.components = components;\r\n if (directives)\r\n instance.directives = directives;\r\n}\r\nfunction resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP) {\r\n if (isArray(injectOptions)) {\r\n injectOptions = normalizeInject(injectOptions);\r\n }\r\n for (const key in injectOptions) {\r\n const opt = injectOptions[key];\r\n if (isObject(opt)) {\r\n if ('default' in opt) {\r\n ctx[key] = inject(opt.from || key, opt.default, true /* treat default function as factory */);\r\n }\r\n else {\r\n ctx[key] = inject(opt.from || key);\r\n }\r\n }\r\n else {\r\n ctx[key] = inject(opt);\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n checkDuplicateProperties(\"Inject\" /* INJECT */, key);\r\n }\r\n }\r\n}\r\nfunction callHook(hook, instance, type) {\r\n callWithAsyncErrorHandling(isArray(hook)\r\n ? hook.map(h => h.bind(instance.proxy))\r\n : hook.bind(instance.proxy), instance, type);\r\n}\r\nfunction createWatcher(raw, ctx, publicThis, key) {\r\n const getter = key.includes('.')\r\n ? createPathGetter(publicThis, key)\r\n : () => publicThis[key];\r\n if (isString(raw)) {\r\n const handler = ctx[raw];\r\n if (isFunction(handler)) {\r\n watch(getter, handler);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Invalid watch handler specified by key \"${raw}\"`, handler);\r\n }\r\n }\r\n else if (isFunction(raw)) {\r\n watch(getter, raw.bind(publicThis));\r\n }\r\n else if (isObject(raw)) {\r\n if (isArray(raw)) {\r\n raw.forEach(r => createWatcher(r, ctx, publicThis, key));\r\n }\r\n else {\r\n const handler = isFunction(raw.handler)\r\n ? raw.handler.bind(publicThis)\r\n : ctx[raw.handler];\r\n if (isFunction(handler)) {\r\n watch(getter, handler, raw);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Invalid watch handler specified by key \"${raw.handler}\"`, handler);\r\n }\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Invalid watch option: \"${key}\"`, raw);\r\n }\r\n}\r\n/**\r\n * Resolve merged options and cache it on the component.\r\n * This is done only once per-component since the merging does not involve\r\n * instances.\r\n */\r\nfunction resolveMergedOptions(instance) {\r\n const base = instance.type;\r\n const { mixins, extends: extendsOptions } = base;\r\n const { mixins: globalMixins, optionsCache: cache, config: { optionMergeStrategies } } = instance.appContext;\r\n const cached = cache.get(base);\r\n let resolved;\r\n if (cached) {\r\n resolved = cached;\r\n }\r\n else if (!globalMixins.length && !mixins && !extendsOptions) {\r\n {\r\n resolved = base;\r\n }\r\n }\r\n else {\r\n resolved = {};\r\n if (globalMixins.length) {\r\n globalMixins.forEach(m => mergeOptions(resolved, m, optionMergeStrategies, true));\r\n }\r\n mergeOptions(resolved, base, optionMergeStrategies);\r\n }\r\n cache.set(base, resolved);\r\n return resolved;\r\n}\r\nfunction mergeOptions(to, from, strats, asMixin = false) {\r\n const { mixins, extends: extendsOptions } = from;\r\n if (extendsOptions) {\r\n mergeOptions(to, extendsOptions, strats, true);\r\n }\r\n if (mixins) {\r\n mixins.forEach((m) => mergeOptions(to, m, strats, true));\r\n }\r\n for (const key in from) {\r\n if (asMixin && key === 'expose') {\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(`\"expose\" option is ignored when declared in mixins or extends. ` +\r\n `It should only be declared in the base component itself.`);\r\n }\r\n else {\r\n const strat = internalOptionMergeStrats[key] || (strats && strats[key]);\r\n to[key] = strat ? strat(to[key], from[key]) : from[key];\r\n }\r\n }\r\n return to;\r\n}\r\nconst internalOptionMergeStrats = {\r\n data: mergeDataFn,\r\n props: mergeObjectOptions,\r\n emits: mergeObjectOptions,\r\n // objects\r\n methods: mergeObjectOptions,\r\n computed: mergeObjectOptions,\r\n // lifecycle\r\n beforeCreate: mergeAsArray,\r\n created: mergeAsArray,\r\n beforeMount: mergeAsArray,\r\n mounted: mergeAsArray,\r\n beforeUpdate: mergeAsArray,\r\n updated: mergeAsArray,\r\n beforeDestroy: mergeAsArray,\r\n destroyed: mergeAsArray,\r\n activated: mergeAsArray,\r\n deactivated: mergeAsArray,\r\n errorCaptured: mergeAsArray,\r\n serverPrefetch: mergeAsArray,\r\n // assets\r\n components: mergeObjectOptions,\r\n directives: mergeObjectOptions,\r\n // watch\r\n watch: mergeWatchOptions,\r\n // provide / inject\r\n provide: mergeDataFn,\r\n inject: mergeInject\r\n};\r\nfunction mergeDataFn(to, from) {\r\n if (!from) {\r\n return to;\r\n }\r\n if (!to) {\r\n return from;\r\n }\r\n return function mergedDataFn() {\r\n return (extend)(isFunction(to) ? to.call(this, this) : to, isFunction(from) ? from.call(this, this) : from);\r\n };\r\n}\r\nfunction mergeInject(to, from) {\r\n return mergeObjectOptions(normalizeInject(to), normalizeInject(from));\r\n}\r\nfunction normalizeInject(raw) {\r\n if (isArray(raw)) {\r\n const res = {};\r\n for (let i = 0; i < raw.length; i++) {\r\n res[raw[i]] = raw[i];\r\n }\r\n return res;\r\n }\r\n return raw;\r\n}\r\nfunction mergeAsArray(to, from) {\r\n return to ? [...new Set([].concat(to, from))] : from;\r\n}\r\nfunction mergeObjectOptions(to, from) {\r\n return to ? extend(extend(Object.create(null), to), from) : from;\r\n}\r\nfunction mergeWatchOptions(to, from) {\r\n if (!to)\r\n return from;\r\n if (!from)\r\n return to;\r\n const merged = extend(Object.create(null), to);\r\n for (const key in from) {\r\n merged[key] = mergeAsArray(to[key], from[key]);\r\n }\r\n return merged;\r\n}\n\nfunction initProps(instance, rawProps, isStateful, // result of bitwise flag comparison\r\nisSSR = false) {\r\n const props = {};\r\n const attrs = {};\r\n def(attrs, InternalObjectKey, 1);\r\n instance.propsDefaults = Object.create(null);\r\n setFullProps(instance, rawProps, props, attrs);\r\n // ensure all declared prop keys are present\r\n for (const key in instance.propsOptions[0]) {\r\n if (!(key in props)) {\r\n props[key] = undefined;\r\n }\r\n }\r\n // validation\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n validateProps(rawProps || {}, props, instance);\r\n }\r\n if (isStateful) {\r\n // stateful\r\n instance.props = isSSR ? props : shallowReactive(props);\r\n }\r\n else {\r\n if (!instance.type.props) {\r\n // functional w/ optional props, props === attrs\r\n instance.props = attrs;\r\n }\r\n else {\r\n // functional w/ declared props\r\n instance.props = props;\r\n }\r\n }\r\n instance.attrs = attrs;\r\n}\r\nfunction updateProps(instance, rawProps, rawPrevProps, optimized) {\r\n const { props, attrs, vnode: { patchFlag } } = instance;\r\n const rawCurrentProps = toRaw(props);\r\n const [options] = instance.propsOptions;\r\n let hasAttrsChanged = false;\r\n if (\r\n // always force full diff in dev\r\n // - #1942 if hmr is enabled with sfc component\r\n // - vite#872 non-sfc component used by sfc component\r\n !((process.env.NODE_ENV !== 'production') &&\r\n (instance.type.__hmrId ||\r\n (instance.parent && instance.parent.type.__hmrId))) &&\r\n (optimized || patchFlag > 0) &&\r\n !(patchFlag & 16 /* FULL_PROPS */)) {\r\n if (patchFlag & 8 /* PROPS */) {\r\n // Compiler-generated props & no keys change, just set the updated\r\n // the props.\r\n const propsToUpdate = instance.vnode.dynamicProps;\r\n for (let i = 0; i < propsToUpdate.length; i++) {\r\n let key = propsToUpdate[i];\r\n // PROPS flag guarantees rawProps to be non-null\r\n const value = rawProps[key];\r\n if (options) {\r\n // attr / props separation was done on init and will be consistent\r\n // in this code path, so just check if attrs have it.\r\n if (hasOwn(attrs, key)) {\r\n if (value !== attrs[key]) {\r\n attrs[key] = value;\r\n hasAttrsChanged = true;\r\n }\r\n }\r\n else {\r\n const camelizedKey = camelize(key);\r\n props[camelizedKey] = resolvePropValue(options, rawCurrentProps, camelizedKey, value, instance, false /* isAbsent */);\r\n }\r\n }\r\n else {\r\n if (value !== attrs[key]) {\r\n attrs[key] = value;\r\n hasAttrsChanged = true;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n // full props update.\r\n if (setFullProps(instance, rawProps, props, attrs)) {\r\n hasAttrsChanged = true;\r\n }\r\n // in case of dynamic props, check if we need to delete keys from\r\n // the props object\r\n let kebabKey;\r\n for (const key in rawCurrentProps) {\r\n if (!rawProps ||\r\n // for camelCase\r\n (!hasOwn(rawProps, key) &&\r\n // it's possible the original props was passed in as kebab-case\r\n // and converted to camelCase (#955)\r\n ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey)))) {\r\n if (options) {\r\n if (rawPrevProps &&\r\n // for camelCase\r\n (rawPrevProps[key] !== undefined ||\r\n // for kebab-case\r\n rawPrevProps[kebabKey] !== undefined)) {\r\n props[key] = resolvePropValue(options, rawCurrentProps, key, undefined, instance, true /* isAbsent */);\r\n }\r\n }\r\n else {\r\n delete props[key];\r\n }\r\n }\r\n }\r\n // in the case of functional component w/o props declaration, props and\r\n // attrs point to the same object so it should already have been updated.\r\n if (attrs !== rawCurrentProps) {\r\n for (const key in attrs) {\r\n if (!rawProps || !hasOwn(rawProps, key)) {\r\n delete attrs[key];\r\n hasAttrsChanged = true;\r\n }\r\n }\r\n }\r\n }\r\n // trigger updates for $attrs in case it's used in component slots\r\n if (hasAttrsChanged) {\r\n trigger(instance, \"set\" /* SET */, '$attrs');\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n validateProps(rawProps || {}, props, instance);\r\n }\r\n}\r\nfunction setFullProps(instance, rawProps, props, attrs) {\r\n const [options, needCastKeys] = instance.propsOptions;\r\n let hasAttrsChanged = false;\r\n let rawCastValues;\r\n if (rawProps) {\r\n for (let key in rawProps) {\r\n // key, ref are reserved and never passed down\r\n if (isReservedProp(key)) {\r\n continue;\r\n }\r\n const value = rawProps[key];\r\n // prop option names are camelized during normalization, so to support\r\n // kebab -> camel conversion here we need to camelize the key.\r\n let camelKey;\r\n if (options && hasOwn(options, (camelKey = camelize(key)))) {\r\n if (!needCastKeys || !needCastKeys.includes(camelKey)) {\r\n props[camelKey] = value;\r\n }\r\n else {\r\n (rawCastValues || (rawCastValues = {}))[camelKey] = value;\r\n }\r\n }\r\n else if (!isEmitListener(instance.emitsOptions, key)) {\r\n if (value !== attrs[key]) {\r\n attrs[key] = value;\r\n hasAttrsChanged = true;\r\n }\r\n }\r\n }\r\n }\r\n if (needCastKeys) {\r\n const rawCurrentProps = toRaw(props);\r\n const castValues = rawCastValues || EMPTY_OBJ;\r\n for (let i = 0; i < needCastKeys.length; i++) {\r\n const key = needCastKeys[i];\r\n props[key] = resolvePropValue(options, rawCurrentProps, key, castValues[key], instance, !hasOwn(castValues, key));\r\n }\r\n }\r\n return hasAttrsChanged;\r\n}\r\nfunction resolvePropValue(options, props, key, value, instance, isAbsent) {\r\n const opt = options[key];\r\n if (opt != null) {\r\n const hasDefault = hasOwn(opt, 'default');\r\n // default values\r\n if (hasDefault && value === undefined) {\r\n const defaultValue = opt.default;\r\n if (opt.type !== Function && isFunction(defaultValue)) {\r\n const { propsDefaults } = instance;\r\n if (key in propsDefaults) {\r\n value = propsDefaults[key];\r\n }\r\n else {\r\n setCurrentInstance(instance);\r\n value = propsDefaults[key] = defaultValue.call(null, props);\r\n setCurrentInstance(null);\r\n }\r\n }\r\n else {\r\n value = defaultValue;\r\n }\r\n }\r\n // boolean casting\r\n if (opt[0 /* shouldCast */]) {\r\n if (isAbsent && !hasDefault) {\r\n value = false;\r\n }\r\n else if (opt[1 /* shouldCastTrue */] &&\r\n (value === '' || value === hyphenate(key))) {\r\n value = true;\r\n }\r\n }\r\n }\r\n return value;\r\n}\r\nfunction normalizePropsOptions(comp, appContext, asMixin = false) {\r\n const cache = appContext.propsCache;\r\n const cached = cache.get(comp);\r\n if (cached) {\r\n return cached;\r\n }\r\n const raw = comp.props;\r\n const normalized = {};\r\n const needCastKeys = [];\r\n // apply mixin/extends props\r\n let hasExtends = false;\r\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\r\n const extendProps = (raw) => {\r\n hasExtends = true;\r\n const [props, keys] = normalizePropsOptions(raw, appContext, true);\r\n extend(normalized, props);\r\n if (keys)\r\n needCastKeys.push(...keys);\r\n };\r\n if (!asMixin && appContext.mixins.length) {\r\n appContext.mixins.forEach(extendProps);\r\n }\r\n if (comp.extends) {\r\n extendProps(comp.extends);\r\n }\r\n if (comp.mixins) {\r\n comp.mixins.forEach(extendProps);\r\n }\r\n }\r\n if (!raw && !hasExtends) {\r\n cache.set(comp, EMPTY_ARR);\r\n return EMPTY_ARR;\r\n }\r\n if (isArray(raw)) {\r\n for (let i = 0; i < raw.length; i++) {\r\n if ((process.env.NODE_ENV !== 'production') && !isString(raw[i])) {\r\n warn(`props must be strings when using array syntax.`, raw[i]);\r\n }\r\n const normalizedKey = camelize(raw[i]);\r\n if (validatePropName(normalizedKey)) {\r\n normalized[normalizedKey] = EMPTY_OBJ;\r\n }\r\n }\r\n }\r\n else if (raw) {\r\n if ((process.env.NODE_ENV !== 'production') && !isObject(raw)) {\r\n warn(`invalid props options`, raw);\r\n }\r\n for (const key in raw) {\r\n const normalizedKey = camelize(key);\r\n if (validatePropName(normalizedKey)) {\r\n const opt = raw[key];\r\n const prop = (normalized[normalizedKey] =\r\n isArray(opt) || isFunction(opt) ? { type: opt } : opt);\r\n if (prop) {\r\n const booleanIndex = getTypeIndex(Boolean, prop.type);\r\n const stringIndex = getTypeIndex(String, prop.type);\r\n prop[0 /* shouldCast */] = booleanIndex > -1;\r\n prop[1 /* shouldCastTrue */] =\r\n stringIndex < 0 || booleanIndex < stringIndex;\r\n // if the prop needs boolean casting or default value\r\n if (booleanIndex > -1 || hasOwn(prop, 'default')) {\r\n needCastKeys.push(normalizedKey);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n const res = [normalized, needCastKeys];\r\n cache.set(comp, res);\r\n return res;\r\n}\r\nfunction validatePropName(key) {\r\n if (key[0] !== '$') {\r\n return true;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Invalid prop name: \"${key}\" is a reserved property.`);\r\n }\r\n return false;\r\n}\r\n// use function string name to check type constructors\r\n// so that it works across vms / iframes.\r\nfunction getType(ctor) {\r\n const match = ctor && ctor.toString().match(/^\\s*function (\\w+)/);\r\n return match ? match[1] : '';\r\n}\r\nfunction isSameType(a, b) {\r\n return getType(a) === getType(b);\r\n}\r\nfunction getTypeIndex(type, expectedTypes) {\r\n if (isArray(expectedTypes)) {\r\n return expectedTypes.findIndex(t => isSameType(t, type));\r\n }\r\n else if (isFunction(expectedTypes)) {\r\n return isSameType(expectedTypes, type) ? 0 : -1;\r\n }\r\n return -1;\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction validateProps(rawProps, props, instance) {\r\n const resolvedValues = toRaw(props);\r\n const options = instance.propsOptions[0];\r\n for (const key in options) {\r\n let opt = options[key];\r\n if (opt == null)\r\n continue;\r\n validateProp(key, resolvedValues[key], opt, !hasOwn(rawProps, key) && !hasOwn(rawProps, hyphenate(key)));\r\n }\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction validateProp(name, value, prop, isAbsent) {\r\n const { type, required, validator } = prop;\r\n // required!\r\n if (required && isAbsent) {\r\n warn('Missing required prop: \"' + name + '\"');\r\n return;\r\n }\r\n // missing but optional\r\n if (value == null && !prop.required) {\r\n return;\r\n }\r\n // type check\r\n if (type != null && type !== true) {\r\n let isValid = false;\r\n const types = isArray(type) ? type : [type];\r\n const expectedTypes = [];\r\n // value is valid as long as one of the specified types match\r\n for (let i = 0; i < types.length && !isValid; i++) {\r\n const { valid, expectedType } = assertType(value, types[i]);\r\n expectedTypes.push(expectedType || '');\r\n isValid = valid;\r\n }\r\n if (!isValid) {\r\n warn(getInvalidTypeMessage(name, value, expectedTypes));\r\n return;\r\n }\r\n }\r\n // custom validator\r\n if (validator && !validator(value)) {\r\n warn('Invalid prop: custom validator check failed for prop \"' + name + '\".');\r\n }\r\n}\r\nconst isSimpleType = /*#__PURE__*/ makeMap('String,Number,Boolean,Function,Symbol,BigInt');\r\n/**\r\n * dev only\r\n */\r\nfunction assertType(value, type) {\r\n let valid;\r\n const expectedType = getType(type);\r\n if (isSimpleType(expectedType)) {\r\n const t = typeof value;\r\n valid = t === expectedType.toLowerCase();\r\n // for primitive wrapper objects\r\n if (!valid && t === 'object') {\r\n valid = value instanceof type;\r\n }\r\n }\r\n else if (expectedType === 'Object') {\r\n valid = isObject(value);\r\n }\r\n else if (expectedType === 'Array') {\r\n valid = isArray(value);\r\n }\r\n else {\r\n valid = value instanceof type;\r\n }\r\n return {\r\n valid,\r\n expectedType\r\n };\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction getInvalidTypeMessage(name, value, expectedTypes) {\r\n let message = `Invalid prop: type check failed for prop \"${name}\".` +\r\n ` Expected ${expectedTypes.map(capitalize).join(', ')}`;\r\n const expectedType = expectedTypes[0];\r\n const receivedType = toRawType(value);\r\n const expectedValue = styleValue(value, expectedType);\r\n const receivedValue = styleValue(value, receivedType);\r\n // check if we need to specify expected value\r\n if (expectedTypes.length === 1 &&\r\n isExplicable(expectedType) &&\r\n !isBoolean(expectedType, receivedType)) {\r\n message += ` with value ${expectedValue}`;\r\n }\r\n message += `, got ${receivedType} `;\r\n // check if we need to specify received value\r\n if (isExplicable(receivedType)) {\r\n message += `with value ${receivedValue}.`;\r\n }\r\n return message;\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction styleValue(value, type) {\r\n if (type === 'String') {\r\n return `\"${value}\"`;\r\n }\r\n else if (type === 'Number') {\r\n return `${Number(value)}`;\r\n }\r\n else {\r\n return `${value}`;\r\n }\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction isExplicable(type) {\r\n const explicitTypes = ['string', 'number', 'boolean'];\r\n return explicitTypes.some(elem => type.toLowerCase() === elem);\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction isBoolean(...args) {\r\n return args.some(elem => elem.toLowerCase() === 'boolean');\r\n}\n\nconst isInternalKey = (key) => key[0] === '_' || key === '$stable';\r\nconst normalizeSlotValue = (value) => isArray(value)\r\n ? value.map(normalizeVNode)\r\n : [normalizeVNode(value)];\r\nconst normalizeSlot = (key, rawSlot, ctx) => {\r\n const normalized = withCtx((props) => {\r\n if ((process.env.NODE_ENV !== 'production') && currentInstance) {\r\n warn(`Slot \"${key}\" invoked outside of the render function: ` +\r\n `this will not track dependencies used in the slot. ` +\r\n `Invoke the slot function inside the render function instead.`);\r\n }\r\n return normalizeSlotValue(rawSlot(props));\r\n }, ctx);\r\n normalized._c = false;\r\n return normalized;\r\n};\r\nconst normalizeObjectSlots = (rawSlots, slots, instance) => {\r\n const ctx = rawSlots._ctx;\r\n for (const key in rawSlots) {\r\n if (isInternalKey(key))\r\n continue;\r\n const value = rawSlots[key];\r\n if (isFunction(value)) {\r\n slots[key] = normalizeSlot(key, value, ctx);\r\n }\r\n else if (value != null) {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n !(false )) {\r\n warn(`Non-function value encountered for slot \"${key}\". ` +\r\n `Prefer function slots for better performance.`);\r\n }\r\n const normalized = normalizeSlotValue(value);\r\n slots[key] = () => normalized;\r\n }\r\n }\r\n};\r\nconst normalizeVNodeSlots = (instance, children) => {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n !isKeepAlive(instance.vnode) &&\r\n !(false )) {\r\n warn(`Non-function value encountered for default slot. ` +\r\n `Prefer function slots for better performance.`);\r\n }\r\n const normalized = normalizeSlotValue(children);\r\n instance.slots.default = () => normalized;\r\n};\r\nconst initSlots = (instance, children) => {\r\n if (instance.vnode.shapeFlag & 32 /* SLOTS_CHILDREN */) {\r\n const type = children._;\r\n if (type) {\r\n // users can get the shallow readonly version of the slots object through `this.$slots`,\r\n // we should avoid the proxy object polluting the slots of the internal instance\r\n instance.slots = toRaw(children);\r\n // make compiler marker non-enumerable\r\n def(children, '_', type);\r\n }\r\n else {\r\n normalizeObjectSlots(children, (instance.slots = {}));\r\n }\r\n }\r\n else {\r\n instance.slots = {};\r\n if (children) {\r\n normalizeVNodeSlots(instance, children);\r\n }\r\n }\r\n def(instance.slots, InternalObjectKey, 1);\r\n};\r\nconst updateSlots = (instance, children, optimized) => {\r\n const { vnode, slots } = instance;\r\n let needDeletionCheck = true;\r\n let deletionComparisonTarget = EMPTY_OBJ;\r\n if (vnode.shapeFlag & 32 /* SLOTS_CHILDREN */) {\r\n const type = children._;\r\n if (type) {\r\n // compiled slots.\r\n if ((process.env.NODE_ENV !== 'production') && isHmrUpdating) {\r\n // Parent was HMR updated so slot content may have changed.\r\n // force update slots and mark instance for hmr as well\r\n extend(slots, children);\r\n }\r\n else if (optimized && type === 1 /* STABLE */) {\r\n // compiled AND stable.\r\n // no need to update, and skip stale slots removal.\r\n needDeletionCheck = false;\r\n }\r\n else {\r\n // compiled but dynamic (v-if/v-for on slots) - update slots, but skip\r\n // normalization.\r\n extend(slots, children);\r\n // #2893\r\n // when rendering the optimized slots by manually written render function,\r\n // we need to delete the `slots._` flag if necessary to make subsequent updates reliable,\r\n // i.e. let the `renderSlot` create the bailed Fragment\r\n if (!optimized && type === 1 /* STABLE */) {\r\n delete slots._;\r\n }\r\n }\r\n }\r\n else {\r\n needDeletionCheck = !children.$stable;\r\n normalizeObjectSlots(children, slots);\r\n }\r\n deletionComparisonTarget = children;\r\n }\r\n else if (children) {\r\n // non slot object children (direct value) passed to a component\r\n normalizeVNodeSlots(instance, children);\r\n deletionComparisonTarget = { default: 1 };\r\n }\r\n // delete stale slots\r\n if (needDeletionCheck) {\r\n for (const key in slots) {\r\n if (!isInternalKey(key) && !(key in deletionComparisonTarget)) {\r\n delete slots[key];\r\n }\r\n }\r\n }\r\n};\n\n/**\r\nRuntime helper for applying directives to a vnode. Example usage:\r\n\nconst comp = resolveComponent('comp')\r\nconst foo = resolveDirective('foo')\r\nconst bar = resolveDirective('bar')\r\n\nreturn withDirectives(h(comp), [\r\n [foo, this.x],\r\n [bar, this.y]\r\n])\r\n*/\r\nconst isBuiltInDirective = /*#__PURE__*/ makeMap('bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text');\r\nfunction validateDirectiveName(name) {\r\n if (isBuiltInDirective(name)) {\r\n warn('Do not use built-in directive ids as custom directive id: ' + name);\r\n }\r\n}\r\n/**\r\n * Adds directives to a VNode.\r\n */\r\nfunction withDirectives(vnode, directives) {\r\n const internalInstance = currentRenderingInstance;\r\n if (internalInstance === null) {\r\n (process.env.NODE_ENV !== 'production') && warn(`withDirectives can only be used inside render functions.`);\r\n return vnode;\r\n }\r\n const instance = internalInstance.proxy;\r\n const bindings = vnode.dirs || (vnode.dirs = []);\r\n for (let i = 0; i < directives.length; i++) {\r\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\r\n if (isFunction(dir)) {\r\n dir = {\r\n mounted: dir,\r\n updated: dir\r\n };\r\n }\r\n bindings.push({\r\n dir,\r\n instance,\r\n value,\r\n oldValue: void 0,\r\n arg,\r\n modifiers\r\n });\r\n }\r\n return vnode;\r\n}\r\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\r\n const bindings = vnode.dirs;\r\n const oldBindings = prevVNode && prevVNode.dirs;\r\n for (let i = 0; i < bindings.length; i++) {\r\n const binding = bindings[i];\r\n if (oldBindings) {\r\n binding.oldValue = oldBindings[i].value;\r\n }\r\n let hook = binding.dir[name];\r\n if (hook) {\r\n // disable tracking inside all lifecycle hooks\r\n // since they can potentially be called inside effects.\r\n pauseTracking();\r\n callWithAsyncErrorHandling(hook, instance, 8 /* DIRECTIVE_HOOK */, [\r\n vnode.el,\r\n binding,\r\n vnode,\r\n prevVNode\r\n ]);\r\n resetTracking();\r\n }\r\n }\r\n}\n\nfunction createAppContext() {\r\n return {\r\n app: null,\r\n config: {\r\n isNativeTag: NO,\r\n performance: false,\r\n globalProperties: {},\r\n optionMergeStrategies: {},\r\n errorHandler: undefined,\r\n warnHandler: undefined,\r\n compilerOptions: {}\r\n },\r\n mixins: [],\r\n components: {},\r\n directives: {},\r\n provides: Object.create(null),\r\n optionsCache: new WeakMap(),\r\n propsCache: new WeakMap(),\r\n emitsCache: new WeakMap()\r\n };\r\n}\r\nlet uid = 0;\r\nfunction createAppAPI(render, hydrate) {\r\n return function createApp(rootComponent, rootProps = null) {\r\n if (rootProps != null && !isObject(rootProps)) {\r\n (process.env.NODE_ENV !== 'production') && warn(`root props passed to app.mount() must be an object.`);\r\n rootProps = null;\r\n }\r\n const context = createAppContext();\r\n const installedPlugins = new Set();\r\n let isMounted = false;\r\n const app = (context.app = {\r\n _uid: uid++,\r\n _component: rootComponent,\r\n _props: rootProps,\r\n _container: null,\r\n _context: context,\r\n _instance: null,\r\n version,\r\n get config() {\r\n return context.config;\r\n },\r\n set config(v) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`app.config cannot be replaced. Modify individual options instead.`);\r\n }\r\n },\r\n use(plugin, ...options) {\r\n if (installedPlugins.has(plugin)) {\r\n (process.env.NODE_ENV !== 'production') && warn(`Plugin has already been applied to target app.`);\r\n }\r\n else if (plugin && isFunction(plugin.install)) {\r\n installedPlugins.add(plugin);\r\n plugin.install(app, ...options);\r\n }\r\n else if (isFunction(plugin)) {\r\n installedPlugins.add(plugin);\r\n plugin(app, ...options);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`A plugin must either be a function or an object with an \"install\" ` +\r\n `function.`);\r\n }\r\n return app;\r\n },\r\n mixin(mixin) {\r\n if (__VUE_OPTIONS_API__) {\r\n if (!context.mixins.includes(mixin)) {\r\n context.mixins.push(mixin);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Mixin has already been applied to target app' +\r\n (mixin.name ? `: ${mixin.name}` : ''));\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Mixins are only available in builds supporting Options API');\r\n }\r\n return app;\r\n },\r\n component(name, component) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n validateComponentName(name, context.config);\r\n }\r\n if (!component) {\r\n return context.components[name];\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && context.components[name]) {\r\n warn(`Component \"${name}\" has already been registered in target app.`);\r\n }\r\n context.components[name] = component;\r\n return app;\r\n },\r\n directive(name, directive) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n validateDirectiveName(name);\r\n }\r\n if (!directive) {\r\n return context.directives[name];\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && context.directives[name]) {\r\n warn(`Directive \"${name}\" has already been registered in target app.`);\r\n }\r\n context.directives[name] = directive;\r\n return app;\r\n },\r\n mount(rootContainer, isHydrate, isSVG) {\r\n if (!isMounted) {\r\n const vnode = createVNode(rootComponent, rootProps);\r\n // store app context on the root VNode.\r\n // this will be set on the root instance on initial mount.\r\n vnode.appContext = context;\r\n // HMR root reload\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n context.reload = () => {\r\n render(cloneVNode(vnode), rootContainer, isSVG);\r\n };\r\n }\r\n if (isHydrate && hydrate) {\r\n hydrate(vnode, rootContainer);\r\n }\r\n else {\r\n render(vnode, rootContainer, isSVG);\r\n }\r\n isMounted = true;\r\n app._container = rootContainer;\r\n rootContainer.__vue_app__ = app;\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n app._instance = vnode.component;\r\n devtoolsInitApp(app, version);\r\n }\r\n return vnode.component.proxy;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`App has already been mounted.\\n` +\r\n `If you want to remount the same app, move your app creation logic ` +\r\n `into a factory function and create fresh app instances for each ` +\r\n `mount - e.g. \\`const createMyApp = () => createApp(App)\\``);\r\n }\r\n },\r\n unmount() {\r\n if (isMounted) {\r\n render(null, app._container);\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n app._instance = null;\r\n devtoolsUnmountApp(app);\r\n }\r\n delete app._container.__vue_app__;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Cannot unmount an app that is not mounted.`);\r\n }\r\n },\r\n provide(key, value) {\r\n if ((process.env.NODE_ENV !== 'production') && key in context.provides) {\r\n warn(`App already provides property with key \"${String(key)}\". ` +\r\n `It will be overwritten with the new value.`);\r\n }\r\n // TypeScript doesn't allow symbols as index type\r\n // https://github.com/Microsoft/TypeScript/issues/24587\r\n context.provides[key] = value;\r\n return app;\r\n }\r\n });\r\n return app;\r\n };\r\n}\n\nlet hasMismatch = false;\r\nconst isSVGContainer = (container) => /svg/.test(container.namespaceURI) && container.tagName !== 'foreignObject';\r\nconst isComment = (node) => node.nodeType === 8 /* COMMENT */;\r\n// Note: hydration is DOM-specific\r\n// But we have to place it in core due to tight coupling with core - splitting\r\n// it out creates a ton of unnecessary complexity.\r\n// Hydration also depends on some renderer internal logic which needs to be\r\n// passed in via arguments.\r\nfunction createHydrationFunctions(rendererInternals) {\r\n const { mt: mountComponent, p: patch, o: { patchProp, nextSibling, parentNode, remove, insert, createComment } } = rendererInternals;\r\n const hydrate = (vnode, container) => {\r\n if ((process.env.NODE_ENV !== 'production') && !container.hasChildNodes()) {\r\n warn(`Attempting to hydrate existing markup but container is empty. ` +\r\n `Performing full mount instead.`);\r\n patch(null, vnode, container);\r\n return;\r\n }\r\n hasMismatch = false;\r\n hydrateNode(container.firstChild, vnode, null, null, null);\r\n flushPostFlushCbs();\r\n if (hasMismatch && !false) {\r\n // this error should show up in production\r\n console.error(`Hydration completed but contains mismatches.`);\r\n }\r\n };\r\n const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => {\r\n const isFragmentStart = isComment(node) && node.data === '[';\r\n const onMismatch = () => handleMismatch(node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragmentStart);\r\n const { type, ref, shapeFlag } = vnode;\r\n const domType = node.nodeType;\r\n vnode.el = node;\r\n let nextNode = null;\r\n switch (type) {\r\n case Text:\r\n if (domType !== 3 /* TEXT */) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n if (node.data !== vnode.children) {\r\n hasMismatch = true;\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(`Hydration text mismatch:` +\r\n `\\n- Client: ${JSON.stringify(node.data)}` +\r\n `\\n- Server: ${JSON.stringify(vnode.children)}`);\r\n node.data = vnode.children;\r\n }\r\n nextNode = nextSibling(node);\r\n }\r\n break;\r\n case Comment$1:\r\n if (domType !== 8 /* COMMENT */ || isFragmentStart) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n nextNode = nextSibling(node);\r\n }\r\n break;\r\n case Static:\r\n if (domType !== 1 /* ELEMENT */) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n // determine anchor, adopt content\r\n nextNode = node;\r\n // if the static vnode has its content stripped during build,\r\n // adopt it from the server-rendered HTML.\r\n const needToAdoptContent = !vnode.children.length;\r\n for (let i = 0; i < vnode.staticCount; i++) {\r\n if (needToAdoptContent)\r\n vnode.children += nextNode.outerHTML;\r\n if (i === vnode.staticCount - 1) {\r\n vnode.anchor = nextNode;\r\n }\r\n nextNode = nextSibling(nextNode);\r\n }\r\n return nextNode;\r\n }\r\n break;\r\n case Fragment:\r\n if (!isFragmentStart) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n nextNode = hydrateFragment(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);\r\n }\r\n break;\r\n default:\r\n if (shapeFlag & 1 /* ELEMENT */) {\r\n if (domType !== 1 /* ELEMENT */ ||\r\n vnode.type.toLowerCase() !==\r\n node.tagName.toLowerCase()) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n nextNode = hydrateElement(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);\r\n }\r\n }\r\n else if (shapeFlag & 6 /* COMPONENT */) {\r\n // when setting up the render effect, if the initial vnode already\r\n // has .el set, the component will perform hydration instead of mount\r\n // on its sub-tree.\r\n vnode.slotScopeIds = slotScopeIds;\r\n const container = parentNode(node);\r\n mountComponent(vnode, container, null, parentComponent, parentSuspense, isSVGContainer(container), optimized);\r\n // component may be async, so in the case of fragments we cannot rely\r\n // on component's rendered output to determine the end of the fragment\r\n // instead, we do a lookahead to find the end anchor node.\r\n nextNode = isFragmentStart\r\n ? locateClosingAsyncAnchor(node)\r\n : nextSibling(node);\r\n // #3787\r\n // if component is async, it may get moved / unmounted before its\r\n // inner component is loaded, so we need to give it a placeholder\r\n // vnode that matches its adopted DOM.\r\n if (isAsyncWrapper(vnode)) {\r\n let subTree;\r\n if (isFragmentStart) {\r\n subTree = createVNode(Fragment);\r\n subTree.anchor = nextNode\r\n ? nextNode.previousSibling\r\n : container.lastChild;\r\n }\r\n else {\r\n subTree =\r\n node.nodeType === 3 ? createTextVNode('') : createVNode('div');\r\n }\r\n subTree.el = node;\r\n vnode.component.subTree = subTree;\r\n }\r\n }\r\n else if (shapeFlag & 64 /* TELEPORT */) {\r\n if (domType !== 8 /* COMMENT */) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, rendererInternals, hydrateChildren);\r\n }\r\n }\r\n else if (shapeFlag & 128 /* SUSPENSE */) {\r\n nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, isSVGContainer(parentNode(node)), slotScopeIds, optimized, rendererInternals, hydrateNode);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Invalid HostVNode type:', type, `(${typeof type})`);\r\n }\r\n }\r\n if (ref != null) {\r\n setRef(ref, null, parentSuspense, vnode);\r\n }\r\n return nextNode;\r\n };\r\n const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\r\n optimized = optimized || !!vnode.dynamicChildren;\r\n const { props, patchFlag, shapeFlag, dirs } = vnode;\r\n // skip props & children if this is hoisted static nodes\r\n if (patchFlag !== -1 /* HOISTED */) {\r\n if (dirs) {\r\n invokeDirectiveHook(vnode, null, parentComponent, 'created');\r\n }\r\n // props\r\n if (props) {\r\n if (!optimized ||\r\n (patchFlag & 16 /* FULL_PROPS */ ||\r\n patchFlag & 32 /* HYDRATE_EVENTS */)) {\r\n for (const key in props) {\r\n if (!isReservedProp(key) && isOn(key)) {\r\n patchProp(el, key, null, props[key]);\r\n }\r\n }\r\n }\r\n else if (props.onClick) {\r\n // Fast path for click listeners (which is most often) to avoid\r\n // iterating through props.\r\n patchProp(el, 'onClick', null, props.onClick);\r\n }\r\n }\r\n // vnode / directive hooks\r\n let vnodeHooks;\r\n if ((vnodeHooks = props && props.onVnodeBeforeMount)) {\r\n invokeVNodeHook(vnodeHooks, parentComponent, vnode);\r\n }\r\n if (dirs) {\r\n invokeDirectiveHook(vnode, null, parentComponent, 'beforeMount');\r\n }\r\n if ((vnodeHooks = props && props.onVnodeMounted) || dirs) {\r\n queueEffectWithSuspense(() => {\r\n vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode);\r\n dirs && invokeDirectiveHook(vnode, null, parentComponent, 'mounted');\r\n }, parentSuspense);\r\n }\r\n // children\r\n if (shapeFlag & 16 /* ARRAY_CHILDREN */ &&\r\n // skip if element has innerHTML / textContent\r\n !(props && (props.innerHTML || props.textContent))) {\r\n let next = hydrateChildren(el.firstChild, vnode, el, parentComponent, parentSuspense, slotScopeIds, optimized);\r\n let hasWarned = false;\r\n while (next) {\r\n hasMismatch = true;\r\n if ((process.env.NODE_ENV !== 'production') && !hasWarned) {\r\n warn(`Hydration children mismatch in <${vnode.type}>: ` +\r\n `server rendered element contains more child nodes than client vdom.`);\r\n hasWarned = true;\r\n }\r\n // The SSRed DOM contains more nodes than it should. Remove them.\r\n const cur = next;\r\n next = next.nextSibling;\r\n remove(cur);\r\n }\r\n }\r\n else if (shapeFlag & 8 /* TEXT_CHILDREN */) {\r\n if (el.textContent !== vnode.children) {\r\n hasMismatch = true;\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(`Hydration text content mismatch in <${vnode.type}>:\\n` +\r\n `- Client: ${el.textContent}\\n` +\r\n `- Server: ${vnode.children}`);\r\n el.textContent = vnode.children;\r\n }\r\n }\r\n }\r\n return el.nextSibling;\r\n };\r\n const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, slotScopeIds, optimized) => {\r\n optimized = optimized || !!parentVNode.dynamicChildren;\r\n const children = parentVNode.children;\r\n const l = children.length;\r\n let hasWarned = false;\r\n for (let i = 0; i < l; i++) {\r\n const vnode = optimized\r\n ? children[i]\r\n : (children[i] = normalizeVNode(children[i]));\r\n if (node) {\r\n node = hydrateNode(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);\r\n }\r\n else if (vnode.type === Text && !vnode.children) {\r\n continue;\r\n }\r\n else {\r\n hasMismatch = true;\r\n if ((process.env.NODE_ENV !== 'production') && !hasWarned) {\r\n warn(`Hydration children mismatch in <${container.tagName.toLowerCase()}>: ` +\r\n `server rendered element contains fewer child nodes than client vdom.`);\r\n hasWarned = true;\r\n }\r\n // the SSRed DOM didn't contain enough nodes. Mount the missing ones.\r\n patch(null, vnode, container, null, parentComponent, parentSuspense, isSVGContainer(container), slotScopeIds);\r\n }\r\n }\r\n return node;\r\n };\r\n const hydrateFragment = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\r\n const { slotScopeIds: fragmentSlotScopeIds } = vnode;\r\n if (fragmentSlotScopeIds) {\r\n slotScopeIds = slotScopeIds\r\n ? slotScopeIds.concat(fragmentSlotScopeIds)\r\n : fragmentSlotScopeIds;\r\n }\r\n const container = parentNode(node);\r\n const next = hydrateChildren(nextSibling(node), vnode, container, parentComponent, parentSuspense, slotScopeIds, optimized);\r\n if (next && isComment(next) && next.data === ']') {\r\n return nextSibling((vnode.anchor = next));\r\n }\r\n else {\r\n // fragment didn't hydrate successfully, since we didn't get a end anchor\r\n // back. This should have led to node/children mismatch warnings.\r\n hasMismatch = true;\r\n // since the anchor is missing, we need to create one and insert it\r\n insert((vnode.anchor = createComment(`]`)), container, next);\r\n return next;\r\n }\r\n };\r\n const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {\r\n hasMismatch = true;\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(`Hydration node mismatch:\\n- Client vnode:`, vnode.type, `\\n- Server rendered DOM:`, node, node.nodeType === 3 /* TEXT */\r\n ? `(text)`\r\n : isComment(node) && node.data === '['\r\n ? `(start of fragment)`\r\n : ``);\r\n vnode.el = null;\r\n if (isFragment) {\r\n // remove excessive fragment nodes\r\n const end = locateClosingAsyncAnchor(node);\r\n while (true) {\r\n const next = nextSibling(node);\r\n if (next && next !== end) {\r\n remove(next);\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n }\r\n const next = nextSibling(node);\r\n const container = parentNode(node);\r\n remove(node);\r\n patch(null, vnode, container, next, parentComponent, parentSuspense, isSVGContainer(container), slotScopeIds);\r\n return next;\r\n };\r\n const locateClosingAsyncAnchor = (node) => {\r\n let match = 0;\r\n while (node) {\r\n node = nextSibling(node);\r\n if (node && isComment(node)) {\r\n if (node.data === '[')\r\n match++;\r\n if (node.data === ']') {\r\n if (match === 0) {\r\n return nextSibling(node);\r\n }\r\n else {\r\n match--;\r\n }\r\n }\r\n }\r\n }\r\n return node;\r\n };\r\n return [hydrate, hydrateNode];\r\n}\n\nlet supported;\r\nlet perf;\r\nfunction startMeasure(instance, type) {\r\n if (instance.appContext.config.performance && isSupported()) {\r\n perf.mark(`vue-${type}-${instance.uid}`);\r\n }\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsPerfStart(instance, type, supported ? perf.now() : Date.now());\r\n }\r\n}\r\nfunction endMeasure(instance, type) {\r\n if (instance.appContext.config.performance && isSupported()) {\r\n const startTag = `vue-${type}-${instance.uid}`;\r\n const endTag = startTag + `:end`;\r\n perf.mark(endTag);\r\n perf.measure(`<${formatComponentName(instance, instance.type)}> ${type}`, startTag, endTag);\r\n perf.clearMarks(startTag);\r\n perf.clearMarks(endTag);\r\n }\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsPerfEnd(instance, type, supported ? perf.now() : Date.now());\r\n }\r\n}\r\nfunction isSupported() {\r\n if (supported !== undefined) {\r\n return supported;\r\n }\r\n /* eslint-disable no-restricted-globals */\r\n if (typeof window !== 'undefined' && window.performance) {\r\n supported = true;\r\n perf = window.performance;\r\n }\r\n else {\r\n supported = false;\r\n }\r\n /* eslint-enable no-restricted-globals */\r\n return supported;\r\n}\n\n/**\r\n * This is only called in esm-bundler builds.\r\n * It is called when a renderer is created, in `baseCreateRenderer` so that\r\n * importing runtime-core is side-effects free.\r\n *\r\n * istanbul-ignore-next\r\n */\r\nfunction initFeatureFlags() {\r\n let needWarn = false;\r\n if (typeof __VUE_OPTIONS_API__ !== 'boolean') {\r\n needWarn = true;\r\n getGlobalThis().__VUE_OPTIONS_API__ = true;\r\n }\r\n if (typeof __VUE_PROD_DEVTOOLS__ !== 'boolean') {\r\n needWarn = true;\r\n getGlobalThis().__VUE_PROD_DEVTOOLS__ = false;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && needWarn) {\r\n console.warn(`You are running the esm-bundler build of Vue. It is recommended to ` +\r\n `configure your bundler to explicitly replace feature flag globals ` +\r\n `with boolean literals to get proper tree-shaking in the final bundle. ` +\r\n `See http://link.vuejs.org/feature-flags for more details.`);\r\n }\r\n}\n\nconst prodEffectOptions = {\r\n scheduler: queueJob,\r\n // #1801, #2043 component render effects should allow recursive updates\r\n allowRecurse: true\r\n};\r\nfunction createDevEffectOptions(instance) {\r\n return {\r\n scheduler: queueJob,\r\n allowRecurse: true,\r\n onTrack: instance.rtc ? e => invokeArrayFns(instance.rtc, e) : void 0,\r\n onTrigger: instance.rtg ? e => invokeArrayFns(instance.rtg, e) : void 0\r\n };\r\n}\r\nconst queuePostRenderEffect = queueEffectWithSuspense\r\n ;\r\nconst setRef = (rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) => {\r\n if (isArray(rawRef)) {\r\n rawRef.forEach((r, i) => setRef(r, oldRawRef && (isArray(oldRawRef) ? oldRawRef[i] : oldRawRef), parentSuspense, vnode, isUnmount));\r\n return;\r\n }\r\n if (isAsyncWrapper(vnode) && !isUnmount) {\r\n // when mounting async components, nothing needs to be done,\r\n // because the template ref is forwarded to inner component\r\n return;\r\n }\r\n const refValue = vnode.shapeFlag & 4 /* STATEFUL_COMPONENT */\r\n ? vnode.component.exposed || vnode.component.proxy\r\n : vnode.el;\r\n const value = isUnmount ? null : refValue;\r\n const { i: owner, r: ref } = rawRef;\r\n if ((process.env.NODE_ENV !== 'production') && !owner) {\r\n warn(`Missing ref owner context. ref cannot be used on hoisted vnodes. ` +\r\n `A vnode with ref must be created inside the render function.`);\r\n return;\r\n }\r\n const oldRef = oldRawRef && oldRawRef.r;\r\n const refs = owner.refs === EMPTY_OBJ ? (owner.refs = {}) : owner.refs;\r\n const setupState = owner.setupState;\r\n // dynamic ref changed. unset old ref\r\n if (oldRef != null && oldRef !== ref) {\r\n if (isString(oldRef)) {\r\n refs[oldRef] = null;\r\n if (hasOwn(setupState, oldRef)) {\r\n setupState[oldRef] = null;\r\n }\r\n }\r\n else if (isRef(oldRef)) {\r\n oldRef.value = null;\r\n }\r\n }\r\n if (isString(ref)) {\r\n const doSet = () => {\r\n {\r\n refs[ref] = value;\r\n }\r\n if (hasOwn(setupState, ref)) {\r\n setupState[ref] = value;\r\n }\r\n };\r\n // #1789: for non-null values, set them after render\r\n // null values means this is unmount and it should not overwrite another\r\n // ref with the same key\r\n if (value) {\r\n doSet.id = -1;\r\n queuePostRenderEffect(doSet, parentSuspense);\r\n }\r\n else {\r\n doSet();\r\n }\r\n }\r\n else if (isRef(ref)) {\r\n const doSet = () => {\r\n ref.value = value;\r\n };\r\n if (value) {\r\n doSet.id = -1;\r\n queuePostRenderEffect(doSet, parentSuspense);\r\n }\r\n else {\r\n doSet();\r\n }\r\n }\r\n else if (isFunction(ref)) {\r\n callWithErrorHandling(ref, owner, 12 /* FUNCTION_REF */, [value, refs]);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Invalid template ref type:', value, `(${typeof value})`);\r\n }\r\n};\r\n/**\r\n * The createRenderer function accepts two generic arguments:\r\n * HostNode and HostElement, corresponding to Node and Element types in the\r\n * host environment. For example, for runtime-dom, HostNode would be the DOM\r\n * `Node` interface and HostElement would be the DOM `Element` interface.\r\n *\r\n * Custom renderers can pass in the platform specific types like this:\r\n *\r\n * ``` js\r\n * const { render, createApp } = createRenderer({\r\n * patchProp,\r\n * ...nodeOps\r\n * })\r\n * ```\r\n */\r\nfunction createRenderer(options) {\r\n return baseCreateRenderer(options);\r\n}\r\n// Separate API for creating hydration-enabled renderer.\r\n// Hydration logic is only used when calling this function, making it\r\n// tree-shakable.\r\nfunction createHydrationRenderer(options) {\r\n return baseCreateRenderer(options, createHydrationFunctions);\r\n}\r\n// implementation\r\nfunction baseCreateRenderer(options, createHydrationFns) {\r\n // compile-time feature flags check\r\n {\r\n initFeatureFlags();\r\n }\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n const target = getGlobalThis();\r\n target.__VUE__ = true;\r\n setDevtoolsHook(target.__VUE_DEVTOOLS_GLOBAL_HOOK__);\r\n }\r\n const { insert: hostInsert, remove: hostRemove, patchProp: hostPatchProp, forcePatchProp: hostForcePatchProp, createElement: hostCreateElement, createText: hostCreateText, createComment: hostCreateComment, setText: hostSetText, setElementText: hostSetElementText, parentNode: hostParentNode, nextSibling: hostNextSibling, setScopeId: hostSetScopeId = NOOP, cloneNode: hostCloneNode, insertStaticContent: hostInsertStaticContent } = options;\r\n // Note: functions inside this closure should use `const xxx = () => {}`\r\n // style in order to prevent being inlined by minifiers.\r\n const patch = (n1, n2, container, anchor = null, parentComponent = null, parentSuspense = null, isSVG = false, slotScopeIds = null, optimized = false) => {\r\n // patching & not same type, unmount old tree\r\n if (n1 && !isSameVNodeType(n1, n2)) {\r\n anchor = getNextHostNode(n1);\r\n unmount(n1, parentComponent, parentSuspense, true);\r\n n1 = null;\r\n }\r\n if (n2.patchFlag === -2 /* BAIL */) {\r\n optimized = false;\r\n n2.dynamicChildren = null;\r\n }\r\n const { type, ref, shapeFlag } = n2;\r\n switch (type) {\r\n case Text:\r\n processText(n1, n2, container, anchor);\r\n break;\r\n case Comment$1:\r\n processCommentNode(n1, n2, container, anchor);\r\n break;\r\n case Static:\r\n if (n1 == null) {\r\n mountStaticNode(n2, container, anchor, isSVG);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n patchStaticNode(n1, n2, container, isSVG);\r\n }\r\n break;\r\n case Fragment:\r\n processFragment(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);\r\n break;\r\n default:\r\n if (shapeFlag & 1 /* ELEMENT */) {\r\n processElement(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);\r\n }\r\n else if (shapeFlag & 6 /* COMPONENT */) {\r\n processComponent(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);\r\n }\r\n else if (shapeFlag & 64 /* TELEPORT */) {\r\n type.process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, internals);\r\n }\r\n else if (shapeFlag & 128 /* SUSPENSE */) {\r\n type.process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, internals);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Invalid VNode type:', type, `(${typeof type})`);\r\n }\r\n }\r\n // set ref\r\n if (ref != null && parentComponent) {\r\n setRef(ref, n1 && n1.ref, parentSuspense, n2 || n1, !n2);\r\n }\r\n };\r\n const processText = (n1, n2, container, anchor) => {\r\n if (n1 == null) {\r\n hostInsert((n2.el = hostCreateText(n2.children)), container, anchor);\r\n }\r\n else {\r\n const el = (n2.el = n1.el);\r\n if (n2.children !== n1.children) {\r\n hostSetText(el, n2.children);\r\n }\r\n }\r\n };\r\n const processCommentNode = (n1, n2, container, anchor) => {\r\n if (n1 == null) {\r\n hostInsert((n2.el = hostCreateComment(n2.children || '')), container, anchor);\r\n }\r\n else {\r\n // there's no support for dynamic comments\r\n n2.el = n1.el;\r\n }\r\n };\r\n const mountStaticNode = (n2, container, anchor, isSVG) => {\r\n [n2.el, n2.anchor] = hostInsertStaticContent(n2.children, container, anchor, isSVG, \r\n // pass cached nodes if the static node is being mounted multiple times\r\n // so that runtime-dom can simply cloneNode() instead of inserting new\r\n // HTML\r\n n2.el && [n2.el, n2.anchor]);\r\n };\r\n /**\r\n * Dev / HMR only\r\n */\r\n const patchStaticNode = (n1, n2, container, isSVG) => {\r\n // static nodes are only patched during dev for HMR\r\n if (n2.children !== n1.children) {\r\n const anchor = hostNextSibling(n1.anchor);\r\n // remove existing\r\n removeStaticNode(n1);\r\n [n2.el, n2.anchor] = hostInsertStaticContent(n2.children, container, anchor, isSVG);\r\n }\r\n else {\r\n n2.el = n1.el;\r\n n2.anchor = n1.anchor;\r\n }\r\n };\r\n const moveStaticNode = ({ el, anchor }, container, nextSibling) => {\r\n let next;\r\n while (el && el !== anchor) {\r\n next = hostNextSibling(el);\r\n hostInsert(el, container, nextSibling);\r\n el = next;\r\n }\r\n hostInsert(anchor, container, nextSibling);\r\n };\r\n const removeStaticNode = ({ el, anchor }) => {\r\n let next;\r\n while (el && el !== anchor) {\r\n next = hostNextSibling(el);\r\n hostRemove(el);\r\n el = next;\r\n }\r\n hostRemove(anchor);\r\n };\r\n const processElement = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {\r\n isSVG = isSVG || n2.type === 'svg';\r\n if (n1 == null) {\r\n mountElement(n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);\r\n }\r\n else {\r\n patchElement(n1, n2, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);\r\n }\r\n };\r\n const mountElement = (vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {\r\n let el;\r\n let vnodeHook;\r\n const { type, props, shapeFlag, transition, patchFlag, dirs } = vnode;\r\n if (!(process.env.NODE_ENV !== 'production') &&\r\n vnode.el &&\r\n hostCloneNode !== undefined &&\r\n patchFlag === -1 /* HOISTED */) {\r\n // If a vnode has non-null el, it means it's being reused.\r\n // Only static vnodes can be reused, so its mounted DOM nodes should be\r\n // exactly the same, and we can simply do a clone here.\r\n // only do this in production since cloned trees cannot be HMR updated.\r\n el = vnode.el = hostCloneNode(vnode.el);\r\n }\r\n else {\r\n el = vnode.el = hostCreateElement(vnode.type, isSVG, props && props.is, props);\r\n // mount children first, since some props may rely on child content\r\n // being already rendered, e.g. `