diff --git a/js/Activity-CMUHXdF1.chunk.mjs b/js/Activity-D9_OQEhb.chunk.mjs similarity index 60% rename from js/Activity-CMUHXdF1.chunk.mjs rename to js/Activity-D9_OQEhb.chunk.mjs index 50222838f..302f30dbb 100644 --- a/js/Activity-CMUHXdF1.chunk.mjs +++ b/js/Activity-D9_OQEhb.chunk.mjs @@ -1,10 +1,10 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[OC.filePath('activity', '', 'js/index-TN0j_P7L.chunk.mjs'),OC.filePath('activity', '', 'js/_commonjsHelpers-BdswosdL.chunk.mjs'),OC.filePath('activity', '', 'js/NcCheckboxRadioSwitch-Di9rSADK-CehrbmLY.chunk.mjs'),OC.filePath('activity', '', 'js/translation-CD_FiYBO-Bp9rUH-Z.chunk.mjs'),OC.filePath('activity', '', 'js/logger-BtUR_6uh.chunk.mjs'),OC.filePath('activity', '', 'js/preload-helper-CfzTJz-5.chunk.mjs')])))=>i.map(i=>d[i]); -(function(){"use strict";try{if(typeof document<"u"){var a=document.createElement("style");a.appendChild(document.createTextNode('@charset "UTF-8";.material-design-icon[data-v-12126d08]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.empty-content[data-v-12126d08]{display:flex;align-items:center;flex-direction:column;justify-content:center;flex-grow:1}.modal-wrapper .empty-content[data-v-12126d08]{margin-top:5vh;margin-bottom:5vh}.empty-content__icon[data-v-12126d08]{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto 15px;opacity:.4;background-repeat:no-repeat;background-position:center;background-size:64px}.empty-content__icon[data-v-12126d08] svg{width:64px!important;height:64px!important;max-width:64px!important;max-height:64px!important}.empty-content__name[data-v-12126d08]{margin-bottom:10px;text-align:center;font-weight:700;font-size:20px;line-height:30px}.empty-content__description[data-v-12126d08]{color:var(--color-text-maxcontrast)}.empty-content__action[data-v-12126d08]{margin-top:8px}.modal-wrapper .empty-content__action[data-v-12126d08]{margin-top:20px;display:flex}.material-design-icon[data-v-5b8f093f]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.mention-bubble--primary .mention-bubble__content[data-v-5b8f093f]{color:var(--color-primary-element-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-5b8f093f]{position:relative;max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-5b8f093f]{display:inline-flex;overflow:hidden;align-items:center;max-width:100%;height:20px;-webkit-user-select:none;user-select:none;padding-inline:2px 6px;border-radius:10px;background-color:var(--color-background-dark)}.mention-bubble__icon[data-v-5b8f093f]{position:relative;width:16px;height:16px;border-radius:8px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:12px}.mention-bubble__icon--with-avatar[data-v-5b8f093f]{color:inherit;background-size:cover}.mention-bubble__title[data-v-5b8f093f]{overflow:hidden;margin-inline-start:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-5b8f093f]:before{content:attr(title)}.mention-bubble__select[data-v-5b8f093f]{position:absolute;z-index:-1;inset-inline-start:-100vw;width:1px;height:1px;overflow:hidden}.material-design-icon[data-v-f132fa9c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.avatardiv[data-v-f132fa9c]{position:relative;display:inline-block;width:var(--size);height:var(--size)}.avatardiv--unknown[data-v-f132fa9c]{position:relative;background-color:var(--color-main-background);white-space:normal}.avatardiv[data-v-f132fa9c]:not(.avatardiv--unknown){background-color:var(--color-main-background)!important;box-shadow:0 0 5px #0000000d inset}.avatardiv--with-menu[data-v-f132fa9c]{cursor:pointer}.avatardiv--with-menu .action-item[data-v-f132fa9c]{position:absolute;top:0;left:0}.avatardiv--with-menu[data-v-f132fa9c] .action-item__menutoggle{cursor:pointer;opacity:0}.avatardiv--with-menu[data-v-f132fa9c]:focus-within .action-item__menutoggle,.avatardiv--with-menu[data-v-f132fa9c]:hover .action-item__menutoggle,.avatardiv--with-menu.avatardiv--with-menu-loading[data-v-f132fa9c] .action-item__menutoggle{opacity:1}.avatardiv--with-menu:focus-within img[data-v-f132fa9c],.avatardiv--with-menu:hover img[data-v-f132fa9c],.avatardiv--with-menu.avatardiv--with-menu-loading img[data-v-f132fa9c]{opacity:.3}.avatardiv--with-menu[data-v-f132fa9c] .action-item__menutoggle,.avatardiv--with-menu img[data-v-f132fa9c]{transition:opacity var(--animation-quick)}.avatardiv--with-menu[data-v-f132fa9c] .button-vue,.avatardiv--with-menu[data-v-f132fa9c] .button-vue__icon{height:var(--size);min-height:var(--size);width:var(--size)!important;min-width:var(--size)}.avatardiv--with-menu[data-v-f132fa9c]>.button-vue,.avatardiv--with-menu[data-v-f132fa9c]>.action-item .button-vue{--button-radius: calc(var(--size) / 2)}.avatardiv .avatardiv__initials-wrapper[data-v-f132fa9c]{display:block;height:var(--size);width:var(--size);background-color:var(--color-main-background);border-radius:calc(var(--size) / 2)}.avatardiv .avatardiv__initials-wrapper .avatardiv__initials[data-v-f132fa9c]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:400}.avatardiv img[data-v-f132fa9c]{width:100%;height:100%;object-fit:cover}.avatardiv .material-design-icon[data-v-f132fa9c]{width:var(--size);height:var(--size)}.avatardiv .avatardiv__user-status[data-v-f132fa9c]{box-sizing:border-box;position:absolute;inset-inline-end:-4px;bottom:-4px;min-height:14px;min-width:14px;max-height:18px;max-width:18px;height:40%;width:40%;line-height:1;font-size:clamp(var(--font-size-small, 13px),85%,var(--default-font-size));border:2px solid var(--color-main-background);background-color:var(--color-main-background);background-repeat:no-repeat;background-size:16px;background-position:center;border-radius:50%}.acli:hover .avatardiv .avatardiv__user-status[data-v-f132fa9c]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-f132fa9c]{border-color:var(--color-primary-element-light);background-color:var(--color-primary-element-light)}.avatardiv .avatardiv__user-status--icon[data-v-f132fa9c]{border:none;background-color:transparent}.avatardiv .popovermenu-wrapper[data-v-f132fa9c]{position:relative;display:inline-block}.avatar-class-icon[data-v-f132fa9c]{display:block;border-radius:calc(var(--size) / 2);background-color:var(--color-background-darker);height:100%}.material-design-icon[data-v-30c015f0]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.action[data-v-30c015f0]:hover,li.action.active[data-v-30c015f0]{border-radius:6px;padding:0}li.action[data-v-30c015f0]:hover{background-color:var(--color-background-hover)}.action-link[data-v-30c015f0]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-inline-end:calc((var(--default-clickable-area) - 16px) / 2);box-sizing:border-box;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:400;font-size:var(--default-font-size);line-height:var(--default-clickable-area)}.action-link>span[data-v-30c015f0]{cursor:pointer;white-space:nowrap}.action-link__icon[data-v-30c015f0]{width:var(--default-clickable-area);height:var(--default-clickable-area);opacity:1;background-position:calc((var(--default-clickable-area) - 16px) / 2) center;background-size:16px;background-repeat:no-repeat}.action-link[data-v-30c015f0] .material-design-icon{width:var(--default-clickable-area);height:var(--default-clickable-area);opacity:1}.action-link[data-v-30c015f0] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-link__longtext-wrapper[data-v-30c015f0],.action-link__longtext[data-v-30c015f0]{max-width:220px;line-height:1.6em;padding:calc((var(--default-clickable-area) - 1.6em) / 2) 0;cursor:pointer;text-align:start;overflow:hidden;text-overflow:ellipsis}.action-link__longtext[data-v-30c015f0]{cursor:pointer;white-space:pre-wrap!important}.action-link__name[data-v-30c015f0]{font-weight:700;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}.action-link__menu-icon[data-v-30c015f0]{margin-inline:auto calc((var(--default-clickable-area) - 16px) / 2 * -1)}.material-design-icon[data-v-579c6b4d]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.action[data-v-579c6b4d]:hover,li.action.active[data-v-579c6b4d]{border-radius:6px;padding:0}li.action[data-v-579c6b4d]:hover{background-color:var(--color-background-hover)}.action-router[data-v-579c6b4d]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-inline-end:calc((var(--default-clickable-area) - 16px) / 2);box-sizing:border-box;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:400;font-size:var(--default-font-size);line-height:var(--default-clickable-area)}.action-router>span[data-v-579c6b4d]{cursor:pointer;white-space:nowrap}.action-router__icon[data-v-579c6b4d]{width:var(--default-clickable-area);height:var(--default-clickable-area);opacity:1;background-position:calc((var(--default-clickable-area) - 16px) / 2) center;background-size:16px;background-repeat:no-repeat}.action-router[data-v-579c6b4d] .material-design-icon{width:var(--default-clickable-area);height:var(--default-clickable-area);opacity:1}.action-router[data-v-579c6b4d] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-router__longtext-wrapper[data-v-579c6b4d],.action-router__longtext[data-v-579c6b4d]{max-width:220px;line-height:1.6em;padding:calc((var(--default-clickable-area) - 1.6em) / 2) 0;cursor:pointer;text-align:start;overflow:hidden;text-overflow:ellipsis}.action-router__longtext[data-v-579c6b4d]{cursor:pointer;white-space:pre-wrap!important}.action-router__name[data-v-579c6b4d]{font-weight:700;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}.action-router__menu-icon[data-v-579c6b4d]{margin-inline:auto calc((var(--default-clickable-area) - 16px) / 2 * -1)}.action--disabled[data-v-579c6b4d]{pointer-events:none;opacity:.5}.action--disabled[data-v-579c6b4d]:hover,.action--disabled[data-v-579c6b4d]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-579c6b4d]{opacity:1!important}.material-design-icon[data-v-824615f4]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.action[data-v-824615f4]:hover,li.action.active[data-v-824615f4]{border-radius:6px;padding:0}li.action[data-v-824615f4]:hover{background-color:var(--color-background-hover)}.action-text[data-v-824615f4]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-inline-end:calc((var(--default-clickable-area) - 16px) / 2);box-sizing:border-box;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:400;font-size:var(--default-font-size);line-height:var(--default-clickable-area)}.action-text>span[data-v-824615f4]{cursor:pointer;white-space:nowrap}.action-text__icon[data-v-824615f4]{width:var(--default-clickable-area);height:var(--default-clickable-area);opacity:1;background-position:calc((var(--default-clickable-area) - 16px) / 2) center;background-size:16px;background-repeat:no-repeat}.action-text[data-v-824615f4] .material-design-icon{width:var(--default-clickable-area);height:var(--default-clickable-area);opacity:1}.action-text[data-v-824615f4] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-text__longtext-wrapper[data-v-824615f4],.action-text__longtext[data-v-824615f4]{max-width:220px;line-height:1.6em;padding:calc((var(--default-clickable-area) - 1.6em) / 2) 0;cursor:pointer;text-align:start;overflow:hidden;text-overflow:ellipsis}.action-text__longtext[data-v-824615f4]{cursor:pointer;white-space:pre-wrap!important}.action-text__name[data-v-824615f4]{font-weight:700;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}.action-text__menu-icon[data-v-824615f4]{margin-inline:auto calc((var(--default-clickable-area) - 16px) / 2 * -1)}.action--disabled[data-v-824615f4]{pointer-events:none;opacity:.5}.action--disabled[data-v-824615f4]:hover,.action--disabled[data-v-824615f4]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-824615f4]{opacity:1!important}.action-text[data-v-824615f4],.action-text span[data-v-824615f4]{cursor:default}.material-design-icon[data-v-92dc5a52]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.action[data-v-92dc5a52]:hover,li.action.active[data-v-92dc5a52]{border-radius:6px;padding:0}li.action[data-v-92dc5a52]:hover{background-color:var(--color-background-hover)}.action--disabled[data-v-92dc5a52]{pointer-events:none;opacity:.5}.action--disabled[data-v-92dc5a52]:hover,.action--disabled[data-v-92dc5a52]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-92dc5a52]{opacity:1!important}.action-button[data-v-92dc5a52]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-inline-end:calc((var(--default-clickable-area) - 16px) / 2);box-sizing:border-box;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:400;font-size:var(--default-font-size);line-height:var(--default-clickable-area)}.action-button>span[data-v-92dc5a52]{cursor:pointer;white-space:nowrap}.action-button__icon[data-v-92dc5a52]{width:var(--default-clickable-area);height:var(--default-clickable-area);opacity:1;background-position:calc((var(--default-clickable-area) - 16px) / 2) center;background-size:16px;background-repeat:no-repeat}.action-button[data-v-92dc5a52] .material-design-icon{width:var(--default-clickable-area);height:var(--default-clickable-area);opacity:1}.action-button[data-v-92dc5a52] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-button__longtext-wrapper[data-v-92dc5a52],.action-button__longtext[data-v-92dc5a52]{max-width:220px;line-height:1.6em;padding:calc((var(--default-clickable-area) - 1.6em) / 2) 0;cursor:pointer;text-align:start;overflow:hidden;text-overflow:ellipsis}.action-button__longtext[data-v-92dc5a52]{cursor:pointer;white-space:pre-wrap!important}.action-button__name[data-v-92dc5a52]{font-weight:700;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}.action-button__menu-icon[data-v-92dc5a52],.action-button__pressed-icon[data-v-92dc5a52]{margin-inline:auto calc((var(--default-clickable-area) - 16px) / 2 * -1)}.material-design-icon[data-v-0555d8d0]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.user-status-icon[data-v-0555d8d0]{display:flex;justify-content:center;align-items:center;min-width:16px;min-height:16px;max-width:20px;max-height:20px}.user-status-icon--invisible[data-v-0555d8d0]{filter:var(--background-invert-if-dark)}.material-design-icon[data-v-ffdba753]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.widgets--list[data-v-ffdba753]{width:100%;min-height:var(--default-clickable-area)}.material-design-icon[data-v-d7087beb]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.rich-text--wrapper[data-v-d7087beb]{word-break:break-word;line-height:1.5}.rich-text--wrapper .rich-text--fallback[data-v-d7087beb],.rich-text--wrapper .rich-text-component[data-v-d7087beb]{display:inline}.rich-text--wrapper .rich-text--external-link[data-v-d7087beb]{text-decoration:underline}.rich-text--wrapper .rich-text--external-link[data-v-d7087beb]:after{content:" ↗"}.rich-text--wrapper-markdown[data-v-d7087beb]{tab-size:4}.rich-text--wrapper-markdown div>*[data-v-d7087beb]:first-child,.rich-text--wrapper-markdown blockquote>*[data-v-d7087beb]:first-child{margin-top:0!important}.rich-text--wrapper-markdown div>*[data-v-d7087beb]:last-child,.rich-text--wrapper-markdown blockquote>*[data-v-d7087beb]:last-child{margin-block-end:0!important}.rich-text--wrapper-markdown blockquote[data-v-d7087beb]{padding-inline-start:13px;border-inline-start:2px solid var(--color-border-dark);color:var(--color-text-lighter)}.rich-text--wrapper-markdown h1[data-v-d7087beb],.rich-text--wrapper-markdown h2[data-v-d7087beb],.rich-text--wrapper-markdown h3[data-v-d7087beb],.rich-text--wrapper-markdown h4[data-v-d7087beb],.rich-text--wrapper-markdown h5[data-v-d7087beb],.rich-text--wrapper-markdown h6[data-v-d7087beb],.rich-text--wrapper-markdown p[data-v-d7087beb],.rich-text--wrapper-markdown ul[data-v-d7087beb],.rich-text--wrapper-markdown ol[data-v-d7087beb],.rich-text--wrapper-markdown blockquote[data-v-d7087beb],.rich-text--wrapper-markdown pre[data-v-d7087beb]{margin-top:0;margin-block-end:1em}.rich-text--wrapper-markdown h1[data-v-d7087beb],.rich-text--wrapper-markdown h2[data-v-d7087beb],.rich-text--wrapper-markdown h3[data-v-d7087beb],.rich-text--wrapper-markdown h4[data-v-d7087beb],.rich-text--wrapper-markdown h5[data-v-d7087beb],.rich-text--wrapper-markdown h6[data-v-d7087beb]{font-weight:700}.rich-text--wrapper-markdown h1[data-v-d7087beb]{font-size:30px}.rich-text--wrapper-markdown ul[data-v-d7087beb],.rich-text--wrapper-markdown ol[data-v-d7087beb]{padding-inline-start:4ch}.rich-text--wrapper-markdown ul[data-v-d7087beb]{list-style-type:disc}.rich-text--wrapper-markdown ul.contains-task-list[data-v-d7087beb]{list-style-type:none;padding:0}.rich-text--wrapper-markdown li.task-list-item>ul[data-v-d7087beb],.rich-text--wrapper-markdown li.task-list-item>ol[data-v-d7087beb],.rich-text--wrapper-markdown li.task-list-item>li[data-v-d7087beb],.rich-text--wrapper-markdown li.task-list-item>blockquote[data-v-d7087beb],.rich-text--wrapper-markdown li.task-list-item>pre[data-v-d7087beb]{margin-inline-start:15px;margin-block-end:0}.rich-text--wrapper-markdown table[data-v-d7087beb]{border-collapse:collapse;border:2px solid var(--color-border-maxcontrast)}.rich-text--wrapper-markdown table th[data-v-d7087beb],.rich-text--wrapper-markdown table td[data-v-d7087beb]{padding:var(--default-grid-baseline);border:1px solid var(--color-border-maxcontrast)}.rich-text--wrapper-markdown table th[data-v-d7087beb]:first-child,.rich-text--wrapper-markdown table td[data-v-d7087beb]:first-child{border-inline-start:0}.rich-text--wrapper-markdown table th[data-v-d7087beb]:last-child,.rich-text--wrapper-markdown table td[data-v-d7087beb]:last-child{border-inline-end:0}.rich-text--wrapper-markdown table tr:first-child th[data-v-d7087beb]{border-top:0}.rich-text--wrapper-markdown table tr:last-child td[data-v-d7087beb]{border-block-end:0}.rich-text--wrapper-markdown pre[data-v-d7087beb]:has(.hljs){color:var(--hljs-color);background:var(--hljs-background-color)}.rich-text--wrapper-markdown .hljs-doctag[data-v-d7087beb],.rich-text--wrapper-markdown .hljs-keyword[data-v-d7087beb],.rich-text--wrapper-markdown .hljs-meta .hljs-keyword[data-v-d7087beb],.rich-text--wrapper-markdown .hljs-template-tag[data-v-d7087beb],.rich-text--wrapper-markdown .hljs-template-variable[data-v-d7087beb],.rich-text--wrapper-markdown .hljs-type[data-v-d7087beb],.rich-text--wrapper-markdown .hljs-variable.language_[data-v-d7087beb]{color:var(--hljs-syntax-keyword-color)}.rich-text--wrapper-markdown .hljs-title[data-v-d7087beb],.rich-text--wrapper-markdown .hljs-title.class_[data-v-d7087beb],.rich-text--wrapper-markdown .hljs-title.class_.inherited__[data-v-d7087beb],.rich-text--wrapper-markdown .hljs-title.function_[data-v-d7087beb]{color:var(--hljs-syntax-entity-color)}.rich-text--wrapper-markdown .hljs-attr[data-v-d7087beb],.rich-text--wrapper-markdown .hljs-attribute[data-v-d7087beb],.rich-text--wrapper-markdown .hljs-literal[data-v-d7087beb],.rich-text--wrapper-markdown .hljs-meta[data-v-d7087beb],.rich-text--wrapper-markdown .hljs-number[data-v-d7087beb],.rich-text--wrapper-markdown .hljs-operator[data-v-d7087beb],.rich-text--wrapper-markdown .hljs-variable[data-v-d7087beb],.rich-text--wrapper-markdown .hljs-selector-attr[data-v-d7087beb],.rich-text--wrapper-markdown .hljs-selector-class[data-v-d7087beb],.rich-text--wrapper-markdown .hljs-selector-id[data-v-d7087beb]{color:var(--hljs-syntax-constant-color)}.rich-text--wrapper-markdown .hljs-regexp[data-v-d7087beb],.rich-text--wrapper-markdown .hljs-string[data-v-d7087beb],.rich-text--wrapper-markdown .hljs-meta .hljs-string[data-v-d7087beb]{color:var(--hljs-syntax-string-color)}.rich-text--wrapper-markdown .hljs-built_in[data-v-d7087beb],.rich-text--wrapper-markdown .hljs-symbol[data-v-d7087beb]{color:var(--hljs-syntax-variable-color)}.rich-text--wrapper-markdown .hljs-comment[data-v-d7087beb],.rich-text--wrapper-markdown .hljs-code[data-v-d7087beb],.rich-text--wrapper-markdown .hljs-formula[data-v-d7087beb]{color:var(--hljs-syntax-comment-color)}.rich-text--wrapper-markdown .hljs-name[data-v-d7087beb],.rich-text--wrapper-markdown .hljs-quote[data-v-d7087beb],.rich-text--wrapper-markdown .hljs-selector-tag[data-v-d7087beb],.rich-text--wrapper-markdown .hljs-selector-pseudo[data-v-d7087beb]{color:var(--hljs-syntax-entity-tag-color)}.rich-text--wrapper-markdown .hljs-subst[data-v-d7087beb]{color:var(--hljs-syntax-storage-modifier-import-color)}.rich-text--wrapper-markdown .hljs-section[data-v-d7087beb]{color:var(--hljs-syntax-markup-heading-color);font-weight:700}.rich-text--wrapper-markdown .hljs-bullet[data-v-d7087beb]{color:var(--hljs-syntax-markup-list-color)}.rich-text--wrapper-markdown .hljs-emphasis[data-v-d7087beb]{color:var(--hljs-syntax-markup-italic-color);font-style:italic}.rich-text--wrapper-markdown .hljs-strong[data-v-d7087beb]{color:var(--hljs-syntax-markup-bold-color);font-weight:700}.rich-text--wrapper-markdown .hljs-addition[data-v-d7087beb]{color:var(--hljs-syntax-markup-inserted-color);background-color:var(--hljs-syntax-markup-inserted-background-color)}.rich-text--wrapper-markdown .hljs-deletion[data-v-d7087beb]{color:var(--hljs-syntax-markup-deleted-color);background-color:var(--hljs-syntax-markup-deleted-background-color)}@media (prefers-color-scheme: light){.rich-text--wrapper-markdown[data-v-d7087beb]{--hljs-color: var(--color-main-text, #24292e);--hljs-background-color: var(--color-background-dark, #ffffff);--hljs-syntax-keyword-color: #d73a49;--hljs-syntax-entity-color: #6f42c1;--hljs-syntax-constant-color: #005cc5;--hljs-syntax-string-color: #032f62;--hljs-syntax-variable-color: #e36209;--hljs-syntax-comment-color: #6a737d;--hljs-syntax-entity-tag-color: #22863a;--hljs-syntax-storage-modifier-import-color: #24292e;--hljs-syntax-markup-heading-color: #005cc5;--hljs-syntax-markup-list-color: #735c0f;--hljs-syntax-markup-italic-color: #24292e;--hljs-syntax-markup-bold-color: #24292e;--hljs-syntax-markup-inserted-color: #22863a;--hljs-syntax-markup-inserted-background-color: #f0fff4;--hljs-syntax-markup-deleted-color: #b31d28;--hljs-syntax-markup-deleted-background-color: #ffeef0}[data-theme-dark] .rich-text--wrapper-markdown[data-v-d7087beb]{--hljs-color: var(--color-main-text, #c9d1d9);--hljs-background-color: var(--color-background-dark, #0d1117);--hljs-syntax-keyword-color: #ff7b72;--hljs-syntax-entity-color: #d2a8ff;--hljs-syntax-constant-color: #79c0ff;--hljs-syntax-string-color: #a5d6ff;--hljs-syntax-variable-color: #ffa657;--hljs-syntax-comment-color: #8b949e;--hljs-syntax-entity-tag-color: #7ee787;--hljs-syntax-storage-modifier-import-color: #c9d1d9;--hljs-syntax-markup-heading-color: #1f6feb;--hljs-syntax-markup-list-color: #f2cc60;--hljs-syntax-markup-italic-color: #c9d1d9;--hljs-syntax-markup-bold-color: #c9d1d9;--hljs-syntax-markup-inserted-color: #aff5b4;--hljs-syntax-markup-inserted-background-color: #033a16;--hljs-syntax-markup-deleted-color: #ffdcd7;--hljs-syntax-markup-deleted-background-color: #67060c}}@media (prefers-color-scheme: dark){.rich-text--wrapper-markdown[data-v-d7087beb]{--hljs-color: var(--color-main-text, #c9d1d9);--hljs-background-color: var(--color-background-dark, #0d1117);--hljs-syntax-keyword-color: #ff7b72;--hljs-syntax-entity-color: #d2a8ff;--hljs-syntax-constant-color: #79c0ff;--hljs-syntax-string-color: #a5d6ff;--hljs-syntax-variable-color: #ffa657;--hljs-syntax-comment-color: #8b949e;--hljs-syntax-entity-tag-color: #7ee787;--hljs-syntax-storage-modifier-import-color: #c9d1d9;--hljs-syntax-markup-heading-color: #1f6feb;--hljs-syntax-markup-list-color: #f2cc60;--hljs-syntax-markup-italic-color: #c9d1d9;--hljs-syntax-markup-bold-color: #c9d1d9;--hljs-syntax-markup-inserted-color: #aff5b4;--hljs-syntax-markup-inserted-background-color: #033a16;--hljs-syntax-markup-deleted-color: #ffdcd7;--hljs-syntax-markup-deleted-background-color: #67060c}[data-theme-light] .rich-text--wrapper-markdown[data-v-d7087beb]{--hljs-color: var(--color-main-text, #24292e);--hljs-background-color: var(--color-background-dark, #ffffff);--hljs-syntax-keyword-color: #d73a49;--hljs-syntax-entity-color: #6f42c1;--hljs-syntax-constant-color: #005cc5;--hljs-syntax-string-color: #032f62;--hljs-syntax-variable-color: #e36209;--hljs-syntax-comment-color: #6a737d;--hljs-syntax-entity-tag-color: #22863a;--hljs-syntax-storage-modifier-import-color: #24292e;--hljs-syntax-markup-heading-color: #005cc5;--hljs-syntax-markup-list-color: #735c0f;--hljs-syntax-markup-italic-color: #24292e;--hljs-syntax-markup-bold-color: #24292e;--hljs-syntax-markup-inserted-color: #22863a;--hljs-syntax-markup-inserted-background-color: #f0fff4;--hljs-syntax-markup-deleted-color: #b31d28;--hljs-syntax-markup-deleted-background-color: #ffeef0}}a[data-v-d7087beb]:not(.rich-text--component){text-decoration:underline}.material-design-icon[data-v-734d6ae9]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.widget-custom[data-v-734d6ae9]{width:100%;margin:auto;margin-bottom:calc(var(--default-grid-baseline, 4px) * 3);margin-top:calc(var(--default-grid-baseline, 4px) * 3);overflow:hidden;border:2px solid var(--color-border);border-radius:var(--border-radius-container);background-color:transparent;display:flex}.widget-custom.full-width[data-v-734d6ae9]{width:var(--widget-full-width, 100%)!important;inset-inline-start:calc((var(--widget-full-width, 100%) - 100%) / 2 * -1);position:relative}.widget-access[data-v-734d6ae9]{width:100%;margin:auto;margin-bottom:calc(var(--default-grid-baseline, 4px) * 3);margin-top:calc(var(--default-grid-baseline, 4px) * 3);overflow:hidden;border:2px solid var(--color-border);border-radius:var(--border-radius-container);background-color:transparent;display:flex;padding:calc(var(--default-grid-baseline, 4px) * 3)}.widget-default[data-v-734d6ae9]{width:100%;margin:auto;margin-bottom:calc(var(--default-grid-baseline, 4px) * 3);margin-top:calc(var(--default-grid-baseline, 4px) * 3);overflow:hidden;border:2px solid var(--color-border);border-radius:var(--border-radius-container);background-color:transparent;display:flex}.widget-default--compact[data-v-734d6ae9]{flex-direction:column}.widget-default--compact .widget-default--image[data-v-734d6ae9]{width:100%;height:150px}.widget-default--compact .widget-default--details[data-v-734d6ae9]{width:100%;padding-top:calc(var(--default-grid-baseline, 4px) * 2);padding-bottom:calc(var(--default-grid-baseline, 4px) * 2)}.widget-default--compact .widget-default--description[data-v-734d6ae9]{display:none}.widget-default--image[data-v-734d6ae9]{width:40%;background-position:center;background-size:cover;background-repeat:no-repeat}.widget-default--name[data-v-734d6ae9]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.widget-default--details[data-v-734d6ae9]{padding:calc(var(--default-grid-baseline, 4px) * 3);width:60%}.widget-default--details p[data-v-734d6ae9]{margin:0;padding:0}.widget-default--description[data-v-734d6ae9]{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical}.widget-default--link[data-v-734d6ae9]{color:var(--color-text-maxcontrast);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toggle-interactive[data-v-734d6ae9]{position:relative}.toggle-interactive .toggle-interactive--button[data-v-734d6ae9]{position:absolute;bottom:var(--default-grid-baseline);inset-inline-end:var(--default-grid-baseline);z-index:10000}.material-design-icon[data-v-de9850e4],.material-design-icon[data-v-f03ee0c9]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.provider-list[data-v-f03ee0c9]{width:100%;min-height:400px;padding:0 16px 16px;display:flex;flex-direction:column}.provider-list--select[data-v-f03ee0c9]{width:100%}.provider-list--select .provider[data-v-f03ee0c9]{display:flex;align-items:center;height:28px;overflow:hidden}.provider-list--select .provider .link-icon[data-v-f03ee0c9]{margin-inline-end:8px}.provider-list--select .provider .provider-icon[data-v-f03ee0c9]{width:20px;height:20px;object-fit:contain;margin-inline-end:8px;filter:var(--background-invert-if-dark)}.provider-list--select .provider .option-text[data-v-f03ee0c9]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-design-icon[data-v-3c1803b5]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.raw-link[data-v-3c1803b5]{width:100%;min-height:350px;display:flex;flex-direction:column;overflow-y:auto;padding:0 16px 16px}.raw-link .input-wrapper[data-v-3c1803b5]{width:100%}.raw-link .reference-widget[data-v-3c1803b5]{display:flex}.raw-link--empty-content .provider-icon[data-v-3c1803b5]{width:150px;height:150px;object-fit:contain;filter:var(--background-invert-if-dark)}.raw-link--input[data-v-3c1803b5]{width:99%}.material-design-icon[data-v-ff4bcbf3]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.result[data-v-ff4bcbf3]{display:flex;align-items:center;height:var(--default-clickable-area);overflow:hidden}.result--icon-class[data-v-ff4bcbf3],.result--image[data-v-ff4bcbf3]{width:40px;min-width:40px;height:40px;object-fit:contain}.result--icon-class.rounded[data-v-ff4bcbf3],.result--image.rounded[data-v-ff4bcbf3]{border-radius:50%}.result--content[data-v-ff4bcbf3]{display:flex;flex-direction:column;padding-inline-start:10px;overflow:hidden}.result--content--name[data-v-ff4bcbf3],.result--content--subline[data-v-ff4bcbf3]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-design-icon[data-v-05fef988]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.smart-picker-search[data-v-05fef988]{width:100%;display:flex;flex-direction:column;padding:0 16px 16px}.smart-picker-search.with-empty-content[data-v-05fef988]{min-height:400px}.smart-picker-search .provider-icon[data-v-05fef988]{width:150px;height:150px;object-fit:contain;filter:var(--background-invert-if-dark)}.smart-picker-search--select[data-v-05fef988],.smart-picker-search--select .search-result[data-v-05fef988]{width:100%}.smart-picker-search--select .group-name-icon[data-v-05fef988],.smart-picker-search--select .option-simple-icon[data-v-05fef988]{width:20px;height:20px;margin:0 20px 0 10px}.smart-picker-search--select .custom-option[data-v-05fef988]{height:var(--default-clickable-area);display:flex;align-items:center;overflow:hidden}.smart-picker-search--select .option-text[data-v-05fef988]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-design-icon[data-v-cd33df8e]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.reference-picker[data-v-cd33df8e],.reference-picker .custom-element-wrapper[data-v-cd33df8e],.reference-picker .custom-element-wrapper .custom-element[data-v-cd33df8e]{display:flex;overflow-y:auto;width:100%}.reference-picker-modal .modal-container{display:flex!important}.material-design-icon[data-v-c66449c1]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.reference-picker-modal--content[data-v-c66449c1]{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow-y:auto}.reference-picker-modal--content .close-button[data-v-c66449c1],.reference-picker-modal--content .back-button[data-v-c66449c1]{position:absolute;top:4px}.reference-picker-modal--content .back-button[data-v-c66449c1]{inset-inline-start:4px}.reference-picker-modal--content .close-button[data-v-c66449c1]{inset-inline-end:4px}.reference-picker-modal--content>h2[data-v-c66449c1]{display:flex;margin:12px 0 20px}.reference-picker-modal--content>h2 .icon[data-v-c66449c1]{margin-inline-end:8px}.material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}body{--vs-search-input-color: var(--color-main-text);--vs-search-input-bg: var(--color-main-background);--vs-search-input-placeholder-color: var(--color-text-maxcontrast);--vs-font-size: var(--default-font-size);--vs-line-height: var(--default-line-height);--vs-state-disabled-bg: var(--color-background-hover);--vs-state-disabled-color: var(--color-text-maxcontrast);--vs-state-disabled-controls-color: var(--color-text-maxcontrast);--vs-state-disabled-cursor: not-allowed;--vs-disabled-bg: var(--color-background-hover);--vs-disabled-color: var(--color-text-maxcontrast);--vs-disabled-cursor: not-allowed;--vs-border-color: var(--color-border-maxcontrast);--vs-border-width: var(--border-width-input, 2px) !important;--vs-border-style: solid;--vs-border-radius: var(--border-radius-large);--vs-controls-color: var(--color-main-text);--vs-selected-bg: var(--color-background-hover);--vs-selected-color: var(--color-main-text);--vs-selected-border-color: var(--vs-border-color);--vs-selected-border-style: var(--vs-border-style);--vs-selected-border-width: var(--vs-border-width);--vs-dropdown-bg: var(--color-main-background);--vs-dropdown-color: var(--color-main-text);--vs-dropdown-z-index: 9999;--vs-dropdown-box-shadow: 0px 2px 2px 0px var(--color-box-shadow);--vs-dropdown-option-padding: 8px 20px;--vs-dropdown-option--active-bg: var(--color-background-hover);--vs-dropdown-option--active-color: var(--color-main-text);--vs-dropdown-option--kb-focus-box-shadow: inset 0px 0px 0px 2px var(--vs-border-color);--vs-dropdown-option--deselect-bg: var(--color-error);--vs-dropdown-option--deselect-color: #fff;--vs-transition-duration: 0ms;--vs-actions-padding: 0 8px 0 4px}.v-select.select{min-height:var(--default-clickable-area);min-width:260px;margin:0 0 var(--default-grid-baseline)}.v-select.select.vs--open{--vs-border-width: var(--border-width-input-focused, 2px)}.v-select.select .select__label{display:block;margin-bottom:2px}.v-select.select .vs__selected{height:calc(var(--default-clickable-area) - 2 * var(--vs-border-width) - var(--default-grid-baseline));margin:calc(var(--default-grid-baseline) / 2);padding-block:0;padding-inline:12px 8px;border-radius:16px!important;background:var(--color-primary-element-light);border:none}.v-select.select.vs--open .vs__selected:first-of-type{margin-inline-start:calc(var(--default-grid-baseline) / 2 - (var(--border-width-input-focused, 2px) - var(--border-width-input, 2px)))!important}.v-select.select .vs__search{text-overflow:ellipsis;color:var(--color-main-text);min-height:unset!important;height:calc(var(--default-clickable-area) - 2 * var(--vs-border-width))!important}.v-select.select .vs__search::placeholder{color:var(--color-text-maxcontrast)}.v-select.select .vs__search,.v-select.select .vs__search:focus{margin:0}.v-select.select .vs__dropdown-toggle{position:relative;max-height:100px;padding:0;overflow-y:auto}.v-select.select .vs__actions{position:sticky;top:0}.v-select.select .vs__clear{margin-right:2px}.v-select.select.vs--open .vs__dropdown-toggle{border-width:var(--border-width-input-focused);outline:2px solid var(--color-main-background);border-color:var(--color-main-text);border-bottom-color:transparent}.v-select.select:not(.vs--disabled,.vs--open) .vs__dropdown-toggle:hover{outline:2px solid var(--color-main-background);border-color:var(--color-main-text)}.v-select.select.vs--disabled .vs__search,.v-select.select.vs--disabled .vs__selected{color:var(--color-text-maxcontrast)}.v-select.select.vs--disabled .vs__clear,.v-select.select.vs--disabled .vs__deselect{display:none}.v-select.select--no-wrap .vs__selected-options{flex-wrap:nowrap;overflow:auto;min-width:unset}.v-select.select--no-wrap .vs__selected-options .vs__selected{min-width:unset}.v-select.select--drop-up.vs--open .vs__dropdown-toggle{border-radius:0 0 var(--vs-border-radius) var(--vs-border-radius);border-top-color:transparent;border-bottom-color:var(--color-main-text)}.v-select.select .vs__selected-options{min-height:calc(var(--default-clickable-area) - 2 * var(--vs-border-width));padding:0 5px}.v-select.select .vs__selected-options .vs__selected~.vs__search[readonly]{position:absolute}.v-select.select.vs--single.vs--loading .vs__selected,.v-select.select.vs--single.vs--open .vs__selected{max-width:100%;opacity:1;color:var(--color-text-maxcontrast)}.v-select.select.vs--single .vs__selected-options{flex-wrap:nowrap}.v-select.select.vs--single .vs__selected{background:unset!important}.vs__dropdown-menu{border-width:var(--border-width-input-focused)!important;border-color:var(--color-main-text)!important;outline:none!important;box-shadow:-2px 0 0 var(--color-main-background),0 2px 0 var(--color-main-background),2px 0 0 var(--color-main-background),!important;padding:4px!important}.vs__dropdown-menu--floating{width:max-content;position:absolute;top:0;left:0}.vs__dropdown-menu--floating-placement-top{border-radius:var(--vs-border-radius) var(--vs-border-radius) 0 0!important;border-top-style:var(--vs-border-style)!important;border-bottom-style:none!important;box-shadow:0 -2px 0 var(--color-main-background),-2px 0 0 var(--color-main-background),2px 0 0 var(--color-main-background),!important}.vs__dropdown-menu .vs__dropdown-option{border-radius:6px!important}.vs__dropdown-menu .vs__no-options{color:var(--color-text-lighter)!important}.user-select .vs__selected{padding-inline:0 5px!important}.material-design-icon[data-v-f6384352]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.name-parts[data-v-f6384352]{display:flex;max-width:100%;cursor:inherit}.name-parts__first[data-v-f6384352]{overflow:hidden;text-overflow:ellipsis}.name-parts__first[data-v-f6384352],.name-parts__last[data-v-f6384352]{white-space:pre;cursor:inherit}.name-parts__first strong[data-v-f6384352],.name-parts__last strong[data-v-f6384352]{font-weight:700}.material-design-icon[data-v-a0f4d73a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.option[data-v-a0f4d73a]{display:flex;align-items:center;width:100%;height:var(--height);cursor:inherit}.option__avatar[data-v-a0f4d73a]{margin-right:var(--margin)}.option__details[data-v-a0f4d73a]{display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:0}.option__lineone[data-v-a0f4d73a]{color:var(--color-main-text)}.option__linetwo[data-v-a0f4d73a]{color:var(--color-text-maxcontrast)}.option__lineone[data-v-a0f4d73a],.option__linetwo[data-v-a0f4d73a]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.2}.option__lineone strong[data-v-a0f4d73a],.option__linetwo strong[data-v-a0f4d73a]{font-weight:700}.option--compact .option__lineone[data-v-a0f4d73a]{font-size:14px}.option--compact .option__linetwo[data-v-a0f4d73a]{font-size:11px;line-height:1.5;margin-top:-4px}.option__icon[data-v-a0f4d73a]{width:var(--default-clickable-area);height:var(--default-clickable-area);color:var(--color-text-maxcontrast)}.option__icon.icon[data-v-a0f4d73a]{flex:0 0 var(--default-clickable-area);opacity:.7;background-position:center;background-size:16px}.option__details[data-v-a0f4d73a],.option__lineone[data-v-a0f4d73a],.option__linetwo[data-v-a0f4d73a],.option__icon[data-v-a0f4d73a]{cursor:inherit}:host,:root{--vs-colors--lightest:rgba(60,60,60,.26);--vs-colors--light:rgba(60,60,60,.5);--vs-colors--dark:#333;--vs-colors--darkest:rgba(0,0,0,.15);--vs-search-input-color:inherit;--vs-search-input-bg:#fff;--vs-search-input-placeholder-color:inherit;--vs-font-size:1rem;--vs-line-height:1.4;--vs-state-disabled-bg:#f8f8f8;--vs-state-disabled-color:var(--vs-colors--light);--vs-state-disabled-controls-color:var(--vs-colors--light);--vs-state-disabled-cursor:not-allowed;--vs-border-color:var(--vs-colors--lightest);--vs-border-width:1px;--vs-border-style:solid;--vs-border-radius:4px;--vs-actions-padding:4px 6px 0 3px;--vs-controls-color:var(--vs-colors--light);--vs-controls-size:1;--vs-controls--deselect-text-shadow:0 1px 0 #fff;--vs-selected-bg:#f0f0f0;--vs-selected-color:var(--vs-colors--dark);--vs-selected-border-color:var(--vs-border-color);--vs-selected-border-style:var(--vs-border-style);--vs-selected-border-width:var(--vs-border-width);--vs-dropdown-bg:#fff;--vs-dropdown-color:inherit;--vs-dropdown-z-index:1000;--vs-dropdown-min-width:160px;--vs-dropdown-max-height:350px;--vs-dropdown-box-shadow:0px 3px 6px 0px var(--vs-colors--darkest);--vs-dropdown-option-bg:#000;--vs-dropdown-option-color:var(--vs-dropdown-color);--vs-dropdown-option-padding:3px 20px;--vs-dropdown-option--active-bg:#136cfb;--vs-dropdown-option--active-color:#fff;--vs-dropdown-option--kb-focus-box-shadow:inset 0px 0px 0px 2px #949494;--vs-dropdown-option--deselect-bg:#fb5858;--vs-dropdown-option--deselect-color:#fff;--vs-transition-timing-function:cubic-bezier(1,-.115,.975,.855);--vs-transition-duration:.15s}.v-select{font-family:inherit;position:relative}.v-select,.v-select *{box-sizing:border-box}:root{--vs-transition-timing-function:cubic-bezier(1,.5,.8,1);--vs-transition-duration:.15s}@-webkit-keyframes vSelectSpinner{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes vSelectSpinner{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.vs__fade-enter-active,.vs__fade-leave-active{pointer-events:none;transition:opacity var(--vs-transition-duration) var(--vs-transition-timing-function)}.vs__fade-enter,.vs__fade-leave-to{opacity:0}:root{--vs-disabled-bg:var(--vs-state-disabled-bg);--vs-disabled-color:var(--vs-state-disabled-color);--vs-disabled-cursor:var(--vs-state-disabled-cursor)}.vs--disabled .vs__clear,.vs--disabled .vs__dropdown-toggle,.vs--disabled .vs__open-indicator,.vs--disabled .vs__open-indicator-button,.vs--disabled .vs__search,.vs--disabled .vs__selected{background-color:var(--vs-disabled-bg);cursor:var(--vs-disabled-cursor)}.v-select[dir=rtl] .vs__actions{padding:0 3px 0 6px}.v-select[dir=rtl] .vs__clear{margin-left:6px;margin-right:0}.v-select[dir=rtl] .vs__deselect{margin-left:0;margin-right:2px}.v-select[dir=rtl] .vs__dropdown-menu{text-align:right}.vs__dropdown-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--vs-search-input-bg);border:var(--vs-border-width) var(--vs-border-style) var(--vs-border-color);border-radius:var(--vs-border-radius);display:flex;padding:0 0 4px;white-space:normal}.vs__selected-options{display:flex;flex-basis:100%;flex-grow:1;flex-wrap:wrap;min-width:0;padding:0 2px;position:relative}.vs__actions{align-items:center;display:flex;padding:var(--vs-actions-padding)}.vs--searchable .vs__dropdown-toggle{cursor:text}.vs--unsearchable .vs__dropdown-toggle{cursor:pointer}.vs--open .vs__dropdown-toggle{border-bottom-color:transparent;border-bottom-left-radius:0;border-bottom-right-radius:0}.vs__open-indicator-button{background-color:transparent;border:0;cursor:pointer;padding:0}.vs__open-indicator{fill:var(--vs-controls-color);transform:scale(var(--vs-controls-size));transition:transform var(--vs-transition-duration) var(--vs-transition-timing-function);transition-timing-function:var(--vs-transition-timing-function)}.vs--open .vs__open-indicator{transform:rotate(180deg) scale(var(--vs-controls-size))}.vs--loading .vs__open-indicator{opacity:0}.vs__clear{fill:var(--vs-controls-color);background-color:transparent;border:0;cursor:pointer;margin-right:8px;padding:0}.vs__dropdown-menu{background:var(--vs-dropdown-bg);border:var(--vs-border-width) var(--vs-border-style) var(--vs-border-color);border-radius:0 0 var(--vs-border-radius) var(--vs-border-radius);border-top-style:none;box-shadow:var(--vs-dropdown-box-shadow);box-sizing:border-box;color:var(--vs-dropdown-color);display:block;left:0;list-style:none;margin:0;max-height:var(--vs-dropdown-max-height);min-width:var(--vs-dropdown-min-width);overflow-y:auto;padding:5px 0;position:absolute;text-align:left;top:calc(100% - var(--vs-border-width));width:100%;z-index:var(--vs-dropdown-z-index)}.vs__no-options{text-align:center}.vs__dropdown-option{clear:both;color:var(--vs-dropdown-option-color);cursor:pointer;display:block;line-height:1.42857143;padding:var(--vs-dropdown-option-padding);white-space:nowrap}.vs__dropdown-option--highlight{background:var(--vs-dropdown-option--active-bg);color:var(--vs-dropdown-option--active-color)}.vs__dropdown-option--kb-focus{box-shadow:var(--vs-dropdown-option--kb-focus-box-shadow)}.vs__dropdown-option--deselect{background:var(--vs-dropdown-option--deselect-bg);color:var(--vs-dropdown-option--deselect-color)}.vs__dropdown-option--disabled{background:var(--vs-state-disabled-bg);color:var(--vs-state-disabled-color);cursor:var(--vs-state-disabled-cursor)}.vs__selected{align-items:center;background-color:var(--vs-selected-bg);border:var(--vs-selected-border-width) var(--vs-selected-border-style) var(--vs-selected-border-color);border-radius:var(--vs-border-radius);color:var(--vs-selected-color);display:flex;line-height:var(--vs-line-height);margin:4px 2px 0;min-width:0;padding:0 .25em;z-index:0}.vs__deselect{fill:var(--vs-controls-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;cursor:pointer;display:inline-flex;margin-left:4px;padding:0;text-shadow:var(--vs-controls--deselect-text-shadow)}.vs--single .vs__selected{background-color:transparent;border-color:transparent}.vs--single.vs--loading .vs__selected,.vs--single.vs--open .vs__selected{max-width:100%;opacity:.4;position:absolute}.vs--single.vs--searching .vs__selected{display:none}.vs__search::-webkit-search-cancel-button{display:none}.vs__search::-ms-clear,.vs__search::-webkit-search-decoration,.vs__search::-webkit-search-results-button,.vs__search::-webkit-search-results-decoration{display:none}.vs__search,.vs__search:focus{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:1px solid transparent;border-left:none;box-shadow:none;color:var(--vs-search-input-color);flex-grow:1;font-size:var(--vs-font-size);line-height:var(--vs-line-height);margin:4px 0 0;max-width:100%;outline:none;padding:0 7px;width:0;z-index:1}.vs__search::-moz-placeholder{color:var(--vs-search-input-placeholder-color)}.vs__search:-ms-input-placeholder{color:var(--vs-search-input-placeholder-color)}.vs__search::placeholder{color:var(--vs-search-input-placeholder-color)}.vs--unsearchable .vs__search{opacity:1}.vs--unsearchable:not(.vs--disabled) .vs__search{cursor:pointer}.vs--single.vs--searching:not(.vs--open):not(.vs--loading) .vs__search{opacity:.2}.vs__spinner{align-self:center;-webkit-animation:vSelectSpinner 1.1s linear infinite;animation:vSelectSpinner 1.1s linear infinite;border:.9em solid hsla(0,0%,39%,.1);border-left-color:#3c3c3c73;font-size:5px;opacity:0;overflow:hidden;text-indent:-9999em;transform:translateZ(0) scale(var(--vs-controls--spinner-size,var(--vs-controls-size)));transition:opacity .1s}.vs__spinner,.vs__spinner:after{border-radius:50%;height:5em;transform:scale(var(--vs-controls--spinner-size,var(--vs-controls-size)));width:5em}.vs--loading .vs__spinner{opacity:1}.material-design-icon[data-v-8f3abf17]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.input-field[data-v-8f3abf17]{--input-border-radius: var(--border-radius-element, var(--border-radius-large));--input-padding-start: var(--border-radius-large);--input-padding-end: var(--border-radius-large);position:relative;width:100%;margin-block-start:6px}.input-field--disabled[data-v-8f3abf17]{opacity:.4;filter:saturate(.4)}.input-field--label-outside[data-v-8f3abf17]{margin-block-start:0}.input-field--leading-icon[data-v-8f3abf17]{--input-padding-start: calc(var(--default-clickable-area) - var(--default-grid-baseline))}.input-field--trailing-icon[data-v-8f3abf17]{--input-padding-end: calc(var(--default-clickable-area) - var(--default-grid-baseline))}.input-field--pill[data-v-8f3abf17]{--input-border-radius: var(--border-radius-pill)}.input-field__main-wrapper[data-v-8f3abf17]{height:var(--default-clickable-area);position:relative}.input-field__input[data-v-8f3abf17]{--input-border-width-offset: calc(var(--border-width-input-focused, 2px) - var(--border-width-input, 2px));background-color:var(--color-main-background);color:var(--color-main-text);border:var(--border-width-input, 2px) solid var(--color-border-maxcontrast);border-radius:var(--input-border-radius);cursor:pointer;-webkit-appearance:textfield!important;-moz-appearance:textfield!important;appearance:textfield!important;font-size:var(--default-font-size);text-overflow:ellipsis;height:calc(var(--default-clickable-area) - 2 * var(--input-border-width-offset))!important;width:100%;padding-inline:calc(var(--input-padding-start) + var(--input-border-width-offset)) calc(var(--input-padding-end) + var(--input-border-width-offset));padding-block:var(--input-border-width-offset)}.input-field__input[data-v-8f3abf17]::placeholder{color:var(--color-text-maxcontrast)}.input-field__input[data-v-8f3abf17]:active:not([disabled]),.input-field__input[data-v-8f3abf17]:hover:not([disabled]),.input-field__input[data-v-8f3abf17]:focus:not([disabled]){border-color:var(--color-main-text);border-width:var(--border-width-input-focused, 2px);box-shadow:0 0 0 2px var(--color-main-background)!important;--input-border-width-offset: 0px}.input-field__input:focus+.input-field__label[data-v-8f3abf17],.input-field__input:hover:not(:placeholder-shown)+.input-field__label[data-v-8f3abf17]{color:var(--color-main-text)}.input-field__input[data-v-8f3abf17]:focus{cursor:text}.input-field__input[data-v-8f3abf17]:disabled{cursor:default}.input-field__input[data-v-8f3abf17]:focus-visible{box-shadow:unset!important}.input-field__input--success[data-v-8f3abf17]{border-color:var(--color-success)!important}.input-field__input--success[data-v-8f3abf17]:focus-visible{box-shadow:#f8fafc 0 0 0 2px,var(--color-primary-element) 0 0 0 4px,#0000000d 0 1px 2px}.input-field__input--error[data-v-8f3abf17],.input-field__input[data-v-8f3abf17]:user-invalid{border-color:var(--color-error)!important}.input-field__input--error[data-v-8f3abf17]:focus-visible,.input-field__input[data-v-8f3abf17]:user-invalid:focus-visible{box-shadow:#f8fafc 0 0 0 2px,var(--color-primary-element) 0 0 0 4px,#0000000d 0 1px 2px}.input-field:not(.input-field--label-outside) .input-field__input[data-v-8f3abf17]:not(:focus)::placeholder{opacity:0}.input-field__label[data-v-8f3abf17]{--input-label-font-size: var(--default-font-size);position:absolute;margin-inline:var(--input-padding-start) var(--input-padding-end);max-width:fit-content;font-size:var(--input-label-font-size);inset-block-start:calc((var(--default-clickable-area) - 1lh) / 2);inset-inline:var(--border-width-input-focused, 2px);color:var(--color-text-maxcontrast);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;transition:height var(--animation-quick),inset-block-start var(--animation-quick),font-size var(--animation-quick),color var(--animation-quick),background-color var(--animation-quick) var(--animation-slow)}.input-field__input:focus+.input-field__label[data-v-8f3abf17],.input-field__input:not(:placeholder-shown)+.input-field__label[data-v-8f3abf17]{--input-label-font-size: 13px;line-height:1.5;inset-block-start:calc(-1.5 * var(--input-label-font-size) / 2);font-weight:500;border-radius:var(--default-grid-baseline) var(--default-grid-baseline) 0 0;background-color:var(--color-main-background);padding-inline:var(--default-grid-baseline);margin-inline:calc(var(--input-padding-start) - var(--default-grid-baseline)) calc(var(--input-padding-end) - var(--default-grid-baseline));transition:height var(--animation-quick),inset-block-start var(--animation-quick),font-size var(--animation-quick),color var(--animation-quick)}.input-field__icon[data-v-8f3abf17]{position:absolute;height:var(--default-clickable-area);width:var(--default-clickable-area);display:flex;align-items:center;justify-content:center;opacity:.7;inset-block-end:0}.input-field__icon--leading[data-v-8f3abf17]{inset-inline-start:0px}.input-field__icon--trailing[data-v-8f3abf17]{inset-inline-end:0px}.input-field__trailing-button[data-v-8f3abf17]{--button-size: calc(var(--default-clickable-area) - 2 * var(--border-width-input-focused, 2px)) !important;--button-radius: calc(var(--input-border-radius) - var(--border-width-input-focused, 2px))}.input-field__trailing-button.button-vue[data-v-8f3abf17]{position:absolute;top:var(--border-width-input-focused, 2px);inset-inline-end:var(--border-width-input-focused, 2px)}.input-field__trailing-button.button-vue[data-v-8f3abf17]:focus-visible{box-shadow:none!important}.input-field__helper-text-message[data-v-8f3abf17]{padding-block:4px;padding-inline:var(--border-radius-large);display:flex;align-items:center;color:var(--color-text-maxcontrast)}.input-field__helper-text-message__icon[data-v-8f3abf17]{margin-inline-end:8px}.input-field__helper-text-message--error[data-v-8f3abf17]{color:var(--color-error-text)}.input-field__helper-text-message--success[data-v-8f3abf17]{color:var(--color-success-text)}.material-design-icon[data-v-a62a9496]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.user-bubble__wrapper[data-v-a62a9496]{display:inline-block;vertical-align:middle;min-width:0;max-width:100%}.user-bubble__content[data-v-a62a9496]{display:inline-flex;max-width:100%;background-color:var(--color-background-dark)}.user-bubble__content--primary[data-v-a62a9496]{color:var(--color-primary-element-text);background-color:var(--color-primary-element)}.user-bubble__content[data-v-a62a9496]>:last-child{padding-inline-end:8px}.user-bubble__avatar[data-v-a62a9496]{align-self:center}.user-bubble__name[data-v-a62a9496]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.user-bubble__name[data-v-a62a9496],.user-bubble__secondary[data-v-a62a9496]{padding-block:0;padding-inline:4px 0}.rich-text-file .icon-home[data-v-cd05a281]{display:inline-block;vertical-align:text-top}strong[data-v-0c35aeca]{padding:2px 5px;border-radius:3px;background-color:var(--color-background-darker);font-weight:400}.comments-activity[data-v-db00abc4]{display:flex;flex-wrap:nowrap;align-items:flex-start;width:100%;min-height:32px;padding:8px 0;gap:8px}.comments-activity__icon[data-v-db00abc4]{flex:0 0 fit-content}.comments-activity__content[data-v-db00abc4]{flex:1 0;display:flex;flex-direction:column;width:100%}.comments-activity__title[data-v-db00abc4]{color:var(--color-text-maxcontrast);display:flex;flex-direction:row;justify-content:space-between}.comments-activity__date[data-v-db00abc4]{color:var(--color-text-maxcontrast)}.activity-entry[data-v-2fba3404]{display:flex;flex-wrap:wrap;align-items:flex-start;width:100%;height:var(--height);min-height:32px;padding:8px 0}.activity-entry__icon[data-v-2fba3404]{opacity:.5;margin-top:2px}.activity-entry .avatardiv[data-v-2fba3404]{box-sizing:content-box!important;background-color:unset!important}.activity-entry .avatardiv[data-v-2fba3404] img{border-radius:0!important}.activity-entry__content[data-v-2fba3404]{display:flex;flex-basis:min-content;flex-direction:column;flex-grow:1;overflow-wrap:break-word;white-space:pre-wrap;word-break:break-word;overflow:hidden}.activity-entry__content__subject[data-v-2fba3404]{padding:0 5px}.activity-entry__content__message[data-v-2fba3404]{color:var(--color-text-lighter)}.activity-entry__content[data-v-2fba3404] a{font-weight:700}.activity-entry__content[data-v-2fba3404] a:hover{opacity:.7;text-decoration:underline}.activity-entry__actions[data-v-2fba3404]{inset-block:-8px}.activity-entry__date[data-v-2fba3404]{color:var(--color-text-lighter);margin-left:5px;flex-shrink:0}.activity-entry__preview-wrapper[data-v-2fba3404]{flex:0 0 100%;gap:12px;padding-inline-start:24px;display:flex;flex-wrap:wrap}.activity-entry__preview[data-v-2fba3404]:hover{opacity:.75}.activity-entry__preview-image[data-v-2fba3404]{height:50px;width:50px}.activity-entry__preview-image[data-v-2fba3404]:not(.activity-entry__preview-mimetype){border:2px solid var(--color-border);border-radius:var(--border-radius-large)}.activity-entry__preview-image[data-v-2fba3404]:not(.activity-entry__preview-mimetype):hover{border-color:var(--color-main-text);outline:2px solid var(--color-main-background)}')),document.head.appendChild(a)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})(); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[OC.filePath('activity', '', 'js/index-BFmiKpwM.chunk.mjs'),OC.filePath('activity', '', 'js/_commonjsHelpers-BdswosdL.chunk.mjs'),OC.filePath('activity', '', 'js/NcCheckboxRadioSwitch-VeztTzpz-H8x3F-aj.chunk.mjs'),OC.filePath('activity', '', 'js/translation-CD_FiYBO-DvZn3gAh.chunk.mjs'),OC.filePath('activity', '', 'js/logger-BtUR_6uh.chunk.mjs'),OC.filePath('activity', '', 'js/preload-helper-CfzTJz-5.chunk.mjs')])))=>i.map(i=>d[i]); +(function(){"use strict";try{if(typeof document<"u"){var a=document.createElement("style");a.appendChild(document.createTextNode('@charset "UTF-8";.material-design-icon[data-v-8aaa3146]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.empty-content[data-v-8aaa3146]{display:flex;align-items:center;flex-direction:column;justify-content:center;flex-grow:1;padding:var(--default-grid-baseline)}.modal-wrapper .empty-content[data-v-8aaa3146]{margin-top:5vh;margin-bottom:5vh}.empty-content__icon[data-v-8aaa3146]{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto 15px;opacity:.4;background-repeat:no-repeat;background-position:center;background-size:64px}.empty-content__icon[data-v-8aaa3146] svg{width:64px!important;height:64px!important;max-width:64px!important;max-height:64px!important}.empty-content__name[data-v-8aaa3146]{margin-bottom:10px;text-align:center;font-weight:700;font-size:20px;line-height:30px}.empty-content__description[data-v-8aaa3146]{color:var(--color-text-maxcontrast);text-align:center;text-wrap-style:balance}.empty-content__action[data-v-8aaa3146]{margin-top:8px}.modal-wrapper .empty-content__action[data-v-8aaa3146]{margin-top:20px;display:flex}.material-design-icon[data-v-5b8f093f]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.mention-bubble--primary .mention-bubble__content[data-v-5b8f093f]{color:var(--color-primary-element-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-5b8f093f]{position:relative;max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-5b8f093f]{display:inline-flex;overflow:hidden;align-items:center;max-width:100%;height:20px;-webkit-user-select:none;user-select:none;padding-inline:2px 6px;border-radius:10px;background-color:var(--color-background-dark)}.mention-bubble__icon[data-v-5b8f093f]{position:relative;width:16px;height:16px;border-radius:8px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:12px}.mention-bubble__icon--with-avatar[data-v-5b8f093f]{color:inherit;background-size:cover}.mention-bubble__title[data-v-5b8f093f]{overflow:hidden;margin-inline-start:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-5b8f093f]:before{content:attr(title)}.mention-bubble__select[data-v-5b8f093f]{position:absolute;z-index:-1;inset-inline-start:-100vw;width:1px;height:1px;overflow:hidden}.material-design-icon[data-v-f132fa9c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.avatardiv[data-v-f132fa9c]{position:relative;display:inline-block;width:var(--size);height:var(--size)}.avatardiv--unknown[data-v-f132fa9c]{position:relative;background-color:var(--color-main-background);white-space:normal}.avatardiv[data-v-f132fa9c]:not(.avatardiv--unknown){background-color:var(--color-main-background)!important;box-shadow:0 0 5px #0000000d inset}.avatardiv--with-menu[data-v-f132fa9c]{cursor:pointer}.avatardiv--with-menu .action-item[data-v-f132fa9c]{position:absolute;top:0;left:0}.avatardiv--with-menu[data-v-f132fa9c] .action-item__menutoggle{cursor:pointer;opacity:0}.avatardiv--with-menu[data-v-f132fa9c]:focus-within .action-item__menutoggle,.avatardiv--with-menu[data-v-f132fa9c]:hover .action-item__menutoggle,.avatardiv--with-menu.avatardiv--with-menu-loading[data-v-f132fa9c] .action-item__menutoggle{opacity:1}.avatardiv--with-menu:focus-within img[data-v-f132fa9c],.avatardiv--with-menu:hover img[data-v-f132fa9c],.avatardiv--with-menu.avatardiv--with-menu-loading img[data-v-f132fa9c]{opacity:.3}.avatardiv--with-menu[data-v-f132fa9c] .action-item__menutoggle,.avatardiv--with-menu img[data-v-f132fa9c]{transition:opacity var(--animation-quick)}.avatardiv--with-menu[data-v-f132fa9c] .button-vue,.avatardiv--with-menu[data-v-f132fa9c] .button-vue__icon{height:var(--size);min-height:var(--size);width:var(--size)!important;min-width:var(--size)}.avatardiv--with-menu[data-v-f132fa9c]>.button-vue,.avatardiv--with-menu[data-v-f132fa9c]>.action-item .button-vue{--button-radius: calc(var(--size) / 2)}.avatardiv .avatardiv__initials-wrapper[data-v-f132fa9c]{display:block;height:var(--size);width:var(--size);background-color:var(--color-main-background);border-radius:calc(var(--size) / 2)}.avatardiv .avatardiv__initials-wrapper .avatardiv__initials[data-v-f132fa9c]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:400}.avatardiv img[data-v-f132fa9c]{width:100%;height:100%;object-fit:cover}.avatardiv .material-design-icon[data-v-f132fa9c]{width:var(--size);height:var(--size)}.avatardiv .avatardiv__user-status[data-v-f132fa9c]{box-sizing:border-box;position:absolute;inset-inline-end:-4px;bottom:-4px;min-height:14px;min-width:14px;max-height:18px;max-width:18px;height:40%;width:40%;line-height:1;font-size:clamp(var(--font-size-small, 13px),85%,var(--default-font-size));border:2px solid var(--color-main-background);background-color:var(--color-main-background);background-repeat:no-repeat;background-size:16px;background-position:center;border-radius:50%}.acli:hover .avatardiv .avatardiv__user-status[data-v-f132fa9c]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-f132fa9c]{border-color:var(--color-primary-element-light);background-color:var(--color-primary-element-light)}.avatardiv .avatardiv__user-status--icon[data-v-f132fa9c]{border:none;background-color:transparent}.avatardiv .popovermenu-wrapper[data-v-f132fa9c]{position:relative;display:inline-block}.avatar-class-icon[data-v-f132fa9c]{display:block;border-radius:calc(var(--size) / 2);background-color:var(--color-background-darker);height:100%}.material-design-icon[data-v-30c015f0]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.action[data-v-30c015f0]:hover,li.action.active[data-v-30c015f0]{border-radius:6px;padding:0}li.action[data-v-30c015f0]:hover{background-color:var(--color-background-hover)}.action-link[data-v-30c015f0]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-inline-end:calc((var(--default-clickable-area) - 16px) / 2);box-sizing:border-box;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:400;font-size:var(--default-font-size);line-height:var(--default-clickable-area)}.action-link>span[data-v-30c015f0]{cursor:pointer;white-space:nowrap}.action-link__icon[data-v-30c015f0]{width:var(--default-clickable-area);height:var(--default-clickable-area);opacity:1;background-position:calc((var(--default-clickable-area) - 16px) / 2) center;background-size:16px;background-repeat:no-repeat}.action-link[data-v-30c015f0] .material-design-icon{width:var(--default-clickable-area);height:var(--default-clickable-area);opacity:1}.action-link[data-v-30c015f0] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-link__longtext-wrapper[data-v-30c015f0],.action-link__longtext[data-v-30c015f0]{max-width:220px;line-height:1.6em;padding:calc((var(--default-clickable-area) - 1.6em) / 2) 0;cursor:pointer;text-align:start;overflow:hidden;text-overflow:ellipsis}.action-link__longtext[data-v-30c015f0]{cursor:pointer;white-space:pre-wrap!important}.action-link__name[data-v-30c015f0]{font-weight:700;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:block}.action-link__description[data-v-30c015f0]{display:block;white-space:pre-wrap;font-size:var(--font-size-small);line-height:var(--default-line-height);color:var(--color-text-maxcontrast);cursor:pointer}.action-link__menu-icon[data-v-30c015f0]{margin-inline:auto calc((var(--default-clickable-area) - 16px) / 2 * -1)}.material-design-icon[data-v-579c6b4d]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.action[data-v-579c6b4d]:hover,li.action.active[data-v-579c6b4d]{border-radius:6px;padding:0}li.action[data-v-579c6b4d]:hover{background-color:var(--color-background-hover)}.action-router[data-v-579c6b4d]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-inline-end:calc((var(--default-clickable-area) - 16px) / 2);box-sizing:border-box;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:400;font-size:var(--default-font-size);line-height:var(--default-clickable-area)}.action-router>span[data-v-579c6b4d]{cursor:pointer;white-space:nowrap}.action-router__icon[data-v-579c6b4d]{width:var(--default-clickable-area);height:var(--default-clickable-area);opacity:1;background-position:calc((var(--default-clickable-area) - 16px) / 2) center;background-size:16px;background-repeat:no-repeat}.action-router[data-v-579c6b4d] .material-design-icon{width:var(--default-clickable-area);height:var(--default-clickable-area);opacity:1}.action-router[data-v-579c6b4d] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-router__longtext-wrapper[data-v-579c6b4d],.action-router__longtext[data-v-579c6b4d]{max-width:220px;line-height:1.6em;padding:calc((var(--default-clickable-area) - 1.6em) / 2) 0;cursor:pointer;text-align:start;overflow:hidden;text-overflow:ellipsis}.action-router__longtext[data-v-579c6b4d]{cursor:pointer;white-space:pre-wrap!important}.action-router__name[data-v-579c6b4d]{font-weight:700;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:block}.action-router__description[data-v-579c6b4d]{display:block;white-space:pre-wrap;font-size:var(--font-size-small);line-height:var(--default-line-height);color:var(--color-text-maxcontrast);cursor:pointer}.action-router__menu-icon[data-v-579c6b4d]{margin-inline:auto calc((var(--default-clickable-area) - 16px) / 2 * -1)}.action--disabled[data-v-579c6b4d]{pointer-events:none;opacity:.5}.action--disabled[data-v-579c6b4d]:hover,.action--disabled[data-v-579c6b4d]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-579c6b4d]{opacity:1!important}.material-design-icon[data-v-824615f4]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.action[data-v-824615f4]:hover,li.action.active[data-v-824615f4]{border-radius:6px;padding:0}li.action[data-v-824615f4]:hover{background-color:var(--color-background-hover)}.action-text[data-v-824615f4]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-inline-end:calc((var(--default-clickable-area) - 16px) / 2);box-sizing:border-box;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:400;font-size:var(--default-font-size);line-height:var(--default-clickable-area)}.action-text>span[data-v-824615f4]{cursor:pointer;white-space:nowrap}.action-text__icon[data-v-824615f4]{width:var(--default-clickable-area);height:var(--default-clickable-area);opacity:1;background-position:calc((var(--default-clickable-area) - 16px) / 2) center;background-size:16px;background-repeat:no-repeat}.action-text[data-v-824615f4] .material-design-icon{width:var(--default-clickable-area);height:var(--default-clickable-area);opacity:1}.action-text[data-v-824615f4] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-text__longtext-wrapper[data-v-824615f4],.action-text__longtext[data-v-824615f4]{max-width:220px;line-height:1.6em;padding:calc((var(--default-clickable-area) - 1.6em) / 2) 0;cursor:pointer;text-align:start;overflow:hidden;text-overflow:ellipsis}.action-text__longtext[data-v-824615f4]{cursor:pointer;white-space:pre-wrap!important}.action-text__name[data-v-824615f4]{font-weight:700;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:block}.action-text__description[data-v-824615f4]{display:block;white-space:pre-wrap;font-size:var(--font-size-small);line-height:var(--default-line-height);color:var(--color-text-maxcontrast);cursor:pointer}.action-text__menu-icon[data-v-824615f4]{margin-inline:auto calc((var(--default-clickable-area) - 16px) / 2 * -1)}.action--disabled[data-v-824615f4]{pointer-events:none;opacity:.5}.action--disabled[data-v-824615f4]:hover,.action--disabled[data-v-824615f4]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-824615f4]{opacity:1!important}.action-text[data-v-824615f4],.action-text span[data-v-824615f4]{cursor:default}.material-design-icon[data-v-02eeec54]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.action[data-v-02eeec54]:hover,li.action.active[data-v-02eeec54]{border-radius:6px;padding:0}li.action[data-v-02eeec54]:hover{background-color:var(--color-background-hover)}.action--disabled[data-v-02eeec54]{pointer-events:none;opacity:.5}.action--disabled[data-v-02eeec54]:hover,.action--disabled[data-v-02eeec54]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-02eeec54]{opacity:1!important}.action-button[data-v-02eeec54]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-inline-end:calc((var(--default-clickable-area) - 16px) / 2);box-sizing:border-box;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:400;font-size:var(--default-font-size);line-height:var(--default-clickable-area)}.action-button>span[data-v-02eeec54]{cursor:pointer;white-space:nowrap}.action-button__icon[data-v-02eeec54]{width:var(--default-clickable-area);height:var(--default-clickable-area);opacity:1;background-position:calc((var(--default-clickable-area) - 16px) / 2) center;background-size:16px;background-repeat:no-repeat}.action-button[data-v-02eeec54] .material-design-icon{width:var(--default-clickable-area);height:var(--default-clickable-area);opacity:1}.action-button[data-v-02eeec54] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-button__longtext-wrapper[data-v-02eeec54],.action-button__longtext[data-v-02eeec54]{max-width:220px;line-height:1.6em;padding:calc((var(--default-clickable-area) - 1.6em) / 2) 0;cursor:pointer;text-align:start;overflow:hidden;text-overflow:ellipsis}.action-button__longtext[data-v-02eeec54]{cursor:pointer;white-space:pre-wrap!important}.action-button__name[data-v-02eeec54]{font-weight:700;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:block}.action-button__description[data-v-02eeec54]{display:block;white-space:pre-wrap;font-size:var(--font-size-small);line-height:var(--default-line-height);color:var(--color-text-maxcontrast);cursor:pointer}.action-button__menu-icon[data-v-02eeec54],.action-button__pressed-icon[data-v-02eeec54]{margin-inline:auto calc((var(--default-clickable-area) - 16px) / 2 * -1)}.material-design-icon[data-v-0555d8d0]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.user-status-icon[data-v-0555d8d0]{display:flex;justify-content:center;align-items:center;min-width:16px;min-height:16px;max-width:20px;max-height:20px}.user-status-icon--invisible[data-v-0555d8d0]{filter:var(--background-invert-if-dark)}.material-design-icon[data-v-ffdba753]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.widgets--list[data-v-ffdba753]{width:100%;min-height:var(--default-clickable-area)}.material-design-icon[data-v-ddd5e67e]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.rich-text--wrapper[data-v-ddd5e67e]{word-break:break-word;line-height:1.5}.rich-text--wrapper .rich-text--fallback[data-v-ddd5e67e],.rich-text--wrapper .rich-text-component[data-v-ddd5e67e]{display:inline}.rich-text--wrapper .rich-text--external-link[data-v-ddd5e67e]{text-decoration:underline}.rich-text--wrapper .rich-text--external-link[data-v-ddd5e67e]:after{content:" ↗"}.rich-text--wrapper-markdown[data-v-ddd5e67e]{tab-size:4}.rich-text--wrapper-markdown div>*[data-v-ddd5e67e]:first-child,.rich-text--wrapper-markdown blockquote>*[data-v-ddd5e67e]:first-child{margin-top:0!important}.rich-text--wrapper-markdown div>*[data-v-ddd5e67e]:last-child,.rich-text--wrapper-markdown blockquote>*[data-v-ddd5e67e]:last-child{margin-block-end:0!important}.rich-text--wrapper-markdown blockquote[data-v-ddd5e67e]{padding-inline-start:13px;border-inline-start:2px solid var(--color-border-dark);color:var(--color-text-lighter)}.rich-text--wrapper-markdown h1[data-v-ddd5e67e],.rich-text--wrapper-markdown h2[data-v-ddd5e67e],.rich-text--wrapper-markdown h3[data-v-ddd5e67e],.rich-text--wrapper-markdown h4[data-v-ddd5e67e],.rich-text--wrapper-markdown h5[data-v-ddd5e67e],.rich-text--wrapper-markdown h6[data-v-ddd5e67e],.rich-text--wrapper-markdown p[data-v-ddd5e67e],.rich-text--wrapper-markdown ul[data-v-ddd5e67e],.rich-text--wrapper-markdown ol[data-v-ddd5e67e],.rich-text--wrapper-markdown blockquote[data-v-ddd5e67e],.rich-text--wrapper-markdown pre[data-v-ddd5e67e]{margin-top:0;margin-block-end:1em}.rich-text--wrapper-markdown h1[data-v-ddd5e67e],.rich-text--wrapper-markdown h2[data-v-ddd5e67e],.rich-text--wrapper-markdown h3[data-v-ddd5e67e],.rich-text--wrapper-markdown h4[data-v-ddd5e67e],.rich-text--wrapper-markdown h5[data-v-ddd5e67e],.rich-text--wrapper-markdown h6[data-v-ddd5e67e]{font-weight:700}.rich-text--wrapper-markdown h1[data-v-ddd5e67e]{font-size:30px}.rich-text--wrapper-markdown ul[data-v-ddd5e67e],.rich-text--wrapper-markdown ol[data-v-ddd5e67e]{padding-inline-start:4ch}.rich-text--wrapper-markdown ul[data-v-ddd5e67e]{list-style-type:disc}.rich-text--wrapper-markdown ul.contains-task-list[data-v-ddd5e67e]{list-style-type:none;padding:0}.rich-text--wrapper-markdown li.task-list-item>ul[data-v-ddd5e67e],.rich-text--wrapper-markdown li.task-list-item>ol[data-v-ddd5e67e],.rich-text--wrapper-markdown li.task-list-item>li[data-v-ddd5e67e],.rich-text--wrapper-markdown li.task-list-item>blockquote[data-v-ddd5e67e],.rich-text--wrapper-markdown li.task-list-item>pre[data-v-ddd5e67e]{margin-inline-start:15px;margin-block-end:0}.rich-text--wrapper-markdown table[data-v-ddd5e67e]{border-collapse:collapse;border:2px solid var(--color-border-maxcontrast)}.rich-text--wrapper-markdown table th[data-v-ddd5e67e],.rich-text--wrapper-markdown table td[data-v-ddd5e67e]{padding:var(--default-grid-baseline);border:1px solid var(--color-border-maxcontrast)}.rich-text--wrapper-markdown table th[data-v-ddd5e67e]:first-child,.rich-text--wrapper-markdown table td[data-v-ddd5e67e]:first-child{border-inline-start:0}.rich-text--wrapper-markdown table th[data-v-ddd5e67e]:last-child,.rich-text--wrapper-markdown table td[data-v-ddd5e67e]:last-child{border-inline-end:0}.rich-text--wrapper-markdown table tr:first-child th[data-v-ddd5e67e]{border-top:0}.rich-text--wrapper-markdown table tr:last-child td[data-v-ddd5e67e]{border-block-end:0}.rich-text--wrapper-markdown pre[data-v-ddd5e67e]:has(.hljs){color:var(--hljs-color);background:var(--hljs-background-color)}.rich-text--wrapper-markdown .hljs-doctag[data-v-ddd5e67e],.rich-text--wrapper-markdown .hljs-keyword[data-v-ddd5e67e],.rich-text--wrapper-markdown .hljs-meta .hljs-keyword[data-v-ddd5e67e],.rich-text--wrapper-markdown .hljs-template-tag[data-v-ddd5e67e],.rich-text--wrapper-markdown .hljs-template-variable[data-v-ddd5e67e],.rich-text--wrapper-markdown .hljs-type[data-v-ddd5e67e],.rich-text--wrapper-markdown .hljs-variable.language_[data-v-ddd5e67e]{color:var(--hljs-syntax-keyword-color)}.rich-text--wrapper-markdown .hljs-title[data-v-ddd5e67e],.rich-text--wrapper-markdown .hljs-title.class_[data-v-ddd5e67e],.rich-text--wrapper-markdown .hljs-title.class_.inherited__[data-v-ddd5e67e],.rich-text--wrapper-markdown .hljs-title.function_[data-v-ddd5e67e]{color:var(--hljs-syntax-entity-color)}.rich-text--wrapper-markdown .hljs-attr[data-v-ddd5e67e],.rich-text--wrapper-markdown .hljs-attribute[data-v-ddd5e67e],.rich-text--wrapper-markdown .hljs-literal[data-v-ddd5e67e],.rich-text--wrapper-markdown .hljs-meta[data-v-ddd5e67e],.rich-text--wrapper-markdown .hljs-number[data-v-ddd5e67e],.rich-text--wrapper-markdown .hljs-operator[data-v-ddd5e67e],.rich-text--wrapper-markdown .hljs-variable[data-v-ddd5e67e],.rich-text--wrapper-markdown .hljs-selector-attr[data-v-ddd5e67e],.rich-text--wrapper-markdown .hljs-selector-class[data-v-ddd5e67e],.rich-text--wrapper-markdown .hljs-selector-id[data-v-ddd5e67e]{color:var(--hljs-syntax-constant-color)}.rich-text--wrapper-markdown .hljs-regexp[data-v-ddd5e67e],.rich-text--wrapper-markdown .hljs-string[data-v-ddd5e67e],.rich-text--wrapper-markdown .hljs-meta .hljs-string[data-v-ddd5e67e]{color:var(--hljs-syntax-string-color)}.rich-text--wrapper-markdown .hljs-built_in[data-v-ddd5e67e],.rich-text--wrapper-markdown .hljs-symbol[data-v-ddd5e67e]{color:var(--hljs-syntax-variable-color)}.rich-text--wrapper-markdown .hljs-comment[data-v-ddd5e67e],.rich-text--wrapper-markdown .hljs-code[data-v-ddd5e67e],.rich-text--wrapper-markdown .hljs-formula[data-v-ddd5e67e]{color:var(--hljs-syntax-comment-color)}.rich-text--wrapper-markdown .hljs-name[data-v-ddd5e67e],.rich-text--wrapper-markdown .hljs-quote[data-v-ddd5e67e],.rich-text--wrapper-markdown .hljs-selector-tag[data-v-ddd5e67e],.rich-text--wrapper-markdown .hljs-selector-pseudo[data-v-ddd5e67e]{color:var(--hljs-syntax-entity-tag-color)}.rich-text--wrapper-markdown .hljs-subst[data-v-ddd5e67e]{color:var(--hljs-syntax-storage-modifier-import-color)}.rich-text--wrapper-markdown .hljs-section[data-v-ddd5e67e]{color:var(--hljs-syntax-markup-heading-color);font-weight:700}.rich-text--wrapper-markdown .hljs-bullet[data-v-ddd5e67e]{color:var(--hljs-syntax-markup-list-color)}.rich-text--wrapper-markdown .hljs-emphasis[data-v-ddd5e67e]{color:var(--hljs-syntax-markup-italic-color);font-style:italic}.rich-text--wrapper-markdown .hljs-strong[data-v-ddd5e67e]{color:var(--hljs-syntax-markup-bold-color);font-weight:700}.rich-text--wrapper-markdown .hljs-addition[data-v-ddd5e67e]{color:var(--hljs-syntax-markup-inserted-color);background-color:var(--hljs-syntax-markup-inserted-background-color)}.rich-text--wrapper-markdown .hljs-deletion[data-v-ddd5e67e]{color:var(--hljs-syntax-markup-deleted-color);background-color:var(--hljs-syntax-markup-deleted-background-color)}@media (prefers-color-scheme: light){.rich-text--wrapper-markdown[data-v-ddd5e67e]{--hljs-color: var(--color-main-text, #24292e);--hljs-background-color: var(--color-background-dark, #ffffff);--hljs-syntax-keyword-color: #d73a49;--hljs-syntax-entity-color: #6f42c1;--hljs-syntax-constant-color: #005cc5;--hljs-syntax-string-color: #032f62;--hljs-syntax-variable-color: #e36209;--hljs-syntax-comment-color: #6a737d;--hljs-syntax-entity-tag-color: #22863a;--hljs-syntax-storage-modifier-import-color: #24292e;--hljs-syntax-markup-heading-color: #005cc5;--hljs-syntax-markup-list-color: #735c0f;--hljs-syntax-markup-italic-color: #24292e;--hljs-syntax-markup-bold-color: #24292e;--hljs-syntax-markup-inserted-color: #22863a;--hljs-syntax-markup-inserted-background-color: #f0fff4;--hljs-syntax-markup-deleted-color: #b31d28;--hljs-syntax-markup-deleted-background-color: #ffeef0}[data-theme-dark] .rich-text--wrapper-markdown[data-v-ddd5e67e]{--hljs-color: var(--color-main-text, #c9d1d9);--hljs-background-color: var(--color-background-dark, #0d1117);--hljs-syntax-keyword-color: #ff7b72;--hljs-syntax-entity-color: #d2a8ff;--hljs-syntax-constant-color: #79c0ff;--hljs-syntax-string-color: #a5d6ff;--hljs-syntax-variable-color: #ffa657;--hljs-syntax-comment-color: #8b949e;--hljs-syntax-entity-tag-color: #7ee787;--hljs-syntax-storage-modifier-import-color: #c9d1d9;--hljs-syntax-markup-heading-color: #1f6feb;--hljs-syntax-markup-list-color: #f2cc60;--hljs-syntax-markup-italic-color: #c9d1d9;--hljs-syntax-markup-bold-color: #c9d1d9;--hljs-syntax-markup-inserted-color: #aff5b4;--hljs-syntax-markup-inserted-background-color: #033a16;--hljs-syntax-markup-deleted-color: #ffdcd7;--hljs-syntax-markup-deleted-background-color: #67060c}}@media (prefers-color-scheme: dark){.rich-text--wrapper-markdown[data-v-ddd5e67e]{--hljs-color: var(--color-main-text, #c9d1d9);--hljs-background-color: var(--color-background-dark, #0d1117);--hljs-syntax-keyword-color: #ff7b72;--hljs-syntax-entity-color: #d2a8ff;--hljs-syntax-constant-color: #79c0ff;--hljs-syntax-string-color: #a5d6ff;--hljs-syntax-variable-color: #ffa657;--hljs-syntax-comment-color: #8b949e;--hljs-syntax-entity-tag-color: #7ee787;--hljs-syntax-storage-modifier-import-color: #c9d1d9;--hljs-syntax-markup-heading-color: #1f6feb;--hljs-syntax-markup-list-color: #f2cc60;--hljs-syntax-markup-italic-color: #c9d1d9;--hljs-syntax-markup-bold-color: #c9d1d9;--hljs-syntax-markup-inserted-color: #aff5b4;--hljs-syntax-markup-inserted-background-color: #033a16;--hljs-syntax-markup-deleted-color: #ffdcd7;--hljs-syntax-markup-deleted-background-color: #67060c}[data-theme-light] .rich-text--wrapper-markdown[data-v-ddd5e67e]{--hljs-color: var(--color-main-text, #24292e);--hljs-background-color: var(--color-background-dark, #ffffff);--hljs-syntax-keyword-color: #d73a49;--hljs-syntax-entity-color: #6f42c1;--hljs-syntax-constant-color: #005cc5;--hljs-syntax-string-color: #032f62;--hljs-syntax-variable-color: #e36209;--hljs-syntax-comment-color: #6a737d;--hljs-syntax-entity-tag-color: #22863a;--hljs-syntax-storage-modifier-import-color: #24292e;--hljs-syntax-markup-heading-color: #005cc5;--hljs-syntax-markup-list-color: #735c0f;--hljs-syntax-markup-italic-color: #24292e;--hljs-syntax-markup-bold-color: #24292e;--hljs-syntax-markup-inserted-color: #22863a;--hljs-syntax-markup-inserted-background-color: #f0fff4;--hljs-syntax-markup-deleted-color: #b31d28;--hljs-syntax-markup-deleted-background-color: #ffeef0}}a[data-v-ddd5e67e]:not(.rich-text--component){text-decoration:underline}.material-design-icon[data-v-734d6ae9]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.widget-custom[data-v-734d6ae9]{width:100%;margin:auto;margin-bottom:calc(var(--default-grid-baseline, 4px) * 3);margin-top:calc(var(--default-grid-baseline, 4px) * 3);overflow:hidden;border:2px solid var(--color-border);border-radius:var(--border-radius-container);background-color:transparent;display:flex}.widget-custom.full-width[data-v-734d6ae9]{width:var(--widget-full-width, 100%)!important;inset-inline-start:calc((var(--widget-full-width, 100%) - 100%) / 2 * -1);position:relative}.widget-access[data-v-734d6ae9]{width:100%;margin:auto;margin-bottom:calc(var(--default-grid-baseline, 4px) * 3);margin-top:calc(var(--default-grid-baseline, 4px) * 3);overflow:hidden;border:2px solid var(--color-border);border-radius:var(--border-radius-container);background-color:transparent;display:flex;padding:calc(var(--default-grid-baseline, 4px) * 3)}.widget-default[data-v-734d6ae9]{width:100%;margin:auto;margin-bottom:calc(var(--default-grid-baseline, 4px) * 3);margin-top:calc(var(--default-grid-baseline, 4px) * 3);overflow:hidden;border:2px solid var(--color-border);border-radius:var(--border-radius-container);background-color:transparent;display:flex}.widget-default--compact[data-v-734d6ae9]{flex-direction:column}.widget-default--compact .widget-default--image[data-v-734d6ae9]{width:100%;height:150px}.widget-default--compact .widget-default--details[data-v-734d6ae9]{width:100%;padding-top:calc(var(--default-grid-baseline, 4px) * 2);padding-bottom:calc(var(--default-grid-baseline, 4px) * 2)}.widget-default--compact .widget-default--description[data-v-734d6ae9]{display:none}.widget-default--image[data-v-734d6ae9]{width:40%;background-position:center;background-size:cover;background-repeat:no-repeat}.widget-default--name[data-v-734d6ae9]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.widget-default--details[data-v-734d6ae9]{padding:calc(var(--default-grid-baseline, 4px) * 3);width:60%}.widget-default--details p[data-v-734d6ae9]{margin:0;padding:0}.widget-default--description[data-v-734d6ae9]{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical}.widget-default--link[data-v-734d6ae9]{color:var(--color-text-maxcontrast);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toggle-interactive[data-v-734d6ae9]{position:relative}.toggle-interactive .toggle-interactive--button[data-v-734d6ae9]{position:absolute;bottom:var(--default-grid-baseline);inset-inline-end:var(--default-grid-baseline);z-index:10000}.material-design-icon[data-v-de9850e4],.material-design-icon[data-v-f03ee0c9]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.provider-list[data-v-f03ee0c9]{width:100%;min-height:400px;padding:0 16px 16px;display:flex;flex-direction:column}.provider-list--select[data-v-f03ee0c9]{width:100%}.provider-list--select .provider[data-v-f03ee0c9]{display:flex;align-items:center;height:28px;overflow:hidden}.provider-list--select .provider .link-icon[data-v-f03ee0c9]{margin-inline-end:8px}.provider-list--select .provider .provider-icon[data-v-f03ee0c9]{width:20px;height:20px;object-fit:contain;margin-inline-end:8px;filter:var(--background-invert-if-dark)}.provider-list--select .provider .option-text[data-v-f03ee0c9]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-design-icon[data-v-3c1803b5]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.raw-link[data-v-3c1803b5]{width:100%;min-height:350px;display:flex;flex-direction:column;overflow-y:auto;padding:0 16px 16px}.raw-link .input-wrapper[data-v-3c1803b5]{width:100%}.raw-link .reference-widget[data-v-3c1803b5]{display:flex}.raw-link--empty-content .provider-icon[data-v-3c1803b5]{width:150px;height:150px;object-fit:contain;filter:var(--background-invert-if-dark)}.raw-link--input[data-v-3c1803b5]{width:99%}.material-design-icon[data-v-ff4bcbf3]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.result[data-v-ff4bcbf3]{display:flex;align-items:center;height:var(--default-clickable-area);overflow:hidden}.result--icon-class[data-v-ff4bcbf3],.result--image[data-v-ff4bcbf3]{width:40px;min-width:40px;height:40px;object-fit:contain}.result--icon-class.rounded[data-v-ff4bcbf3],.result--image.rounded[data-v-ff4bcbf3]{border-radius:50%}.result--content[data-v-ff4bcbf3]{display:flex;flex-direction:column;padding-inline-start:10px;overflow:hidden}.result--content--name[data-v-ff4bcbf3],.result--content--subline[data-v-ff4bcbf3]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-design-icon[data-v-05fef988]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.smart-picker-search[data-v-05fef988]{width:100%;display:flex;flex-direction:column;padding:0 16px 16px}.smart-picker-search.with-empty-content[data-v-05fef988]{min-height:400px}.smart-picker-search .provider-icon[data-v-05fef988]{width:150px;height:150px;object-fit:contain;filter:var(--background-invert-if-dark)}.smart-picker-search--select[data-v-05fef988],.smart-picker-search--select .search-result[data-v-05fef988]{width:100%}.smart-picker-search--select .group-name-icon[data-v-05fef988],.smart-picker-search--select .option-simple-icon[data-v-05fef988]{width:20px;height:20px;margin:0 20px 0 10px}.smart-picker-search--select .custom-option[data-v-05fef988]{height:var(--default-clickable-area);display:flex;align-items:center;overflow:hidden}.smart-picker-search--select .option-text[data-v-05fef988]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-design-icon[data-v-cd33df8e]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.reference-picker[data-v-cd33df8e],.reference-picker .custom-element-wrapper[data-v-cd33df8e],.reference-picker .custom-element-wrapper .custom-element[data-v-cd33df8e]{display:flex;overflow-y:auto;width:100%}.reference-picker-modal .modal-container{display:flex!important}.material-design-icon[data-v-c66449c1]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.reference-picker-modal--content[data-v-c66449c1]{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow-y:auto}.reference-picker-modal--content .close-button[data-v-c66449c1],.reference-picker-modal--content .back-button[data-v-c66449c1]{position:absolute;top:4px}.reference-picker-modal--content .back-button[data-v-c66449c1]{inset-inline-start:4px}.reference-picker-modal--content .close-button[data-v-c66449c1]{inset-inline-end:4px}.reference-picker-modal--content>h2[data-v-c66449c1]{display:flex;margin:12px 0 20px}.reference-picker-modal--content>h2 .icon[data-v-c66449c1]{margin-inline-end:8px}.material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}body{--vs-search-input-color: var(--color-main-text);--vs-search-input-bg: var(--color-main-background);--vs-search-input-placeholder-color: var(--color-text-maxcontrast);--vs-font-size: var(--default-font-size);--vs-line-height: var(--default-line-height);--vs-state-disabled-bg: var(--color-background-hover);--vs-state-disabled-color: var(--color-text-maxcontrast);--vs-state-disabled-controls-color: var(--color-text-maxcontrast);--vs-state-disabled-cursor: not-allowed;--vs-disabled-bg: var(--color-background-hover);--vs-disabled-color: var(--color-text-maxcontrast);--vs-disabled-cursor: not-allowed;--vs-border-color: var(--color-border-maxcontrast);--vs-border-width: var(--border-width-input, 2px) !important;--vs-border-style: solid;--vs-border-radius: var(--border-radius-large);--vs-controls-color: var(--color-main-text);--vs-selected-bg: var(--color-background-hover);--vs-selected-color: var(--color-main-text);--vs-selected-border-color: var(--vs-border-color);--vs-selected-border-style: var(--vs-border-style);--vs-selected-border-width: var(--vs-border-width);--vs-dropdown-bg: var(--color-main-background);--vs-dropdown-color: var(--color-main-text);--vs-dropdown-z-index: 9999;--vs-dropdown-box-shadow: 0px 2px 2px 0px var(--color-box-shadow);--vs-dropdown-option-padding: 8px 20px;--vs-dropdown-option--active-bg: var(--color-background-hover);--vs-dropdown-option--active-color: var(--color-main-text);--vs-dropdown-option--kb-focus-box-shadow: inset 0px 0px 0px 2px var(--vs-border-color);--vs-dropdown-option--deselect-bg: var(--color-error);--vs-dropdown-option--deselect-color: #fff;--vs-transition-duration: 0ms;--vs-actions-padding: 0 8px 0 4px}.v-select.select{min-height:var(--default-clickable-area);min-width:260px;margin:0 0 var(--default-grid-baseline)}.v-select.select.vs--open{--vs-border-width: var(--border-width-input-focused, 2px)}.v-select.select .select__label{display:block;margin-bottom:2px}.v-select.select .vs__selected{height:calc(var(--default-clickable-area) - 2 * var(--vs-border-width) - var(--default-grid-baseline));margin:calc(var(--default-grid-baseline) / 2);padding-block:0;padding-inline:12px 8px;border-radius:16px!important;background:var(--color-primary-element-light);border:none}.v-select.select.vs--open .vs__selected:first-of-type{margin-inline-start:calc(var(--default-grid-baseline) / 2 - (var(--border-width-input-focused, 2px) - var(--border-width-input, 2px)))!important}.v-select.select .vs__search{text-overflow:ellipsis;color:var(--color-main-text);min-height:unset!important;height:calc(var(--default-clickable-area) - 2 * var(--vs-border-width))!important}.v-select.select .vs__search::placeholder{color:var(--color-text-maxcontrast)}.v-select.select .vs__search,.v-select.select .vs__search:focus{margin:0}.v-select.select .vs__dropdown-toggle{position:relative;max-height:100px;padding:0;overflow-y:auto}.v-select.select .vs__actions{position:sticky;top:0}.v-select.select .vs__clear{margin-right:2px}.v-select.select.vs--open .vs__dropdown-toggle{border-width:var(--border-width-input-focused);outline:2px solid var(--color-main-background);border-color:var(--color-main-text);border-bottom-color:transparent}.v-select.select:not(.vs--disabled,.vs--open) .vs__dropdown-toggle:hover{outline:2px solid var(--color-main-background);border-color:var(--color-main-text)}.v-select.select.vs--disabled .vs__search,.v-select.select.vs--disabled .vs__selected{color:var(--color-text-maxcontrast)}.v-select.select.vs--disabled .vs__clear,.v-select.select.vs--disabled .vs__deselect{display:none}.v-select.select--no-wrap .vs__selected-options{flex-wrap:nowrap;overflow:auto;min-width:unset}.v-select.select--no-wrap .vs__selected-options .vs__selected{min-width:unset}.v-select.select--drop-up.vs--open .vs__dropdown-toggle{border-radius:0 0 var(--vs-border-radius) var(--vs-border-radius);border-top-color:transparent;border-bottom-color:var(--color-main-text)}.v-select.select .vs__selected-options{min-height:calc(var(--default-clickable-area) - 2 * var(--vs-border-width));padding:0 5px}.v-select.select .vs__selected-options .vs__selected~.vs__search[readonly]{position:absolute}.v-select.select.vs--single.vs--loading .vs__selected,.v-select.select.vs--single.vs--open .vs__selected{max-width:100%;opacity:1;color:var(--color-text-maxcontrast)}.v-select.select.vs--single .vs__selected-options{flex-wrap:nowrap}.v-select.select.vs--single .vs__selected{background:unset!important}.vs__dropdown-menu{border-width:var(--border-width-input-focused)!important;border-color:var(--color-main-text)!important;outline:none!important;box-shadow:-2px 0 0 var(--color-main-background),0 2px 0 var(--color-main-background),2px 0 0 var(--color-main-background),!important;padding:4px!important}.vs__dropdown-menu--floating{width:max-content;position:absolute;top:0;left:0}.vs__dropdown-menu--floating-placement-top{border-radius:var(--vs-border-radius) var(--vs-border-radius) 0 0!important;border-top-style:var(--vs-border-style)!important;border-bottom-style:none!important;box-shadow:0 -2px 0 var(--color-main-background),-2px 0 0 var(--color-main-background),2px 0 0 var(--color-main-background),!important}.vs__dropdown-menu .vs__dropdown-option{border-radius:6px!important}.vs__dropdown-menu .vs__no-options{color:var(--color-text-lighter)!important}.user-select .vs__selected{padding-inline:0 5px!important}.material-design-icon[data-v-f6384352]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.name-parts[data-v-f6384352]{display:flex;max-width:100%;cursor:inherit}.name-parts__first[data-v-f6384352]{overflow:hidden;text-overflow:ellipsis}.name-parts__first[data-v-f6384352],.name-parts__last[data-v-f6384352]{white-space:pre;cursor:inherit}.name-parts__first strong[data-v-f6384352],.name-parts__last strong[data-v-f6384352]{font-weight:700}.material-design-icon[data-v-a0f4d73a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.option[data-v-a0f4d73a]{display:flex;align-items:center;width:100%;height:var(--height);cursor:inherit}.option__avatar[data-v-a0f4d73a]{margin-right:var(--margin)}.option__details[data-v-a0f4d73a]{display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:0}.option__lineone[data-v-a0f4d73a]{color:var(--color-main-text)}.option__linetwo[data-v-a0f4d73a]{color:var(--color-text-maxcontrast)}.option__lineone[data-v-a0f4d73a],.option__linetwo[data-v-a0f4d73a]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.2}.option__lineone strong[data-v-a0f4d73a],.option__linetwo strong[data-v-a0f4d73a]{font-weight:700}.option--compact .option__lineone[data-v-a0f4d73a]{font-size:14px}.option--compact .option__linetwo[data-v-a0f4d73a]{font-size:11px;line-height:1.5;margin-top:-4px}.option__icon[data-v-a0f4d73a]{width:var(--default-clickable-area);height:var(--default-clickable-area);color:var(--color-text-maxcontrast)}.option__icon.icon[data-v-a0f4d73a]{flex:0 0 var(--default-clickable-area);opacity:.7;background-position:center;background-size:16px}.option__details[data-v-a0f4d73a],.option__lineone[data-v-a0f4d73a],.option__linetwo[data-v-a0f4d73a],.option__icon[data-v-a0f4d73a]{cursor:inherit}:host,:root{--vs-colors--lightest:rgba(60,60,60,.26);--vs-colors--light:rgba(60,60,60,.5);--vs-colors--dark:#333;--vs-colors--darkest:rgba(0,0,0,.15);--vs-search-input-color:inherit;--vs-search-input-bg:#fff;--vs-search-input-placeholder-color:inherit;--vs-font-size:1rem;--vs-line-height:1.4;--vs-state-disabled-bg:#f8f8f8;--vs-state-disabled-color:var(--vs-colors--light);--vs-state-disabled-controls-color:var(--vs-colors--light);--vs-state-disabled-cursor:not-allowed;--vs-border-color:var(--vs-colors--lightest);--vs-border-width:1px;--vs-border-style:solid;--vs-border-radius:4px;--vs-actions-padding:4px 6px 0 3px;--vs-controls-color:var(--vs-colors--light);--vs-controls-size:1;--vs-controls--deselect-text-shadow:0 1px 0 #fff;--vs-selected-bg:#f0f0f0;--vs-selected-color:var(--vs-colors--dark);--vs-selected-border-color:var(--vs-border-color);--vs-selected-border-style:var(--vs-border-style);--vs-selected-border-width:var(--vs-border-width);--vs-dropdown-bg:#fff;--vs-dropdown-color:inherit;--vs-dropdown-z-index:1000;--vs-dropdown-min-width:160px;--vs-dropdown-max-height:350px;--vs-dropdown-box-shadow:0px 3px 6px 0px var(--vs-colors--darkest);--vs-dropdown-option-bg:#000;--vs-dropdown-option-color:var(--vs-dropdown-color);--vs-dropdown-option-padding:3px 20px;--vs-dropdown-option--active-bg:#136cfb;--vs-dropdown-option--active-color:#fff;--vs-dropdown-option--kb-focus-box-shadow:inset 0px 0px 0px 2px #949494;--vs-dropdown-option--deselect-bg:#fb5858;--vs-dropdown-option--deselect-color:#fff;--vs-transition-timing-function:cubic-bezier(1,-.115,.975,.855);--vs-transition-duration:.15s}.v-select{font-family:inherit;position:relative}.v-select,.v-select *{box-sizing:border-box}:root{--vs-transition-timing-function:cubic-bezier(1,.5,.8,1);--vs-transition-duration:.15s}@-webkit-keyframes vSelectSpinner{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes vSelectSpinner{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.vs__fade-enter-active,.vs__fade-leave-active{pointer-events:none;transition:opacity var(--vs-transition-duration) var(--vs-transition-timing-function)}.vs__fade-enter,.vs__fade-leave-to{opacity:0}:root{--vs-disabled-bg:var(--vs-state-disabled-bg);--vs-disabled-color:var(--vs-state-disabled-color);--vs-disabled-cursor:var(--vs-state-disabled-cursor)}.vs--disabled .vs__clear,.vs--disabled .vs__dropdown-toggle,.vs--disabled .vs__open-indicator,.vs--disabled .vs__open-indicator-button,.vs--disabled .vs__search,.vs--disabled .vs__selected{background-color:var(--vs-disabled-bg);cursor:var(--vs-disabled-cursor)}.v-select[dir=rtl] .vs__actions{padding:0 3px 0 6px}.v-select[dir=rtl] .vs__clear{margin-left:6px;margin-right:0}.v-select[dir=rtl] .vs__deselect{margin-left:0;margin-right:2px}.v-select[dir=rtl] .vs__dropdown-menu{text-align:right}.vs__dropdown-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--vs-search-input-bg);border:var(--vs-border-width) var(--vs-border-style) var(--vs-border-color);border-radius:var(--vs-border-radius);display:flex;padding:0 0 4px;white-space:normal}.vs__selected-options{display:flex;flex-basis:100%;flex-grow:1;flex-wrap:wrap;min-width:0;padding:0 2px;position:relative}.vs__actions{align-items:center;display:flex;padding:var(--vs-actions-padding)}.vs--searchable .vs__dropdown-toggle{cursor:text}.vs--unsearchable .vs__dropdown-toggle{cursor:pointer}.vs--open .vs__dropdown-toggle{border-bottom-color:transparent;border-bottom-left-radius:0;border-bottom-right-radius:0}.vs__open-indicator-button{background-color:transparent;border:0;cursor:pointer;padding:0}.vs__open-indicator{fill:var(--vs-controls-color);transform:scale(var(--vs-controls-size));transition:transform var(--vs-transition-duration) var(--vs-transition-timing-function);transition-timing-function:var(--vs-transition-timing-function)}.vs--open .vs__open-indicator{transform:rotate(180deg) scale(var(--vs-controls-size))}.vs--loading .vs__open-indicator{opacity:0}.vs__clear{fill:var(--vs-controls-color);background-color:transparent;border:0;cursor:pointer;margin-right:8px;padding:0}.vs__dropdown-menu{background:var(--vs-dropdown-bg);border:var(--vs-border-width) var(--vs-border-style) var(--vs-border-color);border-radius:0 0 var(--vs-border-radius) var(--vs-border-radius);border-top-style:none;box-shadow:var(--vs-dropdown-box-shadow);box-sizing:border-box;color:var(--vs-dropdown-color);display:block;left:0;list-style:none;margin:0;max-height:var(--vs-dropdown-max-height);min-width:var(--vs-dropdown-min-width);overflow-y:auto;padding:5px 0;position:absolute;text-align:left;top:calc(100% - var(--vs-border-width));width:100%;z-index:var(--vs-dropdown-z-index)}.vs__no-options{text-align:center}.vs__dropdown-option{clear:both;color:var(--vs-dropdown-option-color);cursor:pointer;display:block;line-height:1.42857143;padding:var(--vs-dropdown-option-padding);white-space:nowrap}.vs__dropdown-option--highlight{background:var(--vs-dropdown-option--active-bg);color:var(--vs-dropdown-option--active-color)}.vs__dropdown-option--kb-focus{box-shadow:var(--vs-dropdown-option--kb-focus-box-shadow)}.vs__dropdown-option--deselect{background:var(--vs-dropdown-option--deselect-bg);color:var(--vs-dropdown-option--deselect-color)}.vs__dropdown-option--disabled{background:var(--vs-state-disabled-bg);color:var(--vs-state-disabled-color);cursor:var(--vs-state-disabled-cursor)}.vs__selected{align-items:center;background-color:var(--vs-selected-bg);border:var(--vs-selected-border-width) var(--vs-selected-border-style) var(--vs-selected-border-color);border-radius:var(--vs-border-radius);color:var(--vs-selected-color);display:flex;line-height:var(--vs-line-height);margin:4px 2px 0;min-width:0;padding:0 .25em;z-index:0}.vs__deselect{fill:var(--vs-controls-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;cursor:pointer;display:inline-flex;margin-left:4px;padding:0;text-shadow:var(--vs-controls--deselect-text-shadow)}.vs--single .vs__selected{background-color:transparent;border-color:transparent}.vs--single.vs--loading .vs__selected,.vs--single.vs--open .vs__selected{max-width:100%;opacity:.4;position:absolute}.vs--single.vs--searching .vs__selected{display:none}.vs__search::-webkit-search-cancel-button{display:none}.vs__search::-ms-clear,.vs__search::-webkit-search-decoration,.vs__search::-webkit-search-results-button,.vs__search::-webkit-search-results-decoration{display:none}.vs__search,.vs__search:focus{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:1px solid transparent;border-left:none;box-shadow:none;color:var(--vs-search-input-color);flex-grow:1;font-size:var(--vs-font-size);line-height:var(--vs-line-height);margin:4px 0 0;max-width:100%;outline:none;padding:0 7px;width:0;z-index:1}.vs__search::-moz-placeholder{color:var(--vs-search-input-placeholder-color)}.vs__search:-ms-input-placeholder{color:var(--vs-search-input-placeholder-color)}.vs__search::placeholder{color:var(--vs-search-input-placeholder-color)}.vs--unsearchable .vs__search{opacity:1}.vs--unsearchable:not(.vs--disabled) .vs__search{cursor:pointer}.vs--single.vs--searching:not(.vs--open):not(.vs--loading) .vs__search{opacity:.2}.vs__spinner{align-self:center;-webkit-animation:vSelectSpinner 1.1s linear infinite;animation:vSelectSpinner 1.1s linear infinite;border:.9em solid hsla(0,0%,39%,.1);border-left-color:#3c3c3c73;font-size:5px;opacity:0;overflow:hidden;text-indent:-9999em;transform:translateZ(0) scale(var(--vs-controls--spinner-size,var(--vs-controls-size)));transition:opacity .1s}.vs__spinner,.vs__spinner:after{border-radius:50%;height:5em;transform:scale(var(--vs-controls--spinner-size,var(--vs-controls-size)));width:5em}.vs--loading .vs__spinner{opacity:1}.material-design-icon[data-v-8f3abf17]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.input-field[data-v-8f3abf17]{--input-border-radius: var(--border-radius-element, var(--border-radius-large));--input-padding-start: var(--border-radius-large);--input-padding-end: var(--border-radius-large);position:relative;width:100%;margin-block-start:6px}.input-field--disabled[data-v-8f3abf17]{opacity:.4;filter:saturate(.4)}.input-field--label-outside[data-v-8f3abf17]{margin-block-start:0}.input-field--leading-icon[data-v-8f3abf17]{--input-padding-start: calc(var(--default-clickable-area) - var(--default-grid-baseline))}.input-field--trailing-icon[data-v-8f3abf17]{--input-padding-end: calc(var(--default-clickable-area) - var(--default-grid-baseline))}.input-field--pill[data-v-8f3abf17]{--input-border-radius: var(--border-radius-pill)}.input-field__main-wrapper[data-v-8f3abf17]{height:var(--default-clickable-area);position:relative}.input-field__input[data-v-8f3abf17]{--input-border-width-offset: calc(var(--border-width-input-focused, 2px) - var(--border-width-input, 2px));background-color:var(--color-main-background);color:var(--color-main-text);border:var(--border-width-input, 2px) solid var(--color-border-maxcontrast);border-radius:var(--input-border-radius);cursor:pointer;-webkit-appearance:textfield!important;-moz-appearance:textfield!important;appearance:textfield!important;font-size:var(--default-font-size);text-overflow:ellipsis;height:calc(var(--default-clickable-area) - 2 * var(--input-border-width-offset))!important;width:100%;padding-inline:calc(var(--input-padding-start) + var(--input-border-width-offset)) calc(var(--input-padding-end) + var(--input-border-width-offset));padding-block:var(--input-border-width-offset)}.input-field__input[data-v-8f3abf17]::placeholder{color:var(--color-text-maxcontrast)}.input-field__input[data-v-8f3abf17]:active:not([disabled]),.input-field__input[data-v-8f3abf17]:hover:not([disabled]),.input-field__input[data-v-8f3abf17]:focus:not([disabled]){border-color:var(--color-main-text);border-width:var(--border-width-input-focused, 2px);box-shadow:0 0 0 2px var(--color-main-background)!important;--input-border-width-offset: 0px}.input-field__input:focus+.input-field__label[data-v-8f3abf17],.input-field__input:hover:not(:placeholder-shown)+.input-field__label[data-v-8f3abf17]{color:var(--color-main-text)}.input-field__input[data-v-8f3abf17]:focus{cursor:text}.input-field__input[data-v-8f3abf17]:disabled{cursor:default}.input-field__input[data-v-8f3abf17]:focus-visible{box-shadow:unset!important}.input-field__input--success[data-v-8f3abf17]{border-color:var(--color-success)!important}.input-field__input--success[data-v-8f3abf17]:focus-visible{box-shadow:#f8fafc 0 0 0 2px,var(--color-primary-element) 0 0 0 4px,#0000000d 0 1px 2px}.input-field__input--error[data-v-8f3abf17],.input-field__input[data-v-8f3abf17]:user-invalid{border-color:var(--color-error)!important}.input-field__input--error[data-v-8f3abf17]:focus-visible,.input-field__input[data-v-8f3abf17]:user-invalid:focus-visible{box-shadow:#f8fafc 0 0 0 2px,var(--color-primary-element) 0 0 0 4px,#0000000d 0 1px 2px}.input-field:not(.input-field--label-outside) .input-field__input[data-v-8f3abf17]:not(:focus)::placeholder{opacity:0}.input-field__label[data-v-8f3abf17]{--input-label-font-size: var(--default-font-size);position:absolute;margin-inline:var(--input-padding-start) var(--input-padding-end);max-width:fit-content;font-size:var(--input-label-font-size);inset-block-start:calc((var(--default-clickable-area) - 1lh) / 2);inset-inline:var(--border-width-input-focused, 2px);color:var(--color-text-maxcontrast);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;transition:height var(--animation-quick),inset-block-start var(--animation-quick),font-size var(--animation-quick),color var(--animation-quick),background-color var(--animation-quick) var(--animation-slow)}.input-field__input:focus+.input-field__label[data-v-8f3abf17],.input-field__input:not(:placeholder-shown)+.input-field__label[data-v-8f3abf17]{--input-label-font-size: 13px;line-height:1.5;inset-block-start:calc(-1.5 * var(--input-label-font-size) / 2);font-weight:500;border-radius:var(--default-grid-baseline) var(--default-grid-baseline) 0 0;background-color:var(--color-main-background);padding-inline:var(--default-grid-baseline);margin-inline:calc(var(--input-padding-start) - var(--default-grid-baseline)) calc(var(--input-padding-end) - var(--default-grid-baseline));transition:height var(--animation-quick),inset-block-start var(--animation-quick),font-size var(--animation-quick),color var(--animation-quick)}.input-field__icon[data-v-8f3abf17]{position:absolute;height:var(--default-clickable-area);width:var(--default-clickable-area);display:flex;align-items:center;justify-content:center;opacity:.7;inset-block-end:0}.input-field__icon--leading[data-v-8f3abf17]{inset-inline-start:0px}.input-field__icon--trailing[data-v-8f3abf17]{inset-inline-end:0px}.input-field__trailing-button[data-v-8f3abf17]{--button-size: calc(var(--default-clickable-area) - 2 * var(--border-width-input-focused, 2px)) !important;--button-radius: calc(var(--input-border-radius) - var(--border-width-input-focused, 2px))}.input-field__trailing-button.button-vue[data-v-8f3abf17]{position:absolute;top:var(--border-width-input-focused, 2px);inset-inline-end:var(--border-width-input-focused, 2px)}.input-field__trailing-button.button-vue[data-v-8f3abf17]:focus-visible{box-shadow:none!important}.input-field__helper-text-message[data-v-8f3abf17]{padding-block:4px;padding-inline:var(--border-radius-large);display:flex;align-items:center;color:var(--color-text-maxcontrast)}.input-field__helper-text-message__icon[data-v-8f3abf17]{margin-inline-end:8px}.input-field__helper-text-message--error[data-v-8f3abf17]{color:var(--color-error-text)}.input-field__helper-text-message--success[data-v-8f3abf17]{color:var(--color-success-text)}.material-design-icon[data-v-a62a9496]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.user-bubble__wrapper[data-v-a62a9496]{display:inline-block;vertical-align:middle;min-width:0;max-width:100%}.user-bubble__content[data-v-a62a9496]{display:inline-flex;max-width:100%;background-color:var(--color-background-dark)}.user-bubble__content--primary[data-v-a62a9496]{color:var(--color-primary-element-text);background-color:var(--color-primary-element)}.user-bubble__content[data-v-a62a9496]>:last-child{padding-inline-end:8px}.user-bubble__avatar[data-v-a62a9496]{align-self:center}.user-bubble__name[data-v-a62a9496]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.user-bubble__name[data-v-a62a9496],.user-bubble__secondary[data-v-a62a9496]{padding-block:0;padding-inline:4px 0}.rich-text-file .icon-home[data-v-cd05a281]{display:inline-block;vertical-align:text-top}strong[data-v-0c35aeca]{padding:2px 5px;border-radius:3px;background-color:var(--color-background-darker);font-weight:400}.comments-activity[data-v-db00abc4]{display:flex;flex-wrap:nowrap;align-items:flex-start;width:100%;min-height:32px;padding:8px 0;gap:8px}.comments-activity__icon[data-v-db00abc4]{flex:0 0 fit-content}.comments-activity__content[data-v-db00abc4]{flex:1 0;display:flex;flex-direction:column;width:100%}.comments-activity__title[data-v-db00abc4]{color:var(--color-text-maxcontrast);display:flex;flex-direction:row;justify-content:space-between}.comments-activity__date[data-v-db00abc4]{color:var(--color-text-maxcontrast)}.activity-entry[data-v-2fba3404]{display:flex;flex-wrap:wrap;align-items:flex-start;width:100%;height:var(--height);min-height:32px;padding:8px 0}.activity-entry__icon[data-v-2fba3404]{opacity:.5;margin-top:2px}.activity-entry .avatardiv[data-v-2fba3404]{box-sizing:content-box!important;background-color:unset!important}.activity-entry .avatardiv[data-v-2fba3404] img{border-radius:0!important}.activity-entry__content[data-v-2fba3404]{display:flex;flex-basis:min-content;flex-direction:column;flex-grow:1;overflow-wrap:break-word;white-space:pre-wrap;word-break:break-word;overflow:hidden}.activity-entry__content__subject[data-v-2fba3404]{padding:0 5px}.activity-entry__content__message[data-v-2fba3404]{color:var(--color-text-lighter)}.activity-entry__content[data-v-2fba3404] a{font-weight:700}.activity-entry__content[data-v-2fba3404] a:hover{opacity:.7;text-decoration:underline}.activity-entry__actions[data-v-2fba3404]{inset-block:-8px}.activity-entry__date[data-v-2fba3404]{color:var(--color-text-lighter);margin-left:5px;flex-shrink:0}.activity-entry__preview-wrapper[data-v-2fba3404]{flex:0 0 100%;gap:12px;padding-inline-start:24px;display:flex;flex-wrap:wrap}.activity-entry__preview[data-v-2fba3404]:hover{opacity:.75}.activity-entry__preview-image[data-v-2fba3404]{height:50px;width:50px}.activity-entry__preview-image[data-v-2fba3404]:not(.activity-entry__preview-mimetype){border:2px solid var(--color-border);border-radius:var(--border-radius-large)}.activity-entry__preview-image[data-v-2fba3404]:not(.activity-entry__preview-mimetype):hover{border-color:var(--color-main-text);outline:2px solid var(--color-main-background)}')),document.head.appendChild(a)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})(); /*! third party licenses: js/vendor.LICENSE.txt */ -import{A as rh,n as Cu,l as on,r as zu,D as ah,E as sh,a as ru,f as ct,v as Ot,F as ih,_ as Ko,H as hi,I as oh,J as lh,e as dh,N as ch,b as Ea,w as mh,K as _h,L as hh,M as fh,O as ph,G as Zr,P as Dh,q as yh,Q as gh,R as Eh,S as Ch,T as Ah,U as Mh,V as fi,W as Lh,X as vh,Y as Bh,Z as kh,$ as Fh,a0 as xh,a1 as Yh,y as wh,a2 as bh,c as Ru}from"./NcCheckboxRadioSwitch-Di9rSADK-CehrbmLY.chunk.mjs";import{e as se,l as En,m as Th,p as Sh,V as Zo,u as q0,a as Hh,b as jh,q as Oh,v as Ph,w as Cn,c as Tu,x as Ih,y as Wh,o as Qo,z as Xo,n as zh,t as ln,d as An,g as Nh}from"./translation-CD_FiYBO-Bp9rUH-Z.chunk.mjs";import{c as Ca,g as g0}from"./_commonjsHelpers-BdswosdL.chunk.mjs";import{a as Rh,g as Uh,b as D0,u as Fr,s as xr,l as Vh}from"./logger-BtUR_6uh.chunk.mjs";import{_ as $h}from"./preload-helper-CfzTJz-5.chunk.mjs";function he(u,t){for(var n in t)u[n]=t[n];return u}var Jh=/[!'()*]/g,qh=function(u){return"%"+u.charCodeAt(0).toString(16)},Gh=/%2C/g,Tt=function(u){return encodeURIComponent(u).replace(Jh,qh).replace(Gh,",")};function Qr(u){try{return decodeURIComponent(u)}catch{}return u}function Kh(u,t,n){t===void 0&&(t={});var r=n||Zh,s;try{s=r(u||"")}catch{s={}}for(var i in t){var o=t[i];s[i]=Array.isArray(o)?o.map(pi):pi(o)}return s}var pi=function(u){return u==null||typeof u=="object"?u:String(u)};function Zh(u){var t={};return u=u.trim().replace(/^(\?|#|&)/,""),u&&u.split("&").forEach(function(n){var r=n.replace(/\+/g," ").split("="),s=Qr(r.shift()),i=r.length>0?Qr(r.join("=")):null;t[s]===void 0?t[s]=i:Array.isArray(t[s])?t[s].push(i):t[s]=[t[s],i]}),t}function Qh(u){var t=u?Object.keys(u).map(function(n){var r=u[n];if(r===void 0)return"";if(r===null)return Tt(n);if(Array.isArray(r)){var s=[];return r.forEach(function(i){i!==void 0&&(i===null?s.push(Tt(n)):s.push(Tt(n)+"="+Tt(i)))}),s.join("&")}return Tt(n)+"="+Tt(r)}).filter(function(n){return n.length>0}).join("&"):null;return t?"?"+t:""}var dn=/\/?$/;function cn(u,t,n,r){var s=r&&r.options.stringifyQuery,i=t.query||{};try{i=Xr(i)}catch{}var o={name:t.name||u&&u.name,meta:u&&u.meta||{},path:t.path||"/",hash:t.hash||"",query:i,params:t.params||{},fullPath:Di(t,s),matched:u?Xh(u):[]};return n&&(o.redirectedFrom=Di(n,s)),Object.freeze(o)}function Xr(u){if(Array.isArray(u))return u.map(Xr);if(u&&typeof u=="object"){var t={};for(var n in u)t[n]=Xr(u[n]);return t}else return u}var Xe=cn(null,{path:"/"});function Xh(u){for(var t=[];u;)t.unshift(u),u=u.parent;return t}function Di(u,t){var n=u.path,r=u.query;r===void 0&&(r={});var s=u.hash;s===void 0&&(s="");var i=t||Qh;return(n||"/")+i(r)+s}function ul(u,t,n){return t===Xe?u===t:t?u.path&&t.path?u.path.replace(dn,"")===t.path.replace(dn,"")&&(n||u.hash===t.hash&&G0(u.query,t.query)):u.name&&t.name?u.name===t.name&&(n||u.hash===t.hash&&G0(u.query,t.query)&&G0(u.params,t.params)):!1:!1}function G0(u,t){if(u===void 0&&(u={}),t===void 0&&(t={}),!u||!t)return u===t;var n=Object.keys(u).sort(),r=Object.keys(t).sort();return n.length!==r.length?!1:n.every(function(s,i){var o=u[s],d=r[i];if(d!==s)return!1;var m=t[s];return o==null||m==null?o===m:typeof o=="object"&&typeof m=="object"?G0(o,m):String(o)===String(m)})}function u6(u,t){return u.path.replace(dn,"/").indexOf(t.path.replace(dn,"/"))===0&&(!t.hash||u.hash===t.hash)&&e6(u.query,t.query)}function e6(u,t){for(var n in t)if(!(n in u))return!1;return!0}function el(u){for(var t=0;t=0&&(t=u.slice(r),u=u.slice(0,r));var s=u.indexOf("?");return s>=0&&(n=u.slice(s+1),u=u.slice(0,s)),{path:u,query:n,hash:t}}function Ge(u){return u.replace(/\/(?:\s*\/)+/g,"/")}var mn=Array.isArray||function(u){return Object.prototype.toString.call(u)=="[object Array]"},Pt=al,a6=Aa,s6=d6,i6=nl,o6=rl,l6=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function Aa(u,t){for(var n=[],r=0,s=0,i="",o=t&&t.delimiter||"/",d;(d=l6.exec(u))!=null;){var m=d[0],_=d[1],f=d.index;if(i+=u.slice(s,f),s=f+m.length,_){i+=_[1];continue}var h=u[s],g=d[2],D=d[3],E=d[4],C=d[5],A=d[6],B=d[7];i&&(n.push(i),i="");var b=g!=null&&h!=null&&h!==g,T=A==="+"||A==="*",O=A==="?"||A==="*",W=d[2]||o,Y=E||C;n.push({name:D||r++,prefix:g||"",delimiter:W,optional:O,repeat:T,partial:b,asterisk:!!B,pattern:Y?_6(Y):B?".*":"[^"+K0(W)+"]+?"})}return s1||!O.length)return O.length===0?u():u("span",{},O)}if(this.tag==="a")T.on=b,T.attrs={href:d,"aria-current":A};else{var W=sl(this.$slots.default);if(W){W.isStatic=!1;var Y=W.data=he({},W.data);Y.on=Y.on||{};for(var V in Y.on){var J=Y.on[V];V in b&&(Y.on[V]=Array.isArray(J)?J:[J])}for(var $ in b)$ in Y.on?Y.on[$].push(b[$]):Y.on[$]=B;var y=W.data.attrs=he({},W.data.attrs);y.href=d,y["aria-current"]=A}else T.on=b}return u(this.tag,T,this.$slots.default)}};function Ci(u){if(!(u.metaKey||u.altKey||u.ctrlKey||u.shiftKey)&&!u.defaultPrevented&&!(u.button!==void 0&&u.button!==0)){if(u.currentTarget&&u.currentTarget.getAttribute){var t=u.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return u.preventDefault&&u.preventDefault(),!0}}function sl(u){if(u){for(var t,n=0;n-1&&(A.params[O]=E.params[O]);return A.path=Z0(b.path,A.params),g(b,A,C)}else if(A.path){A.params={};for(var W=0;W-1}function pn(u,t){return fn(u)&&u._isRouter&&(t==null||u.type===t)}function ki(u,t,n){var r=function(s){s>=u.length?n():u[s]?t(u[s],function(){r(s+1)}):r(s+1)};r(0)}function S6(u){return function(t,n,r){var s=!1,i=0,o=null;_l(u,function(d,m,_,f){if(typeof d=="function"&&d.cid===void 0){s=!0,i++;var h=Fi(function(C){j6(C)&&(C=C.default),d.resolved=typeof C=="function"?C:_n.extend(C),_.components[f]=C,i--,i<=0&&r()}),g=Fi(function(C){var A="Failed to resolve async component "+f+": "+C;o||(o=fn(C)?C:new Error(A),r(o))}),D;try{D=d(h,g)}catch(C){g(C)}if(D)if(typeof D.then=="function")D.then(h,g);else{var E=D.component;E&&typeof E.then=="function"&&E.then(h,g)}}}),s||r()}}function _l(u,t){return hl(u.map(function(n){return Object.keys(n.components).map(function(r){return t(n.components[r],n.instances[r],n,r)})}))}function hl(u){return Array.prototype.concat.apply([],u)}var H6=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol";function j6(u){return u.__esModule||H6&&u[Symbol.toStringTag]==="Module"}function Fi(u){var t=!1;return function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];if(!t)return t=!0,u.apply(this,n)}}var _e=function(u,t){this.router=u,this.base=O6(t),this.current=Xe,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};_e.prototype.listen=function(u){this.cb=u},_e.prototype.onReady=function(u,t){this.ready?u():(this.readyCbs.push(u),t&&this.readyErrorCbs.push(t))},_e.prototype.onError=function(u){this.errorCbs.push(u)},_e.prototype.transitionTo=function(u,t,n){var r=this,s;try{s=this.router.match(u,this.current)}catch(o){throw this.errorCbs.forEach(function(d){d(o)}),o}var i=this.current;this.confirmTransition(s,function(){r.updateRoute(s),t&&t(s),r.ensureURL(),r.router.afterHooks.forEach(function(o){o&&o(s,i)}),r.ready||(r.ready=!0,r.readyCbs.forEach(function(o){o(s)}))},function(o){n&&n(o),o&&!r.ready&&(!pn(o,ht.redirected)||i!==Xe)&&(r.ready=!0,r.readyErrorCbs.forEach(function(d){d(o)}))})},_e.prototype.confirmTransition=function(u,t,n){var r=this,s=this.current;this.pending=u;var i=function(E){!pn(E)&&fn(E)&&(r.errorCbs.length?r.errorCbs.forEach(function(C){C(E)}):console.error(E)),n&&n(E)},o=u.matched.length-1,d=s.matched.length-1;if(ul(u,s)&&o===d&&u.matched[o]===s.matched[d])return this.ensureURL(),u.hash&&Ke(this.router,s,u,!1),i(Y6(s,u));var m=P6(this.current.matched,u.matched),_=m.updated,f=m.deactivated,h=m.activated,g=[].concat(W6(f),this.router.beforeHooks,z6(_),h.map(function(E){return E.beforeEnter}),S6(h)),D=function(E,C){if(r.pending!==u)return i(Bi(s,u));try{E(u,s,function(A){A===!1?(r.ensureURL(!0),i(w6(s,u))):fn(A)?(r.ensureURL(!0),i(A)):typeof A=="string"||typeof A=="object"&&(typeof A.path=="string"||typeof A.name=="string")?(i(x6(s,u)),typeof A=="object"&&A.replace?r.replace(A):r.push(A)):C(A)})}catch(A){i(A)}};ki(g,D,function(){var E=N6(h),C=E.concat(r.router.resolveHooks);ki(C,D,function(){if(r.pending!==u)return i(Bi(s,u));r.pending=null,t(u),r.router.app&&r.router.app.$nextTick(function(){el(u)})})})},_e.prototype.updateRoute=function(u){this.current=u,this.cb&&this.cb(u)},_e.prototype.setupListeners=function(){},_e.prototype.teardown=function(){this.listeners.forEach(function(u){u()}),this.listeners=[],this.current=Xe,this.pending=null};function O6(u){if(!u)if(E0){var t=document.querySelector("base");u=t&&t.getAttribute("href")||"/",u=u.replace(/^https?:\/\/[^\/]+/,"")}else u="/";return u.charAt(0)!=="/"&&(u="/"+u),u.replace(/\/$/,"")}function P6(u,t){var n,r=Math.max(u.length,t.length);for(n=0;n0)){var r=this.router,s=r.options.scrollBehavior,i=Ze&&s;i&&this.listeners.push(cl());var o=function(){var d=n.current,m=d0(n.base);n.current===Xe&&m===n._startLocation||n.transitionTo(m,function(_){i&&Ke(r,_,d,!0)})};window.addEventListener("popstate",o),this.listeners.push(function(){window.removeEventListener("popstate",o)})}},t.prototype.go=function(n){window.history.go(n)},t.prototype.push=function(n,r,s){var i=this,o=this,d=o.current;this.transitionTo(n,function(m){hn(Ge(i.base+m.fullPath)),Ke(i.router,m,d,!1),r&&r(m)},s)},t.prototype.replace=function(n,r,s){var i=this,o=this,d=o.current;this.transitionTo(n,function(m){ta(Ge(i.base+m.fullPath)),Ke(i.router,m,d,!1),r&&r(m)},s)},t.prototype.ensureURL=function(n){if(d0(this.base)!==this.current.fullPath){var r=Ge(this.base+this.current.fullPath);n?hn(r):ta(r)}},t.prototype.getCurrentLocation=function(){return d0(this.base)},t}(_e);function d0(u){var t=window.location.pathname,n=t.toLowerCase(),r=u.toLowerCase();return u&&(n===r||n.indexOf(Ge(r+"/"))===0)&&(t=t.slice(u.length)),(t||"/")+window.location.search+window.location.hash}var Dl=function(u){function t(n,r,s){u.call(this,n,r),!(s&&U6(this.base))&&xi()}return u&&(t.__proto__=u),t.prototype=Object.create(u&&u.prototype),t.prototype.constructor=t,t.prototype.setupListeners=function(){var n=this;if(!(this.listeners.length>0)){var r=this.router,s=r.options.scrollBehavior,i=Ze&&s;i&&this.listeners.push(cl());var o=function(){var m=n.current;xi()&&n.transitionTo(Q0(),function(_){i&&Ke(n.router,_,m,!0),Ze||X0(_.fullPath)})},d=Ze?"popstate":"hashchange";window.addEventListener(d,o),this.listeners.push(function(){window.removeEventListener(d,o)})}},t.prototype.push=function(n,r,s){var i=this,o=this,d=o.current;this.transitionTo(n,function(m){Yi(m.fullPath),Ke(i.router,m,d,!1),r&&r(m)},s)},t.prototype.replace=function(n,r,s){var i=this,o=this,d=o.current;this.transitionTo(n,function(m){X0(m.fullPath),Ke(i.router,m,d,!1),r&&r(m)},s)},t.prototype.go=function(n){window.history.go(n)},t.prototype.ensureURL=function(n){var r=this.current.fullPath;Q0()!==r&&(n?Yi(r):X0(r))},t.prototype.getCurrentLocation=function(){return Q0()},t}(_e);function U6(u){var t=d0(u);if(!/^\/#/.test(t))return window.location.replace(Ge(u+"/#"+t)),!0}function xi(){var u=Q0();return u.charAt(0)==="/"?!0:(X0("/"+u),!1)}function Q0(){var u=window.location.href,t=u.indexOf("#");return t<0?"":(u=u.slice(t+1),u)}function na(u){var t=window.location.href,n=t.indexOf("#"),r=n>=0?t.slice(0,n):t;return r+"#"+u}function Yi(u){Ze?hn(na(u)):window.location.hash=u}function X0(u){Ze?ta(na(u)):window.location.replace(na(u))}var V6=function(u){function t(n,r){u.call(this,n,r),this.stack=[],this.index=-1}return u&&(t.__proto__=u),t.prototype=Object.create(u&&u.prototype),t.prototype.constructor=t,t.prototype.push=function(n,r,s){var i=this;this.transitionTo(n,function(o){i.stack=i.stack.slice(0,i.index+1).concat(o),i.index++,r&&r(o)},s)},t.prototype.replace=function(n,r,s){var i=this;this.transitionTo(n,function(o){i.stack=i.stack.slice(0,i.index).concat(o),r&&r(o)},s)},t.prototype.go=function(n){var r=this,s=this.index+n;if(!(s<0||s>=this.stack.length)){var i=this.stack[s];this.confirmTransition(i,function(){var o=r.current;r.index=s,r.updateRoute(i),r.router.afterHooks.forEach(function(d){d&&d(i,o)})},function(o){pn(o,ht.duplicated)&&(r.index=s)})}},t.prototype.getCurrentLocation=function(){var n=this.stack[this.stack.length-1];return n?n.fullPath:"/"},t.prototype.ensureURL=function(){},t}(_e),cu=function(u){u===void 0&&(u={}),this.app=null,this.apps=[],this.options=u,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=C6(u.routes||[],this);var t=u.mode||"hash";switch(this.fallback=t==="history"&&!Ze&&u.fallback!==!1,this.fallback&&(t="hash"),E0||(t="abstract"),this.mode=t,t){case"history":this.history=new pl(this,u.base);break;case"hash":this.history=new Dl(this,u.base,this.fallback);break;case"abstract":this.history=new V6(this,u.base);break}},wi={currentRoute:{configurable:!0}};cu.prototype.match=function(u,t,n){return this.matcher.match(u,t,n)},wi.currentRoute.get=function(){return this.history&&this.history.current},cu.prototype.init=function(u){var t=this;if(this.apps.push(u),u.$once("hook:destroyed",function(){var i=t.apps.indexOf(u);i>-1&&t.apps.splice(i,1),t.app===u&&(t.app=t.apps[0]||null),t.app||t.history.teardown()}),!this.app){this.app=u;var n=this.history;if(n instanceof pl||n instanceof Dl){var r=function(i){var o=n.current,d=t.options.scrollBehavior,m=Ze&&d;m&&"fullPath"in i&&Ke(t,i,o,!1)},s=function(i){n.setupListeners(),r(i)};n.transitionTo(n.getCurrentLocation(),s,s)}n.listen(function(i){t.apps.forEach(function(o){o._route=i})})}},cu.prototype.beforeEach=function(u){return Yr(this.beforeHooks,u)},cu.prototype.beforeResolve=function(u){return Yr(this.resolveHooks,u)},cu.prototype.afterEach=function(u){return Yr(this.afterHooks,u)},cu.prototype.onReady=function(u,t){this.history.onReady(u,t)},cu.prototype.onError=function(u){this.history.onError(u)},cu.prototype.push=function(u,t,n){var r=this;if(!t&&!n&&typeof Promise<"u")return new Promise(function(s,i){r.history.push(u,s,i)});this.history.push(u,t,n)},cu.prototype.replace=function(u,t,n){var r=this;if(!t&&!n&&typeof Promise<"u")return new Promise(function(s,i){r.history.replace(u,s,i)});this.history.replace(u,t,n)},cu.prototype.go=function(u){this.history.go(u)},cu.prototype.back=function(){this.go(-1)},cu.prototype.forward=function(){this.go(1)},cu.prototype.getMatchedComponents=function(u){var t=u?u.matched?u:this.resolve(u).route:this.currentRoute;return t?[].concat.apply([],t.matched.map(function(n){return Object.keys(n.components).map(function(r){return n.components[r]})})):[]},cu.prototype.resolve=function(u,t,n){t=t||this.history.current;var r=va(u,t,n,this),s=this.match(r,t),i=s.redirectedFrom||s.fullPath,o=this.history.base,d=$6(o,i,this.mode);return{location:r,route:s,href:d,normalizedTo:r,resolved:s}},cu.prototype.getRoutes=function(){return this.matcher.getRoutes()},cu.prototype.addRoute=function(u,t){this.matcher.addRoute(u,t),this.history.current!==Xe&&this.history.transitionTo(this.history.getCurrentLocation())},cu.prototype.addRoutes=function(u){this.matcher.addRoutes(u),this.history.current!==Xe&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(cu.prototype,wi);var qA=cu;function Yr(u,t){return u.push(t),function(){var n=u.indexOf(t);n>-1&&u.splice(n,1)}}function $6(u,t,n){var r=n==="hash"?"#"+t:t;return u?Ge(u+"/"+r):r}cu.install=ua,cu.version="3.6.5",cu.isNavigationFailure=pn,cu.NavigationFailureType=ht,cu.START_LOCATION=Xe,E0&&window.Vue&&window.Vue.use(cu);const ka=1024,yl=ka/2,Dn=u=>document.documentElement.clientWidth{Fa.value=Dn(ka),J6.value=Dn(yl)},{passive:!0});function GA(){return En(Fa)}En(Fa);function q6(u){throw new Error('Could not dynamically require "'+u+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var gl={exports:{}};(function(u,t){(function(n,r){u.exports=r()})(Ca,function(){var n;function r(){return n.apply(null,arguments)}function s(e){n=e}function i(e){return e instanceof Array||Object.prototype.toString.call(e)==="[object Array]"}function o(e){return e!=null&&Object.prototype.toString.call(e)==="[object Object]"}function d(e,a){return Object.prototype.hasOwnProperty.call(e,a)}function m(e){if(Object.getOwnPropertyNames)return Object.getOwnPropertyNames(e).length===0;var a;for(a in e)if(d(e,a))return!1;return!0}function _(e){return e===void 0}function f(e){return typeof e=="number"||Object.prototype.toString.call(e)==="[object Number]"}function h(e){return e instanceof Date||Object.prototype.toString.call(e)==="[object Date]"}function g(e,a){var l=[],c,p=e.length;for(c=0;c>>0,c;for(c=0;c0)for(l=0;l=0&&(t=u.slice(r),u=u.slice(0,r));var s=u.indexOf("?");return s>=0&&(n=u.slice(s+1),u=u.slice(0,s)),{path:u,query:n,hash:t}}function Ke(u){return u.replace(/\/(?:\s*\/)+/g,"/")}var mn=Array.isArray||function(u){return Object.prototype.toString.call(u)=="[object Array]"},It=al,a6=Ca,s6=d6,i6=nl,o6=rl,l6=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function Ca(u,t){for(var n=[],r=0,s=0,i="",o=t&&t.delimiter||"/",d;(d=l6.exec(u))!=null;){var m=d[0],_=d[1],f=d.index;if(i+=u.slice(s,f),s=f+m.length,_){i+=_[1];continue}var h=u[s],E=d[2],D=d[3],g=d[4],A=d[5],C=d[6],B=d[7];i&&(n.push(i),i="");var b=E!=null&&h!=null&&h!==E,T=C==="+"||C==="*",O=C==="?"||C==="*",W=d[2]||o,Y=g||A;n.push({name:D||r++,prefix:E||"",delimiter:W,optional:O,repeat:T,partial:b,asterisk:!!B,pattern:Y?_6(Y):B?".*":"[^"+K0(W)+"]+?"})}return s1||!O.length)return O.length===0?u():u("span",{},O)}if(this.tag==="a")T.on=b,T.attrs={href:d,"aria-current":C};else{var W=sl(this.$slots.default);if(W){W.isStatic=!1;var Y=W.data=he({},W.data);Y.on=Y.on||{};for(var V in Y.on){var J=Y.on[V];V in b&&(Y.on[V]=Array.isArray(J)?J:[J])}for(var $ in b)$ in Y.on?Y.on[$].push(b[$]):Y.on[$]=B;var y=W.data.attrs=he({},W.data.attrs);y.href=d,y["aria-current"]=C}else T.on=b}return u(this.tag,T,this.$slots.default)}};function Ai(u){if(!(u.metaKey||u.altKey||u.ctrlKey||u.shiftKey)&&!u.defaultPrevented&&!(u.button!==void 0&&u.button!==0)){if(u.currentTarget&&u.currentTarget.getAttribute){var t=u.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return u.preventDefault&&u.preventDefault(),!0}}function sl(u){if(u){for(var t,n=0;n-1&&(C.params[O]=g.params[O]);return C.path=Z0(b.path,C.params),E(b,C,A)}else if(C.path){C.params={};for(var W=0;W-1}function pn(u,t){return fn(u)&&u._isRouter&&(t==null||u.type===t)}function ki(u,t,n){var r=function(s){s>=u.length?n():u[s]?t(u[s],function(){r(s+1)}):r(s+1)};r(0)}function S6(u){return function(t,n,r){var s=!1,i=0,o=null;_l(u,function(d,m,_,f){if(typeof d=="function"&&d.cid===void 0){s=!0,i++;var h=Fi(function(A){j6(A)&&(A=A.default),d.resolved=typeof A=="function"?A:_n.extend(A),_.components[f]=A,i--,i<=0&&r()}),E=Fi(function(A){var C="Failed to resolve async component "+f+": "+A;o||(o=fn(A)?A:new Error(C),r(o))}),D;try{D=d(h,E)}catch(A){E(A)}if(D)if(typeof D.then=="function")D.then(h,E);else{var g=D.component;g&&typeof g.then=="function"&&g.then(h,E)}}}),s||r()}}function _l(u,t){return hl(u.map(function(n){return Object.keys(n.components).map(function(r){return t(n.components[r],n.instances[r],n,r)})}))}function hl(u){return Array.prototype.concat.apply([],u)}var H6=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol";function j6(u){return u.__esModule||H6&&u[Symbol.toStringTag]==="Module"}function Fi(u){var t=!1;return function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];if(!t)return t=!0,u.apply(this,n)}}var _e=function(u,t){this.router=u,this.base=O6(t),this.current=ut,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};_e.prototype.listen=function(u){this.cb=u},_e.prototype.onReady=function(u,t){this.ready?u():(this.readyCbs.push(u),t&&this.readyErrorCbs.push(t))},_e.prototype.onError=function(u){this.errorCbs.push(u)},_e.prototype.transitionTo=function(u,t,n){var r=this,s;try{s=this.router.match(u,this.current)}catch(o){throw this.errorCbs.forEach(function(d){d(o)}),o}var i=this.current;this.confirmTransition(s,function(){r.updateRoute(s),t&&t(s),r.ensureURL(),r.router.afterHooks.forEach(function(o){o&&o(s,i)}),r.ready||(r.ready=!0,r.readyCbs.forEach(function(o){o(s)}))},function(o){n&&n(o),o&&!r.ready&&(!pn(o,ft.redirected)||i!==ut)&&(r.ready=!0,r.readyErrorCbs.forEach(function(d){d(o)}))})},_e.prototype.confirmTransition=function(u,t,n){var r=this,s=this.current;this.pending=u;var i=function(g){!pn(g)&&fn(g)&&(r.errorCbs.length?r.errorCbs.forEach(function(A){A(g)}):console.error(g)),n&&n(g)},o=u.matched.length-1,d=s.matched.length-1;if(ul(u,s)&&o===d&&u.matched[o]===s.matched[d])return this.ensureURL(),u.hash&&Ze(this.router,s,u,!1),i(Y6(s,u));var m=P6(this.current.matched,u.matched),_=m.updated,f=m.deactivated,h=m.activated,E=[].concat(W6(f),this.router.beforeHooks,N6(_),h.map(function(g){return g.beforeEnter}),S6(h)),D=function(g,A){if(r.pending!==u)return i(Bi(s,u));try{g(u,s,function(C){C===!1?(r.ensureURL(!0),i(w6(s,u))):fn(C)?(r.ensureURL(!0),i(C)):typeof C=="string"||typeof C=="object"&&(typeof C.path=="string"||typeof C.name=="string")?(i(x6(s,u)),typeof C=="object"&&C.replace?r.replace(C):r.push(C)):A(C)})}catch(C){i(C)}};ki(E,D,function(){var g=z6(h),A=g.concat(r.router.resolveHooks);ki(A,D,function(){if(r.pending!==u)return i(Bi(s,u));r.pending=null,t(u),r.router.app&&r.router.app.$nextTick(function(){el(u)})})})},_e.prototype.updateRoute=function(u){this.current=u,this.cb&&this.cb(u)},_e.prototype.setupListeners=function(){},_e.prototype.teardown=function(){this.listeners.forEach(function(u){u()}),this.listeners=[],this.current=ut,this.pending=null};function O6(u){if(!u)if(g0){var t=document.querySelector("base");u=t&&t.getAttribute("href")||"/",u=u.replace(/^https?:\/\/[^\/]+/,"")}else u="/";return u.charAt(0)!=="/"&&(u="/"+u),u.replace(/\/$/,"")}function P6(u,t){var n,r=Math.max(u.length,t.length);for(n=0;n0)){var r=this.router,s=r.options.scrollBehavior,i=Qe&&s;i&&this.listeners.push(cl());var o=function(){var d=n.current,m=d0(n.base);n.current===ut&&m===n._startLocation||n.transitionTo(m,function(_){i&&Ze(r,_,d,!0)})};window.addEventListener("popstate",o),this.listeners.push(function(){window.removeEventListener("popstate",o)})}},t.prototype.go=function(n){window.history.go(n)},t.prototype.push=function(n,r,s){var i=this,o=this,d=o.current;this.transitionTo(n,function(m){hn(Ke(i.base+m.fullPath)),Ze(i.router,m,d,!1),r&&r(m)},s)},t.prototype.replace=function(n,r,s){var i=this,o=this,d=o.current;this.transitionTo(n,function(m){ta(Ke(i.base+m.fullPath)),Ze(i.router,m,d,!1),r&&r(m)},s)},t.prototype.ensureURL=function(n){if(d0(this.base)!==this.current.fullPath){var r=Ke(this.base+this.current.fullPath);n?hn(r):ta(r)}},t.prototype.getCurrentLocation=function(){return d0(this.base)},t}(_e);function d0(u){var t=window.location.pathname,n=t.toLowerCase(),r=u.toLowerCase();return u&&(n===r||n.indexOf(Ke(r+"/"))===0)&&(t=t.slice(u.length)),(t||"/")+window.location.search+window.location.hash}var Dl=function(u){function t(n,r,s){u.call(this,n,r),!(s&&U6(this.base))&&xi()}return u&&(t.__proto__=u),t.prototype=Object.create(u&&u.prototype),t.prototype.constructor=t,t.prototype.setupListeners=function(){var n=this;if(!(this.listeners.length>0)){var r=this.router,s=r.options.scrollBehavior,i=Qe&&s;i&&this.listeners.push(cl());var o=function(){var m=n.current;xi()&&n.transitionTo(Q0(),function(_){i&&Ze(n.router,_,m,!0),Qe||X0(_.fullPath)})},d=Qe?"popstate":"hashchange";window.addEventListener(d,o),this.listeners.push(function(){window.removeEventListener(d,o)})}},t.prototype.push=function(n,r,s){var i=this,o=this,d=o.current;this.transitionTo(n,function(m){Yi(m.fullPath),Ze(i.router,m,d,!1),r&&r(m)},s)},t.prototype.replace=function(n,r,s){var i=this,o=this,d=o.current;this.transitionTo(n,function(m){X0(m.fullPath),Ze(i.router,m,d,!1),r&&r(m)},s)},t.prototype.go=function(n){window.history.go(n)},t.prototype.ensureURL=function(n){var r=this.current.fullPath;Q0()!==r&&(n?Yi(r):X0(r))},t.prototype.getCurrentLocation=function(){return Q0()},t}(_e);function U6(u){var t=d0(u);if(!/^\/#/.test(t))return window.location.replace(Ke(u+"/#"+t)),!0}function xi(){var u=Q0();return u.charAt(0)==="/"?!0:(X0("/"+u),!1)}function Q0(){var u=window.location.href,t=u.indexOf("#");return t<0?"":(u=u.slice(t+1),u)}function na(u){var t=window.location.href,n=t.indexOf("#"),r=n>=0?t.slice(0,n):t;return r+"#"+u}function Yi(u){Qe?hn(na(u)):window.location.hash=u}function X0(u){Qe?ta(na(u)):window.location.replace(na(u))}var V6=function(u){function t(n,r){u.call(this,n,r),this.stack=[],this.index=-1}return u&&(t.__proto__=u),t.prototype=Object.create(u&&u.prototype),t.prototype.constructor=t,t.prototype.push=function(n,r,s){var i=this;this.transitionTo(n,function(o){i.stack=i.stack.slice(0,i.index+1).concat(o),i.index++,r&&r(o)},s)},t.prototype.replace=function(n,r,s){var i=this;this.transitionTo(n,function(o){i.stack=i.stack.slice(0,i.index).concat(o),r&&r(o)},s)},t.prototype.go=function(n){var r=this,s=this.index+n;if(!(s<0||s>=this.stack.length)){var i=this.stack[s];this.confirmTransition(i,function(){var o=r.current;r.index=s,r.updateRoute(i),r.router.afterHooks.forEach(function(d){d&&d(i,o)})},function(o){pn(o,ft.duplicated)&&(r.index=s)})}},t.prototype.getCurrentLocation=function(){var n=this.stack[this.stack.length-1];return n?n.fullPath:"/"},t.prototype.ensureURL=function(){},t}(_e),cu=function(u){u===void 0&&(u={}),this.app=null,this.apps=[],this.options=u,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=A6(u.routes||[],this);var t=u.mode||"hash";switch(this.fallback=t==="history"&&!Qe&&u.fallback!==!1,this.fallback&&(t="hash"),g0||(t="abstract"),this.mode=t,t){case"history":this.history=new pl(this,u.base);break;case"hash":this.history=new Dl(this,u.base,this.fallback);break;case"abstract":this.history=new V6(this,u.base);break}},wi={currentRoute:{configurable:!0}};cu.prototype.match=function(u,t,n){return this.matcher.match(u,t,n)},wi.currentRoute.get=function(){return this.history&&this.history.current},cu.prototype.init=function(u){var t=this;if(this.apps.push(u),u.$once("hook:destroyed",function(){var i=t.apps.indexOf(u);i>-1&&t.apps.splice(i,1),t.app===u&&(t.app=t.apps[0]||null),t.app||t.history.teardown()}),!this.app){this.app=u;var n=this.history;if(n instanceof pl||n instanceof Dl){var r=function(i){var o=n.current,d=t.options.scrollBehavior,m=Qe&&d;m&&"fullPath"in i&&Ze(t,i,o,!1)},s=function(i){n.setupListeners(),r(i)};n.transitionTo(n.getCurrentLocation(),s,s)}n.listen(function(i){t.apps.forEach(function(o){o._route=i})})}},cu.prototype.beforeEach=function(u){return Yr(this.beforeHooks,u)},cu.prototype.beforeResolve=function(u){return Yr(this.resolveHooks,u)},cu.prototype.afterEach=function(u){return Yr(this.afterHooks,u)},cu.prototype.onReady=function(u,t){this.history.onReady(u,t)},cu.prototype.onError=function(u){this.history.onError(u)},cu.prototype.push=function(u,t,n){var r=this;if(!t&&!n&&typeof Promise<"u")return new Promise(function(s,i){r.history.push(u,s,i)});this.history.push(u,t,n)},cu.prototype.replace=function(u,t,n){var r=this;if(!t&&!n&&typeof Promise<"u")return new Promise(function(s,i){r.history.replace(u,s,i)});this.history.replace(u,t,n)},cu.prototype.go=function(u){this.history.go(u)},cu.prototype.back=function(){this.go(-1)},cu.prototype.forward=function(){this.go(1)},cu.prototype.getMatchedComponents=function(u){var t=u?u.matched?u:this.resolve(u).route:this.currentRoute;return t?[].concat.apply([],t.matched.map(function(n){return Object.keys(n.components).map(function(r){return n.components[r]})})):[]},cu.prototype.resolve=function(u,t,n){t=t||this.history.current;var r=va(u,t,n,this),s=this.match(r,t),i=s.redirectedFrom||s.fullPath,o=this.history.base,d=$6(o,i,this.mode);return{location:r,route:s,href:d,normalizedTo:r,resolved:s}},cu.prototype.getRoutes=function(){return this.matcher.getRoutes()},cu.prototype.addRoute=function(u,t){this.matcher.addRoute(u,t),this.history.current!==ut&&this.history.transitionTo(this.history.getCurrentLocation())},cu.prototype.addRoutes=function(u){this.matcher.addRoutes(u),this.history.current!==ut&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(cu.prototype,wi);var NC=cu;function Yr(u,t){return u.push(t),function(){var n=u.indexOf(t);n>-1&&u.splice(n,1)}}function $6(u,t,n){var r=n==="hash"?"#"+t:t;return u?Ke(u+"/"+r):r}cu.install=ua,cu.version="3.6.5",cu.isNavigationFailure=pn,cu.NavigationFailureType=ft,cu.START_LOCATION=ut,g0&&window.Vue&&window.Vue.use(cu);const ka=1024,yl=ka/2,Dn=u=>document.documentElement.clientWidth{Fa.value=Dn(ka),J6.value=Dn(yl)},{passive:!0});function zC(){return gn(Fa)}gn(Fa);function q6(u){throw new Error('Could not dynamically require "'+u+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var El={exports:{}};(function(u,t){(function(n,r){u.exports=r()})(Aa,function(){var n;function r(){return n.apply(null,arguments)}function s(e){n=e}function i(e){return e instanceof Array||Object.prototype.toString.call(e)==="[object Array]"}function o(e){return e!=null&&Object.prototype.toString.call(e)==="[object Object]"}function d(e,a){return Object.prototype.hasOwnProperty.call(e,a)}function m(e){if(Object.getOwnPropertyNames)return Object.getOwnPropertyNames(e).length===0;var a;for(a in e)if(d(e,a))return!1;return!0}function _(e){return e===void 0}function f(e){return typeof e=="number"||Object.prototype.toString.call(e)==="[object Number]"}function h(e){return e instanceof Date||Object.prototype.toString.call(e)==="[object Date]"}function E(e,a){var l=[],c,p=e.length;for(c=0;c>>0,c;for(c=0;c0)for(l=0;l=0;return(M?l?"+":"":"-")+Math.pow(10,Math.max(0,p)).toString().substr(1)+c}var vu=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,ku=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,v={},Eu={};function R(e,a,l,c){var p=c;typeof c=="string"&&(p=function(){return this[c]()}),e&&(Eu[e]=p),a&&(Eu[a[0]]=function(){return L(p.apply(this,arguments),a[1],a[2])}),l&&(Eu[l]=function(){return this.localeData().ordinal(p.apply(this,arguments),e)})}function Du(e){return e.match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"")}function et(e){var a=e.match(vu),l,c;for(l=0,c=a.length;l=0&&ku.test(e);)e=e.replace(ku,c),ku.lastIndex=0,l-=1;return e}var We={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};function pt(e){var a=this._longDateFormat[e],l=this._longDateFormat[e.toUpperCase()];return a||!l?a:(this._longDateFormat[e]=l.match(vu).map(function(c){return c==="MMMM"||c==="MM"||c==="DD"||c==="dddd"?c.slice(1):c}).join(""),this._longDateFormat[e])}var Hn="Invalid date";function jn(){return this._invalidDate}var On="%d",M0=/\d{1,2}/;function L0(e){return this._ordinal.replace("%d",e)}var v0={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function Pn(e,a,l,c){var p=this._relativeTime[l];return S(p)?p(e,a,l,c):p.replace(/%d/i,e)}function B0(e,a){var l=this._relativeTime[e>0?"future":"past"];return S(l)?l(a):l.replace(/%s/i,a)}var Jt={D:"date",dates:"date",date:"date",d:"day",days:"day",day:"day",e:"weekday",weekdays:"weekday",weekday:"weekday",E:"isoWeekday",isoweekdays:"isoWeekday",isoweekday:"isoWeekday",DDD:"dayOfYear",dayofyears:"dayOfYear",dayofyear:"dayOfYear",h:"hour",hours:"hour",hour:"hour",ms:"millisecond",milliseconds:"millisecond",millisecond:"millisecond",m:"minute",minutes:"minute",minute:"minute",M:"month",months:"month",month:"month",Q:"quarter",quarters:"quarter",quarter:"quarter",s:"second",seconds:"second",second:"second",gg:"weekYear",weekyears:"weekYear",weekyear:"weekYear",GG:"isoWeekYear",isoweekyears:"isoWeekYear",isoweekyear:"isoWeekYear",w:"week",weeks:"week",week:"week",W:"isoWeek",isoweeks:"isoWeek",isoweek:"isoWeek",y:"year",years:"year",year:"year"};function Fu(e){return typeof e=="string"?Jt[e]||Jt[e.toLowerCase()]:void 0}function qt(e){var a={},l,c;for(c in e)d(e,c)&&(l=Fu(c),l&&(a[l]=e[c]));return a}var In={date:9,day:11,weekday:11,isoWeekday:11,dayOfYear:4,hour:13,millisecond:16,minute:14,month:8,quarter:7,second:15,weekYear:1,isoWeekYear:1,week:5,isoWeek:5,year:1};function Wn(e){var a=[],l;for(l in e)d(e,l)&&a.push({unit:l,priority:In[l]});return a.sort(function(c,p){return c.priority-p.priority}),a}var k0=/\d/,w=/\d\d/,P=/\d{3}/,G=/\d{4}/,tu=/[+-]?\d{6}/,q=/\d\d?/,Ou=/\d\d\d\d?/,Me=/\d\d\d\d\d\d?/,xu=/\d{1,3}/,Le=/\d{1,4}/,fe=/[+-]?\d{1,6}/,fu=/\d+/,ie=/[+-]?\d+/,oe=/Z|[+-]\d\d:?\d\d/gi,F0=/Z|[+-]\d\d(?::?\d\d)?/gi,V4=/[+-]?\d+(\.\d{1,3})?/,Gt=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,Dt=/^[1-9]\d?/,zn=/^([1-9]\d|\d)/,x0;x0={};function N(e,a,l){x0[e]=S(a)?a:function(c,p){return c&&l?l:a}}function $4(e,a){return d(x0,e)?x0[e](a._strict,a._locale):new RegExp(J4(e))}function J4(e){return ve(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,l,c,p,M){return l||c||p||M}))}function ve(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function Uu(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function X(e){var a=+e,l=0;return a!==0&&isFinite(a)&&(l=Uu(a)),l}var Nn={};function iu(e,a){var l,c=a,p;for(typeof e=="string"&&(e=[e]),f(a)&&(c=function(M,x){x[a]=X(M)}),p=e.length,l=0;l68?1900:2e3)};var Ja=yt("FullYear",!0);function Z4(){return Y0(this.year())}function yt(e,a){return function(l){return l!=null?(qa(this,e,l),r.updateOffset(this,a),this):Qt(this,e)}}function Qt(e,a){if(!e.isValid())return NaN;var l=e._d,c=e._isUTC;switch(a){case"Milliseconds":return c?l.getUTCMilliseconds():l.getMilliseconds();case"Seconds":return c?l.getUTCSeconds():l.getSeconds();case"Minutes":return c?l.getUTCMinutes():l.getMinutes();case"Hours":return c?l.getUTCHours():l.getHours();case"Date":return c?l.getUTCDate():l.getDate();case"Day":return c?l.getUTCDay():l.getDay();case"Month":return c?l.getUTCMonth():l.getMonth();case"FullYear":return c?l.getUTCFullYear():l.getFullYear();default:return NaN}}function qa(e,a,l){var c,p,M,x,z;if(!(!e.isValid()||isNaN(l))){switch(c=e._d,p=e._isUTC,a){case"Milliseconds":return void(p?c.setUTCMilliseconds(l):c.setMilliseconds(l));case"Seconds":return void(p?c.setUTCSeconds(l):c.setSeconds(l));case"Minutes":return void(p?c.setUTCMinutes(l):c.setMinutes(l));case"Hours":return void(p?c.setUTCHours(l):c.setHours(l));case"Date":return void(p?c.setUTCDate(l):c.setDate(l));case"FullYear":break;default:return}M=l,x=e.month(),z=e.date(),z=z===29&&x===1&&!Y0(M)?28:z,p?c.setUTCFullYear(M,x,z):c.setFullYear(M,x,z)}}function Q4(e){return e=Fu(e),S(this[e])?this[e]():this}function X4(e,a){if(typeof e=="object"){e=qt(e);var l=Wn(e),c,p=l.length;for(c=0;c=0?(z=new Date(e+400,a,l,c,p,M,x),isFinite(z.getFullYear())&&z.setFullYear(e)):z=new Date(e,a,l,c,p,M,x),z}function Xt(e){var a,l;return e<100&&e>=0?(l=Array.prototype.slice.call(arguments),l[0]=e+400,a=new Date(Date.UTC.apply(null,l)),isFinite(a.getUTCFullYear())&&a.setUTCFullYear(e)):a=new Date(Date.UTC.apply(null,arguments)),a}function w0(e,a,l){var c=7+a-l,p=(7+Xt(e,0,c).getUTCDay()-a)%7;return-p+c-1}function us(e,a,l,c,p){var M=(7+l-c)%7,x=w0(e,c,p),z=1+7*(a-1)+M+x,Z,uu;return z<=0?(Z=e-1,uu=Zt(Z)+z):z>Zt(e)?(Z=e+1,uu=z-Zt(e)):(Z=e,uu=z),{year:Z,dayOfYear:uu}}function u0(e,a,l){var c=w0(e.year(),a,l),p=Math.floor((e.dayOfYear()-c-1)/7)+1,M,x;return p<1?(x=e.year()-1,M=p+Fe(x,a,l)):p>Fe(e.year(),a,l)?(M=p-Fe(e.year(),a,l),x=e.year()+1):(x=e.year(),M=p),{week:M,year:x}}function Fe(e,a,l){var c=w0(e,a,l),p=w0(e+1,a,l);return(Zt(e)-c+p)/7}R("w",["ww",2],"wo","week"),R("W",["WW",2],"Wo","isoWeek"),N("w",q,Dt),N("ww",q,w),N("W",q,Dt),N("WW",q,w),Kt(["w","ww","W","WW"],function(e,a,l,c){a[c.substr(0,1)]=X(e)});function md(e){return u0(e,this._week.dow,this._week.doy).week}var _d={dow:0,doy:6};function hd(){return this._week.dow}function fd(){return this._week.doy}function pd(e){var a=this.localeData().week(this);return e==null?a:this.add((e-a)*7,"d")}function Dd(e){var a=u0(this,1,4).week;return e==null?a:this.add((e-a)*7,"d")}R("d",0,"do","day"),R("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),R("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),R("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),R("e",0,0,"weekday"),R("E",0,0,"isoWeekday"),N("d",q),N("e",q),N("E",q),N("dd",function(e,a){return a.weekdaysMinRegex(e)}),N("ddd",function(e,a){return a.weekdaysShortRegex(e)}),N("dddd",function(e,a){return a.weekdaysRegex(e)}),Kt(["dd","ddd","dddd"],function(e,a,l,c){var p=l._locale.weekdaysParse(e,c,l._strict);p!=null?a.d=p:A(l).invalidWeekday=e}),Kt(["d","e","E"],function(e,a,l,c){a[c]=X(e)});function yd(e,a){return typeof e!="string"?e:isNaN(e)?(e=a.weekdaysParse(e),typeof e=="number"?e:null):parseInt(e,10)}function gd(e,a){return typeof e=="string"?a.weekdaysParse(e)%7||7:isNaN(e)?null:e}function Un(e,a){return e.slice(a,7).concat(e.slice(0,a))}var Ed="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),es="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Cd="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Ad=Gt,Md=Gt,Ld=Gt;function vd(e,a){var l=i(this._weekdays)?this._weekdays:this._weekdays[e&&e!==!0&&this._weekdays.isFormat.test(a)?"format":"standalone"];return e===!0?Un(l,this._week.dow):e?l[e.day()]:l}function Bd(e){return e===!0?Un(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort}function kd(e){return e===!0?Un(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin}function Fd(e,a,l){var c,p,M,x=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],c=0;c<7;++c)M=E([2e3,1]).day(c),this._minWeekdaysParse[c]=this.weekdaysMin(M,"").toLocaleLowerCase(),this._shortWeekdaysParse[c]=this.weekdaysShort(M,"").toLocaleLowerCase(),this._weekdaysParse[c]=this.weekdays(M,"").toLocaleLowerCase();return l?a==="dddd"?(p=hu.call(this._weekdaysParse,x),p!==-1?p:null):a==="ddd"?(p=hu.call(this._shortWeekdaysParse,x),p!==-1?p:null):(p=hu.call(this._minWeekdaysParse,x),p!==-1?p:null):a==="dddd"?(p=hu.call(this._weekdaysParse,x),p!==-1||(p=hu.call(this._shortWeekdaysParse,x),p!==-1)?p:(p=hu.call(this._minWeekdaysParse,x),p!==-1?p:null)):a==="ddd"?(p=hu.call(this._shortWeekdaysParse,x),p!==-1||(p=hu.call(this._weekdaysParse,x),p!==-1)?p:(p=hu.call(this._minWeekdaysParse,x),p!==-1?p:null)):(p=hu.call(this._minWeekdaysParse,x),p!==-1||(p=hu.call(this._weekdaysParse,x),p!==-1)?p:(p=hu.call(this._shortWeekdaysParse,x),p!==-1?p:null))}function xd(e,a,l){var c,p,M;if(this._weekdaysParseExact)return Fd.call(this,e,a,l);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),c=0;c<7;c++)if(p=E([2e3,1]).day(c),l&&!this._fullWeekdaysParse[c]&&(this._fullWeekdaysParse[c]=new RegExp("^"+this.weekdays(p,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[c]=new RegExp("^"+this.weekdaysShort(p,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[c]=new RegExp("^"+this.weekdaysMin(p,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[c]||(M="^"+this.weekdays(p,"")+"|^"+this.weekdaysShort(p,"")+"|^"+this.weekdaysMin(p,""),this._weekdaysParse[c]=new RegExp(M.replace(".",""),"i")),l&&a==="dddd"&&this._fullWeekdaysParse[c].test(e)||l&&a==="ddd"&&this._shortWeekdaysParse[c].test(e)||l&&a==="dd"&&this._minWeekdaysParse[c].test(e)||!l&&this._weekdaysParse[c].test(e))return c}function Yd(e){if(!this.isValid())return e!=null?this:NaN;var a=Qt(this,"Day");return e!=null?(e=yd(e,this.localeData()),this.add(e-a,"d")):a}function wd(e){if(!this.isValid())return e!=null?this:NaN;var a=(this.day()+7-this.localeData()._week.dow)%7;return e==null?a:this.add(e-a,"d")}function bd(e){if(!this.isValid())return e!=null?this:NaN;if(e!=null){var a=gd(e,this.localeData());return this.day(this.day()%7?a:a-7)}else return this.day()||7}function Td(e){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Vn.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(d(this,"_weekdaysRegex")||(this._weekdaysRegex=Ad),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)}function Sd(e){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Vn.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(d(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Md),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Hd(e){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Vn.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(d(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Ld),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Vn(){function e(Bu,je){return je.length-Bu.length}var a=[],l=[],c=[],p=[],M,x,z,Z,uu;for(M=0;M<7;M++)x=E([2e3,1]).day(M),z=ve(this.weekdaysMin(x,"")),Z=ve(this.weekdaysShort(x,"")),uu=ve(this.weekdays(x,"")),a.push(z),l.push(Z),c.push(uu),p.push(z),p.push(Z),p.push(uu);a.sort(e),l.sort(e),c.sort(e),p.sort(e),this._weekdaysRegex=new RegExp("^("+p.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+c.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+a.join("|")+")","i")}function $n(){return this.hours()%12||12}function jd(){return this.hours()||24}R("H",["HH",2],0,"hour"),R("h",["hh",2],0,$n),R("k",["kk",2],0,jd),R("hmm",0,0,function(){return""+$n.apply(this)+L(this.minutes(),2)}),R("hmmss",0,0,function(){return""+$n.apply(this)+L(this.minutes(),2)+L(this.seconds(),2)}),R("Hmm",0,0,function(){return""+this.hours()+L(this.minutes(),2)}),R("Hmmss",0,0,function(){return""+this.hours()+L(this.minutes(),2)+L(this.seconds(),2)});function ts(e,a){R(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),a)})}ts("a",!0),ts("A",!1);function ns(e,a){return a._meridiemParse}N("a",ns),N("A",ns),N("H",q,zn),N("h",q,Dt),N("k",q,Dt),N("HH",q,w),N("hh",q,w),N("kk",q,w),N("hmm",Ou),N("hmmss",Me),N("Hmm",Ou),N("Hmmss",Me),iu(["H","HH"],yu),iu(["k","kk"],function(e,a,l){var c=X(e);a[yu]=c===24?0:c}),iu(["a","A"],function(e,a,l){l._isPm=l._locale.isPM(e),l._meridiem=e}),iu(["h","hh"],function(e,a,l){a[yu]=X(e),A(l).bigHour=!0}),iu("hmm",function(e,a,l){var c=e.length-2;a[yu]=X(e.substr(0,c)),a[le]=X(e.substr(c)),A(l).bigHour=!0}),iu("hmmss",function(e,a,l){var c=e.length-4,p=e.length-2;a[yu]=X(e.substr(0,c)),a[le]=X(e.substr(c,2)),a[ke]=X(e.substr(p)),A(l).bigHour=!0}),iu("Hmm",function(e,a,l){var c=e.length-2;a[yu]=X(e.substr(0,c)),a[le]=X(e.substr(c))}),iu("Hmmss",function(e,a,l){var c=e.length-4,p=e.length-2;a[yu]=X(e.substr(0,c)),a[le]=X(e.substr(c,2)),a[ke]=X(e.substr(p))});function Od(e){return(e+"").toLowerCase().charAt(0)==="p"}var Pd=/[ap]\.?m?\.?/i,Id=yt("Hours",!0);function Wd(e,a,l){return e>11?l?"pm":"PM":l?"am":"AM"}var rs={calendar:Au,longDateFormat:We,invalidDate:Hn,ordinal:On,dayOfMonthOrdinalParse:M0,relativeTime:v0,months:ed,monthsShort:Ga,week:_d,weekdays:Ed,weekdaysMin:Cd,weekdaysShort:es,meridiemParse:Pd},_u={},e0={},t0;function zd(e,a){var l,c=Math.min(e.length,a.length);for(l=0;l0;){if(p=b0(M.slice(0,l).join("-")),p)return p;if(c&&c.length>=l&&zd(M,c)>=l-1)break;l--}a++}return t0}function Rd(e){return!!(e&&e.match("^[^/\\\\]*$"))}function b0(e){var a=null,l;if(_u[e]===void 0&&u&&u.exports&&Rd(e))try{a=t0._abbr,l=q6,l("./locale/"+e),ze(a)}catch{_u[e]=null}return _u[e]}function ze(e,a){var l;return e&&(_(a)?l=xe(e):l=Jn(e,a),l?t0=l:typeof console<"u"&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),t0._abbr}function Jn(e,a){if(a!==null){var l,c=rs;if(a.abbr=e,_u[e]!=null)F("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),c=_u[e]._config;else if(a.parentLocale!=null)if(_u[a.parentLocale]!=null)c=_u[a.parentLocale]._config;else if(l=b0(a.parentLocale),l!=null)c=l._config;else return e0[a.parentLocale]||(e0[a.parentLocale]=[]),e0[a.parentLocale].push({name:e,config:a}),null;return _u[e]=new su(I(c,a)),e0[e]&&e0[e].forEach(function(p){Jn(p.name,p.config)}),ze(e),_u[e]}else return delete _u[e],null}function Ud(e,a){if(a!=null){var l,c,p=rs;_u[e]!=null&&_u[e].parentLocale!=null?_u[e].set(I(_u[e]._config,a)):(c=b0(e),c!=null&&(p=c._config),a=I(p,a),c==null&&(a.abbr=e),l=new su(a),l.parentLocale=_u[e],_u[e]=l),ze(e)}else _u[e]!=null&&(_u[e].parentLocale!=null?(_u[e]=_u[e].parentLocale,e===ze()&&ze(e)):_u[e]!=null&&delete _u[e]);return _u[e]}function xe(e){var a;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return t0;if(!i(e)){if(a=b0(e),a)return a;e=[e]}return Nd(e)}function Vd(){return mu(_u)}function qn(e){var a,l=e._a;return l&&A(e).overflow===-2&&(a=l[Be]<0||l[Be]>11?Be:l[pe]<1||l[pe]>Rn(l[Mu],l[Be])?pe:l[yu]<0||l[yu]>24||l[yu]===24&&(l[le]!==0||l[ke]!==0||l[tt]!==0)?yu:l[le]<0||l[le]>59?le:l[ke]<0||l[ke]>59?ke:l[tt]<0||l[tt]>999?tt:-1,A(e)._overflowDayOfYear&&(ape)&&(a=pe),A(e)._overflowWeeks&&a===-1&&(a=G4),A(e)._overflowWeekday&&a===-1&&(a=K4),A(e).overflow=a),e}var $d=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Jd=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,qd=/Z|[+-]\d\d(?::?\d\d)?/,T0=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],Gn=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Gd=/^\/?Date\((-?\d+)/i,Kd=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,Zd={UT:0,GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function ss(e){var a,l,c=e._i,p=$d.exec(c)||Jd.exec(c),M,x,z,Z,uu=T0.length,Bu=Gn.length;if(p){for(A(e).iso=!0,a=0,l=uu;aZt(x)||e._dayOfYear===0)&&(A(e)._overflowDayOfYear=!0),l=Xt(x,0,e._dayOfYear),e._a[Be]=l.getUTCMonth(),e._a[pe]=l.getUTCDate()),a=0;a<3&&e._a[a]==null;++a)e._a[a]=c[a]=p[a];for(;a<7;a++)e._a[a]=c[a]=e._a[a]==null?a===2?1:0:e._a[a];e._a[yu]===24&&e._a[le]===0&&e._a[ke]===0&&e._a[tt]===0&&(e._nextDay=!0,e._a[yu]=0),e._d=(e._useUTC?Xt:cd).apply(null,c),M=e._useUTC?e._d.getUTCDay():e._d.getDay(),e._tzm!=null&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[yu]=24),e._w&&typeof e._w.d<"u"&&e._w.d!==M&&(A(e).weekdayMismatch=!0)}}function ac(e){var a,l,c,p,M,x,z,Z,uu;a=e._w,a.GG!=null||a.W!=null||a.E!=null?(M=1,x=4,l=gt(a.GG,e._a[Mu],u0(du(),1,4).year),c=gt(a.W,1),p=gt(a.E,1),(p<1||p>7)&&(Z=!0)):(M=e._locale._week.dow,x=e._locale._week.doy,uu=u0(du(),M,x),l=gt(a.gg,e._a[Mu],uu.year),c=gt(a.w,uu.week),a.d!=null?(p=a.d,(p<0||p>6)&&(Z=!0)):a.e!=null?(p=a.e+M,(a.e<0||a.e>6)&&(Z=!0)):p=M),c<1||c>Fe(l,M,x)?A(e)._overflowWeeks=!0:Z!=null?A(e)._overflowWeekday=!0:(z=us(l,c,p,M,x),e._a[Mu]=z.year,e._dayOfYear=z.dayOfYear)}r.ISO_8601=function(){},r.RFC_2822=function(){};function Zn(e){if(e._f===r.ISO_8601){ss(e);return}if(e._f===r.RFC_2822){is(e);return}e._a=[],A(e).empty=!0;var a=""+e._i,l,c,p,M,x,z=a.length,Z=0,uu,Bu;for(p=Ae(e._f,e._locale).match(vu)||[],Bu=p.length,l=0;l0&&A(e).unusedInput.push(x),a=a.slice(a.indexOf(c)+c.length),Z+=c.length),Eu[M]?(c?A(e).empty=!1:A(e).unusedTokens.push(M),q4(M,c,e)):e._strict&&!c&&A(e).unusedTokens.push(M);A(e).charsLeftOver=z-Z,a.length>0&&A(e).unusedInput.push(a),e._a[yu]<=12&&A(e).bigHour===!0&&e._a[yu]>0&&(A(e).bigHour=void 0),A(e).parsedDateParts=e._a.slice(0),A(e).meridiem=e._meridiem,e._a[yu]=sc(e._locale,e._a[yu],e._meridiem),uu=A(e).era,uu!==null&&(e._a[Mu]=e._locale.erasConvertYear(uu,e._a[Mu])),Kn(e),qn(e)}function sc(e,a,l){var c;return l==null?a:e.meridiemHour!=null?e.meridiemHour(a,l):(e.isPM!=null&&(c=e.isPM(l),c&&a<12&&(a+=12),!c&&a===12&&(a=0)),a)}function ic(e){var a,l,c,p,M,x,z=!1,Z=e._f.length;if(Z===0){A(e).invalidFormat=!0,e._d=new Date(NaN);return}for(p=0;pthis?this:e:T()});function ds(e,a){var l,c;if(a.length===1&&i(a[0])&&(a=a[0]),!a.length)return du();for(l=a[0],c=1;cthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Fc(){if(!_(this._isDSTShifted))return this._isDSTShifted;var e={},a;return Y(e,this),e=os(e),e._a?(a=e._isUTC?E(e._a):du(e._a),this._isDSTShifted=this.isValid()&&gc(e._a,a.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}function xc(){return this.isValid()?!this._isUTC:!1}function Yc(){return this.isValid()?this._isUTC:!1}function ms(){return this.isValid()?this._isUTC&&this._offset===0:!1}var wc=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,bc=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function de(e,a){var l=e,c=null,p,M,x;return H0(e)?l={ms:e._milliseconds,d:e._days,M:e._months}:f(e)||!isNaN(+e)?(l={},a?l[a]=+e:l.milliseconds=+e):(c=wc.exec(e))?(p=c[1]==="-"?-1:1,l={y:0,d:X(c[pe])*p,h:X(c[yu])*p,m:X(c[le])*p,s:X(c[ke])*p,ms:X(Qn(c[tt]*1e3))*p}):(c=bc.exec(e))?(p=c[1]==="-"?-1:1,l={y:nt(c[2],p),M:nt(c[3],p),w:nt(c[4],p),d:nt(c[5],p),h:nt(c[6],p),m:nt(c[7],p),s:nt(c[8],p)}):l==null?l={}:typeof l=="object"&&("from"in l||"to"in l)&&(x=Tc(du(l.from),du(l.to)),l={},l.ms=x.milliseconds,l.M=x.months),M=new S0(l),H0(e)&&d(e,"_locale")&&(M._locale=e._locale),H0(e)&&d(e,"_isValid")&&(M._isValid=e._isValid),M}de.fn=S0.prototype,de.invalid=yc;function nt(e,a){var l=e&&parseFloat(e.replace(",","."));return(isNaN(l)?0:l)*a}function _s(e,a){var l={};return l.months=a.month()-e.month()+(a.year()-e.year())*12,e.clone().add(l.months,"M").isAfter(a)&&--l.months,l.milliseconds=+a-+e.clone().add(l.months,"M"),l}function Tc(e,a){var l;return e.isValid()&&a.isValid()?(a=ur(a,e),e.isBefore(a)?l=_s(e,a):(l=_s(a,e),l.milliseconds=-l.milliseconds,l.months=-l.months),l):{milliseconds:0,months:0}}function hs(e,a){return function(l,c){var p,M;return c!==null&&!isNaN(+c)&&(F(a,"moment()."+a+"(period, number) is deprecated. Please use moment()."+a+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),M=l,l=c,c=M),p=de(l,c),fs(this,p,e),this}}function fs(e,a,l,c){var p=a._milliseconds,M=Qn(a._days),x=Qn(a._months);e.isValid()&&(c=c??!0,x&&Za(e,Qt(e,"Month")+x*l),M&&qa(e,"Date",Qt(e,"Date")+M*l),p&&e._d.setTime(e._d.valueOf()+p*l),c&&r.updateOffset(e,M||x))}var Sc=hs(1,"add"),Hc=hs(-1,"subtract");function ps(e){return typeof e=="string"||e instanceof String}function jc(e){return J(e)||h(e)||ps(e)||f(e)||Pc(e)||Oc(e)||e===null||e===void 0}function Oc(e){var a=o(e)&&!m(e),l=!1,c=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],p,M,x=c.length;for(p=0;pl.valueOf():l.valueOf()9999?ju(l,a?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):S(Date.prototype.toISOString)?a?this.toDate().toISOString():new Date(this.valueOf()+this.utcOffset()*60*1e3).toISOString().replace("Z",ju(l,"Z")):ju(l,a?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function Qc(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",a="",l,c,p,M;return this.isLocal()||(e=this.utcOffset()===0?"moment.utc":"moment.parseZone",a="Z"),l="["+e+'("]',c=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",p="-MM-DD[T]HH:mm:ss.SSS",M=a+'[")]',this.format(l+c+p+M)}function Xc(e){e||(e=this.isUtc()?r.defaultFormatUtc:r.defaultFormat);var a=ju(this,e);return this.localeData().postformat(a)}function u3(e,a){return this.isValid()&&(J(e)&&e.isValid()||du(e).isValid())?de({to:this,from:e}).locale(this.locale()).humanize(!a):this.localeData().invalidDate()}function e3(e){return this.from(du(),e)}function t3(e,a){return this.isValid()&&(J(e)&&e.isValid()||du(e).isValid())?de({from:this,to:e}).locale(this.locale()).humanize(!a):this.localeData().invalidDate()}function n3(e){return this.to(du(),e)}function Ds(e){var a;return e===void 0?this._locale._abbr:(a=xe(e),a!=null&&(this._locale=a),this)}var ys=y("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return e===void 0?this.localeData():this.locale(e)});function gs(){return this._locale}var O0=1e3,Et=60*O0,P0=60*Et,Es=(365*400+97)*24*P0;function Ct(e,a){return(e%a+a)%a}function Cs(e,a,l){return e<100&&e>=0?new Date(e+400,a,l)-Es:new Date(e,a,l).valueOf()}function As(e,a,l){return e<100&&e>=0?Date.UTC(e+400,a,l)-Es:Date.UTC(e,a,l)}function r3(e){var a,l;if(e=Fu(e),e===void 0||e==="millisecond"||!this.isValid())return this;switch(l=this._isUTC?As:Cs,e){case"year":a=l(this.year(),0,1);break;case"quarter":a=l(this.year(),this.month()-this.month()%3,1);break;case"month":a=l(this.year(),this.month(),1);break;case"week":a=l(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":a=l(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":a=l(this.year(),this.month(),this.date());break;case"hour":a=this._d.valueOf(),a-=Ct(a+(this._isUTC?0:this.utcOffset()*Et),P0);break;case"minute":a=this._d.valueOf(),a-=Ct(a,Et);break;case"second":a=this._d.valueOf(),a-=Ct(a,O0);break}return this._d.setTime(a),r.updateOffset(this,!0),this}function a3(e){var a,l;if(e=Fu(e),e===void 0||e==="millisecond"||!this.isValid())return this;switch(l=this._isUTC?As:Cs,e){case"year":a=l(this.year()+1,0,1)-1;break;case"quarter":a=l(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":a=l(this.year(),this.month()+1,1)-1;break;case"week":a=l(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":a=l(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":a=l(this.year(),this.month(),this.date()+1)-1;break;case"hour":a=this._d.valueOf(),a+=P0-Ct(a+(this._isUTC?0:this.utcOffset()*Et),P0)-1;break;case"minute":a=this._d.valueOf(),a+=Et-Ct(a,Et)-1;break;case"second":a=this._d.valueOf(),a+=O0-Ct(a,O0)-1;break}return this._d.setTime(a),r.updateOffset(this,!0),this}function s3(){return this._d.valueOf()-(this._offset||0)*6e4}function i3(){return Math.floor(this.valueOf()/1e3)}function o3(){return new Date(this.valueOf())}function l3(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]}function d3(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}}function c3(){return this.isValid()?this.toISOString():null}function m3(){return b(this)}function _3(){return D({},A(this))}function h3(){return A(this).overflow}function f3(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}R("N",0,0,"eraAbbr"),R("NN",0,0,"eraAbbr"),R("NNN",0,0,"eraAbbr"),R("NNNN",0,0,"eraName"),R("NNNNN",0,0,"eraNarrow"),R("y",["y",1],"yo","eraYear"),R("y",["yy",2],0,"eraYear"),R("y",["yyy",3],0,"eraYear"),R("y",["yyyy",4],0,"eraYear"),N("N",tr),N("NN",tr),N("NNN",tr),N("NNNN",B3),N("NNNNN",k3),iu(["N","NN","NNN","NNNN","NNNNN"],function(e,a,l,c){var p=l._locale.erasParse(e,c,l._strict);p?A(l).era=p:A(l).invalidEra=e}),N("y",fu),N("yy",fu),N("yyy",fu),N("yyyy",fu),N("yo",F3),iu(["y","yy","yyy","yyyy"],Mu),iu(["yo"],function(e,a,l,c){var p;l._locale._eraYearOrdinalRegex&&(p=e.match(l._locale._eraYearOrdinalRegex)),l._locale.eraYearOrdinalParse?a[Mu]=l._locale.eraYearOrdinalParse(e,p):a[Mu]=parseInt(e,10)});function p3(e,a){var l,c,p,M=this._eras||xe("en")._eras;for(l=0,c=M.length;l=0)return M[c]}function y3(e,a){var l=e.since<=e.until?1:-1;return a===void 0?r(e.since).year():r(e.since).year()+(a-e.offset)*l}function g3(){var e,a,l,c=this.localeData().eras();for(e=0,a=c.length;eM&&(a=M),H3.call(this,e,a,l,c,p))}function H3(e,a,l,c,p){var M=us(e,a,l,c,p),x=Xt(M.year,0,M.dayOfYear);return this.year(x.getUTCFullYear()),this.month(x.getUTCMonth()),this.date(x.getUTCDate()),this}R("Q",0,"Qo","quarter"),N("Q",k0),iu("Q",function(e,a){a[Be]=(X(e)-1)*3});function j3(e){return e==null?Math.ceil((this.month()+1)/3):this.month((e-1)*3+this.month()%3)}R("D",["DD",2],"Do","date"),N("D",q,Dt),N("DD",q,w),N("Do",function(e,a){return e?a._dayOfMonthOrdinalParse||a._ordinalParse:a._dayOfMonthOrdinalParseLenient}),iu(["D","DD"],pe),iu("Do",function(e,a){a[pe]=X(e.match(q)[0])});var Ls=yt("Date",!0);R("DDD",["DDDD",3],"DDDo","dayOfYear"),N("DDD",xu),N("DDDD",P),iu(["DDD","DDDD"],function(e,a,l){l._dayOfYear=X(e)});function O3(e){var a=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return e==null?a:this.add(e-a,"d")}R("m",["mm",2],0,"minute"),N("m",q,zn),N("mm",q,w),iu(["m","mm"],le);var P3=yt("Minutes",!1);R("s",["ss",2],0,"second"),N("s",q,zn),N("ss",q,w),iu(["s","ss"],ke);var I3=yt("Seconds",!1);R("S",0,0,function(){return~~(this.millisecond()/100)}),R(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),R(0,["SSS",3],0,"millisecond"),R(0,["SSSS",4],0,function(){return this.millisecond()*10}),R(0,["SSSSS",5],0,function(){return this.millisecond()*100}),R(0,["SSSSSS",6],0,function(){return this.millisecond()*1e3}),R(0,["SSSSSSS",7],0,function(){return this.millisecond()*1e4}),R(0,["SSSSSSSS",8],0,function(){return this.millisecond()*1e5}),R(0,["SSSSSSSSS",9],0,function(){return this.millisecond()*1e6}),N("S",xu,k0),N("SS",xu,w),N("SSS",xu,P);var Ne,vs;for(Ne="SSSS";Ne.length<=9;Ne+="S")N(Ne,fu);function W3(e,a){a[tt]=X(("0."+e)*1e3)}for(Ne="S";Ne.length<=9;Ne+="S")iu(Ne,W3);vs=yt("Milliseconds",!1),R("z",0,0,"zoneAbbr"),R("zz",0,0,"zoneName");function z3(){return this._isUTC?"UTC":""}function N3(){return this._isUTC?"Coordinated Universal Time":""}var H=V.prototype;H.add=Sc,H.calendar=zc,H.clone=Nc,H.diff=Gc,H.endOf=a3,H.format=Xc,H.from=u3,H.fromNow=e3,H.to=t3,H.toNow=n3,H.get=Q4,H.invalidAt=h3,H.isAfter=Rc,H.isBefore=Uc,H.isBetween=Vc,H.isSame=$c,H.isSameOrAfter=Jc,H.isSameOrBefore=qc,H.isValid=m3,H.lang=ys,H.locale=Ds,H.localeData=gs,H.max=mc,H.min=cc,H.parsingFlags=_3,H.set=X4,H.startOf=r3,H.subtract=Hc,H.toArray=l3,H.toObject=d3,H.toDate=o3,H.toISOString=Zc,H.inspect=Qc,typeof Symbol<"u"&&Symbol.for!=null&&(H[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),H.toJSON=c3,H.toString=Kc,H.unix=i3,H.valueOf=s3,H.creationData=f3,H.eraName=g3,H.eraNarrow=E3,H.eraAbbr=C3,H.eraYear=A3,H.year=Ja,H.isLeapYear=Z4,H.weekYear=x3,H.isoWeekYear=Y3,H.quarter=H.quarters=j3,H.month=Qa,H.daysInMonth=od,H.week=H.weeks=pd,H.isoWeek=H.isoWeeks=Dd,H.weeksInYear=T3,H.weeksInWeekYear=S3,H.isoWeeksInYear=w3,H.isoWeeksInISOWeekYear=b3,H.date=Ls,H.day=H.days=Yd,H.weekday=wd,H.isoWeekday=bd,H.dayOfYear=O3,H.hour=H.hours=Id,H.minute=H.minutes=P3,H.second=H.seconds=I3,H.millisecond=H.milliseconds=vs,H.utcOffset=Cc,H.utc=Mc,H.local=Lc,H.parseZone=vc,H.hasAlignedHourOffset=Bc,H.isDST=kc,H.isLocal=xc,H.isUtcOffset=Yc,H.isUtc=ms,H.isUTC=ms,H.zoneAbbr=z3,H.zoneName=N3,H.dates=y("dates accessor is deprecated. Use date instead.",Ls),H.months=y("months accessor is deprecated. Use month instead",Qa),H.years=y("years accessor is deprecated. Use year instead",Ja),H.zone=y("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Ac),H.isDSTShifted=y("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Fc);function R3(e){return du(e*1e3)}function U3(){return du.apply(null,arguments).parseZone()}function Bs(e){return e}var nu=su.prototype;nu.calendar=gu,nu.longDateFormat=pt,nu.invalidDate=jn,nu.ordinal=L0,nu.preparse=Bs,nu.postformat=Bs,nu.relativeTime=Pn,nu.pastFuture=B0,nu.set=U,nu.eras=p3,nu.erasParse=D3,nu.erasConvertYear=y3,nu.erasAbbrRegex=L3,nu.erasNameRegex=M3,nu.erasNarrowRegex=v3,nu.months=rd,nu.monthsShort=ad,nu.monthsParse=id,nu.monthsRegex=dd,nu.monthsShortRegex=ld,nu.week=md,nu.firstDayOfYear=fd,nu.firstDayOfWeek=hd,nu.weekdays=vd,nu.weekdaysMin=kd,nu.weekdaysShort=Bd,nu.weekdaysParse=xd,nu.weekdaysRegex=Td,nu.weekdaysShortRegex=Sd,nu.weekdaysMinRegex=Hd,nu.isPM=Od,nu.meridiem=Wd;function W0(e,a,l,c){var p=xe(),M=E().set(c,a);return p[l](M,e)}function ks(e,a,l){if(f(e)&&(a=e,e=void 0),e=e||"",a!=null)return W0(e,a,l,"month");var c,p=[];for(c=0;c<12;c++)p[c]=W0(e,c,l,"month");return p}function rr(e,a,l,c){typeof e=="boolean"?(f(a)&&(l=a,a=void 0),a=a||""):(a=e,l=a,e=!1,f(a)&&(l=a,a=void 0),a=a||"");var p=xe(),M=e?p._week.dow:0,x,z=[];if(l!=null)return W0(a,(l+M)%7,c,"day");for(x=0;x<7;x++)z[x]=W0(a,(x+M)%7,c,"day");return z}function V3(e,a){return ks(e,a,"months")}function $3(e,a){return ks(e,a,"monthsShort")}function J3(e,a,l){return rr(e,a,l,"weekdays")}function q3(e,a,l){return rr(e,a,l,"weekdaysShort")}function G3(e,a,l){return rr(e,a,l,"weekdaysMin")}ze("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var a=e%10,l=X(e%100/10)===1?"th":a===1?"st":a===2?"nd":a===3?"rd":"th";return e+l}}),r.lang=y("moment.lang is deprecated. Use moment.locale instead.",ze),r.langData=y("moment.langData is deprecated. Use moment.localeData instead.",xe);var Ye=Math.abs;function K3(){var e=this._data;return this._milliseconds=Ye(this._milliseconds),this._days=Ye(this._days),this._months=Ye(this._months),e.milliseconds=Ye(e.milliseconds),e.seconds=Ye(e.seconds),e.minutes=Ye(e.minutes),e.hours=Ye(e.hours),e.months=Ye(e.months),e.years=Ye(e.years),this}function Fs(e,a,l,c){var p=de(a,l);return e._milliseconds+=c*p._milliseconds,e._days+=c*p._days,e._months+=c*p._months,e._bubble()}function Z3(e,a){return Fs(this,e,a,1)}function Q3(e,a){return Fs(this,e,a,-1)}function xs(e){return e<0?Math.floor(e):Math.ceil(e)}function X3(){var e=this._milliseconds,a=this._days,l=this._months,c=this._data,p,M,x,z,Z;return e>=0&&a>=0&&l>=0||e<=0&&a<=0&&l<=0||(e+=xs(ar(l)+a)*864e5,a=0,l=0),c.milliseconds=e%1e3,p=Uu(e/1e3),c.seconds=p%60,M=Uu(p/60),c.minutes=M%60,x=Uu(M/60),c.hours=x%24,a+=Uu(x/24),Z=Uu(Ys(a)),l+=Z,a-=xs(ar(Z)),z=Uu(l/12),l%=12,c.days=a,c.months=l,c.years=z,this}function Ys(e){return e*4800/146097}function ar(e){return e*146097/4800}function um(e){if(!this.isValid())return NaN;var a,l,c=this._milliseconds;if(e=Fu(e),e==="month"||e==="quarter"||e==="year")switch(a=this._days+c/864e5,l=this._months+Ys(a),e){case"month":return l;case"quarter":return l/3;case"year":return l/12}else switch(a=this._days+Math.round(ar(this._months)),e){case"week":return a/7+c/6048e5;case"day":return a+c/864e5;case"hour":return a*24+c/36e5;case"minute":return a*1440+c/6e4;case"second":return a*86400+c/1e3;case"millisecond":return Math.floor(a*864e5)+c;default:throw new Error("Unknown unit "+e)}}function we(e){return function(){return this.as(e)}}var ws=we("ms"),em=we("s"),tm=we("m"),nm=we("h"),rm=we("d"),am=we("w"),sm=we("M"),im=we("Q"),om=we("y"),lm=ws;function dm(){return de(this)}function cm(e){return e=Fu(e),this.isValid()?this[e+"s"]():NaN}function rt(e){return function(){return this.isValid()?this._data[e]:NaN}}var mm=rt("milliseconds"),_m=rt("seconds"),hm=rt("minutes"),fm=rt("hours"),pm=rt("days"),Dm=rt("months"),ym=rt("years");function gm(){return Uu(this.days()/7)}var be=Math.round,At={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function Em(e,a,l,c,p){return p.relativeTime(a||1,!!l,e,c)}function Cm(e,a,l,c){var p=de(e).abs(),M=be(p.as("s")),x=be(p.as("m")),z=be(p.as("h")),Z=be(p.as("d")),uu=be(p.as("M")),Bu=be(p.as("w")),je=be(p.as("y")),Je=M<=l.ss&&["s",M]||M0,Je[4]=c,Em.apply(null,Je)}function Am(e){return e===void 0?be:typeof e=="function"?(be=e,!0):!1}function Mm(e,a){return At[e]===void 0?!1:a===void 0?At[e]:(At[e]=a,e==="s"&&(At.ss=a-1),!0)}function Lm(e,a){if(!this.isValid())return this.localeData().invalidDate();var l=!1,c=At,p,M;return typeof e=="object"&&(a=e,e=!1),typeof e=="boolean"&&(l=e),typeof a=="object"&&(c=Object.assign({},At,a),a.s!=null&&a.ss==null&&(c.ss=a.s-1)),p=this.localeData(),M=Cm(this,!l,c,p),l&&(M=p.pastFuture(+this,M)),p.postformat(M)}var sr=Math.abs;function Mt(e){return(e>0)-(e<0)||+e}function z0(){if(!this.isValid())return this.localeData().invalidDate();var e=sr(this._milliseconds)/1e3,a=sr(this._days),l=sr(this._months),c,p,M,x,z=this.asSeconds(),Z,uu,Bu,je;return z?(c=Uu(e/60),p=Uu(c/60),e%=60,c%=60,M=Uu(l/12),l%=12,x=e?e.toFixed(3).replace(/\.?0+$/,""):"",Z=z<0?"-":"",uu=Mt(this._months)!==Mt(z)?"-":"",Bu=Mt(this._days)!==Mt(z)?"-":"",je=Mt(this._milliseconds)!==Mt(z)?"-":"",Z+"P"+(M?uu+M+"Y":"")+(l?uu+l+"M":"")+(a?Bu+a+"D":"")+(p||c||e?"T":"")+(p?je+p+"H":"")+(c?je+c+"M":"")+(e?je+x+"S":"")):"P0D"}var eu=S0.prototype;eu.isValid=Dc,eu.abs=K3,eu.add=Z3,eu.subtract=Q3,eu.as=um,eu.asMilliseconds=ws,eu.asSeconds=em,eu.asMinutes=tm,eu.asHours=nm,eu.asDays=rm,eu.asWeeks=am,eu.asMonths=sm,eu.asQuarters=im,eu.asYears=om,eu.valueOf=lm,eu._bubble=X3,eu.clone=dm,eu.get=cm,eu.milliseconds=mm,eu.seconds=_m,eu.minutes=hm,eu.hours=fm,eu.days=pm,eu.weeks=gm,eu.months=Dm,eu.years=ym,eu.humanize=Lm,eu.toISOString=z0,eu.toString=z0,eu.toJSON=z0,eu.locale=Ds,eu.localeData=gs,eu.toIsoString=y("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",z0),eu.lang=ys,R("X",0,0,"unix"),R("x",0,0,"valueOf"),N("x",ie),N("X",V4),iu("X",function(e,a,l){l._d=new Date(parseFloat(e)*1e3)}),iu("x",function(e,a,l){l._d=new Date(X(e))}),r.version="2.30.1",s(du),r.fn=H,r.min=_c,r.max=hc,r.now=fc,r.utc=E,r.unix=R3,r.months=V3,r.isDate=h,r.locale=ze,r.invalid=T,r.duration=de,r.isMoment=J,r.weekdays=J3,r.parseZone=U3,r.localeData=xe,r.isDuration=H0,r.monthsShort=$3,r.weekdaysMin=G3,r.defineLocale=Jn,r.updateLocale=Ud,r.locales=Vd,r.weekdaysShort=q3,r.normalizeUnits=Fu,r.relativeTimeRounding=Am,r.relativeTimeThreshold=Mm,r.calendarFormat=Wc,r.prototype=H,r.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},r.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(e){return/^nm$/i.test(e)},meridiem:function(e,a,l){return e<12?l?"vm":"VM":l?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[Môre om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",ss:"%d sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(e===1||e===8||e>=20?"ste":"de")},week:{dow:1,doy:4}});var bs=function(e){return e===0?0:e===1?1:e===2?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},vm={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},Vu=function(e){return function(a,l,c,p){var M=bs(a),x=vm[e][bs(a)];return M===2&&(x=x[l?0:1]),x.replace(/%d/i,a)}},Ts=["جانفي","فيفري","مارس","أفريل","ماي","جوان","جويلية","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر"];r.defineLocale("ar-dz",{months:Ts,monthsShort:Ts,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(e){return e==="م"},meridiem:function(e,a,l){return e<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:Vu("s"),ss:Vu("s"),m:Vu("m"),mm:Vu("m"),h:Vu("h"),hh:Vu("h"),d:Vu("d"),dd:Vu("d"),M:Vu("M"),MM:Vu("M"),y:Vu("y"),yy:Vu("y")},postformat:function(e){return e.replace(/,/g,"،")},week:{dow:0,doy:4}}),r.defineLocale("ar-kw",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:12}});var Bm={1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},Ss=function(e){return e===0?0:e===1?1:e===2?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},km={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},$u=function(e){return function(a,l,c,p){var M=Ss(a),x=km[e][Ss(a)];return M===2&&(x=x[l?0:1]),x.replace(/%d/i,a)}},Hs=["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"];r.defineLocale("ar-ly",{months:Hs,monthsShort:Hs,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(e){return e==="م"},meridiem:function(e,a,l){return e<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:$u("s"),ss:$u("s"),m:$u("m"),mm:$u("m"),h:$u("h"),hh:$u("h"),d:$u("d"),dd:$u("d"),M:$u("M"),MM:$u("M"),y:$u("y"),yy:$u("y")},preparse:function(e){return e.replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,function(a){return Bm[a]}).replace(/,/g,"،")},week:{dow:6,doy:12}}),r.defineLocale("ar-ma",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:1,doy:4}});var Fm={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},js={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"};r.defineLocale("ar-ps",{months:"كانون الثاني_شباط_آذار_نيسان_أيّار_حزيران_تمّوز_آب_أيلول_تشري الأوّل_تشرين الثاني_كانون الأوّل".split("_"),monthsShort:"ك٢_شباط_آذار_نيسان_أيّار_حزيران_تمّوز_آب_أيلول_ت١_ت٢_ك١".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(e){return e==="م"},meridiem:function(e,a,l){return e<12?"ص":"م"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},preparse:function(e){return e.replace(/[٣٤٥٦٧٨٩٠]/g,function(a){return js[a]}).split("").reverse().join("").replace(/[١٢](?![\u062a\u0643])/g,function(a){return js[a]}).split("").reverse().join("").replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,function(a){return Fm[a]}).replace(/,/g,"،")},week:{dow:0,doy:6}});var xm={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},Ym={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"};r.defineLocale("ar-sa",{months:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(e){return e==="م"},meridiem:function(e,a,l){return e<12?"ص":"م"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},preparse:function(e){return e.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(a){return Ym[a]}).replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,function(a){return xm[a]}).replace(/,/g,"،")},week:{dow:0,doy:6}}),r.defineLocale("ar-tn",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:1,doy:4}});var wm={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},bm={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},Os=function(e){return e===0?0:e===1?1:e===2?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},Tm={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},Ju=function(e){return function(a,l,c,p){var M=Os(a),x=Tm[e][Os(a)];return M===2&&(x=x[l?0:1]),x.replace(/%d/i,a)}},Ps=["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"];r.defineLocale("ar",{months:Ps,monthsShort:Ps,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(e){return e==="م"},meridiem:function(e,a,l){return e<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:Ju("s"),ss:Ju("s"),m:Ju("m"),mm:Ju("m"),h:Ju("h"),hh:Ju("h"),d:Ju("d"),dd:Ju("d"),M:Ju("M"),MM:Ju("M"),y:Ju("y"),yy:Ju("y")},preparse:function(e){return e.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(a){return bm[a]}).replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,function(a){return wm[a]}).replace(/,/g,"،")},week:{dow:6,doy:12}});var ir={1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-üncü",4:"-üncü",100:"-üncü",6:"-ncı",9:"-uncu",10:"-uncu",30:"-uncu",60:"-ıncı",90:"-ıncı"};r.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə".split("_"),weekdaysShort:"Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən".split("_"),weekdaysMin:"Bz_BE_ÇA_Çə_CA_Cü_Şə".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[gələn həftə] dddd [saat] LT",lastDay:"[dünən] LT",lastWeek:"[keçən həftə] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s əvvəl",s:"bir neçə saniyə",ss:"%d saniyə",m:"bir dəqiqə",mm:"%d dəqiqə",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gecə|səhər|gündüz|axşam/,isPM:function(e){return/^(gündüz|axşam)$/.test(e)},meridiem:function(e,a,l){return e<4?"gecə":e<12?"səhər":e<17?"gündüz":"axşam"},dayOfMonthOrdinalParse:/\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,ordinal:function(e){if(e===0)return e+"-ıncı";var a=e%10,l=e%100-a,c=e>=100?100:null;return e+(ir[a]||ir[l]||ir[c])},week:{dow:1,doy:7}});function Sm(e,a){var l=e.split("_");return a%10===1&&a%100!==11?l[0]:a%10>=2&&a%10<=4&&(a%100<10||a%100>=20)?l[1]:l[2]}function at(e,a,l){var c={ss:a?"секунда_секунды_секунд":"секунду_секунды_секунд",mm:a?"хвіліна_хвіліны_хвілін":"хвіліну_хвіліны_хвілін",hh:a?"гадзіна_гадзіны_гадзін":"гадзіну_гадзіны_гадзін",dd:"дзень_дні_дзён",MM:"месяц_месяцы_месяцаў",yy:"год_гады_гадоў"};return l==="m"?a?"хвіліна":"хвіліну":l==="h"?a?"гадзіна":"гадзіну":e+" "+Sm(c[l],+e)}r.defineLocale("be",{months:{format:"студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня".split("_"),standalone:"студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань".split("_")},monthsShort:"студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж".split("_"),weekdays:{format:"нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу".split("_"),standalone:"нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота".split("_"),isFormat:/\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/},weekdaysShort:"нд_пн_ат_ср_чц_пт_сб".split("_"),weekdaysMin:"нд_пн_ат_ср_чц_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сёння ў] LT",nextDay:"[Заўтра ў] LT",lastDay:"[Учора ў] LT",nextWeek:function(){return"[У] dddd [ў] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[У мінулую] dddd [ў] LT";case 1:case 2:case 4:return"[У мінулы] dddd [ў] LT"}},sameElse:"L"},relativeTime:{future:"праз %s",past:"%s таму",s:"некалькі секунд",m:at,mm:at,h:at,hh:at,d:"дзень",dd:at,M:"месяц",MM:at,y:"год",yy:at},meridiemParse:/ночы|раніцы|дня|вечара/,isPM:function(e){return/^(дня|вечара)$/.test(e)},meridiem:function(e,a,l){return e<4?"ночы":e<12?"раніцы":e<17?"дня":"вечара"},dayOfMonthOrdinalParse:/\d{1,2}-(і|ы|га)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":case"w":case"W":return(e%10===2||e%10===3)&&e%100!==12&&e%100!==13?e+"-і":e+"-ы";case"D":return e+"-га";default:return e}},week:{dow:1,doy:7}}),r.defineLocale("bg",{months:"януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември".split("_"),monthsShort:"яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек".split("_"),weekdays:"неделя_понеделник_вторник_сряда_четвъртък_петък_събота".split("_"),weekdaysShort:"нед_пон_вто_сря_чет_пет_съб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Днес в] LT",nextDay:"[Утре в] LT",nextWeek:"dddd [в] LT",lastDay:"[Вчера в] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[Миналата] dddd [в] LT";case 1:case 2:case 4:case 5:return"[Миналия] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"след %s",past:"преди %s",s:"няколко секунди",ss:"%d секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дена",w:"седмица",ww:"%d седмици",M:"месец",MM:"%d месеца",y:"година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(e){var a=e%10,l=e%100;return e===0?e+"-ев":l===0?e+"-ен":l>10&&l<20?e+"-ти":a===1?e+"-ви":a===2?e+"-ри":a===7||a===8?e+"-ми":e+"-ти"},week:{dow:1,doy:7}}),r.defineLocale("bm",{months:"Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo".split("_"),monthsShort:"Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des".split("_"),weekdays:"Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri".split("_"),weekdaysShort:"Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib".split("_"),weekdaysMin:"Ka_Nt_Ta_Ar_Al_Ju_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"MMMM [tile] D [san] YYYY",LLL:"MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm",LLLL:"dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm"},calendar:{sameDay:"[Bi lɛrɛ] LT",nextDay:"[Sini lɛrɛ] LT",nextWeek:"dddd [don lɛrɛ] LT",lastDay:"[Kunu lɛrɛ] LT",lastWeek:"dddd [tɛmɛnen lɛrɛ] LT",sameElse:"L"},relativeTime:{future:"%s kɔnɔ",past:"a bɛ %s bɔ",s:"sanga dama dama",ss:"sekondi %d",m:"miniti kelen",mm:"miniti %d",h:"lɛrɛ kelen",hh:"lɛrɛ %d",d:"tile kelen",dd:"tile %d",M:"kalo kelen",MM:"kalo %d",y:"san kelen",yy:"san %d"},week:{dow:1,doy:4}});var Hm={1:"১",2:"২",3:"৩",4:"৪",5:"৫",6:"৬",7:"৭",8:"৮",9:"৯",0:"০"},jm={"১":"1","২":"2","৩":"3","৪":"4","৫":"5","৬":"6","৭":"7","৮":"8","৯":"9","০":"0"};r.defineLocale("bn-bd",{months:"জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর".split("_"),monthsShort:"জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে".split("_"),weekdays:"রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার".split("_"),weekdaysShort:"রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি".split("_"),weekdaysMin:"রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি".split("_"),longDateFormat:{LT:"A h:mm সময়",LTS:"A h:mm:ss সময়",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm সময়",LLLL:"dddd, D MMMM YYYY, A h:mm সময়"},calendar:{sameDay:"[আজ] LT",nextDay:"[আগামীকাল] LT",nextWeek:"dddd, LT",lastDay:"[গতকাল] LT",lastWeek:"[গত] dddd, LT",sameElse:"L"},relativeTime:{future:"%s পরে",past:"%s আগে",s:"কয়েক সেকেন্ড",ss:"%d সেকেন্ড",m:"এক মিনিট",mm:"%d মিনিট",h:"এক ঘন্টা",hh:"%d ঘন্টা",d:"এক দিন",dd:"%d দিন",M:"এক মাস",MM:"%d মাস",y:"এক বছর",yy:"%d বছর"},preparse:function(e){return e.replace(/[১২৩৪৫৬৭৮৯০]/g,function(a){return jm[a]})},postformat:function(e){return e.replace(/\d/g,function(a){return Hm[a]})},meridiemParse:/রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/,meridiemHour:function(e,a){if(e===12&&(e=0),a==="রাত")return e<4?e:e+12;if(a==="ভোর"||a==="সকাল")return e;if(a==="দুপুর")return e>=3?e:e+12;if(a==="বিকাল"||a==="সন্ধ্যা")return e+12},meridiem:function(e,a,l){return e<4?"রাত":e<6?"ভোর":e<12?"সকাল":e<15?"দুপুর":e<18?"বিকাল":e<20?"সন্ধ্যা":"রাত"},week:{dow:0,doy:6}});var Om={1:"১",2:"২",3:"৩",4:"৪",5:"৫",6:"৬",7:"৭",8:"৮",9:"৯",0:"০"},Pm={"১":"1","২":"2","৩":"3","৪":"4","৫":"5","৬":"6","৭":"7","৮":"8","৯":"9","০":"0"};r.defineLocale("bn",{months:"জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর".split("_"),monthsShort:"জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে".split("_"),weekdays:"রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার".split("_"),weekdaysShort:"রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি".split("_"),weekdaysMin:"রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি".split("_"),longDateFormat:{LT:"A h:mm সময়",LTS:"A h:mm:ss সময়",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm সময়",LLLL:"dddd, D MMMM YYYY, A h:mm সময়"},calendar:{sameDay:"[আজ] LT",nextDay:"[আগামীকাল] LT",nextWeek:"dddd, LT",lastDay:"[গতকাল] LT",lastWeek:"[গত] dddd, LT",sameElse:"L"},relativeTime:{future:"%s পরে",past:"%s আগে",s:"কয়েক সেকেন্ড",ss:"%d সেকেন্ড",m:"এক মিনিট",mm:"%d মিনিট",h:"এক ঘন্টা",hh:"%d ঘন্টা",d:"এক দিন",dd:"%d দিন",M:"এক মাস",MM:"%d মাস",y:"এক বছর",yy:"%d বছর"},preparse:function(e){return e.replace(/[১২৩৪৫৬৭৮৯০]/g,function(a){return Pm[a]})},postformat:function(e){return e.replace(/\d/g,function(a){return Om[a]})},meridiemParse:/রাত|সকাল|দুপুর|বিকাল|রাত/,meridiemHour:function(e,a){return e===12&&(e=0),a==="রাত"&&e>=4||a==="দুপুর"&&e<5||a==="বিকাল"?e+12:e},meridiem:function(e,a,l){return e<4?"রাত":e<10?"সকাল":e<17?"দুপুর":e<20?"বিকাল":"রাত"},week:{dow:0,doy:6}});var Im={1:"༡",2:"༢",3:"༣",4:"༤",5:"༥",6:"༦",7:"༧",8:"༨",9:"༩",0:"༠"},Wm={"༡":"1","༢":"2","༣":"3","༤":"4","༥":"5","༦":"6","༧":"7","༨":"8","༩":"9","༠":"0"};r.defineLocale("bo",{months:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),monthsShort:"ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12".split("_"),monthsShortRegex:/^(ཟླ་\d{1,2})/,monthsParseExact:!0,weekdays:"གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་".split("_"),weekdaysShort:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),weekdaysMin:"ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[དི་རིང] LT",nextDay:"[སང་ཉིན] LT",nextWeek:"[བདུན་ཕྲག་རྗེས་མ], LT",lastDay:"[ཁ་སང] LT",lastWeek:"[བདུན་ཕྲག་མཐའ་མ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ལ་",past:"%s སྔན་ལ",s:"ལམ་སང",ss:"%d སྐར་ཆ།",m:"སྐར་མ་གཅིག",mm:"%d སྐར་མ",h:"ཆུ་ཚོད་གཅིག",hh:"%d ཆུ་ཚོད",d:"ཉིན་གཅིག",dd:"%d ཉིན་",M:"ཟླ་བ་གཅིག",MM:"%d ཟླ་བ",y:"ལོ་གཅིག",yy:"%d ལོ"},preparse:function(e){return e.replace(/[༡༢༣༤༥༦༧༨༩༠]/g,function(a){return Wm[a]})},postformat:function(e){return e.replace(/\d/g,function(a){return Im[a]})},meridiemParse:/མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,meridiemHour:function(e,a){return e===12&&(e=0),a==="མཚན་མོ"&&e>=4||a==="ཉིན་གུང"&&e<5||a==="དགོང་དག"?e+12:e},meridiem:function(e,a,l){return e<4?"མཚན་མོ":e<10?"ཞོགས་ཀས":e<17?"ཉིན་གུང":e<20?"དགོང་དག":"མཚན་མོ"},week:{dow:0,doy:6}});function or(e,a,l){var c={mm:"munutenn",MM:"miz",dd:"devezh"};return e+" "+Nm(c[l],e)}function zm(e){switch(Is(e)){case 1:case 3:case 4:case 5:case 9:return e+" bloaz";default:return e+" vloaz"}}function Is(e){return e>9?Is(e%10):e}function Nm(e,a){return a===2?Rm(e):e}function Rm(e){var a={m:"v",b:"v",d:"z"};return a[e.charAt(0)]===void 0?e:a[e.charAt(0)]+e.substring(1)}var lr=[/^gen/i,/^c[ʼ\']hwe/i,/^meu/i,/^ebr/i,/^mae/i,/^(mez|eve)/i,/^gou/i,/^eos/i,/^gwe/i,/^her/i,/^du/i,/^ker/i],Ws=/^(genver|c[ʼ\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,Um=/^(genver|c[ʼ\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,Vm=/^(gen|c[ʼ\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,$m=[/^sul/i,/^lun/i,/^meurzh/i,/^merc[ʼ\']her/i,/^yaou/i,/^gwener/i,/^sadorn/i],Jm=[/^Sul/i,/^Lun/i,/^Meu/i,/^Mer/i,/^Yao/i,/^Gwe/i,/^Sad/i],zs=[/^Su/i,/^Lu/i,/^Me([^r]|$)/i,/^Mer/i,/^Ya/i,/^Gw/i,/^Sa/i];r.defineLocale("br",{months:"Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParse:zs,fullWeekdaysParse:$m,shortWeekdaysParse:Jm,minWeekdaysParse:zs,monthsRegex:Ws,monthsShortRegex:Ws,monthsStrictRegex:Um,monthsShortStrictRegex:Vm,monthsParse:lr,longMonthsParse:lr,shortMonthsParse:lr,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY HH:mm",LLLL:"dddd, D [a viz] MMMM YYYY HH:mm"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warcʼhoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Decʼh da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s ʼzo",s:"un nebeud segondennoù",ss:"%d eilenn",m:"ur vunutenn",mm:or,h:"un eur",hh:"%d eur",d:"un devezh",dd:or,M:"ur miz",MM:or,y:"ur bloaz",yy:zm},dayOfMonthOrdinalParse:/\d{1,2}(añ|vet)/,ordinal:function(e){var a=e===1?"añ":"vet";return e+a},week:{dow:1,doy:4},meridiemParse:/a.m.|g.m./,isPM:function(e){return e==="g.m."},meridiem:function(e,a,l){return e<12?"a.m.":"g.m."}});function qm(e,a,l,c){switch(l){case"m":return a?"jedna minuta":c?"jednu minutu":"jedne minute"}}function st(e,a,l){var c=e+" ";switch(l){case"ss":return e===1?c+="sekunda":e===2||e===3||e===4?c+="sekunde":c+="sekundi",c;case"mm":return e===1?c+="minuta":e===2||e===3||e===4?c+="minute":c+="minuta",c;case"h":return"jedan sat";case"hh":return e===1?c+="sat":e===2||e===3||e===4?c+="sata":c+="sati",c;case"dd":return e===1?c+="dan":c+="dana",c;case"MM":return e===1?c+="mjesec":e===2||e===3||e===4?c+="mjeseca":c+="mjeseci",c;case"yy":return e===1?c+="godina":e===2||e===3||e===4?c+="godine":c+="godina",c}}r.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:st,m:qm,mm:st,h:st,hh:st,d:"dan",dd:st,M:"mjesec",MM:st,y:"godinu",yy:st},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),r.defineLocale("ca",{months:{standalone:"gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),format:"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dt_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a les] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a les] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:function(){return"[avui a "+(this.hours()!==1?"les":"la")+"] LT"},nextDay:function(){return"[demà a "+(this.hours()!==1?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(this.hours()!==1?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(this.hours()!==1?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(this.hours()!==1?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"d'aquí %s",past:"fa %s",s:"uns segons",ss:"%d segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|è|a)/,ordinal:function(e,a){var l=e===1?"r":e===2?"n":e===3?"r":e===4?"t":"è";return(a==="w"||a==="W")&&(l="a"),e+l},week:{dow:1,doy:4}});var Gm={standalone:"leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"),format:"ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince".split("_"),isFormat:/DD?[o.]?(\[[^\[\]]*\]|\s)+MMMM/},Km="led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_"),dr=[/^led/i,/^úno/i,/^bře/i,/^dub/i,/^kvě/i,/^(čvn|červen$|června)/i,/^(čvc|červenec|července)/i,/^srp/i,/^zář/i,/^říj/i,/^lis/i,/^pro/i],Ns=/^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;function Lt(e){return e>1&&e<5&&~~(e/10)!==1}function qu(e,a,l,c){var p=e+" ";switch(l){case"s":return a||c?"pár sekund":"pár sekundami";case"ss":return a||c?p+(Lt(e)?"sekundy":"sekund"):p+"sekundami";case"m":return a?"minuta":c?"minutu":"minutou";case"mm":return a||c?p+(Lt(e)?"minuty":"minut"):p+"minutami";case"h":return a?"hodina":c?"hodinu":"hodinou";case"hh":return a||c?p+(Lt(e)?"hodiny":"hodin"):p+"hodinami";case"d":return a||c?"den":"dnem";case"dd":return a||c?p+(Lt(e)?"dny":"dní"):p+"dny";case"M":return a||c?"měsíc":"měsícem";case"MM":return a||c?p+(Lt(e)?"měsíce":"měsíců"):p+"měsíci";case"y":return a||c?"rok":"rokem";case"yy":return a||c?p+(Lt(e)?"roky":"let"):p+"lety"}}r.defineLocale("cs",{months:Gm,monthsShort:Km,monthsRegex:Ns,monthsShortRegex:Ns,monthsStrictRegex:/^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,monthsShortStrictRegex:/^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,monthsParse:dr,longMonthsParse:dr,shortMonthsParse:dr,weekdays:"neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"),weekdaysShort:"ne_po_út_st_čt_pá_so".split("_"),weekdaysMin:"ne_po_út_st_čt_pá_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[zítra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v neděli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve středu v] LT";case 4:return"[ve čtvrtek v] LT";case 5:return"[v pátek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[včera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou neděli v] LT";case 1:case 2:return"[minulé] dddd [v] LT";case 3:return"[minulou středu v] LT";case 4:case 5:return"[minulý] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"před %s",s:qu,ss:qu,m:qu,mm:qu,h:qu,hh:qu,d:qu,dd:qu,M:qu,MM:qu,y:qu,yy:qu},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),r.defineLocale("cv",{months:"кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав".split("_"),monthsShort:"кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш".split("_"),weekdays:"вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун".split("_"),weekdaysShort:"выр_тун_ытл_юн_кӗҫ_эрн_шӑм".split("_"),weekdaysMin:"вр_тн_ыт_юн_кҫ_эр_шм".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]",LLL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm",LLLL:"dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm"},calendar:{sameDay:"[Паян] LT [сехетре]",nextDay:"[Ыран] LT [сехетре]",lastDay:"[Ӗнер] LT [сехетре]",nextWeek:"[Ҫитес] dddd LT [сехетре]",lastWeek:"[Иртнӗ] dddd LT [сехетре]",sameElse:"L"},relativeTime:{future:function(e){var a=/сехет$/i.exec(e)?"рен":/ҫул$/i.exec(e)?"тан":"ран";return e+a},past:"%s каялла",s:"пӗр-ик ҫеккунт",ss:"%d ҫеккунт",m:"пӗр минут",mm:"%d минут",h:"пӗр сехет",hh:"%d сехет",d:"пӗр кун",dd:"%d кун",M:"пӗр уйӑх",MM:"%d уйӑх",y:"пӗр ҫул",yy:"%d ҫул"},dayOfMonthOrdinalParse:/\d{1,2}-мӗш/,ordinal:"%d-мӗш",week:{dow:1,doy:7}}),r.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn ôl",s:"ychydig eiliadau",ss:"%d eiliad",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},dayOfMonthOrdinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(e){var a=e,l="",c=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"];return a>20?a===40||a===50||a===60||a===80||a===100?l="fed":l="ain":a>0&&(l=c[a]),e+l},week:{dow:1,doy:4}}),r.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tir_ons_tor_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"på dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[i] dddd[s kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"få sekunder",ss:"%d sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en måned",MM:"%d måneder",y:"et år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});function Te(e,a,l,c){var p={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],w:["eine Woche","einer Woche"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?p[l][0]:p[l][1]}r.defineLocale("de-at",{months:"Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:Te,mm:"%d Minuten",h:Te,hh:"%d Stunden",d:Te,dd:Te,w:Te,ww:"%d Wochen",M:Te,MM:Te,y:Te,yy:Te},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});function Se(e,a,l,c){var p={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],w:["eine Woche","einer Woche"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?p[l][0]:p[l][1]}r.defineLocale("de-ch",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:Se,mm:"%d Minuten",h:Se,hh:"%d Stunden",d:Se,dd:Se,w:Se,ww:"%d Wochen",M:Se,MM:Se,y:Se,yy:Se},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});function He(e,a,l,c){var p={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],w:["eine Woche","einer Woche"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?p[l][0]:p[l][1]}r.defineLocale("de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:He,mm:"%d Minuten",h:He,hh:"%d Stunden",d:He,dd:He,w:He,ww:"%d Wochen",M:He,MM:He,y:He,yy:He},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var Rs=["ޖެނުއަރީ","ފެބްރުއަރީ","މާރިޗު","އޭޕްރީލު","މޭ","ޖޫން","ޖުލައި","އޯގަސްޓު","ސެޕްޓެމްބަރު","އޮކްޓޯބަރު","ނޮވެމްބަރު","ޑިސެމްބަރު"],Us=["އާދިއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"];r.defineLocale("dv",{months:Rs,monthsShort:Rs,weekdays:Us,weekdaysShort:Us,weekdaysMin:"އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/މކ|މފ/,isPM:function(e){return e==="މފ"},meridiem:function(e,a,l){return e<12?"މކ":"މފ"},calendar:{sameDay:"[މިއަދު] LT",nextDay:"[މާދަމާ] LT",nextWeek:"dddd LT",lastDay:"[އިއްޔެ] LT",lastWeek:"[ފާއިތުވި] dddd LT",sameElse:"L"},relativeTime:{future:"ތެރޭގައި %s",past:"ކުރިން %s",s:"ސިކުންތުކޮޅެއް",ss:"d% ސިކުންތު",m:"މިނިޓެއް",mm:"މިނިޓު %d",h:"ގަޑިއިރެއް",hh:"ގަޑިއިރު %d",d:"ދުވަހެއް",dd:"ދުވަސް %d",M:"މަހެއް",MM:"މަސް %d",y:"އަހަރެއް",yy:"އަހަރު %d"},preparse:function(e){return e.replace(/،/g,",")},postformat:function(e){return e.replace(/,/g,"،")},week:{dow:7,doy:12}});function Zm(e){return typeof Function<"u"&&e instanceof Function||Object.prototype.toString.call(e)==="[object Function]"}r.defineLocale("el",{monthsNominativeEl:"Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"),monthsGenitiveEl:"Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου".split("_"),months:function(e,a){return e?typeof a=="string"&&/D/.test(a.substring(0,a.indexOf("MMMM")))?this._monthsGenitiveEl[e.month()]:this._monthsNominativeEl[e.month()]:this._monthsNominativeEl},monthsShort:"Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ".split("_"),weekdays:"Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο".split("_"),weekdaysShort:"Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ".split("_"),weekdaysMin:"Κυ_Δε_Τρ_Τε_Πε_Πα_Σα".split("_"),meridiem:function(e,a,l){return e>11?l?"μμ":"ΜΜ":l?"πμ":"ΠΜ"},isPM:function(e){return(e+"").toLowerCase()[0]==="μ"},meridiemParse:/[ΠΜ]\.?Μ?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[Σήμερα {}] LT",nextDay:"[Αύριο {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[Χθες {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[το προηγούμενο] dddd [{}] LT";default:return"[την προηγούμενη] dddd [{}] LT"}},sameElse:"L"},calendar:function(e,a){var l=this._calendarEl[e],c=a&&a.hours();return Zm(l)&&(l=l.apply(a)),l.replace("{}",c%12===1?"στη":"στις")},relativeTime:{future:"σε %s",past:"%s πριν",s:"λίγα δευτερόλεπτα",ss:"%d δευτερόλεπτα",m:"ένα λεπτό",mm:"%d λεπτά",h:"μία ώρα",hh:"%d ώρες",d:"μία μέρα",dd:"%d μέρες",M:"ένας μήνας",MM:"%d μήνες",y:"ένας χρόνος",yy:"%d χρόνια"},dayOfMonthOrdinalParse:/\d{1,2}η/,ordinal:"%dη",week:{dow:1,doy:4}}),r.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10,l=~~(e%100/10)===1?"th":a===1?"st":a===2?"nd":a===3?"rd":"th";return e+l},week:{dow:0,doy:4}}),r.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10,l=~~(e%100/10)===1?"th":a===1?"st":a===2?"nd":a===3?"rd":"th";return e+l}}),r.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10,l=~~(e%100/10)===1?"th":a===1?"st":a===2?"nd":a===3?"rd":"th";return e+l},week:{dow:1,doy:4}}),r.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10,l=~~(e%100/10)===1?"th":a===1?"st":a===2?"nd":a===3?"rd":"th";return e+l},week:{dow:1,doy:4}}),r.defineLocale("en-il",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10,l=~~(e%100/10)===1?"th":a===1?"st":a===2?"nd":a===3?"rd":"th";return e+l}}),r.defineLocale("en-in",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10,l=~~(e%100/10)===1?"th":a===1?"st":a===2?"nd":a===3?"rd":"th";return e+l},week:{dow:0,doy:6}}),r.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10,l=~~(e%100/10)===1?"th":a===1?"st":a===2?"nd":a===3?"rd":"th";return e+l},week:{dow:1,doy:4}}),r.defineLocale("en-sg",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10,l=~~(e%100/10)===1?"th":a===1?"st":a===2?"nd":a===3?"rd":"th";return e+l},week:{dow:1,doy:4}}),r.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec".split("_"),weekdays:"dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato".split("_"),weekdaysShort:"dim_lun_mard_merk_ĵaŭ_ven_sab".split("_"),weekdaysMin:"di_lu_ma_me_ĵa_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"[la] D[-an de] MMMM, YYYY",LLL:"[la] D[-an de] MMMM, YYYY HH:mm",LLLL:"dddd[n], [la] D[-an de] MMMM, YYYY HH:mm",llll:"ddd, [la] D[-an de] MMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(e){return e.charAt(0).toLowerCase()==="p"},meridiem:function(e,a,l){return e>11?l?"p.t.m.":"P.T.M.":l?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodiaŭ je] LT",nextDay:"[Morgaŭ je] LT",nextWeek:"dddd[n je] LT",lastDay:"[Hieraŭ je] LT",lastWeek:"[pasintan] dddd[n je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"antaŭ %s",s:"kelkaj sekundoj",ss:"%d sekundoj",m:"unu minuto",mm:"%d minutoj",h:"unu horo",hh:"%d horoj",d:"unu tago",dd:"%d tagoj",M:"unu monato",MM:"%d monatoj",y:"unu jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}});var Vs="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),Qm="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),cr=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],$s=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;r.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?Qm[e.month()]:Vs[e.month()]:Vs},monthsRegex:$s,monthsShortRegex:$s,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:cr,longMonthsParse:cr,shortMonthsParse:cr,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(this.hours()!==1?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(this.hours()!==1?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(this.hours()!==1?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(this.hours()!==1?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(this.hours()!==1?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}});var Js="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),Xm="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),mr=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],qs=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;r.defineLocale("es-mx",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?Xm[e.month()]:Js[e.month()]:Js},monthsRegex:qs,monthsShortRegex:qs,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:mr,longMonthsParse:mr,shortMonthsParse:mr,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(this.hours()!==1?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(this.hours()!==1?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(this.hours()!==1?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(this.hours()!==1?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(this.hours()!==1?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:0,doy:4},invalidDate:"Fecha inválida"});var Gs="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),u_="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),_r=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],Ks=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;r.defineLocale("es-us",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?u_[e.month()]:Gs[e.month()]:Gs},monthsRegex:Ks,monthsShortRegex:Ks,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:_r,longMonthsParse:_r,shortMonthsParse:_r,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"MM/DD/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(this.hours()!==1?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(this.hours()!==1?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(this.hours()!==1?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(this.hours()!==1?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(this.hours()!==1?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:0,doy:6}});var Zs="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),e_="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),hr=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],Qs=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;r.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?e_[e.month()]:Zs[e.month()]:Zs},monthsRegex:Qs,monthsShortRegex:Qs,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:hr,longMonthsParse:hr,shortMonthsParse:hr,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(this.hours()!==1?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(this.hours()!==1?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(this.hours()!==1?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(this.hours()!==1?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(this.hours()!==1?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4},invalidDate:"Fecha inválida"});function ce(e,a,l,c){var p={s:["mõne sekundi","mõni sekund","paar sekundit"],ss:[e+"sekundi",e+"sekundit"],m:["ühe minuti","üks minut"],mm:[e+" minuti",e+" minutit"],h:["ühe tunni","tund aega","üks tund"],hh:[e+" tunni",e+" tundi"],d:["ühe päeva","üks päev"],M:["kuu aja","kuu aega","üks kuu"],MM:[e+" kuu",e+" kuud"],y:["ühe aasta","aasta","üks aasta"],yy:[e+" aasta",e+" aastat"]};return a?p[l][2]?p[l][2]:p[l][1]:c?p[l][0]:p[l][1]}r.defineLocale("et",{months:"jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[Täna,] LT",nextDay:"[Homme,] LT",nextWeek:"[Järgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s pärast",past:"%s tagasi",s:ce,ss:ce,m:ce,mm:ce,h:ce,hh:ce,d:ce,dd:"%d päeva",M:ce,MM:ce,y:ce,yy:ce},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),r.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",ss:"%d segundo",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});var t_={1:"۱",2:"۲",3:"۳",4:"۴",5:"۵",6:"۶",7:"۷",8:"۸",9:"۹",0:"۰"},n_={"۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","۰":"0"};r.defineLocale("fa",{months:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),monthsShort:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),weekdays:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysShort:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysMin:"ی_د_س_چ_پ_ج_ش".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/قبل از ظهر|بعد از ظهر/,isPM:function(e){return/بعد از ظهر/.test(e)},meridiem:function(e,a,l){return e<12?"قبل از ظهر":"بعد از ظهر"},calendar:{sameDay:"[امروز ساعت] LT",nextDay:"[فردا ساعت] LT",nextWeek:"dddd [ساعت] LT",lastDay:"[دیروز ساعت] LT",lastWeek:"dddd [پیش] [ساعت] LT",sameElse:"L"},relativeTime:{future:"در %s",past:"%s پیش",s:"چند ثانیه",ss:"%d ثانیه",m:"یک دقیقه",mm:"%d دقیقه",h:"یک ساعت",hh:"%d ساعت",d:"یک روز",dd:"%d روز",M:"یک ماه",MM:"%d ماه",y:"یک سال",yy:"%d سال"},preparse:function(e){return e.replace(/[۰-۹]/g,function(a){return n_[a]}).replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,function(a){return t_[a]}).replace(/,/g,"،")},dayOfMonthOrdinalParse:/\d{1,2}م/,ordinal:"%dم",week:{dow:6,doy:12}});var N0="nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" "),r_=["nolla","yhden","kahden","kolmen","neljän","viiden","kuuden",N0[7],N0[8],N0[9]];function Gu(e,a,l,c){var p="";switch(l){case"s":return c?"muutaman sekunnin":"muutama sekunti";case"ss":p=c?"sekunnin":"sekuntia";break;case"m":return c?"minuutin":"minuutti";case"mm":p=c?"minuutin":"minuuttia";break;case"h":return c?"tunnin":"tunti";case"hh":p=c?"tunnin":"tuntia";break;case"d":return c?"päivän":"päivä";case"dd":p=c?"päivän":"päivää";break;case"M":return c?"kuukauden":"kuukausi";case"MM":p=c?"kuukauden":"kuukautta";break;case"y":return c?"vuoden":"vuosi";case"yy":p=c?"vuoden":"vuotta";break}return p=a_(e,c)+" "+p,p}function a_(e,a){return e<10?a?r_[e]:N0[e]:e}r.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[tänään] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s päästä",past:"%s sitten",s:Gu,ss:Gu,m:Gu,mm:Gu,h:Gu,hh:Gu,d:Gu,dd:Gu,M:Gu,MM:Gu,y:Gu,yy:Gu},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),r.defineLocale("fil",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}}),r.defineLocale("fo",{months:"januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur".split("_"),weekdaysShort:"sun_mán_týs_mik_hós_frí_ley".split("_"),weekdaysMin:"su_má_tý_mi_hó_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[Í dag kl.] LT",nextDay:"[Í morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[Í gjár kl.] LT",lastWeek:"[síðstu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s síðani",s:"fá sekund",ss:"%d sekundir",m:"ein minuttur",mm:"%d minuttir",h:"ein tími",hh:"%d tímar",d:"ein dagur",dd:"%d dagar",M:"ein mánaður",MM:"%d mánaðir",y:"eitt ár",yy:"%d ár"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),r.defineLocale("fr-ca",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,a){switch(a){default:case"M":case"Q":case"D":case"DDD":case"d":return e+(e===1?"er":"e");case"w":case"W":return e+(e===1?"re":"e")}}}),r.defineLocale("fr-ch",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,a){switch(a){default:case"M":case"Q":case"D":case"DDD":case"d":return e+(e===1?"er":"e");case"w":case"W":return e+(e===1?"re":"e")}},week:{dow:1,doy:4}});var s_=/^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,i_=/(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?)/i,Xs=/(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,fr=[/^janv/i,/^févr/i,/^mars/i,/^avr/i,/^mai/i,/^juin/i,/^juil/i,/^août/i,/^sept/i,/^oct/i,/^nov/i,/^déc/i];r.defineLocale("fr",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsRegex:Xs,monthsShortRegex:Xs,monthsStrictRegex:s_,monthsShortStrictRegex:i_,monthsParse:fr,longMonthsParse:fr,shortMonthsParse:fr,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",w:"une semaine",ww:"%d semaines",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(e,a){switch(a){case"D":return e+(e===1?"er":"");default:case"M":case"Q":case"DDD":case"d":return e+(e===1?"er":"e");case"w":case"W":return e+(e===1?"re":"e")}},week:{dow:1,doy:4}});var ui="jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_"),o_="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");r.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?o_[e.month()]:ui[e.month()]:ui},monthsParseExact:!0,weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[ôfrûne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",ss:"%d sekonden",m:"ien minút",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(e===1||e===8||e>=20?"ste":"de")},week:{dow:1,doy:4}});var l_=["Eanáir","Feabhra","Márta","Aibreán","Bealtaine","Meitheamh","Iúil","Lúnasa","Meán Fómhair","Deireadh Fómhair","Samhain","Nollaig"],d_=["Ean","Feabh","Márt","Aib","Beal","Meith","Iúil","Lún","M.F.","D.F.","Samh","Noll"],c_=["Dé Domhnaigh","Dé Luain","Dé Máirt","Dé Céadaoin","Déardaoin","Dé hAoine","Dé Sathairn"],m_=["Domh","Luan","Máirt","Céad","Déar","Aoine","Sath"],__=["Do","Lu","Má","Cé","Dé","A","Sa"];r.defineLocale("ga",{months:l_,monthsShort:d_,monthsParseExact:!0,weekdays:c_,weekdaysShort:m_,weekdaysMin:__,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Inniu ag] LT",nextDay:"[Amárach ag] LT",nextWeek:"dddd [ag] LT",lastDay:"[Inné ag] LT",lastWeek:"dddd [seo caite] [ag] LT",sameElse:"L"},relativeTime:{future:"i %s",past:"%s ó shin",s:"cúpla soicind",ss:"%d soicind",m:"nóiméad",mm:"%d nóiméad",h:"uair an chloig",hh:"%d uair an chloig",d:"lá",dd:"%d lá",M:"mí",MM:"%d míonna",y:"bliain",yy:"%d bliain"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(e){var a=e===1?"d":e%10===2?"na":"mh";return e+a},week:{dow:1,doy:4}});var h_=["Am Faoilleach","An Gearran","Am Màrt","An Giblean","An Cèitean","An t-Ògmhios","An t-Iuchar","An Lùnastal","An t-Sultain","An Dàmhair","An t-Samhain","An Dùbhlachd"],f_=["Faoi","Gear","Màrt","Gibl","Cèit","Ògmh","Iuch","Lùn","Sult","Dàmh","Samh","Dùbh"],p_=["Didòmhnaich","Diluain","Dimàirt","Diciadain","Diardaoin","Dihaoine","Disathairne"],D_=["Did","Dil","Dim","Dic","Dia","Dih","Dis"],y_=["Dò","Lu","Mà","Ci","Ar","Ha","Sa"];r.defineLocale("gd",{months:h_,monthsShort:f_,monthsParseExact:!0,weekdays:p_,weekdaysShort:D_,weekdaysMin:y_,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-màireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-dè aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",ss:"%d diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"mìos",MM:"%d mìosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(e){var a=e===1?"d":e%10===2?"na":"mh";return e+a},week:{dow:1,doy:4}}),r.defineLocale("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_mércores_xoves_venres_sábado".split("_"),weekdaysShort:"dom._lun._mar._mér._xov._ven._sáb.".split("_"),weekdaysMin:"do_lu_ma_mé_xo_ve_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(this.hours()!==1?"ás":"á")+"] LT"},nextDay:function(){return"[mañá "+(this.hours()!==1?"ás":"á")+"] LT"},nextWeek:function(){return"dddd ["+(this.hours()!==1?"ás":"a")+"] LT"},lastDay:function(){return"[onte "+(this.hours()!==1?"á":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(this.hours()!==1?"ás":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(e){return e.indexOf("un")===0?"n"+e:"en "+e},past:"hai %s",s:"uns segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}});function Ku(e,a,l,c){var p={s:["थोडया सॅकंडांनी","थोडे सॅकंड"],ss:[e+" सॅकंडांनी",e+" सॅकंड"],m:["एका मिणटान","एक मिनूट"],mm:[e+" मिणटांनी",e+" मिणटां"],h:["एका वरान","एक वर"],hh:[e+" वरांनी",e+" वरां"],d:["एका दिसान","एक दीस"],dd:[e+" दिसांनी",e+" दीस"],M:["एका म्हयन्यान","एक म्हयनो"],MM:[e+" म्हयन्यानी",e+" म्हयने"],y:["एका वर्सान","एक वर्स"],yy:[e+" वर्सांनी",e+" वर्सां"]};return c?p[l][0]:p[l][1]}r.defineLocale("gom-deva",{months:{standalone:"जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर".split("_"),format:"जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या".split("_"),isFormat:/MMMM(\s)+D[oD]?/},monthsShort:"जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.".split("_"),monthsParseExact:!0,weekdays:"आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार".split("_"),weekdaysShort:"आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.".split("_"),weekdaysMin:"आ_सो_मं_बु_ब्रे_सु_शे".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [वाजतां]",LTS:"A h:mm:ss [वाजतां]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [वाजतां]",LLLL:"dddd, MMMM Do, YYYY, A h:mm [वाजतां]",llll:"ddd, D MMM YYYY, A h:mm [वाजतां]"},calendar:{sameDay:"[आयज] LT",nextDay:"[फाल्यां] LT",nextWeek:"[फुडलो] dddd[,] LT",lastDay:"[काल] LT",lastWeek:"[फाटलो] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s आदीं",s:Ku,ss:Ku,m:Ku,mm:Ku,h:Ku,hh:Ku,d:Ku,dd:Ku,M:Ku,MM:Ku,y:Ku,yy:Ku},dayOfMonthOrdinalParse:/\d{1,2}(वेर)/,ordinal:function(e,a){switch(a){case"D":return e+"वेर";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return e}},week:{dow:0,doy:3},meridiemParse:/राती|सकाळीं|दनपारां|सांजे/,meridiemHour:function(e,a){if(e===12&&(e=0),a==="राती")return e<4?e:e+12;if(a==="सकाळीं")return e;if(a==="दनपारां")return e>12?e:e+12;if(a==="सांजे")return e+12},meridiem:function(e,a,l){return e<4?"राती":e<12?"सकाळीं":e<16?"दनपारां":e<20?"सांजे":"राती"}});function Zu(e,a,l,c){var p={s:["thoddea sekondamni","thodde sekond"],ss:[e+" sekondamni",e+" sekond"],m:["eka mintan","ek minut"],mm:[e+" mintamni",e+" mintam"],h:["eka voran","ek vor"],hh:[e+" voramni",e+" voram"],d:["eka disan","ek dis"],dd:[e+" disamni",e+" dis"],M:["eka mhoinean","ek mhoino"],MM:[e+" mhoineamni",e+" mhoine"],y:["eka vorsan","ek voros"],yy:[e+" vorsamni",e+" vorsam"]};return c?p[l][0]:p[l][1]}r.defineLocale("gom-latn",{months:{standalone:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),format:"Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea".split("_"),isFormat:/MMMM(\s)+D[oD]?/},monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var".split("_"),weekdaysShort:"Ait._Som._Mon._Bud._Bre._Suk._Son.".split("_"),weekdaysMin:"Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [vazta]",LTS:"A h:mm:ss [vazta]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [vazta]",LLLL:"dddd, MMMM Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Fuddlo] dddd[,] LT",lastDay:"[Kal] LT",lastWeek:"[Fattlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s adim",s:Zu,ss:Zu,m:Zu,mm:Zu,h:Zu,hh:Zu,d:Zu,dd:Zu,M:Zu,MM:Zu,y:Zu,yy:Zu},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(e,a){switch(a){case"D":return e+"er";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return e}},week:{dow:0,doy:3},meridiemParse:/rati|sokallim|donparam|sanje/,meridiemHour:function(e,a){if(e===12&&(e=0),a==="rati")return e<4?e:e+12;if(a==="sokallim")return e;if(a==="donparam")return e>12?e:e+12;if(a==="sanje")return e+12},meridiem:function(e,a,l){return e<4?"rati":e<12?"sokallim":e<16?"donparam":e<20?"sanje":"rati"}});var g_={1:"૧",2:"૨",3:"૩",4:"૪",5:"૫",6:"૬",7:"૭",8:"૮",9:"૯",0:"૦"},E_={"૧":"1","૨":"2","૩":"3","૪":"4","૫":"5","૬":"6","૭":"7","૮":"8","૯":"9","૦":"0"};r.defineLocale("gu",{months:"જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર".split("_"),monthsShort:"જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.".split("_"),monthsParseExact:!0,weekdays:"રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર".split("_"),weekdaysShort:"રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ".split("_"),weekdaysMin:"ર_સો_મં_બુ_ગુ_શુ_શ".split("_"),longDateFormat:{LT:"A h:mm વાગ્યે",LTS:"A h:mm:ss વાગ્યે",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm વાગ્યે",LLLL:"dddd, D MMMM YYYY, A h:mm વાગ્યે"},calendar:{sameDay:"[આજ] LT",nextDay:"[કાલે] LT",nextWeek:"dddd, LT",lastDay:"[ગઇકાલે] LT",lastWeek:"[પાછલા] dddd, LT",sameElse:"L"},relativeTime:{future:"%s મા",past:"%s પહેલા",s:"અમુક પળો",ss:"%d સેકંડ",m:"એક મિનિટ",mm:"%d મિનિટ",h:"એક કલાક",hh:"%d કલાક",d:"એક દિવસ",dd:"%d દિવસ",M:"એક મહિનો",MM:"%d મહિનો",y:"એક વર્ષ",yy:"%d વર્ષ"},preparse:function(e){return e.replace(/[૧૨૩૪૫૬૭૮૯૦]/g,function(a){return E_[a]})},postformat:function(e){return e.replace(/\d/g,function(a){return g_[a]})},meridiemParse:/રાત|બપોર|સવાર|સાંજ/,meridiemHour:function(e,a){if(e===12&&(e=0),a==="રાત")return e<4?e:e+12;if(a==="સવાર")return e;if(a==="બપોર")return e>=10?e:e+12;if(a==="સાંજ")return e+12},meridiem:function(e,a,l){return e<4?"રાત":e<10?"સવાર":e<17?"બપોર":e<20?"સાંજ":"રાત"},week:{dow:0,doy:6}}),r.defineLocale("he",{months:"ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר".split("_"),monthsShort:"ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳".split("_"),weekdays:"ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת".split("_"),weekdaysShort:"א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳".split("_"),weekdaysMin:"א_ב_ג_ד_ה_ו_ש".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [ב]MMMM YYYY",LLL:"D [ב]MMMM YYYY HH:mm",LLLL:"dddd, D [ב]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[היום ב־]LT",nextDay:"[מחר ב־]LT",nextWeek:"dddd [בשעה] LT",lastDay:"[אתמול ב־]LT",lastWeek:"[ביום] dddd [האחרון בשעה] LT",sameElse:"L"},relativeTime:{future:"בעוד %s",past:"לפני %s",s:"מספר שניות",ss:"%d שניות",m:"דקה",mm:"%d דקות",h:"שעה",hh:function(e){return e===2?"שעתיים":e+" שעות"},d:"יום",dd:function(e){return e===2?"יומיים":e+" ימים"},M:"חודש",MM:function(e){return e===2?"חודשיים":e+" חודשים"},y:"שנה",yy:function(e){return e===2?"שנתיים":e%10===0&&e!==10?e+" שנה":e+" שנים"}},meridiemParse:/אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,isPM:function(e){return/^(אחה"צ|אחרי הצהריים|בערב)$/.test(e)},meridiem:function(e,a,l){return e<5?"לפנות בוקר":e<10?"בבוקר":e<12?l?'לפנה"צ':"לפני הצהריים":e<18?l?'אחה"צ':"אחרי הצהריים":"בערב"}});var C_={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},A_={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"},ei=[/^जन/i,/^फ़र|फर/i,/^मार्च/i,/^अप्रै/i,/^मई/i,/^जून/i,/^जुल/i,/^अग/i,/^सितं|सित/i,/^अक्टू/i,/^नव|नवं/i,/^दिसं|दिस/i],M_=[/^जन/i,/^फ़र/i,/^मार्च/i,/^अप्रै/i,/^मई/i,/^जून/i,/^जुल/i,/^अग/i,/^सित/i,/^अक्टू/i,/^नव/i,/^दिस/i];r.defineLocale("hi",{months:{format:"जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर".split("_"),standalone:"जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर".split("_")},monthsShort:"जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.".split("_"),weekdays:"रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm बजे",LTS:"A h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm बजे",LLLL:"dddd, D MMMM YYYY, A h:mm बजे"},monthsParse:ei,longMonthsParse:ei,shortMonthsParse:M_,monthsRegex:/^(जनवरी|जन\.?|फ़रवरी|फरवरी|फ़र\.?|मार्च?|अप्रैल|अप्रै\.?|मई?|जून?|जुलाई|जुल\.?|अगस्त|अग\.?|सितम्बर|सितंबर|सित\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर|नव\.?|दिसम्बर|दिसंबर|दिस\.?)/i,monthsShortRegex:/^(जनवरी|जन\.?|फ़रवरी|फरवरी|फ़र\.?|मार्च?|अप्रैल|अप्रै\.?|मई?|जून?|जुलाई|जुल\.?|अगस्त|अग\.?|सितम्बर|सितंबर|सित\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर|नव\.?|दिसम्बर|दिसंबर|दिस\.?)/i,monthsStrictRegex:/^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i,monthsShortStrictRegex:/^(जन\.?|फ़र\.?|मार्च?|अप्रै\.?|मई?|जून?|जुल\.?|अग\.?|सित\.?|अक्टू\.?|नव\.?|दिस\.?)/i,calendar:{sameDay:"[आज] LT",nextDay:"[कल] LT",nextWeek:"dddd, LT",lastDay:"[कल] LT",lastWeek:"[पिछले] dddd, LT",sameElse:"L"},relativeTime:{future:"%s में",past:"%s पहले",s:"कुछ ही क्षण",ss:"%d सेकंड",m:"एक मिनट",mm:"%d मिनट",h:"एक घंटा",hh:"%d घंटे",d:"एक दिन",dd:"%d दिन",M:"एक महीने",MM:"%d महीने",y:"एक वर्ष",yy:"%d वर्ष"},preparse:function(e){return e.replace(/[१२३४५६७८९०]/g,function(a){return A_[a]})},postformat:function(e){return e.replace(/\d/g,function(a){return C_[a]})},meridiemParse:/रात|सुबह|दोपहर|शाम/,meridiemHour:function(e,a){if(e===12&&(e=0),a==="रात")return e<4?e:e+12;if(a==="सुबह")return e;if(a==="दोपहर")return e>=10?e:e+12;if(a==="शाम")return e+12},meridiem:function(e,a,l){return e<4?"रात":e<10?"सुबह":e<17?"दोपहर":e<20?"शाम":"रात"},week:{dow:0,doy:6}});function Re(e,a,l){var c=e+" ";switch(l){case"ss":return e===1?c+="sekunda":e===2||e===3||e===4?c+="sekunde":c+="sekundi",c;case"m":return a?"jedna minuta":"jedne minute";case"mm":return e===1?c+="minuta":e===2||e===3||e===4?c+="minute":c+="minuta",c;case"h":return a?"jedan sat":"jednog sata";case"hh":return e===1?c+="sat":e===2||e===3||e===4?c+="sata":c+="sati",c;case"dd":return e===1?c+="dan":c+="dana",c;case"MM":return e===1?c+="mjesec":e===2||e===3||e===4?c+="mjeseca":c+="mjeseci",c;case"yy":return e===1?c+="godina":e===2||e===3||e===4?c+="godine":c+="godina",c}}r.defineLocale("hr",{months:{format:"siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"Do MMMM YYYY",LLL:"Do MMMM YYYY H:mm",LLLL:"dddd, Do MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:return"[prošlu] [nedjelju] [u] LT";case 3:return"[prošlu] [srijedu] [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:Re,m:Re,mm:Re,h:Re,hh:Re,d:"dan",dd:Re,M:"mjesec",MM:Re,y:"godinu",yy:Re},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});var L_="vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton".split(" ");function Qu(e,a,l,c){var p=e;switch(l){case"s":return c||a?"néhány másodperc":"néhány másodperce";case"ss":return p+(c||a)?" másodperc":" másodperce";case"m":return"egy"+(c||a?" perc":" perce");case"mm":return p+(c||a?" perc":" perce");case"h":return"egy"+(c||a?" óra":" órája");case"hh":return p+(c||a?" óra":" órája");case"d":return"egy"+(c||a?" nap":" napja");case"dd":return p+(c||a?" nap":" napja");case"M":return"egy"+(c||a?" hónap":" hónapja");case"MM":return p+(c||a?" hónap":" hónapja");case"y":return"egy"+(c||a?" év":" éve");case"yy":return p+(c||a?" év":" éve")}return""}function ti(e){return(e?"":"[múlt] ")+"["+L_[this.day()]+"] LT[-kor]"}r.defineLocale("hu",{months:"január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"),monthsShort:"jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat".split("_"),weekdaysShort:"vas_hét_kedd_sze_csüt_pén_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(e){return e.charAt(1).toLowerCase()==="u"},meridiem:function(e,a,l){return e<12?l===!0?"de":"DE":l===!0?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return ti.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return ti.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s múlva",past:"%s",s:Qu,ss:Qu,m:Qu,mm:Qu,h:Qu,hh:Qu,d:Qu,dd:Qu,M:Qu,MM:Qu,y:Qu,yy:Qu},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),r.defineLocale("hy-am",{months:{format:"հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի".split("_"),standalone:"հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր".split("_")},monthsShort:"հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ".split("_"),weekdays:"կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ".split("_"),weekdaysShort:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),weekdaysMin:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY թ.",LLL:"D MMMM YYYY թ., HH:mm",LLLL:"dddd, D MMMM YYYY թ., HH:mm"},calendar:{sameDay:"[այսօր] LT",nextDay:"[վաղը] LT",lastDay:"[երեկ] LT",nextWeek:function(){return"dddd [օրը ժամը] LT"},lastWeek:function(){return"[անցած] dddd [օրը ժամը] LT"},sameElse:"L"},relativeTime:{future:"%s հետո",past:"%s առաջ",s:"մի քանի վայրկյան",ss:"%d վայրկյան",m:"րոպե",mm:"%d րոպե",h:"ժամ",hh:"%d ժամ",d:"օր",dd:"%d օր",M:"ամիս",MM:"%d ամիս",y:"տարի",yy:"%d տարի"},meridiemParse:/գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,isPM:function(e){return/^(ցերեկվա|երեկոյան)$/.test(e)},meridiem:function(e){return e<4?"գիշերվա":e<12?"առավոտվա":e<17?"ցերեկվա":"երեկոյան"},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(ին|րդ)/,ordinal:function(e,a){switch(a){case"DDD":case"w":case"W":case"DDDo":return e===1?e+"-ին":e+"-րդ";default:return e}},week:{dow:1,doy:7}}),r.defineLocale("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(e,a){if(e===12&&(e=0),a==="pagi")return e;if(a==="siang")return e>=11?e:e+12;if(a==="sore"||a==="malam")return e+12},meridiem:function(e,a,l){return e<11?"pagi":e<15?"siang":e<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",ss:"%d detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:0,doy:6}});function vt(e){return e%100===11?!0:e%10!==1}function me(e,a,l,c){var p=e+" ";switch(l){case"s":return a||c?"nokkrar sekúndur":"nokkrum sekúndum";case"ss":return vt(e)?p+(a||c?"sekúndur":"sekúndum"):p+"sekúnda";case"m":return a?"mínúta":"mínútu";case"mm":return vt(e)?p+(a||c?"mínútur":"mínútum"):a?p+"mínúta":p+"mínútu";case"hh":return vt(e)?p+(a||c?"klukkustundir":"klukkustundum"):p+"klukkustund";case"d":return a?"dagur":c?"dag":"degi";case"dd":return vt(e)?a?p+"dagar":p+(c?"daga":"dögum"):a?p+"dagur":p+(c?"dag":"degi");case"M":return a?"mánuður":c?"mánuð":"mánuði";case"MM":return vt(e)?a?p+"mánuðir":p+(c?"mánuði":"mánuðum"):a?p+"mánuður":p+(c?"mánuð":"mánuði");case"y":return a||c?"ár":"ári";case"yy":return vt(e)?p+(a||c?"ár":"árum"):p+(a||c?"ár":"ári")}}r.defineLocale("is",{months:"janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember".split("_"),monthsShort:"jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des".split("_"),weekdays:"sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur".split("_"),weekdaysShort:"sun_mán_þri_mið_fim_fös_lau".split("_"),weekdaysMin:"Su_Má_Þr_Mi_Fi_Fö_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[í dag kl.] LT",nextDay:"[á morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[í gær kl.] LT",lastWeek:"[síðasta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s síðan",s:me,ss:me,m:me,mm:me,h:"klukkustund",hh:me,d:me,dd:me,M:me,MM:me,y:me,yy:me},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),r.defineLocale("it-ch",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(e){return(/^[0-9].+$/.test(e)?"tra":"in")+" "+e},past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}}),r.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:function(){return"[Oggi a"+(this.hours()>1?"lle ":this.hours()===0?" ":"ll'")+"]LT"},nextDay:function(){return"[Domani a"+(this.hours()>1?"lle ":this.hours()===0?" ":"ll'")+"]LT"},nextWeek:function(){return"dddd [a"+(this.hours()>1?"lle ":this.hours()===0?" ":"ll'")+"]LT"},lastDay:function(){return"[Ieri a"+(this.hours()>1?"lle ":this.hours()===0?" ":"ll'")+"]LT"},lastWeek:function(){switch(this.day()){case 0:return"[La scorsa] dddd [a"+(this.hours()>1?"lle ":this.hours()===0?" ":"ll'")+"]LT";default:return"[Lo scorso] dddd [a"+(this.hours()>1?"lle ":this.hours()===0?" ":"ll'")+"]LT"}},sameElse:"L"},relativeTime:{future:"tra %s",past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",w:"una settimana",ww:"%d settimane",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}}),r.defineLocale("ja",{eras:[{since:"2019-05-01",offset:1,name:"令和",narrow:"㋿",abbr:"R"},{since:"1989-01-08",until:"2019-04-30",offset:1,name:"平成",narrow:"㍻",abbr:"H"},{since:"1926-12-25",until:"1989-01-07",offset:1,name:"昭和",narrow:"㍼",abbr:"S"},{since:"1912-07-30",until:"1926-12-24",offset:1,name:"大正",narrow:"㍽",abbr:"T"},{since:"1873-01-01",until:"1912-07-29",offset:6,name:"明治",narrow:"㍾",abbr:"M"},{since:"0001-01-01",until:"1873-12-31",offset:1,name:"西暦",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"紀元前",narrow:"BC",abbr:"BC"}],eraYearOrdinalRegex:/(元|\d+)年/,eraYearOrdinalParse:function(e,a){return a[1]==="元"?1:parseInt(a[1]||e,10)},months:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"),weekdaysShort:"日_月_火_水_木_金_土".split("_"),weekdaysMin:"日_月_火_水_木_金_土".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日 dddd HH:mm",l:"YYYY/MM/DD",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日(ddd) HH:mm"},meridiemParse:/午前|午後/i,isPM:function(e){return e==="午後"},meridiem:function(e,a,l){return e<12?"午前":"午後"},calendar:{sameDay:"[今日] LT",nextDay:"[明日] LT",nextWeek:function(e){return e.week()!==this.week()?"[来週]dddd LT":"dddd LT"},lastDay:"[昨日] LT",lastWeek:function(e){return this.week()!==e.week()?"[先週]dddd LT":"dddd LT"},sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}日/,ordinal:function(e,a){switch(a){case"y":return e===1?"元年":e+"年";case"d":case"D":case"DDD":return e+"日";default:return e}},relativeTime:{future:"%s後",past:"%s前",s:"数秒",ss:"%d秒",m:"1分",mm:"%d分",h:"1時間",hh:"%d時間",d:"1日",dd:"%d日",M:"1ヶ月",MM:"%dヶ月",y:"1年",yy:"%d年"}}),r.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(e,a){if(e===12&&(e=0),a==="enjing")return e;if(a==="siyang")return e>=11?e:e+12;if(a==="sonten"||a==="ndalu")return e+12},meridiem:function(e,a,l){return e<11?"enjing":e<15?"siyang":e<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",ss:"%d detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}}),r.defineLocale("ka",{months:"იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი".split("_"),monthsShort:"იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ".split("_"),weekdays:{standalone:"კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი".split("_"),format:"კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს".split("_"),isFormat:/(წინა|შემდეგ)/},weekdaysShort:"კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ".split("_"),weekdaysMin:"კვ_ორ_სა_ოთ_ხუ_პა_შა".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[დღეს] LT[-ზე]",nextDay:"[ხვალ] LT[-ზე]",lastDay:"[გუშინ] LT[-ზე]",nextWeek:"[შემდეგ] dddd LT[-ზე]",lastWeek:"[წინა] dddd LT-ზე",sameElse:"L"},relativeTime:{future:function(e){return e.replace(/(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/,function(a,l,c){return c==="ი"?l+"ში":l+c+"ში"})},past:function(e){return/(წამი|წუთი|საათი|დღე|თვე)/.test(e)?e.replace(/(ი|ე)$/,"ის წინ"):/წელი/.test(e)?e.replace(/წელი$/,"წლის წინ"):e},s:"რამდენიმე წამი",ss:"%d წამი",m:"წუთი",mm:"%d წუთი",h:"საათი",hh:"%d საათი",d:"დღე",dd:"%d დღე",M:"თვე",MM:"%d თვე",y:"წელი",yy:"%d წელი"},dayOfMonthOrdinalParse:/0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,ordinal:function(e){return e===0?e:e===1?e+"-ლი":e<20||e<=100&&e%20===0||e%100===0?"მე-"+e:e+"-ე"},week:{dow:1,doy:7}});var pr={0:"-ші",1:"-ші",2:"-ші",3:"-ші",4:"-ші",5:"-ші",6:"-шы",7:"-ші",8:"-ші",9:"-шы",10:"-шы",20:"-шы",30:"-шы",40:"-шы",50:"-ші",60:"-шы",70:"-ші",80:"-ші",90:"-шы",100:"-ші"};r.defineLocale("kk",{months:"қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан".split("_"),monthsShort:"қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел".split("_"),weekdays:"жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі".split("_"),weekdaysShort:"жек_дүй_сей_сәр_бей_жұм_сен".split("_"),weekdaysMin:"жк_дй_сй_ср_бй_жм_сн".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгін сағат] LT",nextDay:"[Ертең сағат] LT",nextWeek:"dddd [сағат] LT",lastDay:"[Кеше сағат] LT",lastWeek:"[Өткен аптаның] dddd [сағат] LT",sameElse:"L"},relativeTime:{future:"%s ішінде",past:"%s бұрын",s:"бірнеше секунд",ss:"%d секунд",m:"бір минут",mm:"%d минут",h:"бір сағат",hh:"%d сағат",d:"бір күн",dd:"%d күн",M:"бір ай",MM:"%d ай",y:"бір жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(ші|шы)/,ordinal:function(e){var a=e%10,l=e>=100?100:null;return e+(pr[e]||pr[a]||pr[l])},week:{dow:1,doy:7}});var v_={1:"១",2:"២",3:"៣",4:"៤",5:"៥",6:"៦",7:"៧",8:"៨",9:"៩",0:"០"},B_={"១":"1","២":"2","៣":"3","៤":"4","៥":"5","៦":"6","៧":"7","៨":"8","៩":"9","០":"0"};r.defineLocale("km",{months:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),monthsShort:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),weekdays:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysShort:"អា_ច_អ_ព_ព្រ_សុ_ស".split("_"),weekdaysMin:"អា_ច_អ_ព_ព្រ_សុ_ស".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/ព្រឹក|ល្ងាច/,isPM:function(e){return e==="ល្ងាច"},meridiem:function(e,a,l){return e<12?"ព្រឹក":"ល្ងាច"},calendar:{sameDay:"[ថ្ងៃនេះ ម៉ោង] LT",nextDay:"[ស្អែក ម៉ោង] LT",nextWeek:"dddd [ម៉ោង] LT",lastDay:"[ម្សិលមិញ ម៉ោង] LT",lastWeek:"dddd [សប្តាហ៍មុន] [ម៉ោង] LT",sameElse:"L"},relativeTime:{future:"%sទៀត",past:"%sមុន",s:"ប៉ុន្មានវិនាទី",ss:"%d វិនាទី",m:"មួយនាទី",mm:"%d នាទី",h:"មួយម៉ោង",hh:"%d ម៉ោង",d:"មួយថ្ងៃ",dd:"%d ថ្ងៃ",M:"មួយខែ",MM:"%d ខែ",y:"មួយឆ្នាំ",yy:"%d ឆ្នាំ"},dayOfMonthOrdinalParse:/ទី\d{1,2}/,ordinal:"ទី%d",preparse:function(e){return e.replace(/[១២៣៤៥៦៧៨៩០]/g,function(a){return B_[a]})},postformat:function(e){return e.replace(/\d/g,function(a){return v_[a]})},week:{dow:1,doy:4}});var k_={1:"೧",2:"೨",3:"೩",4:"೪",5:"೫",6:"೬",7:"೭",8:"೮",9:"೯",0:"೦"},F_={"೧":"1","೨":"2","೩":"3","೪":"4","೫":"5","೬":"6","೭":"7","೮":"8","೯":"9","೦":"0"};r.defineLocale("kn",{months:"ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್".split("_"),monthsShort:"ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ".split("_"),monthsParseExact:!0,weekdays:"ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ".split("_"),weekdaysShort:"ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ".split("_"),weekdaysMin:"ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[ಇಂದು] LT",nextDay:"[ನಾಳೆ] LT",nextWeek:"dddd, LT",lastDay:"[ನಿನ್ನೆ] LT",lastWeek:"[ಕೊನೆಯ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ನಂತರ",past:"%s ಹಿಂದೆ",s:"ಕೆಲವು ಕ್ಷಣಗಳು",ss:"%d ಸೆಕೆಂಡುಗಳು",m:"ಒಂದು ನಿಮಿಷ",mm:"%d ನಿಮಿಷ",h:"ಒಂದು ಗಂಟೆ",hh:"%d ಗಂಟೆ",d:"ಒಂದು ದಿನ",dd:"%d ದಿನ",M:"ಒಂದು ತಿಂಗಳು",MM:"%d ತಿಂಗಳು",y:"ಒಂದು ವರ್ಷ",yy:"%d ವರ್ಷ"},preparse:function(e){return e.replace(/[೧೨೩೪೫೬೭೮೯೦]/g,function(a){return F_[a]})},postformat:function(e){return e.replace(/\d/g,function(a){return k_[a]})},meridiemParse:/ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,meridiemHour:function(e,a){if(e===12&&(e=0),a==="ರಾತ್ರಿ")return e<4?e:e+12;if(a==="ಬೆಳಿಗ್ಗೆ")return e;if(a==="ಮಧ್ಯಾಹ್ನ")return e>=10?e:e+12;if(a==="ಸಂಜೆ")return e+12},meridiem:function(e,a,l){return e<4?"ರಾತ್ರಿ":e<10?"ಬೆಳಿಗ್ಗೆ":e<17?"ಮಧ್ಯಾಹ್ನ":e<20?"ಸಂಜೆ":"ರಾತ್ರಿ"},dayOfMonthOrdinalParse:/\d{1,2}(ನೇ)/,ordinal:function(e){return e+"ನೇ"},week:{dow:0,doy:6}}),r.defineLocale("ko",{months:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),monthsShort:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),weekdays:"일요일_월요일_화요일_수요일_목요일_금요일_토요일".split("_"),weekdaysShort:"일_월_화_수_목_금_토".split("_"),weekdaysMin:"일_월_화_수_목_금_토".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY년 MMMM D일",LLL:"YYYY년 MMMM D일 A h:mm",LLLL:"YYYY년 MMMM D일 dddd A h:mm",l:"YYYY.MM.DD.",ll:"YYYY년 MMMM D일",lll:"YYYY년 MMMM D일 A h:mm",llll:"YYYY년 MMMM D일 dddd A h:mm"},calendar:{sameDay:"오늘 LT",nextDay:"내일 LT",nextWeek:"dddd LT",lastDay:"어제 LT",lastWeek:"지난주 dddd LT",sameElse:"L"},relativeTime:{future:"%s 후",past:"%s 전",s:"몇 초",ss:"%d초",m:"1분",mm:"%d분",h:"한 시간",hh:"%d시간",d:"하루",dd:"%d일",M:"한 달",MM:"%d달",y:"일 년",yy:"%d년"},dayOfMonthOrdinalParse:/\d{1,2}(일|월|주)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"일";case"M":return e+"월";case"w":case"W":return e+"주";default:return e}},meridiemParse:/오전|오후/,isPM:function(e){return e==="오후"},meridiem:function(e,a,l){return e<12?"오전":"오후"}});function Yu(e,a,l,c){var p={s:["çend sanîye","çend sanîyeyan"],ss:[e+" sanîye",e+" sanîyeyan"],m:["deqîqeyek","deqîqeyekê"],mm:[e+" deqîqe",e+" deqîqeyan"],h:["saetek","saetekê"],hh:[e+" saet",e+" saetan"],d:["rojek","rojekê"],dd:[e+" roj",e+" rojan"],w:["hefteyek","hefteyekê"],ww:[e+" hefte",e+" hefteyan"],M:["mehek","mehekê"],MM:[e+" meh",e+" mehan"],y:["salek","salekê"],yy:[e+" sal",e+" salan"]};return a?p[l][0]:p[l][1]}function x_(e){e=""+e;var a=e.substring(e.length-1),l=e.length>1?e.substring(e.length-2):"";return!(l==12||l==13)&&(a=="2"||a=="3"||l=="50"||a=="70"||a=="80")?"yê":"ê"}r.defineLocale("ku-kmr",{months:"Rêbendan_Sibat_Adar_Nîsan_Gulan_Hezîran_Tîrmeh_Tebax_Îlon_Cotmeh_Mijdar_Berfanbar".split("_"),monthsShort:"Rêb_Sib_Ada_Nîs_Gul_Hez_Tîr_Teb_Îlo_Cot_Mij_Ber".split("_"),monthsParseExact:!0,weekdays:"Yekşem_Duşem_Sêşem_Çarşem_Pêncşem_În_Şemî".split("_"),weekdaysShort:"Yek_Du_Sê_Çar_Pên_În_Şem".split("_"),weekdaysMin:"Ye_Du_Sê_Ça_Pê_În_Şe".split("_"),meridiem:function(e,a,l){return e<12?l?"bn":"BN":l?"pn":"PN"},meridiemParse:/bn|BN|pn|PN/,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"Do MMMM[a] YYYY[an]",LLL:"Do MMMM[a] YYYY[an] HH:mm",LLLL:"dddd, Do MMMM[a] YYYY[an] HH:mm",ll:"Do MMM[.] YYYY[an]",lll:"Do MMM[.] YYYY[an] HH:mm",llll:"ddd[.], Do MMM[.] YYYY[an] HH:mm"},calendar:{sameDay:"[Îro di saet] LT [de]",nextDay:"[Sibê di saet] LT [de]",nextWeek:"dddd [di saet] LT [de]",lastDay:"[Duh di saet] LT [de]",lastWeek:"dddd[a borî di saet] LT [de]",sameElse:"L"},relativeTime:{future:"di %s de",past:"berî %s",s:Yu,ss:Yu,m:Yu,mm:Yu,h:Yu,hh:Yu,d:Yu,dd:Yu,w:Yu,ww:Yu,M:Yu,MM:Yu,y:Yu,yy:Yu},dayOfMonthOrdinalParse:/\d{1,2}(?:yê|ê|\.)/,ordinal:function(e,a){var l=a.toLowerCase();return l.includes("w")||l.includes("m")?e+".":e+x_(e)},week:{dow:1,doy:4}});var Y_={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},w_={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},ni=["کانونی دووەم","شوبات","ئازار","نیسان","ئایار","حوزەیران","تەمموز","ئاب","ئەیلوول","تشرینی یەكەم","تشرینی دووەم","كانونی یەکەم"];r.defineLocale("ku",{months:ni,monthsShort:ni,weekdays:"یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌".split("_"),weekdaysShort:"یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌".split("_"),weekdaysMin:"ی_د_س_چ_پ_ه_ش".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/ئێواره‌|به‌یانی/,isPM:function(e){return/ئێواره‌/.test(e)},meridiem:function(e,a,l){return e<12?"به‌یانی":"ئێواره‌"},calendar:{sameDay:"[ئه‌مرۆ كاتژمێر] LT",nextDay:"[به‌یانی كاتژمێر] LT",nextWeek:"dddd [كاتژمێر] LT",lastDay:"[دوێنێ كاتژمێر] LT",lastWeek:"dddd [كاتژمێر] LT",sameElse:"L"},relativeTime:{future:"له‌ %s",past:"%s",s:"چه‌ند چركه‌یه‌ك",ss:"چركه‌ %d",m:"یه‌ك خوله‌ك",mm:"%d خوله‌ك",h:"یه‌ك كاتژمێر",hh:"%d كاتژمێر",d:"یه‌ك ڕۆژ",dd:"%d ڕۆژ",M:"یه‌ك مانگ",MM:"%d مانگ",y:"یه‌ك ساڵ",yy:"%d ساڵ"},preparse:function(e){return e.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(a){return w_[a]}).replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,function(a){return Y_[a]}).replace(/,/g,"،")},week:{dow:6,doy:12}});var Dr={0:"-чү",1:"-чи",2:"-чи",3:"-чү",4:"-чү",5:"-чи",6:"-чы",7:"-чи",8:"-чи",9:"-чу",10:"-чу",20:"-чы",30:"-чу",40:"-чы",50:"-чү",60:"-чы",70:"-чи",80:"-чи",90:"-чу",100:"-чү"};r.defineLocale("ky",{months:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"),monthsShort:"янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек".split("_"),weekdays:"Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби".split("_"),weekdaysShort:"Жек_Дүй_Шей_Шар_Бей_Жум_Ише".split("_"),weekdaysMin:"Жк_Дй_Шй_Шр_Бй_Жм_Иш".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгүн саат] LT",nextDay:"[Эртең саат] LT",nextWeek:"dddd [саат] LT",lastDay:"[Кечээ саат] LT",lastWeek:"[Өткөн аптанын] dddd [күнү] [саат] LT",sameElse:"L"},relativeTime:{future:"%s ичинде",past:"%s мурун",s:"бирнече секунд",ss:"%d секунд",m:"бир мүнөт",mm:"%d мүнөт",h:"бир саат",hh:"%d саат",d:"бир күн",dd:"%d күн",M:"бир ай",MM:"%d ай",y:"бир жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(чи|чы|чү|чу)/,ordinal:function(e){var a=e%10,l=e>=100?100:null;return e+(Dr[e]||Dr[a]||Dr[l])},week:{dow:1,doy:7}});function r0(e,a,l,c){var p={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return a?p[l][0]:p[l][1]}function b_(e){var a=e.substr(0,e.indexOf(" "));return a0(a)?"a "+e:"an "+e}function T_(e){var a=e.substr(0,e.indexOf(" "));return a0(a)?"viru "+e:"virun "+e}function a0(e){if(e=parseInt(e,10),isNaN(e))return!1;if(e<0)return!0;if(e<10)return 4<=e&&e<=7;if(e<100){var a=e%10,l=e/10;return a0(a===0?l:a)}else if(e<1e4){for(;e>=10;)e=e/10;return a0(e)}else return e=e/1e3,a0(e)}r.defineLocale("lb",{months:"Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._Mé._Dë._Më._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mé_Dë_Më_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[Gëschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:b_,past:T_,s:"e puer Sekonnen",ss:"%d Sekonnen",m:r0,mm:"%d Minutten",h:r0,hh:"%d Stonnen",d:r0,dd:"%d Deeg",M:r0,MM:"%d Méint",y:r0,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),r.defineLocale("lo",{months:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),monthsShort:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),weekdays:"ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysShort:"ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysMin:"ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"ວັນdddd D MMMM YYYY HH:mm"},meridiemParse:/ຕອນເຊົ້າ|ຕອນແລງ/,isPM:function(e){return e==="ຕອນແລງ"},meridiem:function(e,a,l){return e<12?"ຕອນເຊົ້າ":"ຕອນແລງ"},calendar:{sameDay:"[ມື້ນີ້ເວລາ] LT",nextDay:"[ມື້ອື່ນເວລາ] LT",nextWeek:"[ວັນ]dddd[ໜ້າເວລາ] LT",lastDay:"[ມື້ວານນີ້ເວລາ] LT",lastWeek:"[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT",sameElse:"L"},relativeTime:{future:"ອີກ %s",past:"%sຜ່ານມາ",s:"ບໍ່ເທົ່າໃດວິນາທີ",ss:"%d ວິນາທີ",m:"1 ນາທີ",mm:"%d ນາທີ",h:"1 ຊົ່ວໂມງ",hh:"%d ຊົ່ວໂມງ",d:"1 ມື້",dd:"%d ມື້",M:"1 ເດືອນ",MM:"%d ເດືອນ",y:"1 ປີ",yy:"%d ປີ"},dayOfMonthOrdinalParse:/(ທີ່)\d{1,2}/,ordinal:function(e){return"ທີ່"+e}});var S_={ss:"sekundė_sekundžių_sekundes",m:"minutė_minutės_minutę",mm:"minutės_minučių_minutes",h:"valanda_valandos_valandą",hh:"valandos_valandų_valandas",d:"diena_dienos_dieną",dd:"dienos_dienų_dienas",M:"mėnuo_mėnesio_mėnesį",MM:"mėnesiai_mėnesių_mėnesius",y:"metai_metų_metus",yy:"metai_metų_metus"};function H_(e,a,l,c){return a?"kelios sekundės":c?"kelių sekundžių":"kelias sekundes"}function Bt(e,a,l,c){return a?Ue(l)[0]:c?Ue(l)[1]:Ue(l)[2]}function ri(e){return e%10===0||e>10&&e<20}function Ue(e){return S_[e].split("_")}function kt(e,a,l,c){var p=e+" ";return e===1?p+Bt(e,a,l[0],c):a?p+(ri(e)?Ue(l)[1]:Ue(l)[0]):c?p+Ue(l)[1]:p+(ri(e)?Ue(l)[1]:Ue(l)[2])}r.defineLocale("lt",{months:{format:"sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_Šeš".split("_"),weekdaysMin:"S_P_A_T_K_Pn_Š".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[Šiandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Praėjusį] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prieš %s",s:H_,ss:kt,m:Bt,mm:kt,h:Bt,hh:kt,d:Bt,dd:kt,M:Bt,MM:kt,y:Bt,yy:kt},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(e){return e+"-oji"},week:{dow:1,doy:4}});var ai={ss:"sekundes_sekundēm_sekunde_sekundes".split("_"),m:"minūtes_minūtēm_minūte_minūtes".split("_"),mm:"minūtes_minūtēm_minūte_minūtes".split("_"),h:"stundas_stundām_stunda_stundas".split("_"),hh:"stundas_stundām_stunda_stundas".split("_"),d:"dienas_dienām_diena_dienas".split("_"),dd:"dienas_dienām_diena_dienas".split("_"),M:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),MM:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")};function si(e,a,l){return l?a%10===1&&a%100!==11?e[2]:e[3]:a%10===1&&a%100!==11?e[0]:e[1]}function Ft(e,a,l){return e+" "+si(ai[l],e,a)}function s0(e,a,l){return si(ai[l],e,a)}function j_(e,a){return a?"dažas sekundes":"dažām sekundēm"}r.defineLocale("lv",{months:"janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec".split("_"),weekdays:"svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[Šodien pulksten] LT",nextDay:"[Rīt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pagājušā] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"pēc %s",past:"pirms %s",s:j_,ss:Ft,m:s0,mm:Ft,h:s0,hh:Ft,d:s0,dd:Ft,M:s0,MM:Ft,y:s0,yy:Ft},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var De={words:{ss:["sekund","sekunda","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(e,a){return e===1?a[0]:e>=2&&e<=4?a[1]:a[2]},translate:function(e,a,l){var c=De.words[l];return l.length===1?a?c[0]:c[1]:e+" "+De.correctGrammaticalCase(e,c)}};r.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){var e=["[prošle] [nedjelje] [u] LT","[prošlog] [ponedjeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srijede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"];return e[this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",ss:De.translate,m:De.translate,mm:De.translate,h:De.translate,hh:De.translate,d:"dan",dd:De.translate,M:"mjesec",MM:De.translate,y:"godinu",yy:De.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),r.defineLocale("mi",{months:"Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei".split("_"),weekdaysShort:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),weekdaysMin:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te hēkona ruarua",ss:"%d hēkona",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}}),r.defineLocale("mk",{months:"јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември".split("_"),monthsShort:"јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек".split("_"),weekdays:"недела_понеделник_вторник_среда_четврток_петок_сабота".split("_"),weekdaysShort:"нед_пон_вто_сре_чет_пет_саб".split("_"),weekdaysMin:"нe_пo_вт_ср_че_пе_сa".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Денес во] LT",nextDay:"[Утре во] LT",nextWeek:"[Во] dddd [во] LT",lastDay:"[Вчера во] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[Изминатата] dddd [во] LT";case 1:case 2:case 4:case 5:return"[Изминатиот] dddd [во] LT"}},sameElse:"L"},relativeTime:{future:"за %s",past:"пред %s",s:"неколку секунди",ss:"%d секунди",m:"една минута",mm:"%d минути",h:"еден час",hh:"%d часа",d:"еден ден",dd:"%d дена",M:"еден месец",MM:"%d месеци",y:"една година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(e){var a=e%10,l=e%100;return e===0?e+"-ев":l===0?e+"-ен":l>10&&l<20?e+"-ти":a===1?e+"-ви":a===2?e+"-ри":a===7||a===8?e+"-ми":e+"-ти"},week:{dow:1,doy:7}}),r.defineLocale("ml",{months:"ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ".split("_"),monthsShort:"ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.".split("_"),monthsParseExact:!0,weekdays:"ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച".split("_"),weekdaysShort:"ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി".split("_"),weekdaysMin:"ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ".split("_"),longDateFormat:{LT:"A h:mm -നു",LTS:"A h:mm:ss -നു",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -നു",LLLL:"dddd, D MMMM YYYY, A h:mm -നു"},calendar:{sameDay:"[ഇന്ന്] LT",nextDay:"[നാളെ] LT",nextWeek:"dddd, LT",lastDay:"[ഇന്നലെ] LT",lastWeek:"[കഴിഞ്ഞ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s കഴിഞ്ഞ്",past:"%s മുൻപ്",s:"അൽപ നിമിഷങ്ങൾ",ss:"%d സെക്കൻഡ്",m:"ഒരു മിനിറ്റ്",mm:"%d മിനിറ്റ്",h:"ഒരു മണിക്കൂർ",hh:"%d മണിക്കൂർ",d:"ഒരു ദിവസം",dd:"%d ദിവസം",M:"ഒരു മാസം",MM:"%d മാസം",y:"ഒരു വർഷം",yy:"%d വർഷം"},meridiemParse:/രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,meridiemHour:function(e,a){return e===12&&(e=0),a==="രാത്രി"&&e>=4||a==="ഉച്ച കഴിഞ്ഞ്"||a==="വൈകുന്നേരം"?e+12:e},meridiem:function(e,a,l){return e<4?"രാത്രി":e<12?"രാവിലെ":e<17?"ഉച്ച കഴിഞ്ഞ്":e<20?"വൈകുന്നേരം":"രാത്രി"}});function Xu(e,a,l,c){switch(l){case"s":return a?"хэдхэн секунд":"хэдхэн секундын";case"ss":return e+(a?" секунд":" секундын");case"m":case"mm":return e+(a?" минут":" минутын");case"h":case"hh":return e+(a?" цаг":" цагийн");case"d":case"dd":return e+(a?" өдөр":" өдрийн");case"M":case"MM":return e+(a?" сар":" сарын");case"y":case"yy":return e+(a?" жил":" жилийн");default:return e}}r.defineLocale("mn",{months:"Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар".split("_"),monthsShort:"1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар".split("_"),monthsParseExact:!0,weekdays:"Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба".split("_"),weekdaysShort:"Ням_Дав_Мяг_Лха_Пүр_Баа_Бям".split("_"),weekdaysMin:"Ня_Да_Мя_Лх_Пү_Ба_Бя".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY оны MMMMын D",LLL:"YYYY оны MMMMын D HH:mm",LLLL:"dddd, YYYY оны MMMMын D HH:mm"},meridiemParse:/ҮӨ|ҮХ/i,isPM:function(e){return e==="ҮХ"},meridiem:function(e,a,l){return e<12?"ҮӨ":"ҮХ"},calendar:{sameDay:"[Өнөөдөр] LT",nextDay:"[Маргааш] LT",nextWeek:"[Ирэх] dddd LT",lastDay:"[Өчигдөр] LT",lastWeek:"[Өнгөрсөн] dddd LT",sameElse:"L"},relativeTime:{future:"%s дараа",past:"%s өмнө",s:Xu,ss:Xu,m:Xu,mm:Xu,h:Xu,hh:Xu,d:Xu,dd:Xu,M:Xu,MM:Xu,y:Xu,yy:Xu},dayOfMonthOrdinalParse:/\d{1,2} өдөр/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+" өдөр";default:return e}}});var O_={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},P_={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};function ue(e,a,l,c){var p="";if(a)switch(l){case"s":p="काही सेकंद";break;case"ss":p="%d सेकंद";break;case"m":p="एक मिनिट";break;case"mm":p="%d मिनिटे";break;case"h":p="एक तास";break;case"hh":p="%d तास";break;case"d":p="एक दिवस";break;case"dd":p="%d दिवस";break;case"M":p="एक महिना";break;case"MM":p="%d महिने";break;case"y":p="एक वर्ष";break;case"yy":p="%d वर्षे";break}else switch(l){case"s":p="काही सेकंदां";break;case"ss":p="%d सेकंदां";break;case"m":p="एका मिनिटा";break;case"mm":p="%d मिनिटां";break;case"h":p="एका तासा";break;case"hh":p="%d तासां";break;case"d":p="एका दिवसा";break;case"dd":p="%d दिवसां";break;case"M":p="एका महिन्या";break;case"MM":p="%d महिन्यां";break;case"y":p="एका वर्षा";break;case"yy":p="%d वर्षां";break}return p.replace(/%d/i,e)}r.defineLocale("mr",{months:"जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर".split("_"),monthsShort:"जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm वाजता",LTS:"A h:mm:ss वाजता",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm वाजता",LLLL:"dddd, D MMMM YYYY, A h:mm वाजता"},calendar:{sameDay:"[आज] LT",nextDay:"[उद्या] LT",nextWeek:"dddd, LT",lastDay:"[काल] LT",lastWeek:"[मागील] dddd, LT",sameElse:"L"},relativeTime:{future:"%sमध्ये",past:"%sपूर्वी",s:ue,ss:ue,m:ue,mm:ue,h:ue,hh:ue,d:ue,dd:ue,M:ue,MM:ue,y:ue,yy:ue},preparse:function(e){return e.replace(/[१२३४५६७८९०]/g,function(a){return P_[a]})},postformat:function(e){return e.replace(/\d/g,function(a){return O_[a]})},meridiemParse:/पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,meridiemHour:function(e,a){if(e===12&&(e=0),a==="पहाटे"||a==="सकाळी")return e;if(a==="दुपारी"||a==="सायंकाळी"||a==="रात्री")return e>=12?e:e+12},meridiem:function(e,a,l){return e>=0&&e<6?"पहाटे":e<12?"सकाळी":e<17?"दुपारी":e<20?"सायंकाळी":"रात्री"},week:{dow:0,doy:6}}),r.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,a){if(e===12&&(e=0),a==="pagi")return e;if(a==="tengahari")return e>=11?e:e+12;if(a==="petang"||a==="malam")return e+12},meridiem:function(e,a,l){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),r.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,a){if(e===12&&(e=0),a==="pagi")return e;if(a==="tengahari")return e>=11?e:e+12;if(a==="petang"||a==="malam")return e+12},meridiem:function(e,a,l){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),r.defineLocale("mt",{months:"Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru".split("_"),monthsShort:"Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ".split("_"),weekdays:"Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt".split("_"),weekdaysShort:"Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib".split("_"),weekdaysMin:"Ħa_Tn_Tl_Er_Ħa_Ġi_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Illum fil-]LT",nextDay:"[Għada fil-]LT",nextWeek:"dddd [fil-]LT",lastDay:"[Il-bieraħ fil-]LT",lastWeek:"dddd [li għadda] [fil-]LT",sameElse:"L"},relativeTime:{future:"f’ %s",past:"%s ilu",s:"ftit sekondi",ss:"%d sekondi",m:"minuta",mm:"%d minuti",h:"siegħa",hh:"%d siegħat",d:"ġurnata",dd:"%d ġranet",M:"xahar",MM:"%d xhur",y:"sena",yy:"%d sni"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}});var I_={1:"၁",2:"၂",3:"၃",4:"၄",5:"၅",6:"၆",7:"၇",8:"၈",9:"၉",0:"၀"},W_={"၁":"1","၂":"2","၃":"3","၄":"4","၅":"5","၆":"6","၇":"7","၈":"8","၉":"9","၀":"0"};r.defineLocale("my",{months:"ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ".split("_"),monthsShort:"ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ".split("_"),weekdays:"တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ".split("_"),weekdaysShort:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),weekdaysMin:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ယနေ.] LT [မှာ]",nextDay:"[မနက်ဖြန်] LT [မှာ]",nextWeek:"dddd LT [မှာ]",lastDay:"[မနေ.က] LT [မှာ]",lastWeek:"[ပြီးခဲ့သော] dddd LT [မှာ]",sameElse:"L"},relativeTime:{future:"လာမည့် %s မှာ",past:"လွန်ခဲ့သော %s က",s:"စက္ကန်.အနည်းငယ်",ss:"%d စက္ကန့်",m:"တစ်မိနစ်",mm:"%d မိနစ်",h:"တစ်နာရီ",hh:"%d နာရီ",d:"တစ်ရက်",dd:"%d ရက်",M:"တစ်လ",MM:"%d လ",y:"တစ်နှစ်",yy:"%d နှစ်"},preparse:function(e){return e.replace(/[၁၂၃၄၅၆၇၈၉၀]/g,function(a){return W_[a]})},postformat:function(e){return e.replace(/\d/g,function(a){return I_[a]})},week:{dow:1,doy:4}}),r.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"sø._ma._ti._on._to._fr._lø.".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",ss:"%d sekunder",m:"ett minutt",mm:"%d minutter",h:"én time",hh:"%d timer",d:"én dag",dd:"%d dager",w:"én uke",ww:"%d uker",M:"én måned",MM:"%d måneder",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var z_={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},N_={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};r.defineLocale("ne",{months:"जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर".split("_"),monthsShort:"जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.".split("_"),monthsParseExact:!0,weekdays:"आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार".split("_"),weekdaysShort:"आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.".split("_"),weekdaysMin:"आ._सो._मं._बु._बि._शु._श.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"Aको h:mm बजे",LTS:"Aको h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, Aको h:mm बजे",LLLL:"dddd, D MMMM YYYY, Aको h:mm बजे"},preparse:function(e){return e.replace(/[१२३४५६७८९०]/g,function(a){return N_[a]})},postformat:function(e){return e.replace(/\d/g,function(a){return z_[a]})},meridiemParse:/राति|बिहान|दिउँसो|साँझ/,meridiemHour:function(e,a){if(e===12&&(e=0),a==="राति")return e<4?e:e+12;if(a==="बिहान")return e;if(a==="दिउँसो")return e>=10?e:e+12;if(a==="साँझ")return e+12},meridiem:function(e,a,l){return e<3?"राति":e<12?"बिहान":e<16?"दिउँसो":e<20?"साँझ":"राति"},calendar:{sameDay:"[आज] LT",nextDay:"[भोलि] LT",nextWeek:"[आउँदो] dddd[,] LT",lastDay:"[हिजो] LT",lastWeek:"[गएको] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%sमा",past:"%s अगाडि",s:"केही क्षण",ss:"%d सेकेण्ड",m:"एक मिनेट",mm:"%d मिनेट",h:"एक घण्टा",hh:"%d घण्टा",d:"एक दिन",dd:"%d दिन",M:"एक महिना",MM:"%d महिना",y:"एक बर्ष",yy:"%d बर्ष"},week:{dow:0,doy:6}});var ii="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),R_="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),yr=[/^jan/i,/^feb/i,/^(maart|mrt\.?)$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],oi=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;r.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?R_[e.month()]:ii[e.month()]:ii},monthsRegex:oi,monthsShortRegex:oi,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:yr,longMonthsParse:yr,shortMonthsParse:yr,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(e===1||e===8||e>=20?"ste":"de")},week:{dow:1,doy:4}});var li="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),U_="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),gr=[/^jan/i,/^feb/i,/^(maart|mrt\.?)$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],di=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;r.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?U_[e.month()]:li[e.month()]:li},monthsRegex:di,monthsShortRegex:di,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:gr,longMonthsParse:gr,shortMonthsParse:gr,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",w:"één week",ww:"%d weken",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(e===1||e===8||e>=20?"ste":"de")},week:{dow:1,doy:4}}),r.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"su._må._ty._on._to._fr._lau.".split("_"),weekdaysMin:"su_må_ty_on_to_fr_la".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I går klokka] LT",lastWeek:"[Føregåande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",ss:"%d sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",w:"ei veke",ww:"%d veker",M:"ein månad",MM:"%d månader",y:"eit år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),r.defineLocale("oc-lnc",{months:{standalone:"genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre".split("_"),format:"de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dm._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dm_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:"[uèi a] LT",nextDay:"[deman a] LT",nextWeek:"dddd [a] LT",lastDay:"[ièr a] LT",lastWeek:"dddd [passat a] LT",sameElse:"L"},relativeTime:{future:"d'aquí %s",past:"fa %s",s:"unas segondas",ss:"%d segondas",m:"una minuta",mm:"%d minutas",h:"una ora",hh:"%d oras",d:"un jorn",dd:"%d jorns",M:"un mes",MM:"%d meses",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|è|a)/,ordinal:function(e,a){var l=e===1?"r":e===2?"n":e===3?"r":e===4?"t":"è";return(a==="w"||a==="W")&&(l="a"),e+l},week:{dow:1,doy:4}});var V_={1:"੧",2:"੨",3:"੩",4:"੪",5:"੫",6:"੬",7:"੭",8:"੮",9:"੯",0:"੦"},$_={"੧":"1","੨":"2","੩":"3","੪":"4","੫":"5","੬":"6","੭":"7","੮":"8","੯":"9","੦":"0"};r.defineLocale("pa-in",{months:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),monthsShort:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),weekdays:"ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ".split("_"),weekdaysShort:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),weekdaysMin:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),longDateFormat:{LT:"A h:mm ਵਜੇ",LTS:"A h:mm:ss ਵਜੇ",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm ਵਜੇ",LLLL:"dddd, D MMMM YYYY, A h:mm ਵਜੇ"},calendar:{sameDay:"[ਅਜ] LT",nextDay:"[ਕਲ] LT",nextWeek:"[ਅਗਲਾ] dddd, LT",lastDay:"[ਕਲ] LT",lastWeek:"[ਪਿਛਲੇ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ਵਿੱਚ",past:"%s ਪਿਛਲੇ",s:"ਕੁਝ ਸਕਿੰਟ",ss:"%d ਸਕਿੰਟ",m:"ਇਕ ਮਿੰਟ",mm:"%d ਮਿੰਟ",h:"ਇੱਕ ਘੰਟਾ",hh:"%d ਘੰਟੇ",d:"ਇੱਕ ਦਿਨ",dd:"%d ਦਿਨ",M:"ਇੱਕ ਮਹੀਨਾ",MM:"%d ਮਹੀਨੇ",y:"ਇੱਕ ਸਾਲ",yy:"%d ਸਾਲ"},preparse:function(e){return e.replace(/[੧੨੩੪੫੬੭੮੯੦]/g,function(a){return $_[a]})},postformat:function(e){return e.replace(/\d/g,function(a){return V_[a]})},meridiemParse:/ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,meridiemHour:function(e,a){if(e===12&&(e=0),a==="ਰਾਤ")return e<4?e:e+12;if(a==="ਸਵੇਰ")return e;if(a==="ਦੁਪਹਿਰ")return e>=10?e:e+12;if(a==="ਸ਼ਾਮ")return e+12},meridiem:function(e,a,l){return e<4?"ਰਾਤ":e<10?"ਸਵੇਰ":e<17?"ਦੁਪਹਿਰ":e<20?"ਸ਼ਾਮ":"ਰਾਤ"},week:{dow:0,doy:6}});var ci="styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),J_="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_"),Er=[/^sty/i,/^lut/i,/^mar/i,/^kwi/i,/^maj/i,/^cze/i,/^lip/i,/^sie/i,/^wrz/i,/^paź/i,/^lis/i,/^gru/i];function xt(e){return e%10<5&&e%10>1&&~~(e/10)%10!==1}function Ve(e,a,l){var c=e+" ";switch(l){case"ss":return c+(xt(e)?"sekundy":"sekund");case"m":return a?"minuta":"minutę";case"mm":return c+(xt(e)?"minuty":"minut");case"h":return a?"godzina":"godzinę";case"hh":return c+(xt(e)?"godziny":"godzin");case"ww":return c+(xt(e)?"tygodnie":"tygodni");case"MM":return c+(xt(e)?"miesiące":"miesięcy");case"yy":return c+(xt(e)?"lata":"lat")}}r.defineLocale("pl",{months:function(e,a){return e?/D MMMM/.test(a)?J_[e.month()]:ci[e.month()]:ci},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),monthsParse:Er,longMonthsParse:Er,shortMonthsParse:Er,weekdays:"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_śr_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dziś o] LT",nextDay:"[Jutro o] LT",nextWeek:function(){switch(this.day()){case 0:return"[W niedzielę o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W środę o] LT";case 6:return"[W sobotę o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zeszłą niedzielę o] LT";case 3:return"[W zeszłą środę o] LT";case 6:return"[W zeszłą sobotę o] LT";default:return"[W zeszły] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",ss:Ve,m:Ve,mm:Ve,h:Ve,hh:Ve,d:"1 dzień",dd:"%d dni",w:"tydzień",ww:Ve,M:"miesiąc",MM:Ve,y:"rok",yy:Ve},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),r.defineLocale("pt-br",{months:"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado".split("_"),weekdaysShort:"dom_seg_ter_qua_qui_sex_sáb".split("_"),weekdaysMin:"do_2ª_3ª_4ª_5ª_6ª_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return this.day()===0||this.day()===6?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"poucos segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",invalidDate:"Data inválida"}),r.defineLocale("pt",{months:"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return this.day()===0||this.day()===6?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",w:"uma semana",ww:"%d semanas",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}});function it(e,a,l){var c={ss:"secunde",mm:"minute",hh:"ore",dd:"zile",ww:"săptămâni",MM:"luni",yy:"ani"},p=" ";return(e%100>=20||e>=100&&e%100===0)&&(p=" de "),e+p+c[l]}r.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminică_luni_marți_miercuri_joi_vineri_sâmbătă".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[mâine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s în urmă",s:"câteva secunde",ss:it,m:"un minut",mm:it,h:"o oră",hh:it,d:"o zi",dd:it,w:"o săptămână",ww:it,M:"o lună",MM:it,y:"un an",yy:it},week:{dow:1,doy:7}});function q_(e,a){var l=e.split("_");return a%10===1&&a%100!==11?l[0]:a%10>=2&&a%10<=4&&(a%100<10||a%100>=20)?l[1]:l[2]}function $e(e,a,l){var c={ss:a?"секунда_секунды_секунд":"секунду_секунды_секунд",mm:a?"минута_минуты_минут":"минуту_минуты_минут",hh:"час_часа_часов",dd:"день_дня_дней",ww:"неделя_недели_недель",MM:"месяц_месяца_месяцев",yy:"год_года_лет"};return l==="m"?a?"минута":"минуту":e+" "+q_(c[l],+e)}var Cr=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i];r.defineLocale("ru",{months:{format:"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_"),standalone:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_")},monthsShort:{format:"янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.".split("_"),standalone:"янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.".split("_")},weekdays:{standalone:"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),format:"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу".split("_"),isFormat:/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/},weekdaysShort:"вс_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"вс_пн_вт_ср_чт_пт_сб".split("_"),monthsParse:Cr,longMonthsParse:Cr,shortMonthsParse:Cr,monthsRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsShortRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsStrictRegex:/^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,monthsShortStrictRegex:/^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., H:mm",LLLL:"dddd, D MMMM YYYY г., H:mm"},calendar:{sameDay:"[Сегодня, в] LT",nextDay:"[Завтра, в] LT",lastDay:"[Вчера, в] LT",nextWeek:function(e){if(e.week()!==this.week())switch(this.day()){case 0:return"[В следующее] dddd, [в] LT";case 1:case 2:case 4:return"[В следующий] dddd, [в] LT";case 3:case 5:case 6:return"[В следующую] dddd, [в] LT"}else return this.day()===2?"[Во] dddd, [в] LT":"[В] dddd, [в] LT"},lastWeek:function(e){if(e.week()!==this.week())switch(this.day()){case 0:return"[В прошлое] dddd, [в] LT";case 1:case 2:case 4:return"[В прошлый] dddd, [в] LT";case 3:case 5:case 6:return"[В прошлую] dddd, [в] LT"}else return this.day()===2?"[Во] dddd, [в] LT":"[В] dddd, [в] LT"},sameElse:"L"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",ss:$e,m:$e,mm:$e,h:"час",hh:$e,d:"день",dd:$e,w:"неделя",ww:$e,M:"месяц",MM:$e,y:"год",yy:$e},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(e){return/^(дня|вечера)$/.test(e)},meridiem:function(e,a,l){return e<4?"ночи":e<12?"утра":e<17?"дня":"вечера"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го|я)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":return e+"-й";case"D":return e+"-го";case"w":case"W":return e+"-я";default:return e}},week:{dow:1,doy:4}});var mi=["جنوري","فيبروري","مارچ","اپريل","مئي","جون","جولاءِ","آگسٽ","سيپٽمبر","آڪٽوبر","نومبر","ڊسمبر"],Ar=["آچر","سومر","اڱارو","اربع","خميس","جمع","ڇنڇر"];r.defineLocale("sd",{months:mi,monthsShort:mi,weekdays:Ar,weekdaysShort:Ar,weekdaysMin:Ar,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return e==="شام"},meridiem:function(e,a,l){return e<12?"صبح":"شام"},calendar:{sameDay:"[اڄ] LT",nextDay:"[سڀاڻي] LT",nextWeek:"dddd [اڳين هفتي تي] LT",lastDay:"[ڪالهه] LT",lastWeek:"[گزريل هفتي] dddd [تي] LT",sameElse:"L"},relativeTime:{future:"%s پوء",past:"%s اڳ",s:"چند سيڪنڊ",ss:"%d سيڪنڊ",m:"هڪ منٽ",mm:"%d منٽ",h:"هڪ ڪلاڪ",hh:"%d ڪلاڪ",d:"هڪ ڏينهن",dd:"%d ڏينهن",M:"هڪ مهينو",MM:"%d مهينا",y:"هڪ سال",yy:"%d سال"},preparse:function(e){return e.replace(/،/g,",")},postformat:function(e){return e.replace(/,/g,"،")},week:{dow:1,doy:4}}),r.defineLocale("se",{months:"ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu".split("_"),monthsShort:"ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov".split("_"),weekdays:"sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat".split("_"),weekdaysShort:"sotn_vuos_maŋ_gask_duor_bear_láv".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s geažes",past:"maŋit %s",s:"moadde sekunddat",ss:"%d sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta mánnu",MM:"%d mánut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),r.defineLocale("si",{months:"ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්".split("_"),monthsShort:"ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ".split("_"),weekdays:"ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා".split("_"),weekdaysShort:"ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන".split("_"),weekdaysMin:"ඉ_ස_අ_බ_බ්‍ර_සි_සෙ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [වැනි] dddd, a h:mm:ss"},calendar:{sameDay:"[අද] LT[ට]",nextDay:"[හෙට] LT[ට]",nextWeek:"dddd LT[ට]",lastDay:"[ඊයේ] LT[ට]",lastWeek:"[පසුගිය] dddd LT[ට]",sameElse:"L"},relativeTime:{future:"%sකින්",past:"%sකට පෙර",s:"තත්පර කිහිපය",ss:"තත්පර %d",m:"මිනිත්තුව",mm:"මිනිත්තු %d",h:"පැය",hh:"පැය %d",d:"දිනය",dd:"දින %d",M:"මාසය",MM:"මාස %d",y:"වසර",yy:"වසර %d"},dayOfMonthOrdinalParse:/\d{1,2} වැනි/,ordinal:function(e){return e+" වැනි"},meridiemParse:/පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,isPM:function(e){return e==="ප.ව."||e==="පස් වරු"},meridiem:function(e,a,l){return e>11?l?"ප.ව.":"පස් වරු":l?"පෙ.ව.":"පෙර වරු"}});var G_="január_február_marec_apríl_máj_jún_júl_august_september_október_november_december".split("_"),K_="jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec".split("_");function Yt(e){return e>1&&e<5}function ee(e,a,l,c){var p=e+" ";switch(l){case"s":return a||c?"pár sekúnd":"pár sekundami";case"ss":return a||c?p+(Yt(e)?"sekundy":"sekúnd"):p+"sekundami";case"m":return a?"minúta":c?"minútu":"minútou";case"mm":return a||c?p+(Yt(e)?"minúty":"minút"):p+"minútami";case"h":return a?"hodina":c?"hodinu":"hodinou";case"hh":return a||c?p+(Yt(e)?"hodiny":"hodín"):p+"hodinami";case"d":return a||c?"deň":"dňom";case"dd":return a||c?p+(Yt(e)?"dni":"dní"):p+"dňami";case"M":return a||c?"mesiac":"mesiacom";case"MM":return a||c?p+(Yt(e)?"mesiace":"mesiacov"):p+"mesiacmi";case"y":return a||c?"rok":"rokom";case"yy":return a||c?p+(Yt(e)?"roky":"rokov"):p+"rokmi"}}r.defineLocale("sk",{months:G_,monthsShort:K_,weekdays:"nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_št_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_št_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nedeľu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo štvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[včera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulú nedeľu o] LT";case 1:case 2:return"[minulý] dddd [o] LT";case 3:return"[minulú stredu o] LT";case 4:case 5:return"[minulý] dddd [o] LT";case 6:return"[minulú sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:ee,ss:ee,m:ee,mm:ee,h:ee,hh:ee,d:ee,dd:ee,M:ee,MM:ee,y:ee,yy:ee},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});function te(e,a,l,c){var p=e+" ";switch(l){case"s":return a||c?"nekaj sekund":"nekaj sekundami";case"ss":return e===1?p+=a?"sekundo":"sekundi":e===2?p+=a||c?"sekundi":"sekundah":e<5?p+=a||c?"sekunde":"sekundah":p+="sekund",p;case"m":return a?"ena minuta":"eno minuto";case"mm":return e===1?p+=a?"minuta":"minuto":e===2?p+=a||c?"minuti":"minutama":e<5?p+=a||c?"minute":"minutami":p+=a||c?"minut":"minutami",p;case"h":return a?"ena ura":"eno uro";case"hh":return e===1?p+=a?"ura":"uro":e===2?p+=a||c?"uri":"urama":e<5?p+=a||c?"ure":"urami":p+=a||c?"ur":"urami",p;case"d":return a||c?"en dan":"enim dnem";case"dd":return e===1?p+=a||c?"dan":"dnem":e===2?p+=a||c?"dni":"dnevoma":p+=a||c?"dni":"dnevi",p;case"M":return a||c?"en mesec":"enim mesecem";case"MM":return e===1?p+=a||c?"mesec":"mesecem":e===2?p+=a||c?"meseca":"mesecema":e<5?p+=a||c?"mesece":"meseci":p+=a||c?"mesecev":"meseci",p;case"y":return a||c?"eno leto":"enim letom";case"yy":return e===1?p+=a||c?"leto":"letom":e===2?p+=a||c?"leti":"letoma":e<5?p+=a||c?"leta":"leti":p+=a||c?"let":"leti",p}}r.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._čet._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_če_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[včeraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prejšnjo] [nedeljo] [ob] LT";case 3:return"[prejšnjo] [sredo] [ob] LT";case 6:return"[prejšnjo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prejšnji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"čez %s",past:"pred %s",s:te,ss:te,m:te,mm:te,h:te,hh:te,d:te,dd:te,M:te,MM:te,y:te,yy:te},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),r.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj".split("_"),weekdays:"E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë".split("_"),weekdaysShort:"Die_Hën_Mar_Mër_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_Më_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(e){return e.charAt(0)==="M"},meridiem:function(e,a,l){return e<12?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot në] LT",nextDay:"[Nesër në] LT",nextWeek:"dddd [në] LT",lastDay:"[Dje në] LT",lastWeek:"dddd [e kaluar në] LT",sameElse:"L"},relativeTime:{future:"në %s",past:"%s më parë",s:"disa sekonda",ss:"%d sekonda",m:"një minutë",mm:"%d minuta",h:"një orë",hh:"%d orë",d:"një ditë",dd:"%d ditë",M:"një muaj",MM:"%d muaj",y:"një vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var Pu={words:{ss:["секунда","секунде","секунди"],m:["један минут","једног минута"],mm:["минут","минута","минута"],h:["један сат","једног сата"],hh:["сат","сата","сати"],d:["један дан","једног дана"],dd:["дан","дана","дана"],M:["један месец","једног месеца"],MM:["месец","месеца","месеци"],y:["једну годину","једне године"],yy:["годину","године","година"]},correctGrammaticalCase:function(e,a){return e%10>=1&&e%10<=4&&(e%100<10||e%100>=20)?e%10===1?a[0]:a[1]:a[2]},translate:function(e,a,l,c){var p=Pu.words[l],M;return l.length===1?l==="y"&&a?"једна година":c||a?p[0]:p[1]:(M=Pu.correctGrammaticalCase(e,p),l==="yy"&&a&&M==="годину"?e+" година":e+" "+M)}};r.defineLocale("sr-cyrl",{months:"јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар".split("_"),monthsShort:"јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.".split("_"),monthsParseExact:!0,weekdays:"недеља_понедељак_уторак_среда_четвртак_петак_субота".split("_"),weekdaysShort:"нед._пон._уто._сре._чет._пет._суб.".split("_"),weekdaysMin:"не_по_ут_ср_че_пе_су".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D. M. YYYY.",LL:"D. MMMM YYYY.",LLL:"D. MMMM YYYY. H:mm",LLLL:"dddd, D. MMMM YYYY. H:mm"},calendar:{sameDay:"[данас у] LT",nextDay:"[сутра у] LT",nextWeek:function(){switch(this.day()){case 0:return"[у] [недељу] [у] LT";case 3:return"[у] [среду] [у] LT";case 6:return"[у] [суботу] [у] LT";case 1:case 2:case 4:case 5:return"[у] dddd [у] LT"}},lastDay:"[јуче у] LT",lastWeek:function(){var e=["[прошле] [недеље] [у] LT","[прошлог] [понедељка] [у] LT","[прошлог] [уторка] [у] LT","[прошле] [среде] [у] LT","[прошлог] [четвртка] [у] LT","[прошлог] [петка] [у] LT","[прошле] [суботе] [у] LT"];return e[this.day()]},sameElse:"L"},relativeTime:{future:"за %s",past:"пре %s",s:"неколико секунди",ss:Pu.translate,m:Pu.translate,mm:Pu.translate,h:Pu.translate,hh:Pu.translate,d:Pu.translate,dd:Pu.translate,M:Pu.translate,MM:Pu.translate,y:Pu.translate,yy:Pu.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});var Iu={words:{ss:["sekunda","sekunde","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],d:["jedan dan","jednog dana"],dd:["dan","dana","dana"],M:["jedan mesec","jednog meseca"],MM:["mesec","meseca","meseci"],y:["jednu godinu","jedne godine"],yy:["godinu","godine","godina"]},correctGrammaticalCase:function(e,a){return e%10>=1&&e%10<=4&&(e%100<10||e%100>=20)?e%10===1?a[0]:a[1]:a[2]},translate:function(e,a,l,c){var p=Iu.words[l],M;return l.length===1?l==="y"&&a?"jedna godina":c||a?p[0]:p[1]:(M=Iu.correctGrammaticalCase(e,p),l==="yy"&&a&&M==="godinu"?e+" godina":e+" "+M)}};r.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D. M. YYYY.",LL:"D. MMMM YYYY.",LLL:"D. MMMM YYYY. H:mm",LLLL:"dddd, D. MMMM YYYY. H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){var e=["[prošle] [nedelje] [u] LT","[prošlog] [ponedeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"];return e[this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",ss:Iu.translate,m:Iu.translate,mm:Iu.translate,h:Iu.translate,hh:Iu.translate,d:Iu.translate,dd:Iu.translate,M:Iu.translate,MM:Iu.translate,y:Iu.translate,yy:Iu.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),r.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",ss:"%d mzuzwana",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(e,a,l){return e<11?"ekuseni":e<15?"emini":e<19?"entsambama":"ebusuku"},meridiemHour:function(e,a){if(e===12&&(e=0),a==="ekuseni")return e;if(a==="emini")return e>=11?e:e+12;if(a==="entsambama"||a==="ebusuku")return e===0?0:e+12},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}}),r.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag".split("_"),weekdaysShort:"sön_mån_tis_ons_tor_fre_lör".split("_"),weekdaysMin:"sö_må_ti_on_to_fr_lö".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Igår] LT",nextWeek:"[På] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"för %s sedan",s:"några sekunder",ss:"%d sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en månad",MM:"%d månader",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}(\:e|\:a)/,ordinal:function(e){var a=e%10,l=~~(e%100/10)===1?":e":a===1||a===2?":a":":e";return e+l},week:{dow:1,doy:4}}),r.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"hh:mm A",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",ss:"sekunde %d",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"siku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}});var Z_={1:"௧",2:"௨",3:"௩",4:"௪",5:"௫",6:"௬",7:"௭",8:"௮",9:"௯",0:"௦"},Q_={"௧":"1","௨":"2","௩":"3","௪":"4","௫":"5","௬":"6","௭":"7","௮":"8","௯":"9","௦":"0"};r.defineLocale("ta",{months:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),monthsShort:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),weekdays:"ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை".split("_"),weekdaysShort:"ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி".split("_"),weekdaysMin:"ஞா_தி_செ_பு_வி_வெ_ச".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[இன்று] LT",nextDay:"[நாளை] LT",nextWeek:"dddd, LT",lastDay:"[நேற்று] LT",lastWeek:"[கடந்த வாரம்] dddd, LT",sameElse:"L"},relativeTime:{future:"%s இல்",past:"%s முன்",s:"ஒரு சில விநாடிகள்",ss:"%d விநாடிகள்",m:"ஒரு நிமிடம்",mm:"%d நிமிடங்கள்",h:"ஒரு மணி நேரம்",hh:"%d மணி நேரம்",d:"ஒரு நாள்",dd:"%d நாட்கள்",M:"ஒரு மாதம்",MM:"%d மாதங்கள்",y:"ஒரு வருடம்",yy:"%d ஆண்டுகள்"},dayOfMonthOrdinalParse:/\d{1,2}வது/,ordinal:function(e){return e+"வது"},preparse:function(e){return e.replace(/[௧௨௩௪௫௬௭௮௯௦]/g,function(a){return Q_[a]})},postformat:function(e){return e.replace(/\d/g,function(a){return Z_[a]})},meridiemParse:/யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,meridiem:function(e,a,l){return e<2?" யாமம்":e<6?" வைகறை":e<10?" காலை":e<14?" நண்பகல்":e<18?" எற்பாடு":e<22?" மாலை":" யாமம்"},meridiemHour:function(e,a){return e===12&&(e=0),a==="யாமம்"?e<2?e:e+12:a==="வைகறை"||a==="காலை"||a==="நண்பகல்"&&e>=10?e:e+12},week:{dow:0,doy:6}}),r.defineLocale("te",{months:"జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్".split("_"),monthsShort:"జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.".split("_"),monthsParseExact:!0,weekdays:"ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం".split("_"),weekdaysShort:"ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని".split("_"),weekdaysMin:"ఆ_సో_మం_బు_గు_శు_శ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[నేడు] LT",nextDay:"[రేపు] LT",nextWeek:"dddd, LT",lastDay:"[నిన్న] LT",lastWeek:"[గత] dddd, LT",sameElse:"L"},relativeTime:{future:"%s లో",past:"%s క్రితం",s:"కొన్ని క్షణాలు",ss:"%d సెకన్లు",m:"ఒక నిమిషం",mm:"%d నిమిషాలు",h:"ఒక గంట",hh:"%d గంటలు",d:"ఒక రోజు",dd:"%d రోజులు",M:"ఒక నెల",MM:"%d నెలలు",y:"ఒక సంవత్సరం",yy:"%d సంవత్సరాలు"},dayOfMonthOrdinalParse:/\d{1,2}వ/,ordinal:"%dవ",meridiemParse:/రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,meridiemHour:function(e,a){if(e===12&&(e=0),a==="రాత్రి")return e<4?e:e+12;if(a==="ఉదయం")return e;if(a==="మధ్యాహ్నం")return e>=10?e:e+12;if(a==="సాయంత్రం")return e+12},meridiem:function(e,a,l){return e<4?"రాత్రి":e<10?"ఉదయం":e<17?"మధ్యాహ్నం":e<20?"సాయంత్రం":"రాత్రి"},week:{dow:0,doy:6}}),r.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sest_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Ses_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ohin iha] LT",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",lastWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha %s",past:"%s liuba",s:"segundu balun",ss:"segundu %d",m:"minutu ida",mm:"minutu %d",h:"oras ida",hh:"oras %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10,l=~~(e%100/10)===1?"th":a===1?"st":a===2?"nd":a===3?"rd":"th";return e+l},week:{dow:1,doy:4}});var Mr={0:"-ум",1:"-ум",2:"-юм",3:"-юм",4:"-ум",5:"-ум",6:"-ум",7:"-ум",8:"-ум",9:"-ум",10:"-ум",12:"-ум",13:"-ум",20:"-ум",30:"-юм",40:"-ум",50:"-ум",60:"-ум",70:"-ум",80:"-ум",90:"-ум",100:"-ум"};r.defineLocale("tg",{months:{format:"январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри".split("_"),standalone:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_")},monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе".split("_"),weekdaysShort:"яшб_дшб_сшб_чшб_пшб_ҷум_шнб".split("_"),weekdaysMin:"яш_дш_сш_чш_пш_ҷм_шб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Имрӯз соати] LT",nextDay:"[Фардо соати] LT",lastDay:"[Дирӯз соати] LT",nextWeek:"dddd[и] [ҳафтаи оянда соати] LT",lastWeek:"dddd[и] [ҳафтаи гузашта соати] LT",sameElse:"L"},relativeTime:{future:"баъди %s",past:"%s пеш",s:"якчанд сония",m:"як дақиқа",mm:"%d дақиқа",h:"як соат",hh:"%d соат",d:"як рӯз",dd:"%d рӯз",M:"як моҳ",MM:"%d моҳ",y:"як сол",yy:"%d сол"},meridiemParse:/шаб|субҳ|рӯз|бегоҳ/,meridiemHour:function(e,a){if(e===12&&(e=0),a==="шаб")return e<4?e:e+12;if(a==="субҳ")return e;if(a==="рӯз")return e>=11?e:e+12;if(a==="бегоҳ")return e+12},meridiem:function(e,a,l){return e<4?"шаб":e<11?"субҳ":e<16?"рӯз":e<19?"бегоҳ":"шаб"},dayOfMonthOrdinalParse:/\d{1,2}-(ум|юм)/,ordinal:function(e){var a=e%10,l=e>=100?100:null;return e+(Mr[e]||Mr[a]||Mr[l])},week:{dow:1,doy:7}}),r.defineLocale("th",{months:"มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม".split("_"),monthsShort:"ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.".split("_"),monthsParseExact:!0,weekdays:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์".split("_"),weekdaysShort:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์".split("_"),weekdaysMin:"อา._จ._อ._พ._พฤ._ศ._ส.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY เวลา H:mm",LLLL:"วันddddที่ D MMMM YYYY เวลา H:mm"},meridiemParse:/ก่อนเที่ยง|หลังเที่ยง/,isPM:function(e){return e==="หลังเที่ยง"},meridiem:function(e,a,l){return e<12?"ก่อนเที่ยง":"หลังเที่ยง"},calendar:{sameDay:"[วันนี้ เวลา] LT",nextDay:"[พรุ่งนี้ เวลา] LT",nextWeek:"dddd[หน้า เวลา] LT",lastDay:"[เมื่อวานนี้ เวลา] LT",lastWeek:"[วัน]dddd[ที่แล้ว เวลา] LT",sameElse:"L"},relativeTime:{future:"อีก %s",past:"%sที่แล้ว",s:"ไม่กี่วินาที",ss:"%d วินาที",m:"1 นาที",mm:"%d นาที",h:"1 ชั่วโมง",hh:"%d ชั่วโมง",d:"1 วัน",dd:"%d วัน",w:"1 สัปดาห์",ww:"%d สัปดาห์",M:"1 เดือน",MM:"%d เดือน",y:"1 ปี",yy:"%d ปี"}});var Lr={1:"'inji",5:"'inji",8:"'inji",70:"'inji",80:"'inji",2:"'nji",7:"'nji",20:"'nji",50:"'nji",3:"'ünji",4:"'ünji",100:"'ünji",6:"'njy",9:"'unjy",10:"'unjy",30:"'unjy",60:"'ynjy",90:"'ynjy"};r.defineLocale("tk",{months:"Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr".split("_"),monthsShort:"Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek".split("_"),weekdays:"Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe".split("_"),weekdaysShort:"Ýek_Duş_Siş_Çar_Pen_Ann_Şen".split("_"),weekdaysMin:"Ýk_Dş_Sş_Çr_Pn_An_Şn".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün sagat] LT",nextDay:"[ertir sagat] LT",nextWeek:"[indiki] dddd [sagat] LT",lastDay:"[düýn] LT",lastWeek:"[geçen] dddd [sagat] LT",sameElse:"L"},relativeTime:{future:"%s soň",past:"%s öň",s:"birnäçe sekunt",m:"bir minut",mm:"%d minut",h:"bir sagat",hh:"%d sagat",d:"bir gün",dd:"%d gün",M:"bir aý",MM:"%d aý",y:"bir ýyl",yy:"%d ýyl"},ordinal:function(e,a){switch(a){case"d":case"D":case"Do":case"DD":return e;default:if(e===0)return e+"'unjy";var l=e%10,c=e%100-l,p=e>=100?100:null;return e+(Lr[l]||Lr[c]||Lr[p])}},week:{dow:1,doy:7}}),r.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}});var vr="pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_");function X_(e){var a=e;return a=e.indexOf("jaj")!==-1?a.slice(0,-3)+"leS":e.indexOf("jar")!==-1?a.slice(0,-3)+"waQ":e.indexOf("DIS")!==-1?a.slice(0,-3)+"nem":a+" pIq",a}function uh(e){var a=e;return a=e.indexOf("jaj")!==-1?a.slice(0,-3)+"Hu’":e.indexOf("jar")!==-1?a.slice(0,-3)+"wen":e.indexOf("DIS")!==-1?a.slice(0,-3)+"ben":a+" ret",a}function wt(e,a,l,c){var p=eh(e);switch(l){case"ss":return p+" lup";case"mm":return p+" tup";case"hh":return p+" rep";case"dd":return p+" jaj";case"MM":return p+" jar";case"yy":return p+" DIS"}}function eh(e){var a=Math.floor(e%1e3/100),l=Math.floor(e%100/10),c=e%10,p="";return a>0&&(p+=vr[a]+"vatlh"),l>0&&(p+=(p!==""?" ":"")+vr[l]+"maH"),c>0&&(p+=(p!==""?" ":"")+vr[c]),p===""?"pagh":p}r.defineLocale("tlh",{months:"tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’".split("_"),monthsShort:"jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DaHjaj] LT",nextDay:"[wa’leS] LT",nextWeek:"LLL",lastDay:"[wa’Hu’] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:X_,past:uh,s:"puS lup",ss:wt,m:"wa’ tup",mm:wt,h:"wa’ rep",hh:wt,d:"wa’ jaj",dd:wt,M:"wa’ jar",MM:wt,y:"wa’ DIS",yy:wt},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var Br={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'üncü",4:"'üncü",100:"'üncü",6:"'ncı",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ıncı",90:"'ıncı"};r.defineLocale("tr",{months:"Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık".split("_"),monthsShort:"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pzt_Sal_Çar_Per_Cum_Cmt".split("_"),weekdaysMin:"Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),meridiem:function(e,a,l){return e<12?l?"öö":"ÖÖ":l?"ös":"ÖS"},meridiemParse:/öö|ÖÖ|ös|ÖS/,isPM:function(e){return e==="ös"||e==="ÖS"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[yarın saat] LT",nextWeek:"[gelecek] dddd [saat] LT",lastDay:"[dün] LT",lastWeek:"[geçen] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s önce",s:"birkaç saniye",ss:"%d saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",w:"bir hafta",ww:"%d hafta",M:"bir ay",MM:"%d ay",y:"bir yıl",yy:"%d yıl"},ordinal:function(e,a){switch(a){case"d":case"D":case"Do":case"DD":return e;default:if(e===0)return e+"'ıncı";var l=e%10,c=e%100-l,p=e>=100?100:null;return e+(Br[l]||Br[c]||Br[p])}},week:{dow:1,doy:7}}),r.defineLocale("tzl",{months:"Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi".split("_"),weekdaysShort:"Súl_Lún_Mai_Már_Xhú_Vié_Sát".split("_"),weekdaysMin:"Sú_Lú_Ma_Má_Xh_Vi_Sá".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(e){return e.toLowerCase()==="d'o"},meridiem:function(e,a,l){return e>11?l?"d'o":"D'O":l?"d'a":"D'A"},calendar:{sameDay:"[oxhi à] LT",nextDay:"[demà à] LT",nextWeek:"dddd [à] LT",lastDay:"[ieiri à] LT",lastWeek:"[sür el] dddd [lasteu à] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:ne,ss:ne,m:ne,mm:ne,h:ne,hh:ne,d:ne,dd:ne,M:ne,MM:ne,y:ne,yy:ne},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});function ne(e,a,l,c){var p={s:["viensas secunds","'iensas secunds"],ss:[e+" secunds",""+e+" secunds"],m:["'n míut","'iens míut"],mm:[e+" míuts",""+e+" míuts"],h:["'n þora","'iensa þora"],hh:[e+" þoras",""+e+" þoras"],d:["'n ziua","'iensa ziua"],dd:[e+" ziuas",""+e+" ziuas"],M:["'n mes","'iens mes"],MM:[e+" mesen",""+e+" mesen"],y:["'n ar","'iens ar"],yy:[e+" ars",""+e+" ars"]};return c||a?p[l][0]:p[l][1]}r.defineLocale("tzm-latn",{months:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",ss:"%d imik",m:"minuḍ",mm:"%d minuḍ",h:"saɛa",hh:"%d tassaɛin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}}),r.defineLocale("tzm",{months:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),monthsShort:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),weekdays:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysShort:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysMin:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ⴰⵙⴷⵅ ⴴ] LT",nextDay:"[ⴰⵙⴽⴰ ⴴ] LT",nextWeek:"dddd [ⴴ] LT",lastDay:"[ⴰⵚⴰⵏⵜ ⴴ] LT",lastWeek:"dddd [ⴴ] LT",sameElse:"L"},relativeTime:{future:"ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s",past:"ⵢⴰⵏ %s",s:"ⵉⵎⵉⴽ",ss:"%d ⵉⵎⵉⴽ",m:"ⵎⵉⵏⵓⴺ",mm:"%d ⵎⵉⵏⵓⴺ",h:"ⵙⴰⵄⴰ",hh:"%d ⵜⴰⵙⵙⴰⵄⵉⵏ",d:"ⴰⵙⵙ",dd:"%d oⵙⵙⴰⵏ",M:"ⴰⵢoⵓⵔ",MM:"%d ⵉⵢⵢⵉⵔⵏ",y:"ⴰⵙⴳⴰⵙ",yy:"%d ⵉⵙⴳⴰⵙⵏ"},week:{dow:6,doy:12}}),r.defineLocale("ug-cn",{months:"يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر".split("_"),monthsShort:"يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر".split("_"),weekdays:"يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە".split("_"),weekdaysShort:"يە_دۈ_سە_چا_پە_جۈ_شە".split("_"),weekdaysMin:"يە_دۈ_سە_چا_پە_جۈ_شە".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY-يىلىM-ئاينىڭD-كۈنى",LLL:"YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm",LLLL:"dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm"},meridiemParse:/يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,meridiemHour:function(e,a){return e===12&&(e=0),a==="يېرىم كېچە"||a==="سەھەر"||a==="چۈشتىن بۇرۇن"?e:a==="چۈشتىن كېيىن"||a==="كەچ"?e+12:e>=11?e:e+12},meridiem:function(e,a,l){var c=e*100+a;return c<600?"يېرىم كېچە":c<900?"سەھەر":c<1130?"چۈشتىن بۇرۇن":c<1230?"چۈش":c<1800?"چۈشتىن كېيىن":"كەچ"},calendar:{sameDay:"[بۈگۈن سائەت] LT",nextDay:"[ئەتە سائەت] LT",nextWeek:"[كېلەركى] dddd [سائەت] LT",lastDay:"[تۆنۈگۈن] LT",lastWeek:"[ئالدىنقى] dddd [سائەت] LT",sameElse:"L"},relativeTime:{future:"%s كېيىن",past:"%s بۇرۇن",s:"نەچچە سېكونت",ss:"%d سېكونت",m:"بىر مىنۇت",mm:"%d مىنۇت",h:"بىر سائەت",hh:"%d سائەت",d:"بىر كۈن",dd:"%d كۈن",M:"بىر ئاي",MM:"%d ئاي",y:"بىر يىل",yy:"%d يىل"},dayOfMonthOrdinalParse:/\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"-كۈنى";case"w":case"W":return e+"-ھەپتە";default:return e}},preparse:function(e){return e.replace(/،/g,",")},postformat:function(e){return e.replace(/,/g,"،")},week:{dow:1,doy:7}});function th(e,a){var l=e.split("_");return a%10===1&&a%100!==11?l[0]:a%10>=2&&a%10<=4&&(a%100<10||a%100>=20)?l[1]:l[2]}function ot(e,a,l){var c={ss:a?"секунда_секунди_секунд":"секунду_секунди_секунд",mm:a?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:a?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return l==="m"?a?"хвилина":"хвилину":l==="h"?a?"година":"годину":e+" "+th(c[l],+e)}function nh(e,a){var l={nominative:"неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота".split("_"),accusative:"неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу".split("_"),genitive:"неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи".split("_")},c;return e===!0?l.nominative.slice(1,7).concat(l.nominative.slice(0,1)):e?(c=/(\[[ВвУу]\]) ?dddd/.test(a)?"accusative":/\[?(?:минулої|наступної)? ?\] ?dddd/.test(a)?"genitive":"nominative",l[c][e.day()]):l.nominative}function bt(e){return function(){return e+"о"+(this.hours()===11?"б":"")+"] LT"}}r.defineLocale("uk",{months:{format:"січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня".split("_"),standalone:"січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень".split("_")},monthsShort:"січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд".split("_"),weekdays:nh,weekdaysShort:"нд_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY р.",LLL:"D MMMM YYYY р., HH:mm",LLLL:"dddd, D MMMM YYYY р., HH:mm"},calendar:{sameDay:bt("[Сьогодні "),nextDay:bt("[Завтра "),lastDay:bt("[Вчора "),nextWeek:bt("[У] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return bt("[Минулої] dddd [").call(this);case 1:case 2:case 4:return bt("[Минулого] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"за %s",past:"%s тому",s:"декілька секунд",ss:ot,m:ot,mm:ot,h:"годину",hh:ot,d:"день",dd:ot,M:"місяць",MM:ot,y:"рік",yy:ot},meridiemParse:/ночі|ранку|дня|вечора/,isPM:function(e){return/^(дня|вечора)$/.test(e)},meridiem:function(e,a,l){return e<4?"ночі":e<12?"ранку":e<17?"дня":"вечора"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":case"w":case"W":return e+"-й";case"D":return e+"-го";default:return e}},week:{dow:1,doy:7}});var _i=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],kr=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];return r.defineLocale("ur",{months:_i,monthsShort:_i,weekdays:kr,weekdaysShort:kr,weekdaysMin:kr,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return e==="شام"},meridiem:function(e,a,l){return e<12?"صبح":"شام"},calendar:{sameDay:"[آج بوقت] LT",nextDay:"[کل بوقت] LT",nextWeek:"dddd [بوقت] LT",lastDay:"[گذشتہ روز بوقت] LT",lastWeek:"[گذشتہ] dddd [بوقت] LT",sameElse:"L"},relativeTime:{future:"%s بعد",past:"%s قبل",s:"چند سیکنڈ",ss:"%d سیکنڈ",m:"ایک منٹ",mm:"%d منٹ",h:"ایک گھنٹہ",hh:"%d گھنٹے",d:"ایک دن",dd:"%d دن",M:"ایک ماہ",MM:"%d ماہ",y:"ایک سال",yy:"%d سال"},preparse:function(e){return e.replace(/،/g,",")},postformat:function(e){return e.replace(/,/g,"،")},week:{dow:1,doy:4}}),r.defineLocale("uz-latn",{months:"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),weekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),weekdaysMin:"Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Bugun soat] LT [da]",nextDay:"[Ertaga] LT [da]",nextWeek:"dddd [kuni soat] LT [da]",lastDay:"[Kecha soat] LT [da]",lastWeek:"[O'tgan] dddd [kuni soat] LT [da]",sameElse:"L"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",ss:"%d soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d soat",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"},week:{dow:1,doy:7}}),r.defineLocale("uz",{months:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба".split("_"),weekdaysShort:"Якш_Душ_Сеш_Чор_Пай_Жум_Шан".split("_"),weekdaysMin:"Як_Ду_Се_Чо_Па_Жу_Ша".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Бугун соат] LT [да]",nextDay:"[Эртага] LT [да]",nextWeek:"dddd [куни соат] LT [да]",lastDay:"[Кеча соат] LT [да]",lastWeek:"[Утган] dddd [куни соат] LT [да]",sameElse:"L"},relativeTime:{future:"Якин %s ичида",past:"Бир неча %s олдин",s:"фурсат",ss:"%d фурсат",m:"бир дакика",mm:"%d дакика",h:"бир соат",hh:"%d соат",d:"бир кун",dd:"%d кун",M:"бир ой",MM:"%d ой",y:"бир йил",yy:"%d йил"},week:{dow:1,doy:7}}),r.defineLocale("vi",{months:"tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12".split("_"),monthsShort:"Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12".split("_"),monthsParseExact:!0,weekdays:"chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(e){return/^ch$/i.test(e)},meridiem:function(e,a,l){return e<12?l?"sa":"SA":l?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [năm] YYYY",LLL:"D MMMM [năm] YYYY HH:mm",LLLL:"dddd, D MMMM [năm] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[Hôm nay lúc] LT",nextDay:"[Ngày mai lúc] LT",nextWeek:"dddd [tuần tới lúc] LT",lastDay:"[Hôm qua lúc] LT",lastWeek:"dddd [tuần trước lúc] LT",sameElse:"L"},relativeTime:{future:"%s tới",past:"%s trước",s:"vài giây",ss:"%d giây",m:"một phút",mm:"%d phút",h:"một giờ",hh:"%d giờ",d:"một ngày",dd:"%d ngày",w:"một tuần",ww:"%d tuần",M:"một tháng",MM:"%d tháng",y:"một năm",yy:"%d năm"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}}),r.defineLocale("x-pseudo",{months:"J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér".split("_"),monthsShort:"J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc".split("_"),monthsParseExact:!0,weekdays:"S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý".split("_"),weekdaysShort:"S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát".split("_"),weekdaysMin:"S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[T~ódá~ý át] LT",nextDay:"[T~ómó~rró~w át] LT",nextWeek:"dddd [át] LT",lastDay:"[Ý~ést~érdá~ý át] LT",lastWeek:"[L~ást] dddd [át] LT",sameElse:"L"},relativeTime:{future:"í~ñ %s",past:"%s á~gó",s:"á ~féw ~sécó~ñds",ss:"%d s~écóñ~ds",m:"á ~míñ~úté",mm:"%d m~íñú~tés",h:"á~ñ hó~úr",hh:"%d h~óúrs",d:"á ~dáý",dd:"%d d~áýs",M:"á ~móñ~th",MM:"%d m~óñt~hs",y:"á ~ýéár",yy:"%d ý~éárs"},dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var a=e%10,l=~~(e%100/10)===1?"th":a===1?"st":a===2?"nd":a===3?"rd":"th";return e+l},week:{dow:1,doy:4}}),r.defineLocale("yo",{months:"Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀".split("_"),monthsShort:"Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀".split("_"),weekdays:"Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta".split("_"),weekdaysShort:"Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá".split("_"),weekdaysMin:"Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Ònì ni] LT",nextDay:"[Ọ̀la ni] LT",nextWeek:"dddd [Ọsẹ̀ tón'bọ] [ni] LT",lastDay:"[Àna ni] LT",lastWeek:"dddd [Ọsẹ̀ tólọ́] [ni] LT",sameElse:"L"},relativeTime:{future:"ní %s",past:"%s kọjá",s:"ìsẹjú aayá die",ss:"aayá %d",m:"ìsẹjú kan",mm:"ìsẹjú %d",h:"wákati kan",hh:"wákati %d",d:"ọjọ́ kan",dd:"ọjọ́ %d",M:"osù kan",MM:"osù %d",y:"ọdún kan",yy:"ọdún %d"},dayOfMonthOrdinalParse:/ọjọ́\s\d{1,2}/,ordinal:"ọjọ́ %d",week:{dow:1,doy:4}}),r.defineLocale("zh-cn",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah点mm分",LLLL:"YYYY年M月D日ddddAh点mm分",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,a){return e===12&&(e=0),a==="凌晨"||a==="早上"||a==="上午"?e:a==="下午"||a==="晚上"?e+12:e>=11?e:e+12},meridiem:function(e,a,l){var c=e*100+a;return c<600?"凌晨":c<900?"早上":c<1130?"上午":c<1230?"中午":c<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:function(e){return e.week()!==this.week()?"[下]dddLT":"[本]dddLT"},lastDay:"[昨天]LT",lastWeek:function(e){return this.week()!==e.week()?"[上]dddLT":"[本]dddLT"},sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|周)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"日";case"M":return e+"月";case"w":case"W":return e+"周";default:return e}},relativeTime:{future:"%s后",past:"%s前",s:"几秒",ss:"%d 秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",w:"1 周",ww:"%d 周",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},week:{dow:1,doy:4}}),r.defineLocale("zh-hk",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日dddd HH:mm",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,a){if(e===12&&(e=0),a==="凌晨"||a==="早上"||a==="上午")return e;if(a==="中午")return e>=11?e:e+12;if(a==="下午"||a==="晚上")return e+12},meridiem:function(e,a,l){var c=e*100+a;return c<600?"凌晨":c<900?"早上":c<1200?"上午":c===1200?"中午":c<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"日";case"M":return e+"月";case"w":case"W":return e+"週";default:return e}},relativeTime:{future:"%s後",past:"%s前",s:"幾秒",ss:"%d 秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}}),r.defineLocale("zh-mo",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日dddd HH:mm",l:"D/M/YYYY",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,a){if(e===12&&(e=0),a==="凌晨"||a==="早上"||a==="上午")return e;if(a==="中午")return e>=11?e:e+12;if(a==="下午"||a==="晚上")return e+12},meridiem:function(e,a,l){var c=e*100+a;return c<600?"凌晨":c<900?"早上":c<1130?"上午":c<1230?"中午":c<1800?"下午":"晚上"},calendar:{sameDay:"[今天] LT",nextDay:"[明天] LT",nextWeek:"[下]dddd LT",lastDay:"[昨天] LT",lastWeek:"[上]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"日";case"M":return e+"月";case"w":case"W":return e+"週";default:return e}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",ss:"%d 秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}}),r.defineLocale("zh-tw",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日dddd HH:mm",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,a){if(e===12&&(e=0),a==="凌晨"||a==="早上"||a==="上午")return e;if(a==="中午")return e>=11?e:e+12;if(a==="下午"||a==="晚上")return e+12},meridiem:function(e,a,l){var c=e*100+a;return c<600?"凌晨":c<900?"早上":c<1130?"上午":c<1230?"中午":c<1800?"下午":"晚上"},calendar:{sameDay:"[今天] LT",nextDay:"[明天] LT",nextWeek:"[下]dddd LT",lastDay:"[昨天] LT",lastWeek:"[上]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"日";case"M":return e+"月";case"w":case"W":return e+"週";default:return e}},relativeTime:{future:"%s後",past:"%s前",s:"幾秒",ss:"%d 秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}}),r.locale("en"),r})})(gl);var G6=gl.exports;const Wt=g0(G6),St=Th(),bi={ar:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["ثوانٍ"]}}}},ast:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["segundos"]}}}},az:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["saniyə"]}}}},be:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["секунды"]}}}},br:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["eilennoù"]}}}},ca:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["segons"]}}}},cs:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["sekund(y)"]}}}},cs_CZ:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["sekund(y)"]}}}},da:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["sekunder"]}}}},de:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["Sekunden"]}}}},de_DE:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["Sekunden"]}}}},el:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["δευτερόλεπτα"]}}}},en_GB:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["seconds"]}}}},eo:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["sekundoj"]}}}},es:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["segundos"]}}}},es_AR:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["segundos"]}}}},es_CL:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["segundos"]}}}},es_MX:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["segundos"]}}}},et_EE:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["sekundid"]}}}},eu:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["segundo"]}}}},fa:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["ثانیه"]}}}},fi:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["sekuntia"]}}}},fi_FI:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["sekuntia"]}}}},fr:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["secondes"]}}}},ga:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["soicindí"]}}}},gl:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["segundos"]}}}},he:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["שניות"]}}}},hr:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["sekunde"]}}}},hu:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["másodperc"]}}}},hu_HU:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["másodperc"]}}}},id:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["detik"]}}}},is:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["sekúndur"]}}}},it:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["secondi"]}}}},ja:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["秒後"]}}}},ja_JP:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["秒"]}}}},kab:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["tasinin"]}}}},ko:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["초"]}}}},lo:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["ວິນາທີ"]}}}},lt_LT:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["sek."]}}}},lv:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["sekundes"]}}}},mk:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["секунди"]}}}},mn:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["секунд"]}}}},ms_MY:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["saat"]}}}},my:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["စက္ကန့်"]}}}},nb:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["sekunder"]}}}},nb_NO:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["sekunder"]}}}},nl:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["seconden"]}}}},oc:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["segondas"]}}}},pl:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["sekundy"]}}}},pt_BR:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["segundos"]}}}},pt_PT:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["segundos"]}}}},ro:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["secunde"]}}}},ru:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["секунды"]}}}},si:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["තත්පර"]}}}},sk:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["sekúnd"]}}}},sk_SK:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["sekundy"]}}}},sl:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["sekunde"]}}}},sq:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["sekonda"]}}}},sr:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["секунде"]}}}},sv:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["sekunder"]}}}},th_TH:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["วินาที"]}}}},tr:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["saniye"]}}}},uk:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["секунд"]}}}},uz:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["ikkinchi"]}}}},vi:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["giây"]}}}},zh_CN:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["秒"]}}}},zh_HK:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["秒"]}}}},zh_TW:{charset:"utf-8",translations:{"":{seconds:{msgid:"seconds",msgstr:["秒"]}}}}};if(Wt.locale(St),St==="en"||St in bi){const u=rh().setLanguage(St).addTranslation(St,bi[St]).build();Wt.updateLocale(Wt.locale(),{relativeTime:{s:u.gettext("seconds")}})}const K6=Sh(),Z6={name:"NcEmptyContent",props:{name:{type:String,default:""},description:{type:String,default:""}},computed:{hasName(){return this.name!==""},hasDescription(){return this.description!==""||this.$slots.description?.[0]}}};var Q6=function(){var u=this,t=u._self._c;return t("div",{staticClass:"empty-content",attrs:{role:"note"}},[u.$slots.icon?t("div",{staticClass:"empty-content__icon",attrs:{"aria-hidden":"true"}},[u._t("icon")],2):u._e(),u._t("name",function(){return[u.hasName?t("span",{staticClass:"empty-content__name"},[u._v(" "+u._s(u.name)+" ")]):u._e()]}),u.hasDescription?t("p",{staticClass:"empty-content__description"},[u._t("description",function(){return[u._v(" "+u._s(u.description)+" ")]})],2):u._e(),u.$slots.action?t("div",{staticClass:"empty-content__action"},[u._t("action")],2):u._e()],2)},X6=[],u1=Cu(Z6,Q6,X6,!1,null,"12126d08");const KA=u1.exports;class El{_activity;constructor(t){if(typeof t!="object")throw new Error("Received activity data is not an object.");if(typeof t.activity_id!="number")throw new Error("The activity_id argument is not a valid string");if(typeof t.type!="string"||t.type.trim()==="")throw new Error("The activity_id argument is not a valid string");if(typeof t.subject!="string"||t.subject.trim()==="")throw new Error("The activity_id argument is not a valid string");if(typeof t.icon!="string"||t.icon.trim()==="")throw new Error("The activity_id argument is not a valid string");if(typeof t.datetime!="string"||t.datetime.trim()==="")throw new Error("The activity_id argument is not a valid string");this._activity=t}get id(){return this._activity.activity_id}get app(){return this._activity.app}get type(){return this._activity.type}get user(){return this._activity.user}get subject(){return this._activity.subject}get subjectRichTemplate(){return this._activity.subject_rich[0]}get subjectRichObjects(){return Array.isArray(this._activity.subject_rich[1])?{}:this._activity.subject_rich[1]}get message(){return this._activity.message}get messageRichTemplate(){return this._activity.message_rich[0]}get messageRichObjects(){return Array.isArray(this._activity.message_rich[1])?this._activity.message_rich[1]:{}}get objectType(){return this._activity.object_type}get objectId(){return this._activity.object_id}get objectName(){return this._activity.object_name}get link(){return this._activity.link}get icon(){return this._activity.icon}get datetime(){return this._activity.datetime}get dateFromNow(){return Wt(this._activity.datetime).fromNow()}get formattedDate(){return Wt(this._activity.datetime).format("LLL")}get timestamp(){return Wt(this._activity.datetime).valueOf()}get previews(){return this._activity.previews??[]}}const e1={beforeUpdate(){this.text=this.getText()},data(){return{text:this.getText()}},computed:{isLongText(){return this.text&&this.text.trim().length>20}},methods:{getText(){return this.$slots.default?this.$slots.default[0].text.trim():""}}},t1=function(u,t){let n=u.$parent;for(;n;){if(n.$options.name===t)return n;n=n.$parent}},Bn={mixins:[e1],props:{icon:{type:String,default:""},name:{type:String,default:""},title:{type:String,default:""},closeAfterClick:{type:Boolean,default:!1},ariaLabel:{type:String,default:null},ariaHidden:{type:Boolean,default:null}},emits:["click"],computed:{isIconUrl(){try{return!!new URL(this.icon,this.icon.startsWith("/")?window.location.origin:void 0)}catch{return!1}}},methods:{onClick(u){if(this.$emit("click",u),this.closeAfterClick){const t=t1(this,"NcActions");t&&t.closeMenu&&t.closeMenu(!1)}}}},n1={name:"NcActionLink",mixins:[Bn],inject:{isInSemanticMenu:{from:"NcActions:isSemanticMenu",default:!1}},props:{href:{type:String,default:"#",required:!0,validator:u=>{try{return new URL(u)}catch{return u.startsWith("#")||u.startsWith("/")}}},download:{type:String,default:null},target:{type:String,default:"_self",validator:u=>u&&(!u.startsWith("_")||["_blank","_self","_parent","_top"].indexOf(u)>-1)},title:{type:String,default:null},ariaHidden:{type:Boolean,default:null}}};var r1=function(){var u=this,t=u._self._c;return t("li",{staticClass:"action",attrs:{role:u.isInSemanticMenu&&"presentation"}},[t("a",{staticClass:"action-link focusable",attrs:{download:u.download,href:u.href,"aria-label":u.ariaLabel,target:u.target,title:u.title,rel:"nofollow noreferrer noopener",role:u.isInSemanticMenu&&"menuitem"},on:{click:u.onClick}},[u._t("icon",function(){return[t("span",{staticClass:"action-link__icon",class:[u.isIconUrl?"action-link__icon--url":u.icon],style:{backgroundImage:u.isIconUrl?`url(${u.icon})`:null},attrs:{"aria-hidden":"true"}})]}),u.name?t("span",{staticClass:"action-link__longtext-wrapper"},[t("strong",{staticClass:"action-link__name"},[u._v(" "+u._s(u.name)+" ")]),t("br"),t("span",{staticClass:"action-link__longtext",domProps:{textContent:u._s(u.text)}})]):u.isLongText?t("span",{staticClass:"action-link__longtext",domProps:{textContent:u._s(u.text)}}):t("span",{staticClass:"action-link__text"},[u._v(u._s(u.text))]),u._e()],2)])},a1=[],s1=Cu(n1,r1,a1,!1,null,"30c015f0");const i1=s1.exports,o1={name:"NcActionRouter",mixins:[Bn],inject:{isInSemanticMenu:{from:"NcActions:isSemanticMenu",default:!1}},props:{to:{type:[String,Object],default:"",required:!0},exact:{type:Boolean,default:!1}}};var l1=function(){var u=this,t=u._self._c;return t("li",{staticClass:"action",attrs:{role:u.isInSemanticMenu&&"presentation"}},[t("RouterLink",{staticClass:"action-router focusable",attrs:{to:u.to,"aria-label":u.ariaLabel,exact:u.exact,title:u.title,rel:"nofollow noreferrer noopener",role:u.isInSemanticMenu&&"menuitem"},nativeOn:{click:function(n){return u.onClick.apply(null,arguments)}}},[u._t("icon",function(){return[t("span",{staticClass:"action-router__icon",class:[u.isIconUrl?"action-router__icon--url":u.icon],style:{backgroundImage:u.isIconUrl?`url(${u.icon})`:null},attrs:{"aria-hidden":"true"}})]}),u.name?t("span",{staticClass:"action-router__longtext-wrapper"},[t("strong",{staticClass:"action-router__name"},[u._v(" "+u._s(u.name)+" ")]),t("br"),t("span",{staticClass:"action-router__longtext",domProps:{textContent:u._s(u.text)}})]):u.isLongText?t("span",{staticClass:"action-router__longtext",domProps:{textContent:u._s(u.text)}}):t("span",{staticClass:"action-router__text"},[u._v(u._s(u.text))]),u._e()],2)],1)},d1=[],c1=Cu(o1,l1,d1,!1,null,"579c6b4d");const m1=c1.exports,_1={name:"NcActionText",mixins:[Bn],inject:{isInSemanticMenu:{from:"NcActions:isSemanticMenu",default:!1}}};var h1=function(){var u=this,t=u._self._c;return t("li",{staticClass:"action",attrs:{role:u.isInSemanticMenu&&"presentation"}},[t("span",{staticClass:"action-text",on:{click:u.onClick}},[u._t("icon",function(){return[u.icon!==""?t("span",{staticClass:"action-text__icon",class:[u.isIconUrl?"action-text__icon--url":u.icon],style:{backgroundImage:u.isIconUrl?`url(${u.icon})`:null},attrs:{"aria-hidden":"true"}}):u._e()]}),u.name?t("span",{staticClass:"action-text__longtext-wrapper"},[t("strong",{staticClass:"action-text__name"},[u._v(" "+u._s(u.name)+" ")]),t("br"),t("span",{staticClass:"action-text__longtext",domProps:{textContent:u._s(u.text)}})]):u.isLongText?t("span",{staticClass:"action-text__longtext",domProps:{textContent:u._s(u.text)}}):t("span",{staticClass:"action-text__text"},[u._v(u._s(u.text))]),u._e()],2)])},f1=[],p1=Cu(_1,h1,f1,!1,null,"824615f4");const D1=p1.exports,y1={name:"CheckIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var g1=function(){var u=this,t=u._self._c;return t("span",u._b({staticClass:"material-design-icon check-icon",attrs:{"aria-hidden":u.title?null:"true","aria-label":u.title,role:"img"},on:{click:function(n){return u.$emit("click",n)}}},"span",u.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:u.fillColor,width:u.size,height:u.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}},[u.title?t("title",[u._v(u._s(u.title))]):u._e()])])])},E1=[],C1=Cu(y1,g1,E1,!1,null,null);const Cl=C1.exports,A1={name:"ChevronRightIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var M1=function(){var u=this,t=u._self._c;return t("span",u._b({staticClass:"material-design-icon chevron-right-icon",attrs:{"aria-hidden":u.title?null:"true","aria-label":u.title,role:"img"},on:{click:function(n){return u.$emit("click",n)}}},"span",u.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:u.fillColor,width:u.size,height:u.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"}},[u.title?t("title",[u._v(u._s(u.title))]):u._e()])])])},L1=[],v1=Cu(A1,M1,L1,!1,null,null);const B1=v1.exports,k1={name:"ChevronLeftIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var F1=function(){var u=this,t=u._self._c;return t("span",u._b({staticClass:"material-design-icon chevron-left-icon",attrs:{"aria-hidden":u.title?null:"true","aria-label":u.title,role:"img"},on:{click:function(n){return u.$emit("click",n)}}},"span",u.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:u.fillColor,width:u.size,height:u.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z"}},[u.title?t("title",[u._v(u._s(u.title))]):u._e()])])])},x1=[],Y1=Cu(k1,F1,x1,!1,null,null);const w1=Y1.exports,b1={name:"NcActionButton",components:{CheckIcon:Cl,ChevronRightIcon:B1,ChevronLeftIcon:w1},mixins:[Bn],inject:{isInSemanticMenu:{from:"NcActions:isSemanticMenu",default:!1}},props:{ariaHidden:{type:Boolean,default:null},disabled:{type:Boolean,default:!1},isMenu:{type:Boolean,default:!1},type:{type:String,default:"button",validator:u=>["button","checkbox","radio","reset","submit"].includes(u)},modelValue:{type:[Boolean,String],default:null},value:{type:String,default:null}},setup(){return{isRtl:K6}},computed:{isFocusable(){return!this.disabled},isChecked(){return this.type==="radio"&&typeof this.modelValue!="boolean"?this.modelValue===this.value:this.modelValue},nativeType(){return this.type==="submit"||this.type==="reset"?this.type:"button"},buttonAttributes(){const u={};return this.isInSemanticMenu?(u.role="menuitem",this.type==="radio"?(u.role="menuitemradio",u["aria-checked"]=this.isChecked?"true":"false"):(this.type==="checkbox"||this.nativeType==="button"&&this.modelValue!==null)&&(u.role="menuitemcheckbox",u["aria-checked"]=this.modelValue===null?"mixed":this.modelValue?"true":"false")):this.modelValue!==null&&this.nativeType==="button"&&(u["aria-pressed"]=this.modelValue?"true":"false"),u}},methods:{handleClick(u){this.onClick(u),(this.modelValue!==null||this.type!=="button")&&(this.type==="radio"?typeof this.modelValue!="boolean"?this.isChecked||this.$emit("update:modelValue",this.value):this.$emit("update:modelValue",!this.isChecked):this.$emit("update:modelValue",!this.isChecked))}}};var T1=function(){var u=this,t=u._self._c;return t("li",{staticClass:"action",class:{"action--disabled":u.disabled},attrs:{role:u.isInSemanticMenu&&"presentation"}},[t("button",u._b({class:["action-button button-vue",{"action-button--active":u.isChecked,focusable:u.isFocusable}],attrs:{"aria-label":u.ariaLabel,disabled:u.disabled,title:u.title,type:u.nativeType},on:{click:u.handleClick}},"button",u.buttonAttributes,!1),[u._t("icon",function(){return[t("span",{staticClass:"action-button__icon",class:[u.isIconUrl?"action-button__icon--url":u.icon],style:{backgroundImage:u.isIconUrl?`url(${u.icon})`:null},attrs:{"aria-hidden":"true"}})]}),u.name?t("span",{staticClass:"action-button__longtext-wrapper"},[t("strong",{staticClass:"action-button__name"},[u._v(" "+u._s(u.name)+" ")]),t("br"),t("span",{staticClass:"action-button__longtext",domProps:{textContent:u._s(u.text)}})]):u.isLongText?t("span",{staticClass:"action-button__longtext",domProps:{textContent:u._s(u.text)}}):t("span",{staticClass:"action-button__text"},[u._v(u._s(u.text))]),u.isMenu&&!u.isRtl?t("ChevronRightIcon",{staticClass:"action-button__menu-icon",attrs:{size:20}}):u.isMenu&&u.isRtl?t("ChevronLeftIcon",{staticClass:"action-button__menu-icon",attrs:{size:20}}):u.isChecked===!0?t("CheckIcon",{staticClass:"action-button__pressed-icon",attrs:{size:20}}):u.isChecked===!1?t("span",{staticClass:"action-button__pressed-icon material-design-icon"}):u._e(),u._e()],2)])},S1=[],H1=Cu(b1,T1,S1,!1,null,"92dc5a52");const j1=H1.exports;function Al(){try{return on("core","capabilities")}catch{return console.debug("Could not find capabilities initial state fall back to _oc_capabilities"),"_oc_capabilities"in window?window._oc_capabilities:{}}}const O1=` @@ -19,7 +19,7 @@ Arguments: `+Array.prototype.slice.call(c).join("")+` -`,P1=` @@ -36,43 +36,43 @@ Arguments: `+Array.prototype.slice.call(c).join("")+` -`;zu(ah);const Ml=u=>{switch(u){case"away":return ru("away");case"busy":return ru("busy");case"dnd":return ru("do not disturb");case"online":return ru("online");case"invisible":return ru("invisible");case"offline":return ru("offline");default:return u}};zu(sh);const I1={name:"NcUserStatusIcon",props:{user:{type:String,default:null},status:{type:String,default:null,validator:u=>["online","away","busy","dnd","invisible","offline"].includes(u)},ariaHidden:{type:String,default:null,validator:u=>["true","false"].includes(u)}},data(){return{fetchedUserStatus:null}},computed:{activeStatus(){return this.status??this.fetchedUserStatus},activeSvg(){return{online:O1,away:Ti,busy:Ti,dnd:P1,invisible:Si,offline:Si}[this.activeStatus]??null},ariaLabel(){return this.ariaHidden==="true"?null:ru("User status: {status}",{status:Ml(this.activeStatus)})}},watch:{user:{immediate:!0,async handler(u,t){if(!u||!Al()?.user_status?.enabled){this.fetchedUserStatus=null;return}try{const{data:n}=await ct.get(Ot("/apps/user_status/api/v1/statuses/{user}",{user:u}));this.fetchedUserStatus=n.ocs?.data?.status}catch{this.fetchedUserStatus=null}}}}};var W1=function(){var u=this,t=u._self._c;return u.activeStatus?t("span",{staticClass:"user-status-icon",class:{"user-status-icon--invisible":["invisible","offline"].includes(u.status)},attrs:{role:"img","aria-hidden":u.ariaHidden,"aria-label":u.ariaLabel},domProps:{innerHTML:u._s(u.activeSvg)}}):u._e()},z1=[],N1=Cu(I1,W1,z1,!1,null,"0555d8d0");const R1=N1.exports;zu(ih);class Lu{constructor(t,n,r,s){this.r=t,this.g=n,this.b=r,s&&(this.name=s)}get color(){const t=n=>`00${n.toString(16)}`.slice(-2);return`#${t(this.r)}${t(this.g)}${t(this.b)}`}}function U1(u,t){const n=new Array(3);return n[0]=(t[1].r-t[0].r)/u,n[1]=(t[1].g-t[0].g)/u,n[2]=(t[1].b-t[0].b)/u,n}function wr(u,t,n){const r=[];r.push(t);const s=U1(u,[t,n]);for(let i=1;i>>32-r},rotr:function(n,r){return n<<32-r|n>>>r},endian:function(n){if(n.constructor==Number)return t.rotl(n,8)&16711935|t.rotl(n,24)&4278255360;for(var r=0;r0;n--)r.push(Math.floor(Math.random()*256));return r},bytesToWords:function(n){for(var r=[],s=0,i=0;s>>5]|=n[s]<<24-i%32;return r},wordsToBytes:function(n){for(var r=[],s=0;s>>5]>>>24-s%32&255);return r},bytesToHex:function(n){for(var r=[],s=0;s>>4).toString(16)),r.push((n[s]&15).toString(16));return r.join("")},hexToBytes:function(n){for(var r=[],s=0;s>>6*(3-o)&63)):r.push("=");return r.join("")},base64ToBytes:function(n){n=n.replace(/[^A-Z0-9+\/]/ig,"");for(var r=[],s=0,i=0;s>>6-i*2);return r}};vl.exports=t})();var $1=vl.exports,ra={utf8:{stringToBytes:function(u){return ra.bin.stringToBytes(unescape(encodeURIComponent(u)))},bytesToString:function(u){return decodeURIComponent(escape(ra.bin.bytesToString(u)))}},bin:{stringToBytes:function(u){for(var t=[],n=0;n>>24)&16711935|(d[D]<<24|d[D]>>>8)&4278255360;d[m>>>5]|=128<>>9<<4)+14]=m;for(var E=s._ff,C=s._gg,A=s._hh,B=s._ii,D=0;D>>0,f=f+T>>>0,h=h+O>>>0,g=g+W>>>0}return u.endian([_,f,h,g])};s._ff=function(i,o,d,m,_,f,h){var g=i+(o&d|~o&m)+(_>>>0)+h;return(g<>>32-f)+o},s._gg=function(i,o,d,m,_,f,h){var g=i+(o&m|d&~m)+(_>>>0)+h;return(g<>>32-f)+o},s._hh=function(i,o,d,m,_,f,h){var g=i+(o^d^m)+(_>>>0)+h;return(g<>>32-f)+o},s._ii=function(i,o,d,m,_,f,h){var g=i+(d^(o|~m))+(_>>>0)+h;return(g<>>32-f)+o},s._blocksize=16,s._digestsize=16,Ll.exports=function(i,o){if(i==null)throw new Error("Illegal argument "+i);var d=u.wordsToBytes(s(i,o));return o&&o.asBytes?d:o&&o.asString?r.bytesToString(d):u.bytesToHex(d)}})();var G1=Ll.exports;const K1=g0(G1),ji=function(u){let t=u.toLowerCase();t.match(/^([0-9a-f]{4}-?){8}$/)===null&&(t=K1(t)),t=t.replace(/[^0-9a-f]/g,"");const n=6,r=V1(n);function s(i,o){let d=0;const m=[];for(let _=0;_{const r=window.getComputedStyle(document.body).getPropertyValue("--background-invert-if-dark")==="invert(100%)";return Ko("/avatar"+(n?"/guest":"")+"/{user}/{size}"+(r?"/dark":""),{user:u,size:t})},Q1=Rh().detectUser().setApp("@nextcloud/vue").build();function X1(u){return window._nc_contacts_menu_hooks?Object.values(window._nc_contacts_menu_hooks).filter(t=>t.enabled(u)):[]}const xa=function(u){if(u==null)return nf;if(typeof u=="function")return kn(u);if(typeof u=="object")return Array.isArray(u)?uf(u):ef(u);if(typeof u=="string")return tf(u);throw new Error("Expected function, string, or object as test")};function uf(u){const t=[];let n=-1;for(;++n":""))+")"})}return g;function g(){let D=kl,E,C,A;if((!t||i(m,_,f[f.length-1]||void 0))&&(D=sf(n(m,f)),D[0]===aa))return D;if("children"in m&&m.children){const B=m;if(B.children&&D[0]!==Ya)for(C=(r?B.children.length:-1)+o,A=f.concat(B);C>-1&&Cs.type==="text",(s,i,o)=>{let d=xl(s.value);return d=d.map(m=>typeof m=="string"?m0("text",m):m0("link",{url:m.props.href},[m0("text",m.props.href)])).filter(m=>m),o.children.splice(i,1,...d.flat()),[Ya,i+d.flat().length]})}},xl=u=>{let t=Pi.exec(u);const n=[];let r=0;for(;t!==null;){let i=t[2],o,d=u.substring(r,t.index+t[1].length);i[0]===" "&&(d+=i[0],i=i.substring(1).trim());const m=i[i.length-1];(m==="."||m===","||m===";"||t[0][0]==="("&&m===")")&&(i=i.substring(0,i.length-1),o=m),n.push(d),n.push({component:of,props:{href:i}}),o&&n.push(o),r=t.index+t[0].length,t=Pi.exec(u)}n.push(u.substring(r));const s=n.map(i=>typeof i=="string"?i:i.props.href).join("");return u===s?n:(console.error("Failed to reassemble the chunked text: "+u),u)},wa=(u,t)=>{const n=(f,h)=>f.startsWith(h)?f.slice(h.length):f,r=(f,...h)=>h.reduce((g,D)=>n(g,D),f);if(!u)return null;const s=/^https?:\/\//.test(t),i=/^[a-z][a-z0-9+.-]*:.+/.test(t);if(!s&&i||s&&!t.startsWith(hi())||!s&&!t.startsWith("/"))return null;const o=s?r(t,hi(),"/index.php"):t,d=r(u.history.base,oh(),"/index.php"),m=r(o,d)||"/",_=u.resolve(m).route;return _.matched.length?_.fullPath:null},Yl=()=>window.outerHeight===screen.height,Ii=se(Yl());window.addEventListener("resize",()=>{Ii.value=Yl()}),En(Ii);var df={exports:{}};(function(u){(function(t){if(typeof n!="function"){var n=function(E){return E};n.nonNative=!0}const r=n("plaintext"),s=n("html"),i=n("comment"),o=/<(\w*)>/g,d=/<\/?([^\s\/>]+)/;function m(E,C,A){E=E||"",C=C||[],A=A||"";let B=f(C,A);return h(E,B)}function _(E,C){E=E||[],C=C||"";let A=f(E,C);return function(B){return h(B||"",A)}}m.init_streaming_mode=_;function f(E,C){return E=g(E),{allowable_tags:E,tag_replacement:C,state:r,tag_buffer:"",depth:0,in_quote_char:""}}function h(E,C){if(typeof E!="string")throw new TypeError("'html' parameter must be a string");let A=C.allowable_tags,B=C.tag_replacement,b=C.state,T=C.tag_buffer,O=C.depth,W=C.in_quote_char,Y="";for(let V=0,J=E.length;V":if(W)break;if(O){O--;break}W="",b=r,T+=">",A.has(D(T))?Y+=T:Y+=B,T="";break;case'"':case"'":$===W?W="":W=W||$,T+=$;break;case"-":T==="":T.slice(-2)=="--"&&(b=r),T="";break;default:T+=$;break}}return C.state=b,C.tag_buffer=T,C.depth=O,C.in_quote_char=W,Y}function g(E){let C=new Set;if(typeof E=="string"){let A;for(;A=o.exec(E);)C.add(A[1])}else!n.nonNative&&typeof E[n.iterator]=="function"?C=new Set(E):typeof E.forEach=="function"&&E.forEach(C.add,C);return C}function D(E){let C=d.exec(E);return C?C[1].toLowerCase():null}u.exports?u.exports=m:t.striptags=m})(Ca)})(df),Zo.util.warn;function wl(u){return Hh()?(jh(u),!0):!1}function Qe(u){return typeof u=="function"?u():q0(u)}const Wi={mounted:"inserted",unmounted:"unbind"},bl=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const cf=Object.prototype.toString,mf=u=>cf.call(u)==="[object Object]",_0=()=>{},sa=_f();function _f(){var u,t;return bl&&((u=window?.navigator)==null?void 0:u.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window?.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window?.navigator.userAgent))}function hf(...u){if(u.length!==1)return Oh(...u);const t=u[0];return typeof t=="function"?En(Ph(()=>({get:t,set:_0}))):se(t)}const Tl=bl?window:void 0;function c0(u){var t;const n=Qe(u);return(t=n?.$el)!=null?t:n}function un(...u){let t,n,r,s;if(typeof u[0]=="string"||Array.isArray(u[0])?([n,r,s]=u,t=Tl):[t,n,r,s]=u,!t)return _0;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const i=[],o=()=>{i.forEach(f=>f()),i.length=0},d=(f,h,g,D)=>(f.addEventListener(h,g,D),()=>f.removeEventListener(h,g,D)),m=Cn(()=>[c0(t),Qe(s)],([f,h])=>{if(o(),!f)return;const g=mf(h)?{...h}:h;i.push(...n.flatMap(D=>r.map(E=>d(f,D,E,g))))},{immediate:!0,flush:"post"}),_=()=>{m(),o()};return wl(_),_}let zi=!1;function Ni(u,t,n={}){const{window:r=Tl,ignore:s=[],capture:i=!0,detectIframe:o=!1}=n;if(!r)return _0;sa&&!zi&&(zi=!0,Array.from(r.document.body.children).forEach(E=>E.addEventListener("click",_0)),r.document.documentElement.addEventListener("click",_0));let d=!0;const m=E=>Qe(s).some(C=>{if(typeof C=="string")return Array.from(r.document.querySelectorAll(C)).some(A=>A===E.target||E.composedPath().includes(A));{const A=c0(C);return A&&(E.target===A||E.composedPath().includes(A))}});function _(E){const C=Qe(E);return C&&C.$.subTree.shapeFlag===16}function f(E,C){const A=Qe(E),B=A.$.subTree&&A.$.subTree.children;return B==null||!Array.isArray(B)?!1:B.some(b=>b.el===C.target||C.composedPath().includes(b.el))}const h=E=>{const C=c0(u);if(E.target!=null&&!(!(C instanceof Element)&&_(u)&&f(u,E))&&!(!C||C===E.target||E.composedPath().includes(C))){if(E.detail===0&&(d=!m(E)),!d){d=!0;return}t(E)}};let g=!1;const D=[un(r,"click",E=>{g||(g=!0,setTimeout(()=>{g=!1},0),h(E))},{passive:!0,capture:i}),un(r,"pointerdown",E=>{const C=c0(u);d=!m(E)&&!!(C&&!E.composedPath().includes(C))},{passive:!0}),o&&un(r,"blur",E=>{setTimeout(()=>{var C;const A=c0(u);((C=r.document.activeElement)==null?void 0:C.tagName)==="IFRAME"&&!A?.contains(r.document.activeElement)&&t(E)},0)})].filter(Boolean);return()=>D.forEach(E=>E())}const ff={[Wi.mounted](u,t){const n=!t.modifiers.bubble;if(typeof t.value=="function")u.__onClickOutside_stop=Ni(u,t.value,{capture:n});else{const[r,s]=t.value;u.__onClickOutside_stop=Ni(u,r,Object.assign({capture:n},s))}},[Wi.unmounted](u){u.__onClickOutside_stop()}};function br(u){return typeof Window<"u"&&u instanceof Window?u.document.documentElement:typeof Document<"u"&&u instanceof Document?u.documentElement:u}function Sl(u){const t=window.getComputedStyle(u);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&u.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}const Tr=new WeakMap;function Df(u,t=!1){const n=se(t);let r=null,s="";Cn(hf(u),d=>{const m=br(Qe(d));if(m){const _=m;if(Tr.get(_)||Tr.set(_,_.style.overflow),_.style.overflow!=="hidden"&&(s=_.style.overflow),_.style.overflow==="hidden")return n.value=!0;if(n.value)return _.style.overflow="hidden"}},{immediate:!0});const i=()=>{const d=br(Qe(u));!d||n.value||(sa&&(r=un(d,"touchmove",m=>{pf(m)},{passive:!1})),d.style.overflow="hidden",n.value=!0)},o=()=>{const d=br(Qe(u));!d||!n.value||(sa&&r?.(),d.style.overflow=s,Tr.delete(d),n.value=!1)};return wl(o),Tu({get(){return n.value},set(d){d?i():o()}})}function yf(){let u=!1;const t=se(!1);return(n,r)=>{if(t.value=r.value,u)return;u=!0;const s=Df(n,r.value);Cn(t,i=>s.value=i)}}yf(),zu(lh);const gf={data(){return{hasStatus:!1,userStatus:{status:null,message:null,icon:null}}},methods:{async fetchUserStatus(u){if(!u)return;const t=Al();if(!(!Object.prototype.hasOwnProperty.call(t,"user_status")||!t.user_status.enabled)&&D0())try{const{data:n}=await ct.get(Ot("apps/user_status/api/v1/statuses/{userId}",{userId:u})),{status:r,message:s,icon:i}=n.ocs.data;this.userStatus.status=r,this.userStatus.message=s||"",this.userStatus.icon=i||"",this.hasStatus=!0}catch(n){if(n.response.status===404&&n.response.data.ocs?.data?.length===0)return;console.error(n)}}}},Hl=Uh("nextcloud").persist().build();function Ef(u){const t=Hl.getItem("user-has-avatar."+u);return typeof t=="string"?!!t:null}function Ri(u,t){u&&Hl.setItem("user-has-avatar."+u,t)}const Cf={name:"NcAvatar",directives:{ClickOutside:ff},components:{DotsHorizontal:_h,NcActions:mh,NcButton:Ea,NcIconSvgWrapper:ch,NcLoadingIcon:dh,NcUserStatusIcon:R1},mixins:[gf],props:{url:{type:String,default:void 0},iconClass:{type:String,default:void 0},user:{type:String,default:void 0},hideStatus:{type:Boolean,default:!1},showUserStatus:{type:Boolean,default:!0},verboseStatus:{type:Boolean,default:!1},showUserStatusCompact:{type:Boolean,default:!0},preloadedUserStatus:{type:Object,default:void 0},isGuest:{type:Boolean,default:!1},displayName:{type:String,default:void 0},size:{type:Number,default:32},noPlaceholder:{type:Boolean,default:!1},allowPlaceholder:{type:Boolean,default:!0},disableTooltip:{type:Boolean,default:!1},disableMenu:{type:Boolean,default:!1},tooltipMessage:{type:String,default:null},isNoUser:{type:Boolean,default:!1},menuContainer:{type:[String,Object,Element,Boolean],default:"body"}},data(){return{avatarUrlLoaded:null,avatarSrcSetLoaded:null,userDoesNotExist:!1,isAvatarLoaded:!1,isMenuLoaded:!1,contactsMenuLoading:!1,contactsMenuData:{},contactsMenuActions:[],contactsMenuOpenState:!1}},computed:{avatarAriaLabel(){if(this.hasMenu)return this.canDisplayUserStatus||this.showUserStatusIconOnAvatar?ru("Avatar of {displayName}, {status}",{displayName:this.displayName??this.user,status:Ml(this.userStatus.status)}):ru("Avatar of {displayName}",{displayName:this.displayName??this.user})},canDisplayUserStatus(){return!this.hideStatus&&this.showUserStatus&&this.hasStatus&&["online","away","busy","dnd"].includes(this.userStatus.status)},showUserStatusIconOnAvatar(){return!this.hideStatus&&this.showUserStatus&&!this.verboseStatus&&this.showUserStatusCompact&&this.hasStatus&&this.userStatus.status!=="dnd"&&this.userStatus.icon},userIdentifier(){return this.isDisplayNameDefined?this.displayName:this.isUserDefined?this.user:""},isUserDefined(){return typeof this.user<"u"},isDisplayNameDefined(){return typeof this.displayName<"u"},isUrlDefined(){return typeof this.url<"u"},hasMenu(){return this.disableMenu?!1:this.isMenuLoaded?this.menu.length>0:!(this.user===D0()?.uid||this.userDoesNotExist||this.url)},showInitials(){return!this.noPlaceholder&&this.allowPlaceholder&&this.userDoesNotExist&&!(this.iconClass||this.$slots.icon)},avatarStyle(){return{"--size":this.size+"px",lineHeight:this.showInitials?this.size+"px":0,fontSize:Math.round(this.size*.45)+"px"}},initialsWrapperStyle(){const{r:u,g:t,b:n}=ji(this.userIdentifier);return{backgroundColor:`rgba(${u}, ${t}, ${n}, 0.1)`}},initialsStyle(){const{r:u,g:t,b:n}=ji(this.userIdentifier);return{color:`rgb(${u}, ${t}, ${n})`}},tooltip(){return this.disableTooltip?!1:this.tooltipMessage?this.tooltipMessage:this.displayName},initials(){let u="?";if(this.showInitials){const t=this.userIdentifier.trim();if(t==="")return u;const n=t.match(/[\p{L}\p{N}\s]/gu);if(n==null)return u;const r=n.join(""),s=r.lastIndexOf(" ");u=String.fromCodePoint(r.codePointAt(0)),s!==-1&&(u=u.concat(String.fromCodePoint(r.codePointAt(s+1))))}return u.toLocaleUpperCase()},menu(){const u=this.contactsMenuActions.map(n=>{const r=wa(this.$router,n.hyperlink);return{ncActionComponent:r?m1:i1,ncActionComponentProps:r?{to:r,icon:n.icon}:{href:n.hyperlink,icon:n.icon},text:n.title}});for(const n of X1(this.contactsMenuData))try{u.push({ncActionComponent:j1,ncActionComponentProps:{},ncActionComponentHandlers:{click:()=>n.callback(this.contactsMenuData)},text:n.displayName(this.contactsMenuData),iconSvg:n.iconSvg(this.contactsMenuData)})}catch(r){Q1.error(`Failed to render ContactsMenu action ${n.id}`,{error:r,action:n})}function t(n){const r=document.createTextNode(n),s=document.createElement("p");return s.appendChild(r),s.innerHTML}if(!this.hideStatus&&this.showUserStatus&&(this.userStatus.icon||this.userStatus.message)){const n=` +`;Nu(ih);const Cl=u=>{switch(u){case"away":return ru("away");case"busy":return ru("busy");case"dnd":return ru("do not disturb");case"online":return ru("online");case"invisible":return ru("invisible");case"offline":return ru("offline");default:return u}};Nu(oh);const L1={name:"NcUserStatusIcon",props:{user:{type:String,default:null},status:{type:String,default:null,validator:u=>["online","away","busy","dnd","invisible","offline"].includes(u)},ariaHidden:{type:String,default:null,validator:u=>["true","false"].includes(u)}},data(){return{fetchedUserStatus:null}},computed:{activeStatus(){return this.status??this.fetchedUserStatus},activeSvg(){return{online:C1,away:Ti,busy:Ti,dnd:M1,invisible:Si,offline:Si}[this.activeStatus]??null},ariaLabel(){return this.ariaHidden==="true"?null:ru("User status: {status}",{status:Cl(this.activeStatus)})}},watch:{user:{immediate:!0,async handler(u,t){if(!u||!Al()?.user_status?.enabled){this.fetchedUserStatus=null;return}try{const{data:n}=await mt.get(Pt("/apps/user_status/api/v1/statuses/{user}",{user:u}));this.fetchedUserStatus=n.ocs?.data?.status}catch{this.fetchedUserStatus=null}}}}};var v1=function(){var u=this,t=u._self._c;return u.activeStatus?t("span",{staticClass:"user-status-icon",class:{"user-status-icon--invisible":["invisible","offline"].includes(u.status)},attrs:{role:"img","aria-hidden":u.ariaHidden,"aria-label":u.ariaLabel},domProps:{innerHTML:u._s(u.activeSvg)}}):u._e()},B1=[],k1=Lu(L1,v1,B1,!1,null,"0555d8d0");const F1=k1.exports;Nu(lh);class Mu{constructor(t,n,r,s){this.r=t,this.g=n,this.b=r,s&&(this.name=s)}get color(){const t=n=>`00${n.toString(16)}`.slice(-2);return`#${t(this.r)}${t(this.g)}${t(this.b)}`}}function x1(u,t){const n=new Array(3);return n[0]=(t[1].r-t[0].r)/u,n[1]=(t[1].g-t[0].g)/u,n[2]=(t[1].b-t[0].b)/u,n}function wr(u,t,n){const r=[];r.push(t);const s=x1(u,[t,n]);for(let i=1;i>>32-r},rotr:function(n,r){return n<<32-r|n>>>r},endian:function(n){if(n.constructor==Number)return t.rotl(n,8)&16711935|t.rotl(n,24)&4278255360;for(var r=0;r0;n--)r.push(Math.floor(Math.random()*256));return r},bytesToWords:function(n){for(var r=[],s=0,i=0;s>>5]|=n[s]<<24-i%32;return r},wordsToBytes:function(n){for(var r=[],s=0;s>>5]>>>24-s%32&255);return r},bytesToHex:function(n){for(var r=[],s=0;s>>4).toString(16)),r.push((n[s]&15).toString(16));return r.join("")},hexToBytes:function(n){for(var r=[],s=0;s>>6*(3-o)&63)):r.push("=");return r.join("")},base64ToBytes:function(n){n=n.replace(/[^A-Z0-9+\/]/ig,"");for(var r=[],s=0,i=0;s>>6-i*2);return r}};Ll.exports=t})();var w1=Ll.exports,ra={utf8:{stringToBytes:function(u){return ra.bin.stringToBytes(unescape(encodeURIComponent(u)))},bytesToString:function(u){return decodeURIComponent(escape(ra.bin.bytesToString(u)))}},bin:{stringToBytes:function(u){for(var t=[],n=0;n>>24)&16711935|(d[D]<<24|d[D]>>>8)&4278255360;d[m>>>5]|=128<>>9<<4)+14]=m;for(var g=s._ff,A=s._gg,C=s._hh,B=s._ii,D=0;D>>0,f=f+T>>>0,h=h+O>>>0,E=E+W>>>0}return u.endian([_,f,h,E])};s._ff=function(i,o,d,m,_,f,h){var E=i+(o&d|~o&m)+(_>>>0)+h;return(E<>>32-f)+o},s._gg=function(i,o,d,m,_,f,h){var E=i+(o&m|d&~m)+(_>>>0)+h;return(E<>>32-f)+o},s._hh=function(i,o,d,m,_,f,h){var E=i+(o^d^m)+(_>>>0)+h;return(E<>>32-f)+o},s._ii=function(i,o,d,m,_,f,h){var E=i+(d^(o|~m))+(_>>>0)+h;return(E<>>32-f)+o},s._blocksize=16,s._digestsize=16,Ml.exports=function(i,o){if(i==null)throw new Error("Illegal argument "+i);var d=u.wordsToBytes(s(i,o));return o&&o.asBytes?d:o&&o.asString?r.bytesToString(d):u.bytesToHex(d)}})();var S1=Ml.exports;const H1=E0(S1),ji=function(u){let t=u.toLowerCase();t.match(/^([0-9a-f]{4}-?){8}$/)===null&&(t=H1(t)),t=t.replace(/[^0-9a-f]/g,"");const n=6,r=Y1(n);function s(i,o){let d=0;const m=[];for(let _=0;_{const r=window.getComputedStyle(document.body).getPropertyValue("--background-invert-if-dark")==="invert(100%)";return Ko("/avatar"+(n?"/guest":"")+"/{user}/{size}"+(r?"/dark":""),{user:u,size:t})},O1=Rh().detectUser().setApp("@nextcloud/vue").build();function P1(u){return window._nc_contacts_menu_hooks?Object.values(window._nc_contacts_menu_hooks).filter(t=>t.enabled(u)):[]}const xa=function(u){if(u==null)return z1;if(typeof u=="function")return kn(u);if(typeof u=="object")return Array.isArray(u)?I1(u):W1(u);if(typeof u=="string")return N1(u);throw new Error("Expected function, string, or object as test")};function I1(u){const t=[];let n=-1;for(;++n":""))+")"})}return E;function E(){let D=Bl,g,A,C;if((!t||i(m,_,f[f.length-1]||void 0))&&(D=V1(n(m,f)),D[0]===aa))return D;if("children"in m&&m.children){const B=m;if(B.children&&D[0]!==Ya)for(A=(r?B.children.length:-1)+o,C=f.concat(B);A>-1&&As.type==="text",(s,i,o)=>{let d=Fl(s.value);return d=d.map(m=>typeof m=="string"?m0("text",m):m0("link",{url:m.props.href},[m0("text",m.props.href)])).filter(m=>m),o.children.splice(i,1,...d.flat()),[Ya,i+d.flat().length]})}},Fl=u=>{let t=Pi.exec(u);const n=[];let r=0;for(;t!==null;){let i=t[2],o,d=u.substring(r,t.index+t[1].length);i[0]===" "&&(d+=i[0],i=i.substring(1).trim());const m=i[i.length-1];(m==="."||m===","||m===";"||t[0][0]==="("&&m===")")&&(i=i.substring(0,i.length-1),o=m),n.push(d),n.push({component:$1,props:{href:i}}),o&&n.push(o),r=t.index+t[0].length,t=Pi.exec(u)}n.push(u.substring(r));const s=n.map(i=>typeof i=="string"?i:i.props.href).join("");return u===s?n:(console.error("Failed to reassemble the chunked text: "+u),u)},wa=(u,t)=>{const n=(f,h)=>f.startsWith(h)?f.slice(h.length):f,r=(f,...h)=>h.reduce((E,D)=>n(E,D),f);if(!u)return null;const s=/^https?:\/\//.test(t),i=/^[a-z][a-z0-9+.-]*:.+/.test(t);if(!s&&i||s&&!t.startsWith(hi())||!s&&!t.startsWith("/"))return null;const o=s?r(t,hi(),"/index.php"):t,d=r(u.history.base,dh(),"/index.php"),m=r(o,d)||"/",_=u.resolve(m).route;return _.matched.length?_.fullPath:null},xl=se(Yl());window.addEventListener("resize",()=>{xl.value=Yl()});function Yl(){return window.outerHeight===window.screen.height}gn(xl);var q1={exports:{}};(function(u){(function(t){if(typeof n!="function"){var n=function(g){return g};n.nonNative=!0}const r=n("plaintext"),s=n("html"),i=n("comment"),o=/<(\w*)>/g,d=/<\/?([^\s\/>]+)/;function m(g,A,C){g=g||"",A=A||[],C=C||"";let B=f(A,C);return h(g,B)}function _(g,A){g=g||[],A=A||"";let C=f(g,A);return function(B){return h(B||"",C)}}m.init_streaming_mode=_;function f(g,A){return g=E(g),{allowable_tags:g,tag_replacement:A,state:r,tag_buffer:"",depth:0,in_quote_char:""}}function h(g,A){if(typeof g!="string")throw new TypeError("'html' parameter must be a string");let C=A.allowable_tags,B=A.tag_replacement,b=A.state,T=A.tag_buffer,O=A.depth,W=A.in_quote_char,Y="";for(let V=0,J=g.length;V":if(W)break;if(O){O--;break}W="",b=r,T+=">",C.has(D(T))?Y+=T:Y+=B,T="";break;case'"':case"'":$===W?W="":W=W||$,T+=$;break;case"-":T==="":T.slice(-2)=="--"&&(b=r),T="";break;default:T+=$;break}}return A.state=b,A.tag_buffer=T,A.depth=O,A.in_quote_char=W,Y}function E(g){let A=new Set;if(typeof g=="string"){let C;for(;C=o.exec(g);)A.add(C[1])}else!n.nonNative&&typeof g[n.iterator]=="function"?A=new Set(g):typeof g.forEach=="function"&&g.forEach(A.add,A);return A}function D(g){let A=d.exec(g);return A?A[1].toLowerCase():null}u.exports?u.exports=m:t.striptags=m})(Aa)})(q1),Zo.util.warn;function wl(u){return Hh()?(jh(u),!0):!1}function Xe(u){return typeof u=="function"?u():q0(u)}const Ii={mounted:"inserted",unmounted:"unbind"},bl=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const G1=Object.prototype.toString,K1=u=>G1.call(u)==="[object Object]",_0=()=>{},sa=Z1();function Z1(){var u,t;return bl&&((u=window?.navigator)==null?void 0:u.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window?.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window?.navigator.userAgent))}function Q1(...u){if(u.length!==1)return Oh(...u);const t=u[0];return typeof t=="function"?gn(Ph(()=>({get:t,set:_0}))):se(t)}const Tl=bl?window:void 0;function c0(u){var t;const n=Xe(u);return(t=n?.$el)!=null?t:n}function un(...u){let t,n,r,s;if(typeof u[0]=="string"||Array.isArray(u[0])?([n,r,s]=u,t=Tl):[t,n,r,s]=u,!t)return _0;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const i=[],o=()=>{i.forEach(f=>f()),i.length=0},d=(f,h,E,D)=>(f.addEventListener(h,E,D),()=>f.removeEventListener(h,E,D)),m=An(()=>[c0(t),Xe(s)],([f,h])=>{if(o(),!f)return;const E=K1(h)?{...h}:h;i.push(...n.flatMap(D=>r.map(g=>d(f,D,g,E))))},{immediate:!0,flush:"post"}),_=()=>{m(),o()};return wl(_),_}let Wi=!1;function Ni(u,t,n={}){const{window:r=Tl,ignore:s=[],capture:i=!0,detectIframe:o=!1}=n;if(!r)return _0;sa&&!Wi&&(Wi=!0,Array.from(r.document.body.children).forEach(g=>g.addEventListener("click",_0)),r.document.documentElement.addEventListener("click",_0));let d=!0;const m=g=>Xe(s).some(A=>{if(typeof A=="string")return Array.from(r.document.querySelectorAll(A)).some(C=>C===g.target||g.composedPath().includes(C));{const C=c0(A);return C&&(g.target===C||g.composedPath().includes(C))}});function _(g){const A=Xe(g);return A&&A.$.subTree.shapeFlag===16}function f(g,A){const C=Xe(g),B=C.$.subTree&&C.$.subTree.children;return B==null||!Array.isArray(B)?!1:B.some(b=>b.el===A.target||A.composedPath().includes(b.el))}const h=g=>{const A=c0(u);if(g.target!=null&&!(!(A instanceof Element)&&_(u)&&f(u,g))&&!(!A||A===g.target||g.composedPath().includes(A))){if(g.detail===0&&(d=!m(g)),!d){d=!0;return}t(g)}};let E=!1;const D=[un(r,"click",g=>{E||(E=!0,setTimeout(()=>{E=!1},0),h(g))},{passive:!0,capture:i}),un(r,"pointerdown",g=>{const A=c0(u);d=!m(g)&&!!(A&&!g.composedPath().includes(A))},{passive:!0}),o&&un(r,"blur",g=>{setTimeout(()=>{var A;const C=c0(u);((A=r.document.activeElement)==null?void 0:A.tagName)==="IFRAME"&&!C?.contains(r.document.activeElement)&&t(g)},0)})].filter(Boolean);return()=>D.forEach(g=>g())}const X1={[Ii.mounted](u,t){const n=!t.modifiers.bubble;if(typeof t.value=="function")u.__onClickOutside_stop=Ni(u,t.value,{capture:n});else{const[r,s]=t.value;u.__onClickOutside_stop=Ni(u,r,Object.assign({capture:n},s))}},[Ii.unmounted](u){u.__onClickOutside_stop()}};function br(u){return typeof Window<"u"&&u instanceof Window?u.document.documentElement:typeof Document<"u"&&u instanceof Document?u.documentElement:u}function Sl(u){const t=window.getComputedStyle(u);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&u.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}const Tr=new WeakMap;function ef(u,t=!1){const n=se(t);let r=null,s="";An(Q1(u),d=>{const m=br(Xe(d));if(m){const _=m;if(Tr.get(_)||Tr.set(_,_.style.overflow),_.style.overflow!=="hidden"&&(s=_.style.overflow),_.style.overflow==="hidden")return n.value=!0;if(n.value)return _.style.overflow="hidden"}},{immediate:!0});const i=()=>{const d=br(Xe(u));!d||n.value||(sa&&(r=un(d,"touchmove",m=>{uf(m)},{passive:!1})),d.style.overflow="hidden",n.value=!0)},o=()=>{const d=br(Xe(u));!d||!n.value||(sa&&r?.(),d.style.overflow=s,Tr.delete(d),n.value=!1)};return wl(o),Tu({get(){return n.value},set(d){d?i():o()}})}function tf(){let u=!1;const t=se(!1);return(n,r)=>{if(t.value=r.value,u)return;u=!0;const s=ef(n,r.value);An(t,i=>s.value=i)}}tf(),Nu(ch);const nf={data(){return{hasStatus:!1,userStatus:{status:null,message:null,icon:null}}},methods:{async fetchUserStatus(u){if(!u)return;const t=Al();if(!(!Object.prototype.hasOwnProperty.call(t,"user_status")||!t.user_status.enabled)&&D0())try{const{data:n}=await mt.get(Pt("apps/user_status/api/v1/statuses/{userId}",{userId:u})),{status:r,message:s,icon:i}=n.ocs.data;this.userStatus.status=r,this.userStatus.message=s||"",this.userStatus.icon=i||"",this.hasStatus=!0}catch(n){if(n.response.status===404&&n.response.data.ocs?.data?.length===0)return;console.error(n)}}}},Hl=Uh("nextcloud").persist().build();function rf(u){const t=Hl.getItem("user-has-avatar."+u);return typeof t=="string"?!!t:null}function zi(u,t){u&&Hl.setItem("user-has-avatar."+u,t)}const af={name:"NcAvatar",directives:{ClickOutside:X1},components:{DotsHorizontal:hh,NcActions:_h,NcButton:ga,NcIconSvgWrapper:Go,NcLoadingIcon:mh,NcUserStatusIcon:F1},mixins:[nf],props:{url:{type:String,default:void 0},iconClass:{type:String,default:void 0},user:{type:String,default:void 0},hideStatus:{type:Boolean,default:!1},showUserStatus:{type:Boolean,default:!0},verboseStatus:{type:Boolean,default:!1},showUserStatusCompact:{type:Boolean,default:!0},preloadedUserStatus:{type:Object,default:void 0},isGuest:{type:Boolean,default:!1},displayName:{type:String,default:void 0},size:{type:Number,default:32},noPlaceholder:{type:Boolean,default:!1},allowPlaceholder:{type:Boolean,default:!0},disableTooltip:{type:Boolean,default:!1},disableMenu:{type:Boolean,default:!1},tooltipMessage:{type:String,default:null},isNoUser:{type:Boolean,default:!1},menuContainer:{type:[String,Object,Element,Boolean],default:"body"}},data(){return{avatarUrlLoaded:null,avatarSrcSetLoaded:null,userDoesNotExist:!1,isAvatarLoaded:!1,isMenuLoaded:!1,contactsMenuLoading:!1,contactsMenuData:{},contactsMenuActions:[],contactsMenuOpenState:!1}},computed:{avatarAriaLabel(){if(this.hasMenu)return this.canDisplayUserStatus||this.showUserStatusIconOnAvatar?ru("Avatar of {displayName}, {status}",{displayName:this.displayName??this.user,status:Cl(this.userStatus.status)}):ru("Avatar of {displayName}",{displayName:this.displayName??this.user})},canDisplayUserStatus(){return!this.hideStatus&&this.showUserStatus&&this.hasStatus&&["online","away","busy","dnd"].includes(this.userStatus.status)},showUserStatusIconOnAvatar(){return!this.hideStatus&&this.showUserStatus&&!this.verboseStatus&&this.showUserStatusCompact&&this.hasStatus&&this.userStatus.status!=="dnd"&&this.userStatus.icon},userIdentifier(){return this.isDisplayNameDefined?this.displayName:this.isUserDefined?this.user:""},isUserDefined(){return typeof this.user<"u"},isDisplayNameDefined(){return typeof this.displayName<"u"},isUrlDefined(){return typeof this.url<"u"},hasMenu(){return this.disableMenu?!1:this.isMenuLoaded?this.menu.length>0:!(this.user===D0()?.uid||this.userDoesNotExist||this.url)},showInitials(){return!this.noPlaceholder&&this.allowPlaceholder&&this.userDoesNotExist&&!(this.iconClass||this.$slots.icon)},avatarStyle(){return{"--size":this.size+"px",lineHeight:this.showInitials?this.size+"px":0,fontSize:Math.round(this.size*.45)+"px"}},initialsWrapperStyle(){const{r:u,g:t,b:n}=ji(this.userIdentifier);return{backgroundColor:`rgba(${u}, ${t}, ${n}, 0.1)`}},initialsStyle(){const{r:u,g:t,b:n}=ji(this.userIdentifier);return{color:`rgb(${u}, ${t}, ${n})`}},tooltip(){return this.disableTooltip?!1:this.tooltipMessage?this.tooltipMessage:this.displayName},initials(){let u="?";if(this.showInitials){const t=this.userIdentifier.trim();if(t==="")return u;const n=t.match(/[\p{L}\p{N}\s]/gu);if(n==null)return u;const r=n.join(""),s=r.lastIndexOf(" ");u=String.fromCodePoint(r.codePointAt(0)),s!==-1&&(u=u.concat(String.fromCodePoint(r.codePointAt(s+1))))}return u.toLocaleUpperCase()},menu(){const u=this.contactsMenuActions.map(n=>{const r=wa(this.$router,n.hyperlink);return{ncActionComponent:r?c1:s1,ncActionComponentProps:r?{to:r,icon:n.icon}:{href:n.hyperlink,icon:n.icon},text:n.title}});for(const n of P1(this.contactsMenuData))try{u.push({ncActionComponent:A1,ncActionComponentProps:{},ncActionComponentHandlers:{click:()=>n.callback(this.contactsMenuData)},text:n.displayName(this.contactsMenuData),iconSvg:n.iconSvg(this.contactsMenuData)})}catch(r){O1.error(`Failed to render ContactsMenu action ${n.id}`,{error:r,action:n})}function t(n){const r=document.createTextNode(n),s=document.createElement("p");return s.appendChild(r),s.innerHTML}if(!this.hideStatus&&this.showUserStatus&&(this.userStatus.icon||this.userStatus.message)){const n=` ${t(this.userStatus.icon)} - `;return[{ncActionComponent:D1,ncActionComponentProps:{},iconSvg:this.userStatus.icon?n:void 0,text:`${this.userStatus.message}`}].concat(u)}return u}},watch:{url(){this.userDoesNotExist=!1,this.loadAvatarUrl()},user(){this.userDoesNotExist=!1,this.isMenuLoaded=!1,this.loadAvatarUrl()}},mounted(){this.loadAvatarUrl(),xr("settings:avatar:updated",this.loadAvatarUrl),xr("settings:display-name:updated",this.loadAvatarUrl),!this.hideStatus&&this.showUserStatus&&this.user&&!this.isNoUser&&(this.preloadedUserStatus?(this.userStatus.status=this.preloadedUserStatus.status||"",this.userStatus.message=this.preloadedUserStatus.message||"",this.userStatus.icon=this.preloadedUserStatus.icon||"",this.hasStatus=this.preloadedUserStatus.status!==null):this.fetchUserStatus(this.user),xr("user_status:status.updated",this.handleUserStatusUpdated))},beforeDestroy(){Fr("settings:avatar:updated",this.loadAvatarUrl),Fr("settings:display-name:updated",this.loadAvatarUrl),Fr("user_status:status.updated",this.handleUserStatusUpdated)},methods:{t:ru,handleUserStatusUpdated(u){this.user===u.userId&&(this.userStatus={status:u.status,icon:u.icon,message:u.message})},async toggleMenu(u){u.type==="keydown"&&u.key!=="Enter"||(this.contactsMenuOpenState||await this.fetchContactsMenu(),this.contactsMenuOpenState=!this.contactsMenuOpenState)},closeMenu(){this.contactsMenuOpenState=!1},async fetchContactsMenu(){this.contactsMenuLoading=!0;try{const u=encodeURIComponent(this.user),{data:t}=await ct.post(Ko("contactsmenu/findOne"),`shareType=0&shareWith=${u}`);this.contactsMenuData=t,this.contactsMenuActions=t.topAction?[t.topAction].concat(t.actions):t.actions}catch{this.contactsMenuOpenState=!1}this.contactsMenuLoading=!1,this.isMenuLoaded=!0},loadAvatarUrl(){if(this.isAvatarLoaded=!1,!this.isUrlDefined&&(!this.isUserDefined||this.isNoUser||this.iconClass)){this.isAvatarLoaded=!0,this.userDoesNotExist=!0;return}if(this.isUrlDefined){this.updateImageIfValid(this.url);return}if(this.size<=64){const u=this.avatarUrlGenerator(this.user,64),t=[u+" 1x",this.avatarUrlGenerator(this.user,512)+" 8x"].join(", ");this.updateImageIfValid(u,t)}else{const u=this.avatarUrlGenerator(this.user,512);this.updateImageIfValid(u)}},avatarUrlGenerator(u,t){let n=Z1(u,t,this.isGuest);return u===D0()?.uid&&typeof oc_userconfig<"u"&&(n+="?v="+oc_userconfig.avatar.version),n},updateImageIfValid(u,t=null){const n=Ef(this.user);if(this.isUserDefined&&typeof n=="boolean"){this.isAvatarLoaded=!0,this.avatarUrlLoaded=u,t&&(this.avatarSrcSetLoaded=t),n===!1&&(this.userDoesNotExist=!0);return}const r=new Image;r.onload=()=>{this.avatarUrlLoaded=u,t&&(this.avatarSrcSetLoaded=t),this.isAvatarLoaded=!0,Ri(this.user,!0)},r.onerror=()=>{console.debug("Invalid avatar url",u),this.avatarUrlLoaded=null,this.avatarSrcSetLoaded=null,this.userDoesNotExist=!0,this.isAvatarLoaded=!1,Ri(this.user,!1)},t&&(r.srcset=t),r.src=u}}};var Af=function(){var u=this,t=u._self._c;return t("span",{directives:[{name:"click-outside",rawName:"v-click-outside",value:u.closeMenu,expression:"closeMenu"}],ref:"main",staticClass:"avatardiv popovermenu-wrapper",class:{"avatardiv--unknown":u.userDoesNotExist,"avatardiv--with-menu":u.hasMenu,"avatardiv--with-menu-loading":u.contactsMenuLoading},style:u.avatarStyle,attrs:{title:u.tooltip}},[u._t("icon",function(){return[u.iconClass?t("span",{staticClass:"avatar-class-icon",class:u.iconClass}):u.isAvatarLoaded&&!u.userDoesNotExist?t("img",{attrs:{src:u.avatarUrlLoaded,srcset:u.avatarSrcSetLoaded,alt:""}}):u._e()]}),u.hasMenu&&u.menu.length===0?t("NcButton",{staticClass:"action-item action-item__menutoggle",attrs:{"aria-label":u.avatarAriaLabel,variant:"tertiary-no-background"},on:{click:u.toggleMenu},scopedSlots:u._u([{key:"icon",fn:function(){return[u.contactsMenuLoading?t("NcLoadingIcon"):t("DotsHorizontal",{attrs:{size:20}})]},proxy:!0}],null,!1,2617833509)}):u.hasMenu?t("NcActions",{attrs:{"aria-label":u.avatarAriaLabel,container:u.menuContainer,"force-menu":"","manual-open":"",open:u.contactsMenuOpenState,variant:"tertiary-no-background"},on:{"update:open":function(n){u.contactsMenuOpenState=n},click:u.toggleMenu},scopedSlots:u._u([u.contactsMenuLoading?{key:"icon",fn:function(){return[t("NcLoadingIcon")]},proxy:!0}:null],null,!0)},u._l(u.menu,function(n,r){return t(n.ncActionComponent,u._g(u._b({key:r,tag:"component",scopedSlots:u._u([n.iconSvg?{key:"icon",fn:function(){return[t("NcIconSvgWrapper",{attrs:{svg:n.iconSvg}})]},proxy:!0}:null],null,!0)},"component",n.ncActionComponentProps,!1),n.ncActionComponentHandlers),[u._v(" "+u._s(n.text)+" ")])}),1):u._e(),u.showUserStatusIconOnAvatar?t("span",{staticClass:"avatardiv__user-status avatardiv__user-status--icon"},[u._v(" "+u._s(u.userStatus.icon)+" ")]):u.canDisplayUserStatus?t("NcUserStatusIcon",{staticClass:"avatardiv__user-status",attrs:{status:u.userStatus.status,"aria-hidden":String(u.hasMenu)}}):u._e(),u.showInitials?t("span",{staticClass:"avatardiv__initials-wrapper",style:u.initialsWrapperStyle},[t("span",{staticClass:"avatardiv__initials",style:u.initialsStyle},[u._v(" "+u._s(u.initials)+" ")])]):u._e()],2)},Mf=[],Lf=Cu(Cf,Af,Mf,!1,null,"f132fa9c");const ba=Lf.exports;zu(hh);const vf={long:ru("a few seconds ago"),short:ru("seconds ago"),narrow:ru("sec. ago")};function Bf(u=Date.now(),t={}){const n=se(Date.now());let r;const s=se({format:{timeStyle:"medium",dateStyle:"short"},relativeTime:"long",ignoreSeconds:!1,...q0(t)}),i=Tu(()=>({...q0(t),...s.value})),o=Tu(()=>new Date(q0(u))),d=Tu(()=>new Intl.DateTimeFormat(Ih(),i.value.format).format(o.value)),m=Tu(()=>{if(i.value.relativeTime!==!1){const _=new Intl.RelativeTimeFormat(Wh(),{numeric:"auto",style:i.value.relativeTime}),f=(o.value.getTime()-n.value)/1e3;if(Math.abs(f)<59.5)return i.value.ignoreSeconds?vf[i.value.relativeTime]:_.format(Math.round(f),"second");const h=f/60;if(Math.abs(h)<=59)return _.format(Math.round(h),"minute");const g=h/60;if(Math.abs(g)<23.5)return _.format(Math.round(g),"hour");const D=g/24;if(Math.abs(D)<6.5)return _.format(Math.round(D),"day");if(Math.abs(D)<27.5){const C=D/7;return _.format(Math.round(C),"week")}const E=D/30;return Math.abs(E)<11.5?_.format(Math.round(E),"month"):_.format(Math.round(D/365),"year")}return d.value});return Cn([i],()=>{window.clearInterval(r),r=void 0,i.value.relativeTime&&(r=window.setInterval(()=>{n.value=Date.now()},1e3))}),Qo(()=>{i.value.relativeTime!==!1&&(r=window.setInterval(()=>{n.value=Date.now()},1e3))}),Xo(()=>{window.clearInterval(r)}),{formattedTime:m,formattedFullTime:d,options:s}}const kf={name:"NcDateTime",props:{timestamp:{type:[Date,Number],required:!0},format:{type:Object,default:()=>({timeStyle:"medium",dateStyle:"short"})},relativeTime:{type:[Boolean,String],default:"long",validator:u=>u===!1||["long","short","narrow"].includes(u)},ignoreSeconds:{type:Boolean,default:!1}},setup(u){const t=Tu(()=>u.timestamp),{formattedTime:n,formattedFullTime:r}=Bf(t,u);return{formattedTime:n,formattedFullTime:r}}};var Ff=function(){var u=this,t=u._self._c;return t("span",{staticClass:"nc-datetime",attrs:{"data-timestamp":u.timestamp,title:u.formattedFullTime},domProps:{textContent:u._s(u.formattedTime)}})},xf=[],Yf=Cu(kf,Ff,xf,!1,null,null);const jl=Yf.exports;window._vue_richtext_widgets||(window._vue_richtext_widgets={});const Ui=u=>!!window._vue_richtext_widgets[u],wf=u=>!!window._vue_richtext_widgets[u]?.hasInteractiveView,bf=u=>!!window._vue_richtext_widgets[u]?.fullWidth,Tf=(u,t,n=s=>{},r)=>{const s={hasInteractiveView:!0,fullWidth:!1,...r};if(window._vue_richtext_widgets[u]){console.error("Widget for id "+u+" already registered");return}window._vue_richtext_widgets[u]={id:u,callback:t,onDestroy:n,...s}},Sf=(u,{richObjectType:t,richObject:n,accessible:r,interactive:s})=>{if(t!=="open-graph"){if(!window._vue_richtext_widgets[t]){console.error("Widget for rich object type "+t+" not registered");return}window._vue_richtext_widgets[t].callback(u,{richObjectType:t,richObject:n,accessible:r,interactive:s})}},Hf=(u,t)=>{u!=="open-graph"&&window._vue_richtext_widgets[u]&&window._vue_richtext_widgets[u].onDestroy(t)};window._registerWidget=(u,t,n,r)=>{Tf(u,t,n,r)},window._vue_richtext_custom_picker_elements||(window._vue_richtext_custom_picker_elements={});const jf=(u,t,n=s=>{},r="large")=>{if(window._vue_richtext_custom_picker_elements[u]){console.error("Custom reference picker element for id "+u+" already registered");return}window._vue_richtext_custom_picker_elements[u]={id:u,callback:t,onDestroy:n,size:r}};window._registerCustomPickerElement=jf;var Ol={exports:{}};(function(u,t){(function(n,r){u.exports=r()})(typeof self<"u"?self:Ca,function(){return(()=>{var n={646:o=>{o.exports=function(d){if(Array.isArray(d)){for(var m=0,_=new Array(d.length);m{o.exports=function(d,m,_){return m in d?Object.defineProperty(d,m,{value:_,enumerable:!0,configurable:!0,writable:!0}):d[m]=_,d}},860:o=>{o.exports=function(d){if(Symbol.iterator in Object(d)||Object.prototype.toString.call(d)==="[object Arguments]")return Array.from(d)}},206:o=>{o.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}},319:(o,d,m)=>{var _=m(646),f=m(860),h=m(206);o.exports=function(g){return _(g)||f(g)||h()}},8:o=>{function d(m){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?o.exports=d=function(_){return typeof _}:o.exports=d=function(_){return _&&typeof Symbol=="function"&&_.constructor===Symbol&&_!==Symbol.prototype?"symbol":typeof _},d(m)}o.exports=d}},r={};function s(o){var d=r[o];if(d!==void 0)return d.exports;var m=r[o]={exports:{}};return n[o](m,m.exports,s),m.exports}s.n=o=>{var d=o&&o.__esModule?()=>o.default:()=>o;return s.d(d,{a:d}),d},s.d=(o,d)=>{for(var m in d)s.o(d,m)&&!s.o(o,m)&&Object.defineProperty(o,m,{enumerable:!0,get:d[m]})},s.o=(o,d)=>Object.prototype.hasOwnProperty.call(o,d),s.r=o=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})};var i={};return(()=>{s.r(i),s.d(i,{VueSelect:()=>V,default:()=>$,mixins:()=>J});var o=s(319),d=s.n(o),m=s(8),_=s.n(m),f=s(713),h=s.n(f);const g={props:{autoscroll:{type:Boolean,default:!0}},watch:{typeAheadPointer:function(){this.autoscroll&&this.maybeAdjustScroll()},open:function(y){var k=this;this.autoscroll&&y&&this.$nextTick(function(){return k.maybeAdjustScroll()})}},methods:{maybeAdjustScroll:function(){var y,k=((y=this.$refs.dropdownMenu)===null||y===void 0?void 0:y.children[this.typeAheadPointer])||!1;if(k){var F=this.getDropdownViewport(),S=k.getBoundingClientRect(),U=S.top,I=S.bottom,su=S.height;if(UF.bottom)return this.$refs.dropdownMenu.scrollTop=k.offsetTop-(F.height-su)}},getDropdownViewport:function(){return this.$refs.dropdownMenu?this.$refs.dropdownMenu.getBoundingClientRect():{height:0,top:0,bottom:0}}}},D={data:function(){return{typeAheadPointer:-1}},watch:{filteredOptions:function(){if(this.resetFocusOnOptionsChange){for(var y=0;y=0;y--)if(this.selectable(this.filteredOptions[y])){this.typeAheadPointer=y;break}},typeAheadDown:function(){for(var y=this.typeAheadPointer+1;y0&&arguments[0]!==void 0?arguments[0]:null;return this.mutableLoading=y??!this.mutableLoading}}};function C(y,k,F,S,U,I,su,mu){var Au,gu=typeof y=="function"?y.options:y;return k&&(gu.render=k,gu.staticRenderFns=F,gu._compiled=!0),{exports:y,options:gu}}const A={Deselect:C({},function(){var y=this.$createElement,k=this._self._c||y;return k("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"10",height:"10"}},[k("path",{attrs:{d:"M6.895455 5l2.842897-2.842898c.348864-.348863.348864-.914488 0-1.263636L9.106534.261648c-.348864-.348864-.914489-.348864-1.263636 0L5 3.104545 2.157102.261648c-.348863-.348864-.914488-.348864-1.263636 0L.261648.893466c-.348864.348864-.348864.914489 0 1.263636L3.104545 5 .261648 7.842898c-.348864.348863-.348864.914488 0 1.263636l.631818.631818c.348864.348864.914773.348864 1.263636 0L5 6.895455l2.842898 2.842897c.348863.348864.914772.348864 1.263636 0l.631818-.631818c.348864-.348864.348864-.914489 0-1.263636L6.895455 5z"}})])},[]).exports,OpenIndicator:C({},function(){var y=this.$createElement,k=this._self._c||y;return k("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"10"}},[k("path",{attrs:{d:"M9.211364 7.59931l4.48338-4.867229c.407008-.441854.407008-1.158247 0-1.60046l-.73712-.80023c-.407008-.441854-1.066904-.441854-1.474243 0L7 5.198617 2.51662.33139c-.407008-.441853-1.066904-.441853-1.474243 0l-.737121.80023c-.407008.441854-.407008 1.158248 0 1.600461l4.48338 4.867228L7 10l2.211364-2.40069z"}})])},[]).exports},B={inserted:function(y,k,F){var S=F.context;if(S.appendToBody){document.body.appendChild(y);var U=S.$refs.toggle.getBoundingClientRect(),I=U.height,su=U.top,mu=U.left,Au=U.width,gu=window.scrollX||window.pageXOffset,L=window.scrollY||window.pageYOffset;y.unbindPosition=S.calculatePosition(y,S,{width:Au+"px",left:gu+mu+"px",top:L+su+I+"px"})}},unbind:function(y,k,F){F.context.appendToBody&&(y.unbindPosition&&typeof y.unbindPosition=="function"&&y.unbindPosition(),y.parentNode&&y.parentNode.removeChild(y))}},b=function(y){var k={};return Object.keys(y).sort().forEach(function(F){k[F]=y[F]}),JSON.stringify(k)};var T=0;const O=function(){return++T};function W(y,k){var F=Object.keys(y);if(Object.getOwnPropertySymbols){var S=Object.getOwnPropertySymbols(y);k&&(S=S.filter(function(U){return Object.getOwnPropertyDescriptor(y,U).enumerable})),F.push.apply(F,S)}return F}function Y(y){for(var k=1;k`;return[{ncActionComponent:p1,ncActionComponentProps:{},iconSvg:this.userStatus.icon?n:void 0,text:`${this.userStatus.message}`}].concat(u)}return u}},watch:{url(){this.userDoesNotExist=!1,this.loadAvatarUrl()},user(){this.userDoesNotExist=!1,this.isMenuLoaded=!1,this.loadAvatarUrl()}},mounted(){this.loadAvatarUrl(),xr("settings:avatar:updated",this.loadAvatarUrl),xr("settings:display-name:updated",this.loadAvatarUrl),!this.hideStatus&&this.showUserStatus&&this.user&&!this.isNoUser&&(this.preloadedUserStatus?(this.userStatus.status=this.preloadedUserStatus.status||"",this.userStatus.message=this.preloadedUserStatus.message||"",this.userStatus.icon=this.preloadedUserStatus.icon||"",this.hasStatus=this.preloadedUserStatus.status!==null):this.fetchUserStatus(this.user),xr("user_status:status.updated",this.handleUserStatusUpdated))},beforeDestroy(){Fr("settings:avatar:updated",this.loadAvatarUrl),Fr("settings:display-name:updated",this.loadAvatarUrl),Fr("user_status:status.updated",this.handleUserStatusUpdated)},methods:{t:ru,handleUserStatusUpdated(u){this.user===u.userId&&(this.userStatus={status:u.status,icon:u.icon,message:u.message})},async toggleMenu(u){u.type==="keydown"&&u.key!=="Enter"||(this.contactsMenuOpenState||await this.fetchContactsMenu(),this.contactsMenuOpenState=!this.contactsMenuOpenState)},closeMenu(){this.contactsMenuOpenState=!1},async fetchContactsMenu(){this.contactsMenuLoading=!0;try{const u=encodeURIComponent(this.user),{data:t}=await mt.post(Ko("contactsmenu/findOne"),`shareType=0&shareWith=${u}`);this.contactsMenuData=t,this.contactsMenuActions=t.topAction?[t.topAction].concat(t.actions):t.actions}catch{this.contactsMenuOpenState=!1}this.contactsMenuLoading=!1,this.isMenuLoaded=!0},loadAvatarUrl(){if(this.isAvatarLoaded=!1,!this.isUrlDefined&&(!this.isUserDefined||this.isNoUser||this.iconClass)){this.isAvatarLoaded=!0,this.userDoesNotExist=!0;return}if(this.isUrlDefined){this.updateImageIfValid(this.url);return}if(this.size<=64){const u=this.avatarUrlGenerator(this.user,64),t=[u+" 1x",this.avatarUrlGenerator(this.user,512)+" 8x"].join(", ");this.updateImageIfValid(u,t)}else{const u=this.avatarUrlGenerator(this.user,512);this.updateImageIfValid(u)}},avatarUrlGenerator(u,t){let n=j1(u,t,this.isGuest);return u===D0()?.uid&&typeof oc_userconfig<"u"&&(n+="?v="+oc_userconfig.avatar.version),n},updateImageIfValid(u,t=null){const n=rf(this.user);if(this.isUserDefined&&typeof n=="boolean"){this.isAvatarLoaded=!0,this.avatarUrlLoaded=u,t&&(this.avatarSrcSetLoaded=t),n===!1&&(this.userDoesNotExist=!0);return}const r=new Image;r.onload=()=>{this.avatarUrlLoaded=u,t&&(this.avatarSrcSetLoaded=t),this.isAvatarLoaded=!0,zi(this.user,!0)},r.onerror=()=>{console.debug("Invalid avatar url",u),this.avatarUrlLoaded=null,this.avatarSrcSetLoaded=null,this.userDoesNotExist=!0,this.isAvatarLoaded=!1,zi(this.user,!1)},t&&(r.srcset=t),r.src=u}}};var sf=function(){var u=this,t=u._self._c;return t("span",{directives:[{name:"click-outside",rawName:"v-click-outside",value:u.closeMenu,expression:"closeMenu"}],ref:"main",staticClass:"avatardiv popovermenu-wrapper",class:{"avatardiv--unknown":u.userDoesNotExist,"avatardiv--with-menu":u.hasMenu,"avatardiv--with-menu-loading":u.contactsMenuLoading},style:u.avatarStyle,attrs:{title:u.tooltip}},[u._t("icon",function(){return[u.iconClass?t("span",{staticClass:"avatar-class-icon",class:u.iconClass}):u.isAvatarLoaded&&!u.userDoesNotExist?t("img",{attrs:{src:u.avatarUrlLoaded,srcset:u.avatarSrcSetLoaded,alt:""}}):u._e()]}),u.hasMenu&&u.menu.length===0?t("NcButton",{staticClass:"action-item action-item__menutoggle",attrs:{"aria-label":u.avatarAriaLabel,variant:"tertiary-no-background"},on:{click:u.toggleMenu},scopedSlots:u._u([{key:"icon",fn:function(){return[u.contactsMenuLoading?t("NcLoadingIcon"):t("DotsHorizontal",{attrs:{size:20}})]},proxy:!0}],null,!1,2617833509)}):u.hasMenu?t("NcActions",{attrs:{"aria-label":u.avatarAriaLabel,container:u.menuContainer,"force-menu":"","manual-open":"",open:u.contactsMenuOpenState,variant:"tertiary-no-background"},on:{"update:open":function(n){u.contactsMenuOpenState=n},click:u.toggleMenu},scopedSlots:u._u([u.contactsMenuLoading?{key:"icon",fn:function(){return[t("NcLoadingIcon")]},proxy:!0}:null],null,!0)},u._l(u.menu,function(n,r){return t(n.ncActionComponent,u._g(u._b({key:r,tag:"component",scopedSlots:u._u([n.iconSvg?{key:"icon",fn:function(){return[t("NcIconSvgWrapper",{attrs:{svg:n.iconSvg}})]},proxy:!0}:null],null,!0)},"component",n.ncActionComponentProps,!1),n.ncActionComponentHandlers),[u._v(" "+u._s(n.text)+" ")])}),1):u._e(),u.showUserStatusIconOnAvatar?t("span",{staticClass:"avatardiv__user-status avatardiv__user-status--icon"},[u._v(" "+u._s(u.userStatus.icon)+" ")]):u.canDisplayUserStatus?t("NcUserStatusIcon",{staticClass:"avatardiv__user-status",attrs:{status:u.userStatus.status,"aria-hidden":String(u.hasMenu)}}):u._e(),u.showInitials?t("span",{staticClass:"avatardiv__initials-wrapper",style:u.initialsWrapperStyle},[t("span",{staticClass:"avatardiv__initials",style:u.initialsStyle},[u._v(" "+u._s(u.initials)+" ")])]):u._e()],2)},of=[],lf=Lu(af,sf,of,!1,null,"f132fa9c");const ba=lf.exports;Nu(fh);const df={long:ru("a few seconds ago"),short:ru("seconds ago"),narrow:ru("sec. ago")};function cf(u=Date.now(),t={}){const n=se(Date.now());let r;const s=se({format:{timeStyle:"medium",dateStyle:"short"},relativeTime:"long",ignoreSeconds:!1,...q0(t)}),i=Tu(()=>({...q0(t),...s.value})),o=Tu(()=>new Date(q0(u))),d=Tu(()=>new Intl.DateTimeFormat(Ih(),i.value.format).format(o.value)),m=Tu(()=>{if(i.value.relativeTime!==!1){const _=new Intl.RelativeTimeFormat(Wh(),{numeric:"auto",style:i.value.relativeTime}),f=(o.value.getTime()-n.value)/1e3;if(Math.abs(f)<59.5)return i.value.ignoreSeconds?df[i.value.relativeTime]:_.format(Math.round(f),"second");const h=f/60;if(Math.abs(h)<=59)return _.format(Math.round(h),"minute");const E=h/60;if(Math.abs(E)<23.5)return _.format(Math.round(E),"hour");const D=E/24;if(Math.abs(D)<6.5)return _.format(Math.round(D),"day");if(Math.abs(D)<27.5){const A=D/7;return _.format(Math.round(A),"week")}const g=D/30;return Math.abs(g)<11.5?_.format(Math.round(g),"month"):_.format(Math.round(D/365),"year")}return d.value});return An([i],()=>{window.clearInterval(r),r=void 0,i.value.relativeTime&&(r=window.setInterval(()=>{n.value=Date.now()},1e3))}),Qo(()=>{i.value.relativeTime!==!1&&(r=window.setInterval(()=>{n.value=Date.now()},1e3))}),Xo(()=>{window.clearInterval(r)}),{formattedTime:m,formattedFullTime:d,options:s}}const mf={name:"NcDateTime",props:{timestamp:{type:[Date,Number],required:!0},format:{type:Object,default:()=>({timeStyle:"medium",dateStyle:"short"})},relativeTime:{type:[Boolean,String],default:"long",validator:u=>u===!1||["long","short","narrow"].includes(u)},ignoreSeconds:{type:Boolean,default:!1}},setup(u){const t=Tu(()=>u.timestamp),{formattedTime:n,formattedFullTime:r}=cf(t,u);return{formattedTime:n,formattedFullTime:r}}};var _f=function(){var u=this,t=u._self._c;return t("span",{staticClass:"nc-datetime",attrs:{"data-timestamp":u.timestamp,title:u.formattedFullTime},domProps:{textContent:u._s(u.formattedTime)}})},hf=[],ff=Lu(mf,_f,hf,!1,null,null);const jl=ff.exports;window._vue_richtext_widgets||(window._vue_richtext_widgets={});const Ri=u=>!!window._vue_richtext_widgets[u],pf=u=>!!window._vue_richtext_widgets[u]?.hasInteractiveView,Df=u=>!!window._vue_richtext_widgets[u]?.fullWidth,yf=(u,t,n=s=>{},r)=>{const s={hasInteractiveView:!0,fullWidth:!1,...r};if(window._vue_richtext_widgets[u]){console.error("Widget for id "+u+" already registered");return}window._vue_richtext_widgets[u]={id:u,callback:t,onDestroy:n,...s}},Ef=(u,{richObjectType:t,richObject:n,accessible:r,interactive:s})=>{if(t!=="open-graph"){if(!window._vue_richtext_widgets[t]){console.error("Widget for rich object type "+t+" not registered");return}window._vue_richtext_widgets[t].callback(u,{richObjectType:t,richObject:n,accessible:r,interactive:s})}},gf=(u,t)=>{u!=="open-graph"&&window._vue_richtext_widgets[u]&&window._vue_richtext_widgets[u].onDestroy(t)};window._registerWidget=(u,t,n,r)=>{yf(u,t,n,r)},window._vue_richtext_custom_picker_elements||(window._vue_richtext_custom_picker_elements={});const Af=(u,t,n=s=>{},r="large")=>{if(window._vue_richtext_custom_picker_elements[u]){console.error("Custom reference picker element for id "+u+" already registered");return}window._vue_richtext_custom_picker_elements[u]={id:u,callback:t,onDestroy:n,size:r}};window._registerCustomPickerElement=Af;var Ol={exports:{}};(function(u,t){(function(n,r){u.exports=r()})(typeof self<"u"?self:Aa,function(){return(()=>{var n={646:o=>{o.exports=function(d){if(Array.isArray(d)){for(var m=0,_=new Array(d.length);m{o.exports=function(d,m,_){return m in d?Object.defineProperty(d,m,{value:_,enumerable:!0,configurable:!0,writable:!0}):d[m]=_,d}},860:o=>{o.exports=function(d){if(Symbol.iterator in Object(d)||Object.prototype.toString.call(d)==="[object Arguments]")return Array.from(d)}},206:o=>{o.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}},319:(o,d,m)=>{var _=m(646),f=m(860),h=m(206);o.exports=function(E){return _(E)||f(E)||h()}},8:o=>{function d(m){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?o.exports=d=function(_){return typeof _}:o.exports=d=function(_){return _&&typeof Symbol=="function"&&_.constructor===Symbol&&_!==Symbol.prototype?"symbol":typeof _},d(m)}o.exports=d}},r={};function s(o){var d=r[o];if(d!==void 0)return d.exports;var m=r[o]={exports:{}};return n[o](m,m.exports,s),m.exports}s.n=o=>{var d=o&&o.__esModule?()=>o.default:()=>o;return s.d(d,{a:d}),d},s.d=(o,d)=>{for(var m in d)s.o(d,m)&&!s.o(o,m)&&Object.defineProperty(o,m,{enumerable:!0,get:d[m]})},s.o=(o,d)=>Object.prototype.hasOwnProperty.call(o,d),s.r=o=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})};var i={};return(()=>{s.r(i),s.d(i,{VueSelect:()=>V,default:()=>$,mixins:()=>J});var o=s(319),d=s.n(o),m=s(8),_=s.n(m),f=s(713),h=s.n(f);const E={props:{autoscroll:{type:Boolean,default:!0}},watch:{typeAheadPointer:function(){this.autoscroll&&this.maybeAdjustScroll()},open:function(y){var k=this;this.autoscroll&&y&&this.$nextTick(function(){return k.maybeAdjustScroll()})}},methods:{maybeAdjustScroll:function(){var y,k=((y=this.$refs.dropdownMenu)===null||y===void 0?void 0:y.children[this.typeAheadPointer])||!1;if(k){var F=this.getDropdownViewport(),S=k.getBoundingClientRect(),U=S.top,I=S.bottom,su=S.height;if(UF.bottom)return this.$refs.dropdownMenu.scrollTop=k.offsetTop-(F.height-su)}},getDropdownViewport:function(){return this.$refs.dropdownMenu?this.$refs.dropdownMenu.getBoundingClientRect():{height:0,top:0,bottom:0}}}},D={data:function(){return{typeAheadPointer:-1}},watch:{filteredOptions:function(){if(this.resetFocusOnOptionsChange){for(var y=0;y=0;y--)if(this.selectable(this.filteredOptions[y])){this.typeAheadPointer=y;break}},typeAheadDown:function(){for(var y=this.typeAheadPointer+1;y0&&arguments[0]!==void 0?arguments[0]:null;return this.mutableLoading=y??!this.mutableLoading}}};function A(y,k,F,S,U,I,su,mu){var Au,Eu=typeof y=="function"?y.options:y;return k&&(Eu.render=k,Eu.staticRenderFns=F,Eu._compiled=!0),{exports:y,options:Eu}}const C={Deselect:A({},function(){var y=this.$createElement,k=this._self._c||y;return k("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"10",height:"10"}},[k("path",{attrs:{d:"M6.895455 5l2.842897-2.842898c.348864-.348863.348864-.914488 0-1.263636L9.106534.261648c-.348864-.348864-.914489-.348864-1.263636 0L5 3.104545 2.157102.261648c-.348863-.348864-.914488-.348864-1.263636 0L.261648.893466c-.348864.348864-.348864.914489 0 1.263636L3.104545 5 .261648 7.842898c-.348864.348863-.348864.914488 0 1.263636l.631818.631818c.348864.348864.914773.348864 1.263636 0L5 6.895455l2.842898 2.842897c.348863.348864.914772.348864 1.263636 0l.631818-.631818c.348864-.348864.348864-.914489 0-1.263636L6.895455 5z"}})])},[]).exports,OpenIndicator:A({},function(){var y=this.$createElement,k=this._self._c||y;return k("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"10"}},[k("path",{attrs:{d:"M9.211364 7.59931l4.48338-4.867229c.407008-.441854.407008-1.158247 0-1.60046l-.73712-.80023c-.407008-.441854-1.066904-.441854-1.474243 0L7 5.198617 2.51662.33139c-.407008-.441853-1.066904-.441853-1.474243 0l-.737121.80023c-.407008.441854-.407008 1.158248 0 1.600461l4.48338 4.867228L7 10l2.211364-2.40069z"}})])},[]).exports},B={inserted:function(y,k,F){var S=F.context;if(S.appendToBody){document.body.appendChild(y);var U=S.$refs.toggle.getBoundingClientRect(),I=U.height,su=U.top,mu=U.left,Au=U.width,Eu=window.scrollX||window.pageXOffset,L=window.scrollY||window.pageYOffset;y.unbindPosition=S.calculatePosition(y,S,{width:Au+"px",left:Eu+mu+"px",top:L+su+I+"px"})}},unbind:function(y,k,F){F.context.appendToBody&&(y.unbindPosition&&typeof y.unbindPosition=="function"&&y.unbindPosition(),y.parentNode&&y.parentNode.removeChild(y))}},b=function(y){var k={};return Object.keys(y).sort().forEach(function(F){k[F]=y[F]}),JSON.stringify(k)};var T=0;const O=function(){return++T};function W(y,k){var F=Object.keys(y);if(Object.getOwnPropertySymbols){var S=Object.getOwnPropertySymbols(y);k&&(S=S.filter(function(U){return Object.getOwnPropertyDescriptor(y,U).enumerable})),F.push.apply(F,S)}return F}function Y(y){for(var k=1;k-1}},filter:{type:Function,default:function(y,k){var F=this;return y.filter(function(S){var U=F.getOptionLabel(S);return typeof U=="number"&&(U=U.toString()),F.filterBy(S,U,k)})}},createOption:{type:Function,default:function(y){return _()(this.optionList[0])==="object"?h()({},this.label,y):y}},resetFocusOnOptionsChange:{type:Boolean,default:!0},resetOnOptionsChange:{default:!1,validator:function(y){return["function","boolean"].includes(_()(y))}},clearSearchOnBlur:{type:Function,default:function(y){var k=y.clearSearchOnSelect,F=y.multiple;return k&&!F}},noDrop:{type:Boolean,default:!1},inputId:{type:String},dir:{type:String,default:"auto"},selectOnTab:{type:Boolean,default:!1},selectOnKeyCodes:{type:Array,default:function(){return[13]}},searchInputQuerySelector:{type:String,default:"[type=search]"},mapKeydown:{type:Function,default:function(y,k){return y}},appendToBody:{type:Boolean,default:!1},calculatePosition:{type:Function,default:function(y,k,F){var S=F.width,U=F.top,I=F.left;y.style.top=U,y.style.left=I,y.style.width=S}},dropdownShouldOpen:{type:Function,default:function(y){var k=y.noDrop,F=y.open,S=y.mutableLoading;return!k&&F&&!S}},keyboardFocusBorder:{type:Boolean,default:!1},uid:{type:[String,Number],default:function(){return O()}}},data:function(){return{search:"",open:!1,isComposing:!1,isKeyboardNavigation:!1,pushedTags:[],_value:[]}},computed:{isTrackingValues:function(){return this.value===void 0||this.$options.propsData.hasOwnProperty("reduce")},selectedValue:function(){var y=this.value;return this.isTrackingValues&&(y=this.$data._value),y!=null&&y!==""?[].concat(y):[]},optionList:function(){return this.options.concat(this.pushTags?this.pushedTags:[])},searchEl:function(){return this.$scopedSlots.search?this.$refs.selectedOptions.querySelector(this.searchInputQuerySelector):this.$refs.search},scope:function(){var y=this,k={search:this.search,loading:this.loading,searching:this.searching,filteredOptions:this.filteredOptions};return{search:{attributes:Y({id:this.inputId,disabled:this.disabled,placeholder:this.searchPlaceholder,tabindex:this.tabindex,readonly:!this.searchable,role:"combobox","aria-autocomplete":"list","aria-label":this.ariaLabelCombobox,"aria-controls":"vs-".concat(this.uid,"__listbox"),"aria-owns":"vs-".concat(this.uid,"__listbox"),"aria-expanded":this.dropdownOpen.toString(),ref:"search",type:"search",autocomplete:this.autocomplete,value:this.search},this.dropdownOpen&&this.filteredOptions[this.typeAheadPointer]?{"aria-activedescendant":"vs-".concat(this.uid,"__option-").concat(this.typeAheadPointer)}:{}),events:{compositionstart:function(){return y.isComposing=!0},compositionend:function(){return y.isComposing=!1},keydown:this.onSearchKeyDown,keypress:this.onSearchKeyPress,blur:this.onSearchBlur,focus:this.onSearchFocus,input:function(F){return y.search=F.target.value}}},spinner:{loading:this.mutableLoading},noOptions:{search:this.search,loading:this.mutableLoading,searching:this.searching},openIndicator:{attributes:{ref:"openIndicator",role:"presentation",class:"vs__open-indicator"}},listHeader:k,listFooter:k,header:Y({},k,{deselect:this.deselect}),footer:Y({},k,{deselect:this.deselect})}},childComponents:function(){return Y({},A,{},this.components)},stateClasses:function(){return{"vs--open":this.dropdownOpen,"vs--single":!this.multiple,"vs--multiple":this.multiple,"vs--searching":this.searching&&!this.noDrop,"vs--searchable":this.searchable&&!this.noDrop,"vs--unsearchable":!this.searchable,"vs--loading":this.mutableLoading,"vs--disabled":this.disabled}},searching:function(){return!!this.search},dropdownOpen:function(){return this.dropdownShouldOpen(this)},searchPlaceholder:function(){return this.isValueEmpty&&this.placeholder?this.placeholder:void 0},filteredOptions:function(){var y=this,k=function(I){return y.limit!==null?I.slice(0,y.limit):I},F=[].concat(this.optionList);if(!this.filterable&&!this.taggable)return k(F);var S=this.search.length?this.filter(F,this.search,this):F;if(this.taggable&&this.search.length){var U=this.createOption(this.search);this.optionExists(U)||S.unshift(U)}return k(S)},isValueEmpty:function(){return this.selectedValue.length===0},showClearButton:function(){return!this.multiple&&this.clearable&&!this.open&&!this.isValueEmpty}},watch:{options:function(y,k){var F=this;!this.taggable&&(typeof F.resetOnOptionsChange=="function"?F.resetOnOptionsChange(y,k,F.selectedValue):F.resetOnOptionsChange)&&this.clearSelection(),this.value&&this.isTrackingValues&&this.setInternalValueFromOptions(this.value)},value:{immediate:!0,handler:function(y){this.isTrackingValues&&this.setInternalValueFromOptions(y)}},multiple:function(){this.clearSelection()},open:function(y){this.$emit(y?"open":"close")},search:function(y){y.length&&(this.open=!0)}},created:function(){this.mutableLoading=this.loading,this.$on("option:created",this.pushTag)},methods:{setInternalValueFromOptions:function(y){var k=this;Array.isArray(y)?this.$data._value=y.map(function(F){return k.findOptionFromReducedValue(F)}):this.$data._value=this.findOptionFromReducedValue(y)},select:function(y){this.$emit("option:selecting",y),this.isOptionSelected(y)?this.deselectFromDropdown&&(this.clearable||this.multiple&&this.selectedValue.length>1)&&this.deselect(y):(this.taggable&&!this.optionExists(y)&&this.$emit("option:created",y),this.multiple&&(y=this.selectedValue.concat(y)),this.updateValue(y),this.$emit("option:selected",y)),this.onAfterSelect(y)},deselect:function(y){var k=this;this.$emit("option:deselecting",y),this.updateValue(this.selectedValue.filter(function(F){return!k.optionComparator(F,y)})),this.$emit("option:deselected",y)},keyboardDeselect:function(y,k){var F,S;this.deselect(y);var U=(F=this.$refs.deselectButtons)===null||F===void 0?void 0:F[k+1],I=(S=this.$refs.deselectButtons)===null||S===void 0?void 0:S[k-1],su=U??I;su?su.focus():this.searchEl.focus()},clearSelection:function(){this.updateValue(this.multiple?[]:null),this.searchEl.focus()},onAfterSelect:function(y){var k=this;this.closeOnSelect&&(this.open=!this.open),this.clearSearchOnSelect&&(this.search=""),this.noDrop&&this.multiple&&this.$nextTick(function(){return k.$refs.search.focus()})},updateValue:function(y){var k=this;this.value===void 0&&(this.$data._value=y),y!==null&&(y=Array.isArray(y)?y.map(function(F){return k.reduce(F)}):this.reduce(y)),this.$emit("input",y)},toggleDropdown:function(y){var k=y.target!==this.searchEl;k&&y.preventDefault();var F=[].concat(d()(this.$refs.deselectButtons||[]),d()([this.$refs.clearButton]));this.searchEl===void 0||F.filter(Boolean).some(function(S){return S.contains(y.target)||S===y.target})?y.preventDefault():this.open&&k?this.searchEl.blur():this.disabled||(this.open=!0,this.searchEl.focus())},isOptionSelected:function(y){var k=this;return this.selectedValue.some(function(F){return k.optionComparator(F,y)})},isOptionDeselectable:function(y){return this.isOptionSelected(y)&&this.deselectFromDropdown},hasKeyboardFocusBorder:function(y){return!(!this.keyboardFocusBorder||!this.isKeyboardNavigation)&&y===this.typeAheadPointer},optionComparator:function(y,k){return this.getOptionKey(y)===this.getOptionKey(k)},findOptionFromReducedValue:function(y){var k=this,F=[].concat(d()(this.options),d()(this.pushedTags)).filter(function(S){return JSON.stringify(k.reduce(S))===JSON.stringify(y)});return F.length===1?F[0]:F.find(function(S){return k.optionComparator(S,k.$data._value)})||y},closeSearchOptions:function(){this.open=!1,this.$emit("search:blur")},maybeDeleteValue:function(){if(!this.searchEl.value.length&&this.selectedValue&&this.selectedValue.length&&this.clearable){var y=null;this.multiple&&(y=d()(this.selectedValue.slice(0,this.selectedValue.length-1))),this.updateValue(y)}},optionExists:function(y){var k=this;return this.optionList.some(function(F){return k.optionComparator(F,y)})},optionAriaSelected:function(y){return this.selectable(y)?String(this.isOptionSelected(y)):null},normalizeOptionForSlot:function(y){return _()(y)==="object"?y:h()({},this.label,y)},pushTag:function(y){this.pushedTags.push(y)},onEscape:function(){this.search.length?this.search="":this.open=!1},onSearchBlur:function(){if(!this.mousedown||this.searching){var y=this.clearSearchOnSelect,k=this.multiple;return this.clearSearchOnBlur({clearSearchOnSelect:y,multiple:k})&&(this.search=""),void this.closeSearchOptions()}this.mousedown=!1,this.search.length!==0||this.options.length!==0||this.closeSearchOptions()},onSearchFocus:function(){this.open=!0,this.$emit("search:focus")},onMousedown:function(){this.mousedown=!0},onMouseUp:function(){this.mousedown=!1},onMouseMove:function(y,k){this.isKeyboardNavigation=!1,this.selectable(y)&&(this.typeAheadPointer=k)},onSearchKeyDown:function(y){var k=this,F=function(I){if(I.preventDefault(),k.open)return!k.isComposing&&k.typeAheadSelect();k.open=!0},S={8:function(I){return k.maybeDeleteValue()},9:function(I){return k.onTab()},27:function(I){return k.onEscape()},38:function(I){if(I.preventDefault(),k.isKeyboardNavigation=!0,k.open)return k.typeAheadUp();k.open=!0},40:function(I){if(I.preventDefault(),k.isKeyboardNavigation=!0,k.open)return k.typeAheadDown();k.open=!0}};this.selectOnKeyCodes.forEach(function(I){return S[I]=F});var U=this.mapKeydown(S,this);if(typeof U[y.keyCode]=="function")return U[y.keyCode](y)},onSearchKeyPress:function(y){this.open||y.keyCode!==32||(y.preventDefault(),this.open=!0)}}},function(){var y=this,k=y.$createElement,F=y._self._c||k;return F("div",{staticClass:"v-select",class:y.stateClasses,attrs:{id:"v-select-"+y.uid,dir:y.dir}},[y._t("header",null,null,y.scope.header),y._v(" "),F("div",{ref:"toggle",staticClass:"vs__dropdown-toggle"},[F("div",{ref:"selectedOptions",staticClass:"vs__selected-options",on:{mousedown:y.toggleDropdown}},[y._l(y.selectedValue,function(S,U){return y._t("selected-option-container",[F("span",{key:y.getOptionKey(S),staticClass:"vs__selected"},[y._t("selected-option",[y._v(` +https://vue-select.org/api/props.html#getoptionkey`,y,k)}}},onTab:{type:Function,default:function(){this.selectOnTab&&!this.isComposing&&this.typeAheadSelect()}},taggable:{type:Boolean,default:!1},tabindex:{type:Number,default:null},pushTags:{type:Boolean,default:!1},filterable:{type:Boolean,default:!0},filterBy:{type:Function,default:function(y,k,F){return(k||"").toLocaleLowerCase().indexOf(F.toLocaleLowerCase())>-1}},filter:{type:Function,default:function(y,k){var F=this;return y.filter(function(S){var U=F.getOptionLabel(S);return typeof U=="number"&&(U=U.toString()),F.filterBy(S,U,k)})}},createOption:{type:Function,default:function(y){return _()(this.optionList[0])==="object"?h()({},this.label,y):y}},resetFocusOnOptionsChange:{type:Boolean,default:!0},resetOnOptionsChange:{default:!1,validator:function(y){return["function","boolean"].includes(_()(y))}},clearSearchOnBlur:{type:Function,default:function(y){var k=y.clearSearchOnSelect,F=y.multiple;return k&&!F}},noDrop:{type:Boolean,default:!1},inputId:{type:String},dir:{type:String,default:"auto"},selectOnTab:{type:Boolean,default:!1},selectOnKeyCodes:{type:Array,default:function(){return[13]}},searchInputQuerySelector:{type:String,default:"[type=search]"},mapKeydown:{type:Function,default:function(y,k){return y}},appendToBody:{type:Boolean,default:!1},calculatePosition:{type:Function,default:function(y,k,F){var S=F.width,U=F.top,I=F.left;y.style.top=U,y.style.left=I,y.style.width=S}},dropdownShouldOpen:{type:Function,default:function(y){var k=y.noDrop,F=y.open,S=y.mutableLoading;return!k&&F&&!S}},keyboardFocusBorder:{type:Boolean,default:!1},uid:{type:[String,Number],default:function(){return O()}}},data:function(){return{search:"",open:!1,isComposing:!1,isKeyboardNavigation:!1,pushedTags:[],_value:[]}},computed:{isTrackingValues:function(){return this.value===void 0||this.$options.propsData.hasOwnProperty("reduce")},selectedValue:function(){var y=this.value;return this.isTrackingValues&&(y=this.$data._value),y!=null&&y!==""?[].concat(y):[]},optionList:function(){return this.options.concat(this.pushTags?this.pushedTags:[])},searchEl:function(){return this.$scopedSlots.search?this.$refs.selectedOptions.querySelector(this.searchInputQuerySelector):this.$refs.search},scope:function(){var y=this,k={search:this.search,loading:this.loading,searching:this.searching,filteredOptions:this.filteredOptions};return{search:{attributes:Y({id:this.inputId,disabled:this.disabled,placeholder:this.searchPlaceholder,tabindex:this.tabindex,readonly:!this.searchable,role:"combobox","aria-autocomplete":"list","aria-label":this.ariaLabelCombobox,"aria-controls":"vs-".concat(this.uid,"__listbox"),"aria-owns":"vs-".concat(this.uid,"__listbox"),"aria-expanded":this.dropdownOpen.toString(),ref:"search",type:"search",autocomplete:this.autocomplete,value:this.search},this.dropdownOpen&&this.filteredOptions[this.typeAheadPointer]?{"aria-activedescendant":"vs-".concat(this.uid,"__option-").concat(this.typeAheadPointer)}:{}),events:{compositionstart:function(){return y.isComposing=!0},compositionend:function(){return y.isComposing=!1},keydown:this.onSearchKeyDown,keypress:this.onSearchKeyPress,blur:this.onSearchBlur,focus:this.onSearchFocus,input:function(F){return y.search=F.target.value}}},spinner:{loading:this.mutableLoading},noOptions:{search:this.search,loading:this.mutableLoading,searching:this.searching},openIndicator:{attributes:{ref:"openIndicator",role:"presentation",class:"vs__open-indicator"}},listHeader:k,listFooter:k,header:Y({},k,{deselect:this.deselect}),footer:Y({},k,{deselect:this.deselect})}},childComponents:function(){return Y({},C,{},this.components)},stateClasses:function(){return{"vs--open":this.dropdownOpen,"vs--single":!this.multiple,"vs--multiple":this.multiple,"vs--searching":this.searching&&!this.noDrop,"vs--searchable":this.searchable&&!this.noDrop,"vs--unsearchable":!this.searchable,"vs--loading":this.mutableLoading,"vs--disabled":this.disabled}},searching:function(){return!!this.search},dropdownOpen:function(){return this.dropdownShouldOpen(this)},searchPlaceholder:function(){return this.isValueEmpty&&this.placeholder?this.placeholder:void 0},filteredOptions:function(){var y=this,k=function(I){return y.limit!==null?I.slice(0,y.limit):I},F=[].concat(this.optionList);if(!this.filterable&&!this.taggable)return k(F);var S=this.search.length?this.filter(F,this.search,this):F;if(this.taggable&&this.search.length){var U=this.createOption(this.search);this.optionExists(U)||S.unshift(U)}return k(S)},isValueEmpty:function(){return this.selectedValue.length===0},showClearButton:function(){return!this.multiple&&this.clearable&&!this.open&&!this.isValueEmpty}},watch:{options:function(y,k){var F=this;!this.taggable&&(typeof F.resetOnOptionsChange=="function"?F.resetOnOptionsChange(y,k,F.selectedValue):F.resetOnOptionsChange)&&this.clearSelection(),this.value&&this.isTrackingValues&&this.setInternalValueFromOptions(this.value)},value:{immediate:!0,handler:function(y){this.isTrackingValues&&this.setInternalValueFromOptions(y)}},multiple:function(){this.clearSelection()},open:function(y){this.$emit(y?"open":"close")},search:function(y){y.length&&(this.open=!0)}},created:function(){this.mutableLoading=this.loading,this.$on("option:created",this.pushTag)},methods:{setInternalValueFromOptions:function(y){var k=this;Array.isArray(y)?this.$data._value=y.map(function(F){return k.findOptionFromReducedValue(F)}):this.$data._value=this.findOptionFromReducedValue(y)},select:function(y){this.$emit("option:selecting",y),this.isOptionSelected(y)?this.deselectFromDropdown&&(this.clearable||this.multiple&&this.selectedValue.length>1)&&this.deselect(y):(this.taggable&&!this.optionExists(y)&&this.$emit("option:created",y),this.multiple&&(y=this.selectedValue.concat(y)),this.updateValue(y),this.$emit("option:selected",y)),this.onAfterSelect(y)},deselect:function(y){var k=this;this.$emit("option:deselecting",y),this.updateValue(this.selectedValue.filter(function(F){return!k.optionComparator(F,y)})),this.$emit("option:deselected",y)},keyboardDeselect:function(y,k){var F,S;this.deselect(y);var U=(F=this.$refs.deselectButtons)===null||F===void 0?void 0:F[k+1],I=(S=this.$refs.deselectButtons)===null||S===void 0?void 0:S[k-1],su=U??I;su?su.focus():this.searchEl.focus()},clearSelection:function(){this.updateValue(this.multiple?[]:null),this.searchEl.focus()},onAfterSelect:function(y){var k=this;this.closeOnSelect&&(this.open=!this.open),this.clearSearchOnSelect&&(this.search=""),this.noDrop&&this.multiple&&this.$nextTick(function(){return k.$refs.search.focus()})},updateValue:function(y){var k=this;this.value===void 0&&(this.$data._value=y),y!==null&&(y=Array.isArray(y)?y.map(function(F){return k.reduce(F)}):this.reduce(y)),this.$emit("input",y)},toggleDropdown:function(y){var k=y.target!==this.searchEl;k&&y.preventDefault();var F=[].concat(d()(this.$refs.deselectButtons||[]),d()([this.$refs.clearButton]));this.searchEl===void 0||F.filter(Boolean).some(function(S){return S.contains(y.target)||S===y.target})?y.preventDefault():this.open&&k?this.searchEl.blur():this.disabled||(this.open=!0,this.searchEl.focus())},isOptionSelected:function(y){var k=this;return this.selectedValue.some(function(F){return k.optionComparator(F,y)})},isOptionDeselectable:function(y){return this.isOptionSelected(y)&&this.deselectFromDropdown},hasKeyboardFocusBorder:function(y){return!(!this.keyboardFocusBorder||!this.isKeyboardNavigation)&&y===this.typeAheadPointer},optionComparator:function(y,k){return this.getOptionKey(y)===this.getOptionKey(k)},findOptionFromReducedValue:function(y){var k=this,F=[].concat(d()(this.options),d()(this.pushedTags)).filter(function(S){return JSON.stringify(k.reduce(S))===JSON.stringify(y)});return F.length===1?F[0]:F.find(function(S){return k.optionComparator(S,k.$data._value)})||y},closeSearchOptions:function(){this.open=!1,this.$emit("search:blur")},maybeDeleteValue:function(){if(!this.searchEl.value.length&&this.selectedValue&&this.selectedValue.length&&this.clearable){var y=null;this.multiple&&(y=d()(this.selectedValue.slice(0,this.selectedValue.length-1))),this.updateValue(y)}},optionExists:function(y){var k=this;return this.optionList.some(function(F){return k.optionComparator(F,y)})},optionAriaSelected:function(y){return this.selectable(y)?String(this.isOptionSelected(y)):null},normalizeOptionForSlot:function(y){return _()(y)==="object"?y:h()({},this.label,y)},pushTag:function(y){this.pushedTags.push(y)},onEscape:function(){this.search.length?this.search="":this.open=!1},onSearchBlur:function(){if(!this.mousedown||this.searching){var y=this.clearSearchOnSelect,k=this.multiple;return this.clearSearchOnBlur({clearSearchOnSelect:y,multiple:k})&&(this.search=""),void this.closeSearchOptions()}this.mousedown=!1,this.search.length!==0||this.options.length!==0||this.closeSearchOptions()},onSearchFocus:function(){this.open=!0,this.$emit("search:focus")},onMousedown:function(){this.mousedown=!0},onMouseUp:function(){this.mousedown=!1},onMouseMove:function(y,k){this.isKeyboardNavigation=!1,this.selectable(y)&&(this.typeAheadPointer=k)},onSearchKeyDown:function(y){var k=this,F=function(I){if(I.preventDefault(),k.open)return!k.isComposing&&k.typeAheadSelect();k.open=!0},S={8:function(I){return k.maybeDeleteValue()},9:function(I){return k.onTab()},27:function(I){return k.onEscape()},38:function(I){if(I.preventDefault(),k.isKeyboardNavigation=!0,k.open)return k.typeAheadUp();k.open=!0},40:function(I){if(I.preventDefault(),k.isKeyboardNavigation=!0,k.open)return k.typeAheadDown();k.open=!0}};this.selectOnKeyCodes.forEach(function(I){return S[I]=F});var U=this.mapKeydown(S,this);if(typeof U[y.keyCode]=="function")return U[y.keyCode](y)},onSearchKeyPress:function(y){this.open||y.keyCode!==32||(y.preventDefault(),this.open=!0)}}},function(){var y=this,k=y.$createElement,F=y._self._c||k;return F("div",{staticClass:"v-select",class:y.stateClasses,attrs:{id:"v-select-"+y.uid,dir:y.dir}},[y._t("header",null,null,y.scope.header),y._v(" "),F("div",{ref:"toggle",staticClass:"vs__dropdown-toggle"},[F("div",{ref:"selectedOptions",staticClass:"vs__selected-options",on:{mousedown:y.toggleDropdown}},[y._l(y.selectedValue,function(S,U){return y._t("selected-option-container",[F("span",{key:y.getOptionKey(S),staticClass:"vs__selected"},[y._t("selected-option",[y._v(` `+y._s(y.getOptionLabel(S))+` `)],null,y.normalizeOptionForSlot(S)),y._v(" "),y.multiple?F("button",{ref:"deselectButtons",refInFor:!0,staticClass:"vs__deselect",attrs:{disabled:y.disabled,type:"button",title:y.ariaLabelDeselectOption(y.getOptionLabel(S)),"aria-label":y.ariaLabelDeselectOption(y.getOptionLabel(S))},on:{mousedown:function(I){return I.stopPropagation(),y.deselect(S)},keydown:function(I){return!I.type.indexOf("key")&&y._k(I.keyCode,"enter",13,I.key,"Enter")?null:y.keyboardDeselect(S,U)}}},[F(y.childComponents.Deselect,{tag:"component"})],1):y._e()],2)],{option:y.normalizeOptionForSlot(S),deselect:y.deselect,multiple:y.multiple,disabled:y.disabled})}),y._v(" "),y._t("search",[F("input",y._g(y._b({staticClass:"vs__search"},"input",y.scope.search.attributes,!1),y.scope.search.events))],null,y.scope.search)],2),y._v(" "),F("div",{ref:"actions",staticClass:"vs__actions"},[F("button",{directives:[{name:"show",rawName:"v-show",value:y.showClearButton,expression:"showClearButton"}],ref:"clearButton",staticClass:"vs__clear",attrs:{disabled:y.disabled,type:"button",title:y.ariaLabelClearSelected,"aria-label":y.ariaLabelClearSelected},on:{click:y.clearSelection}},[F(y.childComponents.Deselect,{tag:"component"})],1),y._v(" "),y.noDrop?y._e():F("button",{ref:"openIndicatorButton",staticClass:"vs__open-indicator-button",attrs:{type:"button",tabindex:"-1","aria-labelledby":"vs-"+y.uid+"__listbox","aria-controls":"vs-"+y.uid+"__listbox","aria-expanded":y.dropdownOpen.toString()},on:{mousedown:y.toggleDropdown}},[y._t("open-indicator",[F(y.childComponents.OpenIndicator,y._b({tag:"component"},"component",y.scope.openIndicator.attributes,!1))],null,y.scope.openIndicator)],2),y._v(" "),y._t("spinner",[F("div",{directives:[{name:"show",rawName:"v-show",value:y.mutableLoading,expression:"mutableLoading"}],staticClass:"vs__spinner"},[y._v("Loading...")])],null,y.scope.spinner)],2)]),y._v(" "),F("transition",{attrs:{name:y.transition}},[y.dropdownOpen?F("ul",{directives:[{name:"append-to-body",rawName:"v-append-to-body"}],key:"vs-"+y.uid+"__listbox",ref:"dropdownMenu",staticClass:"vs__dropdown-menu",attrs:{id:"vs-"+y.uid+"__listbox",role:"listbox","aria-label":y.ariaLabelListbox,"aria-multiselectable":y.multiple,tabindex:"-1"},on:{mousedown:function(S){return S.preventDefault(),y.onMousedown(S)},mouseup:y.onMouseUp}},[y._t("list-header",null,null,y.scope.listHeader),y._v(" "),y._l(y.filteredOptions,function(S,U){return F("li",{key:y.getOptionKey(S),staticClass:"vs__dropdown-option",class:{"vs__dropdown-option--deselect":y.isOptionDeselectable(S)&&U===y.typeAheadPointer,"vs__dropdown-option--selected":y.isOptionSelected(S),"vs__dropdown-option--highlight":U===y.typeAheadPointer,"vs__dropdown-option--kb-focus":y.hasKeyboardFocusBorder(U),"vs__dropdown-option--disabled":!y.selectable(S)},attrs:{id:"vs-"+y.uid+"__option-"+U,role:"option","aria-selected":y.optionAriaSelected(S)},on:{mousemove:function(I){return y.onMouseMove(S,U)},click:function(I){I.preventDefault(),I.stopPropagation(),y.selectable(S)&&y.select(S)}}},[y._t("option",[y._v(` `+y._s(y.getOptionLabel(S))+` `)],null,y.normalizeOptionForSlot(S))],2)}),y._v(" "),y.filteredOptions.length===0?F("li",{staticClass:"vs__no-options"},[y._t("no-options",[y._v(` Sorry, no matching options. - `)],null,y.scope.noOptions)],2):y._e(),y._v(" "),y._t("list-footer",null,null,y.scope.listFooter)],2):F("ul",{staticStyle:{display:"none",visibility:"hidden"},attrs:{id:"vs-"+y.uid+"__listbox",role:"listbox","aria-label":y.ariaLabelListbox}})]),y._v(" "),y._t("footer",null,null,y.scope.footer)],2)},[]).exports,J={ajax:E,pointer:D,pointerScroll:g},$=V})(),i})()})})(Ol);var Vi=Ol.exports;zu(ph,fh),{...Vi.VueSelect.props,...Vi.VueSelect.mixins.reduce((u,t)=>({...u,...t.props}),{}),ariaLabelClearSelected:ru("Clear selected"),ariaLabelListbox:ru("Options")};const Of={name:"AlertCircleOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Pf=function(){var u=this,t=u._self._c;return t("span",u._b({staticClass:"material-design-icon alert-circle-outline-icon",attrs:{"aria-hidden":u.title?null:"true","aria-label":u.title,role:"img"},on:{click:function(n){return u.$emit("click",n)}}},"span",u.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:u.fillColor,width:u.size,height:u.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z"}},[u.title?t("title",[u._v(u._s(u.title))]):u._e()])])])},If=[],Wf=Cu(Of,Pf,If,!1,null,null);const zf=Wf.exports,Nf={name:"NcInputField",components:{NcButton:Ea,AlertCircle:zf,Check:Cl},inheritAttrs:!1,model:{prop:"modelValue",event:"update:modelValue"},props:{value:{type:[String,Number],default:void 0},modelValue:{type:[String,Number],default:void 0},type:{type:String,default:"text",validator:u=>["text","password","email","tel","url","search","number"].includes(u)},label:{type:String,default:void 0},labelOutside:{type:Boolean,default:!1},placeholder:{type:String,default:void 0},showTrailingButton:{type:Boolean,default:!1},trailingButtonLabel:{type:String,default:""},success:{type:Boolean,default:!1},error:{type:Boolean,default:!1},helperText:{type:String,default:""},disabled:{type:Boolean,default:!1},pill:{type:Boolean,default:!1},inputClass:{type:[Object,String],default:""}},emits:["update:value","update:modelValue","update:model-value","trailing-button-click"],setup(){return{model:Dh("value","update:value",!0)}},computed:{computedId(){return this.$attrs.id&&this.$attrs.id!==""?this.$attrs.id:this.inputName},inputName(){return"input"+Zr()},hasTrailingIcon(){return this.success},hasPlaceholder(){return this.placeholder!==""&&this.placeholder!==void 0},computedPlaceholder(){return this.hasPlaceholder?this.placeholder:this.label},isValidLabel(){const u=this.label||this.labelOutside;return u||console.warn("You need to add a label to the NcInputField component. Either use the prop label or use an external one, as per the example in the documentation."),u},ariaDescribedby(){const u=[];return this.helperText.length>0&&u.push(`${this.inputName}-helper-text`),this.$attrs["aria-describedby"]&&u.push(this.$attrs["aria-describedby"]),u.join(" ")||null}},methods:{focus(){this.$refs.input.focus()},select(){this.$refs.input.select()},handleInput(u){const t=this.type==="number"&&typeof this.model=="number"?parseFloat(u.target.value,10):u.target.value;this.model=t},handleTrailingButtonClick(u){this.$emit("trailing-button-click",u)}}};var Rf=function(){var u=this,t=u._self._c;return t("div",{staticClass:"input-field",class:{"input-field--disabled":u.disabled,"input-field--label-outside":u.labelOutside||!u.isValidLabel,"input-field--leading-icon":!!u.$scopedSlots.icon||!!u.$scopedSlots.default||!!u.$slots.default,"input-field--trailing-icon":u.showTrailingButton||u.hasTrailingIcon,"input-field--pill":u.pill}},[t("div",{staticClass:"input-field__main-wrapper"},[t("input",u._g(u._b({ref:"input",staticClass:"input-field__input",class:[u.inputClass,{"input-field__input--success":u.success,"input-field__input--error":u.error}],attrs:{id:u.computedId,type:u.type,disabled:u.disabled,placeholder:u.computedPlaceholder,"aria-describedby":u.ariaDescribedby,"aria-live":"polite"},domProps:{value:u.model?.toString()},on:{input:u.handleInput}},"input",u.$attrs,!1),u.$listeners)),!u.labelOutside&&u.isValidLabel?t("label",{staticClass:"input-field__label",attrs:{for:u.computedId}},[u._v(" "+u._s(u.label)+" ")]):u._e(),t("div",{directives:[{name:"show",rawName:"v-show",value:!!u.$scopedSlots.icon||!!u.$scopedSlots.default||!!u.$slots.default,expression:"!!$scopedSlots.icon || !!$scopedSlots.default || !!$slots.default"}],staticClass:"input-field__icon input-field__icon--leading"},[u._t("icon",function(){return[u._t("default")]})],2),u.showTrailingButton?t("NcButton",{staticClass:"input-field__trailing-button",attrs:{"aria-label":u.trailingButtonLabel,disabled:u.disabled,variant:"tertiary-no-background"},on:{click:u.handleTrailingButtonClick},scopedSlots:u._u([{key:"icon",fn:function(){return[u._t("trailing-button-icon")]},proxy:!0}],null,!0)}):u.success||u.error?t("div",{staticClass:"input-field__icon input-field__icon--trailing"},[u.success?t("Check",{staticStyle:{color:"var(--color-success-text)"},attrs:{size:20}}):u.error?t("AlertCircle",{staticStyle:{color:"var(--color-error-text)"},attrs:{size:20}}):u._e()],1):u._e()],1),u.helperText.length>0?t("p",{staticClass:"input-field__helper-text-message",class:{"input-field__helper-text-message--error":u.error,"input-field__helper-text-message--success":u.success},attrs:{id:`${u.inputName}-helper-text`}},[u.success?t("Check",{staticClass:"input-field__helper-text-message__icon",attrs:{size:18}}):u.error?t("AlertCircle",{staticClass:"input-field__helper-text-message__icon",attrs:{size:18}}):u._e(),u._v(" "+u._s(u.helperText)+" ")],1):u._e()])},Uf=[],Vf=Cu(Nf,Rf,Uf,!1,null,"8f3abf17");const $i=Vf.exports;zu(gh,yh),new Set(Object.keys($i.props)),{...$i.props},zu(Eh);const $f=3*60*1e3,Jf={name:"NcReferenceWidget",components:{NcButton:Ea},props:{reference:{type:Object,required:!0},interactive:{type:Boolean,default:!0},interactiveOptIn:{type:Boolean,default:!1}},setup(){const u=se(!1),t=se(),{width:n}=xh(t);return Yh(t,([r])=>{zh(()=>{u.value=r.isIntersecting})}),{width:n,isVisible:u,widgetRoot:t}},data(){return{showInteractive:!1,rendered:!1,idleTimeout:null}},computed:{isInteractive(){return!this.interactiveOptIn&&this.interactive||this.showInteractive},hasFullWidth(){return bf(this.reference.richObjectType)},hasCustomWidget(){return Ui(this.reference.richObjectType)},hasInteractiveView(){return Ui(this.reference.richObjectType)&&wf(this.reference.richObjectType)},noAccess(){return this.reference&&!this.reference.accessible},descriptionStyle(){if(this.numberOfLines===0)return{display:"none"};const u=this.numberOfLines;return{lineClamp:u,webkitLineClamp:u}},numberOfLines(){return[450,550,650,1/0].findIndex(u=>this.width{this.isVisible||this.destroyWidget()},$f);return}this.idleTimeout&&(clearTimeout(this.idleTimeout),this.idleTimeout=null),this.rendered||this.renderWidget()},immediate:!0}},beforeDestroy(){this.destroyWidget()},methods:{t:ru,enableInteractive(){this.showInteractive=!0,this.renderWidget()},renderWidget(){if(!this.$refs.customWidget||this?.reference?.richObjectType==="open-graph")return;this.$refs.customWidget.innerHTML="";const u=document.createElement("div");u.style="width: 100%;",this.$refs.customWidget.appendChild(u),this.$nextTick(()=>{Sf(u,{...this.reference,interactive:this.isInteractive}),this.rendered=!0})},destroyWidget(){this.rendered&&(Hf(this.reference.richObjectType,this.$el),this.rendered=!1)}}};var qf=function(){var u=this,t=u._self._c;return t("div",{ref:"widgetRoot",class:{"toggle-interactive":u.hasInteractiveView&&!u.isInteractive}},[u.reference&&u.hasCustomWidget?t("div",{ref:"customWidget",staticClass:"widget-custom",class:{"full-width":u.hasFullWidth}}):!u.noAccess&&u.reference&&u.reference.openGraphObject&&!u.hasCustomWidget?t(u.referenceWidgetLinkComponent,u._b({tag:"component",staticClass:"widget-default",attrs:{rel:"noopener noreferrer"}},"component",u.referenceWidgetLinkProps,!1),[u.reference.openGraphObject.thumb?t("img",{staticClass:"widget-default--image",attrs:{src:u.reference.openGraphObject.thumb}}):u._e(),t("div",{staticClass:"widget-default--details"},[t("p",{staticClass:"widget-default--name"},[u._v(" "+u._s(u.reference.openGraphObject.name)+" ")]),t("p",{staticClass:"widget-default--description",style:u.descriptionStyle},[u._v(" "+u._s(u.reference.openGraphObject.description)+" ")]),t("p",{staticClass:"widget-default--link"},[u._v(" "+u._s(u.compactLink)+" ")])])]):u._e(),u.interactiveOptIn&&u.hasInteractiveView&&!u.isInteractive?t("NcButton",{staticClass:"toggle-interactive--button",on:{click:u.enableInteractive}},[u._v(" "+u._s(u.t("Enable interactive view"))+" ")]):u._e()],1)},Gf=[],Kf=Cu(Jf,qf,Gf,!1,null,"734d6ae9");const Zf=Kf.exports;zu(Ch),ru("Any link"),Ah("core","filetypes/link.svg"),window._vue_richtext_reference_providers||(window._vue_richtext_reference_providers=on("core","reference-provider-list",[])),window._vue_richtext_reference_provider_timestamps||(window._vue_richtext_reference_provider_timestamps=on("core","reference-provider-timestamps",{})),zu(fi,Mh),zu(Lh),zu(Bh,fi,vh),zu(Fh,kh);function Ji(){return on("files_sharing","sharingToken",null)??document.querySelector('input#sharingToken[type="hidden"]')?.value??null}function qi(u){if(u)throw u}var en=Object.prototype.hasOwnProperty,Pl=Object.prototype.toString,Gi=Object.defineProperty,Ki=Object.getOwnPropertyDescriptor,Zi=function(u){return typeof Array.isArray=="function"?Array.isArray(u):Pl.call(u)==="[object Array]"},Qi=function(u){if(!u||Pl.call(u)!=="[object Object]")return!1;var t=en.call(u,"constructor"),n=u.constructor&&u.constructor.prototype&&en.call(u.constructor.prototype,"isPrototypeOf");if(u.constructor&&!t&&!n)return!1;var r;for(r in u);return typeof r>"u"||en.call(u,r)},Xi=function(u,t){Gi&&t.name==="__proto__"?Gi(u,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):u[t.name]=t.newValue},uo=function(u,t){if(t==="__proto__")if(en.call(u,t)){if(Ki)return Ki(u,t).value}else return;return u[t]},Qf=function u(){var t,n,r,s,i,o,d=arguments[0],m=1,_=arguments.length,f=!1;for(typeof d=="boolean"&&(f=d,d=arguments[1]||{},m=2),(d==null||typeof d!="object"&&typeof d!="function")&&(d={});m<_;++m)if(t=arguments[m],t!=null)for(n in t)r=uo(d,n),s=uo(t,n),d!==s&&(f&&s&&(Qi(s)||(i=Zi(s)))?(i?(i=!1,o=r&&Zi(r)?r:[]):o=r&&Qi(r)?r:{},Xi(d,{name:n,newValue:u(f,o,s)})):typeof s<"u"&&Xi(d,{name:n,newValue:s}));return d};const Sr=g0(Qf);function ia(u){if(typeof u!="object"||u===null)return!1;const t=Object.getPrototypeOf(u);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in u)&&!(Symbol.iterator in u)}function Xf(){const u=[],t={run:n,use:r};return t;function n(...s){let i=-1;const o=s.pop();if(typeof o!="function")throw new TypeError("Expected function as last argument, not "+o);d(null,...s);function d(m,..._){const f=u[++i];let h=-1;if(m){o(m);return}for(;++ho.length;let m;d&&o.push(s);try{m=u.apply(this,o)}catch(_){const f=_;if(d&&n)throw f;return s(f)}d||(m instanceof Promise?m.then(i,s):m instanceof Error?s(m):i(m))}function s(o,...d){n||(n=!0,t(o,...d))}function i(o){s(null,o)}}function h0(u){return!u||typeof u!="object"?"":"position"in u||"type"in u?eo(u.position):"start"in u||"end"in u?eo(u):"line"in u||"column"in u?oa(u):""}function oa(u){return to(u&&u.line)+":"+to(u&&u.column)}function eo(u){return oa(u&&u.start)+"-"+oa(u&&u.end)}function to(u){return u&&typeof u=="number"?u:1}class wu extends Error{constructor(t,n,r){super(),typeof n=="string"&&(r=n,n=void 0);let s="",i={},o=!1;if(n&&("line"in n&&"column"in n?i={place:n}:"start"in n&&"end"in n?i={place:n}:"type"in n?i={ancestors:[n],place:n.position}:i={...n}),typeof t=="string"?s=t:!i.cause&&t&&(o=!0,s=t.message,i.cause=t),!i.ruleId&&!i.source&&typeof r=="string"){const m=r.indexOf(":");m===-1?i.ruleId=r:(i.source=r.slice(0,m),i.ruleId=r.slice(m+1))}if(!i.place&&i.ancestors&&i.ancestors){const m=i.ancestors[i.ancestors.length-1];m&&(i.place=m.position)}const d=i.place&&"start"in i.place?i.place.start:i.place;this.ancestors=i.ancestors||void 0,this.cause=i.cause||void 0,this.column=d?d.column:void 0,this.fatal=void 0,this.file,this.message=s,this.line=d?d.line:void 0,this.name=h0(i.place)||"1:1",this.place=i.place||void 0,this.reason=this.message,this.ruleId=i.ruleId||void 0,this.source=i.source||void 0,this.stack=o&&i.cause&&typeof i.cause.stack=="string"?i.cause.stack:"",this.actual,this.expected,this.note,this.url}}wu.prototype.file="",wu.prototype.name="",wu.prototype.reason="",wu.prototype.message="",wu.prototype.stack="",wu.prototype.column=void 0,wu.prototype.line=void 0,wu.prototype.ancestors=void 0,wu.prototype.cause=void 0,wu.prototype.fatal=void 0,wu.prototype.place=void 0,wu.prototype.ruleId=void 0,wu.prototype.source=void 0;const ye={basename:ep,dirname:tp,extname:np,join:rp,sep:"/"};function ep(u,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');C0(u);let n=0,r=-1,s=u.length,i;if(t===void 0||t.length===0||t.length>u.length){for(;s--;)if(u.codePointAt(s)===47){if(i){n=s+1;break}}else r<0&&(i=!0,r=s+1);return r<0?"":u.slice(n,r)}if(t===u)return"";let o=-1,d=t.length-1;for(;s--;)if(u.codePointAt(s)===47){if(i){n=s+1;break}}else o<0&&(i=!0,o=s+1),d>-1&&(u.codePointAt(s)===t.codePointAt(d--)?d<0&&(r=s):(d=-1,r=o));return n===r?r=o:r<0&&(r=u.length),u.slice(n,r)}function tp(u){if(C0(u),u.length===0)return".";let t=-1,n=u.length,r;for(;--n;)if(u.codePointAt(n)===47){if(r){t=n;break}}else r||(r=!0);return t<0?u.codePointAt(0)===47?"/":".":t===1&&u.codePointAt(0)===47?"//":u.slice(0,t)}function np(u){C0(u);let t=u.length,n=-1,r=0,s=-1,i=0,o;for(;t--;){const d=u.codePointAt(t);if(d===47){if(o){r=t+1;break}continue}n<0&&(o=!0,n=t+1),d===46?s<0?s=t:i!==1&&(i=1):s>-1&&(i=-1)}return s<0||n<0||i===0||i===1&&s===n-1&&s===r+1?"":u.slice(s,n)}function rp(...u){let t=-1,n;for(;++t0&&u.codePointAt(u.length-1)===47&&(n+="/"),t?"/"+n:n}function sp(u,t){let n="",r=0,s=-1,i=0,o=-1,d,m;for(;++o<=u.length;){if(o2){if(m=n.lastIndexOf("/"),m!==n.length-1){m<0?(n="",r=0):(n=n.slice(0,m),r=n.length-1-n.lastIndexOf("/")),s=o,i=0;continue}}else if(n.length>0){n="",r=0,s=o,i=0;continue}}t&&(n=n.length>0?n+"/..":"..",r=2)}else n.length>0?n+="/"+u.slice(s+1,o):n=u.slice(s+1,o),r=o-s-1;s=o,i=0}else d===46&&i>-1?i++:i=-1}return n}function C0(u){if(typeof u!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(u))}const ip={cwd:op};function op(){return"/"}function la(u){return!!(u!==null&&typeof u=="object"&&"href"in u&&u.href&&"protocol"in u&&u.protocol&&u.auth===void 0)}function lp(u){if(typeof u=="string")u=new URL(u);else if(!la(u)){const t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+u+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if(u.protocol!=="file:"){const t=new TypeError("The URL must be of scheme file");throw t.code="ERR_INVALID_URL_SCHEME",t}return dp(u)}function dp(u){if(u.hostname!==""){const r=new TypeError('File URL host must be "localhost" or empty on darwin');throw r.code="ERR_INVALID_FILE_URL_HOST",r}const t=u.pathname;let n=-1;for(;++n0){let[D,...E]=f;const C=r[g][1];ia(C)&&ia(D)&&(D=Sr(!0,C,D)),r[g]=[_,D,...E]}}}}const fp=new Ta().freeze();function Pr(u,t){if(typeof t!="function")throw new TypeError("Cannot `"+u+"` without `parser`")}function Ir(u,t){if(typeof t!="function")throw new TypeError("Cannot `"+u+"` without `compiler`")}function Wr(u,t){if(t)throw new Error("Cannot call `"+u+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function ro(u){if(!ia(u)||typeof u.type!="string")throw new TypeError("Expected node, got `"+u+"`")}function ao(u,t,n){if(!n)throw new Error("`"+u+"` finished async. Use `"+t+"` instead")}function U0(u){return pp(u)?u:new cp(u)}function pp(u){return!!(u&&typeof u=="object"&&"message"in u&&"messages"in u)}function Dp(u){return typeof u=="string"||yp(u)}function yp(u){return!!(u&&typeof u=="object"&&"byteLength"in u&&"byteOffset"in u)}const gp={};function Ep(u,t){const n=gp,r=typeof n.includeImageAlt=="boolean"?n.includeImageAlt:!0,s=typeof n.includeHtml=="boolean"?n.includeHtml:!0;return Il(u,r,s)}function Il(u,t,n){if(Cp(u)){if("value"in u)return u.type==="html"&&!n?"":u.value;if(t&&"alt"in u&&u.alt)return u.alt;if("children"in u)return so(u.children,t,n)}return Array.isArray(u)?so(u,t,n):""}function so(u,t,n){const r=[];let s=-1;for(;++ss?0:s+t:t=t>s?s:t,n=n>0?n:0,r.length<1e4)o=Array.from(r),o.unshift(t,n),u.splice(...o);else for(n&&u.splice(t,n);i0?(Ce(u,u.length,0,t),u):t}const oo={}.hasOwnProperty;function Ap(u){const t={};let n=-1;for(;++n13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"�":String.fromCodePoint(n)}function zt(u){return u.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const vp=ut(new RegExp("\\p{P}","u")),Ee=ut(/[A-Za-z]/),Nu=ut(/[\dA-Za-z]/),Bp=ut(/[#-'*+\--9=?A-Z^-~]/);function da(u){return u!==null&&(u<32||u===127)}const ca=ut(/\d/),kp=ut(/[\dA-Fa-f]/),zl=ut(/[!-/:-@[-`{-~]/);function K(u){return u!==null&&u<-2}function Su(u){return u!==null&&(u<0||u===32)}function au(u){return u===-2||u===-1||u===32}function Fp(u){return zl(u)||vp(u)}const xp=ut(/\s/);function ut(u){return t;function t(n){return n!==null&&n>-1&&u.test(String.fromCharCode(n))}}function Vt(u){const t=[];let n=-1,r=0,s=0;for(;++n55295&&i<57344){const d=u.charCodeAt(n+1);i<56320&&d>56319&&d<57344?(o=String.fromCharCode(i,d),s=1):o="�"}else o=String.fromCharCode(i);o&&(t.push(u.slice(r,n),encodeURIComponent(o)),r=n+s+1,o=""),s&&(n+=s,s=0)}return t.join("")+u.slice(r)}function lu(u,t,n,r){const s=r?r-1:Number.POSITIVE_INFINITY;let i=0;return o;function o(m){return au(m)?(u.enter(n),d(m)):t(m)}function d(m){return au(m)&&i++o))return;const V=t.events.length;let J=V,$,y;for(;J--;)if(t.events[J][0]==="exit"&&t.events[J][1].type==="chunkFlow"){if($){y=t.events[J][1].end;break}$=!0}for(B(r),Y=V;YT;){const W=n[O];t.containerState=W[1],W[0].exit.call(t,u)}n.length=T}function b(){s.write([null]),i=void 0,s=void 0,t.containerState._closeFlow=void 0}}function Sp(u,t,n){return lu(u,u.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function co(u){if(u===null||Su(u)||xp(u))return 1;if(Fp(u))return 2}function Ha(u,t,n){const r=[];let s=-1;for(;++s1&&u[n][1].end.offset-u[n][1].start.offset>1?2:1;const h={...u[r][1].end},g={...u[n][1].start};mo(h,-m),mo(g,m),o={type:m>1?"strongSequence":"emphasisSequence",start:h,end:{...u[r][1].end}},d={type:m>1?"strongSequence":"emphasisSequence",start:{...u[n][1].start},end:g},i={type:m>1?"strongText":"emphasisText",start:{...u[r][1].end},end:{...u[n][1].start}},s={type:m>1?"strong":"emphasis",start:{...o.start},end:{...d.end}},u[r][1].end={...o.start},u[n][1].start={...d.end},_=[],u[r][1].end.offset-u[r][1].start.offset&&(_=ae(_,[["enter",u[r][1],t],["exit",u[r][1],t]])),_=ae(_,[["enter",s,t],["enter",o,t],["exit",o,t],["enter",i,t]]),_=ae(_,Ha(t.parser.constructs.insideSpan.null,u.slice(r+1,n),t)),_=ae(_,[["exit",i,t],["enter",d,t],["exit",d,t],["exit",s,t]]),u[n][1].end.offset-u[n][1].start.offset?(f=2,_=ae(_,[["enter",u[n][1],t],["exit",u[n][1],t]])):f=0,Ce(u,r-1,n-r+3,_),n=r+_.length-f-2;break}}for(n=-1;++n0&&au(Y)?lu(u,b,"linePrefix",i+1)(Y):b(Y)}function b(Y){return Y===null||K(Y)?u.check(_o,C,O)(Y):(u.enter("codeFlowValue"),T(Y))}function T(Y){return Y===null||K(Y)?(u.exit("codeFlowValue"),b(Y)):(u.consume(Y),T)}function O(Y){return u.exit("codeFenced"),t(Y)}function W(Y,V,J){let $=0;return y;function y(I){return Y.enter("lineEnding"),Y.consume(I),Y.exit("lineEnding"),k}function k(I){return Y.enter("codeFencedFence"),au(I)?lu(Y,F,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(I):F(I)}function F(I){return I===d?(Y.enter("codeFencedFenceSequence"),S(I)):J(I)}function S(I){return I===d?($++,Y.consume(I),S):$>=o?(Y.exit("codeFencedFenceSequence"),au(I)?lu(Y,U,"whitespace")(I):U(I)):J(I)}function U(I){return I===null||K(I)?(Y.exit("codeFencedFence"),V(I)):J(I)}}}function $p(u,t,n){const r=this;return s;function s(o){return o===null?n(o):(u.enter("lineEnding"),u.consume(o),u.exit("lineEnding"),i)}function i(o){return r.parser.lazy[r.now().line]?n(o):t(o)}}const zr={name:"codeIndented",tokenize:qp},Jp={partial:!0,tokenize:Gp};function qp(u,t,n){const r=this;return s;function s(_){return u.enter("codeIndented"),lu(u,i,"linePrefix",5)(_)}function i(_){const f=r.events[r.events.length-1];return f&&f[1].type==="linePrefix"&&f[2].sliceSerialize(f[1],!0).length>=4?o(_):n(_)}function o(_){return _===null?m(_):K(_)?u.attempt(Jp,o,m)(_):(u.enter("codeFlowValue"),d(_))}function d(_){return _===null||K(_)?(u.exit("codeFlowValue"),o(_)):(u.consume(_),d)}function m(_){return u.exit("codeIndented"),t(_)}}function Gp(u,t,n){const r=this;return s;function s(o){return r.parser.lazy[r.now().line]?n(o):K(o)?(u.enter("lineEnding"),u.consume(o),u.exit("lineEnding"),s):lu(u,i,"linePrefix",5)(o)}function i(o){const d=r.events[r.events.length-1];return d&&d[1].type==="linePrefix"&&d[2].sliceSerialize(d[1],!0).length>=4?t(o):K(o)?s(o):n(o)}}const Kp={name:"codeText",previous:Qp,resolve:Zp,tokenize:Xp};function Zp(u){let t=u.length-4,n=3,r,s;if((u[n][1].type==="lineEnding"||u[n][1].type==="space")&&(u[t][1].type==="lineEnding"||u[t][1].type==="space")){for(r=n;++r=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return tthis.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(t,n,r){const s=n||0;this.setCursor(Math.trunc(t));const i=this.right.splice(this.right.length-s,Number.POSITIVE_INFINITY);return r&&i0(this.left,r),i.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),i0(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),i0(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t=4?t(o):u.interrupt(r.parser.constructs.flow,n,t)(o)}}function $l(u,t,n,r,s,i,o,d,m){const _=m||Number.POSITIVE_INFINITY;let f=0;return h;function h(B){return B===60?(u.enter(r),u.enter(s),u.enter(i),u.consume(B),u.exit(i),g):B===null||B===32||B===41||da(B)?n(B):(u.enter(r),u.enter(o),u.enter(d),u.enter("chunkString",{contentType:"string"}),C(B))}function g(B){return B===62?(u.enter(i),u.consume(B),u.exit(i),u.exit(s),u.exit(r),t):(u.enter(d),u.enter("chunkString",{contentType:"string"}),D(B))}function D(B){return B===62?(u.exit("chunkString"),u.exit(d),g(B)):B===null||B===60||K(B)?n(B):(u.consume(B),B===92?E:D)}function E(B){return B===60||B===62||B===92?(u.consume(B),D):D(B)}function C(B){return!f&&(B===null||B===41||Su(B))?(u.exit("chunkString"),u.exit(d),u.exit(o),u.exit(r),t(B)):f<_&&B===40?(u.consume(B),f++,C):B===41?(u.consume(B),f--,C):B===null||B===32||B===40||da(B)?n(B):(u.consume(B),B===92?A:C)}function A(B){return B===40||B===41||B===92?(u.consume(B),C):C(B)}}function Jl(u,t,n,r,s,i){const o=this;let d=0,m;return _;function _(D){return u.enter(r),u.enter(s),u.consume(D),u.exit(s),u.enter(i),f}function f(D){return d>999||D===null||D===91||D===93&&!m||D===94&&!d&&"_hiddenFootnoteSupport"in o.parser.constructs?n(D):D===93?(u.exit(i),u.enter(s),u.consume(D),u.exit(s),u.exit(r),t):K(D)?(u.enter("lineEnding"),u.consume(D),u.exit("lineEnding"),f):(u.enter("chunkString",{contentType:"string"}),h(D))}function h(D){return D===null||D===91||D===93||K(D)||d++>999?(u.exit("chunkString"),f(D)):(u.consume(D),m||(m=!au(D)),D===92?g:h)}function g(D){return D===91||D===92||D===93?(u.consume(D),d++,h):h(D)}}function ql(u,t,n,r,s,i){let o;return d;function d(g){return g===34||g===39||g===40?(u.enter(r),u.enter(s),u.consume(g),u.exit(s),o=g===40?41:g,m):n(g)}function m(g){return g===o?(u.enter(s),u.consume(g),u.exit(s),u.exit(r),t):(u.enter(i),_(g))}function _(g){return g===o?(u.exit(i),m(o)):g===null?n(g):K(g)?(u.enter("lineEnding"),u.consume(g),u.exit("lineEnding"),lu(u,_,"linePrefix")):(u.enter("chunkString",{contentType:"string"}),f(g))}function f(g){return g===o||g===null||K(g)?(u.exit("chunkString"),_(g)):(u.consume(g),g===92?h:f)}function h(g){return g===o||g===92?(u.consume(g),f):f(g)}}function f0(u,t){let n;return r;function r(s){return K(s)?(u.enter("lineEnding"),u.consume(s),u.exit("lineEnding"),n=!0,r):au(s)?lu(u,r,n?"linePrefix":"lineSuffix")(s):t(s)}}const iD={name:"definition",tokenize:lD},oD={partial:!0,tokenize:dD};function lD(u,t,n){const r=this;let s;return i;function i(D){return u.enter("definition"),o(D)}function o(D){return Jl.call(r,u,d,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(D)}function d(D){return s=zt(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),D===58?(u.enter("definitionMarker"),u.consume(D),u.exit("definitionMarker"),m):n(D)}function m(D){return Su(D)?f0(u,_)(D):_(D)}function _(D){return $l(u,f,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(D)}function f(D){return u.attempt(oD,h,h)(D)}function h(D){return au(D)?lu(u,g,"whitespace")(D):g(D)}function g(D){return D===null||K(D)?(u.exit("definition"),r.parser.defined.push(s),t(D)):n(D)}}function dD(u,t,n){return r;function r(d){return Su(d)?f0(u,s)(d):n(d)}function s(d){return ql(u,i,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(d)}function i(d){return au(d)?lu(u,o,"whitespace")(d):o(d)}function o(d){return d===null||K(d)?t(d):n(d)}}const cD={name:"hardBreakEscape",tokenize:mD};function mD(u,t,n){return r;function r(i){return u.enter("hardBreakEscape"),u.consume(i),s}function s(i){return K(i)?(u.exit("hardBreakEscape"),t(i)):n(i)}}const _D={name:"headingAtx",resolve:hD,tokenize:fD};function hD(u,t){let n=u.length-2,r=3,s,i;return u[r][1].type==="whitespace"&&(r+=2),n-2>r&&u[n][1].type==="whitespace"&&(n-=2),u[n][1].type==="atxHeadingSequence"&&(r===n-1||n-4>r&&u[n-2][1].type==="whitespace")&&(n-=r+1===n?2:4),n>r&&(s={type:"atxHeadingText",start:u[r][1].start,end:u[n][1].end},i={type:"chunkText",start:u[r][1].start,end:u[n][1].end,contentType:"text"},Ce(u,r,n-r+1,[["enter",s,t],["enter",i,t],["exit",i,t],["exit",s,t]])),u}function fD(u,t,n){let r=0;return s;function s(f){return u.enter("atxHeading"),i(f)}function i(f){return u.enter("atxHeadingSequence"),o(f)}function o(f){return f===35&&r++<6?(u.consume(f),o):f===null||Su(f)?(u.exit("atxHeadingSequence"),d(f)):n(f)}function d(f){return f===35?(u.enter("atxHeadingSequence"),m(f)):f===null||K(f)?(u.exit("atxHeading"),t(f)):au(f)?lu(u,d,"whitespace")(f):(u.enter("atxHeadingText"),_(f))}function m(f){return f===35?(u.consume(f),m):(u.exit("atxHeadingSequence"),d(f))}function _(f){return f===null||f===35||Su(f)?(u.exit("atxHeadingText"),d(f)):(u.consume(f),_)}}const pD=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],fo=["pre","script","style","textarea"],DD={concrete:!0,name:"htmlFlow",resolveTo:ED,tokenize:CD},yD={partial:!0,tokenize:MD},gD={partial:!0,tokenize:AD};function ED(u){let t=u.length;for(;t--&&!(u[t][0]==="enter"&&u[t][1].type==="htmlFlow"););return t>1&&u[t-2][1].type==="linePrefix"&&(u[t][1].start=u[t-2][1].start,u[t+1][1].start=u[t-2][1].start,u.splice(t-2,2)),u}function CD(u,t,n){const r=this;let s,i,o,d,m;return _;function _(v){return f(v)}function f(v){return u.enter("htmlFlow"),u.enter("htmlFlowData"),u.consume(v),h}function h(v){return v===33?(u.consume(v),g):v===47?(u.consume(v),i=!0,C):v===63?(u.consume(v),s=3,r.interrupt?t:L):Ee(v)?(u.consume(v),o=String.fromCharCode(v),A):n(v)}function g(v){return v===45?(u.consume(v),s=2,D):v===91?(u.consume(v),s=5,d=0,E):Ee(v)?(u.consume(v),s=4,r.interrupt?t:L):n(v)}function D(v){return v===45?(u.consume(v),r.interrupt?t:L):n(v)}function E(v){const Eu="CDATA[";return v===Eu.charCodeAt(d++)?(u.consume(v),d===Eu.length?r.interrupt?t:F:E):n(v)}function C(v){return Ee(v)?(u.consume(v),o=String.fromCharCode(v),A):n(v)}function A(v){if(v===null||v===47||v===62||Su(v)){const Eu=v===47,R=o.toLowerCase();return!Eu&&!i&&fo.includes(R)?(s=1,r.interrupt?t(v):F(v)):pD.includes(o.toLowerCase())?(s=6,Eu?(u.consume(v),B):r.interrupt?t(v):F(v)):(s=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(v):i?b(v):T(v))}return v===45||Nu(v)?(u.consume(v),o+=String.fromCharCode(v),A):n(v)}function B(v){return v===62?(u.consume(v),r.interrupt?t:F):n(v)}function b(v){return au(v)?(u.consume(v),b):y(v)}function T(v){return v===47?(u.consume(v),y):v===58||v===95||Ee(v)?(u.consume(v),O):au(v)?(u.consume(v),T):y(v)}function O(v){return v===45||v===46||v===58||v===95||Nu(v)?(u.consume(v),O):W(v)}function W(v){return v===61?(u.consume(v),Y):au(v)?(u.consume(v),W):T(v)}function Y(v){return v===null||v===60||v===61||v===62||v===96?n(v):v===34||v===39?(u.consume(v),m=v,V):au(v)?(u.consume(v),Y):J(v)}function V(v){return v===m?(u.consume(v),m=null,$):v===null||K(v)?n(v):(u.consume(v),V)}function J(v){return v===null||v===34||v===39||v===47||v===60||v===61||v===62||v===96||Su(v)?W(v):(u.consume(v),J)}function $(v){return v===47||v===62||au(v)?T(v):n(v)}function y(v){return v===62?(u.consume(v),k):n(v)}function k(v){return v===null||K(v)?F(v):au(v)?(u.consume(v),k):n(v)}function F(v){return v===45&&s===2?(u.consume(v),su):v===60&&s===1?(u.consume(v),mu):v===62&&s===4?(u.consume(v),vu):v===63&&s===3?(u.consume(v),L):v===93&&s===5?(u.consume(v),gu):K(v)&&(s===6||s===7)?(u.exit("htmlFlowData"),u.check(yD,ku,S)(v)):v===null||K(v)?(u.exit("htmlFlowData"),S(v)):(u.consume(v),F)}function S(v){return u.check(gD,U,ku)(v)}function U(v){return u.enter("lineEnding"),u.consume(v),u.exit("lineEnding"),I}function I(v){return v===null||K(v)?S(v):(u.enter("htmlFlowData"),F(v))}function su(v){return v===45?(u.consume(v),L):F(v)}function mu(v){return v===47?(u.consume(v),o="",Au):F(v)}function Au(v){if(v===62){const Eu=o.toLowerCase();return fo.includes(Eu)?(u.consume(v),vu):F(v)}return Ee(v)&&o.length<8?(u.consume(v),o+=String.fromCharCode(v),Au):F(v)}function gu(v){return v===93?(u.consume(v),L):F(v)}function L(v){return v===62?(u.consume(v),vu):v===45&&s===2?(u.consume(v),L):F(v)}function vu(v){return v===null||K(v)?(u.exit("htmlFlowData"),ku(v)):(u.consume(v),vu)}function ku(v){return u.exit("htmlFlow"),t(v)}}function AD(u,t,n){const r=this;return s;function s(o){return K(o)?(u.enter("lineEnding"),u.consume(o),u.exit("lineEnding"),i):n(o)}function i(o){return r.parser.lazy[r.now().line]?n(o):t(o)}}function MD(u,t,n){return r;function r(s){return u.enter("lineEnding"),u.consume(s),u.exit("lineEnding"),u.attempt(Fn,t,n)}}const LD={name:"htmlText",tokenize:vD};function vD(u,t,n){const r=this;let s,i,o;return d;function d(L){return u.enter("htmlText"),u.enter("htmlTextData"),u.consume(L),m}function m(L){return L===33?(u.consume(L),_):L===47?(u.consume(L),W):L===63?(u.consume(L),T):Ee(L)?(u.consume(L),J):n(L)}function _(L){return L===45?(u.consume(L),f):L===91?(u.consume(L),i=0,E):Ee(L)?(u.consume(L),b):n(L)}function f(L){return L===45?(u.consume(L),D):n(L)}function h(L){return L===null?n(L):L===45?(u.consume(L),g):K(L)?(o=h,mu(L)):(u.consume(L),h)}function g(L){return L===45?(u.consume(L),D):h(L)}function D(L){return L===62?su(L):L===45?g(L):h(L)}function E(L){const vu="CDATA[";return L===vu.charCodeAt(i++)?(u.consume(L),i===vu.length?C:E):n(L)}function C(L){return L===null?n(L):L===93?(u.consume(L),A):K(L)?(o=C,mu(L)):(u.consume(L),C)}function A(L){return L===93?(u.consume(L),B):C(L)}function B(L){return L===62?su(L):L===93?(u.consume(L),B):C(L)}function b(L){return L===null||L===62?su(L):K(L)?(o=b,mu(L)):(u.consume(L),b)}function T(L){return L===null?n(L):L===63?(u.consume(L),O):K(L)?(o=T,mu(L)):(u.consume(L),T)}function O(L){return L===62?su(L):T(L)}function W(L){return Ee(L)?(u.consume(L),Y):n(L)}function Y(L){return L===45||Nu(L)?(u.consume(L),Y):V(L)}function V(L){return K(L)?(o=V,mu(L)):au(L)?(u.consume(L),V):su(L)}function J(L){return L===45||Nu(L)?(u.consume(L),J):L===47||L===62||Su(L)?$(L):n(L)}function $(L){return L===47?(u.consume(L),su):L===58||L===95||Ee(L)?(u.consume(L),y):K(L)?(o=$,mu(L)):au(L)?(u.consume(L),$):su(L)}function y(L){return L===45||L===46||L===58||L===95||Nu(L)?(u.consume(L),y):k(L)}function k(L){return L===61?(u.consume(L),F):K(L)?(o=k,mu(L)):au(L)?(u.consume(L),k):$(L)}function F(L){return L===null||L===60||L===61||L===62||L===96?n(L):L===34||L===39?(u.consume(L),s=L,S):K(L)?(o=F,mu(L)):au(L)?(u.consume(L),F):(u.consume(L),U)}function S(L){return L===s?(u.consume(L),s=void 0,I):L===null?n(L):K(L)?(o=S,mu(L)):(u.consume(L),S)}function U(L){return L===null||L===34||L===39||L===60||L===61||L===96?n(L):L===47||L===62||Su(L)?$(L):(u.consume(L),U)}function I(L){return L===47||L===62||Su(L)?$(L):n(L)}function su(L){return L===62?(u.consume(L),u.exit("htmlTextData"),u.exit("htmlText"),t):n(L)}function mu(L){return u.exit("htmlTextData"),u.enter("lineEnding"),u.consume(L),u.exit("lineEnding"),Au}function Au(L){return au(L)?lu(u,gu,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(L):gu(L)}function gu(L){return u.enter("htmlTextData"),o(L)}}const ja={name:"labelEnd",resolveAll:xD,resolveTo:YD,tokenize:wD},BD={tokenize:bD},kD={tokenize:TD},FD={tokenize:SD};function xD(u){let t=-1;const n=[];for(;++t=3&&(_===null||K(_))?(u.exit("thematicBreak"),t(_)):n(_)}function m(_){return _===s?(u.consume(_),r++,m):(u.exit("thematicBreakSequence"),au(_)?lu(u,d,"whitespace")(_):d(_))}}const bu={continuation:{tokenize:UD},exit:$D,name:"list",tokenize:RD},zD={partial:!0,tokenize:JD},ND={partial:!0,tokenize:VD};function RD(u,t,n){const r=this,s=r.events[r.events.length-1];let i=s&&s[1].type==="linePrefix"?s[2].sliceSerialize(s[1],!0).length:0,o=0;return d;function d(D){const E=r.containerState.type||(D===42||D===43||D===45?"listUnordered":"listOrdered");if(E==="listUnordered"?!r.containerState.marker||D===r.containerState.marker:ca(D)){if(r.containerState.type||(r.containerState.type=E,u.enter(E,{_container:!0})),E==="listUnordered")return u.enter("listItemPrefix"),D===42||D===45?u.check(tn,n,_)(D):_(D);if(!r.interrupt||D===49)return u.enter("listItemPrefix"),u.enter("listItemValue"),m(D)}return n(D)}function m(D){return ca(D)&&++o<10?(u.consume(D),m):(!r.interrupt||o<2)&&(r.containerState.marker?D===r.containerState.marker:D===41||D===46)?(u.exit("listItemValue"),_(D)):n(D)}function _(D){return u.enter("listItemMarker"),u.consume(D),u.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||D,u.check(Fn,r.interrupt?n:f,u.attempt(zD,g,h))}function f(D){return r.containerState.initialBlankLine=!0,i++,g(D)}function h(D){return au(D)?(u.enter("listItemPrefixWhitespace"),u.consume(D),u.exit("listItemPrefixWhitespace"),g):n(D)}function g(D){return r.containerState.size=i+r.sliceSerialize(u.exit("listItemPrefix"),!0).length,t(D)}}function UD(u,t,n){const r=this;return r.containerState._closeFlow=void 0,u.check(Fn,s,i);function s(d){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,lu(u,t,"listItemIndent",r.containerState.size+1)(d)}function i(d){return r.containerState.furtherBlankLines||!au(d)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,o(d)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,u.attempt(ND,t,o)(d))}function o(d){return r.containerState._closeFlow=!0,r.interrupt=void 0,lu(u,u.attempt(bu,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(d)}}function VD(u,t,n){const r=this;return lu(u,s,"listItemIndent",r.containerState.size+1);function s(i){const o=r.events[r.events.length-1];return o&&o[1].type==="listItemIndent"&&o[2].sliceSerialize(o[1],!0).length===r.containerState.size?t(i):n(i)}}function $D(u){u.exit(this.containerState.type)}function JD(u,t,n){const r=this;return lu(u,s,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function s(i){const o=r.events[r.events.length-1];return!au(i)&&o&&o[1].type==="listItemPrefixWhitespace"?t(i):n(i)}}const po={name:"setextUnderline",resolveTo:qD,tokenize:GD};function qD(u,t){let n=u.length,r,s,i;for(;n--;)if(u[n][0]==="enter"){if(u[n][1].type==="content"){r=n;break}u[n][1].type==="paragraph"&&(s=n)}else u[n][1].type==="content"&&u.splice(n,1),!i&&u[n][1].type==="definition"&&(i=n);const o={type:"setextHeading",start:{...u[r][1].start},end:{...u[u.length-1][1].end}};return u[s][1].type="setextHeadingText",i?(u.splice(s,0,["enter",o,t]),u.splice(i+1,0,["exit",u[r][1],t]),u[r][1].end={...u[i][1].end}):u[r][1]=o,u.push(["exit",o,t]),u}function GD(u,t,n){const r=this;let s;return i;function i(_){let f=r.events.length,h;for(;f--;)if(r.events[f][1].type!=="lineEnding"&&r.events[f][1].type!=="linePrefix"&&r.events[f][1].type!=="content"){h=r.events[f][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||h)?(u.enter("setextHeadingLine"),s=_,o(_)):n(_)}function o(_){return u.enter("setextHeadingLineSequence"),d(_)}function d(_){return _===s?(u.consume(_),d):(u.exit("setextHeadingLineSequence"),au(_)?lu(u,m,"lineSuffix")(_):m(_))}function m(_){return _===null||K(_)?(u.exit("setextHeadingLine"),t(_)):n(_)}}const KD={tokenize:ZD};function ZD(u){const t=this,n=u.attempt(Fn,r,u.attempt(this.parser.constructs.flowInitial,s,lu(u,u.attempt(this.parser.constructs.flow,s,u.attempt(tD,s)),"linePrefix")));return n;function r(i){if(i===null){u.consume(i);return}return u.enter("lineEndingBlank"),u.consume(i),u.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function s(i){if(i===null){u.consume(i);return}return u.enter("lineEnding"),u.consume(i),u.exit("lineEnding"),t.currentConstruct=void 0,n}}const QD={resolveAll:Kl()},XD=Gl("string"),u2=Gl("text");function Gl(u){return{resolveAll:Kl(u==="text"?e2:void 0),tokenize:t};function t(n){const r=this,s=this.parser.constructs[u],i=n.attempt(s,o,d);return o;function o(f){return _(f)?i(f):d(f)}function d(f){if(f===null){n.consume(f);return}return n.enter("data"),n.consume(f),m}function m(f){return _(f)?(n.exit("data"),i(f)):(n.consume(f),m)}function _(f){if(f===null)return!0;const h=s[f];let g=-1;if(h)for(;++g-1){const d=o[0];typeof d=="string"?o[0]=d.slice(r):o.shift()}i>0&&o.push(u[s].slice(0,i))}return o}function h2(u,t){let n=-1;const r=[];let s;for(;++n({...u,...t.props}),{}),ariaLabelClearSelected:ru("Clear selected"),ariaLabelListbox:ru("Options")};const Cf={name:"AlertCircleOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Mf=function(){var u=this,t=u._self._c;return t("span",u._b({staticClass:"material-design-icon alert-circle-outline-icon",attrs:{"aria-hidden":u.title?null:"true","aria-label":u.title,role:"img"},on:{click:function(n){return u.$emit("click",n)}}},"span",u.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:u.fillColor,width:u.size,height:u.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z"}},[u.title?t("title",[u._v(u._s(u.title))]):u._e()])])])},Lf=[],vf=Lu(Cf,Mf,Lf,!1,null,null);const Bf=vf.exports,kf={name:"CheckIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Ff=function(){var u=this,t=u._self._c;return t("span",u._b({staticClass:"material-design-icon check-icon",attrs:{"aria-hidden":u.title?null:"true","aria-label":u.title,role:"img"},on:{click:function(n){return u.$emit("click",n)}}},"span",u.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:u.fillColor,width:u.size,height:u.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}},[u.title?t("title",[u._v(u._s(u.title))]):u._e()])])])},xf=[],Yf=Lu(kf,Ff,xf,!1,null,null);const wf=Yf.exports,bf={name:"NcInputField",components:{NcButton:ga,AlertCircle:Bf,Check:wf},inheritAttrs:!1,model:{prop:"modelValue",event:"update:modelValue"},props:{value:{type:[String,Number],default:void 0},modelValue:{type:[String,Number],default:void 0},type:{type:String,default:"text",validator:u=>["text","password","email","tel","url","search","number"].includes(u)},label:{type:String,default:void 0},labelOutside:{type:Boolean,default:!1},placeholder:{type:String,default:void 0},showTrailingButton:{type:Boolean,default:!1},trailingButtonLabel:{type:String,default:""},success:{type:Boolean,default:!1},error:{type:Boolean,default:!1},helperText:{type:String,default:""},disabled:{type:Boolean,default:!1},pill:{type:Boolean,default:!1},inputClass:{type:[Object,String],default:""}},emits:["update:value","update:modelValue","update:model-value","trailing-button-click"],setup(){return{model:yh("value","update:value",!0)}},computed:{computedId(){return this.$attrs.id&&this.$attrs.id!==""?this.$attrs.id:this.inputName},inputName(){return"input"+Zr()},hasTrailingIcon(){return this.success},hasPlaceholder(){return this.placeholder!==""&&this.placeholder!==void 0},computedPlaceholder(){return this.hasPlaceholder?this.placeholder:this.label},isValidLabel(){const u=this.label||this.labelOutside;return u||console.warn("You need to add a label to the NcInputField component. Either use the prop label or use an external one, as per the example in the documentation."),u},ariaDescribedby(){const u=[];return this.helperText.length>0&&u.push(`${this.inputName}-helper-text`),this.$attrs["aria-describedby"]&&u.push(this.$attrs["aria-describedby"]),u.join(" ")||null}},methods:{focus(){this.$refs.input.focus()},select(){this.$refs.input.select()},handleInput(u){const t=this.type==="number"&&typeof this.model=="number"?parseFloat(u.target.value,10):u.target.value;this.model=t},handleTrailingButtonClick(u){this.$emit("trailing-button-click",u)}}};var Tf=function(){var u=this,t=u._self._c;return t("div",{staticClass:"input-field",class:{"input-field--disabled":u.disabled,"input-field--label-outside":u.labelOutside||!u.isValidLabel,"input-field--leading-icon":!!u.$scopedSlots.icon||!!u.$scopedSlots.default||!!u.$slots.default,"input-field--trailing-icon":u.showTrailingButton||u.hasTrailingIcon,"input-field--pill":u.pill}},[t("div",{staticClass:"input-field__main-wrapper"},[t("input",u._g(u._b({ref:"input",staticClass:"input-field__input",class:[u.inputClass,{"input-field__input--success":u.success,"input-field__input--error":u.error}],attrs:{id:u.computedId,type:u.type,disabled:u.disabled,placeholder:u.computedPlaceholder,"aria-describedby":u.ariaDescribedby,"aria-live":"polite"},domProps:{value:u.model?.toString()},on:{input:u.handleInput}},"input",u.$attrs,!1),u.$listeners)),!u.labelOutside&&u.isValidLabel?t("label",{staticClass:"input-field__label",attrs:{for:u.computedId}},[u._v(" "+u._s(u.label)+" ")]):u._e(),t("div",{directives:[{name:"show",rawName:"v-show",value:!!u.$scopedSlots.icon||!!u.$scopedSlots.default||!!u.$slots.default,expression:"!!$scopedSlots.icon || !!$scopedSlots.default || !!$slots.default"}],staticClass:"input-field__icon input-field__icon--leading"},[u._t("icon",function(){return[u._t("default")]})],2),u.showTrailingButton?t("NcButton",{staticClass:"input-field__trailing-button",attrs:{"aria-label":u.trailingButtonLabel,disabled:u.disabled,variant:"tertiary-no-background"},on:{click:u.handleTrailingButtonClick},scopedSlots:u._u([{key:"icon",fn:function(){return[u._t("trailing-button-icon")]},proxy:!0}],null,!0)}):u.success||u.error?t("div",{staticClass:"input-field__icon input-field__icon--trailing"},[u.success?t("Check",{staticStyle:{color:"var(--color-success-text)"},attrs:{size:20}}):u.error?t("AlertCircle",{staticStyle:{color:"var(--color-error-text)"},attrs:{size:20}}):u._e()],1):u._e()],1),u.helperText.length>0?t("p",{staticClass:"input-field__helper-text-message",class:{"input-field__helper-text-message--error":u.error,"input-field__helper-text-message--success":u.success},attrs:{id:`${u.inputName}-helper-text`}},[u.success?t("Check",{staticClass:"input-field__helper-text-message__icon",attrs:{size:18}}):u.error?t("AlertCircle",{staticClass:"input-field__helper-text-message__icon",attrs:{size:18}}):u._e(),u._v(" "+u._s(u.helperText)+" ")],1):u._e()])},Sf=[],Hf=Lu(bf,Tf,Sf,!1,null,"8f3abf17");const Vi=Hf.exports;Nu(gh,Eh),new Set(Object.keys(Vi.props)),{...Vi.props},Nu(Ah);const jf=3*60*1e3,Of={name:"NcReferenceWidget",components:{NcButton:ga},props:{reference:{type:Object,required:!0},interactive:{type:Boolean,default:!0},interactiveOptIn:{type:Boolean,default:!1}},setup(){const u=se(!1),t=se(),{width:n}=Yh(t);return wh(t,([r])=>{Nh(()=>{u.value=r.isIntersecting})}),{width:n,isVisible:u,widgetRoot:t}},data(){return{showInteractive:!1,rendered:!1,idleTimeout:null}},computed:{isInteractive(){return!this.interactiveOptIn&&this.interactive||this.showInteractive},hasFullWidth(){return Df(this.reference.richObjectType)},hasCustomWidget(){return Ri(this.reference.richObjectType)},hasInteractiveView(){return Ri(this.reference.richObjectType)&&pf(this.reference.richObjectType)},noAccess(){return this.reference&&!this.reference.accessible},descriptionStyle(){if(this.numberOfLines===0)return{display:"none"};const u=this.numberOfLines;return{lineClamp:u,webkitLineClamp:u}},numberOfLines(){return[450,550,650,1/0].findIndex(u=>this.width{this.isVisible||this.destroyWidget()},jf);return}this.idleTimeout&&(clearTimeout(this.idleTimeout),this.idleTimeout=null),this.rendered||this.renderWidget()},immediate:!0}},beforeDestroy(){this.destroyWidget()},methods:{t:ru,enableInteractive(){this.showInteractive=!0,this.renderWidget()},renderWidget(){if(!this.$refs.customWidget||this?.reference?.richObjectType==="open-graph")return;this.$refs.customWidget.innerHTML="";const u=document.createElement("div");u.style="width: 100%;",this.$refs.customWidget.appendChild(u),this.$nextTick(()=>{Ef(u,{...this.reference,interactive:this.isInteractive}),this.rendered=!0})},destroyWidget(){this.rendered&&(gf(this.reference.richObjectType,this.$el),this.rendered=!1)}}};var Pf=function(){var u=this,t=u._self._c;return t("div",{ref:"widgetRoot",class:{"toggle-interactive":u.hasInteractiveView&&!u.isInteractive}},[u.reference&&u.hasCustomWidget?t("div",{ref:"customWidget",staticClass:"widget-custom",class:{"full-width":u.hasFullWidth}}):!u.noAccess&&u.reference&&u.reference.openGraphObject&&!u.hasCustomWidget?t(u.referenceWidgetLinkComponent,u._b({tag:"component",staticClass:"widget-default",attrs:{rel:"noopener noreferrer"}},"component",u.referenceWidgetLinkProps,!1),[u.reference.openGraphObject.thumb?t("img",{staticClass:"widget-default--image",attrs:{src:u.reference.openGraphObject.thumb}}):u._e(),t("div",{staticClass:"widget-default--details"},[t("p",{staticClass:"widget-default--name"},[u._v(" "+u._s(u.reference.openGraphObject.name)+" ")]),t("p",{staticClass:"widget-default--description",style:u.descriptionStyle},[u._v(" "+u._s(u.reference.openGraphObject.description)+" ")]),t("p",{staticClass:"widget-default--link"},[u._v(" "+u._s(u.compactLink)+" ")])])]):u._e(),u.interactiveOptIn&&u.hasInteractiveView&&!u.isInteractive?t("NcButton",{staticClass:"toggle-interactive--button",on:{click:u.enableInteractive}},[u._v(" "+u._s(u.t("Enable interactive view"))+" ")]):u._e()],1)},If=[],Wf=Lu(Of,Pf,If,!1,null,"734d6ae9");const Nf=Wf.exports;Nu(Ch),ru("Any link"),Mh("core","filetypes/link.svg"),window._vue_richtext_reference_providers||(window._vue_richtext_reference_providers=on("core","reference-provider-list",[])),window._vue_richtext_reference_provider_timestamps||(window._vue_richtext_reference_provider_timestamps=on("core","reference-provider-timestamps",{})),Nu(fi,Lh),Nu(vh),Nu(kh,fi,Bh),Nu(xh,Fh);function $i(){return on("files_sharing","sharingToken",null)??document.querySelector('input#sharingToken[type="hidden"]')?.value??null}function Ji(u){if(u)throw u}var en=Object.prototype.hasOwnProperty,Pl=Object.prototype.toString,qi=Object.defineProperty,Gi=Object.getOwnPropertyDescriptor,Ki=function(u){return typeof Array.isArray=="function"?Array.isArray(u):Pl.call(u)==="[object Array]"},Zi=function(u){if(!u||Pl.call(u)!=="[object Object]")return!1;var t=en.call(u,"constructor"),n=u.constructor&&u.constructor.prototype&&en.call(u.constructor.prototype,"isPrototypeOf");if(u.constructor&&!t&&!n)return!1;var r;for(r in u);return typeof r>"u"||en.call(u,r)},Qi=function(u,t){qi&&t.name==="__proto__"?qi(u,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):u[t.name]=t.newValue},Xi=function(u,t){if(t==="__proto__")if(en.call(u,t)){if(Gi)return Gi(u,t).value}else return;return u[t]},zf=function u(){var t,n,r,s,i,o,d=arguments[0],m=1,_=arguments.length,f=!1;for(typeof d=="boolean"&&(f=d,d=arguments[1]||{},m=2),(d==null||typeof d!="object"&&typeof d!="function")&&(d={});m<_;++m)if(t=arguments[m],t!=null)for(n in t)r=Xi(d,n),s=Xi(t,n),d!==s&&(f&&s&&(Zi(s)||(i=Ki(s)))?(i?(i=!1,o=r&&Ki(r)?r:[]):o=r&&Zi(r)?r:{},Qi(d,{name:n,newValue:u(f,o,s)})):typeof s<"u"&&Qi(d,{name:n,newValue:s}));return d};const Sr=E0(zf);function ia(u){if(typeof u!="object"||u===null)return!1;const t=Object.getPrototypeOf(u);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in u)&&!(Symbol.iterator in u)}function Rf(){const u=[],t={run:n,use:r};return t;function n(...s){let i=-1;const o=s.pop();if(typeof o!="function")throw new TypeError("Expected function as last argument, not "+o);d(null,...s);function d(m,..._){const f=u[++i];let h=-1;if(m){o(m);return}for(;++ho.length;let m;d&&o.push(s);try{m=u.apply(this,o)}catch(_){const f=_;if(d&&n)throw f;return s(f)}d||(m instanceof Promise?m.then(i,s):m instanceof Error?s(m):i(m))}function s(o,...d){n||(n=!0,t(o,...d))}function i(o){s(null,o)}}function h0(u){return!u||typeof u!="object"?"":"position"in u||"type"in u?uo(u.position):"start"in u||"end"in u?uo(u):"line"in u||"column"in u?oa(u):""}function oa(u){return eo(u&&u.line)+":"+eo(u&&u.column)}function uo(u){return oa(u&&u.start)+"-"+oa(u&&u.end)}function eo(u){return u&&typeof u=="number"?u:1}class wu extends Error{constructor(t,n,r){super(),typeof n=="string"&&(r=n,n=void 0);let s="",i={},o=!1;if(n&&("line"in n&&"column"in n?i={place:n}:"start"in n&&"end"in n?i={place:n}:"type"in n?i={ancestors:[n],place:n.position}:i={...n}),typeof t=="string"?s=t:!i.cause&&t&&(o=!0,s=t.message,i.cause=t),!i.ruleId&&!i.source&&typeof r=="string"){const m=r.indexOf(":");m===-1?i.ruleId=r:(i.source=r.slice(0,m),i.ruleId=r.slice(m+1))}if(!i.place&&i.ancestors&&i.ancestors){const m=i.ancestors[i.ancestors.length-1];m&&(i.place=m.position)}const d=i.place&&"start"in i.place?i.place.start:i.place;this.ancestors=i.ancestors||void 0,this.cause=i.cause||void 0,this.column=d?d.column:void 0,this.fatal=void 0,this.file,this.message=s,this.line=d?d.line:void 0,this.name=h0(i.place)||"1:1",this.place=i.place||void 0,this.reason=this.message,this.ruleId=i.ruleId||void 0,this.source=i.source||void 0,this.stack=o&&i.cause&&typeof i.cause.stack=="string"?i.cause.stack:"",this.actual,this.expected,this.note,this.url}}wu.prototype.file="",wu.prototype.name="",wu.prototype.reason="",wu.prototype.message="",wu.prototype.stack="",wu.prototype.column=void 0,wu.prototype.line=void 0,wu.prototype.ancestors=void 0,wu.prototype.cause=void 0,wu.prototype.fatal=void 0,wu.prototype.place=void 0,wu.prototype.ruleId=void 0,wu.prototype.source=void 0;const ye={basename:Vf,dirname:$f,extname:Jf,join:qf,sep:"/"};function Vf(u,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');A0(u);let n=0,r=-1,s=u.length,i;if(t===void 0||t.length===0||t.length>u.length){for(;s--;)if(u.codePointAt(s)===47){if(i){n=s+1;break}}else r<0&&(i=!0,r=s+1);return r<0?"":u.slice(n,r)}if(t===u)return"";let o=-1,d=t.length-1;for(;s--;)if(u.codePointAt(s)===47){if(i){n=s+1;break}}else o<0&&(i=!0,o=s+1),d>-1&&(u.codePointAt(s)===t.codePointAt(d--)?d<0&&(r=s):(d=-1,r=o));return n===r?r=o:r<0&&(r=u.length),u.slice(n,r)}function $f(u){if(A0(u),u.length===0)return".";let t=-1,n=u.length,r;for(;--n;)if(u.codePointAt(n)===47){if(r){t=n;break}}else r||(r=!0);return t<0?u.codePointAt(0)===47?"/":".":t===1&&u.codePointAt(0)===47?"//":u.slice(0,t)}function Jf(u){A0(u);let t=u.length,n=-1,r=0,s=-1,i=0,o;for(;t--;){const d=u.codePointAt(t);if(d===47){if(o){r=t+1;break}continue}n<0&&(o=!0,n=t+1),d===46?s<0?s=t:i!==1&&(i=1):s>-1&&(i=-1)}return s<0||n<0||i===0||i===1&&s===n-1&&s===r+1?"":u.slice(s,n)}function qf(...u){let t=-1,n;for(;++t0&&u.codePointAt(u.length-1)===47&&(n+="/"),t?"/"+n:n}function Kf(u,t){let n="",r=0,s=-1,i=0,o=-1,d,m;for(;++o<=u.length;){if(o2){if(m=n.lastIndexOf("/"),m!==n.length-1){m<0?(n="",r=0):(n=n.slice(0,m),r=n.length-1-n.lastIndexOf("/")),s=o,i=0;continue}}else if(n.length>0){n="",r=0,s=o,i=0;continue}}t&&(n=n.length>0?n+"/..":"..",r=2)}else n.length>0?n+="/"+u.slice(s+1,o):n=u.slice(s+1,o),r=o-s-1;s=o,i=0}else d===46&&i>-1?i++:i=-1}return n}function A0(u){if(typeof u!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(u))}const Zf={cwd:Qf};function Qf(){return"/"}function la(u){return!!(u!==null&&typeof u=="object"&&"href"in u&&u.href&&"protocol"in u&&u.protocol&&u.auth===void 0)}function Xf(u){if(typeof u=="string")u=new URL(u);else if(!la(u)){const t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+u+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if(u.protocol!=="file:"){const t=new TypeError("The URL must be of scheme file");throw t.code="ERR_INVALID_URL_SCHEME",t}return up(u)}function up(u){if(u.hostname!==""){const r=new TypeError('File URL host must be "localhost" or empty on darwin');throw r.code="ERR_INVALID_FILE_URL_HOST",r}const t=u.pathname;let n=-1;for(;++n0){let[D,...g]=f;const A=r[E][1];ia(A)&&ia(D)&&(D=Sr(!0,A,D)),r[E]=[_,D,...g]}}}}const ap=new Ta().freeze();function Pr(u,t){if(typeof t!="function")throw new TypeError("Cannot `"+u+"` without `parser`")}function Ir(u,t){if(typeof t!="function")throw new TypeError("Cannot `"+u+"` without `compiler`")}function Wr(u,t){if(t)throw new Error("Cannot call `"+u+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function no(u){if(!ia(u)||typeof u.type!="string")throw new TypeError("Expected node, got `"+u+"`")}function ro(u,t,n){if(!n)throw new Error("`"+u+"` finished async. Use `"+t+"` instead")}function U0(u){return sp(u)?u:new ep(u)}function sp(u){return!!(u&&typeof u=="object"&&"message"in u&&"messages"in u)}function ip(u){return typeof u=="string"||op(u)}function op(u){return!!(u&&typeof u=="object"&&"byteLength"in u&&"byteOffset"in u)}const lp={};function dp(u,t){const n=lp,r=typeof n.includeImageAlt=="boolean"?n.includeImageAlt:!0,s=typeof n.includeHtml=="boolean"?n.includeHtml:!0;return Il(u,r,s)}function Il(u,t,n){if(cp(u)){if("value"in u)return u.type==="html"&&!n?"":u.value;if(t&&"alt"in u&&u.alt)return u.alt;if("children"in u)return ao(u.children,t,n)}return Array.isArray(u)?ao(u,t,n):""}function ao(u,t,n){const r=[];let s=-1;for(;++ss?0:s+t:t=t>s?s:t,n=n>0?n:0,r.length<1e4)o=Array.from(r),o.unshift(t,n),u.splice(...o);else for(n&&u.splice(t,n);i0?(Ae(u,u.length,0,t),u):t}const io={}.hasOwnProperty;function mp(u){const t={};let n=-1;for(;++n13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"�":String.fromCodePoint(n)}function zt(u){return u.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const fp=et(new RegExp("\\p{P}","u")),ge=et(/[A-Za-z]/),zu=et(/[\dA-Za-z]/),pp=et(/[#-'*+\--9=?A-Z^-~]/);function da(u){return u!==null&&(u<32||u===127)}const ca=et(/\d/),Dp=et(/[\dA-Fa-f]/),Nl=et(/[!-/:-@[-`{-~]/);function K(u){return u!==null&&u<-2}function Su(u){return u!==null&&(u<0||u===32)}function au(u){return u===-2||u===-1||u===32}function yp(u){return Nl(u)||fp(u)}const Ep=et(/\s/);function et(u){return t;function t(n){return n!==null&&n>-1&&u.test(String.fromCharCode(n))}}function Vt(u){const t=[];let n=-1,r=0,s=0;for(;++n55295&&i<57344){const d=u.charCodeAt(n+1);i<56320&&d>56319&&d<57344?(o=String.fromCharCode(i,d),s=1):o="�"}else o=String.fromCharCode(i);o&&(t.push(u.slice(r,n),encodeURIComponent(o)),r=n+s+1,o=""),s&&(n+=s,s=0)}return t.join("")+u.slice(r)}function lu(u,t,n,r){const s=r?r-1:Number.POSITIVE_INFINITY;let i=0;return o;function o(m){return au(m)?(u.enter(n),d(m)):t(m)}function d(m){return au(m)&&i++o))return;const V=t.events.length;let J=V,$,y;for(;J--;)if(t.events[J][0]==="exit"&&t.events[J][1].type==="chunkFlow"){if($){y=t.events[J][1].end;break}$=!0}for(B(r),Y=V;YT;){const W=n[O];t.containerState=W[1],W[0].exit.call(t,u)}n.length=T}function b(){s.write([null]),i=void 0,s=void 0,t.containerState._closeFlow=void 0}}function Lp(u,t,n){return lu(u,u.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function lo(u){if(u===null||Su(u)||Ep(u))return 1;if(yp(u))return 2}function Ha(u,t,n){const r=[];let s=-1;for(;++s1&&u[n][1].end.offset-u[n][1].start.offset>1?2:1;const h={...u[r][1].end},E={...u[n][1].start};co(h,-m),co(E,m),o={type:m>1?"strongSequence":"emphasisSequence",start:h,end:{...u[r][1].end}},d={type:m>1?"strongSequence":"emphasisSequence",start:{...u[n][1].start},end:E},i={type:m>1?"strongText":"emphasisText",start:{...u[r][1].end},end:{...u[n][1].start}},s={type:m>1?"strong":"emphasis",start:{...o.start},end:{...d.end}},u[r][1].end={...o.start},u[n][1].start={...d.end},_=[],u[r][1].end.offset-u[r][1].start.offset&&(_=ae(_,[["enter",u[r][1],t],["exit",u[r][1],t]])),_=ae(_,[["enter",s,t],["enter",o,t],["exit",o,t],["enter",i,t]]),_=ae(_,Ha(t.parser.constructs.insideSpan.null,u.slice(r+1,n),t)),_=ae(_,[["exit",i,t],["enter",d,t],["exit",d,t],["exit",s,t]]),u[n][1].end.offset-u[n][1].start.offset?(f=2,_=ae(_,[["enter",u[n][1],t],["exit",u[n][1],t]])):f=0,Ae(u,r-1,n-r+3,_),n=r+_.length-f-2;break}}for(n=-1;++n0&&au(Y)?lu(u,b,"linePrefix",i+1)(Y):b(Y)}function b(Y){return Y===null||K(Y)?u.check(mo,A,O)(Y):(u.enter("codeFlowValue"),T(Y))}function T(Y){return Y===null||K(Y)?(u.exit("codeFlowValue"),b(Y)):(u.consume(Y),T)}function O(Y){return u.exit("codeFenced"),t(Y)}function W(Y,V,J){let $=0;return y;function y(I){return Y.enter("lineEnding"),Y.consume(I),Y.exit("lineEnding"),k}function k(I){return Y.enter("codeFencedFence"),au(I)?lu(Y,F,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(I):F(I)}function F(I){return I===d?(Y.enter("codeFencedFenceSequence"),S(I)):J(I)}function S(I){return I===d?($++,Y.consume(I),S):$>=o?(Y.exit("codeFencedFenceSequence"),au(I)?lu(Y,U,"whitespace")(I):U(I)):J(I)}function U(I){return I===null||K(I)?(Y.exit("codeFencedFence"),V(I)):J(I)}}}function jp(u,t,n){const r=this;return s;function s(o){return o===null?n(o):(u.enter("lineEnding"),u.consume(o),u.exit("lineEnding"),i)}function i(o){return r.parser.lazy[r.now().line]?n(o):t(o)}}const Nr={name:"codeIndented",tokenize:Pp},Op={partial:!0,tokenize:Ip};function Pp(u,t,n){const r=this;return s;function s(_){return u.enter("codeIndented"),lu(u,i,"linePrefix",5)(_)}function i(_){const f=r.events[r.events.length-1];return f&&f[1].type==="linePrefix"&&f[2].sliceSerialize(f[1],!0).length>=4?o(_):n(_)}function o(_){return _===null?m(_):K(_)?u.attempt(Op,o,m)(_):(u.enter("codeFlowValue"),d(_))}function d(_){return _===null||K(_)?(u.exit("codeFlowValue"),o(_)):(u.consume(_),d)}function m(_){return u.exit("codeIndented"),t(_)}}function Ip(u,t,n){const r=this;return s;function s(o){return r.parser.lazy[r.now().line]?n(o):K(o)?(u.enter("lineEnding"),u.consume(o),u.exit("lineEnding"),s):lu(u,i,"linePrefix",5)(o)}function i(o){const d=r.events[r.events.length-1];return d&&d[1].type==="linePrefix"&&d[2].sliceSerialize(d[1],!0).length>=4?t(o):K(o)?s(o):n(o)}}const Wp={name:"codeText",previous:zp,resolve:Np,tokenize:Rp};function Np(u){let t=u.length-4,n=3,r,s;if((u[n][1].type==="lineEnding"||u[n][1].type==="space")&&(u[t][1].type==="lineEnding"||u[t][1].type==="space")){for(r=n;++r=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return tthis.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(t,n,r){const s=n||0;this.setCursor(Math.trunc(t));const i=this.right.splice(this.right.length-s,Number.POSITIVE_INFINITY);return r&&i0(this.left,r),i.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),i0(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),i0(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t=4?t(o):u.interrupt(r.parser.constructs.flow,n,t)(o)}}function $l(u,t,n,r,s,i,o,d,m){const _=m||Number.POSITIVE_INFINITY;let f=0;return h;function h(B){return B===60?(u.enter(r),u.enter(s),u.enter(i),u.consume(B),u.exit(i),E):B===null||B===32||B===41||da(B)?n(B):(u.enter(r),u.enter(o),u.enter(d),u.enter("chunkString",{contentType:"string"}),A(B))}function E(B){return B===62?(u.enter(i),u.consume(B),u.exit(i),u.exit(s),u.exit(r),t):(u.enter(d),u.enter("chunkString",{contentType:"string"}),D(B))}function D(B){return B===62?(u.exit("chunkString"),u.exit(d),E(B)):B===null||B===60||K(B)?n(B):(u.consume(B),B===92?g:D)}function g(B){return B===60||B===62||B===92?(u.consume(B),D):D(B)}function A(B){return!f&&(B===null||B===41||Su(B))?(u.exit("chunkString"),u.exit(d),u.exit(o),u.exit(r),t(B)):f<_&&B===40?(u.consume(B),f++,A):B===41?(u.consume(B),f--,A):B===null||B===32||B===40||da(B)?n(B):(u.consume(B),B===92?C:A)}function C(B){return B===40||B===41||B===92?(u.consume(B),A):A(B)}}function Jl(u,t,n,r,s,i){const o=this;let d=0,m;return _;function _(D){return u.enter(r),u.enter(s),u.consume(D),u.exit(s),u.enter(i),f}function f(D){return d>999||D===null||D===91||D===93&&!m||D===94&&!d&&"_hiddenFootnoteSupport"in o.parser.constructs?n(D):D===93?(u.exit(i),u.enter(s),u.consume(D),u.exit(s),u.exit(r),t):K(D)?(u.enter("lineEnding"),u.consume(D),u.exit("lineEnding"),f):(u.enter("chunkString",{contentType:"string"}),h(D))}function h(D){return D===null||D===91||D===93||K(D)||d++>999?(u.exit("chunkString"),f(D)):(u.consume(D),m||(m=!au(D)),D===92?E:h)}function E(D){return D===91||D===92||D===93?(u.consume(D),d++,h):h(D)}}function ql(u,t,n,r,s,i){let o;return d;function d(E){return E===34||E===39||E===40?(u.enter(r),u.enter(s),u.consume(E),u.exit(s),o=E===40?41:E,m):n(E)}function m(E){return E===o?(u.enter(s),u.consume(E),u.exit(s),u.exit(r),t):(u.enter(i),_(E))}function _(E){return E===o?(u.exit(i),m(o)):E===null?n(E):K(E)?(u.enter("lineEnding"),u.consume(E),u.exit("lineEnding"),lu(u,_,"linePrefix")):(u.enter("chunkString",{contentType:"string"}),f(E))}function f(E){return E===o||E===null||K(E)?(u.exit("chunkString"),_(E)):(u.consume(E),E===92?h:f)}function h(E){return E===o||E===92?(u.consume(E),f):f(E)}}function f0(u,t){let n;return r;function r(s){return K(s)?(u.enter("lineEnding"),u.consume(s),u.exit("lineEnding"),n=!0,r):au(s)?lu(u,r,n?"linePrefix":"lineSuffix")(s):t(s)}}const Zp={name:"definition",tokenize:Xp},Qp={partial:!0,tokenize:uD};function Xp(u,t,n){const r=this;let s;return i;function i(D){return u.enter("definition"),o(D)}function o(D){return Jl.call(r,u,d,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(D)}function d(D){return s=zt(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),D===58?(u.enter("definitionMarker"),u.consume(D),u.exit("definitionMarker"),m):n(D)}function m(D){return Su(D)?f0(u,_)(D):_(D)}function _(D){return $l(u,f,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(D)}function f(D){return u.attempt(Qp,h,h)(D)}function h(D){return au(D)?lu(u,E,"whitespace")(D):E(D)}function E(D){return D===null||K(D)?(u.exit("definition"),r.parser.defined.push(s),t(D)):n(D)}}function uD(u,t,n){return r;function r(d){return Su(d)?f0(u,s)(d):n(d)}function s(d){return ql(u,i,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(d)}function i(d){return au(d)?lu(u,o,"whitespace")(d):o(d)}function o(d){return d===null||K(d)?t(d):n(d)}}const eD={name:"hardBreakEscape",tokenize:tD};function tD(u,t,n){return r;function r(i){return u.enter("hardBreakEscape"),u.consume(i),s}function s(i){return K(i)?(u.exit("hardBreakEscape"),t(i)):n(i)}}const nD={name:"headingAtx",resolve:rD,tokenize:aD};function rD(u,t){let n=u.length-2,r=3,s,i;return u[r][1].type==="whitespace"&&(r+=2),n-2>r&&u[n][1].type==="whitespace"&&(n-=2),u[n][1].type==="atxHeadingSequence"&&(r===n-1||n-4>r&&u[n-2][1].type==="whitespace")&&(n-=r+1===n?2:4),n>r&&(s={type:"atxHeadingText",start:u[r][1].start,end:u[n][1].end},i={type:"chunkText",start:u[r][1].start,end:u[n][1].end,contentType:"text"},Ae(u,r,n-r+1,[["enter",s,t],["enter",i,t],["exit",i,t],["exit",s,t]])),u}function aD(u,t,n){let r=0;return s;function s(f){return u.enter("atxHeading"),i(f)}function i(f){return u.enter("atxHeadingSequence"),o(f)}function o(f){return f===35&&r++<6?(u.consume(f),o):f===null||Su(f)?(u.exit("atxHeadingSequence"),d(f)):n(f)}function d(f){return f===35?(u.enter("atxHeadingSequence"),m(f)):f===null||K(f)?(u.exit("atxHeading"),t(f)):au(f)?lu(u,d,"whitespace")(f):(u.enter("atxHeadingText"),_(f))}function m(f){return f===35?(u.consume(f),m):(u.exit("atxHeadingSequence"),d(f))}function _(f){return f===null||f===35||Su(f)?(u.exit("atxHeadingText"),d(f)):(u.consume(f),_)}}const sD=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],ho=["pre","script","style","textarea"],iD={concrete:!0,name:"htmlFlow",resolveTo:dD,tokenize:cD},oD={partial:!0,tokenize:_D},lD={partial:!0,tokenize:mD};function dD(u){let t=u.length;for(;t--&&!(u[t][0]==="enter"&&u[t][1].type==="htmlFlow"););return t>1&&u[t-2][1].type==="linePrefix"&&(u[t][1].start=u[t-2][1].start,u[t+1][1].start=u[t-2][1].start,u.splice(t-2,2)),u}function cD(u,t,n){const r=this;let s,i,o,d,m;return _;function _(v){return f(v)}function f(v){return u.enter("htmlFlow"),u.enter("htmlFlowData"),u.consume(v),h}function h(v){return v===33?(u.consume(v),E):v===47?(u.consume(v),i=!0,A):v===63?(u.consume(v),s=3,r.interrupt?t:L):ge(v)?(u.consume(v),o=String.fromCharCode(v),C):n(v)}function E(v){return v===45?(u.consume(v),s=2,D):v===91?(u.consume(v),s=5,d=0,g):ge(v)?(u.consume(v),s=4,r.interrupt?t:L):n(v)}function D(v){return v===45?(u.consume(v),r.interrupt?t:L):n(v)}function g(v){const gu="CDATA[";return v===gu.charCodeAt(d++)?(u.consume(v),d===gu.length?r.interrupt?t:F:g):n(v)}function A(v){return ge(v)?(u.consume(v),o=String.fromCharCode(v),C):n(v)}function C(v){if(v===null||v===47||v===62||Su(v)){const gu=v===47,R=o.toLowerCase();return!gu&&!i&&ho.includes(R)?(s=1,r.interrupt?t(v):F(v)):sD.includes(o.toLowerCase())?(s=6,gu?(u.consume(v),B):r.interrupt?t(v):F(v)):(s=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(v):i?b(v):T(v))}return v===45||zu(v)?(u.consume(v),o+=String.fromCharCode(v),C):n(v)}function B(v){return v===62?(u.consume(v),r.interrupt?t:F):n(v)}function b(v){return au(v)?(u.consume(v),b):y(v)}function T(v){return v===47?(u.consume(v),y):v===58||v===95||ge(v)?(u.consume(v),O):au(v)?(u.consume(v),T):y(v)}function O(v){return v===45||v===46||v===58||v===95||zu(v)?(u.consume(v),O):W(v)}function W(v){return v===61?(u.consume(v),Y):au(v)?(u.consume(v),W):T(v)}function Y(v){return v===null||v===60||v===61||v===62||v===96?n(v):v===34||v===39?(u.consume(v),m=v,V):au(v)?(u.consume(v),Y):J(v)}function V(v){return v===m?(u.consume(v),m=null,$):v===null||K(v)?n(v):(u.consume(v),V)}function J(v){return v===null||v===34||v===39||v===47||v===60||v===61||v===62||v===96||Su(v)?W(v):(u.consume(v),J)}function $(v){return v===47||v===62||au(v)?T(v):n(v)}function y(v){return v===62?(u.consume(v),k):n(v)}function k(v){return v===null||K(v)?F(v):au(v)?(u.consume(v),k):n(v)}function F(v){return v===45&&s===2?(u.consume(v),su):v===60&&s===1?(u.consume(v),mu):v===62&&s===4?(u.consume(v),vu):v===63&&s===3?(u.consume(v),L):v===93&&s===5?(u.consume(v),Eu):K(v)&&(s===6||s===7)?(u.exit("htmlFlowData"),u.check(oD,ku,S)(v)):v===null||K(v)?(u.exit("htmlFlowData"),S(v)):(u.consume(v),F)}function S(v){return u.check(lD,U,ku)(v)}function U(v){return u.enter("lineEnding"),u.consume(v),u.exit("lineEnding"),I}function I(v){return v===null||K(v)?S(v):(u.enter("htmlFlowData"),F(v))}function su(v){return v===45?(u.consume(v),L):F(v)}function mu(v){return v===47?(u.consume(v),o="",Au):F(v)}function Au(v){if(v===62){const gu=o.toLowerCase();return ho.includes(gu)?(u.consume(v),vu):F(v)}return ge(v)&&o.length<8?(u.consume(v),o+=String.fromCharCode(v),Au):F(v)}function Eu(v){return v===93?(u.consume(v),L):F(v)}function L(v){return v===62?(u.consume(v),vu):v===45&&s===2?(u.consume(v),L):F(v)}function vu(v){return v===null||K(v)?(u.exit("htmlFlowData"),ku(v)):(u.consume(v),vu)}function ku(v){return u.exit("htmlFlow"),t(v)}}function mD(u,t,n){const r=this;return s;function s(o){return K(o)?(u.enter("lineEnding"),u.consume(o),u.exit("lineEnding"),i):n(o)}function i(o){return r.parser.lazy[r.now().line]?n(o):t(o)}}function _D(u,t,n){return r;function r(s){return u.enter("lineEnding"),u.consume(s),u.exit("lineEnding"),u.attempt(Fn,t,n)}}const hD={name:"htmlText",tokenize:fD};function fD(u,t,n){const r=this;let s,i,o;return d;function d(L){return u.enter("htmlText"),u.enter("htmlTextData"),u.consume(L),m}function m(L){return L===33?(u.consume(L),_):L===47?(u.consume(L),W):L===63?(u.consume(L),T):ge(L)?(u.consume(L),J):n(L)}function _(L){return L===45?(u.consume(L),f):L===91?(u.consume(L),i=0,g):ge(L)?(u.consume(L),b):n(L)}function f(L){return L===45?(u.consume(L),D):n(L)}function h(L){return L===null?n(L):L===45?(u.consume(L),E):K(L)?(o=h,mu(L)):(u.consume(L),h)}function E(L){return L===45?(u.consume(L),D):h(L)}function D(L){return L===62?su(L):L===45?E(L):h(L)}function g(L){const vu="CDATA[";return L===vu.charCodeAt(i++)?(u.consume(L),i===vu.length?A:g):n(L)}function A(L){return L===null?n(L):L===93?(u.consume(L),C):K(L)?(o=A,mu(L)):(u.consume(L),A)}function C(L){return L===93?(u.consume(L),B):A(L)}function B(L){return L===62?su(L):L===93?(u.consume(L),B):A(L)}function b(L){return L===null||L===62?su(L):K(L)?(o=b,mu(L)):(u.consume(L),b)}function T(L){return L===null?n(L):L===63?(u.consume(L),O):K(L)?(o=T,mu(L)):(u.consume(L),T)}function O(L){return L===62?su(L):T(L)}function W(L){return ge(L)?(u.consume(L),Y):n(L)}function Y(L){return L===45||zu(L)?(u.consume(L),Y):V(L)}function V(L){return K(L)?(o=V,mu(L)):au(L)?(u.consume(L),V):su(L)}function J(L){return L===45||zu(L)?(u.consume(L),J):L===47||L===62||Su(L)?$(L):n(L)}function $(L){return L===47?(u.consume(L),su):L===58||L===95||ge(L)?(u.consume(L),y):K(L)?(o=$,mu(L)):au(L)?(u.consume(L),$):su(L)}function y(L){return L===45||L===46||L===58||L===95||zu(L)?(u.consume(L),y):k(L)}function k(L){return L===61?(u.consume(L),F):K(L)?(o=k,mu(L)):au(L)?(u.consume(L),k):$(L)}function F(L){return L===null||L===60||L===61||L===62||L===96?n(L):L===34||L===39?(u.consume(L),s=L,S):K(L)?(o=F,mu(L)):au(L)?(u.consume(L),F):(u.consume(L),U)}function S(L){return L===s?(u.consume(L),s=void 0,I):L===null?n(L):K(L)?(o=S,mu(L)):(u.consume(L),S)}function U(L){return L===null||L===34||L===39||L===60||L===61||L===96?n(L):L===47||L===62||Su(L)?$(L):(u.consume(L),U)}function I(L){return L===47||L===62||Su(L)?$(L):n(L)}function su(L){return L===62?(u.consume(L),u.exit("htmlTextData"),u.exit("htmlText"),t):n(L)}function mu(L){return u.exit("htmlTextData"),u.enter("lineEnding"),u.consume(L),u.exit("lineEnding"),Au}function Au(L){return au(L)?lu(u,Eu,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(L):Eu(L)}function Eu(L){return u.enter("htmlTextData"),o(L)}}const ja={name:"labelEnd",resolveAll:ED,resolveTo:gD,tokenize:AD},pD={tokenize:CD},DD={tokenize:MD},yD={tokenize:LD};function ED(u){let t=-1;const n=[];for(;++t=3&&(_===null||K(_))?(u.exit("thematicBreak"),t(_)):n(_)}function m(_){return _===s?(u.consume(_),r++,m):(u.exit("thematicBreakSequence"),au(_)?lu(u,d,"whitespace")(_):d(_))}}const bu={continuation:{tokenize:SD},exit:jD,name:"list",tokenize:TD},wD={partial:!0,tokenize:OD},bD={partial:!0,tokenize:HD};function TD(u,t,n){const r=this,s=r.events[r.events.length-1];let i=s&&s[1].type==="linePrefix"?s[2].sliceSerialize(s[1],!0).length:0,o=0;return d;function d(D){const g=r.containerState.type||(D===42||D===43||D===45?"listUnordered":"listOrdered");if(g==="listUnordered"?!r.containerState.marker||D===r.containerState.marker:ca(D)){if(r.containerState.type||(r.containerState.type=g,u.enter(g,{_container:!0})),g==="listUnordered")return u.enter("listItemPrefix"),D===42||D===45?u.check(tn,n,_)(D):_(D);if(!r.interrupt||D===49)return u.enter("listItemPrefix"),u.enter("listItemValue"),m(D)}return n(D)}function m(D){return ca(D)&&++o<10?(u.consume(D),m):(!r.interrupt||o<2)&&(r.containerState.marker?D===r.containerState.marker:D===41||D===46)?(u.exit("listItemValue"),_(D)):n(D)}function _(D){return u.enter("listItemMarker"),u.consume(D),u.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||D,u.check(Fn,r.interrupt?n:f,u.attempt(wD,E,h))}function f(D){return r.containerState.initialBlankLine=!0,i++,E(D)}function h(D){return au(D)?(u.enter("listItemPrefixWhitespace"),u.consume(D),u.exit("listItemPrefixWhitespace"),E):n(D)}function E(D){return r.containerState.size=i+r.sliceSerialize(u.exit("listItemPrefix"),!0).length,t(D)}}function SD(u,t,n){const r=this;return r.containerState._closeFlow=void 0,u.check(Fn,s,i);function s(d){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,lu(u,t,"listItemIndent",r.containerState.size+1)(d)}function i(d){return r.containerState.furtherBlankLines||!au(d)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,o(d)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,u.attempt(bD,t,o)(d))}function o(d){return r.containerState._closeFlow=!0,r.interrupt=void 0,lu(u,u.attempt(bu,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(d)}}function HD(u,t,n){const r=this;return lu(u,s,"listItemIndent",r.containerState.size+1);function s(i){const o=r.events[r.events.length-1];return o&&o[1].type==="listItemIndent"&&o[2].sliceSerialize(o[1],!0).length===r.containerState.size?t(i):n(i)}}function jD(u){u.exit(this.containerState.type)}function OD(u,t,n){const r=this;return lu(u,s,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function s(i){const o=r.events[r.events.length-1];return!au(i)&&o&&o[1].type==="listItemPrefixWhitespace"?t(i):n(i)}}const fo={name:"setextUnderline",resolveTo:PD,tokenize:ID};function PD(u,t){let n=u.length,r,s,i;for(;n--;)if(u[n][0]==="enter"){if(u[n][1].type==="content"){r=n;break}u[n][1].type==="paragraph"&&(s=n)}else u[n][1].type==="content"&&u.splice(n,1),!i&&u[n][1].type==="definition"&&(i=n);const o={type:"setextHeading",start:{...u[r][1].start},end:{...u[u.length-1][1].end}};return u[s][1].type="setextHeadingText",i?(u.splice(s,0,["enter",o,t]),u.splice(i+1,0,["exit",u[r][1],t]),u[r][1].end={...u[i][1].end}):u[r][1]=o,u.push(["exit",o,t]),u}function ID(u,t,n){const r=this;let s;return i;function i(_){let f=r.events.length,h;for(;f--;)if(r.events[f][1].type!=="lineEnding"&&r.events[f][1].type!=="linePrefix"&&r.events[f][1].type!=="content"){h=r.events[f][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||h)?(u.enter("setextHeadingLine"),s=_,o(_)):n(_)}function o(_){return u.enter("setextHeadingLineSequence"),d(_)}function d(_){return _===s?(u.consume(_),d):(u.exit("setextHeadingLineSequence"),au(_)?lu(u,m,"lineSuffix")(_):m(_))}function m(_){return _===null||K(_)?(u.exit("setextHeadingLine"),t(_)):n(_)}}const WD={tokenize:ND};function ND(u){const t=this,n=u.attempt(Fn,r,u.attempt(this.parser.constructs.flowInitial,s,lu(u,u.attempt(this.parser.constructs.flow,s,u.attempt($p,s)),"linePrefix")));return n;function r(i){if(i===null){u.consume(i);return}return u.enter("lineEndingBlank"),u.consume(i),u.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function s(i){if(i===null){u.consume(i);return}return u.enter("lineEnding"),u.consume(i),u.exit("lineEnding"),t.currentConstruct=void 0,n}}const zD={resolveAll:Kl()},RD=Gl("string"),UD=Gl("text");function Gl(u){return{resolveAll:Kl(u==="text"?VD:void 0),tokenize:t};function t(n){const r=this,s=this.parser.constructs[u],i=n.attempt(s,o,d);return o;function o(f){return _(f)?i(f):d(f)}function d(f){if(f===null){n.consume(f);return}return n.enter("data"),n.consume(f),m}function m(f){return _(f)?(n.exit("data"),i(f)):(n.consume(f),m)}function _(f){if(f===null)return!0;const h=s[f];let E=-1;if(h)for(;++E-1){const d=o[0];typeof d=="string"?o[0]=d.slice(r):o.shift()}i>0&&o.push(u[s].slice(0,i))}return o}function r2(u,t){let n=-1;const r=[];let s;for(;++n0){const Ou=G.tokenStack[G.tokenStack.length-1];(Ou[1]||yo).call(G,void 0,Ou[0])}for(P.position={start:qe(w.length>0?w[0][1].start:{line:1,column:1,offset:0}),end:qe(w.length>0?w[w.length-2][1].end:{line:1,column:1,offset:0})},q=-1;++q0?{type:"text",value:O}:void 0),O===!1?h.lastIndex=b+1:(D!==b&&A.push({type:"text",value:m.value.slice(D,b)}),Array.isArray(O)?A.push(...O):O&&A.push(O),D=b+B[0].length,C=!0),!h.global)break;B=h.exec(m.value)}return C?(D1?"-"+d:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(o)}]};u.patch(t,m);const _={type:"element",tagName:"sup",properties:{},children:[m]};return u.patch(t,_),u.applyData(t,_)}function I2(u,t){const n={type:"element",tagName:"h"+t.depth,properties:{},children:u.all(t)};return u.patch(t,n),u.applyData(t,n)}function W2(u,t){if(u.options.allowDangerousHtml){const n={type:"raw",value:t.value};return u.patch(t,n),u.applyData(t,n)}}function Xl(u,t){const n=t.referenceType;let r="]";if(n==="collapsed"?r+="[]":n==="full"&&(r+="["+(t.label||t.identifier)+"]"),t.type==="imageReference")return[{type:"text",value:"!["+t.alt+r}];const s=u.all(t),i=s[0];i&&i.type==="text"?i.value="["+i.value:s.unshift({type:"text",value:"["});const o=s[s.length-1];return o&&o.type==="text"?o.value+=r:s.push({type:"text",value:r}),s}function z2(u,t){const n=String(t.identifier).toUpperCase(),r=u.definitionById.get(n);if(!r)return Xl(u,t);const s={src:Vt(r.url||""),alt:t.alt};r.title!==null&&r.title!==void 0&&(s.title=r.title);const i={type:"element",tagName:"img",properties:s,children:[]};return u.patch(t,i),u.applyData(t,i)}function N2(u,t){const n={src:Vt(t.url)};t.alt!==null&&t.alt!==void 0&&(n.alt=t.alt),t.title!==null&&t.title!==void 0&&(n.title=t.title);const r={type:"element",tagName:"img",properties:n,children:[]};return u.patch(t,r),u.applyData(t,r)}function R2(u,t){const n={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};u.patch(t,n);const r={type:"element",tagName:"code",properties:{},children:[n]};return u.patch(t,r),u.applyData(t,r)}function U2(u,t){const n=String(t.identifier).toUpperCase(),r=u.definitionById.get(n);if(!r)return Xl(u,t);const s={href:Vt(r.url||"")};r.title!==null&&r.title!==void 0&&(s.title=r.title);const i={type:"element",tagName:"a",properties:s,children:u.all(t)};return u.patch(t,i),u.applyData(t,i)}function V2(u,t){const n={href:Vt(t.url)};t.title!==null&&t.title!==void 0&&(n.title=t.title);const r={type:"element",tagName:"a",properties:n,children:u.all(t)};return u.patch(t,r),u.applyData(t,r)}function $2(u,t,n){const r=u.all(t),s=n?J2(n):u4(t),i={},o=[];if(typeof t.checked=="boolean"){const f=r[0];let h;f&&f.type==="element"&&f.tagName==="p"?h=f:(h={type:"element",tagName:"p",properties:{},children:[]},r.unshift(h)),h.children.length>0&&h.children.unshift({type:"text",value:" "}),h.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),i.className=["task-list-item"]}let d=-1;for(;++d0){const Ou=G.tokenStack[G.tokenStack.length-1];(Ou[1]||Do).call(G,void 0,Ou[0])}for(P.position={start:Ge(w.length>0?w[0][1].start:{line:1,column:1,offset:0}),end:Ge(w.length>0?w[w.length-2][1].end:{line:1,column:1,offset:0})},q=-1;++q0?{type:"text",value:O}:void 0),O===!1?h.lastIndex=b+1:(D!==b&&C.push({type:"text",value:m.value.slice(D,b)}),Array.isArray(O)?C.push(...O):O&&C.push(O),D=b+B[0].length,A=!0),!h.global)break;B=h.exec(m.value)}return A?(Do.startsWith(`${d}:`)))return i.children.splice(s,1),s}}),We(t,function(r,s,i){if(i&&typeof s=="number"&&(r.type==="link"||r.type==="linkReference")){const o=r.type==="link"?r.url:n.get(r.identifier);if(o&&o.includes(":")&&!u.except.some(d=>o.startsWith(`${d}:`)))return i.children.splice(s,1,...r.children),s}}),M2(t)}}function v2(u,t){const n={type:"element",tagName:"blockquote",properties:{},children:u.wrap(u.all(t),!0)};return u.patch(t,n),u.applyData(t,n)}function B2(u,t){const n={type:"element",tagName:"br",properties:{},children:[]};return u.patch(t,n),[u.applyData(t,n),{type:"text",value:` +`}]}function k2(u,t){const n=t.value?t.value+` +`:"",r={};t.lang&&(r.className=["language-"+t.lang]);let s={type:"element",tagName:"code",properties:r,children:[{type:"text",value:n}]};return t.meta&&(s.data={meta:t.meta}),u.patch(t,s),s=u.applyData(t,s),s={type:"element",tagName:"pre",properties:{},children:[s]},u.patch(t,s),s}function F2(u,t){const n={type:"element",tagName:"del",properties:{},children:u.all(t)};return u.patch(t,n),u.applyData(t,n)}function x2(u,t){const n={type:"element",tagName:"em",properties:{},children:u.all(t)};return u.patch(t,n),u.applyData(t,n)}function Y2(u,t){const n=typeof u.options.clobberPrefix=="string"?u.options.clobberPrefix:"user-content-",r=String(t.identifier).toUpperCase(),s=Vt(r.toLowerCase()),i=u.footnoteOrder.indexOf(r);let o,d=u.footnoteCounts.get(r);d===void 0?(d=0,u.footnoteOrder.push(r),o=u.footnoteOrder.length):o=i+1,d+=1,u.footnoteCounts.set(r,d);const m={type:"element",tagName:"a",properties:{href:"#"+n+"fn-"+s,id:n+"fnref-"+s+(d>1?"-"+d:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(o)}]};u.patch(t,m);const _={type:"element",tagName:"sup",properties:{},children:[m]};return u.patch(t,_),u.applyData(t,_)}function w2(u,t){const n={type:"element",tagName:"h"+t.depth,properties:{},children:u.all(t)};return u.patch(t,n),u.applyData(t,n)}function b2(u,t){if(u.options.allowDangerousHtml){const n={type:"raw",value:t.value};return u.patch(t,n),u.applyData(t,n)}}function Xl(u,t){const n=t.referenceType;let r="]";if(n==="collapsed"?r+="[]":n==="full"&&(r+="["+(t.label||t.identifier)+"]"),t.type==="imageReference")return[{type:"text",value:"!["+t.alt+r}];const s=u.all(t),i=s[0];i&&i.type==="text"?i.value="["+i.value:s.unshift({type:"text",value:"["});const o=s[s.length-1];return o&&o.type==="text"?o.value+=r:s.push({type:"text",value:r}),s}function T2(u,t){const n=String(t.identifier).toUpperCase(),r=u.definitionById.get(n);if(!r)return Xl(u,t);const s={src:Vt(r.url||""),alt:t.alt};r.title!==null&&r.title!==void 0&&(s.title=r.title);const i={type:"element",tagName:"img",properties:s,children:[]};return u.patch(t,i),u.applyData(t,i)}function S2(u,t){const n={src:Vt(t.url)};t.alt!==null&&t.alt!==void 0&&(n.alt=t.alt),t.title!==null&&t.title!==void 0&&(n.title=t.title);const r={type:"element",tagName:"img",properties:n,children:[]};return u.patch(t,r),u.applyData(t,r)}function H2(u,t){const n={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};u.patch(t,n);const r={type:"element",tagName:"code",properties:{},children:[n]};return u.patch(t,r),u.applyData(t,r)}function j2(u,t){const n=String(t.identifier).toUpperCase(),r=u.definitionById.get(n);if(!r)return Xl(u,t);const s={href:Vt(r.url||"")};r.title!==null&&r.title!==void 0&&(s.title=r.title);const i={type:"element",tagName:"a",properties:s,children:u.all(t)};return u.patch(t,i),u.applyData(t,i)}function O2(u,t){const n={href:Vt(t.url)};t.title!==null&&t.title!==void 0&&(n.title=t.title);const r={type:"element",tagName:"a",properties:n,children:u.all(t)};return u.patch(t,r),u.applyData(t,r)}function P2(u,t,n){const r=u.all(t),s=n?I2(n):u4(t),i={},o=[];if(typeof t.checked=="boolean"){const f=r[0];let h;f&&f.type==="element"&&f.tagName==="p"?h=f:(h={type:"element",tagName:"p",properties:{},children:[]},r.unshift(h)),h.children.length>0&&h.children.unshift({type:"text",value:" "}),h.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),i.className=["task-list-item"]}let d=-1;for(;++d1}function q2(u,t){const n={},r=u.all(t);let s=-1;for(typeof t.start=="number"&&t.start!==1&&(n.start=t.start);++s0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function Q2(u){const t=t4(u),n=e4(u);if(t&&n)return{start:t,end:n}}function X2(u,t){const n=u.all(t),r=n.shift(),s=[];if(r){const o={type:"element",tagName:"thead",properties:{},children:u.wrap([r],!0)};u.patch(t.children[0],o),s.push(o)}if(n.length>0){const o={type:"element",tagName:"tbody",properties:{},children:u.wrap(n,!0)},d=t4(t.children[1]),m=e4(t.children[t.children.length-1]);d&&m&&(o.position={start:d,end:m}),s.push(o)}const i={type:"element",tagName:"table",properties:{},children:u.wrap(s,!0)};return u.patch(t,i),u.applyData(t,i)}function u9(u,t,n){const r=n?n.children:void 0,s=(r?r.indexOf(t):1)===0?"th":"td",i=n&&n.type==="table"?n.align:void 0,o=i?i.length:t.children.length;let d=-1;const m=[];for(;++d0,!0),r[0]),s=r.index+r[0].length,r=n.exec(t);return i.push(Co(t.slice(s),s>0,!1)),i.join("")}function Co(u,t,n){let r=0,s=u.length;if(t){let i=u.codePointAt(r);for(;i===go||i===Eo;)r++,i=u.codePointAt(r)}if(n){let i=u.codePointAt(s-1);for(;i===go||i===Eo;)s--,i=u.codePointAt(s-1)}return s>r?u.slice(r,s):""}function n9(u,t){const n={type:"text",value:t9(String(t.value))};return u.patch(t,n),u.applyData(t,n)}function r9(u,t){const n={type:"element",tagName:"hr",properties:{},children:[]};return u.patch(t,n),u.applyData(t,n)}const a9={blockquote:T2,break:S2,code:H2,delete:j2,emphasis:O2,footnoteReference:P2,heading:I2,html:W2,imageReference:z2,image:N2,inlineCode:R2,linkReference:U2,link:V2,listItem:$2,list:q2,paragraph:G2,root:K2,strong:Z2,table:X2,tableCell:e9,tableRow:u9,text:n9,thematicBreak:r9,toml:V0,yaml:V0,definition:V0,footnoteDefinition:V0};function V0(){}const r4=-1,xn=0,yn=1,gn=2,Oa=3,Pa=4,Ia=5,Wa=6,a4=7,s4=8,Ao=typeof self=="object"?self:globalThis,s9=(u,t)=>{const n=(s,i)=>(u.set(i,s),s),r=s=>{if(u.has(s))return u.get(s);const[i,o]=t[s];switch(i){case xn:case r4:return n(o,s);case yn:{const d=n([],s);for(const m of o)d.push(r(m));return d}case gn:{const d=n({},s);for(const[m,_]of o)d[r(m)]=r(_);return d}case Oa:return n(new Date(o),s);case Pa:{const{source:d,flags:m}=o;return n(new RegExp(d,m),s)}case Ia:{const d=n(new Map,s);for(const[m,_]of o)d.set(r(m),r(_));return d}case Wa:{const d=n(new Set,s);for(const m of o)d.add(r(m));return d}case a4:{const{name:d,message:m}=o;return n(new Ao[d](m),s)}case s4:return n(BigInt(o),s);case"BigInt":return n(Object(BigInt(o)),s)}return n(new Ao[i](o),s)};return r},Mo=u=>s9(new Map,u)(0),Ht="",{toString:i9}={},{keys:o9}=Object,o0=u=>{const t=typeof u;if(t!=="object"||!u)return[xn,t];const n=i9.call(u).slice(8,-1);switch(n){case"Array":return[yn,Ht];case"Object":return[gn,Ht];case"Date":return[Oa,Ht];case"RegExp":return[Pa,Ht];case"Map":return[Ia,Ht];case"Set":return[Wa,Ht]}return n.includes("Array")?[yn,n]:n.includes("Error")?[a4,n]:[gn,n]},$0=([u,t])=>u===xn&&(t==="function"||t==="symbol"),l9=(u,t,n,r)=>{const s=(o,d)=>{const m=r.push(o)-1;return n.set(d,m),m},i=o=>{if(n.has(o))return n.get(o);let[d,m]=o0(o);switch(d){case xn:{let f=o;switch(m){case"bigint":d=s4,f=o.toString();break;case"function":case"symbol":if(u)throw new TypeError("unable to serialize "+m);f=null;break;case"undefined":return s([r4],o)}return s([d,f],o)}case yn:{if(m)return s([m,[...o]],o);const f=[],h=s([d,f],o);for(const g of o)f.push(i(g));return h}case gn:{if(m)switch(m){case"BigInt":return s([m,o.toString()],o);case"Boolean":case"Number":case"String":return s([m,o.valueOf()],o)}if(t&&"toJSON"in o)return i(o.toJSON());const f=[],h=s([d,f],o);for(const g of o9(o))(u||!$0(o0(o[g])))&&f.push([i(g),i(o[g])]);return h}case Oa:return s([d,o.toISOString()],o);case Pa:{const{source:f,flags:h}=o;return s([d,{source:f,flags:h}],o)}case Ia:{const f=[],h=s([d,f],o);for(const[g,D]of o)(u||!($0(o0(g))||$0(o0(D))))&&f.push([i(g),i(D)]);return h}case Wa:{const f=[],h=s([d,f],o);for(const g of o)(u||!$0(o0(g)))&&f.push(i(g));return h}}const{message:_}=o;return s([d,{name:m,message:_}],o)};return i},Lo=(u,{json:t,lossy:n}={})=>{const r=[];return l9(!(t||n),!!t,new Map,r)(u),r},mt=typeof structuredClone=="function"?(u,t)=>t&&("json"in t||"lossy"in t)?Mo(Lo(u,t)):structuredClone(u):(u,t)=>Mo(Lo(u,t));function d9(u,t){const n=[{type:"text",value:"↩"}];return t>1&&n.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(t)}]}),n}function c9(u,t){return"Back to reference "+(u+1)+(t>1?"-"+t:"")}function m9(u){const t=typeof u.options.clobberPrefix=="string"?u.options.clobberPrefix:"user-content-",n=u.options.footnoteBackContent||d9,r=u.options.footnoteBackLabel||c9,s=u.options.footnoteLabel||"Footnotes",i=u.options.footnoteLabelTagName||"h2",o=u.options.footnoteLabelProperties||{className:["sr-only"]},d=[];let m=-1;for(;++m0&&E.push({type:"text",value:" "});let b=typeof n=="string"?n:n(m,D);typeof b=="string"&&(b={type:"text",value:b}),E.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+g+(D>1?"-"+D:""),dataFootnoteBackref:"",ariaLabel:typeof r=="string"?r:r(m,D),className:["data-footnote-backref"]},children:Array.isArray(b)?b:[b]})}const A=f[f.length-1];if(A&&A.type==="element"&&A.tagName==="p"){const b=A.children[A.children.length-1];b&&b.type==="text"?b.value+=" ":A.children.push({type:"text",value:" "}),A.children.push(...E)}else f.push(...E);const B={type:"element",tagName:"li",properties:{id:t+"fn-"+g},children:u.wrap(f,!0)};u.patch(_,B),d.push(B)}if(d.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:i,properties:{...mt(o),id:"footnote-label"},children:[{type:"text",value:s}]},{type:"text",value:` +`});const _={type:"element",tagName:"li",properties:i,children:o};return u.patch(t,_),u.applyData(t,_)}function I2(u){let t=!1;if(u.type==="list"){t=u.spread||!1;const n=u.children;let r=-1;for(;!t&&++r1}function W2(u,t){const n={},r=u.all(t);let s=-1;for(typeof t.start=="number"&&t.start!==1&&(n.start=t.start);++s0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function U2(u){const t=t4(u),n=e4(u);if(t&&n)return{start:t,end:n}}function V2(u,t){const n=u.all(t),r=n.shift(),s=[];if(r){const o={type:"element",tagName:"thead",properties:{},children:u.wrap([r],!0)};u.patch(t.children[0],o),s.push(o)}if(n.length>0){const o={type:"element",tagName:"tbody",properties:{},children:u.wrap(n,!0)},d=t4(t.children[1]),m=e4(t.children[t.children.length-1]);d&&m&&(o.position={start:d,end:m}),s.push(o)}const i={type:"element",tagName:"table",properties:{},children:u.wrap(s,!0)};return u.patch(t,i),u.applyData(t,i)}function $2(u,t,n){const r=n?n.children:void 0,s=(r?r.indexOf(t):1)===0?"th":"td",i=n&&n.type==="table"?n.align:void 0,o=i?i.length:t.children.length;let d=-1;const m=[];for(;++d0,!0),r[0]),s=r.index+r[0].length,r=n.exec(t);return i.push(go(t.slice(s),s>0,!1)),i.join("")}function go(u,t,n){let r=0,s=u.length;if(t){let i=u.codePointAt(r);for(;i===yo||i===Eo;)r++,i=u.codePointAt(r)}if(n){let i=u.codePointAt(s-1);for(;i===yo||i===Eo;)s--,i=u.codePointAt(s-1)}return s>r?u.slice(r,s):""}function G2(u,t){const n={type:"text",value:q2(String(t.value))};return u.patch(t,n),u.applyData(t,n)}function K2(u,t){const n={type:"element",tagName:"hr",properties:{},children:[]};return u.patch(t,n),u.applyData(t,n)}const Z2={blockquote:v2,break:B2,code:k2,delete:F2,emphasis:x2,footnoteReference:Y2,heading:w2,html:b2,imageReference:T2,image:S2,inlineCode:H2,linkReference:j2,link:O2,listItem:P2,list:W2,paragraph:N2,root:z2,strong:R2,table:V2,tableCell:J2,tableRow:$2,text:G2,thematicBreak:K2,toml:V0,yaml:V0,definition:V0,footnoteDefinition:V0};function V0(){}const r4=-1,xn=0,yn=1,En=2,Oa=3,Pa=4,Ia=5,Wa=6,a4=7,s4=8,Ao=typeof self=="object"?self:globalThis,Q2=(u,t)=>{const n=(s,i)=>(u.set(i,s),s),r=s=>{if(u.has(s))return u.get(s);const[i,o]=t[s];switch(i){case xn:case r4:return n(o,s);case yn:{const d=n([],s);for(const m of o)d.push(r(m));return d}case En:{const d=n({},s);for(const[m,_]of o)d[r(m)]=r(_);return d}case Oa:return n(new Date(o),s);case Pa:{const{source:d,flags:m}=o;return n(new RegExp(d,m),s)}case Ia:{const d=n(new Map,s);for(const[m,_]of o)d.set(r(m),r(_));return d}case Wa:{const d=n(new Set,s);for(const m of o)d.add(r(m));return d}case a4:{const{name:d,message:m}=o;return n(new Ao[d](m),s)}case s4:return n(BigInt(o),s);case"BigInt":return n(Object(BigInt(o)),s)}return n(new Ao[i](o),s)};return r},Co=u=>Q2(new Map,u)(0),jt="",{toString:X2}={},{keys:u9}=Object,o0=u=>{const t=typeof u;if(t!=="object"||!u)return[xn,t];const n=X2.call(u).slice(8,-1);switch(n){case"Array":return[yn,jt];case"Object":return[En,jt];case"Date":return[Oa,jt];case"RegExp":return[Pa,jt];case"Map":return[Ia,jt];case"Set":return[Wa,jt]}return n.includes("Array")?[yn,n]:n.includes("Error")?[a4,n]:[En,n]},$0=([u,t])=>u===xn&&(t==="function"||t==="symbol"),e9=(u,t,n,r)=>{const s=(o,d)=>{const m=r.push(o)-1;return n.set(d,m),m},i=o=>{if(n.has(o))return n.get(o);let[d,m]=o0(o);switch(d){case xn:{let f=o;switch(m){case"bigint":d=s4,f=o.toString();break;case"function":case"symbol":if(u)throw new TypeError("unable to serialize "+m);f=null;break;case"undefined":return s([r4],o)}return s([d,f],o)}case yn:{if(m)return s([m,[...o]],o);const f=[],h=s([d,f],o);for(const E of o)f.push(i(E));return h}case En:{if(m)switch(m){case"BigInt":return s([m,o.toString()],o);case"Boolean":case"Number":case"String":return s([m,o.valueOf()],o)}if(t&&"toJSON"in o)return i(o.toJSON());const f=[],h=s([d,f],o);for(const E of u9(o))(u||!$0(o0(o[E])))&&f.push([i(E),i(o[E])]);return h}case Oa:return s([d,o.toISOString()],o);case Pa:{const{source:f,flags:h}=o;return s([d,{source:f,flags:h}],o)}case Ia:{const f=[],h=s([d,f],o);for(const[E,D]of o)(u||!($0(o0(E))||$0(o0(D))))&&f.push([i(E),i(D)]);return h}case Wa:{const f=[],h=s([d,f],o);for(const E of o)(u||!$0(o0(E)))&&f.push(i(E));return h}}const{message:_}=o;return s([d,{name:m,message:_}],o)};return i},Mo=(u,{json:t,lossy:n}={})=>{const r=[];return e9(!(t||n),!!t,new Map,r)(u),r},_t=typeof structuredClone=="function"?(u,t)=>t&&("json"in t||"lossy"in t)?Co(Mo(u,t)):structuredClone(u):(u,t)=>Co(Mo(u,t));function t9(u,t){const n=[{type:"text",value:"↩"}];return t>1&&n.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(t)}]}),n}function n9(u,t){return"Back to reference "+(u+1)+(t>1?"-"+t:"")}function r9(u){const t=typeof u.options.clobberPrefix=="string"?u.options.clobberPrefix:"user-content-",n=u.options.footnoteBackContent||t9,r=u.options.footnoteBackLabel||n9,s=u.options.footnoteLabel||"Footnotes",i=u.options.footnoteLabelTagName||"h2",o=u.options.footnoteLabelProperties||{className:["sr-only"]},d=[];let m=-1;for(;++m0&&g.push({type:"text",value:" "});let b=typeof n=="string"?n:n(m,D);typeof b=="string"&&(b={type:"text",value:b}),g.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+E+(D>1?"-"+D:""),dataFootnoteBackref:"",ariaLabel:typeof r=="string"?r:r(m,D),className:["data-footnote-backref"]},children:Array.isArray(b)?b:[b]})}const C=f[f.length-1];if(C&&C.type==="element"&&C.tagName==="p"){const b=C.children[C.children.length-1];b&&b.type==="text"?b.value+=" ":C.children.push({type:"text",value:" "}),C.children.push(...g)}else f.push(...g);const B={type:"element",tagName:"li",properties:{id:t+"fn-"+E},children:u.wrap(f,!0)};u.patch(_,B),d.push(B)}if(d.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:i,properties:{..._t(o),id:"footnote-label"},children:[{type:"text",value:s}]},{type:"text",value:` `},{type:"element",tagName:"ol",properties:{},children:u.wrap(d,!0)},{type:"text",value:` -`}]}}const _a={}.hasOwnProperty,_9={};function h9(u,t){const n=t||_9,r=new Map,s=new Map,i=new Map,o={...a9,...n.handlers},d={all:_,applyData:p9,definitionById:r,footnoteById:s,footnoteCounts:i,footnoteOrder:[],handlers:o,one:m,options:n,patch:f9,wrap:y9};return Ut(u,function(f){if(f.type==="definition"||f.type==="footnoteDefinition"){const h=f.type==="definition"?r:s,g=String(f.identifier).toUpperCase();h.has(g)||h.set(g,f)}}),d;function m(f,h){const g=f.type,D=d.handlers[g];if(_a.call(d.handlers,g)&&D)return D(d,f,h);if(d.options.passThrough&&d.options.passThrough.includes(g)){if("children"in f){const{children:E,...C}=f,A=mt(C);return A.children=d.all(f),A}return mt(f)}return(d.options.unknownHandler||D9)(d,f,h)}function _(f){const h=[];if("children"in f){const g=f.children;let D=-1;for(;++D0&&n.push({type:"text",value:` -`}),n}function vo(u){let t=0,n=u.charCodeAt(t);for(;n===9||n===32;)t++,n=u.charCodeAt(t);return u.slice(t)}function Bo(u,t){const n=h9(u,t),r=n.one(u,void 0),s=m9(n),i=Array.isArray(r)?{type:"root",children:r}:r||{type:"root",children:[]};return s&&i.children.push({type:"text",value:` -`},s),i}function g9(u,t){return u&&"run"in u?async function(n,r){const s=Bo(n,t);await u.run(s,r)}:function(n){return Bo(n,t||u)}}class p0{constructor(t,n,r){this.property=t,this.normal=n,r&&(this.space=r)}}p0.prototype.property={},p0.prototype.normal={},p0.prototype.space=null;function i4(u,t){const n={},r={};let s=-1;for(;++s4&&n.slice(0,4)==="data"&&L9.test(t)){if(t.charAt(4)==="-"){const i=t.slice(5).replace(Fo,F9);r="data"+i.charAt(0).toUpperCase()+i.slice(1)}else{const i=t.slice(4);if(!Fo.test(i)){let o=i.replace(v9,k9);o.charAt(0)!=="-"&&(o="-"+o),t="data"+o}}s=za}return new s(r,t)}function k9(u){return"-"+u.toLowerCase()}function F9(u){return u.charAt(1).toUpperCase()}const x9={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},Y9=i4([d4,l4,_4,h4,A9],"html"),f4=i4([d4,l4,_4,h4,M9],"svg");function w9(u){const t=String(u||"").trim();return t?t.split(/[ \t\n\r\f]+/g):[]}function b9(u){return u.join(" ").trim()}function T9(u,t){const n={};return(u[u.length-1]===""?[...u,""]:u).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}var pa={exports:{}},xo=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,S9=/\n/g,H9=/^\s*/,j9=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,O9=/^:\s*/,P9=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,I9=/^[;\s]*/,W9=/^\s+|\s+$/g,z9=` -`,Yo="/",wo="*",dt="",N9="comment",R9="declaration",U9=function(u,t){if(typeof u!="string")throw new TypeError("First argument must be a string");if(!u)return[];t=t||{};var n=1,r=1;function s(E){var C=E.match(S9);C&&(n+=C.length);var A=E.lastIndexOf(z9);r=~A?E.length-A:r+E.length}function i(){var E={line:n,column:r};return function(C){return C.position=new o(E),_(),C}}function o(E){this.start=E,this.end={line:n,column:r},this.source=t.source}o.prototype.content=u;function d(E){var C=new Error(t.source+":"+n+":"+r+": "+E);if(C.reason=E,C.filename=t.source,C.line=n,C.column=r,C.source=u,!t.silent)throw C}function m(E){var C=E.exec(u);if(C){var A=C[0];return s(A),u=u.slice(A.length),C}}function _(){m(H9)}function f(E){var C;for(E=E||[];C=h();)C!==!1&&E.push(C);return E}function h(){var E=i();if(!(Yo!=u.charAt(0)||wo!=u.charAt(1))){for(var C=2;dt!=u.charAt(C)&&(wo!=u.charAt(C)||Yo!=u.charAt(C+1));)++C;if(C+=2,dt===u.charAt(C-1))return d("End of comment missing");var A=u.slice(2,C-2);return r+=2,s(A),u=u.slice(C),r+=2,E({type:N9,comment:A})}}function g(){var E=i(),C=m(j9);if(C){if(h(),!m(O9))return d("property missing ':'");var A=m(P9),B=E({type:R9,property:bo(C[0].replace(xo,dt)),value:A?bo(A[0].replace(xo,dt)):dt});return m(I9),B}}function D(){var E=[];f(E);for(var C;C=g();)C!==!1&&(E.push(C),f(E));return E}return _(),D()};function bo(u){return u?u.replace(W9,dt):dt}var V9=U9;function To(u,t){var n=null;if(!u||typeof u!="string")return n;for(var r,s=V9(u),i=typeof t=="function",o,d,m=0,_=s.length;m<_;m++)r=s[m],o=r.property,d=r.value,i?t(o,d,r):d&&(n||(n={}),n[o]=d);return n}pa.exports=To,pa.exports.default=To;var $9=pa.exports;const J9=g0($9),q9={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},G9={}.hasOwnProperty;function K9(u,t,n){if(typeof u!="function")throw new TypeError("h is not a function");const r=Q9(u),s=ey(u),i=uy(u);let o,d;if(typeof n=="string"||typeof n=="boolean"?(o=n,n={}):(n||(n={}),o=n.prefix),t&&t.type==="root"){const m=t.children[0];d=t.children.length===1&&m.type==="element"?m:{type:"element",tagName:"div",properties:{},children:t.children}}else if(t&&t.type==="element")d=t;else throw new Error("Expected root or element, not `"+(t&&t.type||t)+"`");return p4(u,d,{schema:n.space==="svg"?f4:Y9,prefix:o==null?r||s||i?"h-":void 0:typeof o=="string"?o:o?"h-":void 0,key:0,react:r,vue:s,vdom:i,hyperscript:X9(u)})}function p4(u,t,n){const r=n.schema;let s=r,i=t.tagName;const o={},d=[];let m=-1,_;r.space==="html"&&i.toLowerCase()==="svg"&&(s=f4,n.schema=s);for(_ in t.properties)t.properties&&G9.call(t.properties,_)&&Z9(o,_,t.properties[_],n,i);if(n.vdom&&(s.space==="html"?i=i.toUpperCase():s.space&&(o.namespace=q9[s.space])),n.prefix&&(n.key++,o.key=n.prefix+n.key),t.children)for(;++m0?u.call(t,i,o,d):u.call(t,i,o)}function Z9(u,t,n,r,s){const i=B9(r.schema,t);let o;n==null||typeof n=="number"&&Number.isNaN(n)||n===!1&&(r.vue||r.vdom||r.hyperscript)||!n&&i.boolean&&(r.vue||r.vdom||r.hyperscript)||(Array.isArray(n)&&(n=i.commaSeparated?T9(n):b9(n)),i.boolean&&r.hyperscript&&(n=""),i.property==="style"&&typeof n=="string"&&(r.react||r.vue||r.vdom)&&(n=ty(n,s)),r.vue?i.property!=="style"&&(o="attrs"):i.mustUseProperty||(r.vdom?i.property!=="style"&&(o="attributes"):r.hyperscript&&(o="attrs")),o?u[o]=Object.assign(u[o]||{},{[i.attribute]:n}):i.space&&r.react?u[x9[i.property]||i.property]=n:u[i.attribute]=n)}function Q9(u){const t=u("div",{});return!!(t&&("_owner"in t||"_store"in t)&&(t.key===void 0||t.key===null))}function X9(u){return"context"in u&&"cleanup"in u}function uy(u){return u("div",{}).type==="VirtualNode"}function ey(u){const t=u("div",{});return!!(t&&t.context&&t.context._isVue)}function ty(u,t){const n={};try{J9(u,(r,s)=>{r.slice(0,4)==="-ms-"&&(r="ms-"+r.slice(4)),n[r.replace(/-([a-z])/g,(i,o)=>o.toUpperCase())]=s})}catch(r){const s=r;throw s.message=t+"[style]"+s.message.slice(9),s}return n}var ny=D4;function D4(u){if(typeof u=="string")return iy(u);if(u==null)return oy;if(typeof u=="object")return("length"in u?sy:ay)(u);if(typeof u=="function")return u;throw new Error("Expected function, string, or object as test")}function ry(u){for(var t=[],n=u.length,r=-1;++r_&&h!Cy(m))),u.components&&Ay.call(u.components,i)){const m=u.components[i];return u.passNode&&typeof m=="function"&&(o=Object.assign({node:this},o)),t(m,o,d)}return t(i,o,d)}}const E4=function(u){if(u==null)return ky;if(typeof u=="string")return By(u);if(typeof u=="object")return vy(u);if(typeof u=="function")return Na(u);throw new Error("Expected function, string, or array as `test`")};function vy(u){const t=[];let n=-1;for(;++n0&&(i.properties.rel=[...g]),D&&(i.properties.target=D),f){const C=l0(t.contentProperties,i)||{};i.children.push({type:"element",tagName:"span",properties:mt(C),children:mt(f)})}}}})}}function l0(u,t){return typeof u=="function"?u(t):u}const jy={name:"NcReferenceList",components:{NcReferenceWidget:Zf},props:{text:{type:String,default:""},referenceData:{type:Array,default:null},limit:{type:Number,default:1},displayFallback:{type:Boolean,default:!1},interactive:{type:Boolean,default:!0},interactiveOptIn:{type:Boolean,default:!1}},data(){return{references:null,loading:!0}},computed:{isVisible(){return this.loading||this.displayedReferences.length!==0},values(){return this.referenceData?this.referenceData:this.displayFallback&&!this.loading&&!this.references?[this.fallbackReference]:this.references?Object.values(this.references):[]},firstReference(){return this.values[0]??null},displayedReferences(){return this.values.slice(0,this.limit)},fallbackReference(){return{accessible:!0,openGraphObject:{id:this.text,link:this.text,name:this.text},richObjectType:"open-graph"}}},watch:{text:"fetch"},mounted(){this.fetch()},methods:{fetch(){if(this.loading=!0,this.referenceData){this.references=null,this.loading=!1;return}if(!new RegExp(Oi).exec(this.text)){this.references=null,this.loading=!1;return}this.resolve().then(u=>{this.references=u.data.ocs.data.references,this.loading=!1,this.$emit("loaded")}).catch(u=>{console.error("Failed to extract references",u),this.loading=!1,this.$emit("loaded")})},resolve(){const u=new RegExp(Oi).exec(this.text.trim()),t=D0()===null;return this.limit===1&&u?t?ct.get(Ot("references/resolvePublic")+`?reference=${encodeURIComponent(u[0])}&sharingToken=${Ji()}`):ct.get(Ot("references/resolve")+`?reference=${encodeURIComponent(u[0])}`):t?ct.post(Ot("references/extractPublic"),{text:this.text,resolve:!0,limit:this.limit,sharingToken:Ji()}):ct.post(Ot("references/extract"),{text:this.text,resolve:!0,limit:this.limit})}}};var Oy=function(){var u=this,t=u._self._c;return u.isVisible?t("div",{staticClass:"widgets--list",class:{"icon-loading":u.loading}},u._l(u.displayedReferences,function(n){return t("NcReferenceWidget",{key:n?.openGraphObject?.id,attrs:{reference:n,interactive:u.interactive,"interactive-opt-in":u.interactiveOptIn}})}),1):u._e()},Py=[],Iy=Cu(jy,Oy,Py,!1,null,"ffdba753");const Vr=Iy.exports,Wy=function(){return function(u){Ut(u,n=>n.type==="text",t);function t(n,r,s){const i=n.value.split(/(\{[a-z\-_.0-9]+\})/ig).map((o,d,m)=>{const _=o.match(/^\{([a-z\-_.0-9]+)\}$/i);if(!_)return m0("text",o);const[,f]=_;return m0("element",{tagName:`#${f}`})});s.children.splice(r,1,...i)}}},zy=({h:u,context:t},n)=>(t.autolink&&(n=xl(n)),Array.isArray(n)?n.map(r=>{if(typeof r=="string")return r;const{component:s,props:i}=r,o=s.name==="NcLink"?void 0:"rich-text--component";return u(s,{props:i,class:o})}):n),Ny=function(){return function(u){Ut(u,t=>["text","code","inlineCode"].includes(t.type),(t,n,r)=>(r.children.splice(n,1,{...t,value:t.value.replace(/</gmi,"<").replace(/>/gmi,">")}),[Ya,n+1]))}};function Ho(u,t){const n=String(u);if(typeof t!="string")throw new TypeError("Expected character");let r=0,s=n.indexOf(t);for(;s!==-1;)r++,s=n.indexOf(t,s+t.length);return r}const y0=bn(/[A-Za-z]/),Ra=bn(/[\dA-Za-z]/);function Ry(u){return u!==null&&(u<32||u===127)}function It(u){return u!==null&&u<-2}function Hu(u){return u!==null&&(u<0||u===32)}function Pe(u){return u===-2||u===-1||u===32}const wn=bn(new RegExp("\\p{P}|\\p{S}","u")),_t=bn(/\s/);function bn(u){return t;function t(n){return n!==null&&n>-1&&u.test(String.fromCharCode(n))}}function Uy(u){if(typeof u!="string")throw new TypeError("Expected a string");return u.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}const Tn=function(u){if(u==null)return qy;if(typeof u=="function")return Sn(u);if(typeof u=="object")return Array.isArray(u)?Vy(u):$y(u);if(typeof u=="string")return Jy(u);throw new Error("Expected function, string, or object as test")};function Vy(u){const t=[];let n=-1;for(;++n":""))+")"})}return g;function g(){let D=C4,E,C,A;if(i(m,_,f[f.length-1]||void 0)&&(D=Xy(n(m,f)),D[0]===jo))return D;if("children"in m&&m.children){const B=m;if(B.children&&D[0]!==Zy)for(C=-1+o,A=f.concat(B);C>-1&&C0?{type:"text",value:O}:void 0),O===!1?h.lastIndex=b+1:(D!==b&&A.push({type:"text",value:m.value.slice(D,b)}),Array.isArray(O)?A.push(...O):O&&A.push(O),D=b+B[0].length,C=!0),!h.global)break;B=h.exec(m.value)}return C?(D?\]}]+$/.exec(u);if(!t)return[u,void 0];u=u.slice(0,t.index);let n=t[0],r=n.indexOf(")");const s=Ho(u,"(");let i=Ho(u,")");for(;r!==-1&&s>i;)u+=n.slice(0,r+1),n=n.slice(r+1),r=n.indexOf(")"),i++;return[u,n]}function A4(u,t){const n=u.input.charCodeAt(u.index-1);return(u.index===0||_t(n)||wn(n))&&(!t||n!==47)}function A0(u){return u.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}M4.peek=Bg;function pg(){return{enter:{gfmFootnoteDefinition:yg,gfmFootnoteDefinitionLabelString:gg,gfmFootnoteCall:Ag,gfmFootnoteCallString:Mg},exit:{gfmFootnoteDefinition:Cg,gfmFootnoteDefinitionLabelString:Eg,gfmFootnoteCall:vg,gfmFootnoteCallString:Lg}}}function Dg(){return{unsafe:[{character:"[",inConstruct:["phrasing","label","reference"]}],handlers:{footnoteDefinition:kg,footnoteReference:M4}}}function yg(u){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},u)}function gg(){this.buffer()}function Eg(u){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.label=t,n.identifier=A0(this.sliceSerialize(u)).toLowerCase()}function Cg(u){this.exit(u)}function Ag(u){this.enter({type:"footnoteReference",identifier:"",label:""},u)}function Mg(){this.buffer()}function Lg(u){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.label=t,n.identifier=A0(this.sliceSerialize(u)).toLowerCase()}function vg(u){this.exit(u)}function M4(u,t,n,r){const s=n.createTracker(r);let i=s.move("[^");const o=n.enter("footnoteReference"),d=n.enter("reference");return i+=s.move(n.safe(n.associationId(u),{...s.current(),before:i,after:"]"})),d(),o(),i+=s.move("]"),i}function Bg(){return"["}function kg(u,t,n,r){const s=n.createTracker(r);let i=s.move("[^");const o=n.enter("footnoteDefinition"),d=n.enter("label");return i+=s.move(n.safe(n.associationId(u),{...s.current(),before:i,after:"]"})),d(),i+=s.move("]:"+(u.children&&u.children.length>0?" ":"")),s.shift(4),i+=s.move(n.indentLines(n.containerFlow(u,s.current()),Fg)),o(),i}function Fg(u,t,n){return t===0?u:(n?"":" ")+u}const xg=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];L4.peek=Sg;function Yg(){return{canContainEols:["delete"],enter:{strikethrough:bg},exit:{strikethrough:Tg}}}function wg(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:xg}],handlers:{delete:L4}}}function bg(u){this.enter({type:"delete",children:[]},u)}function Tg(u){this.exit(u)}function L4(u,t,n,r){const s=n.createTracker(r),i=n.enter("strikethrough");let o=s.move("~~");return o+=n.containerPhrasing(u,{...s.current(),before:o,after:"~"}),o+=s.move("~~"),i(),o}function Sg(){return"~"}function Hg(u,t={}){const n=(t.align||[]).concat(),r=t.stringLength||Og,s=[],i=[],o=[],d=[];let m=0,_=-1;for(;++_m&&(m=u[_].length);++Ad[A])&&(d[A]=b)}E.push(B)}i[_]=E,o[_]=C}let f=-1;if(typeof n=="object"&&"length"in n)for(;++fd[f]&&(d[f]=B),g[f]=B),h[f]=b}i.splice(1,0,h),o.splice(1,0,g),_=-1;const D=[];for(;++_ "),i.shift(2);const o=n.indentLines(n.containerFlow(u,i.current()),Ig);return s(),o}function Ig(u,t,n){return">"+(n?"":" ")+u}function Wg(u,t){return Po(u,t.inConstruct,!0)&&!Po(u,t.notInConstruct,!1)}function Po(u,t,n){if(typeof t=="string"&&(t=[t]),!t||t.length===0)return n;let r=-1;for(;++ro&&(o=i):i=1,s=r+t.length,r=n.indexOf(t,s);return o}function Ng(u,t){return!!(t.options.fences===!1&&u.value&&!u.lang&&/[^ \r\n]/.test(u.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(u.value))}function Rg(u){const t=u.options.fence||"`";if(t!=="`"&&t!=="~")throw new Error("Cannot serialize code with `"+t+"` for `options.fence`, expected `` ` `` or `~`");return t}function Ug(u,t,n,r){const s=Rg(n),i=u.value||"",o=s==="`"?"GraveAccent":"Tilde";if(Ng(u,n)){const h=n.enter("codeIndented"),g=n.indentLines(i,Vg);return h(),g}const d=n.createTracker(r),m=s.repeat(Math.max(zg(i,s)+1,3)),_=n.enter("codeFenced");let f=d.move(m);if(u.lang){const h=n.enter(`codeFencedLang${o}`);f+=d.move(n.safe(u.lang,{before:f,after:" ",encode:["`"],...d.current()})),h()}if(u.lang&&u.meta){const h=n.enter(`codeFencedMeta${o}`);f+=d.move(" "),f+=d.move(n.safe(u.meta,{before:f,after:` +`}),n}function Lo(u){let t=0,n=u.charCodeAt(t);for(;n===9||n===32;)t++,n=u.charCodeAt(t);return u.slice(t)}function vo(u,t){const n=s9(u,t),r=n.one(u,void 0),s=r9(n),i=Array.isArray(r)?{type:"root",children:r}:r||{type:"root",children:[]};return s&&i.children.push({type:"text",value:` +`},s),i}function c9(u,t){return u&&"run"in u?async function(n,r){const s=vo(n,t);await u.run(s,r)}:function(n){return vo(n,t||u)}}class p0{constructor(t,n,r){this.property=t,this.normal=n,r&&(this.space=r)}}p0.prototype.property={},p0.prototype.normal={},p0.prototype.space=null;function i4(u,t){const n={},r={};let s=-1;for(;++s4&&n.slice(0,4)==="data"&&p9.test(t)){if(t.charAt(4)==="-"){const i=t.slice(5).replace(ko,g9);r="data"+i.charAt(0).toUpperCase()+i.slice(1)}else{const i=t.slice(4);if(!ko.test(i)){let o=i.replace(D9,E9);o.charAt(0)!=="-"&&(o="-"+o),t="data"+o}}s=Na}return new s(r,t)}function E9(u){return"-"+u.toLowerCase()}function g9(u){return u.charAt(1).toUpperCase()}const A9={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},C9=i4([d4,l4,_4,h4,h9],"html"),f4=i4([d4,l4,_4,h4,f9],"svg");function M9(u){const t=String(u||"").trim();return t?t.split(/[ \t\n\r\f]+/g):[]}function L9(u){return u.join(" ").trim()}function v9(u,t){const n={};return(u[u.length-1]===""?[...u,""]:u).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}var pa={exports:{}},Fo=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,B9=/\n/g,k9=/^\s*/,F9=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,x9=/^:\s*/,Y9=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,w9=/^[;\s]*/,b9=/^\s+|\s+$/g,T9=` +`,xo="/",Yo="*",ct="",S9="comment",H9="declaration",j9=function(u,t){if(typeof u!="string")throw new TypeError("First argument must be a string");if(!u)return[];t=t||{};var n=1,r=1;function s(g){var A=g.match(B9);A&&(n+=A.length);var C=g.lastIndexOf(T9);r=~C?g.length-C:r+g.length}function i(){var g={line:n,column:r};return function(A){return A.position=new o(g),_(),A}}function o(g){this.start=g,this.end={line:n,column:r},this.source=t.source}o.prototype.content=u;function d(g){var A=new Error(t.source+":"+n+":"+r+": "+g);if(A.reason=g,A.filename=t.source,A.line=n,A.column=r,A.source=u,!t.silent)throw A}function m(g){var A=g.exec(u);if(A){var C=A[0];return s(C),u=u.slice(C.length),A}}function _(){m(k9)}function f(g){var A;for(g=g||[];A=h();)A!==!1&&g.push(A);return g}function h(){var g=i();if(!(xo!=u.charAt(0)||Yo!=u.charAt(1))){for(var A=2;ct!=u.charAt(A)&&(Yo!=u.charAt(A)||xo!=u.charAt(A+1));)++A;if(A+=2,ct===u.charAt(A-1))return d("End of comment missing");var C=u.slice(2,A-2);return r+=2,s(C),u=u.slice(A),r+=2,g({type:S9,comment:C})}}function E(){var g=i(),A=m(F9);if(A){if(h(),!m(x9))return d("property missing ':'");var C=m(Y9),B=g({type:H9,property:wo(A[0].replace(Fo,ct)),value:C?wo(C[0].replace(Fo,ct)):ct});return m(w9),B}}function D(){var g=[];f(g);for(var A;A=E();)A!==!1&&(g.push(A),f(g));return g}return _(),D()};function wo(u){return u?u.replace(b9,ct):ct}var O9=j9;function bo(u,t){var n=null;if(!u||typeof u!="string")return n;for(var r,s=O9(u),i=typeof t=="function",o,d,m=0,_=s.length;m<_;m++)r=s[m],o=r.property,d=r.value,i?t(o,d,r):d&&(n||(n={}),n[o]=d);return n}pa.exports=bo,pa.exports.default=bo;var P9=pa.exports;const I9=E0(P9),W9={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},N9={}.hasOwnProperty;function z9(u,t,n){if(typeof u!="function")throw new TypeError("h is not a function");const r=U9(u),s=J9(u),i=$9(u);let o,d;if(typeof n=="string"||typeof n=="boolean"?(o=n,n={}):(n||(n={}),o=n.prefix),t&&t.type==="root"){const m=t.children[0];d=t.children.length===1&&m.type==="element"?m:{type:"element",tagName:"div",properties:{},children:t.children}}else if(t&&t.type==="element")d=t;else throw new Error("Expected root or element, not `"+(t&&t.type||t)+"`");return p4(u,d,{schema:n.space==="svg"?f4:C9,prefix:o==null?r||s||i?"h-":void 0:typeof o=="string"?o:o?"h-":void 0,key:0,react:r,vue:s,vdom:i,hyperscript:V9(u)})}function p4(u,t,n){const r=n.schema;let s=r,i=t.tagName;const o={},d=[];let m=-1,_;r.space==="html"&&i.toLowerCase()==="svg"&&(s=f4,n.schema=s);for(_ in t.properties)t.properties&&N9.call(t.properties,_)&&R9(o,_,t.properties[_],n,i);if(n.vdom&&(s.space==="html"?i=i.toUpperCase():s.space&&(o.namespace=W9[s.space])),n.prefix&&(n.key++,o.key=n.prefix+n.key),t.children)for(;++m0?u.call(t,i,o,d):u.call(t,i,o)}function R9(u,t,n,r,s){const i=y9(r.schema,t);let o;n==null||typeof n=="number"&&Number.isNaN(n)||n===!1&&(r.vue||r.vdom||r.hyperscript)||!n&&i.boolean&&(r.vue||r.vdom||r.hyperscript)||(Array.isArray(n)&&(n=i.commaSeparated?v9(n):L9(n)),i.boolean&&r.hyperscript&&(n=""),i.property==="style"&&typeof n=="string"&&(r.react||r.vue||r.vdom)&&(n=q9(n,s)),r.vue?i.property!=="style"&&(o="attrs"):i.mustUseProperty||(r.vdom?i.property!=="style"&&(o="attributes"):r.hyperscript&&(o="attrs")),o?u[o]=Object.assign(u[o]||{},{[i.attribute]:n}):i.space&&r.react?u[A9[i.property]||i.property]=n:u[i.attribute]=n)}function U9(u){const t=u("div",{});return!!(t&&("_owner"in t||"_store"in t)&&(t.key===void 0||t.key===null))}function V9(u){return"context"in u&&"cleanup"in u}function $9(u){return u("div",{}).type==="VirtualNode"}function J9(u){const t=u("div",{});return!!(t&&t.context&&t.context._isVue)}function q9(u,t){const n={};try{I9(u,(r,s)=>{r.slice(0,4)==="-ms-"&&(r="ms-"+r.slice(4)),n[r.replace(/-([a-z])/g,(i,o)=>o.toUpperCase())]=s})}catch(r){const s=r;throw s.message=t+"[style]"+s.message.slice(9),s}return n}var G9=D4;function D4(u){if(typeof u=="string")return X9(u);if(u==null)return uy;if(typeof u=="object")return("length"in u?Q9:Z9)(u);if(typeof u=="function")return u;throw new Error("Expected function, string, or object as test")}function K9(u){for(var t=[],n=u.length,r=-1;++r_&&h!_y(m))),u.components&&hy.call(u.components,i)){const m=u.components[i];return u.passNode&&typeof m=="function"&&(o=Object.assign({node:this},o)),t(m,o,d)}return t(i,o,d)}}const g4=function(u){if(u==null)return Ey;if(typeof u=="string")return yy(u);if(typeof u=="object")return Dy(u);if(typeof u=="function")return za(u);throw new Error("Expected function, string, or array as `test`")};function Dy(u){const t=[];let n=-1;for(;++n0&&(i.properties.rel=[...E]),D&&(i.properties.target=D),f){const A=l0(t.contentProperties,i)||{};i.children.push({type:"element",tagName:"span",properties:_t(A),children:_t(f)})}}}})}}function l0(u,t){return typeof u=="function"?u(t):u}const Fy={name:"NcReferenceList",components:{NcReferenceWidget:Nf},props:{text:{type:String,default:""},referenceData:{type:Array,default:null},limit:{type:Number,default:1},displayFallback:{type:Boolean,default:!1},interactive:{type:Boolean,default:!0},interactiveOptIn:{type:Boolean,default:!1}},data(){return{references:null,loading:!0}},computed:{isVisible(){return this.loading||this.displayedReferences.length!==0},values(){return this.referenceData?this.referenceData:this.displayFallback&&!this.loading&&!this.references?[this.fallbackReference]:this.references?Object.values(this.references):[]},firstReference(){return this.values[0]??null},displayedReferences(){return this.values.slice(0,this.limit)},fallbackReference(){return{accessible:!0,openGraphObject:{id:this.text,link:this.text,name:this.text},richObjectType:"open-graph"}}},watch:{text:"fetch"},mounted(){this.fetch()},methods:{fetch(){if(this.loading=!0,this.referenceData){this.references=null,this.loading=!1;return}if(!new RegExp(Oi).exec(this.text)){this.references=null,this.loading=!1;return}this.resolve().then(u=>{this.references=u.data.ocs.data.references,this.loading=!1,this.$emit("loaded")}).catch(u=>{console.error("Failed to extract references",u),this.loading=!1,this.$emit("loaded")})},resolve(){const u=new RegExp(Oi).exec(this.text.trim()),t=D0()===null;return this.limit===1&&u?t?mt.get(Pt("references/resolvePublic")+`?reference=${encodeURIComponent(u[0])}&sharingToken=${$i()}`):mt.get(Pt("references/resolve")+`?reference=${encodeURIComponent(u[0])}`):t?mt.post(Pt("references/extractPublic"),{text:this.text,resolve:!0,limit:this.limit,sharingToken:$i()}):mt.post(Pt("references/extract"),{text:this.text,resolve:!0,limit:this.limit})}}};var xy=function(){var u=this,t=u._self._c;return u.isVisible?t("div",{staticClass:"widgets--list",class:{"icon-loading":u.loading}},u._l(u.displayedReferences,function(n){return t("NcReferenceWidget",{key:n?.openGraphObject?.id,attrs:{reference:n,interactive:u.interactive,"interactive-opt-in":u.interactiveOptIn}})}),1):u._e()},Yy=[],wy=Lu(Fy,xy,Yy,!1,null,"ffdba753");const Vr=wy.exports,by=function(){return function(u){We(u,n=>n.type==="text",t);function t(n,r,s){const i=n.value.split(/(\{[a-z\-_.0-9]+\})/ig).map((o,d,m)=>{const _=o.match(/^\{([a-z\-_.0-9]+)\}$/i);if(!_)return m0("text",o);const[,f]=_;return m0("element",{tagName:`#${f}`})});s.children.splice(r,1,...i)}}},Ty=({h:u,context:t},n)=>(t.autolink&&(n=Fl(n)),Array.isArray(n)?n.map(r=>{if(typeof r=="string")return r;const{component:s,props:i}=r,o=s.name==="NcLink"?void 0:"rich-text--component";return u(s,{props:i,class:o})}):n),Sy=function(){return function(u){We(u,t=>["text","code","inlineCode"].includes(t.type),(t,n,r)=>(r.children.splice(n,1,{...t,value:t.value.replace(/</gmi,"<").replace(/>/gmi,">")}),[Ya,n+1]))}};function So(u,t){const n=String(u);if(typeof t!="string")throw new TypeError("Expected character");let r=0,s=n.indexOf(t);for(;s!==-1;)r++,s=n.indexOf(t,s+t.length);return r}const y0=bn(/[A-Za-z]/),Ra=bn(/[\dA-Za-z]/);function Hy(u){return u!==null&&(u<32||u===127)}function Wt(u){return u!==null&&u<-2}function Hu(u){return u!==null&&(u<0||u===32)}function Pe(u){return u===-2||u===-1||u===32}const wn=bn(new RegExp("\\p{P}|\\p{S}","u")),ht=bn(/\s/);function bn(u){return t;function t(n){return n!==null&&n>-1&&u.test(String.fromCharCode(n))}}function jy(u){if(typeof u!="string")throw new TypeError("Expected a string");return u.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}const Tn=function(u){if(u==null)return Wy;if(typeof u=="function")return Sn(u);if(typeof u=="object")return Array.isArray(u)?Oy(u):Py(u);if(typeof u=="string")return Iy(u);throw new Error("Expected function, string, or object as test")};function Oy(u){const t=[];let n=-1;for(;++n":""))+")"})}return E;function E(){let D=A4,g,A,C;if(i(m,_,f[f.length-1]||void 0)&&(D=Vy(n(m,f)),D[0]===Ho))return D;if("children"in m&&m.children){const B=m;if(B.children&&D[0]!==Ry)for(A=-1+o,C=f.concat(B);A>-1&&A0?{type:"text",value:O}:void 0),O===!1?h.lastIndex=b+1:(D!==b&&C.push({type:"text",value:m.value.slice(D,b)}),Array.isArray(O)?C.push(...O):O&&C.push(O),D=b+B[0].length,A=!0),!h.global)break;B=h.exec(m.value)}return A?(D?\]}]+$/.exec(u);if(!t)return[u,void 0];u=u.slice(0,t.index);let n=t[0],r=n.indexOf(")");const s=So(u,"(");let i=So(u,")");for(;r!==-1&&s>i;)u+=n.slice(0,r+1),n=n.slice(r+1),r=n.indexOf(")"),i++;return[u,n]}function C4(u,t){const n=u.input.charCodeAt(u.index-1);return(u.index===0||ht(n)||wn(n))&&(!t||n!==47)}function C0(u){return u.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}M4.peek=yE;function oE(){return{enter:{gfmFootnoteDefinition:dE,gfmFootnoteDefinitionLabelString:cE,gfmFootnoteCall:hE,gfmFootnoteCallString:fE},exit:{gfmFootnoteDefinition:_E,gfmFootnoteDefinitionLabelString:mE,gfmFootnoteCall:DE,gfmFootnoteCallString:pE}}}function lE(){return{unsafe:[{character:"[",inConstruct:["phrasing","label","reference"]}],handlers:{footnoteDefinition:EE,footnoteReference:M4}}}function dE(u){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},u)}function cE(){this.buffer()}function mE(u){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.label=t,n.identifier=C0(this.sliceSerialize(u)).toLowerCase()}function _E(u){this.exit(u)}function hE(u){this.enter({type:"footnoteReference",identifier:"",label:""},u)}function fE(){this.buffer()}function pE(u){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.label=t,n.identifier=C0(this.sliceSerialize(u)).toLowerCase()}function DE(u){this.exit(u)}function M4(u,t,n,r){const s=n.createTracker(r);let i=s.move("[^");const o=n.enter("footnoteReference"),d=n.enter("reference");return i+=s.move(n.safe(n.associationId(u),{...s.current(),before:i,after:"]"})),d(),o(),i+=s.move("]"),i}function yE(){return"["}function EE(u,t,n,r){const s=n.createTracker(r);let i=s.move("[^");const o=n.enter("footnoteDefinition"),d=n.enter("label");return i+=s.move(n.safe(n.associationId(u),{...s.current(),before:i,after:"]"})),d(),i+=s.move("]:"+(u.children&&u.children.length>0?" ":"")),s.shift(4),i+=s.move(n.indentLines(n.containerFlow(u,s.current()),gE)),o(),i}function gE(u,t,n){return t===0?u:(n?"":" ")+u}const AE=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];L4.peek=BE;function CE(){return{canContainEols:["delete"],enter:{strikethrough:LE},exit:{strikethrough:vE}}}function ME(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:AE}],handlers:{delete:L4}}}function LE(u){this.enter({type:"delete",children:[]},u)}function vE(u){this.exit(u)}function L4(u,t,n,r){const s=n.createTracker(r),i=n.enter("strikethrough");let o=s.move("~~");return o+=n.containerPhrasing(u,{...s.current(),before:o,after:"~"}),o+=s.move("~~"),i(),o}function BE(){return"~"}function kE(u,t={}){const n=(t.align||[]).concat(),r=t.stringLength||xE,s=[],i=[],o=[],d=[];let m=0,_=-1;for(;++_m&&(m=u[_].length);++Cd[C])&&(d[C]=b)}g.push(B)}i[_]=g,o[_]=A}let f=-1;if(typeof n=="object"&&"length"in n)for(;++fd[f]&&(d[f]=B),E[f]=B),h[f]=b}i.splice(1,0,h),o.splice(1,0,E),_=-1;const D=[];for(;++_ "),i.shift(2);const o=n.indentLines(n.containerFlow(u,i.current()),wE);return s(),o}function wE(u,t,n){return">"+(n?"":" ")+u}function bE(u,t){return Oo(u,t.inConstruct,!0)&&!Oo(u,t.notInConstruct,!1)}function Oo(u,t,n){if(typeof t=="string"&&(t=[t]),!t||t.length===0)return n;let r=-1;for(;++ro&&(o=i):i=1,s=r+t.length,r=n.indexOf(t,s);return o}function SE(u,t){return!!(t.options.fences===!1&&u.value&&!u.lang&&/[^ \r\n]/.test(u.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(u.value))}function HE(u){const t=u.options.fence||"`";if(t!=="`"&&t!=="~")throw new Error("Cannot serialize code with `"+t+"` for `options.fence`, expected `` ` `` or `~`");return t}function jE(u,t,n,r){const s=HE(n),i=u.value||"",o=s==="`"?"GraveAccent":"Tilde";if(SE(u,n)){const h=n.enter("codeIndented"),E=n.indentLines(i,OE);return h(),E}const d=n.createTracker(r),m=s.repeat(Math.max(TE(i,s)+1,3)),_=n.enter("codeFenced");let f=d.move(m);if(u.lang){const h=n.enter(`codeFencedLang${o}`);f+=d.move(n.safe(u.lang,{before:f,after:" ",encode:["`"],...d.current()})),h()}if(u.lang&&u.meta){const h=n.enter(`codeFencedMeta${o}`);f+=d.move(" "),f+=d.move(n.safe(u.meta,{before:f,after:` `,encode:["`"],...d.current()})),h()}return f+=d.move(` `),i&&(f+=d.move(i+` -`)),f+=d.move(m),_(),f}function Vg(u,t,n){return(n?"":" ")+u}function Ua(u){const t=u.options.quote||'"';if(t!=='"'&&t!=="'")throw new Error("Cannot serialize title with `"+t+"` for `options.quote`, expected `\"`, or `'`");return t}function $g(u,t,n,r){const s=Ua(n),i=s==='"'?"Quote":"Apostrophe",o=n.enter("definition");let d=n.enter("label");const m=n.createTracker(r);let _=m.move("[");return _+=m.move(n.safe(n.associationId(u),{before:_,after:"]",...m.current()})),_+=m.move("]: "),d(),!u.url||/[\0- \u007F]/.test(u.url)?(d=n.enter("destinationLiteral"),_+=m.move("<"),_+=m.move(n.safe(u.url,{before:_,after:">",...m.current()})),_+=m.move(">")):(d=n.enter("destinationRaw"),_+=m.move(n.safe(u.url,{before:_,after:u.title?" ":` -`,...m.current()}))),d(),u.title&&(d=n.enter(`title${i}`),_+=m.move(" "+s),_+=m.move(n.safe(u.title,{before:_,after:s,...m.current()})),_+=m.move(s),d()),o(),_}function Jg(u){const t=u.options.emphasis||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize emphasis with `"+t+"` for `options.emphasis`, expected `*`, or `_`");return t}v4.peek=qg;function v4(u,t,n,r){const s=Jg(n),i=n.enter("emphasis"),o=n.createTracker(r);let d=o.move(s);return d+=o.move(n.containerPhrasing(u,{before:d,after:s,...o.current()})),d+=o.move(s),i(),d}function qg(u,t,n){return n.options.emphasis||"*"}const Gg={};function B4(u,t){const n=Gg,r=typeof n.includeImageAlt=="boolean"?n.includeImageAlt:!0,s=typeof n.includeHtml=="boolean"?n.includeHtml:!0;return k4(u,r,s)}function k4(u,t,n){if(Kg(u)){if("value"in u)return u.type==="html"&&!n?"":u.value;if(t&&"alt"in u&&u.alt)return u.alt;if("children"in u)return Wo(u.children,t,n)}return Array.isArray(u)?Wo(u,t,n):""}function Wo(u,t,n){const r=[];let s=-1;for(;++s",...m.current()})),_+=m.move(">")):(d=n.enter("destinationRaw"),_+=m.move(n.safe(u.url,{before:_,after:u.title?" ":` +`,...m.current()}))),d(),u.title&&(d=n.enter(`title${i}`),_+=m.move(" "+s),_+=m.move(n.safe(u.title,{before:_,after:s,...m.current()})),_+=m.move(s),d()),o(),_}function IE(u){const t=u.options.emphasis||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize emphasis with `"+t+"` for `options.emphasis`, expected `*`, or `_`");return t}v4.peek=WE;function v4(u,t,n,r){const s=IE(n),i=n.enter("emphasis"),o=n.createTracker(r);let d=o.move(s);return d+=o.move(n.containerPhrasing(u,{before:d,after:s,...o.current()})),d+=o.move(s),i(),d}function WE(u,t,n){return n.options.emphasis||"*"}const NE={};function B4(u,t){const n=NE,r=typeof n.includeImageAlt=="boolean"?n.includeImageAlt:!0,s=typeof n.includeHtml=="boolean"?n.includeHtml:!0;return k4(u,r,s)}function k4(u,t,n){if(zE(u)){if("value"in u)return u.type==="html"&&!n?"":u.value;if(t&&"alt"in u&&u.alt)return u.alt;if("children"in u)return Io(u.children,t,n)}return Array.isArray(u)?Io(u,t,n):""}function Io(u,t,n){const r=[];let s=-1;for(;++s",...m.current()})),_+=m.move(">")):(d=n.enter("destinationRaw"),_+=m.move(n.safe(u.url,{before:_,after:u.title?" ":")",...m.current()}))),d(),u.title&&(d=n.enter(`title${i}`),_+=m.move(" "+s),_+=m.move(n.safe(u.title,{before:_,after:s,...m.current()})),_+=m.move(s),d()),_+=m.move(")"),o(),_}function uE(){return"!"}Y4.peek=eE;function Y4(u,t,n,r){const s=u.referenceType,i=n.enter("imageReference");let o=n.enter("label");const d=n.createTracker(r);let m=d.move("![");const _=n.safe(u.alt,{before:m,after:"]",...d.current()});m+=d.move(_+"]["),o();const f=n.stack;n.stack=[],o=n.enter("reference");const h=n.safe(n.associationId(u),{before:m,after:"]",...d.current()});return o(),n.stack=f,i(),s==="full"||!_||_!==h?m+=d.move(h+"]"):s==="shortcut"?m=m.slice(0,-1):m+=d.move("]"),m}function eE(){return"!"}w4.peek=tE;function w4(u,t,n){let r=u.value||"",s="`",i=-1;for(;new RegExp("(^|[^`])"+s+"([^`]|$)").test(r);)s+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++i\u007F]/.test(u.url))}T4.peek=nE;function T4(u,t,n,r){const s=Ua(n),i=s==='"'?"Quote":"Apostrophe",o=n.createTracker(r);let d,m;if(b4(u,n)){const f=n.stack;n.stack=[],d=n.enter("autolink");let h=o.move("<");return h+=o.move(n.containerPhrasing(u,{before:h,after:">",...o.current()})),h+=o.move(">"),d(),n.stack=f,h}d=n.enter("link"),m=n.enter("label");let _=o.move("[");return _+=o.move(n.containerPhrasing(u,{before:_,after:"](",...o.current()})),_+=o.move("]("),m(),!u.url&&u.title||/[\0- \u007F]/.test(u.url)?(m=n.enter("destinationLiteral"),_+=o.move("<"),_+=o.move(n.safe(u.url,{before:_,after:">",...o.current()})),_+=o.move(">")):(m=n.enter("destinationRaw"),_+=o.move(n.safe(u.url,{before:_,after:u.title?" ":")",...o.current()}))),m(),u.title&&(m=n.enter(`title${i}`),_+=o.move(" "+s),_+=o.move(n.safe(u.title,{before:_,after:s,...o.current()})),_+=o.move(s),m()),_+=o.move(")"),d(),_}function nE(u,t,n){return b4(u,n)?"<":"["}S4.peek=rE;function S4(u,t,n,r){const s=u.referenceType,i=n.enter("linkReference");let o=n.enter("label");const d=n.createTracker(r);let m=d.move("[");const _=n.containerPhrasing(u,{before:m,after:"]",...d.current()});m+=d.move(_+"]["),o();const f=n.stack;n.stack=[],o=n.enter("reference");const h=n.safe(n.associationId(u),{before:m,after:"]",...d.current()});return o(),n.stack=f,i(),s==="full"||!_||_!==h?m+=d.move(h+"]"):s==="shortcut"?m=m.slice(0,-1):m+=d.move("]"),m}function rE(){return"["}function Va(u){const t=u.options.bullet||"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function aE(u){const t=Va(u),n=u.options.bulletOther;if(!n)return t==="*"?"-":"*";if(n!=="*"&&n!=="+"&&n!=="-")throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===t)throw new Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+n+"`) to be different");return n}function sE(u){const t=u.options.bulletOrdered||".";if(t!=="."&&t!==")")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function H4(u){const t=u.options.rule||"*";if(t!=="*"&&t!=="-"&&t!=="_")throw new Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function iE(u,t,n,r){const s=n.enter("list"),i=n.bulletCurrent;let o=u.ordered?sE(n):Va(n);const d=u.ordered?o==="."?")":".":aE(n);let m=t&&n.bulletLastUsed?o===n.bulletLastUsed:!1;if(!u.ordered){const f=u.children?u.children[0]:void 0;if((o==="*"||o==="-")&&f&&(!f.children||!f.children[0])&&n.stack[n.stack.length-1]==="list"&&n.stack[n.stack.length-2]==="listItem"&&n.stack[n.stack.length-3]==="list"&&n.stack[n.stack.length-4]==="listItem"&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0&&(m=!0),H4(n)===o&&f){let h=-1;for(;++h-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(u))+i);let o=i.length+1;(s==="tab"||s==="mixed"&&(t&&t.type==="list"&&t.spread||u.spread))&&(o=Math.ceil(o/4)*4);const d=n.createTracker(r);d.move(i+" ".repeat(o-i.length)),d.shift(o);const m=n.enter("listItem"),_=n.indentLines(n.containerFlow(u,d.current()),f);return m(),_;function f(h,g,D){return g?(D?"":" ".repeat(o))+h:(D?i:i+" ".repeat(o-i.length))+h}}function dE(u,t,n,r){const s=n.enter("paragraph"),i=n.enter("phrasing"),o=n.containerPhrasing(u,r);return i(),s(),o}const cE=Tn(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function mE(u,t,n,r){return(u.children.some(function(s){return cE(s)})?n.containerPhrasing:n.containerFlow).call(n,u,r)}function _E(u){const t=u.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}j4.peek=hE;function j4(u,t,n,r){const s=_E(n),i=n.enter("strong"),o=n.createTracker(r);let d=o.move(s+s);return d+=o.move(n.containerPhrasing(u,{before:d,after:s,...o.current()})),d+=o.move(s+s),i(),d}function hE(u,t,n){return n.options.strong||"*"}function fE(u,t,n,r){return n.safe(u.value,r)}function pE(u){const t=u.options.ruleRepetition||3;if(t<3)throw new Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function DE(u,t,n){const r=(H4(n)+(n.options.ruleSpaces?" ":"")).repeat(pE(n));return n.options.ruleSpaces?r.slice(0,-1):r}const O4={blockquote:Pg,break:Io,code:Ug,definition:$g,emphasis:v4,hardBreak:Io,heading:Qg,html:F4,image:x4,imageReference:Y4,inlineCode:w4,link:T4,linkReference:S4,list:iE,listItem:lE,paragraph:dE,root:mE,strong:j4,text:fE,thematicBreak:DE};function yE(){return{enter:{table:gE,tableData:zo,tableHeader:zo,tableRow:CE},exit:{codeText:AE,table:EE,tableData:Gr,tableHeader:Gr,tableRow:Gr}}}function gE(u){const t=u._align;this.enter({type:"table",align:t.map(function(n){return n==="none"?null:n}),children:[]},u),this.data.inTable=!0}function EE(u){this.exit(u),this.data.inTable=void 0}function CE(u){this.enter({type:"tableRow",children:[]},u)}function Gr(u){this.exit(u)}function zo(u){this.enter({type:"tableCell",children:[]},u)}function AE(u){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,ME));const n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(u)}function ME(u,t){return t==="|"?t:u}function LE(u){const t=u||{},n=t.tableCellPadding,r=t.tablePipeAlign,s=t.stringLength,i=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:` -`,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:g,table:o,tableCell:m,tableRow:d}};function o(D,E,C,A){return _(f(D,C,A),D.align)}function d(D,E,C,A){const B=h(D,C,A),b=_([B]);return b.slice(0,b.indexOf(` -`))}function m(D,E,C,A){const B=C.enter("tableCell"),b=C.enter("phrasing"),T=C.containerPhrasing(D,{...A,before:i,after:i});return b(),B(),T}function _(D,E){return Hg(D,{align:E,alignDelimiters:r,padding:n,stringLength:s})}function f(D,E,C){const A=D.children;let B=-1;const b=[],T=E.enter("table");for(;++Bs?0:s+t:t=t>s?s:t,n=n>0?n:0,r.length<1e4)o=Array.from(r),o.unshift(t,n),u.splice(...o);else for(n&&u.splice(t,n);i0&&!n&&(u[u.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}function $o(u){if(u===null||Hu(u)||_t(u))return 1;if(wn(u))return 2}function VE(u,t,n){const r=[];let s=-1;for(;++s999||h===93&&!o||h===null||h===91||Hu(h))return n(h);if(h===93){u.exit("chunkString");const g=u.exit("gfmFootnoteCallString");return s.includes(A0(r.sliceSerialize(g)))?(u.enter("gfmFootnoteCallLabelMarker"),u.consume(h),u.exit("gfmFootnoteCallLabelMarker"),u.exit("gfmFootnoteCall"),t):n(h)}return Hu(h)||(o=!0),i++,u.consume(h),h===92?f:_}function f(h){return h===91||h===92||h===93?(u.consume(h),i++,_):_(h)}}function XE(u,t,n){const r=this,s=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let i,o=0,d;return m;function m(E){return u.enter("gfmFootnoteDefinition")._container=!0,u.enter("gfmFootnoteDefinitionLabel"),u.enter("gfmFootnoteDefinitionLabelMarker"),u.consume(E),u.exit("gfmFootnoteDefinitionLabelMarker"),_}function _(E){return E===94?(u.enter("gfmFootnoteDefinitionMarker"),u.consume(E),u.exit("gfmFootnoteDefinitionMarker"),u.enter("gfmFootnoteDefinitionLabelString"),u.enter("chunkString").contentType="string",f):n(E)}function f(E){if(o>999||E===93&&!d||E===null||E===91||Hu(E))return n(E);if(E===93){u.exit("chunkString");const C=u.exit("gfmFootnoteDefinitionLabelString");return i=A0(r.sliceSerialize(C)),u.enter("gfmFootnoteDefinitionLabelMarker"),u.consume(E),u.exit("gfmFootnoteDefinitionLabelMarker"),u.exit("gfmFootnoteDefinitionLabel"),g}return Hu(E)||(d=!0),o++,u.consume(E),E===92?h:f}function h(E){return E===91||E===92||E===93?(u.consume(E),o++,f):f(E)}function g(E){return E===58?(u.enter("definitionMarker"),u.consume(E),u.exit("definitionMarker"),s.includes(i)||s.push(i),Ie(u,D,"gfmFootnoteDefinitionWhitespace")):n(E)}function D(E){return t(E)}}function uC(u,t,n){return u.check($E,t,u.attempt(qE,t,n))}function eC(u){u.exit("gfmFootnoteDefinition")}function tC(u,t,n){const r=this;return Ie(u,s,"gfmFootnoteDefinitionIndent",5);function s(i){const o=r.events[r.events.length-1];return o&&o[1].type==="gfmFootnoteDefinitionIndent"&&o[2].sliceSerialize(o[1],!0).length===4?t(i):n(i)}}function nC(u){let t=(u||{}).singleTilde;const n={tokenize:s,resolveAll:r};return t==null&&(t=!0),{text:{126:n},insideSpan:{null:[n]},attentionMarkers:{null:[126]}};function r(i,o){let d=-1;for(;++d1?d(D):(i.consume(D),f++,g);if(f<2&&!t)return d(D);const C=i.exit("strikethroughSequenceTemporary"),A=$o(D);return C._open=!A||A===2&&!!E,C._close=!E||E===2&&!!A,o(D)}}}class rC{constructor(){this.map=[]}add(t,n,r){aC(this,t,n,r)}consume(t){if(this.map.sort(function(i,o){return i[0]-o[0]}),this.map.length===0)return;let n=this.map.length;const r=[];for(;n>0;)n-=1,r.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];r.push([...t]),t.length=0;let s=r.pop();for(;s;)t.push(...s),s=r.pop();this.map.length=0}}function aC(u,t,n,r){let s=0;if(!(n===0&&r.length===0)){for(;s-1;){const U=r.events[k][1].type;if(U==="lineEnding"||U==="linePrefix")k--;else break}const F=k>-1?r.events[k][1].type:null,S=F==="tableHead"||F==="tableRow"?Y:m;return S===Y&&r.parser.lazy[r.now().line]?n(y):S(y)}function m(y){return u.enter("tableHead"),u.enter("tableRow"),_(y)}function _(y){return y===124||(o=!0,i+=1),f(y)}function f(y){return y===null?n(y):It(y)?i>1?(i=0,r.interrupt=!0,u.exit("tableRow"),u.enter("lineEnding"),u.consume(y),u.exit("lineEnding"),D):n(y):Pe(y)?Ie(u,f,"whitespace")(y):(i+=1,o&&(o=!1,s+=1),y===124?(u.enter("tableCellDivider"),u.consume(y),u.exit("tableCellDivider"),o=!0,f):(u.enter("data"),h(y)))}function h(y){return y===null||y===124||Hu(y)?(u.exit("data"),f(y)):(u.consume(y),y===92?g:h)}function g(y){return y===92||y===124?(u.consume(y),h):h(y)}function D(y){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(y):(u.enter("tableDelimiterRow"),o=!1,Pe(y)?Ie(u,E,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(y):E(y))}function E(y){return y===45||y===58?A(y):y===124?(o=!0,u.enter("tableCellDivider"),u.consume(y),u.exit("tableCellDivider"),C):W(y)}function C(y){return Pe(y)?Ie(u,A,"whitespace")(y):A(y)}function A(y){return y===58?(i+=1,o=!0,u.enter("tableDelimiterMarker"),u.consume(y),u.exit("tableDelimiterMarker"),B):y===45?(i+=1,B(y)):y===null||It(y)?O(y):W(y)}function B(y){return y===45?(u.enter("tableDelimiterFiller"),b(y)):W(y)}function b(y){return y===45?(u.consume(y),b):y===58?(o=!0,u.exit("tableDelimiterFiller"),u.enter("tableDelimiterMarker"),u.consume(y),u.exit("tableDelimiterMarker"),T):(u.exit("tableDelimiterFiller"),T(y))}function T(y){return Pe(y)?Ie(u,O,"whitespace")(y):O(y)}function O(y){return y===124?E(y):y===null||It(y)?!o||s!==i?W(y):(u.exit("tableDelimiterRow"),u.exit("tableHead"),t(y)):W(y)}function W(y){return n(y)}function Y(y){return u.enter("tableRow"),V(y)}function V(y){return y===124?(u.enter("tableCellDivider"),u.consume(y),u.exit("tableCellDivider"),V):y===null||It(y)?(u.exit("tableRow"),t(y)):Pe(y)?Ie(u,V,"whitespace")(y):(u.enter("data"),J(y))}function J(y){return y===null||y===124||Hu(y)?(u.exit("data"),V(y)):(u.consume(y),y===92?$:J)}function $(y){return y===92||y===124?(u.consume(y),J):J(y)}}function lC(u,t){let n=-1,r=!0,s=0,i=[0,0,0,0],o=[0,0,0,0],d=!1,m=0,_,f,h;const g=new rC;for(;++nn[2]+1){const E=n[2]+1,C=n[3]-n[2]-1;u.add(E,C,[])}}u.add(n[3]+1,0,[["exit",h,t]])}return s!==void 0&&(i.end=Object.assign({},jt(t.events,s)),u.add(s,0,[["exit",i,t]]),i=void 0),i}function Jo(u,t,n,r,s){const i=[],o=jt(t.events,n);s&&(s.end=Object.assign({},o),i.push(["exit",s,t])),r.end=Object.assign({},o),i.push(["exit",r,t]),u.add(n+1,0,i)}function jt(u,t){const n=u[t],r=n[0]==="enter"?"start":"end";return n[1][r]}const dC={tokenize:mC};function cC(){return{text:{91:dC}}}function mC(u,t,n){const r=this;return s;function s(m){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(m):(u.enter("taskListCheck"),u.enter("taskListCheckMarker"),u.consume(m),u.exit("taskListCheckMarker"),i)}function i(m){return Hu(m)?(u.enter("taskListCheckValueUnchecked"),u.consume(m),u.exit("taskListCheckValueUnchecked"),o):m===88||m===120?(u.enter("taskListCheckValueChecked"),u.consume(m),u.exit("taskListCheckValueChecked"),o):n(m)}function o(m){return m===93?(u.enter("taskListCheckMarker"),u.consume(m),u.exit("taskListCheckMarker"),u.exit("taskListCheck"),d):n(m)}function d(m){return It(m)?t(m):Pe(m)?u.check({tokenize:_C},t,n)(m):n(m)}}function _C(u,t,n){return Ie(u,r,"whitespace");function r(s){return s===null?n(s):t(s)}}function hC(u){return wE([jE(),GE(),nC(u),iC(),cC()])}const fC={};function pC(u){const t=this,n=u||fC,r=t.data(),s=r.micromarkExtensions||(r.micromarkExtensions=[]),i=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),o=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);s.push(hC(n)),i.push(xE()),o.push(YE(n))}const ya=se(null);async function DC(){const u=await $h(()=>import("./index-TN0j_P7L.chunk.mjs"),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url);ya.value=u.default}const yC={name:"NcRichText",components:{NcReferenceList:Vr},props:{text:{type:String,default:""},arguments:{type:Object,default:()=>({})},referenceLimit:{type:Number,default:0},referenceInteractive:{type:Boolean,default:!0},referenceInteractiveOptIn:{type:Boolean,default:!1},references:{type:Array,default:null},useMarkdown:{type:Boolean,default:!1},useExtendedMarkdown:{type:Boolean,default:!1},interactive:{type:Boolean,default:!1},autolink:{type:Boolean,default:!0}},emits:["interact:todo"],data(){return{parentId:Zr(5)}},methods:{renderPlaintext(u){const t=this,n=this.text.split(/(\{[a-z\-_.0-9]+\})/ig).map(function(r,s,i){const o=r.match(/^\{([a-z\-_.0-9]+)\}$/i);if(!o)return zy({h:u,context:t},r);const d=o[1],m=t.arguments[d];if(typeof m=="object"){const{component:_,props:f}=m;return u(_,{props:f,class:"rich-text--component"})}return m?u("span",{class:"rich-text--fallback"},m):r});return u("div",{class:"rich-text--wrapper"},[u("div",{},n.flat()),this.referenceLimit>0?u("div",{class:"rich-text--reference-widget"},[u(Vr,{props:{text:this.text,referenceData:this.references,interactive:this.referenceInteractive,interactiveOptIn:this.referenceInteractiveOptIn}})]):null])},renderMarkdown(u){const t=fp().use(L2).use(lf,{autolink:this.autolink,useMarkdown:this.useMarkdown,useExtendedMarkdown:this.useExtendedMarkdown}).use(Ny).use(this.useExtendedMarkdown?pC:void 0).use(b2).use(g9,{handlers:{component(n,r){return n(r,r.component,{value:r.value})}}}).use(this.useExtendedMarkdown?ya.value:void 0).use(Wy).use(Hy,{target:"_blank",rel:["noopener noreferrer"]}).use(Ly,{createElement:(n,r,s)=>{if(!n.startsWith("#")){if(this.useExtendedMarkdown){n==="code"&&!ya.value&&r?.attrs?.class?.includes("language")&&DC();let o=null;if(n==="li"&&Array.isArray(s)&&s[0].tag==="input"&&s[0].data.attrs.type==="checkbox"){const[d,...m]=s,_=m.findIndex(g=>["ul","ol","li","blockquote","pre"].includes(g.tag));_!==-1&&(o=m[_],m.splice(_));const f=this.parentId+"-markdown-input-"+Zr(5),h=u(wh,{attrs:{...d.data.attrs,id:f,disabled:!this.interactive},on:{"update:checked":()=>{this.$emit("interact:todo",f)}}},m);return u(n,r,[h,o])}}if(n==="a"){const o=wa(this.$router,r.attrs.href);if(o)return delete r.attrs.href,delete r.attrs.target,u(Mn,{...r,props:{to:o}},s)}return u(n,r,s)}const i=this.arguments[n.slice(1)];return i?i.component?u(i.component,{attrs:r,props:i.props,class:"rich-text--component"},s):u("span",r,[i]):u("span",{attrs:r,class:"rich-text--fallback"},[`{${n.slice(1)}}`])},prefix:!1}).processSync(this.text.replace(/<[^>]+>/g,n=>n.replace(/")).result;return u("div",{class:"rich-text--wrapper rich-text--wrapper-markdown"},[t,this.referenceLimit>0?u("div",{class:"rich-text--reference-widget"},[u(Vr,{props:{text:this.text,referenceData:this.references,interactive:this.referenceInteractive,interactiveOptIn:this.referenceInteractiveOptIn}})]):null])}},render(u){return this.useMarkdown||this.useExtendedMarkdown?this.renderMarkdown(u):this.renderPlaintext(u)}},gC=null,EC=null;var CC=Cu(yC,gC,EC,!1,null,"d7087beb");const U4=CC.exports,AC={name:"NcUserBubbleDiv"};var MC=function(){var u=this,t=u._self._c;return t("div",[u._t("trigger")],2)},LC=[],vC=Cu(AC,MC,LC,!1,null,null);const BC=vC.exports,kC={name:"NcUserBubble",components:{NcAvatar:ba,NcPopover:bh,NcUserBubbleDiv:BC},props:{avatarImage:{type:String,default:void 0},user:{type:String,default:void 0},displayName:{type:String,default:void 0},showUserStatus:{type:Boolean,default:!1},url:{type:String,default:void 0,validator:u=>{try{return u=new URL(u,u?.startsWith?.("/")?window.location.href:void 0),!0}catch{return!1}}},to:{type:[String,Object],default:void 0},open:{type:Boolean,default:!1},primary:{type:Boolean,default:!1},size:{type:Number,default:20},margin:{type:Number,default:2}},emits:["click","update:open"],computed:{isPopoverComponent(){return this.popoverEmpty?"NcUserBubbleDiv":"NcPopover"},isAvatarUrl(){if(!this.avatarImage)return!1;try{return!!new URL(this.avatarImage)}catch{return!1}},isCustomAvatar(){return!!this.avatarImage},hasUrl(){return this.url&&this.url.trim()!==""},isLinkComponent(){return this.hasUrl?"a":this.to?Mn:"div"},popoverEmpty(){return!("default"in this.$slots)},styles(){return{content:{height:this.size+"px",lineHeight:this.size+"px",borderRadius:this.size/2+"px"},avatar:{marginInlineStart:this.margin+"px"}}}},mounted(){!this.displayName&&!this.user&&Zo.util.warn("[NcUserBubble] At least `displayName` or `user` property should be set.")},methods:{onOpenChange(u){this.$emit("update:open",u)},onClick(u){this.$emit("click",u)}}};var FC=function(){var u=this,t=u._self._c;return t(u.isPopoverComponent,{tag:"component",staticClass:"user-bubble__wrapper",attrs:{trigger:"hover focus",shown:u.open},on:{"update:open":u.onOpenChange},scopedSlots:u._u([{key:"trigger",fn:function({attrs:n}){return[t(u.isLinkComponent,u._b({tag:"component",staticClass:"user-bubble__content",class:{"user-bubble__content--primary":u.primary},style:u.styles.content,attrs:{to:u.to,href:u.hasUrl?u.url:null},on:{click:u.onClick}},"component",n,!1),[t("NcAvatar",{staticClass:"user-bubble__avatar",style:u.styles.avatar,attrs:{url:u.isCustomAvatar&&u.isAvatarUrl?u.avatarImage:void 0,"icon-class":u.isCustomAvatar&&!u.isAvatarUrl?u.avatarImage:void 0,user:u.user,"display-name":u.displayName,size:u.size-u.margin*2,"disable-tooltip":!0,"disable-menu":!0,"show-user-status":u.showUserStatus}}),t("span",{staticClass:"user-bubble__name"},[u._v(" "+u._s(u.displayName||u.user)+" ")]),u.$slots.name?t("span",{staticClass:"user-bubble__secondary"},[u._t("name")],2):u._e()],1)]}}],null,!0)},[u._t("default")],2)},xC=[],YC=Cu(kC,FC,xC,!1,null,"a62a9496");const Kr=YC.exports;function wC(u){return u.replace(/\\/g,"/").replace(/\/[^\/]*$/,"")}function qo(...u){if(arguments.length<1)return"";const t=u.filter(m=>m.length>0);if(t.length<1)return"";const n=t[t.length-1],r=t[0].charAt(0)==="/",s=n.charAt(n.length-1)==="/",i=t.reduce((m,_)=>m.concat(_.split("/")),[]);let o=!r;const d=i.reduce((m,_)=>_===""?m:o?(o=!1,m+_):m+"/"+_,"");return s?d+"/":d}function Go(u,t){const n=(u||"").split("/").filter(s=>s!=="."),r=(t||"").split("/").filter(s=>s!==".");return u=qo.apply(void 0,n),t=qo.apply(void 0,r),u===t}const bC={name:"FileRichArgument",props:{name:{type:String,required:!0},path:{type:String,required:!0},link:{type:String,required:!0}},methods:{t:ln},computed:{isRoot(){return Go(this.path,"")},parentPathIsRoot(){return Go(this.parentFolder,"/")},parentFolder(){return wC(this.name)}}};var TC=function(){var u=this,t=u._self._c;return t("span",{staticClass:"rich-text-file"},[!u.isRoot&&u.parentPathIsRoot?t("a",{attrs:{href:u.link}},[u._v(u._s(u.name))]):u._e(),!u.isRoot&&!u.parentPathIsRoot?t("a",{attrs:{title:u.t("activity","in {path}",{path:u.parentFolder}),"aria-label":u.t("activity","in {path}",{path:u.parentFolder}),href:u.link}},[u._v(u._s(u.name))]):u._e(),u.isRoot?t("span",{staticClass:"icon-home",attrs:{title:u.t("activity","Home"),"aria-label":"t('activity', 'Home')"}}):u._e()])},SC=[],HC=Ru(bC,TC,SC,!1,null,"cd05a281");const jC=HC.exports,OC={name:"EmailRichArgument",props:{id:{type:String,required:!0},name:{type:String,required:!0}}};var PC=function(){var u=this,t=u._self._c;return t("a",{attrs:{href:`mailto:${u.id}`}},[u._v(u._s(u.name))])},IC=[],WC=Ru(OC,PC,IC,!1,null,null);const zC=WC.exports,NC={name:"SystemTagRichArgument",props:{name:{type:String,required:!0}}};var RC=function(){var u=this,t=u._self._c;return t("strong",[u._v(u._s(u.name))])},UC=[],VC=Ru(NC,RC,UC,!1,null,"0c35aeca");const $C=VC.exports,JC={name:"CalendarRichArgument",props:{name:{type:String,required:!0}}};var qC=function(){var u=this,t=u._self._c;return t("strong",[u._v(u._s(u.name))])},GC=[],KC=Ru(JC,qC,GC,!1,null,null);const ZC=KC.exports,QC={name:"CalendarEventRichArgument",props:{name:{type:String,required:!0},title:{type:String,required:!0},link:{type:String,required:!0}}};var XC=function(){var u=this,t=u._self._c;return t("a",{attrs:{href:u.link,title:u.title}},[t("strong",[u._v(u._s(u.name))])])},uA=[],eA=Ru(QC,XC,uA,!1,null,null);const tA=eA.exports,nA={name:"OpenGraphRichArgument",props:{id:{type:String,required:!0},name:{type:String,required:!0},description:{type:String,required:!0},thumb:{type:String,default:""},link:{type:String,required:!0},website:{type:String,required:!0}},computed:{thumbIsDefined(){return this.thumb!==""}}};var rA=function(){var u=this,t=u._self._c;return t("a",{attrs:{href:u.link}},[t("div",{staticClass:"opengraph",attrs:{id:`opengraph-${u.id}`}},[u.thumbIsDefined?t("div",{staticClass:"opengraph-thumb",style:`background-image: url('${u.thumb}')`}):u._e(),t("div",{staticClass:"opengraph-name",class:{"opengraph-with-thumb":u.thumbIsDefined}},[u._v(u._s(u.name))]),t("div",{staticClass:"opengraph-description",class:{"opengraph-with-thumb":u.thumbIsDefined}},[u._v(u._s(u.description))]),t("span",{staticClass:"opengraph-website"},[u._v(u._s(u.website))])])])},aA=[],sA=Ru(nA,rA,aA,!1,null,null);const iA=sA.exports,oA={name:"AddressBookRichArgument",props:{name:{type:String,required:!0}}};var lA=function(){var u=this,t=u._self._c;return t("strong",[u._v(u._s(u.name))])},dA=[],cA=Ru(oA,lA,dA,!1,null,null);const mA=cA.exports,_A={name:"UnknownArgument",props:{name:{type:String,required:!0}}};var hA=function(){var u=this,t=u._self._c;return t("strong",[u._v(u._s(u.name))])},fA=[],pA=Ru(_A,hA,fA,!1,null,null);const DA=pA.exports,yA={name:"UnknownLinkArgument",props:{name:{type:String,required:!0},link:{type:String,required:!0}}};var gA=function(){var u=this,t=u._self._c;return t("a",{attrs:{href:u.link}},[u._v(u._s(u.name))])},EA=[],CA=Ru(yA,gA,EA,!1,null,null);const AA=CA.exports;function ga(u){const t={};for(const n in u)t[n]=MA(u[n]);return t}function MA(u){switch(u.type){case"file":return{component:jC,props:u};case"user":return u.server?{component:Kr,props:{avatarImage:"icon-user",displayName:u.name,user:u.id,url:u.link}}:{component:Kr,props:{displayName:u.name,user:u.id,url:u.link}};case"group":return{component:Kr,props:{avatarImage:"icon-group",displayName:u.name,primary:!0}};case"email":return{component:zC,props:u};case"systemtag":return{component:$C,props:u};case"opengraph":return{component:iA,props:u};case"calendar":return{component:ZC,props:u};case"calendar-event":return{component:tA,props:u};case"addressbook":return{component:mA,props:u};default:return u.link?{component:AA,props:u}:{component:DA,props:u}}}const LA=An({__name:"CommentActivity",props:{activity:null,showPreviews:{type:Boolean}},setup(u){const t=u,n=Tu(()=>t.activity.subjectRichObjects?.author?.id??t.activity.user),r=Tu(()=>t.activity.user===D0()?.uid?ln("activity","You commented"):t.activity.subjectRichObjects?.author?.name??t.activity.user),s=Tu(()=>t.activity.timestamp),i=Tu(()=>t.activity.messageRichTemplate||t.activity.message||ln("activity","Message deleted by author")),o=Tu(()=>t.activity.subjectRichTemplate||t.activity.subject),d=Tu(()=>ga(t.activity.subjectRichObjects));return{__sfc:!0,props:t,authorId:n,authorDisplayName:r,timestamp:s,messageText:i,subjectText:o,subjectArguments:d,NcAvatar:ba,NcDateTime:jl,NcRichText:U4}}});var vA=function(){var u=this,t=u._self._c,n=u._self._setupProxy;return t("li",{staticClass:"activity-entry comments-activity"},[t(n.NcAvatar,{staticClass:"comments-activity__icon",attrs:{"disable-menu":!1,user:n.authorId}}),t("div",{staticClass:"comments-activity__content"},[u.showPreviews?t(n.NcRichText,{staticClass:"comments-activity__title",attrs:{text:n.subjectText,arguments:n.subjectArguments}}):t("div",{staticClass:"comments-activity__title"},[u._v(" "+u._s(n.authorDisplayName)+" ")]),t(n.NcRichText,{staticClass:"comments-activity__subline",attrs:{text:n.messageText,arguments:u.activity.messageRichObjects}})],1),t("span",{staticClass:"hidden-visually"},[u._v(u._s(u.activity.formattedDate))]),t(n.NcDateTime,{staticClass:"comments-activity__date",attrs:{"data-testid":"activity-date",timestamp:n.timestamp,"ignore-seconds":!0}})],1)},BA=[],kA=Ru(LA,vA,BA,!1,null,"db00abc4");const FA=kA.exports,xA=An({name:"GenericActivity",components:{NcAvatar:ba,NcDateTime:jl,NcRichText:U4},props:{activity:{type:El,required:!0},showPreviews:{type:Boolean,default:!1}},computed:{timestamp(){return this.activity.timestamp},messageText(){return this.activity.messageRichTemplate||this.activity.message},messageArguments(){return ga(this.activity.messageRichObjects)},subjectText(){return this.activity.subjectRichTemplate||this.activity.subject},subjectArguments(){return ga(this.activity.subjectRichObjects)},applyMonochromeIconColor(){return this.activity.type!=="file_created"&&this.activity.type!=="file_deleted"&&this.activity.type!=="favorite"&&!this.activity.icon.endsWith("-color.svg")?"monochrome":""}},methods:{t:ln,handlePreviewClick(u,t){if(t.filePath&&window?.OCA?.Viewer?.open!==void 0&&window.OCA.Viewer.mimetypes.includes(t.mimeType))try{window.OCA.Viewer.open({path:t.filePath.replace(/^\/[^/]+\/files/,"")}),u.preventDefault(),u.stopPropagation()}catch(n){Vh.debug(n)}}}});var YA=function(){var u=this,t=u._self._c;return u._self._setupProxy,t("li",{staticClass:"activity-entry"},[t("NcAvatar",{class:[u.applyMonochromeIconColor,"activity-entry__icon","activity-icon","avatardiv--unknown"],attrs:{"disable-menu":!0,"disable-tooltip":!0,url:u.activity.icon,size:20}}),t("div",{staticClass:"activity-entry__content"},[t("NcRichText",{staticClass:"activity-entry__content__subject",attrs:{text:u.subjectText,arguments:u.subjectArguments}}),t("NcRichText",{staticClass:"activity-entry__content__message",attrs:{text:u.messageText,arguments:u.messageArguments}})],1),t("span",{staticClass:"hidden-visually"},[u._v(u._s(u.activity.formattedDate))]),t("NcDateTime",{staticClass:"activity-entry__date",attrs:{timestamp:u.timestamp,"ignore-seconds":!0,"data-testid":"activity-date"}}),u.showPreviews?t("ul",{staticClass:"activity-entry__preview-wrapper"},u._l(u.activity.previews,function(n,r){return t("li",{key:n.fileId??`preview-${r}`},[t(n.link?"a":"span",{tag:"component",staticClass:"activity-entry__preview",attrs:{href:n.link},on:{click:function(s){return u.handlePreviewClick(s,n)}}},[t("img",{staticClass:"activity-entry__preview-image",class:{"activity-entry__preview-mimetype":n.isMimeTypeIcon},attrs:{src:n.source,alt:n.link?u.t("activity","Open {filename}",{filename:n.filename}):""}})])],1)}),0):u._e()],1)},wA=[],bA=Ru(xA,YA,wA,!1,null,"2fba3404");const TA=bA.exports,SA=An({__name:"PluginActivity",props:{activity:null,showPreviews:{type:Boolean}},emits:["reload"],setup(u,{emit:t}){const n=u,r=se();return Qo(()=>n.activity.mount(r.value,{context:Nh()?.proxy,reload:()=>t("reload")})),Xo(()=>n.activity.unmount()),{__sfc:!0,props:n,emit:t,activityMount:r}}});var HA=function(){var u=this,t=u._self._c;return u._self._setupProxy,t("li",{ref:"activityMount"})},jA=[],OA=Ru(SA,HA,jA,!1,null,null);const PA=OA.exports,IA=An({__name:"Activity",props:{activity:null,showPreviews:{type:Boolean}},setup(u){const t=u,n=Tu(()=>t),r=Tu(()=>{if(!(t.activity instanceof El))return console.warn(t.activity),PA;switch(t.activity.type){case"comments":return FA;default:return TA}});return{__sfc:!0,props:t,activityOptions:n,activityComponent:r}}});var WA=function(){var u=this,t=u._self._c,n=u._self._setupProxy;return t(n.activityComponent,u._b({tag:"component",on:{reload:function(r){return u.$emit("reload")}}},"component",n.activityOptions,!1))},zA=[],NA=Ru(IA,WA,zA,!1,null,null);const ZA=NA.exports;export{ZA as A,KA as N,qA as V,El as a,j1 as b,$i as c,xa as d,E4 as e,Ut as f,K6 as i,Q1 as l,Wt as m,GA as u,ff as v}; -//# sourceMappingURL=Activity-CMUHXdF1.chunk.mjs.map +`,...i.current()});return/^[\t ]/.test(_)&&(_="&#x"+_.charCodeAt(0).toString(16).toUpperCase()+";"+_.slice(1)),_=_?o+" "+_:o,n.options.closeAtx&&(_+=" "+o),m(),d(),_}F4.peek=VE;function F4(u){return u.value||""}function VE(){return"<"}x4.peek=$E;function x4(u,t,n,r){const s=Ua(n),i=s==='"'?"Quote":"Apostrophe",o=n.enter("image");let d=n.enter("label");const m=n.createTracker(r);let _=m.move("![");return _+=m.move(n.safe(u.alt,{before:_,after:"]",...m.current()})),_+=m.move("]("),d(),!u.url&&u.title||/[\0- \u007F]/.test(u.url)?(d=n.enter("destinationLiteral"),_+=m.move("<"),_+=m.move(n.safe(u.url,{before:_,after:">",...m.current()})),_+=m.move(">")):(d=n.enter("destinationRaw"),_+=m.move(n.safe(u.url,{before:_,after:u.title?" ":")",...m.current()}))),d(),u.title&&(d=n.enter(`title${i}`),_+=m.move(" "+s),_+=m.move(n.safe(u.title,{before:_,after:s,...m.current()})),_+=m.move(s),d()),_+=m.move(")"),o(),_}function $E(){return"!"}Y4.peek=JE;function Y4(u,t,n,r){const s=u.referenceType,i=n.enter("imageReference");let o=n.enter("label");const d=n.createTracker(r);let m=d.move("![");const _=n.safe(u.alt,{before:m,after:"]",...d.current()});m+=d.move(_+"]["),o();const f=n.stack;n.stack=[],o=n.enter("reference");const h=n.safe(n.associationId(u),{before:m,after:"]",...d.current()});return o(),n.stack=f,i(),s==="full"||!_||_!==h?m+=d.move(h+"]"):s==="shortcut"?m=m.slice(0,-1):m+=d.move("]"),m}function JE(){return"!"}w4.peek=qE;function w4(u,t,n){let r=u.value||"",s="`",i=-1;for(;new RegExp("(^|[^`])"+s+"([^`]|$)").test(r);)s+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++i\u007F]/.test(u.url))}T4.peek=GE;function T4(u,t,n,r){const s=Ua(n),i=s==='"'?"Quote":"Apostrophe",o=n.createTracker(r);let d,m;if(b4(u,n)){const f=n.stack;n.stack=[],d=n.enter("autolink");let h=o.move("<");return h+=o.move(n.containerPhrasing(u,{before:h,after:">",...o.current()})),h+=o.move(">"),d(),n.stack=f,h}d=n.enter("link"),m=n.enter("label");let _=o.move("[");return _+=o.move(n.containerPhrasing(u,{before:_,after:"](",...o.current()})),_+=o.move("]("),m(),!u.url&&u.title||/[\0- \u007F]/.test(u.url)?(m=n.enter("destinationLiteral"),_+=o.move("<"),_+=o.move(n.safe(u.url,{before:_,after:">",...o.current()})),_+=o.move(">")):(m=n.enter("destinationRaw"),_+=o.move(n.safe(u.url,{before:_,after:u.title?" ":")",...o.current()}))),m(),u.title&&(m=n.enter(`title${i}`),_+=o.move(" "+s),_+=o.move(n.safe(u.title,{before:_,after:s,...o.current()})),_+=o.move(s),m()),_+=o.move(")"),d(),_}function GE(u,t,n){return b4(u,n)?"<":"["}S4.peek=KE;function S4(u,t,n,r){const s=u.referenceType,i=n.enter("linkReference");let o=n.enter("label");const d=n.createTracker(r);let m=d.move("[");const _=n.containerPhrasing(u,{before:m,after:"]",...d.current()});m+=d.move(_+"]["),o();const f=n.stack;n.stack=[],o=n.enter("reference");const h=n.safe(n.associationId(u),{before:m,after:"]",...d.current()});return o(),n.stack=f,i(),s==="full"||!_||_!==h?m+=d.move(h+"]"):s==="shortcut"?m=m.slice(0,-1):m+=d.move("]"),m}function KE(){return"["}function Va(u){const t=u.options.bullet||"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function ZE(u){const t=Va(u),n=u.options.bulletOther;if(!n)return t==="*"?"-":"*";if(n!=="*"&&n!=="+"&&n!=="-")throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===t)throw new Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+n+"`) to be different");return n}function QE(u){const t=u.options.bulletOrdered||".";if(t!=="."&&t!==")")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function H4(u){const t=u.options.rule||"*";if(t!=="*"&&t!=="-"&&t!=="_")throw new Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function XE(u,t,n,r){const s=n.enter("list"),i=n.bulletCurrent;let o=u.ordered?QE(n):Va(n);const d=u.ordered?o==="."?")":".":ZE(n);let m=t&&n.bulletLastUsed?o===n.bulletLastUsed:!1;if(!u.ordered){const f=u.children?u.children[0]:void 0;if((o==="*"||o==="-")&&f&&(!f.children||!f.children[0])&&n.stack[n.stack.length-1]==="list"&&n.stack[n.stack.length-2]==="listItem"&&n.stack[n.stack.length-3]==="list"&&n.stack[n.stack.length-4]==="listItem"&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0&&(m=!0),H4(n)===o&&f){let h=-1;for(;++h-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(u))+i);let o=i.length+1;(s==="tab"||s==="mixed"&&(t&&t.type==="list"&&t.spread||u.spread))&&(o=Math.ceil(o/4)*4);const d=n.createTracker(r);d.move(i+" ".repeat(o-i.length)),d.shift(o);const m=n.enter("listItem"),_=n.indentLines(n.containerFlow(u,d.current()),f);return m(),_;function f(h,E,D){return E?(D?"":" ".repeat(o))+h:(D?i:i+" ".repeat(o-i.length))+h}}function tg(u,t,n,r){const s=n.enter("paragraph"),i=n.enter("phrasing"),o=n.containerPhrasing(u,r);return i(),s(),o}const ng=Tn(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function rg(u,t,n,r){return(u.children.some(function(s){return ng(s)})?n.containerPhrasing:n.containerFlow).call(n,u,r)}function ag(u){const t=u.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}j4.peek=sg;function j4(u,t,n,r){const s=ag(n),i=n.enter("strong"),o=n.createTracker(r);let d=o.move(s+s);return d+=o.move(n.containerPhrasing(u,{before:d,after:s,...o.current()})),d+=o.move(s+s),i(),d}function sg(u,t,n){return n.options.strong||"*"}function ig(u,t,n,r){return n.safe(u.value,r)}function og(u){const t=u.options.ruleRepetition||3;if(t<3)throw new Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function lg(u,t,n){const r=(H4(n)+(n.options.ruleSpaces?" ":"")).repeat(og(n));return n.options.ruleSpaces?r.slice(0,-1):r}const O4={blockquote:YE,break:Po,code:jE,definition:PE,emphasis:v4,hardBreak:Po,heading:UE,html:F4,image:x4,imageReference:Y4,inlineCode:w4,link:T4,linkReference:S4,list:XE,listItem:eg,paragraph:tg,root:rg,strong:j4,text:ig,thematicBreak:lg};function dg(){return{enter:{table:cg,tableData:Wo,tableHeader:Wo,tableRow:_g},exit:{codeText:hg,table:mg,tableData:Gr,tableHeader:Gr,tableRow:Gr}}}function cg(u){const t=u._align;this.enter({type:"table",align:t.map(function(n){return n==="none"?null:n}),children:[]},u),this.data.inTable=!0}function mg(u){this.exit(u),this.data.inTable=void 0}function _g(u){this.enter({type:"tableRow",children:[]},u)}function Gr(u){this.exit(u)}function Wo(u){this.enter({type:"tableCell",children:[]},u)}function hg(u){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,fg));const n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(u)}function fg(u,t){return t==="|"?t:u}function pg(u){const t=u||{},n=t.tableCellPadding,r=t.tablePipeAlign,s=t.stringLength,i=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:` +`,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:E,table:o,tableCell:m,tableRow:d}};function o(D,g,A,C){return _(f(D,A,C),D.align)}function d(D,g,A,C){const B=h(D,A,C),b=_([B]);return b.slice(0,b.indexOf(` +`))}function m(D,g,A,C){const B=A.enter("tableCell"),b=A.enter("phrasing"),T=A.containerPhrasing(D,{...C,before:i,after:i});return b(),B(),T}function _(D,g){return kE(D,{align:g,alignDelimiters:r,padding:n,stringLength:s})}function f(D,g,A){const C=D.children;let B=-1;const b=[],T=g.enter("table");for(;++Bs?0:s+t:t=t>s?s:t,n=n>0?n:0,r.length<1e4)o=Array.from(r),o.unshift(t,n),u.splice(...o);else for(n&&u.splice(t,n);i0&&!n&&(u[u.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}function Vo(u){if(u===null||Hu(u)||ht(u))return 1;if(wn(u))return 2}function Og(u,t,n){const r=[];let s=-1;for(;++s999||h===93&&!o||h===null||h===91||Hu(h))return n(h);if(h===93){u.exit("chunkString");const E=u.exit("gfmFootnoteCallString");return s.includes(C0(r.sliceSerialize(E)))?(u.enter("gfmFootnoteCallLabelMarker"),u.consume(h),u.exit("gfmFootnoteCallLabelMarker"),u.exit("gfmFootnoteCall"),t):n(h)}return Hu(h)||(o=!0),i++,u.consume(h),h===92?f:_}function f(h){return h===91||h===92||h===93?(u.consume(h),i++,_):_(h)}}function Vg(u,t,n){const r=this,s=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let i,o=0,d;return m;function m(g){return u.enter("gfmFootnoteDefinition")._container=!0,u.enter("gfmFootnoteDefinitionLabel"),u.enter("gfmFootnoteDefinitionLabelMarker"),u.consume(g),u.exit("gfmFootnoteDefinitionLabelMarker"),_}function _(g){return g===94?(u.enter("gfmFootnoteDefinitionMarker"),u.consume(g),u.exit("gfmFootnoteDefinitionMarker"),u.enter("gfmFootnoteDefinitionLabelString"),u.enter("chunkString").contentType="string",f):n(g)}function f(g){if(o>999||g===93&&!d||g===null||g===91||Hu(g))return n(g);if(g===93){u.exit("chunkString");const A=u.exit("gfmFootnoteDefinitionLabelString");return i=C0(r.sliceSerialize(A)),u.enter("gfmFootnoteDefinitionLabelMarker"),u.consume(g),u.exit("gfmFootnoteDefinitionLabelMarker"),u.exit("gfmFootnoteDefinitionLabel"),E}return Hu(g)||(d=!0),o++,u.consume(g),g===92?h:f}function h(g){return g===91||g===92||g===93?(u.consume(g),o++,f):f(g)}function E(g){return g===58?(u.enter("definitionMarker"),u.consume(g),u.exit("definitionMarker"),s.includes(i)||s.push(i),Ie(u,D,"gfmFootnoteDefinitionWhitespace")):n(g)}function D(g){return t(g)}}function $g(u,t,n){return u.check(Pg,t,u.attempt(Wg,t,n))}function Jg(u){u.exit("gfmFootnoteDefinition")}function qg(u,t,n){const r=this;return Ie(u,s,"gfmFootnoteDefinitionIndent",5);function s(i){const o=r.events[r.events.length-1];return o&&o[1].type==="gfmFootnoteDefinitionIndent"&&o[2].sliceSerialize(o[1],!0).length===4?t(i):n(i)}}function Gg(u){let t=(u||{}).singleTilde;const n={tokenize:s,resolveAll:r};return t==null&&(t=!0),{text:{126:n},insideSpan:{null:[n]},attentionMarkers:{null:[126]}};function r(i,o){let d=-1;for(;++d1?d(D):(i.consume(D),f++,E);if(f<2&&!t)return d(D);const A=i.exit("strikethroughSequenceTemporary"),C=Vo(D);return A._open=!C||C===2&&!!g,A._close=!g||g===2&&!!C,o(D)}}}class Kg{constructor(){this.map=[]}add(t,n,r){Zg(this,t,n,r)}consume(t){if(this.map.sort(function(i,o){return i[0]-o[0]}),this.map.length===0)return;let n=this.map.length;const r=[];for(;n>0;)n-=1,r.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];r.push([...t]),t.length=0;let s=r.pop();for(;s;)t.push(...s),s=r.pop();this.map.length=0}}function Zg(u,t,n,r){let s=0;if(!(n===0&&r.length===0)){for(;s-1;){const U=r.events[k][1].type;if(U==="lineEnding"||U==="linePrefix")k--;else break}const F=k>-1?r.events[k][1].type:null,S=F==="tableHead"||F==="tableRow"?Y:m;return S===Y&&r.parser.lazy[r.now().line]?n(y):S(y)}function m(y){return u.enter("tableHead"),u.enter("tableRow"),_(y)}function _(y){return y===124||(o=!0,i+=1),f(y)}function f(y){return y===null?n(y):Wt(y)?i>1?(i=0,r.interrupt=!0,u.exit("tableRow"),u.enter("lineEnding"),u.consume(y),u.exit("lineEnding"),D):n(y):Pe(y)?Ie(u,f,"whitespace")(y):(i+=1,o&&(o=!1,s+=1),y===124?(u.enter("tableCellDivider"),u.consume(y),u.exit("tableCellDivider"),o=!0,f):(u.enter("data"),h(y)))}function h(y){return y===null||y===124||Hu(y)?(u.exit("data"),f(y)):(u.consume(y),y===92?E:h)}function E(y){return y===92||y===124?(u.consume(y),h):h(y)}function D(y){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(y):(u.enter("tableDelimiterRow"),o=!1,Pe(y)?Ie(u,g,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(y):g(y))}function g(y){return y===45||y===58?C(y):y===124?(o=!0,u.enter("tableCellDivider"),u.consume(y),u.exit("tableCellDivider"),A):W(y)}function A(y){return Pe(y)?Ie(u,C,"whitespace")(y):C(y)}function C(y){return y===58?(i+=1,o=!0,u.enter("tableDelimiterMarker"),u.consume(y),u.exit("tableDelimiterMarker"),B):y===45?(i+=1,B(y)):y===null||Wt(y)?O(y):W(y)}function B(y){return y===45?(u.enter("tableDelimiterFiller"),b(y)):W(y)}function b(y){return y===45?(u.consume(y),b):y===58?(o=!0,u.exit("tableDelimiterFiller"),u.enter("tableDelimiterMarker"),u.consume(y),u.exit("tableDelimiterMarker"),T):(u.exit("tableDelimiterFiller"),T(y))}function T(y){return Pe(y)?Ie(u,O,"whitespace")(y):O(y)}function O(y){return y===124?g(y):y===null||Wt(y)?!o||s!==i?W(y):(u.exit("tableDelimiterRow"),u.exit("tableHead"),t(y)):W(y)}function W(y){return n(y)}function Y(y){return u.enter("tableRow"),V(y)}function V(y){return y===124?(u.enter("tableCellDivider"),u.consume(y),u.exit("tableCellDivider"),V):y===null||Wt(y)?(u.exit("tableRow"),t(y)):Pe(y)?Ie(u,V,"whitespace")(y):(u.enter("data"),J(y))}function J(y){return y===null||y===124||Hu(y)?(u.exit("data"),V(y)):(u.consume(y),y===92?$:J)}function $(y){return y===92||y===124?(u.consume(y),J):J(y)}}function eA(u,t){let n=-1,r=!0,s=0,i=[0,0,0,0],o=[0,0,0,0],d=!1,m=0,_,f,h;const E=new Kg;for(;++nn[2]+1){const g=n[2]+1,A=n[3]-n[2]-1;u.add(g,A,[])}}u.add(n[3]+1,0,[["exit",h,t]])}return s!==void 0&&(i.end=Object.assign({},Ot(t.events,s)),u.add(s,0,[["exit",i,t]]),i=void 0),i}function $o(u,t,n,r,s){const i=[],o=Ot(t.events,n);s&&(s.end=Object.assign({},o),i.push(["exit",s,t])),r.end=Object.assign({},o),i.push(["exit",r,t]),u.add(n+1,0,i)}function Ot(u,t){const n=u[t],r=n[0]==="enter"?"start":"end";return n[1][r]}const tA={tokenize:rA};function nA(){return{text:{91:tA}}}function rA(u,t,n){const r=this;return s;function s(m){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(m):(u.enter("taskListCheck"),u.enter("taskListCheckMarker"),u.consume(m),u.exit("taskListCheckMarker"),i)}function i(m){return Hu(m)?(u.enter("taskListCheckValueUnchecked"),u.consume(m),u.exit("taskListCheckValueUnchecked"),o):m===88||m===120?(u.enter("taskListCheckValueChecked"),u.consume(m),u.exit("taskListCheckValueChecked"),o):n(m)}function o(m){return m===93?(u.enter("taskListCheckMarker"),u.consume(m),u.exit("taskListCheckMarker"),u.exit("taskListCheck"),d):n(m)}function d(m){return Wt(m)?t(m):Pe(m)?u.check({tokenize:aA},t,n)(m):n(m)}}function aA(u,t,n){return Ie(u,r,"whitespace");function r(s){return s===null?n(s):t(s)}}function sA(u){return Mg([Fg(),Ng(),Gg(u),Xg(),nA()])}const iA={};function oA(u){const t=this,n=u||iA,r=t.data(),s=r.micromarkExtensions||(r.micromarkExtensions=[]),i=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),o=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);s.push(sA(n)),i.push(Ag()),o.push(Cg(n))}const lA=["http","https","mailto","tel"],ya=se(null);async function dA(){const u=await $h(()=>import("./index-BFmiKpwM.chunk.mjs"),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url);ya.value=u.default}const cA={name:"NcRichText",components:{NcReferenceList:Vr},props:{text:{type:String,default:""},arguments:{type:Object,default:()=>({})},referenceLimit:{type:Number,default:0},referenceInteractive:{type:Boolean,default:!0},referenceInteractiveOptIn:{type:Boolean,default:!1},references:{type:Array,default:null},useMarkdown:{type:Boolean,default:!1},useExtendedMarkdown:{type:Boolean,default:!1},interactive:{type:Boolean,default:!1},autolink:{type:Boolean,default:!0}},emits:["interact:todo"],data(){return{parentId:Zr(5)}},methods:{renderPlaintext(u){const t=this,n=this.text.split(/(\{[a-z\-_.0-9]+\})/ig).map(function(r,s,i){const o=r.match(/^\{([a-z\-_.0-9]+)\}$/i);if(!o)return Ty({h:u,context:t},r);const d=o[1],m=t.arguments[d];if(typeof m=="object"){const{component:_,props:f}=m;return u(_,{props:f,class:"rich-text--component"})}return m?u("span",{class:"rich-text--fallback"},m):r});return u("div",{class:"rich-text--wrapper"},[u("div",{},n.flat()),this.referenceLimit>0?u("div",{class:"rich-text--reference-widget"},[u(Vr,{props:{text:this.text,referenceData:this.references,interactive:this.referenceInteractive,interactiveOptIn:this.referenceInteractiveOptIn}})]):null])},renderMarkdown(u){const t=ap().use(h2).use(J1,{autolink:this.autolink,useMarkdown:this.useMarkdown,useExtendedMarkdown:this.useExtendedMarkdown}).use(Sy).use(this.useExtendedMarkdown?oA:void 0).use(C2).use(L2,{except:lA}).use(c9,{handlers:{component(n,r){return n(r,r.component,{value:r.value})}}}).use(this.useExtendedMarkdown?ya.value:void 0).use(by).use(ky,{target:"_blank",rel:["noopener noreferrer"]}).use(py,{createElement:(n,r,s)=>{if(!n.startsWith("#")){if(this.useExtendedMarkdown){n==="code"&&!ya.value&&r?.attrs?.class?.includes("language")&&dA();let o=null;if(n==="li"&&Array.isArray(s)&&s[0].tag==="input"&&s[0].data.attrs.type==="checkbox"){const[d,...m]=s,_=m.findIndex(E=>["ul","ol","li","blockquote","pre"].includes(E.tag));_!==-1&&(o=m[_],m.splice(_));const f=this.parentId+"-markdown-input-"+Zr(5),h=u(bh,{attrs:{...d.data.attrs,id:f,disabled:!this.interactive},on:{"update:checked":()=>{this.$emit("interact:todo",f)}}},m);return u(n,r,[h,o])}}if(n==="a"){const o=wa(this.$router,r.attrs.href);if(o)return delete r.attrs.href,delete r.attrs.target,u(Mn,{...r,props:{to:o}},s)}return u(n,r,s)}const i=this.arguments[n.slice(1)];return i?i.component?u(i.component,{attrs:r,props:i.props,class:"rich-text--component"},s):u("span",r,[i]):u("span",{attrs:r,class:"rich-text--fallback"},[`{${n.slice(1)}}`])},prefix:!1}).processSync(this.text.replace(/<[^>]+>/g,n=>n.replace(/")).result;return u("div",{class:"rich-text--wrapper rich-text--wrapper-markdown"},[t,this.referenceLimit>0?u("div",{class:"rich-text--reference-widget"},[u(Vr,{props:{text:this.text,referenceData:this.references,interactive:this.referenceInteractive,interactiveOptIn:this.referenceInteractiveOptIn}})]):null])}},render(u){return this.useMarkdown||this.useExtendedMarkdown?this.renderMarkdown(u):this.renderPlaintext(u)}},mA=null,_A=null;var hA=Lu(cA,mA,_A,!1,null,"ddd5e67e");const U4=hA.exports,fA={name:"NcUserBubbleDiv"};var pA=function(){var u=this,t=u._self._c;return t("div",[u._t("trigger")],2)},DA=[],yA=Lu(fA,pA,DA,!1,null,null);const EA=yA.exports,gA={name:"NcUserBubble",components:{NcAvatar:ba,NcPopover:Th,NcUserBubbleDiv:EA},props:{avatarImage:{type:String,default:void 0},user:{type:String,default:void 0},displayName:{type:String,default:void 0},showUserStatus:{type:Boolean,default:!1},url:{type:String,default:void 0,validator:u=>{try{return u=new URL(u,u?.startsWith?.("/")?window.location.href:void 0),!0}catch{return!1}}},to:{type:[String,Object],default:void 0},open:{type:Boolean,default:!1},primary:{type:Boolean,default:!1},size:{type:Number,default:20},margin:{type:Number,default:2}},emits:["click","update:open"],computed:{isPopoverComponent(){return this.popoverEmpty?"NcUserBubbleDiv":"NcPopover"},isAvatarUrl(){if(!this.avatarImage)return!1;try{return!!new URL(this.avatarImage)}catch{return!1}},isCustomAvatar(){return!!this.avatarImage},hasUrl(){return this.url&&this.url.trim()!==""},isLinkComponent(){return this.hasUrl?"a":this.to?Mn:"div"},popoverEmpty(){return!("default"in this.$slots)},styles(){return{content:{height:this.size+"px",lineHeight:this.size+"px",borderRadius:this.size/2+"px"},avatar:{marginInlineStart:this.margin+"px"}}}},mounted(){!this.displayName&&!this.user&&Zo.util.warn("[NcUserBubble] At least `displayName` or `user` property should be set.")},methods:{onOpenChange(u){this.$emit("update:open",u)},onClick(u){this.$emit("click",u)}}};var AA=function(){var u=this,t=u._self._c;return t(u.isPopoverComponent,{tag:"component",staticClass:"user-bubble__wrapper",attrs:{trigger:"hover focus",shown:u.open},on:{"update:open":u.onOpenChange},scopedSlots:u._u([{key:"trigger",fn:function({attrs:n}){return[t(u.isLinkComponent,u._b({tag:"component",staticClass:"user-bubble__content",class:{"user-bubble__content--primary":u.primary},style:u.styles.content,attrs:{to:u.to,href:u.hasUrl?u.url:null},on:{click:u.onClick}},"component",n,!1),[t("NcAvatar",{staticClass:"user-bubble__avatar",style:u.styles.avatar,attrs:{url:u.isCustomAvatar&&u.isAvatarUrl?u.avatarImage:void 0,"icon-class":u.isCustomAvatar&&!u.isAvatarUrl?u.avatarImage:void 0,user:u.user,"display-name":u.displayName,size:u.size-u.margin*2,"disable-tooltip":!0,"disable-menu":!0,"show-user-status":u.showUserStatus}}),t("span",{staticClass:"user-bubble__name"},[u._v(" "+u._s(u.displayName||u.user)+" ")]),u.$slots.name?t("span",{staticClass:"user-bubble__secondary"},[u._t("name")],2):u._e()],1)]}}],null,!0)},[u._t("default")],2)},CA=[],MA=Lu(gA,AA,CA,!1,null,"a62a9496");const Kr=MA.exports;function LA(u){return u.replace(/\\/g,"/").replace(/\/[^\/]*$/,"")}function Jo(...u){if(arguments.length<1)return"";const t=u.filter(m=>m.length>0);if(t.length<1)return"";const n=t[t.length-1],r=t[0].charAt(0)==="/",s=n.charAt(n.length-1)==="/",i=t.reduce((m,_)=>m.concat(_.split("/")),[]);let o=!r;const d=i.reduce((m,_)=>_===""?m:o?(o=!1,m+_):m+"/"+_,"");return s?d+"/":d}function qo(u,t){const n=(u||"").split("/").filter(s=>s!=="."),r=(t||"").split("/").filter(s=>s!==".");return u=Jo.apply(void 0,n),t=Jo.apply(void 0,r),u===t}const vA={name:"FileRichArgument",props:{name:{type:String,required:!0},path:{type:String,required:!0},link:{type:String,required:!0}},methods:{t:ln},computed:{isRoot(){return qo(this.path,"")},parentPathIsRoot(){return qo(this.parentFolder,"/")},parentFolder(){return LA(this.name)}}};var BA=function(){var u=this,t=u._self._c;return t("span",{staticClass:"rich-text-file"},[!u.isRoot&&u.parentPathIsRoot?t("a",{attrs:{href:u.link}},[u._v(u._s(u.name))]):u._e(),!u.isRoot&&!u.parentPathIsRoot?t("a",{attrs:{title:u.t("activity","in {path}",{path:u.parentFolder}),"aria-label":u.t("activity","in {path}",{path:u.parentFolder}),href:u.link}},[u._v(u._s(u.name))]):u._e(),u.isRoot?t("span",{staticClass:"icon-home",attrs:{title:u.t("activity","Home"),"aria-label":"t('activity', 'Home')"}}):u._e()])},kA=[],FA=Ru(vA,BA,kA,!1,null,"cd05a281");const xA=FA.exports,YA={name:"EmailRichArgument",props:{id:{type:String,required:!0},name:{type:String,required:!0}}};var wA=function(){var u=this,t=u._self._c;return t("a",{attrs:{href:`mailto:${u.id}`}},[u._v(u._s(u.name))])},bA=[],TA=Ru(YA,wA,bA,!1,null,null);const SA=TA.exports,HA={name:"SystemTagRichArgument",props:{name:{type:String,required:!0}}};var jA=function(){var u=this,t=u._self._c;return t("strong",[u._v(u._s(u.name))])},OA=[],PA=Ru(HA,jA,OA,!1,null,"0c35aeca");const IA=PA.exports,WA={name:"CalendarRichArgument",props:{name:{type:String,required:!0}}};var NA=function(){var u=this,t=u._self._c;return t("strong",[u._v(u._s(u.name))])},zA=[],RA=Ru(WA,NA,zA,!1,null,null);const UA=RA.exports,VA={name:"CalendarEventRichArgument",props:{name:{type:String,required:!0},title:{type:String,required:!0},link:{type:String,required:!0}}};var $A=function(){var u=this,t=u._self._c;return t("a",{attrs:{href:u.link,title:u.title}},[t("strong",[u._v(u._s(u.name))])])},JA=[],qA=Ru(VA,$A,JA,!1,null,null);const GA=qA.exports,KA={name:"OpenGraphRichArgument",props:{id:{type:String,required:!0},name:{type:String,required:!0},description:{type:String,required:!0},thumb:{type:String,default:""},link:{type:String,required:!0},website:{type:String,required:!0}},computed:{thumbIsDefined(){return this.thumb!==""}}};var ZA=function(){var u=this,t=u._self._c;return t("a",{attrs:{href:u.link}},[t("div",{staticClass:"opengraph",attrs:{id:`opengraph-${u.id}`}},[u.thumbIsDefined?t("div",{staticClass:"opengraph-thumb",style:`background-image: url('${u.thumb}')`}):u._e(),t("div",{staticClass:"opengraph-name",class:{"opengraph-with-thumb":u.thumbIsDefined}},[u._v(u._s(u.name))]),t("div",{staticClass:"opengraph-description",class:{"opengraph-with-thumb":u.thumbIsDefined}},[u._v(u._s(u.description))]),t("span",{staticClass:"opengraph-website"},[u._v(u._s(u.website))])])])},QA=[],XA=Ru(KA,ZA,QA,!1,null,null);const uC=XA.exports,eC={name:"AddressBookRichArgument",props:{name:{type:String,required:!0}}};var tC=function(){var u=this,t=u._self._c;return t("strong",[u._v(u._s(u.name))])},nC=[],rC=Ru(eC,tC,nC,!1,null,null);const aC=rC.exports,sC={name:"UnknownArgument",props:{name:{type:String,required:!0}}};var iC=function(){var u=this,t=u._self._c;return t("strong",[u._v(u._s(u.name))])},oC=[],lC=Ru(sC,iC,oC,!1,null,null);const dC=lC.exports,cC={name:"UnknownLinkArgument",props:{name:{type:String,required:!0},link:{type:String,required:!0}}};var mC=function(){var u=this,t=u._self._c;return t("a",{attrs:{href:u.link}},[u._v(u._s(u.name))])},_C=[],hC=Ru(cC,mC,_C,!1,null,null);const fC=hC.exports;function Ea(u){const t={};for(const n in u)t[n]=pC(u[n]);return t}function pC(u){switch(u.type){case"file":return{component:xA,props:u};case"user":return u.server?{component:Kr,props:{avatarImage:"icon-user",displayName:u.name,user:u.id,url:u.link}}:{component:Kr,props:{displayName:u.name,user:u.id,url:u.link}};case"group":return{component:Kr,props:{avatarImage:"icon-group",displayName:u.name,primary:!0}};case"email":return{component:SA,props:u};case"systemtag":return{component:IA,props:u};case"opengraph":return{component:uC,props:u};case"calendar":return{component:UA,props:u};case"calendar-event":return{component:GA,props:u};case"addressbook":return{component:aC,props:u};default:return u.link?{component:fC,props:u}:{component:dC,props:u}}}const DC=Cn({__name:"CommentActivity",props:{activity:null,showPreviews:{type:Boolean}},setup(u){const t=u,n=Tu(()=>t.activity.subjectRichObjects?.author?.id??t.activity.user),r=Tu(()=>t.activity.user===D0()?.uid?ln("activity","You commented"):t.activity.subjectRichObjects?.author?.name??t.activity.user),s=Tu(()=>t.activity.timestamp),i=Tu(()=>t.activity.messageRichTemplate||t.activity.message||ln("activity","Message deleted by author")),o=Tu(()=>t.activity.subjectRichTemplate||t.activity.subject),d=Tu(()=>Ea(t.activity.subjectRichObjects));return{__sfc:!0,props:t,authorId:n,authorDisplayName:r,timestamp:s,messageText:i,subjectText:o,subjectArguments:d,NcAvatar:ba,NcDateTime:jl,NcRichText:U4}}});var yC=function(){var u=this,t=u._self._c,n=u._self._setupProxy;return t("li",{staticClass:"activity-entry comments-activity"},[t(n.NcAvatar,{staticClass:"comments-activity__icon",attrs:{"disable-menu":!1,user:n.authorId}}),t("div",{staticClass:"comments-activity__content"},[u.showPreviews?t(n.NcRichText,{staticClass:"comments-activity__title",attrs:{text:n.subjectText,arguments:n.subjectArguments}}):t("div",{staticClass:"comments-activity__title"},[u._v(" "+u._s(n.authorDisplayName)+" ")]),t(n.NcRichText,{staticClass:"comments-activity__subline",attrs:{text:n.messageText,arguments:u.activity.messageRichObjects}})],1),t("span",{staticClass:"hidden-visually"},[u._v(u._s(u.activity.formattedDate))]),t(n.NcDateTime,{staticClass:"comments-activity__date",attrs:{"data-testid":"activity-date",timestamp:n.timestamp,"ignore-seconds":!0}})],1)},EC=[],gC=Ru(DC,yC,EC,!1,null,"db00abc4");const AC=gC.exports,CC=Cn({name:"GenericActivity",components:{NcAvatar:ba,NcDateTime:jl,NcRichText:U4},props:{activity:{type:gl,required:!0},showPreviews:{type:Boolean,default:!1}},computed:{timestamp(){return this.activity.timestamp},messageText(){return this.activity.messageRichTemplate||this.activity.message},messageArguments(){return Ea(this.activity.messageRichObjects)},subjectText(){return this.activity.subjectRichTemplate||this.activity.subject},subjectArguments(){return Ea(this.activity.subjectRichObjects)},applyMonochromeIconColor(){return this.activity.type!=="file_created"&&this.activity.type!=="file_deleted"&&this.activity.type!=="favorite"&&!this.activity.icon.endsWith("-color.svg")?"monochrome":""}},methods:{t:ln,handlePreviewClick(u,t){if(t.filePath&&window?.OCA?.Viewer?.open!==void 0&&window.OCA.Viewer.mimetypes.includes(t.mimeType))try{window.OCA.Viewer.open({path:t.filePath.replace(/^\/[^/]+\/files/,"")}),u.preventDefault(),u.stopPropagation()}catch(n){Vh.debug(n)}}}});var MC=function(){var u=this,t=u._self._c;return u._self._setupProxy,t("li",{staticClass:"activity-entry"},[t("NcAvatar",{class:[u.applyMonochromeIconColor,"activity-entry__icon","activity-icon","avatardiv--unknown"],attrs:{"disable-menu":!0,"disable-tooltip":!0,url:u.activity.icon,size:20}}),t("div",{staticClass:"activity-entry__content"},[t("NcRichText",{staticClass:"activity-entry__content__subject",attrs:{text:u.subjectText,arguments:u.subjectArguments}}),t("NcRichText",{staticClass:"activity-entry__content__message",attrs:{text:u.messageText,arguments:u.messageArguments}})],1),t("span",{staticClass:"hidden-visually"},[u._v(u._s(u.activity.formattedDate))]),t("NcDateTime",{staticClass:"activity-entry__date",attrs:{timestamp:u.timestamp,"ignore-seconds":!0,"data-testid":"activity-date"}}),u.showPreviews?t("ul",{staticClass:"activity-entry__preview-wrapper"},u._l(u.activity.previews,function(n,r){return t("li",{key:n.fileId??`preview-${r}`},[t(n.link?"a":"span",{tag:"component",staticClass:"activity-entry__preview",attrs:{href:n.link},on:{click:function(s){return u.handlePreviewClick(s,n)}}},[t("img",{staticClass:"activity-entry__preview-image",class:{"activity-entry__preview-mimetype":n.isMimeTypeIcon},attrs:{src:n.source,alt:n.link?u.t("activity","Open {filename}",{filename:n.filename}):""}})])],1)}),0):u._e()],1)},LC=[],vC=Ru(CC,MC,LC,!1,null,"2fba3404");const BC=vC.exports,kC=Cn({__name:"PluginActivity",props:{activity:null,showPreviews:{type:Boolean}},emits:["reload"],setup(u,{emit:t}){const n=u,r=se();return Qo(()=>n.activity.mount(r.value,{context:zh()?.proxy,reload:()=>t("reload")})),Xo(()=>n.activity.unmount()),{__sfc:!0,props:n,emit:t,activityMount:r}}});var FC=function(){var u=this,t=u._self._c;return u._self._setupProxy,t("li",{ref:"activityMount"})},xC=[],YC=Ru(kC,FC,xC,!1,null,null);const wC=YC.exports,bC=Cn({__name:"Activity",props:{activity:null,showPreviews:{type:Boolean}},setup(u){const t=u,n=Tu(()=>t),r=Tu(()=>{if(!(t.activity instanceof gl))return console.warn(t.activity),wC;switch(t.activity.type){case"comments":return AC;default:return BC}});return{__sfc:!0,props:t,activityOptions:n,activityComponent:r}}});var TC=function(){var u=this,t=u._self._c,n=u._self._setupProxy;return t(n.activityComponent,u._b({tag:"component",on:{reload:function(r){return u.$emit("reload")}}},"component",n.activityOptions,!1))},SC=[],HC=Ru(bC,TC,SC,!1,null,null);const UC=HC.exports;export{UC as A,RC as N,NC as V,gl as a,A1 as b,Vi as c,xa as d,g4 as e,We as f,O1 as l,Nt as m,zC as u,X1 as v}; +//# sourceMappingURL=Activity-D9_OQEhb.chunk.mjs.map diff --git a/js/Activity-CMUHXdF1.chunk.mjs.map b/js/Activity-D9_OQEhb.chunk.mjs.map similarity index 99% rename from js/Activity-CMUHXdF1.chunk.mjs.map rename to js/Activity-D9_OQEhb.chunk.mjs.map index 8f66b56fe..b542b10a1 100644 --- a/js/Activity-CMUHXdF1.chunk.mjs.map +++ b/js/Activity-D9_OQEhb.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"mappings":"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","names":["key","hasOwnProp","arg","args","warn","msg","fn","awaySvg","dndSvg","invisibleSvg","register","t10","tag_buffer","state","STATE_PLAINTEXT","output","char","STATE_COMMENT","context","in_quote_char","tag_set","allowable_tags","Symbol","match","NORMALIZE_TAG_REGEX","striptags","global","this","tryOnScopeDispose","getCurrentScope","toValue","r","toString","isObject","val","noop","isIOS","getIsIOS","isClient","_a","_b","toRef","toRef$1","readonly","customRef","ref","defaultWindow","plain","elRef","useEventListener","target","events","listeners","options","cleanups","cleanup","event","listener","options2","stopWatch","watch","unrefElement","el","optionsClone","stop","_iOSWorkaround","onClickOutside","handler","window","shouldListen","shouldIgnore","ignore","target2","vm","checkMultipleRoots","children","child","hasMultipleRoots","isProcessingClick","e","directiveHooks","binding","capture","resolveElement","checkOverflowScroll","ele","style","parent","preventDefault","rawEvent","_target","stopTouchMoveListener","elInitialOverflow","isLocked","lock","element","unlock","initialOverflow","v","onScrollLock","isMounted","useScrollLock","userStatus","userId","capabilities","getCapabilities","getCurrentUser","data","axios","generateOcsUrl","status","message","icon","browserStorage","getBuilder","getUserHasAvatar","flag","setUserHasAvatar","vOnClickOutside","DotsHorizontal","NcActions","NcIconSvgWrapper","NcUserStatusIcon","t","getUserStatusText","g","b","usernameToColor","user","initials","filteredChars","idx","actions","getRoute","route","item","action","getEnabledContactsMenuActions","NcActionButton","error","text","p","escape","NcActionText","emojiIcon","f","n","value","expandTabs","code","node","properties","loose","tail","results","result","listLoose","listItems","emptyOptions","settings","definitionById","footnoteById","footnoteCounts","nodes","trimMarkdownSpaceStart","index","foot","remarkRehype","destination","tree","file","hastTree","toHast","Schema","normal","space","property","FORWARD_SLASH","EMPTY_STRING","TYPE_COMMENT","TYPE_DECLARATION","lineno","column","updatePosition","str","NEWLINE_REGEX","lines","i","NEWLINE","position","Position","start","err","m","re","comment","c","pos","ASTERISK","declaration","prop","PROPERTY_REGEX","COLON_REGEX","VALUE_REGEX","trim","COMMENT_REGEX","SEMICOLON_REGEX","ret","declarations","comments","decls","decl","whitespace","TRIM_REGEX","parse","require$$0","StyleToObject","hasIterator","iterator","len","webNamespaces","own","toH","h","vd","prefix","head","transform","svg","html","hyperscript","attributes","schema","addAttribute","name","info","find","subprop","commas","props","hastToReact","react","vdom","tagName","_","$1","error_","convert","test","typeFactory","matchesFactory","length","matches","anyFactory","type","ok","CONTINUE","EXIT","SKIP","visitParents","visitor","reverse","one","parents","toResult","all","min","visit","hasOwnProperty","hastUtilTableCellStyle","hastName","hastCssPropertyMap","appendStyle","prevStyle","thing","tableElements","fixTableCellAlign","tableCellStyle","component","createElement","convertElement","tagNameFactory","checks","castFactory","any","parameters","check","looksLikeAnElement","testFunction","ABSOLUTE_URL_REGEX","url","WINDOWS_PATH_REGEX","defaultProtocols","defaultRel","rehypeExternalLinks","is","contentRaw","relRaw","rel","createIfNeeded","structuredClone","content","URL_PATTERN","response","isPublic","getSharingToken","_sfc_render$1","_vm","_c","reference","normalizeComponent","__component__$1","list2","entry","u","text2","parseUrl","componentClass","remarkUnescape","node2","SKIP$1","source","character","count","asciiAlpha","asciiAlphanumeric","regexCheck","asciiControl","code2","unicodePunctuation","unicodeWhitespace","regex","escapeStringRegexp","string","propsFactory","tests","index2","looksLikeANode","empty","factory","visit2","subresult","nodeAsParent","step","grandparents","offset","findAndReplace","ignored","pairs","pairIndex","siblings","grandparent","matchObject","change","tupleOrList","tuple","toExpression","toFunction","inConstruct","notInConstruct","gfmAutolinkLiteralFromMarkdown","transformGfmAutolinkLiterals","enterLiteralAutolink","enterLiteralAutolinkValue","exitLiteralAutolink","exitLiteralAutolinkHttp","token","exitLiteralAutolinkWww","findUrl","domain2","previous","protocol","isCorrectDomain","splitUrl","parts","findEmail","atext","trailExec","closingParenIndex","openingParens","closingParens","trail2","email","normalizeIdentifier","footnoteReference","gfmFootnoteFromMarkdown","enterFootnoteDefinition","enterFootnoteCallString","exitFootnoteDefinition","exitFootnoteDefinitionLabelString","exitFootnoteCallString","gfmFootnoteToMarkdown","enterFootnoteDefinitionLabelString","exitFootnoteCall","tracker","exit2","subexit","footnoteReferencePeek","footnoteDefinition","map$2","line","blank","serialize","defaultStringLength","blockquote","map$1","patternInScope","stack","listInScope","pattern","none","hardBreak","_1","longestStreak","substring","expected","raw","suffix","quote","marker","emphasis","emphasisPeek","checkEmphasis","emptyOptions$1","includeHtml","rank","sequence","inlineCodeWithTable","handleTable","serializeData","handleTableAsData","handleTableRow","handleTableCell","around","align","matrix","stringLength","handleTableRowAsData"],"ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"sources":["../node_modules/moment/min/moment-with-locales.js","../node_modules/@nextcloud/vue/dist/chunks/NcUserStatusIcon-WEKmuaoU.mjs","../node_modules/striptags/src/striptags.js","../node_modules/@vueuse/components/node_modules/vue-demi/lib/index.mjs","../node_modules/@vueuse/components/node_modules/@vueuse/shared/index.mjs","../node_modules/@vueuse/components/index.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAvatar-CTzwxkvv.mjs","../node_modules/@nextcloud/vue-select/dist/vue-select.js","../node_modules/micromark/lib/create-tokenizer.js","../node_modules/mdast-util-to-hast/lib/handlers/break.js","../node_modules/mdast-util-to-hast/lib/handlers/code.js","../node_modules/mdast-util-to-hast/lib/handlers/list-item.js","../node_modules/mdast-util-to-hast/lib/footer.js","../node_modules/mdast-util-to-hast/lib/state.js","../node_modules/mdast-util-to-hast/lib/index.js","../node_modules/remark-rehype/lib/index.js","../node_modules/property-information/lib/util/schema.js","../node_modules/property-information/lib/util/merge.js","../node_modules/inline-style-parser/index.js","../node_modules/style-to-object/index.js","../node_modules/web-namespaces/index.js","../node_modules/hast-to-hyperscript/lib/index.js","../node_modules/@mapbox/hast-util-table-cell-style/node_modules/unist-util-is/convert.js","../node_modules/@mapbox/hast-util-table-cell-style/node_modules/unist-util-visit-parents/index.js","../node_modules/@mapbox/hast-util-table-cell-style/node_modules/unist-util-visit/index.js","../node_modules/@mapbox/hast-util-table-cell-style/index.js","../node_modules/hast-util-whitespace/index.js","../node_modules/rehype-react/lib/index.js","../node_modules/hast-util-is-element/lib/index.js","../node_modules/is-absolute-url/index.js","../node_modules/rehype-external-links/lib/index.js","../node_modules/@nextcloud/vue/dist/chunks/NcRichText-Br5t5ga_.mjs"],"sourcesContent":[";(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n for (i = 0; i < arrLen; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n var flags = null,\n parsedParts = false,\n isNowValid = m._d && !isNaN(m._d.getTime());\n if (isNowValid) {\n flags = getParsingFlags(m);\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n isNowValid =\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n }\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key,\n argLen = arguments.length;\n for (i = 0; i < argLen; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens =\n /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {\n D: 'date',\n dates: 'date',\n date: 'date',\n d: 'day',\n days: 'day',\n day: 'day',\n e: 'weekday',\n weekdays: 'weekday',\n weekday: 'weekday',\n E: 'isoWeekday',\n isoweekdays: 'isoWeekday',\n isoweekday: 'isoWeekday',\n DDD: 'dayOfYear',\n dayofyears: 'dayOfYear',\n dayofyear: 'dayOfYear',\n h: 'hour',\n hours: 'hour',\n hour: 'hour',\n ms: 'millisecond',\n milliseconds: 'millisecond',\n millisecond: 'millisecond',\n m: 'minute',\n minutes: 'minute',\n minute: 'minute',\n M: 'month',\n months: 'month',\n month: 'month',\n Q: 'quarter',\n quarters: 'quarter',\n quarter: 'quarter',\n s: 'second',\n seconds: 'second',\n second: 'second',\n gg: 'weekYear',\n weekyears: 'weekYear',\n weekyear: 'weekYear',\n GG: 'isoWeekYear',\n isoweekyears: 'isoWeekYear',\n isoweekyear: 'isoWeekYear',\n w: 'week',\n weeks: 'week',\n week: 'week',\n W: 'isoWeek',\n isoweeks: 'isoWeek',\n isoweek: 'isoWeek',\n y: 'year',\n years: 'year',\n year: 'year',\n };\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {\n date: 9,\n day: 11,\n weekday: 11,\n isoWeekday: 11,\n dayOfYear: 4,\n hour: 13,\n millisecond: 16,\n minute: 14,\n month: 8,\n quarter: 7,\n second: 15,\n weekYear: 1,\n isoWeekYear: 1,\n week: 5,\n isoWeek: 5,\n year: 1,\n };\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord =\n /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n match1to2NoLeadingZero = /^[1-9]\\d?/, // 1-99\n match1to2HasZero = /^([1-9]\\d|\\d)/, // 0-99\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(\n /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }\n )\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n tokenLen = token.length;\n for (i = 0; i < tokenLen; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n if (!mom.isValid()) {\n return NaN;\n }\n\n var d = mom._d,\n isUTC = mom._isUTC;\n\n switch (unit) {\n case 'Milliseconds':\n return isUTC ? d.getUTCMilliseconds() : d.getMilliseconds();\n case 'Seconds':\n return isUTC ? d.getUTCSeconds() : d.getSeconds();\n case 'Minutes':\n return isUTC ? d.getUTCMinutes() : d.getMinutes();\n case 'Hours':\n return isUTC ? d.getUTCHours() : d.getHours();\n case 'Date':\n return isUTC ? d.getUTCDate() : d.getDate();\n case 'Day':\n return isUTC ? d.getUTCDay() : d.getDay();\n case 'Month':\n return isUTC ? d.getUTCMonth() : d.getMonth();\n case 'FullYear':\n return isUTC ? d.getUTCFullYear() : d.getFullYear();\n default:\n return NaN; // Just in case\n }\n }\n\n function set$1(mom, unit, value) {\n var d, isUTC, year, month, date;\n\n if (!mom.isValid() || isNaN(value)) {\n return;\n }\n\n d = mom._d;\n isUTC = mom._isUTC;\n\n switch (unit) {\n case 'Milliseconds':\n return void (isUTC\n ? d.setUTCMilliseconds(value)\n : d.setMilliseconds(value));\n case 'Seconds':\n return void (isUTC ? d.setUTCSeconds(value) : d.setSeconds(value));\n case 'Minutes':\n return void (isUTC ? d.setUTCMinutes(value) : d.setMinutes(value));\n case 'Hours':\n return void (isUTC ? d.setUTCHours(value) : d.setHours(value));\n case 'Date':\n return void (isUTC ? d.setUTCDate(value) : d.setDate(value));\n // case 'Day': // Not real\n // return void (isUTC ? d.setUTCDay(value) : d.setDay(value));\n // case 'Month': // Not used because we need to pass two variables\n // return void (isUTC ? d.setUTCMonth(value) : d.setMonth(value));\n case 'FullYear':\n break; // See below ...\n default:\n return; // Just in case\n }\n\n year = value;\n month = mom.month();\n date = mom.date();\n date = date === 29 && month === 1 && !isLeapYear(year) ? 28 : date;\n void (isUTC\n ? d.setUTCFullYear(year, month, date)\n : d.setFullYear(year, month, date));\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i,\n prioritizedLen = prioritized.length;\n for (i = 0; i < prioritizedLen; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // PARSING\n\n addRegexToken('M', match1to2, match1to2NoLeadingZero);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths =\n 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort =\n 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n var month = value,\n date = mom.date();\n\n date = date < 29 ? date : Math.min(date, daysInMonth(mom.year(), month));\n void (mom._isUTC\n ? mom._d.setUTCMonth(month, date)\n : mom._d.setMonth(month, date));\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n shortP,\n longP;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortP = regexEscape(this.monthsShort(mom, ''));\n longP = regexEscape(this.months(mom, ''));\n shortPieces.push(shortP);\n longPieces.push(longP);\n mixedPieces.push(longP);\n mixedPieces.push(shortP);\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // PARSING\n\n addRegexToken('w', match1to2, match1to2NoLeadingZero);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2, match1to2NoLeadingZero);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(\n ['w', 'ww', 'W', 'WW'],\n function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }\n );\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays =\n 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n var day = get(this, 'Day');\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2, match1to2HasZero);\n addRegexToken('h', match1to2, match1to2NoLeadingZero);\n addRegexToken('k', match1to2, match1to2NoLeadingZero);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n // Ensure name is available and function returns boolean\n return !!(name && name.match('^[^/\\\\\\\\]*$'));\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports &&\n isLocaleNameSane(name)\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 =\n /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat,\n isoDatesLen = isoDates.length,\n isoTimesLen = isoTimes.length;\n\n if (match) {\n getParsingFlags(config).iso = true;\n for (i = 0, l = isoDatesLen; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimesLen; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^()]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era,\n tokenLen;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n tokenLen = tokens.length;\n for (i = 0; i < tokenLen; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false,\n configfLen = config._f.length;\n\n if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < orderLen; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex =\n /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property,\n propertyLen = properties.length;\n\n for (i = 0; i < propertyLen; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(\n ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n }\n );\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n erasName,\n erasAbbr,\n erasNarrow,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n erasName = regexEscape(eras[i].name);\n erasAbbr = regexEscape(eras[i].abbr);\n erasNarrow = regexEscape(eras[i].narrow);\n\n namePieces.push(erasName);\n abbrPieces.push(erasAbbr);\n narrowPieces.push(erasNarrow);\n mixedPieces.push(erasName);\n mixedPieces.push(erasAbbr);\n mixedPieces.push(erasNarrow);\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(\n ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n }\n );\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday() + this.localeData()._week.dow,\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // PARSING\n\n addRegexToken('D', match1to2, match1to2NoLeadingZero);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // PARSING\n\n addRegexToken('m', match1to2, match1to2HasZero);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // PARSING\n\n addRegexToken('s', match1to2, match1to2HasZero);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y'),\n valueOf$1 = asMilliseconds;\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.30.1';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM', // \n };\n\n //! moment.js locale configuration\n\n hooks.defineLocale('af', {\n months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split(\n '_'\n ),\n weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n meridiemParse: /vm|nm/i,\n isPM: function (input) {\n return /^nm$/i.test(input);\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'vm' : 'VM';\n } else {\n return isLower ? 'nm' : 'NM';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Vandag om] LT',\n nextDay: '[Môre om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[Gister om] LT',\n lastWeek: '[Laas] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'oor %s',\n past: '%s gelede',\n s: \"'n paar sekondes\",\n ss: '%d sekondes',\n m: \"'n minuut\",\n mm: '%d minute',\n h: \"'n uur\",\n hh: '%d ure',\n d: \"'n dag\",\n dd: '%d dae',\n M: \"'n maand\",\n MM: '%d maande',\n y: \"'n jaar\",\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n ); // Thanks to Joris Röling : https://github.com/jjupiter\n },\n week: {\n dow: 1, // Maandag is die eerste dag van die week.\n doy: 4, // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n },\n });\n\n //! moment.js locale configuration\n\n var pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months$1 = [\n 'جانفي',\n 'فيفري',\n 'مارس',\n 'أفريل',\n 'ماي',\n 'جوان',\n 'جويلية',\n 'أوت',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n hooks.defineLocale('ar-dz', {\n months: months$1,\n monthsShort: months$1,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y'),\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ar-kw', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n monthsShort:\n 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 0: '0',\n },\n pluralForm$1 = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals$1 = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize$1 = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm$1(number),\n str = plurals$1[u][pluralForm$1(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months$2 = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n hooks.defineLocale('ar-ly', {\n months: months$2,\n monthsShort: months$2,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize$1('s'),\n ss: pluralize$1('s'),\n m: pluralize$1('m'),\n mm: pluralize$1('m'),\n h: pluralize$1('h'),\n hh: pluralize$1('h'),\n d: pluralize$1('d'),\n dd: pluralize$1('d'),\n M: pluralize$1('M'),\n MM: pluralize$1('M'),\n y: pluralize$1('y'),\n yy: pluralize$1('y'),\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ar-ma', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n monthsShort:\n 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$1 = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n };\n\n hooks.defineLocale('ar-ps', {\n months: 'كانون الثاني_شباط_آذار_نيسان_أيّار_حزيران_تمّوز_آب_أيلول_تشري الأوّل_تشرين الثاني_كانون الأوّل'.split(\n '_'\n ),\n monthsShort:\n 'ك٢_شباط_آذار_نيسان_أيّار_حزيران_تمّوز_آب_أيلول_ت١_ت٢_ك١'.split('_'),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n preparse: function (string) {\n return string\n .replace(/[٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .split('') // reversed since negative lookbehind not supported everywhere\n .reverse()\n .join('')\n .replace(/[١٢](?![\\u062a\\u0643])/g, function (match) {\n return numberMap[match];\n })\n .split('')\n .reverse()\n .join('')\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap$1[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$2 = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap$1 = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n };\n\n hooks.defineLocale('ar-sa', {\n months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n monthsShort:\n 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap$1[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap$2[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ar-tn', {\n months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n monthsShort:\n 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$3 = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap$2 = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n },\n pluralForm$2 = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals$2 = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize$2 = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm$2(number),\n str = plurals$2[u][pluralForm$2(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months$3 = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n hooks.defineLocale('ar', {\n months: months$3,\n monthsShort: months$3,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize$2('s'),\n ss: pluralize$2('s'),\n m: pluralize$2('m'),\n mm: pluralize$2('m'),\n h: pluralize$2('h'),\n hh: pluralize$2('h'),\n d: pluralize$2('d'),\n dd: pluralize$2('d'),\n M: pluralize$2('M'),\n MM: pluralize$2('M'),\n y: pluralize$2('y'),\n yy: pluralize$2('y'),\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap$2[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap$3[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: '-inci',\n 5: '-inci',\n 8: '-inci',\n 70: '-inci',\n 80: '-inci',\n 2: '-nci',\n 7: '-nci',\n 20: '-nci',\n 50: '-nci',\n 3: '-üncü',\n 4: '-üncü',\n 100: '-üncü',\n 6: '-ncı',\n 9: '-uncu',\n 10: '-uncu',\n 30: '-uncu',\n 60: '-ıncı',\n 90: '-ıncı',\n };\n\n hooks.defineLocale('az', {\n months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split(\n '_'\n ),\n monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n weekdays:\n 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split(\n '_'\n ),\n weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[sabah saat] LT',\n nextWeek: '[gələn həftə] dddd [saat] LT',\n lastDay: '[dünən] LT',\n lastWeek: '[keçən həftə] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s əvvəl',\n s: 'bir neçə saniyə',\n ss: '%d saniyə',\n m: 'bir dəqiqə',\n mm: '%d dəqiqə',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir il',\n yy: '%d il',\n },\n meridiemParse: /gecə|səhər|gündüz|axşam/,\n isPM: function (input) {\n return /^(gündüz|axşam)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'gecə';\n } else if (hour < 12) {\n return 'səhər';\n } else if (hour < 17) {\n return 'gündüz';\n } else {\n return 'axşam';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n ordinal: function (number) {\n if (number === 0) {\n // special case for zero\n return number + '-ıncı';\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n dd: 'дзень_дні_дзён',\n MM: 'месяц_месяцы_месяцаў',\n yy: 'год_гады_гадоў',\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвіліна' : 'хвіліну';\n } else if (key === 'h') {\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n hooks.defineLocale('be', {\n months: {\n format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split(\n '_'\n ),\n standalone:\n 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split(\n '_'\n ),\n },\n monthsShort:\n 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n weekdays: {\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split(\n '_'\n ),\n standalone:\n 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split(\n '_'\n ),\n isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/,\n },\n weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., HH:mm',\n LLLL: 'dddd, D MMMM YYYY г., HH:mm',\n },\n calendar: {\n sameDay: '[Сёння ў] LT',\n nextDay: '[Заўтра ў] LT',\n lastDay: '[Учора ў] LT',\n nextWeek: function () {\n return '[У] dddd [ў] LT';\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return '[У мінулую] dddd [ў] LT';\n case 1:\n case 2:\n case 4:\n return '[У мінулы] dddd [ў] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'праз %s',\n past: '%s таму',\n s: 'некалькі секунд',\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: relativeTimeWithPlural,\n hh: relativeTimeWithPlural,\n d: 'дзень',\n dd: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural,\n },\n meridiemParse: /ночы|раніцы|дня|вечара/,\n isPM: function (input) {\n return /^(дня|вечара)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночы';\n } else if (hour < 12) {\n return 'раніцы';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечара';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return (number % 10 === 2 || number % 10 === 3) &&\n number % 100 !== 12 &&\n number % 100 !== 13\n ? number + '-і'\n : number + '-ы';\n case 'D':\n return number + '-га';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('bg', {\n months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split(\n '_'\n ),\n monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split(\n '_'\n ),\n weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Днес в] LT',\n nextDay: '[Утре в] LT',\n nextWeek: 'dddd [в] LT',\n lastDay: '[Вчера в] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Миналата] dddd [в] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Миналия] dddd [в] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'след %s',\n past: 'преди %s',\n s: 'няколко секунди',\n ss: '%d секунди',\n m: 'минута',\n mm: '%d минути',\n h: 'час',\n hh: '%d часа',\n d: 'ден',\n dd: '%d дена',\n w: 'седмица',\n ww: '%d седмици',\n M: 'месец',\n MM: '%d месеца',\n y: 'година',\n yy: '%d години',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal: function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('bm', {\n months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split(\n '_'\n ),\n monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'MMMM [tile] D [san] YYYY',\n LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n },\n calendar: {\n sameDay: '[Bi lɛrɛ] LT',\n nextDay: '[Sini lɛrɛ] LT',\n nextWeek: 'dddd [don lɛrɛ] LT',\n lastDay: '[Kunu lɛrɛ] LT',\n lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s kɔnɔ',\n past: 'a bɛ %s bɔ',\n s: 'sanga dama dama',\n ss: 'sekondi %d',\n m: 'miniti kelen',\n mm: 'miniti %d',\n h: 'lɛrɛ kelen',\n hh: 'lɛrɛ %d',\n d: 'tile kelen',\n dd: 'tile %d',\n M: 'kalo kelen',\n MM: 'kalo %d',\n y: 'san kelen',\n yy: 'san %d',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$4 = {\n 1: '১',\n 2: '২',\n 3: '৩',\n 4: '৪',\n 5: '৫',\n 6: '৬',\n 7: '৭',\n 8: '৮',\n 9: '৯',\n 0: '০',\n },\n numberMap$3 = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0',\n };\n\n hooks.defineLocale('bn-bd', {\n months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n '_'\n ),\n monthsShort:\n 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n '_'\n ),\n weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n '_'\n ),\n weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n longDateFormat: {\n LT: 'A h:mm সময়',\n LTS: 'A h:mm:ss সময়',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm সময়',\n LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n },\n calendar: {\n sameDay: '[আজ] LT',\n nextDay: '[আগামীকাল] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[গতকাল] LT',\n lastWeek: '[গত] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s পরে',\n past: '%s আগে',\n s: 'কয়েক সেকেন্ড',\n ss: '%d সেকেন্ড',\n m: 'এক মিনিট',\n mm: '%d মিনিট',\n h: 'এক ঘন্টা',\n hh: '%d ঘন্টা',\n d: 'এক দিন',\n dd: '%d দিন',\n M: 'এক মাস',\n MM: '%d মাস',\n y: 'এক বছর',\n yy: '%d বছর',\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap$3[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$4[match];\n });\n },\n\n meridiemParse: /রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'রাত') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ভোর') {\n return hour;\n } else if (meridiem === 'সকাল') {\n return hour;\n } else if (meridiem === 'দুপুর') {\n return hour >= 3 ? hour : hour + 12;\n } else if (meridiem === 'বিকাল') {\n return hour + 12;\n } else if (meridiem === 'সন্ধ্যা') {\n return hour + 12;\n }\n },\n\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 6) {\n return 'ভোর';\n } else if (hour < 12) {\n return 'সকাল';\n } else if (hour < 15) {\n return 'দুপুর';\n } else if (hour < 18) {\n return 'বিকাল';\n } else if (hour < 20) {\n return 'সন্ধ্যা';\n } else {\n return 'রাত';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$5 = {\n 1: '১',\n 2: '২',\n 3: '৩',\n 4: '৪',\n 5: '৫',\n 6: '৬',\n 7: '৭',\n 8: '৮',\n 9: '৯',\n 0: '০',\n },\n numberMap$4 = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0',\n };\n\n hooks.defineLocale('bn', {\n months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n '_'\n ),\n monthsShort:\n 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n '_'\n ),\n weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n '_'\n ),\n weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n longDateFormat: {\n LT: 'A h:mm সময়',\n LTS: 'A h:mm:ss সময়',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm সময়',\n LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n },\n calendar: {\n sameDay: '[আজ] LT',\n nextDay: '[আগামীকাল] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[গতকাল] LT',\n lastWeek: '[গত] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s পরে',\n past: '%s আগে',\n s: 'কয়েক সেকেন্ড',\n ss: '%d সেকেন্ড',\n m: 'এক মিনিট',\n mm: '%d মিনিট',\n h: 'এক ঘন্টা',\n hh: '%d ঘন্টা',\n d: 'এক দিন',\n dd: '%d দিন',\n M: 'এক মাস',\n MM: '%d মাস',\n y: 'এক বছর',\n yy: '%d বছর',\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap$4[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$5[match];\n });\n },\n meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'রাত' && hour >= 4) ||\n (meridiem === 'দুপুর' && hour < 5) ||\n meridiem === 'বিকাল'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 10) {\n return 'সকাল';\n } else if (hour < 17) {\n return 'দুপুর';\n } else if (hour < 20) {\n return 'বিকাল';\n } else {\n return 'রাত';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$6 = {\n 1: '༡',\n 2: '༢',\n 3: '༣',\n 4: '༤',\n 5: '༥',\n 6: '༦',\n 7: '༧',\n 8: '༨',\n 9: '༩',\n 0: '༠',\n },\n numberMap$5 = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0',\n };\n\n hooks.defineLocale('bo', {\n months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split(\n '_'\n ),\n monthsShort:\n 'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split(\n '_'\n ),\n monthsShortRegex: /^(ཟླ་\\d{1,2})/,\n monthsParseExact: true,\n weekdays:\n 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split(\n '_'\n ),\n weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split(\n '_'\n ),\n weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[དི་རིང] LT',\n nextDay: '[སང་ཉིན] LT',\n nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT',\n lastDay: '[ཁ་སང] LT',\n lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ལ་',\n past: '%s སྔན་ལ',\n s: 'ལམ་སང',\n ss: '%d སྐར་ཆ།',\n m: 'སྐར་མ་གཅིག',\n mm: '%d སྐར་མ',\n h: 'ཆུ་ཚོད་གཅིག',\n hh: '%d ཆུ་ཚོད',\n d: 'ཉིན་གཅིག',\n dd: '%d ཉིན་',\n M: 'ཟླ་བ་གཅིག',\n MM: '%d ཟླ་བ',\n y: 'ལོ་གཅིག',\n yy: '%d ལོ',\n },\n preparse: function (string) {\n return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n return numberMap$5[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$6[match];\n });\n },\n meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'མཚན་མོ' && hour >= 4) ||\n (meridiem === 'ཉིན་གུང' && hour < 5) ||\n meridiem === 'དགོང་དག'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'མཚན་མོ';\n } else if (hour < 10) {\n return 'ཞོགས་ཀས';\n } else if (hour < 17) {\n return 'ཉིན་གུང';\n } else if (hour < 20) {\n return 'དགོང་དག';\n } else {\n return 'མཚན་མོ';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function relativeTimeWithMutation(number, withoutSuffix, key) {\n var format = {\n mm: 'munutenn',\n MM: 'miz',\n dd: 'devezh',\n };\n return number + ' ' + mutation(format[key], number);\n }\n function specialMutationForYears(number) {\n switch (lastNumber(number)) {\n case 1:\n case 3:\n case 4:\n case 5:\n case 9:\n return number + ' bloaz';\n default:\n return number + ' vloaz';\n }\n }\n function lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n return number;\n }\n function mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n return text;\n }\n function softMutation(text) {\n var mutationTable = {\n m: 'v',\n b: 'v',\n d: 'z',\n };\n if (mutationTable[text.charAt(0)] === undefined) {\n return text;\n }\n return mutationTable[text.charAt(0)] + text.substring(1);\n }\n\n var monthsParse = [\n /^gen/i,\n /^c[ʼ\\']hwe/i,\n /^meu/i,\n /^ebr/i,\n /^mae/i,\n /^(mez|eve)/i,\n /^gou/i,\n /^eos/i,\n /^gwe/i,\n /^her/i,\n /^du/i,\n /^ker/i,\n ],\n monthsRegex$1 =\n /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n monthsStrictRegex =\n /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,\n monthsShortStrictRegex =\n /^(gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n fullWeekdaysParse = [\n /^sul/i,\n /^lun/i,\n /^meurzh/i,\n /^merc[ʼ\\']her/i,\n /^yaou/i,\n /^gwener/i,\n /^sadorn/i,\n ],\n shortWeekdaysParse = [\n /^Sul/i,\n /^Lun/i,\n /^Meu/i,\n /^Mer/i,\n /^Yao/i,\n /^Gwe/i,\n /^Sad/i,\n ],\n minWeekdaysParse = [\n /^Su/i,\n /^Lu/i,\n /^Me([^r]|$)/i,\n /^Mer/i,\n /^Ya/i,\n /^Gw/i,\n /^Sa/i,\n ];\n\n hooks.defineLocale('br', {\n months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split(\n '_'\n ),\n monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'),\n weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n weekdaysParse: minWeekdaysParse,\n fullWeekdaysParse: fullWeekdaysParse,\n shortWeekdaysParse: shortWeekdaysParse,\n minWeekdaysParse: minWeekdaysParse,\n\n monthsRegex: monthsRegex$1,\n monthsShortRegex: monthsRegex$1,\n monthsStrictRegex: monthsStrictRegex,\n monthsShortStrictRegex: monthsShortStrictRegex,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [a viz] MMMM YYYY',\n LLL: 'D [a viz] MMMM YYYY HH:mm',\n LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hiziv da] LT',\n nextDay: '[Warcʼhoazh da] LT',\n nextWeek: 'dddd [da] LT',\n lastDay: '[Decʼh da] LT',\n lastWeek: 'dddd [paset da] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'a-benn %s',\n past: '%s ʼzo',\n s: 'un nebeud segondennoù',\n ss: '%d eilenn',\n m: 'ur vunutenn',\n mm: relativeTimeWithMutation,\n h: 'un eur',\n hh: '%d eur',\n d: 'un devezh',\n dd: relativeTimeWithMutation,\n M: 'ur miz',\n MM: relativeTimeWithMutation,\n y: 'ur bloaz',\n yy: specialMutationForYears,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n ordinal: function (number) {\n var output = number === 1 ? 'añ' : 'vet';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n meridiemParse: /a.m.|g.m./, // goude merenn | a-raok merenn\n isPM: function (token) {\n return token === 'g.m.';\n },\n meridiem: function (hour, minute, isLower) {\n return hour < 12 ? 'a.m.' : 'g.m.';\n },\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 'm':\n return withoutSuffix\n ? 'jedna minuta'\n : isFuture\n ? 'jednu minutu'\n : 'jedne minute';\n }\n }\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jedan sat';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n hooks.defineLocale('bs', {\n months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate,\n m: processRelativeTime,\n mm: translate,\n h: translate,\n hh: translate,\n d: 'dan',\n dd: translate,\n M: 'mjesec',\n MM: translate,\n y: 'godinu',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ca', {\n months: {\n standalone:\n 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split(\n '_'\n ),\n format: \"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre\".split(\n '_'\n ),\n isFormat: /D[oD]?(\\s)+MMMM/,\n },\n monthsShort:\n 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split(\n '_'\n ),\n weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a les] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm',\n llll: 'ddd D MMM YYYY, H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n nextDay: function () {\n return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n lastDay: function () {\n return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [passat a ' +\n (this.hours() !== 1 ? 'les' : 'la') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'uns segons',\n ss: '%d segons',\n m: 'un minut',\n mm: '%d minuts',\n h: 'una hora',\n hh: '%d hores',\n d: 'un dia',\n dd: '%d dies',\n M: 'un mes',\n MM: '%d mesos',\n y: 'un any',\n yy: '%d anys',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function (number, period) {\n var output =\n number === 1\n ? 'r'\n : number === 2\n ? 'n'\n : number === 3\n ? 'r'\n : number === 4\n ? 't'\n : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var months$4 = {\n standalone:\n 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(\n '_'\n ),\n format: 'ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince'.split(\n '_'\n ),\n isFormat: /DD?[o.]?(\\[[^\\[\\]]*\\]|\\s)+MMMM/,\n },\n monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),\n monthsParse$1 = [\n /^led/i,\n /^úno/i,\n /^bře/i,\n /^dub/i,\n /^kvě/i,\n /^(čvn|červen$|června)/i,\n /^(čvc|červenec|července)/i,\n /^srp/i,\n /^zář/i,\n /^říj/i,\n /^lis/i,\n /^pro/i,\n ],\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsRegex$2 =\n /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;\n\n function plural$1(n) {\n return n > 1 && n < 5 && ~~(n / 10) !== 1;\n }\n function translate$1(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural$1(number) ? 'sekundy' : 'sekund');\n } else {\n return result + 'sekundami';\n }\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou';\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural$1(number) ? 'minuty' : 'minut');\n } else {\n return result + 'minutami';\n }\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural$1(number) ? 'hodiny' : 'hodin');\n } else {\n return result + 'hodinami';\n }\n case 'd': // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'den' : 'dnem';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural$1(number) ? 'dny' : 'dní');\n } else {\n return result + 'dny';\n }\n case 'M': // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'měsíc' : 'měsícem';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural$1(number) ? 'měsíce' : 'měsíců');\n } else {\n return result + 'měsíci';\n }\n case 'y': // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokem';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural$1(number) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n }\n }\n\n hooks.defineLocale('cs', {\n months: months$4,\n monthsShort: monthsShort,\n monthsRegex: monthsRegex$2,\n monthsShortRegex: monthsRegex$2,\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsStrictRegex:\n /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,\n monthsShortStrictRegex:\n /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,\n monthsParse: monthsParse$1,\n longMonthsParse: monthsParse$1,\n shortMonthsParse: monthsParse$1,\n weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'),\n weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd D. MMMM YYYY H:mm',\n l: 'D. M. YYYY',\n },\n calendar: {\n sameDay: '[dnes v] LT',\n nextDay: '[zítra v] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v neděli v] LT';\n case 1:\n case 2:\n return '[v] dddd [v] LT';\n case 3:\n return '[ve středu v] LT';\n case 4:\n return '[ve čtvrtek v] LT';\n case 5:\n return '[v pátek v] LT';\n case 6:\n return '[v sobotu v] LT';\n }\n },\n lastDay: '[včera v] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulou neděli v] LT';\n case 1:\n case 2:\n return '[minulé] dddd [v] LT';\n case 3:\n return '[minulou středu v] LT';\n case 4:\n case 5:\n return '[minulý] dddd [v] LT';\n case 6:\n return '[minulou sobotu v] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'před %s',\n s: translate$1,\n ss: translate$1,\n m: translate$1,\n mm: translate$1,\n h: translate$1,\n hh: translate$1,\n d: translate$1,\n dd: translate$1,\n M: translate$1,\n MM: translate$1,\n y: translate$1,\n yy: translate$1,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('cv', {\n months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split(\n '_'\n ),\n monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays:\n 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split(\n '_'\n ),\n weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n },\n calendar: {\n sameDay: '[Паян] LT [сехетре]',\n nextDay: '[Ыран] LT [сехетре]',\n lastDay: '[Ӗнер] LT [сехетре]',\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n sameElse: 'L',\n },\n relativeTime: {\n future: function (output) {\n var affix = /сехет$/i.exec(output)\n ? 'рен'\n : /ҫул$/i.exec(output)\n ? 'тан'\n : 'ран';\n return output + affix;\n },\n past: '%s каялла',\n s: 'пӗр-ик ҫеккунт',\n ss: '%d ҫеккунт',\n m: 'пӗр минут',\n mm: '%d минут',\n h: 'пӗр сехет',\n hh: '%d сехет',\n d: 'пӗр кун',\n dd: '%d кун',\n M: 'пӗр уйӑх',\n MM: '%d уйӑх',\n y: 'пӗр ҫул',\n yy: '%d ҫул',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n ordinal: '%d-мӗш',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('cy', {\n months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split(\n '_'\n ),\n monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split(\n '_'\n ),\n weekdays:\n 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split(\n '_'\n ),\n weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n weekdaysParseExact: true,\n // time formats are the same as en-gb\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Heddiw am] LT',\n nextDay: '[Yfory am] LT',\n nextWeek: 'dddd [am] LT',\n lastDay: '[Ddoe am] LT',\n lastWeek: 'dddd [diwethaf am] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'mewn %s',\n past: '%s yn ôl',\n s: 'ychydig eiliadau',\n ss: '%d eiliad',\n m: 'munud',\n mm: '%d munud',\n h: 'awr',\n hh: '%d awr',\n d: 'diwrnod',\n dd: '%d diwrnod',\n M: 'mis',\n MM: '%d mis',\n y: 'blwyddyn',\n yy: '%d flynedd',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n ordinal: function (number) {\n var b = number,\n output = '',\n lookup = [\n '',\n 'af',\n 'il',\n 'ydd',\n 'ydd',\n 'ed',\n 'ed',\n 'ed',\n 'fed',\n 'fed',\n 'fed', // 1af to 10fed\n 'eg',\n 'fed',\n 'eg',\n 'eg',\n 'fed',\n 'eg',\n 'eg',\n 'fed',\n 'eg',\n 'fed', // 11eg to 20fed\n ];\n if (b > 20) {\n if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n output = 'fed'; // not 30ain, 70ain or 90ain\n } else {\n output = 'ain';\n }\n } else if (b > 0) {\n output = lookup[b];\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('da', {\n months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'på dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[i] dddd[s kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'få sekunder',\n ss: '%d sekunder',\n m: 'et minut',\n mm: '%d minutter',\n h: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dage',\n M: 'en måned',\n MM: '%d måneder',\n y: 'et år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$1(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n hooks.defineLocale('de-at', {\n months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays:\n 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime$1,\n mm: '%d Minuten',\n h: processRelativeTime$1,\n hh: '%d Stunden',\n d: processRelativeTime$1,\n dd: processRelativeTime$1,\n w: processRelativeTime$1,\n ww: '%d Wochen',\n M: processRelativeTime$1,\n MM: processRelativeTime$1,\n y: processRelativeTime$1,\n yy: processRelativeTime$1,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$2(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n hooks.defineLocale('de-ch', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays:\n 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime$2,\n mm: '%d Minuten',\n h: processRelativeTime$2,\n hh: '%d Stunden',\n d: processRelativeTime$2,\n dd: processRelativeTime$2,\n w: processRelativeTime$2,\n ww: '%d Wochen',\n M: processRelativeTime$2,\n MM: processRelativeTime$2,\n y: processRelativeTime$2,\n yy: processRelativeTime$2,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$3(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n hooks.defineLocale('de', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays:\n 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime$3,\n mm: '%d Minuten',\n h: processRelativeTime$3,\n hh: '%d Stunden',\n d: processRelativeTime$3,\n dd: processRelativeTime$3,\n w: processRelativeTime$3,\n ww: '%d Wochen',\n M: processRelativeTime$3,\n MM: processRelativeTime$3,\n y: processRelativeTime$3,\n yy: processRelativeTime$3,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var months$5 = [\n 'ޖެނުއަރީ',\n 'ފެބްރުއަރީ',\n 'މާރިޗު',\n 'އޭޕްރީލު',\n 'މޭ',\n 'ޖޫން',\n 'ޖުލައި',\n 'އޯގަސްޓު',\n 'ސެޕްޓެމްބަރު',\n 'އޮކްޓޯބަރު',\n 'ނޮވެމްބަރު',\n 'ޑިސެމްބަރު',\n ],\n weekdays = [\n 'އާދިއްތަ',\n 'ހޯމަ',\n 'އަންގާރަ',\n 'ބުދަ',\n 'ބުރާސްފަތި',\n 'ހުކުރު',\n 'ހޮނިހިރު',\n ];\n\n hooks.defineLocale('dv', {\n months: months$5,\n monthsShort: months$5,\n weekdays: weekdays,\n weekdaysShort: weekdays,\n weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/M/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /މކ|މފ/,\n isPM: function (input) {\n return 'މފ' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'މކ';\n } else {\n return 'މފ';\n }\n },\n calendar: {\n sameDay: '[މިއަދު] LT',\n nextDay: '[މާދަމާ] LT',\n nextWeek: 'dddd LT',\n lastDay: '[އިއްޔެ] LT',\n lastWeek: '[ފާއިތުވި] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ތެރޭގައި %s',\n past: 'ކުރިން %s',\n s: 'ސިކުންތުކޮޅެއް',\n ss: 'd% ސިކުންތު',\n m: 'މިނިޓެއް',\n mm: 'މިނިޓު %d',\n h: 'ގަޑިއިރެއް',\n hh: 'ގަޑިއިރު %d',\n d: 'ދުވަހެއް',\n dd: 'ދުވަސް %d',\n M: 'މަހެއް',\n MM: 'މަސް %d',\n y: 'އަހަރެއް',\n yy: 'އަހަރު %d',\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 7, // Sunday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function isFunction$1(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n hooks.defineLocale('el', {\n monthsNominativeEl:\n 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split(\n '_'\n ),\n monthsGenitiveEl:\n 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split(\n '_'\n ),\n months: function (momentToFormat, format) {\n if (!momentToFormat) {\n return this._monthsNominativeEl;\n } else if (\n typeof format === 'string' &&\n /D/.test(format.substring(0, format.indexOf('MMMM')))\n ) {\n // if there is a day number before 'MMMM'\n return this._monthsGenitiveEl[momentToFormat.month()];\n } else {\n return this._monthsNominativeEl[momentToFormat.month()];\n }\n },\n monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split(\n '_'\n ),\n weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'μμ' : 'ΜΜ';\n } else {\n return isLower ? 'πμ' : 'ΠΜ';\n }\n },\n isPM: function (input) {\n return (input + '').toLowerCase()[0] === 'μ';\n },\n meridiemParse: /[ΠΜ]\\.?Μ?\\.?/i,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendarEl: {\n sameDay: '[Σήμερα {}] LT',\n nextDay: '[Αύριο {}] LT',\n nextWeek: 'dddd [{}] LT',\n lastDay: '[Χθες {}] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 6:\n return '[το προηγούμενο] dddd [{}] LT';\n default:\n return '[την προηγούμενη] dddd [{}] LT';\n }\n },\n sameElse: 'L',\n },\n calendar: function (key, mom) {\n var output = this._calendarEl[key],\n hours = mom && mom.hours();\n if (isFunction$1(output)) {\n output = output.apply(mom);\n }\n return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις');\n },\n relativeTime: {\n future: 'σε %s',\n past: '%s πριν',\n s: 'λίγα δευτερόλεπτα',\n ss: '%d δευτερόλεπτα',\n m: 'ένα λεπτό',\n mm: '%d λεπτά',\n h: 'μία ώρα',\n hh: '%d ώρες',\n d: 'μία μέρα',\n dd: '%d μέρες',\n M: 'ένας μήνας',\n MM: '%d μήνες',\n y: 'ένας χρόνος',\n yy: '%d χρόνια',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}η/,\n ordinal: '%dη',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4st is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('en-au', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('en-ca', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'YYYY-MM-DD',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('en-gb', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('en-ie', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('en-il', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('en-in', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('en-nz', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('en-sg', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('eo', {\n months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split('_'),\n weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: '[la] D[-an de] MMMM, YYYY',\n LLL: '[la] D[-an de] MMMM, YYYY HH:mm',\n LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm',\n llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm',\n },\n meridiemParse: /[ap]\\.t\\.m/i,\n isPM: function (input) {\n return input.charAt(0).toLowerCase() === 'p';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'p.t.m.' : 'P.T.M.';\n } else {\n return isLower ? 'a.t.m.' : 'A.T.M.';\n }\n },\n calendar: {\n sameDay: '[Hodiaŭ je] LT',\n nextDay: '[Morgaŭ je] LT',\n nextWeek: 'dddd[n je] LT',\n lastDay: '[Hieraŭ je] LT',\n lastWeek: '[pasintan] dddd[n je] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'post %s',\n past: 'antaŭ %s',\n s: 'kelkaj sekundoj',\n ss: '%d sekundoj',\n m: 'unu minuto',\n mm: '%d minutoj',\n h: 'unu horo',\n hh: '%d horoj',\n d: 'unu tago', //ne 'diurno', ĉar estas uzita por proksimumo\n dd: '%d tagoj',\n M: 'unu monato',\n MM: '%d monatoj',\n y: 'unu jaro',\n yy: '%d jaroj',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}a/,\n ordinal: '%da',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var monthsShortDot =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort$1 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse$2 = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex$3 =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n hooks.defineLocale('es-do', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort$1[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex$3,\n monthsShortRegex: monthsRegex$3,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse$2,\n longMonthsParse: monthsParse$2,\n shortMonthsParse: monthsParse$2,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var monthsShortDot$1 =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort$2 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse$3 = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex$4 =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n hooks.defineLocale('es-mx', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot$1;\n } else if (/-MMM-/.test(format)) {\n return monthsShort$2[m.month()];\n } else {\n return monthsShortDot$1[m.month()];\n }\n },\n monthsRegex: monthsRegex$4,\n monthsShortRegex: monthsRegex$4,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse$3,\n longMonthsParse: monthsParse$3,\n shortMonthsParse: monthsParse$3,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n invalidDate: 'Fecha inválida',\n });\n\n //! moment.js locale configuration\n\n var monthsShortDot$2 =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort$3 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse$4 = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex$5 =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n hooks.defineLocale('es-us', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot$2;\n } else if (/-MMM-/.test(format)) {\n return monthsShort$3[m.month()];\n } else {\n return monthsShortDot$2[m.month()];\n }\n },\n monthsRegex: monthsRegex$5,\n monthsShortRegex: monthsRegex$5,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse$4,\n longMonthsParse: monthsParse$4,\n shortMonthsParse: monthsParse$4,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'MM/DD/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var monthsShortDot$3 =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort$4 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse$5 = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex$6 =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n hooks.defineLocale('es', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot$3;\n } else if (/-MMM-/.test(format)) {\n return monthsShort$4[m.month()];\n } else {\n return monthsShortDot$3[m.month()];\n }\n },\n monthsRegex: monthsRegex$6,\n monthsShortRegex: monthsRegex$6,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse$5,\n longMonthsParse: monthsParse$5,\n shortMonthsParse: monthsParse$5,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n invalidDate: 'Fecha inválida',\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$4(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n ss: [number + 'sekundi', number + 'sekundit'],\n m: ['ühe minuti', 'üks minut'],\n mm: [number + ' minuti', number + ' minutit'],\n h: ['ühe tunni', 'tund aega', 'üks tund'],\n hh: [number + ' tunni', number + ' tundi'],\n d: ['ühe päeva', 'üks päev'],\n M: ['kuu aja', 'kuu aega', 'üks kuu'],\n MM: [number + ' kuu', number + ' kuud'],\n y: ['ühe aasta', 'aasta', 'üks aasta'],\n yy: [number + ' aasta', number + ' aastat'],\n };\n if (withoutSuffix) {\n return format[key][2] ? format[key][2] : format[key][1];\n }\n return isFuture ? format[key][0] : format[key][1];\n }\n\n hooks.defineLocale('et', {\n months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split(\n '_'\n ),\n monthsShort:\n 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n weekdays:\n 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split(\n '_'\n ),\n weekdaysShort: 'P_E_T_K_N_R_L'.split('_'),\n weekdaysMin: 'P_E_T_K_N_R_L'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Täna,] LT',\n nextDay: '[Homme,] LT',\n nextWeek: '[Järgmine] dddd LT',\n lastDay: '[Eile,] LT',\n lastWeek: '[Eelmine] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s pärast',\n past: '%s tagasi',\n s: processRelativeTime$4,\n ss: processRelativeTime$4,\n m: processRelativeTime$4,\n mm: processRelativeTime$4,\n h: processRelativeTime$4,\n hh: processRelativeTime$4,\n d: processRelativeTime$4,\n dd: '%d päeva',\n M: processRelativeTime$4,\n MM: processRelativeTime$4,\n y: processRelativeTime$4,\n yy: processRelativeTime$4,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('eu', {\n months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split(\n '_'\n ),\n monthsShort:\n 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split(\n '_'\n ),\n weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'),\n weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY[ko] MMMM[ren] D[a]',\n LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n l: 'YYYY-M-D',\n ll: 'YYYY[ko] MMM D[a]',\n lll: 'YYYY[ko] MMM D[a] HH:mm',\n llll: 'ddd, YYYY[ko] MMM D[a] HH:mm',\n },\n calendar: {\n sameDay: '[gaur] LT[etan]',\n nextDay: '[bihar] LT[etan]',\n nextWeek: 'dddd LT[etan]',\n lastDay: '[atzo] LT[etan]',\n lastWeek: '[aurreko] dddd LT[etan]',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s barru',\n past: 'duela %s',\n s: 'segundo batzuk',\n ss: '%d segundo',\n m: 'minutu bat',\n mm: '%d minutu',\n h: 'ordu bat',\n hh: '%d ordu',\n d: 'egun bat',\n dd: '%d egun',\n M: 'hilabete bat',\n MM: '%d hilabete',\n y: 'urte bat',\n yy: '%d urte',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$7 = {\n 1: '۱',\n 2: '۲',\n 3: '۳',\n 4: '۴',\n 5: '۵',\n 6: '۶',\n 7: '۷',\n 8: '۸',\n 9: '۹',\n 0: '۰',\n },\n numberMap$6 = {\n '۱': '1',\n '۲': '2',\n '۳': '3',\n '۴': '4',\n '۵': '5',\n '۶': '6',\n '۷': '7',\n '۸': '8',\n '۹': '9',\n '۰': '0',\n };\n\n hooks.defineLocale('fa', {\n months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n '_'\n ),\n monthsShort:\n 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n '_'\n ),\n weekdays:\n 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n '_'\n ),\n weekdaysShort:\n 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n '_'\n ),\n weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /قبل از ظهر|بعد از ظهر/,\n isPM: function (input) {\n return /بعد از ظهر/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'قبل از ظهر';\n } else {\n return 'بعد از ظهر';\n }\n },\n calendar: {\n sameDay: '[امروز ساعت] LT',\n nextDay: '[فردا ساعت] LT',\n nextWeek: 'dddd [ساعت] LT',\n lastDay: '[دیروز ساعت] LT',\n lastWeek: 'dddd [پیش] [ساعت] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'در %s',\n past: '%s پیش',\n s: 'چند ثانیه',\n ss: '%d ثانیه',\n m: 'یک دقیقه',\n mm: '%d دقیقه',\n h: 'یک ساعت',\n hh: '%d ساعت',\n d: 'یک روز',\n dd: '%d روز',\n M: 'یک ماه',\n MM: '%d ماه',\n y: 'یک سال',\n yy: '%d سال',\n },\n preparse: function (string) {\n return string\n .replace(/[۰-۹]/g, function (match) {\n return numberMap$6[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap$7[match];\n })\n .replace(/,/g, '،');\n },\n dayOfMonthOrdinalParse: /\\d{1,2}م/,\n ordinal: '%dم',\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var numbersPast =\n 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(\n ' '\n ),\n numbersFuture = [\n 'nolla',\n 'yhden',\n 'kahden',\n 'kolmen',\n 'neljän',\n 'viiden',\n 'kuuden',\n numbersPast[7],\n numbersPast[8],\n numbersPast[9],\n ];\n function translate$2(number, withoutSuffix, key, isFuture) {\n var result = '';\n switch (key) {\n case 's':\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n case 'ss':\n result = isFuture ? 'sekunnin' : 'sekuntia';\n break;\n case 'm':\n return isFuture ? 'minuutin' : 'minuutti';\n case 'mm':\n result = isFuture ? 'minuutin' : 'minuuttia';\n break;\n case 'h':\n return isFuture ? 'tunnin' : 'tunti';\n case 'hh':\n result = isFuture ? 'tunnin' : 'tuntia';\n break;\n case 'd':\n return isFuture ? 'päivän' : 'päivä';\n case 'dd':\n result = isFuture ? 'päivän' : 'päivää';\n break;\n case 'M':\n return isFuture ? 'kuukauden' : 'kuukausi';\n case 'MM':\n result = isFuture ? 'kuukauden' : 'kuukautta';\n break;\n case 'y':\n return isFuture ? 'vuoden' : 'vuosi';\n case 'yy':\n result = isFuture ? 'vuoden' : 'vuotta';\n break;\n }\n result = verbalNumber(number, isFuture) + ' ' + result;\n return result;\n }\n function verbalNumber(number, isFuture) {\n return number < 10\n ? isFuture\n ? numbersFuture[number]\n : numbersPast[number]\n : number;\n }\n\n hooks.defineLocale('fi', {\n months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split(\n '_'\n ),\n monthsShort:\n 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split(\n '_'\n ),\n weekdays:\n 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split(\n '_'\n ),\n weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'),\n weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM[ta] YYYY',\n LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm',\n LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n l: 'D.M.YYYY',\n ll: 'Do MMM YYYY',\n lll: 'Do MMM YYYY, [klo] HH.mm',\n llll: 'ddd, Do MMM YYYY, [klo] HH.mm',\n },\n calendar: {\n sameDay: '[tänään] [klo] LT',\n nextDay: '[huomenna] [klo] LT',\n nextWeek: 'dddd [klo] LT',\n lastDay: '[eilen] [klo] LT',\n lastWeek: '[viime] dddd[na] [klo] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s päästä',\n past: '%s sitten',\n s: translate$2,\n ss: translate$2,\n m: translate$2,\n mm: translate$2,\n h: translate$2,\n hh: translate$2,\n d: translate$2,\n dd: translate$2,\n M: translate$2,\n MM: translate$2,\n y: translate$2,\n yy: translate$2,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('fil', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n '_'\n ),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n '_'\n ),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('fo', {\n months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays:\n 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split(\n '_'\n ),\n weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D. MMMM, YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Í dag kl.] LT',\n nextDay: '[Í morgin kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[Í gjár kl.] LT',\n lastWeek: '[síðstu] dddd [kl] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'um %s',\n past: '%s síðani',\n s: 'fá sekund',\n ss: '%d sekundir',\n m: 'ein minuttur',\n mm: '%d minuttir',\n h: 'ein tími',\n hh: '%d tímar',\n d: 'ein dagur',\n dd: '%d dagar',\n M: 'ein mánaður',\n MM: '%d mánaðir',\n y: 'eitt ár',\n yy: '%d ár',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('fr-ca', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort:\n 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('fr-ch', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort:\n 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var monthsStrictRegex$1 =\n /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsShortStrictRegex$1 =\n /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?)/i,\n monthsRegex$7 =\n /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsParse$6 = [\n /^janv/i,\n /^févr/i,\n /^mars/i,\n /^avr/i,\n /^mai/i,\n /^juin/i,\n /^juil/i,\n /^août/i,\n /^sept/i,\n /^oct/i,\n /^nov/i,\n /^déc/i,\n ];\n\n hooks.defineLocale('fr', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort:\n 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsRegex: monthsRegex$7,\n monthsShortRegex: monthsRegex$7,\n monthsStrictRegex: monthsStrictRegex$1,\n monthsShortStrictRegex: monthsShortStrictRegex$1,\n monthsParse: monthsParse$6,\n longMonthsParse: monthsParse$6,\n shortMonthsParse: monthsParse$6,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n w: 'une semaine',\n ww: '%d semaines',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n ordinal: function (number, period) {\n switch (period) {\n // TODO: Return 'e' when day of month > 1. Move this case inside\n // block for masculine words below.\n // See https://github.com/moment/moment/issues/3375\n case 'D':\n return number + (number === 1 ? 'er' : '');\n\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var monthsShortWithDots =\n 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),\n monthsShortWithoutDots =\n 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n\n hooks.defineLocale('fy', {\n months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsParseExact: true,\n weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split(\n '_'\n ),\n weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'),\n weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[hjoed om] LT',\n nextDay: '[moarn om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[juster om] LT',\n lastWeek: '[ôfrûne] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'oer %s',\n past: '%s lyn',\n s: 'in pear sekonden',\n ss: '%d sekonden',\n m: 'ien minút',\n mm: '%d minuten',\n h: 'ien oere',\n hh: '%d oeren',\n d: 'ien dei',\n dd: '%d dagen',\n M: 'ien moanne',\n MM: '%d moannen',\n y: 'ien jier',\n yy: '%d jierren',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var months$6 = [\n 'Eanáir',\n 'Feabhra',\n 'Márta',\n 'Aibreán',\n 'Bealtaine',\n 'Meitheamh',\n 'Iúil',\n 'Lúnasa',\n 'Meán Fómhair',\n 'Deireadh Fómhair',\n 'Samhain',\n 'Nollaig',\n ],\n monthsShort$5 = [\n 'Ean',\n 'Feabh',\n 'Márt',\n 'Aib',\n 'Beal',\n 'Meith',\n 'Iúil',\n 'Lún',\n 'M.F.',\n 'D.F.',\n 'Samh',\n 'Noll',\n ],\n weekdays$1 = [\n 'Dé Domhnaigh',\n 'Dé Luain',\n 'Dé Máirt',\n 'Dé Céadaoin',\n 'Déardaoin',\n 'Dé hAoine',\n 'Dé Sathairn',\n ],\n weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'],\n weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa'];\n\n hooks.defineLocale('ga', {\n months: months$6,\n monthsShort: monthsShort$5,\n monthsParseExact: true,\n weekdays: weekdays$1,\n weekdaysShort: weekdaysShort,\n weekdaysMin: weekdaysMin,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Inniu ag] LT',\n nextDay: '[Amárach ag] LT',\n nextWeek: 'dddd [ag] LT',\n lastDay: '[Inné ag] LT',\n lastWeek: 'dddd [seo caite] [ag] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'i %s',\n past: '%s ó shin',\n s: 'cúpla soicind',\n ss: '%d soicind',\n m: 'nóiméad',\n mm: '%d nóiméad',\n h: 'uair an chloig',\n hh: '%d uair an chloig',\n d: 'lá',\n dd: '%d lá',\n M: 'mí',\n MM: '%d míonna',\n y: 'bliain',\n yy: '%d bliain',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var months$7 = [\n 'Am Faoilleach',\n 'An Gearran',\n 'Am Màrt',\n 'An Giblean',\n 'An Cèitean',\n 'An t-Ògmhios',\n 'An t-Iuchar',\n 'An Lùnastal',\n 'An t-Sultain',\n 'An Dàmhair',\n 'An t-Samhain',\n 'An Dùbhlachd',\n ],\n monthsShort$6 = [\n 'Faoi',\n 'Gear',\n 'Màrt',\n 'Gibl',\n 'Cèit',\n 'Ògmh',\n 'Iuch',\n 'Lùn',\n 'Sult',\n 'Dàmh',\n 'Samh',\n 'Dùbh',\n ],\n weekdays$2 = [\n 'Didòmhnaich',\n 'Diluain',\n 'Dimàirt',\n 'Diciadain',\n 'Diardaoin',\n 'Dihaoine',\n 'Disathairne',\n ],\n weekdaysShort$1 = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'],\n weekdaysMin$1 = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n hooks.defineLocale('gd', {\n months: months$7,\n monthsShort: monthsShort$6,\n monthsParseExact: true,\n weekdays: weekdays$2,\n weekdaysShort: weekdaysShort$1,\n weekdaysMin: weekdaysMin$1,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[An-diugh aig] LT',\n nextDay: '[A-màireach aig] LT',\n nextWeek: 'dddd [aig] LT',\n lastDay: '[An-dè aig] LT',\n lastWeek: 'dddd [seo chaidh] [aig] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ann an %s',\n past: 'bho chionn %s',\n s: 'beagan diogan',\n ss: '%d diogan',\n m: 'mionaid',\n mm: '%d mionaidean',\n h: 'uair',\n hh: '%d uairean',\n d: 'latha',\n dd: '%d latha',\n M: 'mìos',\n MM: '%d mìosan',\n y: 'bliadhna',\n yy: '%d bliadhna',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('gl', {\n months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split(\n '_'\n ),\n monthsShort:\n 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n },\n nextDay: function () {\n return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';\n },\n lastDay: function () {\n return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT';\n },\n lastWeek: function () {\n return (\n '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: function (str) {\n if (str.indexOf('un') === 0) {\n return 'n' + str;\n }\n return 'en ' + str;\n },\n past: 'hai %s',\n s: 'uns segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'unha hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n M: 'un mes',\n MM: '%d meses',\n y: 'un ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$5(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'],\n ss: [number + ' सॅकंडांनी', number + ' सॅकंड'],\n m: ['एका मिणटान', 'एक मिनूट'],\n mm: [number + ' मिणटांनी', number + ' मिणटां'],\n h: ['एका वरान', 'एक वर'],\n hh: [number + ' वरांनी', number + ' वरां'],\n d: ['एका दिसान', 'एक दीस'],\n dd: [number + ' दिसांनी', number + ' दीस'],\n M: ['एका म्हयन्यान', 'एक म्हयनो'],\n MM: [number + ' म्हयन्यानी', number + ' म्हयने'],\n y: ['एका वर्सान', 'एक वर्स'],\n yy: [number + ' वर्सांनी', number + ' वर्सां'],\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n hooks.defineLocale('gom-deva', {\n months: {\n standalone:\n 'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n '_'\n ),\n format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split(\n '_'\n ),\n isFormat: /MMMM(\\s)+D[oD]?/,\n },\n monthsShort:\n 'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split('_'),\n weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split('_'),\n weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [वाजतां]',\n LTS: 'A h:mm:ss [वाजतां]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [वाजतां]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]',\n llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]',\n },\n calendar: {\n sameDay: '[आयज] LT',\n nextDay: '[फाल्यां] LT',\n nextWeek: '[फुडलो] dddd[,] LT',\n lastDay: '[काल] LT',\n lastWeek: '[फाटलो] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s',\n past: '%s आदीं',\n s: processRelativeTime$5,\n ss: processRelativeTime$5,\n m: processRelativeTime$5,\n mm: processRelativeTime$5,\n h: processRelativeTime$5,\n hh: processRelativeTime$5,\n d: processRelativeTime$5,\n dd: processRelativeTime$5,\n M: processRelativeTime$5,\n MM: processRelativeTime$5,\n y: processRelativeTime$5,\n yy: processRelativeTime$5,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(वेर)/,\n ordinal: function (number, period) {\n switch (period) {\n // the ordinal 'वेर' only applies to day of the month\n case 'D':\n return number + 'वेर';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week\n doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n },\n meridiemParse: /राती|सकाळीं|दनपारां|सांजे/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राती') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सकाळीं') {\n return hour;\n } else if (meridiem === 'दनपारां') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'सांजे') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'राती';\n } else if (hour < 12) {\n return 'सकाळीं';\n } else if (hour < 16) {\n return 'दनपारां';\n } else if (hour < 20) {\n return 'सांजे';\n } else {\n return 'राती';\n }\n },\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$6(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['thoddea sekondamni', 'thodde sekond'],\n ss: [number + ' sekondamni', number + ' sekond'],\n m: ['eka mintan', 'ek minut'],\n mm: [number + ' mintamni', number + ' mintam'],\n h: ['eka voran', 'ek vor'],\n hh: [number + ' voramni', number + ' voram'],\n d: ['eka disan', 'ek dis'],\n dd: [number + ' disamni', number + ' dis'],\n M: ['eka mhoinean', 'ek mhoino'],\n MM: [number + ' mhoineamni', number + ' mhoine'],\n y: ['eka vorsan', 'ek voros'],\n yy: [number + ' vorsamni', number + ' vorsam'],\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n hooks.defineLocale('gom-latn', {\n months: {\n standalone:\n 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split(\n '_'\n ),\n format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split(\n '_'\n ),\n isFormat: /MMMM(\\s)+D[oD]?/,\n },\n monthsShort:\n 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: \"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var\".split('_'),\n weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [vazta]',\n LTS: 'A h:mm:ss [vazta]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [vazta]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]',\n llll: 'ddd, D MMM YYYY, A h:mm [vazta]',\n },\n calendar: {\n sameDay: '[Aiz] LT',\n nextDay: '[Faleam] LT',\n nextWeek: '[Fuddlo] dddd[,] LT',\n lastDay: '[Kal] LT',\n lastWeek: '[Fattlo] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s',\n past: '%s adim',\n s: processRelativeTime$6,\n ss: processRelativeTime$6,\n m: processRelativeTime$6,\n mm: processRelativeTime$6,\n h: processRelativeTime$6,\n hh: processRelativeTime$6,\n d: processRelativeTime$6,\n dd: processRelativeTime$6,\n M: processRelativeTime$6,\n MM: processRelativeTime$6,\n y: processRelativeTime$6,\n yy: processRelativeTime$6,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er)/,\n ordinal: function (number, period) {\n switch (period) {\n // the ordinal 'er' only applies to day of the month\n case 'D':\n return number + 'er';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week\n doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n },\n meridiemParse: /rati|sokallim|donparam|sanje/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'rati') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'sokallim') {\n return hour;\n } else if (meridiem === 'donparam') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'sanje') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'rati';\n } else if (hour < 12) {\n return 'sokallim';\n } else if (hour < 16) {\n return 'donparam';\n } else if (hour < 20) {\n return 'sanje';\n } else {\n return 'rati';\n }\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$8 = {\n 1: '૧',\n 2: '૨',\n 3: '૩',\n 4: '૪',\n 5: '૫',\n 6: '૬',\n 7: '૭',\n 8: '૮',\n 9: '૯',\n 0: '૦',\n },\n numberMap$7 = {\n '૧': '1',\n '૨': '2',\n '૩': '3',\n '૪': '4',\n '૫': '5',\n '૬': '6',\n '૭': '7',\n '૮': '8',\n '૯': '9',\n '૦': '0',\n };\n\n hooks.defineLocale('gu', {\n months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split(\n '_'\n ),\n monthsShort:\n 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split(\n '_'\n ),\n weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm વાગ્યે',\n LTS: 'A h:mm:ss વાગ્યે',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે',\n },\n calendar: {\n sameDay: '[આજ] LT',\n nextDay: '[કાલે] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ગઇકાલે] LT',\n lastWeek: '[પાછલા] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s મા',\n past: '%s પહેલા',\n s: 'અમુક પળો',\n ss: '%d સેકંડ',\n m: 'એક મિનિટ',\n mm: '%d મિનિટ',\n h: 'એક કલાક',\n hh: '%d કલાક',\n d: 'એક દિવસ',\n dd: '%d દિવસ',\n M: 'એક મહિનો',\n MM: '%d મહિનો',\n y: 'એક વર્ષ',\n yy: '%d વર્ષ',\n },\n preparse: function (string) {\n return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n return numberMap$7[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$8[match];\n });\n },\n // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'રાત') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'સવાર') {\n return hour;\n } else if (meridiem === 'બપોર') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'સાંજ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'રાત';\n } else if (hour < 10) {\n return 'સવાર';\n } else if (hour < 17) {\n return 'બપોર';\n } else if (hour < 20) {\n return 'સાંજ';\n } else {\n return 'રાત';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('he', {\n months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split(\n '_'\n ),\n monthsShort:\n 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\n weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [ב]MMMM YYYY',\n LLL: 'D [ב]MMMM YYYY HH:mm',\n LLLL: 'dddd, D [ב]MMMM YYYY HH:mm',\n l: 'D/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[היום ב־]LT',\n nextDay: '[מחר ב־]LT',\n nextWeek: 'dddd [בשעה] LT',\n lastDay: '[אתמול ב־]LT',\n lastWeek: '[ביום] dddd [האחרון בשעה] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'בעוד %s',\n past: 'לפני %s',\n s: 'מספר שניות',\n ss: '%d שניות',\n m: 'דקה',\n mm: '%d דקות',\n h: 'שעה',\n hh: function (number) {\n if (number === 2) {\n return 'שעתיים';\n }\n return number + ' שעות';\n },\n d: 'יום',\n dd: function (number) {\n if (number === 2) {\n return 'יומיים';\n }\n return number + ' ימים';\n },\n M: 'חודש',\n MM: function (number) {\n if (number === 2) {\n return 'חודשיים';\n }\n return number + ' חודשים';\n },\n y: 'שנה',\n yy: function (number) {\n if (number === 2) {\n return 'שנתיים';\n } else if (number % 10 === 0 && number !== 10) {\n return number + ' שנה';\n }\n return number + ' שנים';\n },\n },\n meridiemParse:\n /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n isPM: function (input) {\n return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 5) {\n return 'לפנות בוקר';\n } else if (hour < 10) {\n return 'בבוקר';\n } else if (hour < 12) {\n return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n } else if (hour < 18) {\n return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n } else {\n return 'בערב';\n }\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$9 = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap$8 = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n },\n monthsParse$7 = [\n /^जन/i,\n /^फ़र|फर/i,\n /^मार्च/i,\n /^अप्रै/i,\n /^मई/i,\n /^जून/i,\n /^जुल/i,\n /^अग/i,\n /^सितं|सित/i,\n /^अक्टू/i,\n /^नव|नवं/i,\n /^दिसं|दिस/i,\n ],\n shortMonthsParse = [\n /^जन/i,\n /^फ़र/i,\n /^मार्च/i,\n /^अप्रै/i,\n /^मई/i,\n /^जून/i,\n /^जुल/i,\n /^अग/i,\n /^सित/i,\n /^अक्टू/i,\n /^नव/i,\n /^दिस/i,\n ];\n\n hooks.defineLocale('hi', {\n months: {\n format: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split(\n '_'\n ),\n standalone:\n 'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split(\n '_'\n ),\n },\n monthsShort:\n 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat: {\n LT: 'A h:mm बजे',\n LTS: 'A h:mm:ss बजे',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm बजे',\n LLLL: 'dddd, D MMMM YYYY, A h:mm बजे',\n },\n\n monthsParse: monthsParse$7,\n longMonthsParse: monthsParse$7,\n shortMonthsParse: shortMonthsParse,\n\n monthsRegex:\n /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n monthsShortRegex:\n /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n monthsStrictRegex:\n /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i,\n\n monthsShortStrictRegex:\n /^(जन\\.?|फ़र\\.?|मार्च?|अप्रै\\.?|मई?|जून?|जुल\\.?|अग\\.?|सित\\.?|अक्टू\\.?|नव\\.?|दिस\\.?)/i,\n\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[कल] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[कल] LT',\n lastWeek: '[पिछले] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s में',\n past: '%s पहले',\n s: 'कुछ ही क्षण',\n ss: '%d सेकंड',\n m: 'एक मिनट',\n mm: '%d मिनट',\n h: 'एक घंटा',\n hh: '%d घंटे',\n d: 'एक दिन',\n dd: '%d दिन',\n M: 'एक महीने',\n MM: '%d महीने',\n y: 'एक वर्ष',\n yy: '%d वर्ष',\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap$8[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$9[match];\n });\n },\n // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सुबह') {\n return hour;\n } else if (meridiem === 'दोपहर') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'शाम') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात';\n } else if (hour < 10) {\n return 'सुबह';\n } else if (hour < 17) {\n return 'दोपहर';\n } else if (hour < 20) {\n return 'शाम';\n } else {\n return 'रात';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function translate$3(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n hooks.defineLocale('hr', {\n months: {\n format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split(\n '_'\n ),\n standalone:\n 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split(\n '_'\n ),\n },\n monthsShort:\n 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM YYYY',\n LLL: 'Do MMMM YYYY H:mm',\n LLLL: 'dddd, Do MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[prošlu] [nedjelju] [u] LT';\n case 3:\n return '[prošlu] [srijedu] [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate$3,\n m: translate$3,\n mm: translate$3,\n h: translate$3,\n hh: translate$3,\n d: 'dan',\n dd: translate$3,\n M: 'mjesec',\n MM: translate$3,\n y: 'godinu',\n yy: translate$3,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var weekEndings =\n 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\n function translate$4(number, withoutSuffix, key, isFuture) {\n var num = number;\n switch (key) {\n case 's':\n return isFuture || withoutSuffix\n ? 'néhány másodperc'\n : 'néhány másodperce';\n case 'ss':\n return num + (isFuture || withoutSuffix)\n ? ' másodperc'\n : ' másodperce';\n case 'm':\n return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'mm':\n return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'h':\n return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'hh':\n return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'd':\n return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'dd':\n return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'M':\n return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'MM':\n return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'y':\n return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n case 'yy':\n return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n }\n return '';\n }\n function week(isFuture) {\n return (\n (isFuture ? '' : '[múlt] ') +\n '[' +\n weekEndings[this.day()] +\n '] LT[-kor]'\n );\n }\n\n hooks.defineLocale('hu', {\n months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY. MMMM D.',\n LLL: 'YYYY. MMMM D. H:mm',\n LLLL: 'YYYY. MMMM D., dddd H:mm',\n },\n meridiemParse: /de|du/i,\n isPM: function (input) {\n return input.charAt(1).toLowerCase() === 'u';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower === true ? 'de' : 'DE';\n } else {\n return isLower === true ? 'du' : 'DU';\n }\n },\n calendar: {\n sameDay: '[ma] LT[-kor]',\n nextDay: '[holnap] LT[-kor]',\n nextWeek: function () {\n return week.call(this, true);\n },\n lastDay: '[tegnap] LT[-kor]',\n lastWeek: function () {\n return week.call(this, false);\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s múlva',\n past: '%s',\n s: translate$4,\n ss: translate$4,\n m: translate$4,\n mm: translate$4,\n h: translate$4,\n hh: translate$4,\n d: translate$4,\n dd: translate$4,\n M: translate$4,\n MM: translate$4,\n y: translate$4,\n yy: translate$4,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('hy-am', {\n months: {\n format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split(\n '_'\n ),\n standalone:\n 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split(\n '_'\n ),\n },\n monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n weekdays:\n 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split(\n '_'\n ),\n weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY թ.',\n LLL: 'D MMMM YYYY թ., HH:mm',\n LLLL: 'dddd, D MMMM YYYY թ., HH:mm',\n },\n calendar: {\n sameDay: '[այսօր] LT',\n nextDay: '[վաղը] LT',\n lastDay: '[երեկ] LT',\n nextWeek: function () {\n return 'dddd [օրը ժամը] LT';\n },\n lastWeek: function () {\n return '[անցած] dddd [օրը ժամը] LT';\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s հետո',\n past: '%s առաջ',\n s: 'մի քանի վայրկյան',\n ss: '%d վայրկյան',\n m: 'րոպե',\n mm: '%d րոպե',\n h: 'ժամ',\n hh: '%d ժամ',\n d: 'օր',\n dd: '%d օր',\n M: 'ամիս',\n MM: '%d ամիս',\n y: 'տարի',\n yy: '%d տարի',\n },\n meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n isPM: function (input) {\n return /^(ցերեկվա|երեկոյան)$/.test(input);\n },\n meridiem: function (hour) {\n if (hour < 4) {\n return 'գիշերվա';\n } else if (hour < 12) {\n return 'առավոտվա';\n } else if (hour < 17) {\n return 'ցերեկվա';\n } else {\n return 'երեկոյան';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'DDD':\n case 'w':\n case 'W':\n case 'DDDo':\n if (number === 1) {\n return number + '-ին';\n }\n return number + '-րդ';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('id', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|siang|sore|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'siang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sore' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'siang';\n } else if (hours < 19) {\n return 'sore';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Besok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kemarin pukul] LT',\n lastWeek: 'dddd [lalu pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lalu',\n s: 'beberapa detik',\n ss: '%d detik',\n m: 'semenit',\n mm: '%d menit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function plural$2(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n return true;\n }\n function translate$5(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture\n ? 'nokkrar sekúndur'\n : 'nokkrum sekúndum';\n case 'ss':\n if (plural$2(number)) {\n return (\n result +\n (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum')\n );\n }\n return result + 'sekúnda';\n case 'm':\n return withoutSuffix ? 'mínúta' : 'mínútu';\n case 'mm':\n if (plural$2(number)) {\n return (\n result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum')\n );\n } else if (withoutSuffix) {\n return result + 'mínúta';\n }\n return result + 'mínútu';\n case 'hh':\n if (plural$2(number)) {\n return (\n result +\n (withoutSuffix || isFuture\n ? 'klukkustundir'\n : 'klukkustundum')\n );\n }\n return result + 'klukkustund';\n case 'd':\n if (withoutSuffix) {\n return 'dagur';\n }\n return isFuture ? 'dag' : 'degi';\n case 'dd':\n if (plural$2(number)) {\n if (withoutSuffix) {\n return result + 'dagar';\n }\n return result + (isFuture ? 'daga' : 'dögum');\n } else if (withoutSuffix) {\n return result + 'dagur';\n }\n return result + (isFuture ? 'dag' : 'degi');\n case 'M':\n if (withoutSuffix) {\n return 'mánuður';\n }\n return isFuture ? 'mánuð' : 'mánuði';\n case 'MM':\n if (plural$2(number)) {\n if (withoutSuffix) {\n return result + 'mánuðir';\n }\n return result + (isFuture ? 'mánuði' : 'mánuðum');\n } else if (withoutSuffix) {\n return result + 'mánuður';\n }\n return result + (isFuture ? 'mánuð' : 'mánuði');\n case 'y':\n return withoutSuffix || isFuture ? 'ár' : 'ári';\n case 'yy':\n if (plural$2(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n }\n\n hooks.defineLocale('is', {\n months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n weekdays:\n 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split(\n '_'\n ),\n weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm',\n },\n calendar: {\n sameDay: '[í dag kl.] LT',\n nextDay: '[á morgun kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[í gær kl.] LT',\n lastWeek: '[síðasta] dddd [kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'eftir %s',\n past: 'fyrir %s síðan',\n s: translate$5,\n ss: translate$5,\n m: translate$5,\n mm: translate$5,\n h: 'klukkustund',\n hh: translate$5,\n d: translate$5,\n dd: translate$5,\n M: translate$5,\n MM: translate$5,\n y: translate$5,\n yy: translate$5,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('it-ch', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n '_'\n ),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n '_'\n ),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Oggi alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n lastDay: '[Ieri alle] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[la scorsa] dddd [alle] LT';\n default:\n return '[lo scorso] dddd [alle] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: function (s) {\n return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s;\n },\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: \"un'ora\",\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('it', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n '_'\n ),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n '_'\n ),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: function () {\n return (\n '[Oggi a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n nextDay: function () {\n return (\n '[Domani a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n nextWeek: function () {\n return (\n 'dddd [a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n lastDay: function () {\n return (\n '[Ieri a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return (\n '[La scorsa] dddd [a' +\n (this.hours() > 1\n ? 'lle '\n : this.hours() === 0\n ? ' '\n : \"ll'\") +\n ']LT'\n );\n default:\n return (\n '[Lo scorso] dddd [a' +\n (this.hours() > 1\n ? 'lle '\n : this.hours() === 0\n ? ' '\n : \"ll'\") +\n ']LT'\n );\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'tra %s',\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: \"un'ora\",\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n w: 'una settimana',\n ww: '%d settimane',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ja', {\n eras: [\n {\n since: '2019-05-01',\n offset: 1,\n name: '令和',\n narrow: '㋿',\n abbr: 'R',\n },\n {\n since: '1989-01-08',\n until: '2019-04-30',\n offset: 1,\n name: '平成',\n narrow: '㍻',\n abbr: 'H',\n },\n {\n since: '1926-12-25',\n until: '1989-01-07',\n offset: 1,\n name: '昭和',\n narrow: '㍼',\n abbr: 'S',\n },\n {\n since: '1912-07-30',\n until: '1926-12-24',\n offset: 1,\n name: '大正',\n narrow: '㍽',\n abbr: 'T',\n },\n {\n since: '1873-01-01',\n until: '1912-07-29',\n offset: 6,\n name: '明治',\n narrow: '㍾',\n abbr: 'M',\n },\n {\n since: '0001-01-01',\n until: '1873-12-31',\n offset: 1,\n name: '西暦',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: '紀元前',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n eraYearOrdinalRegex: /(元|\\d+)年/,\n eraYearOrdinalParse: function (input, match) {\n return match[1] === '元' ? 1 : parseInt(match[1] || input, 10);\n },\n months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n weekdaysShort: '日_月_火_水_木_金_土'.split('_'),\n weekdaysMin: '日_月_火_水_木_金_土'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日 dddd HH:mm',\n l: 'YYYY/MM/DD',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日(ddd) HH:mm',\n },\n meridiemParse: /午前|午後/i,\n isPM: function (input) {\n return input === '午後';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return '午前';\n } else {\n return '午後';\n }\n },\n calendar: {\n sameDay: '[今日] LT',\n nextDay: '[明日] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n return '[来週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n lastDay: '[昨日] LT',\n lastWeek: function (now) {\n if (this.week() !== now.week()) {\n return '[先週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}日/,\n ordinal: function (number, period) {\n switch (period) {\n case 'y':\n return number === 1 ? '元年' : number + '年';\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '数秒',\n ss: '%d秒',\n m: '1分',\n mm: '%d分',\n h: '1時間',\n hh: '%d時間',\n d: '1日',\n dd: '%d日',\n M: '1ヶ月',\n MM: '%dヶ月',\n y: '1年',\n yy: '%d年',\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('jv', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /enjing|siyang|sonten|ndalu/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'enjing') {\n return hour;\n } else if (meridiem === 'siyang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'enjing';\n } else if (hours < 15) {\n return 'siyang';\n } else if (hours < 19) {\n return 'sonten';\n } else {\n return 'ndalu';\n }\n },\n calendar: {\n sameDay: '[Dinten puniko pukul] LT',\n nextDay: '[Mbenjang pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kala wingi pukul] LT',\n lastWeek: 'dddd [kepengker pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'wonten ing %s',\n past: '%s ingkang kepengker',\n s: 'sawetawis detik',\n ss: '%d detik',\n m: 'setunggal menit',\n mm: '%d menit',\n h: 'setunggal jam',\n hh: '%d jam',\n d: 'sedinten',\n dd: '%d dinten',\n M: 'sewulan',\n MM: '%d wulan',\n y: 'setaun',\n yy: '%d taun',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ka', {\n months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split(\n '_'\n ),\n monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays: {\n standalone:\n 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split(\n '_'\n ),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split(\n '_'\n ),\n isFormat: /(წინა|შემდეგ)/,\n },\n weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[დღეს] LT[-ზე]',\n nextDay: '[ხვალ] LT[-ზე]',\n lastDay: '[გუშინ] LT[-ზე]',\n nextWeek: '[შემდეგ] dddd LT[-ზე]',\n lastWeek: '[წინა] dddd LT-ზე',\n sameElse: 'L',\n },\n relativeTime: {\n future: function (s) {\n return s.replace(\n /(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/,\n function ($0, $1, $2) {\n return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში';\n }\n );\n },\n past: function (s) {\n if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) {\n return s.replace(/(ი|ე)$/, 'ის წინ');\n }\n if (/წელი/.test(s)) {\n return s.replace(/წელი$/, 'წლის წინ');\n }\n return s;\n },\n s: 'რამდენიმე წამი',\n ss: '%d წამი',\n m: 'წუთი',\n mm: '%d წუთი',\n h: 'საათი',\n hh: '%d საათი',\n d: 'დღე',\n dd: '%d დღე',\n M: 'თვე',\n MM: '%d თვე',\n y: 'წელი',\n yy: '%d წელი',\n },\n dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n ordinal: function (number) {\n if (number === 0) {\n return number;\n }\n if (number === 1) {\n return number + '-ლი';\n }\n if (\n number < 20 ||\n (number <= 100 && number % 20 === 0) ||\n number % 100 === 0\n ) {\n return 'მე-' + number;\n }\n return number + '-ე';\n },\n week: {\n dow: 1,\n doy: 7,\n },\n });\n\n //! moment.js locale configuration\n\n var suffixes$1 = {\n 0: '-ші',\n 1: '-ші',\n 2: '-ші',\n 3: '-ші',\n 4: '-ші',\n 5: '-ші',\n 6: '-шы',\n 7: '-ші',\n 8: '-ші',\n 9: '-шы',\n 10: '-шы',\n 20: '-шы',\n 30: '-шы',\n 40: '-шы',\n 50: '-ші',\n 60: '-шы',\n 70: '-ші',\n 80: '-ші',\n 90: '-шы',\n 100: '-ші',\n };\n\n hooks.defineLocale('kk', {\n months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split(\n '_'\n ),\n monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split(\n '_'\n ),\n weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Бүгін сағат] LT',\n nextDay: '[Ертең сағат] LT',\n nextWeek: 'dddd [сағат] LT',\n lastDay: '[Кеше сағат] LT',\n lastWeek: '[Өткен аптаның] dddd [сағат] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ішінде',\n past: '%s бұрын',\n s: 'бірнеше секунд',\n ss: '%d секунд',\n m: 'бір минут',\n mm: '%d минут',\n h: 'бір сағат',\n hh: '%d сағат',\n d: 'бір күн',\n dd: '%d күн',\n M: 'бір ай',\n MM: '%d ай',\n y: 'бір жыл',\n yy: '%d жыл',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes$1[number] || suffixes$1[a] || suffixes$1[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$a = {\n 1: '១',\n 2: '២',\n 3: '៣',\n 4: '៤',\n 5: '៥',\n 6: '៦',\n 7: '៧',\n 8: '៨',\n 9: '៩',\n 0: '០',\n },\n numberMap$9 = {\n '១': '1',\n '២': '2',\n '៣': '3',\n '៤': '4',\n '៥': '5',\n '៦': '6',\n '៧': '7',\n '៨': '8',\n '៩': '9',\n '០': '0',\n };\n\n hooks.defineLocale('km', {\n months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n monthsShort:\n 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /ព្រឹក|ល្ងាច/,\n isPM: function (input) {\n return input === 'ល្ងាច';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ព្រឹក';\n } else {\n return 'ល្ងាច';\n }\n },\n calendar: {\n sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n nextDay: '[ស្អែក ម៉ោង] LT',\n nextWeek: 'dddd [ម៉ោង] LT',\n lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sទៀត',\n past: '%sមុន',\n s: 'ប៉ុន្មានវិនាទី',\n ss: '%d វិនាទី',\n m: 'មួយនាទី',\n mm: '%d នាទី',\n h: 'មួយម៉ោង',\n hh: '%d ម៉ោង',\n d: 'មួយថ្ងៃ',\n dd: '%d ថ្ងៃ',\n M: 'មួយខែ',\n MM: '%d ខែ',\n y: 'មួយឆ្នាំ',\n yy: '%d ឆ្នាំ',\n },\n dayOfMonthOrdinalParse: /ទី\\d{1,2}/,\n ordinal: 'ទី%d',\n preparse: function (string) {\n return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n return numberMap$9[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$a[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$b = {\n 1: '೧',\n 2: '೨',\n 3: '೩',\n 4: '೪',\n 5: '೫',\n 6: '೬',\n 7: '೭',\n 8: '೮',\n 9: '೯',\n 0: '೦',\n },\n numberMap$a = {\n '೧': '1',\n '೨': '2',\n '೩': '3',\n '೪': '4',\n '೫': '5',\n '೬': '6',\n '೭': '7',\n '೮': '8',\n '೯': '9',\n '೦': '0',\n };\n\n hooks.defineLocale('kn', {\n months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split(\n '_'\n ),\n monthsShort:\n 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split(\n '_'\n ),\n weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[ಇಂದು] LT',\n nextDay: '[ನಾಳೆ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ನಿನ್ನೆ] LT',\n lastWeek: '[ಕೊನೆಯ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ನಂತರ',\n past: '%s ಹಿಂದೆ',\n s: 'ಕೆಲವು ಕ್ಷಣಗಳು',\n ss: '%d ಸೆಕೆಂಡುಗಳು',\n m: 'ಒಂದು ನಿಮಿಷ',\n mm: '%d ನಿಮಿಷ',\n h: 'ಒಂದು ಗಂಟೆ',\n hh: '%d ಗಂಟೆ',\n d: 'ಒಂದು ದಿನ',\n dd: '%d ದಿನ',\n M: 'ಒಂದು ತಿಂಗಳು',\n MM: '%d ತಿಂಗಳು',\n y: 'ಒಂದು ವರ್ಷ',\n yy: '%d ವರ್ಷ',\n },\n preparse: function (string) {\n return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n return numberMap$a[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$b[match];\n });\n },\n meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ರಾತ್ರಿ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n return hour;\n } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ಸಂಜೆ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ರಾತ್ರಿ';\n } else if (hour < 10) {\n return 'ಬೆಳಿಗ್ಗೆ';\n } else if (hour < 17) {\n return 'ಮಧ್ಯಾಹ್ನ';\n } else if (hour < 20) {\n return 'ಸಂಜೆ';\n } else {\n return 'ರಾತ್ರಿ';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n ordinal: function (number) {\n return number + 'ನೇ';\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ko', {\n months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split(\n '_'\n ),\n weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n weekdaysShort: '일_월_화_수_목_금_토'.split('_'),\n weekdaysMin: '일_월_화_수_목_금_토'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY년 MMMM D일',\n LLL: 'YYYY년 MMMM D일 A h:mm',\n LLLL: 'YYYY년 MMMM D일 dddd A h:mm',\n l: 'YYYY.MM.DD.',\n ll: 'YYYY년 MMMM D일',\n lll: 'YYYY년 MMMM D일 A h:mm',\n llll: 'YYYY년 MMMM D일 dddd A h:mm',\n },\n calendar: {\n sameDay: '오늘 LT',\n nextDay: '내일 LT',\n nextWeek: 'dddd LT',\n lastDay: '어제 LT',\n lastWeek: '지난주 dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s 후',\n past: '%s 전',\n s: '몇 초',\n ss: '%d초',\n m: '1분',\n mm: '%d분',\n h: '한 시간',\n hh: '%d시간',\n d: '하루',\n dd: '%d일',\n M: '한 달',\n MM: '%d달',\n y: '일 년',\n yy: '%d년',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(일|월|주)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '일';\n case 'M':\n return number + '월';\n case 'w':\n case 'W':\n return number + '주';\n default:\n return number;\n }\n },\n meridiemParse: /오전|오후/,\n isPM: function (token) {\n return token === '오후';\n },\n meridiem: function (hour, minute, isUpper) {\n return hour < 12 ? '오전' : '오후';\n },\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$7(num, withoutSuffix, key, isFuture) {\n var format = {\n s: ['çend sanîye', 'çend sanîyeyan'],\n ss: [num + ' sanîye', num + ' sanîyeyan'],\n m: ['deqîqeyek', 'deqîqeyekê'],\n mm: [num + ' deqîqe', num + ' deqîqeyan'],\n h: ['saetek', 'saetekê'],\n hh: [num + ' saet', num + ' saetan'],\n d: ['rojek', 'rojekê'],\n dd: [num + ' roj', num + ' rojan'],\n w: ['hefteyek', 'hefteyekê'],\n ww: [num + ' hefte', num + ' hefteyan'],\n M: ['mehek', 'mehekê'],\n MM: [num + ' meh', num + ' mehan'],\n y: ['salek', 'salekê'],\n yy: [num + ' sal', num + ' salan'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n // function obliqueNumSuffix(num) {\n // if(num.includes(':'))\n // num = parseInt(num.split(':')[0]);\n // else\n // num = parseInt(num);\n // return num == 0 || num % 10 == 1 ? 'ê'\n // : (num > 10 && num % 10 == 0 ? 'î' : 'an');\n // }\n function ezafeNumSuffix(num) {\n num = '' + num;\n var l = num.substring(num.length - 1),\n ll = num.length > 1 ? num.substring(num.length - 2) : '';\n if (\n !(ll == 12 || ll == 13) &&\n (l == '2' || l == '3' || ll == '50' || l == '70' || l == '80')\n )\n return 'yê';\n return 'ê';\n }\n\n hooks.defineLocale('ku-kmr', {\n // According to the spelling rules defined by the work group of Weqfa Mezopotamyayê (Mesopotamia Foundation)\n // this should be: 'Kanûna Paşîn_Sibat_Adar_Nîsan_Gulan_Hezîran_Tîrmeh_Tebax_Îlon_Çirîya Pêşîn_Çirîya Paşîn_Kanûna Pêşîn'\n // But the names below are more well known and handy\n months: 'Rêbendan_Sibat_Adar_Nîsan_Gulan_Hezîran_Tîrmeh_Tebax_Îlon_Cotmeh_Mijdar_Berfanbar'.split(\n '_'\n ),\n monthsShort: 'Rêb_Sib_Ada_Nîs_Gul_Hez_Tîr_Teb_Îlo_Cot_Mij_Ber'.split('_'),\n monthsParseExact: true,\n weekdays: 'Yekşem_Duşem_Sêşem_Çarşem_Pêncşem_În_Şemî'.split('_'),\n weekdaysShort: 'Yek_Du_Sê_Çar_Pên_În_Şem'.split('_'),\n weekdaysMin: 'Ye_Du_Sê_Ça_Pê_În_Şe'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'bn' : 'BN';\n } else {\n return isLower ? 'pn' : 'PN';\n }\n },\n meridiemParse: /bn|BN|pn|PN/,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM[a] YYYY[an]',\n LLL: 'Do MMMM[a] YYYY[an] HH:mm',\n LLLL: 'dddd, Do MMMM[a] YYYY[an] HH:mm',\n ll: 'Do MMM[.] YYYY[an]',\n lll: 'Do MMM[.] YYYY[an] HH:mm',\n llll: 'ddd[.], Do MMM[.] YYYY[an] HH:mm',\n },\n calendar: {\n sameDay: '[Îro di saet] LT [de]',\n nextDay: '[Sibê di saet] LT [de]',\n nextWeek: 'dddd [di saet] LT [de]',\n lastDay: '[Duh di saet] LT [de]',\n lastWeek: 'dddd[a borî di saet] LT [de]',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'di %s de',\n past: 'berî %s',\n s: processRelativeTime$7,\n ss: processRelativeTime$7,\n m: processRelativeTime$7,\n mm: processRelativeTime$7,\n h: processRelativeTime$7,\n hh: processRelativeTime$7,\n d: processRelativeTime$7,\n dd: processRelativeTime$7,\n w: processRelativeTime$7,\n ww: processRelativeTime$7,\n M: processRelativeTime$7,\n MM: processRelativeTime$7,\n y: processRelativeTime$7,\n yy: processRelativeTime$7,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(?:yê|ê|\\.)/,\n ordinal: function (num, period) {\n var p = period.toLowerCase();\n if (p.includes('w') || p.includes('m')) return num + '.';\n\n return num + ezafeNumSuffix(num);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$c = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap$b = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n },\n months$8 = [\n 'کانونی دووەم',\n 'شوبات',\n 'ئازار',\n 'نیسان',\n 'ئایار',\n 'حوزەیران',\n 'تەمموز',\n 'ئاب',\n 'ئەیلوول',\n 'تشرینی یەكەم',\n 'تشرینی دووەم',\n 'كانونی یەکەم',\n ];\n\n hooks.defineLocale('ku', {\n months: months$8,\n monthsShort: months$8,\n weekdays:\n 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split(\n '_'\n ),\n weekdaysShort:\n 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split('_'),\n weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /ئێواره‌|به‌یانی/,\n isPM: function (input) {\n return /ئێواره‌/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'به‌یانی';\n } else {\n return 'ئێواره‌';\n }\n },\n calendar: {\n sameDay: '[ئه‌مرۆ كاتژمێر] LT',\n nextDay: '[به‌یانی كاتژمێر] LT',\n nextWeek: 'dddd [كاتژمێر] LT',\n lastDay: '[دوێنێ كاتژمێر] LT',\n lastWeek: 'dddd [كاتژمێر] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'له‌ %s',\n past: '%s',\n s: 'چه‌ند چركه‌یه‌ك',\n ss: 'چركه‌ %d',\n m: 'یه‌ك خوله‌ك',\n mm: '%d خوله‌ك',\n h: 'یه‌ك كاتژمێر',\n hh: '%d كاتژمێر',\n d: 'یه‌ك ڕۆژ',\n dd: '%d ڕۆژ',\n M: 'یه‌ك مانگ',\n MM: '%d مانگ',\n y: 'یه‌ك ساڵ',\n yy: '%d ساڵ',\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap$b[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap$c[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var suffixes$2 = {\n 0: '-чү',\n 1: '-чи',\n 2: '-чи',\n 3: '-чү',\n 4: '-чү',\n 5: '-чи',\n 6: '-чы',\n 7: '-чи',\n 8: '-чи',\n 9: '-чу',\n 10: '-чу',\n 20: '-чы',\n 30: '-чу',\n 40: '-чы',\n 50: '-чү',\n 60: '-чы',\n 70: '-чи',\n 80: '-чи',\n 90: '-чу',\n 100: '-чү',\n };\n\n hooks.defineLocale('ky', {\n months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n '_'\n ),\n monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split(\n '_'\n ),\n weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split(\n '_'\n ),\n weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Бүгүн саат] LT',\n nextDay: '[Эртең саат] LT',\n nextWeek: 'dddd [саат] LT',\n lastDay: '[Кечээ саат] LT',\n lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ичинде',\n past: '%s мурун',\n s: 'бирнече секунд',\n ss: '%d секунд',\n m: 'бир мүнөт',\n mm: '%d мүнөт',\n h: 'бир саат',\n hh: '%d саат',\n d: 'бир күн',\n dd: '%d күн',\n M: 'бир ай',\n MM: '%d ай',\n y: 'бир жыл',\n yy: '%d жыл',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes$2[number] || suffixes$2[a] || suffixes$2[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$8(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eng Minutt', 'enger Minutt'],\n h: ['eng Stonn', 'enger Stonn'],\n d: ['een Dag', 'engem Dag'],\n M: ['ee Mount', 'engem Mount'],\n y: ['ee Joer', 'engem Joer'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n function processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n return 'an ' + string;\n }\n function processPastTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'viru ' + string;\n }\n return 'virun ' + string;\n }\n /**\n * Returns true if the word before the given number loses the '-n' ending.\n * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n *\n * @param number {integer}\n * @returns {boolean}\n */\n function eifelerRegelAppliesToNumber(number) {\n number = parseInt(number, 10);\n if (isNaN(number)) {\n return false;\n }\n if (number < 0) {\n // Negative Number --> always true\n return true;\n } else if (number < 10) {\n // Only 1 digit\n if (4 <= number && number <= 7) {\n return true;\n }\n return false;\n } else if (number < 100) {\n // 2 digits\n var lastDigit = number % 10,\n firstDigit = number / 10;\n if (lastDigit === 0) {\n return eifelerRegelAppliesToNumber(firstDigit);\n }\n return eifelerRegelAppliesToNumber(lastDigit);\n } else if (number < 10000) {\n // 3 or 4 digits --> recursively check first digit\n while (number >= 10) {\n number = number / 10;\n }\n return eifelerRegelAppliesToNumber(number);\n } else {\n // Anything larger than 4 digits: recursively check first n-3 digits\n number = number / 1000;\n return eifelerRegelAppliesToNumber(number);\n }\n }\n\n hooks.defineLocale('lb', {\n months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split(\n '_'\n ),\n weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm [Auer]',\n LTS: 'H:mm:ss [Auer]',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm [Auer]',\n LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]',\n },\n calendar: {\n sameDay: '[Haut um] LT',\n sameElse: 'L',\n nextDay: '[Muer um] LT',\n nextWeek: 'dddd [um] LT',\n lastDay: '[Gëschter um] LT',\n lastWeek: function () {\n // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n switch (this.day()) {\n case 2:\n case 4:\n return '[Leschten] dddd [um] LT';\n default:\n return '[Leschte] dddd [um] LT';\n }\n },\n },\n relativeTime: {\n future: processFutureTime,\n past: processPastTime,\n s: 'e puer Sekonnen',\n ss: '%d Sekonnen',\n m: processRelativeTime$8,\n mm: '%d Minutten',\n h: processRelativeTime$8,\n hh: '%d Stonnen',\n d: processRelativeTime$8,\n dd: '%d Deeg',\n M: processRelativeTime$8,\n MM: '%d Méint',\n y: processRelativeTime$8,\n yy: '%d Joer',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('lo', {\n months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n '_'\n ),\n monthsShort:\n 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n '_'\n ),\n weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'ວັນdddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n isPM: function (input) {\n return input === 'ຕອນແລງ';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ຕອນເຊົ້າ';\n } else {\n return 'ຕອນແລງ';\n }\n },\n calendar: {\n sameDay: '[ມື້ນີ້ເວລາ] LT',\n nextDay: '[ມື້ອື່ນເວລາ] LT',\n nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT',\n lastDay: '[ມື້ວານນີ້ເວລາ] LT',\n lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ອີກ %s',\n past: '%sຜ່ານມາ',\n s: 'ບໍ່ເທົ່າໃດວິນາທີ',\n ss: '%d ວິນາທີ',\n m: '1 ນາທີ',\n mm: '%d ນາທີ',\n h: '1 ຊົ່ວໂມງ',\n hh: '%d ຊົ່ວໂມງ',\n d: '1 ມື້',\n dd: '%d ມື້',\n M: '1 ເດືອນ',\n MM: '%d ເດືອນ',\n y: '1 ປີ',\n yy: '%d ປີ',\n },\n dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n ordinal: function (number) {\n return 'ທີ່' + number;\n },\n });\n\n //! moment.js locale configuration\n\n var units = {\n ss: 'sekundė_sekundžių_sekundes',\n m: 'minutė_minutės_minutę',\n mm: 'minutės_minučių_minutes',\n h: 'valanda_valandos_valandą',\n hh: 'valandos_valandų_valandas',\n d: 'diena_dienos_dieną',\n dd: 'dienos_dienų_dienas',\n M: 'mėnuo_mėnesio_mėnesį',\n MM: 'mėnesiai_mėnesių_mėnesius',\n y: 'metai_metų_metus',\n yy: 'metai_metų_metus',\n };\n function translateSeconds(number, withoutSuffix, key, isFuture) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n }\n function translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix\n ? forms(key)[0]\n : isFuture\n ? forms(key)[1]\n : forms(key)[2];\n }\n function special(number) {\n return number % 10 === 0 || (number > 10 && number < 20);\n }\n function forms(key) {\n return units[key].split('_');\n }\n function translate$6(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n if (number === 1) {\n return (\n result + translateSingular(number, withoutSuffix, key[0], isFuture)\n );\n } else if (withoutSuffix) {\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n }\n }\n }\n hooks.defineLocale('lt', {\n months: {\n format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split(\n '_'\n ),\n standalone:\n 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split(\n '_'\n ),\n isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/,\n },\n monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n weekdays: {\n format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split(\n '_'\n ),\n standalone:\n 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split(\n '_'\n ),\n isFormat: /dddd HH:mm/,\n },\n weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY [m.] MMMM D [d.]',\n LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n l: 'YYYY-MM-DD',\n ll: 'YYYY [m.] MMMM D [d.]',\n lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]',\n },\n calendar: {\n sameDay: '[Šiandien] LT',\n nextDay: '[Rytoj] LT',\n nextWeek: 'dddd LT',\n lastDay: '[Vakar] LT',\n lastWeek: '[Praėjusį] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'po %s',\n past: 'prieš %s',\n s: translateSeconds,\n ss: translate$6,\n m: translateSingular,\n mm: translate$6,\n h: translateSingular,\n hh: translate$6,\n d: translateSingular,\n dd: translate$6,\n M: translateSingular,\n MM: translate$6,\n y: translateSingular,\n yy: translate$6,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n ordinal: function (number) {\n return number + '-oji';\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var units$1 = {\n ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n m: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n h: 'stundas_stundām_stunda_stundas'.split('_'),\n hh: 'stundas_stundām_stunda_stundas'.split('_'),\n d: 'dienas_dienām_diena_dienas'.split('_'),\n dd: 'dienas_dienām_diena_dienas'.split('_'),\n M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n y: 'gada_gadiem_gads_gadi'.split('_'),\n yy: 'gada_gadiem_gads_gadi'.split('_'),\n };\n /**\n * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n */\n function format$1(forms, number, withoutSuffix) {\n if (withoutSuffix) {\n // E.g. \"21 minūte\", \"3 minūtes\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n } else {\n // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n }\n }\n function relativeTimeWithPlural$1(number, withoutSuffix, key) {\n return number + ' ' + format$1(units$1[key], number, withoutSuffix);\n }\n function relativeTimeWithSingular(number, withoutSuffix, key) {\n return format$1(units$1[key], number, withoutSuffix);\n }\n function relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n }\n\n hooks.defineLocale('lv', {\n months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n weekdays:\n 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split(\n '_'\n ),\n weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY.',\n LL: 'YYYY. [gada] D. MMMM',\n LLL: 'YYYY. [gada] D. MMMM, HH:mm',\n LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm',\n },\n calendar: {\n sameDay: '[Šodien pulksten] LT',\n nextDay: '[Rīt pulksten] LT',\n nextWeek: 'dddd [pulksten] LT',\n lastDay: '[Vakar pulksten] LT',\n lastWeek: '[Pagājušā] dddd [pulksten] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'pēc %s',\n past: 'pirms %s',\n s: relativeSeconds,\n ss: relativeTimeWithPlural$1,\n m: relativeTimeWithSingular,\n mm: relativeTimeWithPlural$1,\n h: relativeTimeWithSingular,\n hh: relativeTimeWithPlural$1,\n d: relativeTimeWithSingular,\n dd: relativeTimeWithPlural$1,\n M: relativeTimeWithSingular,\n MM: relativeTimeWithPlural$1,\n y: relativeTimeWithSingular,\n yy: relativeTimeWithPlural$1,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['sekund', 'sekunda', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mjesec', 'mjeseca', 'mjeseci'],\n yy: ['godina', 'godine', 'godina'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1\n ? wordKey[0]\n : number >= 2 && number <= 4\n ? wordKey[1]\n : wordKey[2];\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return (\n number +\n ' ' +\n translator.correctGrammaticalCase(number, wordKey)\n );\n }\n },\n };\n\n hooks.defineLocale('me', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sjutra u] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[prošle] [nedjelje] [u] LT',\n '[prošlog] [ponedjeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srijede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'nekoliko sekundi',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: 'dan',\n dd: translator.translate,\n M: 'mjesec',\n MM: translator.translate,\n y: 'godinu',\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('mi', {\n months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split(\n '_'\n ),\n monthsShort:\n 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split(\n '_'\n ),\n monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [i] HH:mm',\n LLLL: 'dddd, D MMMM YYYY [i] HH:mm',\n },\n calendar: {\n sameDay: '[i teie mahana, i] LT',\n nextDay: '[apopo i] LT',\n nextWeek: 'dddd [i] LT',\n lastDay: '[inanahi i] LT',\n lastWeek: 'dddd [whakamutunga i] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'i roto i %s',\n past: '%s i mua',\n s: 'te hēkona ruarua',\n ss: '%d hēkona',\n m: 'he meneti',\n mm: '%d meneti',\n h: 'te haora',\n hh: '%d haora',\n d: 'he ra',\n dd: '%d ra',\n M: 'he marama',\n MM: '%d marama',\n y: 'he tau',\n yy: '%d tau',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('mk', {\n months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split(\n '_'\n ),\n monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split(\n '_'\n ),\n weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Денес во] LT',\n nextDay: '[Утре во] LT',\n nextWeek: '[Во] dddd [во] LT',\n lastDay: '[Вчера во] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Изминатата] dddd [во] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Изминатиот] dddd [во] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: 'пред %s',\n s: 'неколку секунди',\n ss: '%d секунди',\n m: 'една минута',\n mm: '%d минути',\n h: 'еден час',\n hh: '%d часа',\n d: 'еден ден',\n dd: '%d дена',\n M: 'еден месец',\n MM: '%d месеци',\n y: 'една година',\n yy: '%d години',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal: function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ml', {\n months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split(\n '_'\n ),\n monthsShort:\n 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split(\n '_'\n ),\n weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm -നു',\n LTS: 'A h:mm:ss -നു',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm -നു',\n LLLL: 'dddd, D MMMM YYYY, A h:mm -നു',\n },\n calendar: {\n sameDay: '[ഇന്ന്] LT',\n nextDay: '[നാളെ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ഇന്നലെ] LT',\n lastWeek: '[കഴിഞ്ഞ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s കഴിഞ്ഞ്',\n past: '%s മുൻപ്',\n s: 'അൽപ നിമിഷങ്ങൾ',\n ss: '%d സെക്കൻഡ്',\n m: 'ഒരു മിനിറ്റ്',\n mm: '%d മിനിറ്റ്',\n h: 'ഒരു മണിക്കൂർ',\n hh: '%d മണിക്കൂർ',\n d: 'ഒരു ദിവസം',\n dd: '%d ദിവസം',\n M: 'ഒരു മാസം',\n MM: '%d മാസം',\n y: 'ഒരു വർഷം',\n yy: '%d വർഷം',\n },\n meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'രാത്രി' && hour >= 4) ||\n meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n meridiem === 'വൈകുന്നേരം'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'രാത്രി';\n } else if (hour < 12) {\n return 'രാവിലെ';\n } else if (hour < 17) {\n return 'ഉച്ച കഴിഞ്ഞ്';\n } else if (hour < 20) {\n return 'വൈകുന്നേരം';\n } else {\n return 'രാത്രി';\n }\n },\n });\n\n //! moment.js locale configuration\n\n function translate$7(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 's':\n return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n case 'ss':\n return number + (withoutSuffix ? ' секунд' : ' секундын');\n case 'm':\n case 'mm':\n return number + (withoutSuffix ? ' минут' : ' минутын');\n case 'h':\n case 'hh':\n return number + (withoutSuffix ? ' цаг' : ' цагийн');\n case 'd':\n case 'dd':\n return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n case 'M':\n case 'MM':\n return number + (withoutSuffix ? ' сар' : ' сарын');\n case 'y':\n case 'yy':\n return number + (withoutSuffix ? ' жил' : ' жилийн');\n default:\n return number;\n }\n }\n\n hooks.defineLocale('mn', {\n months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split(\n '_'\n ),\n monthsShort:\n '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\n weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\n weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY оны MMMMын D',\n LLL: 'YYYY оны MMMMын D HH:mm',\n LLLL: 'dddd, YYYY оны MMMMын D HH:mm',\n },\n meridiemParse: /ҮӨ|ҮХ/i,\n isPM: function (input) {\n return input === 'ҮХ';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ҮӨ';\n } else {\n return 'ҮХ';\n }\n },\n calendar: {\n sameDay: '[Өнөөдөр] LT',\n nextDay: '[Маргааш] LT',\n nextWeek: '[Ирэх] dddd LT',\n lastDay: '[Өчигдөр] LT',\n lastWeek: '[Өнгөрсөн] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s дараа',\n past: '%s өмнө',\n s: translate$7,\n ss: translate$7,\n m: translate$7,\n mm: translate$7,\n h: translate$7,\n hh: translate$7,\n d: translate$7,\n dd: translate$7,\n M: translate$7,\n MM: translate$7,\n y: translate$7,\n yy: translate$7,\n },\n dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + ' өдөр';\n default:\n return number;\n }\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$d = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap$c = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n };\n\n function relativeTimeMr(number, withoutSuffix, string, isFuture) {\n var output = '';\n if (withoutSuffix) {\n switch (string) {\n case 's':\n output = 'काही सेकंद';\n break;\n case 'ss':\n output = '%d सेकंद';\n break;\n case 'm':\n output = 'एक मिनिट';\n break;\n case 'mm':\n output = '%d मिनिटे';\n break;\n case 'h':\n output = 'एक तास';\n break;\n case 'hh':\n output = '%d तास';\n break;\n case 'd':\n output = 'एक दिवस';\n break;\n case 'dd':\n output = '%d दिवस';\n break;\n case 'M':\n output = 'एक महिना';\n break;\n case 'MM':\n output = '%d महिने';\n break;\n case 'y':\n output = 'एक वर्ष';\n break;\n case 'yy':\n output = '%d वर्षे';\n break;\n }\n } else {\n switch (string) {\n case 's':\n output = 'काही सेकंदां';\n break;\n case 'ss':\n output = '%d सेकंदां';\n break;\n case 'm':\n output = 'एका मिनिटा';\n break;\n case 'mm':\n output = '%d मिनिटां';\n break;\n case 'h':\n output = 'एका तासा';\n break;\n case 'hh':\n output = '%d तासां';\n break;\n case 'd':\n output = 'एका दिवसा';\n break;\n case 'dd':\n output = '%d दिवसां';\n break;\n case 'M':\n output = 'एका महिन्या';\n break;\n case 'MM':\n output = '%d महिन्यां';\n break;\n case 'y':\n output = 'एका वर्षा';\n break;\n case 'yy':\n output = '%d वर्षां';\n break;\n }\n }\n return output.replace(/%d/i, number);\n }\n\n hooks.defineLocale('mr', {\n months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n '_'\n ),\n monthsShort:\n 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat: {\n LT: 'A h:mm वाजता',\n LTS: 'A h:mm:ss वाजता',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm वाजता',\n LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता',\n },\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[उद्या] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[काल] LT',\n lastWeek: '[मागील] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sमध्ये',\n past: '%sपूर्वी',\n s: relativeTimeMr,\n ss: relativeTimeMr,\n m: relativeTimeMr,\n mm: relativeTimeMr,\n h: relativeTimeMr,\n hh: relativeTimeMr,\n d: relativeTimeMr,\n dd: relativeTimeMr,\n M: relativeTimeMr,\n MM: relativeTimeMr,\n y: relativeTimeMr,\n yy: relativeTimeMr,\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap$c[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$d[match];\n });\n },\n meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'पहाटे' || meridiem === 'सकाळी') {\n return hour;\n } else if (\n meridiem === 'दुपारी' ||\n meridiem === 'सायंकाळी' ||\n meridiem === 'रात्री'\n ) {\n return hour >= 12 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour >= 0 && hour < 6) {\n return 'पहाटे';\n } else if (hour < 12) {\n return 'सकाळी';\n } else if (hour < 17) {\n return 'दुपारी';\n } else if (hour < 20) {\n return 'सायंकाळी';\n } else {\n return 'रात्री';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ms-my', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ms', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('mt', {\n months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split(\n '_'\n ),\n monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n weekdays:\n 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split(\n '_'\n ),\n weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Illum fil-]LT',\n nextDay: '[Għada fil-]LT',\n nextWeek: 'dddd [fil-]LT',\n lastDay: '[Il-bieraħ fil-]LT',\n lastWeek: 'dddd [li għadda] [fil-]LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'f’ %s',\n past: '%s ilu',\n s: 'ftit sekondi',\n ss: '%d sekondi',\n m: 'minuta',\n mm: '%d minuti',\n h: 'siegħa',\n hh: '%d siegħat',\n d: 'ġurnata',\n dd: '%d ġranet',\n M: 'xahar',\n MM: '%d xhur',\n y: 'sena',\n yy: '%d sni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$e = {\n 1: '၁',\n 2: '၂',\n 3: '၃',\n 4: '၄',\n 5: '၅',\n 6: '၆',\n 7: '၇',\n 8: '၈',\n 9: '၉',\n 0: '၀',\n },\n numberMap$d = {\n '၁': '1',\n '၂': '2',\n '၃': '3',\n '၄': '4',\n '၅': '5',\n '၆': '6',\n '၇': '7',\n '၈': '8',\n '၉': '9',\n '၀': '0',\n };\n\n hooks.defineLocale('my', {\n months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split(\n '_'\n ),\n monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split(\n '_'\n ),\n weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[ယနေ.] LT [မှာ]',\n nextDay: '[မနက်ဖြန်] LT [မှာ]',\n nextWeek: 'dddd LT [မှာ]',\n lastDay: '[မနေ.က] LT [မှာ]',\n lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'လာမည့် %s မှာ',\n past: 'လွန်ခဲ့သော %s က',\n s: 'စက္ကန်.အနည်းငယ်',\n ss: '%d စက္ကန့်',\n m: 'တစ်မိနစ်',\n mm: '%d မိနစ်',\n h: 'တစ်နာရီ',\n hh: '%d နာရီ',\n d: 'တစ်ရက်',\n dd: '%d ရက်',\n M: 'တစ်လ',\n MM: '%d လ',\n y: 'တစ်နှစ်',\n yy: '%d နှစ်',\n },\n preparse: function (string) {\n return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n return numberMap$d[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$e[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('nb', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact: true,\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[forrige] dddd [kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'noen sekunder',\n ss: '%d sekunder',\n m: 'ett minutt',\n mm: '%d minutter',\n h: 'én time',\n hh: '%d timer',\n d: 'én dag',\n dd: '%d dager',\n w: 'én uke',\n ww: '%d uker',\n M: 'én måned',\n MM: '%d måneder',\n y: 'ett år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$f = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap$e = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n };\n\n hooks.defineLocale('ne', {\n months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split(\n '_'\n ),\n monthsShort:\n 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split(\n '_'\n ),\n weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'Aको h:mm बजे',\n LTS: 'Aको h:mm:ss बजे',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, Aको h:mm बजे',\n LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे',\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap$e[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$f[match];\n });\n },\n meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राति') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'बिहान') {\n return hour;\n } else if (meridiem === 'दिउँसो') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'साँझ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 3) {\n return 'राति';\n } else if (hour < 12) {\n return 'बिहान';\n } else if (hour < 16) {\n return 'दिउँसो';\n } else if (hour < 20) {\n return 'साँझ';\n } else {\n return 'राति';\n }\n },\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[भोलि] LT',\n nextWeek: '[आउँदो] dddd[,] LT',\n lastDay: '[हिजो] LT',\n lastWeek: '[गएको] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sमा',\n past: '%s अगाडि',\n s: 'केही क्षण',\n ss: '%d सेकेण्ड',\n m: 'एक मिनेट',\n mm: '%d मिनेट',\n h: 'एक घण्टा',\n hh: '%d घण्टा',\n d: 'एक दिन',\n dd: '%d दिन',\n M: 'एक महिना',\n MM: '%d महिना',\n y: 'एक बर्ष',\n yy: '%d बर्ष',\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var monthsShortWithDots$1 =\n 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots$1 =\n 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n monthsParse$8 = [\n /^jan/i,\n /^feb/i,\n /^(maart|mrt\\.?)$/i,\n /^apr/i,\n /^mei$/i,\n /^jun[i.]?$/i,\n /^jul[i.]?$/i,\n /^aug/i,\n /^sep/i,\n /^okt/i,\n /^nov/i,\n /^dec/i,\n ],\n monthsRegex$8 =\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n hooks.defineLocale('nl-be', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots$1;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots$1[m.month()];\n } else {\n return monthsShortWithDots$1[m.month()];\n }\n },\n\n monthsRegex: monthsRegex$8,\n monthsShortRegex: monthsRegex$8,\n monthsStrictRegex:\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex:\n /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse: monthsParse$8,\n longMonthsParse: monthsParse$8,\n shortMonthsParse: monthsParse$8,\n\n weekdays:\n 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'over %s',\n past: '%s geleden',\n s: 'een paar seconden',\n ss: '%d seconden',\n m: 'één minuut',\n mm: '%d minuten',\n h: 'één uur',\n hh: '%d uur',\n d: 'één dag',\n dd: '%d dagen',\n M: 'één maand',\n MM: '%d maanden',\n y: 'één jaar',\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var monthsShortWithDots$2 =\n 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots$2 =\n 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n monthsParse$9 = [\n /^jan/i,\n /^feb/i,\n /^(maart|mrt\\.?)$/i,\n /^apr/i,\n /^mei$/i,\n /^jun[i.]?$/i,\n /^jul[i.]?$/i,\n /^aug/i,\n /^sep/i,\n /^okt/i,\n /^nov/i,\n /^dec/i,\n ],\n monthsRegex$9 =\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n hooks.defineLocale('nl', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots$2;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots$2[m.month()];\n } else {\n return monthsShortWithDots$2[m.month()];\n }\n },\n\n monthsRegex: monthsRegex$9,\n monthsShortRegex: monthsRegex$9,\n monthsStrictRegex:\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex:\n /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse: monthsParse$9,\n longMonthsParse: monthsParse$9,\n shortMonthsParse: monthsParse$9,\n\n weekdays:\n 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'over %s',\n past: '%s geleden',\n s: 'een paar seconden',\n ss: '%d seconden',\n m: 'één minuut',\n mm: '%d minuten',\n h: 'één uur',\n hh: '%d uur',\n d: 'één dag',\n dd: '%d dagen',\n w: 'één week',\n ww: '%d weken',\n M: 'één maand',\n MM: '%d maanden',\n y: 'één jaar',\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('nn', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact: true,\n weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'),\n weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[I dag klokka] LT',\n nextDay: '[I morgon klokka] LT',\n nextWeek: 'dddd [klokka] LT',\n lastDay: '[I går klokka] LT',\n lastWeek: '[Føregåande] dddd [klokka] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s sidan',\n s: 'nokre sekund',\n ss: '%d sekund',\n m: 'eit minutt',\n mm: '%d minutt',\n h: 'ein time',\n hh: '%d timar',\n d: 'ein dag',\n dd: '%d dagar',\n w: 'ei veke',\n ww: '%d veker',\n M: 'ein månad',\n MM: '%d månader',\n y: 'eit år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('oc-lnc', {\n months: {\n standalone:\n 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split(\n '_'\n ),\n format: \"de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre\".split(\n '_'\n ),\n isFormat: /D[oD]?(\\s)+MMMM/,\n },\n monthsShort:\n 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split(\n '_'\n ),\n weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a] H:mm',\n llll: 'ddd D MMM YYYY, H:mm',\n },\n calendar: {\n sameDay: '[uèi a] LT',\n nextDay: '[deman a] LT',\n nextWeek: 'dddd [a] LT',\n lastDay: '[ièr a] LT',\n lastWeek: 'dddd [passat a] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'unas segondas',\n ss: '%d segondas',\n m: 'una minuta',\n mm: '%d minutas',\n h: 'una ora',\n hh: '%d oras',\n d: 'un jorn',\n dd: '%d jorns',\n M: 'un mes',\n MM: '%d meses',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function (number, period) {\n var output =\n number === 1\n ? 'r'\n : number === 2\n ? 'n'\n : number === 3\n ? 'r'\n : number === 4\n ? 't'\n : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4,\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$g = {\n 1: '੧',\n 2: '੨',\n 3: '੩',\n 4: '੪',\n 5: '੫',\n 6: '੬',\n 7: '੭',\n 8: '੮',\n 9: '੯',\n 0: '੦',\n },\n numberMap$f = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0',\n };\n\n hooks.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.\n months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n '_'\n ),\n monthsShort:\n 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n '_'\n ),\n weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split(\n '_'\n ),\n weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm ਵਜੇ',\n LTS: 'A h:mm:ss ਵਜੇ',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm ਵਜੇ',\n LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ',\n },\n calendar: {\n sameDay: '[ਅਜ] LT',\n nextDay: '[ਕਲ] LT',\n nextWeek: '[ਅਗਲਾ] dddd, LT',\n lastDay: '[ਕਲ] LT',\n lastWeek: '[ਪਿਛਲੇ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ਵਿੱਚ',\n past: '%s ਪਿਛਲੇ',\n s: 'ਕੁਝ ਸਕਿੰਟ',\n ss: '%d ਸਕਿੰਟ',\n m: 'ਇਕ ਮਿੰਟ',\n mm: '%d ਮਿੰਟ',\n h: 'ਇੱਕ ਘੰਟਾ',\n hh: '%d ਘੰਟੇ',\n d: 'ਇੱਕ ਦਿਨ',\n dd: '%d ਦਿਨ',\n M: 'ਇੱਕ ਮਹੀਨਾ',\n MM: '%d ਮਹੀਨੇ',\n y: 'ਇੱਕ ਸਾਲ',\n yy: '%d ਸਾਲ',\n },\n preparse: function (string) {\n return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n return numberMap$f[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$g[match];\n });\n },\n // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ਰਾਤ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ਸਵੇਰ') {\n return hour;\n } else if (meridiem === 'ਦੁਪਹਿਰ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ਸ਼ਾਮ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ਰਾਤ';\n } else if (hour < 10) {\n return 'ਸਵੇਰ';\n } else if (hour < 17) {\n return 'ਦੁਪਹਿਰ';\n } else if (hour < 20) {\n return 'ਸ਼ਾਮ';\n } else {\n return 'ਰਾਤ';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var monthsNominative =\n 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split(\n '_'\n ),\n monthsSubjective =\n 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split(\n '_'\n ),\n monthsParse$a = [\n /^sty/i,\n /^lut/i,\n /^mar/i,\n /^kwi/i,\n /^maj/i,\n /^cze/i,\n /^lip/i,\n /^sie/i,\n /^wrz/i,\n /^paź/i,\n /^lis/i,\n /^gru/i,\n ];\n function plural$3(n) {\n return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1;\n }\n function translate$8(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n return result + (plural$3(number) ? 'sekundy' : 'sekund');\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n case 'mm':\n return result + (plural$3(number) ? 'minuty' : 'minut');\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n case 'hh':\n return result + (plural$3(number) ? 'godziny' : 'godzin');\n case 'ww':\n return result + (plural$3(number) ? 'tygodnie' : 'tygodni');\n case 'MM':\n return result + (plural$3(number) ? 'miesiące' : 'miesięcy');\n case 'yy':\n return result + (plural$3(number) ? 'lata' : 'lat');\n }\n }\n\n hooks.defineLocale('pl', {\n months: function (momentToFormat, format) {\n if (!momentToFormat) {\n return monthsNominative;\n } else if (/D MMMM/.test(format)) {\n return monthsSubjective[momentToFormat.month()];\n } else {\n return monthsNominative[momentToFormat.month()];\n }\n },\n monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n monthsParse: monthsParse$a,\n longMonthsParse: monthsParse$a,\n shortMonthsParse: monthsParse$a,\n weekdays:\n 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Dziś o] LT',\n nextDay: '[Jutro o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W niedzielę o] LT';\n\n case 2:\n return '[We wtorek o] LT';\n\n case 3:\n return '[W środę o] LT';\n\n case 6:\n return '[W sobotę o] LT';\n\n default:\n return '[W] dddd [o] LT';\n }\n },\n lastDay: '[Wczoraj o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W zeszłą niedzielę o] LT';\n case 3:\n return '[W zeszłą środę o] LT';\n case 6:\n return '[W zeszłą sobotę o] LT';\n default:\n return '[W zeszły] dddd [o] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: '%s temu',\n s: 'kilka sekund',\n ss: translate$8,\n m: translate$8,\n mm: translate$8,\n h: translate$8,\n hh: translate$8,\n d: '1 dzień',\n dd: '%d dni',\n w: 'tydzień',\n ww: translate$8,\n M: 'miesiąc',\n MM: translate$8,\n y: 'rok',\n yy: translate$8,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('pt-br', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n '_'\n ),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays:\n 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split(\n '_'\n ),\n weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'),\n weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm',\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return this.day() === 0 || this.day() === 6\n ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'poucos segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n invalidDate: 'Data inválida',\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('pt', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n '_'\n ),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays:\n 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split(\n '_'\n ),\n weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return this.day() === 0 || this.day() === 6\n ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n w: 'uma semana',\n ww: '%d semanas',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function relativeTimeWithPlural$2(number, withoutSuffix, key) {\n var format = {\n ss: 'secunde',\n mm: 'minute',\n hh: 'ore',\n dd: 'zile',\n ww: 'săptămâni',\n MM: 'luni',\n yy: 'ani',\n },\n separator = ' ';\n if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n separator = ' de ';\n }\n return number + separator + format[key];\n }\n\n hooks.defineLocale('ro', {\n months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split(\n '_'\n ),\n monthsShort:\n 'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[azi la] LT',\n nextDay: '[mâine la] LT',\n nextWeek: 'dddd [la] LT',\n lastDay: '[ieri la] LT',\n lastWeek: '[fosta] dddd [la] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'peste %s',\n past: '%s în urmă',\n s: 'câteva secunde',\n ss: relativeTimeWithPlural$2,\n m: 'un minut',\n mm: relativeTimeWithPlural$2,\n h: 'o oră',\n hh: relativeTimeWithPlural$2,\n d: 'o zi',\n dd: relativeTimeWithPlural$2,\n w: 'o săptămână',\n ww: relativeTimeWithPlural$2,\n M: 'o lună',\n MM: relativeTimeWithPlural$2,\n y: 'un an',\n yy: relativeTimeWithPlural$2,\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function plural$4(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural$3(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n hh: 'час_часа_часов',\n dd: 'день_дня_дней',\n ww: 'неделя_недели_недель',\n MM: 'месяц_месяца_месяцев',\n yy: 'год_года_лет',\n };\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n } else {\n return number + ' ' + plural$4(format[key], +number);\n }\n }\n var monthsParse$b = [\n /^янв/i,\n /^фев/i,\n /^мар/i,\n /^апр/i,\n /^ма[йя]/i,\n /^июн/i,\n /^июл/i,\n /^авг/i,\n /^сен/i,\n /^окт/i,\n /^ноя/i,\n /^дек/i,\n ];\n\n // http://new.gramota.ru/spravka/rules/139-prop : § 103\n // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n hooks.defineLocale('ru', {\n months: {\n format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split(\n '_'\n ),\n standalone:\n 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n '_'\n ),\n },\n monthsShort: {\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку?\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split(\n '_'\n ),\n standalone:\n 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split(\n '_'\n ),\n },\n weekdays: {\n standalone:\n 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split(\n '_'\n ),\n format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split(\n '_'\n ),\n isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/,\n },\n weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n monthsParse: monthsParse$b,\n longMonthsParse: monthsParse$b,\n shortMonthsParse: monthsParse$b,\n\n // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n monthsRegex:\n /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // копия предыдущего\n monthsShortRegex:\n /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // полные названия с падежами\n monthsStrictRegex:\n /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n // Выражение, которое соответствует только сокращённым формам\n monthsShortStrictRegex:\n /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., H:mm',\n LLLL: 'dddd, D MMMM YYYY г., H:mm',\n },\n calendar: {\n sameDay: '[Сегодня, в] LT',\n nextDay: '[Завтра, в] LT',\n lastDay: '[Вчера, в] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В следующее] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В следующий] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В следующую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n lastWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В прошлое] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В прошлый] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В прошлую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'через %s',\n past: '%s назад',\n s: 'несколько секунд',\n ss: relativeTimeWithPlural$3,\n m: relativeTimeWithPlural$3,\n mm: relativeTimeWithPlural$3,\n h: 'час',\n hh: relativeTimeWithPlural$3,\n d: 'день',\n dd: relativeTimeWithPlural$3,\n w: 'неделя',\n ww: relativeTimeWithPlural$3,\n M: 'месяц',\n MM: relativeTimeWithPlural$3,\n y: 'год',\n yy: relativeTimeWithPlural$3,\n },\n meridiemParse: /ночи|утра|дня|вечера/i,\n isPM: function (input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночи';\n } else if (hour < 12) {\n return 'утра';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечера';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n return number + '-й';\n case 'D':\n return number + '-го';\n case 'w':\n case 'W':\n return number + '-я';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var months$9 = [\n 'جنوري',\n 'فيبروري',\n 'مارچ',\n 'اپريل',\n 'مئي',\n 'جون',\n 'جولاءِ',\n 'آگسٽ',\n 'سيپٽمبر',\n 'آڪٽوبر',\n 'نومبر',\n 'ڊسمبر',\n ],\n days$1 = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر'];\n\n hooks.defineLocale('sd', {\n months: months$9,\n monthsShort: months$9,\n weekdays: days$1,\n weekdaysShort: days$1,\n weekdaysMin: days$1,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd، D MMMM YYYY HH:mm',\n },\n meridiemParse: /صبح|شام/,\n isPM: function (input) {\n return 'شام' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar: {\n sameDay: '[اڄ] LT',\n nextDay: '[سڀاڻي] LT',\n nextWeek: 'dddd [اڳين هفتي تي] LT',\n lastDay: '[ڪالهه] LT',\n lastWeek: '[گزريل هفتي] dddd [تي] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s پوء',\n past: '%s اڳ',\n s: 'چند سيڪنڊ',\n ss: '%d سيڪنڊ',\n m: 'هڪ منٽ',\n mm: '%d منٽ',\n h: 'هڪ ڪلاڪ',\n hh: '%d ڪلاڪ',\n d: 'هڪ ڏينهن',\n dd: '%d ڏينهن',\n M: 'هڪ مهينو',\n MM: '%d مهينا',\n y: 'هڪ سال',\n yy: '%d سال',\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('se', {\n months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split(\n '_'\n ),\n monthsShort:\n 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n weekdays:\n 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split(\n '_'\n ),\n weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n weekdaysMin: 's_v_m_g_d_b_L'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'MMMM D. [b.] YYYY',\n LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm',\n LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm',\n },\n calendar: {\n sameDay: '[otne ti] LT',\n nextDay: '[ihttin ti] LT',\n nextWeek: 'dddd [ti] LT',\n lastDay: '[ikte ti] LT',\n lastWeek: '[ovddit] dddd [ti] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s geažes',\n past: 'maŋit %s',\n s: 'moadde sekunddat',\n ss: '%d sekunddat',\n m: 'okta minuhta',\n mm: '%d minuhtat',\n h: 'okta diimmu',\n hh: '%d diimmut',\n d: 'okta beaivi',\n dd: '%d beaivvit',\n M: 'okta mánnu',\n MM: '%d mánut',\n y: 'okta jahki',\n yy: '%d jagit',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n /*jshint -W100*/\n hooks.defineLocale('si', {\n months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split(\n '_'\n ),\n monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split(\n '_'\n ),\n weekdays:\n 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split(\n '_'\n ),\n weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'a h:mm',\n LTS: 'a h:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY MMMM D',\n LLL: 'YYYY MMMM D, a h:mm',\n LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss',\n },\n calendar: {\n sameDay: '[අද] LT[ට]',\n nextDay: '[හෙට] LT[ට]',\n nextWeek: 'dddd LT[ට]',\n lastDay: '[ඊයේ] LT[ට]',\n lastWeek: '[පසුගිය] dddd LT[ට]',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sකින්',\n past: '%sකට පෙර',\n s: 'තත්පර කිහිපය',\n ss: 'තත්පර %d',\n m: 'මිනිත්තුව',\n mm: 'මිනිත්තු %d',\n h: 'පැය',\n hh: 'පැය %d',\n d: 'දිනය',\n dd: 'දින %d',\n M: 'මාසය',\n MM: 'මාස %d',\n y: 'වසර',\n yy: 'වසර %d',\n },\n dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n ordinal: function (number) {\n return number + ' වැනි';\n },\n meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n isPM: function (input) {\n return input === 'ප.ව.' || input === 'පස් වරු';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'ප.ව.' : 'පස් වරු';\n } else {\n return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n }\n },\n });\n\n //! moment.js locale configuration\n\n var months$a =\n 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split(\n '_'\n ),\n monthsShort$7 = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n function plural$5(n) {\n return n > 1 && n < 5;\n }\n function translate$9(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural$5(number) ? 'sekundy' : 'sekúnd');\n } else {\n return result + 'sekundami';\n }\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou';\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural$5(number) ? 'minúty' : 'minút');\n } else {\n return result + 'minútami';\n }\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural$5(number) ? 'hodiny' : 'hodín');\n } else {\n return result + 'hodinami';\n }\n case 'd': // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'deň' : 'dňom';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural$5(number) ? 'dni' : 'dní');\n } else {\n return result + 'dňami';\n }\n case 'M': // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural$5(number) ? 'mesiace' : 'mesiacov');\n } else {\n return result + 'mesiacmi';\n }\n case 'y': // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokom';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural$5(number) ? 'roky' : 'rokov');\n } else {\n return result + 'rokmi';\n }\n }\n }\n\n hooks.defineLocale('sk', {\n months: months$a,\n monthsShort: monthsShort$7,\n weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'),\n weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[dnes o] LT',\n nextDay: '[zajtra o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v nedeľu o] LT';\n case 1:\n case 2:\n return '[v] dddd [o] LT';\n case 3:\n return '[v stredu o] LT';\n case 4:\n return '[vo štvrtok o] LT';\n case 5:\n return '[v piatok o] LT';\n case 6:\n return '[v sobotu o] LT';\n }\n },\n lastDay: '[včera o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulú nedeľu o] LT';\n case 1:\n case 2:\n return '[minulý] dddd [o] LT';\n case 3:\n return '[minulú stredu o] LT';\n case 4:\n case 5:\n return '[minulý] dddd [o] LT';\n case 6:\n return '[minulú sobotu o] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'pred %s',\n s: translate$9,\n ss: translate$9,\n m: translate$9,\n mm: translate$9,\n h: translate$9,\n hh: translate$9,\n d: translate$9,\n dd: translate$9,\n M: translate$9,\n MM: translate$9,\n y: translate$9,\n yy: translate$9,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$9(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture\n ? 'nekaj sekund'\n : 'nekaj sekundami';\n case 'ss':\n if (number === 1) {\n result += withoutSuffix ? 'sekundo' : 'sekundi';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n } else {\n result += 'sekund';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'ena minuta' : 'eno minuto';\n case 'mm':\n if (number === 1) {\n result += withoutSuffix ? 'minuta' : 'minuto';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n } else {\n result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'ena ura' : 'eno uro';\n case 'hh':\n if (number === 1) {\n result += withoutSuffix ? 'ura' : 'uro';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'uri' : 'urama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'ure' : 'urami';\n } else {\n result += withoutSuffix || isFuture ? 'ur' : 'urami';\n }\n return result;\n case 'd':\n return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n case 'dd':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n } else {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n }\n return result;\n case 'M':\n return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n case 'MM':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n } else {\n result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n }\n return result;\n case 'y':\n return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n case 'yy':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'leto' : 'letom';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'leta' : 'leti';\n } else {\n result += withoutSuffix || isFuture ? 'let' : 'leti';\n }\n return result;\n }\n }\n\n hooks.defineLocale('sl', {\n months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD. MM. YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danes ob] LT',\n nextDay: '[jutri ob] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v] [nedeljo] [ob] LT';\n case 3:\n return '[v] [sredo] [ob] LT';\n case 6:\n return '[v] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[v] dddd [ob] LT';\n }\n },\n lastDay: '[včeraj ob] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[prejšnjo] [nedeljo] [ob] LT';\n case 3:\n return '[prejšnjo] [sredo] [ob] LT';\n case 6:\n return '[prejšnjo] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prejšnji] dddd [ob] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'čez %s',\n past: 'pred %s',\n s: processRelativeTime$9,\n ss: processRelativeTime$9,\n m: processRelativeTime$9,\n mm: processRelativeTime$9,\n h: processRelativeTime$9,\n hh: processRelativeTime$9,\n d: processRelativeTime$9,\n dd: processRelativeTime$9,\n M: processRelativeTime$9,\n MM: processRelativeTime$9,\n y: processRelativeTime$9,\n yy: processRelativeTime$9,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('sq', {\n months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split(\n '_'\n ),\n monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split(\n '_'\n ),\n weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /PD|MD/,\n isPM: function (input) {\n return input.charAt(0) === 'M';\n },\n meridiem: function (hours, minutes, isLower) {\n return hours < 12 ? 'PD' : 'MD';\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Sot në] LT',\n nextDay: '[Nesër në] LT',\n nextWeek: 'dddd [në] LT',\n lastDay: '[Dje në] LT',\n lastWeek: 'dddd [e kaluar në] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'në %s',\n past: '%s më parë',\n s: 'disa sekonda',\n ss: '%d sekonda',\n m: 'një minutë',\n mm: '%d minuta',\n h: 'një orë',\n hh: '%d orë',\n d: 'një ditë',\n dd: '%d ditë',\n M: 'një muaj',\n MM: '%d muaj',\n y: 'një vit',\n yy: '%d vite',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var translator$1 = {\n words: {\n //Different grammatical cases\n ss: ['секунда', 'секунде', 'секунди'],\n m: ['један минут', 'једног минута'],\n mm: ['минут', 'минута', 'минута'],\n h: ['један сат', 'једног сата'],\n hh: ['сат', 'сата', 'сати'],\n d: ['један дан', 'једног дана'],\n dd: ['дан', 'дана', 'дана'],\n M: ['један месец', 'једног месеца'],\n MM: ['месец', 'месеца', 'месеци'],\n y: ['једну годину', 'једне године'],\n yy: ['годину', 'године', 'година'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n if (\n number % 10 >= 1 &&\n number % 10 <= 4 &&\n (number % 100 < 10 || number % 100 >= 20)\n ) {\n return number % 10 === 1 ? wordKey[0] : wordKey[1];\n }\n return wordKey[2];\n },\n translate: function (number, withoutSuffix, key, isFuture) {\n var wordKey = translator$1.words[key],\n word;\n\n if (key.length === 1) {\n // Nominativ\n if (key === 'y' && withoutSuffix) return 'једна година';\n return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n }\n\n word = translator$1.correctGrammaticalCase(number, wordKey);\n // Nominativ\n if (key === 'yy' && withoutSuffix && word === 'годину') {\n return number + ' година';\n }\n\n return number + ' ' + word;\n },\n };\n\n hooks.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split(\n '_'\n ),\n monthsShort:\n 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n monthsParseExact: true,\n weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D. M. YYYY.',\n LL: 'D. MMMM YYYY.',\n LLL: 'D. MMMM YYYY. H:mm',\n LLLL: 'dddd, D. MMMM YYYY. H:mm',\n },\n calendar: {\n sameDay: '[данас у] LT',\n nextDay: '[сутра у] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[у] [недељу] [у] LT';\n case 3:\n return '[у] [среду] [у] LT';\n case 6:\n return '[у] [суботу] [у] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[у] dddd [у] LT';\n }\n },\n lastDay: '[јуче у] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[прошле] [недеље] [у] LT',\n '[прошлог] [понедељка] [у] LT',\n '[прошлог] [уторка] [у] LT',\n '[прошле] [среде] [у] LT',\n '[прошлог] [четвртка] [у] LT',\n '[прошлог] [петка] [у] LT',\n '[прошле] [суботе] [у] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: 'пре %s',\n s: 'неколико секунди',\n ss: translator$1.translate,\n m: translator$1.translate,\n mm: translator$1.translate,\n h: translator$1.translate,\n hh: translator$1.translate,\n d: translator$1.translate,\n dd: translator$1.translate,\n M: translator$1.translate,\n MM: translator$1.translate,\n y: translator$1.translate,\n yy: translator$1.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var translator$2 = {\n words: {\n //Different grammatical cases\n ss: ['sekunda', 'sekunde', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n d: ['jedan dan', 'jednog dana'],\n dd: ['dan', 'dana', 'dana'],\n M: ['jedan mesec', 'jednog meseca'],\n MM: ['mesec', 'meseca', 'meseci'],\n y: ['jednu godinu', 'jedne godine'],\n yy: ['godinu', 'godine', 'godina'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n if (\n number % 10 >= 1 &&\n number % 10 <= 4 &&\n (number % 100 < 10 || number % 100 >= 20)\n ) {\n return number % 10 === 1 ? wordKey[0] : wordKey[1];\n }\n return wordKey[2];\n },\n translate: function (number, withoutSuffix, key, isFuture) {\n var wordKey = translator$2.words[key],\n word;\n\n if (key.length === 1) {\n // Nominativ\n if (key === 'y' && withoutSuffix) return 'jedna godina';\n return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n }\n\n word = translator$2.correctGrammaticalCase(number, wordKey);\n // Nominativ\n if (key === 'yy' && withoutSuffix && word === 'godinu') {\n return number + ' godina';\n }\n\n return number + ' ' + word;\n },\n };\n\n hooks.defineLocale('sr', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D. M. YYYY.',\n LL: 'D. MMMM YYYY.',\n LLL: 'D. MMMM YYYY. H:mm',\n LLLL: 'dddd, D. MMMM YYYY. H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedelju] [u] LT';\n case 3:\n return '[u] [sredu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[prošle] [nedelje] [u] LT',\n '[prošlog] [ponedeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'pre %s',\n s: 'nekoliko sekundi',\n ss: translator$2.translate,\n m: translator$2.translate,\n mm: translator$2.translate,\n h: translator$2.translate,\n hh: translator$2.translate,\n d: translator$2.translate,\n dd: translator$2.translate,\n M: translator$2.translate,\n MM: translator$2.translate,\n y: translator$2.translate,\n yy: translator$2.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ss', {\n months: \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split(\n '_'\n ),\n monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n weekdays:\n 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split(\n '_'\n ),\n weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Namuhla nga] LT',\n nextDay: '[Kusasa nga] LT',\n nextWeek: 'dddd [nga] LT',\n lastDay: '[Itolo nga] LT',\n lastWeek: 'dddd [leliphelile] [nga] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'nga %s',\n past: 'wenteka nga %s',\n s: 'emizuzwana lomcane',\n ss: '%d mzuzwana',\n m: 'umzuzu',\n mm: '%d emizuzu',\n h: 'lihora',\n hh: '%d emahora',\n d: 'lilanga',\n dd: '%d emalanga',\n M: 'inyanga',\n MM: '%d tinyanga',\n y: 'umnyaka',\n yy: '%d iminyaka',\n },\n meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'ekuseni';\n } else if (hours < 15) {\n return 'emini';\n } else if (hours < 19) {\n return 'entsambama';\n } else {\n return 'ebusuku';\n }\n },\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ekuseni') {\n return hour;\n } else if (meridiem === 'emini') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n if (hour === 0) {\n return 0;\n }\n return hour + 12;\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: '%d',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('sv', {\n months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D MMMM YYYY [kl.] HH:mm',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Idag] LT',\n nextDay: '[Imorgon] LT',\n lastDay: '[Igår] LT',\n nextWeek: '[På] dddd LT',\n lastWeek: '[I] dddd[s] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: 'för %s sedan',\n s: 'några sekunder',\n ss: '%d sekunder',\n m: 'en minut',\n mm: '%d minuter',\n h: 'en timme',\n hh: '%d timmar',\n d: 'en dag',\n dd: '%d dagar',\n M: 'en månad',\n MM: '%d månader',\n y: 'ett år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(\\:e|\\:a)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? ':e'\n : b === 1\n ? ':a'\n : b === 2\n ? ':a'\n : b === 3\n ? ':e'\n : ':e';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('sw', {\n months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n weekdays:\n 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split(\n '_'\n ),\n weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'hh:mm A',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[leo saa] LT',\n nextDay: '[kesho saa] LT',\n nextWeek: '[wiki ijayo] dddd [saat] LT',\n lastDay: '[jana] LT',\n lastWeek: '[wiki iliyopita] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s baadaye',\n past: 'tokea %s',\n s: 'hivi punde',\n ss: 'sekunde %d',\n m: 'dakika moja',\n mm: 'dakika %d',\n h: 'saa limoja',\n hh: 'masaa %d',\n d: 'siku moja',\n dd: 'siku %d',\n M: 'mwezi mmoja',\n MM: 'miezi %d',\n y: 'mwaka mmoja',\n yy: 'miaka %d',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$h = {\n 1: '௧',\n 2: '௨',\n 3: '௩',\n 4: '௪',\n 5: '௫',\n 6: '௬',\n 7: '௭',\n 8: '௮',\n 9: '௯',\n 0: '௦',\n },\n numberMap$g = {\n '௧': '1',\n '௨': '2',\n '௩': '3',\n '௪': '4',\n '௫': '5',\n '௬': '6',\n '௭': '7',\n '௮': '8',\n '௯': '9',\n '௦': '0',\n };\n\n hooks.defineLocale('ta', {\n months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n '_'\n ),\n monthsShort:\n 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n '_'\n ),\n weekdays:\n 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split(\n '_'\n ),\n weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split(\n '_'\n ),\n weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, HH:mm',\n LLLL: 'dddd, D MMMM YYYY, HH:mm',\n },\n calendar: {\n sameDay: '[இன்று] LT',\n nextDay: '[நாளை] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[நேற்று] LT',\n lastWeek: '[கடந்த வாரம்] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s இல்',\n past: '%s முன்',\n s: 'ஒரு சில விநாடிகள்',\n ss: '%d விநாடிகள்',\n m: 'ஒரு நிமிடம்',\n mm: '%d நிமிடங்கள்',\n h: 'ஒரு மணி நேரம்',\n hh: '%d மணி நேரம்',\n d: 'ஒரு நாள்',\n dd: '%d நாட்கள்',\n M: 'ஒரு மாதம்',\n MM: '%d மாதங்கள்',\n y: 'ஒரு வருடம்',\n yy: '%d ஆண்டுகள்',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n ordinal: function (number) {\n return number + 'வது';\n },\n preparse: function (string) {\n return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n return numberMap$g[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$h[match];\n });\n },\n // refer http://ta.wikipedia.org/s/1er1\n meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n meridiem: function (hour, minute, isLower) {\n if (hour < 2) {\n return ' யாமம்';\n } else if (hour < 6) {\n return ' வைகறை'; // வைகறை\n } else if (hour < 10) {\n return ' காலை'; // காலை\n } else if (hour < 14) {\n return ' நண்பகல்'; // நண்பகல்\n } else if (hour < 18) {\n return ' எற்பாடு'; // எற்பாடு\n } else if (hour < 22) {\n return ' மாலை'; // மாலை\n } else {\n return ' யாமம்';\n }\n },\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'யாமம்') {\n return hour < 2 ? hour : hour + 12;\n } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n return hour;\n } else if (meridiem === 'நண்பகல்') {\n return hour >= 10 ? hour : hour + 12;\n } else {\n return hour + 12;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('te', {\n months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split(\n '_'\n ),\n monthsShort:\n 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split(\n '_'\n ),\n weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[నేడు] LT',\n nextDay: '[రేపు] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[నిన్న] LT',\n lastWeek: '[గత] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s లో',\n past: '%s క్రితం',\n s: 'కొన్ని క్షణాలు',\n ss: '%d సెకన్లు',\n m: 'ఒక నిమిషం',\n mm: '%d నిమిషాలు',\n h: 'ఒక గంట',\n hh: '%d గంటలు',\n d: 'ఒక రోజు',\n dd: '%d రోజులు',\n M: 'ఒక నెల',\n MM: '%d నెలలు',\n y: 'ఒక సంవత్సరం',\n yy: '%d సంవత్సరాలు',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}వ/,\n ordinal: '%dవ',\n meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'రాత్రి') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ఉదయం') {\n return hour;\n } else if (meridiem === 'మధ్యాహ్నం') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'సాయంత్రం') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'రాత్రి';\n } else if (hour < 10) {\n return 'ఉదయం';\n } else if (hour < 17) {\n return 'మధ్యాహ్నం';\n } else if (hour < 20) {\n return 'సాయంత్రం';\n } else {\n return 'రాత్రి';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('tet', {\n months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split(\n '_'\n ),\n monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Ohin iha] LT',\n nextDay: '[Aban iha] LT',\n nextWeek: 'dddd [iha] LT',\n lastDay: '[Horiseik iha] LT',\n lastWeek: 'dddd [semana kotuk] [iha] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'iha %s',\n past: '%s liuba',\n s: 'segundu balun',\n ss: 'segundu %d',\n m: 'minutu ida',\n mm: 'minutu %d',\n h: 'oras ida',\n hh: 'oras %d',\n d: 'loron ida',\n dd: 'loron %d',\n M: 'fulan ida',\n MM: 'fulan %d',\n y: 'tinan ida',\n yy: 'tinan %d',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var suffixes$3 = {\n 0: '-ум',\n 1: '-ум',\n 2: '-юм',\n 3: '-юм',\n 4: '-ум',\n 5: '-ум',\n 6: '-ум',\n 7: '-ум',\n 8: '-ум',\n 9: '-ум',\n 10: '-ум',\n 12: '-ум',\n 13: '-ум',\n 20: '-ум',\n 30: '-юм',\n 40: '-ум',\n 50: '-ум',\n 60: '-ум',\n 70: '-ум',\n 80: '-ум',\n 90: '-ум',\n 100: '-ум',\n };\n\n hooks.defineLocale('tg', {\n months: {\n format: 'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split(\n '_'\n ),\n standalone:\n 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n '_'\n ),\n },\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split(\n '_'\n ),\n weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\n weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Имрӯз соати] LT',\n nextDay: '[Фардо соати] LT',\n lastDay: '[Дирӯз соати] LT',\n nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT',\n lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'баъди %s',\n past: '%s пеш',\n s: 'якчанд сония',\n m: 'як дақиқа',\n mm: '%d дақиқа',\n h: 'як соат',\n hh: '%d соат',\n d: 'як рӯз',\n dd: '%d рӯз',\n M: 'як моҳ',\n MM: '%d моҳ',\n y: 'як сол',\n yy: '%d сол',\n },\n meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'шаб') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'субҳ') {\n return hour;\n } else if (meridiem === 'рӯз') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'бегоҳ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'шаб';\n } else if (hour < 11) {\n return 'субҳ';\n } else if (hour < 16) {\n return 'рӯз';\n } else if (hour < 19) {\n return 'бегоҳ';\n } else {\n return 'шаб';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes$3[number] || suffixes$3[a] || suffixes$3[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('th', {\n months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split(\n '_'\n ),\n monthsShort:\n 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY เวลา H:mm',\n LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm',\n },\n meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n isPM: function (input) {\n return input === 'หลังเที่ยง';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ก่อนเที่ยง';\n } else {\n return 'หลังเที่ยง';\n }\n },\n calendar: {\n sameDay: '[วันนี้ เวลา] LT',\n nextDay: '[พรุ่งนี้ เวลา] LT',\n nextWeek: 'dddd[หน้า เวลา] LT',\n lastDay: '[เมื่อวานนี้ เวลา] LT',\n lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'อีก %s',\n past: '%sที่แล้ว',\n s: 'ไม่กี่วินาที',\n ss: '%d วินาที',\n m: '1 นาที',\n mm: '%d นาที',\n h: '1 ชั่วโมง',\n hh: '%d ชั่วโมง',\n d: '1 วัน',\n dd: '%d วัน',\n w: '1 สัปดาห์',\n ww: '%d สัปดาห์',\n M: '1 เดือน',\n MM: '%d เดือน',\n y: '1 ปี',\n yy: '%d ปี',\n },\n });\n\n //! moment.js locale configuration\n\n var suffixes$4 = {\n 1: \"'inji\",\n 5: \"'inji\",\n 8: \"'inji\",\n 70: \"'inji\",\n 80: \"'inji\",\n 2: \"'nji\",\n 7: \"'nji\",\n 20: \"'nji\",\n 50: \"'nji\",\n 3: \"'ünji\",\n 4: \"'ünji\",\n 100: \"'ünji\",\n 6: \"'njy\",\n 9: \"'unjy\",\n 10: \"'unjy\",\n 30: \"'unjy\",\n 60: \"'ynjy\",\n 90: \"'ynjy\",\n };\n\n hooks.defineLocale('tk', {\n months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split(\n '_'\n ),\n monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'),\n weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split(\n '_'\n ),\n weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'),\n weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün sagat] LT',\n nextDay: '[ertir sagat] LT',\n nextWeek: '[indiki] dddd [sagat] LT',\n lastDay: '[düýn] LT',\n lastWeek: '[geçen] dddd [sagat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s soň',\n past: '%s öň',\n s: 'birnäçe sekunt',\n m: 'bir minut',\n mm: '%d minut',\n h: 'bir sagat',\n hh: '%d sagat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir aý',\n MM: '%d aý',\n y: 'bir ýyl',\n yy: '%d ýyl',\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'unjy\";\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes$4[a] || suffixes$4[b] || suffixes$4[c]);\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('tl-ph', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n '_'\n ),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n '_'\n ),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n function translateFuture(output) {\n var time = output;\n time =\n output.indexOf('jaj') !== -1\n ? time.slice(0, -3) + 'leS'\n : output.indexOf('jar') !== -1\n ? time.slice(0, -3) + 'waQ'\n : output.indexOf('DIS') !== -1\n ? time.slice(0, -3) + 'nem'\n : time + ' pIq';\n return time;\n }\n\n function translatePast(output) {\n var time = output;\n time =\n output.indexOf('jaj') !== -1\n ? time.slice(0, -3) + 'Hu’'\n : output.indexOf('jar') !== -1\n ? time.slice(0, -3) + 'wen'\n : output.indexOf('DIS') !== -1\n ? time.slice(0, -3) + 'ben'\n : time + ' ret';\n return time;\n }\n\n function translate$a(number, withoutSuffix, string, isFuture) {\n var numberNoun = numberAsNoun(number);\n switch (string) {\n case 'ss':\n return numberNoun + ' lup';\n case 'mm':\n return numberNoun + ' tup';\n case 'hh':\n return numberNoun + ' rep';\n case 'dd':\n return numberNoun + ' jaj';\n case 'MM':\n return numberNoun + ' jar';\n case 'yy':\n return numberNoun + ' DIS';\n }\n }\n\n function numberAsNoun(number) {\n var hundred = Math.floor((number % 1000) / 100),\n ten = Math.floor((number % 100) / 10),\n one = number % 10,\n word = '';\n if (hundred > 0) {\n word += numbersNouns[hundred] + 'vatlh';\n }\n if (ten > 0) {\n word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH';\n }\n if (one > 0) {\n word += (word !== '' ? ' ' : '') + numbersNouns[one];\n }\n return word === '' ? 'pagh' : word;\n }\n\n hooks.defineLocale('tlh', {\n months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split(\n '_'\n ),\n monthsShort:\n 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(\n '_'\n ),\n weekdaysShort:\n 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysMin:\n 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[DaHjaj] LT',\n nextDay: '[wa’leS] LT',\n nextWeek: 'LLL',\n lastDay: '[wa’Hu’] LT',\n lastWeek: 'LLL',\n sameElse: 'L',\n },\n relativeTime: {\n future: translateFuture,\n past: translatePast,\n s: 'puS lup',\n ss: translate$a,\n m: 'wa’ tup',\n mm: translate$a,\n h: 'wa’ rep',\n hh: translate$a,\n d: 'wa’ jaj',\n dd: translate$a,\n M: 'wa’ jar',\n MM: translate$a,\n y: 'wa’ DIS',\n yy: translate$a,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var suffixes$5 = {\n 1: \"'inci\",\n 5: \"'inci\",\n 8: \"'inci\",\n 70: \"'inci\",\n 80: \"'inci\",\n 2: \"'nci\",\n 7: \"'nci\",\n 20: \"'nci\",\n 50: \"'nci\",\n 3: \"'üncü\",\n 4: \"'üncü\",\n 100: \"'üncü\",\n 6: \"'ncı\",\n 9: \"'uncu\",\n 10: \"'uncu\",\n 30: \"'uncu\",\n 60: \"'ıncı\",\n 90: \"'ıncı\",\n };\n\n hooks.defineLocale('tr', {\n months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split(\n '_'\n ),\n monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split(\n '_'\n ),\n weekdaysShort: 'Paz_Pzt_Sal_Çar_Per_Cum_Cmt'.split('_'),\n weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'öö' : 'ÖÖ';\n } else {\n return isLower ? 'ös' : 'ÖS';\n }\n },\n meridiemParse: /öö|ÖÖ|ös|ÖS/,\n isPM: function (input) {\n return input === 'ös' || input === 'ÖS';\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[yarın saat] LT',\n nextWeek: '[gelecek] dddd [saat] LT',\n lastDay: '[dün] LT',\n lastWeek: '[geçen] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s önce',\n s: 'birkaç saniye',\n ss: '%d saniye',\n m: 'bir dakika',\n mm: '%d dakika',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n w: 'bir hafta',\n ww: '%d hafta',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir yıl',\n yy: '%d yıl',\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'ıncı\";\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes$5[a] || suffixes$5[b] || suffixes$5[c]);\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n // This is currently too difficult (maybe even impossible) to add.\n hooks.defineLocale('tzl', {\n months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split(\n '_'\n ),\n monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM [dallas] YYYY',\n LLL: 'D. MMMM [dallas] YYYY HH.mm',\n LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm',\n },\n meridiemParse: /d\\'o|d\\'a/i,\n isPM: function (input) {\n return \"d'o\" === input.toLowerCase();\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? \"d'o\" : \"D'O\";\n } else {\n return isLower ? \"d'a\" : \"D'A\";\n }\n },\n calendar: {\n sameDay: '[oxhi à] LT',\n nextDay: '[demà à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[ieiri à] LT',\n lastWeek: '[sür el] dddd [lasteu à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'osprei %s',\n past: 'ja%s',\n s: processRelativeTime$a,\n ss: processRelativeTime$a,\n m: processRelativeTime$a,\n mm: processRelativeTime$a,\n h: processRelativeTime$a,\n hh: processRelativeTime$a,\n d: processRelativeTime$a,\n dd: processRelativeTime$a,\n M: processRelativeTime$a,\n MM: processRelativeTime$a,\n y: processRelativeTime$a,\n yy: processRelativeTime$a,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n function processRelativeTime$a(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['viensas secunds', \"'iensas secunds\"],\n ss: [number + ' secunds', '' + number + ' secunds'],\n m: [\"'n míut\", \"'iens míut\"],\n mm: [number + ' míuts', '' + number + ' míuts'],\n h: [\"'n þora\", \"'iensa þora\"],\n hh: [number + ' þoras', '' + number + ' þoras'],\n d: [\"'n ziua\", \"'iensa ziua\"],\n dd: [number + ' ziuas', '' + number + ' ziuas'],\n M: [\"'n mes\", \"'iens mes\"],\n MM: [number + ' mesen', '' + number + ' mesen'],\n y: [\"'n ar\", \"'iens ar\"],\n yy: [number + ' ars', '' + number + ' ars'],\n };\n return isFuture\n ? format[key][0]\n : withoutSuffix\n ? format[key][0]\n : format[key][1];\n }\n\n //! moment.js locale configuration\n\n hooks.defineLocale('tzm-latn', {\n months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n '_'\n ),\n monthsShort:\n 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n '_'\n ),\n weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[asdkh g] LT',\n nextDay: '[aska g] LT',\n nextWeek: 'dddd [g] LT',\n lastDay: '[assant g] LT',\n lastWeek: 'dddd [g] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dadkh s yan %s',\n past: 'yan %s',\n s: 'imik',\n ss: '%d imik',\n m: 'minuḍ',\n mm: '%d minuḍ',\n h: 'saɛa',\n hh: '%d tassaɛin',\n d: 'ass',\n dd: '%d ossan',\n M: 'ayowr',\n MM: '%d iyyirn',\n y: 'asgas',\n yy: '%d isgasn',\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('tzm', {\n months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n '_'\n ),\n monthsShort:\n 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n '_'\n ),\n weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n nextWeek: 'dddd [ⴴ] LT',\n lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n lastWeek: 'dddd [ⴴ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n past: 'ⵢⴰⵏ %s',\n s: 'ⵉⵎⵉⴽ',\n ss: '%d ⵉⵎⵉⴽ',\n m: 'ⵎⵉⵏⵓⴺ',\n mm: '%d ⵎⵉⵏⵓⴺ',\n h: 'ⵙⴰⵄⴰ',\n hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n d: 'ⴰⵙⵙ',\n dd: '%d oⵙⵙⴰⵏ',\n M: 'ⴰⵢoⵓⵔ',\n MM: '%d ⵉⵢⵢⵉⵔⵏ',\n y: 'ⴰⵙⴳⴰⵙ',\n yy: '%d ⵉⵙⴳⴰⵙⵏ',\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ug-cn', {\n months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n monthsShort:\n 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(\n '_'\n ),\n weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n },\n meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n meridiem === 'يېرىم كېچە' ||\n meridiem === 'سەھەر' ||\n meridiem === 'چۈشتىن بۇرۇن'\n ) {\n return hour;\n } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n return hour + 12;\n } else {\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return 'يېرىم كېچە';\n } else if (hm < 900) {\n return 'سەھەر';\n } else if (hm < 1130) {\n return 'چۈشتىن بۇرۇن';\n } else if (hm < 1230) {\n return 'چۈش';\n } else if (hm < 1800) {\n return 'چۈشتىن كېيىن';\n } else {\n return 'كەچ';\n }\n },\n calendar: {\n sameDay: '[بۈگۈن سائەت] LT',\n nextDay: '[ئەتە سائەت] LT',\n nextWeek: '[كېلەركى] dddd [سائەت] LT',\n lastDay: '[تۆنۈگۈن] LT',\n lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s كېيىن',\n past: '%s بۇرۇن',\n s: 'نەچچە سېكونت',\n ss: '%d سېكونت',\n m: 'بىر مىنۇت',\n mm: '%d مىنۇت',\n h: 'بىر سائەت',\n hh: '%d سائەت',\n d: 'بىر كۈن',\n dd: '%d كۈن',\n M: 'بىر ئاي',\n MM: '%d ئاي',\n y: 'بىر يىل',\n yy: '%d يىل',\n },\n\n dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '-كۈنى';\n case 'w':\n case 'W':\n return number + '-ھەپتە';\n default:\n return number;\n }\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function plural$6(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural$4(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n dd: 'день_дні_днів',\n MM: 'місяць_місяці_місяців',\n yy: 'рік_роки_років',\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвилина' : 'хвилину';\n } else if (key === 'h') {\n return withoutSuffix ? 'година' : 'годину';\n } else {\n return number + ' ' + plural$6(format[key], +number);\n }\n }\n function weekdaysCaseReplace(m, format) {\n var weekdays = {\n nominative:\n 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split(\n '_'\n ),\n accusative:\n 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split(\n '_'\n ),\n genitive:\n 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split(\n '_'\n ),\n },\n nounCase;\n\n if (m === true) {\n return weekdays['nominative']\n .slice(1, 7)\n .concat(weekdays['nominative'].slice(0, 1));\n }\n if (!m) {\n return weekdays['nominative'];\n }\n\n nounCase = /(\\[[ВвУу]\\]) ?dddd/.test(format)\n ? 'accusative'\n : /\\[?(?:минулої|наступної)? ?\\] ?dddd/.test(format)\n ? 'genitive'\n : 'nominative';\n return weekdays[nounCase][m.day()];\n }\n function processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n }\n\n hooks.defineLocale('uk', {\n months: {\n format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split(\n '_'\n ),\n standalone:\n 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split(\n '_'\n ),\n },\n monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split(\n '_'\n ),\n weekdays: weekdaysCaseReplace,\n weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY р.',\n LLL: 'D MMMM YYYY р., HH:mm',\n LLLL: 'dddd, D MMMM YYYY р., HH:mm',\n },\n calendar: {\n sameDay: processHoursFunction('[Сьогодні '),\n nextDay: processHoursFunction('[Завтра '),\n lastDay: processHoursFunction('[Вчора '),\n nextWeek: processHoursFunction('[У] dddd ['),\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return processHoursFunction('[Минулої] dddd [').call(this);\n case 1:\n case 2:\n case 4:\n return processHoursFunction('[Минулого] dddd [').call(this);\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: '%s тому',\n s: 'декілька секунд',\n ss: relativeTimeWithPlural$4,\n m: relativeTimeWithPlural$4,\n mm: relativeTimeWithPlural$4,\n h: 'годину',\n hh: relativeTimeWithPlural$4,\n d: 'день',\n dd: relativeTimeWithPlural$4,\n M: 'місяць',\n MM: relativeTimeWithPlural$4,\n y: 'рік',\n yy: relativeTimeWithPlural$4,\n },\n // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n meridiemParse: /ночі|ранку|дня|вечора/,\n isPM: function (input) {\n return /^(дня|вечора)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночі';\n } else if (hour < 12) {\n return 'ранку';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечора';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return number + '-й';\n case 'D':\n return number + '-го';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var months$b = [\n 'جنوری',\n 'فروری',\n 'مارچ',\n 'اپریل',\n 'مئی',\n 'جون',\n 'جولائی',\n 'اگست',\n 'ستمبر',\n 'اکتوبر',\n 'نومبر',\n 'دسمبر',\n ],\n days$2 = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'];\n\n hooks.defineLocale('ur', {\n months: months$b,\n monthsShort: months$b,\n weekdays: days$2,\n weekdaysShort: days$2,\n weekdaysMin: days$2,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd، D MMMM YYYY HH:mm',\n },\n meridiemParse: /صبح|شام/,\n isPM: function (input) {\n return 'شام' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar: {\n sameDay: '[آج بوقت] LT',\n nextDay: '[کل بوقت] LT',\n nextWeek: 'dddd [بوقت] LT',\n lastDay: '[گذشتہ روز بوقت] LT',\n lastWeek: '[گذشتہ] dddd [بوقت] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s بعد',\n past: '%s قبل',\n s: 'چند سیکنڈ',\n ss: '%d سیکنڈ',\n m: 'ایک منٹ',\n mm: '%d منٹ',\n h: 'ایک گھنٹہ',\n hh: '%d گھنٹے',\n d: 'ایک دن',\n dd: '%d دن',\n M: 'ایک ماہ',\n MM: '%d ماہ',\n y: 'ایک سال',\n yy: '%d سال',\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('uz-latn', {\n months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split(\n '_'\n ),\n monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n weekdays:\n 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split(\n '_'\n ),\n weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm',\n },\n calendar: {\n sameDay: '[Bugun soat] LT [da]',\n nextDay: '[Ertaga] LT [da]',\n nextWeek: 'dddd [kuni soat] LT [da]',\n lastDay: '[Kecha soat] LT [da]',\n lastWeek: \"[O'tgan] dddd [kuni soat] LT [da]\",\n sameElse: 'L',\n },\n relativeTime: {\n future: 'Yaqin %s ichida',\n past: 'Bir necha %s oldin',\n s: 'soniya',\n ss: '%d soniya',\n m: 'bir daqiqa',\n mm: '%d daqiqa',\n h: 'bir soat',\n hh: '%d soat',\n d: 'bir kun',\n dd: '%d kun',\n M: 'bir oy',\n MM: '%d oy',\n y: 'bir yil',\n yy: '%d yil',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('uz', {\n months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n '_'\n ),\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm',\n },\n calendar: {\n sameDay: '[Бугун соат] LT [да]',\n nextDay: '[Эртага] LT [да]',\n nextWeek: 'dddd [куни соат] LT [да]',\n lastDay: '[Кеча соат] LT [да]',\n lastWeek: '[Утган] dddd [куни соат] LT [да]',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'Якин %s ичида',\n past: 'Бир неча %s олдин',\n s: 'фурсат',\n ss: '%d фурсат',\n m: 'бир дакика',\n mm: '%d дакика',\n h: 'бир соат',\n hh: '%d соат',\n d: 'бир кун',\n dd: '%d кун',\n M: 'бир ой',\n MM: '%d ой',\n y: 'бир йил',\n yy: '%d йил',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('vi', {\n months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split(\n '_'\n ),\n monthsShort:\n 'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split(\n '_'\n ),\n weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /sa|ch/i,\n isPM: function (input) {\n return /^ch$/i.test(input);\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n } else {\n return isLower ? 'ch' : 'CH';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [năm] YYYY',\n LLL: 'D MMMM [năm] YYYY HH:mm',\n LLLL: 'dddd, D MMMM [năm] YYYY HH:mm',\n l: 'DD/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hôm nay lúc] LT',\n nextDay: '[Ngày mai lúc] LT',\n nextWeek: 'dddd [tuần tới lúc] LT',\n lastDay: '[Hôm qua lúc] LT',\n lastWeek: 'dddd [tuần trước lúc] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s tới',\n past: '%s trước',\n s: 'vài giây',\n ss: '%d giây',\n m: 'một phút',\n mm: '%d phút',\n h: 'một giờ',\n hh: '%d giờ',\n d: 'một ngày',\n dd: '%d ngày',\n w: 'một tuần',\n ww: '%d tuần',\n M: 'một tháng',\n MM: '%d tháng',\n y: 'một năm',\n yy: '%d năm',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('x-pseudo', {\n months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split(\n '_'\n ),\n monthsShort:\n 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split(\n '_'\n ),\n weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[T~ódá~ý át] LT',\n nextDay: '[T~ómó~rró~w át] LT',\n nextWeek: 'dddd [át] LT',\n lastDay: '[Ý~ést~érdá~ý át] LT',\n lastWeek: '[L~ást] dddd [át] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'í~ñ %s',\n past: '%s á~gó',\n s: 'á ~féw ~sécó~ñds',\n ss: '%d s~écóñ~ds',\n m: 'á ~míñ~úté',\n mm: '%d m~íñú~tés',\n h: 'á~ñ hó~úr',\n hh: '%d h~óúrs',\n d: 'á ~dáý',\n dd: '%d d~áýs',\n M: 'á ~móñ~th',\n MM: '%d m~óñt~hs',\n y: 'á ~ýéár',\n yy: '%d ý~éárs',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('yo', {\n months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split(\n '_'\n ),\n monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Ònì ni] LT',\n nextDay: '[Ọ̀la ni] LT',\n nextWeek: \"dddd [Ọsẹ̀ tón'bọ] [ni] LT\",\n lastDay: '[Àna ni] LT',\n lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ní %s',\n past: '%s kọjá',\n s: 'ìsẹjú aayá die',\n ss: 'aayá %d',\n m: 'ìsẹjú kan',\n mm: 'ìsẹjú %d',\n h: 'wákati kan',\n hh: 'wákati %d',\n d: 'ọjọ́ kan',\n dd: 'ọjọ́ %d',\n M: 'osù kan',\n MM: 'osù %d',\n y: 'ọdún kan',\n yy: 'ọdún %d',\n },\n dayOfMonthOrdinalParse: /ọjọ́\\s\\d{1,2}/,\n ordinal: 'ọjọ́ %d',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('zh-cn', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日Ah点mm分',\n LLLL: 'YYYY年M月D日ddddAh点mm分',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n } else {\n // '中午'\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n return '[下]dddLT';\n } else {\n return '[本]dddLT';\n }\n },\n lastDay: '[昨天]LT',\n lastWeek: function (now) {\n if (this.week() !== now.week()) {\n return '[上]dddLT';\n } else {\n return '[本]dddLT';\n }\n },\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '周';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s后',\n past: '%s前',\n s: '几秒',\n ss: '%d 秒',\n m: '1 分钟',\n mm: '%d 分钟',\n h: '1 小时',\n hh: '%d 小时',\n d: '1 天',\n dd: '%d 天',\n w: '1 周',\n ww: '%d 周',\n M: '1 个月',\n MM: '%d 个月',\n y: '1 年',\n yy: '%d 年',\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('zh-hk', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1200) {\n return '上午';\n } else if (hm === 1200) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: '[下]ddddLT',\n lastDay: '[昨天]LT',\n lastWeek: '[上]ddddLT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('zh-mo', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'D/M/YYYY',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天] LT',\n nextDay: '[明天] LT',\n nextWeek: '[下]dddd LT',\n lastDay: '[昨天] LT',\n lastWeek: '[上]dddd LT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s內',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('zh-tw', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天] LT',\n nextDay: '[明天] LT',\n nextWeek: '[下]dddd LT',\n lastDay: '[昨天] LT',\n lastWeek: '[上]dddd LT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n hooks.locale('en');\n\n return hooks;\n\n})));\n","import '../assets/NcUserStatusIcon-DAVSJFhS.css';\nimport axios from \"@nextcloud/axios\";\nimport { generateOcsUrl } from \"@nextcloud/router\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { r as register, P as t10, a as t, Q as t50 } from \"./_l10n-Dt0m9Fxw.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst onlineSvg = '\\n\\n\t\\n\\n';\nconst awaySvg = '\\n\\n\t\\n\t\\n\\n';\nconst dndSvg = '\\n\\n\t\\n\t\\n\t\\n\\n';\nconst invisibleSvg = '\\n\\n\t\\n\t\\n\\n';\nregister(t10);\nconst getUserStatusText = (status) => {\n switch (status) {\n case \"away\":\n return t(\"away\");\n // TRANSLATORS: User status if the user is currently away from keyboard\n case \"busy\":\n return t(\"busy\");\n case \"dnd\":\n return t(\"do not disturb\");\n case \"online\":\n return t(\"online\");\n case \"invisible\":\n return t(\"invisible\");\n case \"offline\":\n return t(\"offline\");\n default:\n return status;\n }\n};\nregister(t50);\nconst _sfc_main = {\n name: \"NcUserStatusIcon\",\n props: {\n /**\n * Set the user id to fetch the status\n */\n user: {\n type: String,\n default: null\n },\n /**\n * Set the status\n *\n * @type {'online' | 'away' | 'busy' | 'dnd' | 'invisible' | 'offline'}\n */\n status: {\n type: String,\n default: null,\n validator: (value) => [\n \"online\",\n \"away\",\n \"busy\",\n \"dnd\",\n \"invisible\",\n \"offline\"\n ].includes(value)\n },\n /**\n * Set the `aria-hidden` attribute\n *\n * @type {'true' | 'false'}\n */\n ariaHidden: {\n type: String,\n default: null,\n validator: (value) => [\n \"true\",\n \"false\"\n ].includes(value)\n }\n },\n data() {\n return {\n fetchedUserStatus: null\n };\n },\n computed: {\n activeStatus() {\n return this.status ?? this.fetchedUserStatus;\n },\n activeSvg() {\n const matchSvg = {\n online: onlineSvg,\n away: awaySvg,\n busy: awaySvg,\n dnd: dndSvg,\n invisible: invisibleSvg,\n offline: invisibleSvg\n };\n return matchSvg[this.activeStatus] ?? null;\n },\n ariaLabel() {\n if (this.ariaHidden === \"true\") {\n return null;\n }\n return t(\"User status: {status}\", { status: getUserStatusText(this.activeStatus) });\n }\n },\n watch: {\n user: {\n immediate: true,\n async handler(user, _oldUser) {\n if (!user || !getCapabilities()?.user_status?.enabled) {\n this.fetchedUserStatus = null;\n return;\n }\n try {\n const { data } = await axios.get(generateOcsUrl(\"/apps/user_status/api/v1/statuses/{user}\", { user }));\n this.fetchedUserStatus = data.ocs?.data?.status;\n } catch (error) {\n this.fetchedUserStatus = null;\n }\n }\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _vm.activeStatus ? _c(\"span\", { staticClass: \"user-status-icon\", class: {\n \"user-status-icon--invisible\": [\"invisible\", \"offline\"].includes(_vm.status)\n }, attrs: { \"role\": \"img\", \"aria-hidden\": _vm.ariaHidden, \"aria-label\": _vm.ariaLabel }, domProps: { \"innerHTML\": _vm._s(_vm.activeSvg) } }) : _vm._e();\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"0555d8d0\"\n);\nconst NcUserStatusIcon = __component__.exports;\nexport {\n NcUserStatusIcon as N,\n getUserStatusText as g\n};\n//# sourceMappingURL=NcUserStatusIcon-WEKmuaoU.mjs.map\n","'use strict';\n\n(function (global) {\n\n // minimal symbol polyfill for IE11 and others\n if (typeof Symbol !== 'function') {\n var Symbol = function(name) {\n return name;\n }\n\n Symbol.nonNative = true;\n }\n\n const STATE_PLAINTEXT = Symbol('plaintext');\n const STATE_HTML = Symbol('html');\n const STATE_COMMENT = Symbol('comment');\n\n const ALLOWED_TAGS_REGEX = /<(\\w*)>/g;\n const NORMALIZE_TAG_REGEX = /<\\/?([^\\s\\/>]+)/;\n\n function striptags(html, allowable_tags, tag_replacement) {\n html = html || '';\n allowable_tags = allowable_tags || [];\n tag_replacement = tag_replacement || '';\n\n let context = init_context(allowable_tags, tag_replacement);\n\n return striptags_internal(html, context);\n }\n\n function init_striptags_stream(allowable_tags, tag_replacement) {\n allowable_tags = allowable_tags || [];\n tag_replacement = tag_replacement || '';\n\n let context = init_context(allowable_tags, tag_replacement);\n\n return function striptags_stream(html) {\n return striptags_internal(html || '', context);\n };\n }\n\n striptags.init_streaming_mode = init_striptags_stream;\n\n function init_context(allowable_tags, tag_replacement) {\n allowable_tags = parse_allowable_tags(allowable_tags);\n\n return {\n allowable_tags : allowable_tags,\n tag_replacement: tag_replacement,\n\n state : STATE_PLAINTEXT,\n tag_buffer : '',\n depth : 0,\n in_quote_char : ''\n };\n }\n\n function striptags_internal(html, context) {\n if (typeof html != \"string\") {\n throw new TypeError(\"'html' parameter must be a string\");\n }\n\n let allowable_tags = context.allowable_tags;\n let tag_replacement = context.tag_replacement;\n\n let state = context.state;\n let tag_buffer = context.tag_buffer;\n let depth = context.depth;\n let in_quote_char = context.in_quote_char;\n let output = '';\n\n for (let idx = 0, length = html.length; idx < length; idx++) {\n let char = html[idx];\n\n if (state === STATE_PLAINTEXT) {\n switch (char) {\n case '<':\n state = STATE_HTML;\n tag_buffer += char;\n break;\n\n default:\n output += char;\n break;\n }\n }\n\n else if (state === STATE_HTML) {\n switch (char) {\n case '<':\n // ignore '<' if inside a quote\n if (in_quote_char) {\n break;\n }\n\n // we're seeing a nested '<'\n depth++;\n break;\n\n case '>':\n // ignore '>' if inside a quote\n if (in_quote_char) {\n break;\n }\n\n // something like this is happening: '<<>>'\n if (depth) {\n depth--;\n\n break;\n }\n\n // this is closing the tag in tag_buffer\n in_quote_char = '';\n state = STATE_PLAINTEXT;\n tag_buffer += '>';\n\n if (allowable_tags.has(normalize_tag(tag_buffer))) {\n output += tag_buffer;\n } else {\n output += tag_replacement;\n }\n\n tag_buffer = '';\n break;\n\n case '\"':\n case '\\'':\n // catch both single and double quotes\n\n if (char === in_quote_char) {\n in_quote_char = '';\n } else {\n in_quote_char = in_quote_char || char;\n }\n\n tag_buffer += char;\n break;\n\n case '-':\n if (tag_buffer === '':\n if (tag_buffer.slice(-2) == '--') {\n // close the comment\n state = STATE_PLAINTEXT;\n }\n\n tag_buffer = '';\n break;\n\n default:\n tag_buffer += char;\n break;\n }\n }\n }\n\n // save the context for future iterations\n context.state = state;\n context.tag_buffer = tag_buffer;\n context.depth = depth;\n context.in_quote_char = in_quote_char;\n\n return output;\n }\n\n function parse_allowable_tags(allowable_tags) {\n let tag_set = new Set();\n\n if (typeof allowable_tags === 'string') {\n let match;\n\n while ((match = ALLOWED_TAGS_REGEX.exec(allowable_tags))) {\n tag_set.add(match[1]);\n }\n }\n\n else if (!Symbol.nonNative &&\n typeof allowable_tags[Symbol.iterator] === 'function') {\n\n tag_set = new Set(allowable_tags);\n }\n\n else if (typeof allowable_tags.forEach === 'function') {\n // IE11 compatible\n allowable_tags.forEach(tag_set.add, tag_set);\n }\n\n return tag_set;\n }\n\n function normalize_tag(tag_buffer) {\n let match = NORMALIZE_TAG_REGEX.exec(tag_buffer);\n\n return match ? match[1].toLowerCase() : null;\n }\n\n if (typeof define === 'function' && define.amd) {\n // AMD\n define(function module_factory() { return striptags; });\n }\n\n else if (typeof module === 'object' && module.exports) {\n // Node\n module.exports = striptags;\n }\n\n else {\n // Browser\n global.striptags = striptags;\n }\n}(this));\n","import Vue from 'vue'\nimport { getCurrentInstance } from 'vue'\n\nvar isVue2 = true\nvar isVue3 = false\nvar Vue2 = Vue\nvar warn = Vue.util.warn\n\nfunction install() {}\n\n// createApp polyfill\nexport function createApp(rootComponent, rootProps) {\n var vm\n var provide = {}\n var app = {\n config: Vue.config,\n use: Vue.use.bind(Vue),\n mixin: Vue.mixin.bind(Vue),\n component: Vue.component.bind(Vue),\n provide: function (key, value) {\n provide[key] = value\n return this\n },\n directive: function (name, dir) {\n if (dir) {\n Vue.directive(name, dir)\n return app\n } else {\n return Vue.directive(name)\n }\n },\n mount: function (el, hydrating) {\n if (!vm) {\n vm = new Vue(Object.assign({ propsData: rootProps }, rootComponent, { provide: Object.assign(provide, rootComponent.provide) }))\n vm.$mount(el, hydrating)\n return vm\n } else {\n return vm\n }\n },\n unmount: function () {\n if (vm) {\n vm.$destroy()\n vm = undefined\n }\n },\n }\n return app\n}\n\nexport {\n Vue,\n Vue2,\n isVue2,\n isVue3,\n install,\n warn\n}\n\n// Vue 3 components mock\nfunction createMockComponent(name) {\n return {\n setup() {\n throw new Error('[vue-demi] ' + name + ' is not supported in Vue 2. It\\'s provided to avoid compiler errors.')\n }\n }\n}\nexport var Fragment = /*#__PURE__*/ createMockComponent('Fragment')\nexport var Transition = /*#__PURE__*/ createMockComponent('Transition')\nexport var TransitionGroup = /*#__PURE__*/ createMockComponent('TransitionGroup')\nexport var Teleport = /*#__PURE__*/ createMockComponent('Teleport')\nexport var Suspense = /*#__PURE__*/ createMockComponent('Suspense')\nexport var KeepAlive = /*#__PURE__*/ createMockComponent('KeepAlive')\n\nexport * from 'vue'\n\n// Not implemented https://github.com/vuejs/core/pull/8111, falls back to getCurrentInstance()\nexport function hasInjectionContext() {\n return !!getCurrentInstance()\n}\n","import { shallowRef, watchEffect, readonly, ref, watch, customRef, getCurrentScope, onScopeDispose, effectScope, getCurrentInstance, inject, provide, isVue3, version, isRef, unref, computed, reactive, toRefs as toRefs$1, toRef as toRef$1, isVue2, set as set$1, onBeforeMount, nextTick, onBeforeUnmount, onMounted, onUnmounted, isReactive } from 'vue-demi';\n\nfunction computedEager(fn, options) {\n var _a;\n const result = shallowRef();\n watchEffect(() => {\n result.value = fn();\n }, {\n ...options,\n flush: (_a = options == null ? void 0 : options.flush) != null ? _a : \"sync\"\n });\n return readonly(result);\n}\n\nfunction computedWithControl(source, fn) {\n let v = void 0;\n let track;\n let trigger;\n const dirty = ref(true);\n const update = () => {\n dirty.value = true;\n trigger();\n };\n watch(source, update, { flush: \"sync\" });\n const get = typeof fn === \"function\" ? fn : fn.get;\n const set = typeof fn === \"function\" ? void 0 : fn.set;\n const result = customRef((_track, _trigger) => {\n track = _track;\n trigger = _trigger;\n return {\n get() {\n if (dirty.value) {\n v = get(v);\n dirty.value = false;\n }\n track();\n return v;\n },\n set(v2) {\n set == null ? void 0 : set(v2);\n }\n };\n });\n if (Object.isExtensible(result))\n result.trigger = update;\n return result;\n}\n\nfunction tryOnScopeDispose(fn) {\n if (getCurrentScope()) {\n onScopeDispose(fn);\n return true;\n }\n return false;\n}\n\nfunction createEventHook() {\n const fns = /* @__PURE__ */ new Set();\n const off = (fn) => {\n fns.delete(fn);\n };\n const on = (fn) => {\n fns.add(fn);\n const offFn = () => off(fn);\n tryOnScopeDispose(offFn);\n return {\n off: offFn\n };\n };\n const trigger = (...args) => {\n return Promise.all(Array.from(fns).map((fn) => fn(...args)));\n };\n return {\n on,\n off,\n trigger\n };\n}\n\nfunction createGlobalState(stateFactory) {\n let initialized = false;\n let state;\n const scope = effectScope(true);\n return (...args) => {\n if (!initialized) {\n state = scope.run(() => stateFactory(...args));\n initialized = true;\n }\n return state;\n };\n}\n\nconst localProvidedStateMap = /* @__PURE__ */ new WeakMap();\n\nconst injectLocal = (...args) => {\n var _a;\n const key = args[0];\n const instance = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy;\n if (instance == null)\n throw new Error(\"injectLocal must be called in setup\");\n if (localProvidedStateMap.has(instance) && key in localProvidedStateMap.get(instance))\n return localProvidedStateMap.get(instance)[key];\n return inject(...args);\n};\n\nconst provideLocal = (key, value) => {\n var _a;\n const instance = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy;\n if (instance == null)\n throw new Error(\"provideLocal must be called in setup\");\n if (!localProvidedStateMap.has(instance))\n localProvidedStateMap.set(instance, /* @__PURE__ */ Object.create(null));\n const localProvidedState = localProvidedStateMap.get(instance);\n localProvidedState[key] = value;\n provide(key, value);\n};\n\nfunction createInjectionState(composable, options) {\n const key = (options == null ? void 0 : options.injectionKey) || Symbol(composable.name || \"InjectionState\");\n const defaultValue = options == null ? void 0 : options.defaultValue;\n const useProvidingState = (...args) => {\n const state = composable(...args);\n provideLocal(key, state);\n return state;\n };\n const useInjectedState = () => injectLocal(key, defaultValue);\n return [useProvidingState, useInjectedState];\n}\n\nfunction createSharedComposable(composable) {\n let subscribers = 0;\n let state;\n let scope;\n const dispose = () => {\n subscribers -= 1;\n if (scope && subscribers <= 0) {\n scope.stop();\n state = void 0;\n scope = void 0;\n }\n };\n return (...args) => {\n subscribers += 1;\n if (!scope) {\n scope = effectScope(true);\n state = scope.run(() => composable(...args));\n }\n tryOnScopeDispose(dispose);\n return state;\n };\n}\n\nfunction extendRef(ref, extend, { enumerable = false, unwrap = true } = {}) {\n if (!isVue3 && !version.startsWith(\"2.7.\")) {\n if (process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] extendRef only works in Vue 2.7 or above.\");\n return;\n }\n for (const [key, value] of Object.entries(extend)) {\n if (key === \"value\")\n continue;\n if (isRef(value) && unwrap) {\n Object.defineProperty(ref, key, {\n get() {\n return value.value;\n },\n set(v) {\n value.value = v;\n },\n enumerable\n });\n } else {\n Object.defineProperty(ref, key, { value, enumerable });\n }\n }\n return ref;\n}\n\nfunction get(obj, key) {\n if (key == null)\n return unref(obj);\n return unref(obj)[key];\n}\n\nfunction isDefined(v) {\n return unref(v) != null;\n}\n\nfunction makeDestructurable(obj, arr) {\n if (typeof Symbol !== \"undefined\") {\n const clone = { ...obj };\n Object.defineProperty(clone, Symbol.iterator, {\n enumerable: false,\n value() {\n let index = 0;\n return {\n next: () => ({\n value: arr[index++],\n done: index > arr.length\n })\n };\n }\n });\n return clone;\n } else {\n return Object.assign([...arr], obj);\n }\n}\n\nfunction toValue(r) {\n return typeof r === \"function\" ? r() : unref(r);\n}\nconst resolveUnref = toValue;\n\nfunction reactify(fn, options) {\n const unrefFn = (options == null ? void 0 : options.computedGetter) === false ? unref : toValue;\n return function(...args) {\n return computed(() => fn.apply(this, args.map((i) => unrefFn(i))));\n };\n}\n\nfunction reactifyObject(obj, optionsOrKeys = {}) {\n let keys = [];\n let options;\n if (Array.isArray(optionsOrKeys)) {\n keys = optionsOrKeys;\n } else {\n options = optionsOrKeys;\n const { includeOwnProperties = true } = optionsOrKeys;\n keys.push(...Object.keys(obj));\n if (includeOwnProperties)\n keys.push(...Object.getOwnPropertyNames(obj));\n }\n return Object.fromEntries(\n keys.map((key) => {\n const value = obj[key];\n return [\n key,\n typeof value === \"function\" ? reactify(value.bind(obj), options) : value\n ];\n })\n );\n}\n\nfunction toReactive(objectRef) {\n if (!isRef(objectRef))\n return reactive(objectRef);\n const proxy = new Proxy({}, {\n get(_, p, receiver) {\n return unref(Reflect.get(objectRef.value, p, receiver));\n },\n set(_, p, value) {\n if (isRef(objectRef.value[p]) && !isRef(value))\n objectRef.value[p].value = value;\n else\n objectRef.value[p] = value;\n return true;\n },\n deleteProperty(_, p) {\n return Reflect.deleteProperty(objectRef.value, p);\n },\n has(_, p) {\n return Reflect.has(objectRef.value, p);\n },\n ownKeys() {\n return Object.keys(objectRef.value);\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true\n };\n }\n });\n return reactive(proxy);\n}\n\nfunction reactiveComputed(fn) {\n return toReactive(computed(fn));\n}\n\nfunction reactiveOmit(obj, ...keys) {\n const flatKeys = keys.flat();\n const predicate = flatKeys[0];\n return reactiveComputed(() => typeof predicate === \"function\" ? Object.fromEntries(Object.entries(toRefs$1(obj)).filter(([k, v]) => !predicate(toValue(v), k))) : Object.fromEntries(Object.entries(toRefs$1(obj)).filter((e) => !flatKeys.includes(e[0]))));\n}\n\nconst directiveHooks = {\n mounted: isVue3 ? \"mounted\" : \"inserted\",\n updated: isVue3 ? \"updated\" : \"componentUpdated\",\n unmounted: isVue3 ? \"unmounted\" : \"unbind\"\n};\n\nconst isClient = typeof window !== \"undefined\" && typeof document !== \"undefined\";\nconst isWorker = typeof WorkerGlobalScope !== \"undefined\" && globalThis instanceof WorkerGlobalScope;\nconst isDef = (val) => typeof val !== \"undefined\";\nconst notNullish = (val) => val != null;\nconst assert = (condition, ...infos) => {\n if (!condition)\n console.warn(...infos);\n};\nconst toString = Object.prototype.toString;\nconst isObject = (val) => toString.call(val) === \"[object Object]\";\nconst now = () => Date.now();\nconst timestamp = () => +Date.now();\nconst clamp = (n, min, max) => Math.min(max, Math.max(min, n));\nconst noop = () => {\n};\nconst rand = (min, max) => {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min + 1)) + min;\n};\nconst hasOwn = (val, key) => Object.prototype.hasOwnProperty.call(val, key);\nconst isIOS = /* @__PURE__ */ getIsIOS();\nfunction getIsIOS() {\n var _a, _b;\n return isClient && ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent) && (/iP(?:ad|hone|od)/.test(window.navigator.userAgent) || ((_b = window == null ? void 0 : window.navigator) == null ? void 0 : _b.maxTouchPoints) > 2 && /iPad|Macintosh/.test(window == null ? void 0 : window.navigator.userAgent));\n}\n\nfunction createFilterWrapper(filter, fn) {\n function wrapper(...args) {\n return new Promise((resolve, reject) => {\n Promise.resolve(filter(() => fn.apply(this, args), { fn, thisArg: this, args })).then(resolve).catch(reject);\n });\n }\n return wrapper;\n}\nconst bypassFilter = (invoke) => {\n return invoke();\n};\nfunction debounceFilter(ms, options = {}) {\n let timer;\n let maxTimer;\n let lastRejector = noop;\n const _clearTimeout = (timer2) => {\n clearTimeout(timer2);\n lastRejector();\n lastRejector = noop;\n };\n const filter = (invoke) => {\n const duration = toValue(ms);\n const maxDuration = toValue(options.maxWait);\n if (timer)\n _clearTimeout(timer);\n if (duration <= 0 || maxDuration !== void 0 && maxDuration <= 0) {\n if (maxTimer) {\n _clearTimeout(maxTimer);\n maxTimer = null;\n }\n return Promise.resolve(invoke());\n }\n return new Promise((resolve, reject) => {\n lastRejector = options.rejectOnCancel ? reject : resolve;\n if (maxDuration && !maxTimer) {\n maxTimer = setTimeout(() => {\n if (timer)\n _clearTimeout(timer);\n maxTimer = null;\n resolve(invoke());\n }, maxDuration);\n }\n timer = setTimeout(() => {\n if (maxTimer)\n _clearTimeout(maxTimer);\n maxTimer = null;\n resolve(invoke());\n }, duration);\n });\n };\n return filter;\n}\nfunction throttleFilter(...args) {\n let lastExec = 0;\n let timer;\n let isLeading = true;\n let lastRejector = noop;\n let lastValue;\n let ms;\n let trailing;\n let leading;\n let rejectOnCancel;\n if (!isRef(args[0]) && typeof args[0] === \"object\")\n ({ delay: ms, trailing = true, leading = true, rejectOnCancel = false } = args[0]);\n else\n [ms, trailing = true, leading = true, rejectOnCancel = false] = args;\n const clear = () => {\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n lastRejector();\n lastRejector = noop;\n }\n };\n const filter = (_invoke) => {\n const duration = toValue(ms);\n const elapsed = Date.now() - lastExec;\n const invoke = () => {\n return lastValue = _invoke();\n };\n clear();\n if (duration <= 0) {\n lastExec = Date.now();\n return invoke();\n }\n if (elapsed > duration && (leading || !isLeading)) {\n lastExec = Date.now();\n invoke();\n } else if (trailing) {\n lastValue = new Promise((resolve, reject) => {\n lastRejector = rejectOnCancel ? reject : resolve;\n timer = setTimeout(() => {\n lastExec = Date.now();\n isLeading = true;\n resolve(invoke());\n clear();\n }, Math.max(0, duration - elapsed));\n });\n }\n if (!leading && !timer)\n timer = setTimeout(() => isLeading = true, duration);\n isLeading = false;\n return lastValue;\n };\n return filter;\n}\nfunction pausableFilter(extendFilter = bypassFilter) {\n const isActive = ref(true);\n function pause() {\n isActive.value = false;\n }\n function resume() {\n isActive.value = true;\n }\n const eventFilter = (...args) => {\n if (isActive.value)\n extendFilter(...args);\n };\n return { isActive: readonly(isActive), pause, resume, eventFilter };\n}\n\nfunction cacheStringFunction(fn) {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n}\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, \"-$1\").toLowerCase());\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction((str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n});\n\nfunction promiseTimeout(ms, throwOnTimeout = false, reason = \"Timeout\") {\n return new Promise((resolve, reject) => {\n if (throwOnTimeout)\n setTimeout(() => reject(reason), ms);\n else\n setTimeout(resolve, ms);\n });\n}\nfunction identity(arg) {\n return arg;\n}\nfunction createSingletonPromise(fn) {\n let _promise;\n function wrapper() {\n if (!_promise)\n _promise = fn();\n return _promise;\n }\n wrapper.reset = async () => {\n const _prev = _promise;\n _promise = void 0;\n if (_prev)\n await _prev;\n };\n return wrapper;\n}\nfunction invoke(fn) {\n return fn();\n}\nfunction containsProp(obj, ...props) {\n return props.some((k) => k in obj);\n}\nfunction increaseWithUnit(target, delta) {\n var _a;\n if (typeof target === \"number\")\n return target + delta;\n const value = ((_a = target.match(/^-?\\d+\\.?\\d*/)) == null ? void 0 : _a[0]) || \"\";\n const unit = target.slice(value.length);\n const result = Number.parseFloat(value) + delta;\n if (Number.isNaN(result))\n return target;\n return result + unit;\n}\nfunction objectPick(obj, keys, omitUndefined = false) {\n return keys.reduce((n, k) => {\n if (k in obj) {\n if (!omitUndefined || obj[k] !== void 0)\n n[k] = obj[k];\n }\n return n;\n }, {});\n}\nfunction objectOmit(obj, keys, omitUndefined = false) {\n return Object.fromEntries(Object.entries(obj).filter(([key, value]) => {\n return (!omitUndefined || value !== void 0) && !keys.includes(key);\n }));\n}\nfunction objectEntries(obj) {\n return Object.entries(obj);\n}\nfunction getLifeCycleTarget(target) {\n return target || getCurrentInstance();\n}\n\nfunction toRef(...args) {\n if (args.length !== 1)\n return toRef$1(...args);\n const r = args[0];\n return typeof r === \"function\" ? readonly(customRef(() => ({ get: r, set: noop }))) : ref(r);\n}\nconst resolveRef = toRef;\n\nfunction reactivePick(obj, ...keys) {\n const flatKeys = keys.flat();\n const predicate = flatKeys[0];\n return reactiveComputed(() => typeof predicate === \"function\" ? Object.fromEntries(Object.entries(toRefs$1(obj)).filter(([k, v]) => predicate(toValue(v), k))) : Object.fromEntries(flatKeys.map((k) => [k, toRef(obj, k)])));\n}\n\nfunction refAutoReset(defaultValue, afterMs = 1e4) {\n return customRef((track, trigger) => {\n let value = toValue(defaultValue);\n let timer;\n const resetAfter = () => setTimeout(() => {\n value = toValue(defaultValue);\n trigger();\n }, toValue(afterMs));\n tryOnScopeDispose(() => {\n clearTimeout(timer);\n });\n return {\n get() {\n track();\n return value;\n },\n set(newValue) {\n value = newValue;\n trigger();\n clearTimeout(timer);\n timer = resetAfter();\n }\n };\n });\n}\n\nfunction useDebounceFn(fn, ms = 200, options = {}) {\n return createFilterWrapper(\n debounceFilter(ms, options),\n fn\n );\n}\n\nfunction refDebounced(value, ms = 200, options = {}) {\n const debounced = ref(value.value);\n const updater = useDebounceFn(() => {\n debounced.value = value.value;\n }, ms, options);\n watch(value, () => updater());\n return debounced;\n}\n\nfunction refDefault(source, defaultValue) {\n return computed({\n get() {\n var _a;\n return (_a = source.value) != null ? _a : defaultValue;\n },\n set(value) {\n source.value = value;\n }\n });\n}\n\nfunction useThrottleFn(fn, ms = 200, trailing = false, leading = true, rejectOnCancel = false) {\n return createFilterWrapper(\n throttleFilter(ms, trailing, leading, rejectOnCancel),\n fn\n );\n}\n\nfunction refThrottled(value, delay = 200, trailing = true, leading = true) {\n if (delay <= 0)\n return value;\n const throttled = ref(value.value);\n const updater = useThrottleFn(() => {\n throttled.value = value.value;\n }, delay, trailing, leading);\n watch(value, () => updater());\n return throttled;\n}\n\nfunction refWithControl(initial, options = {}) {\n let source = initial;\n let track;\n let trigger;\n const ref = customRef((_track, _trigger) => {\n track = _track;\n trigger = _trigger;\n return {\n get() {\n return get();\n },\n set(v) {\n set(v);\n }\n };\n });\n function get(tracking = true) {\n if (tracking)\n track();\n return source;\n }\n function set(value, triggering = true) {\n var _a, _b;\n if (value === source)\n return;\n const old = source;\n if (((_a = options.onBeforeChange) == null ? void 0 : _a.call(options, value, old)) === false)\n return;\n source = value;\n (_b = options.onChanged) == null ? void 0 : _b.call(options, value, old);\n if (triggering)\n trigger();\n }\n const untrackedGet = () => get(false);\n const silentSet = (v) => set(v, false);\n const peek = () => get(false);\n const lay = (v) => set(v, false);\n return extendRef(\n ref,\n {\n get,\n set,\n untrackedGet,\n silentSet,\n peek,\n lay\n },\n { enumerable: true }\n );\n}\nconst controlledRef = refWithControl;\n\nfunction set(...args) {\n if (args.length === 2) {\n const [ref, value] = args;\n ref.value = value;\n }\n if (args.length === 3) {\n if (isVue2) {\n set$1(...args);\n } else {\n const [target, key, value] = args;\n target[key] = value;\n }\n }\n}\n\nfunction watchWithFilter(source, cb, options = {}) {\n const {\n eventFilter = bypassFilter,\n ...watchOptions\n } = options;\n return watch(\n source,\n createFilterWrapper(\n eventFilter,\n cb\n ),\n watchOptions\n );\n}\n\nfunction watchPausable(source, cb, options = {}) {\n const {\n eventFilter: filter,\n ...watchOptions\n } = options;\n const { eventFilter, pause, resume, isActive } = pausableFilter(filter);\n const stop = watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter\n }\n );\n return { stop, pause, resume, isActive };\n}\n\nfunction syncRef(left, right, ...[options]) {\n const {\n flush = \"sync\",\n deep = false,\n immediate = true,\n direction = \"both\",\n transform = {}\n } = options || {};\n const watchers = [];\n const transformLTR = \"ltr\" in transform && transform.ltr || ((v) => v);\n const transformRTL = \"rtl\" in transform && transform.rtl || ((v) => v);\n if (direction === \"both\" || direction === \"ltr\") {\n watchers.push(watchPausable(\n left,\n (newValue) => {\n watchers.forEach((w) => w.pause());\n right.value = transformLTR(newValue);\n watchers.forEach((w) => w.resume());\n },\n { flush, deep, immediate }\n ));\n }\n if (direction === \"both\" || direction === \"rtl\") {\n watchers.push(watchPausable(\n right,\n (newValue) => {\n watchers.forEach((w) => w.pause());\n left.value = transformRTL(newValue);\n watchers.forEach((w) => w.resume());\n },\n { flush, deep, immediate }\n ));\n }\n const stop = () => {\n watchers.forEach((w) => w.stop());\n };\n return stop;\n}\n\nfunction syncRefs(source, targets, options = {}) {\n const {\n flush = \"sync\",\n deep = false,\n immediate = true\n } = options;\n if (!Array.isArray(targets))\n targets = [targets];\n return watch(\n source,\n (newValue) => targets.forEach((target) => target.value = newValue),\n { flush, deep, immediate }\n );\n}\n\nfunction toRefs(objectRef, options = {}) {\n if (!isRef(objectRef))\n return toRefs$1(objectRef);\n const result = Array.isArray(objectRef.value) ? Array.from({ length: objectRef.value.length }) : {};\n for (const key in objectRef.value) {\n result[key] = customRef(() => ({\n get() {\n return objectRef.value[key];\n },\n set(v) {\n var _a;\n const replaceRef = (_a = toValue(options.replaceRef)) != null ? _a : true;\n if (replaceRef) {\n if (Array.isArray(objectRef.value)) {\n const copy = [...objectRef.value];\n copy[key] = v;\n objectRef.value = copy;\n } else {\n const newObject = { ...objectRef.value, [key]: v };\n Object.setPrototypeOf(newObject, Object.getPrototypeOf(objectRef.value));\n objectRef.value = newObject;\n }\n } else {\n objectRef.value[key] = v;\n }\n }\n }));\n }\n return result;\n}\n\nfunction tryOnBeforeMount(fn, sync = true, target) {\n const instance = getLifeCycleTarget(target);\n if (instance)\n onBeforeMount(fn, target);\n else if (sync)\n fn();\n else\n nextTick(fn);\n}\n\nfunction tryOnBeforeUnmount(fn, target) {\n const instance = getLifeCycleTarget(target);\n if (instance)\n onBeforeUnmount(fn, target);\n}\n\nfunction tryOnMounted(fn, sync = true, target) {\n const instance = getLifeCycleTarget();\n if (instance)\n onMounted(fn, target);\n else if (sync)\n fn();\n else\n nextTick(fn);\n}\n\nfunction tryOnUnmounted(fn, target) {\n const instance = getLifeCycleTarget(target);\n if (instance)\n onUnmounted(fn, target);\n}\n\nfunction createUntil(r, isNot = false) {\n function toMatch(condition, { flush = \"sync\", deep = false, timeout, throwOnTimeout } = {}) {\n let stop = null;\n const watcher = new Promise((resolve) => {\n stop = watch(\n r,\n (v) => {\n if (condition(v) !== isNot) {\n if (stop)\n stop();\n else\n nextTick(() => stop == null ? void 0 : stop());\n resolve(v);\n }\n },\n {\n flush,\n deep,\n immediate: true\n }\n );\n });\n const promises = [watcher];\n if (timeout != null) {\n promises.push(\n promiseTimeout(timeout, throwOnTimeout).then(() => toValue(r)).finally(() => stop == null ? void 0 : stop())\n );\n }\n return Promise.race(promises);\n }\n function toBe(value, options) {\n if (!isRef(value))\n return toMatch((v) => v === value, options);\n const { flush = \"sync\", deep = false, timeout, throwOnTimeout } = options != null ? options : {};\n let stop = null;\n const watcher = new Promise((resolve) => {\n stop = watch(\n [r, value],\n ([v1, v2]) => {\n if (isNot !== (v1 === v2)) {\n if (stop)\n stop();\n else\n nextTick(() => stop == null ? void 0 : stop());\n resolve(v1);\n }\n },\n {\n flush,\n deep,\n immediate: true\n }\n );\n });\n const promises = [watcher];\n if (timeout != null) {\n promises.push(\n promiseTimeout(timeout, throwOnTimeout).then(() => toValue(r)).finally(() => {\n stop == null ? void 0 : stop();\n return toValue(r);\n })\n );\n }\n return Promise.race(promises);\n }\n function toBeTruthy(options) {\n return toMatch((v) => Boolean(v), options);\n }\n function toBeNull(options) {\n return toBe(null, options);\n }\n function toBeUndefined(options) {\n return toBe(void 0, options);\n }\n function toBeNaN(options) {\n return toMatch(Number.isNaN, options);\n }\n function toContains(value, options) {\n return toMatch((v) => {\n const array = Array.from(v);\n return array.includes(value) || array.includes(toValue(value));\n }, options);\n }\n function changed(options) {\n return changedTimes(1, options);\n }\n function changedTimes(n = 1, options) {\n let count = -1;\n return toMatch(() => {\n count += 1;\n return count >= n;\n }, options);\n }\n if (Array.isArray(toValue(r))) {\n const instance = {\n toMatch,\n toContains,\n changed,\n changedTimes,\n get not() {\n return createUntil(r, !isNot);\n }\n };\n return instance;\n } else {\n const instance = {\n toMatch,\n toBe,\n toBeTruthy,\n toBeNull,\n toBeNaN,\n toBeUndefined,\n changed,\n changedTimes,\n get not() {\n return createUntil(r, !isNot);\n }\n };\n return instance;\n }\n}\nfunction until(r) {\n return createUntil(r);\n}\n\nfunction defaultComparator(value, othVal) {\n return value === othVal;\n}\nfunction useArrayDifference(...args) {\n var _a;\n const list = args[0];\n const values = args[1];\n let compareFn = (_a = args[2]) != null ? _a : defaultComparator;\n if (typeof compareFn === \"string\") {\n const key = compareFn;\n compareFn = (value, othVal) => value[key] === othVal[key];\n }\n return computed(() => toValue(list).filter((x) => toValue(values).findIndex((y) => compareFn(x, y)) === -1));\n}\n\nfunction useArrayEvery(list, fn) {\n return computed(() => toValue(list).every((element, index, array) => fn(toValue(element), index, array)));\n}\n\nfunction useArrayFilter(list, fn) {\n return computed(() => toValue(list).map((i) => toValue(i)).filter(fn));\n}\n\nfunction useArrayFind(list, fn) {\n return computed(() => toValue(\n toValue(list).find((element, index, array) => fn(toValue(element), index, array))\n ));\n}\n\nfunction useArrayFindIndex(list, fn) {\n return computed(() => toValue(list).findIndex((element, index, array) => fn(toValue(element), index, array)));\n}\n\nfunction findLast(arr, cb) {\n let index = arr.length;\n while (index-- > 0) {\n if (cb(arr[index], index, arr))\n return arr[index];\n }\n return void 0;\n}\nfunction useArrayFindLast(list, fn) {\n return computed(() => toValue(\n !Array.prototype.findLast ? findLast(toValue(list), (element, index, array) => fn(toValue(element), index, array)) : toValue(list).findLast((element, index, array) => fn(toValue(element), index, array))\n ));\n}\n\nfunction isArrayIncludesOptions(obj) {\n return isObject(obj) && containsProp(obj, \"formIndex\", \"comparator\");\n}\nfunction useArrayIncludes(...args) {\n var _a;\n const list = args[0];\n const value = args[1];\n let comparator = args[2];\n let formIndex = 0;\n if (isArrayIncludesOptions(comparator)) {\n formIndex = (_a = comparator.fromIndex) != null ? _a : 0;\n comparator = comparator.comparator;\n }\n if (typeof comparator === \"string\") {\n const key = comparator;\n comparator = (element, value2) => element[key] === toValue(value2);\n }\n comparator = comparator != null ? comparator : (element, value2) => element === toValue(value2);\n return computed(() => toValue(list).slice(formIndex).some((element, index, array) => comparator(\n toValue(element),\n toValue(value),\n index,\n toValue(array)\n )));\n}\n\nfunction useArrayJoin(list, separator) {\n return computed(() => toValue(list).map((i) => toValue(i)).join(toValue(separator)));\n}\n\nfunction useArrayMap(list, fn) {\n return computed(() => toValue(list).map((i) => toValue(i)).map(fn));\n}\n\nfunction useArrayReduce(list, reducer, ...args) {\n const reduceCallback = (sum, value, index) => reducer(toValue(sum), toValue(value), index);\n return computed(() => {\n const resolved = toValue(list);\n return args.length ? resolved.reduce(reduceCallback, typeof args[0] === \"function\" ? toValue(args[0]()) : toValue(args[0])) : resolved.reduce(reduceCallback);\n });\n}\n\nfunction useArraySome(list, fn) {\n return computed(() => toValue(list).some((element, index, array) => fn(toValue(element), index, array)));\n}\n\nfunction uniq(array) {\n return Array.from(new Set(array));\n}\nfunction uniqueElementsBy(array, fn) {\n return array.reduce((acc, v) => {\n if (!acc.some((x) => fn(v, x, array)))\n acc.push(v);\n return acc;\n }, []);\n}\nfunction useArrayUnique(list, compareFn) {\n return computed(() => {\n const resolvedList = toValue(list).map((element) => toValue(element));\n return compareFn ? uniqueElementsBy(resolvedList, compareFn) : uniq(resolvedList);\n });\n}\n\nfunction useCounter(initialValue = 0, options = {}) {\n let _initialValue = unref(initialValue);\n const count = ref(initialValue);\n const {\n max = Number.POSITIVE_INFINITY,\n min = Number.NEGATIVE_INFINITY\n } = options;\n const inc = (delta = 1) => count.value = Math.max(Math.min(max, count.value + delta), min);\n const dec = (delta = 1) => count.value = Math.min(Math.max(min, count.value - delta), max);\n const get = () => count.value;\n const set = (val) => count.value = Math.max(min, Math.min(max, val));\n const reset = (val = _initialValue) => {\n _initialValue = val;\n return set(val);\n };\n return { count, inc, dec, get, set, reset };\n}\n\nconst REGEX_PARSE = /^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[T\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/i;\nconst REGEX_FORMAT = /[YMDHhms]o|\\[([^\\]]+)\\]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|SSS/g;\nfunction defaultMeridiem(hours, minutes, isLowercase, hasPeriod) {\n let m = hours < 12 ? \"AM\" : \"PM\";\n if (hasPeriod)\n m = m.split(\"\").reduce((acc, curr) => acc += `${curr}.`, \"\");\n return isLowercase ? m.toLowerCase() : m;\n}\nfunction formatOrdinal(num) {\n const suffixes = [\"th\", \"st\", \"nd\", \"rd\"];\n const v = num % 100;\n return num + (suffixes[(v - 20) % 10] || suffixes[v] || suffixes[0]);\n}\nfunction formatDate(date, formatStr, options = {}) {\n var _a;\n const years = date.getFullYear();\n const month = date.getMonth();\n const days = date.getDate();\n const hours = date.getHours();\n const minutes = date.getMinutes();\n const seconds = date.getSeconds();\n const milliseconds = date.getMilliseconds();\n const day = date.getDay();\n const meridiem = (_a = options.customMeridiem) != null ? _a : defaultMeridiem;\n const matches = {\n Yo: () => formatOrdinal(years),\n YY: () => String(years).slice(-2),\n YYYY: () => years,\n M: () => month + 1,\n Mo: () => formatOrdinal(month + 1),\n MM: () => `${month + 1}`.padStart(2, \"0\"),\n MMM: () => date.toLocaleDateString(toValue(options.locales), { month: \"short\" }),\n MMMM: () => date.toLocaleDateString(toValue(options.locales), { month: \"long\" }),\n D: () => String(days),\n Do: () => formatOrdinal(days),\n DD: () => `${days}`.padStart(2, \"0\"),\n H: () => String(hours),\n Ho: () => formatOrdinal(hours),\n HH: () => `${hours}`.padStart(2, \"0\"),\n h: () => `${hours % 12 || 12}`.padStart(1, \"0\"),\n ho: () => formatOrdinal(hours % 12 || 12),\n hh: () => `${hours % 12 || 12}`.padStart(2, \"0\"),\n m: () => String(minutes),\n mo: () => formatOrdinal(minutes),\n mm: () => `${minutes}`.padStart(2, \"0\"),\n s: () => String(seconds),\n so: () => formatOrdinal(seconds),\n ss: () => `${seconds}`.padStart(2, \"0\"),\n SSS: () => `${milliseconds}`.padStart(3, \"0\"),\n d: () => day,\n dd: () => date.toLocaleDateString(toValue(options.locales), { weekday: \"narrow\" }),\n ddd: () => date.toLocaleDateString(toValue(options.locales), { weekday: \"short\" }),\n dddd: () => date.toLocaleDateString(toValue(options.locales), { weekday: \"long\" }),\n A: () => meridiem(hours, minutes),\n AA: () => meridiem(hours, minutes, false, true),\n a: () => meridiem(hours, minutes, true),\n aa: () => meridiem(hours, minutes, true, true)\n };\n return formatStr.replace(REGEX_FORMAT, (match, $1) => {\n var _a2, _b;\n return (_b = $1 != null ? $1 : (_a2 = matches[match]) == null ? void 0 : _a2.call(matches)) != null ? _b : match;\n });\n}\nfunction normalizeDate(date) {\n if (date === null)\n return new Date(Number.NaN);\n if (date === void 0)\n return /* @__PURE__ */ new Date();\n if (date instanceof Date)\n return new Date(date);\n if (typeof date === \"string\" && !/Z$/i.test(date)) {\n const d = date.match(REGEX_PARSE);\n if (d) {\n const m = d[2] - 1 || 0;\n const ms = (d[7] || \"0\").substring(0, 3);\n return new Date(d[1], m, d[3] || 1, d[4] || 0, d[5] || 0, d[6] || 0, ms);\n }\n }\n return new Date(date);\n}\nfunction useDateFormat(date, formatStr = \"HH:mm:ss\", options = {}) {\n return computed(() => formatDate(normalizeDate(toValue(date)), toValue(formatStr), options));\n}\n\nfunction useIntervalFn(cb, interval = 1e3, options = {}) {\n const {\n immediate = true,\n immediateCallback = false\n } = options;\n let timer = null;\n const isActive = ref(false);\n function clean() {\n if (timer) {\n clearInterval(timer);\n timer = null;\n }\n }\n function pause() {\n isActive.value = false;\n clean();\n }\n function resume() {\n const intervalValue = toValue(interval);\n if (intervalValue <= 0)\n return;\n isActive.value = true;\n if (immediateCallback)\n cb();\n clean();\n if (isActive.value)\n timer = setInterval(cb, intervalValue);\n }\n if (immediate && isClient)\n resume();\n if (isRef(interval) || typeof interval === \"function\") {\n const stopWatch = watch(interval, () => {\n if (isActive.value && isClient)\n resume();\n });\n tryOnScopeDispose(stopWatch);\n }\n tryOnScopeDispose(pause);\n return {\n isActive,\n pause,\n resume\n };\n}\n\nfunction useInterval(interval = 1e3, options = {}) {\n const {\n controls: exposeControls = false,\n immediate = true,\n callback\n } = options;\n const counter = ref(0);\n const update = () => counter.value += 1;\n const reset = () => {\n counter.value = 0;\n };\n const controls = useIntervalFn(\n callback ? () => {\n update();\n callback(counter.value);\n } : update,\n interval,\n { immediate }\n );\n if (exposeControls) {\n return {\n counter,\n reset,\n ...controls\n };\n } else {\n return counter;\n }\n}\n\nfunction useLastChanged(source, options = {}) {\n var _a;\n const ms = ref((_a = options.initialValue) != null ? _a : null);\n watch(\n source,\n () => ms.value = timestamp(),\n options\n );\n return ms;\n}\n\nfunction useTimeoutFn(cb, interval, options = {}) {\n const {\n immediate = true\n } = options;\n const isPending = ref(false);\n let timer = null;\n function clear() {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n }\n function stop() {\n isPending.value = false;\n clear();\n }\n function start(...args) {\n clear();\n isPending.value = true;\n timer = setTimeout(() => {\n isPending.value = false;\n timer = null;\n cb(...args);\n }, toValue(interval));\n }\n if (immediate) {\n isPending.value = true;\n if (isClient)\n start();\n }\n tryOnScopeDispose(stop);\n return {\n isPending: readonly(isPending),\n start,\n stop\n };\n}\n\nfunction useTimeout(interval = 1e3, options = {}) {\n const {\n controls: exposeControls = false,\n callback\n } = options;\n const controls = useTimeoutFn(\n callback != null ? callback : noop,\n interval,\n options\n );\n const ready = computed(() => !controls.isPending.value);\n if (exposeControls) {\n return {\n ready,\n ...controls\n };\n } else {\n return ready;\n }\n}\n\nfunction useToNumber(value, options = {}) {\n const {\n method = \"parseFloat\",\n radix,\n nanToZero\n } = options;\n return computed(() => {\n let resolved = toValue(value);\n if (typeof resolved === \"string\")\n resolved = Number[method](resolved, radix);\n if (nanToZero && Number.isNaN(resolved))\n resolved = 0;\n return resolved;\n });\n}\n\nfunction useToString(value) {\n return computed(() => `${toValue(value)}`);\n}\n\nfunction useToggle(initialValue = false, options = {}) {\n const {\n truthyValue = true,\n falsyValue = false\n } = options;\n const valueIsRef = isRef(initialValue);\n const _value = ref(initialValue);\n function toggle(value) {\n if (arguments.length) {\n _value.value = value;\n return _value.value;\n } else {\n const truthy = toValue(truthyValue);\n _value.value = _value.value === truthy ? toValue(falsyValue) : truthy;\n return _value.value;\n }\n }\n if (valueIsRef)\n return toggle;\n else\n return [_value, toggle];\n}\n\nfunction watchArray(source, cb, options) {\n let oldList = (options == null ? void 0 : options.immediate) ? [] : [...source instanceof Function ? source() : Array.isArray(source) ? source : toValue(source)];\n return watch(source, (newList, _, onCleanup) => {\n const oldListRemains = Array.from({ length: oldList.length });\n const added = [];\n for (const obj of newList) {\n let found = false;\n for (let i = 0; i < oldList.length; i++) {\n if (!oldListRemains[i] && obj === oldList[i]) {\n oldListRemains[i] = true;\n found = true;\n break;\n }\n }\n if (!found)\n added.push(obj);\n }\n const removed = oldList.filter((_2, i) => !oldListRemains[i]);\n cb(newList, oldList, added, removed, onCleanup);\n oldList = [...newList];\n }, options);\n}\n\nfunction watchAtMost(source, cb, options) {\n const {\n count,\n ...watchOptions\n } = options;\n const current = ref(0);\n const stop = watchWithFilter(\n source,\n (...args) => {\n current.value += 1;\n if (current.value >= toValue(count))\n nextTick(() => stop());\n cb(...args);\n },\n watchOptions\n );\n return { count: current, stop };\n}\n\nfunction watchDebounced(source, cb, options = {}) {\n const {\n debounce = 0,\n maxWait = void 0,\n ...watchOptions\n } = options;\n return watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter: debounceFilter(debounce, { maxWait })\n }\n );\n}\n\nfunction watchDeep(source, cb, options) {\n return watch(\n source,\n cb,\n {\n ...options,\n deep: true\n }\n );\n}\n\nfunction watchIgnorable(source, cb, options = {}) {\n const {\n eventFilter = bypassFilter,\n ...watchOptions\n } = options;\n const filteredCb = createFilterWrapper(\n eventFilter,\n cb\n );\n let ignoreUpdates;\n let ignorePrevAsyncUpdates;\n let stop;\n if (watchOptions.flush === \"sync\") {\n const ignore = ref(false);\n ignorePrevAsyncUpdates = () => {\n };\n ignoreUpdates = (updater) => {\n ignore.value = true;\n updater();\n ignore.value = false;\n };\n stop = watch(\n source,\n (...args) => {\n if (!ignore.value)\n filteredCb(...args);\n },\n watchOptions\n );\n } else {\n const disposables = [];\n const ignoreCounter = ref(0);\n const syncCounter = ref(0);\n ignorePrevAsyncUpdates = () => {\n ignoreCounter.value = syncCounter.value;\n };\n disposables.push(\n watch(\n source,\n () => {\n syncCounter.value++;\n },\n { ...watchOptions, flush: \"sync\" }\n )\n );\n ignoreUpdates = (updater) => {\n const syncCounterPrev = syncCounter.value;\n updater();\n ignoreCounter.value += syncCounter.value - syncCounterPrev;\n };\n disposables.push(\n watch(\n source,\n (...args) => {\n const ignore = ignoreCounter.value > 0 && ignoreCounter.value === syncCounter.value;\n ignoreCounter.value = 0;\n syncCounter.value = 0;\n if (ignore)\n return;\n filteredCb(...args);\n },\n watchOptions\n )\n );\n stop = () => {\n disposables.forEach((fn) => fn());\n };\n }\n return { stop, ignoreUpdates, ignorePrevAsyncUpdates };\n}\n\nfunction watchImmediate(source, cb, options) {\n return watch(\n source,\n cb,\n {\n ...options,\n immediate: true\n }\n );\n}\n\nfunction watchOnce(source, cb, options) {\n const stop = watch(source, (...args) => {\n nextTick(() => stop());\n return cb(...args);\n }, options);\n return stop;\n}\n\nfunction watchThrottled(source, cb, options = {}) {\n const {\n throttle = 0,\n trailing = true,\n leading = true,\n ...watchOptions\n } = options;\n return watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter: throttleFilter(throttle, trailing, leading)\n }\n );\n}\n\nfunction watchTriggerable(source, cb, options = {}) {\n let cleanupFn;\n function onEffect() {\n if (!cleanupFn)\n return;\n const fn = cleanupFn;\n cleanupFn = void 0;\n fn();\n }\n function onCleanup(callback) {\n cleanupFn = callback;\n }\n const _cb = (value, oldValue) => {\n onEffect();\n return cb(value, oldValue, onCleanup);\n };\n const res = watchIgnorable(source, _cb, options);\n const { ignoreUpdates } = res;\n const trigger = () => {\n let res2;\n ignoreUpdates(() => {\n res2 = _cb(getWatchSources(source), getOldValue(source));\n });\n return res2;\n };\n return {\n ...res,\n trigger\n };\n}\nfunction getWatchSources(sources) {\n if (isReactive(sources))\n return sources;\n if (Array.isArray(sources))\n return sources.map((item) => toValue(item));\n return toValue(sources);\n}\nfunction getOldValue(source) {\n return Array.isArray(source) ? source.map(() => void 0) : void 0;\n}\n\nfunction whenever(source, cb, options) {\n const stop = watch(\n source,\n (v, ov, onInvalidate) => {\n if (v) {\n if (options == null ? void 0 : options.once)\n nextTick(() => stop());\n cb(v, ov, onInvalidate);\n }\n },\n {\n ...options,\n once: false\n }\n );\n return stop;\n}\n\nexport { assert, refAutoReset as autoResetRef, bypassFilter, camelize, clamp, computedEager, computedWithControl, containsProp, computedWithControl as controlledComputed, controlledRef, createEventHook, createFilterWrapper, createGlobalState, createInjectionState, reactify as createReactiveFn, createSharedComposable, createSingletonPromise, debounceFilter, refDebounced as debouncedRef, watchDebounced as debouncedWatch, directiveHooks, computedEager as eagerComputed, extendRef, formatDate, get, getLifeCycleTarget, hasOwn, hyphenate, identity, watchIgnorable as ignorableWatch, increaseWithUnit, injectLocal, invoke, isClient, isDef, isDefined, isIOS, isObject, isWorker, makeDestructurable, noop, normalizeDate, notNullish, now, objectEntries, objectOmit, objectPick, pausableFilter, watchPausable as pausableWatch, promiseTimeout, provideLocal, rand, reactify, reactifyObject, reactiveComputed, reactiveOmit, reactivePick, refAutoReset, refDebounced, refDefault, refThrottled, refWithControl, resolveRef, resolveUnref, set, syncRef, syncRefs, throttleFilter, refThrottled as throttledRef, watchThrottled as throttledWatch, timestamp, toReactive, toRef, toRefs, toValue, tryOnBeforeMount, tryOnBeforeUnmount, tryOnMounted, tryOnScopeDispose, tryOnUnmounted, until, useArrayDifference, useArrayEvery, useArrayFilter, useArrayFind, useArrayFindIndex, useArrayFindLast, useArrayIncludes, useArrayJoin, useArrayMap, useArrayReduce, useArraySome, useArrayUnique, useCounter, useDateFormat, refDebounced as useDebounce, useDebounceFn, useInterval, useIntervalFn, useLastChanged, refThrottled as useThrottle, useThrottleFn, useTimeout, useTimeoutFn, useToNumber, useToString, useToggle, watchArray, watchAtMost, watchDebounced, watchDeep, watchIgnorable, watchImmediate, watchOnce, watchPausable, watchThrottled, watchTriggerable, watchWithFilter, whenever };\n","import { onClickOutside as onClickOutside$1, useActiveElement, useBattery, useBrowserLocation, useClipboard, useDark, useDeviceMotion, useDeviceOrientation, useDevicePixelRatio, useDevicesList, useDocumentVisibility, useStorage as useStorage$1, isClient as isClient$1, useDraggable, useElementBounding, useElementSize as useElementSize$1, useElementVisibility as useElementVisibility$1, useEyeDropper, useFullscreen, useGeolocation, useIdle, useMouse, useMouseInElement, useMousePressed, useNetwork, useNow, useObjectUrl, useOffsetPagination, useOnline, usePageLeave, usePointer, usePointerLock, usePreferredColorScheme, usePreferredContrast, usePreferredDark as usePreferredDark$1, usePreferredLanguages, usePreferredReducedMotion, useTimeAgo, useTimestamp, useVirtualList, useWindowFocus, useWindowSize } from '@vueuse/core';\nimport { defineComponent, ref, h, watch, computed, reactive, getCurrentInstance, onMounted, isVue2, watchEffect, shallowRef, nextTick, toRefs } from 'vue-demi';\nimport { isClient, toValue, noop, isObject, tryOnScopeDispose, isIOS, directiveHooks, pausableWatch, tryOnMounted, toRef, useToggle, notNullish, promiseTimeout, until, useDebounceFn, useThrottleFn, tryOnUnmounted } from '@vueuse/shared';\n\nconst OnClickOutside = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"OnClickOutside\",\n props: [\"as\", \"options\"],\n emits: [\"trigger\"],\n setup(props, { slots, emit }) {\n const target = ref();\n onClickOutside$1(target, (e) => {\n emit(\"trigger\", e);\n }, props.options);\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target }, slots.default());\n };\n }\n});\n\nconst defaultWindow = isClient ? window : void 0;\n\nfunction unrefElement(elRef) {\n var _a;\n const plain = toValue(elRef);\n return (_a = plain == null ? void 0 : plain.$el) != null ? _a : plain;\n}\n\nfunction useEventListener(...args) {\n let target;\n let events;\n let listeners;\n let options;\n if (typeof args[0] === \"string\" || Array.isArray(args[0])) {\n [events, listeners, options] = args;\n target = defaultWindow;\n } else {\n [target, events, listeners, options] = args;\n }\n if (!target)\n return noop;\n if (!Array.isArray(events))\n events = [events];\n if (!Array.isArray(listeners))\n listeners = [listeners];\n const cleanups = [];\n const cleanup = () => {\n cleanups.forEach((fn) => fn());\n cleanups.length = 0;\n };\n const register = (el, event, listener, options2) => {\n el.addEventListener(event, listener, options2);\n return () => el.removeEventListener(event, listener, options2);\n };\n const stopWatch = watch(\n () => [unrefElement(target), toValue(options)],\n ([el, options2]) => {\n cleanup();\n if (!el)\n return;\n const optionsClone = isObject(options2) ? { ...options2 } : options2;\n cleanups.push(\n ...events.flatMap((event) => {\n return listeners.map((listener) => register(el, event, listener, optionsClone));\n })\n );\n },\n { immediate: true, flush: \"post\" }\n );\n const stop = () => {\n stopWatch();\n cleanup();\n };\n tryOnScopeDispose(stop);\n return stop;\n}\n\nlet _iOSWorkaround = false;\nfunction onClickOutside(target, handler, options = {}) {\n const { window = defaultWindow, ignore = [], capture = true, detectIframe = false } = options;\n if (!window)\n return noop;\n if (isIOS && !_iOSWorkaround) {\n _iOSWorkaround = true;\n Array.from(window.document.body.children).forEach((el) => el.addEventListener(\"click\", noop));\n window.document.documentElement.addEventListener(\"click\", noop);\n }\n let shouldListen = true;\n const shouldIgnore = (event) => {\n return toValue(ignore).some((target2) => {\n if (typeof target2 === \"string\") {\n return Array.from(window.document.querySelectorAll(target2)).some((el) => el === event.target || event.composedPath().includes(el));\n } else {\n const el = unrefElement(target2);\n return el && (event.target === el || event.composedPath().includes(el));\n }\n });\n };\n function hasMultipleRoots(target2) {\n const vm = toValue(target2);\n return vm && vm.$.subTree.shapeFlag === 16;\n }\n function checkMultipleRoots(target2, event) {\n const vm = toValue(target2);\n const children = vm.$.subTree && vm.$.subTree.children;\n if (children == null || !Array.isArray(children))\n return false;\n return children.some((child) => child.el === event.target || event.composedPath().includes(child.el));\n }\n const listener = (event) => {\n const el = unrefElement(target);\n if (event.target == null)\n return;\n if (!(el instanceof Element) && hasMultipleRoots(target) && checkMultipleRoots(target, event))\n return;\n if (!el || el === event.target || event.composedPath().includes(el))\n return;\n if (event.detail === 0)\n shouldListen = !shouldIgnore(event);\n if (!shouldListen) {\n shouldListen = true;\n return;\n }\n handler(event);\n };\n let isProcessingClick = false;\n const cleanup = [\n useEventListener(window, \"click\", (event) => {\n if (!isProcessingClick) {\n isProcessingClick = true;\n setTimeout(() => {\n isProcessingClick = false;\n }, 0);\n listener(event);\n }\n }, { passive: true, capture }),\n useEventListener(window, \"pointerdown\", (e) => {\n const el = unrefElement(target);\n shouldListen = !shouldIgnore(e) && !!(el && !e.composedPath().includes(el));\n }, { passive: true }),\n detectIframe && useEventListener(window, \"blur\", (event) => {\n setTimeout(() => {\n var _a;\n const el = unrefElement(target);\n if (((_a = window.document.activeElement) == null ? void 0 : _a.tagName) === \"IFRAME\" && !(el == null ? void 0 : el.contains(window.document.activeElement))) {\n handler(event);\n }\n }, 0);\n })\n ].filter(Boolean);\n const stop = () => cleanup.forEach((fn) => fn());\n return stop;\n}\n\nconst vOnClickOutside = {\n [directiveHooks.mounted](el, binding) {\n const capture = !binding.modifiers.bubble;\n if (typeof binding.value === \"function\") {\n el.__onClickOutside_stop = onClickOutside(el, binding.value, { capture });\n } else {\n const [handler, options] = binding.value;\n el.__onClickOutside_stop = onClickOutside(el, handler, Object.assign({ capture }, options));\n }\n },\n [directiveHooks.unmounted](el) {\n el.__onClickOutside_stop();\n }\n};\n\nfunction createKeyPredicate(keyFilter) {\n if (typeof keyFilter === \"function\")\n return keyFilter;\n else if (typeof keyFilter === \"string\")\n return (event) => event.key === keyFilter;\n else if (Array.isArray(keyFilter))\n return (event) => keyFilter.includes(event.key);\n return () => true;\n}\nfunction onKeyStroke(...args) {\n let key;\n let handler;\n let options = {};\n if (args.length === 3) {\n key = args[0];\n handler = args[1];\n options = args[2];\n } else if (args.length === 2) {\n if (typeof args[1] === \"object\") {\n key = true;\n handler = args[0];\n options = args[1];\n } else {\n key = args[0];\n handler = args[1];\n }\n } else {\n key = true;\n handler = args[0];\n }\n const {\n target = defaultWindow,\n eventName = \"keydown\",\n passive = false,\n dedupe = false\n } = options;\n const predicate = createKeyPredicate(key);\n const listener = (e) => {\n if (e.repeat && toValue(dedupe))\n return;\n if (predicate(e))\n handler(e);\n };\n return useEventListener(target, eventName, listener, passive);\n}\n\nconst vOnKeyStroke = {\n [directiveHooks.mounted](el, binding) {\n var _a, _b;\n const keys = (_b = (_a = binding.arg) == null ? void 0 : _a.split(\",\")) != null ? _b : true;\n if (typeof binding.value === \"function\") {\n onKeyStroke(keys, binding.value, {\n target: el\n });\n } else {\n const [handler, options] = binding.value;\n onKeyStroke(keys, handler, {\n target: el,\n ...options\n });\n }\n }\n};\n\nconst DEFAULT_DELAY = 500;\nconst DEFAULT_THRESHOLD = 10;\nfunction onLongPress(target, handler, options) {\n var _a, _b;\n const elementRef = computed(() => unrefElement(target));\n let timeout;\n let posStart;\n let startTimestamp;\n let hasLongPressed = false;\n function clear() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = void 0;\n }\n posStart = void 0;\n startTimestamp = void 0;\n hasLongPressed = false;\n }\n function onRelease(ev) {\n var _a2, _b2, _c;\n const [_startTimestamp, _posStart, _hasLongPressed] = [startTimestamp, posStart, hasLongPressed];\n clear();\n if (!(options == null ? void 0 : options.onMouseUp) || !_posStart || !_startTimestamp)\n return;\n if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value)\n return;\n if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent)\n ev.preventDefault();\n if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop)\n ev.stopPropagation();\n const dx = ev.x - _posStart.x;\n const dy = ev.y - _posStart.y;\n const distance = Math.sqrt(dx * dx + dy * dy);\n options.onMouseUp(ev.timeStamp - _startTimestamp, distance, _hasLongPressed);\n }\n function onDown(ev) {\n var _a2, _b2, _c, _d;\n if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value)\n return;\n clear();\n if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent)\n ev.preventDefault();\n if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop)\n ev.stopPropagation();\n posStart = {\n x: ev.x,\n y: ev.y\n };\n startTimestamp = ev.timeStamp;\n timeout = setTimeout(\n () => {\n hasLongPressed = true;\n handler(ev);\n },\n (_d = options == null ? void 0 : options.delay) != null ? _d : DEFAULT_DELAY\n );\n }\n function onMove(ev) {\n var _a2, _b2, _c, _d;\n if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value)\n return;\n if (!posStart || (options == null ? void 0 : options.distanceThreshold) === false)\n return;\n if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent)\n ev.preventDefault();\n if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop)\n ev.stopPropagation();\n const dx = ev.x - posStart.x;\n const dy = ev.y - posStart.y;\n const distance = Math.sqrt(dx * dx + dy * dy);\n if (distance >= ((_d = options == null ? void 0 : options.distanceThreshold) != null ? _d : DEFAULT_THRESHOLD))\n clear();\n }\n const listenerOptions = {\n capture: (_a = options == null ? void 0 : options.modifiers) == null ? void 0 : _a.capture,\n once: (_b = options == null ? void 0 : options.modifiers) == null ? void 0 : _b.once\n };\n const cleanup = [\n useEventListener(elementRef, \"pointerdown\", onDown, listenerOptions),\n useEventListener(elementRef, \"pointermove\", onMove, listenerOptions),\n useEventListener(elementRef, [\"pointerup\", \"pointerleave\"], onRelease, listenerOptions)\n ];\n const stop = () => cleanup.forEach((fn) => fn());\n return stop;\n}\n\nconst OnLongPress = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"OnLongPress\",\n props: [\"as\", \"options\"],\n emits: [\"trigger\"],\n setup(props, { slots, emit }) {\n const target = ref();\n onLongPress(\n target,\n (e) => {\n emit(\"trigger\", e);\n },\n props.options\n );\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target }, slots.default());\n };\n }\n});\n\nconst vOnLongPress = {\n [directiveHooks.mounted](el, binding) {\n if (typeof binding.value === \"function\")\n onLongPress(el, binding.value, { modifiers: binding.modifiers });\n else\n onLongPress(el, ...binding.value);\n }\n};\n\nconst UseActiveElement = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseActiveElement\",\n setup(props, { slots }) {\n const data = reactive({\n element: useActiveElement()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseBattery = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseBattery\",\n setup(props, { slots }) {\n const data = reactive(useBattery(props));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseBrowserLocation = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseBrowserLocation\",\n setup(props, { slots }) {\n const data = reactive(useBrowserLocation());\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseClipboard = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseClipboard\",\n props: [\n \"source\",\n \"read\",\n \"navigator\",\n \"copiedDuring\",\n \"legacy\"\n ],\n setup(props, { slots }) {\n const data = reactive(useClipboard(props));\n return () => {\n var _a;\n return (_a = slots.default) == null ? void 0 : _a.call(slots, data);\n };\n }\n});\n\nconst _global = typeof globalThis !== \"undefined\" ? globalThis : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : {};\nconst globalKey = \"__vueuse_ssr_handlers__\";\nconst handlers = /* @__PURE__ */ getHandlers();\nfunction getHandlers() {\n if (!(globalKey in _global))\n _global[globalKey] = _global[globalKey] || {};\n return _global[globalKey];\n}\nfunction getSSRHandler(key, fallback) {\n return handlers[key] || fallback;\n}\n\nfunction useMounted() {\n const isMounted = ref(false);\n const instance = getCurrentInstance();\n if (instance) {\n onMounted(() => {\n isMounted.value = true;\n }, isVue2 ? void 0 : instance);\n }\n return isMounted;\n}\n\nfunction useSupported(callback) {\n const isMounted = useMounted();\n return computed(() => {\n isMounted.value;\n return Boolean(callback());\n });\n}\n\nfunction useMediaQuery(query, options = {}) {\n const { window = defaultWindow } = options;\n const isSupported = useSupported(() => window && \"matchMedia\" in window && typeof window.matchMedia === \"function\");\n let mediaQuery;\n const matches = ref(false);\n const handler = (event) => {\n matches.value = event.matches;\n };\n const cleanup = () => {\n if (!mediaQuery)\n return;\n if (\"removeEventListener\" in mediaQuery)\n mediaQuery.removeEventListener(\"change\", handler);\n else\n mediaQuery.removeListener(handler);\n };\n const stopWatch = watchEffect(() => {\n if (!isSupported.value)\n return;\n cleanup();\n mediaQuery = window.matchMedia(toValue(query));\n if (\"addEventListener\" in mediaQuery)\n mediaQuery.addEventListener(\"change\", handler);\n else\n mediaQuery.addListener(handler);\n matches.value = mediaQuery.matches;\n });\n tryOnScopeDispose(() => {\n stopWatch();\n cleanup();\n mediaQuery = void 0;\n });\n return matches;\n}\n\nfunction usePreferredDark(options) {\n return useMediaQuery(\"(prefers-color-scheme: dark)\", options);\n}\n\nfunction guessSerializerType(rawInit) {\n return rawInit == null ? \"any\" : rawInit instanceof Set ? \"set\" : rawInit instanceof Map ? \"map\" : rawInit instanceof Date ? \"date\" : typeof rawInit === \"boolean\" ? \"boolean\" : typeof rawInit === \"string\" ? \"string\" : typeof rawInit === \"object\" ? \"object\" : !Number.isNaN(rawInit) ? \"number\" : \"any\";\n}\n\nconst StorageSerializers = {\n boolean: {\n read: (v) => v === \"true\",\n write: (v) => String(v)\n },\n object: {\n read: (v) => JSON.parse(v),\n write: (v) => JSON.stringify(v)\n },\n number: {\n read: (v) => Number.parseFloat(v),\n write: (v) => String(v)\n },\n any: {\n read: (v) => v,\n write: (v) => String(v)\n },\n string: {\n read: (v) => v,\n write: (v) => String(v)\n },\n map: {\n read: (v) => new Map(JSON.parse(v)),\n write: (v) => JSON.stringify(Array.from(v.entries()))\n },\n set: {\n read: (v) => new Set(JSON.parse(v)),\n write: (v) => JSON.stringify(Array.from(v))\n },\n date: {\n read: (v) => new Date(v),\n write: (v) => v.toISOString()\n }\n};\nconst customStorageEventName = \"vueuse-storage\";\nfunction useStorage(key, defaults, storage, options = {}) {\n var _a;\n const {\n flush = \"pre\",\n deep = true,\n listenToStorageChanges = true,\n writeDefaults = true,\n mergeDefaults = false,\n shallow,\n window = defaultWindow,\n eventFilter,\n onError = (e) => {\n console.error(e);\n },\n initOnMounted\n } = options;\n const data = (shallow ? shallowRef : ref)(typeof defaults === \"function\" ? defaults() : defaults);\n if (!storage) {\n try {\n storage = getSSRHandler(\"getDefaultStorage\", () => {\n var _a2;\n return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage;\n })();\n } catch (e) {\n onError(e);\n }\n }\n if (!storage)\n return data;\n const rawInit = toValue(defaults);\n const type = guessSerializerType(rawInit);\n const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type];\n const { pause: pauseWatch, resume: resumeWatch } = pausableWatch(\n data,\n () => write(data.value),\n { flush, deep, eventFilter }\n );\n if (window && listenToStorageChanges) {\n tryOnMounted(() => {\n if (storage instanceof Storage)\n useEventListener(window, \"storage\", update);\n else\n useEventListener(window, customStorageEventName, updateFromCustomEvent);\n if (initOnMounted)\n update();\n });\n }\n if (!initOnMounted)\n update();\n function dispatchWriteEvent(oldValue, newValue) {\n if (window) {\n const payload = {\n key,\n oldValue,\n newValue,\n storageArea: storage\n };\n window.dispatchEvent(storage instanceof Storage ? new StorageEvent(\"storage\", payload) : new CustomEvent(customStorageEventName, {\n detail: payload\n }));\n }\n }\n function write(v) {\n try {\n const oldValue = storage.getItem(key);\n if (v == null) {\n dispatchWriteEvent(oldValue, null);\n storage.removeItem(key);\n } else {\n const serialized = serializer.write(v);\n if (oldValue !== serialized) {\n storage.setItem(key, serialized);\n dispatchWriteEvent(oldValue, serialized);\n }\n }\n } catch (e) {\n onError(e);\n }\n }\n function read(event) {\n const rawValue = event ? event.newValue : storage.getItem(key);\n if (rawValue == null) {\n if (writeDefaults && rawInit != null)\n storage.setItem(key, serializer.write(rawInit));\n return rawInit;\n } else if (!event && mergeDefaults) {\n const value = serializer.read(rawValue);\n if (typeof mergeDefaults === \"function\")\n return mergeDefaults(value, rawInit);\n else if (type === \"object\" && !Array.isArray(value))\n return { ...rawInit, ...value };\n return value;\n } else if (typeof rawValue !== \"string\") {\n return rawValue;\n } else {\n return serializer.read(rawValue);\n }\n }\n function update(event) {\n if (event && event.storageArea !== storage)\n return;\n if (event && event.key == null) {\n data.value = rawInit;\n return;\n }\n if (event && event.key !== key)\n return;\n pauseWatch();\n try {\n if ((event == null ? void 0 : event.newValue) !== serializer.write(data.value))\n data.value = read(event);\n } catch (e) {\n onError(e);\n } finally {\n if (event)\n nextTick(resumeWatch);\n else\n resumeWatch();\n }\n }\n function updateFromCustomEvent(event) {\n update(event.detail);\n }\n return data;\n}\n\nconst CSS_DISABLE_TRANS = \"*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}\";\nfunction useColorMode(options = {}) {\n const {\n selector = \"html\",\n attribute = \"class\",\n initialValue = \"auto\",\n window = defaultWindow,\n storage,\n storageKey = \"vueuse-color-scheme\",\n listenToStorageChanges = true,\n storageRef,\n emitAuto,\n disableTransition = true\n } = options;\n const modes = {\n auto: \"\",\n light: \"light\",\n dark: \"dark\",\n ...options.modes || {}\n };\n const preferredDark = usePreferredDark({ window });\n const system = computed(() => preferredDark.value ? \"dark\" : \"light\");\n const store = storageRef || (storageKey == null ? toRef(initialValue) : useStorage(storageKey, initialValue, storage, { window, listenToStorageChanges }));\n const state = computed(() => store.value === \"auto\" ? system.value : store.value);\n const updateHTMLAttrs = getSSRHandler(\n \"updateHTMLAttrs\",\n (selector2, attribute2, value) => {\n const el = typeof selector2 === \"string\" ? window == null ? void 0 : window.document.querySelector(selector2) : unrefElement(selector2);\n if (!el)\n return;\n const classesToAdd = /* @__PURE__ */ new Set();\n const classesToRemove = /* @__PURE__ */ new Set();\n let attributeToChange = null;\n if (attribute2 === \"class\") {\n const current = value.split(/\\s/g);\n Object.values(modes).flatMap((i) => (i || \"\").split(/\\s/g)).filter(Boolean).forEach((v) => {\n if (current.includes(v))\n classesToAdd.add(v);\n else\n classesToRemove.add(v);\n });\n } else {\n attributeToChange = { key: attribute2, value };\n }\n if (classesToAdd.size === 0 && classesToRemove.size === 0 && attributeToChange === null)\n return;\n let style;\n if (disableTransition) {\n style = window.document.createElement(\"style\");\n style.appendChild(document.createTextNode(CSS_DISABLE_TRANS));\n window.document.head.appendChild(style);\n }\n for (const c of classesToAdd) {\n el.classList.add(c);\n }\n for (const c of classesToRemove) {\n el.classList.remove(c);\n }\n if (attributeToChange) {\n el.setAttribute(attributeToChange.key, attributeToChange.value);\n }\n if (disableTransition) {\n window.getComputedStyle(style).opacity;\n document.head.removeChild(style);\n }\n }\n );\n function defaultOnChanged(mode) {\n var _a;\n updateHTMLAttrs(selector, attribute, (_a = modes[mode]) != null ? _a : mode);\n }\n function onChanged(mode) {\n if (options.onChanged)\n options.onChanged(mode, defaultOnChanged);\n else\n defaultOnChanged(mode);\n }\n watch(state, onChanged, { flush: \"post\", immediate: true });\n tryOnMounted(() => onChanged(state.value));\n const auto = computed({\n get() {\n return emitAuto ? store.value : state.value;\n },\n set(v) {\n store.value = v;\n }\n });\n try {\n return Object.assign(auto, { store, system, state });\n } catch (e) {\n return auto;\n }\n}\n\nconst UseColorMode = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseColorMode\",\n props: [\"selector\", \"attribute\", \"modes\", \"onChanged\", \"storageKey\", \"storage\", \"emitAuto\"],\n setup(props, { slots }) {\n const mode = useColorMode(props);\n const data = reactive({\n mode,\n system: mode.system,\n store: mode.store\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseDark = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseDark\",\n props: [\"selector\", \"attribute\", \"valueDark\", \"valueLight\", \"onChanged\", \"storageKey\", \"storage\"],\n setup(props, { slots }) {\n const isDark = useDark(props);\n const data = reactive({\n isDark,\n toggleDark: useToggle(isDark)\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseDeviceMotion = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseDeviceMotion\",\n setup(props, { slots }) {\n const data = reactive(useDeviceMotion());\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseDeviceOrientation = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseDeviceOrientation\",\n setup(props, { slots }) {\n const data = reactive(useDeviceOrientation());\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseDevicePixelRatio = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseDevicePixelRatio\",\n setup(props, { slots }) {\n const data = reactive({\n pixelRatio: useDevicePixelRatio()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseDevicesList = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseDevicesList\",\n props: [\"onUpdated\", \"requestPermissions\", \"constraints\"],\n setup(props, { slots }) {\n const data = reactive(useDevicesList(props));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseDocumentVisibility = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseDocumentVisibility\",\n setup(props, { slots }) {\n const data = reactive({\n visibility: useDocumentVisibility()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseDraggable = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseDraggable\",\n props: [\n \"storageKey\",\n \"storageType\",\n \"initialValue\",\n \"exact\",\n \"preventDefault\",\n \"stopPropagation\",\n \"pointerTypes\",\n \"as\",\n \"handle\",\n \"axis\",\n \"onStart\",\n \"onMove\",\n \"onEnd\",\n \"disabled\",\n \"buttons\",\n \"containerElement\"\n ],\n setup(props, { slots }) {\n const target = ref();\n const handle = computed(() => {\n var _a;\n return (_a = props.handle) != null ? _a : target.value;\n });\n const containerElement = computed(() => {\n var _a;\n return (_a = props.containerElement) != null ? _a : void 0;\n });\n const disabled = computed(() => !!props.disabled);\n const storageValue = props.storageKey && useStorage$1(\n props.storageKey,\n toValue(props.initialValue) || { x: 0, y: 0 },\n isClient$1 ? props.storageType === \"session\" ? sessionStorage : localStorage : void 0\n );\n const initialValue = storageValue || props.initialValue || { x: 0, y: 0 };\n const onEnd = (position, event) => {\n var _a;\n (_a = props.onEnd) == null ? void 0 : _a.call(props, position, event);\n if (!storageValue)\n return;\n storageValue.value.x = position.x;\n storageValue.value.y = position.y;\n };\n const data = reactive(useDraggable(target, {\n ...props,\n handle,\n initialValue,\n onEnd,\n disabled,\n containerElement\n }));\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target, style: `touch-action:none;${data.style}` }, slots.default(data));\n };\n }\n});\n\nconst UseElementBounding = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseElementBounding\",\n props: [\"box\", \"as\"],\n setup(props, { slots }) {\n const target = ref();\n const data = reactive(useElementBounding(target));\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target }, slots.default(data));\n };\n }\n});\n\nfunction useElementHover(el, options = {}) {\n const {\n delayEnter = 0,\n delayLeave = 0,\n window = defaultWindow\n } = options;\n const isHovered = ref(false);\n let timer;\n const toggle = (entering) => {\n const delay = entering ? delayEnter : delayLeave;\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n }\n if (delay)\n timer = setTimeout(() => isHovered.value = entering, delay);\n else\n isHovered.value = entering;\n };\n if (!window)\n return isHovered;\n useEventListener(el, \"mouseenter\", () => toggle(true), { passive: true });\n useEventListener(el, \"mouseleave\", () => toggle(false), { passive: true });\n return isHovered;\n}\n\nconst vElementHover = {\n [directiveHooks.mounted](el, binding) {\n const value = binding.value;\n if (typeof value === \"function\") {\n const isHovered = useElementHover(el);\n watch(isHovered, (v) => value(v));\n } else {\n const [handler, options] = value;\n const isHovered = useElementHover(el, options);\n watch(isHovered, (v) => handler(v));\n }\n }\n};\n\nconst UseElementSize = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseElementSize\",\n props: [\"width\", \"height\", \"box\", \"as\"],\n setup(props, { slots }) {\n const target = ref();\n const data = reactive(useElementSize$1(target, { width: props.width, height: props.height }, { box: props.box }));\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target }, slots.default(data));\n };\n }\n});\n\nfunction useResizeObserver(target, callback, options = {}) {\n const { window = defaultWindow, ...observerOptions } = options;\n let observer;\n const isSupported = useSupported(() => window && \"ResizeObserver\" in window);\n const cleanup = () => {\n if (observer) {\n observer.disconnect();\n observer = void 0;\n }\n };\n const targets = computed(() => {\n const _targets = toValue(target);\n return Array.isArray(_targets) ? _targets.map((el) => unrefElement(el)) : [unrefElement(_targets)];\n });\n const stopWatch = watch(\n targets,\n (els) => {\n cleanup();\n if (isSupported.value && window) {\n observer = new ResizeObserver(callback);\n for (const _el of els) {\n if (_el)\n observer.observe(_el, observerOptions);\n }\n }\n },\n { immediate: true, flush: \"post\" }\n );\n const stop = () => {\n cleanup();\n stopWatch();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop\n };\n}\n\nfunction useElementSize(target, initialSize = { width: 0, height: 0 }, options = {}) {\n const { window = defaultWindow, box = \"content-box\" } = options;\n const isSVG = computed(() => {\n var _a, _b;\n return (_b = (_a = unrefElement(target)) == null ? void 0 : _a.namespaceURI) == null ? void 0 : _b.includes(\"svg\");\n });\n const width = ref(initialSize.width);\n const height = ref(initialSize.height);\n const { stop: stop1 } = useResizeObserver(\n target,\n ([entry]) => {\n const boxSize = box === \"border-box\" ? entry.borderBoxSize : box === \"content-box\" ? entry.contentBoxSize : entry.devicePixelContentBoxSize;\n if (window && isSVG.value) {\n const $elem = unrefElement(target);\n if ($elem) {\n const rect = $elem.getBoundingClientRect();\n width.value = rect.width;\n height.value = rect.height;\n }\n } else {\n if (boxSize) {\n const formatBoxSize = Array.isArray(boxSize) ? boxSize : [boxSize];\n width.value = formatBoxSize.reduce((acc, { inlineSize }) => acc + inlineSize, 0);\n height.value = formatBoxSize.reduce((acc, { blockSize }) => acc + blockSize, 0);\n } else {\n width.value = entry.contentRect.width;\n height.value = entry.contentRect.height;\n }\n }\n },\n options\n );\n tryOnMounted(() => {\n const ele = unrefElement(target);\n if (ele) {\n width.value = \"offsetWidth\" in ele ? ele.offsetWidth : initialSize.width;\n height.value = \"offsetHeight\" in ele ? ele.offsetHeight : initialSize.height;\n }\n });\n const stop2 = watch(\n () => unrefElement(target),\n (ele) => {\n width.value = ele ? initialSize.width : 0;\n height.value = ele ? initialSize.height : 0;\n }\n );\n function stop() {\n stop1();\n stop2();\n }\n return {\n width,\n height,\n stop\n };\n}\n\nconst vElementSize = {\n [directiveHooks.mounted](el, binding) {\n var _a;\n const handler = typeof binding.value === \"function\" ? binding.value : (_a = binding.value) == null ? void 0 : _a[0];\n const options = typeof binding.value === \"function\" ? [] : binding.value.slice(1);\n const { width, height } = useElementSize(el, ...options);\n watch([width, height], ([width2, height2]) => handler({ width: width2, height: height2 }));\n }\n};\n\nconst UseElementVisibility = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseElementVisibility\",\n props: [\"as\"],\n setup(props, { slots }) {\n const target = ref();\n const data = reactive({\n isVisible: useElementVisibility$1(target)\n });\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target }, slots.default(data));\n };\n }\n});\n\nfunction useIntersectionObserver(target, callback, options = {}) {\n const {\n root,\n rootMargin = \"0px\",\n threshold = 0,\n window = defaultWindow,\n immediate = true\n } = options;\n const isSupported = useSupported(() => window && \"IntersectionObserver\" in window);\n const targets = computed(() => {\n const _target = toValue(target);\n return (Array.isArray(_target) ? _target : [_target]).map(unrefElement).filter(notNullish);\n });\n let cleanup = noop;\n const isActive = ref(immediate);\n const stopWatch = isSupported.value ? watch(\n () => [targets.value, unrefElement(root), isActive.value],\n ([targets2, root2]) => {\n cleanup();\n if (!isActive.value)\n return;\n if (!targets2.length)\n return;\n const observer = new IntersectionObserver(\n callback,\n {\n root: unrefElement(root2),\n rootMargin,\n threshold\n }\n );\n targets2.forEach((el) => el && observer.observe(el));\n cleanup = () => {\n observer.disconnect();\n cleanup = noop;\n };\n },\n { immediate, flush: \"post\" }\n ) : noop;\n const stop = () => {\n cleanup();\n stopWatch();\n isActive.value = false;\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n isActive,\n pause() {\n cleanup();\n isActive.value = false;\n },\n resume() {\n isActive.value = true;\n },\n stop\n };\n}\n\nfunction useElementVisibility(element, options = {}) {\n const { window = defaultWindow, scrollTarget, threshold = 0 } = options;\n const elementIsVisible = ref(false);\n useIntersectionObserver(\n element,\n (intersectionObserverEntries) => {\n let isIntersecting = elementIsVisible.value;\n let latestTime = 0;\n for (const entry of intersectionObserverEntries) {\n if (entry.time >= latestTime) {\n latestTime = entry.time;\n isIntersecting = entry.isIntersecting;\n }\n }\n elementIsVisible.value = isIntersecting;\n },\n {\n root: scrollTarget,\n window,\n threshold\n }\n );\n return elementIsVisible;\n}\n\nconst vElementVisibility = {\n [directiveHooks.mounted](el, binding) {\n if (typeof binding.value === \"function\") {\n const handler = binding.value;\n const isVisible = useElementVisibility(el);\n watch(isVisible, (v) => handler(v), { immediate: true });\n } else {\n const [handler, options] = binding.value;\n const isVisible = useElementVisibility(el, options);\n watch(isVisible, (v) => handler(v), { immediate: true });\n }\n }\n};\n\nconst UseEyeDropper = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseEyeDropper\",\n props: {\n sRGBHex: String\n },\n setup(props, { slots }) {\n const data = reactive(useEyeDropper());\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseFullscreen = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseFullscreen\",\n props: [\"as\"],\n setup(props, { slots }) {\n const target = ref();\n const data = reactive(useFullscreen(target));\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target }, slots.default(data));\n };\n }\n});\n\nconst UseGeolocation = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseGeolocation\",\n props: [\"enableHighAccuracy\", \"maximumAge\", \"timeout\", \"navigator\"],\n setup(props, { slots }) {\n const data = reactive(useGeolocation(props));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseIdle = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseIdle\",\n props: [\"timeout\", \"events\", \"listenForVisibilityChange\", \"initialState\"],\n setup(props, { slots }) {\n const data = reactive(useIdle(props.timeout, props));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nfunction useAsyncState(promise, initialState, options) {\n const {\n immediate = true,\n delay = 0,\n onError = noop,\n onSuccess = noop,\n resetOnExecute = true,\n shallow = true,\n throwError\n } = options != null ? options : {};\n const state = shallow ? shallowRef(initialState) : ref(initialState);\n const isReady = ref(false);\n const isLoading = ref(false);\n const error = shallowRef(void 0);\n async function execute(delay2 = 0, ...args) {\n if (resetOnExecute)\n state.value = initialState;\n error.value = void 0;\n isReady.value = false;\n isLoading.value = true;\n if (delay2 > 0)\n await promiseTimeout(delay2);\n const _promise = typeof promise === \"function\" ? promise(...args) : promise;\n try {\n const data = await _promise;\n state.value = data;\n isReady.value = true;\n onSuccess(data);\n } catch (e) {\n error.value = e;\n onError(e);\n if (throwError)\n throw e;\n } finally {\n isLoading.value = false;\n }\n return state.value;\n }\n if (immediate)\n execute(delay);\n const shell = {\n state,\n isReady,\n isLoading,\n error,\n execute\n };\n function waitUntilIsLoaded() {\n return new Promise((resolve, reject) => {\n until(isLoading).toBe(false).then(() => resolve(shell)).catch(reject);\n });\n }\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilIsLoaded().then(onFulfilled, onRejected);\n }\n };\n}\n\nasync function loadImage(options) {\n return new Promise((resolve, reject) => {\n const img = new Image();\n const { src, srcset, sizes, class: clazz, loading, crossorigin, referrerPolicy } = options;\n img.src = src;\n if (srcset)\n img.srcset = srcset;\n if (sizes)\n img.sizes = sizes;\n if (clazz)\n img.className = clazz;\n if (loading)\n img.loading = loading;\n if (crossorigin)\n img.crossOrigin = crossorigin;\n if (referrerPolicy)\n img.referrerPolicy = referrerPolicy;\n img.onload = () => resolve(img);\n img.onerror = reject;\n });\n}\nfunction useImage(options, asyncStateOptions = {}) {\n const state = useAsyncState(\n () => loadImage(toValue(options)),\n void 0,\n {\n resetOnExecute: true,\n ...asyncStateOptions\n }\n );\n watch(\n () => toValue(options),\n () => state.execute(asyncStateOptions.delay),\n { deep: true }\n );\n return state;\n}\n\nconst UseImage = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseImage\",\n props: [\n \"src\",\n \"srcset\",\n \"sizes\",\n \"as\",\n \"alt\",\n \"class\",\n \"loading\",\n \"crossorigin\",\n \"referrerPolicy\"\n ],\n setup(props, { slots }) {\n const data = reactive(useImage(props));\n return () => {\n if (data.isLoading && slots.loading)\n return slots.loading(data);\n else if (data.error && slots.error)\n return slots.error(data.error);\n if (slots.default)\n return slots.default(data);\n return h(props.as || \"img\", props);\n };\n }\n});\n\nfunction resolveElement(el) {\n if (typeof Window !== \"undefined\" && el instanceof Window)\n return el.document.documentElement;\n if (typeof Document !== \"undefined\" && el instanceof Document)\n return el.documentElement;\n return el;\n}\n\nconst ARRIVED_STATE_THRESHOLD_PIXELS = 1;\nfunction useScroll(element, options = {}) {\n const {\n throttle = 0,\n idle = 200,\n onStop = noop,\n onScroll = noop,\n offset = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n },\n eventListenerOptions = {\n capture: false,\n passive: true\n },\n behavior = \"auto\",\n window = defaultWindow,\n onError = (e) => {\n console.error(e);\n }\n } = options;\n const internalX = ref(0);\n const internalY = ref(0);\n const x = computed({\n get() {\n return internalX.value;\n },\n set(x2) {\n scrollTo(x2, void 0);\n }\n });\n const y = computed({\n get() {\n return internalY.value;\n },\n set(y2) {\n scrollTo(void 0, y2);\n }\n });\n function scrollTo(_x, _y) {\n var _a, _b, _c, _d;\n if (!window)\n return;\n const _element = toValue(element);\n if (!_element)\n return;\n (_c = _element instanceof Document ? window.document.body : _element) == null ? void 0 : _c.scrollTo({\n top: (_a = toValue(_y)) != null ? _a : y.value,\n left: (_b = toValue(_x)) != null ? _b : x.value,\n behavior: toValue(behavior)\n });\n const scrollContainer = ((_d = _element == null ? void 0 : _element.document) == null ? void 0 : _d.documentElement) || (_element == null ? void 0 : _element.documentElement) || _element;\n if (x != null)\n internalX.value = scrollContainer.scrollLeft;\n if (y != null)\n internalY.value = scrollContainer.scrollTop;\n }\n const isScrolling = ref(false);\n const arrivedState = reactive({\n left: true,\n right: false,\n top: true,\n bottom: false\n });\n const directions = reactive({\n left: false,\n right: false,\n top: false,\n bottom: false\n });\n const onScrollEnd = (e) => {\n if (!isScrolling.value)\n return;\n isScrolling.value = false;\n directions.left = false;\n directions.right = false;\n directions.top = false;\n directions.bottom = false;\n onStop(e);\n };\n const onScrollEndDebounced = useDebounceFn(onScrollEnd, throttle + idle);\n const setArrivedState = (target) => {\n var _a;\n if (!window)\n return;\n const el = ((_a = target == null ? void 0 : target.document) == null ? void 0 : _a.documentElement) || (target == null ? void 0 : target.documentElement) || unrefElement(target);\n const { display, flexDirection } = getComputedStyle(el);\n const scrollLeft = el.scrollLeft;\n directions.left = scrollLeft < internalX.value;\n directions.right = scrollLeft > internalX.value;\n const left = Math.abs(scrollLeft) <= (offset.left || 0);\n const right = Math.abs(scrollLeft) + el.clientWidth >= el.scrollWidth - (offset.right || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n if (display === \"flex\" && flexDirection === \"row-reverse\") {\n arrivedState.left = right;\n arrivedState.right = left;\n } else {\n arrivedState.left = left;\n arrivedState.right = right;\n }\n internalX.value = scrollLeft;\n let scrollTop = el.scrollTop;\n if (target === window.document && !scrollTop)\n scrollTop = window.document.body.scrollTop;\n directions.top = scrollTop < internalY.value;\n directions.bottom = scrollTop > internalY.value;\n const top = Math.abs(scrollTop) <= (offset.top || 0);\n const bottom = Math.abs(scrollTop) + el.clientHeight >= el.scrollHeight - (offset.bottom || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n if (display === \"flex\" && flexDirection === \"column-reverse\") {\n arrivedState.top = bottom;\n arrivedState.bottom = top;\n } else {\n arrivedState.top = top;\n arrivedState.bottom = bottom;\n }\n internalY.value = scrollTop;\n };\n const onScrollHandler = (e) => {\n var _a;\n if (!window)\n return;\n const eventTarget = (_a = e.target.documentElement) != null ? _a : e.target;\n setArrivedState(eventTarget);\n isScrolling.value = true;\n onScrollEndDebounced(e);\n onScroll(e);\n };\n useEventListener(\n element,\n \"scroll\",\n throttle ? useThrottleFn(onScrollHandler, throttle, true, false) : onScrollHandler,\n eventListenerOptions\n );\n tryOnMounted(() => {\n try {\n const _element = toValue(element);\n if (!_element)\n return;\n setArrivedState(_element);\n } catch (e) {\n onError(e);\n }\n });\n useEventListener(\n element,\n \"scrollend\",\n onScrollEnd,\n eventListenerOptions\n );\n return {\n x,\n y,\n isScrolling,\n arrivedState,\n directions,\n measure() {\n const _element = toValue(element);\n if (window && _element)\n setArrivedState(_element);\n }\n };\n}\n\nfunction useInfiniteScroll(element, onLoadMore, options = {}) {\n var _a;\n const {\n direction = \"bottom\",\n interval = 100,\n canLoadMore = () => true\n } = options;\n const state = reactive(useScroll(\n element,\n {\n ...options,\n offset: {\n [direction]: (_a = options.distance) != null ? _a : 0,\n ...options.offset\n }\n }\n ));\n const promise = ref();\n const isLoading = computed(() => !!promise.value);\n const observedElement = computed(() => {\n return resolveElement(toValue(element));\n });\n const isElementVisible = useElementVisibility(observedElement);\n function checkAndLoad() {\n state.measure();\n if (!observedElement.value || !isElementVisible.value || !canLoadMore(observedElement.value))\n return;\n const { scrollHeight, clientHeight, scrollWidth, clientWidth } = observedElement.value;\n const isNarrower = direction === \"bottom\" || direction === \"top\" ? scrollHeight <= clientHeight : scrollWidth <= clientWidth;\n if (state.arrivedState[direction] || isNarrower) {\n if (!promise.value) {\n promise.value = Promise.all([\n onLoadMore(state),\n new Promise((resolve) => setTimeout(resolve, interval))\n ]).finally(() => {\n promise.value = null;\n nextTick(() => checkAndLoad());\n });\n }\n }\n }\n const stop = watch(\n () => [state.arrivedState[direction], isElementVisible.value],\n checkAndLoad,\n { immediate: true }\n );\n tryOnUnmounted(stop);\n return {\n isLoading,\n reset() {\n nextTick(() => checkAndLoad());\n }\n };\n}\n\nconst vInfiniteScroll = {\n [directiveHooks.mounted](el, binding) {\n if (typeof binding.value === \"function\")\n useInfiniteScroll(el, binding.value);\n else\n useInfiniteScroll(el, ...binding.value);\n }\n};\n\nconst vIntersectionObserver = {\n [directiveHooks.mounted](el, binding) {\n if (typeof binding.value === \"function\")\n useIntersectionObserver(el, binding.value);\n else\n useIntersectionObserver(el, ...binding.value);\n }\n};\n\nconst UseMouse = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseMouse\",\n props: [\"touch\", \"resetOnTouchEnds\", \"initialValue\"],\n setup(props, { slots }) {\n const data = reactive(useMouse(props));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseMouseInElement = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseMouseElement\",\n props: [\"handleOutside\", \"as\"],\n setup(props, { slots }) {\n const target = ref();\n const data = reactive(useMouseInElement(target, props));\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target }, slots.default(data));\n };\n }\n});\n\nconst UseMousePressed = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseMousePressed\",\n props: [\"touch\", \"initialValue\", \"as\"],\n setup(props, { slots }) {\n const target = ref();\n const data = reactive(useMousePressed({ ...props, target }));\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target }, slots.default(data));\n };\n }\n});\n\nconst UseNetwork = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseNetwork\",\n setup(props, { slots }) {\n const data = reactive(useNetwork());\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseNow = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseNow\",\n props: [\"interval\"],\n setup(props, { slots }) {\n const data = reactive(useNow({ ...props, controls: true }));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseObjectUrl = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseObjectUrl\",\n props: [\n \"object\"\n ],\n setup(props, { slots }) {\n const object = toRef(props, \"object\");\n const url = useObjectUrl(object);\n return () => {\n if (slots.default && url.value)\n return slots.default(url);\n };\n }\n});\n\nconst UseOffsetPagination = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseOffsetPagination\",\n props: [\n \"total\",\n \"page\",\n \"pageSize\",\n \"onPageChange\",\n \"onPageSizeChange\",\n \"onPageCountChange\"\n ],\n emits: [\n \"page-change\",\n \"page-size-change\",\n \"page-count-change\"\n ],\n setup(props, { slots, emit }) {\n const data = reactive(useOffsetPagination({\n ...props,\n onPageChange(...args) {\n var _a;\n (_a = props.onPageChange) == null ? void 0 : _a.call(props, ...args);\n emit(\"page-change\", ...args);\n },\n onPageSizeChange(...args) {\n var _a;\n (_a = props.onPageSizeChange) == null ? void 0 : _a.call(props, ...args);\n emit(\"page-size-change\", ...args);\n },\n onPageCountChange(...args) {\n var _a;\n (_a = props.onPageCountChange) == null ? void 0 : _a.call(props, ...args);\n emit(\"page-count-change\", ...args);\n }\n }));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseOnline = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseOnline\",\n setup(props, { slots }) {\n const data = reactive({\n isOnline: useOnline()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UsePageLeave = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UsePageLeave\",\n setup(props, { slots }) {\n const data = reactive({\n isLeft: usePageLeave()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UsePointer = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UsePointer\",\n props: [\n \"pointerTypes\",\n \"initialValue\",\n \"target\"\n ],\n setup(props, { slots }) {\n const el = ref(null);\n const data = reactive(usePointer({\n ...props,\n target: props.target === \"self\" ? el : defaultWindow\n }));\n return () => {\n if (slots.default)\n return slots.default(data, { ref: el });\n };\n }\n});\n\nconst UsePointerLock = /* #__PURE__ */ defineComponent({\n name: \"UsePointerLock\",\n props: [\"as\"],\n setup(props, { slots }) {\n const target = ref();\n const data = reactive(usePointerLock(target));\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target }, slots.default(data));\n };\n }\n});\n\nconst UsePreferredColorScheme = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UsePreferredColorScheme\",\n setup(props, { slots }) {\n const data = reactive({\n colorScheme: usePreferredColorScheme()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UsePreferredContrast = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UsePreferredContrast\",\n setup(props, { slots }) {\n const data = reactive({\n contrast: usePreferredContrast()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UsePreferredDark = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UsePreferredDark\",\n setup(props, { slots }) {\n const data = reactive({\n prefersDark: usePreferredDark$1()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UsePreferredLanguages = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UsePreferredLanguages\",\n setup(props, { slots }) {\n const data = reactive({\n languages: usePreferredLanguages()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UsePreferredReducedMotion = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UsePreferredReducedMotion\",\n setup(props, { slots }) {\n const data = reactive({\n motion: usePreferredReducedMotion()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst vResizeObserver = {\n [directiveHooks.mounted](el, binding) {\n if (typeof binding.value === \"function\")\n useResizeObserver(el, binding.value);\n else\n useResizeObserver(el, ...binding.value);\n }\n};\n\nfunction useMutationObserver(target, callback, options = {}) {\n const { window = defaultWindow, ...mutationOptions } = options;\n let observer;\n const isSupported = useSupported(() => window && \"MutationObserver\" in window);\n const cleanup = () => {\n if (observer) {\n observer.disconnect();\n observer = void 0;\n }\n };\n const targets = computed(() => {\n const value = toValue(target);\n const items = (Array.isArray(value) ? value : [value]).map(unrefElement).filter(notNullish);\n return new Set(items);\n });\n const stopWatch = watch(\n () => targets.value,\n (targets2) => {\n cleanup();\n if (isSupported.value && targets2.size) {\n observer = new MutationObserver(callback);\n targets2.forEach((el) => observer.observe(el, mutationOptions));\n }\n },\n { immediate: true, flush: \"post\" }\n );\n const takeRecords = () => {\n return observer == null ? void 0 : observer.takeRecords();\n };\n const stop = () => {\n stopWatch();\n cleanup();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop,\n takeRecords\n };\n}\n\nfunction useCssVar(prop, target, options = {}) {\n const { window = defaultWindow, initialValue, observe = false } = options;\n const variable = ref(initialValue);\n const elRef = computed(() => {\n var _a;\n return unrefElement(target) || ((_a = window == null ? void 0 : window.document) == null ? void 0 : _a.documentElement);\n });\n function updateCssVar() {\n var _a;\n const key = toValue(prop);\n const el = toValue(elRef);\n if (el && window && key) {\n const value = (_a = window.getComputedStyle(el).getPropertyValue(key)) == null ? void 0 : _a.trim();\n variable.value = value || initialValue;\n }\n }\n if (observe) {\n useMutationObserver(elRef, updateCssVar, {\n attributeFilter: [\"style\", \"class\"],\n window\n });\n }\n watch(\n [elRef, () => toValue(prop)],\n (_, old) => {\n if (old[0] && old[1])\n old[0].style.removeProperty(old[1]);\n updateCssVar();\n },\n { immediate: true }\n );\n watch(\n variable,\n (val) => {\n var _a;\n const raw_prop = toValue(prop);\n if (((_a = elRef.value) == null ? void 0 : _a.style) && raw_prop) {\n if (val == null)\n elRef.value.style.removeProperty(raw_prop);\n else\n elRef.value.style.setProperty(raw_prop, val);\n }\n }\n );\n return variable;\n}\n\nconst topVarName = \"--vueuse-safe-area-top\";\nconst rightVarName = \"--vueuse-safe-area-right\";\nconst bottomVarName = \"--vueuse-safe-area-bottom\";\nconst leftVarName = \"--vueuse-safe-area-left\";\nfunction useScreenSafeArea() {\n const top = ref(\"\");\n const right = ref(\"\");\n const bottom = ref(\"\");\n const left = ref(\"\");\n if (isClient) {\n const topCssVar = useCssVar(topVarName);\n const rightCssVar = useCssVar(rightVarName);\n const bottomCssVar = useCssVar(bottomVarName);\n const leftCssVar = useCssVar(leftVarName);\n topCssVar.value = \"env(safe-area-inset-top, 0px)\";\n rightCssVar.value = \"env(safe-area-inset-right, 0px)\";\n bottomCssVar.value = \"env(safe-area-inset-bottom, 0px)\";\n leftCssVar.value = \"env(safe-area-inset-left, 0px)\";\n update();\n useEventListener(\"resize\", useDebounceFn(update));\n }\n function update() {\n top.value = getValue(topVarName);\n right.value = getValue(rightVarName);\n bottom.value = getValue(bottomVarName);\n left.value = getValue(leftVarName);\n }\n return {\n top,\n right,\n bottom,\n left,\n update\n };\n}\nfunction getValue(position) {\n return getComputedStyle(document.documentElement).getPropertyValue(position);\n}\n\nconst UseScreenSafeArea = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseScreenSafeArea\",\n props: {\n top: Boolean,\n right: Boolean,\n bottom: Boolean,\n left: Boolean\n },\n setup(props, { slots }) {\n const {\n top,\n right,\n bottom,\n left\n } = useScreenSafeArea();\n return () => {\n if (slots.default) {\n return h(\"div\", {\n style: {\n paddingTop: props.top ? top.value : \"\",\n paddingRight: props.right ? right.value : \"\",\n paddingBottom: props.bottom ? bottom.value : \"\",\n paddingLeft: props.left ? left.value : \"\",\n boxSizing: \"border-box\",\n maxHeight: \"100vh\",\n maxWidth: \"100vw\",\n overflow: \"auto\"\n }\n }, slots.default());\n }\n };\n }\n});\n\nconst vScroll = {\n [directiveHooks.mounted](el, binding) {\n if (typeof binding.value === \"function\") {\n const handler = binding.value;\n const state = useScroll(el, {\n onScroll() {\n handler(state);\n },\n onStop() {\n handler(state);\n }\n });\n } else {\n const [handler, options] = binding.value;\n const state = useScroll(el, {\n ...options,\n onScroll(e) {\n var _a;\n (_a = options.onScroll) == null ? void 0 : _a.call(options, e);\n handler(state);\n },\n onStop(e) {\n var _a;\n (_a = options.onStop) == null ? void 0 : _a.call(options, e);\n handler(state);\n }\n });\n }\n }\n};\n\nfunction checkOverflowScroll(ele) {\n const style = window.getComputedStyle(ele);\n if (style.overflowX === \"scroll\" || style.overflowY === \"scroll\" || style.overflowX === \"auto\" && ele.clientWidth < ele.scrollWidth || style.overflowY === \"auto\" && ele.clientHeight < ele.scrollHeight) {\n return true;\n } else {\n const parent = ele.parentNode;\n if (!parent || parent.tagName === \"BODY\")\n return false;\n return checkOverflowScroll(parent);\n }\n}\nfunction preventDefault(rawEvent) {\n const e = rawEvent || window.event;\n const _target = e.target;\n if (checkOverflowScroll(_target))\n return false;\n if (e.touches.length > 1)\n return true;\n if (e.preventDefault)\n e.preventDefault();\n return false;\n}\nconst elInitialOverflow = /* @__PURE__ */ new WeakMap();\nfunction useScrollLock(element, initialState = false) {\n const isLocked = ref(initialState);\n let stopTouchMoveListener = null;\n let initialOverflow = \"\";\n watch(toRef(element), (el) => {\n const target = resolveElement(toValue(el));\n if (target) {\n const ele = target;\n if (!elInitialOverflow.get(ele))\n elInitialOverflow.set(ele, ele.style.overflow);\n if (ele.style.overflow !== \"hidden\")\n initialOverflow = ele.style.overflow;\n if (ele.style.overflow === \"hidden\")\n return isLocked.value = true;\n if (isLocked.value)\n return ele.style.overflow = \"hidden\";\n }\n }, {\n immediate: true\n });\n const lock = () => {\n const el = resolveElement(toValue(element));\n if (!el || isLocked.value)\n return;\n if (isIOS) {\n stopTouchMoveListener = useEventListener(\n el,\n \"touchmove\",\n (e) => {\n preventDefault(e);\n },\n { passive: false }\n );\n }\n el.style.overflow = \"hidden\";\n isLocked.value = true;\n };\n const unlock = () => {\n const el = resolveElement(toValue(element));\n if (!el || !isLocked.value)\n return;\n if (isIOS)\n stopTouchMoveListener == null ? void 0 : stopTouchMoveListener();\n el.style.overflow = initialOverflow;\n elInitialOverflow.delete(el);\n isLocked.value = false;\n };\n tryOnScopeDispose(unlock);\n return computed({\n get() {\n return isLocked.value;\n },\n set(v) {\n if (v)\n lock();\n else unlock();\n }\n });\n}\n\nfunction onScrollLock() {\n let isMounted = false;\n const state = ref(false);\n return (el, binding) => {\n state.value = binding.value;\n if (isMounted)\n return;\n isMounted = true;\n const isLocked = useScrollLock(el, binding.value);\n watch(state, (v) => isLocked.value = v);\n };\n}\nconst vScrollLock = onScrollLock();\n\nconst UseTimeAgo = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseTimeAgo\",\n props: [\"time\", \"updateInterval\", \"max\", \"fullDateFormatter\", \"messages\", \"showSecond\"],\n setup(props, { slots }) {\n const data = reactive(useTimeAgo(() => props.time, { ...props, controls: true }));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseTimestamp = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseTimestamp\",\n props: [\"immediate\", \"interval\", \"offset\"],\n setup(props, { slots }) {\n const data = reactive(useTimestamp({ ...props, controls: true }));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseVirtualList = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseVirtualList\",\n props: [\n \"list\",\n \"options\",\n \"height\"\n ],\n setup(props, { slots, expose }) {\n const { list: listRef } = toRefs(props);\n const { list, containerProps, wrapperProps, scrollTo } = useVirtualList(listRef, props.options);\n expose({ scrollTo });\n if (containerProps.style && typeof containerProps.style === \"object\" && !Array.isArray(containerProps.style))\n containerProps.style.height = props.height || \"300px\";\n return () => h(\"div\", { ...containerProps }, [\n h(\"div\", { ...wrapperProps.value }, list.value.map((item) => h(\"div\", { style: { overflow: \"hidden\", height: item.height } }, slots.default ? slots.default(item) : \"Please set content!\")))\n ]);\n }\n});\n\nconst UseWindowFocus = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseWindowFocus\",\n setup(props, { slots }) {\n const data = reactive({\n focused: useWindowFocus()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseWindowSize = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseWindowSize\",\n props: [\"initialWidth\", \"initialHeight\"],\n setup(props, { slots }) {\n const data = reactive(useWindowSize(props));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nexport { OnClickOutside, OnLongPress, UseActiveElement, UseBattery, UseBrowserLocation, UseClipboard, UseColorMode, UseDark, UseDeviceMotion, UseDeviceOrientation, UseDevicePixelRatio, UseDevicesList, UseDocumentVisibility, UseDraggable, UseElementBounding, UseElementSize, UseElementVisibility, UseEyeDropper, UseFullscreen, UseGeolocation, UseIdle, UseImage, UseMouse, UseMouseInElement, UseMousePressed, UseNetwork, UseNow, UseObjectUrl, UseOffsetPagination, UseOnline, UsePageLeave, UsePointer, UsePointerLock, UsePreferredColorScheme, UsePreferredContrast, UsePreferredDark, UsePreferredLanguages, UsePreferredReducedMotion, UseScreenSafeArea, UseTimeAgo, UseTimestamp, UseVirtualList, UseWindowFocus, UseWindowSize, vOnClickOutside as VOnClickOutside, vOnLongPress as VOnLongPress, vElementHover, vElementSize, vElementVisibility, vInfiniteScroll, vIntersectionObserver, vOnClickOutside, vOnKeyStroke, vOnLongPress, vResizeObserver, vScroll, vScrollLock };\n","import '../assets/NcMentionBubble-CB5c5ue2.css';\nimport '../assets/NcAvatar-CRiCqAWQ.css';\nimport { N as NcActions } from \"./NcActions-DEZO46mP.mjs\";\nimport NcActionLink from \"../Components/NcActionLink.mjs\";\nimport NcActionRouter from \"../Components/NcActionRouter.mjs\";\nimport NcActionText from \"../Components/NcActionText.mjs\";\nimport { N as NcActionButton } from \"./NcActionButton-Gpv56vuS.mjs\";\nimport NcButton from \"../Components/NcButton.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-Cb-cPj1R.mjs\";\nimport NcLoadingIcon from \"../Components/NcLoadingIcon.mjs\";\nimport { N as NcUserStatusIcon, g as getUserStatusText } from \"./NcUserStatusIcon-WEKmuaoU.mjs\";\nimport { u as usernameToColor } from \"./usernameToColor-DJfepfog.mjs\";\nimport { g as getAvatarUrl } from \"./getAvatarUrl-DxvUjKMi.mjs\";\nimport { getEnabledContactsMenuActions } from \"../Functions/contactsMenu.mjs\";\nimport { g as getRoute } from \"./autolink-cbuFALXr.mjs\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nimport { r as register, u as t9, a as t } from \"./_l10n-Dt0m9Fxw.mjs\";\nimport \"../Composables/useIsFullscreen.mjs\";\nimport \"../Composables/useIsMobile.mjs\";\n/* empty css */\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport \"escape-html\";\nimport \"striptags\";\nimport \"vue\";\nimport { getCurrentUser } from \"@nextcloud/auth\";\nimport axios from \"@nextcloud/axios\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { generateOcsUrl, generateUrl } from \"@nextcloud/router\";\nimport { D as DotsHorizontal } from \"./DotsHorizontal-C6LNsw4N.mjs\";\nimport { unsubscribe, subscribe } from \"@nextcloud/event-bus\";\nimport { getBuilder } from \"@nextcloud/browser-storage\";\nimport { vOnClickOutside } from \"@vueuse/components\";\nregister(t9);\nconst userStatus = {\n data() {\n return {\n hasStatus: false,\n userStatus: {\n status: null,\n message: null,\n icon: null\n }\n };\n },\n methods: {\n /**\n * Fetches the user-status from the server\n *\n * @param {string} userId UserId of the user to fetch the status for\n *\n * @return {Promise}\n */\n async fetchUserStatus(userId) {\n if (!userId) {\n return;\n }\n const capabilities = getCapabilities();\n if (!Object.prototype.hasOwnProperty.call(capabilities, \"user_status\") || !capabilities.user_status.enabled) {\n return;\n }\n if (!getCurrentUser()) {\n return;\n }\n try {\n const { data } = await axios.get(generateOcsUrl(\"apps/user_status/api/v1/statuses/{userId}\", { userId }));\n const {\n status,\n message,\n icon\n } = data.ocs.data;\n this.userStatus.status = status;\n this.userStatus.message = message || \"\";\n this.userStatus.icon = icon || \"\";\n this.hasStatus = true;\n } catch (e) {\n if (e.response.status === 404 && e.response.data.ocs?.data?.length === 0) {\n return;\n }\n console.error(e);\n }\n }\n }\n};\nconst browserStorage = getBuilder(\"nextcloud\").persist().build();\nfunction getUserHasAvatar(userId) {\n const flag = browserStorage.getItem(\"user-has-avatar.\" + userId);\n if (typeof flag === \"string\") {\n return Boolean(flag);\n }\n return null;\n}\nfunction setUserHasAvatar(userId, flag) {\n if (userId) {\n browserStorage.setItem(\"user-has-avatar.\" + userId, flag);\n }\n}\nconst _sfc_main = {\n name: \"NcAvatar\",\n directives: {\n ClickOutside: vOnClickOutside\n },\n components: {\n DotsHorizontal,\n NcActions,\n NcButton,\n NcIconSvgWrapper,\n NcLoadingIcon,\n NcUserStatusIcon\n },\n mixins: [userStatus],\n props: {\n /**\n * Set a custom url to the avatar image\n * either the url, user or displayName property must be defined\n */\n url: {\n type: String,\n default: void 0\n },\n /**\n * Set a css icon-class for an icon to be used instead of the avatar.\n */\n iconClass: {\n type: String,\n default: void 0\n },\n /**\n * Set the user id to fetch the avatar\n * either the url, user or displayName property must be defined\n */\n user: {\n type: String,\n default: void 0\n },\n /**\n * Do not show the user status on the avatar.\n */\n hideStatus: {\n type: Boolean,\n default: false\n },\n /**\n * Whether or not to display the user-status.\n * @deprecated - Use `hideStatus` instead. Will be removed with v9.\n */\n showUserStatus: {\n type: Boolean,\n default: true\n },\n /**\n * Show the verbose user status (e.g. \"online\" / \"away\") instead of just the status icon.\n */\n verboseStatus: {\n type: Boolean,\n default: false\n },\n /**\n * Whether or not to the status-icon should be used instead of online/away\n * @deprecated - Use `verboseStatus` instead. Will be removed with v9.\n */\n showUserStatusCompact: {\n type: Boolean,\n default: true\n },\n /**\n * When the user status was preloaded via another source it can be handed in with this property to save the request.\n * If this property is not set the status will be fetched automatically.\n * If a preloaded no-status is available provide this object with properties \"status\", \"icon\" and \"message\" set to null.\n */\n preloadedUserStatus: {\n type: Object,\n default: void 0\n },\n /**\n * Is the user a guest user (then we have to user a different endpoint)\n */\n isGuest: {\n type: Boolean,\n default: false\n },\n /**\n * Set a display name that will be rendered as a tooltip\n * either the url, user or displayName property must be defined\n * specify just the displayname to generate a placeholder avatar without\n * trying to fetch the avatar based on the user id\n */\n displayName: {\n type: String,\n default: void 0\n },\n /**\n * Set a size in px for the rendered avatar\n */\n size: {\n type: Number,\n default: 32\n },\n /**\n * Do not automatically generate a placeholder avatars if there is no real avatar is available.\n */\n noPlaceholder: {\n type: Boolean,\n default: false\n },\n /**\n * Placeholder avatars will be automatically generated when this is set to true.\n * @deprecated - Use `noPlaceholder` instead. Will be removed in v9.\n */\n allowPlaceholder: {\n type: Boolean,\n default: true\n },\n /**\n * Disable the tooltip\n */\n disableTooltip: {\n type: Boolean,\n default: false\n },\n /**\n * Disable the menu\n */\n disableMenu: {\n type: Boolean,\n default: false\n },\n /**\n * Declares a custom tooltip when not null\n * Fallback will be the displayName\n *\n * requires disableTooltip not to be set to true\n */\n tooltipMessage: {\n type: String,\n default: null\n },\n /**\n * Declares username is not a user's name, when true.\n * Prevents loading user's avatar from server and forces generating colored initials,\n * i.e. if the user is a group\n */\n isNoUser: {\n type: Boolean,\n default: false\n },\n /**\n * Selector for the popover menu container\n */\n menuContainer: {\n type: [String, Object, Element, Boolean],\n default: \"body\"\n }\n },\n data() {\n return {\n avatarUrlLoaded: null,\n avatarSrcSetLoaded: null,\n userDoesNotExist: false,\n isAvatarLoaded: false,\n isMenuLoaded: false,\n contactsMenuLoading: false,\n contactsMenuData: {},\n contactsMenuActions: [],\n contactsMenuOpenState: false\n };\n },\n computed: {\n avatarAriaLabel() {\n if (!this.hasMenu) {\n return;\n }\n if (this.canDisplayUserStatus || this.showUserStatusIconOnAvatar) {\n return t(\"Avatar of {displayName}, {status}\", { displayName: this.displayName ?? this.user, status: getUserStatusText(this.userStatus.status) });\n }\n return t(\"Avatar of {displayName}\", { displayName: this.displayName ?? this.user });\n },\n canDisplayUserStatus() {\n return !this.hideStatus && this.showUserStatus && this.hasStatus && [\"online\", \"away\", \"busy\", \"dnd\"].includes(this.userStatus.status);\n },\n showUserStatusIconOnAvatar() {\n return !this.hideStatus && this.showUserStatus && !this.verboseStatus && this.showUserStatusCompact && this.hasStatus && this.userStatus.status !== \"dnd\" && this.userStatus.icon;\n },\n /**\n * The user identifier, either the display name if set or the user property\n * If both properties are not set an empty string is returned\n */\n userIdentifier() {\n if (this.isDisplayNameDefined) {\n return this.displayName;\n }\n if (this.isUserDefined) {\n return this.user;\n }\n return \"\";\n },\n isUserDefined() {\n return typeof this.user !== \"undefined\";\n },\n isDisplayNameDefined() {\n return typeof this.displayName !== \"undefined\";\n },\n isUrlDefined() {\n return typeof this.url !== \"undefined\";\n },\n hasMenu() {\n if (this.disableMenu) {\n return false;\n }\n if (this.isMenuLoaded) {\n return this.menu.length > 0;\n }\n return !(this.user === getCurrentUser()?.uid || this.userDoesNotExist || this.url);\n },\n /**\n * True if initials should be shown as the user icon fallback\n */\n showInitials() {\n return !this.noPlaceholder && this.allowPlaceholder && this.userDoesNotExist && !(this.iconClass || this.$slots.icon);\n },\n avatarStyle() {\n return {\n \"--size\": this.size + \"px\",\n lineHeight: this.showInitials ? this.size + \"px\" : 0,\n fontSize: Math.round(this.size * 0.45) + \"px\"\n };\n },\n initialsWrapperStyle() {\n const { r, g, b } = usernameToColor(this.userIdentifier);\n return {\n backgroundColor: `rgba(${r}, ${g}, ${b}, 0.1)`\n };\n },\n initialsStyle() {\n const { r, g, b } = usernameToColor(this.userIdentifier);\n return {\n color: `rgb(${r}, ${g}, ${b})`\n };\n },\n tooltip() {\n if (this.disableTooltip) {\n return false;\n }\n if (this.tooltipMessage) {\n return this.tooltipMessage;\n }\n return this.displayName;\n },\n /**\n * Get the (max. two) initials of the user as uppcase string\n */\n initials() {\n let initials = \"?\";\n if (this.showInitials) {\n const user = this.userIdentifier.trim();\n if (user === \"\") {\n return initials;\n }\n const filteredChars = user.match(/[\\p{L}\\p{N}\\s]/gu);\n if (filteredChars == null) {\n return initials;\n }\n const filtered = filteredChars.join(\"\");\n const idx = filtered.lastIndexOf(\" \");\n initials = String.fromCodePoint(filtered.codePointAt(0));\n if (idx !== -1) {\n initials = initials.concat(String.fromCodePoint(filtered.codePointAt(idx + 1)));\n }\n }\n return initials.toLocaleUpperCase();\n },\n menu() {\n const actions = this.contactsMenuActions.map((item) => {\n const route = getRoute(this.$router, item.hyperlink);\n return {\n ncActionComponent: route ? NcActionRouter : NcActionLink,\n ncActionComponentProps: route ? {\n to: route,\n icon: item.icon\n } : {\n href: item.hyperlink,\n icon: item.icon\n },\n text: item.title\n };\n });\n for (const action of getEnabledContactsMenuActions(this.contactsMenuData)) {\n try {\n actions.push({\n ncActionComponent: NcActionButton,\n ncActionComponentProps: {},\n ncActionComponentHandlers: {\n click: () => action.callback(this.contactsMenuData)\n },\n text: action.displayName(this.contactsMenuData),\n iconSvg: action.iconSvg(this.contactsMenuData)\n });\n } catch (error) {\n logger.error(`Failed to render ContactsMenu action ${action.id}`, {\n error,\n action\n });\n }\n }\n function escape(html) {\n const text = document.createTextNode(html);\n const p = document.createElement(\"p\");\n p.appendChild(text);\n return p.innerHTML;\n }\n if (!this.hideStatus && this.showUserStatus && (this.userStatus.icon || this.userStatus.message)) {\n const emojiIcon = `\n\t\t\t\t\t${escape(this.userStatus.icon)}\n\t\t\t\t`;\n return [{\n ncActionComponent: NcActionText,\n ncActionComponentProps: {},\n iconSvg: this.userStatus.icon ? emojiIcon : void 0,\n text: `${this.userStatus.message}`\n }].concat(actions);\n }\n return actions;\n }\n },\n watch: {\n url() {\n this.userDoesNotExist = false;\n this.loadAvatarUrl();\n },\n user() {\n this.userDoesNotExist = false;\n this.isMenuLoaded = false;\n this.loadAvatarUrl();\n }\n },\n mounted() {\n this.loadAvatarUrl();\n subscribe(\"settings:avatar:updated\", this.loadAvatarUrl);\n subscribe(\"settings:display-name:updated\", this.loadAvatarUrl);\n if (!this.hideStatus && this.showUserStatus && this.user && !this.isNoUser) {\n if (!this.preloadedUserStatus) {\n this.fetchUserStatus(this.user);\n } else {\n this.userStatus.status = this.preloadedUserStatus.status || \"\";\n this.userStatus.message = this.preloadedUserStatus.message || \"\";\n this.userStatus.icon = this.preloadedUserStatus.icon || \"\";\n this.hasStatus = this.preloadedUserStatus.status !== null;\n }\n subscribe(\"user_status:status.updated\", this.handleUserStatusUpdated);\n }\n },\n beforeDestroy() {\n unsubscribe(\"settings:avatar:updated\", this.loadAvatarUrl);\n unsubscribe(\"settings:display-name:updated\", this.loadAvatarUrl);\n unsubscribe(\"user_status:status.updated\", this.handleUserStatusUpdated);\n },\n methods: {\n t,\n handleUserStatusUpdated(state) {\n if (this.user === state.userId) {\n this.userStatus = {\n status: state.status,\n icon: state.icon,\n message: state.message\n };\n }\n },\n /**\n * Toggle the popover menu on click or enter\n * @param {KeyboardEvent|MouseEvent} event the UI event\n */\n async toggleMenu(event) {\n if (event.type === \"keydown\" && event.key !== \"Enter\") {\n return;\n }\n if (!this.contactsMenuOpenState) {\n await this.fetchContactsMenu();\n }\n this.contactsMenuOpenState = !this.contactsMenuOpenState;\n },\n closeMenu() {\n this.contactsMenuOpenState = false;\n },\n async fetchContactsMenu() {\n this.contactsMenuLoading = true;\n try {\n const user = encodeURIComponent(this.user);\n const { data } = await axios.post(generateUrl(\"contactsmenu/findOne\"), `shareType=0&shareWith=${user}`);\n this.contactsMenuData = data;\n this.contactsMenuActions = data.topAction ? [data.topAction].concat(data.actions) : data.actions;\n } catch (e) {\n this.contactsMenuOpenState = false;\n }\n this.contactsMenuLoading = false;\n this.isMenuLoaded = true;\n },\n /**\n * Handle avatar loading if user or url defined\n */\n loadAvatarUrl() {\n this.isAvatarLoaded = false;\n if (!this.isUrlDefined && (!this.isUserDefined || this.isNoUser || this.iconClass)) {\n this.isAvatarLoaded = true;\n this.userDoesNotExist = true;\n return;\n }\n if (this.isUrlDefined) {\n this.updateImageIfValid(this.url);\n return;\n }\n if (this.size <= 64) {\n const avatarUrl = this.avatarUrlGenerator(this.user, 64);\n const srcset = [\n avatarUrl + \" 1x\",\n this.avatarUrlGenerator(this.user, 512) + \" 8x\"\n ].join(\", \");\n this.updateImageIfValid(avatarUrl, srcset);\n } else {\n const avatarUrl = this.avatarUrlGenerator(this.user, 512);\n this.updateImageIfValid(avatarUrl);\n }\n },\n /**\n * Generate an avatar url from the server's avatar endpoint\n *\n * @param {string} user the user id\n * @param {number} size the desired size\n * @return {string}\n */\n avatarUrlGenerator(user, size) {\n let avatarUrl = getAvatarUrl(user, size, this.isGuest);\n if (user === getCurrentUser()?.uid && typeof oc_userconfig !== \"undefined\") {\n avatarUrl += \"?v=\" + oc_userconfig.avatar.version;\n }\n return avatarUrl;\n },\n /**\n * Check if the provided url is valid and update Avatar if so\n *\n * @param {string} url the avatar url\n * @param {Array} srcset the avatar srcset\n */\n updateImageIfValid(url, srcset = null) {\n const userHasAvatar = getUserHasAvatar(this.user);\n if (this.isUserDefined && typeof userHasAvatar === \"boolean\") {\n this.isAvatarLoaded = true;\n this.avatarUrlLoaded = url;\n if (srcset) {\n this.avatarSrcSetLoaded = srcset;\n }\n if (userHasAvatar === false) {\n this.userDoesNotExist = true;\n }\n return;\n }\n const img = new Image();\n img.onload = () => {\n this.avatarUrlLoaded = url;\n if (srcset) {\n this.avatarSrcSetLoaded = srcset;\n }\n this.isAvatarLoaded = true;\n setUserHasAvatar(this.user, true);\n };\n img.onerror = () => {\n console.debug(\"Invalid avatar url\", url);\n this.avatarUrlLoaded = null;\n this.avatarSrcSetLoaded = null;\n this.userDoesNotExist = true;\n this.isAvatarLoaded = false;\n setUserHasAvatar(this.user, false);\n };\n if (srcset) {\n img.srcset = srcset;\n }\n img.src = url;\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", { directives: [{ name: \"click-outside\", rawName: \"v-click-outside\", value: _vm.closeMenu, expression: \"closeMenu\" }], ref: \"main\", staticClass: \"avatardiv popovermenu-wrapper\", class: {\n \"avatardiv--unknown\": _vm.userDoesNotExist,\n \"avatardiv--with-menu\": _vm.hasMenu,\n \"avatardiv--with-menu-loading\": _vm.contactsMenuLoading\n }, style: _vm.avatarStyle, attrs: { \"title\": _vm.tooltip } }, [_vm._t(\"icon\", function() {\n return [_vm.iconClass ? _c(\"span\", { staticClass: \"avatar-class-icon\", class: _vm.iconClass }) : _vm.isAvatarLoaded && !_vm.userDoesNotExist ? _c(\"img\", { attrs: { \"src\": _vm.avatarUrlLoaded, \"srcset\": _vm.avatarSrcSetLoaded, \"alt\": \"\" } }) : _vm._e()];\n }), _vm.hasMenu && _vm.menu.length === 0 ? _c(\"NcButton\", { staticClass: \"action-item action-item__menutoggle\", attrs: { \"aria-label\": _vm.avatarAriaLabel, \"variant\": \"tertiary-no-background\" }, on: { \"click\": _vm.toggleMenu }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm.contactsMenuLoading ? _c(\"NcLoadingIcon\") : _c(\"DotsHorizontal\", { attrs: { \"size\": 20 } })];\n }, proxy: true }], null, false, 2617833509) }) : _vm.hasMenu ? _c(\"NcActions\", { attrs: { \"aria-label\": _vm.avatarAriaLabel, \"container\": _vm.menuContainer, \"force-menu\": \"\", \"manual-open\": \"\", \"open\": _vm.contactsMenuOpenState, \"variant\": \"tertiary-no-background\" }, on: { \"update:open\": function($event) {\n _vm.contactsMenuOpenState = $event;\n }, \"click\": _vm.toggleMenu }, scopedSlots: _vm._u([_vm.contactsMenuLoading ? { key: \"icon\", fn: function() {\n return [_c(\"NcLoadingIcon\")];\n }, proxy: true } : null], null, true) }, _vm._l(_vm.menu, function(item, key) {\n return _c(item.ncActionComponent, _vm._g(_vm._b({ key, tag: \"component\", scopedSlots: _vm._u([item.iconSvg ? { key: \"icon\", fn: function() {\n return [_c(\"NcIconSvgWrapper\", { attrs: { \"svg\": item.iconSvg } })];\n }, proxy: true } : null], null, true) }, \"component\", item.ncActionComponentProps, false), item.ncActionComponentHandlers), [_vm._v(\" \" + _vm._s(item.text) + \" \")]);\n }), 1) : _vm._e(), _vm.showUserStatusIconOnAvatar ? _c(\"span\", { staticClass: \"avatardiv__user-status avatardiv__user-status--icon\" }, [_vm._v(\" \" + _vm._s(_vm.userStatus.icon) + \" \")]) : _vm.canDisplayUserStatus ? _c(\"NcUserStatusIcon\", { staticClass: \"avatardiv__user-status\", attrs: { \"status\": _vm.userStatus.status, \"aria-hidden\": String(_vm.hasMenu) } }) : _vm._e(), _vm.showInitials ? _c(\"span\", { staticClass: \"avatardiv__initials-wrapper\", style: _vm.initialsWrapperStyle }, [_c(\"span\", { staticClass: \"avatardiv__initials\", style: _vm.initialsStyle }, [_vm._v(\" \" + _vm._s(_vm.initials) + \" \")])]) : _vm._e()], 2);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"f132fa9c\"\n);\nconst NcAvatar = __component__.exports;\nexport {\n NcAvatar as N,\n userStatus as u\n};\n//# sourceMappingURL=NcAvatar-CTzwxkvv.mjs.map\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.VueSelect=t():e.VueSelect=t()}(\"undefined\"!=typeof self?self:this,(function(){return(()=>{var e={646:e=>{e.exports=function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t{e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},860:e=>{e.exports=function(e){if(Symbol.iterator in Object(e)||\"[object Arguments]\"===Object.prototype.toString.call(e))return Array.from(e)}},206:e=>{e.exports=function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance\")}},319:(e,t,n)=>{var o=n(646),i=n(860),s=n(206);e.exports=function(e){return o(e)||i(e)||s()}},8:e=>{function t(n){return\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?e.exports=t=function(e){return typeof e}:e.exports=t=function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},t(n)}e.exports=t}},t={};function n(o){var i=t[o];if(void 0!==i)return i.exports;var s=t[o]={exports:{}};return e[o](s,s.exports,n),s.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})};var o={};return(()=>{\"use strict\";n.r(o),n.d(o,{VueSelect:()=>m,default:()=>_,mixins:()=>O});var e=n(319),t=n.n(e),i=n(8),s=n.n(i),r=n(713),a=n.n(r);const l={props:{autoscroll:{type:Boolean,default:!0}},watch:{typeAheadPointer:function(){this.autoscroll&&this.maybeAdjustScroll()},open:function(e){var t=this;this.autoscroll&&e&&this.$nextTick((function(){return t.maybeAdjustScroll()}))}},methods:{maybeAdjustScroll:function(){var e,t=(null===(e=this.$refs.dropdownMenu)||void 0===e?void 0:e.children[this.typeAheadPointer])||!1;if(t){var n=this.getDropdownViewport(),o=t.getBoundingClientRect(),i=o.top,s=o.bottom,r=o.height;if(in.bottom)return this.$refs.dropdownMenu.scrollTop=t.offsetTop-(n.height-r)}},getDropdownViewport:function(){return this.$refs.dropdownMenu?this.$refs.dropdownMenu.getBoundingClientRect():{height:0,top:0,bottom:0}}}},c={data:function(){return{typeAheadPointer:-1}},watch:{filteredOptions:function(){if(this.resetFocusOnOptionsChange)for(var e=0;e=0;e--)if(this.selectable(this.filteredOptions[e])){this.typeAheadPointer=e;break}},typeAheadDown:function(){for(var e=this.typeAheadPointer+1;e0&&void 0!==arguments[0]?arguments[0]:null;return this.mutableLoading=null==e?!this.mutableLoading:e}}};function p(e,t,n,o,i,s,r,a){var l,c=\"function\"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=n,c._compiled=!0),o&&(c.functional=!0),s&&(c._scopeId=\"data-v-\"+s),r?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(r)},c._ssrRegister=l):i&&(l=a?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(e,t){return l.call(t),u(e,t)}}else{var p=c.beforeCreate;c.beforeCreate=p?[].concat(p,l):[l]}return{exports:e,options:c}}const d={Deselect:p({},(function(){var e=this.$createElement,t=this._self._c||e;return t(\"svg\",{attrs:{xmlns:\"http://www.w3.org/2000/svg\",width:\"10\",height:\"10\"}},[t(\"path\",{attrs:{d:\"M6.895455 5l2.842897-2.842898c.348864-.348863.348864-.914488 0-1.263636L9.106534.261648c-.348864-.348864-.914489-.348864-1.263636 0L5 3.104545 2.157102.261648c-.348863-.348864-.914488-.348864-1.263636 0L.261648.893466c-.348864.348864-.348864.914489 0 1.263636L3.104545 5 .261648 7.842898c-.348864.348863-.348864.914488 0 1.263636l.631818.631818c.348864.348864.914773.348864 1.263636 0L5 6.895455l2.842898 2.842897c.348863.348864.914772.348864 1.263636 0l.631818-.631818c.348864-.348864.348864-.914489 0-1.263636L6.895455 5z\"}})])}),[],!1,null,null,null).exports,OpenIndicator:p({},(function(){var e=this.$createElement,t=this._self._c||e;return t(\"svg\",{attrs:{xmlns:\"http://www.w3.org/2000/svg\",width:\"14\",height:\"10\"}},[t(\"path\",{attrs:{d:\"M9.211364 7.59931l4.48338-4.867229c.407008-.441854.407008-1.158247 0-1.60046l-.73712-.80023c-.407008-.441854-1.066904-.441854-1.474243 0L7 5.198617 2.51662.33139c-.407008-.441853-1.066904-.441853-1.474243 0l-.737121.80023c-.407008.441854-.407008 1.158248 0 1.600461l4.48338 4.867228L7 10l2.211364-2.40069z\"}})])}),[],!1,null,null,null).exports},h={inserted:function(e,t,n){var o=n.context;if(o.appendToBody){document.body.appendChild(e);var i=o.$refs.toggle.getBoundingClientRect(),s=i.height,r=i.top,a=i.left,l=i.width,c=window.scrollX||window.pageXOffset,u=window.scrollY||window.pageYOffset;e.unbindPosition=o.calculatePosition(e,o,{width:l+\"px\",left:c+a+\"px\",top:u+r+s+\"px\"})}},unbind:function(e,t,n){n.context.appendToBody&&(e.unbindPosition&&\"function\"==typeof e.unbindPosition&&e.unbindPosition(),e.parentNode&&e.parentNode.removeChild(e))}};const f=function(e){var t={};return Object.keys(e).sort().forEach((function(n){t[n]=e[n]})),JSON.stringify(t)};var y=0;const b=function(){return++y};function g(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function v(e){for(var t=1;t-1}},filter:{type:Function,default:function(e,t){var n=this;return e.filter((function(e){var o=n.getOptionLabel(e);return\"number\"==typeof o&&(o=o.toString()),n.filterBy(e,o,t)}))}},createOption:{type:Function,default:function(e){return\"object\"===s()(this.optionList[0])?a()({},this.label,e):e}},resetFocusOnOptionsChange:{type:Boolean,default:!0},resetOnOptionsChange:{default:!1,validator:function(e){return[\"function\",\"boolean\"].includes(s()(e))}},clearSearchOnBlur:{type:Function,default:function(e){var t=e.clearSearchOnSelect,n=e.multiple;return t&&!n}},noDrop:{type:Boolean,default:!1},inputId:{type:String},dir:{type:String,default:\"auto\"},selectOnTab:{type:Boolean,default:!1},selectOnKeyCodes:{type:Array,default:function(){return[13]}},searchInputQuerySelector:{type:String,default:\"[type=search]\"},mapKeydown:{type:Function,default:function(e,t){return e}},appendToBody:{type:Boolean,default:!1},calculatePosition:{type:Function,default:function(e,t,n){var o=n.width,i=n.top,s=n.left;e.style.top=i,e.style.left=s,e.style.width=o}},dropdownShouldOpen:{type:Function,default:function(e){var t=e.noDrop,n=e.open,o=e.mutableLoading;return!t&&(n&&!o)}},keyboardFocusBorder:{type:Boolean,default:!1},uid:{type:[String,Number],default:function(){return b()}}},data:function(){return{search:\"\",open:!1,isComposing:!1,isKeyboardNavigation:!1,pushedTags:[],_value:[]}},computed:{isTrackingValues:function(){return void 0===this.value||this.$options.propsData.hasOwnProperty(\"reduce\")},selectedValue:function(){var e=this.value;return this.isTrackingValues&&(e=this.$data._value),null!=e&&\"\"!==e?[].concat(e):[]},optionList:function(){return this.options.concat(this.pushTags?this.pushedTags:[])},searchEl:function(){return this.$scopedSlots.search?this.$refs.selectedOptions.querySelector(this.searchInputQuerySelector):this.$refs.search},scope:function(){var e=this,t={search:this.search,loading:this.loading,searching:this.searching,filteredOptions:this.filteredOptions};return{search:{attributes:v({id:this.inputId,disabled:this.disabled,placeholder:this.searchPlaceholder,tabindex:this.tabindex,readonly:!this.searchable,role:\"combobox\",\"aria-autocomplete\":\"list\",\"aria-label\":this.ariaLabelCombobox,\"aria-controls\":\"vs-\".concat(this.uid,\"__listbox\"),\"aria-owns\":\"vs-\".concat(this.uid,\"__listbox\"),\"aria-expanded\":this.dropdownOpen.toString(),ref:\"search\",type:\"search\",autocomplete:this.autocomplete,value:this.search},this.dropdownOpen&&this.filteredOptions[this.typeAheadPointer]?{\"aria-activedescendant\":\"vs-\".concat(this.uid,\"__option-\").concat(this.typeAheadPointer)}:{}),events:{compositionstart:function(){return e.isComposing=!0},compositionend:function(){return e.isComposing=!1},keydown:this.onSearchKeyDown,keypress:this.onSearchKeyPress,blur:this.onSearchBlur,focus:this.onSearchFocus,input:function(t){return e.search=t.target.value}}},spinner:{loading:this.mutableLoading},noOptions:{search:this.search,loading:this.mutableLoading,searching:this.searching},openIndicator:{attributes:{ref:\"openIndicator\",role:\"presentation\",class:\"vs__open-indicator\"}},listHeader:t,listFooter:t,header:v({},t,{deselect:this.deselect}),footer:v({},t,{deselect:this.deselect})}},childComponents:function(){return v({},d,{},this.components)},stateClasses:function(){return{\"vs--open\":this.dropdownOpen,\"vs--single\":!this.multiple,\"vs--multiple\":this.multiple,\"vs--searching\":this.searching&&!this.noDrop,\"vs--searchable\":this.searchable&&!this.noDrop,\"vs--unsearchable\":!this.searchable,\"vs--loading\":this.mutableLoading,\"vs--disabled\":this.disabled}},searching:function(){return!!this.search},dropdownOpen:function(){return this.dropdownShouldOpen(this)},searchPlaceholder:function(){return this.isValueEmpty&&this.placeholder?this.placeholder:void 0},filteredOptions:function(){var e=this,t=function(t){return null!==e.limit?t.slice(0,e.limit):t},n=[].concat(this.optionList);if(!this.filterable&&!this.taggable)return t(n);var o=this.search.length?this.filter(n,this.search,this):n;if(this.taggable&&this.search.length){var i=this.createOption(this.search);this.optionExists(i)||o.unshift(i)}return t(o)},isValueEmpty:function(){return 0===this.selectedValue.length},showClearButton:function(){return!this.multiple&&this.clearable&&!this.open&&!this.isValueEmpty}},watch:{options:function(e,t){var n=this;!this.taggable&&(\"function\"==typeof n.resetOnOptionsChange?n.resetOnOptionsChange(e,t,n.selectedValue):n.resetOnOptionsChange)&&this.clearSelection(),this.value&&this.isTrackingValues&&this.setInternalValueFromOptions(this.value)},value:{immediate:!0,handler:function(e){this.isTrackingValues&&this.setInternalValueFromOptions(e)}},multiple:function(){this.clearSelection()},open:function(e){this.$emit(e?\"open\":\"close\")},search:function(e){e.length&&(this.open=!0)}},created:function(){this.mutableLoading=this.loading,this.$on(\"option:created\",this.pushTag)},methods:{setInternalValueFromOptions:function(e){var t=this;Array.isArray(e)?this.$data._value=e.map((function(e){return t.findOptionFromReducedValue(e)})):this.$data._value=this.findOptionFromReducedValue(e)},select:function(e){this.$emit(\"option:selecting\",e),this.isOptionSelected(e)?this.deselectFromDropdown&&(this.clearable||this.multiple&&this.selectedValue.length>1)&&this.deselect(e):(this.taggable&&!this.optionExists(e)&&this.$emit(\"option:created\",e),this.multiple&&(e=this.selectedValue.concat(e)),this.updateValue(e),this.$emit(\"option:selected\",e)),this.onAfterSelect(e)},deselect:function(e){var t=this;this.$emit(\"option:deselecting\",e),this.updateValue(this.selectedValue.filter((function(n){return!t.optionComparator(n,e)}))),this.$emit(\"option:deselected\",e)},keyboardDeselect:function(e,t){var n,o;this.deselect(e);var i=null===(n=this.$refs.deselectButtons)||void 0===n?void 0:n[t+1],s=null===(o=this.$refs.deselectButtons)||void 0===o?void 0:o[t-1],r=null!=i?i:s;r?r.focus():this.searchEl.focus()},clearSelection:function(){this.updateValue(this.multiple?[]:null),this.searchEl.focus()},onAfterSelect:function(e){var t=this;this.closeOnSelect&&(this.open=!this.open),this.clearSearchOnSelect&&(this.search=\"\"),this.noDrop&&this.multiple&&this.$nextTick((function(){return t.$refs.search.focus()}))},updateValue:function(e){var t=this;void 0===this.value&&(this.$data._value=e),null!==e&&(e=Array.isArray(e)?e.map((function(e){return t.reduce(e)})):this.reduce(e)),this.$emit(\"input\",e)},toggleDropdown:function(e){var n=e.target!==this.searchEl;n&&e.preventDefault();var o=[].concat(t()(this.$refs.deselectButtons||[]),t()([this.$refs.clearButton]||0));void 0===this.searchEl||o.filter(Boolean).some((function(t){return t.contains(e.target)||t===e.target}))?e.preventDefault():this.open&&n?this.searchEl.blur():this.disabled||(this.open=!0,this.searchEl.focus())},isOptionSelected:function(e){var t=this;return this.selectedValue.some((function(n){return t.optionComparator(n,e)}))},isOptionDeselectable:function(e){return this.isOptionSelected(e)&&this.deselectFromDropdown},hasKeyboardFocusBorder:function(e){return!(!this.keyboardFocusBorder||!this.isKeyboardNavigation)&&e===this.typeAheadPointer},optionComparator:function(e,t){return this.getOptionKey(e)===this.getOptionKey(t)},findOptionFromReducedValue:function(e){var n=this,o=[].concat(t()(this.options),t()(this.pushedTags)).filter((function(t){return JSON.stringify(n.reduce(t))===JSON.stringify(e)}));return 1===o.length?o[0]:o.find((function(e){return n.optionComparator(e,n.$data._value)}))||e},closeSearchOptions:function(){this.open=!1,this.$emit(\"search:blur\")},maybeDeleteValue:function(){if(!this.searchEl.value.length&&this.selectedValue&&this.selectedValue.length&&this.clearable){var e=null;this.multiple&&(e=t()(this.selectedValue.slice(0,this.selectedValue.length-1))),this.updateValue(e)}},optionExists:function(e){var t=this;return this.optionList.some((function(n){return t.optionComparator(n,e)}))},optionAriaSelected:function(e){return this.selectable(e)?String(this.isOptionSelected(e)):null},normalizeOptionForSlot:function(e){return\"object\"===s()(e)?e:a()({},this.label,e)},pushTag:function(e){this.pushedTags.push(e)},onEscape:function(){this.search.length?this.search=\"\":this.open=!1},onSearchBlur:function(){if(!this.mousedown||this.searching){var e=this.clearSearchOnSelect,t=this.multiple;return this.clearSearchOnBlur({clearSearchOnSelect:e,multiple:t})&&(this.search=\"\"),void this.closeSearchOptions()}this.mousedown=!1,0!==this.search.length||0!==this.options.length||this.closeSearchOptions()},onSearchFocus:function(){this.open=!0,this.$emit(\"search:focus\")},onMousedown:function(){this.mousedown=!0},onMouseUp:function(){this.mousedown=!1},onMouseMove:function(e,t){this.isKeyboardNavigation=!1,this.selectable(e)&&(this.typeAheadPointer=t)},onSearchKeyDown:function(e){var t=this,n=function(e){if(e.preventDefault(),t.open)return!t.isComposing&&t.typeAheadSelect();t.open=!0},o={8:function(e){return t.maybeDeleteValue()},9:function(e){return t.onTab()},27:function(e){return t.onEscape()},38:function(e){if(e.preventDefault(),t.isKeyboardNavigation=!0,t.open)return t.typeAheadUp();t.open=!0},40:function(e){if(e.preventDefault(),t.isKeyboardNavigation=!0,t.open)return t.typeAheadDown();t.open=!0}};this.selectOnKeyCodes.forEach((function(e){return o[e]=n}));var i=this.mapKeydown(o,this);if(\"function\"==typeof i[e.keyCode])return i[e.keyCode](e)},onSearchKeyPress:function(e){this.open||32!==e.keyCode||(e.preventDefault(),this.open=!0)}}},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"div\",{staticClass:\"v-select\",class:e.stateClasses,attrs:{id:\"v-select-\"+e.uid,dir:e.dir}},[e._t(\"header\",null,null,e.scope.header),e._v(\" \"),n(\"div\",{ref:\"toggle\",staticClass:\"vs__dropdown-toggle\"},[n(\"div\",{ref:\"selectedOptions\",staticClass:\"vs__selected-options\",on:{mousedown:e.toggleDropdown}},[e._l(e.selectedValue,(function(t,o){return e._t(\"selected-option-container\",[n(\"span\",{key:e.getOptionKey(t),staticClass:\"vs__selected\"},[e._t(\"selected-option\",[e._v(\"\\n \"+e._s(e.getOptionLabel(t))+\"\\n \")],null,e.normalizeOptionForSlot(t)),e._v(\" \"),e.multiple?n(\"button\",{ref:\"deselectButtons\",refInFor:!0,staticClass:\"vs__deselect\",attrs:{disabled:e.disabled,type:\"button\",title:e.ariaLabelDeselectOption(e.getOptionLabel(t)),\"aria-label\":e.ariaLabelDeselectOption(e.getOptionLabel(t))},on:{mousedown:function(n){return n.stopPropagation(),e.deselect(t)},keydown:function(n){return!n.type.indexOf(\"key\")&&e._k(n.keyCode,\"enter\",13,n.key,\"Enter\")?null:e.keyboardDeselect(t,o)}}},[n(e.childComponents.Deselect,{tag:\"component\"})],1):e._e()],2)],{option:e.normalizeOptionForSlot(t),deselect:e.deselect,multiple:e.multiple,disabled:e.disabled})})),e._v(\" \"),e._t(\"search\",[n(\"input\",e._g(e._b({staticClass:\"vs__search\"},\"input\",e.scope.search.attributes,!1),e.scope.search.events))],null,e.scope.search)],2),e._v(\" \"),n(\"div\",{ref:\"actions\",staticClass:\"vs__actions\"},[n(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.showClearButton,expression:\"showClearButton\"}],ref:\"clearButton\",staticClass:\"vs__clear\",attrs:{disabled:e.disabled,type:\"button\",title:e.ariaLabelClearSelected,\"aria-label\":e.ariaLabelClearSelected},on:{click:e.clearSelection}},[n(e.childComponents.Deselect,{tag:\"component\"})],1),e._v(\" \"),e.noDrop?e._e():n(\"button\",{ref:\"openIndicatorButton\",staticClass:\"vs__open-indicator-button\",attrs:{type:\"button\",tabindex:\"-1\",\"aria-labelledby\":\"vs-\"+e.uid+\"__listbox\",\"aria-controls\":\"vs-\"+e.uid+\"__listbox\",\"aria-expanded\":e.dropdownOpen.toString()},on:{mousedown:e.toggleDropdown}},[e._t(\"open-indicator\",[n(e.childComponents.OpenIndicator,e._b({tag:\"component\"},\"component\",e.scope.openIndicator.attributes,!1))],null,e.scope.openIndicator)],2),e._v(\" \"),e._t(\"spinner\",[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.mutableLoading,expression:\"mutableLoading\"}],staticClass:\"vs__spinner\"},[e._v(\"Loading...\")])],null,e.scope.spinner)],2)]),e._v(\" \"),n(\"transition\",{attrs:{name:e.transition}},[e.dropdownOpen?n(\"ul\",{directives:[{name:\"append-to-body\",rawName:\"v-append-to-body\"}],key:\"vs-\"+e.uid+\"__listbox\",ref:\"dropdownMenu\",staticClass:\"vs__dropdown-menu\",attrs:{id:\"vs-\"+e.uid+\"__listbox\",role:\"listbox\",\"aria-label\":e.ariaLabelListbox,\"aria-multiselectable\":e.multiple,tabindex:\"-1\"},on:{mousedown:function(t){return t.preventDefault(),e.onMousedown(t)},mouseup:e.onMouseUp}},[e._t(\"list-header\",null,null,e.scope.listHeader),e._v(\" \"),e._l(e.filteredOptions,(function(t,o){return n(\"li\",{key:e.getOptionKey(t),staticClass:\"vs__dropdown-option\",class:{\"vs__dropdown-option--deselect\":e.isOptionDeselectable(t)&&o===e.typeAheadPointer,\"vs__dropdown-option--selected\":e.isOptionSelected(t),\"vs__dropdown-option--highlight\":o===e.typeAheadPointer,\"vs__dropdown-option--kb-focus\":e.hasKeyboardFocusBorder(o),\"vs__dropdown-option--disabled\":!e.selectable(t)},attrs:{id:\"vs-\"+e.uid+\"__option-\"+o,role:\"option\",\"aria-selected\":e.optionAriaSelected(t)},on:{mousemove:function(n){return e.onMouseMove(t,o)},click:function(n){n.preventDefault(),n.stopPropagation(),e.selectable(t)&&e.select(t)}}},[e._t(\"option\",[e._v(\"\\n \"+e._s(e.getOptionLabel(t))+\"\\n \")],null,e.normalizeOptionForSlot(t))],2)})),e._v(\" \"),0===e.filteredOptions.length?n(\"li\",{staticClass:\"vs__no-options\"},[e._t(\"no-options\",[e._v(\"\\n Sorry, no matching options.\\n \")],null,e.scope.noOptions)],2):e._e(),e._v(\" \"),e._t(\"list-footer\",null,null,e.scope.listFooter)],2):n(\"ul\",{staticStyle:{display:\"none\",visibility:\"hidden\"},attrs:{id:\"vs-\"+e.uid+\"__listbox\",role:\"listbox\",\"aria-label\":e.ariaLabelListbox}})]),e._v(\" \"),e._t(\"footer\",null,null,e.scope.footer)],2)}),[],!1,null,null,null).exports,O={ajax:u,pointer:c,pointerScroll:l},_=m})(),o})()}));\n//# sourceMappingURL=vue-select.js.map","/**\n * @import {\n * Chunk,\n * Code,\n * ConstructRecord,\n * Construct,\n * Effects,\n * InitialConstruct,\n * ParseContext,\n * Point,\n * State,\n * TokenizeContext,\n * Token\n * } from 'micromark-util-types'\n */\n\n/**\n * @callback Restore\n * Restore the state.\n * @returns {undefined}\n * Nothing.\n *\n * @typedef Info\n * Info.\n * @property {Restore} restore\n * Restore.\n * @property {number} from\n * From.\n *\n * @callback ReturnHandle\n * Handle a successful run.\n * @param {Construct} construct\n * Construct.\n * @param {Info} info\n * Info.\n * @returns {undefined}\n * Nothing.\n */\n\nimport { markdownLineEnding } from 'micromark-util-character';\nimport { push, splice } from 'micromark-util-chunked';\nimport { resolveAll } from 'micromark-util-resolve-all';\n/**\n * Create a tokenizer.\n * Tokenizers deal with one type of data (e.g., containers, flow, text).\n * The parser is the object dealing with it all.\n * `initialize` works like other constructs, except that only its `tokenize`\n * function is used, in which case it doesn’t receive an `ok` or `nok`.\n * `from` can be given to set the point before the first character, although\n * when further lines are indented, they must be set with `defineSkip`.\n *\n * @param {ParseContext} parser\n * Parser.\n * @param {InitialConstruct} initialize\n * Construct.\n * @param {Omit | undefined} [from]\n * Point (optional).\n * @returns {TokenizeContext}\n * Context.\n */\nexport function createTokenizer(parser, initialize, from) {\n /** @type {Point} */\n let point = {\n _bufferIndex: -1,\n _index: 0,\n line: from && from.line || 1,\n column: from && from.column || 1,\n offset: from && from.offset || 0\n };\n /** @type {Record} */\n const columnStart = {};\n /** @type {Array} */\n const resolveAllConstructs = [];\n /** @type {Array} */\n let chunks = [];\n /** @type {Array} */\n let stack = [];\n /** @type {boolean | undefined} */\n let consumed = true;\n\n /**\n * Tools used for tokenizing.\n *\n * @type {Effects}\n */\n const effects = {\n attempt: constructFactory(onsuccessfulconstruct),\n check: constructFactory(onsuccessfulcheck),\n consume,\n enter,\n exit,\n interrupt: constructFactory(onsuccessfulcheck, {\n interrupt: true\n })\n };\n\n /**\n * State and tools for resolving and serializing.\n *\n * @type {TokenizeContext}\n */\n const context = {\n code: null,\n containerState: {},\n defineSkip,\n events: [],\n now,\n parser,\n previous: null,\n sliceSerialize,\n sliceStream,\n write\n };\n\n /**\n * The state function.\n *\n * @type {State | undefined}\n */\n let state = initialize.tokenize.call(context, effects);\n\n /**\n * Track which character we expect to be consumed, to catch bugs.\n *\n * @type {Code}\n */\n let expectedCode;\n if (initialize.resolveAll) {\n resolveAllConstructs.push(initialize);\n }\n return context;\n\n /** @type {TokenizeContext['write']} */\n function write(slice) {\n chunks = push(chunks, slice);\n main();\n\n // Exit if we’re not done, resolve might change stuff.\n if (chunks[chunks.length - 1] !== null) {\n return [];\n }\n addResult(initialize, 0);\n\n // Otherwise, resolve, and exit.\n context.events = resolveAll(resolveAllConstructs, context.events, context);\n return context.events;\n }\n\n //\n // Tools.\n //\n\n /** @type {TokenizeContext['sliceSerialize']} */\n function sliceSerialize(token, expandTabs) {\n return serializeChunks(sliceStream(token), expandTabs);\n }\n\n /** @type {TokenizeContext['sliceStream']} */\n function sliceStream(token) {\n return sliceChunks(chunks, token);\n }\n\n /** @type {TokenizeContext['now']} */\n function now() {\n // This is a hot path, so we clone manually instead of `Object.assign({}, point)`\n const {\n _bufferIndex,\n _index,\n line,\n column,\n offset\n } = point;\n return {\n _bufferIndex,\n _index,\n line,\n column,\n offset\n };\n }\n\n /** @type {TokenizeContext['defineSkip']} */\n function defineSkip(value) {\n columnStart[value.line] = value.column;\n accountForPotentialSkip();\n }\n\n //\n // State management.\n //\n\n /**\n * Main loop (note that `_index` and `_bufferIndex` in `point` are modified by\n * `consume`).\n * Here is where we walk through the chunks, which either include strings of\n * several characters, or numerical character codes.\n * The reason to do this in a loop instead of a call is so the stack can\n * drain.\n *\n * @returns {undefined}\n * Nothing.\n */\n function main() {\n /** @type {number} */\n let chunkIndex;\n while (point._index < chunks.length) {\n const chunk = chunks[point._index];\n\n // If we’re in a buffer chunk, loop through it.\n if (typeof chunk === 'string') {\n chunkIndex = point._index;\n if (point._bufferIndex < 0) {\n point._bufferIndex = 0;\n }\n while (point._index === chunkIndex && point._bufferIndex < chunk.length) {\n go(chunk.charCodeAt(point._bufferIndex));\n }\n } else {\n go(chunk);\n }\n }\n }\n\n /**\n * Deal with one code.\n *\n * @param {Code} code\n * Code.\n * @returns {undefined}\n * Nothing.\n */\n function go(code) {\n consumed = undefined;\n expectedCode = code;\n state = state(code);\n }\n\n /** @type {Effects['consume']} */\n function consume(code) {\n if (markdownLineEnding(code)) {\n point.line++;\n point.column = 1;\n point.offset += code === -3 ? 2 : 1;\n accountForPotentialSkip();\n } else if (code !== -1) {\n point.column++;\n point.offset++;\n }\n\n // Not in a string chunk.\n if (point._bufferIndex < 0) {\n point._index++;\n } else {\n point._bufferIndex++;\n\n // At end of string chunk.\n if (point._bufferIndex ===\n // Points w/ non-negative `_bufferIndex` reference\n // strings.\n /** @type {string} */\n chunks[point._index].length) {\n point._bufferIndex = -1;\n point._index++;\n }\n }\n\n // Expose the previous character.\n context.previous = code;\n\n // Mark as consumed.\n consumed = true;\n }\n\n /** @type {Effects['enter']} */\n function enter(type, fields) {\n /** @type {Token} */\n // @ts-expect-error Patch instead of assign required fields to help GC.\n const token = fields || {};\n token.type = type;\n token.start = now();\n context.events.push(['enter', token, context]);\n stack.push(token);\n return token;\n }\n\n /** @type {Effects['exit']} */\n function exit(type) {\n const token = stack.pop();\n token.end = now();\n context.events.push(['exit', token, context]);\n return token;\n }\n\n /**\n * Use results.\n *\n * @type {ReturnHandle}\n */\n function onsuccessfulconstruct(construct, info) {\n addResult(construct, info.from);\n }\n\n /**\n * Discard results.\n *\n * @type {ReturnHandle}\n */\n function onsuccessfulcheck(_, info) {\n info.restore();\n }\n\n /**\n * Factory to attempt/check/interrupt.\n *\n * @param {ReturnHandle} onreturn\n * Callback.\n * @param {{interrupt?: boolean | undefined} | undefined} [fields]\n * Fields.\n */\n function constructFactory(onreturn, fields) {\n return hook;\n\n /**\n * Handle either an object mapping codes to constructs, a list of\n * constructs, or a single construct.\n *\n * @param {Array | ConstructRecord | Construct} constructs\n * Constructs.\n * @param {State} returnState\n * State.\n * @param {State | undefined} [bogusState]\n * State.\n * @returns {State}\n * State.\n */\n function hook(constructs, returnState, bogusState) {\n /** @type {ReadonlyArray} */\n let listOfConstructs;\n /** @type {number} */\n let constructIndex;\n /** @type {Construct} */\n let currentConstruct;\n /** @type {Info} */\n let info;\n return Array.isArray(constructs) ? /* c8 ignore next 1 */\n handleListOfConstructs(constructs) : 'tokenize' in constructs ?\n // Looks like a construct.\n handleListOfConstructs([(/** @type {Construct} */constructs)]) : handleMapOfConstructs(constructs);\n\n /**\n * Handle a list of construct.\n *\n * @param {ConstructRecord} map\n * Constructs.\n * @returns {State}\n * State.\n */\n function handleMapOfConstructs(map) {\n return start;\n\n /** @type {State} */\n function start(code) {\n const left = code !== null && map[code];\n const all = code !== null && map.null;\n const list = [\n // To do: add more extension tests.\n /* c8 ignore next 2 */\n ...(Array.isArray(left) ? left : left ? [left] : []), ...(Array.isArray(all) ? all : all ? [all] : [])];\n return handleListOfConstructs(list)(code);\n }\n }\n\n /**\n * Handle a list of construct.\n *\n * @param {ReadonlyArray} list\n * Constructs.\n * @returns {State}\n * State.\n */\n function handleListOfConstructs(list) {\n listOfConstructs = list;\n constructIndex = 0;\n if (list.length === 0) {\n return bogusState;\n }\n return handleConstruct(list[constructIndex]);\n }\n\n /**\n * Handle a single construct.\n *\n * @param {Construct} construct\n * Construct.\n * @returns {State}\n * State.\n */\n function handleConstruct(construct) {\n return start;\n\n /** @type {State} */\n function start(code) {\n // To do: not needed to store if there is no bogus state, probably?\n // Currently doesn’t work because `inspect` in document does a check\n // w/o a bogus, which doesn’t make sense. But it does seem to help perf\n // by not storing.\n info = store();\n currentConstruct = construct;\n if (!construct.partial) {\n context.currentConstruct = construct;\n }\n\n // Always populated by defaults.\n\n if (construct.name && context.parser.constructs.disable.null.includes(construct.name)) {\n return nok(code);\n }\n return construct.tokenize.call(\n // If we do have fields, create an object w/ `context` as its\n // prototype.\n // This allows a “live binding”, which is needed for `interrupt`.\n fields ? Object.assign(Object.create(context), fields) : context, effects, ok, nok)(code);\n }\n }\n\n /** @type {State} */\n function ok(code) {\n consumed = true;\n onreturn(currentConstruct, info);\n return returnState;\n }\n\n /** @type {State} */\n function nok(code) {\n consumed = true;\n info.restore();\n if (++constructIndex < listOfConstructs.length) {\n return handleConstruct(listOfConstructs[constructIndex]);\n }\n return bogusState;\n }\n }\n }\n\n /**\n * @param {Construct} construct\n * Construct.\n * @param {number} from\n * From.\n * @returns {undefined}\n * Nothing.\n */\n function addResult(construct, from) {\n if (construct.resolveAll && !resolveAllConstructs.includes(construct)) {\n resolveAllConstructs.push(construct);\n }\n if (construct.resolve) {\n splice(context.events, from, context.events.length - from, construct.resolve(context.events.slice(from), context));\n }\n if (construct.resolveTo) {\n context.events = construct.resolveTo(context.events, context);\n }\n }\n\n /**\n * Store state.\n *\n * @returns {Info}\n * Info.\n */\n function store() {\n const startPoint = now();\n const startPrevious = context.previous;\n const startCurrentConstruct = context.currentConstruct;\n const startEventsIndex = context.events.length;\n const startStack = Array.from(stack);\n return {\n from: startEventsIndex,\n restore\n };\n\n /**\n * Restore state.\n *\n * @returns {undefined}\n * Nothing.\n */\n function restore() {\n point = startPoint;\n context.previous = startPrevious;\n context.currentConstruct = startCurrentConstruct;\n context.events.length = startEventsIndex;\n stack = startStack;\n accountForPotentialSkip();\n }\n }\n\n /**\n * Move the current point a bit forward in the line when it’s on a column\n * skip.\n *\n * @returns {undefined}\n * Nothing.\n */\n function accountForPotentialSkip() {\n if (point.line in columnStart && point.column < 2) {\n point.column = columnStart[point.line];\n point.offset += columnStart[point.line] - 1;\n }\n }\n}\n\n/**\n * Get the chunks from a slice of chunks in the range of a token.\n *\n * @param {ReadonlyArray} chunks\n * Chunks.\n * @param {Pick} token\n * Token.\n * @returns {Array}\n * Chunks.\n */\nfunction sliceChunks(chunks, token) {\n const startIndex = token.start._index;\n const startBufferIndex = token.start._bufferIndex;\n const endIndex = token.end._index;\n const endBufferIndex = token.end._bufferIndex;\n /** @type {Array} */\n let view;\n if (startIndex === endIndex) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view = [chunks[startIndex].slice(startBufferIndex, endBufferIndex)];\n } else {\n view = chunks.slice(startIndex, endIndex);\n if (startBufferIndex > -1) {\n const head = view[0];\n if (typeof head === 'string') {\n view[0] = head.slice(startBufferIndex);\n /* c8 ignore next 4 -- used to be used, no longer */\n } else {\n view.shift();\n }\n }\n if (endBufferIndex > 0) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view.push(chunks[endIndex].slice(0, endBufferIndex));\n }\n }\n return view;\n}\n\n/**\n * Get the string value of a slice of chunks.\n *\n * @param {ReadonlyArray} chunks\n * Chunks.\n * @param {boolean | undefined} [expandTabs=false]\n * Whether to expand tabs (default: `false`).\n * @returns {string}\n * Result.\n */\nfunction serializeChunks(chunks, expandTabs) {\n let index = -1;\n /** @type {Array} */\n const result = [];\n /** @type {boolean | undefined} */\n let atTab;\n while (++index < chunks.length) {\n const chunk = chunks[index];\n /** @type {string} */\n let value;\n if (typeof chunk === 'string') {\n value = chunk;\n } else switch (chunk) {\n case -5:\n {\n value = \"\\r\";\n break;\n }\n case -4:\n {\n value = \"\\n\";\n break;\n }\n case -3:\n {\n value = \"\\r\" + \"\\n\";\n break;\n }\n case -2:\n {\n value = expandTabs ? \" \" : \"\\t\";\n break;\n }\n case -1:\n {\n if (!expandTabs && atTab) continue;\n value = \" \";\n break;\n }\n default:\n {\n // Currently only replacement character.\n value = String.fromCharCode(chunk);\n }\n }\n atTab = chunk === -2;\n result.push(value);\n }\n return result.join('');\n}","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Text} Text\n * @typedef {import('mdast').Break} Break\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `break` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Break} node\n * mdast node.\n * @returns {Array}\n * hast element content.\n */\nexport function hardBreak(state, node) {\n /** @type {Element} */\n const result = {type: 'element', tagName: 'br', properties: {}, children: []}\n state.patch(node, result)\n return [state.applyData(node, result), {type: 'text', value: '\\n'}]\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Code} Code\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `code` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Code} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function code(state, node) {\n const value = node.value ? node.value + '\\n' : ''\n /** @type {Properties} */\n const properties = {}\n\n if (node.lang) {\n properties.className = ['language-' + node.lang]\n }\n\n // Create ``.\n /** @type {Element} */\n let result = {\n type: 'element',\n tagName: 'code',\n properties,\n children: [{type: 'text', value}]\n }\n\n if (node.meta) {\n result.data = {meta: node.meta}\n }\n\n state.patch(node, result)\n result = state.applyData(node, result)\n\n // Create `
`.\n  result = {type: 'element', tagName: 'pre', properties: {}, children: [result]}\n  state.patch(node, result)\n  return result\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `listItem` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {ListItem} node\n *   mdast node.\n * @param {Parents | undefined} parent\n *   Parent of `node`.\n * @returns {Element}\n *   hast node.\n */\nexport function listItem(state, node, parent) {\n  const results = state.all(node)\n  const loose = parent ? listLoose(parent) : listItemLoose(node)\n  /** @type {Properties} */\n  const properties = {}\n  /** @type {Array} */\n  const children = []\n\n  if (typeof node.checked === 'boolean') {\n    const head = results[0]\n    /** @type {Element} */\n    let paragraph\n\n    if (head && head.type === 'element' && head.tagName === 'p') {\n      paragraph = head\n    } else {\n      paragraph = {type: 'element', tagName: 'p', properties: {}, children: []}\n      results.unshift(paragraph)\n    }\n\n    if (paragraph.children.length > 0) {\n      paragraph.children.unshift({type: 'text', value: ' '})\n    }\n\n    paragraph.children.unshift({\n      type: 'element',\n      tagName: 'input',\n      properties: {type: 'checkbox', checked: node.checked, disabled: true},\n      children: []\n    })\n\n    // According to github-markdown-css, this class hides bullet.\n    // See: .\n    properties.className = ['task-list-item']\n  }\n\n  let index = -1\n\n  while (++index < results.length) {\n    const child = results[index]\n\n    // Add eols before nodes, except if this is a loose, first paragraph.\n    if (\n      loose ||\n      index !== 0 ||\n      child.type !== 'element' ||\n      child.tagName !== 'p'\n    ) {\n      children.push({type: 'text', value: '\\n'})\n    }\n\n    if (child.type === 'element' && child.tagName === 'p' && !loose) {\n      children.push(...child.children)\n    } else {\n      children.push(child)\n    }\n  }\n\n  const tail = results[results.length - 1]\n\n  // Add a final eol.\n  if (tail && (loose || tail.type !== 'element' || tail.tagName !== 'p')) {\n    children.push({type: 'text', value: '\\n'})\n  }\n\n  /** @type {Element} */\n  const result = {type: 'element', tagName: 'li', properties, children}\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n\n/**\n * @param {Parents} node\n * @return {Boolean}\n */\nfunction listLoose(node) {\n  let loose = false\n  if (node.type === 'list') {\n    loose = node.spread || false\n    const children = node.children\n    let index = -1\n\n    while (!loose && ++index < children.length) {\n      loose = listItemLoose(children[index])\n    }\n  }\n\n  return loose\n}\n\n/**\n * @param {ListItem} node\n * @return {Boolean}\n */\nfunction listItemLoose(node) {\n  const spread = node.spread\n\n  return spread === null || spread === undefined\n    ? node.children.length > 1\n    : spread\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n *\n * @typedef {import('./state.js').State} State\n */\n\n/**\n * @callback FootnoteBackContentTemplate\n *   Generate content for the backreference dynamically.\n *\n *   For the following markdown:\n *\n *   ```markdown\n *   Alpha[^micromark], bravo[^micromark], and charlie[^remark].\n *\n *   [^remark]: things about remark\n *   [^micromark]: things about micromark\n *   ```\n *\n *   This function will be called with:\n *\n *   *  `0` and `0` for the backreference from `things about micromark` to\n *      `alpha`, as it is the first used definition, and the first call to it\n *   *  `0` and `1` for the backreference from `things about micromark` to\n *      `bravo`, as it is the first used definition, and the second call to it\n *   *  `1` and `0` for the backreference from `things about remark` to\n *      `charlie`, as it is the second used definition\n * @param {number} referenceIndex\n *   Index of the definition in the order that they are first referenced,\n *   0-indexed.\n * @param {number} rereferenceIndex\n *   Index of calls to the same definition, 0-indexed.\n * @returns {Array | ElementContent | string}\n *   Content for the backreference when linking back from definitions to their\n *   reference.\n *\n * @callback FootnoteBackLabelTemplate\n *   Generate a back label dynamically.\n *\n *   For the following markdown:\n *\n *   ```markdown\n *   Alpha[^micromark], bravo[^micromark], and charlie[^remark].\n *\n *   [^remark]: things about remark\n *   [^micromark]: things about micromark\n *   ```\n *\n *   This function will be called with:\n *\n *   *  `0` and `0` for the backreference from `things about micromark` to\n *      `alpha`, as it is the first used definition, and the first call to it\n *   *  `0` and `1` for the backreference from `things about micromark` to\n *      `bravo`, as it is the first used definition, and the second call to it\n *   *  `1` and `0` for the backreference from `things about remark` to\n *      `charlie`, as it is the second used definition\n * @param {number} referenceIndex\n *   Index of the definition in the order that they are first referenced,\n *   0-indexed.\n * @param {number} rereferenceIndex\n *   Index of calls to the same definition, 0-indexed.\n * @returns {string}\n *   Back label to use when linking back from definitions to their reference.\n */\n\nimport structuredClone from '@ungap/structured-clone'\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Generate the default content that GitHub uses on backreferences.\n *\n * @param {number} _\n *   Index of the definition in the order that they are first referenced,\n *   0-indexed.\n * @param {number} rereferenceIndex\n *   Index of calls to the same definition, 0-indexed.\n * @returns {Array}\n *   Content.\n */\nexport function defaultFootnoteBackContent(_, rereferenceIndex) {\n  /** @type {Array} */\n  const result = [{type: 'text', value: '↩'}]\n\n  if (rereferenceIndex > 1) {\n    result.push({\n      type: 'element',\n      tagName: 'sup',\n      properties: {},\n      children: [{type: 'text', value: String(rereferenceIndex)}]\n    })\n  }\n\n  return result\n}\n\n/**\n * Generate the default label that GitHub uses on backreferences.\n *\n * @param {number} referenceIndex\n *   Index of the definition in the order that they are first referenced,\n *   0-indexed.\n * @param {number} rereferenceIndex\n *   Index of calls to the same definition, 0-indexed.\n * @returns {string}\n *   Label.\n */\nexport function defaultFootnoteBackLabel(referenceIndex, rereferenceIndex) {\n  return (\n    'Back to reference ' +\n    (referenceIndex + 1) +\n    (rereferenceIndex > 1 ? '-' + rereferenceIndex : '')\n  )\n}\n\n/**\n * Generate a hast footer for called footnote definitions.\n *\n * @param {State} state\n *   Info passed around.\n * @returns {Element | undefined}\n *   `section` element or `undefined`.\n */\n// eslint-disable-next-line complexity\nexport function footer(state) {\n  const clobberPrefix =\n    typeof state.options.clobberPrefix === 'string'\n      ? state.options.clobberPrefix\n      : 'user-content-'\n  const footnoteBackContent =\n    state.options.footnoteBackContent || defaultFootnoteBackContent\n  const footnoteBackLabel =\n    state.options.footnoteBackLabel || defaultFootnoteBackLabel\n  const footnoteLabel = state.options.footnoteLabel || 'Footnotes'\n  const footnoteLabelTagName = state.options.footnoteLabelTagName || 'h2'\n  const footnoteLabelProperties = state.options.footnoteLabelProperties || {\n    className: ['sr-only']\n  }\n  /** @type {Array} */\n  const listItems = []\n  let referenceIndex = -1\n\n  while (++referenceIndex < state.footnoteOrder.length) {\n    const def = state.footnoteById.get(state.footnoteOrder[referenceIndex])\n\n    if (!def) {\n      continue\n    }\n\n    const content = state.all(def)\n    const id = String(def.identifier).toUpperCase()\n    const safeId = normalizeUri(id.toLowerCase())\n    let rereferenceIndex = 0\n    /** @type {Array} */\n    const backReferences = []\n    const counts = state.footnoteCounts.get(id)\n\n    // eslint-disable-next-line no-unmodified-loop-condition\n    while (counts !== undefined && ++rereferenceIndex <= counts) {\n      if (backReferences.length > 0) {\n        backReferences.push({type: 'text', value: ' '})\n      }\n\n      let children =\n        typeof footnoteBackContent === 'string'\n          ? footnoteBackContent\n          : footnoteBackContent(referenceIndex, rereferenceIndex)\n\n      if (typeof children === 'string') {\n        children = {type: 'text', value: children}\n      }\n\n      backReferences.push({\n        type: 'element',\n        tagName: 'a',\n        properties: {\n          href:\n            '#' +\n            clobberPrefix +\n            'fnref-' +\n            safeId +\n            (rereferenceIndex > 1 ? '-' + rereferenceIndex : ''),\n          dataFootnoteBackref: '',\n          ariaLabel:\n            typeof footnoteBackLabel === 'string'\n              ? footnoteBackLabel\n              : footnoteBackLabel(referenceIndex, rereferenceIndex),\n          className: ['data-footnote-backref']\n        },\n        children: Array.isArray(children) ? children : [children]\n      })\n    }\n\n    const tail = content[content.length - 1]\n\n    if (tail && tail.type === 'element' && tail.tagName === 'p') {\n      const tailTail = tail.children[tail.children.length - 1]\n      if (tailTail && tailTail.type === 'text') {\n        tailTail.value += ' '\n      } else {\n        tail.children.push({type: 'text', value: ' '})\n      }\n\n      tail.children.push(...backReferences)\n    } else {\n      content.push(...backReferences)\n    }\n\n    /** @type {Element} */\n    const listItem = {\n      type: 'element',\n      tagName: 'li',\n      properties: {id: clobberPrefix + 'fn-' + safeId},\n      children: state.wrap(content, true)\n    }\n\n    state.patch(def, listItem)\n\n    listItems.push(listItem)\n  }\n\n  if (listItems.length === 0) {\n    return\n  }\n\n  return {\n    type: 'element',\n    tagName: 'section',\n    properties: {dataFootnotes: true, className: ['footnotes']},\n    children: [\n      {\n        type: 'element',\n        tagName: footnoteLabelTagName,\n        properties: {\n          ...structuredClone(footnoteLabelProperties),\n          id: 'footnote-label'\n        },\n        children: [{type: 'text', value: footnoteLabel}]\n      },\n      {type: 'text', value: '\\n'},\n      {\n        type: 'element',\n        tagName: 'ol',\n        properties: {},\n        children: state.wrap(listItems, true)\n      },\n      {type: 'text', value: '\\n'}\n    ]\n  }\n}\n","/**\n * @typedef {import('hast').Element} HastElement\n * @typedef {import('hast').ElementContent} HastElementContent\n * @typedef {import('hast').Nodes} HastNodes\n * @typedef {import('hast').Properties} HastProperties\n * @typedef {import('hast').RootContent} HastRootContent\n * @typedef {import('hast').Text} HastText\n *\n * @typedef {import('mdast').Definition} MdastDefinition\n * @typedef {import('mdast').FootnoteDefinition} MdastFootnoteDefinition\n * @typedef {import('mdast').Nodes} MdastNodes\n * @typedef {import('mdast').Parents} MdastParents\n *\n * @typedef {import('./footer.js').FootnoteBackContentTemplate} FootnoteBackContentTemplate\n * @typedef {import('./footer.js').FootnoteBackLabelTemplate} FootnoteBackLabelTemplate\n */\n\n/**\n * @callback Handler\n *   Handle a node.\n * @param {State} state\n *   Info passed around.\n * @param {any} node\n *   mdast node to handle.\n * @param {MdastParents | undefined} parent\n *   Parent of `node`.\n * @returns {Array | HastElementContent | undefined}\n *   hast node.\n *\n * @typedef {Partial>} Handlers\n *   Handle nodes.\n *\n * @typedef Options\n *   Configuration (optional).\n * @property {boolean | null | undefined} [allowDangerousHtml=false]\n *   Whether to persist raw HTML in markdown in the hast tree (default:\n *   `false`).\n * @property {string | null | undefined} [clobberPrefix='user-content-']\n *   Prefix to use before the `id` property on footnotes to prevent them from\n *   *clobbering* (default: `'user-content-'`).\n *\n *   Pass `''` for trusted markdown and when you are careful with\n *   polyfilling.\n *   You could pass a different prefix.\n *\n *   DOM clobbering is this:\n *\n *   ```html\n *   

\n * \n * ```\n *\n * The above example shows that elements are made available by browsers, by\n * their ID, on the `window` object.\n * This is a security risk because you might be expecting some other variable\n * at that place.\n * It can also break polyfills.\n * Using a prefix solves these problems.\n * @property {FootnoteBackContentTemplate | string | null | undefined} [footnoteBackContent]\n * Content of the backreference back to references (default: `defaultFootnoteBackContent`).\n *\n * The default value is:\n *\n * ```js\n * function defaultFootnoteBackContent(_, rereferenceIndex) {\n * const result = [{type: 'text', value: '↩'}]\n *\n * if (rereferenceIndex > 1) {\n * result.push({\n * type: 'element',\n * tagName: 'sup',\n * properties: {},\n * children: [{type: 'text', value: String(rereferenceIndex)}]\n * })\n * }\n *\n * return result\n * }\n * ```\n *\n * This content is used in the `a` element of each backreference (the `↩`\n * links).\n * @property {FootnoteBackLabelTemplate | string | null | undefined} [footnoteBackLabel]\n * Label to describe the backreference back to references (default:\n * `defaultFootnoteBackLabel`).\n *\n * The default value is:\n *\n * ```js\n * function defaultFootnoteBackLabel(referenceIndex, rereferenceIndex) {\n * return (\n * 'Back to reference ' +\n * (referenceIndex + 1) +\n * (rereferenceIndex > 1 ? '-' + rereferenceIndex : '')\n * )\n * }\n * ```\n *\n * Change it when the markdown is not in English.\n *\n * This label is used in the `ariaLabel` property on each backreference\n * (the `↩` links).\n * It affects users of assistive technology.\n * @property {string | null | undefined} [footnoteLabel='Footnotes']\n * Textual label to use for the footnotes section (default: `'Footnotes'`).\n *\n * Change it when the markdown is not in English.\n *\n * This label is typically hidden visually (assuming a `sr-only` CSS class\n * is defined that does that) and so affects screen readers only.\n * If you do have such a class, but want to show this section to everyone,\n * pass different properties with the `footnoteLabelProperties` option.\n * @property {HastProperties | null | undefined} [footnoteLabelProperties={className: ['sr-only']}]\n * Properties to use on the footnote label (default: `{className:\n * ['sr-only']}`).\n *\n * Change it to show the label and add other properties.\n *\n * This label is typically hidden visually (assuming an `sr-only` CSS class\n * is defined that does that) and so affects screen readers only.\n * If you do have such a class, but want to show this section to everyone,\n * pass an empty string.\n * You can also add different properties.\n *\n * > 👉 **Note**: `id: 'footnote-label'` is always added, because footnote\n * > calls use it with `aria-describedby` to provide an accessible label.\n * @property {string | null | undefined} [footnoteLabelTagName='h2']\n * HTML tag name to use for the footnote label element (default: `'h2'`).\n *\n * Change it to match your document structure.\n *\n * This label is typically hidden visually (assuming a `sr-only` CSS class\n * is defined that does that) and so affects screen readers only.\n * If you do have such a class, but want to show this section to everyone,\n * pass different properties with the `footnoteLabelProperties` option.\n * @property {Handlers | null | undefined} [handlers]\n * Extra handlers for nodes (optional).\n * @property {Array | null | undefined} [passThrough]\n * List of custom mdast node types to pass through (keep) in hast (note that\n * the node itself is passed, but eventual children are transformed)\n * (optional).\n * @property {Handler | null | undefined} [unknownHandler]\n * Handler for all unknown nodes (optional).\n *\n * @typedef State\n * Info passed around.\n * @property {(node: MdastNodes) => Array} all\n * Transform the children of an mdast parent to hast.\n * @property {(from: MdastNodes, to: Type) => HastElement | Type} applyData\n * Honor the `data` of `from`, and generate an element instead of `node`.\n * @property {Map} definitionById\n * Definitions by their identifier.\n * @property {Map} footnoteById\n * Footnote definitions by their identifier.\n * @property {Map} footnoteCounts\n * Counts for how often the same footnote was called.\n * @property {Array} footnoteOrder\n * Identifiers of order when footnote calls first appear in tree order.\n * @property {Handlers} handlers\n * Applied handlers.\n * @property {(node: MdastNodes, parent: MdastParents | undefined) => Array | HastElementContent | undefined} one\n * Transform an mdast node to hast.\n * @property {Options} options\n * Configuration.\n * @property {(from: MdastNodes, node: HastNodes) => undefined} patch\n * Copy a node’s positional info.\n * @property {(nodes: Array, loose?: boolean | undefined) => Array} wrap\n * Wrap `nodes` with line endings between each node, adds initial/final line endings when `loose`.\n */\n\nimport structuredClone from '@ungap/structured-clone'\nimport {visit} from 'unist-util-visit'\nimport {position} from 'unist-util-position'\nimport {handlers as defaultHandlers} from './handlers/index.js'\n\nconst own = {}.hasOwnProperty\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/**\n * Create `state` from an mdast tree.\n *\n * @param {MdastNodes} tree\n * mdast node to transform.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {State}\n * `state` function.\n */\nexport function createState(tree, options) {\n const settings = options || emptyOptions\n /** @type {Map} */\n const definitionById = new Map()\n /** @type {Map} */\n const footnoteById = new Map()\n /** @type {Map} */\n const footnoteCounts = new Map()\n /** @type {Handlers} */\n // @ts-expect-error: the root handler returns a root.\n // Hard to type.\n const handlers = {...defaultHandlers, ...settings.handlers}\n\n /** @type {State} */\n const state = {\n all,\n applyData,\n definitionById,\n footnoteById,\n footnoteCounts,\n footnoteOrder: [],\n handlers,\n one,\n options: settings,\n patch,\n wrap\n }\n\n visit(tree, function (node) {\n if (node.type === 'definition' || node.type === 'footnoteDefinition') {\n const map = node.type === 'definition' ? definitionById : footnoteById\n const id = String(node.identifier).toUpperCase()\n\n // Mimick CM behavior of link definitions.\n // See: .\n if (!map.has(id)) {\n // @ts-expect-error: node type matches map.\n map.set(id, node)\n }\n }\n })\n\n return state\n\n /**\n * Transform an mdast node into a hast node.\n *\n * @param {MdastNodes} node\n * mdast node.\n * @param {MdastParents | undefined} [parent]\n * Parent of `node`.\n * @returns {Array | HastElementContent | undefined}\n * Resulting hast node.\n */\n function one(node, parent) {\n const type = node.type\n const handle = state.handlers[type]\n\n if (own.call(state.handlers, type) && handle) {\n return handle(state, node, parent)\n }\n\n if (state.options.passThrough && state.options.passThrough.includes(type)) {\n if ('children' in node) {\n const {children, ...shallow} = node\n const result = structuredClone(shallow)\n // @ts-expect-error: TS doesn’t understand…\n result.children = state.all(node)\n // @ts-expect-error: TS doesn’t understand…\n return result\n }\n\n // @ts-expect-error: it’s custom.\n return structuredClone(node)\n }\n\n const unknown = state.options.unknownHandler || defaultUnknownHandler\n\n return unknown(state, node, parent)\n }\n\n /**\n * Transform the children of an mdast node into hast nodes.\n *\n * @param {MdastNodes} parent\n * mdast node to compile\n * @returns {Array}\n * Resulting hast nodes.\n */\n function all(parent) {\n /** @type {Array} */\n const values = []\n\n if ('children' in parent) {\n const nodes = parent.children\n let index = -1\n while (++index < nodes.length) {\n const result = state.one(nodes[index], parent)\n\n // To do: see if we van clean this? Can we merge texts?\n if (result) {\n if (index && nodes[index - 1].type === 'break') {\n if (!Array.isArray(result) && result.type === 'text') {\n result.value = trimMarkdownSpaceStart(result.value)\n }\n\n if (!Array.isArray(result) && result.type === 'element') {\n const head = result.children[0]\n\n if (head && head.type === 'text') {\n head.value = trimMarkdownSpaceStart(head.value)\n }\n }\n }\n\n if (Array.isArray(result)) {\n values.push(...result)\n } else {\n values.push(result)\n }\n }\n }\n }\n\n return values\n }\n}\n\n/**\n * Copy a node’s positional info.\n *\n * @param {MdastNodes} from\n * mdast node to copy from.\n * @param {HastNodes} to\n * hast node to copy into.\n * @returns {undefined}\n * Nothing.\n */\nfunction patch(from, to) {\n if (from.position) to.position = position(from)\n}\n\n/**\n * Honor the `data` of `from` and maybe generate an element instead of `to`.\n *\n * @template {HastNodes} Type\n * Node type.\n * @param {MdastNodes} from\n * mdast node to use data from.\n * @param {Type} to\n * hast node to change.\n * @returns {HastElement | Type}\n * Nothing.\n */\nfunction applyData(from, to) {\n /** @type {HastElement | Type} */\n let result = to\n\n // Handle `data.hName`, `data.hProperties, `data.hChildren`.\n if (from && from.data) {\n const hName = from.data.hName\n const hChildren = from.data.hChildren\n const hProperties = from.data.hProperties\n\n if (typeof hName === 'string') {\n // Transforming the node resulted in an element with a different name\n // than wanted:\n if (result.type === 'element') {\n result.tagName = hName\n }\n // Transforming the node resulted in a non-element, which happens for\n // raw, text, and root nodes (unless custom handlers are passed).\n // The intent of `hName` is to create an element, but likely also to keep\n // the content around (otherwise: pass `hChildren`).\n else {\n /** @type {Array} */\n // @ts-expect-error: assume no doctypes in `root`.\n const children = 'children' in result ? result.children : [result]\n result = {type: 'element', tagName: hName, properties: {}, children}\n }\n }\n\n if (result.type === 'element' && hProperties) {\n Object.assign(result.properties, structuredClone(hProperties))\n }\n\n if (\n 'children' in result &&\n result.children &&\n hChildren !== null &&\n hChildren !== undefined\n ) {\n result.children = hChildren\n }\n }\n\n return result\n}\n\n/**\n * Transform an unknown node.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdastNodes} node\n * Unknown mdast node.\n * @returns {HastElement | HastText}\n * Resulting hast node.\n */\nfunction defaultUnknownHandler(state, node) {\n const data = node.data || {}\n /** @type {HastElement | HastText} */\n const result =\n 'value' in node &&\n !(own.call(data, 'hProperties') || own.call(data, 'hChildren'))\n ? {type: 'text', value: node.value}\n : {\n type: 'element',\n tagName: 'div',\n properties: {},\n children: state.all(node)\n }\n\n state.patch(node, result)\n return state.applyData(node, result)\n}\n\n/**\n * Wrap `nodes` with line endings between each node.\n *\n * @template {HastRootContent} Type\n * Node type.\n * @param {Array} nodes\n * List of nodes to wrap.\n * @param {boolean | undefined} [loose=false]\n * Whether to add line endings at start and end (default: `false`).\n * @returns {Array}\n * Wrapped nodes.\n */\nexport function wrap(nodes, loose) {\n /** @type {Array} */\n const result = []\n let index = -1\n\n if (loose) {\n result.push({type: 'text', value: '\\n'})\n }\n\n while (++index < nodes.length) {\n if (index) result.push({type: 'text', value: '\\n'})\n result.push(nodes[index])\n }\n\n if (loose && nodes.length > 0) {\n result.push({type: 'text', value: '\\n'})\n }\n\n return result\n}\n\n/**\n * Trim spaces and tabs at the start of `value`.\n *\n * @param {string} value\n * Value to trim.\n * @returns {string}\n * Result.\n */\nfunction trimMarkdownSpaceStart(value) {\n let index = 0\n let code = value.charCodeAt(index)\n\n while (code === 9 || code === 32) {\n index++\n code = value.charCodeAt(index)\n }\n\n return value.slice(index)\n}\n","/**\n * @typedef {import('hast').Nodes} HastNodes\n * @typedef {import('mdast').Nodes} MdastNodes\n * @typedef {import('./state.js').Options} Options\n */\n\nimport {ok as assert} from 'devlop'\nimport {footer} from './footer.js'\nimport {createState} from './state.js'\n\n/**\n * Transform mdast to hast.\n *\n * ##### Notes\n *\n * ###### HTML\n *\n * Raw HTML is available in mdast as `html` nodes and can be embedded in hast\n * as semistandard `raw` nodes.\n * Most utilities ignore `raw` nodes but two notable ones don’t:\n *\n * * `hast-util-to-html` also has an option `allowDangerousHtml` which will\n * output the raw HTML.\n * This is typically discouraged as noted by the option name but is useful\n * if you completely trust authors\n * * `hast-util-raw` can handle the raw embedded HTML strings by parsing them\n * into standard hast nodes (`element`, `text`, etc).\n * This is a heavy task as it needs a full HTML parser, but it is the only\n * way to support untrusted content\n *\n * ###### Footnotes\n *\n * Many options supported here relate to footnotes.\n * Footnotes are not specified by CommonMark, which we follow by default.\n * They are supported by GitHub, so footnotes can be enabled in markdown with\n * `mdast-util-gfm`.\n *\n * The options `footnoteBackLabel` and `footnoteLabel` define natural language\n * that explains footnotes, which is hidden for sighted users but shown to\n * assistive technology.\n * When your page is not in English, you must define translated values.\n *\n * Back references use ARIA attributes, but the section label itself uses a\n * heading that is hidden with an `sr-only` class.\n * To show it to sighted users, define different attributes in\n * `footnoteLabelProperties`.\n *\n * ###### Clobbering\n *\n * Footnotes introduces a problem, as it links footnote calls to footnote\n * definitions on the page through `id` attributes generated from user content,\n * which results in DOM clobbering.\n *\n * DOM clobbering is this:\n *\n * ```html\n *

\n * \n * ```\n *\n * Elements by their ID are made available by browsers on the `window` object,\n * which is a security risk.\n * Using a prefix solves this problem.\n *\n * More information on how to handle clobbering and the prefix is explained in\n * Example: headings (DOM clobbering) in `rehype-sanitize`.\n *\n * ###### Unknown nodes\n *\n * Unknown nodes are nodes with a type that isn’t in `handlers` or `passThrough`.\n * The default behavior for unknown nodes is:\n *\n * * when the node has a `value` (and doesn’t have `data.hName`,\n * `data.hProperties`, or `data.hChildren`, see later), create a hast `text`\n * node\n * * otherwise, create a `
` element (which could be changed with\n * `data.hName`), with its children mapped from mdast to hast as well\n *\n * This behavior can be changed by passing an `unknownHandler`.\n *\n * @param {MdastNodes} tree\n * mdast tree.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {HastNodes}\n * hast tree.\n */\nexport function toHast(tree, options) {\n const state = createState(tree, options)\n const node = state.one(tree, undefined)\n const foot = footer(state)\n /** @type {HastNodes} */\n const result = Array.isArray(node)\n ? {type: 'root', children: node}\n : node || {type: 'root', children: []}\n\n if (foot) {\n // If there’s a footer, there were definitions, meaning block\n // content.\n // So `result` is a parent node.\n assert('children' in result)\n result.children.push({type: 'text', value: '\\n'}, foot)\n }\n\n return result\n}\n","// Include `data` fields in mdast and `raw` nodes in hast.\n/// \n\n/**\n * @typedef {import('hast').Root} HastRoot\n * @typedef {import('mdast').Root} MdastRoot\n * @typedef {import('mdast-util-to-hast').Options} Options\n * @typedef {import('unified').Processor} Processor\n * @typedef {import('vfile').VFile} VFile\n */\n\n/**\n * @callback TransformBridge\n * Bridge-mode.\n *\n * Runs the destination with the new hast tree.\n * Discards result.\n * @param {MdastRoot} tree\n * Tree.\n * @param {VFile} file\n * File.\n * @returns {Promise}\n * Nothing.\n *\n * @callback TransformMutate\n * Mutate-mode.\n *\n * Further transformers run on the hast tree.\n * @param {MdastRoot} tree\n * Tree.\n * @param {VFile} file\n * File.\n * @returns {HastRoot}\n * Tree (hast).\n */\n\nimport {toHast} from 'mdast-util-to-hast'\n\n/**\n * Turn markdown into HTML.\n *\n * ##### Notes\n *\n * ###### Signature\n *\n * * if a processor is given, runs the (rehype) plugins used on it with a\n * hast tree, then discards the result (*bridge mode*)\n * * otherwise, returns a hast tree, the plugins used after `remarkRehype`\n * are rehype plugins (*mutate mode*)\n *\n * > 👉 **Note**: It’s highly unlikely that you want to pass a `processor`.\n *\n * ###### HTML\n *\n * Raw HTML is available in mdast as `html` nodes and can be embedded in hast\n * as semistandard `raw` nodes.\n * Most plugins ignore `raw` nodes but two notable ones don’t:\n *\n * * `rehype-stringify` also has an option `allowDangerousHtml` which will\n * output the raw HTML.\n * This is typically discouraged as noted by the option name but is useful if\n * you completely trust authors\n * * `rehype-raw` can handle the raw embedded HTML strings by parsing them\n * into standard hast nodes (`element`, `text`, etc).\n * This is a heavy task as it needs a full HTML parser, but it is the only way\n * to support untrusted content\n *\n * ###### Footnotes\n *\n * Many options supported here relate to footnotes.\n * Footnotes are not specified by CommonMark, which we follow by default.\n * They are supported by GitHub, so footnotes can be enabled in markdown with\n * `remark-gfm`.\n *\n * The options `footnoteBackLabel` and `footnoteLabel` define natural language\n * that explains footnotes, which is hidden for sighted users but shown to\n * assistive technology.\n * When your page is not in English, you must define translated values.\n *\n * Back references use ARIA attributes, but the section label itself uses a\n * heading that is hidden with an `sr-only` class.\n * To show it to sighted users, define different attributes in\n * `footnoteLabelProperties`.\n *\n * ###### Clobbering\n *\n * Footnotes introduces a problem, as it links footnote calls to footnote\n * definitions on the page through `id` attributes generated from user content,\n * which results in DOM clobbering.\n *\n * DOM clobbering is this:\n *\n * ```html\n *

\n * \n * ```\n *\n * Elements by their ID are made available by browsers on the `window` object,\n * which is a security risk.\n * Using a prefix solves this problem.\n *\n * More information on how to handle clobbering and the prefix is explained in\n * *Example: headings (DOM clobbering)* in `rehype-sanitize`.\n *\n * ###### Unknown nodes\n *\n * Unknown nodes are nodes with a type that isn’t in `handlers` or `passThrough`.\n * The default behavior for unknown nodes is:\n *\n * * when the node has a `value` (and doesn’t have `data.hName`,\n * `data.hProperties`, or `data.hChildren`, see later), create a hast `text`\n * node\n * * otherwise, create a `
` element (which could be changed with\n * `data.hName`), with its children mapped from mdast to hast as well\n *\n * This behavior can be changed by passing an `unknownHandler`.\n *\n * @overload\n * @param {Processor} processor\n * @param {Readonly | null | undefined} [options]\n * @returns {TransformBridge}\n *\n * @overload\n * @param {Readonly | null | undefined} [options]\n * @returns {TransformMutate}\n *\n * @param {Readonly | Processor | null | undefined} [destination]\n * Processor or configuration (optional).\n * @param {Readonly | null | undefined} [options]\n * When a processor was given, configuration (optional).\n * @returns {TransformBridge | TransformMutate}\n * Transform.\n */\nexport default function remarkRehype(destination, options) {\n if (destination && 'run' in destination) {\n /**\n * @type {TransformBridge}\n */\n return async function (tree, file) {\n // Cast because root in -> root out.\n const hastTree = /** @type {HastRoot} */ (toHast(tree, options))\n await destination.run(hastTree, file)\n }\n }\n\n /**\n * @type {TransformMutate}\n */\n return function (tree) {\n // Cast because root in -> root out.\n return /** @type {HastRoot} */ (toHast(tree, options || destination))\n }\n}\n","/**\n * @typedef {import('./info.js').Info} Info\n * @typedef {Record} Properties\n * @typedef {Record} Normal\n */\n\nexport class Schema {\n /**\n * @constructor\n * @param {Properties} property\n * @param {Normal} normal\n * @param {string} [space]\n */\n constructor(property, normal, space) {\n this.property = property\n this.normal = normal\n if (space) {\n this.space = space\n }\n }\n}\n\n/** @type {Properties} */\nSchema.prototype.property = {}\n/** @type {Normal} */\nSchema.prototype.normal = {}\n/** @type {string|null} */\nSchema.prototype.space = null\n","/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n */\n\nimport {Schema} from './schema.js'\n\n/**\n * @param {Schema[]} definitions\n * @param {string} [space]\n * @returns {Schema}\n */\nexport function merge(definitions, space) {\n /** @type {Properties} */\n const property = {}\n /** @type {Normal} */\n const normal = {}\n let index = -1\n\n while (++index < definitions.length) {\n Object.assign(property, definitions[index].property)\n Object.assign(normal, definitions[index].normal)\n }\n\n return new Schema(property, normal, space)\n}\n","// http://www.w3.org/TR/CSS21/grammar.html\n// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027\nvar COMMENT_REGEX = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\n\nvar NEWLINE_REGEX = /\\n/g;\nvar WHITESPACE_REGEX = /^\\s*/;\n\n// declaration\nvar PROPERTY_REGEX = /^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/;\nvar COLON_REGEX = /^:\\s*/;\nvar VALUE_REGEX = /^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/;\nvar SEMICOLON_REGEX = /^[;\\s]*/;\n\n// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill\nvar TRIM_REGEX = /^\\s+|\\s+$/g;\n\n// strings\nvar NEWLINE = '\\n';\nvar FORWARD_SLASH = '/';\nvar ASTERISK = '*';\nvar EMPTY_STRING = '';\n\n// types\nvar TYPE_COMMENT = 'comment';\nvar TYPE_DECLARATION = 'declaration';\n\n/**\n * @param {String} style\n * @param {Object} [options]\n * @return {Object[]}\n * @throws {TypeError}\n * @throws {Error}\n */\nmodule.exports = function(style, options) {\n if (typeof style !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n\n if (!style) return [];\n\n options = options || {};\n\n /**\n * Positional.\n */\n var lineno = 1;\n var column = 1;\n\n /**\n * Update lineno and column based on `str`.\n *\n * @param {String} str\n */\n function updatePosition(str) {\n var lines = str.match(NEWLINE_REGEX);\n if (lines) lineno += lines.length;\n var i = str.lastIndexOf(NEWLINE);\n column = ~i ? str.length - i : column + str.length;\n }\n\n /**\n * Mark position and patch `node.position`.\n *\n * @return {Function}\n */\n function position() {\n var start = { line: lineno, column: column };\n return function(node) {\n node.position = new Position(start);\n whitespace();\n return node;\n };\n }\n\n /**\n * Store position information for a node.\n *\n * @constructor\n * @property {Object} start\n * @property {Object} end\n * @property {undefined|String} source\n */\n function Position(start) {\n this.start = start;\n this.end = { line: lineno, column: column };\n this.source = options.source;\n }\n\n /**\n * Non-enumerable source string.\n */\n Position.prototype.content = style;\n\n var errorsList = [];\n\n /**\n * Error `msg`.\n *\n * @param {String} msg\n * @throws {Error}\n */\n function error(msg) {\n var err = new Error(\n options.source + ':' + lineno + ':' + column + ': ' + msg\n );\n err.reason = msg;\n err.filename = options.source;\n err.line = lineno;\n err.column = column;\n err.source = style;\n\n if (options.silent) {\n errorsList.push(err);\n } else {\n throw err;\n }\n }\n\n /**\n * Match `re` and return captures.\n *\n * @param {RegExp} re\n * @return {undefined|Array}\n */\n function match(re) {\n var m = re.exec(style);\n if (!m) return;\n var str = m[0];\n updatePosition(str);\n style = style.slice(str.length);\n return m;\n }\n\n /**\n * Parse whitespace.\n */\n function whitespace() {\n match(WHITESPACE_REGEX);\n }\n\n /**\n * Parse comments.\n *\n * @param {Object[]} [rules]\n * @return {Object[]}\n */\n function comments(rules) {\n var c;\n rules = rules || [];\n while ((c = comment())) {\n if (c !== false) {\n rules.push(c);\n }\n }\n return rules;\n }\n\n /**\n * Parse comment.\n *\n * @return {Object}\n * @throws {Error}\n */\n function comment() {\n var pos = position();\n if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;\n\n var i = 2;\n while (\n EMPTY_STRING != style.charAt(i) &&\n (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))\n ) {\n ++i;\n }\n i += 2;\n\n if (EMPTY_STRING === style.charAt(i - 1)) {\n return error('End of comment missing');\n }\n\n var str = style.slice(2, i - 2);\n column += 2;\n updatePosition(str);\n style = style.slice(i);\n column += 2;\n\n return pos({\n type: TYPE_COMMENT,\n comment: str\n });\n }\n\n /**\n * Parse declaration.\n *\n * @return {Object}\n * @throws {Error}\n */\n function declaration() {\n var pos = position();\n\n // prop\n var prop = match(PROPERTY_REGEX);\n if (!prop) return;\n comment();\n\n // :\n if (!match(COLON_REGEX)) return error(\"property missing ':'\");\n\n // val\n var val = match(VALUE_REGEX);\n\n var ret = pos({\n type: TYPE_DECLARATION,\n property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),\n value: val\n ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING))\n : EMPTY_STRING\n });\n\n // ;\n match(SEMICOLON_REGEX);\n\n return ret;\n }\n\n /**\n * Parse declarations.\n *\n * @return {Object[]}\n */\n function declarations() {\n var decls = [];\n\n comments(decls);\n\n // declarations\n var decl;\n while ((decl = declaration())) {\n if (decl !== false) {\n decls.push(decl);\n comments(decls);\n }\n }\n\n return decls;\n }\n\n whitespace();\n return declarations();\n};\n\n/**\n * Trim `str`.\n *\n * @param {String} str\n * @return {String}\n */\nfunction trim(str) {\n return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;\n}\n","var parse = require('inline-style-parser');\n\n/**\n * Parses inline style to object.\n *\n * @example\n * // returns { 'line-height': '42' }\n * StyleToObject('line-height: 42;');\n *\n * @param {String} style - The inline style.\n * @param {Function} [iterator] - The iterator function.\n * @return {null|Object}\n */\nfunction StyleToObject(style, iterator) {\n var output = null;\n if (!style || typeof style !== 'string') {\n return output;\n }\n\n var declaration;\n var declarations = parse(style);\n var hasIterator = typeof iterator === 'function';\n var property;\n var value;\n\n for (var i = 0, len = declarations.length; i < len; i++) {\n declaration = declarations[i];\n property = declaration.property;\n value = declaration.value;\n\n if (hasIterator) {\n iterator(property, value, declaration);\n } else if (value) {\n output || (output = {});\n output[property] = value;\n }\n }\n\n return output;\n}\n\nmodule.exports = StyleToObject;\nmodule.exports.default = StyleToObject; // ESM support\n","/**\n * Map of web namespaces.\n *\n * @type {Record}\n */\nexport const webNamespaces = {\n html: 'http://www.w3.org/1999/xhtml',\n mathml: 'http://www.w3.org/1998/Math/MathML',\n svg: 'http://www.w3.org/2000/svg',\n xlink: 'http://www.w3.org/1999/xlink',\n xml: 'http://www.w3.org/XML/1998/namespace',\n xmlns: 'http://www.w3.org/2000/xmlns/'\n}\n","/**\n * @typedef {import('property-information').Schema} Schema\n * @typedef {import('hast').Content} Content\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Root} Root\n */\n\n/**\n * @typedef {Root | Content} Node\n *\n * @callback CreateElementLike\n * Function that works somewhat like `React.createElement`.\n * @param {string} name\n * Element name.\n * @param {any} attributes\n * Properties.\n * @param {Array} [children]\n * Children.\n * @returns {any}\n * Something.\n *\n * @typedef State\n * Info passed around.\n * @property {Schema} schema\n * Current schema.\n * @property {string | undefined} prefix\n * Prefix to use.\n * @property {number} key\n * Current key.\n * @property {boolean} react\n * Looks like React.\n * @property {boolean} vue\n * Looks like Vue.\n * @property {boolean} vdom\n * Looks like vdom.\n * @property {boolean} hyperscript\n * Looks like `hyperscript`.\n *\n * @typedef Options\n * Configuration.\n * @property {string | null | undefined} [prefix]\n * Prefix to use as a prefix for keys passed in `props` to `h()`, this\n * behavior is turned off by passing `false` and turned on by passing a\n * `string`.\n * By default, `h-` is used as a prefix if the given `h` is detected as being\n * `virtual-dom/h` or `React.createElement`\n * @property {'html' | 'svg' | null | undefined} [space]\n * Whether `node` is in the `'html'` or `'svg'` space.\n * If an `` element is found when inside the HTML space, `toH`\n * automatically switches to the SVG space when entering the element, and\n * switches back when exiting.\n */\n\nimport {html, svg, find, hastToReact} from 'property-information'\nimport {stringify as spaces} from 'space-separated-tokens'\nimport {stringify as commas} from 'comma-separated-tokens'\nimport styleToObject from 'style-to-object'\nimport {webNamespaces} from 'web-namespaces'\n\nconst own = {}.hasOwnProperty\n\n/**\n * @template {CreateElementLike} H\n * Type of hyperscript function.\n * @param {H} h\n * HyperScript function.\n * @param {Node} tree\n * Tree to transform.\n * @param {string | boolean | Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {ReturnType}\n * Return type of the hyperscript function.\n */\n// eslint-disable-next-line complexity\nexport function toH(h, tree, options) {\n if (typeof h !== 'function') {\n throw new TypeError('h is not a function')\n }\n\n const r = react(h)\n const v = vue(h)\n const vd = vdom(h)\n /** @type {string|boolean|null|undefined} */\n let prefix\n /** @type {Element} */\n let node\n\n if (typeof options === 'string' || typeof options === 'boolean') {\n prefix = options\n options = {}\n } else {\n if (!options) options = {}\n prefix = options.prefix\n }\n\n if (tree && tree.type === 'root') {\n const head = tree.children[0]\n // @ts-expect-error Allow `doctypes` in there, we’ll filter them out later.\n node =\n tree.children.length === 1 && head.type === 'element'\n ? head\n : {\n type: 'element',\n tagName: 'div',\n properties: {},\n children: tree.children\n }\n } else if (tree && tree.type === 'element') {\n node = tree\n } else {\n throw new Error(\n 'Expected root or element, not `' + ((tree && tree.type) || tree) + '`'\n )\n }\n\n return transform(h, node, {\n schema: options.space === 'svg' ? svg : html,\n prefix:\n prefix === undefined || prefix === null\n ? r || v || vd\n ? 'h-'\n : undefined\n : typeof prefix === 'string'\n ? prefix\n : prefix\n ? 'h-'\n : undefined,\n key: 0,\n react: r,\n vue: v,\n vdom: vd,\n hyperscript: hyperscript(h)\n })\n}\n\n/**\n * Transform a hast node through a hyperscript interface to *anything*!\n *\n * @template {CreateElementLike} H\n * Type of hyperscript function.\n * @param {H} h\n * HyperScript function.\n * @param {Element} node\n * Node to transform.\n * @param {State} state\n * Info passed around.\n * @returns {ReturnType}\n * Return type of the hyperscript function.\n */\nfunction transform(h, node, state) {\n const parentSchema = state.schema\n let schema = parentSchema\n let name = node.tagName\n /** @type {Record} */\n const attributes = {}\n /** @type {Array|string>} */\n const nodes = []\n let index = -1\n /** @type {string} */\n let key\n\n if (parentSchema.space === 'html' && name.toLowerCase() === 'svg') {\n schema = svg\n state.schema = schema\n }\n\n for (key in node.properties) {\n if (node.properties && own.call(node.properties, key)) {\n addAttribute(attributes, key, node.properties[key], state, name)\n }\n }\n\n if (state.vdom) {\n if (schema.space === 'html') {\n name = name.toUpperCase()\n } else if (schema.space) {\n attributes.namespace = webNamespaces[schema.space]\n }\n }\n\n if (state.prefix) {\n state.key++\n attributes.key = state.prefix + state.key\n }\n\n if (node.children) {\n while (++index < node.children.length) {\n const value = node.children[index]\n\n if (value.type === 'element') {\n nodes.push(transform(h, value, state))\n } else if (value.type === 'text') {\n nodes.push(value.value)\n }\n }\n }\n\n // Restore parent schema.\n state.schema = parentSchema\n\n // Ensure no React warnings are triggered for void elements having children\n // passed in.\n return nodes.length > 0\n ? h.call(node, name, attributes, nodes)\n : h.call(node, name, attributes)\n}\n\n/**\n * Add an attribute to `props`.\n *\n * @param {Record} props\n * Map.\n * @param {string} prop\n * Key.\n * @param {unknown} value\n * Value.\n * @param {State} state\n * Info passed around.\n * @param {string} name\n * Element name.\n * @returns {void}\n * Nothing.\n */\n// eslint-disable-next-line complexity, max-params\nfunction addAttribute(props, prop, value, state, name) {\n const info = find(state.schema, prop)\n /** @type {string | undefined} */\n let subprop\n\n // Ignore nullish and `NaN` values.\n // Ignore `false` and falsey known booleans for hyperlike DSLs.\n if (\n value === undefined ||\n value === null ||\n (typeof value === 'number' && Number.isNaN(value)) ||\n (value === false && (state.vue || state.vdom || state.hyperscript)) ||\n (!value && info.boolean && (state.vue || state.vdom || state.hyperscript))\n ) {\n return\n }\n\n if (Array.isArray(value)) {\n // Accept `array`.\n // Most props are space-separated.\n value = info.commaSeparated ? commas(value) : spaces(value)\n }\n\n // Treat `true` and truthy known booleans.\n if (info.boolean && state.hyperscript) {\n value = ''\n }\n\n // VDOM, Vue, and React accept `style` as object.\n if (\n info.property === 'style' &&\n typeof value === 'string' &&\n (state.react || state.vue || state.vdom)\n ) {\n value = parseStyle(value, name)\n }\n\n // Vue 3 (used in our tests) doesn’t need this anymore.\n // Some major in the future we can drop Vue 2 support.\n /* c8 ignore next 2 */\n if (state.vue) {\n if (info.property !== 'style') subprop = 'attrs'\n } else if (!info.mustUseProperty) {\n if (state.vdom) {\n if (info.property !== 'style') subprop = 'attributes'\n } else if (state.hyperscript) {\n subprop = 'attrs'\n }\n }\n\n if (subprop) {\n props[subprop] = Object.assign(props[subprop] || {}, {\n [info.attribute]: value\n })\n } else if (info.space && state.react) {\n props[hastToReact[info.property] || info.property] = value\n } else {\n props[info.attribute] = value\n }\n}\n\n/**\n * Check if `h` is `react.createElement`.\n *\n * @param {CreateElementLike} h\n * HyperScript function.\n * @returns {boolean}\n * Looks like React.\n */\nfunction react(h) {\n const node = /** @type {unknown} */ (h('div', {}))\n return Boolean(\n node &&\n // @ts-expect-error Looks like a React node.\n ('_owner' in node || '_store' in node) &&\n // @ts-expect-error Looks like a React node.\n (node.key === undefined || node.key === null)\n )\n}\n\n/**\n * Check if `h` is `hyperscript`.\n *\n * @param {CreateElementLike} h\n * HyperScript function.\n * @returns {boolean}\n * Looks like `hyperscript`.\n */\nfunction hyperscript(h) {\n return 'context' in h && 'cleanup' in h\n}\n\n/**\n * Check if `h` is `virtual-dom/h`.\n *\n * @param {CreateElementLike} h\n * HyperScript function.\n * @returns {boolean}\n * Looks like `virtual-dom`\n */\nfunction vdom(h) {\n const node = /** @type {unknown} */ (h('div', {}))\n // @ts-expect-error Looks like a vnode.\n return node.type === 'VirtualNode'\n}\n\n/**\n * Check if `h` is Vue.\n *\n * @param {CreateElementLike} h\n * HyperScript function.\n * @returns {boolean}\n * Looks like Vue.\n */\nfunction vue(h) {\n // Vue 3 (used in our tests) doesn’t need this anymore.\n // Some major in the future we can drop Vue 2 support.\n /* c8 ignore next 3 */\n const node = /** @type {unknown} */ (h('div', {}))\n // @ts-expect-error Looks like a Vue node.\n return Boolean(node && node.context && node.context._isVue)\n}\n\n/**\n * Parse a declaration into an object.\n *\n * @param {string} value\n * CSS declarations.\n * @param {string} tagName\n * Tag name.\n * @returns {Record}\n * Properties.\n */\nfunction parseStyle(value, tagName) {\n /** @type {Record} */\n const result = {}\n\n try {\n styleToObject(value, (name, value) => {\n if (name.slice(0, 4) === '-ms-') name = 'ms-' + name.slice(4)\n\n result[\n name.replace(\n /-([a-z])/g,\n /**\n * @param {string} _\n * @param {string} $1\n * @returns {string}\n */\n (_, $1) => $1.toUpperCase()\n )\n ] = value\n })\n } catch (error_) {\n const error = /** @type {Error} */ (error_)\n error.message =\n tagName + '[style]' + error.message.slice('undefined'.length)\n throw error\n }\n\n return result\n}\n","'use strict'\n\nmodule.exports = convert\n\nfunction convert(test) {\n if (typeof test === 'string') {\n return typeFactory(test)\n }\n\n if (test === null || test === undefined) {\n return ok\n }\n\n if (typeof test === 'object') {\n return ('length' in test ? anyFactory : matchesFactory)(test)\n }\n\n if (typeof test === 'function') {\n return test\n }\n\n throw new Error('Expected function, string, or object as test')\n}\n\nfunction convertAll(tests) {\n var results = []\n var length = tests.length\n var index = -1\n\n while (++index < length) {\n results[index] = convert(tests[index])\n }\n\n return results\n}\n\n// Utility assert each property in `test` is represented in `node`, and each\n// values are strictly equal.\nfunction matchesFactory(test) {\n return matches\n\n function matches(node) {\n var key\n\n for (key in test) {\n if (node[key] !== test[key]) {\n return false\n }\n }\n\n return true\n }\n}\n\nfunction anyFactory(tests) {\n var checks = convertAll(tests)\n var length = checks.length\n\n return matches\n\n function matches() {\n var index = -1\n\n while (++index < length) {\n if (checks[index].apply(this, arguments)) {\n return true\n }\n }\n\n return false\n }\n}\n\n// Utility to convert a string into a function which checks a given node’s type\n// for said string.\nfunction typeFactory(test) {\n return type\n\n function type(node) {\n return Boolean(node && node.type === test)\n }\n}\n\n// Utility to return true.\nfunction ok() {\n return true\n}\n","'use strict'\n\nmodule.exports = visitParents\n\nvar convert = require('unist-util-is/convert')\n\nvar CONTINUE = true\nvar SKIP = 'skip'\nvar EXIT = false\n\nvisitParents.CONTINUE = CONTINUE\nvisitParents.SKIP = SKIP\nvisitParents.EXIT = EXIT\n\nfunction visitParents(tree, test, visitor, reverse) {\n var is\n\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n visitor = test\n test = null\n }\n\n is = convert(test)\n\n one(tree, null, [])\n\n // Visit a single node.\n function one(node, index, parents) {\n var result = []\n var subresult\n\n if (!test || is(node, index, parents[parents.length - 1] || null)) {\n result = toResult(visitor(node, parents))\n\n if (result[0] === EXIT) {\n return result\n }\n }\n\n if (node.children && result[0] !== SKIP) {\n subresult = toResult(all(node.children, parents.concat(node)))\n return subresult[0] === EXIT ? subresult : result\n }\n\n return result\n }\n\n // Visit children in `parent`.\n function all(children, parents) {\n var min = -1\n var step = reverse ? -1 : 1\n var index = (reverse ? children.length : min) + step\n var result\n\n while (index > min && index < children.length) {\n result = one(children[index], index, parents)\n\n if (result[0] === EXIT) {\n return result\n }\n\n index = typeof result[1] === 'number' ? result[1] : index + step\n }\n }\n}\n\nfunction toResult(value) {\n if (value !== null && typeof value === 'object' && 'length' in value) {\n return value\n }\n\n if (typeof value === 'number') {\n return [CONTINUE, value]\n }\n\n return [value]\n}\n","'use strict'\n\nmodule.exports = visit\n\nvar visitParents = require('unist-util-visit-parents')\n\nvar CONTINUE = visitParents.CONTINUE\nvar SKIP = visitParents.SKIP\nvar EXIT = visitParents.EXIT\n\nvisit.CONTINUE = CONTINUE\nvisit.SKIP = SKIP\nvisit.EXIT = EXIT\n\nfunction visit(tree, test, visitor, reverse) {\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n visitor = test\n test = null\n }\n\n visitParents(tree, test, overload, reverse)\n\n function overload(node, parents) {\n var parent = parents[parents.length - 1]\n var index = parent ? parent.children.indexOf(node) : null\n return visitor(node, index, parent)\n }\n}\n","'use strict';\n\nvar visit = require('unist-util-visit');\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar hastCssPropertyMap = {\n align: 'text-align',\n valign: 'vertical-align',\n height: 'height',\n width: 'width',\n};\n\nmodule.exports = function tableCellStyle(node) {\n visit(node, 'element', visitor);\n return node;\n};\n\nfunction visitor(node) {\n if (node.tagName !== 'tr' && node.tagName !== 'td' && node.tagName !== 'th') {\n return;\n }\n\n var hastName;\n var cssName;\n for (hastName in hastCssPropertyMap) {\n if (\n !hasOwnProperty.call(hastCssPropertyMap, hastName) ||\n node.properties[hastName] === undefined\n ) {\n continue;\n }\n cssName = hastCssPropertyMap[hastName];\n appendStyle(node, cssName, node.properties[hastName]);\n delete node.properties[hastName];\n }\n}\n\nfunction appendStyle(node, property, value) {\n var prevStyle = (node.properties.style || '').trim();\n if (prevStyle && !/;\\s*/.test(prevStyle)) {\n prevStyle += ';';\n }\n if (prevStyle) {\n prevStyle += ' ';\n }\n var nextStyle = prevStyle + property + ': ' + value + ';';\n node.properties.style = nextStyle;\n}\n","/**\n * Check if the given value is *inter-element whitespace*.\n *\n * @param {unknown} thing\n * Thing to check (typically `Node` or `string`).\n * @returns {boolean}\n * Whether the `value` is inter-element whitespace (`boolean`): consisting of\n * zero or more of space, tab (`\\t`), line feed (`\\n`), carriage return\n * (`\\r`), or form feed (`\\f`).\n * If a node is passed it must be a `Text` node, whose `value` field is\n * checked.\n */\nexport function whitespace(thing) {\n /** @type {string} */\n const value =\n // @ts-expect-error looks like a node.\n thing && typeof thing === 'object' && thing.type === 'text'\n ? // @ts-expect-error looks like a text.\n thing.value || ''\n : thing\n\n // HTML whitespace expression.\n // See .\n return typeof value === 'string' && value.replace(/[ \\t\\n\\f\\r]/g, '') === ''\n}\n","/**\n * @typedef {import('hast').Root} Root\n * @typedef {import('react').ReactNode} ReactNode\n * @typedef {import('react').ReactElement} ReactElement\n *\n * @callback CreateElementLike\n * @param {any} name\n * @param {any} props\n * @param {...ReactNode} children\n * @returns {ReactNode}\n *\n * @typedef SharedOptions\n * Base configuration (without `components`).\n * @property {CreateElementLike} createElement\n * How to create elements or components.\n * You should typically pass `React.createElement`.\n * @property {((props: any) => ReactNode)|undefined} [Fragment]\n * Create fragments instead of an outer `
` if available.\n * You should typically pass `React.Fragment`.\n * @property {string|undefined} [prefix='h-']\n * React key prefix.\n * @property {boolean|undefined} [fixTableCellAlign=true]\n * Fix obsolete align attributes on table cells by turning them\n * into inline styles.\n * Keep it on when working with markdown, turn it off when working\n * with markup for emails.\n * The default is `true`.\n *\n * @typedef {SharedOptions & (import('./complex-types').ComponentsWithNodeOptions|import('./complex-types').ComponentsWithoutNodeOptions)} Options\n * Configuration.\n */\n\nimport {toH} from 'hast-to-hyperscript'\n// @ts-expect-error: hush.\nimport tableCellStyle from '@mapbox/hast-util-table-cell-style'\nimport {whitespace} from 'hast-util-whitespace'\n\nconst own = {}.hasOwnProperty\nconst tableElements = new Set(['table', 'thead', 'tbody', 'tfoot', 'tr'])\n\n/**\n * Compile HTML to React nodes.\n *\n * > 👉 **Note**: this compiler returns a React node where compilers typically\n * > return `string`.\n * > When using `.stringify`, the result is such a React node.\n * > When using `.process` (or `.processSync`), the result is available at\n * > `file.result`.\n *\n * @this {import('unified').Processor}\n * @type {import('unified').Plugin<[Options], Root, ReactElement>}\n */\nexport default function rehypeReact(options) {\n if (!options || typeof options.createElement !== 'function') {\n throw new TypeError('createElement is not a function')\n }\n\n const createElement = options.createElement\n\n const fixTableCellAlign = options.fixTableCellAlign !== false\n\n Object.assign(this, {Compiler: compiler})\n\n /** @type {import('unified').CompilerFunction} */\n function compiler(node) {\n /** @type {ReactNode} */\n let result = toH(\n // @ts-expect-error: assume `name` is a known element.\n h,\n fixTableCellAlign ? tableCellStyle(node) : node,\n options.prefix\n )\n\n if (node.type === 'root') {\n // Invert .\n result =\n result &&\n typeof result === 'object' &&\n 'type' in result &&\n 'props' in result &&\n result.type === 'div' &&\n (node.children.length !== 1 || node.children[0].type !== 'element')\n ? // `children` does exist.\n // type-coverage:ignore-next-line\n result.props.children\n : [result]\n\n return createElement(options.Fragment || 'div', {}, result)\n }\n\n return result\n }\n\n /**\n * @param {keyof JSX.IntrinsicElements} name\n * @param {Record} props\n * @param {Array} [children]\n * @returns {ReactNode}\n */\n function h(name, props, children) {\n // Currently, a warning is triggered by react for *any* white space in\n // tables.\n // So we remove the pretty lines for now.\n // See: .\n // See: .\n // See: .\n // See: .\n // See: .\n // See: .\n if (children && tableElements.has(name)) {\n children = children.filter((child) => !whitespace(child))\n }\n\n if (options.components && own.call(options.components, name)) {\n const component = options.components[name]\n\n if (options.passNode && typeof component === 'function') {\n // @ts-expect-error: `toH` passes the current node.\n // type-coverage:ignore-next-line\n props = Object.assign({node: this}, props)\n }\n\n return createElement(component, props, children)\n }\n\n return createElement(name, props, children)\n }\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Parents} Parents\n */\n\n/**\n * @template Fn\n * @template Fallback\n * @typedef {Fn extends (value: any) => value is infer Thing ? Thing : Fallback} Predicate\n */\n\n/**\n * @callback Check\n * Check that an arbitrary value is an element.\n * @param {unknown} this\n * Context object (`this`) to call `test` with\n * @param {unknown} [element]\n * Anything (typically a node).\n * @param {number | null | undefined} [index]\n * Position of `element` in its parent.\n * @param {Parents | null | undefined} [parent]\n * Parent of `element`.\n * @returns {boolean}\n * Whether this is an element and passes a test.\n *\n * @typedef {Array | TestFunction | string | null | undefined} Test\n * Check for an arbitrary element.\n *\n * * when `string`, checks that the element has that tag name\n * * when `function`, see `TestFunction`\n * * when `Array`, checks if one of the subtests pass\n *\n * @callback TestFunction\n * Check if an element passes a test.\n * @param {unknown} this\n * The given context.\n * @param {Element} element\n * An element.\n * @param {number | undefined} [index]\n * Position of `element` in its parent.\n * @param {Parents | undefined} [parent]\n * Parent of `element`.\n * @returns {boolean | undefined | void}\n * Whether this element passes the test.\n *\n * Note: `void` is included until TS sees no return as `undefined`.\n */\n\n/**\n * Check if `element` is an `Element` and whether it passes the given test.\n *\n * @param element\n * Thing to check, typically `element`.\n * @param test\n * Check for a specific element.\n * @param index\n * Position of `element` in its parent.\n * @param parent\n * Parent of `element`.\n * @param context\n * Context object (`this`) to call `test` with.\n * @returns\n * Whether `element` is an `Element` and passes a test.\n * @throws\n * When an incorrect `test`, `index`, or `parent` is given; there is no error\n * thrown when `element` is not a node or not an element.\n */\nexport const isElement =\n // Note: overloads in JSDoc can’t yet use different `@template`s.\n /**\n * @type {(\n * ((element: unknown, test: Condition, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element & Predicate) &\n * ((element: unknown, test: Condition, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element & {tagName: Condition}) &\n * ((element?: null | undefined) => false) &\n * ((element: unknown, test?: null | undefined, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element) &\n * ((element: unknown, test?: Test, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => boolean)\n * )}\n */\n (\n /**\n * @param {unknown} [element]\n * @param {Test | undefined} [test]\n * @param {number | null | undefined} [index]\n * @param {Parents | null | undefined} [parent]\n * @param {unknown} [context]\n * @returns {boolean}\n */\n // eslint-disable-next-line max-params\n function (element, test, index, parent, context) {\n const check = convertElement(test)\n\n if (\n index !== null &&\n index !== undefined &&\n (typeof index !== 'number' ||\n index < 0 ||\n index === Number.POSITIVE_INFINITY)\n ) {\n throw new Error('Expected positive finite `index`')\n }\n\n if (\n parent !== null &&\n parent !== undefined &&\n (!parent.type || !parent.children)\n ) {\n throw new Error('Expected valid `parent`')\n }\n\n if (\n (index === null || index === undefined) !==\n (parent === null || parent === undefined)\n ) {\n throw new Error('Expected both `index` and `parent`')\n }\n\n return looksLikeAnElement(element)\n ? check.call(context, element, index, parent)\n : false\n }\n )\n\n/**\n * Generate a check from a test.\n *\n * Useful if you’re going to test many nodes, for example when creating a\n * utility where something else passes a compatible test.\n *\n * The created function is a bit faster because it expects valid input only:\n * an `element`, `index`, and `parent`.\n *\n * @param test\n * A test for a specific element.\n * @returns\n * A check.\n */\nexport const convertElement =\n // Note: overloads in JSDoc can’t yet use different `@template`s.\n /**\n * @type {(\n * ((test: Condition) => (element: unknown, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element & Predicate) &\n * ((test: Condition) => (element: unknown, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element & {tagName: Condition}) &\n * ((test?: null | undefined) => (element?: unknown, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element) &\n * ((test?: Test) => Check)\n * )}\n */\n (\n /**\n * @param {Test | null | undefined} [test]\n * @returns {Check}\n */\n function (test) {\n if (test === null || test === undefined) {\n return element\n }\n\n if (typeof test === 'string') {\n return tagNameFactory(test)\n }\n\n // Assume array.\n if (typeof test === 'object') {\n return anyFactory(test)\n }\n\n if (typeof test === 'function') {\n return castFactory(test)\n }\n\n throw new Error('Expected function, string, or array as `test`')\n }\n )\n\n/**\n * Handle multiple tests.\n *\n * @param {Array} tests\n * @returns {Check}\n */\nfunction anyFactory(tests) {\n /** @type {Array} */\n const checks = []\n let index = -1\n\n while (++index < tests.length) {\n checks[index] = convertElement(tests[index])\n }\n\n return castFactory(any)\n\n /**\n * @this {unknown}\n * @type {TestFunction}\n */\n function any(...parameters) {\n let index = -1\n\n while (++index < checks.length) {\n if (checks[index].apply(this, parameters)) return true\n }\n\n return false\n }\n}\n\n/**\n * Turn a string into a test for an element with a certain type.\n *\n * @param {string} check\n * @returns {Check}\n */\nfunction tagNameFactory(check) {\n return castFactory(tagName)\n\n /**\n * @param {Element} element\n * @returns {boolean}\n */\n function tagName(element) {\n return element.tagName === check\n }\n}\n\n/**\n * Turn a custom test into a test for an element that passes that test.\n *\n * @param {TestFunction} testFunction\n * @returns {Check}\n */\nfunction castFactory(testFunction) {\n return check\n\n /**\n * @this {unknown}\n * @type {Check}\n */\n function check(value, index, parent) {\n return Boolean(\n looksLikeAnElement(value) &&\n testFunction.call(\n this,\n value,\n typeof index === 'number' ? index : undefined,\n parent || undefined\n )\n )\n }\n}\n\n/**\n * Make sure something is an element.\n *\n * @param {unknown} element\n * @returns {element is Element}\n */\nfunction element(element) {\n return Boolean(\n element &&\n typeof element === 'object' &&\n 'type' in element &&\n element.type === 'element' &&\n 'tagName' in element &&\n typeof element.tagName === 'string'\n )\n}\n\n/**\n * @param {unknown} value\n * @returns {value is Element}\n */\nfunction looksLikeAnElement(value) {\n return (\n value !== null &&\n typeof value === 'object' &&\n 'type' in value &&\n 'tagName' in value\n )\n}\n","// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1\n// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/;\n\n// Windows paths like `c:\\`\nconst WINDOWS_PATH_REGEX = /^[a-zA-Z]:\\\\/;\n\nexport default function isAbsoluteUrl(url) {\n\tif (typeof url !== 'string') {\n\t\tthrow new TypeError(`Expected a \\`string\\`, got \\`${typeof url}\\``);\n\t}\n\n\tif (WINDOWS_PATH_REGEX.test(url)) {\n\t\treturn false;\n\t}\n\n\treturn ABSOLUTE_URL_REGEX.test(url);\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast-util-is-element').Test} Test\n */\n\n/**\n * @callback CreateContent\n * Create a target for the element.\n * @param {Element} element\n * Element to check.\n * @returns {Array | ElementContent | null | undefined}\n * Content to add.\n *\n * @callback CreateProperties\n * Create properties for an element.\n * @param {Element} element\n * Element to check.\n * @returns {Properties | null | undefined}\n * Properties to add.\n *\n * @callback CreateRel\n * Create a `rel` for the element.\n * @param {Element} element\n * Element to check.\n * @returns {Array | string | null | undefined}\n * `rel` to use.\n *\n * @callback CreateTarget\n * Create a `target` for the element.\n * @param {Element} element\n * Element to check.\n * @returns {Target | null | undefined}\n * `target` to use.\n *\n * @typedef Options\n * Configuration.\n * @property {Array | CreateContent | ElementContent | null | undefined} [content]\n * Content to insert at the end of external links (optional); will be\n * inserted in a `` element; useful for improving accessibility by\n * giving users advanced warning when opening a new window.\n * @property {CreateProperties | Properties | null | undefined} [contentProperties]\n * Properties to add to the `span` wrapping `content` (optional).\n * @property {CreateProperties | Properties | null | undefined} [properties]\n * Properties to add to the link itself (optional).\n * @property {Array | null | undefined} [protocols=['http', 'https']]\n * Protocols to check, such as `mailto` or `tel` (default: `['http',\n * 'https']`).\n * @property {Array | CreateRel | string | null | undefined} [rel=['nofollow']]\n * Link types to hint about the referenced documents (default:\n * `['nofollow']`); pass an empty array (`[]`) to not set `rel`s on links;\n * when using a `target`, add `noopener` and `noreferrer` to avoid\n * exploitation of the `window.opener` API.\n * @property {CreateTarget | Target | null | undefined} [target]\n * How to display referenced documents; the default (nothing) is to not set\n * `target`s on links.\n * @property {Test | null | undefined} [test]\n * Extra test to define which external link elements are modified (optional);\n * any test that can be given to `hast-util-is-element` is supported.\n *\n * @typedef {'_blank' | '_parent' | '_self' | '_top'} Target\n * Target.\n */\n\nimport structuredClone from '@ungap/structured-clone'\nimport {convertElement} from 'hast-util-is-element'\nimport isAbsoluteUrl from 'is-absolute-url'\nimport {parse} from 'space-separated-tokens'\nimport {visit} from 'unist-util-visit'\n\nconst defaultProtocols = ['http', 'https']\nconst defaultRel = ['nofollow']\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/**\n * Automatically add `rel` (and `target`?) to external links.\n *\n * ###### Notes\n *\n * You should [likely not configure `target`][css-tricks].\n *\n * You should at least set `rel` to `['nofollow']`.\n * When using a `target`, add `noopener` and `noreferrer` to avoid exploitation\n * of the `window.opener` API.\n *\n * When using a `target`, you should set `content` to adhere to accessibility\n * guidelines by giving users advanced warning when opening a new window.\n *\n * [css-tricks]: https://css-tricks.com/use-target_blank/\n *\n * @param {Readonly | null | undefined} [options]\n * Configuration (optional).\n * @returns\n * Transform.\n */\nexport default function rehypeExternalLinks(options) {\n const settings = options || emptyOptions\n const protocols = settings.protocols || defaultProtocols\n const is = convertElement(settings.test)\n\n /**\n * Transform.\n *\n * @param {Root} tree\n * Tree.\n * @returns {undefined}\n * Nothing.\n */\n return function (tree) {\n visit(tree, 'element', function (node, index, parent) {\n if (\n node.tagName === 'a' &&\n typeof node.properties.href === 'string' &&\n is(node, index, parent)\n ) {\n const url = node.properties.href\n\n if (\n isAbsoluteUrl(url)\n ? protocols.includes(url.slice(0, url.indexOf(':')))\n : url.startsWith('//')\n ) {\n const contentRaw = createIfNeeded(settings.content, node)\n const content =\n contentRaw && !Array.isArray(contentRaw) ? [contentRaw] : contentRaw\n const relRaw = createIfNeeded(settings.rel, node) || defaultRel\n const rel = typeof relRaw === 'string' ? parse(relRaw) : relRaw\n const target = createIfNeeded(settings.target, node)\n\n const properties = createIfNeeded(settings.properties, node)\n\n if (properties) {\n Object.assign(node.properties, structuredClone(properties))\n }\n\n if (rel.length > 0) {\n node.properties.rel = [...rel]\n }\n\n if (target) {\n node.properties.target = target\n }\n\n if (content) {\n const properties =\n createIfNeeded(settings.contentProperties, node) || {}\n\n node.children.push({\n type: 'element',\n tagName: 'span',\n properties: structuredClone(properties),\n children: structuredClone(content)\n })\n }\n }\n }\n })\n }\n}\n\n/**\n * Call a function to get a return value or use the value.\n *\n * @template T\n * Type of value.\n * @param {T} value\n * Value.\n * @param {Element} element\n * Element.\n * @returns {T extends Function ? ReturnType : T}\n * Result.\n */\nfunction createIfNeeded(value, element) {\n return typeof value === 'function' ? value(element) : value\n}\n","import '../assets/NcRichText-CzCM9V1U.css';\nimport { ref } from \"vue\";\nimport { N as NcReferenceWidget } from \"./referencePickerModal-DN7C4An4.mjs\";\nimport { U as URL_PATTERN, p as parseUrl, r as remarkAutolink, g as getRoute } from \"./autolink-cbuFALXr.mjs\";\nimport axios from \"@nextcloud/axios\";\nimport { getSharingToken } from \"@nextcloud/sharing/public\";\nimport { getCurrentUser } from \"@nextcloud/auth\";\nimport { generateOcsUrl } from \"@nextcloud/router\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { N as NcCheckboxRadioSwitch } from \"./NcCheckboxRadioSwitch-Di9rSADK.mjs\";\nimport { visit, SKIP as SKIP$1, EXIT as EXIT$1 } from \"unist-util-visit\";\nimport { u } from \"unist-builder\";\nimport { G as GenRandomId } from \"./GenRandomId-CMooMQt0.mjs\";\nimport { unified } from \"unified\";\nimport remarkParse from \"remark-parse\";\nimport breaks from \"remark-breaks\";\nimport remark2rehype from \"remark-rehype\";\nimport rehype2react from \"rehype-react\";\nimport rehypeExternalLinks from \"rehype-external-links\";\nimport { RouterLink } from \"vue-router\";\nconst _sfc_main$1 = {\n name: \"NcReferenceList\",\n components: {\n NcReferenceWidget\n },\n props: {\n text: {\n type: String,\n default: \"\"\n },\n referenceData: {\n type: Array,\n default: null\n },\n limit: {\n type: Number,\n default: 1\n },\n displayFallback: {\n type: Boolean,\n default: false\n },\n interactive: {\n type: Boolean,\n default: true\n },\n interactiveOptIn: {\n type: Boolean,\n default: false\n }\n },\n data() {\n return {\n references: null,\n loading: true\n };\n },\n computed: {\n isVisible() {\n return this.loading || this.displayedReferences.length !== 0;\n },\n values() {\n if (this.referenceData) {\n return this.referenceData;\n }\n if (this.displayFallback && !this.loading && !this.references) {\n return [this.fallbackReference];\n }\n return this.references ? Object.values(this.references) : [];\n },\n firstReference() {\n return this.values[0] ?? null;\n },\n displayedReferences() {\n return this.values.slice(0, this.limit);\n },\n fallbackReference() {\n return {\n accessible: true,\n openGraphObject: {\n id: this.text,\n link: this.text,\n name: this.text\n },\n richObjectType: \"open-graph\"\n };\n }\n },\n watch: {\n text: \"fetch\"\n },\n mounted() {\n this.fetch();\n },\n methods: {\n fetch() {\n this.loading = true;\n if (this.referenceData) {\n this.references = null;\n this.loading = false;\n return;\n }\n if (!new RegExp(URL_PATTERN).exec(this.text)) {\n this.references = null;\n this.loading = false;\n return;\n }\n this.resolve().then((response) => {\n this.references = response.data.ocs.data.references;\n this.loading = false;\n this.$emit(\"loaded\");\n }).catch((error) => {\n console.error(\"Failed to extract references\", error);\n this.loading = false;\n this.$emit(\"loaded\");\n });\n },\n resolve() {\n const match = new RegExp(URL_PATTERN).exec(this.text.trim());\n const isPublic = getCurrentUser() === null;\n if (this.limit === 1 && match) {\n return isPublic ? axios.get(generateOcsUrl(\"references/resolvePublic\") + `?reference=${encodeURIComponent(match[0])}&sharingToken=${getSharingToken()}`) : axios.get(generateOcsUrl(\"references/resolve\") + `?reference=${encodeURIComponent(match[0])}`);\n }\n return isPublic ? axios.post(generateOcsUrl(\"references/extractPublic\"), {\n text: this.text,\n resolve: true,\n limit: this.limit,\n sharingToken: getSharingToken()\n }) : axios.post(generateOcsUrl(\"references/extract\"), {\n text: this.text,\n resolve: true,\n limit: this.limit\n });\n }\n }\n};\nvar _sfc_render$1 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _vm.isVisible ? _c(\"div\", { staticClass: \"widgets--list\", class: { \"icon-loading\": _vm.loading } }, _vm._l(_vm.displayedReferences, function(reference) {\n return _c(\"NcReferenceWidget\", { key: reference?.openGraphObject?.id, attrs: { \"reference\": reference, \"interactive\": _vm.interactive, \"interactive-opt-in\": _vm.interactiveOptIn } });\n }), 1) : _vm._e();\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n \"ffdba753\"\n);\nconst NcReferenceList = __component__$1.exports;\nconst remarkPlaceholder = function() {\n return function(ast) {\n visit(ast, (node2) => node2.type === \"text\", visitor);\n function visitor(node2, index, parent) {\n const placeholders = node2.value.split(/(\\{[a-z\\-_.0-9]+\\})/ig).map((entry, index2, list2) => {\n const matches = entry.match(/^\\{([a-z\\-_.0-9]+)\\}$/i);\n if (!matches) {\n return u(\"text\", entry);\n }\n const [, component] = matches;\n return u(\"element\", {\n tagName: `#${component}`\n });\n });\n parent.children.splice(index, 1, ...placeholders);\n }\n };\n};\nconst prepareTextNode = ({ h, context }, text2) => {\n if (context.autolink) {\n text2 = parseUrl(text2);\n }\n if (Array.isArray(text2)) {\n return text2.map((entry) => {\n if (typeof entry === \"string\") {\n return entry;\n }\n const { component, props } = entry;\n const componentClass = component.name === \"NcLink\" ? void 0 : \"rich-text--component\";\n return h(component, {\n props,\n class: componentClass\n });\n });\n }\n return text2;\n};\nconst remarkUnescape = function() {\n return function(tree) {\n visit(\n tree,\n (node2) => [\"text\", \"code\", \"inlineCode\"].includes(node2.type),\n (node2, index, parent) => {\n parent.children.splice(index, 1, {\n ...node2,\n value: node2.value.replace(/</gmi, \"<\").replace(/>/gmi, \">\")\n });\n return [SKIP$1, index + 1];\n }\n );\n };\n};\nfunction ccount(value, character) {\n const source = String(value);\n if (typeof character !== \"string\") {\n throw new TypeError(\"Expected character\");\n }\n let count = 0;\n let index = source.indexOf(character);\n while (index !== -1) {\n count++;\n index = source.indexOf(character, index + character.length);\n }\n return count;\n}\nfunction ok$1() {\n}\nconst asciiAlpha = regexCheck(/[A-Za-z]/);\nconst asciiAlphanumeric = regexCheck(/[\\dA-Za-z]/);\nfunction asciiControl(code2) {\n return (\n // Special whitespace codes (which have negative values), C0 and Control\n // character DEL\n code2 !== null && (code2 < 32 || code2 === 127)\n );\n}\nfunction markdownLineEnding(code2) {\n return code2 !== null && code2 < -2;\n}\nfunction markdownLineEndingOrSpace(code2) {\n return code2 !== null && (code2 < 0 || code2 === 32);\n}\nfunction markdownSpace(code2) {\n return code2 === -2 || code2 === -1 || code2 === 32;\n}\nconst unicodePunctuation = regexCheck(new RegExp(\"\\\\p{P}|\\\\p{S}\", \"u\"));\nconst unicodeWhitespace = regexCheck(/\\s/);\nfunction regexCheck(regex) {\n return check;\n function check(code2) {\n return code2 !== null && code2 > -1 && regex.test(String.fromCharCode(code2));\n }\n}\nfunction escapeStringRegexp(string) {\n if (typeof string !== \"string\") {\n throw new TypeError(\"Expected a string\");\n }\n return string.replace(/[|\\\\{}()[\\]^$+*?.]/g, \"\\\\$&\").replace(/-/g, \"\\\\x2d\");\n}\nconst convert = (\n // Note: overloads in JSDoc can’t yet use different `@template`s.\n /**\n * @type {(\n * ((test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & {type: Condition}) &\n * ((test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Condition) &\n * ((test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Predicate) &\n * ((test?: null | undefined) => (node?: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node) &\n * ((test?: Test) => Check)\n * )}\n */\n /**\n * @param {Test} [test]\n * @returns {Check}\n */\n function(test) {\n if (test === null || test === void 0) {\n return ok;\n }\n if (typeof test === \"function\") {\n return castFactory(test);\n }\n if (typeof test === \"object\") {\n return Array.isArray(test) ? anyFactory(test) : propsFactory(test);\n }\n if (typeof test === \"string\") {\n return typeFactory(test);\n }\n throw new Error(\"Expected function, string, or object as test\");\n }\n);\nfunction anyFactory(tests) {\n const checks = [];\n let index = -1;\n while (++index < tests.length) {\n checks[index] = convert(tests[index]);\n }\n return castFactory(any);\n function any(...parameters) {\n let index2 = -1;\n while (++index2 < checks.length) {\n if (checks[index2].apply(this, parameters)) return true;\n }\n return false;\n }\n}\nfunction propsFactory(check) {\n const checkAsRecord = (\n /** @type {Record} */\n check\n );\n return castFactory(all2);\n function all2(node2) {\n const nodeAsRecord = (\n /** @type {Record} */\n /** @type {unknown} */\n node2\n );\n let key;\n for (key in check) {\n if (nodeAsRecord[key] !== checkAsRecord[key]) return false;\n }\n return true;\n }\n}\nfunction typeFactory(check) {\n return castFactory(type);\n function type(node2) {\n return node2 && node2.type === check;\n }\n}\nfunction castFactory(testFunction) {\n return check;\n function check(value, index, parent) {\n return Boolean(\n looksLikeANode(value) && testFunction.call(\n this,\n value,\n typeof index === \"number\" ? index : void 0,\n parent || void 0\n )\n );\n }\n}\nfunction ok() {\n return true;\n}\nfunction looksLikeANode(value) {\n return value !== null && typeof value === \"object\" && \"type\" in value;\n}\nfunction color(d) {\n return d;\n}\nconst empty = [];\nconst CONTINUE = true;\nconst EXIT = false;\nconst SKIP = \"skip\";\nfunction visitParents(tree, test, visitor, reverse) {\n let check;\n {\n check = test;\n }\n const is = convert(check);\n const step = 1;\n factory(tree, void 0, [])();\n function factory(node2, index, parents) {\n const value = (\n /** @type {Record} */\n node2 && typeof node2 === \"object\" ? node2 : {}\n );\n if (typeof value.type === \"string\") {\n const name = (\n // `hast`\n typeof value.tagName === \"string\" ? value.tagName : (\n // `xast`\n typeof value.name === \"string\" ? value.name : void 0\n )\n );\n Object.defineProperty(visit2, \"name\", {\n value: \"node (\" + color(node2.type + (name ? \"<\" + name + \">\" : \"\")) + \")\"\n });\n }\n return visit2;\n function visit2() {\n let result = empty;\n let subresult;\n let offset;\n let grandparents;\n if (is(node2, index, parents[parents.length - 1] || void 0)) {\n result = toResult(visitor(node2, parents));\n if (result[0] === EXIT) {\n return result;\n }\n }\n if (\"children\" in node2 && node2.children) {\n const nodeAsParent = (\n /** @type {UnistParent} */\n node2\n );\n if (nodeAsParent.children && result[0] !== SKIP) {\n offset = -1 + step;\n grandparents = parents.concat(nodeAsParent);\n while (offset > -1 && offset < nodeAsParent.children.length) {\n const child = nodeAsParent.children[offset];\n subresult = factory(child, offset, grandparents)();\n if (subresult[0] === EXIT) {\n return subresult;\n }\n offset = typeof subresult[1] === \"number\" ? subresult[1] : offset + step;\n }\n }\n }\n return result;\n }\n }\n}\nfunction toResult(value) {\n if (Array.isArray(value)) {\n return value;\n }\n if (typeof value === \"number\") {\n return [CONTINUE, value];\n }\n return value === null || value === void 0 ? empty : [value];\n}\nfunction findAndReplace(tree, list2, options) {\n const settings = options || {};\n const ignored = convert(settings.ignore || []);\n const pairs = toPairs(list2);\n let pairIndex = -1;\n while (++pairIndex < pairs.length) {\n visitParents(tree, \"text\", visitor);\n }\n function visitor(node2, parents) {\n let index = -1;\n let grandparent;\n while (++index < parents.length) {\n const parent = parents[index];\n const siblings = grandparent ? grandparent.children : void 0;\n if (ignored(\n parent,\n siblings ? siblings.indexOf(parent) : void 0,\n grandparent\n )) {\n return;\n }\n grandparent = parent;\n }\n if (grandparent) {\n return handler(node2, parents);\n }\n }\n function handler(node2, parents) {\n const parent = parents[parents.length - 1];\n const find = pairs[pairIndex][0];\n const replace2 = pairs[pairIndex][1];\n let start = 0;\n const siblings = parent.children;\n const index = siblings.indexOf(node2);\n let change = false;\n let nodes = [];\n find.lastIndex = 0;\n let match = find.exec(node2.value);\n while (match) {\n const position = match.index;\n const matchObject = {\n index: match.index,\n input: match.input,\n stack: [...parents, node2]\n };\n let value = replace2(...match, matchObject);\n if (typeof value === \"string\") {\n value = value.length > 0 ? { type: \"text\", value } : void 0;\n }\n if (value === false) {\n find.lastIndex = position + 1;\n } else {\n if (start !== position) {\n nodes.push({\n type: \"text\",\n value: node2.value.slice(start, position)\n });\n }\n if (Array.isArray(value)) {\n nodes.push(...value);\n } else if (value) {\n nodes.push(value);\n }\n start = position + match[0].length;\n change = true;\n }\n if (!find.global) {\n break;\n }\n match = find.exec(node2.value);\n }\n if (change) {\n if (start < node2.value.length) {\n nodes.push({ type: \"text\", value: node2.value.slice(start) });\n }\n parent.children.splice(index, 1, ...nodes);\n } else {\n nodes = [node2];\n }\n return index + nodes.length;\n }\n}\nfunction toPairs(tupleOrList) {\n const result = [];\n if (!Array.isArray(tupleOrList)) {\n throw new TypeError(\"Expected find and replace tuple or list of tuples\");\n }\n const list2 = !tupleOrList[0] || Array.isArray(tupleOrList[0]) ? tupleOrList : [tupleOrList];\n let index = -1;\n while (++index < list2.length) {\n const tuple = list2[index];\n result.push([toExpression(tuple[0]), toFunction(tuple[1])]);\n }\n return result;\n}\nfunction toExpression(find) {\n return typeof find === \"string\" ? new RegExp(escapeStringRegexp(find), \"g\") : find;\n}\nfunction toFunction(replace2) {\n return typeof replace2 === \"function\" ? replace2 : function() {\n return replace2;\n };\n}\nconst inConstruct = \"phrasing\";\nconst notInConstruct = [\"autolink\", \"link\", \"image\", \"label\"];\nfunction gfmAutolinkLiteralFromMarkdown() {\n return {\n transforms: [transformGfmAutolinkLiterals],\n enter: {\n literalAutolink: enterLiteralAutolink,\n literalAutolinkEmail: enterLiteralAutolinkValue,\n literalAutolinkHttp: enterLiteralAutolinkValue,\n literalAutolinkWww: enterLiteralAutolinkValue\n },\n exit: {\n literalAutolink: exitLiteralAutolink,\n literalAutolinkEmail: exitLiteralAutolinkEmail,\n literalAutolinkHttp: exitLiteralAutolinkHttp,\n literalAutolinkWww: exitLiteralAutolinkWww\n }\n };\n}\nfunction gfmAutolinkLiteralToMarkdown() {\n return {\n unsafe: [\n {\n character: \"@\",\n before: \"[+\\\\-.\\\\w]\",\n after: \"[\\\\-.\\\\w]\",\n inConstruct,\n notInConstruct\n },\n {\n character: \".\",\n before: \"[Ww]\",\n after: \"[\\\\-.\\\\w]\",\n inConstruct,\n notInConstruct\n },\n {\n character: \":\",\n before: \"[ps]\",\n after: \"\\\\/\",\n inConstruct,\n notInConstruct\n }\n ]\n };\n}\nfunction enterLiteralAutolink(token) {\n this.enter({ type: \"link\", title: null, url: \"\", children: [] }, token);\n}\nfunction enterLiteralAutolinkValue(token) {\n this.config.enter.autolinkProtocol.call(this, token);\n}\nfunction exitLiteralAutolinkHttp(token) {\n this.config.exit.autolinkProtocol.call(this, token);\n}\nfunction exitLiteralAutolinkWww(token) {\n this.config.exit.data.call(this, token);\n const node2 = this.stack[this.stack.length - 1];\n ok$1(node2.type === \"link\");\n node2.url = \"http://\" + this.sliceSerialize(token);\n}\nfunction exitLiteralAutolinkEmail(token) {\n this.config.exit.autolinkEmail.call(this, token);\n}\nfunction exitLiteralAutolink(token) {\n this.exit(token);\n}\nfunction transformGfmAutolinkLiterals(tree) {\n findAndReplace(\n tree,\n [\n [/(https?:\\/\\/|www(?=\\.))([-.\\w]+)([^ \\t\\r\\n]*)/gi, findUrl],\n [/([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)/g, findEmail]\n ],\n { ignore: [\"link\", \"linkReference\"] }\n );\n}\nfunction findUrl(_, protocol, domain2, path2, match) {\n let prefix = \"\";\n if (!previous(match)) {\n return false;\n }\n if (/^w/i.test(protocol)) {\n domain2 = protocol + domain2;\n protocol = \"\";\n prefix = \"http://\";\n }\n if (!isCorrectDomain(domain2)) {\n return false;\n }\n const parts = splitUrl(domain2 + path2);\n if (!parts[0]) return false;\n const result = {\n type: \"link\",\n title: null,\n url: prefix + protocol + parts[0],\n children: [{ type: \"text\", value: protocol + parts[0] }]\n };\n if (parts[1]) {\n return [result, { type: \"text\", value: parts[1] }];\n }\n return result;\n}\nfunction findEmail(_, atext, label, match) {\n if (\n // Not an expected previous character.\n !previous(match, true) || // Label ends in not allowed character.\n /[-\\d_]$/.test(label)\n ) {\n return false;\n }\n return {\n type: \"link\",\n title: null,\n url: \"mailto:\" + atext + \"@\" + label,\n children: [{ type: \"text\", value: atext + \"@\" + label }]\n };\n}\nfunction isCorrectDomain(domain2) {\n const parts = domain2.split(\".\");\n if (parts.length < 2 || parts[parts.length - 1] && (/_/.test(parts[parts.length - 1]) || !/[a-zA-Z\\d]/.test(parts[parts.length - 1])) || parts[parts.length - 2] && (/_/.test(parts[parts.length - 2]) || !/[a-zA-Z\\d]/.test(parts[parts.length - 2]))) {\n return false;\n }\n return true;\n}\nfunction splitUrl(url) {\n const trailExec = /[!\"&'),.:;<>?\\]}]+$/.exec(url);\n if (!trailExec) {\n return [url, void 0];\n }\n url = url.slice(0, trailExec.index);\n let trail2 = trailExec[0];\n let closingParenIndex = trail2.indexOf(\")\");\n const openingParens = ccount(url, \"(\");\n let closingParens = ccount(url, \")\");\n while (closingParenIndex !== -1 && openingParens > closingParens) {\n url += trail2.slice(0, closingParenIndex + 1);\n trail2 = trail2.slice(closingParenIndex + 1);\n closingParenIndex = trail2.indexOf(\")\");\n closingParens++;\n }\n return [url, trail2];\n}\nfunction previous(match, email) {\n const code2 = match.input.charCodeAt(match.index - 1);\n return (match.index === 0 || unicodeWhitespace(code2) || unicodePunctuation(code2)) && (!email || code2 !== 47);\n}\nfunction normalizeIdentifier(value) {\n return value.replace(/[\\t\\n\\r ]+/g, \" \").replace(/^ | $/g, \"\").toLowerCase().toUpperCase();\n}\nfootnoteReference.peek = footnoteReferencePeek;\nfunction gfmFootnoteFromMarkdown() {\n return {\n enter: {\n gfmFootnoteDefinition: enterFootnoteDefinition,\n gfmFootnoteDefinitionLabelString: enterFootnoteDefinitionLabelString,\n gfmFootnoteCall: enterFootnoteCall,\n gfmFootnoteCallString: enterFootnoteCallString\n },\n exit: {\n gfmFootnoteDefinition: exitFootnoteDefinition,\n gfmFootnoteDefinitionLabelString: exitFootnoteDefinitionLabelString,\n gfmFootnoteCall: exitFootnoteCall,\n gfmFootnoteCallString: exitFootnoteCallString\n }\n };\n}\nfunction gfmFootnoteToMarkdown() {\n return {\n // This is on by default already.\n unsafe: [{ character: \"[\", inConstruct: [\"phrasing\", \"label\", \"reference\"] }],\n handlers: { footnoteDefinition, footnoteReference }\n };\n}\nfunction enterFootnoteDefinition(token) {\n this.enter(\n { type: \"footnoteDefinition\", identifier: \"\", label: \"\", children: [] },\n token\n );\n}\nfunction enterFootnoteDefinitionLabelString() {\n this.buffer();\n}\nfunction exitFootnoteDefinitionLabelString(token) {\n const label = this.resume();\n const node2 = this.stack[this.stack.length - 1];\n ok$1(node2.type === \"footnoteDefinition\");\n node2.label = label;\n node2.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase();\n}\nfunction exitFootnoteDefinition(token) {\n this.exit(token);\n}\nfunction enterFootnoteCall(token) {\n this.enter({ type: \"footnoteReference\", identifier: \"\", label: \"\" }, token);\n}\nfunction enterFootnoteCallString() {\n this.buffer();\n}\nfunction exitFootnoteCallString(token) {\n const label = this.resume();\n const node2 = this.stack[this.stack.length - 1];\n ok$1(node2.type === \"footnoteReference\");\n node2.label = label;\n node2.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase();\n}\nfunction exitFootnoteCall(token) {\n this.exit(token);\n}\nfunction footnoteReference(node2, _, state, info) {\n const tracker = state.createTracker(info);\n let value = tracker.move(\"[^\");\n const exit2 = state.enter(\"footnoteReference\");\n const subexit = state.enter(\"reference\");\n value += tracker.move(\n state.safe(state.associationId(node2), {\n ...tracker.current(),\n before: value,\n after: \"]\"\n })\n );\n subexit();\n exit2();\n value += tracker.move(\"]\");\n return value;\n}\nfunction footnoteReferencePeek() {\n return \"[\";\n}\nfunction footnoteDefinition(node2, _, state, info) {\n const tracker = state.createTracker(info);\n let value = tracker.move(\"[^\");\n const exit2 = state.enter(\"footnoteDefinition\");\n const subexit = state.enter(\"label\");\n value += tracker.move(\n state.safe(state.associationId(node2), {\n ...tracker.current(),\n before: value,\n after: \"]\"\n })\n );\n subexit();\n value += tracker.move(\n \"]:\" + (node2.children && node2.children.length > 0 ? \" \" : \"\")\n );\n tracker.shift(4);\n value += tracker.move(\n state.indentLines(state.containerFlow(node2, tracker.current()), map$2)\n );\n exit2();\n return value;\n}\nfunction map$2(line, index, blank) {\n if (index === 0) {\n return line;\n }\n return (blank ? \"\" : \" \") + line;\n}\nconst constructsWithoutStrikethrough = [\n \"autolink\",\n \"destinationLiteral\",\n \"destinationRaw\",\n \"reference\",\n \"titleQuote\",\n \"titleApostrophe\"\n];\nhandleDelete.peek = peekDelete;\nfunction gfmStrikethroughFromMarkdown() {\n return {\n canContainEols: [\"delete\"],\n enter: { strikethrough: enterStrikethrough },\n exit: { strikethrough: exitStrikethrough }\n };\n}\nfunction gfmStrikethroughToMarkdown() {\n return {\n unsafe: [\n {\n character: \"~\",\n inConstruct: \"phrasing\",\n notInConstruct: constructsWithoutStrikethrough\n }\n ],\n handlers: { delete: handleDelete }\n };\n}\nfunction enterStrikethrough(token) {\n this.enter({ type: \"delete\", children: [] }, token);\n}\nfunction exitStrikethrough(token) {\n this.exit(token);\n}\nfunction handleDelete(node2, _, state, info) {\n const tracker = state.createTracker(info);\n const exit2 = state.enter(\"strikethrough\");\n let value = tracker.move(\"~~\");\n value += state.containerPhrasing(node2, {\n ...tracker.current(),\n before: value,\n after: \"~\"\n });\n value += tracker.move(\"~~\");\n exit2();\n return value;\n}\nfunction peekDelete() {\n return \"~\";\n}\nfunction markdownTable(table, options = {}) {\n const align = (options.align || []).concat();\n const stringLength = options.stringLength || defaultStringLength;\n const alignments = [];\n const cellMatrix = [];\n const sizeMatrix = [];\n const longestCellByColumn = [];\n let mostCellsPerRow = 0;\n let rowIndex = -1;\n while (++rowIndex < table.length) {\n const row2 = [];\n const sizes2 = [];\n let columnIndex2 = -1;\n if (table[rowIndex].length > mostCellsPerRow) {\n mostCellsPerRow = table[rowIndex].length;\n }\n while (++columnIndex2 < table[rowIndex].length) {\n const cell = serialize(table[rowIndex][columnIndex2]);\n if (options.alignDelimiters !== false) {\n const size = stringLength(cell);\n sizes2[columnIndex2] = size;\n if (longestCellByColumn[columnIndex2] === void 0 || size > longestCellByColumn[columnIndex2]) {\n longestCellByColumn[columnIndex2] = size;\n }\n }\n row2.push(cell);\n }\n cellMatrix[rowIndex] = row2;\n sizeMatrix[rowIndex] = sizes2;\n }\n let columnIndex = -1;\n if (typeof align === \"object\" && \"length\" in align) {\n while (++columnIndex < mostCellsPerRow) {\n alignments[columnIndex] = toAlignment(align[columnIndex]);\n }\n } else {\n const code2 = toAlignment(align);\n while (++columnIndex < mostCellsPerRow) {\n alignments[columnIndex] = code2;\n }\n }\n columnIndex = -1;\n const row = [];\n const sizes = [];\n while (++columnIndex < mostCellsPerRow) {\n const code2 = alignments[columnIndex];\n let before = \"\";\n let after = \"\";\n if (code2 === 99) {\n before = \":\";\n after = \":\";\n } else if (code2 === 108) {\n before = \":\";\n } else if (code2 === 114) {\n after = \":\";\n }\n let size = options.alignDelimiters === false ? 1 : Math.max(\n 1,\n longestCellByColumn[columnIndex] - before.length - after.length\n );\n const cell = before + \"-\".repeat(size) + after;\n if (options.alignDelimiters !== false) {\n size = before.length + size + after.length;\n if (size > longestCellByColumn[columnIndex]) {\n longestCellByColumn[columnIndex] = size;\n }\n sizes[columnIndex] = size;\n }\n row[columnIndex] = cell;\n }\n cellMatrix.splice(1, 0, row);\n sizeMatrix.splice(1, 0, sizes);\n rowIndex = -1;\n const lines = [];\n while (++rowIndex < cellMatrix.length) {\n const row2 = cellMatrix[rowIndex];\n const sizes2 = sizeMatrix[rowIndex];\n columnIndex = -1;\n const line = [];\n while (++columnIndex < mostCellsPerRow) {\n const cell = row2[columnIndex] || \"\";\n let before = \"\";\n let after = \"\";\n if (options.alignDelimiters !== false) {\n const size = longestCellByColumn[columnIndex] - (sizes2[columnIndex] || 0);\n const code2 = alignments[columnIndex];\n if (code2 === 114) {\n before = \" \".repeat(size);\n } else if (code2 === 99) {\n if (size % 2) {\n before = \" \".repeat(size / 2 + 0.5);\n after = \" \".repeat(size / 2 - 0.5);\n } else {\n before = \" \".repeat(size / 2);\n after = before;\n }\n } else {\n after = \" \".repeat(size);\n }\n }\n if (options.delimiterStart !== false && !columnIndex) {\n line.push(\"|\");\n }\n if (options.padding !== false && // Don’t add the opening space if we’re not aligning and the cell is\n // empty: there will be a closing space.\n !(options.alignDelimiters === false && cell === \"\") && (options.delimiterStart !== false || columnIndex)) {\n line.push(\" \");\n }\n if (options.alignDelimiters !== false) {\n line.push(before);\n }\n line.push(cell);\n if (options.alignDelimiters !== false) {\n line.push(after);\n }\n if (options.padding !== false) {\n line.push(\" \");\n }\n if (options.delimiterEnd !== false || columnIndex !== mostCellsPerRow - 1) {\n line.push(\"|\");\n }\n }\n lines.push(\n options.delimiterEnd === false ? line.join(\"\").replace(/ +$/, \"\") : line.join(\"\")\n );\n }\n return lines.join(\"\\n\");\n}\nfunction serialize(value) {\n return value === null || value === void 0 ? \"\" : String(value);\n}\nfunction defaultStringLength(value) {\n return value.length;\n}\nfunction toAlignment(value) {\n const code2 = typeof value === \"string\" ? value.codePointAt(0) : 0;\n return code2 === 67 || code2 === 99 ? 99 : code2 === 76 || code2 === 108 ? 108 : code2 === 82 || code2 === 114 ? 114 : 0;\n}\nfunction blockquote(node2, _, state, info) {\n const exit2 = state.enter(\"blockquote\");\n const tracker = state.createTracker(info);\n tracker.move(\"> \");\n tracker.shift(2);\n const value = state.indentLines(\n state.containerFlow(node2, tracker.current()),\n map$1\n );\n exit2();\n return value;\n}\nfunction map$1(line, _, blank) {\n return \">\" + (blank ? \"\" : \" \") + line;\n}\nfunction patternInScope(stack, pattern) {\n return listInScope(stack, pattern.inConstruct, true) && !listInScope(stack, pattern.notInConstruct, false);\n}\nfunction listInScope(stack, list2, none) {\n if (typeof list2 === \"string\") {\n list2 = [list2];\n }\n if (!list2 || list2.length === 0) {\n return none;\n }\n let index = -1;\n while (++index < list2.length) {\n if (stack.includes(list2[index])) {\n return true;\n }\n }\n return false;\n}\nfunction hardBreak(_, _1, state, info) {\n let index = -1;\n while (++index < state.unsafe.length) {\n if (state.unsafe[index].character === \"\\n\" && patternInScope(state.stack, state.unsafe[index])) {\n return /[ \\t]/.test(info.before) ? \"\" : \" \";\n }\n }\n return \"\\\\\\n\";\n}\nfunction longestStreak(value, substring) {\n const source = String(value);\n let index = source.indexOf(substring);\n let expected = index;\n let count = 0;\n let max = 0;\n if (typeof substring !== \"string\") {\n throw new TypeError(\"Expected substring\");\n }\n while (index !== -1) {\n if (index === expected) {\n if (++count > max) {\n max = count;\n }\n } else {\n count = 1;\n }\n expected = index + substring.length;\n index = source.indexOf(substring, expected);\n }\n return max;\n}\nfunction formatCodeAsIndented(node2, state) {\n return Boolean(\n state.options.fences === false && node2.value && // If there’s no info…\n !node2.lang && // And there’s a non-whitespace character…\n /[^ \\r\\n]/.test(node2.value) && // And the value doesn’t start or end in a blank…\n !/^[\\t ]*(?:[\\r\\n]|$)|(?:^|[\\r\\n])[\\t ]*$/.test(node2.value)\n );\n}\nfunction checkFence(state) {\n const marker = state.options.fence || \"`\";\n if (marker !== \"`\" && marker !== \"~\") {\n throw new Error(\n \"Cannot serialize code with `\" + marker + \"` for `options.fence`, expected `` ` `` or `~`\"\n );\n }\n return marker;\n}\nfunction code$1(node2, _, state, info) {\n const marker = checkFence(state);\n const raw = node2.value || \"\";\n const suffix = marker === \"`\" ? \"GraveAccent\" : \"Tilde\";\n if (formatCodeAsIndented(node2, state)) {\n const exit3 = state.enter(\"codeIndented\");\n const value2 = state.indentLines(raw, map);\n exit3();\n return value2;\n }\n const tracker = state.createTracker(info);\n const sequence = marker.repeat(Math.max(longestStreak(raw, marker) + 1, 3));\n const exit2 = state.enter(\"codeFenced\");\n let value = tracker.move(sequence);\n if (node2.lang) {\n const subexit = state.enter(`codeFencedLang${suffix}`);\n value += tracker.move(\n state.safe(node2.lang, {\n before: value,\n after: \" \",\n encode: [\"`\"],\n ...tracker.current()\n })\n );\n subexit();\n }\n if (node2.lang && node2.meta) {\n const subexit = state.enter(`codeFencedMeta${suffix}`);\n value += tracker.move(\" \");\n value += tracker.move(\n state.safe(node2.meta, {\n before: value,\n after: \"\\n\",\n encode: [\"`\"],\n ...tracker.current()\n })\n );\n subexit();\n }\n value += tracker.move(\"\\n\");\n if (raw) {\n value += tracker.move(raw + \"\\n\");\n }\n value += tracker.move(sequence);\n exit2();\n return value;\n}\nfunction map(line, _, blank) {\n return (blank ? \"\" : \" \") + line;\n}\nfunction checkQuote(state) {\n const marker = state.options.quote || '\"';\n if (marker !== '\"' && marker !== \"'\") {\n throw new Error(\n \"Cannot serialize title with `\" + marker + \"` for `options.quote`, expected `\\\"`, or `'`\"\n );\n }\n return marker;\n}\nfunction definition(node2, _, state, info) {\n const quote = checkQuote(state);\n const suffix = quote === '\"' ? \"Quote\" : \"Apostrophe\";\n const exit2 = state.enter(\"definition\");\n let subexit = state.enter(\"label\");\n const tracker = state.createTracker(info);\n let value = tracker.move(\"[\");\n value += tracker.move(\n state.safe(state.associationId(node2), {\n before: value,\n after: \"]\",\n ...tracker.current()\n })\n );\n value += tracker.move(\"]: \");\n subexit();\n if (\n // If there’s no url, or…\n !node2.url || // If there are control characters or whitespace.\n /[\\0- \\u007F]/.test(node2.url)\n ) {\n subexit = state.enter(\"destinationLiteral\");\n value += tracker.move(\"<\");\n value += tracker.move(\n state.safe(node2.url, { before: value, after: \">\", ...tracker.current() })\n );\n value += tracker.move(\">\");\n } else {\n subexit = state.enter(\"destinationRaw\");\n value += tracker.move(\n state.safe(node2.url, {\n before: value,\n after: node2.title ? \" \" : \"\\n\",\n ...tracker.current()\n })\n );\n }\n subexit();\n if (node2.title) {\n subexit = state.enter(`title${suffix}`);\n value += tracker.move(\" \" + quote);\n value += tracker.move(\n state.safe(node2.title, {\n before: value,\n after: quote,\n ...tracker.current()\n })\n );\n value += tracker.move(quote);\n subexit();\n }\n exit2();\n return value;\n}\nfunction checkEmphasis(state) {\n const marker = state.options.emphasis || \"*\";\n if (marker !== \"*\" && marker !== \"_\") {\n throw new Error(\n \"Cannot serialize emphasis with `\" + marker + \"` for `options.emphasis`, expected `*`, or `_`\"\n );\n }\n return marker;\n}\nemphasis.peek = emphasisPeek;\nfunction emphasis(node2, _, state, info) {\n const marker = checkEmphasis(state);\n const exit2 = state.enter(\"emphasis\");\n const tracker = state.createTracker(info);\n let value = tracker.move(marker);\n value += tracker.move(\n state.containerPhrasing(node2, {\n before: value,\n after: marker,\n ...tracker.current()\n })\n );\n value += tracker.move(marker);\n exit2();\n return value;\n}\nfunction emphasisPeek(_, _1, state) {\n return state.options.emphasis || \"*\";\n}\nconst emptyOptions$1 = {};\nfunction toString(value, options) {\n const settings = emptyOptions$1;\n const includeImageAlt = typeof settings.includeImageAlt === \"boolean\" ? settings.includeImageAlt : true;\n const includeHtml = typeof settings.includeHtml === \"boolean\" ? settings.includeHtml : true;\n return one(value, includeImageAlt, includeHtml);\n}\nfunction one(value, includeImageAlt, includeHtml) {\n if (node(value)) {\n if (\"value\" in value) {\n return value.type === \"html\" && !includeHtml ? \"\" : value.value;\n }\n if (includeImageAlt && \"alt\" in value && value.alt) {\n return value.alt;\n }\n if (\"children\" in value) {\n return all(value.children, includeImageAlt, includeHtml);\n }\n }\n if (Array.isArray(value)) {\n return all(value, includeImageAlt, includeHtml);\n }\n return \"\";\n}\nfunction all(values, includeImageAlt, includeHtml) {\n const result = [];\n let index = -1;\n while (++index < values.length) {\n result[index] = one(values[index], includeImageAlt, includeHtml);\n }\n return result.join(\"\");\n}\nfunction node(value) {\n return Boolean(value && typeof value === \"object\");\n}\nfunction formatHeadingAsSetext(node2, state) {\n let literalWithBreak = false;\n visit(node2, function(node3) {\n if (\"value\" in node3 && /\\r?\\n|\\r/.test(node3.value) || node3.type === \"break\") {\n literalWithBreak = true;\n return EXIT$1;\n }\n });\n return Boolean(\n (!node2.depth || node2.depth < 3) && toString(node2) && (state.options.setext || literalWithBreak)\n );\n}\nfunction heading(node2, _, state, info) {\n const rank = Math.max(Math.min(6, node2.depth || 1), 1);\n const tracker = state.createTracker(info);\n if (formatHeadingAsSetext(node2, state)) {\n const exit3 = state.enter(\"headingSetext\");\n const subexit2 = state.enter(\"phrasing\");\n const value2 = state.containerPhrasing(node2, {\n ...tracker.current(),\n before: \"\\n\",\n after: \"\\n\"\n });\n subexit2();\n exit3();\n return value2 + \"\\n\" + (rank === 1 ? \"=\" : \"-\").repeat(\n // The whole size…\n value2.length - // Minus the position of the character after the last EOL (or\n // 0 if there is none)…\n (Math.max(value2.lastIndexOf(\"\\r\"), value2.lastIndexOf(\"\\n\")) + 1)\n );\n }\n const sequence = \"#\".repeat(rank);\n const exit2 = state.enter(\"headingAtx\");\n const subexit = state.enter(\"phrasing\");\n tracker.move(sequence + \" \");\n let value = state.containerPhrasing(node2, {\n before: \"# \",\n after: \"\\n\",\n ...tracker.current()\n });\n if (/^[\\t ]/.test(value)) {\n value = \"&#x\" + value.charCodeAt(0).toString(16).toUpperCase() + \";\" + value.slice(1);\n }\n value = value ? sequence + \" \" + value : sequence;\n if (state.options.closeAtx) {\n value += \" \" + sequence;\n }\n subexit();\n exit2();\n return value;\n}\nhtml.peek = htmlPeek;\nfunction html(node2) {\n return node2.value || \"\";\n}\nfunction htmlPeek() {\n return \"<\";\n}\nimage.peek = imagePeek;\nfunction image(node2, _, state, info) {\n const quote = checkQuote(state);\n const suffix = quote === '\"' ? \"Quote\" : \"Apostrophe\";\n const exit2 = state.enter(\"image\");\n let subexit = state.enter(\"label\");\n const tracker = state.createTracker(info);\n let value = tracker.move(\"![\");\n value += tracker.move(\n state.safe(node2.alt, { before: value, after: \"]\", ...tracker.current() })\n );\n value += tracker.move(\"](\");\n subexit();\n if (\n // If there’s no url but there is a title…\n !node2.url && node2.title || // If there are control characters or whitespace.\n /[\\0- \\u007F]/.test(node2.url)\n ) {\n subexit = state.enter(\"destinationLiteral\");\n value += tracker.move(\"<\");\n value += tracker.move(\n state.safe(node2.url, { before: value, after: \">\", ...tracker.current() })\n );\n value += tracker.move(\">\");\n } else {\n subexit = state.enter(\"destinationRaw\");\n value += tracker.move(\n state.safe(node2.url, {\n before: value,\n after: node2.title ? \" \" : \")\",\n ...tracker.current()\n })\n );\n }\n subexit();\n if (node2.title) {\n subexit = state.enter(`title${suffix}`);\n value += tracker.move(\" \" + quote);\n value += tracker.move(\n state.safe(node2.title, {\n before: value,\n after: quote,\n ...tracker.current()\n })\n );\n value += tracker.move(quote);\n subexit();\n }\n value += tracker.move(\")\");\n exit2();\n return value;\n}\nfunction imagePeek() {\n return \"!\";\n}\nimageReference.peek = imageReferencePeek;\nfunction imageReference(node2, _, state, info) {\n const type = node2.referenceType;\n const exit2 = state.enter(\"imageReference\");\n let subexit = state.enter(\"label\");\n const tracker = state.createTracker(info);\n let value = tracker.move(\"![\");\n const alt = state.safe(node2.alt, {\n before: value,\n after: \"]\",\n ...tracker.current()\n });\n value += tracker.move(alt + \"][\");\n subexit();\n const stack = state.stack;\n state.stack = [];\n subexit = state.enter(\"reference\");\n const reference = state.safe(state.associationId(node2), {\n before: value,\n after: \"]\",\n ...tracker.current()\n });\n subexit();\n state.stack = stack;\n exit2();\n if (type === \"full\" || !alt || alt !== reference) {\n value += tracker.move(reference + \"]\");\n } else if (type === \"shortcut\") {\n value = value.slice(0, -1);\n } else {\n value += tracker.move(\"]\");\n }\n return value;\n}\nfunction imageReferencePeek() {\n return \"!\";\n}\ninlineCode.peek = inlineCodePeek;\nfunction inlineCode(node2, _, state) {\n let value = node2.value || \"\";\n let sequence = \"`\";\n let index = -1;\n while (new RegExp(\"(^|[^`])\" + sequence + \"([^`]|$)\").test(value)) {\n sequence += \"`\";\n }\n if (/[^ \\r\\n]/.test(value) && (/^[ \\r\\n]/.test(value) && /[ \\r\\n]$/.test(value) || /^`|`$/.test(value))) {\n value = \" \" + value + \" \";\n }\n while (++index < state.unsafe.length) {\n const pattern = state.unsafe[index];\n const expression = state.compilePattern(pattern);\n let match;\n if (!pattern.atBreak) continue;\n while (match = expression.exec(value)) {\n let position = match.index;\n if (value.charCodeAt(position) === 10 && value.charCodeAt(position - 1) === 13) {\n position--;\n }\n value = value.slice(0, position) + \" \" + value.slice(match.index + 1);\n }\n }\n return sequence + value + sequence;\n}\nfunction inlineCodePeek() {\n return \"`\";\n}\nfunction formatLinkAsAutolink(node2, state) {\n const raw = toString(node2);\n return Boolean(\n !state.options.resourceLink && // If there’s a url…\n node2.url && // And there’s a no title…\n !node2.title && // And the content of `node` is a single text node…\n node2.children && node2.children.length === 1 && node2.children[0].type === \"text\" && // And if the url is the same as the content…\n (raw === node2.url || \"mailto:\" + raw === node2.url) && // And that starts w/ a protocol…\n /^[a-z][a-z+.-]+:/i.test(node2.url) && // And that doesn’t contain ASCII control codes (character escapes and\n // references don’t work), space, or angle brackets…\n !/[\\0- <>\\u007F]/.test(node2.url)\n );\n}\nlink.peek = linkPeek;\nfunction link(node2, _, state, info) {\n const quote = checkQuote(state);\n const suffix = quote === '\"' ? \"Quote\" : \"Apostrophe\";\n const tracker = state.createTracker(info);\n let exit2;\n let subexit;\n if (formatLinkAsAutolink(node2, state)) {\n const stack = state.stack;\n state.stack = [];\n exit2 = state.enter(\"autolink\");\n let value2 = tracker.move(\"<\");\n value2 += tracker.move(\n state.containerPhrasing(node2, {\n before: value2,\n after: \">\",\n ...tracker.current()\n })\n );\n value2 += tracker.move(\">\");\n exit2();\n state.stack = stack;\n return value2;\n }\n exit2 = state.enter(\"link\");\n subexit = state.enter(\"label\");\n let value = tracker.move(\"[\");\n value += tracker.move(\n state.containerPhrasing(node2, {\n before: value,\n after: \"](\",\n ...tracker.current()\n })\n );\n value += tracker.move(\"](\");\n subexit();\n if (\n // If there’s no url but there is a title…\n !node2.url && node2.title || // If there are control characters or whitespace.\n /[\\0- \\u007F]/.test(node2.url)\n ) {\n subexit = state.enter(\"destinationLiteral\");\n value += tracker.move(\"<\");\n value += tracker.move(\n state.safe(node2.url, { before: value, after: \">\", ...tracker.current() })\n );\n value += tracker.move(\">\");\n } else {\n subexit = state.enter(\"destinationRaw\");\n value += tracker.move(\n state.safe(node2.url, {\n before: value,\n after: node2.title ? \" \" : \")\",\n ...tracker.current()\n })\n );\n }\n subexit();\n if (node2.title) {\n subexit = state.enter(`title${suffix}`);\n value += tracker.move(\" \" + quote);\n value += tracker.move(\n state.safe(node2.title, {\n before: value,\n after: quote,\n ...tracker.current()\n })\n );\n value += tracker.move(quote);\n subexit();\n }\n value += tracker.move(\")\");\n exit2();\n return value;\n}\nfunction linkPeek(node2, _, state) {\n return formatLinkAsAutolink(node2, state) ? \"<\" : \"[\";\n}\nlinkReference.peek = linkReferencePeek;\nfunction linkReference(node2, _, state, info) {\n const type = node2.referenceType;\n const exit2 = state.enter(\"linkReference\");\n let subexit = state.enter(\"label\");\n const tracker = state.createTracker(info);\n let value = tracker.move(\"[\");\n const text2 = state.containerPhrasing(node2, {\n before: value,\n after: \"]\",\n ...tracker.current()\n });\n value += tracker.move(text2 + \"][\");\n subexit();\n const stack = state.stack;\n state.stack = [];\n subexit = state.enter(\"reference\");\n const reference = state.safe(state.associationId(node2), {\n before: value,\n after: \"]\",\n ...tracker.current()\n });\n subexit();\n state.stack = stack;\n exit2();\n if (type === \"full\" || !text2 || text2 !== reference) {\n value += tracker.move(reference + \"]\");\n } else if (type === \"shortcut\") {\n value = value.slice(0, -1);\n } else {\n value += tracker.move(\"]\");\n }\n return value;\n}\nfunction linkReferencePeek() {\n return \"[\";\n}\nfunction checkBullet(state) {\n const marker = state.options.bullet || \"*\";\n if (marker !== \"*\" && marker !== \"+\" && marker !== \"-\") {\n throw new Error(\n \"Cannot serialize items with `\" + marker + \"` for `options.bullet`, expected `*`, `+`, or `-`\"\n );\n }\n return marker;\n}\nfunction checkBulletOther(state) {\n const bullet = checkBullet(state);\n const bulletOther = state.options.bulletOther;\n if (!bulletOther) {\n return bullet === \"*\" ? \"-\" : \"*\";\n }\n if (bulletOther !== \"*\" && bulletOther !== \"+\" && bulletOther !== \"-\") {\n throw new Error(\n \"Cannot serialize items with `\" + bulletOther + \"` for `options.bulletOther`, expected `*`, `+`, or `-`\"\n );\n }\n if (bulletOther === bullet) {\n throw new Error(\n \"Expected `bullet` (`\" + bullet + \"`) and `bulletOther` (`\" + bulletOther + \"`) to be different\"\n );\n }\n return bulletOther;\n}\nfunction checkBulletOrdered(state) {\n const marker = state.options.bulletOrdered || \".\";\n if (marker !== \".\" && marker !== \")\") {\n throw new Error(\n \"Cannot serialize items with `\" + marker + \"` for `options.bulletOrdered`, expected `.` or `)`\"\n );\n }\n return marker;\n}\nfunction checkRule(state) {\n const marker = state.options.rule || \"*\";\n if (marker !== \"*\" && marker !== \"-\" && marker !== \"_\") {\n throw new Error(\n \"Cannot serialize rules with `\" + marker + \"` for `options.rule`, expected `*`, `-`, or `_`\"\n );\n }\n return marker;\n}\nfunction list(node2, parent, state, info) {\n const exit2 = state.enter(\"list\");\n const bulletCurrent = state.bulletCurrent;\n let bullet = node2.ordered ? checkBulletOrdered(state) : checkBullet(state);\n const bulletOther = node2.ordered ? bullet === \".\" ? \")\" : \".\" : checkBulletOther(state);\n let useDifferentMarker = parent && state.bulletLastUsed ? bullet === state.bulletLastUsed : false;\n if (!node2.ordered) {\n const firstListItem = node2.children ? node2.children[0] : void 0;\n if (\n // Bullet could be used as a thematic break marker:\n (bullet === \"*\" || bullet === \"-\") && // Empty first list item:\n firstListItem && (!firstListItem.children || !firstListItem.children[0]) && // Directly in two other list items:\n state.stack[state.stack.length - 1] === \"list\" && state.stack[state.stack.length - 2] === \"listItem\" && state.stack[state.stack.length - 3] === \"list\" && state.stack[state.stack.length - 4] === \"listItem\" && // That are each the first child.\n state.indexStack[state.indexStack.length - 1] === 0 && state.indexStack[state.indexStack.length - 2] === 0 && state.indexStack[state.indexStack.length - 3] === 0\n ) {\n useDifferentMarker = true;\n }\n if (checkRule(state) === bullet && firstListItem) {\n let index = -1;\n while (++index < node2.children.length) {\n const item = node2.children[index];\n if (item && item.type === \"listItem\" && item.children && item.children[0] && item.children[0].type === \"thematicBreak\") {\n useDifferentMarker = true;\n break;\n }\n }\n }\n }\n if (useDifferentMarker) {\n bullet = bulletOther;\n }\n state.bulletCurrent = bullet;\n const value = state.containerFlow(node2, info);\n state.bulletLastUsed = bullet;\n state.bulletCurrent = bulletCurrent;\n exit2();\n return value;\n}\nfunction checkListItemIndent(state) {\n const style = state.options.listItemIndent || \"one\";\n if (style !== \"tab\" && style !== \"one\" && style !== \"mixed\") {\n throw new Error(\n \"Cannot serialize items with `\" + style + \"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`\"\n );\n }\n return style;\n}\nfunction listItem(node2, parent, state, info) {\n const listItemIndent = checkListItemIndent(state);\n let bullet = state.bulletCurrent || checkBullet(state);\n if (parent && parent.type === \"list\" && parent.ordered) {\n bullet = (typeof parent.start === \"number\" && parent.start > -1 ? parent.start : 1) + (state.options.incrementListMarker === false ? 0 : parent.children.indexOf(node2)) + bullet;\n }\n let size = bullet.length + 1;\n if (listItemIndent === \"tab\" || listItemIndent === \"mixed\" && (parent && parent.type === \"list\" && parent.spread || node2.spread)) {\n size = Math.ceil(size / 4) * 4;\n }\n const tracker = state.createTracker(info);\n tracker.move(bullet + \" \".repeat(size - bullet.length));\n tracker.shift(size);\n const exit2 = state.enter(\"listItem\");\n const value = state.indentLines(\n state.containerFlow(node2, tracker.current()),\n map2\n );\n exit2();\n return value;\n function map2(line, index, blank) {\n if (index) {\n return (blank ? \"\" : \" \".repeat(size)) + line;\n }\n return (blank ? bullet : bullet + \" \".repeat(size - bullet.length)) + line;\n }\n}\nfunction paragraph(node2, _, state, info) {\n const exit2 = state.enter(\"paragraph\");\n const subexit = state.enter(\"phrasing\");\n const value = state.containerPhrasing(node2, info);\n subexit();\n exit2();\n return value;\n}\nconst phrasing = (\n /** @type {(node?: unknown) => node is Exclude} */\n convert([\n \"break\",\n \"delete\",\n \"emphasis\",\n // To do: next major: removed since footnotes were added to GFM.\n \"footnote\",\n \"footnoteReference\",\n \"image\",\n \"imageReference\",\n \"inlineCode\",\n // Enabled by `mdast-util-math`:\n \"inlineMath\",\n \"link\",\n \"linkReference\",\n // Enabled by `mdast-util-mdx`:\n \"mdxJsxTextElement\",\n // Enabled by `mdast-util-mdx`:\n \"mdxTextExpression\",\n \"strong\",\n \"text\",\n // Enabled by `mdast-util-directive`:\n \"textDirective\"\n ])\n);\nfunction root(node2, _, state, info) {\n const hasPhrasing = node2.children.some(function(d) {\n return phrasing(d);\n });\n const fn = hasPhrasing ? state.containerPhrasing : state.containerFlow;\n return fn.call(state, node2, info);\n}\nfunction checkStrong(state) {\n const marker = state.options.strong || \"*\";\n if (marker !== \"*\" && marker !== \"_\") {\n throw new Error(\n \"Cannot serialize strong with `\" + marker + \"` for `options.strong`, expected `*`, or `_`\"\n );\n }\n return marker;\n}\nstrong.peek = strongPeek;\nfunction strong(node2, _, state, info) {\n const marker = checkStrong(state);\n const exit2 = state.enter(\"strong\");\n const tracker = state.createTracker(info);\n let value = tracker.move(marker + marker);\n value += tracker.move(\n state.containerPhrasing(node2, {\n before: value,\n after: marker,\n ...tracker.current()\n })\n );\n value += tracker.move(marker + marker);\n exit2();\n return value;\n}\nfunction strongPeek(_, _1, state) {\n return state.options.strong || \"*\";\n}\nfunction text$1(node2, _, state, info) {\n return state.safe(node2.value, info);\n}\nfunction checkRuleRepetition(state) {\n const repetition = state.options.ruleRepetition || 3;\n if (repetition < 3) {\n throw new Error(\n \"Cannot serialize rules with repetition `\" + repetition + \"` for `options.ruleRepetition`, expected `3` or more\"\n );\n }\n return repetition;\n}\nfunction thematicBreak(_, _1, state) {\n const value = (checkRule(state) + (state.options.ruleSpaces ? \" \" : \"\")).repeat(checkRuleRepetition(state));\n return state.options.ruleSpaces ? value.slice(0, -1) : value;\n}\nconst handle = {\n blockquote,\n break: hardBreak,\n code: code$1,\n definition,\n emphasis,\n hardBreak,\n heading,\n html,\n image,\n imageReference,\n inlineCode,\n link,\n linkReference,\n list,\n listItem,\n paragraph,\n root,\n strong,\n text: text$1,\n thematicBreak\n};\nfunction gfmTableFromMarkdown() {\n return {\n enter: {\n table: enterTable,\n tableData: enterCell,\n tableHeader: enterCell,\n tableRow: enterRow\n },\n exit: {\n codeText: exitCodeText,\n table: exitTable,\n tableData: exit,\n tableHeader: exit,\n tableRow: exit\n }\n };\n}\nfunction enterTable(token) {\n const align = token._align;\n this.enter(\n {\n type: \"table\",\n align: align.map(function(d) {\n return d === \"none\" ? null : d;\n }),\n children: []\n },\n token\n );\n this.data.inTable = true;\n}\nfunction exitTable(token) {\n this.exit(token);\n this.data.inTable = void 0;\n}\nfunction enterRow(token) {\n this.enter({ type: \"tableRow\", children: [] }, token);\n}\nfunction exit(token) {\n this.exit(token);\n}\nfunction enterCell(token) {\n this.enter({ type: \"tableCell\", children: [] }, token);\n}\nfunction exitCodeText(token) {\n let value = this.resume();\n if (this.data.inTable) {\n value = value.replace(/\\\\([\\\\|])/g, replace);\n }\n const node2 = this.stack[this.stack.length - 1];\n ok$1(node2.type === \"inlineCode\");\n node2.value = value;\n this.exit(token);\n}\nfunction replace($0, $1) {\n return $1 === \"|\" ? $1 : $0;\n}\nfunction gfmTableToMarkdown(options) {\n const settings = options || {};\n const padding = settings.tableCellPadding;\n const alignDelimiters = settings.tablePipeAlign;\n const stringLength = settings.stringLength;\n const around = padding ? \" \" : \"|\";\n return {\n unsafe: [\n { character: \"\\r\", inConstruct: \"tableCell\" },\n { character: \"\\n\", inConstruct: \"tableCell\" },\n // A pipe, when followed by a tab or space (padding), or a dash or colon\n // (unpadded delimiter row), could result in a table.\n { atBreak: true, character: \"|\", after: \"[\t :-]\" },\n // A pipe in a cell must be encoded.\n { character: \"|\", inConstruct: \"tableCell\" },\n // A colon must be followed by a dash, in which case it could start a\n // delimiter row.\n { atBreak: true, character: \":\", after: \"-\" },\n // A delimiter row can also start with a dash, when followed by more\n // dashes, a colon, or a pipe.\n // This is a stricter version than the built in check for lists, thematic\n // breaks, and setex heading underlines though:\n // \n { atBreak: true, character: \"-\", after: \"[:|-]\" }\n ],\n handlers: {\n inlineCode: inlineCodeWithTable,\n table: handleTable,\n tableCell: handleTableCell,\n tableRow: handleTableRow\n }\n };\n function handleTable(node2, _, state, info) {\n return serializeData(handleTableAsData(node2, state, info), node2.align);\n }\n function handleTableRow(node2, _, state, info) {\n const row = handleTableRowAsData(node2, state, info);\n const value = serializeData([row]);\n return value.slice(0, value.indexOf(\"\\n\"));\n }\n function handleTableCell(node2, _, state, info) {\n const exit2 = state.enter(\"tableCell\");\n const subexit = state.enter(\"phrasing\");\n const value = state.containerPhrasing(node2, {\n ...info,\n before: around,\n after: around\n });\n subexit();\n exit2();\n return value;\n }\n function serializeData(matrix, align) {\n return markdownTable(matrix, {\n align,\n // @ts-expect-error: `markdown-table` types should support `null`.\n alignDelimiters,\n // @ts-expect-error: `markdown-table` types should support `null`.\n padding,\n // @ts-expect-error: `markdown-table` types should support `null`.\n stringLength\n });\n }\n function handleTableAsData(node2, state, info) {\n const children = node2.children;\n let index = -1;\n const result = [];\n const subexit = state.enter(\"table\");\n while (++index < children.length) {\n result[index] = handleTableRowAsData(children[index], state, info);\n }\n subexit();\n return result;\n }\n function handleTableRowAsData(node2, state, info) {\n const children = node2.children;\n let index = -1;\n const result = [];\n const subexit = state.enter(\"tableRow\");\n while (++index < children.length) {\n result[index] = handleTableCell(children[index], node2, state, info);\n }\n subexit();\n return result;\n }\n function inlineCodeWithTable(node2, parent, state) {\n let value = handle.inlineCode(node2, parent, state);\n if (state.stack.includes(\"tableCell\")) {\n value = value.replace(/\\|/g, \"\\\\$&\");\n }\n return value;\n }\n}\nfunction gfmTaskListItemFromMarkdown() {\n return {\n exit: {\n taskListCheckValueChecked: exitCheck,\n taskListCheckValueUnchecked: exitCheck,\n paragraph: exitParagraphWithTaskListItem\n }\n };\n}\nfunction gfmTaskListItemToMarkdown() {\n return {\n unsafe: [{ atBreak: true, character: \"-\", after: \"[:|-]\" }],\n handlers: { listItem: listItemWithTaskListItem }\n };\n}\nfunction exitCheck(token) {\n const node2 = this.stack[this.stack.length - 2];\n ok$1(node2.type === \"listItem\");\n node2.checked = token.type === \"taskListCheckValueChecked\";\n}\nfunction exitParagraphWithTaskListItem(token) {\n const parent = this.stack[this.stack.length - 2];\n if (parent && parent.type === \"listItem\" && typeof parent.checked === \"boolean\") {\n const node2 = this.stack[this.stack.length - 1];\n ok$1(node2.type === \"paragraph\");\n const head = node2.children[0];\n if (head && head.type === \"text\") {\n const siblings = parent.children;\n let index = -1;\n let firstParaghraph;\n while (++index < siblings.length) {\n const sibling = siblings[index];\n if (sibling.type === \"paragraph\") {\n firstParaghraph = sibling;\n break;\n }\n }\n if (firstParaghraph === node2) {\n head.value = head.value.slice(1);\n if (head.value.length === 0) {\n node2.children.shift();\n } else if (node2.position && head.position && typeof head.position.start.offset === \"number\") {\n head.position.start.column++;\n head.position.start.offset++;\n node2.position.start = Object.assign({}, head.position.start);\n }\n }\n }\n }\n this.exit(token);\n}\nfunction listItemWithTaskListItem(node2, parent, state, info) {\n const head = node2.children[0];\n const checkable = typeof node2.checked === \"boolean\" && head && head.type === \"paragraph\";\n const checkbox = \"[\" + (node2.checked ? \"x\" : \" \") + \"] \";\n const tracker = state.createTracker(info);\n if (checkable) {\n tracker.move(checkbox);\n }\n let value = handle.listItem(node2, parent, state, {\n ...info,\n ...tracker.current()\n });\n if (checkable) {\n value = value.replace(/^(?:[*+-]|\\d+\\.)([\\r\\n]| {1,3})/, check);\n }\n return value;\n function check($0) {\n return $0 + checkbox;\n }\n}\nfunction gfmFromMarkdown() {\n return [\n gfmAutolinkLiteralFromMarkdown(),\n gfmFootnoteFromMarkdown(),\n gfmStrikethroughFromMarkdown(),\n gfmTableFromMarkdown(),\n gfmTaskListItemFromMarkdown()\n ];\n}\nfunction gfmToMarkdown(options) {\n return {\n extensions: [\n gfmAutolinkLiteralToMarkdown(),\n gfmFootnoteToMarkdown(),\n gfmStrikethroughToMarkdown(),\n gfmTableToMarkdown(options),\n gfmTaskListItemToMarkdown()\n ]\n };\n}\nfunction splice(list2, start, remove, items) {\n const end = list2.length;\n let chunkStart = 0;\n let parameters;\n if (start < 0) {\n start = -start > end ? 0 : end + start;\n } else {\n start = start > end ? end : start;\n }\n remove = remove > 0 ? remove : 0;\n if (items.length < 1e4) {\n parameters = Array.from(items);\n parameters.unshift(start, remove);\n list2.splice(...parameters);\n } else {\n if (remove) list2.splice(start, remove);\n while (chunkStart < items.length) {\n parameters = items.slice(chunkStart, chunkStart + 1e4);\n parameters.unshift(start, 0);\n list2.splice(...parameters);\n chunkStart += 1e4;\n start += 1e4;\n }\n }\n}\nconst hasOwnProperty = {}.hasOwnProperty;\nfunction combineExtensions(extensions) {\n const all2 = {};\n let index = -1;\n while (++index < extensions.length) {\n syntaxExtension(all2, extensions[index]);\n }\n return all2;\n}\nfunction syntaxExtension(all2, extension) {\n let hook;\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all2, hook) ? all2[hook] : void 0;\n const left = maybe || (all2[hook] = {});\n const right = extension[hook];\n let code2;\n if (right) {\n for (code2 in right) {\n if (!hasOwnProperty.call(left, code2)) left[code2] = [];\n const value = right[code2];\n constructs(\n // @ts-expect-error Looks like a list.\n left[code2],\n Array.isArray(value) ? value : value ? [value] : []\n );\n }\n }\n }\n}\nfunction constructs(existing, list2) {\n let index = -1;\n const before = [];\n while (++index < list2.length) {\n (list2[index].add === \"after\" ? existing : before).push(list2[index]);\n }\n splice(existing, 0, 0, before);\n}\nconst wwwPrefix = {\n tokenize: tokenizeWwwPrefix,\n partial: true\n};\nconst domain = {\n tokenize: tokenizeDomain,\n partial: true\n};\nconst path = {\n tokenize: tokenizePath,\n partial: true\n};\nconst trail = {\n tokenize: tokenizeTrail,\n partial: true\n};\nconst emailDomainDotTrail = {\n tokenize: tokenizeEmailDomainDotTrail,\n partial: true\n};\nconst wwwAutolink = {\n tokenize: tokenizeWwwAutolink,\n previous: previousWww\n};\nconst protocolAutolink = {\n tokenize: tokenizeProtocolAutolink,\n previous: previousProtocol\n};\nconst emailAutolink = {\n tokenize: tokenizeEmailAutolink,\n previous: previousEmail\n};\nconst text = {};\nfunction gfmAutolinkLiteral() {\n return {\n text\n };\n}\nlet code = 48;\nwhile (code < 123) {\n text[code] = emailAutolink;\n code++;\n if (code === 58) code = 65;\n else if (code === 91) code = 97;\n}\ntext[43] = emailAutolink;\ntext[45] = emailAutolink;\ntext[46] = emailAutolink;\ntext[95] = emailAutolink;\ntext[72] = [emailAutolink, protocolAutolink];\ntext[104] = [emailAutolink, protocolAutolink];\ntext[87] = [emailAutolink, wwwAutolink];\ntext[119] = [emailAutolink, wwwAutolink];\nfunction tokenizeEmailAutolink(effects, ok2, nok) {\n const self = this;\n let dot;\n let data;\n return start;\n function start(code2) {\n if (!gfmAtext(code2) || !previousEmail.call(self, self.previous) || previousUnbalanced(self.events)) {\n return nok(code2);\n }\n effects.enter(\"literalAutolink\");\n effects.enter(\"literalAutolinkEmail\");\n return atext(code2);\n }\n function atext(code2) {\n if (gfmAtext(code2)) {\n effects.consume(code2);\n return atext;\n }\n if (code2 === 64) {\n effects.consume(code2);\n return emailDomain;\n }\n return nok(code2);\n }\n function emailDomain(code2) {\n if (code2 === 46) {\n return effects.check(\n emailDomainDotTrail,\n emailDomainAfter,\n emailDomainDot\n )(code2);\n }\n if (code2 === 45 || code2 === 95 || asciiAlphanumeric(code2)) {\n data = true;\n effects.consume(code2);\n return emailDomain;\n }\n return emailDomainAfter(code2);\n }\n function emailDomainDot(code2) {\n effects.consume(code2);\n dot = true;\n return emailDomain;\n }\n function emailDomainAfter(code2) {\n if (data && dot && asciiAlpha(self.previous)) {\n effects.exit(\"literalAutolinkEmail\");\n effects.exit(\"literalAutolink\");\n return ok2(code2);\n }\n return nok(code2);\n }\n}\nfunction tokenizeWwwAutolink(effects, ok2, nok) {\n const self = this;\n return wwwStart;\n function wwwStart(code2) {\n if (code2 !== 87 && code2 !== 119 || !previousWww.call(self, self.previous) || previousUnbalanced(self.events)) {\n return nok(code2);\n }\n effects.enter(\"literalAutolink\");\n effects.enter(\"literalAutolinkWww\");\n return effects.check(\n wwwPrefix,\n effects.attempt(domain, effects.attempt(path, wwwAfter), nok),\n nok\n )(code2);\n }\n function wwwAfter(code2) {\n effects.exit(\"literalAutolinkWww\");\n effects.exit(\"literalAutolink\");\n return ok2(code2);\n }\n}\nfunction tokenizeProtocolAutolink(effects, ok2, nok) {\n const self = this;\n let buffer = \"\";\n let seen = false;\n return protocolStart;\n function protocolStart(code2) {\n if ((code2 === 72 || code2 === 104) && previousProtocol.call(self, self.previous) && !previousUnbalanced(self.events)) {\n effects.enter(\"literalAutolink\");\n effects.enter(\"literalAutolinkHttp\");\n buffer += String.fromCodePoint(code2);\n effects.consume(code2);\n return protocolPrefixInside;\n }\n return nok(code2);\n }\n function protocolPrefixInside(code2) {\n if (asciiAlpha(code2) && buffer.length < 5) {\n buffer += String.fromCodePoint(code2);\n effects.consume(code2);\n return protocolPrefixInside;\n }\n if (code2 === 58) {\n const protocol = buffer.toLowerCase();\n if (protocol === \"http\" || protocol === \"https\") {\n effects.consume(code2);\n return protocolSlashesInside;\n }\n }\n return nok(code2);\n }\n function protocolSlashesInside(code2) {\n if (code2 === 47) {\n effects.consume(code2);\n if (seen) {\n return afterProtocol;\n }\n seen = true;\n return protocolSlashesInside;\n }\n return nok(code2);\n }\n function afterProtocol(code2) {\n return code2 === null || asciiControl(code2) || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2) || unicodePunctuation(code2) ? nok(code2) : effects.attempt(domain, effects.attempt(path, protocolAfter), nok)(code2);\n }\n function protocolAfter(code2) {\n effects.exit(\"literalAutolinkHttp\");\n effects.exit(\"literalAutolink\");\n return ok2(code2);\n }\n}\nfunction tokenizeWwwPrefix(effects, ok2, nok) {\n let size = 0;\n return wwwPrefixInside;\n function wwwPrefixInside(code2) {\n if ((code2 === 87 || code2 === 119) && size < 3) {\n size++;\n effects.consume(code2);\n return wwwPrefixInside;\n }\n if (code2 === 46 && size === 3) {\n effects.consume(code2);\n return wwwPrefixAfter;\n }\n return nok(code2);\n }\n function wwwPrefixAfter(code2) {\n return code2 === null ? nok(code2) : ok2(code2);\n }\n}\nfunction tokenizeDomain(effects, ok2, nok) {\n let underscoreInLastSegment;\n let underscoreInLastLastSegment;\n let seen;\n return domainInside;\n function domainInside(code2) {\n if (code2 === 46 || code2 === 95) {\n return effects.check(trail, domainAfter, domainAtPunctuation)(code2);\n }\n if (code2 === null || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2) || code2 !== 45 && unicodePunctuation(code2)) {\n return domainAfter(code2);\n }\n seen = true;\n effects.consume(code2);\n return domainInside;\n }\n function domainAtPunctuation(code2) {\n if (code2 === 95) {\n underscoreInLastSegment = true;\n } else {\n underscoreInLastLastSegment = underscoreInLastSegment;\n underscoreInLastSegment = void 0;\n }\n effects.consume(code2);\n return domainInside;\n }\n function domainAfter(code2) {\n if (underscoreInLastLastSegment || underscoreInLastSegment || !seen) {\n return nok(code2);\n }\n return ok2(code2);\n }\n}\nfunction tokenizePath(effects, ok2) {\n let sizeOpen = 0;\n let sizeClose = 0;\n return pathInside;\n function pathInside(code2) {\n if (code2 === 40) {\n sizeOpen++;\n effects.consume(code2);\n return pathInside;\n }\n if (code2 === 41 && sizeClose < sizeOpen) {\n return pathAtPunctuation(code2);\n }\n if (code2 === 33 || code2 === 34 || code2 === 38 || code2 === 39 || code2 === 41 || code2 === 42 || code2 === 44 || code2 === 46 || code2 === 58 || code2 === 59 || code2 === 60 || code2 === 63 || code2 === 93 || code2 === 95 || code2 === 126) {\n return effects.check(trail, ok2, pathAtPunctuation)(code2);\n }\n if (code2 === null || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2)) {\n return ok2(code2);\n }\n effects.consume(code2);\n return pathInside;\n }\n function pathAtPunctuation(code2) {\n if (code2 === 41) {\n sizeClose++;\n }\n effects.consume(code2);\n return pathInside;\n }\n}\nfunction tokenizeTrail(effects, ok2, nok) {\n return trail2;\n function trail2(code2) {\n if (code2 === 33 || code2 === 34 || code2 === 39 || code2 === 41 || code2 === 42 || code2 === 44 || code2 === 46 || code2 === 58 || code2 === 59 || code2 === 63 || code2 === 95 || code2 === 126) {\n effects.consume(code2);\n return trail2;\n }\n if (code2 === 38) {\n effects.consume(code2);\n return trailCharRefStart;\n }\n if (code2 === 93) {\n effects.consume(code2);\n return trailBracketAfter;\n }\n if (\n // `<` is an end.\n code2 === 60 || // So is whitespace.\n code2 === null || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2)\n ) {\n return ok2(code2);\n }\n return nok(code2);\n }\n function trailBracketAfter(code2) {\n if (code2 === null || code2 === 40 || code2 === 91 || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2)) {\n return ok2(code2);\n }\n return trail2(code2);\n }\n function trailCharRefStart(code2) {\n return asciiAlpha(code2) ? trailCharRefInside(code2) : nok(code2);\n }\n function trailCharRefInside(code2) {\n if (code2 === 59) {\n effects.consume(code2);\n return trail2;\n }\n if (asciiAlpha(code2)) {\n effects.consume(code2);\n return trailCharRefInside;\n }\n return nok(code2);\n }\n}\nfunction tokenizeEmailDomainDotTrail(effects, ok2, nok) {\n return start;\n function start(code2) {\n effects.consume(code2);\n return after;\n }\n function after(code2) {\n return asciiAlphanumeric(code2) ? nok(code2) : ok2(code2);\n }\n}\nfunction previousWww(code2) {\n return code2 === null || code2 === 40 || code2 === 42 || code2 === 95 || code2 === 91 || code2 === 93 || code2 === 126 || markdownLineEndingOrSpace(code2);\n}\nfunction previousProtocol(code2) {\n return !asciiAlpha(code2);\n}\nfunction previousEmail(code2) {\n return !(code2 === 47 || gfmAtext(code2));\n}\nfunction gfmAtext(code2) {\n return code2 === 43 || code2 === 45 || code2 === 46 || code2 === 95 || asciiAlphanumeric(code2);\n}\nfunction previousUnbalanced(events) {\n let index = events.length;\n let result = false;\n while (index--) {\n const token = events[index][1];\n if ((token.type === \"labelLink\" || token.type === \"labelImage\") && !token._balanced) {\n result = true;\n break;\n }\n if (token._gfmAutolinkLiteralWalkedInto) {\n result = false;\n break;\n }\n }\n if (events.length > 0 && !result) {\n events[events.length - 1][1]._gfmAutolinkLiteralWalkedInto = true;\n }\n return result;\n}\nfunction classifyCharacter(code2) {\n if (code2 === null || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2)) {\n return 1;\n }\n if (unicodePunctuation(code2)) {\n return 2;\n }\n}\nfunction resolveAll(constructs2, events, context) {\n const called = [];\n let index = -1;\n while (++index < constructs2.length) {\n const resolve = constructs2[index].resolveAll;\n if (resolve && !called.includes(resolve)) {\n events = resolve(events, context);\n called.push(resolve);\n }\n }\n return events;\n}\nfunction factorySpace(effects, ok2, type, max) {\n const limit = max ? max - 1 : Number.POSITIVE_INFINITY;\n let size = 0;\n return start;\n function start(code2) {\n if (markdownSpace(code2)) {\n effects.enter(type);\n return prefix(code2);\n }\n return ok2(code2);\n }\n function prefix(code2) {\n if (markdownSpace(code2) && size++ < limit) {\n effects.consume(code2);\n return prefix;\n }\n effects.exit(type);\n return ok2(code2);\n }\n}\nconst blankLine = {\n tokenize: tokenizeBlankLine,\n partial: true\n};\nfunction tokenizeBlankLine(effects, ok2, nok) {\n return start;\n function start(code2) {\n return markdownSpace(code2) ? factorySpace(effects, after, \"linePrefix\")(code2) : after(code2);\n }\n function after(code2) {\n return code2 === null || markdownLineEnding(code2) ? ok2(code2) : nok(code2);\n }\n}\nconst indent = {\n tokenize: tokenizeIndent,\n partial: true\n};\nfunction gfmFootnote() {\n return {\n document: {\n [91]: {\n tokenize: tokenizeDefinitionStart,\n continuation: {\n tokenize: tokenizeDefinitionContinuation\n },\n exit: gfmFootnoteDefinitionEnd\n }\n },\n text: {\n [91]: {\n tokenize: tokenizeGfmFootnoteCall\n },\n [93]: {\n add: \"after\",\n tokenize: tokenizePotentialGfmFootnoteCall,\n resolveTo: resolveToPotentialGfmFootnoteCall\n }\n }\n };\n}\nfunction tokenizePotentialGfmFootnoteCall(effects, ok2, nok) {\n const self = this;\n let index = self.events.length;\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = []);\n let labelStart;\n while (index--) {\n const token = self.events[index][1];\n if (token.type === \"labelImage\") {\n labelStart = token;\n break;\n }\n if (token.type === \"gfmFootnoteCall\" || token.type === \"labelLink\" || token.type === \"label\" || token.type === \"image\" || token.type === \"link\") {\n break;\n }\n }\n return start;\n function start(code2) {\n if (!labelStart || !labelStart._balanced) {\n return nok(code2);\n }\n const id = normalizeIdentifier(\n self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })\n );\n if (id.codePointAt(0) !== 94 || !defined.includes(id.slice(1))) {\n return nok(code2);\n }\n effects.enter(\"gfmFootnoteCallLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteCallLabelMarker\");\n return ok2(code2);\n }\n}\nfunction resolveToPotentialGfmFootnoteCall(events, context) {\n let index = events.length;\n while (index--) {\n if (events[index][1].type === \"labelImage\" && events[index][0] === \"enter\") {\n events[index][1];\n break;\n }\n }\n events[index + 1][1].type = \"data\";\n events[index + 3][1].type = \"gfmFootnoteCallLabelMarker\";\n const call = {\n type: \"gfmFootnoteCall\",\n start: Object.assign({}, events[index + 3][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n };\n const marker = {\n type: \"gfmFootnoteCallMarker\",\n start: Object.assign({}, events[index + 3][1].end),\n end: Object.assign({}, events[index + 3][1].end)\n };\n marker.end.column++;\n marker.end.offset++;\n marker.end._bufferIndex++;\n const string = {\n type: \"gfmFootnoteCallString\",\n start: Object.assign({}, marker.end),\n end: Object.assign({}, events[events.length - 1][1].start)\n };\n const chunk = {\n type: \"chunkString\",\n contentType: \"string\",\n start: Object.assign({}, string.start),\n end: Object.assign({}, string.end)\n };\n const replacement = [\n // Take the `labelImageMarker` (now `data`, the `!`)\n events[index + 1],\n events[index + 2],\n [\"enter\", call, context],\n // The `[`\n events[index + 3],\n events[index + 4],\n // The `^`.\n [\"enter\", marker, context],\n [\"exit\", marker, context],\n // Everything in between.\n [\"enter\", string, context],\n [\"enter\", chunk, context],\n [\"exit\", chunk, context],\n [\"exit\", string, context],\n // The ending (`]`, properly parsed and labelled).\n events[events.length - 2],\n events[events.length - 1],\n [\"exit\", call, context]\n ];\n events.splice(index, events.length - index + 1, ...replacement);\n return events;\n}\nfunction tokenizeGfmFootnoteCall(effects, ok2, nok) {\n const self = this;\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = []);\n let size = 0;\n let data;\n return start;\n function start(code2) {\n effects.enter(\"gfmFootnoteCall\");\n effects.enter(\"gfmFootnoteCallLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteCallLabelMarker\");\n return callStart;\n }\n function callStart(code2) {\n if (code2 !== 94) return nok(code2);\n effects.enter(\"gfmFootnoteCallMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteCallMarker\");\n effects.enter(\"gfmFootnoteCallString\");\n effects.enter(\"chunkString\").contentType = \"string\";\n return callData;\n }\n function callData(code2) {\n if (\n // Too long.\n size > 999 || // Closing brace with nothing.\n code2 === 93 && !data || // Space or tab is not supported by GFM for some reason.\n // `\\n` and `[` not being supported makes sense.\n code2 === null || code2 === 91 || markdownLineEndingOrSpace(code2)\n ) {\n return nok(code2);\n }\n if (code2 === 93) {\n effects.exit(\"chunkString\");\n const token = effects.exit(\"gfmFootnoteCallString\");\n if (!defined.includes(normalizeIdentifier(self.sliceSerialize(token)))) {\n return nok(code2);\n }\n effects.enter(\"gfmFootnoteCallLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteCallLabelMarker\");\n effects.exit(\"gfmFootnoteCall\");\n return ok2;\n }\n if (!markdownLineEndingOrSpace(code2)) {\n data = true;\n }\n size++;\n effects.consume(code2);\n return code2 === 92 ? callEscape : callData;\n }\n function callEscape(code2) {\n if (code2 === 91 || code2 === 92 || code2 === 93) {\n effects.consume(code2);\n size++;\n return callData;\n }\n return callData(code2);\n }\n}\nfunction tokenizeDefinitionStart(effects, ok2, nok) {\n const self = this;\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = []);\n let identifier;\n let size = 0;\n let data;\n return start;\n function start(code2) {\n effects.enter(\"gfmFootnoteDefinition\")._container = true;\n effects.enter(\"gfmFootnoteDefinitionLabel\");\n effects.enter(\"gfmFootnoteDefinitionLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteDefinitionLabelMarker\");\n return labelAtMarker;\n }\n function labelAtMarker(code2) {\n if (code2 === 94) {\n effects.enter(\"gfmFootnoteDefinitionMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteDefinitionMarker\");\n effects.enter(\"gfmFootnoteDefinitionLabelString\");\n effects.enter(\"chunkString\").contentType = \"string\";\n return labelInside;\n }\n return nok(code2);\n }\n function labelInside(code2) {\n if (\n // Too long.\n size > 999 || // Closing brace with nothing.\n code2 === 93 && !data || // Space or tab is not supported by GFM for some reason.\n // `\\n` and `[` not being supported makes sense.\n code2 === null || code2 === 91 || markdownLineEndingOrSpace(code2)\n ) {\n return nok(code2);\n }\n if (code2 === 93) {\n effects.exit(\"chunkString\");\n const token = effects.exit(\"gfmFootnoteDefinitionLabelString\");\n identifier = normalizeIdentifier(self.sliceSerialize(token));\n effects.enter(\"gfmFootnoteDefinitionLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteDefinitionLabelMarker\");\n effects.exit(\"gfmFootnoteDefinitionLabel\");\n return labelAfter;\n }\n if (!markdownLineEndingOrSpace(code2)) {\n data = true;\n }\n size++;\n effects.consume(code2);\n return code2 === 92 ? labelEscape : labelInside;\n }\n function labelEscape(code2) {\n if (code2 === 91 || code2 === 92 || code2 === 93) {\n effects.consume(code2);\n size++;\n return labelInside;\n }\n return labelInside(code2);\n }\n function labelAfter(code2) {\n if (code2 === 58) {\n effects.enter(\"definitionMarker\");\n effects.consume(code2);\n effects.exit(\"definitionMarker\");\n if (!defined.includes(identifier)) {\n defined.push(identifier);\n }\n return factorySpace(\n effects,\n whitespaceAfter,\n \"gfmFootnoteDefinitionWhitespace\"\n );\n }\n return nok(code2);\n }\n function whitespaceAfter(code2) {\n return ok2(code2);\n }\n}\nfunction tokenizeDefinitionContinuation(effects, ok2, nok) {\n return effects.check(blankLine, ok2, effects.attempt(indent, ok2, nok));\n}\nfunction gfmFootnoteDefinitionEnd(effects) {\n effects.exit(\"gfmFootnoteDefinition\");\n}\nfunction tokenizeIndent(effects, ok2, nok) {\n const self = this;\n return factorySpace(\n effects,\n afterPrefix,\n \"gfmFootnoteDefinitionIndent\",\n 4 + 1\n );\n function afterPrefix(code2) {\n const tail = self.events[self.events.length - 1];\n return tail && tail[1].type === \"gfmFootnoteDefinitionIndent\" && tail[2].sliceSerialize(tail[1], true).length === 4 ? ok2(code2) : nok(code2);\n }\n}\nfunction gfmStrikethrough(options) {\n const options_ = options || {};\n let single = options_.singleTilde;\n const tokenizer = {\n tokenize: tokenizeStrikethrough,\n resolveAll: resolveAllStrikethrough\n };\n if (single === null || single === void 0) {\n single = true;\n }\n return {\n text: {\n [126]: tokenizer\n },\n insideSpan: {\n null: [tokenizer]\n },\n attentionMarkers: {\n null: [126]\n }\n };\n function resolveAllStrikethrough(events, context) {\n let index = -1;\n while (++index < events.length) {\n if (events[index][0] === \"enter\" && events[index][1].type === \"strikethroughSequenceTemporary\" && events[index][1]._close) {\n let open = index;\n while (open--) {\n if (events[open][0] === \"exit\" && events[open][1].type === \"strikethroughSequenceTemporary\" && events[open][1]._open && // If the sizes are the same:\n events[index][1].end.offset - events[index][1].start.offset === events[open][1].end.offset - events[open][1].start.offset) {\n events[index][1].type = \"strikethroughSequence\";\n events[open][1].type = \"strikethroughSequence\";\n const strikethrough = {\n type: \"strikethrough\",\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[index][1].end)\n };\n const text2 = {\n type: \"strikethroughText\",\n start: Object.assign({}, events[open][1].end),\n end: Object.assign({}, events[index][1].start)\n };\n const nextEvents = [\n [\"enter\", strikethrough, context],\n [\"enter\", events[open][1], context],\n [\"exit\", events[open][1], context],\n [\"enter\", text2, context]\n ];\n const insideSpan = context.parser.constructs.insideSpan.null;\n if (insideSpan) {\n splice(\n nextEvents,\n nextEvents.length,\n 0,\n resolveAll(insideSpan, events.slice(open + 1, index), context)\n );\n }\n splice(nextEvents, nextEvents.length, 0, [\n [\"exit\", text2, context],\n [\"enter\", events[index][1], context],\n [\"exit\", events[index][1], context],\n [\"exit\", strikethrough, context]\n ]);\n splice(events, open - 1, index - open + 3, nextEvents);\n index = open + nextEvents.length - 2;\n break;\n }\n }\n }\n }\n index = -1;\n while (++index < events.length) {\n if (events[index][1].type === \"strikethroughSequenceTemporary\") {\n events[index][1].type = \"data\";\n }\n }\n return events;\n }\n function tokenizeStrikethrough(effects, ok2, nok) {\n const previous2 = this.previous;\n const events = this.events;\n let size = 0;\n return start;\n function start(code2) {\n if (previous2 === 126 && events[events.length - 1][1].type !== \"characterEscape\") {\n return nok(code2);\n }\n effects.enter(\"strikethroughSequenceTemporary\");\n return more(code2);\n }\n function more(code2) {\n const before = classifyCharacter(previous2);\n if (code2 === 126) {\n if (size > 1) return nok(code2);\n effects.consume(code2);\n size++;\n return more;\n }\n if (size < 2 && !single) return nok(code2);\n const token = effects.exit(\"strikethroughSequenceTemporary\");\n const after = classifyCharacter(code2);\n token._open = !after || after === 2 && Boolean(before);\n token._close = !before || before === 2 && Boolean(after);\n return ok2(code2);\n }\n }\n}\nclass EditMap {\n /**\n * Create a new edit map.\n */\n constructor() {\n this.map = [];\n }\n /**\n * Create an edit: a remove and/or add at a certain place.\n *\n * @param {number} index\n * @param {number} remove\n * @param {Array} add\n * @returns {undefined}\n */\n add(index, remove, add) {\n addImpl(this, index, remove, add);\n }\n // To do: add this when moving to `micromark`.\n // /**\n // * Create an edit: but insert `add` before existing additions.\n // *\n // * @param {number} index\n // * @param {number} remove\n // * @param {Array} add\n // * @returns {undefined}\n // */\n // addBefore(index, remove, add) {\n // addImpl(this, index, remove, add, true)\n // }\n /**\n * Done, change the events.\n *\n * @param {Array} events\n * @returns {undefined}\n */\n consume(events) {\n this.map.sort(function(a, b) {\n return a[0] - b[0];\n });\n if (this.map.length === 0) {\n return;\n }\n let index = this.map.length;\n const vecs = [];\n while (index > 0) {\n index -= 1;\n vecs.push(\n events.slice(this.map[index][0] + this.map[index][1]),\n this.map[index][2]\n );\n events.length = this.map[index][0];\n }\n vecs.push([...events]);\n events.length = 0;\n let slice = vecs.pop();\n while (slice) {\n events.push(...slice);\n slice = vecs.pop();\n }\n this.map.length = 0;\n }\n}\nfunction addImpl(editMap, at, remove, add) {\n let index = 0;\n if (remove === 0 && add.length === 0) {\n return;\n }\n while (index < editMap.map.length) {\n if (editMap.map[index][0] === at) {\n editMap.map[index][1] += remove;\n editMap.map[index][2].push(...add);\n return;\n }\n index += 1;\n }\n editMap.map.push([at, remove, add]);\n}\nfunction gfmTableAlign(events, index) {\n let inDelimiterRow = false;\n const align = [];\n while (index < events.length) {\n const event = events[index];\n if (inDelimiterRow) {\n if (event[0] === \"enter\") {\n if (event[1].type === \"tableContent\") {\n align.push(\n events[index + 1][1].type === \"tableDelimiterMarker\" ? \"left\" : \"none\"\n );\n }\n } else if (event[1].type === \"tableContent\") {\n if (events[index - 1][1].type === \"tableDelimiterMarker\") {\n const alignIndex = align.length - 1;\n align[alignIndex] = align[alignIndex] === \"left\" ? \"center\" : \"right\";\n }\n } else if (event[1].type === \"tableDelimiterRow\") {\n break;\n }\n } else if (event[0] === \"enter\" && event[1].type === \"tableDelimiterRow\") {\n inDelimiterRow = true;\n }\n index += 1;\n }\n return align;\n}\nfunction gfmTable() {\n return {\n flow: {\n null: {\n tokenize: tokenizeTable,\n resolveAll: resolveTable\n }\n }\n };\n}\nfunction tokenizeTable(effects, ok2, nok) {\n const self = this;\n let size = 0;\n let sizeB = 0;\n let seen;\n return start;\n function start(code2) {\n let index = self.events.length - 1;\n while (index > -1) {\n const type = self.events[index][1].type;\n if (type === \"lineEnding\" || // Note: markdown-rs uses `whitespace` instead of `linePrefix`\n type === \"linePrefix\")\n index--;\n else break;\n }\n const tail = index > -1 ? self.events[index][1].type : null;\n const next = tail === \"tableHead\" || tail === \"tableRow\" ? bodyRowStart : headRowBefore;\n if (next === bodyRowStart && self.parser.lazy[self.now().line]) {\n return nok(code2);\n }\n return next(code2);\n }\n function headRowBefore(code2) {\n effects.enter(\"tableHead\");\n effects.enter(\"tableRow\");\n return headRowStart(code2);\n }\n function headRowStart(code2) {\n if (code2 === 124) {\n return headRowBreak(code2);\n }\n seen = true;\n sizeB += 1;\n return headRowBreak(code2);\n }\n function headRowBreak(code2) {\n if (code2 === null) {\n return nok(code2);\n }\n if (markdownLineEnding(code2)) {\n if (sizeB > 1) {\n sizeB = 0;\n self.interrupt = true;\n effects.exit(\"tableRow\");\n effects.enter(\"lineEnding\");\n effects.consume(code2);\n effects.exit(\"lineEnding\");\n return headDelimiterStart;\n }\n return nok(code2);\n }\n if (markdownSpace(code2)) {\n return factorySpace(effects, headRowBreak, \"whitespace\")(code2);\n }\n sizeB += 1;\n if (seen) {\n seen = false;\n size += 1;\n }\n if (code2 === 124) {\n effects.enter(\"tableCellDivider\");\n effects.consume(code2);\n effects.exit(\"tableCellDivider\");\n seen = true;\n return headRowBreak;\n }\n effects.enter(\"data\");\n return headRowData(code2);\n }\n function headRowData(code2) {\n if (code2 === null || code2 === 124 || markdownLineEndingOrSpace(code2)) {\n effects.exit(\"data\");\n return headRowBreak(code2);\n }\n effects.consume(code2);\n return code2 === 92 ? headRowEscape : headRowData;\n }\n function headRowEscape(code2) {\n if (code2 === 92 || code2 === 124) {\n effects.consume(code2);\n return headRowData;\n }\n return headRowData(code2);\n }\n function headDelimiterStart(code2) {\n self.interrupt = false;\n if (self.parser.lazy[self.now().line]) {\n return nok(code2);\n }\n effects.enter(\"tableDelimiterRow\");\n seen = false;\n if (markdownSpace(code2)) {\n return factorySpace(\n effects,\n headDelimiterBefore,\n \"linePrefix\",\n self.parser.constructs.disable.null.includes(\"codeIndented\") ? void 0 : 4\n )(code2);\n }\n return headDelimiterBefore(code2);\n }\n function headDelimiterBefore(code2) {\n if (code2 === 45 || code2 === 58) {\n return headDelimiterValueBefore(code2);\n }\n if (code2 === 124) {\n seen = true;\n effects.enter(\"tableCellDivider\");\n effects.consume(code2);\n effects.exit(\"tableCellDivider\");\n return headDelimiterCellBefore;\n }\n return headDelimiterNok(code2);\n }\n function headDelimiterCellBefore(code2) {\n if (markdownSpace(code2)) {\n return factorySpace(effects, headDelimiterValueBefore, \"whitespace\")(code2);\n }\n return headDelimiterValueBefore(code2);\n }\n function headDelimiterValueBefore(code2) {\n if (code2 === 58) {\n sizeB += 1;\n seen = true;\n effects.enter(\"tableDelimiterMarker\");\n effects.consume(code2);\n effects.exit(\"tableDelimiterMarker\");\n return headDelimiterLeftAlignmentAfter;\n }\n if (code2 === 45) {\n sizeB += 1;\n return headDelimiterLeftAlignmentAfter(code2);\n }\n if (code2 === null || markdownLineEnding(code2)) {\n return headDelimiterCellAfter(code2);\n }\n return headDelimiterNok(code2);\n }\n function headDelimiterLeftAlignmentAfter(code2) {\n if (code2 === 45) {\n effects.enter(\"tableDelimiterFiller\");\n return headDelimiterFiller(code2);\n }\n return headDelimiterNok(code2);\n }\n function headDelimiterFiller(code2) {\n if (code2 === 45) {\n effects.consume(code2);\n return headDelimiterFiller;\n }\n if (code2 === 58) {\n seen = true;\n effects.exit(\"tableDelimiterFiller\");\n effects.enter(\"tableDelimiterMarker\");\n effects.consume(code2);\n effects.exit(\"tableDelimiterMarker\");\n return headDelimiterRightAlignmentAfter;\n }\n effects.exit(\"tableDelimiterFiller\");\n return headDelimiterRightAlignmentAfter(code2);\n }\n function headDelimiterRightAlignmentAfter(code2) {\n if (markdownSpace(code2)) {\n return factorySpace(effects, headDelimiterCellAfter, \"whitespace\")(code2);\n }\n return headDelimiterCellAfter(code2);\n }\n function headDelimiterCellAfter(code2) {\n if (code2 === 124) {\n return headDelimiterBefore(code2);\n }\n if (code2 === null || markdownLineEnding(code2)) {\n if (!seen || size !== sizeB) {\n return headDelimiterNok(code2);\n }\n effects.exit(\"tableDelimiterRow\");\n effects.exit(\"tableHead\");\n return ok2(code2);\n }\n return headDelimiterNok(code2);\n }\n function headDelimiterNok(code2) {\n return nok(code2);\n }\n function bodyRowStart(code2) {\n effects.enter(\"tableRow\");\n return bodyRowBreak(code2);\n }\n function bodyRowBreak(code2) {\n if (code2 === 124) {\n effects.enter(\"tableCellDivider\");\n effects.consume(code2);\n effects.exit(\"tableCellDivider\");\n return bodyRowBreak;\n }\n if (code2 === null || markdownLineEnding(code2)) {\n effects.exit(\"tableRow\");\n return ok2(code2);\n }\n if (markdownSpace(code2)) {\n return factorySpace(effects, bodyRowBreak, \"whitespace\")(code2);\n }\n effects.enter(\"data\");\n return bodyRowData(code2);\n }\n function bodyRowData(code2) {\n if (code2 === null || code2 === 124 || markdownLineEndingOrSpace(code2)) {\n effects.exit(\"data\");\n return bodyRowBreak(code2);\n }\n effects.consume(code2);\n return code2 === 92 ? bodyRowEscape : bodyRowData;\n }\n function bodyRowEscape(code2) {\n if (code2 === 92 || code2 === 124) {\n effects.consume(code2);\n return bodyRowData;\n }\n return bodyRowData(code2);\n }\n}\nfunction resolveTable(events, context) {\n let index = -1;\n let inFirstCellAwaitingPipe = true;\n let rowKind = 0;\n let lastCell = [0, 0, 0, 0];\n let cell = [0, 0, 0, 0];\n let afterHeadAwaitingFirstBodyRow = false;\n let lastTableEnd = 0;\n let currentTable;\n let currentBody;\n let currentCell;\n const map2 = new EditMap();\n while (++index < events.length) {\n const event = events[index];\n const token = event[1];\n if (event[0] === \"enter\") {\n if (token.type === \"tableHead\") {\n afterHeadAwaitingFirstBodyRow = false;\n if (lastTableEnd !== 0) {\n flushTableEnd(map2, context, lastTableEnd, currentTable, currentBody);\n currentBody = void 0;\n lastTableEnd = 0;\n }\n currentTable = {\n type: \"table\",\n start: Object.assign({}, token.start),\n // Note: correct end is set later.\n end: Object.assign({}, token.end)\n };\n map2.add(index, 0, [[\"enter\", currentTable, context]]);\n } else if (token.type === \"tableRow\" || token.type === \"tableDelimiterRow\") {\n inFirstCellAwaitingPipe = true;\n currentCell = void 0;\n lastCell = [0, 0, 0, 0];\n cell = [0, index + 1, 0, 0];\n if (afterHeadAwaitingFirstBodyRow) {\n afterHeadAwaitingFirstBodyRow = false;\n currentBody = {\n type: \"tableBody\",\n start: Object.assign({}, token.start),\n // Note: correct end is set later.\n end: Object.assign({}, token.end)\n };\n map2.add(index, 0, [[\"enter\", currentBody, context]]);\n }\n rowKind = token.type === \"tableDelimiterRow\" ? 2 : currentBody ? 3 : 1;\n } else if (rowKind && (token.type === \"data\" || token.type === \"tableDelimiterMarker\" || token.type === \"tableDelimiterFiller\")) {\n inFirstCellAwaitingPipe = false;\n if (cell[2] === 0) {\n if (lastCell[1] !== 0) {\n cell[0] = cell[1];\n currentCell = flushCell(\n map2,\n context,\n lastCell,\n rowKind,\n void 0,\n currentCell\n );\n lastCell = [0, 0, 0, 0];\n }\n cell[2] = index;\n }\n } else if (token.type === \"tableCellDivider\") {\n if (inFirstCellAwaitingPipe) {\n inFirstCellAwaitingPipe = false;\n } else {\n if (lastCell[1] !== 0) {\n cell[0] = cell[1];\n currentCell = flushCell(\n map2,\n context,\n lastCell,\n rowKind,\n void 0,\n currentCell\n );\n }\n lastCell = cell;\n cell = [lastCell[1], index, 0, 0];\n }\n }\n } else if (token.type === \"tableHead\") {\n afterHeadAwaitingFirstBodyRow = true;\n lastTableEnd = index;\n } else if (token.type === \"tableRow\" || token.type === \"tableDelimiterRow\") {\n lastTableEnd = index;\n if (lastCell[1] !== 0) {\n cell[0] = cell[1];\n currentCell = flushCell(\n map2,\n context,\n lastCell,\n rowKind,\n index,\n currentCell\n );\n } else if (cell[1] !== 0) {\n currentCell = flushCell(map2, context, cell, rowKind, index, currentCell);\n }\n rowKind = 0;\n } else if (rowKind && (token.type === \"data\" || token.type === \"tableDelimiterMarker\" || token.type === \"tableDelimiterFiller\")) {\n cell[3] = index;\n }\n }\n if (lastTableEnd !== 0) {\n flushTableEnd(map2, context, lastTableEnd, currentTable, currentBody);\n }\n map2.consume(context.events);\n index = -1;\n while (++index < context.events.length) {\n const event = context.events[index];\n if (event[0] === \"enter\" && event[1].type === \"table\") {\n event[1]._align = gfmTableAlign(context.events, index);\n }\n }\n return events;\n}\nfunction flushCell(map2, context, range, rowKind, rowEnd, previousCell) {\n const groupName = rowKind === 1 ? \"tableHeader\" : rowKind === 2 ? \"tableDelimiter\" : \"tableData\";\n const valueName = \"tableContent\";\n if (range[0] !== 0) {\n previousCell.end = Object.assign({}, getPoint(context.events, range[0]));\n map2.add(range[0], 0, [[\"exit\", previousCell, context]]);\n }\n const now = getPoint(context.events, range[1]);\n previousCell = {\n type: groupName,\n start: Object.assign({}, now),\n // Note: correct end is set later.\n end: Object.assign({}, now)\n };\n map2.add(range[1], 0, [[\"enter\", previousCell, context]]);\n if (range[2] !== 0) {\n const relatedStart = getPoint(context.events, range[2]);\n const relatedEnd = getPoint(context.events, range[3]);\n const valueToken = {\n type: valueName,\n start: Object.assign({}, relatedStart),\n end: Object.assign({}, relatedEnd)\n };\n map2.add(range[2], 0, [[\"enter\", valueToken, context]]);\n if (rowKind !== 2) {\n const start = context.events[range[2]];\n const end = context.events[range[3]];\n start[1].end = Object.assign({}, end[1].end);\n start[1].type = \"chunkText\";\n start[1].contentType = \"text\";\n if (range[3] > range[2] + 1) {\n const a = range[2] + 1;\n const b = range[3] - range[2] - 1;\n map2.add(a, b, []);\n }\n }\n map2.add(range[3] + 1, 0, [[\"exit\", valueToken, context]]);\n }\n if (rowEnd !== void 0) {\n previousCell.end = Object.assign({}, getPoint(context.events, rowEnd));\n map2.add(rowEnd, 0, [[\"exit\", previousCell, context]]);\n previousCell = void 0;\n }\n return previousCell;\n}\nfunction flushTableEnd(map2, context, index, table, tableBody) {\n const exits = [];\n const related = getPoint(context.events, index);\n if (tableBody) {\n tableBody.end = Object.assign({}, related);\n exits.push([\"exit\", tableBody, context]);\n }\n table.end = Object.assign({}, related);\n exits.push([\"exit\", table, context]);\n map2.add(index + 1, 0, exits);\n}\nfunction getPoint(events, index) {\n const event = events[index];\n const side = event[0] === \"enter\" ? \"start\" : \"end\";\n return event[1][side];\n}\nconst tasklistCheck = {\n tokenize: tokenizeTasklistCheck\n};\nfunction gfmTaskListItem() {\n return {\n text: {\n [91]: tasklistCheck\n }\n };\n}\nfunction tokenizeTasklistCheck(effects, ok2, nok) {\n const self = this;\n return open;\n function open(code2) {\n if (\n // Exit if there’s stuff before.\n self.previous !== null || // Exit if not in the first content that is the first child of a list\n // item.\n !self._gfmTasklistFirstContentOfListItem\n ) {\n return nok(code2);\n }\n effects.enter(\"taskListCheck\");\n effects.enter(\"taskListCheckMarker\");\n effects.consume(code2);\n effects.exit(\"taskListCheckMarker\");\n return inside;\n }\n function inside(code2) {\n if (markdownLineEndingOrSpace(code2)) {\n effects.enter(\"taskListCheckValueUnchecked\");\n effects.consume(code2);\n effects.exit(\"taskListCheckValueUnchecked\");\n return close;\n }\n if (code2 === 88 || code2 === 120) {\n effects.enter(\"taskListCheckValueChecked\");\n effects.consume(code2);\n effects.exit(\"taskListCheckValueChecked\");\n return close;\n }\n return nok(code2);\n }\n function close(code2) {\n if (code2 === 93) {\n effects.enter(\"taskListCheckMarker\");\n effects.consume(code2);\n effects.exit(\"taskListCheckMarker\");\n effects.exit(\"taskListCheck\");\n return after;\n }\n return nok(code2);\n }\n function after(code2) {\n if (markdownLineEnding(code2)) {\n return ok2(code2);\n }\n if (markdownSpace(code2)) {\n return effects.check(\n {\n tokenize: spaceThenNonSpace\n },\n ok2,\n nok\n )(code2);\n }\n return nok(code2);\n }\n}\nfunction spaceThenNonSpace(effects, ok2, nok) {\n return factorySpace(effects, after, \"whitespace\");\n function after(code2) {\n return code2 === null ? nok(code2) : ok2(code2);\n }\n}\nfunction gfm(options) {\n return combineExtensions([\n gfmAutolinkLiteral(),\n gfmFootnote(),\n gfmStrikethrough(options),\n gfmTable(),\n gfmTaskListItem()\n ]);\n}\nconst emptyOptions = {};\nfunction remarkGfm(options) {\n const self = (\n /** @type {Processor} */\n this\n );\n const settings = options || emptyOptions;\n const data = self.data();\n const micromarkExtensions = data.micromarkExtensions || (data.micromarkExtensions = []);\n const fromMarkdownExtensions = data.fromMarkdownExtensions || (data.fromMarkdownExtensions = []);\n const toMarkdownExtensions = data.toMarkdownExtensions || (data.toMarkdownExtensions = []);\n micromarkExtensions.push(gfm(settings));\n fromMarkdownExtensions.push(gfmFromMarkdown());\n toMarkdownExtensions.push(gfmToMarkdown(settings));\n}\nconst rehypeHighlight = ref(null);\nasync function importRehypeHighlightLibrary() {\n const module = await import(\"rehype-highlight\");\n rehypeHighlight.value = module.default;\n}\nconst _sfc_main = {\n name: \"NcRichText\",\n components: {\n NcReferenceList\n },\n props: {\n text: {\n type: String,\n default: \"\"\n },\n arguments: {\n type: Object,\n default: () => {\n return {};\n }\n },\n referenceLimit: {\n type: Number,\n default: 0\n },\n referenceInteractive: {\n type: Boolean,\n default: true\n },\n referenceInteractiveOptIn: {\n type: Boolean,\n default: false\n },\n /** Provide data upfront to avoid extra http request */\n references: {\n type: Array,\n default: null\n },\n /** Provide basic Markdown syntax */\n useMarkdown: {\n type: Boolean,\n default: false\n },\n /** Provide GitHub Flavored Markdown syntax */\n useExtendedMarkdown: {\n type: Boolean,\n default: false\n },\n /** Provide event from rendered markdown inputs */\n interactive: {\n type: Boolean,\n default: false\n },\n autolink: {\n type: Boolean,\n default: true\n }\n },\n emits: [\"interact:todo\"],\n data() {\n return {\n parentId: GenRandomId(5)\n };\n },\n methods: {\n renderPlaintext(h) {\n const context = this;\n const placeholders = this.text.split(/(\\{[a-z\\-_.0-9]+\\})/ig).map(function(entry, index, list2) {\n const matches = entry.match(/^\\{([a-z\\-_.0-9]+)\\}$/i);\n if (!matches) {\n return prepareTextNode({ h, context }, entry);\n }\n const argumentId = matches[1];\n const argument = context.arguments[argumentId];\n if (typeof argument === \"object\") {\n const { component, props } = argument;\n return h(component, {\n props,\n class: \"rich-text--component\"\n });\n }\n if (argument) {\n return h(\"span\", { class: \"rich-text--fallback\" }, argument);\n }\n return entry;\n });\n return h(\"div\", { class: \"rich-text--wrapper\" }, [\n h(\"div\", {}, placeholders.flat()),\n this.referenceLimit > 0 ? h(\"div\", { class: \"rich-text--reference-widget\" }, [\n h(NcReferenceList, {\n props: {\n text: this.text,\n referenceData: this.references,\n interactive: this.referenceInteractive,\n interactiveOptIn: this.referenceInteractiveOptIn\n }\n })\n ]) : null\n ]);\n },\n renderMarkdown(h) {\n const renderedMarkdown = unified().use(remarkParse).use(remarkAutolink, {\n autolink: this.autolink,\n useMarkdown: this.useMarkdown,\n useExtendedMarkdown: this.useExtendedMarkdown\n }).use(remarkUnescape).use(this.useExtendedMarkdown ? remarkGfm : void 0).use(breaks).use(remark2rehype, {\n handlers: {\n component(toHast, node2) {\n return toHast(node2, node2.component, { value: node2.value });\n }\n }\n }).use(this.useExtendedMarkdown ? rehypeHighlight.value : void 0).use(remarkPlaceholder).use(rehypeExternalLinks, {\n target: \"_blank\",\n rel: [\"noopener noreferrer\"]\n }).use(rehype2react, {\n createElement: (tag, attrs, children) => {\n if (!tag.startsWith(\"#\")) {\n if (this.useExtendedMarkdown) {\n if (tag === \"code\" && !rehypeHighlight.value && attrs?.attrs?.class?.includes(\"language\")) {\n importRehypeHighlightLibrary();\n }\n let nestedNode = null;\n if (tag === \"li\" && Array.isArray(children) && children[0].tag === \"input\" && children[0].data.attrs.type === \"checkbox\") {\n const [inputNode, ...labelParts] = children;\n const nestedNodeIndex = labelParts.findIndex((child) => [\"ul\", \"ol\", \"li\", \"blockquote\", \"pre\"].includes(child.tag));\n if (nestedNodeIndex !== -1) {\n nestedNode = labelParts[nestedNodeIndex];\n labelParts.splice(nestedNodeIndex);\n }\n const id = this.parentId + \"-markdown-input-\" + GenRandomId(5);\n const inputComponent = h(NcCheckboxRadioSwitch, {\n attrs: {\n ...inputNode.data.attrs,\n id,\n disabled: !this.interactive\n },\n on: {\n \"update:checked\": () => {\n this.$emit(\"interact:todo\", id);\n }\n }\n }, labelParts);\n return h(tag, attrs, [inputComponent, nestedNode]);\n }\n }\n if (tag === \"a\") {\n const route = getRoute(this.$router, attrs.attrs.href);\n if (route) {\n delete attrs.attrs.href;\n delete attrs.attrs.target;\n return h(RouterLink, {\n ...attrs,\n props: {\n to: route\n }\n }, children);\n }\n }\n return h(tag, attrs, children);\n }\n const placeholder = this.arguments[tag.slice(1)];\n if (!placeholder) {\n return h(\"span\", { ...{ attrs }, ...{ class: \"rich-text--fallback\" } }, [`{${tag.slice(1)}}`]);\n }\n if (!placeholder.component) {\n return h(\"span\", attrs, [placeholder]);\n }\n return h(\n placeholder.component,\n {\n attrs,\n props: placeholder.props,\n class: \"rich-text--component\"\n },\n children\n );\n },\n prefix: false\n }).processSync(\n this.text.replace(/<[^>]+>/g, (match) => match.replace(/\")\n ).result;\n return h(\"div\", { class: \"rich-text--wrapper rich-text--wrapper-markdown\" }, [\n renderedMarkdown,\n this.referenceLimit > 0 ? h(\"div\", { class: \"rich-text--reference-widget\" }, [\n h(NcReferenceList, {\n props: {\n text: this.text,\n referenceData: this.references,\n interactive: this.referenceInteractive,\n interactiveOptIn: this.referenceInteractiveOptIn\n }\n })\n ]) : null\n ]);\n }\n },\n render(h) {\n return this.useMarkdown || this.useExtendedMarkdown ? this.renderMarkdown(h) : this.renderPlaintext(h);\n }\n};\nconst _sfc_render = null;\nconst _sfc_staticRenderFns = null;\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"d7087beb\"\n);\nconst NcRichText = __component__.exports;\nexport {\n NcRichText as N,\n NcReferenceList as a\n};\n//# sourceMappingURL=NcRichText-Br5t5ga_.mjs.map\n"],"file":"js/Activity-CMUHXdF1.chunk.mjs"} \ No newline at end of file +{"version":3,"mappings":"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","names":["key","hasOwnProp","arg","args","warn","msg","fn","awaySvg","dndSvg","invisibleSvg","register","t10","tag_buffer","state","STATE_PLAINTEXT","output","char","STATE_COMMENT","context","in_quote_char","tag_set","allowable_tags","Symbol","match","NORMALIZE_TAG_REGEX","striptags","global","this","tryOnScopeDispose","getCurrentScope","toValue","r","toString","isObject","val","noop","isIOS","getIsIOS","isClient","_a","_b","toRef","toRef$1","readonly","customRef","ref","defaultWindow","plain","elRef","useEventListener","target","events","listeners","options","cleanups","cleanup","event","listener","options2","stopWatch","watch","unrefElement","el","optionsClone","stop","_iOSWorkaround","onClickOutside","handler","window","shouldListen","shouldIgnore","ignore","target2","vm","checkMultipleRoots","children","child","hasMultipleRoots","isProcessingClick","e","directiveHooks","binding","capture","resolveElement","checkOverflowScroll","ele","style","parent","preventDefault","rawEvent","_target","stopTouchMoveListener","elInitialOverflow","isLocked","lock","element","unlock","initialOverflow","v","onScrollLock","isMounted","useScrollLock","userStatus","userId","capabilities","getCapabilities","getCurrentUser","data","axios","generateOcsUrl","status","message","icon","browserStorage","getBuilder","getUserHasAvatar","flag","setUserHasAvatar","vOnClickOutside","DotsHorizontal","NcActions","NcIconSvgWrapper","NcUserStatusIcon","t","getUserStatusText","g","b","usernameToColor","user","initials","filteredChars","idx","actions","getRoute","route","item","action","getEnabledContactsMenuActions","NcActionButton","error","text","p","escape","NcActionText","emojiIcon","f","n","value","expandTabs","code","node","properties","loose","tail","results","result","listLoose","listItems","emptyOptions","settings","definitionById","footnoteById","footnoteCounts","nodes","trimMarkdownSpaceStart","index","foot","remarkRehype","destination","tree","file","hastTree","toHast","Schema","normal","space","property","FORWARD_SLASH","EMPTY_STRING","TYPE_COMMENT","TYPE_DECLARATION","lineno","column","updatePosition","str","NEWLINE_REGEX","lines","i","NEWLINE","position","Position","start","err","m","re","comment","c","pos","ASTERISK","declaration","prop","PROPERTY_REGEX","COLON_REGEX","VALUE_REGEX","trim","COMMENT_REGEX","SEMICOLON_REGEX","ret","declarations","comments","decls","decl","whitespace","TRIM_REGEX","parse","require$$0","StyleToObject","hasIterator","iterator","len","webNamespaces","own","toH","h","vd","prefix","head","transform","svg","html","hyperscript","attributes","schema","addAttribute","name","info","find","subprop","commas","props","hastToReact","react","vdom","tagName","_","$1","error_","convert","test","typeFactory","matchesFactory","length","matches","anyFactory","type","ok","CONTINUE","EXIT","SKIP","visitParents","visitor","reverse","one","parents","toResult","all","min","visit","hasOwnProperty","hastUtilTableCellStyle","hastName","hastCssPropertyMap","appendStyle","prevStyle","thing","tableElements","fixTableCellAlign","tableCellStyle","component","createElement","convertElement","tagNameFactory","checks","castFactory","any","parameters","check","looksLikeAnElement","testFunction","ABSOLUTE_URL_REGEX","url","WINDOWS_PATH_REGEX","defaultProtocols","defaultRel","rehypeExternalLinks","is","contentRaw","relRaw","rel","createIfNeeded","structuredClone","content","URL_PATTERN","response","isPublic","getSharingToken","_sfc_render$1","_vm","_c","reference","normalizeComponent","__component__$1","list2","entry","u","text2","parseUrl","componentClass","remarkUnescape","node2","SKIP$1","source","character","count","asciiAlpha","asciiAlphanumeric","regexCheck","asciiControl","code2","unicodePunctuation","unicodeWhitespace","regex","escapeStringRegexp","string","propsFactory","tests","index2","looksLikeANode","empty","factory","visit2","subresult","nodeAsParent","step","grandparents","offset","findAndReplace","ignored","pairs","pairIndex","siblings","grandparent","matchObject","change","tupleOrList","tuple","toExpression","toFunction","inConstruct","notInConstruct","gfmAutolinkLiteralFromMarkdown","transformGfmAutolinkLiterals","enterLiteralAutolink","enterLiteralAutolinkValue","exitLiteralAutolink","exitLiteralAutolinkHttp","token","exitLiteralAutolinkWww","findUrl","domain2","previous","protocol","isCorrectDomain","splitUrl","parts","findEmail","atext","trailExec","closingParenIndex","openingParens","closingParens","trail2","email","normalizeIdentifier","footnoteReference","gfmFootnoteFromMarkdown","enterFootnoteDefinition","enterFootnoteCallString","exitFootnoteDefinition","exitFootnoteDefinitionLabelString","exitFootnoteCallString","gfmFootnoteToMarkdown","enterFootnoteDefinitionLabelString","exitFootnoteCall","tracker","exit2","subexit","footnoteReferencePeek","footnoteDefinition","map$2","line","blank","serialize","defaultStringLength","blockquote","map$1","patternInScope","stack","listInScope","pattern","none","hardBreak","_1","longestStreak","substring","expected","raw","suffix","quote","marker","emphasis","emphasisPeek","checkEmphasis","emptyOptions$1","includeHtml","rank","sequence","inlineCodeWithTable","handleTable","serializeData","handleTableAsData","handleTableRow","handleTableCell","around","align","matrix","stringLength","handleTableRowAsData"],"ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],"sources":["../node_modules/moment/min/moment-with-locales.js","../node_modules/@nextcloud/vue/dist/chunks/NcUserStatusIcon-kbPFeJV6.mjs","../node_modules/striptags/src/striptags.js","../node_modules/@vueuse/components/node_modules/vue-demi/lib/index.mjs","../node_modules/@vueuse/components/node_modules/@vueuse/shared/index.mjs","../node_modules/@vueuse/components/index.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAvatar-YSp2ORHc.mjs","../node_modules/@nextcloud/vue-select/dist/vue-select.js","../node_modules/micromark/lib/create-tokenizer.js","../node_modules/mdast-util-to-hast/lib/handlers/break.js","../node_modules/mdast-util-to-hast/lib/handlers/code.js","../node_modules/mdast-util-to-hast/lib/handlers/list-item.js","../node_modules/mdast-util-to-hast/lib/footer.js","../node_modules/mdast-util-to-hast/lib/state.js","../node_modules/mdast-util-to-hast/lib/index.js","../node_modules/remark-rehype/lib/index.js","../node_modules/property-information/lib/util/schema.js","../node_modules/property-information/lib/util/merge.js","../node_modules/inline-style-parser/index.js","../node_modules/style-to-object/index.js","../node_modules/web-namespaces/index.js","../node_modules/hast-to-hyperscript/lib/index.js","../node_modules/@mapbox/hast-util-table-cell-style/node_modules/unist-util-is/convert.js","../node_modules/@mapbox/hast-util-table-cell-style/node_modules/unist-util-visit-parents/index.js","../node_modules/@mapbox/hast-util-table-cell-style/node_modules/unist-util-visit/index.js","../node_modules/@mapbox/hast-util-table-cell-style/index.js","../node_modules/hast-util-whitespace/index.js","../node_modules/rehype-react/lib/index.js","../node_modules/hast-util-is-element/lib/index.js","../node_modules/is-absolute-url/index.js","../node_modules/rehype-external-links/lib/index.js","../node_modules/@nextcloud/vue/dist/chunks/NcRichText-CwXSzf21.mjs"],"sourcesContent":[";(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n for (i = 0; i < arrLen; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n var flags = null,\n parsedParts = false,\n isNowValid = m._d && !isNaN(m._d.getTime());\n if (isNowValid) {\n flags = getParsingFlags(m);\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n isNowValid =\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n }\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key,\n argLen = arguments.length;\n for (i = 0; i < argLen; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens =\n /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {\n D: 'date',\n dates: 'date',\n date: 'date',\n d: 'day',\n days: 'day',\n day: 'day',\n e: 'weekday',\n weekdays: 'weekday',\n weekday: 'weekday',\n E: 'isoWeekday',\n isoweekdays: 'isoWeekday',\n isoweekday: 'isoWeekday',\n DDD: 'dayOfYear',\n dayofyears: 'dayOfYear',\n dayofyear: 'dayOfYear',\n h: 'hour',\n hours: 'hour',\n hour: 'hour',\n ms: 'millisecond',\n milliseconds: 'millisecond',\n millisecond: 'millisecond',\n m: 'minute',\n minutes: 'minute',\n minute: 'minute',\n M: 'month',\n months: 'month',\n month: 'month',\n Q: 'quarter',\n quarters: 'quarter',\n quarter: 'quarter',\n s: 'second',\n seconds: 'second',\n second: 'second',\n gg: 'weekYear',\n weekyears: 'weekYear',\n weekyear: 'weekYear',\n GG: 'isoWeekYear',\n isoweekyears: 'isoWeekYear',\n isoweekyear: 'isoWeekYear',\n w: 'week',\n weeks: 'week',\n week: 'week',\n W: 'isoWeek',\n isoweeks: 'isoWeek',\n isoweek: 'isoWeek',\n y: 'year',\n years: 'year',\n year: 'year',\n };\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {\n date: 9,\n day: 11,\n weekday: 11,\n isoWeekday: 11,\n dayOfYear: 4,\n hour: 13,\n millisecond: 16,\n minute: 14,\n month: 8,\n quarter: 7,\n second: 15,\n weekYear: 1,\n isoWeekYear: 1,\n week: 5,\n isoWeek: 5,\n year: 1,\n };\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord =\n /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n match1to2NoLeadingZero = /^[1-9]\\d?/, // 1-99\n match1to2HasZero = /^([1-9]\\d|\\d)/, // 0-99\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(\n /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }\n )\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n tokenLen = token.length;\n for (i = 0; i < tokenLen; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n if (!mom.isValid()) {\n return NaN;\n }\n\n var d = mom._d,\n isUTC = mom._isUTC;\n\n switch (unit) {\n case 'Milliseconds':\n return isUTC ? d.getUTCMilliseconds() : d.getMilliseconds();\n case 'Seconds':\n return isUTC ? d.getUTCSeconds() : d.getSeconds();\n case 'Minutes':\n return isUTC ? d.getUTCMinutes() : d.getMinutes();\n case 'Hours':\n return isUTC ? d.getUTCHours() : d.getHours();\n case 'Date':\n return isUTC ? d.getUTCDate() : d.getDate();\n case 'Day':\n return isUTC ? d.getUTCDay() : d.getDay();\n case 'Month':\n return isUTC ? d.getUTCMonth() : d.getMonth();\n case 'FullYear':\n return isUTC ? d.getUTCFullYear() : d.getFullYear();\n default:\n return NaN; // Just in case\n }\n }\n\n function set$1(mom, unit, value) {\n var d, isUTC, year, month, date;\n\n if (!mom.isValid() || isNaN(value)) {\n return;\n }\n\n d = mom._d;\n isUTC = mom._isUTC;\n\n switch (unit) {\n case 'Milliseconds':\n return void (isUTC\n ? d.setUTCMilliseconds(value)\n : d.setMilliseconds(value));\n case 'Seconds':\n return void (isUTC ? d.setUTCSeconds(value) : d.setSeconds(value));\n case 'Minutes':\n return void (isUTC ? d.setUTCMinutes(value) : d.setMinutes(value));\n case 'Hours':\n return void (isUTC ? d.setUTCHours(value) : d.setHours(value));\n case 'Date':\n return void (isUTC ? d.setUTCDate(value) : d.setDate(value));\n // case 'Day': // Not real\n // return void (isUTC ? d.setUTCDay(value) : d.setDay(value));\n // case 'Month': // Not used because we need to pass two variables\n // return void (isUTC ? d.setUTCMonth(value) : d.setMonth(value));\n case 'FullYear':\n break; // See below ...\n default:\n return; // Just in case\n }\n\n year = value;\n month = mom.month();\n date = mom.date();\n date = date === 29 && month === 1 && !isLeapYear(year) ? 28 : date;\n void (isUTC\n ? d.setUTCFullYear(year, month, date)\n : d.setFullYear(year, month, date));\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i,\n prioritizedLen = prioritized.length;\n for (i = 0; i < prioritizedLen; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // PARSING\n\n addRegexToken('M', match1to2, match1to2NoLeadingZero);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths =\n 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort =\n 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n var month = value,\n date = mom.date();\n\n date = date < 29 ? date : Math.min(date, daysInMonth(mom.year(), month));\n void (mom._isUTC\n ? mom._d.setUTCMonth(month, date)\n : mom._d.setMonth(month, date));\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n shortP,\n longP;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortP = regexEscape(this.monthsShort(mom, ''));\n longP = regexEscape(this.months(mom, ''));\n shortPieces.push(shortP);\n longPieces.push(longP);\n mixedPieces.push(longP);\n mixedPieces.push(shortP);\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // PARSING\n\n addRegexToken('w', match1to2, match1to2NoLeadingZero);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2, match1to2NoLeadingZero);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(\n ['w', 'ww', 'W', 'WW'],\n function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }\n );\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays =\n 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n var day = get(this, 'Day');\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2, match1to2HasZero);\n addRegexToken('h', match1to2, match1to2NoLeadingZero);\n addRegexToken('k', match1to2, match1to2NoLeadingZero);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n // Ensure name is available and function returns boolean\n return !!(name && name.match('^[^/\\\\\\\\]*$'));\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports &&\n isLocaleNameSane(name)\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 =\n /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat,\n isoDatesLen = isoDates.length,\n isoTimesLen = isoTimes.length;\n\n if (match) {\n getParsingFlags(config).iso = true;\n for (i = 0, l = isoDatesLen; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimesLen; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^()]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era,\n tokenLen;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n tokenLen = tokens.length;\n for (i = 0; i < tokenLen; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false,\n configfLen = config._f.length;\n\n if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < orderLen; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex =\n /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property,\n propertyLen = properties.length;\n\n for (i = 0; i < propertyLen; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(\n ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n }\n );\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n erasName,\n erasAbbr,\n erasNarrow,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n erasName = regexEscape(eras[i].name);\n erasAbbr = regexEscape(eras[i].abbr);\n erasNarrow = regexEscape(eras[i].narrow);\n\n namePieces.push(erasName);\n abbrPieces.push(erasAbbr);\n narrowPieces.push(erasNarrow);\n mixedPieces.push(erasName);\n mixedPieces.push(erasAbbr);\n mixedPieces.push(erasNarrow);\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(\n ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n }\n );\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday() + this.localeData()._week.dow,\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // PARSING\n\n addRegexToken('D', match1to2, match1to2NoLeadingZero);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // PARSING\n\n addRegexToken('m', match1to2, match1to2HasZero);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // PARSING\n\n addRegexToken('s', match1to2, match1to2HasZero);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y'),\n valueOf$1 = asMilliseconds;\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.30.1';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM', // \n };\n\n //! moment.js locale configuration\n\n hooks.defineLocale('af', {\n months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split(\n '_'\n ),\n weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n meridiemParse: /vm|nm/i,\n isPM: function (input) {\n return /^nm$/i.test(input);\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'vm' : 'VM';\n } else {\n return isLower ? 'nm' : 'NM';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Vandag om] LT',\n nextDay: '[Môre om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[Gister om] LT',\n lastWeek: '[Laas] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'oor %s',\n past: '%s gelede',\n s: \"'n paar sekondes\",\n ss: '%d sekondes',\n m: \"'n minuut\",\n mm: '%d minute',\n h: \"'n uur\",\n hh: '%d ure',\n d: \"'n dag\",\n dd: '%d dae',\n M: \"'n maand\",\n MM: '%d maande',\n y: \"'n jaar\",\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n ); // Thanks to Joris Röling : https://github.com/jjupiter\n },\n week: {\n dow: 1, // Maandag is die eerste dag van die week.\n doy: 4, // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n },\n });\n\n //! moment.js locale configuration\n\n var pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months$1 = [\n 'جانفي',\n 'فيفري',\n 'مارس',\n 'أفريل',\n 'ماي',\n 'جوان',\n 'جويلية',\n 'أوت',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n hooks.defineLocale('ar-dz', {\n months: months$1,\n monthsShort: months$1,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y'),\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ar-kw', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n monthsShort:\n 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 0: '0',\n },\n pluralForm$1 = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals$1 = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize$1 = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm$1(number),\n str = plurals$1[u][pluralForm$1(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months$2 = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n hooks.defineLocale('ar-ly', {\n months: months$2,\n monthsShort: months$2,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize$1('s'),\n ss: pluralize$1('s'),\n m: pluralize$1('m'),\n mm: pluralize$1('m'),\n h: pluralize$1('h'),\n hh: pluralize$1('h'),\n d: pluralize$1('d'),\n dd: pluralize$1('d'),\n M: pluralize$1('M'),\n MM: pluralize$1('M'),\n y: pluralize$1('y'),\n yy: pluralize$1('y'),\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ar-ma', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n monthsShort:\n 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$1 = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n };\n\n hooks.defineLocale('ar-ps', {\n months: 'كانون الثاني_شباط_آذار_نيسان_أيّار_حزيران_تمّوز_آب_أيلول_تشري الأوّل_تشرين الثاني_كانون الأوّل'.split(\n '_'\n ),\n monthsShort:\n 'ك٢_شباط_آذار_نيسان_أيّار_حزيران_تمّوز_آب_أيلول_ت١_ت٢_ك١'.split('_'),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n preparse: function (string) {\n return string\n .replace(/[٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .split('') // reversed since negative lookbehind not supported everywhere\n .reverse()\n .join('')\n .replace(/[١٢](?![\\u062a\\u0643])/g, function (match) {\n return numberMap[match];\n })\n .split('')\n .reverse()\n .join('')\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap$1[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$2 = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap$1 = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n };\n\n hooks.defineLocale('ar-sa', {\n months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n monthsShort:\n 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap$1[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap$2[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ar-tn', {\n months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n monthsShort:\n 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$3 = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap$2 = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n },\n pluralForm$2 = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals$2 = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize$2 = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm$2(number),\n str = plurals$2[u][pluralForm$2(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months$3 = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n hooks.defineLocale('ar', {\n months: months$3,\n monthsShort: months$3,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize$2('s'),\n ss: pluralize$2('s'),\n m: pluralize$2('m'),\n mm: pluralize$2('m'),\n h: pluralize$2('h'),\n hh: pluralize$2('h'),\n d: pluralize$2('d'),\n dd: pluralize$2('d'),\n M: pluralize$2('M'),\n MM: pluralize$2('M'),\n y: pluralize$2('y'),\n yy: pluralize$2('y'),\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap$2[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap$3[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: '-inci',\n 5: '-inci',\n 8: '-inci',\n 70: '-inci',\n 80: '-inci',\n 2: '-nci',\n 7: '-nci',\n 20: '-nci',\n 50: '-nci',\n 3: '-üncü',\n 4: '-üncü',\n 100: '-üncü',\n 6: '-ncı',\n 9: '-uncu',\n 10: '-uncu',\n 30: '-uncu',\n 60: '-ıncı',\n 90: '-ıncı',\n };\n\n hooks.defineLocale('az', {\n months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split(\n '_'\n ),\n monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n weekdays:\n 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split(\n '_'\n ),\n weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[sabah saat] LT',\n nextWeek: '[gələn həftə] dddd [saat] LT',\n lastDay: '[dünən] LT',\n lastWeek: '[keçən həftə] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s əvvəl',\n s: 'bir neçə saniyə',\n ss: '%d saniyə',\n m: 'bir dəqiqə',\n mm: '%d dəqiqə',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir il',\n yy: '%d il',\n },\n meridiemParse: /gecə|səhər|gündüz|axşam/,\n isPM: function (input) {\n return /^(gündüz|axşam)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'gecə';\n } else if (hour < 12) {\n return 'səhər';\n } else if (hour < 17) {\n return 'gündüz';\n } else {\n return 'axşam';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n ordinal: function (number) {\n if (number === 0) {\n // special case for zero\n return number + '-ıncı';\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n dd: 'дзень_дні_дзён',\n MM: 'месяц_месяцы_месяцаў',\n yy: 'год_гады_гадоў',\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвіліна' : 'хвіліну';\n } else if (key === 'h') {\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n hooks.defineLocale('be', {\n months: {\n format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split(\n '_'\n ),\n standalone:\n 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split(\n '_'\n ),\n },\n monthsShort:\n 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n weekdays: {\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split(\n '_'\n ),\n standalone:\n 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split(\n '_'\n ),\n isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/,\n },\n weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., HH:mm',\n LLLL: 'dddd, D MMMM YYYY г., HH:mm',\n },\n calendar: {\n sameDay: '[Сёння ў] LT',\n nextDay: '[Заўтра ў] LT',\n lastDay: '[Учора ў] LT',\n nextWeek: function () {\n return '[У] dddd [ў] LT';\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return '[У мінулую] dddd [ў] LT';\n case 1:\n case 2:\n case 4:\n return '[У мінулы] dddd [ў] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'праз %s',\n past: '%s таму',\n s: 'некалькі секунд',\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: relativeTimeWithPlural,\n hh: relativeTimeWithPlural,\n d: 'дзень',\n dd: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural,\n },\n meridiemParse: /ночы|раніцы|дня|вечара/,\n isPM: function (input) {\n return /^(дня|вечара)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночы';\n } else if (hour < 12) {\n return 'раніцы';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечара';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return (number % 10 === 2 || number % 10 === 3) &&\n number % 100 !== 12 &&\n number % 100 !== 13\n ? number + '-і'\n : number + '-ы';\n case 'D':\n return number + '-га';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('bg', {\n months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split(\n '_'\n ),\n monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split(\n '_'\n ),\n weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Днес в] LT',\n nextDay: '[Утре в] LT',\n nextWeek: 'dddd [в] LT',\n lastDay: '[Вчера в] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Миналата] dddd [в] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Миналия] dddd [в] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'след %s',\n past: 'преди %s',\n s: 'няколко секунди',\n ss: '%d секунди',\n m: 'минута',\n mm: '%d минути',\n h: 'час',\n hh: '%d часа',\n d: 'ден',\n dd: '%d дена',\n w: 'седмица',\n ww: '%d седмици',\n M: 'месец',\n MM: '%d месеца',\n y: 'година',\n yy: '%d години',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal: function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('bm', {\n months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split(\n '_'\n ),\n monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'MMMM [tile] D [san] YYYY',\n LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n },\n calendar: {\n sameDay: '[Bi lɛrɛ] LT',\n nextDay: '[Sini lɛrɛ] LT',\n nextWeek: 'dddd [don lɛrɛ] LT',\n lastDay: '[Kunu lɛrɛ] LT',\n lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s kɔnɔ',\n past: 'a bɛ %s bɔ',\n s: 'sanga dama dama',\n ss: 'sekondi %d',\n m: 'miniti kelen',\n mm: 'miniti %d',\n h: 'lɛrɛ kelen',\n hh: 'lɛrɛ %d',\n d: 'tile kelen',\n dd: 'tile %d',\n M: 'kalo kelen',\n MM: 'kalo %d',\n y: 'san kelen',\n yy: 'san %d',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$4 = {\n 1: '১',\n 2: '২',\n 3: '৩',\n 4: '৪',\n 5: '৫',\n 6: '৬',\n 7: '৭',\n 8: '৮',\n 9: '৯',\n 0: '০',\n },\n numberMap$3 = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0',\n };\n\n hooks.defineLocale('bn-bd', {\n months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n '_'\n ),\n monthsShort:\n 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n '_'\n ),\n weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n '_'\n ),\n weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n longDateFormat: {\n LT: 'A h:mm সময়',\n LTS: 'A h:mm:ss সময়',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm সময়',\n LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n },\n calendar: {\n sameDay: '[আজ] LT',\n nextDay: '[আগামীকাল] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[গতকাল] LT',\n lastWeek: '[গত] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s পরে',\n past: '%s আগে',\n s: 'কয়েক সেকেন্ড',\n ss: '%d সেকেন্ড',\n m: 'এক মিনিট',\n mm: '%d মিনিট',\n h: 'এক ঘন্টা',\n hh: '%d ঘন্টা',\n d: 'এক দিন',\n dd: '%d দিন',\n M: 'এক মাস',\n MM: '%d মাস',\n y: 'এক বছর',\n yy: '%d বছর',\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap$3[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$4[match];\n });\n },\n\n meridiemParse: /রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'রাত') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ভোর') {\n return hour;\n } else if (meridiem === 'সকাল') {\n return hour;\n } else if (meridiem === 'দুপুর') {\n return hour >= 3 ? hour : hour + 12;\n } else if (meridiem === 'বিকাল') {\n return hour + 12;\n } else if (meridiem === 'সন্ধ্যা') {\n return hour + 12;\n }\n },\n\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 6) {\n return 'ভোর';\n } else if (hour < 12) {\n return 'সকাল';\n } else if (hour < 15) {\n return 'দুপুর';\n } else if (hour < 18) {\n return 'বিকাল';\n } else if (hour < 20) {\n return 'সন্ধ্যা';\n } else {\n return 'রাত';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$5 = {\n 1: '১',\n 2: '২',\n 3: '৩',\n 4: '৪',\n 5: '৫',\n 6: '৬',\n 7: '৭',\n 8: '৮',\n 9: '৯',\n 0: '০',\n },\n numberMap$4 = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0',\n };\n\n hooks.defineLocale('bn', {\n months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n '_'\n ),\n monthsShort:\n 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n '_'\n ),\n weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n '_'\n ),\n weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n longDateFormat: {\n LT: 'A h:mm সময়',\n LTS: 'A h:mm:ss সময়',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm সময়',\n LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n },\n calendar: {\n sameDay: '[আজ] LT',\n nextDay: '[আগামীকাল] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[গতকাল] LT',\n lastWeek: '[গত] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s পরে',\n past: '%s আগে',\n s: 'কয়েক সেকেন্ড',\n ss: '%d সেকেন্ড',\n m: 'এক মিনিট',\n mm: '%d মিনিট',\n h: 'এক ঘন্টা',\n hh: '%d ঘন্টা',\n d: 'এক দিন',\n dd: '%d দিন',\n M: 'এক মাস',\n MM: '%d মাস',\n y: 'এক বছর',\n yy: '%d বছর',\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap$4[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$5[match];\n });\n },\n meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'রাত' && hour >= 4) ||\n (meridiem === 'দুপুর' && hour < 5) ||\n meridiem === 'বিকাল'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 10) {\n return 'সকাল';\n } else if (hour < 17) {\n return 'দুপুর';\n } else if (hour < 20) {\n return 'বিকাল';\n } else {\n return 'রাত';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$6 = {\n 1: '༡',\n 2: '༢',\n 3: '༣',\n 4: '༤',\n 5: '༥',\n 6: '༦',\n 7: '༧',\n 8: '༨',\n 9: '༩',\n 0: '༠',\n },\n numberMap$5 = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0',\n };\n\n hooks.defineLocale('bo', {\n months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split(\n '_'\n ),\n monthsShort:\n 'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split(\n '_'\n ),\n monthsShortRegex: /^(ཟླ་\\d{1,2})/,\n monthsParseExact: true,\n weekdays:\n 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split(\n '_'\n ),\n weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split(\n '_'\n ),\n weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[དི་རིང] LT',\n nextDay: '[སང་ཉིན] LT',\n nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT',\n lastDay: '[ཁ་སང] LT',\n lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ལ་',\n past: '%s སྔན་ལ',\n s: 'ལམ་སང',\n ss: '%d སྐར་ཆ།',\n m: 'སྐར་མ་གཅིག',\n mm: '%d སྐར་མ',\n h: 'ཆུ་ཚོད་གཅིག',\n hh: '%d ཆུ་ཚོད',\n d: 'ཉིན་གཅིག',\n dd: '%d ཉིན་',\n M: 'ཟླ་བ་གཅིག',\n MM: '%d ཟླ་བ',\n y: 'ལོ་གཅིག',\n yy: '%d ལོ',\n },\n preparse: function (string) {\n return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n return numberMap$5[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$6[match];\n });\n },\n meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'མཚན་མོ' && hour >= 4) ||\n (meridiem === 'ཉིན་གུང' && hour < 5) ||\n meridiem === 'དགོང་དག'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'མཚན་མོ';\n } else if (hour < 10) {\n return 'ཞོགས་ཀས';\n } else if (hour < 17) {\n return 'ཉིན་གུང';\n } else if (hour < 20) {\n return 'དགོང་དག';\n } else {\n return 'མཚན་མོ';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function relativeTimeWithMutation(number, withoutSuffix, key) {\n var format = {\n mm: 'munutenn',\n MM: 'miz',\n dd: 'devezh',\n };\n return number + ' ' + mutation(format[key], number);\n }\n function specialMutationForYears(number) {\n switch (lastNumber(number)) {\n case 1:\n case 3:\n case 4:\n case 5:\n case 9:\n return number + ' bloaz';\n default:\n return number + ' vloaz';\n }\n }\n function lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n return number;\n }\n function mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n return text;\n }\n function softMutation(text) {\n var mutationTable = {\n m: 'v',\n b: 'v',\n d: 'z',\n };\n if (mutationTable[text.charAt(0)] === undefined) {\n return text;\n }\n return mutationTable[text.charAt(0)] + text.substring(1);\n }\n\n var monthsParse = [\n /^gen/i,\n /^c[ʼ\\']hwe/i,\n /^meu/i,\n /^ebr/i,\n /^mae/i,\n /^(mez|eve)/i,\n /^gou/i,\n /^eos/i,\n /^gwe/i,\n /^her/i,\n /^du/i,\n /^ker/i,\n ],\n monthsRegex$1 =\n /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n monthsStrictRegex =\n /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,\n monthsShortStrictRegex =\n /^(gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n fullWeekdaysParse = [\n /^sul/i,\n /^lun/i,\n /^meurzh/i,\n /^merc[ʼ\\']her/i,\n /^yaou/i,\n /^gwener/i,\n /^sadorn/i,\n ],\n shortWeekdaysParse = [\n /^Sul/i,\n /^Lun/i,\n /^Meu/i,\n /^Mer/i,\n /^Yao/i,\n /^Gwe/i,\n /^Sad/i,\n ],\n minWeekdaysParse = [\n /^Su/i,\n /^Lu/i,\n /^Me([^r]|$)/i,\n /^Mer/i,\n /^Ya/i,\n /^Gw/i,\n /^Sa/i,\n ];\n\n hooks.defineLocale('br', {\n months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split(\n '_'\n ),\n monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'),\n weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n weekdaysParse: minWeekdaysParse,\n fullWeekdaysParse: fullWeekdaysParse,\n shortWeekdaysParse: shortWeekdaysParse,\n minWeekdaysParse: minWeekdaysParse,\n\n monthsRegex: monthsRegex$1,\n monthsShortRegex: monthsRegex$1,\n monthsStrictRegex: monthsStrictRegex,\n monthsShortStrictRegex: monthsShortStrictRegex,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [a viz] MMMM YYYY',\n LLL: 'D [a viz] MMMM YYYY HH:mm',\n LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hiziv da] LT',\n nextDay: '[Warcʼhoazh da] LT',\n nextWeek: 'dddd [da] LT',\n lastDay: '[Decʼh da] LT',\n lastWeek: 'dddd [paset da] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'a-benn %s',\n past: '%s ʼzo',\n s: 'un nebeud segondennoù',\n ss: '%d eilenn',\n m: 'ur vunutenn',\n mm: relativeTimeWithMutation,\n h: 'un eur',\n hh: '%d eur',\n d: 'un devezh',\n dd: relativeTimeWithMutation,\n M: 'ur miz',\n MM: relativeTimeWithMutation,\n y: 'ur bloaz',\n yy: specialMutationForYears,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n ordinal: function (number) {\n var output = number === 1 ? 'añ' : 'vet';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n meridiemParse: /a.m.|g.m./, // goude merenn | a-raok merenn\n isPM: function (token) {\n return token === 'g.m.';\n },\n meridiem: function (hour, minute, isLower) {\n return hour < 12 ? 'a.m.' : 'g.m.';\n },\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 'm':\n return withoutSuffix\n ? 'jedna minuta'\n : isFuture\n ? 'jednu minutu'\n : 'jedne minute';\n }\n }\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jedan sat';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n hooks.defineLocale('bs', {\n months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate,\n m: processRelativeTime,\n mm: translate,\n h: translate,\n hh: translate,\n d: 'dan',\n dd: translate,\n M: 'mjesec',\n MM: translate,\n y: 'godinu',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ca', {\n months: {\n standalone:\n 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split(\n '_'\n ),\n format: \"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre\".split(\n '_'\n ),\n isFormat: /D[oD]?(\\s)+MMMM/,\n },\n monthsShort:\n 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split(\n '_'\n ),\n weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a les] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm',\n llll: 'ddd D MMM YYYY, H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n nextDay: function () {\n return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n lastDay: function () {\n return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [passat a ' +\n (this.hours() !== 1 ? 'les' : 'la') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'uns segons',\n ss: '%d segons',\n m: 'un minut',\n mm: '%d minuts',\n h: 'una hora',\n hh: '%d hores',\n d: 'un dia',\n dd: '%d dies',\n M: 'un mes',\n MM: '%d mesos',\n y: 'un any',\n yy: '%d anys',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function (number, period) {\n var output =\n number === 1\n ? 'r'\n : number === 2\n ? 'n'\n : number === 3\n ? 'r'\n : number === 4\n ? 't'\n : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var months$4 = {\n standalone:\n 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(\n '_'\n ),\n format: 'ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince'.split(\n '_'\n ),\n isFormat: /DD?[o.]?(\\[[^\\[\\]]*\\]|\\s)+MMMM/,\n },\n monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),\n monthsParse$1 = [\n /^led/i,\n /^úno/i,\n /^bře/i,\n /^dub/i,\n /^kvě/i,\n /^(čvn|červen$|června)/i,\n /^(čvc|červenec|července)/i,\n /^srp/i,\n /^zář/i,\n /^říj/i,\n /^lis/i,\n /^pro/i,\n ],\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsRegex$2 =\n /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;\n\n function plural$1(n) {\n return n > 1 && n < 5 && ~~(n / 10) !== 1;\n }\n function translate$1(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural$1(number) ? 'sekundy' : 'sekund');\n } else {\n return result + 'sekundami';\n }\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou';\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural$1(number) ? 'minuty' : 'minut');\n } else {\n return result + 'minutami';\n }\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural$1(number) ? 'hodiny' : 'hodin');\n } else {\n return result + 'hodinami';\n }\n case 'd': // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'den' : 'dnem';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural$1(number) ? 'dny' : 'dní');\n } else {\n return result + 'dny';\n }\n case 'M': // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'měsíc' : 'měsícem';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural$1(number) ? 'měsíce' : 'měsíců');\n } else {\n return result + 'měsíci';\n }\n case 'y': // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokem';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural$1(number) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n }\n }\n\n hooks.defineLocale('cs', {\n months: months$4,\n monthsShort: monthsShort,\n monthsRegex: monthsRegex$2,\n monthsShortRegex: monthsRegex$2,\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsStrictRegex:\n /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,\n monthsShortStrictRegex:\n /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,\n monthsParse: monthsParse$1,\n longMonthsParse: monthsParse$1,\n shortMonthsParse: monthsParse$1,\n weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'),\n weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd D. MMMM YYYY H:mm',\n l: 'D. M. YYYY',\n },\n calendar: {\n sameDay: '[dnes v] LT',\n nextDay: '[zítra v] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v neděli v] LT';\n case 1:\n case 2:\n return '[v] dddd [v] LT';\n case 3:\n return '[ve středu v] LT';\n case 4:\n return '[ve čtvrtek v] LT';\n case 5:\n return '[v pátek v] LT';\n case 6:\n return '[v sobotu v] LT';\n }\n },\n lastDay: '[včera v] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulou neděli v] LT';\n case 1:\n case 2:\n return '[minulé] dddd [v] LT';\n case 3:\n return '[minulou středu v] LT';\n case 4:\n case 5:\n return '[minulý] dddd [v] LT';\n case 6:\n return '[minulou sobotu v] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'před %s',\n s: translate$1,\n ss: translate$1,\n m: translate$1,\n mm: translate$1,\n h: translate$1,\n hh: translate$1,\n d: translate$1,\n dd: translate$1,\n M: translate$1,\n MM: translate$1,\n y: translate$1,\n yy: translate$1,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('cv', {\n months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split(\n '_'\n ),\n monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays:\n 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split(\n '_'\n ),\n weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n },\n calendar: {\n sameDay: '[Паян] LT [сехетре]',\n nextDay: '[Ыран] LT [сехетре]',\n lastDay: '[Ӗнер] LT [сехетре]',\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n sameElse: 'L',\n },\n relativeTime: {\n future: function (output) {\n var affix = /сехет$/i.exec(output)\n ? 'рен'\n : /ҫул$/i.exec(output)\n ? 'тан'\n : 'ран';\n return output + affix;\n },\n past: '%s каялла',\n s: 'пӗр-ик ҫеккунт',\n ss: '%d ҫеккунт',\n m: 'пӗр минут',\n mm: '%d минут',\n h: 'пӗр сехет',\n hh: '%d сехет',\n d: 'пӗр кун',\n dd: '%d кун',\n M: 'пӗр уйӑх',\n MM: '%d уйӑх',\n y: 'пӗр ҫул',\n yy: '%d ҫул',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n ordinal: '%d-мӗш',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('cy', {\n months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split(\n '_'\n ),\n monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split(\n '_'\n ),\n weekdays:\n 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split(\n '_'\n ),\n weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n weekdaysParseExact: true,\n // time formats are the same as en-gb\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Heddiw am] LT',\n nextDay: '[Yfory am] LT',\n nextWeek: 'dddd [am] LT',\n lastDay: '[Ddoe am] LT',\n lastWeek: 'dddd [diwethaf am] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'mewn %s',\n past: '%s yn ôl',\n s: 'ychydig eiliadau',\n ss: '%d eiliad',\n m: 'munud',\n mm: '%d munud',\n h: 'awr',\n hh: '%d awr',\n d: 'diwrnod',\n dd: '%d diwrnod',\n M: 'mis',\n MM: '%d mis',\n y: 'blwyddyn',\n yy: '%d flynedd',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n ordinal: function (number) {\n var b = number,\n output = '',\n lookup = [\n '',\n 'af',\n 'il',\n 'ydd',\n 'ydd',\n 'ed',\n 'ed',\n 'ed',\n 'fed',\n 'fed',\n 'fed', // 1af to 10fed\n 'eg',\n 'fed',\n 'eg',\n 'eg',\n 'fed',\n 'eg',\n 'eg',\n 'fed',\n 'eg',\n 'fed', // 11eg to 20fed\n ];\n if (b > 20) {\n if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n output = 'fed'; // not 30ain, 70ain or 90ain\n } else {\n output = 'ain';\n }\n } else if (b > 0) {\n output = lookup[b];\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('da', {\n months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'på dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[i] dddd[s kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'få sekunder',\n ss: '%d sekunder',\n m: 'et minut',\n mm: '%d minutter',\n h: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dage',\n M: 'en måned',\n MM: '%d måneder',\n y: 'et år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$1(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n hooks.defineLocale('de-at', {\n months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays:\n 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime$1,\n mm: '%d Minuten',\n h: processRelativeTime$1,\n hh: '%d Stunden',\n d: processRelativeTime$1,\n dd: processRelativeTime$1,\n w: processRelativeTime$1,\n ww: '%d Wochen',\n M: processRelativeTime$1,\n MM: processRelativeTime$1,\n y: processRelativeTime$1,\n yy: processRelativeTime$1,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$2(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n hooks.defineLocale('de-ch', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays:\n 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime$2,\n mm: '%d Minuten',\n h: processRelativeTime$2,\n hh: '%d Stunden',\n d: processRelativeTime$2,\n dd: processRelativeTime$2,\n w: processRelativeTime$2,\n ww: '%d Wochen',\n M: processRelativeTime$2,\n MM: processRelativeTime$2,\n y: processRelativeTime$2,\n yy: processRelativeTime$2,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$3(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n hooks.defineLocale('de', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays:\n 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime$3,\n mm: '%d Minuten',\n h: processRelativeTime$3,\n hh: '%d Stunden',\n d: processRelativeTime$3,\n dd: processRelativeTime$3,\n w: processRelativeTime$3,\n ww: '%d Wochen',\n M: processRelativeTime$3,\n MM: processRelativeTime$3,\n y: processRelativeTime$3,\n yy: processRelativeTime$3,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var months$5 = [\n 'ޖެނުއަރީ',\n 'ފެބްރުއަރީ',\n 'މާރިޗު',\n 'އޭޕްރީލު',\n 'މޭ',\n 'ޖޫން',\n 'ޖުލައި',\n 'އޯގަސްޓު',\n 'ސެޕްޓެމްބަރު',\n 'އޮކްޓޯބަރު',\n 'ނޮވެމްބަރު',\n 'ޑިސެމްބަރު',\n ],\n weekdays = [\n 'އާދިއްތަ',\n 'ހޯމަ',\n 'އަންގާރަ',\n 'ބުދަ',\n 'ބުރާސްފަތި',\n 'ހުކުރު',\n 'ހޮނިހިރު',\n ];\n\n hooks.defineLocale('dv', {\n months: months$5,\n monthsShort: months$5,\n weekdays: weekdays,\n weekdaysShort: weekdays,\n weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/M/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /މކ|މފ/,\n isPM: function (input) {\n return 'މފ' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'މކ';\n } else {\n return 'މފ';\n }\n },\n calendar: {\n sameDay: '[މިއަދު] LT',\n nextDay: '[މާދަމާ] LT',\n nextWeek: 'dddd LT',\n lastDay: '[އިއްޔެ] LT',\n lastWeek: '[ފާއިތުވި] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ތެރޭގައި %s',\n past: 'ކުރިން %s',\n s: 'ސިކުންތުކޮޅެއް',\n ss: 'd% ސިކުންތު',\n m: 'މިނިޓެއް',\n mm: 'މިނިޓު %d',\n h: 'ގަޑިއިރެއް',\n hh: 'ގަޑިއިރު %d',\n d: 'ދުވަހެއް',\n dd: 'ދުވަސް %d',\n M: 'މަހެއް',\n MM: 'މަސް %d',\n y: 'އަހަރެއް',\n yy: 'އަހަރު %d',\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 7, // Sunday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function isFunction$1(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n hooks.defineLocale('el', {\n monthsNominativeEl:\n 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split(\n '_'\n ),\n monthsGenitiveEl:\n 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split(\n '_'\n ),\n months: function (momentToFormat, format) {\n if (!momentToFormat) {\n return this._monthsNominativeEl;\n } else if (\n typeof format === 'string' &&\n /D/.test(format.substring(0, format.indexOf('MMMM')))\n ) {\n // if there is a day number before 'MMMM'\n return this._monthsGenitiveEl[momentToFormat.month()];\n } else {\n return this._monthsNominativeEl[momentToFormat.month()];\n }\n },\n monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split(\n '_'\n ),\n weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'μμ' : 'ΜΜ';\n } else {\n return isLower ? 'πμ' : 'ΠΜ';\n }\n },\n isPM: function (input) {\n return (input + '').toLowerCase()[0] === 'μ';\n },\n meridiemParse: /[ΠΜ]\\.?Μ?\\.?/i,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendarEl: {\n sameDay: '[Σήμερα {}] LT',\n nextDay: '[Αύριο {}] LT',\n nextWeek: 'dddd [{}] LT',\n lastDay: '[Χθες {}] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 6:\n return '[το προηγούμενο] dddd [{}] LT';\n default:\n return '[την προηγούμενη] dddd [{}] LT';\n }\n },\n sameElse: 'L',\n },\n calendar: function (key, mom) {\n var output = this._calendarEl[key],\n hours = mom && mom.hours();\n if (isFunction$1(output)) {\n output = output.apply(mom);\n }\n return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις');\n },\n relativeTime: {\n future: 'σε %s',\n past: '%s πριν',\n s: 'λίγα δευτερόλεπτα',\n ss: '%d δευτερόλεπτα',\n m: 'ένα λεπτό',\n mm: '%d λεπτά',\n h: 'μία ώρα',\n hh: '%d ώρες',\n d: 'μία μέρα',\n dd: '%d μέρες',\n M: 'ένας μήνας',\n MM: '%d μήνες',\n y: 'ένας χρόνος',\n yy: '%d χρόνια',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}η/,\n ordinal: '%dη',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4st is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('en-au', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('en-ca', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'YYYY-MM-DD',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('en-gb', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('en-ie', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('en-il', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('en-in', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('en-nz', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('en-sg', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('eo', {\n months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split('_'),\n weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: '[la] D[-an de] MMMM, YYYY',\n LLL: '[la] D[-an de] MMMM, YYYY HH:mm',\n LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm',\n llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm',\n },\n meridiemParse: /[ap]\\.t\\.m/i,\n isPM: function (input) {\n return input.charAt(0).toLowerCase() === 'p';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'p.t.m.' : 'P.T.M.';\n } else {\n return isLower ? 'a.t.m.' : 'A.T.M.';\n }\n },\n calendar: {\n sameDay: '[Hodiaŭ je] LT',\n nextDay: '[Morgaŭ je] LT',\n nextWeek: 'dddd[n je] LT',\n lastDay: '[Hieraŭ je] LT',\n lastWeek: '[pasintan] dddd[n je] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'post %s',\n past: 'antaŭ %s',\n s: 'kelkaj sekundoj',\n ss: '%d sekundoj',\n m: 'unu minuto',\n mm: '%d minutoj',\n h: 'unu horo',\n hh: '%d horoj',\n d: 'unu tago', //ne 'diurno', ĉar estas uzita por proksimumo\n dd: '%d tagoj',\n M: 'unu monato',\n MM: '%d monatoj',\n y: 'unu jaro',\n yy: '%d jaroj',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}a/,\n ordinal: '%da',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var monthsShortDot =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort$1 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse$2 = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex$3 =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n hooks.defineLocale('es-do', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort$1[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex$3,\n monthsShortRegex: monthsRegex$3,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse$2,\n longMonthsParse: monthsParse$2,\n shortMonthsParse: monthsParse$2,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var monthsShortDot$1 =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort$2 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse$3 = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex$4 =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n hooks.defineLocale('es-mx', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot$1;\n } else if (/-MMM-/.test(format)) {\n return monthsShort$2[m.month()];\n } else {\n return monthsShortDot$1[m.month()];\n }\n },\n monthsRegex: monthsRegex$4,\n monthsShortRegex: monthsRegex$4,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse$3,\n longMonthsParse: monthsParse$3,\n shortMonthsParse: monthsParse$3,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n invalidDate: 'Fecha inválida',\n });\n\n //! moment.js locale configuration\n\n var monthsShortDot$2 =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort$3 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse$4 = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex$5 =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n hooks.defineLocale('es-us', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot$2;\n } else if (/-MMM-/.test(format)) {\n return monthsShort$3[m.month()];\n } else {\n return monthsShortDot$2[m.month()];\n }\n },\n monthsRegex: monthsRegex$5,\n monthsShortRegex: monthsRegex$5,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse$4,\n longMonthsParse: monthsParse$4,\n shortMonthsParse: monthsParse$4,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'MM/DD/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var monthsShortDot$3 =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort$4 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse$5 = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex$6 =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n hooks.defineLocale('es', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot$3;\n } else if (/-MMM-/.test(format)) {\n return monthsShort$4[m.month()];\n } else {\n return monthsShortDot$3[m.month()];\n }\n },\n monthsRegex: monthsRegex$6,\n monthsShortRegex: monthsRegex$6,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse$5,\n longMonthsParse: monthsParse$5,\n shortMonthsParse: monthsParse$5,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n invalidDate: 'Fecha inválida',\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$4(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n ss: [number + 'sekundi', number + 'sekundit'],\n m: ['ühe minuti', 'üks minut'],\n mm: [number + ' minuti', number + ' minutit'],\n h: ['ühe tunni', 'tund aega', 'üks tund'],\n hh: [number + ' tunni', number + ' tundi'],\n d: ['ühe päeva', 'üks päev'],\n M: ['kuu aja', 'kuu aega', 'üks kuu'],\n MM: [number + ' kuu', number + ' kuud'],\n y: ['ühe aasta', 'aasta', 'üks aasta'],\n yy: [number + ' aasta', number + ' aastat'],\n };\n if (withoutSuffix) {\n return format[key][2] ? format[key][2] : format[key][1];\n }\n return isFuture ? format[key][0] : format[key][1];\n }\n\n hooks.defineLocale('et', {\n months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split(\n '_'\n ),\n monthsShort:\n 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n weekdays:\n 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split(\n '_'\n ),\n weekdaysShort: 'P_E_T_K_N_R_L'.split('_'),\n weekdaysMin: 'P_E_T_K_N_R_L'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Täna,] LT',\n nextDay: '[Homme,] LT',\n nextWeek: '[Järgmine] dddd LT',\n lastDay: '[Eile,] LT',\n lastWeek: '[Eelmine] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s pärast',\n past: '%s tagasi',\n s: processRelativeTime$4,\n ss: processRelativeTime$4,\n m: processRelativeTime$4,\n mm: processRelativeTime$4,\n h: processRelativeTime$4,\n hh: processRelativeTime$4,\n d: processRelativeTime$4,\n dd: '%d päeva',\n M: processRelativeTime$4,\n MM: processRelativeTime$4,\n y: processRelativeTime$4,\n yy: processRelativeTime$4,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('eu', {\n months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split(\n '_'\n ),\n monthsShort:\n 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split(\n '_'\n ),\n weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'),\n weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY[ko] MMMM[ren] D[a]',\n LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n l: 'YYYY-M-D',\n ll: 'YYYY[ko] MMM D[a]',\n lll: 'YYYY[ko] MMM D[a] HH:mm',\n llll: 'ddd, YYYY[ko] MMM D[a] HH:mm',\n },\n calendar: {\n sameDay: '[gaur] LT[etan]',\n nextDay: '[bihar] LT[etan]',\n nextWeek: 'dddd LT[etan]',\n lastDay: '[atzo] LT[etan]',\n lastWeek: '[aurreko] dddd LT[etan]',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s barru',\n past: 'duela %s',\n s: 'segundo batzuk',\n ss: '%d segundo',\n m: 'minutu bat',\n mm: '%d minutu',\n h: 'ordu bat',\n hh: '%d ordu',\n d: 'egun bat',\n dd: '%d egun',\n M: 'hilabete bat',\n MM: '%d hilabete',\n y: 'urte bat',\n yy: '%d urte',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$7 = {\n 1: '۱',\n 2: '۲',\n 3: '۳',\n 4: '۴',\n 5: '۵',\n 6: '۶',\n 7: '۷',\n 8: '۸',\n 9: '۹',\n 0: '۰',\n },\n numberMap$6 = {\n '۱': '1',\n '۲': '2',\n '۳': '3',\n '۴': '4',\n '۵': '5',\n '۶': '6',\n '۷': '7',\n '۸': '8',\n '۹': '9',\n '۰': '0',\n };\n\n hooks.defineLocale('fa', {\n months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n '_'\n ),\n monthsShort:\n 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n '_'\n ),\n weekdays:\n 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n '_'\n ),\n weekdaysShort:\n 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n '_'\n ),\n weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /قبل از ظهر|بعد از ظهر/,\n isPM: function (input) {\n return /بعد از ظهر/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'قبل از ظهر';\n } else {\n return 'بعد از ظهر';\n }\n },\n calendar: {\n sameDay: '[امروز ساعت] LT',\n nextDay: '[فردا ساعت] LT',\n nextWeek: 'dddd [ساعت] LT',\n lastDay: '[دیروز ساعت] LT',\n lastWeek: 'dddd [پیش] [ساعت] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'در %s',\n past: '%s پیش',\n s: 'چند ثانیه',\n ss: '%d ثانیه',\n m: 'یک دقیقه',\n mm: '%d دقیقه',\n h: 'یک ساعت',\n hh: '%d ساعت',\n d: 'یک روز',\n dd: '%d روز',\n M: 'یک ماه',\n MM: '%d ماه',\n y: 'یک سال',\n yy: '%d سال',\n },\n preparse: function (string) {\n return string\n .replace(/[۰-۹]/g, function (match) {\n return numberMap$6[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap$7[match];\n })\n .replace(/,/g, '،');\n },\n dayOfMonthOrdinalParse: /\\d{1,2}م/,\n ordinal: '%dم',\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var numbersPast =\n 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(\n ' '\n ),\n numbersFuture = [\n 'nolla',\n 'yhden',\n 'kahden',\n 'kolmen',\n 'neljän',\n 'viiden',\n 'kuuden',\n numbersPast[7],\n numbersPast[8],\n numbersPast[9],\n ];\n function translate$2(number, withoutSuffix, key, isFuture) {\n var result = '';\n switch (key) {\n case 's':\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n case 'ss':\n result = isFuture ? 'sekunnin' : 'sekuntia';\n break;\n case 'm':\n return isFuture ? 'minuutin' : 'minuutti';\n case 'mm':\n result = isFuture ? 'minuutin' : 'minuuttia';\n break;\n case 'h':\n return isFuture ? 'tunnin' : 'tunti';\n case 'hh':\n result = isFuture ? 'tunnin' : 'tuntia';\n break;\n case 'd':\n return isFuture ? 'päivän' : 'päivä';\n case 'dd':\n result = isFuture ? 'päivän' : 'päivää';\n break;\n case 'M':\n return isFuture ? 'kuukauden' : 'kuukausi';\n case 'MM':\n result = isFuture ? 'kuukauden' : 'kuukautta';\n break;\n case 'y':\n return isFuture ? 'vuoden' : 'vuosi';\n case 'yy':\n result = isFuture ? 'vuoden' : 'vuotta';\n break;\n }\n result = verbalNumber(number, isFuture) + ' ' + result;\n return result;\n }\n function verbalNumber(number, isFuture) {\n return number < 10\n ? isFuture\n ? numbersFuture[number]\n : numbersPast[number]\n : number;\n }\n\n hooks.defineLocale('fi', {\n months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split(\n '_'\n ),\n monthsShort:\n 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split(\n '_'\n ),\n weekdays:\n 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split(\n '_'\n ),\n weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'),\n weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM[ta] YYYY',\n LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm',\n LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n l: 'D.M.YYYY',\n ll: 'Do MMM YYYY',\n lll: 'Do MMM YYYY, [klo] HH.mm',\n llll: 'ddd, Do MMM YYYY, [klo] HH.mm',\n },\n calendar: {\n sameDay: '[tänään] [klo] LT',\n nextDay: '[huomenna] [klo] LT',\n nextWeek: 'dddd [klo] LT',\n lastDay: '[eilen] [klo] LT',\n lastWeek: '[viime] dddd[na] [klo] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s päästä',\n past: '%s sitten',\n s: translate$2,\n ss: translate$2,\n m: translate$2,\n mm: translate$2,\n h: translate$2,\n hh: translate$2,\n d: translate$2,\n dd: translate$2,\n M: translate$2,\n MM: translate$2,\n y: translate$2,\n yy: translate$2,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('fil', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n '_'\n ),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n '_'\n ),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('fo', {\n months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays:\n 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split(\n '_'\n ),\n weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D. MMMM, YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Í dag kl.] LT',\n nextDay: '[Í morgin kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[Í gjár kl.] LT',\n lastWeek: '[síðstu] dddd [kl] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'um %s',\n past: '%s síðani',\n s: 'fá sekund',\n ss: '%d sekundir',\n m: 'ein minuttur',\n mm: '%d minuttir',\n h: 'ein tími',\n hh: '%d tímar',\n d: 'ein dagur',\n dd: '%d dagar',\n M: 'ein mánaður',\n MM: '%d mánaðir',\n y: 'eitt ár',\n yy: '%d ár',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('fr-ca', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort:\n 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('fr-ch', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort:\n 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var monthsStrictRegex$1 =\n /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsShortStrictRegex$1 =\n /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?)/i,\n monthsRegex$7 =\n /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsParse$6 = [\n /^janv/i,\n /^févr/i,\n /^mars/i,\n /^avr/i,\n /^mai/i,\n /^juin/i,\n /^juil/i,\n /^août/i,\n /^sept/i,\n /^oct/i,\n /^nov/i,\n /^déc/i,\n ];\n\n hooks.defineLocale('fr', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort:\n 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsRegex: monthsRegex$7,\n monthsShortRegex: monthsRegex$7,\n monthsStrictRegex: monthsStrictRegex$1,\n monthsShortStrictRegex: monthsShortStrictRegex$1,\n monthsParse: monthsParse$6,\n longMonthsParse: monthsParse$6,\n shortMonthsParse: monthsParse$6,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n w: 'une semaine',\n ww: '%d semaines',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n ordinal: function (number, period) {\n switch (period) {\n // TODO: Return 'e' when day of month > 1. Move this case inside\n // block for masculine words below.\n // See https://github.com/moment/moment/issues/3375\n case 'D':\n return number + (number === 1 ? 'er' : '');\n\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var monthsShortWithDots =\n 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),\n monthsShortWithoutDots =\n 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n\n hooks.defineLocale('fy', {\n months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsParseExact: true,\n weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split(\n '_'\n ),\n weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'),\n weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[hjoed om] LT',\n nextDay: '[moarn om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[juster om] LT',\n lastWeek: '[ôfrûne] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'oer %s',\n past: '%s lyn',\n s: 'in pear sekonden',\n ss: '%d sekonden',\n m: 'ien minút',\n mm: '%d minuten',\n h: 'ien oere',\n hh: '%d oeren',\n d: 'ien dei',\n dd: '%d dagen',\n M: 'ien moanne',\n MM: '%d moannen',\n y: 'ien jier',\n yy: '%d jierren',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var months$6 = [\n 'Eanáir',\n 'Feabhra',\n 'Márta',\n 'Aibreán',\n 'Bealtaine',\n 'Meitheamh',\n 'Iúil',\n 'Lúnasa',\n 'Meán Fómhair',\n 'Deireadh Fómhair',\n 'Samhain',\n 'Nollaig',\n ],\n monthsShort$5 = [\n 'Ean',\n 'Feabh',\n 'Márt',\n 'Aib',\n 'Beal',\n 'Meith',\n 'Iúil',\n 'Lún',\n 'M.F.',\n 'D.F.',\n 'Samh',\n 'Noll',\n ],\n weekdays$1 = [\n 'Dé Domhnaigh',\n 'Dé Luain',\n 'Dé Máirt',\n 'Dé Céadaoin',\n 'Déardaoin',\n 'Dé hAoine',\n 'Dé Sathairn',\n ],\n weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'],\n weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa'];\n\n hooks.defineLocale('ga', {\n months: months$6,\n monthsShort: monthsShort$5,\n monthsParseExact: true,\n weekdays: weekdays$1,\n weekdaysShort: weekdaysShort,\n weekdaysMin: weekdaysMin,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Inniu ag] LT',\n nextDay: '[Amárach ag] LT',\n nextWeek: 'dddd [ag] LT',\n lastDay: '[Inné ag] LT',\n lastWeek: 'dddd [seo caite] [ag] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'i %s',\n past: '%s ó shin',\n s: 'cúpla soicind',\n ss: '%d soicind',\n m: 'nóiméad',\n mm: '%d nóiméad',\n h: 'uair an chloig',\n hh: '%d uair an chloig',\n d: 'lá',\n dd: '%d lá',\n M: 'mí',\n MM: '%d míonna',\n y: 'bliain',\n yy: '%d bliain',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var months$7 = [\n 'Am Faoilleach',\n 'An Gearran',\n 'Am Màrt',\n 'An Giblean',\n 'An Cèitean',\n 'An t-Ògmhios',\n 'An t-Iuchar',\n 'An Lùnastal',\n 'An t-Sultain',\n 'An Dàmhair',\n 'An t-Samhain',\n 'An Dùbhlachd',\n ],\n monthsShort$6 = [\n 'Faoi',\n 'Gear',\n 'Màrt',\n 'Gibl',\n 'Cèit',\n 'Ògmh',\n 'Iuch',\n 'Lùn',\n 'Sult',\n 'Dàmh',\n 'Samh',\n 'Dùbh',\n ],\n weekdays$2 = [\n 'Didòmhnaich',\n 'Diluain',\n 'Dimàirt',\n 'Diciadain',\n 'Diardaoin',\n 'Dihaoine',\n 'Disathairne',\n ],\n weekdaysShort$1 = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'],\n weekdaysMin$1 = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n hooks.defineLocale('gd', {\n months: months$7,\n monthsShort: monthsShort$6,\n monthsParseExact: true,\n weekdays: weekdays$2,\n weekdaysShort: weekdaysShort$1,\n weekdaysMin: weekdaysMin$1,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[An-diugh aig] LT',\n nextDay: '[A-màireach aig] LT',\n nextWeek: 'dddd [aig] LT',\n lastDay: '[An-dè aig] LT',\n lastWeek: 'dddd [seo chaidh] [aig] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ann an %s',\n past: 'bho chionn %s',\n s: 'beagan diogan',\n ss: '%d diogan',\n m: 'mionaid',\n mm: '%d mionaidean',\n h: 'uair',\n hh: '%d uairean',\n d: 'latha',\n dd: '%d latha',\n M: 'mìos',\n MM: '%d mìosan',\n y: 'bliadhna',\n yy: '%d bliadhna',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('gl', {\n months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split(\n '_'\n ),\n monthsShort:\n 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n },\n nextDay: function () {\n return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';\n },\n lastDay: function () {\n return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT';\n },\n lastWeek: function () {\n return (\n '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: function (str) {\n if (str.indexOf('un') === 0) {\n return 'n' + str;\n }\n return 'en ' + str;\n },\n past: 'hai %s',\n s: 'uns segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'unha hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n M: 'un mes',\n MM: '%d meses',\n y: 'un ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$5(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'],\n ss: [number + ' सॅकंडांनी', number + ' सॅकंड'],\n m: ['एका मिणटान', 'एक मिनूट'],\n mm: [number + ' मिणटांनी', number + ' मिणटां'],\n h: ['एका वरान', 'एक वर'],\n hh: [number + ' वरांनी', number + ' वरां'],\n d: ['एका दिसान', 'एक दीस'],\n dd: [number + ' दिसांनी', number + ' दीस'],\n M: ['एका म्हयन्यान', 'एक म्हयनो'],\n MM: [number + ' म्हयन्यानी', number + ' म्हयने'],\n y: ['एका वर्सान', 'एक वर्स'],\n yy: [number + ' वर्सांनी', number + ' वर्सां'],\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n hooks.defineLocale('gom-deva', {\n months: {\n standalone:\n 'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n '_'\n ),\n format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split(\n '_'\n ),\n isFormat: /MMMM(\\s)+D[oD]?/,\n },\n monthsShort:\n 'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split('_'),\n weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split('_'),\n weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [वाजतां]',\n LTS: 'A h:mm:ss [वाजतां]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [वाजतां]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]',\n llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]',\n },\n calendar: {\n sameDay: '[आयज] LT',\n nextDay: '[फाल्यां] LT',\n nextWeek: '[फुडलो] dddd[,] LT',\n lastDay: '[काल] LT',\n lastWeek: '[फाटलो] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s',\n past: '%s आदीं',\n s: processRelativeTime$5,\n ss: processRelativeTime$5,\n m: processRelativeTime$5,\n mm: processRelativeTime$5,\n h: processRelativeTime$5,\n hh: processRelativeTime$5,\n d: processRelativeTime$5,\n dd: processRelativeTime$5,\n M: processRelativeTime$5,\n MM: processRelativeTime$5,\n y: processRelativeTime$5,\n yy: processRelativeTime$5,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(वेर)/,\n ordinal: function (number, period) {\n switch (period) {\n // the ordinal 'वेर' only applies to day of the month\n case 'D':\n return number + 'वेर';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week\n doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n },\n meridiemParse: /राती|सकाळीं|दनपारां|सांजे/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राती') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सकाळीं') {\n return hour;\n } else if (meridiem === 'दनपारां') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'सांजे') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'राती';\n } else if (hour < 12) {\n return 'सकाळीं';\n } else if (hour < 16) {\n return 'दनपारां';\n } else if (hour < 20) {\n return 'सांजे';\n } else {\n return 'राती';\n }\n },\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$6(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['thoddea sekondamni', 'thodde sekond'],\n ss: [number + ' sekondamni', number + ' sekond'],\n m: ['eka mintan', 'ek minut'],\n mm: [number + ' mintamni', number + ' mintam'],\n h: ['eka voran', 'ek vor'],\n hh: [number + ' voramni', number + ' voram'],\n d: ['eka disan', 'ek dis'],\n dd: [number + ' disamni', number + ' dis'],\n M: ['eka mhoinean', 'ek mhoino'],\n MM: [number + ' mhoineamni', number + ' mhoine'],\n y: ['eka vorsan', 'ek voros'],\n yy: [number + ' vorsamni', number + ' vorsam'],\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n hooks.defineLocale('gom-latn', {\n months: {\n standalone:\n 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split(\n '_'\n ),\n format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split(\n '_'\n ),\n isFormat: /MMMM(\\s)+D[oD]?/,\n },\n monthsShort:\n 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: \"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var\".split('_'),\n weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [vazta]',\n LTS: 'A h:mm:ss [vazta]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [vazta]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]',\n llll: 'ddd, D MMM YYYY, A h:mm [vazta]',\n },\n calendar: {\n sameDay: '[Aiz] LT',\n nextDay: '[Faleam] LT',\n nextWeek: '[Fuddlo] dddd[,] LT',\n lastDay: '[Kal] LT',\n lastWeek: '[Fattlo] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s',\n past: '%s adim',\n s: processRelativeTime$6,\n ss: processRelativeTime$6,\n m: processRelativeTime$6,\n mm: processRelativeTime$6,\n h: processRelativeTime$6,\n hh: processRelativeTime$6,\n d: processRelativeTime$6,\n dd: processRelativeTime$6,\n M: processRelativeTime$6,\n MM: processRelativeTime$6,\n y: processRelativeTime$6,\n yy: processRelativeTime$6,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er)/,\n ordinal: function (number, period) {\n switch (period) {\n // the ordinal 'er' only applies to day of the month\n case 'D':\n return number + 'er';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week\n doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n },\n meridiemParse: /rati|sokallim|donparam|sanje/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'rati') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'sokallim') {\n return hour;\n } else if (meridiem === 'donparam') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'sanje') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'rati';\n } else if (hour < 12) {\n return 'sokallim';\n } else if (hour < 16) {\n return 'donparam';\n } else if (hour < 20) {\n return 'sanje';\n } else {\n return 'rati';\n }\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$8 = {\n 1: '૧',\n 2: '૨',\n 3: '૩',\n 4: '૪',\n 5: '૫',\n 6: '૬',\n 7: '૭',\n 8: '૮',\n 9: '૯',\n 0: '૦',\n },\n numberMap$7 = {\n '૧': '1',\n '૨': '2',\n '૩': '3',\n '૪': '4',\n '૫': '5',\n '૬': '6',\n '૭': '7',\n '૮': '8',\n '૯': '9',\n '૦': '0',\n };\n\n hooks.defineLocale('gu', {\n months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split(\n '_'\n ),\n monthsShort:\n 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split(\n '_'\n ),\n weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm વાગ્યે',\n LTS: 'A h:mm:ss વાગ્યે',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે',\n },\n calendar: {\n sameDay: '[આજ] LT',\n nextDay: '[કાલે] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ગઇકાલે] LT',\n lastWeek: '[પાછલા] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s મા',\n past: '%s પહેલા',\n s: 'અમુક પળો',\n ss: '%d સેકંડ',\n m: 'એક મિનિટ',\n mm: '%d મિનિટ',\n h: 'એક કલાક',\n hh: '%d કલાક',\n d: 'એક દિવસ',\n dd: '%d દિવસ',\n M: 'એક મહિનો',\n MM: '%d મહિનો',\n y: 'એક વર્ષ',\n yy: '%d વર્ષ',\n },\n preparse: function (string) {\n return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n return numberMap$7[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$8[match];\n });\n },\n // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'રાત') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'સવાર') {\n return hour;\n } else if (meridiem === 'બપોર') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'સાંજ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'રાત';\n } else if (hour < 10) {\n return 'સવાર';\n } else if (hour < 17) {\n return 'બપોર';\n } else if (hour < 20) {\n return 'સાંજ';\n } else {\n return 'રાત';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('he', {\n months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split(\n '_'\n ),\n monthsShort:\n 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\n weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [ב]MMMM YYYY',\n LLL: 'D [ב]MMMM YYYY HH:mm',\n LLLL: 'dddd, D [ב]MMMM YYYY HH:mm',\n l: 'D/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[היום ב־]LT',\n nextDay: '[מחר ב־]LT',\n nextWeek: 'dddd [בשעה] LT',\n lastDay: '[אתמול ב־]LT',\n lastWeek: '[ביום] dddd [האחרון בשעה] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'בעוד %s',\n past: 'לפני %s',\n s: 'מספר שניות',\n ss: '%d שניות',\n m: 'דקה',\n mm: '%d דקות',\n h: 'שעה',\n hh: function (number) {\n if (number === 2) {\n return 'שעתיים';\n }\n return number + ' שעות';\n },\n d: 'יום',\n dd: function (number) {\n if (number === 2) {\n return 'יומיים';\n }\n return number + ' ימים';\n },\n M: 'חודש',\n MM: function (number) {\n if (number === 2) {\n return 'חודשיים';\n }\n return number + ' חודשים';\n },\n y: 'שנה',\n yy: function (number) {\n if (number === 2) {\n return 'שנתיים';\n } else if (number % 10 === 0 && number !== 10) {\n return number + ' שנה';\n }\n return number + ' שנים';\n },\n },\n meridiemParse:\n /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n isPM: function (input) {\n return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 5) {\n return 'לפנות בוקר';\n } else if (hour < 10) {\n return 'בבוקר';\n } else if (hour < 12) {\n return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n } else if (hour < 18) {\n return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n } else {\n return 'בערב';\n }\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$9 = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap$8 = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n },\n monthsParse$7 = [\n /^जन/i,\n /^फ़र|फर/i,\n /^मार्च/i,\n /^अप्रै/i,\n /^मई/i,\n /^जून/i,\n /^जुल/i,\n /^अग/i,\n /^सितं|सित/i,\n /^अक्टू/i,\n /^नव|नवं/i,\n /^दिसं|दिस/i,\n ],\n shortMonthsParse = [\n /^जन/i,\n /^फ़र/i,\n /^मार्च/i,\n /^अप्रै/i,\n /^मई/i,\n /^जून/i,\n /^जुल/i,\n /^अग/i,\n /^सित/i,\n /^अक्टू/i,\n /^नव/i,\n /^दिस/i,\n ];\n\n hooks.defineLocale('hi', {\n months: {\n format: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split(\n '_'\n ),\n standalone:\n 'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split(\n '_'\n ),\n },\n monthsShort:\n 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat: {\n LT: 'A h:mm बजे',\n LTS: 'A h:mm:ss बजे',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm बजे',\n LLLL: 'dddd, D MMMM YYYY, A h:mm बजे',\n },\n\n monthsParse: monthsParse$7,\n longMonthsParse: monthsParse$7,\n shortMonthsParse: shortMonthsParse,\n\n monthsRegex:\n /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n monthsShortRegex:\n /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n monthsStrictRegex:\n /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i,\n\n monthsShortStrictRegex:\n /^(जन\\.?|फ़र\\.?|मार्च?|अप्रै\\.?|मई?|जून?|जुल\\.?|अग\\.?|सित\\.?|अक्टू\\.?|नव\\.?|दिस\\.?)/i,\n\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[कल] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[कल] LT',\n lastWeek: '[पिछले] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s में',\n past: '%s पहले',\n s: 'कुछ ही क्षण',\n ss: '%d सेकंड',\n m: 'एक मिनट',\n mm: '%d मिनट',\n h: 'एक घंटा',\n hh: '%d घंटे',\n d: 'एक दिन',\n dd: '%d दिन',\n M: 'एक महीने',\n MM: '%d महीने',\n y: 'एक वर्ष',\n yy: '%d वर्ष',\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap$8[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$9[match];\n });\n },\n // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सुबह') {\n return hour;\n } else if (meridiem === 'दोपहर') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'शाम') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात';\n } else if (hour < 10) {\n return 'सुबह';\n } else if (hour < 17) {\n return 'दोपहर';\n } else if (hour < 20) {\n return 'शाम';\n } else {\n return 'रात';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function translate$3(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n hooks.defineLocale('hr', {\n months: {\n format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split(\n '_'\n ),\n standalone:\n 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split(\n '_'\n ),\n },\n monthsShort:\n 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM YYYY',\n LLL: 'Do MMMM YYYY H:mm',\n LLLL: 'dddd, Do MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[prošlu] [nedjelju] [u] LT';\n case 3:\n return '[prošlu] [srijedu] [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate$3,\n m: translate$3,\n mm: translate$3,\n h: translate$3,\n hh: translate$3,\n d: 'dan',\n dd: translate$3,\n M: 'mjesec',\n MM: translate$3,\n y: 'godinu',\n yy: translate$3,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var weekEndings =\n 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\n function translate$4(number, withoutSuffix, key, isFuture) {\n var num = number;\n switch (key) {\n case 's':\n return isFuture || withoutSuffix\n ? 'néhány másodperc'\n : 'néhány másodperce';\n case 'ss':\n return num + (isFuture || withoutSuffix)\n ? ' másodperc'\n : ' másodperce';\n case 'm':\n return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'mm':\n return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'h':\n return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'hh':\n return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'd':\n return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'dd':\n return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'M':\n return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'MM':\n return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'y':\n return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n case 'yy':\n return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n }\n return '';\n }\n function week(isFuture) {\n return (\n (isFuture ? '' : '[múlt] ') +\n '[' +\n weekEndings[this.day()] +\n '] LT[-kor]'\n );\n }\n\n hooks.defineLocale('hu', {\n months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY. MMMM D.',\n LLL: 'YYYY. MMMM D. H:mm',\n LLLL: 'YYYY. MMMM D., dddd H:mm',\n },\n meridiemParse: /de|du/i,\n isPM: function (input) {\n return input.charAt(1).toLowerCase() === 'u';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower === true ? 'de' : 'DE';\n } else {\n return isLower === true ? 'du' : 'DU';\n }\n },\n calendar: {\n sameDay: '[ma] LT[-kor]',\n nextDay: '[holnap] LT[-kor]',\n nextWeek: function () {\n return week.call(this, true);\n },\n lastDay: '[tegnap] LT[-kor]',\n lastWeek: function () {\n return week.call(this, false);\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s múlva',\n past: '%s',\n s: translate$4,\n ss: translate$4,\n m: translate$4,\n mm: translate$4,\n h: translate$4,\n hh: translate$4,\n d: translate$4,\n dd: translate$4,\n M: translate$4,\n MM: translate$4,\n y: translate$4,\n yy: translate$4,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('hy-am', {\n months: {\n format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split(\n '_'\n ),\n standalone:\n 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split(\n '_'\n ),\n },\n monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n weekdays:\n 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split(\n '_'\n ),\n weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY թ.',\n LLL: 'D MMMM YYYY թ., HH:mm',\n LLLL: 'dddd, D MMMM YYYY թ., HH:mm',\n },\n calendar: {\n sameDay: '[այսօր] LT',\n nextDay: '[վաղը] LT',\n lastDay: '[երեկ] LT',\n nextWeek: function () {\n return 'dddd [օրը ժամը] LT';\n },\n lastWeek: function () {\n return '[անցած] dddd [օրը ժամը] LT';\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s հետո',\n past: '%s առաջ',\n s: 'մի քանի վայրկյան',\n ss: '%d վայրկյան',\n m: 'րոպե',\n mm: '%d րոպե',\n h: 'ժամ',\n hh: '%d ժամ',\n d: 'օր',\n dd: '%d օր',\n M: 'ամիս',\n MM: '%d ամիս',\n y: 'տարի',\n yy: '%d տարի',\n },\n meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n isPM: function (input) {\n return /^(ցերեկվա|երեկոյան)$/.test(input);\n },\n meridiem: function (hour) {\n if (hour < 4) {\n return 'գիշերվա';\n } else if (hour < 12) {\n return 'առավոտվա';\n } else if (hour < 17) {\n return 'ցերեկվա';\n } else {\n return 'երեկոյան';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'DDD':\n case 'w':\n case 'W':\n case 'DDDo':\n if (number === 1) {\n return number + '-ին';\n }\n return number + '-րդ';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('id', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|siang|sore|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'siang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sore' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'siang';\n } else if (hours < 19) {\n return 'sore';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Besok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kemarin pukul] LT',\n lastWeek: 'dddd [lalu pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lalu',\n s: 'beberapa detik',\n ss: '%d detik',\n m: 'semenit',\n mm: '%d menit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function plural$2(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n return true;\n }\n function translate$5(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture\n ? 'nokkrar sekúndur'\n : 'nokkrum sekúndum';\n case 'ss':\n if (plural$2(number)) {\n return (\n result +\n (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum')\n );\n }\n return result + 'sekúnda';\n case 'm':\n return withoutSuffix ? 'mínúta' : 'mínútu';\n case 'mm':\n if (plural$2(number)) {\n return (\n result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum')\n );\n } else if (withoutSuffix) {\n return result + 'mínúta';\n }\n return result + 'mínútu';\n case 'hh':\n if (plural$2(number)) {\n return (\n result +\n (withoutSuffix || isFuture\n ? 'klukkustundir'\n : 'klukkustundum')\n );\n }\n return result + 'klukkustund';\n case 'd':\n if (withoutSuffix) {\n return 'dagur';\n }\n return isFuture ? 'dag' : 'degi';\n case 'dd':\n if (plural$2(number)) {\n if (withoutSuffix) {\n return result + 'dagar';\n }\n return result + (isFuture ? 'daga' : 'dögum');\n } else if (withoutSuffix) {\n return result + 'dagur';\n }\n return result + (isFuture ? 'dag' : 'degi');\n case 'M':\n if (withoutSuffix) {\n return 'mánuður';\n }\n return isFuture ? 'mánuð' : 'mánuði';\n case 'MM':\n if (plural$2(number)) {\n if (withoutSuffix) {\n return result + 'mánuðir';\n }\n return result + (isFuture ? 'mánuði' : 'mánuðum');\n } else if (withoutSuffix) {\n return result + 'mánuður';\n }\n return result + (isFuture ? 'mánuð' : 'mánuði');\n case 'y':\n return withoutSuffix || isFuture ? 'ár' : 'ári';\n case 'yy':\n if (plural$2(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n }\n\n hooks.defineLocale('is', {\n months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n weekdays:\n 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split(\n '_'\n ),\n weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm',\n },\n calendar: {\n sameDay: '[í dag kl.] LT',\n nextDay: '[á morgun kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[í gær kl.] LT',\n lastWeek: '[síðasta] dddd [kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'eftir %s',\n past: 'fyrir %s síðan',\n s: translate$5,\n ss: translate$5,\n m: translate$5,\n mm: translate$5,\n h: 'klukkustund',\n hh: translate$5,\n d: translate$5,\n dd: translate$5,\n M: translate$5,\n MM: translate$5,\n y: translate$5,\n yy: translate$5,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('it-ch', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n '_'\n ),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n '_'\n ),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Oggi alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n lastDay: '[Ieri alle] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[la scorsa] dddd [alle] LT';\n default:\n return '[lo scorso] dddd [alle] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: function (s) {\n return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s;\n },\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: \"un'ora\",\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('it', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n '_'\n ),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n '_'\n ),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: function () {\n return (\n '[Oggi a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n nextDay: function () {\n return (\n '[Domani a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n nextWeek: function () {\n return (\n 'dddd [a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n lastDay: function () {\n return (\n '[Ieri a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return (\n '[La scorsa] dddd [a' +\n (this.hours() > 1\n ? 'lle '\n : this.hours() === 0\n ? ' '\n : \"ll'\") +\n ']LT'\n );\n default:\n return (\n '[Lo scorso] dddd [a' +\n (this.hours() > 1\n ? 'lle '\n : this.hours() === 0\n ? ' '\n : \"ll'\") +\n ']LT'\n );\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'tra %s',\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: \"un'ora\",\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n w: 'una settimana',\n ww: '%d settimane',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ja', {\n eras: [\n {\n since: '2019-05-01',\n offset: 1,\n name: '令和',\n narrow: '㋿',\n abbr: 'R',\n },\n {\n since: '1989-01-08',\n until: '2019-04-30',\n offset: 1,\n name: '平成',\n narrow: '㍻',\n abbr: 'H',\n },\n {\n since: '1926-12-25',\n until: '1989-01-07',\n offset: 1,\n name: '昭和',\n narrow: '㍼',\n abbr: 'S',\n },\n {\n since: '1912-07-30',\n until: '1926-12-24',\n offset: 1,\n name: '大正',\n narrow: '㍽',\n abbr: 'T',\n },\n {\n since: '1873-01-01',\n until: '1912-07-29',\n offset: 6,\n name: '明治',\n narrow: '㍾',\n abbr: 'M',\n },\n {\n since: '0001-01-01',\n until: '1873-12-31',\n offset: 1,\n name: '西暦',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: '紀元前',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n eraYearOrdinalRegex: /(元|\\d+)年/,\n eraYearOrdinalParse: function (input, match) {\n return match[1] === '元' ? 1 : parseInt(match[1] || input, 10);\n },\n months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n weekdaysShort: '日_月_火_水_木_金_土'.split('_'),\n weekdaysMin: '日_月_火_水_木_金_土'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日 dddd HH:mm',\n l: 'YYYY/MM/DD',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日(ddd) HH:mm',\n },\n meridiemParse: /午前|午後/i,\n isPM: function (input) {\n return input === '午後';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return '午前';\n } else {\n return '午後';\n }\n },\n calendar: {\n sameDay: '[今日] LT',\n nextDay: '[明日] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n return '[来週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n lastDay: '[昨日] LT',\n lastWeek: function (now) {\n if (this.week() !== now.week()) {\n return '[先週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}日/,\n ordinal: function (number, period) {\n switch (period) {\n case 'y':\n return number === 1 ? '元年' : number + '年';\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '数秒',\n ss: '%d秒',\n m: '1分',\n mm: '%d分',\n h: '1時間',\n hh: '%d時間',\n d: '1日',\n dd: '%d日',\n M: '1ヶ月',\n MM: '%dヶ月',\n y: '1年',\n yy: '%d年',\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('jv', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /enjing|siyang|sonten|ndalu/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'enjing') {\n return hour;\n } else if (meridiem === 'siyang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'enjing';\n } else if (hours < 15) {\n return 'siyang';\n } else if (hours < 19) {\n return 'sonten';\n } else {\n return 'ndalu';\n }\n },\n calendar: {\n sameDay: '[Dinten puniko pukul] LT',\n nextDay: '[Mbenjang pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kala wingi pukul] LT',\n lastWeek: 'dddd [kepengker pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'wonten ing %s',\n past: '%s ingkang kepengker',\n s: 'sawetawis detik',\n ss: '%d detik',\n m: 'setunggal menit',\n mm: '%d menit',\n h: 'setunggal jam',\n hh: '%d jam',\n d: 'sedinten',\n dd: '%d dinten',\n M: 'sewulan',\n MM: '%d wulan',\n y: 'setaun',\n yy: '%d taun',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ka', {\n months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split(\n '_'\n ),\n monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays: {\n standalone:\n 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split(\n '_'\n ),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split(\n '_'\n ),\n isFormat: /(წინა|შემდეგ)/,\n },\n weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[დღეს] LT[-ზე]',\n nextDay: '[ხვალ] LT[-ზე]',\n lastDay: '[გუშინ] LT[-ზე]',\n nextWeek: '[შემდეგ] dddd LT[-ზე]',\n lastWeek: '[წინა] dddd LT-ზე',\n sameElse: 'L',\n },\n relativeTime: {\n future: function (s) {\n return s.replace(\n /(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/,\n function ($0, $1, $2) {\n return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში';\n }\n );\n },\n past: function (s) {\n if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) {\n return s.replace(/(ი|ე)$/, 'ის წინ');\n }\n if (/წელი/.test(s)) {\n return s.replace(/წელი$/, 'წლის წინ');\n }\n return s;\n },\n s: 'რამდენიმე წამი',\n ss: '%d წამი',\n m: 'წუთი',\n mm: '%d წუთი',\n h: 'საათი',\n hh: '%d საათი',\n d: 'დღე',\n dd: '%d დღე',\n M: 'თვე',\n MM: '%d თვე',\n y: 'წელი',\n yy: '%d წელი',\n },\n dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n ordinal: function (number) {\n if (number === 0) {\n return number;\n }\n if (number === 1) {\n return number + '-ლი';\n }\n if (\n number < 20 ||\n (number <= 100 && number % 20 === 0) ||\n number % 100 === 0\n ) {\n return 'მე-' + number;\n }\n return number + '-ე';\n },\n week: {\n dow: 1,\n doy: 7,\n },\n });\n\n //! moment.js locale configuration\n\n var suffixes$1 = {\n 0: '-ші',\n 1: '-ші',\n 2: '-ші',\n 3: '-ші',\n 4: '-ші',\n 5: '-ші',\n 6: '-шы',\n 7: '-ші',\n 8: '-ші',\n 9: '-шы',\n 10: '-шы',\n 20: '-шы',\n 30: '-шы',\n 40: '-шы',\n 50: '-ші',\n 60: '-шы',\n 70: '-ші',\n 80: '-ші',\n 90: '-шы',\n 100: '-ші',\n };\n\n hooks.defineLocale('kk', {\n months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split(\n '_'\n ),\n monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split(\n '_'\n ),\n weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Бүгін сағат] LT',\n nextDay: '[Ертең сағат] LT',\n nextWeek: 'dddd [сағат] LT',\n lastDay: '[Кеше сағат] LT',\n lastWeek: '[Өткен аптаның] dddd [сағат] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ішінде',\n past: '%s бұрын',\n s: 'бірнеше секунд',\n ss: '%d секунд',\n m: 'бір минут',\n mm: '%d минут',\n h: 'бір сағат',\n hh: '%d сағат',\n d: 'бір күн',\n dd: '%d күн',\n M: 'бір ай',\n MM: '%d ай',\n y: 'бір жыл',\n yy: '%d жыл',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes$1[number] || suffixes$1[a] || suffixes$1[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$a = {\n 1: '១',\n 2: '២',\n 3: '៣',\n 4: '៤',\n 5: '៥',\n 6: '៦',\n 7: '៧',\n 8: '៨',\n 9: '៩',\n 0: '០',\n },\n numberMap$9 = {\n '១': '1',\n '២': '2',\n '៣': '3',\n '៤': '4',\n '៥': '5',\n '៦': '6',\n '៧': '7',\n '៨': '8',\n '៩': '9',\n '០': '0',\n };\n\n hooks.defineLocale('km', {\n months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n monthsShort:\n 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /ព្រឹក|ល្ងាច/,\n isPM: function (input) {\n return input === 'ល្ងាច';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ព្រឹក';\n } else {\n return 'ល្ងាច';\n }\n },\n calendar: {\n sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n nextDay: '[ស្អែក ម៉ោង] LT',\n nextWeek: 'dddd [ម៉ោង] LT',\n lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sទៀត',\n past: '%sមុន',\n s: 'ប៉ុន្មានវិនាទី',\n ss: '%d វិនាទី',\n m: 'មួយនាទី',\n mm: '%d នាទី',\n h: 'មួយម៉ោង',\n hh: '%d ម៉ោង',\n d: 'មួយថ្ងៃ',\n dd: '%d ថ្ងៃ',\n M: 'មួយខែ',\n MM: '%d ខែ',\n y: 'មួយឆ្នាំ',\n yy: '%d ឆ្នាំ',\n },\n dayOfMonthOrdinalParse: /ទី\\d{1,2}/,\n ordinal: 'ទី%d',\n preparse: function (string) {\n return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n return numberMap$9[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$a[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$b = {\n 1: '೧',\n 2: '೨',\n 3: '೩',\n 4: '೪',\n 5: '೫',\n 6: '೬',\n 7: '೭',\n 8: '೮',\n 9: '೯',\n 0: '೦',\n },\n numberMap$a = {\n '೧': '1',\n '೨': '2',\n '೩': '3',\n '೪': '4',\n '೫': '5',\n '೬': '6',\n '೭': '7',\n '೮': '8',\n '೯': '9',\n '೦': '0',\n };\n\n hooks.defineLocale('kn', {\n months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split(\n '_'\n ),\n monthsShort:\n 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split(\n '_'\n ),\n weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[ಇಂದು] LT',\n nextDay: '[ನಾಳೆ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ನಿನ್ನೆ] LT',\n lastWeek: '[ಕೊನೆಯ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ನಂತರ',\n past: '%s ಹಿಂದೆ',\n s: 'ಕೆಲವು ಕ್ಷಣಗಳು',\n ss: '%d ಸೆಕೆಂಡುಗಳು',\n m: 'ಒಂದು ನಿಮಿಷ',\n mm: '%d ನಿಮಿಷ',\n h: 'ಒಂದು ಗಂಟೆ',\n hh: '%d ಗಂಟೆ',\n d: 'ಒಂದು ದಿನ',\n dd: '%d ದಿನ',\n M: 'ಒಂದು ತಿಂಗಳು',\n MM: '%d ತಿಂಗಳು',\n y: 'ಒಂದು ವರ್ಷ',\n yy: '%d ವರ್ಷ',\n },\n preparse: function (string) {\n return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n return numberMap$a[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$b[match];\n });\n },\n meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ರಾತ್ರಿ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n return hour;\n } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ಸಂಜೆ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ರಾತ್ರಿ';\n } else if (hour < 10) {\n return 'ಬೆಳಿಗ್ಗೆ';\n } else if (hour < 17) {\n return 'ಮಧ್ಯಾಹ್ನ';\n } else if (hour < 20) {\n return 'ಸಂಜೆ';\n } else {\n return 'ರಾತ್ರಿ';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n ordinal: function (number) {\n return number + 'ನೇ';\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ko', {\n months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split(\n '_'\n ),\n weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n weekdaysShort: '일_월_화_수_목_금_토'.split('_'),\n weekdaysMin: '일_월_화_수_목_금_토'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY년 MMMM D일',\n LLL: 'YYYY년 MMMM D일 A h:mm',\n LLLL: 'YYYY년 MMMM D일 dddd A h:mm',\n l: 'YYYY.MM.DD.',\n ll: 'YYYY년 MMMM D일',\n lll: 'YYYY년 MMMM D일 A h:mm',\n llll: 'YYYY년 MMMM D일 dddd A h:mm',\n },\n calendar: {\n sameDay: '오늘 LT',\n nextDay: '내일 LT',\n nextWeek: 'dddd LT',\n lastDay: '어제 LT',\n lastWeek: '지난주 dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s 후',\n past: '%s 전',\n s: '몇 초',\n ss: '%d초',\n m: '1분',\n mm: '%d분',\n h: '한 시간',\n hh: '%d시간',\n d: '하루',\n dd: '%d일',\n M: '한 달',\n MM: '%d달',\n y: '일 년',\n yy: '%d년',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(일|월|주)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '일';\n case 'M':\n return number + '월';\n case 'w':\n case 'W':\n return number + '주';\n default:\n return number;\n }\n },\n meridiemParse: /오전|오후/,\n isPM: function (token) {\n return token === '오후';\n },\n meridiem: function (hour, minute, isUpper) {\n return hour < 12 ? '오전' : '오후';\n },\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$7(num, withoutSuffix, key, isFuture) {\n var format = {\n s: ['çend sanîye', 'çend sanîyeyan'],\n ss: [num + ' sanîye', num + ' sanîyeyan'],\n m: ['deqîqeyek', 'deqîqeyekê'],\n mm: [num + ' deqîqe', num + ' deqîqeyan'],\n h: ['saetek', 'saetekê'],\n hh: [num + ' saet', num + ' saetan'],\n d: ['rojek', 'rojekê'],\n dd: [num + ' roj', num + ' rojan'],\n w: ['hefteyek', 'hefteyekê'],\n ww: [num + ' hefte', num + ' hefteyan'],\n M: ['mehek', 'mehekê'],\n MM: [num + ' meh', num + ' mehan'],\n y: ['salek', 'salekê'],\n yy: [num + ' sal', num + ' salan'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n // function obliqueNumSuffix(num) {\n // if(num.includes(':'))\n // num = parseInt(num.split(':')[0]);\n // else\n // num = parseInt(num);\n // return num == 0 || num % 10 == 1 ? 'ê'\n // : (num > 10 && num % 10 == 0 ? 'î' : 'an');\n // }\n function ezafeNumSuffix(num) {\n num = '' + num;\n var l = num.substring(num.length - 1),\n ll = num.length > 1 ? num.substring(num.length - 2) : '';\n if (\n !(ll == 12 || ll == 13) &&\n (l == '2' || l == '3' || ll == '50' || l == '70' || l == '80')\n )\n return 'yê';\n return 'ê';\n }\n\n hooks.defineLocale('ku-kmr', {\n // According to the spelling rules defined by the work group of Weqfa Mezopotamyayê (Mesopotamia Foundation)\n // this should be: 'Kanûna Paşîn_Sibat_Adar_Nîsan_Gulan_Hezîran_Tîrmeh_Tebax_Îlon_Çirîya Pêşîn_Çirîya Paşîn_Kanûna Pêşîn'\n // But the names below are more well known and handy\n months: 'Rêbendan_Sibat_Adar_Nîsan_Gulan_Hezîran_Tîrmeh_Tebax_Îlon_Cotmeh_Mijdar_Berfanbar'.split(\n '_'\n ),\n monthsShort: 'Rêb_Sib_Ada_Nîs_Gul_Hez_Tîr_Teb_Îlo_Cot_Mij_Ber'.split('_'),\n monthsParseExact: true,\n weekdays: 'Yekşem_Duşem_Sêşem_Çarşem_Pêncşem_În_Şemî'.split('_'),\n weekdaysShort: 'Yek_Du_Sê_Çar_Pên_În_Şem'.split('_'),\n weekdaysMin: 'Ye_Du_Sê_Ça_Pê_În_Şe'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'bn' : 'BN';\n } else {\n return isLower ? 'pn' : 'PN';\n }\n },\n meridiemParse: /bn|BN|pn|PN/,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM[a] YYYY[an]',\n LLL: 'Do MMMM[a] YYYY[an] HH:mm',\n LLLL: 'dddd, Do MMMM[a] YYYY[an] HH:mm',\n ll: 'Do MMM[.] YYYY[an]',\n lll: 'Do MMM[.] YYYY[an] HH:mm',\n llll: 'ddd[.], Do MMM[.] YYYY[an] HH:mm',\n },\n calendar: {\n sameDay: '[Îro di saet] LT [de]',\n nextDay: '[Sibê di saet] LT [de]',\n nextWeek: 'dddd [di saet] LT [de]',\n lastDay: '[Duh di saet] LT [de]',\n lastWeek: 'dddd[a borî di saet] LT [de]',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'di %s de',\n past: 'berî %s',\n s: processRelativeTime$7,\n ss: processRelativeTime$7,\n m: processRelativeTime$7,\n mm: processRelativeTime$7,\n h: processRelativeTime$7,\n hh: processRelativeTime$7,\n d: processRelativeTime$7,\n dd: processRelativeTime$7,\n w: processRelativeTime$7,\n ww: processRelativeTime$7,\n M: processRelativeTime$7,\n MM: processRelativeTime$7,\n y: processRelativeTime$7,\n yy: processRelativeTime$7,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(?:yê|ê|\\.)/,\n ordinal: function (num, period) {\n var p = period.toLowerCase();\n if (p.includes('w') || p.includes('m')) return num + '.';\n\n return num + ezafeNumSuffix(num);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$c = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap$b = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n },\n months$8 = [\n 'کانونی دووەم',\n 'شوبات',\n 'ئازار',\n 'نیسان',\n 'ئایار',\n 'حوزەیران',\n 'تەمموز',\n 'ئاب',\n 'ئەیلوول',\n 'تشرینی یەكەم',\n 'تشرینی دووەم',\n 'كانونی یەکەم',\n ];\n\n hooks.defineLocale('ku', {\n months: months$8,\n monthsShort: months$8,\n weekdays:\n 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split(\n '_'\n ),\n weekdaysShort:\n 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split('_'),\n weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /ئێواره‌|به‌یانی/,\n isPM: function (input) {\n return /ئێواره‌/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'به‌یانی';\n } else {\n return 'ئێواره‌';\n }\n },\n calendar: {\n sameDay: '[ئه‌مرۆ كاتژمێر] LT',\n nextDay: '[به‌یانی كاتژمێر] LT',\n nextWeek: 'dddd [كاتژمێر] LT',\n lastDay: '[دوێنێ كاتژمێر] LT',\n lastWeek: 'dddd [كاتژمێر] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'له‌ %s',\n past: '%s',\n s: 'چه‌ند چركه‌یه‌ك',\n ss: 'چركه‌ %d',\n m: 'یه‌ك خوله‌ك',\n mm: '%d خوله‌ك',\n h: 'یه‌ك كاتژمێر',\n hh: '%d كاتژمێر',\n d: 'یه‌ك ڕۆژ',\n dd: '%d ڕۆژ',\n M: 'یه‌ك مانگ',\n MM: '%d مانگ',\n y: 'یه‌ك ساڵ',\n yy: '%d ساڵ',\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap$b[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap$c[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var suffixes$2 = {\n 0: '-чү',\n 1: '-чи',\n 2: '-чи',\n 3: '-чү',\n 4: '-чү',\n 5: '-чи',\n 6: '-чы',\n 7: '-чи',\n 8: '-чи',\n 9: '-чу',\n 10: '-чу',\n 20: '-чы',\n 30: '-чу',\n 40: '-чы',\n 50: '-чү',\n 60: '-чы',\n 70: '-чи',\n 80: '-чи',\n 90: '-чу',\n 100: '-чү',\n };\n\n hooks.defineLocale('ky', {\n months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n '_'\n ),\n monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split(\n '_'\n ),\n weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split(\n '_'\n ),\n weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Бүгүн саат] LT',\n nextDay: '[Эртең саат] LT',\n nextWeek: 'dddd [саат] LT',\n lastDay: '[Кечээ саат] LT',\n lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ичинде',\n past: '%s мурун',\n s: 'бирнече секунд',\n ss: '%d секунд',\n m: 'бир мүнөт',\n mm: '%d мүнөт',\n h: 'бир саат',\n hh: '%d саат',\n d: 'бир күн',\n dd: '%d күн',\n M: 'бир ай',\n MM: '%d ай',\n y: 'бир жыл',\n yy: '%d жыл',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes$2[number] || suffixes$2[a] || suffixes$2[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$8(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eng Minutt', 'enger Minutt'],\n h: ['eng Stonn', 'enger Stonn'],\n d: ['een Dag', 'engem Dag'],\n M: ['ee Mount', 'engem Mount'],\n y: ['ee Joer', 'engem Joer'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n function processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n return 'an ' + string;\n }\n function processPastTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'viru ' + string;\n }\n return 'virun ' + string;\n }\n /**\n * Returns true if the word before the given number loses the '-n' ending.\n * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n *\n * @param number {integer}\n * @returns {boolean}\n */\n function eifelerRegelAppliesToNumber(number) {\n number = parseInt(number, 10);\n if (isNaN(number)) {\n return false;\n }\n if (number < 0) {\n // Negative Number --> always true\n return true;\n } else if (number < 10) {\n // Only 1 digit\n if (4 <= number && number <= 7) {\n return true;\n }\n return false;\n } else if (number < 100) {\n // 2 digits\n var lastDigit = number % 10,\n firstDigit = number / 10;\n if (lastDigit === 0) {\n return eifelerRegelAppliesToNumber(firstDigit);\n }\n return eifelerRegelAppliesToNumber(lastDigit);\n } else if (number < 10000) {\n // 3 or 4 digits --> recursively check first digit\n while (number >= 10) {\n number = number / 10;\n }\n return eifelerRegelAppliesToNumber(number);\n } else {\n // Anything larger than 4 digits: recursively check first n-3 digits\n number = number / 1000;\n return eifelerRegelAppliesToNumber(number);\n }\n }\n\n hooks.defineLocale('lb', {\n months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split(\n '_'\n ),\n weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm [Auer]',\n LTS: 'H:mm:ss [Auer]',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm [Auer]',\n LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]',\n },\n calendar: {\n sameDay: '[Haut um] LT',\n sameElse: 'L',\n nextDay: '[Muer um] LT',\n nextWeek: 'dddd [um] LT',\n lastDay: '[Gëschter um] LT',\n lastWeek: function () {\n // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n switch (this.day()) {\n case 2:\n case 4:\n return '[Leschten] dddd [um] LT';\n default:\n return '[Leschte] dddd [um] LT';\n }\n },\n },\n relativeTime: {\n future: processFutureTime,\n past: processPastTime,\n s: 'e puer Sekonnen',\n ss: '%d Sekonnen',\n m: processRelativeTime$8,\n mm: '%d Minutten',\n h: processRelativeTime$8,\n hh: '%d Stonnen',\n d: processRelativeTime$8,\n dd: '%d Deeg',\n M: processRelativeTime$8,\n MM: '%d Méint',\n y: processRelativeTime$8,\n yy: '%d Joer',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('lo', {\n months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n '_'\n ),\n monthsShort:\n 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n '_'\n ),\n weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'ວັນdddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n isPM: function (input) {\n return input === 'ຕອນແລງ';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ຕອນເຊົ້າ';\n } else {\n return 'ຕອນແລງ';\n }\n },\n calendar: {\n sameDay: '[ມື້ນີ້ເວລາ] LT',\n nextDay: '[ມື້ອື່ນເວລາ] LT',\n nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT',\n lastDay: '[ມື້ວານນີ້ເວລາ] LT',\n lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ອີກ %s',\n past: '%sຜ່ານມາ',\n s: 'ບໍ່ເທົ່າໃດວິນາທີ',\n ss: '%d ວິນາທີ',\n m: '1 ນາທີ',\n mm: '%d ນາທີ',\n h: '1 ຊົ່ວໂມງ',\n hh: '%d ຊົ່ວໂມງ',\n d: '1 ມື້',\n dd: '%d ມື້',\n M: '1 ເດືອນ',\n MM: '%d ເດືອນ',\n y: '1 ປີ',\n yy: '%d ປີ',\n },\n dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n ordinal: function (number) {\n return 'ທີ່' + number;\n },\n });\n\n //! moment.js locale configuration\n\n var units = {\n ss: 'sekundė_sekundžių_sekundes',\n m: 'minutė_minutės_minutę',\n mm: 'minutės_minučių_minutes',\n h: 'valanda_valandos_valandą',\n hh: 'valandos_valandų_valandas',\n d: 'diena_dienos_dieną',\n dd: 'dienos_dienų_dienas',\n M: 'mėnuo_mėnesio_mėnesį',\n MM: 'mėnesiai_mėnesių_mėnesius',\n y: 'metai_metų_metus',\n yy: 'metai_metų_metus',\n };\n function translateSeconds(number, withoutSuffix, key, isFuture) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n }\n function translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix\n ? forms(key)[0]\n : isFuture\n ? forms(key)[1]\n : forms(key)[2];\n }\n function special(number) {\n return number % 10 === 0 || (number > 10 && number < 20);\n }\n function forms(key) {\n return units[key].split('_');\n }\n function translate$6(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n if (number === 1) {\n return (\n result + translateSingular(number, withoutSuffix, key[0], isFuture)\n );\n } else if (withoutSuffix) {\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n }\n }\n }\n hooks.defineLocale('lt', {\n months: {\n format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split(\n '_'\n ),\n standalone:\n 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split(\n '_'\n ),\n isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/,\n },\n monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n weekdays: {\n format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split(\n '_'\n ),\n standalone:\n 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split(\n '_'\n ),\n isFormat: /dddd HH:mm/,\n },\n weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY [m.] MMMM D [d.]',\n LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n l: 'YYYY-MM-DD',\n ll: 'YYYY [m.] MMMM D [d.]',\n lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]',\n },\n calendar: {\n sameDay: '[Šiandien] LT',\n nextDay: '[Rytoj] LT',\n nextWeek: 'dddd LT',\n lastDay: '[Vakar] LT',\n lastWeek: '[Praėjusį] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'po %s',\n past: 'prieš %s',\n s: translateSeconds,\n ss: translate$6,\n m: translateSingular,\n mm: translate$6,\n h: translateSingular,\n hh: translate$6,\n d: translateSingular,\n dd: translate$6,\n M: translateSingular,\n MM: translate$6,\n y: translateSingular,\n yy: translate$6,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n ordinal: function (number) {\n return number + '-oji';\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var units$1 = {\n ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n m: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n h: 'stundas_stundām_stunda_stundas'.split('_'),\n hh: 'stundas_stundām_stunda_stundas'.split('_'),\n d: 'dienas_dienām_diena_dienas'.split('_'),\n dd: 'dienas_dienām_diena_dienas'.split('_'),\n M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n y: 'gada_gadiem_gads_gadi'.split('_'),\n yy: 'gada_gadiem_gads_gadi'.split('_'),\n };\n /**\n * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n */\n function format$1(forms, number, withoutSuffix) {\n if (withoutSuffix) {\n // E.g. \"21 minūte\", \"3 minūtes\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n } else {\n // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n }\n }\n function relativeTimeWithPlural$1(number, withoutSuffix, key) {\n return number + ' ' + format$1(units$1[key], number, withoutSuffix);\n }\n function relativeTimeWithSingular(number, withoutSuffix, key) {\n return format$1(units$1[key], number, withoutSuffix);\n }\n function relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n }\n\n hooks.defineLocale('lv', {\n months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n weekdays:\n 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split(\n '_'\n ),\n weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY.',\n LL: 'YYYY. [gada] D. MMMM',\n LLL: 'YYYY. [gada] D. MMMM, HH:mm',\n LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm',\n },\n calendar: {\n sameDay: '[Šodien pulksten] LT',\n nextDay: '[Rīt pulksten] LT',\n nextWeek: 'dddd [pulksten] LT',\n lastDay: '[Vakar pulksten] LT',\n lastWeek: '[Pagājušā] dddd [pulksten] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'pēc %s',\n past: 'pirms %s',\n s: relativeSeconds,\n ss: relativeTimeWithPlural$1,\n m: relativeTimeWithSingular,\n mm: relativeTimeWithPlural$1,\n h: relativeTimeWithSingular,\n hh: relativeTimeWithPlural$1,\n d: relativeTimeWithSingular,\n dd: relativeTimeWithPlural$1,\n M: relativeTimeWithSingular,\n MM: relativeTimeWithPlural$1,\n y: relativeTimeWithSingular,\n yy: relativeTimeWithPlural$1,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['sekund', 'sekunda', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mjesec', 'mjeseca', 'mjeseci'],\n yy: ['godina', 'godine', 'godina'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1\n ? wordKey[0]\n : number >= 2 && number <= 4\n ? wordKey[1]\n : wordKey[2];\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return (\n number +\n ' ' +\n translator.correctGrammaticalCase(number, wordKey)\n );\n }\n },\n };\n\n hooks.defineLocale('me', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sjutra u] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[prošle] [nedjelje] [u] LT',\n '[prošlog] [ponedjeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srijede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'nekoliko sekundi',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: 'dan',\n dd: translator.translate,\n M: 'mjesec',\n MM: translator.translate,\n y: 'godinu',\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('mi', {\n months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split(\n '_'\n ),\n monthsShort:\n 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split(\n '_'\n ),\n monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [i] HH:mm',\n LLLL: 'dddd, D MMMM YYYY [i] HH:mm',\n },\n calendar: {\n sameDay: '[i teie mahana, i] LT',\n nextDay: '[apopo i] LT',\n nextWeek: 'dddd [i] LT',\n lastDay: '[inanahi i] LT',\n lastWeek: 'dddd [whakamutunga i] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'i roto i %s',\n past: '%s i mua',\n s: 'te hēkona ruarua',\n ss: '%d hēkona',\n m: 'he meneti',\n mm: '%d meneti',\n h: 'te haora',\n hh: '%d haora',\n d: 'he ra',\n dd: '%d ra',\n M: 'he marama',\n MM: '%d marama',\n y: 'he tau',\n yy: '%d tau',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('mk', {\n months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split(\n '_'\n ),\n monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split(\n '_'\n ),\n weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Денес во] LT',\n nextDay: '[Утре во] LT',\n nextWeek: '[Во] dddd [во] LT',\n lastDay: '[Вчера во] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Изминатата] dddd [во] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Изминатиот] dddd [во] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: 'пред %s',\n s: 'неколку секунди',\n ss: '%d секунди',\n m: 'една минута',\n mm: '%d минути',\n h: 'еден час',\n hh: '%d часа',\n d: 'еден ден',\n dd: '%d дена',\n M: 'еден месец',\n MM: '%d месеци',\n y: 'една година',\n yy: '%d години',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal: function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ml', {\n months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split(\n '_'\n ),\n monthsShort:\n 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split(\n '_'\n ),\n weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm -നു',\n LTS: 'A h:mm:ss -നു',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm -നു',\n LLLL: 'dddd, D MMMM YYYY, A h:mm -നു',\n },\n calendar: {\n sameDay: '[ഇന്ന്] LT',\n nextDay: '[നാളെ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ഇന്നലെ] LT',\n lastWeek: '[കഴിഞ്ഞ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s കഴിഞ്ഞ്',\n past: '%s മുൻപ്',\n s: 'അൽപ നിമിഷങ്ങൾ',\n ss: '%d സെക്കൻഡ്',\n m: 'ഒരു മിനിറ്റ്',\n mm: '%d മിനിറ്റ്',\n h: 'ഒരു മണിക്കൂർ',\n hh: '%d മണിക്കൂർ',\n d: 'ഒരു ദിവസം',\n dd: '%d ദിവസം',\n M: 'ഒരു മാസം',\n MM: '%d മാസം',\n y: 'ഒരു വർഷം',\n yy: '%d വർഷം',\n },\n meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'രാത്രി' && hour >= 4) ||\n meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n meridiem === 'വൈകുന്നേരം'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'രാത്രി';\n } else if (hour < 12) {\n return 'രാവിലെ';\n } else if (hour < 17) {\n return 'ഉച്ച കഴിഞ്ഞ്';\n } else if (hour < 20) {\n return 'വൈകുന്നേരം';\n } else {\n return 'രാത്രി';\n }\n },\n });\n\n //! moment.js locale configuration\n\n function translate$7(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 's':\n return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n case 'ss':\n return number + (withoutSuffix ? ' секунд' : ' секундын');\n case 'm':\n case 'mm':\n return number + (withoutSuffix ? ' минут' : ' минутын');\n case 'h':\n case 'hh':\n return number + (withoutSuffix ? ' цаг' : ' цагийн');\n case 'd':\n case 'dd':\n return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n case 'M':\n case 'MM':\n return number + (withoutSuffix ? ' сар' : ' сарын');\n case 'y':\n case 'yy':\n return number + (withoutSuffix ? ' жил' : ' жилийн');\n default:\n return number;\n }\n }\n\n hooks.defineLocale('mn', {\n months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split(\n '_'\n ),\n monthsShort:\n '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\n weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\n weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY оны MMMMын D',\n LLL: 'YYYY оны MMMMын D HH:mm',\n LLLL: 'dddd, YYYY оны MMMMын D HH:mm',\n },\n meridiemParse: /ҮӨ|ҮХ/i,\n isPM: function (input) {\n return input === 'ҮХ';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ҮӨ';\n } else {\n return 'ҮХ';\n }\n },\n calendar: {\n sameDay: '[Өнөөдөр] LT',\n nextDay: '[Маргааш] LT',\n nextWeek: '[Ирэх] dddd LT',\n lastDay: '[Өчигдөр] LT',\n lastWeek: '[Өнгөрсөн] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s дараа',\n past: '%s өмнө',\n s: translate$7,\n ss: translate$7,\n m: translate$7,\n mm: translate$7,\n h: translate$7,\n hh: translate$7,\n d: translate$7,\n dd: translate$7,\n M: translate$7,\n MM: translate$7,\n y: translate$7,\n yy: translate$7,\n },\n dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + ' өдөр';\n default:\n return number;\n }\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$d = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap$c = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n };\n\n function relativeTimeMr(number, withoutSuffix, string, isFuture) {\n var output = '';\n if (withoutSuffix) {\n switch (string) {\n case 's':\n output = 'काही सेकंद';\n break;\n case 'ss':\n output = '%d सेकंद';\n break;\n case 'm':\n output = 'एक मिनिट';\n break;\n case 'mm':\n output = '%d मिनिटे';\n break;\n case 'h':\n output = 'एक तास';\n break;\n case 'hh':\n output = '%d तास';\n break;\n case 'd':\n output = 'एक दिवस';\n break;\n case 'dd':\n output = '%d दिवस';\n break;\n case 'M':\n output = 'एक महिना';\n break;\n case 'MM':\n output = '%d महिने';\n break;\n case 'y':\n output = 'एक वर्ष';\n break;\n case 'yy':\n output = '%d वर्षे';\n break;\n }\n } else {\n switch (string) {\n case 's':\n output = 'काही सेकंदां';\n break;\n case 'ss':\n output = '%d सेकंदां';\n break;\n case 'm':\n output = 'एका मिनिटा';\n break;\n case 'mm':\n output = '%d मिनिटां';\n break;\n case 'h':\n output = 'एका तासा';\n break;\n case 'hh':\n output = '%d तासां';\n break;\n case 'd':\n output = 'एका दिवसा';\n break;\n case 'dd':\n output = '%d दिवसां';\n break;\n case 'M':\n output = 'एका महिन्या';\n break;\n case 'MM':\n output = '%d महिन्यां';\n break;\n case 'y':\n output = 'एका वर्षा';\n break;\n case 'yy':\n output = '%d वर्षां';\n break;\n }\n }\n return output.replace(/%d/i, number);\n }\n\n hooks.defineLocale('mr', {\n months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n '_'\n ),\n monthsShort:\n 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat: {\n LT: 'A h:mm वाजता',\n LTS: 'A h:mm:ss वाजता',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm वाजता',\n LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता',\n },\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[उद्या] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[काल] LT',\n lastWeek: '[मागील] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sमध्ये',\n past: '%sपूर्वी',\n s: relativeTimeMr,\n ss: relativeTimeMr,\n m: relativeTimeMr,\n mm: relativeTimeMr,\n h: relativeTimeMr,\n hh: relativeTimeMr,\n d: relativeTimeMr,\n dd: relativeTimeMr,\n M: relativeTimeMr,\n MM: relativeTimeMr,\n y: relativeTimeMr,\n yy: relativeTimeMr,\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap$c[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$d[match];\n });\n },\n meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'पहाटे' || meridiem === 'सकाळी') {\n return hour;\n } else if (\n meridiem === 'दुपारी' ||\n meridiem === 'सायंकाळी' ||\n meridiem === 'रात्री'\n ) {\n return hour >= 12 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour >= 0 && hour < 6) {\n return 'पहाटे';\n } else if (hour < 12) {\n return 'सकाळी';\n } else if (hour < 17) {\n return 'दुपारी';\n } else if (hour < 20) {\n return 'सायंकाळी';\n } else {\n return 'रात्री';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ms-my', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ms', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('mt', {\n months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split(\n '_'\n ),\n monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n weekdays:\n 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split(\n '_'\n ),\n weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Illum fil-]LT',\n nextDay: '[Għada fil-]LT',\n nextWeek: 'dddd [fil-]LT',\n lastDay: '[Il-bieraħ fil-]LT',\n lastWeek: 'dddd [li għadda] [fil-]LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'f’ %s',\n past: '%s ilu',\n s: 'ftit sekondi',\n ss: '%d sekondi',\n m: 'minuta',\n mm: '%d minuti',\n h: 'siegħa',\n hh: '%d siegħat',\n d: 'ġurnata',\n dd: '%d ġranet',\n M: 'xahar',\n MM: '%d xhur',\n y: 'sena',\n yy: '%d sni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$e = {\n 1: '၁',\n 2: '၂',\n 3: '၃',\n 4: '၄',\n 5: '၅',\n 6: '၆',\n 7: '၇',\n 8: '၈',\n 9: '၉',\n 0: '၀',\n },\n numberMap$d = {\n '၁': '1',\n '၂': '2',\n '၃': '3',\n '၄': '4',\n '၅': '5',\n '၆': '6',\n '၇': '7',\n '၈': '8',\n '၉': '9',\n '၀': '0',\n };\n\n hooks.defineLocale('my', {\n months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split(\n '_'\n ),\n monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split(\n '_'\n ),\n weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[ယနေ.] LT [မှာ]',\n nextDay: '[မနက်ဖြန်] LT [မှာ]',\n nextWeek: 'dddd LT [မှာ]',\n lastDay: '[မနေ.က] LT [မှာ]',\n lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'လာမည့် %s မှာ',\n past: 'လွန်ခဲ့သော %s က',\n s: 'စက္ကန်.အနည်းငယ်',\n ss: '%d စက္ကန့်',\n m: 'တစ်မိနစ်',\n mm: '%d မိနစ်',\n h: 'တစ်နာရီ',\n hh: '%d နာရီ',\n d: 'တစ်ရက်',\n dd: '%d ရက်',\n M: 'တစ်လ',\n MM: '%d လ',\n y: 'တစ်နှစ်',\n yy: '%d နှစ်',\n },\n preparse: function (string) {\n return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n return numberMap$d[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$e[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('nb', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact: true,\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[forrige] dddd [kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'noen sekunder',\n ss: '%d sekunder',\n m: 'ett minutt',\n mm: '%d minutter',\n h: 'én time',\n hh: '%d timer',\n d: 'én dag',\n dd: '%d dager',\n w: 'én uke',\n ww: '%d uker',\n M: 'én måned',\n MM: '%d måneder',\n y: 'ett år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$f = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap$e = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n };\n\n hooks.defineLocale('ne', {\n months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split(\n '_'\n ),\n monthsShort:\n 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split(\n '_'\n ),\n weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'Aको h:mm बजे',\n LTS: 'Aको h:mm:ss बजे',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, Aको h:mm बजे',\n LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे',\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap$e[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$f[match];\n });\n },\n meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राति') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'बिहान') {\n return hour;\n } else if (meridiem === 'दिउँसो') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'साँझ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 3) {\n return 'राति';\n } else if (hour < 12) {\n return 'बिहान';\n } else if (hour < 16) {\n return 'दिउँसो';\n } else if (hour < 20) {\n return 'साँझ';\n } else {\n return 'राति';\n }\n },\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[भोलि] LT',\n nextWeek: '[आउँदो] dddd[,] LT',\n lastDay: '[हिजो] LT',\n lastWeek: '[गएको] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sमा',\n past: '%s अगाडि',\n s: 'केही क्षण',\n ss: '%d सेकेण्ड',\n m: 'एक मिनेट',\n mm: '%d मिनेट',\n h: 'एक घण्टा',\n hh: '%d घण्टा',\n d: 'एक दिन',\n dd: '%d दिन',\n M: 'एक महिना',\n MM: '%d महिना',\n y: 'एक बर्ष',\n yy: '%d बर्ष',\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var monthsShortWithDots$1 =\n 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots$1 =\n 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n monthsParse$8 = [\n /^jan/i,\n /^feb/i,\n /^(maart|mrt\\.?)$/i,\n /^apr/i,\n /^mei$/i,\n /^jun[i.]?$/i,\n /^jul[i.]?$/i,\n /^aug/i,\n /^sep/i,\n /^okt/i,\n /^nov/i,\n /^dec/i,\n ],\n monthsRegex$8 =\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n hooks.defineLocale('nl-be', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots$1;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots$1[m.month()];\n } else {\n return monthsShortWithDots$1[m.month()];\n }\n },\n\n monthsRegex: monthsRegex$8,\n monthsShortRegex: monthsRegex$8,\n monthsStrictRegex:\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex:\n /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse: monthsParse$8,\n longMonthsParse: monthsParse$8,\n shortMonthsParse: monthsParse$8,\n\n weekdays:\n 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'over %s',\n past: '%s geleden',\n s: 'een paar seconden',\n ss: '%d seconden',\n m: 'één minuut',\n mm: '%d minuten',\n h: 'één uur',\n hh: '%d uur',\n d: 'één dag',\n dd: '%d dagen',\n M: 'één maand',\n MM: '%d maanden',\n y: 'één jaar',\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var monthsShortWithDots$2 =\n 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots$2 =\n 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n monthsParse$9 = [\n /^jan/i,\n /^feb/i,\n /^(maart|mrt\\.?)$/i,\n /^apr/i,\n /^mei$/i,\n /^jun[i.]?$/i,\n /^jul[i.]?$/i,\n /^aug/i,\n /^sep/i,\n /^okt/i,\n /^nov/i,\n /^dec/i,\n ],\n monthsRegex$9 =\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n hooks.defineLocale('nl', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots$2;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots$2[m.month()];\n } else {\n return monthsShortWithDots$2[m.month()];\n }\n },\n\n monthsRegex: monthsRegex$9,\n monthsShortRegex: monthsRegex$9,\n monthsStrictRegex:\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex:\n /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse: monthsParse$9,\n longMonthsParse: monthsParse$9,\n shortMonthsParse: monthsParse$9,\n\n weekdays:\n 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'over %s',\n past: '%s geleden',\n s: 'een paar seconden',\n ss: '%d seconden',\n m: 'één minuut',\n mm: '%d minuten',\n h: 'één uur',\n hh: '%d uur',\n d: 'één dag',\n dd: '%d dagen',\n w: 'één week',\n ww: '%d weken',\n M: 'één maand',\n MM: '%d maanden',\n y: 'één jaar',\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('nn', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact: true,\n weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'),\n weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[I dag klokka] LT',\n nextDay: '[I morgon klokka] LT',\n nextWeek: 'dddd [klokka] LT',\n lastDay: '[I går klokka] LT',\n lastWeek: '[Føregåande] dddd [klokka] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s sidan',\n s: 'nokre sekund',\n ss: '%d sekund',\n m: 'eit minutt',\n mm: '%d minutt',\n h: 'ein time',\n hh: '%d timar',\n d: 'ein dag',\n dd: '%d dagar',\n w: 'ei veke',\n ww: '%d veker',\n M: 'ein månad',\n MM: '%d månader',\n y: 'eit år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('oc-lnc', {\n months: {\n standalone:\n 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split(\n '_'\n ),\n format: \"de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre\".split(\n '_'\n ),\n isFormat: /D[oD]?(\\s)+MMMM/,\n },\n monthsShort:\n 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split(\n '_'\n ),\n weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a] H:mm',\n llll: 'ddd D MMM YYYY, H:mm',\n },\n calendar: {\n sameDay: '[uèi a] LT',\n nextDay: '[deman a] LT',\n nextWeek: 'dddd [a] LT',\n lastDay: '[ièr a] LT',\n lastWeek: 'dddd [passat a] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'unas segondas',\n ss: '%d segondas',\n m: 'una minuta',\n mm: '%d minutas',\n h: 'una ora',\n hh: '%d oras',\n d: 'un jorn',\n dd: '%d jorns',\n M: 'un mes',\n MM: '%d meses',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function (number, period) {\n var output =\n number === 1\n ? 'r'\n : number === 2\n ? 'n'\n : number === 3\n ? 'r'\n : number === 4\n ? 't'\n : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4,\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$g = {\n 1: '੧',\n 2: '੨',\n 3: '੩',\n 4: '੪',\n 5: '੫',\n 6: '੬',\n 7: '੭',\n 8: '੮',\n 9: '੯',\n 0: '੦',\n },\n numberMap$f = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0',\n };\n\n hooks.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.\n months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n '_'\n ),\n monthsShort:\n 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n '_'\n ),\n weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split(\n '_'\n ),\n weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm ਵਜੇ',\n LTS: 'A h:mm:ss ਵਜੇ',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm ਵਜੇ',\n LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ',\n },\n calendar: {\n sameDay: '[ਅਜ] LT',\n nextDay: '[ਕਲ] LT',\n nextWeek: '[ਅਗਲਾ] dddd, LT',\n lastDay: '[ਕਲ] LT',\n lastWeek: '[ਪਿਛਲੇ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ਵਿੱਚ',\n past: '%s ਪਿਛਲੇ',\n s: 'ਕੁਝ ਸਕਿੰਟ',\n ss: '%d ਸਕਿੰਟ',\n m: 'ਇਕ ਮਿੰਟ',\n mm: '%d ਮਿੰਟ',\n h: 'ਇੱਕ ਘੰਟਾ',\n hh: '%d ਘੰਟੇ',\n d: 'ਇੱਕ ਦਿਨ',\n dd: '%d ਦਿਨ',\n M: 'ਇੱਕ ਮਹੀਨਾ',\n MM: '%d ਮਹੀਨੇ',\n y: 'ਇੱਕ ਸਾਲ',\n yy: '%d ਸਾਲ',\n },\n preparse: function (string) {\n return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n return numberMap$f[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$g[match];\n });\n },\n // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ਰਾਤ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ਸਵੇਰ') {\n return hour;\n } else if (meridiem === 'ਦੁਪਹਿਰ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ਸ਼ਾਮ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ਰਾਤ';\n } else if (hour < 10) {\n return 'ਸਵੇਰ';\n } else if (hour < 17) {\n return 'ਦੁਪਹਿਰ';\n } else if (hour < 20) {\n return 'ਸ਼ਾਮ';\n } else {\n return 'ਰਾਤ';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var monthsNominative =\n 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split(\n '_'\n ),\n monthsSubjective =\n 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split(\n '_'\n ),\n monthsParse$a = [\n /^sty/i,\n /^lut/i,\n /^mar/i,\n /^kwi/i,\n /^maj/i,\n /^cze/i,\n /^lip/i,\n /^sie/i,\n /^wrz/i,\n /^paź/i,\n /^lis/i,\n /^gru/i,\n ];\n function plural$3(n) {\n return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1;\n }\n function translate$8(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n return result + (plural$3(number) ? 'sekundy' : 'sekund');\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n case 'mm':\n return result + (plural$3(number) ? 'minuty' : 'minut');\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n case 'hh':\n return result + (plural$3(number) ? 'godziny' : 'godzin');\n case 'ww':\n return result + (plural$3(number) ? 'tygodnie' : 'tygodni');\n case 'MM':\n return result + (plural$3(number) ? 'miesiące' : 'miesięcy');\n case 'yy':\n return result + (plural$3(number) ? 'lata' : 'lat');\n }\n }\n\n hooks.defineLocale('pl', {\n months: function (momentToFormat, format) {\n if (!momentToFormat) {\n return monthsNominative;\n } else if (/D MMMM/.test(format)) {\n return monthsSubjective[momentToFormat.month()];\n } else {\n return monthsNominative[momentToFormat.month()];\n }\n },\n monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n monthsParse: monthsParse$a,\n longMonthsParse: monthsParse$a,\n shortMonthsParse: monthsParse$a,\n weekdays:\n 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Dziś o] LT',\n nextDay: '[Jutro o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W niedzielę o] LT';\n\n case 2:\n return '[We wtorek o] LT';\n\n case 3:\n return '[W środę o] LT';\n\n case 6:\n return '[W sobotę o] LT';\n\n default:\n return '[W] dddd [o] LT';\n }\n },\n lastDay: '[Wczoraj o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W zeszłą niedzielę o] LT';\n case 3:\n return '[W zeszłą środę o] LT';\n case 6:\n return '[W zeszłą sobotę o] LT';\n default:\n return '[W zeszły] dddd [o] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: '%s temu',\n s: 'kilka sekund',\n ss: translate$8,\n m: translate$8,\n mm: translate$8,\n h: translate$8,\n hh: translate$8,\n d: '1 dzień',\n dd: '%d dni',\n w: 'tydzień',\n ww: translate$8,\n M: 'miesiąc',\n MM: translate$8,\n y: 'rok',\n yy: translate$8,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('pt-br', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n '_'\n ),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays:\n 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split(\n '_'\n ),\n weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'),\n weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm',\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return this.day() === 0 || this.day() === 6\n ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'poucos segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n invalidDate: 'Data inválida',\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('pt', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n '_'\n ),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays:\n 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split(\n '_'\n ),\n weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return this.day() === 0 || this.day() === 6\n ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n w: 'uma semana',\n ww: '%d semanas',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function relativeTimeWithPlural$2(number, withoutSuffix, key) {\n var format = {\n ss: 'secunde',\n mm: 'minute',\n hh: 'ore',\n dd: 'zile',\n ww: 'săptămâni',\n MM: 'luni',\n yy: 'ani',\n },\n separator = ' ';\n if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n separator = ' de ';\n }\n return number + separator + format[key];\n }\n\n hooks.defineLocale('ro', {\n months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split(\n '_'\n ),\n monthsShort:\n 'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[azi la] LT',\n nextDay: '[mâine la] LT',\n nextWeek: 'dddd [la] LT',\n lastDay: '[ieri la] LT',\n lastWeek: '[fosta] dddd [la] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'peste %s',\n past: '%s în urmă',\n s: 'câteva secunde',\n ss: relativeTimeWithPlural$2,\n m: 'un minut',\n mm: relativeTimeWithPlural$2,\n h: 'o oră',\n hh: relativeTimeWithPlural$2,\n d: 'o zi',\n dd: relativeTimeWithPlural$2,\n w: 'o săptămână',\n ww: relativeTimeWithPlural$2,\n M: 'o lună',\n MM: relativeTimeWithPlural$2,\n y: 'un an',\n yy: relativeTimeWithPlural$2,\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function plural$4(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural$3(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n hh: 'час_часа_часов',\n dd: 'день_дня_дней',\n ww: 'неделя_недели_недель',\n MM: 'месяц_месяца_месяцев',\n yy: 'год_года_лет',\n };\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n } else {\n return number + ' ' + plural$4(format[key], +number);\n }\n }\n var monthsParse$b = [\n /^янв/i,\n /^фев/i,\n /^мар/i,\n /^апр/i,\n /^ма[йя]/i,\n /^июн/i,\n /^июл/i,\n /^авг/i,\n /^сен/i,\n /^окт/i,\n /^ноя/i,\n /^дек/i,\n ];\n\n // http://new.gramota.ru/spravka/rules/139-prop : § 103\n // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n hooks.defineLocale('ru', {\n months: {\n format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split(\n '_'\n ),\n standalone:\n 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n '_'\n ),\n },\n monthsShort: {\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку?\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split(\n '_'\n ),\n standalone:\n 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split(\n '_'\n ),\n },\n weekdays: {\n standalone:\n 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split(\n '_'\n ),\n format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split(\n '_'\n ),\n isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/,\n },\n weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n monthsParse: monthsParse$b,\n longMonthsParse: monthsParse$b,\n shortMonthsParse: monthsParse$b,\n\n // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n monthsRegex:\n /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // копия предыдущего\n monthsShortRegex:\n /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // полные названия с падежами\n monthsStrictRegex:\n /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n // Выражение, которое соответствует только сокращённым формам\n monthsShortStrictRegex:\n /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., H:mm',\n LLLL: 'dddd, D MMMM YYYY г., H:mm',\n },\n calendar: {\n sameDay: '[Сегодня, в] LT',\n nextDay: '[Завтра, в] LT',\n lastDay: '[Вчера, в] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В следующее] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В следующий] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В следующую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n lastWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В прошлое] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В прошлый] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В прошлую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'через %s',\n past: '%s назад',\n s: 'несколько секунд',\n ss: relativeTimeWithPlural$3,\n m: relativeTimeWithPlural$3,\n mm: relativeTimeWithPlural$3,\n h: 'час',\n hh: relativeTimeWithPlural$3,\n d: 'день',\n dd: relativeTimeWithPlural$3,\n w: 'неделя',\n ww: relativeTimeWithPlural$3,\n M: 'месяц',\n MM: relativeTimeWithPlural$3,\n y: 'год',\n yy: relativeTimeWithPlural$3,\n },\n meridiemParse: /ночи|утра|дня|вечера/i,\n isPM: function (input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночи';\n } else if (hour < 12) {\n return 'утра';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечера';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n return number + '-й';\n case 'D':\n return number + '-го';\n case 'w':\n case 'W':\n return number + '-я';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var months$9 = [\n 'جنوري',\n 'فيبروري',\n 'مارچ',\n 'اپريل',\n 'مئي',\n 'جون',\n 'جولاءِ',\n 'آگسٽ',\n 'سيپٽمبر',\n 'آڪٽوبر',\n 'نومبر',\n 'ڊسمبر',\n ],\n days$1 = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر'];\n\n hooks.defineLocale('sd', {\n months: months$9,\n monthsShort: months$9,\n weekdays: days$1,\n weekdaysShort: days$1,\n weekdaysMin: days$1,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd، D MMMM YYYY HH:mm',\n },\n meridiemParse: /صبح|شام/,\n isPM: function (input) {\n return 'شام' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar: {\n sameDay: '[اڄ] LT',\n nextDay: '[سڀاڻي] LT',\n nextWeek: 'dddd [اڳين هفتي تي] LT',\n lastDay: '[ڪالهه] LT',\n lastWeek: '[گزريل هفتي] dddd [تي] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s پوء',\n past: '%s اڳ',\n s: 'چند سيڪنڊ',\n ss: '%d سيڪنڊ',\n m: 'هڪ منٽ',\n mm: '%d منٽ',\n h: 'هڪ ڪلاڪ',\n hh: '%d ڪلاڪ',\n d: 'هڪ ڏينهن',\n dd: '%d ڏينهن',\n M: 'هڪ مهينو',\n MM: '%d مهينا',\n y: 'هڪ سال',\n yy: '%d سال',\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('se', {\n months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split(\n '_'\n ),\n monthsShort:\n 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n weekdays:\n 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split(\n '_'\n ),\n weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n weekdaysMin: 's_v_m_g_d_b_L'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'MMMM D. [b.] YYYY',\n LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm',\n LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm',\n },\n calendar: {\n sameDay: '[otne ti] LT',\n nextDay: '[ihttin ti] LT',\n nextWeek: 'dddd [ti] LT',\n lastDay: '[ikte ti] LT',\n lastWeek: '[ovddit] dddd [ti] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s geažes',\n past: 'maŋit %s',\n s: 'moadde sekunddat',\n ss: '%d sekunddat',\n m: 'okta minuhta',\n mm: '%d minuhtat',\n h: 'okta diimmu',\n hh: '%d diimmut',\n d: 'okta beaivi',\n dd: '%d beaivvit',\n M: 'okta mánnu',\n MM: '%d mánut',\n y: 'okta jahki',\n yy: '%d jagit',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n /*jshint -W100*/\n hooks.defineLocale('si', {\n months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split(\n '_'\n ),\n monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split(\n '_'\n ),\n weekdays:\n 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split(\n '_'\n ),\n weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'a h:mm',\n LTS: 'a h:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY MMMM D',\n LLL: 'YYYY MMMM D, a h:mm',\n LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss',\n },\n calendar: {\n sameDay: '[අද] LT[ට]',\n nextDay: '[හෙට] LT[ට]',\n nextWeek: 'dddd LT[ට]',\n lastDay: '[ඊයේ] LT[ට]',\n lastWeek: '[පසුගිය] dddd LT[ට]',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sකින්',\n past: '%sකට පෙර',\n s: 'තත්පර කිහිපය',\n ss: 'තත්පර %d',\n m: 'මිනිත්තුව',\n mm: 'මිනිත්තු %d',\n h: 'පැය',\n hh: 'පැය %d',\n d: 'දිනය',\n dd: 'දින %d',\n M: 'මාසය',\n MM: 'මාස %d',\n y: 'වසර',\n yy: 'වසර %d',\n },\n dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n ordinal: function (number) {\n return number + ' වැනි';\n },\n meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n isPM: function (input) {\n return input === 'ප.ව.' || input === 'පස් වරු';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'ප.ව.' : 'පස් වරු';\n } else {\n return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n }\n },\n });\n\n //! moment.js locale configuration\n\n var months$a =\n 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split(\n '_'\n ),\n monthsShort$7 = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n function plural$5(n) {\n return n > 1 && n < 5;\n }\n function translate$9(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural$5(number) ? 'sekundy' : 'sekúnd');\n } else {\n return result + 'sekundami';\n }\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou';\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural$5(number) ? 'minúty' : 'minút');\n } else {\n return result + 'minútami';\n }\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural$5(number) ? 'hodiny' : 'hodín');\n } else {\n return result + 'hodinami';\n }\n case 'd': // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'deň' : 'dňom';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural$5(number) ? 'dni' : 'dní');\n } else {\n return result + 'dňami';\n }\n case 'M': // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural$5(number) ? 'mesiace' : 'mesiacov');\n } else {\n return result + 'mesiacmi';\n }\n case 'y': // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokom';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural$5(number) ? 'roky' : 'rokov');\n } else {\n return result + 'rokmi';\n }\n }\n }\n\n hooks.defineLocale('sk', {\n months: months$a,\n monthsShort: monthsShort$7,\n weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'),\n weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[dnes o] LT',\n nextDay: '[zajtra o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v nedeľu o] LT';\n case 1:\n case 2:\n return '[v] dddd [o] LT';\n case 3:\n return '[v stredu o] LT';\n case 4:\n return '[vo štvrtok o] LT';\n case 5:\n return '[v piatok o] LT';\n case 6:\n return '[v sobotu o] LT';\n }\n },\n lastDay: '[včera o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulú nedeľu o] LT';\n case 1:\n case 2:\n return '[minulý] dddd [o] LT';\n case 3:\n return '[minulú stredu o] LT';\n case 4:\n case 5:\n return '[minulý] dddd [o] LT';\n case 6:\n return '[minulú sobotu o] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'pred %s',\n s: translate$9,\n ss: translate$9,\n m: translate$9,\n mm: translate$9,\n h: translate$9,\n hh: translate$9,\n d: translate$9,\n dd: translate$9,\n M: translate$9,\n MM: translate$9,\n y: translate$9,\n yy: translate$9,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$9(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture\n ? 'nekaj sekund'\n : 'nekaj sekundami';\n case 'ss':\n if (number === 1) {\n result += withoutSuffix ? 'sekundo' : 'sekundi';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n } else {\n result += 'sekund';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'ena minuta' : 'eno minuto';\n case 'mm':\n if (number === 1) {\n result += withoutSuffix ? 'minuta' : 'minuto';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n } else {\n result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'ena ura' : 'eno uro';\n case 'hh':\n if (number === 1) {\n result += withoutSuffix ? 'ura' : 'uro';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'uri' : 'urama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'ure' : 'urami';\n } else {\n result += withoutSuffix || isFuture ? 'ur' : 'urami';\n }\n return result;\n case 'd':\n return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n case 'dd':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n } else {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n }\n return result;\n case 'M':\n return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n case 'MM':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n } else {\n result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n }\n return result;\n case 'y':\n return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n case 'yy':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'leto' : 'letom';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'leta' : 'leti';\n } else {\n result += withoutSuffix || isFuture ? 'let' : 'leti';\n }\n return result;\n }\n }\n\n hooks.defineLocale('sl', {\n months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD. MM. YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danes ob] LT',\n nextDay: '[jutri ob] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v] [nedeljo] [ob] LT';\n case 3:\n return '[v] [sredo] [ob] LT';\n case 6:\n return '[v] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[v] dddd [ob] LT';\n }\n },\n lastDay: '[včeraj ob] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[prejšnjo] [nedeljo] [ob] LT';\n case 3:\n return '[prejšnjo] [sredo] [ob] LT';\n case 6:\n return '[prejšnjo] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prejšnji] dddd [ob] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'čez %s',\n past: 'pred %s',\n s: processRelativeTime$9,\n ss: processRelativeTime$9,\n m: processRelativeTime$9,\n mm: processRelativeTime$9,\n h: processRelativeTime$9,\n hh: processRelativeTime$9,\n d: processRelativeTime$9,\n dd: processRelativeTime$9,\n M: processRelativeTime$9,\n MM: processRelativeTime$9,\n y: processRelativeTime$9,\n yy: processRelativeTime$9,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('sq', {\n months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split(\n '_'\n ),\n monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split(\n '_'\n ),\n weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /PD|MD/,\n isPM: function (input) {\n return input.charAt(0) === 'M';\n },\n meridiem: function (hours, minutes, isLower) {\n return hours < 12 ? 'PD' : 'MD';\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Sot në] LT',\n nextDay: '[Nesër në] LT',\n nextWeek: 'dddd [në] LT',\n lastDay: '[Dje në] LT',\n lastWeek: 'dddd [e kaluar në] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'në %s',\n past: '%s më parë',\n s: 'disa sekonda',\n ss: '%d sekonda',\n m: 'një minutë',\n mm: '%d minuta',\n h: 'një orë',\n hh: '%d orë',\n d: 'një ditë',\n dd: '%d ditë',\n M: 'një muaj',\n MM: '%d muaj',\n y: 'një vit',\n yy: '%d vite',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var translator$1 = {\n words: {\n //Different grammatical cases\n ss: ['секунда', 'секунде', 'секунди'],\n m: ['један минут', 'једног минута'],\n mm: ['минут', 'минута', 'минута'],\n h: ['један сат', 'једног сата'],\n hh: ['сат', 'сата', 'сати'],\n d: ['један дан', 'једног дана'],\n dd: ['дан', 'дана', 'дана'],\n M: ['један месец', 'једног месеца'],\n MM: ['месец', 'месеца', 'месеци'],\n y: ['једну годину', 'једне године'],\n yy: ['годину', 'године', 'година'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n if (\n number % 10 >= 1 &&\n number % 10 <= 4 &&\n (number % 100 < 10 || number % 100 >= 20)\n ) {\n return number % 10 === 1 ? wordKey[0] : wordKey[1];\n }\n return wordKey[2];\n },\n translate: function (number, withoutSuffix, key, isFuture) {\n var wordKey = translator$1.words[key],\n word;\n\n if (key.length === 1) {\n // Nominativ\n if (key === 'y' && withoutSuffix) return 'једна година';\n return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n }\n\n word = translator$1.correctGrammaticalCase(number, wordKey);\n // Nominativ\n if (key === 'yy' && withoutSuffix && word === 'годину') {\n return number + ' година';\n }\n\n return number + ' ' + word;\n },\n };\n\n hooks.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split(\n '_'\n ),\n monthsShort:\n 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n monthsParseExact: true,\n weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D. M. YYYY.',\n LL: 'D. MMMM YYYY.',\n LLL: 'D. MMMM YYYY. H:mm',\n LLLL: 'dddd, D. MMMM YYYY. H:mm',\n },\n calendar: {\n sameDay: '[данас у] LT',\n nextDay: '[сутра у] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[у] [недељу] [у] LT';\n case 3:\n return '[у] [среду] [у] LT';\n case 6:\n return '[у] [суботу] [у] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[у] dddd [у] LT';\n }\n },\n lastDay: '[јуче у] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[прошле] [недеље] [у] LT',\n '[прошлог] [понедељка] [у] LT',\n '[прошлог] [уторка] [у] LT',\n '[прошле] [среде] [у] LT',\n '[прошлог] [четвртка] [у] LT',\n '[прошлог] [петка] [у] LT',\n '[прошле] [суботе] [у] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: 'пре %s',\n s: 'неколико секунди',\n ss: translator$1.translate,\n m: translator$1.translate,\n mm: translator$1.translate,\n h: translator$1.translate,\n hh: translator$1.translate,\n d: translator$1.translate,\n dd: translator$1.translate,\n M: translator$1.translate,\n MM: translator$1.translate,\n y: translator$1.translate,\n yy: translator$1.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var translator$2 = {\n words: {\n //Different grammatical cases\n ss: ['sekunda', 'sekunde', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n d: ['jedan dan', 'jednog dana'],\n dd: ['dan', 'dana', 'dana'],\n M: ['jedan mesec', 'jednog meseca'],\n MM: ['mesec', 'meseca', 'meseci'],\n y: ['jednu godinu', 'jedne godine'],\n yy: ['godinu', 'godine', 'godina'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n if (\n number % 10 >= 1 &&\n number % 10 <= 4 &&\n (number % 100 < 10 || number % 100 >= 20)\n ) {\n return number % 10 === 1 ? wordKey[0] : wordKey[1];\n }\n return wordKey[2];\n },\n translate: function (number, withoutSuffix, key, isFuture) {\n var wordKey = translator$2.words[key],\n word;\n\n if (key.length === 1) {\n // Nominativ\n if (key === 'y' && withoutSuffix) return 'jedna godina';\n return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n }\n\n word = translator$2.correctGrammaticalCase(number, wordKey);\n // Nominativ\n if (key === 'yy' && withoutSuffix && word === 'godinu') {\n return number + ' godina';\n }\n\n return number + ' ' + word;\n },\n };\n\n hooks.defineLocale('sr', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D. M. YYYY.',\n LL: 'D. MMMM YYYY.',\n LLL: 'D. MMMM YYYY. H:mm',\n LLLL: 'dddd, D. MMMM YYYY. H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedelju] [u] LT';\n case 3:\n return '[u] [sredu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[prošle] [nedelje] [u] LT',\n '[prošlog] [ponedeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'pre %s',\n s: 'nekoliko sekundi',\n ss: translator$2.translate,\n m: translator$2.translate,\n mm: translator$2.translate,\n h: translator$2.translate,\n hh: translator$2.translate,\n d: translator$2.translate,\n dd: translator$2.translate,\n M: translator$2.translate,\n MM: translator$2.translate,\n y: translator$2.translate,\n yy: translator$2.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ss', {\n months: \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split(\n '_'\n ),\n monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n weekdays:\n 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split(\n '_'\n ),\n weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Namuhla nga] LT',\n nextDay: '[Kusasa nga] LT',\n nextWeek: 'dddd [nga] LT',\n lastDay: '[Itolo nga] LT',\n lastWeek: 'dddd [leliphelile] [nga] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'nga %s',\n past: 'wenteka nga %s',\n s: 'emizuzwana lomcane',\n ss: '%d mzuzwana',\n m: 'umzuzu',\n mm: '%d emizuzu',\n h: 'lihora',\n hh: '%d emahora',\n d: 'lilanga',\n dd: '%d emalanga',\n M: 'inyanga',\n MM: '%d tinyanga',\n y: 'umnyaka',\n yy: '%d iminyaka',\n },\n meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'ekuseni';\n } else if (hours < 15) {\n return 'emini';\n } else if (hours < 19) {\n return 'entsambama';\n } else {\n return 'ebusuku';\n }\n },\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ekuseni') {\n return hour;\n } else if (meridiem === 'emini') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n if (hour === 0) {\n return 0;\n }\n return hour + 12;\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: '%d',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('sv', {\n months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D MMMM YYYY [kl.] HH:mm',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Idag] LT',\n nextDay: '[Imorgon] LT',\n lastDay: '[Igår] LT',\n nextWeek: '[På] dddd LT',\n lastWeek: '[I] dddd[s] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: 'för %s sedan',\n s: 'några sekunder',\n ss: '%d sekunder',\n m: 'en minut',\n mm: '%d minuter',\n h: 'en timme',\n hh: '%d timmar',\n d: 'en dag',\n dd: '%d dagar',\n M: 'en månad',\n MM: '%d månader',\n y: 'ett år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(\\:e|\\:a)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? ':e'\n : b === 1\n ? ':a'\n : b === 2\n ? ':a'\n : b === 3\n ? ':e'\n : ':e';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('sw', {\n months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n weekdays:\n 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split(\n '_'\n ),\n weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'hh:mm A',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[leo saa] LT',\n nextDay: '[kesho saa] LT',\n nextWeek: '[wiki ijayo] dddd [saat] LT',\n lastDay: '[jana] LT',\n lastWeek: '[wiki iliyopita] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s baadaye',\n past: 'tokea %s',\n s: 'hivi punde',\n ss: 'sekunde %d',\n m: 'dakika moja',\n mm: 'dakika %d',\n h: 'saa limoja',\n hh: 'masaa %d',\n d: 'siku moja',\n dd: 'siku %d',\n M: 'mwezi mmoja',\n MM: 'miezi %d',\n y: 'mwaka mmoja',\n yy: 'miaka %d',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$h = {\n 1: '௧',\n 2: '௨',\n 3: '௩',\n 4: '௪',\n 5: '௫',\n 6: '௬',\n 7: '௭',\n 8: '௮',\n 9: '௯',\n 0: '௦',\n },\n numberMap$g = {\n '௧': '1',\n '௨': '2',\n '௩': '3',\n '௪': '4',\n '௫': '5',\n '௬': '6',\n '௭': '7',\n '௮': '8',\n '௯': '9',\n '௦': '0',\n };\n\n hooks.defineLocale('ta', {\n months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n '_'\n ),\n monthsShort:\n 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n '_'\n ),\n weekdays:\n 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split(\n '_'\n ),\n weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split(\n '_'\n ),\n weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, HH:mm',\n LLLL: 'dddd, D MMMM YYYY, HH:mm',\n },\n calendar: {\n sameDay: '[இன்று] LT',\n nextDay: '[நாளை] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[நேற்று] LT',\n lastWeek: '[கடந்த வாரம்] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s இல்',\n past: '%s முன்',\n s: 'ஒரு சில விநாடிகள்',\n ss: '%d விநாடிகள்',\n m: 'ஒரு நிமிடம்',\n mm: '%d நிமிடங்கள்',\n h: 'ஒரு மணி நேரம்',\n hh: '%d மணி நேரம்',\n d: 'ஒரு நாள்',\n dd: '%d நாட்கள்',\n M: 'ஒரு மாதம்',\n MM: '%d மாதங்கள்',\n y: 'ஒரு வருடம்',\n yy: '%d ஆண்டுகள்',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n ordinal: function (number) {\n return number + 'வது';\n },\n preparse: function (string) {\n return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n return numberMap$g[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$h[match];\n });\n },\n // refer http://ta.wikipedia.org/s/1er1\n meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n meridiem: function (hour, minute, isLower) {\n if (hour < 2) {\n return ' யாமம்';\n } else if (hour < 6) {\n return ' வைகறை'; // வைகறை\n } else if (hour < 10) {\n return ' காலை'; // காலை\n } else if (hour < 14) {\n return ' நண்பகல்'; // நண்பகல்\n } else if (hour < 18) {\n return ' எற்பாடு'; // எற்பாடு\n } else if (hour < 22) {\n return ' மாலை'; // மாலை\n } else {\n return ' யாமம்';\n }\n },\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'யாமம்') {\n return hour < 2 ? hour : hour + 12;\n } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n return hour;\n } else if (meridiem === 'நண்பகல்') {\n return hour >= 10 ? hour : hour + 12;\n } else {\n return hour + 12;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('te', {\n months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split(\n '_'\n ),\n monthsShort:\n 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split(\n '_'\n ),\n weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[నేడు] LT',\n nextDay: '[రేపు] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[నిన్న] LT',\n lastWeek: '[గత] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s లో',\n past: '%s క్రితం',\n s: 'కొన్ని క్షణాలు',\n ss: '%d సెకన్లు',\n m: 'ఒక నిమిషం',\n mm: '%d నిమిషాలు',\n h: 'ఒక గంట',\n hh: '%d గంటలు',\n d: 'ఒక రోజు',\n dd: '%d రోజులు',\n M: 'ఒక నెల',\n MM: '%d నెలలు',\n y: 'ఒక సంవత్సరం',\n yy: '%d సంవత్సరాలు',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}వ/,\n ordinal: '%dవ',\n meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'రాత్రి') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ఉదయం') {\n return hour;\n } else if (meridiem === 'మధ్యాహ్నం') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'సాయంత్రం') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'రాత్రి';\n } else if (hour < 10) {\n return 'ఉదయం';\n } else if (hour < 17) {\n return 'మధ్యాహ్నం';\n } else if (hour < 20) {\n return 'సాయంత్రం';\n } else {\n return 'రాత్రి';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('tet', {\n months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split(\n '_'\n ),\n monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Ohin iha] LT',\n nextDay: '[Aban iha] LT',\n nextWeek: 'dddd [iha] LT',\n lastDay: '[Horiseik iha] LT',\n lastWeek: 'dddd [semana kotuk] [iha] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'iha %s',\n past: '%s liuba',\n s: 'segundu balun',\n ss: 'segundu %d',\n m: 'minutu ida',\n mm: 'minutu %d',\n h: 'oras ida',\n hh: 'oras %d',\n d: 'loron ida',\n dd: 'loron %d',\n M: 'fulan ida',\n MM: 'fulan %d',\n y: 'tinan ida',\n yy: 'tinan %d',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var suffixes$3 = {\n 0: '-ум',\n 1: '-ум',\n 2: '-юм',\n 3: '-юм',\n 4: '-ум',\n 5: '-ум',\n 6: '-ум',\n 7: '-ум',\n 8: '-ум',\n 9: '-ум',\n 10: '-ум',\n 12: '-ум',\n 13: '-ум',\n 20: '-ум',\n 30: '-юм',\n 40: '-ум',\n 50: '-ум',\n 60: '-ум',\n 70: '-ум',\n 80: '-ум',\n 90: '-ум',\n 100: '-ум',\n };\n\n hooks.defineLocale('tg', {\n months: {\n format: 'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split(\n '_'\n ),\n standalone:\n 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n '_'\n ),\n },\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split(\n '_'\n ),\n weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\n weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Имрӯз соати] LT',\n nextDay: '[Фардо соати] LT',\n lastDay: '[Дирӯз соати] LT',\n nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT',\n lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'баъди %s',\n past: '%s пеш',\n s: 'якчанд сония',\n m: 'як дақиқа',\n mm: '%d дақиқа',\n h: 'як соат',\n hh: '%d соат',\n d: 'як рӯз',\n dd: '%d рӯз',\n M: 'як моҳ',\n MM: '%d моҳ',\n y: 'як сол',\n yy: '%d сол',\n },\n meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'шаб') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'субҳ') {\n return hour;\n } else if (meridiem === 'рӯз') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'бегоҳ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'шаб';\n } else if (hour < 11) {\n return 'субҳ';\n } else if (hour < 16) {\n return 'рӯз';\n } else if (hour < 19) {\n return 'бегоҳ';\n } else {\n return 'шаб';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes$3[number] || suffixes$3[a] || suffixes$3[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('th', {\n months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split(\n '_'\n ),\n monthsShort:\n 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY เวลา H:mm',\n LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm',\n },\n meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n isPM: function (input) {\n return input === 'หลังเที่ยง';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ก่อนเที่ยง';\n } else {\n return 'หลังเที่ยง';\n }\n },\n calendar: {\n sameDay: '[วันนี้ เวลา] LT',\n nextDay: '[พรุ่งนี้ เวลา] LT',\n nextWeek: 'dddd[หน้า เวลา] LT',\n lastDay: '[เมื่อวานนี้ เวลา] LT',\n lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'อีก %s',\n past: '%sที่แล้ว',\n s: 'ไม่กี่วินาที',\n ss: '%d วินาที',\n m: '1 นาที',\n mm: '%d นาที',\n h: '1 ชั่วโมง',\n hh: '%d ชั่วโมง',\n d: '1 วัน',\n dd: '%d วัน',\n w: '1 สัปดาห์',\n ww: '%d สัปดาห์',\n M: '1 เดือน',\n MM: '%d เดือน',\n y: '1 ปี',\n yy: '%d ปี',\n },\n });\n\n //! moment.js locale configuration\n\n var suffixes$4 = {\n 1: \"'inji\",\n 5: \"'inji\",\n 8: \"'inji\",\n 70: \"'inji\",\n 80: \"'inji\",\n 2: \"'nji\",\n 7: \"'nji\",\n 20: \"'nji\",\n 50: \"'nji\",\n 3: \"'ünji\",\n 4: \"'ünji\",\n 100: \"'ünji\",\n 6: \"'njy\",\n 9: \"'unjy\",\n 10: \"'unjy\",\n 30: \"'unjy\",\n 60: \"'ynjy\",\n 90: \"'ynjy\",\n };\n\n hooks.defineLocale('tk', {\n months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split(\n '_'\n ),\n monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'),\n weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split(\n '_'\n ),\n weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'),\n weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün sagat] LT',\n nextDay: '[ertir sagat] LT',\n nextWeek: '[indiki] dddd [sagat] LT',\n lastDay: '[düýn] LT',\n lastWeek: '[geçen] dddd [sagat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s soň',\n past: '%s öň',\n s: 'birnäçe sekunt',\n m: 'bir minut',\n mm: '%d minut',\n h: 'bir sagat',\n hh: '%d sagat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir aý',\n MM: '%d aý',\n y: 'bir ýyl',\n yy: '%d ýyl',\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'unjy\";\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes$4[a] || suffixes$4[b] || suffixes$4[c]);\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('tl-ph', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n '_'\n ),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n '_'\n ),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n function translateFuture(output) {\n var time = output;\n time =\n output.indexOf('jaj') !== -1\n ? time.slice(0, -3) + 'leS'\n : output.indexOf('jar') !== -1\n ? time.slice(0, -3) + 'waQ'\n : output.indexOf('DIS') !== -1\n ? time.slice(0, -3) + 'nem'\n : time + ' pIq';\n return time;\n }\n\n function translatePast(output) {\n var time = output;\n time =\n output.indexOf('jaj') !== -1\n ? time.slice(0, -3) + 'Hu’'\n : output.indexOf('jar') !== -1\n ? time.slice(0, -3) + 'wen'\n : output.indexOf('DIS') !== -1\n ? time.slice(0, -3) + 'ben'\n : time + ' ret';\n return time;\n }\n\n function translate$a(number, withoutSuffix, string, isFuture) {\n var numberNoun = numberAsNoun(number);\n switch (string) {\n case 'ss':\n return numberNoun + ' lup';\n case 'mm':\n return numberNoun + ' tup';\n case 'hh':\n return numberNoun + ' rep';\n case 'dd':\n return numberNoun + ' jaj';\n case 'MM':\n return numberNoun + ' jar';\n case 'yy':\n return numberNoun + ' DIS';\n }\n }\n\n function numberAsNoun(number) {\n var hundred = Math.floor((number % 1000) / 100),\n ten = Math.floor((number % 100) / 10),\n one = number % 10,\n word = '';\n if (hundred > 0) {\n word += numbersNouns[hundred] + 'vatlh';\n }\n if (ten > 0) {\n word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH';\n }\n if (one > 0) {\n word += (word !== '' ? ' ' : '') + numbersNouns[one];\n }\n return word === '' ? 'pagh' : word;\n }\n\n hooks.defineLocale('tlh', {\n months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split(\n '_'\n ),\n monthsShort:\n 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(\n '_'\n ),\n weekdaysShort:\n 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysMin:\n 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[DaHjaj] LT',\n nextDay: '[wa’leS] LT',\n nextWeek: 'LLL',\n lastDay: '[wa’Hu’] LT',\n lastWeek: 'LLL',\n sameElse: 'L',\n },\n relativeTime: {\n future: translateFuture,\n past: translatePast,\n s: 'puS lup',\n ss: translate$a,\n m: 'wa’ tup',\n mm: translate$a,\n h: 'wa’ rep',\n hh: translate$a,\n d: 'wa’ jaj',\n dd: translate$a,\n M: 'wa’ jar',\n MM: translate$a,\n y: 'wa’ DIS',\n yy: translate$a,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var suffixes$5 = {\n 1: \"'inci\",\n 5: \"'inci\",\n 8: \"'inci\",\n 70: \"'inci\",\n 80: \"'inci\",\n 2: \"'nci\",\n 7: \"'nci\",\n 20: \"'nci\",\n 50: \"'nci\",\n 3: \"'üncü\",\n 4: \"'üncü\",\n 100: \"'üncü\",\n 6: \"'ncı\",\n 9: \"'uncu\",\n 10: \"'uncu\",\n 30: \"'uncu\",\n 60: \"'ıncı\",\n 90: \"'ıncı\",\n };\n\n hooks.defineLocale('tr', {\n months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split(\n '_'\n ),\n monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split(\n '_'\n ),\n weekdaysShort: 'Paz_Pzt_Sal_Çar_Per_Cum_Cmt'.split('_'),\n weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'öö' : 'ÖÖ';\n } else {\n return isLower ? 'ös' : 'ÖS';\n }\n },\n meridiemParse: /öö|ÖÖ|ös|ÖS/,\n isPM: function (input) {\n return input === 'ös' || input === 'ÖS';\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[yarın saat] LT',\n nextWeek: '[gelecek] dddd [saat] LT',\n lastDay: '[dün] LT',\n lastWeek: '[geçen] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s önce',\n s: 'birkaç saniye',\n ss: '%d saniye',\n m: 'bir dakika',\n mm: '%d dakika',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n w: 'bir hafta',\n ww: '%d hafta',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir yıl',\n yy: '%d yıl',\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'ıncı\";\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes$5[a] || suffixes$5[b] || suffixes$5[c]);\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n // This is currently too difficult (maybe even impossible) to add.\n hooks.defineLocale('tzl', {\n months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split(\n '_'\n ),\n monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM [dallas] YYYY',\n LLL: 'D. MMMM [dallas] YYYY HH.mm',\n LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm',\n },\n meridiemParse: /d\\'o|d\\'a/i,\n isPM: function (input) {\n return \"d'o\" === input.toLowerCase();\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? \"d'o\" : \"D'O\";\n } else {\n return isLower ? \"d'a\" : \"D'A\";\n }\n },\n calendar: {\n sameDay: '[oxhi à] LT',\n nextDay: '[demà à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[ieiri à] LT',\n lastWeek: '[sür el] dddd [lasteu à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'osprei %s',\n past: 'ja%s',\n s: processRelativeTime$a,\n ss: processRelativeTime$a,\n m: processRelativeTime$a,\n mm: processRelativeTime$a,\n h: processRelativeTime$a,\n hh: processRelativeTime$a,\n d: processRelativeTime$a,\n dd: processRelativeTime$a,\n M: processRelativeTime$a,\n MM: processRelativeTime$a,\n y: processRelativeTime$a,\n yy: processRelativeTime$a,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n function processRelativeTime$a(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['viensas secunds', \"'iensas secunds\"],\n ss: [number + ' secunds', '' + number + ' secunds'],\n m: [\"'n míut\", \"'iens míut\"],\n mm: [number + ' míuts', '' + number + ' míuts'],\n h: [\"'n þora\", \"'iensa þora\"],\n hh: [number + ' þoras', '' + number + ' þoras'],\n d: [\"'n ziua\", \"'iensa ziua\"],\n dd: [number + ' ziuas', '' + number + ' ziuas'],\n M: [\"'n mes\", \"'iens mes\"],\n MM: [number + ' mesen', '' + number + ' mesen'],\n y: [\"'n ar\", \"'iens ar\"],\n yy: [number + ' ars', '' + number + ' ars'],\n };\n return isFuture\n ? format[key][0]\n : withoutSuffix\n ? format[key][0]\n : format[key][1];\n }\n\n //! moment.js locale configuration\n\n hooks.defineLocale('tzm-latn', {\n months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n '_'\n ),\n monthsShort:\n 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n '_'\n ),\n weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[asdkh g] LT',\n nextDay: '[aska g] LT',\n nextWeek: 'dddd [g] LT',\n lastDay: '[assant g] LT',\n lastWeek: 'dddd [g] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dadkh s yan %s',\n past: 'yan %s',\n s: 'imik',\n ss: '%d imik',\n m: 'minuḍ',\n mm: '%d minuḍ',\n h: 'saɛa',\n hh: '%d tassaɛin',\n d: 'ass',\n dd: '%d ossan',\n M: 'ayowr',\n MM: '%d iyyirn',\n y: 'asgas',\n yy: '%d isgasn',\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('tzm', {\n months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n '_'\n ),\n monthsShort:\n 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n '_'\n ),\n weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n nextWeek: 'dddd [ⴴ] LT',\n lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n lastWeek: 'dddd [ⴴ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n past: 'ⵢⴰⵏ %s',\n s: 'ⵉⵎⵉⴽ',\n ss: '%d ⵉⵎⵉⴽ',\n m: 'ⵎⵉⵏⵓⴺ',\n mm: '%d ⵎⵉⵏⵓⴺ',\n h: 'ⵙⴰⵄⴰ',\n hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n d: 'ⴰⵙⵙ',\n dd: '%d oⵙⵙⴰⵏ',\n M: 'ⴰⵢoⵓⵔ',\n MM: '%d ⵉⵢⵢⵉⵔⵏ',\n y: 'ⴰⵙⴳⴰⵙ',\n yy: '%d ⵉⵙⴳⴰⵙⵏ',\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ug-cn', {\n months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n monthsShort:\n 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(\n '_'\n ),\n weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n },\n meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n meridiem === 'يېرىم كېچە' ||\n meridiem === 'سەھەر' ||\n meridiem === 'چۈشتىن بۇرۇن'\n ) {\n return hour;\n } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n return hour + 12;\n } else {\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return 'يېرىم كېچە';\n } else if (hm < 900) {\n return 'سەھەر';\n } else if (hm < 1130) {\n return 'چۈشتىن بۇرۇن';\n } else if (hm < 1230) {\n return 'چۈش';\n } else if (hm < 1800) {\n return 'چۈشتىن كېيىن';\n } else {\n return 'كەچ';\n }\n },\n calendar: {\n sameDay: '[بۈگۈن سائەت] LT',\n nextDay: '[ئەتە سائەت] LT',\n nextWeek: '[كېلەركى] dddd [سائەت] LT',\n lastDay: '[تۆنۈگۈن] LT',\n lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s كېيىن',\n past: '%s بۇرۇن',\n s: 'نەچچە سېكونت',\n ss: '%d سېكونت',\n m: 'بىر مىنۇت',\n mm: '%d مىنۇت',\n h: 'بىر سائەت',\n hh: '%d سائەت',\n d: 'بىر كۈن',\n dd: '%d كۈن',\n M: 'بىر ئاي',\n MM: '%d ئاي',\n y: 'بىر يىل',\n yy: '%d يىل',\n },\n\n dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '-كۈنى';\n case 'w':\n case 'W':\n return number + '-ھەپتە';\n default:\n return number;\n }\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function plural$6(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural$4(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n dd: 'день_дні_днів',\n MM: 'місяць_місяці_місяців',\n yy: 'рік_роки_років',\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвилина' : 'хвилину';\n } else if (key === 'h') {\n return withoutSuffix ? 'година' : 'годину';\n } else {\n return number + ' ' + plural$6(format[key], +number);\n }\n }\n function weekdaysCaseReplace(m, format) {\n var weekdays = {\n nominative:\n 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split(\n '_'\n ),\n accusative:\n 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split(\n '_'\n ),\n genitive:\n 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split(\n '_'\n ),\n },\n nounCase;\n\n if (m === true) {\n return weekdays['nominative']\n .slice(1, 7)\n .concat(weekdays['nominative'].slice(0, 1));\n }\n if (!m) {\n return weekdays['nominative'];\n }\n\n nounCase = /(\\[[ВвУу]\\]) ?dddd/.test(format)\n ? 'accusative'\n : /\\[?(?:минулої|наступної)? ?\\] ?dddd/.test(format)\n ? 'genitive'\n : 'nominative';\n return weekdays[nounCase][m.day()];\n }\n function processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n }\n\n hooks.defineLocale('uk', {\n months: {\n format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split(\n '_'\n ),\n standalone:\n 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split(\n '_'\n ),\n },\n monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split(\n '_'\n ),\n weekdays: weekdaysCaseReplace,\n weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY р.',\n LLL: 'D MMMM YYYY р., HH:mm',\n LLLL: 'dddd, D MMMM YYYY р., HH:mm',\n },\n calendar: {\n sameDay: processHoursFunction('[Сьогодні '),\n nextDay: processHoursFunction('[Завтра '),\n lastDay: processHoursFunction('[Вчора '),\n nextWeek: processHoursFunction('[У] dddd ['),\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return processHoursFunction('[Минулої] dddd [').call(this);\n case 1:\n case 2:\n case 4:\n return processHoursFunction('[Минулого] dddd [').call(this);\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: '%s тому',\n s: 'декілька секунд',\n ss: relativeTimeWithPlural$4,\n m: relativeTimeWithPlural$4,\n mm: relativeTimeWithPlural$4,\n h: 'годину',\n hh: relativeTimeWithPlural$4,\n d: 'день',\n dd: relativeTimeWithPlural$4,\n M: 'місяць',\n MM: relativeTimeWithPlural$4,\n y: 'рік',\n yy: relativeTimeWithPlural$4,\n },\n // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n meridiemParse: /ночі|ранку|дня|вечора/,\n isPM: function (input) {\n return /^(дня|вечора)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночі';\n } else if (hour < 12) {\n return 'ранку';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечора';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return number + '-й';\n case 'D':\n return number + '-го';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var months$b = [\n 'جنوری',\n 'فروری',\n 'مارچ',\n 'اپریل',\n 'مئی',\n 'جون',\n 'جولائی',\n 'اگست',\n 'ستمبر',\n 'اکتوبر',\n 'نومبر',\n 'دسمبر',\n ],\n days$2 = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'];\n\n hooks.defineLocale('ur', {\n months: months$b,\n monthsShort: months$b,\n weekdays: days$2,\n weekdaysShort: days$2,\n weekdaysMin: days$2,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd، D MMMM YYYY HH:mm',\n },\n meridiemParse: /صبح|شام/,\n isPM: function (input) {\n return 'شام' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar: {\n sameDay: '[آج بوقت] LT',\n nextDay: '[کل بوقت] LT',\n nextWeek: 'dddd [بوقت] LT',\n lastDay: '[گذشتہ روز بوقت] LT',\n lastWeek: '[گذشتہ] dddd [بوقت] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s بعد',\n past: '%s قبل',\n s: 'چند سیکنڈ',\n ss: '%d سیکنڈ',\n m: 'ایک منٹ',\n mm: '%d منٹ',\n h: 'ایک گھنٹہ',\n hh: '%d گھنٹے',\n d: 'ایک دن',\n dd: '%d دن',\n M: 'ایک ماہ',\n MM: '%d ماہ',\n y: 'ایک سال',\n yy: '%d سال',\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('uz-latn', {\n months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split(\n '_'\n ),\n monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n weekdays:\n 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split(\n '_'\n ),\n weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm',\n },\n calendar: {\n sameDay: '[Bugun soat] LT [da]',\n nextDay: '[Ertaga] LT [da]',\n nextWeek: 'dddd [kuni soat] LT [da]',\n lastDay: '[Kecha soat] LT [da]',\n lastWeek: \"[O'tgan] dddd [kuni soat] LT [da]\",\n sameElse: 'L',\n },\n relativeTime: {\n future: 'Yaqin %s ichida',\n past: 'Bir necha %s oldin',\n s: 'soniya',\n ss: '%d soniya',\n m: 'bir daqiqa',\n mm: '%d daqiqa',\n h: 'bir soat',\n hh: '%d soat',\n d: 'bir kun',\n dd: '%d kun',\n M: 'bir oy',\n MM: '%d oy',\n y: 'bir yil',\n yy: '%d yil',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('uz', {\n months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n '_'\n ),\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm',\n },\n calendar: {\n sameDay: '[Бугун соат] LT [да]',\n nextDay: '[Эртага] LT [да]',\n nextWeek: 'dddd [куни соат] LT [да]',\n lastDay: '[Кеча соат] LT [да]',\n lastWeek: '[Утган] dddd [куни соат] LT [да]',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'Якин %s ичида',\n past: 'Бир неча %s олдин',\n s: 'фурсат',\n ss: '%d фурсат',\n m: 'бир дакика',\n mm: '%d дакика',\n h: 'бир соат',\n hh: '%d соат',\n d: 'бир кун',\n dd: '%d кун',\n M: 'бир ой',\n MM: '%d ой',\n y: 'бир йил',\n yy: '%d йил',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('vi', {\n months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split(\n '_'\n ),\n monthsShort:\n 'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split(\n '_'\n ),\n weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /sa|ch/i,\n isPM: function (input) {\n return /^ch$/i.test(input);\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n } else {\n return isLower ? 'ch' : 'CH';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [năm] YYYY',\n LLL: 'D MMMM [năm] YYYY HH:mm',\n LLLL: 'dddd, D MMMM [năm] YYYY HH:mm',\n l: 'DD/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hôm nay lúc] LT',\n nextDay: '[Ngày mai lúc] LT',\n nextWeek: 'dddd [tuần tới lúc] LT',\n lastDay: '[Hôm qua lúc] LT',\n lastWeek: 'dddd [tuần trước lúc] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s tới',\n past: '%s trước',\n s: 'vài giây',\n ss: '%d giây',\n m: 'một phút',\n mm: '%d phút',\n h: 'một giờ',\n hh: '%d giờ',\n d: 'một ngày',\n dd: '%d ngày',\n w: 'một tuần',\n ww: '%d tuần',\n M: 'một tháng',\n MM: '%d tháng',\n y: 'một năm',\n yy: '%d năm',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('x-pseudo', {\n months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split(\n '_'\n ),\n monthsShort:\n 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split(\n '_'\n ),\n weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[T~ódá~ý át] LT',\n nextDay: '[T~ómó~rró~w át] LT',\n nextWeek: 'dddd [át] LT',\n lastDay: '[Ý~ést~érdá~ý át] LT',\n lastWeek: '[L~ást] dddd [át] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'í~ñ %s',\n past: '%s á~gó',\n s: 'á ~féw ~sécó~ñds',\n ss: '%d s~écóñ~ds',\n m: 'á ~míñ~úté',\n mm: '%d m~íñú~tés',\n h: 'á~ñ hó~úr',\n hh: '%d h~óúrs',\n d: 'á ~dáý',\n dd: '%d d~áýs',\n M: 'á ~móñ~th',\n MM: '%d m~óñt~hs',\n y: 'á ~ýéár',\n yy: '%d ý~éárs',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('yo', {\n months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split(\n '_'\n ),\n monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Ònì ni] LT',\n nextDay: '[Ọ̀la ni] LT',\n nextWeek: \"dddd [Ọsẹ̀ tón'bọ] [ni] LT\",\n lastDay: '[Àna ni] LT',\n lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ní %s',\n past: '%s kọjá',\n s: 'ìsẹjú aayá die',\n ss: 'aayá %d',\n m: 'ìsẹjú kan',\n mm: 'ìsẹjú %d',\n h: 'wákati kan',\n hh: 'wákati %d',\n d: 'ọjọ́ kan',\n dd: 'ọjọ́ %d',\n M: 'osù kan',\n MM: 'osù %d',\n y: 'ọdún kan',\n yy: 'ọdún %d',\n },\n dayOfMonthOrdinalParse: /ọjọ́\\s\\d{1,2}/,\n ordinal: 'ọjọ́ %d',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('zh-cn', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日Ah点mm分',\n LLLL: 'YYYY年M月D日ddddAh点mm分',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n } else {\n // '中午'\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n return '[下]dddLT';\n } else {\n return '[本]dddLT';\n }\n },\n lastDay: '[昨天]LT',\n lastWeek: function (now) {\n if (this.week() !== now.week()) {\n return '[上]dddLT';\n } else {\n return '[本]dddLT';\n }\n },\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '周';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s后',\n past: '%s前',\n s: '几秒',\n ss: '%d 秒',\n m: '1 分钟',\n mm: '%d 分钟',\n h: '1 小时',\n hh: '%d 小时',\n d: '1 天',\n dd: '%d 天',\n w: '1 周',\n ww: '%d 周',\n M: '1 个月',\n MM: '%d 个月',\n y: '1 年',\n yy: '%d 年',\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('zh-hk', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1200) {\n return '上午';\n } else if (hm === 1200) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: '[下]ddddLT',\n lastDay: '[昨天]LT',\n lastWeek: '[上]ddddLT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('zh-mo', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'D/M/YYYY',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天] LT',\n nextDay: '[明天] LT',\n nextWeek: '[下]dddd LT',\n lastDay: '[昨天] LT',\n lastWeek: '[上]dddd LT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s內',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('zh-tw', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天] LT',\n nextDay: '[明天] LT',\n nextWeek: '[下]dddd LT',\n lastDay: '[昨天] LT',\n lastWeek: '[上]dddd LT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n hooks.locale('en');\n\n return hooks;\n\n})));\n","import '../assets/NcUserStatusIcon-DAVSJFhS.css';\nimport axios from \"@nextcloud/axios\";\nimport { generateOcsUrl } from \"@nextcloud/router\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { r as register, P as t10, a as t, Q as t50 } from \"./_l10n-DQgzdF9S.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst onlineSvg = '\\n\\n\t\\n\\n';\nconst awaySvg = '\\n\\n\t\\n\t\\n\\n';\nconst dndSvg = '\\n\\n\t\\n\t\\n\t\\n\\n';\nconst invisibleSvg = '\\n\\n\t\\n\t\\n\\n';\nregister(t10);\nconst getUserStatusText = (status) => {\n switch (status) {\n case \"away\":\n return t(\"away\");\n // TRANSLATORS: User status if the user is currently away from keyboard\n case \"busy\":\n return t(\"busy\");\n case \"dnd\":\n return t(\"do not disturb\");\n case \"online\":\n return t(\"online\");\n case \"invisible\":\n return t(\"invisible\");\n case \"offline\":\n return t(\"offline\");\n default:\n return status;\n }\n};\nregister(t50);\nconst _sfc_main = {\n name: \"NcUserStatusIcon\",\n props: {\n /**\n * Set the user id to fetch the status\n */\n user: {\n type: String,\n default: null\n },\n /**\n * Set the status\n *\n * @type {'online' | 'away' | 'busy' | 'dnd' | 'invisible' | 'offline'}\n */\n status: {\n type: String,\n default: null,\n validator: (value) => [\n \"online\",\n \"away\",\n \"busy\",\n \"dnd\",\n \"invisible\",\n \"offline\"\n ].includes(value)\n },\n /**\n * Set the `aria-hidden` attribute\n *\n * @type {'true' | 'false'}\n */\n ariaHidden: {\n type: String,\n default: null,\n validator: (value) => [\n \"true\",\n \"false\"\n ].includes(value)\n }\n },\n data() {\n return {\n fetchedUserStatus: null\n };\n },\n computed: {\n activeStatus() {\n return this.status ?? this.fetchedUserStatus;\n },\n activeSvg() {\n const matchSvg = {\n online: onlineSvg,\n away: awaySvg,\n busy: awaySvg,\n dnd: dndSvg,\n invisible: invisibleSvg,\n offline: invisibleSvg\n };\n return matchSvg[this.activeStatus] ?? null;\n },\n ariaLabel() {\n if (this.ariaHidden === \"true\") {\n return null;\n }\n return t(\"User status: {status}\", { status: getUserStatusText(this.activeStatus) });\n }\n },\n watch: {\n user: {\n immediate: true,\n async handler(user, _oldUser) {\n if (!user || !getCapabilities()?.user_status?.enabled) {\n this.fetchedUserStatus = null;\n return;\n }\n try {\n const { data } = await axios.get(generateOcsUrl(\"/apps/user_status/api/v1/statuses/{user}\", { user }));\n this.fetchedUserStatus = data.ocs?.data?.status;\n } catch (error) {\n this.fetchedUserStatus = null;\n }\n }\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _vm.activeStatus ? _c(\"span\", { staticClass: \"user-status-icon\", class: {\n \"user-status-icon--invisible\": [\"invisible\", \"offline\"].includes(_vm.status)\n }, attrs: { \"role\": \"img\", \"aria-hidden\": _vm.ariaHidden, \"aria-label\": _vm.ariaLabel }, domProps: { \"innerHTML\": _vm._s(_vm.activeSvg) } }) : _vm._e();\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"0555d8d0\"\n);\nconst NcUserStatusIcon = __component__.exports;\nexport {\n NcUserStatusIcon as N,\n getUserStatusText as g\n};\n//# sourceMappingURL=NcUserStatusIcon-kbPFeJV6.mjs.map\n","'use strict';\n\n(function (global) {\n\n // minimal symbol polyfill for IE11 and others\n if (typeof Symbol !== 'function') {\n var Symbol = function(name) {\n return name;\n }\n\n Symbol.nonNative = true;\n }\n\n const STATE_PLAINTEXT = Symbol('plaintext');\n const STATE_HTML = Symbol('html');\n const STATE_COMMENT = Symbol('comment');\n\n const ALLOWED_TAGS_REGEX = /<(\\w*)>/g;\n const NORMALIZE_TAG_REGEX = /<\\/?([^\\s\\/>]+)/;\n\n function striptags(html, allowable_tags, tag_replacement) {\n html = html || '';\n allowable_tags = allowable_tags || [];\n tag_replacement = tag_replacement || '';\n\n let context = init_context(allowable_tags, tag_replacement);\n\n return striptags_internal(html, context);\n }\n\n function init_striptags_stream(allowable_tags, tag_replacement) {\n allowable_tags = allowable_tags || [];\n tag_replacement = tag_replacement || '';\n\n let context = init_context(allowable_tags, tag_replacement);\n\n return function striptags_stream(html) {\n return striptags_internal(html || '', context);\n };\n }\n\n striptags.init_streaming_mode = init_striptags_stream;\n\n function init_context(allowable_tags, tag_replacement) {\n allowable_tags = parse_allowable_tags(allowable_tags);\n\n return {\n allowable_tags : allowable_tags,\n tag_replacement: tag_replacement,\n\n state : STATE_PLAINTEXT,\n tag_buffer : '',\n depth : 0,\n in_quote_char : ''\n };\n }\n\n function striptags_internal(html, context) {\n if (typeof html != \"string\") {\n throw new TypeError(\"'html' parameter must be a string\");\n }\n\n let allowable_tags = context.allowable_tags;\n let tag_replacement = context.tag_replacement;\n\n let state = context.state;\n let tag_buffer = context.tag_buffer;\n let depth = context.depth;\n let in_quote_char = context.in_quote_char;\n let output = '';\n\n for (let idx = 0, length = html.length; idx < length; idx++) {\n let char = html[idx];\n\n if (state === STATE_PLAINTEXT) {\n switch (char) {\n case '<':\n state = STATE_HTML;\n tag_buffer += char;\n break;\n\n default:\n output += char;\n break;\n }\n }\n\n else if (state === STATE_HTML) {\n switch (char) {\n case '<':\n // ignore '<' if inside a quote\n if (in_quote_char) {\n break;\n }\n\n // we're seeing a nested '<'\n depth++;\n break;\n\n case '>':\n // ignore '>' if inside a quote\n if (in_quote_char) {\n break;\n }\n\n // something like this is happening: '<<>>'\n if (depth) {\n depth--;\n\n break;\n }\n\n // this is closing the tag in tag_buffer\n in_quote_char = '';\n state = STATE_PLAINTEXT;\n tag_buffer += '>';\n\n if (allowable_tags.has(normalize_tag(tag_buffer))) {\n output += tag_buffer;\n } else {\n output += tag_replacement;\n }\n\n tag_buffer = '';\n break;\n\n case '\"':\n case '\\'':\n // catch both single and double quotes\n\n if (char === in_quote_char) {\n in_quote_char = '';\n } else {\n in_quote_char = in_quote_char || char;\n }\n\n tag_buffer += char;\n break;\n\n case '-':\n if (tag_buffer === '':\n if (tag_buffer.slice(-2) == '--') {\n // close the comment\n state = STATE_PLAINTEXT;\n }\n\n tag_buffer = '';\n break;\n\n default:\n tag_buffer += char;\n break;\n }\n }\n }\n\n // save the context for future iterations\n context.state = state;\n context.tag_buffer = tag_buffer;\n context.depth = depth;\n context.in_quote_char = in_quote_char;\n\n return output;\n }\n\n function parse_allowable_tags(allowable_tags) {\n let tag_set = new Set();\n\n if (typeof allowable_tags === 'string') {\n let match;\n\n while ((match = ALLOWED_TAGS_REGEX.exec(allowable_tags))) {\n tag_set.add(match[1]);\n }\n }\n\n else if (!Symbol.nonNative &&\n typeof allowable_tags[Symbol.iterator] === 'function') {\n\n tag_set = new Set(allowable_tags);\n }\n\n else if (typeof allowable_tags.forEach === 'function') {\n // IE11 compatible\n allowable_tags.forEach(tag_set.add, tag_set);\n }\n\n return tag_set;\n }\n\n function normalize_tag(tag_buffer) {\n let match = NORMALIZE_TAG_REGEX.exec(tag_buffer);\n\n return match ? match[1].toLowerCase() : null;\n }\n\n if (typeof define === 'function' && define.amd) {\n // AMD\n define(function module_factory() { return striptags; });\n }\n\n else if (typeof module === 'object' && module.exports) {\n // Node\n module.exports = striptags;\n }\n\n else {\n // Browser\n global.striptags = striptags;\n }\n}(this));\n","import Vue from 'vue'\nimport { getCurrentInstance } from 'vue'\n\nvar isVue2 = true\nvar isVue3 = false\nvar Vue2 = Vue\nvar warn = Vue.util.warn\n\nfunction install() {}\n\n// createApp polyfill\nexport function createApp(rootComponent, rootProps) {\n var vm\n var provide = {}\n var app = {\n config: Vue.config,\n use: Vue.use.bind(Vue),\n mixin: Vue.mixin.bind(Vue),\n component: Vue.component.bind(Vue),\n provide: function (key, value) {\n provide[key] = value\n return this\n },\n directive: function (name, dir) {\n if (dir) {\n Vue.directive(name, dir)\n return app\n } else {\n return Vue.directive(name)\n }\n },\n mount: function (el, hydrating) {\n if (!vm) {\n vm = new Vue(Object.assign({ propsData: rootProps }, rootComponent, { provide: Object.assign(provide, rootComponent.provide) }))\n vm.$mount(el, hydrating)\n return vm\n } else {\n return vm\n }\n },\n unmount: function () {\n if (vm) {\n vm.$destroy()\n vm = undefined\n }\n },\n }\n return app\n}\n\nexport {\n Vue,\n Vue2,\n isVue2,\n isVue3,\n install,\n warn\n}\n\n// Vue 3 components mock\nfunction createMockComponent(name) {\n return {\n setup() {\n throw new Error('[vue-demi] ' + name + ' is not supported in Vue 2. It\\'s provided to avoid compiler errors.')\n }\n }\n}\nexport var Fragment = /*#__PURE__*/ createMockComponent('Fragment')\nexport var Transition = /*#__PURE__*/ createMockComponent('Transition')\nexport var TransitionGroup = /*#__PURE__*/ createMockComponent('TransitionGroup')\nexport var Teleport = /*#__PURE__*/ createMockComponent('Teleport')\nexport var Suspense = /*#__PURE__*/ createMockComponent('Suspense')\nexport var KeepAlive = /*#__PURE__*/ createMockComponent('KeepAlive')\n\nexport * from 'vue'\n\n// Not implemented https://github.com/vuejs/core/pull/8111, falls back to getCurrentInstance()\nexport function hasInjectionContext() {\n return !!getCurrentInstance()\n}\n","import { shallowRef, watchEffect, readonly, ref, watch, customRef, getCurrentScope, onScopeDispose, effectScope, getCurrentInstance, inject, provide, isVue3, version, isRef, unref, computed, reactive, toRefs as toRefs$1, toRef as toRef$1, isVue2, set as set$1, onBeforeMount, nextTick, onBeforeUnmount, onMounted, onUnmounted, isReactive } from 'vue-demi';\n\nfunction computedEager(fn, options) {\n var _a;\n const result = shallowRef();\n watchEffect(() => {\n result.value = fn();\n }, {\n ...options,\n flush: (_a = options == null ? void 0 : options.flush) != null ? _a : \"sync\"\n });\n return readonly(result);\n}\n\nfunction computedWithControl(source, fn) {\n let v = void 0;\n let track;\n let trigger;\n const dirty = ref(true);\n const update = () => {\n dirty.value = true;\n trigger();\n };\n watch(source, update, { flush: \"sync\" });\n const get = typeof fn === \"function\" ? fn : fn.get;\n const set = typeof fn === \"function\" ? void 0 : fn.set;\n const result = customRef((_track, _trigger) => {\n track = _track;\n trigger = _trigger;\n return {\n get() {\n if (dirty.value) {\n v = get(v);\n dirty.value = false;\n }\n track();\n return v;\n },\n set(v2) {\n set == null ? void 0 : set(v2);\n }\n };\n });\n if (Object.isExtensible(result))\n result.trigger = update;\n return result;\n}\n\nfunction tryOnScopeDispose(fn) {\n if (getCurrentScope()) {\n onScopeDispose(fn);\n return true;\n }\n return false;\n}\n\nfunction createEventHook() {\n const fns = /* @__PURE__ */ new Set();\n const off = (fn) => {\n fns.delete(fn);\n };\n const on = (fn) => {\n fns.add(fn);\n const offFn = () => off(fn);\n tryOnScopeDispose(offFn);\n return {\n off: offFn\n };\n };\n const trigger = (...args) => {\n return Promise.all(Array.from(fns).map((fn) => fn(...args)));\n };\n return {\n on,\n off,\n trigger\n };\n}\n\nfunction createGlobalState(stateFactory) {\n let initialized = false;\n let state;\n const scope = effectScope(true);\n return (...args) => {\n if (!initialized) {\n state = scope.run(() => stateFactory(...args));\n initialized = true;\n }\n return state;\n };\n}\n\nconst localProvidedStateMap = /* @__PURE__ */ new WeakMap();\n\nconst injectLocal = (...args) => {\n var _a;\n const key = args[0];\n const instance = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy;\n if (instance == null)\n throw new Error(\"injectLocal must be called in setup\");\n if (localProvidedStateMap.has(instance) && key in localProvidedStateMap.get(instance))\n return localProvidedStateMap.get(instance)[key];\n return inject(...args);\n};\n\nconst provideLocal = (key, value) => {\n var _a;\n const instance = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy;\n if (instance == null)\n throw new Error(\"provideLocal must be called in setup\");\n if (!localProvidedStateMap.has(instance))\n localProvidedStateMap.set(instance, /* @__PURE__ */ Object.create(null));\n const localProvidedState = localProvidedStateMap.get(instance);\n localProvidedState[key] = value;\n provide(key, value);\n};\n\nfunction createInjectionState(composable, options) {\n const key = (options == null ? void 0 : options.injectionKey) || Symbol(composable.name || \"InjectionState\");\n const defaultValue = options == null ? void 0 : options.defaultValue;\n const useProvidingState = (...args) => {\n const state = composable(...args);\n provideLocal(key, state);\n return state;\n };\n const useInjectedState = () => injectLocal(key, defaultValue);\n return [useProvidingState, useInjectedState];\n}\n\nfunction createSharedComposable(composable) {\n let subscribers = 0;\n let state;\n let scope;\n const dispose = () => {\n subscribers -= 1;\n if (scope && subscribers <= 0) {\n scope.stop();\n state = void 0;\n scope = void 0;\n }\n };\n return (...args) => {\n subscribers += 1;\n if (!scope) {\n scope = effectScope(true);\n state = scope.run(() => composable(...args));\n }\n tryOnScopeDispose(dispose);\n return state;\n };\n}\n\nfunction extendRef(ref, extend, { enumerable = false, unwrap = true } = {}) {\n if (!isVue3 && !version.startsWith(\"2.7.\")) {\n if (process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] extendRef only works in Vue 2.7 or above.\");\n return;\n }\n for (const [key, value] of Object.entries(extend)) {\n if (key === \"value\")\n continue;\n if (isRef(value) && unwrap) {\n Object.defineProperty(ref, key, {\n get() {\n return value.value;\n },\n set(v) {\n value.value = v;\n },\n enumerable\n });\n } else {\n Object.defineProperty(ref, key, { value, enumerable });\n }\n }\n return ref;\n}\n\nfunction get(obj, key) {\n if (key == null)\n return unref(obj);\n return unref(obj)[key];\n}\n\nfunction isDefined(v) {\n return unref(v) != null;\n}\n\nfunction makeDestructurable(obj, arr) {\n if (typeof Symbol !== \"undefined\") {\n const clone = { ...obj };\n Object.defineProperty(clone, Symbol.iterator, {\n enumerable: false,\n value() {\n let index = 0;\n return {\n next: () => ({\n value: arr[index++],\n done: index > arr.length\n })\n };\n }\n });\n return clone;\n } else {\n return Object.assign([...arr], obj);\n }\n}\n\nfunction toValue(r) {\n return typeof r === \"function\" ? r() : unref(r);\n}\nconst resolveUnref = toValue;\n\nfunction reactify(fn, options) {\n const unrefFn = (options == null ? void 0 : options.computedGetter) === false ? unref : toValue;\n return function(...args) {\n return computed(() => fn.apply(this, args.map((i) => unrefFn(i))));\n };\n}\n\nfunction reactifyObject(obj, optionsOrKeys = {}) {\n let keys = [];\n let options;\n if (Array.isArray(optionsOrKeys)) {\n keys = optionsOrKeys;\n } else {\n options = optionsOrKeys;\n const { includeOwnProperties = true } = optionsOrKeys;\n keys.push(...Object.keys(obj));\n if (includeOwnProperties)\n keys.push(...Object.getOwnPropertyNames(obj));\n }\n return Object.fromEntries(\n keys.map((key) => {\n const value = obj[key];\n return [\n key,\n typeof value === \"function\" ? reactify(value.bind(obj), options) : value\n ];\n })\n );\n}\n\nfunction toReactive(objectRef) {\n if (!isRef(objectRef))\n return reactive(objectRef);\n const proxy = new Proxy({}, {\n get(_, p, receiver) {\n return unref(Reflect.get(objectRef.value, p, receiver));\n },\n set(_, p, value) {\n if (isRef(objectRef.value[p]) && !isRef(value))\n objectRef.value[p].value = value;\n else\n objectRef.value[p] = value;\n return true;\n },\n deleteProperty(_, p) {\n return Reflect.deleteProperty(objectRef.value, p);\n },\n has(_, p) {\n return Reflect.has(objectRef.value, p);\n },\n ownKeys() {\n return Object.keys(objectRef.value);\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true\n };\n }\n });\n return reactive(proxy);\n}\n\nfunction reactiveComputed(fn) {\n return toReactive(computed(fn));\n}\n\nfunction reactiveOmit(obj, ...keys) {\n const flatKeys = keys.flat();\n const predicate = flatKeys[0];\n return reactiveComputed(() => typeof predicate === \"function\" ? Object.fromEntries(Object.entries(toRefs$1(obj)).filter(([k, v]) => !predicate(toValue(v), k))) : Object.fromEntries(Object.entries(toRefs$1(obj)).filter((e) => !flatKeys.includes(e[0]))));\n}\n\nconst directiveHooks = {\n mounted: isVue3 ? \"mounted\" : \"inserted\",\n updated: isVue3 ? \"updated\" : \"componentUpdated\",\n unmounted: isVue3 ? \"unmounted\" : \"unbind\"\n};\n\nconst isClient = typeof window !== \"undefined\" && typeof document !== \"undefined\";\nconst isWorker = typeof WorkerGlobalScope !== \"undefined\" && globalThis instanceof WorkerGlobalScope;\nconst isDef = (val) => typeof val !== \"undefined\";\nconst notNullish = (val) => val != null;\nconst assert = (condition, ...infos) => {\n if (!condition)\n console.warn(...infos);\n};\nconst toString = Object.prototype.toString;\nconst isObject = (val) => toString.call(val) === \"[object Object]\";\nconst now = () => Date.now();\nconst timestamp = () => +Date.now();\nconst clamp = (n, min, max) => Math.min(max, Math.max(min, n));\nconst noop = () => {\n};\nconst rand = (min, max) => {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min + 1)) + min;\n};\nconst hasOwn = (val, key) => Object.prototype.hasOwnProperty.call(val, key);\nconst isIOS = /* @__PURE__ */ getIsIOS();\nfunction getIsIOS() {\n var _a, _b;\n return isClient && ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent) && (/iP(?:ad|hone|od)/.test(window.navigator.userAgent) || ((_b = window == null ? void 0 : window.navigator) == null ? void 0 : _b.maxTouchPoints) > 2 && /iPad|Macintosh/.test(window == null ? void 0 : window.navigator.userAgent));\n}\n\nfunction createFilterWrapper(filter, fn) {\n function wrapper(...args) {\n return new Promise((resolve, reject) => {\n Promise.resolve(filter(() => fn.apply(this, args), { fn, thisArg: this, args })).then(resolve).catch(reject);\n });\n }\n return wrapper;\n}\nconst bypassFilter = (invoke) => {\n return invoke();\n};\nfunction debounceFilter(ms, options = {}) {\n let timer;\n let maxTimer;\n let lastRejector = noop;\n const _clearTimeout = (timer2) => {\n clearTimeout(timer2);\n lastRejector();\n lastRejector = noop;\n };\n const filter = (invoke) => {\n const duration = toValue(ms);\n const maxDuration = toValue(options.maxWait);\n if (timer)\n _clearTimeout(timer);\n if (duration <= 0 || maxDuration !== void 0 && maxDuration <= 0) {\n if (maxTimer) {\n _clearTimeout(maxTimer);\n maxTimer = null;\n }\n return Promise.resolve(invoke());\n }\n return new Promise((resolve, reject) => {\n lastRejector = options.rejectOnCancel ? reject : resolve;\n if (maxDuration && !maxTimer) {\n maxTimer = setTimeout(() => {\n if (timer)\n _clearTimeout(timer);\n maxTimer = null;\n resolve(invoke());\n }, maxDuration);\n }\n timer = setTimeout(() => {\n if (maxTimer)\n _clearTimeout(maxTimer);\n maxTimer = null;\n resolve(invoke());\n }, duration);\n });\n };\n return filter;\n}\nfunction throttleFilter(...args) {\n let lastExec = 0;\n let timer;\n let isLeading = true;\n let lastRejector = noop;\n let lastValue;\n let ms;\n let trailing;\n let leading;\n let rejectOnCancel;\n if (!isRef(args[0]) && typeof args[0] === \"object\")\n ({ delay: ms, trailing = true, leading = true, rejectOnCancel = false } = args[0]);\n else\n [ms, trailing = true, leading = true, rejectOnCancel = false] = args;\n const clear = () => {\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n lastRejector();\n lastRejector = noop;\n }\n };\n const filter = (_invoke) => {\n const duration = toValue(ms);\n const elapsed = Date.now() - lastExec;\n const invoke = () => {\n return lastValue = _invoke();\n };\n clear();\n if (duration <= 0) {\n lastExec = Date.now();\n return invoke();\n }\n if (elapsed > duration && (leading || !isLeading)) {\n lastExec = Date.now();\n invoke();\n } else if (trailing) {\n lastValue = new Promise((resolve, reject) => {\n lastRejector = rejectOnCancel ? reject : resolve;\n timer = setTimeout(() => {\n lastExec = Date.now();\n isLeading = true;\n resolve(invoke());\n clear();\n }, Math.max(0, duration - elapsed));\n });\n }\n if (!leading && !timer)\n timer = setTimeout(() => isLeading = true, duration);\n isLeading = false;\n return lastValue;\n };\n return filter;\n}\nfunction pausableFilter(extendFilter = bypassFilter) {\n const isActive = ref(true);\n function pause() {\n isActive.value = false;\n }\n function resume() {\n isActive.value = true;\n }\n const eventFilter = (...args) => {\n if (isActive.value)\n extendFilter(...args);\n };\n return { isActive: readonly(isActive), pause, resume, eventFilter };\n}\n\nfunction cacheStringFunction(fn) {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n}\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, \"-$1\").toLowerCase());\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction((str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n});\n\nfunction promiseTimeout(ms, throwOnTimeout = false, reason = \"Timeout\") {\n return new Promise((resolve, reject) => {\n if (throwOnTimeout)\n setTimeout(() => reject(reason), ms);\n else\n setTimeout(resolve, ms);\n });\n}\nfunction identity(arg) {\n return arg;\n}\nfunction createSingletonPromise(fn) {\n let _promise;\n function wrapper() {\n if (!_promise)\n _promise = fn();\n return _promise;\n }\n wrapper.reset = async () => {\n const _prev = _promise;\n _promise = void 0;\n if (_prev)\n await _prev;\n };\n return wrapper;\n}\nfunction invoke(fn) {\n return fn();\n}\nfunction containsProp(obj, ...props) {\n return props.some((k) => k in obj);\n}\nfunction increaseWithUnit(target, delta) {\n var _a;\n if (typeof target === \"number\")\n return target + delta;\n const value = ((_a = target.match(/^-?\\d+\\.?\\d*/)) == null ? void 0 : _a[0]) || \"\";\n const unit = target.slice(value.length);\n const result = Number.parseFloat(value) + delta;\n if (Number.isNaN(result))\n return target;\n return result + unit;\n}\nfunction objectPick(obj, keys, omitUndefined = false) {\n return keys.reduce((n, k) => {\n if (k in obj) {\n if (!omitUndefined || obj[k] !== void 0)\n n[k] = obj[k];\n }\n return n;\n }, {});\n}\nfunction objectOmit(obj, keys, omitUndefined = false) {\n return Object.fromEntries(Object.entries(obj).filter(([key, value]) => {\n return (!omitUndefined || value !== void 0) && !keys.includes(key);\n }));\n}\nfunction objectEntries(obj) {\n return Object.entries(obj);\n}\nfunction getLifeCycleTarget(target) {\n return target || getCurrentInstance();\n}\n\nfunction toRef(...args) {\n if (args.length !== 1)\n return toRef$1(...args);\n const r = args[0];\n return typeof r === \"function\" ? readonly(customRef(() => ({ get: r, set: noop }))) : ref(r);\n}\nconst resolveRef = toRef;\n\nfunction reactivePick(obj, ...keys) {\n const flatKeys = keys.flat();\n const predicate = flatKeys[0];\n return reactiveComputed(() => typeof predicate === \"function\" ? Object.fromEntries(Object.entries(toRefs$1(obj)).filter(([k, v]) => predicate(toValue(v), k))) : Object.fromEntries(flatKeys.map((k) => [k, toRef(obj, k)])));\n}\n\nfunction refAutoReset(defaultValue, afterMs = 1e4) {\n return customRef((track, trigger) => {\n let value = toValue(defaultValue);\n let timer;\n const resetAfter = () => setTimeout(() => {\n value = toValue(defaultValue);\n trigger();\n }, toValue(afterMs));\n tryOnScopeDispose(() => {\n clearTimeout(timer);\n });\n return {\n get() {\n track();\n return value;\n },\n set(newValue) {\n value = newValue;\n trigger();\n clearTimeout(timer);\n timer = resetAfter();\n }\n };\n });\n}\n\nfunction useDebounceFn(fn, ms = 200, options = {}) {\n return createFilterWrapper(\n debounceFilter(ms, options),\n fn\n );\n}\n\nfunction refDebounced(value, ms = 200, options = {}) {\n const debounced = ref(value.value);\n const updater = useDebounceFn(() => {\n debounced.value = value.value;\n }, ms, options);\n watch(value, () => updater());\n return debounced;\n}\n\nfunction refDefault(source, defaultValue) {\n return computed({\n get() {\n var _a;\n return (_a = source.value) != null ? _a : defaultValue;\n },\n set(value) {\n source.value = value;\n }\n });\n}\n\nfunction useThrottleFn(fn, ms = 200, trailing = false, leading = true, rejectOnCancel = false) {\n return createFilterWrapper(\n throttleFilter(ms, trailing, leading, rejectOnCancel),\n fn\n );\n}\n\nfunction refThrottled(value, delay = 200, trailing = true, leading = true) {\n if (delay <= 0)\n return value;\n const throttled = ref(value.value);\n const updater = useThrottleFn(() => {\n throttled.value = value.value;\n }, delay, trailing, leading);\n watch(value, () => updater());\n return throttled;\n}\n\nfunction refWithControl(initial, options = {}) {\n let source = initial;\n let track;\n let trigger;\n const ref = customRef((_track, _trigger) => {\n track = _track;\n trigger = _trigger;\n return {\n get() {\n return get();\n },\n set(v) {\n set(v);\n }\n };\n });\n function get(tracking = true) {\n if (tracking)\n track();\n return source;\n }\n function set(value, triggering = true) {\n var _a, _b;\n if (value === source)\n return;\n const old = source;\n if (((_a = options.onBeforeChange) == null ? void 0 : _a.call(options, value, old)) === false)\n return;\n source = value;\n (_b = options.onChanged) == null ? void 0 : _b.call(options, value, old);\n if (triggering)\n trigger();\n }\n const untrackedGet = () => get(false);\n const silentSet = (v) => set(v, false);\n const peek = () => get(false);\n const lay = (v) => set(v, false);\n return extendRef(\n ref,\n {\n get,\n set,\n untrackedGet,\n silentSet,\n peek,\n lay\n },\n { enumerable: true }\n );\n}\nconst controlledRef = refWithControl;\n\nfunction set(...args) {\n if (args.length === 2) {\n const [ref, value] = args;\n ref.value = value;\n }\n if (args.length === 3) {\n if (isVue2) {\n set$1(...args);\n } else {\n const [target, key, value] = args;\n target[key] = value;\n }\n }\n}\n\nfunction watchWithFilter(source, cb, options = {}) {\n const {\n eventFilter = bypassFilter,\n ...watchOptions\n } = options;\n return watch(\n source,\n createFilterWrapper(\n eventFilter,\n cb\n ),\n watchOptions\n );\n}\n\nfunction watchPausable(source, cb, options = {}) {\n const {\n eventFilter: filter,\n ...watchOptions\n } = options;\n const { eventFilter, pause, resume, isActive } = pausableFilter(filter);\n const stop = watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter\n }\n );\n return { stop, pause, resume, isActive };\n}\n\nfunction syncRef(left, right, ...[options]) {\n const {\n flush = \"sync\",\n deep = false,\n immediate = true,\n direction = \"both\",\n transform = {}\n } = options || {};\n const watchers = [];\n const transformLTR = \"ltr\" in transform && transform.ltr || ((v) => v);\n const transformRTL = \"rtl\" in transform && transform.rtl || ((v) => v);\n if (direction === \"both\" || direction === \"ltr\") {\n watchers.push(watchPausable(\n left,\n (newValue) => {\n watchers.forEach((w) => w.pause());\n right.value = transformLTR(newValue);\n watchers.forEach((w) => w.resume());\n },\n { flush, deep, immediate }\n ));\n }\n if (direction === \"both\" || direction === \"rtl\") {\n watchers.push(watchPausable(\n right,\n (newValue) => {\n watchers.forEach((w) => w.pause());\n left.value = transformRTL(newValue);\n watchers.forEach((w) => w.resume());\n },\n { flush, deep, immediate }\n ));\n }\n const stop = () => {\n watchers.forEach((w) => w.stop());\n };\n return stop;\n}\n\nfunction syncRefs(source, targets, options = {}) {\n const {\n flush = \"sync\",\n deep = false,\n immediate = true\n } = options;\n if (!Array.isArray(targets))\n targets = [targets];\n return watch(\n source,\n (newValue) => targets.forEach((target) => target.value = newValue),\n { flush, deep, immediate }\n );\n}\n\nfunction toRefs(objectRef, options = {}) {\n if (!isRef(objectRef))\n return toRefs$1(objectRef);\n const result = Array.isArray(objectRef.value) ? Array.from({ length: objectRef.value.length }) : {};\n for (const key in objectRef.value) {\n result[key] = customRef(() => ({\n get() {\n return objectRef.value[key];\n },\n set(v) {\n var _a;\n const replaceRef = (_a = toValue(options.replaceRef)) != null ? _a : true;\n if (replaceRef) {\n if (Array.isArray(objectRef.value)) {\n const copy = [...objectRef.value];\n copy[key] = v;\n objectRef.value = copy;\n } else {\n const newObject = { ...objectRef.value, [key]: v };\n Object.setPrototypeOf(newObject, Object.getPrototypeOf(objectRef.value));\n objectRef.value = newObject;\n }\n } else {\n objectRef.value[key] = v;\n }\n }\n }));\n }\n return result;\n}\n\nfunction tryOnBeforeMount(fn, sync = true, target) {\n const instance = getLifeCycleTarget(target);\n if (instance)\n onBeforeMount(fn, target);\n else if (sync)\n fn();\n else\n nextTick(fn);\n}\n\nfunction tryOnBeforeUnmount(fn, target) {\n const instance = getLifeCycleTarget(target);\n if (instance)\n onBeforeUnmount(fn, target);\n}\n\nfunction tryOnMounted(fn, sync = true, target) {\n const instance = getLifeCycleTarget();\n if (instance)\n onMounted(fn, target);\n else if (sync)\n fn();\n else\n nextTick(fn);\n}\n\nfunction tryOnUnmounted(fn, target) {\n const instance = getLifeCycleTarget(target);\n if (instance)\n onUnmounted(fn, target);\n}\n\nfunction createUntil(r, isNot = false) {\n function toMatch(condition, { flush = \"sync\", deep = false, timeout, throwOnTimeout } = {}) {\n let stop = null;\n const watcher = new Promise((resolve) => {\n stop = watch(\n r,\n (v) => {\n if (condition(v) !== isNot) {\n if (stop)\n stop();\n else\n nextTick(() => stop == null ? void 0 : stop());\n resolve(v);\n }\n },\n {\n flush,\n deep,\n immediate: true\n }\n );\n });\n const promises = [watcher];\n if (timeout != null) {\n promises.push(\n promiseTimeout(timeout, throwOnTimeout).then(() => toValue(r)).finally(() => stop == null ? void 0 : stop())\n );\n }\n return Promise.race(promises);\n }\n function toBe(value, options) {\n if (!isRef(value))\n return toMatch((v) => v === value, options);\n const { flush = \"sync\", deep = false, timeout, throwOnTimeout } = options != null ? options : {};\n let stop = null;\n const watcher = new Promise((resolve) => {\n stop = watch(\n [r, value],\n ([v1, v2]) => {\n if (isNot !== (v1 === v2)) {\n if (stop)\n stop();\n else\n nextTick(() => stop == null ? void 0 : stop());\n resolve(v1);\n }\n },\n {\n flush,\n deep,\n immediate: true\n }\n );\n });\n const promises = [watcher];\n if (timeout != null) {\n promises.push(\n promiseTimeout(timeout, throwOnTimeout).then(() => toValue(r)).finally(() => {\n stop == null ? void 0 : stop();\n return toValue(r);\n })\n );\n }\n return Promise.race(promises);\n }\n function toBeTruthy(options) {\n return toMatch((v) => Boolean(v), options);\n }\n function toBeNull(options) {\n return toBe(null, options);\n }\n function toBeUndefined(options) {\n return toBe(void 0, options);\n }\n function toBeNaN(options) {\n return toMatch(Number.isNaN, options);\n }\n function toContains(value, options) {\n return toMatch((v) => {\n const array = Array.from(v);\n return array.includes(value) || array.includes(toValue(value));\n }, options);\n }\n function changed(options) {\n return changedTimes(1, options);\n }\n function changedTimes(n = 1, options) {\n let count = -1;\n return toMatch(() => {\n count += 1;\n return count >= n;\n }, options);\n }\n if (Array.isArray(toValue(r))) {\n const instance = {\n toMatch,\n toContains,\n changed,\n changedTimes,\n get not() {\n return createUntil(r, !isNot);\n }\n };\n return instance;\n } else {\n const instance = {\n toMatch,\n toBe,\n toBeTruthy,\n toBeNull,\n toBeNaN,\n toBeUndefined,\n changed,\n changedTimes,\n get not() {\n return createUntil(r, !isNot);\n }\n };\n return instance;\n }\n}\nfunction until(r) {\n return createUntil(r);\n}\n\nfunction defaultComparator(value, othVal) {\n return value === othVal;\n}\nfunction useArrayDifference(...args) {\n var _a;\n const list = args[0];\n const values = args[1];\n let compareFn = (_a = args[2]) != null ? _a : defaultComparator;\n if (typeof compareFn === \"string\") {\n const key = compareFn;\n compareFn = (value, othVal) => value[key] === othVal[key];\n }\n return computed(() => toValue(list).filter((x) => toValue(values).findIndex((y) => compareFn(x, y)) === -1));\n}\n\nfunction useArrayEvery(list, fn) {\n return computed(() => toValue(list).every((element, index, array) => fn(toValue(element), index, array)));\n}\n\nfunction useArrayFilter(list, fn) {\n return computed(() => toValue(list).map((i) => toValue(i)).filter(fn));\n}\n\nfunction useArrayFind(list, fn) {\n return computed(() => toValue(\n toValue(list).find((element, index, array) => fn(toValue(element), index, array))\n ));\n}\n\nfunction useArrayFindIndex(list, fn) {\n return computed(() => toValue(list).findIndex((element, index, array) => fn(toValue(element), index, array)));\n}\n\nfunction findLast(arr, cb) {\n let index = arr.length;\n while (index-- > 0) {\n if (cb(arr[index], index, arr))\n return arr[index];\n }\n return void 0;\n}\nfunction useArrayFindLast(list, fn) {\n return computed(() => toValue(\n !Array.prototype.findLast ? findLast(toValue(list), (element, index, array) => fn(toValue(element), index, array)) : toValue(list).findLast((element, index, array) => fn(toValue(element), index, array))\n ));\n}\n\nfunction isArrayIncludesOptions(obj) {\n return isObject(obj) && containsProp(obj, \"formIndex\", \"comparator\");\n}\nfunction useArrayIncludes(...args) {\n var _a;\n const list = args[0];\n const value = args[1];\n let comparator = args[2];\n let formIndex = 0;\n if (isArrayIncludesOptions(comparator)) {\n formIndex = (_a = comparator.fromIndex) != null ? _a : 0;\n comparator = comparator.comparator;\n }\n if (typeof comparator === \"string\") {\n const key = comparator;\n comparator = (element, value2) => element[key] === toValue(value2);\n }\n comparator = comparator != null ? comparator : (element, value2) => element === toValue(value2);\n return computed(() => toValue(list).slice(formIndex).some((element, index, array) => comparator(\n toValue(element),\n toValue(value),\n index,\n toValue(array)\n )));\n}\n\nfunction useArrayJoin(list, separator) {\n return computed(() => toValue(list).map((i) => toValue(i)).join(toValue(separator)));\n}\n\nfunction useArrayMap(list, fn) {\n return computed(() => toValue(list).map((i) => toValue(i)).map(fn));\n}\n\nfunction useArrayReduce(list, reducer, ...args) {\n const reduceCallback = (sum, value, index) => reducer(toValue(sum), toValue(value), index);\n return computed(() => {\n const resolved = toValue(list);\n return args.length ? resolved.reduce(reduceCallback, typeof args[0] === \"function\" ? toValue(args[0]()) : toValue(args[0])) : resolved.reduce(reduceCallback);\n });\n}\n\nfunction useArraySome(list, fn) {\n return computed(() => toValue(list).some((element, index, array) => fn(toValue(element), index, array)));\n}\n\nfunction uniq(array) {\n return Array.from(new Set(array));\n}\nfunction uniqueElementsBy(array, fn) {\n return array.reduce((acc, v) => {\n if (!acc.some((x) => fn(v, x, array)))\n acc.push(v);\n return acc;\n }, []);\n}\nfunction useArrayUnique(list, compareFn) {\n return computed(() => {\n const resolvedList = toValue(list).map((element) => toValue(element));\n return compareFn ? uniqueElementsBy(resolvedList, compareFn) : uniq(resolvedList);\n });\n}\n\nfunction useCounter(initialValue = 0, options = {}) {\n let _initialValue = unref(initialValue);\n const count = ref(initialValue);\n const {\n max = Number.POSITIVE_INFINITY,\n min = Number.NEGATIVE_INFINITY\n } = options;\n const inc = (delta = 1) => count.value = Math.max(Math.min(max, count.value + delta), min);\n const dec = (delta = 1) => count.value = Math.min(Math.max(min, count.value - delta), max);\n const get = () => count.value;\n const set = (val) => count.value = Math.max(min, Math.min(max, val));\n const reset = (val = _initialValue) => {\n _initialValue = val;\n return set(val);\n };\n return { count, inc, dec, get, set, reset };\n}\n\nconst REGEX_PARSE = /^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[T\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/i;\nconst REGEX_FORMAT = /[YMDHhms]o|\\[([^\\]]+)\\]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|SSS/g;\nfunction defaultMeridiem(hours, minutes, isLowercase, hasPeriod) {\n let m = hours < 12 ? \"AM\" : \"PM\";\n if (hasPeriod)\n m = m.split(\"\").reduce((acc, curr) => acc += `${curr}.`, \"\");\n return isLowercase ? m.toLowerCase() : m;\n}\nfunction formatOrdinal(num) {\n const suffixes = [\"th\", \"st\", \"nd\", \"rd\"];\n const v = num % 100;\n return num + (suffixes[(v - 20) % 10] || suffixes[v] || suffixes[0]);\n}\nfunction formatDate(date, formatStr, options = {}) {\n var _a;\n const years = date.getFullYear();\n const month = date.getMonth();\n const days = date.getDate();\n const hours = date.getHours();\n const minutes = date.getMinutes();\n const seconds = date.getSeconds();\n const milliseconds = date.getMilliseconds();\n const day = date.getDay();\n const meridiem = (_a = options.customMeridiem) != null ? _a : defaultMeridiem;\n const matches = {\n Yo: () => formatOrdinal(years),\n YY: () => String(years).slice(-2),\n YYYY: () => years,\n M: () => month + 1,\n Mo: () => formatOrdinal(month + 1),\n MM: () => `${month + 1}`.padStart(2, \"0\"),\n MMM: () => date.toLocaleDateString(toValue(options.locales), { month: \"short\" }),\n MMMM: () => date.toLocaleDateString(toValue(options.locales), { month: \"long\" }),\n D: () => String(days),\n Do: () => formatOrdinal(days),\n DD: () => `${days}`.padStart(2, \"0\"),\n H: () => String(hours),\n Ho: () => formatOrdinal(hours),\n HH: () => `${hours}`.padStart(2, \"0\"),\n h: () => `${hours % 12 || 12}`.padStart(1, \"0\"),\n ho: () => formatOrdinal(hours % 12 || 12),\n hh: () => `${hours % 12 || 12}`.padStart(2, \"0\"),\n m: () => String(minutes),\n mo: () => formatOrdinal(minutes),\n mm: () => `${minutes}`.padStart(2, \"0\"),\n s: () => String(seconds),\n so: () => formatOrdinal(seconds),\n ss: () => `${seconds}`.padStart(2, \"0\"),\n SSS: () => `${milliseconds}`.padStart(3, \"0\"),\n d: () => day,\n dd: () => date.toLocaleDateString(toValue(options.locales), { weekday: \"narrow\" }),\n ddd: () => date.toLocaleDateString(toValue(options.locales), { weekday: \"short\" }),\n dddd: () => date.toLocaleDateString(toValue(options.locales), { weekday: \"long\" }),\n A: () => meridiem(hours, minutes),\n AA: () => meridiem(hours, minutes, false, true),\n a: () => meridiem(hours, minutes, true),\n aa: () => meridiem(hours, minutes, true, true)\n };\n return formatStr.replace(REGEX_FORMAT, (match, $1) => {\n var _a2, _b;\n return (_b = $1 != null ? $1 : (_a2 = matches[match]) == null ? void 0 : _a2.call(matches)) != null ? _b : match;\n });\n}\nfunction normalizeDate(date) {\n if (date === null)\n return new Date(Number.NaN);\n if (date === void 0)\n return /* @__PURE__ */ new Date();\n if (date instanceof Date)\n return new Date(date);\n if (typeof date === \"string\" && !/Z$/i.test(date)) {\n const d = date.match(REGEX_PARSE);\n if (d) {\n const m = d[2] - 1 || 0;\n const ms = (d[7] || \"0\").substring(0, 3);\n return new Date(d[1], m, d[3] || 1, d[4] || 0, d[5] || 0, d[6] || 0, ms);\n }\n }\n return new Date(date);\n}\nfunction useDateFormat(date, formatStr = \"HH:mm:ss\", options = {}) {\n return computed(() => formatDate(normalizeDate(toValue(date)), toValue(formatStr), options));\n}\n\nfunction useIntervalFn(cb, interval = 1e3, options = {}) {\n const {\n immediate = true,\n immediateCallback = false\n } = options;\n let timer = null;\n const isActive = ref(false);\n function clean() {\n if (timer) {\n clearInterval(timer);\n timer = null;\n }\n }\n function pause() {\n isActive.value = false;\n clean();\n }\n function resume() {\n const intervalValue = toValue(interval);\n if (intervalValue <= 0)\n return;\n isActive.value = true;\n if (immediateCallback)\n cb();\n clean();\n if (isActive.value)\n timer = setInterval(cb, intervalValue);\n }\n if (immediate && isClient)\n resume();\n if (isRef(interval) || typeof interval === \"function\") {\n const stopWatch = watch(interval, () => {\n if (isActive.value && isClient)\n resume();\n });\n tryOnScopeDispose(stopWatch);\n }\n tryOnScopeDispose(pause);\n return {\n isActive,\n pause,\n resume\n };\n}\n\nfunction useInterval(interval = 1e3, options = {}) {\n const {\n controls: exposeControls = false,\n immediate = true,\n callback\n } = options;\n const counter = ref(0);\n const update = () => counter.value += 1;\n const reset = () => {\n counter.value = 0;\n };\n const controls = useIntervalFn(\n callback ? () => {\n update();\n callback(counter.value);\n } : update,\n interval,\n { immediate }\n );\n if (exposeControls) {\n return {\n counter,\n reset,\n ...controls\n };\n } else {\n return counter;\n }\n}\n\nfunction useLastChanged(source, options = {}) {\n var _a;\n const ms = ref((_a = options.initialValue) != null ? _a : null);\n watch(\n source,\n () => ms.value = timestamp(),\n options\n );\n return ms;\n}\n\nfunction useTimeoutFn(cb, interval, options = {}) {\n const {\n immediate = true\n } = options;\n const isPending = ref(false);\n let timer = null;\n function clear() {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n }\n function stop() {\n isPending.value = false;\n clear();\n }\n function start(...args) {\n clear();\n isPending.value = true;\n timer = setTimeout(() => {\n isPending.value = false;\n timer = null;\n cb(...args);\n }, toValue(interval));\n }\n if (immediate) {\n isPending.value = true;\n if (isClient)\n start();\n }\n tryOnScopeDispose(stop);\n return {\n isPending: readonly(isPending),\n start,\n stop\n };\n}\n\nfunction useTimeout(interval = 1e3, options = {}) {\n const {\n controls: exposeControls = false,\n callback\n } = options;\n const controls = useTimeoutFn(\n callback != null ? callback : noop,\n interval,\n options\n );\n const ready = computed(() => !controls.isPending.value);\n if (exposeControls) {\n return {\n ready,\n ...controls\n };\n } else {\n return ready;\n }\n}\n\nfunction useToNumber(value, options = {}) {\n const {\n method = \"parseFloat\",\n radix,\n nanToZero\n } = options;\n return computed(() => {\n let resolved = toValue(value);\n if (typeof resolved === \"string\")\n resolved = Number[method](resolved, radix);\n if (nanToZero && Number.isNaN(resolved))\n resolved = 0;\n return resolved;\n });\n}\n\nfunction useToString(value) {\n return computed(() => `${toValue(value)}`);\n}\n\nfunction useToggle(initialValue = false, options = {}) {\n const {\n truthyValue = true,\n falsyValue = false\n } = options;\n const valueIsRef = isRef(initialValue);\n const _value = ref(initialValue);\n function toggle(value) {\n if (arguments.length) {\n _value.value = value;\n return _value.value;\n } else {\n const truthy = toValue(truthyValue);\n _value.value = _value.value === truthy ? toValue(falsyValue) : truthy;\n return _value.value;\n }\n }\n if (valueIsRef)\n return toggle;\n else\n return [_value, toggle];\n}\n\nfunction watchArray(source, cb, options) {\n let oldList = (options == null ? void 0 : options.immediate) ? [] : [...source instanceof Function ? source() : Array.isArray(source) ? source : toValue(source)];\n return watch(source, (newList, _, onCleanup) => {\n const oldListRemains = Array.from({ length: oldList.length });\n const added = [];\n for (const obj of newList) {\n let found = false;\n for (let i = 0; i < oldList.length; i++) {\n if (!oldListRemains[i] && obj === oldList[i]) {\n oldListRemains[i] = true;\n found = true;\n break;\n }\n }\n if (!found)\n added.push(obj);\n }\n const removed = oldList.filter((_2, i) => !oldListRemains[i]);\n cb(newList, oldList, added, removed, onCleanup);\n oldList = [...newList];\n }, options);\n}\n\nfunction watchAtMost(source, cb, options) {\n const {\n count,\n ...watchOptions\n } = options;\n const current = ref(0);\n const stop = watchWithFilter(\n source,\n (...args) => {\n current.value += 1;\n if (current.value >= toValue(count))\n nextTick(() => stop());\n cb(...args);\n },\n watchOptions\n );\n return { count: current, stop };\n}\n\nfunction watchDebounced(source, cb, options = {}) {\n const {\n debounce = 0,\n maxWait = void 0,\n ...watchOptions\n } = options;\n return watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter: debounceFilter(debounce, { maxWait })\n }\n );\n}\n\nfunction watchDeep(source, cb, options) {\n return watch(\n source,\n cb,\n {\n ...options,\n deep: true\n }\n );\n}\n\nfunction watchIgnorable(source, cb, options = {}) {\n const {\n eventFilter = bypassFilter,\n ...watchOptions\n } = options;\n const filteredCb = createFilterWrapper(\n eventFilter,\n cb\n );\n let ignoreUpdates;\n let ignorePrevAsyncUpdates;\n let stop;\n if (watchOptions.flush === \"sync\") {\n const ignore = ref(false);\n ignorePrevAsyncUpdates = () => {\n };\n ignoreUpdates = (updater) => {\n ignore.value = true;\n updater();\n ignore.value = false;\n };\n stop = watch(\n source,\n (...args) => {\n if (!ignore.value)\n filteredCb(...args);\n },\n watchOptions\n );\n } else {\n const disposables = [];\n const ignoreCounter = ref(0);\n const syncCounter = ref(0);\n ignorePrevAsyncUpdates = () => {\n ignoreCounter.value = syncCounter.value;\n };\n disposables.push(\n watch(\n source,\n () => {\n syncCounter.value++;\n },\n { ...watchOptions, flush: \"sync\" }\n )\n );\n ignoreUpdates = (updater) => {\n const syncCounterPrev = syncCounter.value;\n updater();\n ignoreCounter.value += syncCounter.value - syncCounterPrev;\n };\n disposables.push(\n watch(\n source,\n (...args) => {\n const ignore = ignoreCounter.value > 0 && ignoreCounter.value === syncCounter.value;\n ignoreCounter.value = 0;\n syncCounter.value = 0;\n if (ignore)\n return;\n filteredCb(...args);\n },\n watchOptions\n )\n );\n stop = () => {\n disposables.forEach((fn) => fn());\n };\n }\n return { stop, ignoreUpdates, ignorePrevAsyncUpdates };\n}\n\nfunction watchImmediate(source, cb, options) {\n return watch(\n source,\n cb,\n {\n ...options,\n immediate: true\n }\n );\n}\n\nfunction watchOnce(source, cb, options) {\n const stop = watch(source, (...args) => {\n nextTick(() => stop());\n return cb(...args);\n }, options);\n return stop;\n}\n\nfunction watchThrottled(source, cb, options = {}) {\n const {\n throttle = 0,\n trailing = true,\n leading = true,\n ...watchOptions\n } = options;\n return watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter: throttleFilter(throttle, trailing, leading)\n }\n );\n}\n\nfunction watchTriggerable(source, cb, options = {}) {\n let cleanupFn;\n function onEffect() {\n if (!cleanupFn)\n return;\n const fn = cleanupFn;\n cleanupFn = void 0;\n fn();\n }\n function onCleanup(callback) {\n cleanupFn = callback;\n }\n const _cb = (value, oldValue) => {\n onEffect();\n return cb(value, oldValue, onCleanup);\n };\n const res = watchIgnorable(source, _cb, options);\n const { ignoreUpdates } = res;\n const trigger = () => {\n let res2;\n ignoreUpdates(() => {\n res2 = _cb(getWatchSources(source), getOldValue(source));\n });\n return res2;\n };\n return {\n ...res,\n trigger\n };\n}\nfunction getWatchSources(sources) {\n if (isReactive(sources))\n return sources;\n if (Array.isArray(sources))\n return sources.map((item) => toValue(item));\n return toValue(sources);\n}\nfunction getOldValue(source) {\n return Array.isArray(source) ? source.map(() => void 0) : void 0;\n}\n\nfunction whenever(source, cb, options) {\n const stop = watch(\n source,\n (v, ov, onInvalidate) => {\n if (v) {\n if (options == null ? void 0 : options.once)\n nextTick(() => stop());\n cb(v, ov, onInvalidate);\n }\n },\n {\n ...options,\n once: false\n }\n );\n return stop;\n}\n\nexport { assert, refAutoReset as autoResetRef, bypassFilter, camelize, clamp, computedEager, computedWithControl, containsProp, computedWithControl as controlledComputed, controlledRef, createEventHook, createFilterWrapper, createGlobalState, createInjectionState, reactify as createReactiveFn, createSharedComposable, createSingletonPromise, debounceFilter, refDebounced as debouncedRef, watchDebounced as debouncedWatch, directiveHooks, computedEager as eagerComputed, extendRef, formatDate, get, getLifeCycleTarget, hasOwn, hyphenate, identity, watchIgnorable as ignorableWatch, increaseWithUnit, injectLocal, invoke, isClient, isDef, isDefined, isIOS, isObject, isWorker, makeDestructurable, noop, normalizeDate, notNullish, now, objectEntries, objectOmit, objectPick, pausableFilter, watchPausable as pausableWatch, promiseTimeout, provideLocal, rand, reactify, reactifyObject, reactiveComputed, reactiveOmit, reactivePick, refAutoReset, refDebounced, refDefault, refThrottled, refWithControl, resolveRef, resolveUnref, set, syncRef, syncRefs, throttleFilter, refThrottled as throttledRef, watchThrottled as throttledWatch, timestamp, toReactive, toRef, toRefs, toValue, tryOnBeforeMount, tryOnBeforeUnmount, tryOnMounted, tryOnScopeDispose, tryOnUnmounted, until, useArrayDifference, useArrayEvery, useArrayFilter, useArrayFind, useArrayFindIndex, useArrayFindLast, useArrayIncludes, useArrayJoin, useArrayMap, useArrayReduce, useArraySome, useArrayUnique, useCounter, useDateFormat, refDebounced as useDebounce, useDebounceFn, useInterval, useIntervalFn, useLastChanged, refThrottled as useThrottle, useThrottleFn, useTimeout, useTimeoutFn, useToNumber, useToString, useToggle, watchArray, watchAtMost, watchDebounced, watchDeep, watchIgnorable, watchImmediate, watchOnce, watchPausable, watchThrottled, watchTriggerable, watchWithFilter, whenever };\n","import { onClickOutside as onClickOutside$1, useActiveElement, useBattery, useBrowserLocation, useClipboard, useDark, useDeviceMotion, useDeviceOrientation, useDevicePixelRatio, useDevicesList, useDocumentVisibility, useStorage as useStorage$1, isClient as isClient$1, useDraggable, useElementBounding, useElementSize as useElementSize$1, useElementVisibility as useElementVisibility$1, useEyeDropper, useFullscreen, useGeolocation, useIdle, useMouse, useMouseInElement, useMousePressed, useNetwork, useNow, useObjectUrl, useOffsetPagination, useOnline, usePageLeave, usePointer, usePointerLock, usePreferredColorScheme, usePreferredContrast, usePreferredDark as usePreferredDark$1, usePreferredLanguages, usePreferredReducedMotion, useTimeAgo, useTimestamp, useVirtualList, useWindowFocus, useWindowSize } from '@vueuse/core';\nimport { defineComponent, ref, h, watch, computed, reactive, getCurrentInstance, onMounted, isVue2, watchEffect, shallowRef, nextTick, toRefs } from 'vue-demi';\nimport { isClient, toValue, noop, isObject, tryOnScopeDispose, isIOS, directiveHooks, pausableWatch, tryOnMounted, toRef, useToggle, notNullish, promiseTimeout, until, useDebounceFn, useThrottleFn, tryOnUnmounted } from '@vueuse/shared';\n\nconst OnClickOutside = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"OnClickOutside\",\n props: [\"as\", \"options\"],\n emits: [\"trigger\"],\n setup(props, { slots, emit }) {\n const target = ref();\n onClickOutside$1(target, (e) => {\n emit(\"trigger\", e);\n }, props.options);\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target }, slots.default());\n };\n }\n});\n\nconst defaultWindow = isClient ? window : void 0;\n\nfunction unrefElement(elRef) {\n var _a;\n const plain = toValue(elRef);\n return (_a = plain == null ? void 0 : plain.$el) != null ? _a : plain;\n}\n\nfunction useEventListener(...args) {\n let target;\n let events;\n let listeners;\n let options;\n if (typeof args[0] === \"string\" || Array.isArray(args[0])) {\n [events, listeners, options] = args;\n target = defaultWindow;\n } else {\n [target, events, listeners, options] = args;\n }\n if (!target)\n return noop;\n if (!Array.isArray(events))\n events = [events];\n if (!Array.isArray(listeners))\n listeners = [listeners];\n const cleanups = [];\n const cleanup = () => {\n cleanups.forEach((fn) => fn());\n cleanups.length = 0;\n };\n const register = (el, event, listener, options2) => {\n el.addEventListener(event, listener, options2);\n return () => el.removeEventListener(event, listener, options2);\n };\n const stopWatch = watch(\n () => [unrefElement(target), toValue(options)],\n ([el, options2]) => {\n cleanup();\n if (!el)\n return;\n const optionsClone = isObject(options2) ? { ...options2 } : options2;\n cleanups.push(\n ...events.flatMap((event) => {\n return listeners.map((listener) => register(el, event, listener, optionsClone));\n })\n );\n },\n { immediate: true, flush: \"post\" }\n );\n const stop = () => {\n stopWatch();\n cleanup();\n };\n tryOnScopeDispose(stop);\n return stop;\n}\n\nlet _iOSWorkaround = false;\nfunction onClickOutside(target, handler, options = {}) {\n const { window = defaultWindow, ignore = [], capture = true, detectIframe = false } = options;\n if (!window)\n return noop;\n if (isIOS && !_iOSWorkaround) {\n _iOSWorkaround = true;\n Array.from(window.document.body.children).forEach((el) => el.addEventListener(\"click\", noop));\n window.document.documentElement.addEventListener(\"click\", noop);\n }\n let shouldListen = true;\n const shouldIgnore = (event) => {\n return toValue(ignore).some((target2) => {\n if (typeof target2 === \"string\") {\n return Array.from(window.document.querySelectorAll(target2)).some((el) => el === event.target || event.composedPath().includes(el));\n } else {\n const el = unrefElement(target2);\n return el && (event.target === el || event.composedPath().includes(el));\n }\n });\n };\n function hasMultipleRoots(target2) {\n const vm = toValue(target2);\n return vm && vm.$.subTree.shapeFlag === 16;\n }\n function checkMultipleRoots(target2, event) {\n const vm = toValue(target2);\n const children = vm.$.subTree && vm.$.subTree.children;\n if (children == null || !Array.isArray(children))\n return false;\n return children.some((child) => child.el === event.target || event.composedPath().includes(child.el));\n }\n const listener = (event) => {\n const el = unrefElement(target);\n if (event.target == null)\n return;\n if (!(el instanceof Element) && hasMultipleRoots(target) && checkMultipleRoots(target, event))\n return;\n if (!el || el === event.target || event.composedPath().includes(el))\n return;\n if (event.detail === 0)\n shouldListen = !shouldIgnore(event);\n if (!shouldListen) {\n shouldListen = true;\n return;\n }\n handler(event);\n };\n let isProcessingClick = false;\n const cleanup = [\n useEventListener(window, \"click\", (event) => {\n if (!isProcessingClick) {\n isProcessingClick = true;\n setTimeout(() => {\n isProcessingClick = false;\n }, 0);\n listener(event);\n }\n }, { passive: true, capture }),\n useEventListener(window, \"pointerdown\", (e) => {\n const el = unrefElement(target);\n shouldListen = !shouldIgnore(e) && !!(el && !e.composedPath().includes(el));\n }, { passive: true }),\n detectIframe && useEventListener(window, \"blur\", (event) => {\n setTimeout(() => {\n var _a;\n const el = unrefElement(target);\n if (((_a = window.document.activeElement) == null ? void 0 : _a.tagName) === \"IFRAME\" && !(el == null ? void 0 : el.contains(window.document.activeElement))) {\n handler(event);\n }\n }, 0);\n })\n ].filter(Boolean);\n const stop = () => cleanup.forEach((fn) => fn());\n return stop;\n}\n\nconst vOnClickOutside = {\n [directiveHooks.mounted](el, binding) {\n const capture = !binding.modifiers.bubble;\n if (typeof binding.value === \"function\") {\n el.__onClickOutside_stop = onClickOutside(el, binding.value, { capture });\n } else {\n const [handler, options] = binding.value;\n el.__onClickOutside_stop = onClickOutside(el, handler, Object.assign({ capture }, options));\n }\n },\n [directiveHooks.unmounted](el) {\n el.__onClickOutside_stop();\n }\n};\n\nfunction createKeyPredicate(keyFilter) {\n if (typeof keyFilter === \"function\")\n return keyFilter;\n else if (typeof keyFilter === \"string\")\n return (event) => event.key === keyFilter;\n else if (Array.isArray(keyFilter))\n return (event) => keyFilter.includes(event.key);\n return () => true;\n}\nfunction onKeyStroke(...args) {\n let key;\n let handler;\n let options = {};\n if (args.length === 3) {\n key = args[0];\n handler = args[1];\n options = args[2];\n } else if (args.length === 2) {\n if (typeof args[1] === \"object\") {\n key = true;\n handler = args[0];\n options = args[1];\n } else {\n key = args[0];\n handler = args[1];\n }\n } else {\n key = true;\n handler = args[0];\n }\n const {\n target = defaultWindow,\n eventName = \"keydown\",\n passive = false,\n dedupe = false\n } = options;\n const predicate = createKeyPredicate(key);\n const listener = (e) => {\n if (e.repeat && toValue(dedupe))\n return;\n if (predicate(e))\n handler(e);\n };\n return useEventListener(target, eventName, listener, passive);\n}\n\nconst vOnKeyStroke = {\n [directiveHooks.mounted](el, binding) {\n var _a, _b;\n const keys = (_b = (_a = binding.arg) == null ? void 0 : _a.split(\",\")) != null ? _b : true;\n if (typeof binding.value === \"function\") {\n onKeyStroke(keys, binding.value, {\n target: el\n });\n } else {\n const [handler, options] = binding.value;\n onKeyStroke(keys, handler, {\n target: el,\n ...options\n });\n }\n }\n};\n\nconst DEFAULT_DELAY = 500;\nconst DEFAULT_THRESHOLD = 10;\nfunction onLongPress(target, handler, options) {\n var _a, _b;\n const elementRef = computed(() => unrefElement(target));\n let timeout;\n let posStart;\n let startTimestamp;\n let hasLongPressed = false;\n function clear() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = void 0;\n }\n posStart = void 0;\n startTimestamp = void 0;\n hasLongPressed = false;\n }\n function onRelease(ev) {\n var _a2, _b2, _c;\n const [_startTimestamp, _posStart, _hasLongPressed] = [startTimestamp, posStart, hasLongPressed];\n clear();\n if (!(options == null ? void 0 : options.onMouseUp) || !_posStart || !_startTimestamp)\n return;\n if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value)\n return;\n if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent)\n ev.preventDefault();\n if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop)\n ev.stopPropagation();\n const dx = ev.x - _posStart.x;\n const dy = ev.y - _posStart.y;\n const distance = Math.sqrt(dx * dx + dy * dy);\n options.onMouseUp(ev.timeStamp - _startTimestamp, distance, _hasLongPressed);\n }\n function onDown(ev) {\n var _a2, _b2, _c, _d;\n if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value)\n return;\n clear();\n if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent)\n ev.preventDefault();\n if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop)\n ev.stopPropagation();\n posStart = {\n x: ev.x,\n y: ev.y\n };\n startTimestamp = ev.timeStamp;\n timeout = setTimeout(\n () => {\n hasLongPressed = true;\n handler(ev);\n },\n (_d = options == null ? void 0 : options.delay) != null ? _d : DEFAULT_DELAY\n );\n }\n function onMove(ev) {\n var _a2, _b2, _c, _d;\n if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value)\n return;\n if (!posStart || (options == null ? void 0 : options.distanceThreshold) === false)\n return;\n if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent)\n ev.preventDefault();\n if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop)\n ev.stopPropagation();\n const dx = ev.x - posStart.x;\n const dy = ev.y - posStart.y;\n const distance = Math.sqrt(dx * dx + dy * dy);\n if (distance >= ((_d = options == null ? void 0 : options.distanceThreshold) != null ? _d : DEFAULT_THRESHOLD))\n clear();\n }\n const listenerOptions = {\n capture: (_a = options == null ? void 0 : options.modifiers) == null ? void 0 : _a.capture,\n once: (_b = options == null ? void 0 : options.modifiers) == null ? void 0 : _b.once\n };\n const cleanup = [\n useEventListener(elementRef, \"pointerdown\", onDown, listenerOptions),\n useEventListener(elementRef, \"pointermove\", onMove, listenerOptions),\n useEventListener(elementRef, [\"pointerup\", \"pointerleave\"], onRelease, listenerOptions)\n ];\n const stop = () => cleanup.forEach((fn) => fn());\n return stop;\n}\n\nconst OnLongPress = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"OnLongPress\",\n props: [\"as\", \"options\"],\n emits: [\"trigger\"],\n setup(props, { slots, emit }) {\n const target = ref();\n onLongPress(\n target,\n (e) => {\n emit(\"trigger\", e);\n },\n props.options\n );\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target }, slots.default());\n };\n }\n});\n\nconst vOnLongPress = {\n [directiveHooks.mounted](el, binding) {\n if (typeof binding.value === \"function\")\n onLongPress(el, binding.value, { modifiers: binding.modifiers });\n else\n onLongPress(el, ...binding.value);\n }\n};\n\nconst UseActiveElement = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseActiveElement\",\n setup(props, { slots }) {\n const data = reactive({\n element: useActiveElement()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseBattery = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseBattery\",\n setup(props, { slots }) {\n const data = reactive(useBattery(props));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseBrowserLocation = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseBrowserLocation\",\n setup(props, { slots }) {\n const data = reactive(useBrowserLocation());\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseClipboard = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseClipboard\",\n props: [\n \"source\",\n \"read\",\n \"navigator\",\n \"copiedDuring\",\n \"legacy\"\n ],\n setup(props, { slots }) {\n const data = reactive(useClipboard(props));\n return () => {\n var _a;\n return (_a = slots.default) == null ? void 0 : _a.call(slots, data);\n };\n }\n});\n\nconst _global = typeof globalThis !== \"undefined\" ? globalThis : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : {};\nconst globalKey = \"__vueuse_ssr_handlers__\";\nconst handlers = /* @__PURE__ */ getHandlers();\nfunction getHandlers() {\n if (!(globalKey in _global))\n _global[globalKey] = _global[globalKey] || {};\n return _global[globalKey];\n}\nfunction getSSRHandler(key, fallback) {\n return handlers[key] || fallback;\n}\n\nfunction useMounted() {\n const isMounted = ref(false);\n const instance = getCurrentInstance();\n if (instance) {\n onMounted(() => {\n isMounted.value = true;\n }, isVue2 ? void 0 : instance);\n }\n return isMounted;\n}\n\nfunction useSupported(callback) {\n const isMounted = useMounted();\n return computed(() => {\n isMounted.value;\n return Boolean(callback());\n });\n}\n\nfunction useMediaQuery(query, options = {}) {\n const { window = defaultWindow } = options;\n const isSupported = useSupported(() => window && \"matchMedia\" in window && typeof window.matchMedia === \"function\");\n let mediaQuery;\n const matches = ref(false);\n const handler = (event) => {\n matches.value = event.matches;\n };\n const cleanup = () => {\n if (!mediaQuery)\n return;\n if (\"removeEventListener\" in mediaQuery)\n mediaQuery.removeEventListener(\"change\", handler);\n else\n mediaQuery.removeListener(handler);\n };\n const stopWatch = watchEffect(() => {\n if (!isSupported.value)\n return;\n cleanup();\n mediaQuery = window.matchMedia(toValue(query));\n if (\"addEventListener\" in mediaQuery)\n mediaQuery.addEventListener(\"change\", handler);\n else\n mediaQuery.addListener(handler);\n matches.value = mediaQuery.matches;\n });\n tryOnScopeDispose(() => {\n stopWatch();\n cleanup();\n mediaQuery = void 0;\n });\n return matches;\n}\n\nfunction usePreferredDark(options) {\n return useMediaQuery(\"(prefers-color-scheme: dark)\", options);\n}\n\nfunction guessSerializerType(rawInit) {\n return rawInit == null ? \"any\" : rawInit instanceof Set ? \"set\" : rawInit instanceof Map ? \"map\" : rawInit instanceof Date ? \"date\" : typeof rawInit === \"boolean\" ? \"boolean\" : typeof rawInit === \"string\" ? \"string\" : typeof rawInit === \"object\" ? \"object\" : !Number.isNaN(rawInit) ? \"number\" : \"any\";\n}\n\nconst StorageSerializers = {\n boolean: {\n read: (v) => v === \"true\",\n write: (v) => String(v)\n },\n object: {\n read: (v) => JSON.parse(v),\n write: (v) => JSON.stringify(v)\n },\n number: {\n read: (v) => Number.parseFloat(v),\n write: (v) => String(v)\n },\n any: {\n read: (v) => v,\n write: (v) => String(v)\n },\n string: {\n read: (v) => v,\n write: (v) => String(v)\n },\n map: {\n read: (v) => new Map(JSON.parse(v)),\n write: (v) => JSON.stringify(Array.from(v.entries()))\n },\n set: {\n read: (v) => new Set(JSON.parse(v)),\n write: (v) => JSON.stringify(Array.from(v))\n },\n date: {\n read: (v) => new Date(v),\n write: (v) => v.toISOString()\n }\n};\nconst customStorageEventName = \"vueuse-storage\";\nfunction useStorage(key, defaults, storage, options = {}) {\n var _a;\n const {\n flush = \"pre\",\n deep = true,\n listenToStorageChanges = true,\n writeDefaults = true,\n mergeDefaults = false,\n shallow,\n window = defaultWindow,\n eventFilter,\n onError = (e) => {\n console.error(e);\n },\n initOnMounted\n } = options;\n const data = (shallow ? shallowRef : ref)(typeof defaults === \"function\" ? defaults() : defaults);\n if (!storage) {\n try {\n storage = getSSRHandler(\"getDefaultStorage\", () => {\n var _a2;\n return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage;\n })();\n } catch (e) {\n onError(e);\n }\n }\n if (!storage)\n return data;\n const rawInit = toValue(defaults);\n const type = guessSerializerType(rawInit);\n const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type];\n const { pause: pauseWatch, resume: resumeWatch } = pausableWatch(\n data,\n () => write(data.value),\n { flush, deep, eventFilter }\n );\n if (window && listenToStorageChanges) {\n tryOnMounted(() => {\n if (storage instanceof Storage)\n useEventListener(window, \"storage\", update);\n else\n useEventListener(window, customStorageEventName, updateFromCustomEvent);\n if (initOnMounted)\n update();\n });\n }\n if (!initOnMounted)\n update();\n function dispatchWriteEvent(oldValue, newValue) {\n if (window) {\n const payload = {\n key,\n oldValue,\n newValue,\n storageArea: storage\n };\n window.dispatchEvent(storage instanceof Storage ? new StorageEvent(\"storage\", payload) : new CustomEvent(customStorageEventName, {\n detail: payload\n }));\n }\n }\n function write(v) {\n try {\n const oldValue = storage.getItem(key);\n if (v == null) {\n dispatchWriteEvent(oldValue, null);\n storage.removeItem(key);\n } else {\n const serialized = serializer.write(v);\n if (oldValue !== serialized) {\n storage.setItem(key, serialized);\n dispatchWriteEvent(oldValue, serialized);\n }\n }\n } catch (e) {\n onError(e);\n }\n }\n function read(event) {\n const rawValue = event ? event.newValue : storage.getItem(key);\n if (rawValue == null) {\n if (writeDefaults && rawInit != null)\n storage.setItem(key, serializer.write(rawInit));\n return rawInit;\n } else if (!event && mergeDefaults) {\n const value = serializer.read(rawValue);\n if (typeof mergeDefaults === \"function\")\n return mergeDefaults(value, rawInit);\n else if (type === \"object\" && !Array.isArray(value))\n return { ...rawInit, ...value };\n return value;\n } else if (typeof rawValue !== \"string\") {\n return rawValue;\n } else {\n return serializer.read(rawValue);\n }\n }\n function update(event) {\n if (event && event.storageArea !== storage)\n return;\n if (event && event.key == null) {\n data.value = rawInit;\n return;\n }\n if (event && event.key !== key)\n return;\n pauseWatch();\n try {\n if ((event == null ? void 0 : event.newValue) !== serializer.write(data.value))\n data.value = read(event);\n } catch (e) {\n onError(e);\n } finally {\n if (event)\n nextTick(resumeWatch);\n else\n resumeWatch();\n }\n }\n function updateFromCustomEvent(event) {\n update(event.detail);\n }\n return data;\n}\n\nconst CSS_DISABLE_TRANS = \"*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}\";\nfunction useColorMode(options = {}) {\n const {\n selector = \"html\",\n attribute = \"class\",\n initialValue = \"auto\",\n window = defaultWindow,\n storage,\n storageKey = \"vueuse-color-scheme\",\n listenToStorageChanges = true,\n storageRef,\n emitAuto,\n disableTransition = true\n } = options;\n const modes = {\n auto: \"\",\n light: \"light\",\n dark: \"dark\",\n ...options.modes || {}\n };\n const preferredDark = usePreferredDark({ window });\n const system = computed(() => preferredDark.value ? \"dark\" : \"light\");\n const store = storageRef || (storageKey == null ? toRef(initialValue) : useStorage(storageKey, initialValue, storage, { window, listenToStorageChanges }));\n const state = computed(() => store.value === \"auto\" ? system.value : store.value);\n const updateHTMLAttrs = getSSRHandler(\n \"updateHTMLAttrs\",\n (selector2, attribute2, value) => {\n const el = typeof selector2 === \"string\" ? window == null ? void 0 : window.document.querySelector(selector2) : unrefElement(selector2);\n if (!el)\n return;\n const classesToAdd = /* @__PURE__ */ new Set();\n const classesToRemove = /* @__PURE__ */ new Set();\n let attributeToChange = null;\n if (attribute2 === \"class\") {\n const current = value.split(/\\s/g);\n Object.values(modes).flatMap((i) => (i || \"\").split(/\\s/g)).filter(Boolean).forEach((v) => {\n if (current.includes(v))\n classesToAdd.add(v);\n else\n classesToRemove.add(v);\n });\n } else {\n attributeToChange = { key: attribute2, value };\n }\n if (classesToAdd.size === 0 && classesToRemove.size === 0 && attributeToChange === null)\n return;\n let style;\n if (disableTransition) {\n style = window.document.createElement(\"style\");\n style.appendChild(document.createTextNode(CSS_DISABLE_TRANS));\n window.document.head.appendChild(style);\n }\n for (const c of classesToAdd) {\n el.classList.add(c);\n }\n for (const c of classesToRemove) {\n el.classList.remove(c);\n }\n if (attributeToChange) {\n el.setAttribute(attributeToChange.key, attributeToChange.value);\n }\n if (disableTransition) {\n window.getComputedStyle(style).opacity;\n document.head.removeChild(style);\n }\n }\n );\n function defaultOnChanged(mode) {\n var _a;\n updateHTMLAttrs(selector, attribute, (_a = modes[mode]) != null ? _a : mode);\n }\n function onChanged(mode) {\n if (options.onChanged)\n options.onChanged(mode, defaultOnChanged);\n else\n defaultOnChanged(mode);\n }\n watch(state, onChanged, { flush: \"post\", immediate: true });\n tryOnMounted(() => onChanged(state.value));\n const auto = computed({\n get() {\n return emitAuto ? store.value : state.value;\n },\n set(v) {\n store.value = v;\n }\n });\n try {\n return Object.assign(auto, { store, system, state });\n } catch (e) {\n return auto;\n }\n}\n\nconst UseColorMode = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseColorMode\",\n props: [\"selector\", \"attribute\", \"modes\", \"onChanged\", \"storageKey\", \"storage\", \"emitAuto\"],\n setup(props, { slots }) {\n const mode = useColorMode(props);\n const data = reactive({\n mode,\n system: mode.system,\n store: mode.store\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseDark = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseDark\",\n props: [\"selector\", \"attribute\", \"valueDark\", \"valueLight\", \"onChanged\", \"storageKey\", \"storage\"],\n setup(props, { slots }) {\n const isDark = useDark(props);\n const data = reactive({\n isDark,\n toggleDark: useToggle(isDark)\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseDeviceMotion = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseDeviceMotion\",\n setup(props, { slots }) {\n const data = reactive(useDeviceMotion());\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseDeviceOrientation = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseDeviceOrientation\",\n setup(props, { slots }) {\n const data = reactive(useDeviceOrientation());\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseDevicePixelRatio = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseDevicePixelRatio\",\n setup(props, { slots }) {\n const data = reactive({\n pixelRatio: useDevicePixelRatio()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseDevicesList = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseDevicesList\",\n props: [\"onUpdated\", \"requestPermissions\", \"constraints\"],\n setup(props, { slots }) {\n const data = reactive(useDevicesList(props));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseDocumentVisibility = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseDocumentVisibility\",\n setup(props, { slots }) {\n const data = reactive({\n visibility: useDocumentVisibility()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseDraggable = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseDraggable\",\n props: [\n \"storageKey\",\n \"storageType\",\n \"initialValue\",\n \"exact\",\n \"preventDefault\",\n \"stopPropagation\",\n \"pointerTypes\",\n \"as\",\n \"handle\",\n \"axis\",\n \"onStart\",\n \"onMove\",\n \"onEnd\",\n \"disabled\",\n \"buttons\",\n \"containerElement\"\n ],\n setup(props, { slots }) {\n const target = ref();\n const handle = computed(() => {\n var _a;\n return (_a = props.handle) != null ? _a : target.value;\n });\n const containerElement = computed(() => {\n var _a;\n return (_a = props.containerElement) != null ? _a : void 0;\n });\n const disabled = computed(() => !!props.disabled);\n const storageValue = props.storageKey && useStorage$1(\n props.storageKey,\n toValue(props.initialValue) || { x: 0, y: 0 },\n isClient$1 ? props.storageType === \"session\" ? sessionStorage : localStorage : void 0\n );\n const initialValue = storageValue || props.initialValue || { x: 0, y: 0 };\n const onEnd = (position, event) => {\n var _a;\n (_a = props.onEnd) == null ? void 0 : _a.call(props, position, event);\n if (!storageValue)\n return;\n storageValue.value.x = position.x;\n storageValue.value.y = position.y;\n };\n const data = reactive(useDraggable(target, {\n ...props,\n handle,\n initialValue,\n onEnd,\n disabled,\n containerElement\n }));\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target, style: `touch-action:none;${data.style}` }, slots.default(data));\n };\n }\n});\n\nconst UseElementBounding = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseElementBounding\",\n props: [\"box\", \"as\"],\n setup(props, { slots }) {\n const target = ref();\n const data = reactive(useElementBounding(target));\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target }, slots.default(data));\n };\n }\n});\n\nfunction useElementHover(el, options = {}) {\n const {\n delayEnter = 0,\n delayLeave = 0,\n window = defaultWindow\n } = options;\n const isHovered = ref(false);\n let timer;\n const toggle = (entering) => {\n const delay = entering ? delayEnter : delayLeave;\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n }\n if (delay)\n timer = setTimeout(() => isHovered.value = entering, delay);\n else\n isHovered.value = entering;\n };\n if (!window)\n return isHovered;\n useEventListener(el, \"mouseenter\", () => toggle(true), { passive: true });\n useEventListener(el, \"mouseleave\", () => toggle(false), { passive: true });\n return isHovered;\n}\n\nconst vElementHover = {\n [directiveHooks.mounted](el, binding) {\n const value = binding.value;\n if (typeof value === \"function\") {\n const isHovered = useElementHover(el);\n watch(isHovered, (v) => value(v));\n } else {\n const [handler, options] = value;\n const isHovered = useElementHover(el, options);\n watch(isHovered, (v) => handler(v));\n }\n }\n};\n\nconst UseElementSize = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseElementSize\",\n props: [\"width\", \"height\", \"box\", \"as\"],\n setup(props, { slots }) {\n const target = ref();\n const data = reactive(useElementSize$1(target, { width: props.width, height: props.height }, { box: props.box }));\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target }, slots.default(data));\n };\n }\n});\n\nfunction useResizeObserver(target, callback, options = {}) {\n const { window = defaultWindow, ...observerOptions } = options;\n let observer;\n const isSupported = useSupported(() => window && \"ResizeObserver\" in window);\n const cleanup = () => {\n if (observer) {\n observer.disconnect();\n observer = void 0;\n }\n };\n const targets = computed(() => {\n const _targets = toValue(target);\n return Array.isArray(_targets) ? _targets.map((el) => unrefElement(el)) : [unrefElement(_targets)];\n });\n const stopWatch = watch(\n targets,\n (els) => {\n cleanup();\n if (isSupported.value && window) {\n observer = new ResizeObserver(callback);\n for (const _el of els) {\n if (_el)\n observer.observe(_el, observerOptions);\n }\n }\n },\n { immediate: true, flush: \"post\" }\n );\n const stop = () => {\n cleanup();\n stopWatch();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop\n };\n}\n\nfunction useElementSize(target, initialSize = { width: 0, height: 0 }, options = {}) {\n const { window = defaultWindow, box = \"content-box\" } = options;\n const isSVG = computed(() => {\n var _a, _b;\n return (_b = (_a = unrefElement(target)) == null ? void 0 : _a.namespaceURI) == null ? void 0 : _b.includes(\"svg\");\n });\n const width = ref(initialSize.width);\n const height = ref(initialSize.height);\n const { stop: stop1 } = useResizeObserver(\n target,\n ([entry]) => {\n const boxSize = box === \"border-box\" ? entry.borderBoxSize : box === \"content-box\" ? entry.contentBoxSize : entry.devicePixelContentBoxSize;\n if (window && isSVG.value) {\n const $elem = unrefElement(target);\n if ($elem) {\n const rect = $elem.getBoundingClientRect();\n width.value = rect.width;\n height.value = rect.height;\n }\n } else {\n if (boxSize) {\n const formatBoxSize = Array.isArray(boxSize) ? boxSize : [boxSize];\n width.value = formatBoxSize.reduce((acc, { inlineSize }) => acc + inlineSize, 0);\n height.value = formatBoxSize.reduce((acc, { blockSize }) => acc + blockSize, 0);\n } else {\n width.value = entry.contentRect.width;\n height.value = entry.contentRect.height;\n }\n }\n },\n options\n );\n tryOnMounted(() => {\n const ele = unrefElement(target);\n if (ele) {\n width.value = \"offsetWidth\" in ele ? ele.offsetWidth : initialSize.width;\n height.value = \"offsetHeight\" in ele ? ele.offsetHeight : initialSize.height;\n }\n });\n const stop2 = watch(\n () => unrefElement(target),\n (ele) => {\n width.value = ele ? initialSize.width : 0;\n height.value = ele ? initialSize.height : 0;\n }\n );\n function stop() {\n stop1();\n stop2();\n }\n return {\n width,\n height,\n stop\n };\n}\n\nconst vElementSize = {\n [directiveHooks.mounted](el, binding) {\n var _a;\n const handler = typeof binding.value === \"function\" ? binding.value : (_a = binding.value) == null ? void 0 : _a[0];\n const options = typeof binding.value === \"function\" ? [] : binding.value.slice(1);\n const { width, height } = useElementSize(el, ...options);\n watch([width, height], ([width2, height2]) => handler({ width: width2, height: height2 }));\n }\n};\n\nconst UseElementVisibility = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseElementVisibility\",\n props: [\"as\"],\n setup(props, { slots }) {\n const target = ref();\n const data = reactive({\n isVisible: useElementVisibility$1(target)\n });\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target }, slots.default(data));\n };\n }\n});\n\nfunction useIntersectionObserver(target, callback, options = {}) {\n const {\n root,\n rootMargin = \"0px\",\n threshold = 0,\n window = defaultWindow,\n immediate = true\n } = options;\n const isSupported = useSupported(() => window && \"IntersectionObserver\" in window);\n const targets = computed(() => {\n const _target = toValue(target);\n return (Array.isArray(_target) ? _target : [_target]).map(unrefElement).filter(notNullish);\n });\n let cleanup = noop;\n const isActive = ref(immediate);\n const stopWatch = isSupported.value ? watch(\n () => [targets.value, unrefElement(root), isActive.value],\n ([targets2, root2]) => {\n cleanup();\n if (!isActive.value)\n return;\n if (!targets2.length)\n return;\n const observer = new IntersectionObserver(\n callback,\n {\n root: unrefElement(root2),\n rootMargin,\n threshold\n }\n );\n targets2.forEach((el) => el && observer.observe(el));\n cleanup = () => {\n observer.disconnect();\n cleanup = noop;\n };\n },\n { immediate, flush: \"post\" }\n ) : noop;\n const stop = () => {\n cleanup();\n stopWatch();\n isActive.value = false;\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n isActive,\n pause() {\n cleanup();\n isActive.value = false;\n },\n resume() {\n isActive.value = true;\n },\n stop\n };\n}\n\nfunction useElementVisibility(element, options = {}) {\n const { window = defaultWindow, scrollTarget, threshold = 0 } = options;\n const elementIsVisible = ref(false);\n useIntersectionObserver(\n element,\n (intersectionObserverEntries) => {\n let isIntersecting = elementIsVisible.value;\n let latestTime = 0;\n for (const entry of intersectionObserverEntries) {\n if (entry.time >= latestTime) {\n latestTime = entry.time;\n isIntersecting = entry.isIntersecting;\n }\n }\n elementIsVisible.value = isIntersecting;\n },\n {\n root: scrollTarget,\n window,\n threshold\n }\n );\n return elementIsVisible;\n}\n\nconst vElementVisibility = {\n [directiveHooks.mounted](el, binding) {\n if (typeof binding.value === \"function\") {\n const handler = binding.value;\n const isVisible = useElementVisibility(el);\n watch(isVisible, (v) => handler(v), { immediate: true });\n } else {\n const [handler, options] = binding.value;\n const isVisible = useElementVisibility(el, options);\n watch(isVisible, (v) => handler(v), { immediate: true });\n }\n }\n};\n\nconst UseEyeDropper = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseEyeDropper\",\n props: {\n sRGBHex: String\n },\n setup(props, { slots }) {\n const data = reactive(useEyeDropper());\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseFullscreen = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseFullscreen\",\n props: [\"as\"],\n setup(props, { slots }) {\n const target = ref();\n const data = reactive(useFullscreen(target));\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target }, slots.default(data));\n };\n }\n});\n\nconst UseGeolocation = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseGeolocation\",\n props: [\"enableHighAccuracy\", \"maximumAge\", \"timeout\", \"navigator\"],\n setup(props, { slots }) {\n const data = reactive(useGeolocation(props));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseIdle = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseIdle\",\n props: [\"timeout\", \"events\", \"listenForVisibilityChange\", \"initialState\"],\n setup(props, { slots }) {\n const data = reactive(useIdle(props.timeout, props));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nfunction useAsyncState(promise, initialState, options) {\n const {\n immediate = true,\n delay = 0,\n onError = noop,\n onSuccess = noop,\n resetOnExecute = true,\n shallow = true,\n throwError\n } = options != null ? options : {};\n const state = shallow ? shallowRef(initialState) : ref(initialState);\n const isReady = ref(false);\n const isLoading = ref(false);\n const error = shallowRef(void 0);\n async function execute(delay2 = 0, ...args) {\n if (resetOnExecute)\n state.value = initialState;\n error.value = void 0;\n isReady.value = false;\n isLoading.value = true;\n if (delay2 > 0)\n await promiseTimeout(delay2);\n const _promise = typeof promise === \"function\" ? promise(...args) : promise;\n try {\n const data = await _promise;\n state.value = data;\n isReady.value = true;\n onSuccess(data);\n } catch (e) {\n error.value = e;\n onError(e);\n if (throwError)\n throw e;\n } finally {\n isLoading.value = false;\n }\n return state.value;\n }\n if (immediate)\n execute(delay);\n const shell = {\n state,\n isReady,\n isLoading,\n error,\n execute\n };\n function waitUntilIsLoaded() {\n return new Promise((resolve, reject) => {\n until(isLoading).toBe(false).then(() => resolve(shell)).catch(reject);\n });\n }\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilIsLoaded().then(onFulfilled, onRejected);\n }\n };\n}\n\nasync function loadImage(options) {\n return new Promise((resolve, reject) => {\n const img = new Image();\n const { src, srcset, sizes, class: clazz, loading, crossorigin, referrerPolicy } = options;\n img.src = src;\n if (srcset)\n img.srcset = srcset;\n if (sizes)\n img.sizes = sizes;\n if (clazz)\n img.className = clazz;\n if (loading)\n img.loading = loading;\n if (crossorigin)\n img.crossOrigin = crossorigin;\n if (referrerPolicy)\n img.referrerPolicy = referrerPolicy;\n img.onload = () => resolve(img);\n img.onerror = reject;\n });\n}\nfunction useImage(options, asyncStateOptions = {}) {\n const state = useAsyncState(\n () => loadImage(toValue(options)),\n void 0,\n {\n resetOnExecute: true,\n ...asyncStateOptions\n }\n );\n watch(\n () => toValue(options),\n () => state.execute(asyncStateOptions.delay),\n { deep: true }\n );\n return state;\n}\n\nconst UseImage = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseImage\",\n props: [\n \"src\",\n \"srcset\",\n \"sizes\",\n \"as\",\n \"alt\",\n \"class\",\n \"loading\",\n \"crossorigin\",\n \"referrerPolicy\"\n ],\n setup(props, { slots }) {\n const data = reactive(useImage(props));\n return () => {\n if (data.isLoading && slots.loading)\n return slots.loading(data);\n else if (data.error && slots.error)\n return slots.error(data.error);\n if (slots.default)\n return slots.default(data);\n return h(props.as || \"img\", props);\n };\n }\n});\n\nfunction resolveElement(el) {\n if (typeof Window !== \"undefined\" && el instanceof Window)\n return el.document.documentElement;\n if (typeof Document !== \"undefined\" && el instanceof Document)\n return el.documentElement;\n return el;\n}\n\nconst ARRIVED_STATE_THRESHOLD_PIXELS = 1;\nfunction useScroll(element, options = {}) {\n const {\n throttle = 0,\n idle = 200,\n onStop = noop,\n onScroll = noop,\n offset = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n },\n eventListenerOptions = {\n capture: false,\n passive: true\n },\n behavior = \"auto\",\n window = defaultWindow,\n onError = (e) => {\n console.error(e);\n }\n } = options;\n const internalX = ref(0);\n const internalY = ref(0);\n const x = computed({\n get() {\n return internalX.value;\n },\n set(x2) {\n scrollTo(x2, void 0);\n }\n });\n const y = computed({\n get() {\n return internalY.value;\n },\n set(y2) {\n scrollTo(void 0, y2);\n }\n });\n function scrollTo(_x, _y) {\n var _a, _b, _c, _d;\n if (!window)\n return;\n const _element = toValue(element);\n if (!_element)\n return;\n (_c = _element instanceof Document ? window.document.body : _element) == null ? void 0 : _c.scrollTo({\n top: (_a = toValue(_y)) != null ? _a : y.value,\n left: (_b = toValue(_x)) != null ? _b : x.value,\n behavior: toValue(behavior)\n });\n const scrollContainer = ((_d = _element == null ? void 0 : _element.document) == null ? void 0 : _d.documentElement) || (_element == null ? void 0 : _element.documentElement) || _element;\n if (x != null)\n internalX.value = scrollContainer.scrollLeft;\n if (y != null)\n internalY.value = scrollContainer.scrollTop;\n }\n const isScrolling = ref(false);\n const arrivedState = reactive({\n left: true,\n right: false,\n top: true,\n bottom: false\n });\n const directions = reactive({\n left: false,\n right: false,\n top: false,\n bottom: false\n });\n const onScrollEnd = (e) => {\n if (!isScrolling.value)\n return;\n isScrolling.value = false;\n directions.left = false;\n directions.right = false;\n directions.top = false;\n directions.bottom = false;\n onStop(e);\n };\n const onScrollEndDebounced = useDebounceFn(onScrollEnd, throttle + idle);\n const setArrivedState = (target) => {\n var _a;\n if (!window)\n return;\n const el = ((_a = target == null ? void 0 : target.document) == null ? void 0 : _a.documentElement) || (target == null ? void 0 : target.documentElement) || unrefElement(target);\n const { display, flexDirection } = getComputedStyle(el);\n const scrollLeft = el.scrollLeft;\n directions.left = scrollLeft < internalX.value;\n directions.right = scrollLeft > internalX.value;\n const left = Math.abs(scrollLeft) <= (offset.left || 0);\n const right = Math.abs(scrollLeft) + el.clientWidth >= el.scrollWidth - (offset.right || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n if (display === \"flex\" && flexDirection === \"row-reverse\") {\n arrivedState.left = right;\n arrivedState.right = left;\n } else {\n arrivedState.left = left;\n arrivedState.right = right;\n }\n internalX.value = scrollLeft;\n let scrollTop = el.scrollTop;\n if (target === window.document && !scrollTop)\n scrollTop = window.document.body.scrollTop;\n directions.top = scrollTop < internalY.value;\n directions.bottom = scrollTop > internalY.value;\n const top = Math.abs(scrollTop) <= (offset.top || 0);\n const bottom = Math.abs(scrollTop) + el.clientHeight >= el.scrollHeight - (offset.bottom || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n if (display === \"flex\" && flexDirection === \"column-reverse\") {\n arrivedState.top = bottom;\n arrivedState.bottom = top;\n } else {\n arrivedState.top = top;\n arrivedState.bottom = bottom;\n }\n internalY.value = scrollTop;\n };\n const onScrollHandler = (e) => {\n var _a;\n if (!window)\n return;\n const eventTarget = (_a = e.target.documentElement) != null ? _a : e.target;\n setArrivedState(eventTarget);\n isScrolling.value = true;\n onScrollEndDebounced(e);\n onScroll(e);\n };\n useEventListener(\n element,\n \"scroll\",\n throttle ? useThrottleFn(onScrollHandler, throttle, true, false) : onScrollHandler,\n eventListenerOptions\n );\n tryOnMounted(() => {\n try {\n const _element = toValue(element);\n if (!_element)\n return;\n setArrivedState(_element);\n } catch (e) {\n onError(e);\n }\n });\n useEventListener(\n element,\n \"scrollend\",\n onScrollEnd,\n eventListenerOptions\n );\n return {\n x,\n y,\n isScrolling,\n arrivedState,\n directions,\n measure() {\n const _element = toValue(element);\n if (window && _element)\n setArrivedState(_element);\n }\n };\n}\n\nfunction useInfiniteScroll(element, onLoadMore, options = {}) {\n var _a;\n const {\n direction = \"bottom\",\n interval = 100,\n canLoadMore = () => true\n } = options;\n const state = reactive(useScroll(\n element,\n {\n ...options,\n offset: {\n [direction]: (_a = options.distance) != null ? _a : 0,\n ...options.offset\n }\n }\n ));\n const promise = ref();\n const isLoading = computed(() => !!promise.value);\n const observedElement = computed(() => {\n return resolveElement(toValue(element));\n });\n const isElementVisible = useElementVisibility(observedElement);\n function checkAndLoad() {\n state.measure();\n if (!observedElement.value || !isElementVisible.value || !canLoadMore(observedElement.value))\n return;\n const { scrollHeight, clientHeight, scrollWidth, clientWidth } = observedElement.value;\n const isNarrower = direction === \"bottom\" || direction === \"top\" ? scrollHeight <= clientHeight : scrollWidth <= clientWidth;\n if (state.arrivedState[direction] || isNarrower) {\n if (!promise.value) {\n promise.value = Promise.all([\n onLoadMore(state),\n new Promise((resolve) => setTimeout(resolve, interval))\n ]).finally(() => {\n promise.value = null;\n nextTick(() => checkAndLoad());\n });\n }\n }\n }\n const stop = watch(\n () => [state.arrivedState[direction], isElementVisible.value],\n checkAndLoad,\n { immediate: true }\n );\n tryOnUnmounted(stop);\n return {\n isLoading,\n reset() {\n nextTick(() => checkAndLoad());\n }\n };\n}\n\nconst vInfiniteScroll = {\n [directiveHooks.mounted](el, binding) {\n if (typeof binding.value === \"function\")\n useInfiniteScroll(el, binding.value);\n else\n useInfiniteScroll(el, ...binding.value);\n }\n};\n\nconst vIntersectionObserver = {\n [directiveHooks.mounted](el, binding) {\n if (typeof binding.value === \"function\")\n useIntersectionObserver(el, binding.value);\n else\n useIntersectionObserver(el, ...binding.value);\n }\n};\n\nconst UseMouse = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseMouse\",\n props: [\"touch\", \"resetOnTouchEnds\", \"initialValue\"],\n setup(props, { slots }) {\n const data = reactive(useMouse(props));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseMouseInElement = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseMouseElement\",\n props: [\"handleOutside\", \"as\"],\n setup(props, { slots }) {\n const target = ref();\n const data = reactive(useMouseInElement(target, props));\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target }, slots.default(data));\n };\n }\n});\n\nconst UseMousePressed = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseMousePressed\",\n props: [\"touch\", \"initialValue\", \"as\"],\n setup(props, { slots }) {\n const target = ref();\n const data = reactive(useMousePressed({ ...props, target }));\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target }, slots.default(data));\n };\n }\n});\n\nconst UseNetwork = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseNetwork\",\n setup(props, { slots }) {\n const data = reactive(useNetwork());\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseNow = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseNow\",\n props: [\"interval\"],\n setup(props, { slots }) {\n const data = reactive(useNow({ ...props, controls: true }));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseObjectUrl = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseObjectUrl\",\n props: [\n \"object\"\n ],\n setup(props, { slots }) {\n const object = toRef(props, \"object\");\n const url = useObjectUrl(object);\n return () => {\n if (slots.default && url.value)\n return slots.default(url);\n };\n }\n});\n\nconst UseOffsetPagination = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseOffsetPagination\",\n props: [\n \"total\",\n \"page\",\n \"pageSize\",\n \"onPageChange\",\n \"onPageSizeChange\",\n \"onPageCountChange\"\n ],\n emits: [\n \"page-change\",\n \"page-size-change\",\n \"page-count-change\"\n ],\n setup(props, { slots, emit }) {\n const data = reactive(useOffsetPagination({\n ...props,\n onPageChange(...args) {\n var _a;\n (_a = props.onPageChange) == null ? void 0 : _a.call(props, ...args);\n emit(\"page-change\", ...args);\n },\n onPageSizeChange(...args) {\n var _a;\n (_a = props.onPageSizeChange) == null ? void 0 : _a.call(props, ...args);\n emit(\"page-size-change\", ...args);\n },\n onPageCountChange(...args) {\n var _a;\n (_a = props.onPageCountChange) == null ? void 0 : _a.call(props, ...args);\n emit(\"page-count-change\", ...args);\n }\n }));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseOnline = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseOnline\",\n setup(props, { slots }) {\n const data = reactive({\n isOnline: useOnline()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UsePageLeave = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UsePageLeave\",\n setup(props, { slots }) {\n const data = reactive({\n isLeft: usePageLeave()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UsePointer = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UsePointer\",\n props: [\n \"pointerTypes\",\n \"initialValue\",\n \"target\"\n ],\n setup(props, { slots }) {\n const el = ref(null);\n const data = reactive(usePointer({\n ...props,\n target: props.target === \"self\" ? el : defaultWindow\n }));\n return () => {\n if (slots.default)\n return slots.default(data, { ref: el });\n };\n }\n});\n\nconst UsePointerLock = /* #__PURE__ */ defineComponent({\n name: \"UsePointerLock\",\n props: [\"as\"],\n setup(props, { slots }) {\n const target = ref();\n const data = reactive(usePointerLock(target));\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target }, slots.default(data));\n };\n }\n});\n\nconst UsePreferredColorScheme = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UsePreferredColorScheme\",\n setup(props, { slots }) {\n const data = reactive({\n colorScheme: usePreferredColorScheme()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UsePreferredContrast = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UsePreferredContrast\",\n setup(props, { slots }) {\n const data = reactive({\n contrast: usePreferredContrast()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UsePreferredDark = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UsePreferredDark\",\n setup(props, { slots }) {\n const data = reactive({\n prefersDark: usePreferredDark$1()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UsePreferredLanguages = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UsePreferredLanguages\",\n setup(props, { slots }) {\n const data = reactive({\n languages: usePreferredLanguages()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UsePreferredReducedMotion = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UsePreferredReducedMotion\",\n setup(props, { slots }) {\n const data = reactive({\n motion: usePreferredReducedMotion()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst vResizeObserver = {\n [directiveHooks.mounted](el, binding) {\n if (typeof binding.value === \"function\")\n useResizeObserver(el, binding.value);\n else\n useResizeObserver(el, ...binding.value);\n }\n};\n\nfunction useMutationObserver(target, callback, options = {}) {\n const { window = defaultWindow, ...mutationOptions } = options;\n let observer;\n const isSupported = useSupported(() => window && \"MutationObserver\" in window);\n const cleanup = () => {\n if (observer) {\n observer.disconnect();\n observer = void 0;\n }\n };\n const targets = computed(() => {\n const value = toValue(target);\n const items = (Array.isArray(value) ? value : [value]).map(unrefElement).filter(notNullish);\n return new Set(items);\n });\n const stopWatch = watch(\n () => targets.value,\n (targets2) => {\n cleanup();\n if (isSupported.value && targets2.size) {\n observer = new MutationObserver(callback);\n targets2.forEach((el) => observer.observe(el, mutationOptions));\n }\n },\n { immediate: true, flush: \"post\" }\n );\n const takeRecords = () => {\n return observer == null ? void 0 : observer.takeRecords();\n };\n const stop = () => {\n stopWatch();\n cleanup();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop,\n takeRecords\n };\n}\n\nfunction useCssVar(prop, target, options = {}) {\n const { window = defaultWindow, initialValue, observe = false } = options;\n const variable = ref(initialValue);\n const elRef = computed(() => {\n var _a;\n return unrefElement(target) || ((_a = window == null ? void 0 : window.document) == null ? void 0 : _a.documentElement);\n });\n function updateCssVar() {\n var _a;\n const key = toValue(prop);\n const el = toValue(elRef);\n if (el && window && key) {\n const value = (_a = window.getComputedStyle(el).getPropertyValue(key)) == null ? void 0 : _a.trim();\n variable.value = value || initialValue;\n }\n }\n if (observe) {\n useMutationObserver(elRef, updateCssVar, {\n attributeFilter: [\"style\", \"class\"],\n window\n });\n }\n watch(\n [elRef, () => toValue(prop)],\n (_, old) => {\n if (old[0] && old[1])\n old[0].style.removeProperty(old[1]);\n updateCssVar();\n },\n { immediate: true }\n );\n watch(\n variable,\n (val) => {\n var _a;\n const raw_prop = toValue(prop);\n if (((_a = elRef.value) == null ? void 0 : _a.style) && raw_prop) {\n if (val == null)\n elRef.value.style.removeProperty(raw_prop);\n else\n elRef.value.style.setProperty(raw_prop, val);\n }\n }\n );\n return variable;\n}\n\nconst topVarName = \"--vueuse-safe-area-top\";\nconst rightVarName = \"--vueuse-safe-area-right\";\nconst bottomVarName = \"--vueuse-safe-area-bottom\";\nconst leftVarName = \"--vueuse-safe-area-left\";\nfunction useScreenSafeArea() {\n const top = ref(\"\");\n const right = ref(\"\");\n const bottom = ref(\"\");\n const left = ref(\"\");\n if (isClient) {\n const topCssVar = useCssVar(topVarName);\n const rightCssVar = useCssVar(rightVarName);\n const bottomCssVar = useCssVar(bottomVarName);\n const leftCssVar = useCssVar(leftVarName);\n topCssVar.value = \"env(safe-area-inset-top, 0px)\";\n rightCssVar.value = \"env(safe-area-inset-right, 0px)\";\n bottomCssVar.value = \"env(safe-area-inset-bottom, 0px)\";\n leftCssVar.value = \"env(safe-area-inset-left, 0px)\";\n update();\n useEventListener(\"resize\", useDebounceFn(update));\n }\n function update() {\n top.value = getValue(topVarName);\n right.value = getValue(rightVarName);\n bottom.value = getValue(bottomVarName);\n left.value = getValue(leftVarName);\n }\n return {\n top,\n right,\n bottom,\n left,\n update\n };\n}\nfunction getValue(position) {\n return getComputedStyle(document.documentElement).getPropertyValue(position);\n}\n\nconst UseScreenSafeArea = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseScreenSafeArea\",\n props: {\n top: Boolean,\n right: Boolean,\n bottom: Boolean,\n left: Boolean\n },\n setup(props, { slots }) {\n const {\n top,\n right,\n bottom,\n left\n } = useScreenSafeArea();\n return () => {\n if (slots.default) {\n return h(\"div\", {\n style: {\n paddingTop: props.top ? top.value : \"\",\n paddingRight: props.right ? right.value : \"\",\n paddingBottom: props.bottom ? bottom.value : \"\",\n paddingLeft: props.left ? left.value : \"\",\n boxSizing: \"border-box\",\n maxHeight: \"100vh\",\n maxWidth: \"100vw\",\n overflow: \"auto\"\n }\n }, slots.default());\n }\n };\n }\n});\n\nconst vScroll = {\n [directiveHooks.mounted](el, binding) {\n if (typeof binding.value === \"function\") {\n const handler = binding.value;\n const state = useScroll(el, {\n onScroll() {\n handler(state);\n },\n onStop() {\n handler(state);\n }\n });\n } else {\n const [handler, options] = binding.value;\n const state = useScroll(el, {\n ...options,\n onScroll(e) {\n var _a;\n (_a = options.onScroll) == null ? void 0 : _a.call(options, e);\n handler(state);\n },\n onStop(e) {\n var _a;\n (_a = options.onStop) == null ? void 0 : _a.call(options, e);\n handler(state);\n }\n });\n }\n }\n};\n\nfunction checkOverflowScroll(ele) {\n const style = window.getComputedStyle(ele);\n if (style.overflowX === \"scroll\" || style.overflowY === \"scroll\" || style.overflowX === \"auto\" && ele.clientWidth < ele.scrollWidth || style.overflowY === \"auto\" && ele.clientHeight < ele.scrollHeight) {\n return true;\n } else {\n const parent = ele.parentNode;\n if (!parent || parent.tagName === \"BODY\")\n return false;\n return checkOverflowScroll(parent);\n }\n}\nfunction preventDefault(rawEvent) {\n const e = rawEvent || window.event;\n const _target = e.target;\n if (checkOverflowScroll(_target))\n return false;\n if (e.touches.length > 1)\n return true;\n if (e.preventDefault)\n e.preventDefault();\n return false;\n}\nconst elInitialOverflow = /* @__PURE__ */ new WeakMap();\nfunction useScrollLock(element, initialState = false) {\n const isLocked = ref(initialState);\n let stopTouchMoveListener = null;\n let initialOverflow = \"\";\n watch(toRef(element), (el) => {\n const target = resolveElement(toValue(el));\n if (target) {\n const ele = target;\n if (!elInitialOverflow.get(ele))\n elInitialOverflow.set(ele, ele.style.overflow);\n if (ele.style.overflow !== \"hidden\")\n initialOverflow = ele.style.overflow;\n if (ele.style.overflow === \"hidden\")\n return isLocked.value = true;\n if (isLocked.value)\n return ele.style.overflow = \"hidden\";\n }\n }, {\n immediate: true\n });\n const lock = () => {\n const el = resolveElement(toValue(element));\n if (!el || isLocked.value)\n return;\n if (isIOS) {\n stopTouchMoveListener = useEventListener(\n el,\n \"touchmove\",\n (e) => {\n preventDefault(e);\n },\n { passive: false }\n );\n }\n el.style.overflow = \"hidden\";\n isLocked.value = true;\n };\n const unlock = () => {\n const el = resolveElement(toValue(element));\n if (!el || !isLocked.value)\n return;\n if (isIOS)\n stopTouchMoveListener == null ? void 0 : stopTouchMoveListener();\n el.style.overflow = initialOverflow;\n elInitialOverflow.delete(el);\n isLocked.value = false;\n };\n tryOnScopeDispose(unlock);\n return computed({\n get() {\n return isLocked.value;\n },\n set(v) {\n if (v)\n lock();\n else unlock();\n }\n });\n}\n\nfunction onScrollLock() {\n let isMounted = false;\n const state = ref(false);\n return (el, binding) => {\n state.value = binding.value;\n if (isMounted)\n return;\n isMounted = true;\n const isLocked = useScrollLock(el, binding.value);\n watch(state, (v) => isLocked.value = v);\n };\n}\nconst vScrollLock = onScrollLock();\n\nconst UseTimeAgo = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseTimeAgo\",\n props: [\"time\", \"updateInterval\", \"max\", \"fullDateFormatter\", \"messages\", \"showSecond\"],\n setup(props, { slots }) {\n const data = reactive(useTimeAgo(() => props.time, { ...props, controls: true }));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseTimestamp = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseTimestamp\",\n props: [\"immediate\", \"interval\", \"offset\"],\n setup(props, { slots }) {\n const data = reactive(useTimestamp({ ...props, controls: true }));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseVirtualList = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseVirtualList\",\n props: [\n \"list\",\n \"options\",\n \"height\"\n ],\n setup(props, { slots, expose }) {\n const { list: listRef } = toRefs(props);\n const { list, containerProps, wrapperProps, scrollTo } = useVirtualList(listRef, props.options);\n expose({ scrollTo });\n if (containerProps.style && typeof containerProps.style === \"object\" && !Array.isArray(containerProps.style))\n containerProps.style.height = props.height || \"300px\";\n return () => h(\"div\", { ...containerProps }, [\n h(\"div\", { ...wrapperProps.value }, list.value.map((item) => h(\"div\", { style: { overflow: \"hidden\", height: item.height } }, slots.default ? slots.default(item) : \"Please set content!\")))\n ]);\n }\n});\n\nconst UseWindowFocus = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseWindowFocus\",\n setup(props, { slots }) {\n const data = reactive({\n focused: useWindowFocus()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseWindowSize = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseWindowSize\",\n props: [\"initialWidth\", \"initialHeight\"],\n setup(props, { slots }) {\n const data = reactive(useWindowSize(props));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nexport { OnClickOutside, OnLongPress, UseActiveElement, UseBattery, UseBrowserLocation, UseClipboard, UseColorMode, UseDark, UseDeviceMotion, UseDeviceOrientation, UseDevicePixelRatio, UseDevicesList, UseDocumentVisibility, UseDraggable, UseElementBounding, UseElementSize, UseElementVisibility, UseEyeDropper, UseFullscreen, UseGeolocation, UseIdle, UseImage, UseMouse, UseMouseInElement, UseMousePressed, UseNetwork, UseNow, UseObjectUrl, UseOffsetPagination, UseOnline, UsePageLeave, UsePointer, UsePointerLock, UsePreferredColorScheme, UsePreferredContrast, UsePreferredDark, UsePreferredLanguages, UsePreferredReducedMotion, UseScreenSafeArea, UseTimeAgo, UseTimestamp, UseVirtualList, UseWindowFocus, UseWindowSize, vOnClickOutside as VOnClickOutside, vOnLongPress as VOnLongPress, vElementHover, vElementSize, vElementVisibility, vInfiniteScroll, vIntersectionObserver, vOnClickOutside, vOnKeyStroke, vOnLongPress, vResizeObserver, vScroll, vScrollLock };\n","import '../assets/NcMentionBubble-CB5c5ue2.css';\nimport '../assets/NcAvatar-CRiCqAWQ.css';\nimport { N as NcActions } from \"./NcActions-B4VZCD8B.mjs\";\nimport NcActionLink from \"../Components/NcActionLink.mjs\";\nimport NcActionRouter from \"../Components/NcActionRouter.mjs\";\nimport NcActionText from \"../Components/NcActionText.mjs\";\nimport { N as NcActionButton } from \"./NcActionButton-CuVNJJtW.mjs\";\nimport NcButton from \"../Components/NcButton.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-Cb-cPj1R.mjs\";\nimport NcLoadingIcon from \"../Components/NcLoadingIcon.mjs\";\nimport { N as NcUserStatusIcon, g as getUserStatusText } from \"./NcUserStatusIcon-kbPFeJV6.mjs\";\nimport { u as usernameToColor } from \"./usernameToColor-yoVXn0De.mjs\";\nimport { g as getAvatarUrl } from \"./getAvatarUrl-DxvUjKMi.mjs\";\nimport { getEnabledContactsMenuActions } from \"../Functions/contactsMenu.mjs\";\nimport { g as getRoute } from \"./autolink-cbuFALXr.mjs\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nimport { r as register, u as t9, a as t } from \"./_l10n-DQgzdF9S.mjs\";\nimport \"../Composables/useIsFullscreen.mjs\";\nimport \"../Composables/useIsMobile.mjs\";\n/* empty css */\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport \"escape-html\";\nimport \"striptags\";\nimport \"vue\";\nimport { getCurrentUser } from \"@nextcloud/auth\";\nimport axios from \"@nextcloud/axios\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { generateOcsUrl, generateUrl } from \"@nextcloud/router\";\nimport { D as DotsHorizontal } from \"./DotsHorizontal-C6LNsw4N.mjs\";\nimport { unsubscribe, subscribe } from \"@nextcloud/event-bus\";\nimport { getBuilder } from \"@nextcloud/browser-storage\";\nimport { vOnClickOutside } from \"@vueuse/components\";\nregister(t9);\nconst userStatus = {\n data() {\n return {\n hasStatus: false,\n userStatus: {\n status: null,\n message: null,\n icon: null\n }\n };\n },\n methods: {\n /**\n * Fetches the user-status from the server\n *\n * @param {string} userId UserId of the user to fetch the status for\n *\n * @return {Promise}\n */\n async fetchUserStatus(userId) {\n if (!userId) {\n return;\n }\n const capabilities = getCapabilities();\n if (!Object.prototype.hasOwnProperty.call(capabilities, \"user_status\") || !capabilities.user_status.enabled) {\n return;\n }\n if (!getCurrentUser()) {\n return;\n }\n try {\n const { data } = await axios.get(generateOcsUrl(\"apps/user_status/api/v1/statuses/{userId}\", { userId }));\n const {\n status,\n message,\n icon\n } = data.ocs.data;\n this.userStatus.status = status;\n this.userStatus.message = message || \"\";\n this.userStatus.icon = icon || \"\";\n this.hasStatus = true;\n } catch (e) {\n if (e.response.status === 404 && e.response.data.ocs?.data?.length === 0) {\n return;\n }\n console.error(e);\n }\n }\n }\n};\nconst browserStorage = getBuilder(\"nextcloud\").persist().build();\nfunction getUserHasAvatar(userId) {\n const flag = browserStorage.getItem(\"user-has-avatar.\" + userId);\n if (typeof flag === \"string\") {\n return Boolean(flag);\n }\n return null;\n}\nfunction setUserHasAvatar(userId, flag) {\n if (userId) {\n browserStorage.setItem(\"user-has-avatar.\" + userId, flag);\n }\n}\nconst _sfc_main = {\n name: \"NcAvatar\",\n directives: {\n ClickOutside: vOnClickOutside\n },\n components: {\n DotsHorizontal,\n NcActions,\n NcButton,\n NcIconSvgWrapper,\n NcLoadingIcon,\n NcUserStatusIcon\n },\n mixins: [userStatus],\n props: {\n /**\n * Set a custom url to the avatar image\n * either the url, user or displayName property must be defined\n */\n url: {\n type: String,\n default: void 0\n },\n /**\n * Set a css icon-class for an icon to be used instead of the avatar.\n */\n iconClass: {\n type: String,\n default: void 0\n },\n /**\n * Set the user id to fetch the avatar\n * either the url, user or displayName property must be defined\n */\n user: {\n type: String,\n default: void 0\n },\n /**\n * Do not show the user status on the avatar.\n */\n hideStatus: {\n type: Boolean,\n default: false\n },\n /**\n * Whether or not to display the user-status.\n * @deprecated - Use `hideStatus` instead. Will be removed with v9.\n */\n showUserStatus: {\n type: Boolean,\n default: true\n },\n /**\n * Show the verbose user status (e.g. \"online\" / \"away\") instead of just the status icon.\n */\n verboseStatus: {\n type: Boolean,\n default: false\n },\n /**\n * Whether or not to the status-icon should be used instead of online/away\n * @deprecated - Use `verboseStatus` instead. Will be removed with v9.\n */\n showUserStatusCompact: {\n type: Boolean,\n default: true\n },\n /**\n * When the user status was preloaded via another source it can be handed in with this property to save the request.\n * If this property is not set the status will be fetched automatically.\n * If a preloaded no-status is available provide this object with properties \"status\", \"icon\" and \"message\" set to null.\n */\n preloadedUserStatus: {\n type: Object,\n default: void 0\n },\n /**\n * Is the user a guest user (then we have to user a different endpoint)\n */\n isGuest: {\n type: Boolean,\n default: false\n },\n /**\n * Set a display name that will be rendered as a tooltip\n * either the url, user or displayName property must be defined\n * specify just the displayname to generate a placeholder avatar without\n * trying to fetch the avatar based on the user id\n */\n displayName: {\n type: String,\n default: void 0\n },\n /**\n * Set a size in px for the rendered avatar\n */\n size: {\n type: Number,\n default: 32\n },\n /**\n * Do not automatically generate a placeholder avatars if there is no real avatar is available.\n */\n noPlaceholder: {\n type: Boolean,\n default: false\n },\n /**\n * Placeholder avatars will be automatically generated when this is set to true.\n * @deprecated - Use `noPlaceholder` instead. Will be removed in v9.\n */\n allowPlaceholder: {\n type: Boolean,\n default: true\n },\n /**\n * Disable the tooltip\n */\n disableTooltip: {\n type: Boolean,\n default: false\n },\n /**\n * Disable the menu\n */\n disableMenu: {\n type: Boolean,\n default: false\n },\n /**\n * Declares a custom tooltip when not null\n * Fallback will be the displayName\n *\n * requires disableTooltip not to be set to true\n */\n tooltipMessage: {\n type: String,\n default: null\n },\n /**\n * Declares username is not a user's name, when true.\n * Prevents loading user's avatar from server and forces generating colored initials,\n * i.e. if the user is a group\n */\n isNoUser: {\n type: Boolean,\n default: false\n },\n /**\n * Selector for the popover menu container\n */\n menuContainer: {\n type: [String, Object, Element, Boolean],\n default: \"body\"\n }\n },\n data() {\n return {\n avatarUrlLoaded: null,\n avatarSrcSetLoaded: null,\n userDoesNotExist: false,\n isAvatarLoaded: false,\n isMenuLoaded: false,\n contactsMenuLoading: false,\n contactsMenuData: {},\n contactsMenuActions: [],\n contactsMenuOpenState: false\n };\n },\n computed: {\n avatarAriaLabel() {\n if (!this.hasMenu) {\n return;\n }\n if (this.canDisplayUserStatus || this.showUserStatusIconOnAvatar) {\n return t(\"Avatar of {displayName}, {status}\", { displayName: this.displayName ?? this.user, status: getUserStatusText(this.userStatus.status) });\n }\n return t(\"Avatar of {displayName}\", { displayName: this.displayName ?? this.user });\n },\n canDisplayUserStatus() {\n return !this.hideStatus && this.showUserStatus && this.hasStatus && [\"online\", \"away\", \"busy\", \"dnd\"].includes(this.userStatus.status);\n },\n showUserStatusIconOnAvatar() {\n return !this.hideStatus && this.showUserStatus && !this.verboseStatus && this.showUserStatusCompact && this.hasStatus && this.userStatus.status !== \"dnd\" && this.userStatus.icon;\n },\n /**\n * The user identifier, either the display name if set or the user property\n * If both properties are not set an empty string is returned\n */\n userIdentifier() {\n if (this.isDisplayNameDefined) {\n return this.displayName;\n }\n if (this.isUserDefined) {\n return this.user;\n }\n return \"\";\n },\n isUserDefined() {\n return typeof this.user !== \"undefined\";\n },\n isDisplayNameDefined() {\n return typeof this.displayName !== \"undefined\";\n },\n isUrlDefined() {\n return typeof this.url !== \"undefined\";\n },\n hasMenu() {\n if (this.disableMenu) {\n return false;\n }\n if (this.isMenuLoaded) {\n return this.menu.length > 0;\n }\n return !(this.user === getCurrentUser()?.uid || this.userDoesNotExist || this.url);\n },\n /**\n * True if initials should be shown as the user icon fallback\n */\n showInitials() {\n return !this.noPlaceholder && this.allowPlaceholder && this.userDoesNotExist && !(this.iconClass || this.$slots.icon);\n },\n avatarStyle() {\n return {\n \"--size\": this.size + \"px\",\n lineHeight: this.showInitials ? this.size + \"px\" : 0,\n fontSize: Math.round(this.size * 0.45) + \"px\"\n };\n },\n initialsWrapperStyle() {\n const { r, g, b } = usernameToColor(this.userIdentifier);\n return {\n backgroundColor: `rgba(${r}, ${g}, ${b}, 0.1)`\n };\n },\n initialsStyle() {\n const { r, g, b } = usernameToColor(this.userIdentifier);\n return {\n color: `rgb(${r}, ${g}, ${b})`\n };\n },\n tooltip() {\n if (this.disableTooltip) {\n return false;\n }\n if (this.tooltipMessage) {\n return this.tooltipMessage;\n }\n return this.displayName;\n },\n /**\n * Get the (max. two) initials of the user as uppcase string\n */\n initials() {\n let initials = \"?\";\n if (this.showInitials) {\n const user = this.userIdentifier.trim();\n if (user === \"\") {\n return initials;\n }\n const filteredChars = user.match(/[\\p{L}\\p{N}\\s]/gu);\n if (filteredChars == null) {\n return initials;\n }\n const filtered = filteredChars.join(\"\");\n const idx = filtered.lastIndexOf(\" \");\n initials = String.fromCodePoint(filtered.codePointAt(0));\n if (idx !== -1) {\n initials = initials.concat(String.fromCodePoint(filtered.codePointAt(idx + 1)));\n }\n }\n return initials.toLocaleUpperCase();\n },\n menu() {\n const actions = this.contactsMenuActions.map((item) => {\n const route = getRoute(this.$router, item.hyperlink);\n return {\n ncActionComponent: route ? NcActionRouter : NcActionLink,\n ncActionComponentProps: route ? {\n to: route,\n icon: item.icon\n } : {\n href: item.hyperlink,\n icon: item.icon\n },\n text: item.title\n };\n });\n for (const action of getEnabledContactsMenuActions(this.contactsMenuData)) {\n try {\n actions.push({\n ncActionComponent: NcActionButton,\n ncActionComponentProps: {},\n ncActionComponentHandlers: {\n click: () => action.callback(this.contactsMenuData)\n },\n text: action.displayName(this.contactsMenuData),\n iconSvg: action.iconSvg(this.contactsMenuData)\n });\n } catch (error) {\n logger.error(`Failed to render ContactsMenu action ${action.id}`, {\n error,\n action\n });\n }\n }\n function escape(html) {\n const text = document.createTextNode(html);\n const p = document.createElement(\"p\");\n p.appendChild(text);\n return p.innerHTML;\n }\n if (!this.hideStatus && this.showUserStatus && (this.userStatus.icon || this.userStatus.message)) {\n const emojiIcon = `\n\t\t\t\t\t${escape(this.userStatus.icon)}\n\t\t\t\t`;\n return [{\n ncActionComponent: NcActionText,\n ncActionComponentProps: {},\n iconSvg: this.userStatus.icon ? emojiIcon : void 0,\n text: `${this.userStatus.message}`\n }].concat(actions);\n }\n return actions;\n }\n },\n watch: {\n url() {\n this.userDoesNotExist = false;\n this.loadAvatarUrl();\n },\n user() {\n this.userDoesNotExist = false;\n this.isMenuLoaded = false;\n this.loadAvatarUrl();\n }\n },\n mounted() {\n this.loadAvatarUrl();\n subscribe(\"settings:avatar:updated\", this.loadAvatarUrl);\n subscribe(\"settings:display-name:updated\", this.loadAvatarUrl);\n if (!this.hideStatus && this.showUserStatus && this.user && !this.isNoUser) {\n if (!this.preloadedUserStatus) {\n this.fetchUserStatus(this.user);\n } else {\n this.userStatus.status = this.preloadedUserStatus.status || \"\";\n this.userStatus.message = this.preloadedUserStatus.message || \"\";\n this.userStatus.icon = this.preloadedUserStatus.icon || \"\";\n this.hasStatus = this.preloadedUserStatus.status !== null;\n }\n subscribe(\"user_status:status.updated\", this.handleUserStatusUpdated);\n }\n },\n beforeDestroy() {\n unsubscribe(\"settings:avatar:updated\", this.loadAvatarUrl);\n unsubscribe(\"settings:display-name:updated\", this.loadAvatarUrl);\n unsubscribe(\"user_status:status.updated\", this.handleUserStatusUpdated);\n },\n methods: {\n t,\n handleUserStatusUpdated(state) {\n if (this.user === state.userId) {\n this.userStatus = {\n status: state.status,\n icon: state.icon,\n message: state.message\n };\n }\n },\n /**\n * Toggle the popover menu on click or enter\n * @param {KeyboardEvent|MouseEvent} event the UI event\n */\n async toggleMenu(event) {\n if (event.type === \"keydown\" && event.key !== \"Enter\") {\n return;\n }\n if (!this.contactsMenuOpenState) {\n await this.fetchContactsMenu();\n }\n this.contactsMenuOpenState = !this.contactsMenuOpenState;\n },\n closeMenu() {\n this.contactsMenuOpenState = false;\n },\n async fetchContactsMenu() {\n this.contactsMenuLoading = true;\n try {\n const user = encodeURIComponent(this.user);\n const { data } = await axios.post(generateUrl(\"contactsmenu/findOne\"), `shareType=0&shareWith=${user}`);\n this.contactsMenuData = data;\n this.contactsMenuActions = data.topAction ? [data.topAction].concat(data.actions) : data.actions;\n } catch (e) {\n this.contactsMenuOpenState = false;\n }\n this.contactsMenuLoading = false;\n this.isMenuLoaded = true;\n },\n /**\n * Handle avatar loading if user or url defined\n */\n loadAvatarUrl() {\n this.isAvatarLoaded = false;\n if (!this.isUrlDefined && (!this.isUserDefined || this.isNoUser || this.iconClass)) {\n this.isAvatarLoaded = true;\n this.userDoesNotExist = true;\n return;\n }\n if (this.isUrlDefined) {\n this.updateImageIfValid(this.url);\n return;\n }\n if (this.size <= 64) {\n const avatarUrl = this.avatarUrlGenerator(this.user, 64);\n const srcset = [\n avatarUrl + \" 1x\",\n this.avatarUrlGenerator(this.user, 512) + \" 8x\"\n ].join(\", \");\n this.updateImageIfValid(avatarUrl, srcset);\n } else {\n const avatarUrl = this.avatarUrlGenerator(this.user, 512);\n this.updateImageIfValid(avatarUrl);\n }\n },\n /**\n * Generate an avatar url from the server's avatar endpoint\n *\n * @param {string} user the user id\n * @param {number} size the desired size\n * @return {string}\n */\n avatarUrlGenerator(user, size) {\n let avatarUrl = getAvatarUrl(user, size, this.isGuest);\n if (user === getCurrentUser()?.uid && typeof oc_userconfig !== \"undefined\") {\n avatarUrl += \"?v=\" + oc_userconfig.avatar.version;\n }\n return avatarUrl;\n },\n /**\n * Check if the provided url is valid and update Avatar if so\n *\n * @param {string} url the avatar url\n * @param {Array} srcset the avatar srcset\n */\n updateImageIfValid(url, srcset = null) {\n const userHasAvatar = getUserHasAvatar(this.user);\n if (this.isUserDefined && typeof userHasAvatar === \"boolean\") {\n this.isAvatarLoaded = true;\n this.avatarUrlLoaded = url;\n if (srcset) {\n this.avatarSrcSetLoaded = srcset;\n }\n if (userHasAvatar === false) {\n this.userDoesNotExist = true;\n }\n return;\n }\n const img = new Image();\n img.onload = () => {\n this.avatarUrlLoaded = url;\n if (srcset) {\n this.avatarSrcSetLoaded = srcset;\n }\n this.isAvatarLoaded = true;\n setUserHasAvatar(this.user, true);\n };\n img.onerror = () => {\n console.debug(\"Invalid avatar url\", url);\n this.avatarUrlLoaded = null;\n this.avatarSrcSetLoaded = null;\n this.userDoesNotExist = true;\n this.isAvatarLoaded = false;\n setUserHasAvatar(this.user, false);\n };\n if (srcset) {\n img.srcset = srcset;\n }\n img.src = url;\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", { directives: [{ name: \"click-outside\", rawName: \"v-click-outside\", value: _vm.closeMenu, expression: \"closeMenu\" }], ref: \"main\", staticClass: \"avatardiv popovermenu-wrapper\", class: {\n \"avatardiv--unknown\": _vm.userDoesNotExist,\n \"avatardiv--with-menu\": _vm.hasMenu,\n \"avatardiv--with-menu-loading\": _vm.contactsMenuLoading\n }, style: _vm.avatarStyle, attrs: { \"title\": _vm.tooltip } }, [_vm._t(\"icon\", function() {\n return [_vm.iconClass ? _c(\"span\", { staticClass: \"avatar-class-icon\", class: _vm.iconClass }) : _vm.isAvatarLoaded && !_vm.userDoesNotExist ? _c(\"img\", { attrs: { \"src\": _vm.avatarUrlLoaded, \"srcset\": _vm.avatarSrcSetLoaded, \"alt\": \"\" } }) : _vm._e()];\n }), _vm.hasMenu && _vm.menu.length === 0 ? _c(\"NcButton\", { staticClass: \"action-item action-item__menutoggle\", attrs: { \"aria-label\": _vm.avatarAriaLabel, \"variant\": \"tertiary-no-background\" }, on: { \"click\": _vm.toggleMenu }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm.contactsMenuLoading ? _c(\"NcLoadingIcon\") : _c(\"DotsHorizontal\", { attrs: { \"size\": 20 } })];\n }, proxy: true }], null, false, 2617833509) }) : _vm.hasMenu ? _c(\"NcActions\", { attrs: { \"aria-label\": _vm.avatarAriaLabel, \"container\": _vm.menuContainer, \"force-menu\": \"\", \"manual-open\": \"\", \"open\": _vm.contactsMenuOpenState, \"variant\": \"tertiary-no-background\" }, on: { \"update:open\": function($event) {\n _vm.contactsMenuOpenState = $event;\n }, \"click\": _vm.toggleMenu }, scopedSlots: _vm._u([_vm.contactsMenuLoading ? { key: \"icon\", fn: function() {\n return [_c(\"NcLoadingIcon\")];\n }, proxy: true } : null], null, true) }, _vm._l(_vm.menu, function(item, key) {\n return _c(item.ncActionComponent, _vm._g(_vm._b({ key, tag: \"component\", scopedSlots: _vm._u([item.iconSvg ? { key: \"icon\", fn: function() {\n return [_c(\"NcIconSvgWrapper\", { attrs: { \"svg\": item.iconSvg } })];\n }, proxy: true } : null], null, true) }, \"component\", item.ncActionComponentProps, false), item.ncActionComponentHandlers), [_vm._v(\" \" + _vm._s(item.text) + \" \")]);\n }), 1) : _vm._e(), _vm.showUserStatusIconOnAvatar ? _c(\"span\", { staticClass: \"avatardiv__user-status avatardiv__user-status--icon\" }, [_vm._v(\" \" + _vm._s(_vm.userStatus.icon) + \" \")]) : _vm.canDisplayUserStatus ? _c(\"NcUserStatusIcon\", { staticClass: \"avatardiv__user-status\", attrs: { \"status\": _vm.userStatus.status, \"aria-hidden\": String(_vm.hasMenu) } }) : _vm._e(), _vm.showInitials ? _c(\"span\", { staticClass: \"avatardiv__initials-wrapper\", style: _vm.initialsWrapperStyle }, [_c(\"span\", { staticClass: \"avatardiv__initials\", style: _vm.initialsStyle }, [_vm._v(\" \" + _vm._s(_vm.initials) + \" \")])]) : _vm._e()], 2);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"f132fa9c\"\n);\nconst NcAvatar = __component__.exports;\nexport {\n NcAvatar as N,\n userStatus as u\n};\n//# sourceMappingURL=NcAvatar-YSp2ORHc.mjs.map\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.VueSelect=t():e.VueSelect=t()}(\"undefined\"!=typeof self?self:this,(function(){return(()=>{var e={646:e=>{e.exports=function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t{e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},860:e=>{e.exports=function(e){if(Symbol.iterator in Object(e)||\"[object Arguments]\"===Object.prototype.toString.call(e))return Array.from(e)}},206:e=>{e.exports=function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance\")}},319:(e,t,n)=>{var o=n(646),i=n(860),s=n(206);e.exports=function(e){return o(e)||i(e)||s()}},8:e=>{function t(n){return\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?e.exports=t=function(e){return typeof e}:e.exports=t=function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},t(n)}e.exports=t}},t={};function n(o){var i=t[o];if(void 0!==i)return i.exports;var s=t[o]={exports:{}};return e[o](s,s.exports,n),s.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})};var o={};return(()=>{\"use strict\";n.r(o),n.d(o,{VueSelect:()=>m,default:()=>_,mixins:()=>O});var e=n(319),t=n.n(e),i=n(8),s=n.n(i),r=n(713),a=n.n(r);const l={props:{autoscroll:{type:Boolean,default:!0}},watch:{typeAheadPointer:function(){this.autoscroll&&this.maybeAdjustScroll()},open:function(e){var t=this;this.autoscroll&&e&&this.$nextTick((function(){return t.maybeAdjustScroll()}))}},methods:{maybeAdjustScroll:function(){var e,t=(null===(e=this.$refs.dropdownMenu)||void 0===e?void 0:e.children[this.typeAheadPointer])||!1;if(t){var n=this.getDropdownViewport(),o=t.getBoundingClientRect(),i=o.top,s=o.bottom,r=o.height;if(in.bottom)return this.$refs.dropdownMenu.scrollTop=t.offsetTop-(n.height-r)}},getDropdownViewport:function(){return this.$refs.dropdownMenu?this.$refs.dropdownMenu.getBoundingClientRect():{height:0,top:0,bottom:0}}}},c={data:function(){return{typeAheadPointer:-1}},watch:{filteredOptions:function(){if(this.resetFocusOnOptionsChange)for(var e=0;e=0;e--)if(this.selectable(this.filteredOptions[e])){this.typeAheadPointer=e;break}},typeAheadDown:function(){for(var e=this.typeAheadPointer+1;e0&&void 0!==arguments[0]?arguments[0]:null;return this.mutableLoading=null==e?!this.mutableLoading:e}}};function p(e,t,n,o,i,s,r,a){var l,c=\"function\"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=n,c._compiled=!0),o&&(c.functional=!0),s&&(c._scopeId=\"data-v-\"+s),r?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(r)},c._ssrRegister=l):i&&(l=a?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(e,t){return l.call(t),u(e,t)}}else{var p=c.beforeCreate;c.beforeCreate=p?[].concat(p,l):[l]}return{exports:e,options:c}}const d={Deselect:p({},(function(){var e=this.$createElement,t=this._self._c||e;return t(\"svg\",{attrs:{xmlns:\"http://www.w3.org/2000/svg\",width:\"10\",height:\"10\"}},[t(\"path\",{attrs:{d:\"M6.895455 5l2.842897-2.842898c.348864-.348863.348864-.914488 0-1.263636L9.106534.261648c-.348864-.348864-.914489-.348864-1.263636 0L5 3.104545 2.157102.261648c-.348863-.348864-.914488-.348864-1.263636 0L.261648.893466c-.348864.348864-.348864.914489 0 1.263636L3.104545 5 .261648 7.842898c-.348864.348863-.348864.914488 0 1.263636l.631818.631818c.348864.348864.914773.348864 1.263636 0L5 6.895455l2.842898 2.842897c.348863.348864.914772.348864 1.263636 0l.631818-.631818c.348864-.348864.348864-.914489 0-1.263636L6.895455 5z\"}})])}),[],!1,null,null,null).exports,OpenIndicator:p({},(function(){var e=this.$createElement,t=this._self._c||e;return t(\"svg\",{attrs:{xmlns:\"http://www.w3.org/2000/svg\",width:\"14\",height:\"10\"}},[t(\"path\",{attrs:{d:\"M9.211364 7.59931l4.48338-4.867229c.407008-.441854.407008-1.158247 0-1.60046l-.73712-.80023c-.407008-.441854-1.066904-.441854-1.474243 0L7 5.198617 2.51662.33139c-.407008-.441853-1.066904-.441853-1.474243 0l-.737121.80023c-.407008.441854-.407008 1.158248 0 1.600461l4.48338 4.867228L7 10l2.211364-2.40069z\"}})])}),[],!1,null,null,null).exports},h={inserted:function(e,t,n){var o=n.context;if(o.appendToBody){document.body.appendChild(e);var i=o.$refs.toggle.getBoundingClientRect(),s=i.height,r=i.top,a=i.left,l=i.width,c=window.scrollX||window.pageXOffset,u=window.scrollY||window.pageYOffset;e.unbindPosition=o.calculatePosition(e,o,{width:l+\"px\",left:c+a+\"px\",top:u+r+s+\"px\"})}},unbind:function(e,t,n){n.context.appendToBody&&(e.unbindPosition&&\"function\"==typeof e.unbindPosition&&e.unbindPosition(),e.parentNode&&e.parentNode.removeChild(e))}};const f=function(e){var t={};return Object.keys(e).sort().forEach((function(n){t[n]=e[n]})),JSON.stringify(t)};var y=0;const b=function(){return++y};function g(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function v(e){for(var t=1;t-1}},filter:{type:Function,default:function(e,t){var n=this;return e.filter((function(e){var o=n.getOptionLabel(e);return\"number\"==typeof o&&(o=o.toString()),n.filterBy(e,o,t)}))}},createOption:{type:Function,default:function(e){return\"object\"===s()(this.optionList[0])?a()({},this.label,e):e}},resetFocusOnOptionsChange:{type:Boolean,default:!0},resetOnOptionsChange:{default:!1,validator:function(e){return[\"function\",\"boolean\"].includes(s()(e))}},clearSearchOnBlur:{type:Function,default:function(e){var t=e.clearSearchOnSelect,n=e.multiple;return t&&!n}},noDrop:{type:Boolean,default:!1},inputId:{type:String},dir:{type:String,default:\"auto\"},selectOnTab:{type:Boolean,default:!1},selectOnKeyCodes:{type:Array,default:function(){return[13]}},searchInputQuerySelector:{type:String,default:\"[type=search]\"},mapKeydown:{type:Function,default:function(e,t){return e}},appendToBody:{type:Boolean,default:!1},calculatePosition:{type:Function,default:function(e,t,n){var o=n.width,i=n.top,s=n.left;e.style.top=i,e.style.left=s,e.style.width=o}},dropdownShouldOpen:{type:Function,default:function(e){var t=e.noDrop,n=e.open,o=e.mutableLoading;return!t&&(n&&!o)}},keyboardFocusBorder:{type:Boolean,default:!1},uid:{type:[String,Number],default:function(){return b()}}},data:function(){return{search:\"\",open:!1,isComposing:!1,isKeyboardNavigation:!1,pushedTags:[],_value:[]}},computed:{isTrackingValues:function(){return void 0===this.value||this.$options.propsData.hasOwnProperty(\"reduce\")},selectedValue:function(){var e=this.value;return this.isTrackingValues&&(e=this.$data._value),null!=e&&\"\"!==e?[].concat(e):[]},optionList:function(){return this.options.concat(this.pushTags?this.pushedTags:[])},searchEl:function(){return this.$scopedSlots.search?this.$refs.selectedOptions.querySelector(this.searchInputQuerySelector):this.$refs.search},scope:function(){var e=this,t={search:this.search,loading:this.loading,searching:this.searching,filteredOptions:this.filteredOptions};return{search:{attributes:v({id:this.inputId,disabled:this.disabled,placeholder:this.searchPlaceholder,tabindex:this.tabindex,readonly:!this.searchable,role:\"combobox\",\"aria-autocomplete\":\"list\",\"aria-label\":this.ariaLabelCombobox,\"aria-controls\":\"vs-\".concat(this.uid,\"__listbox\"),\"aria-owns\":\"vs-\".concat(this.uid,\"__listbox\"),\"aria-expanded\":this.dropdownOpen.toString(),ref:\"search\",type:\"search\",autocomplete:this.autocomplete,value:this.search},this.dropdownOpen&&this.filteredOptions[this.typeAheadPointer]?{\"aria-activedescendant\":\"vs-\".concat(this.uid,\"__option-\").concat(this.typeAheadPointer)}:{}),events:{compositionstart:function(){return e.isComposing=!0},compositionend:function(){return e.isComposing=!1},keydown:this.onSearchKeyDown,keypress:this.onSearchKeyPress,blur:this.onSearchBlur,focus:this.onSearchFocus,input:function(t){return e.search=t.target.value}}},spinner:{loading:this.mutableLoading},noOptions:{search:this.search,loading:this.mutableLoading,searching:this.searching},openIndicator:{attributes:{ref:\"openIndicator\",role:\"presentation\",class:\"vs__open-indicator\"}},listHeader:t,listFooter:t,header:v({},t,{deselect:this.deselect}),footer:v({},t,{deselect:this.deselect})}},childComponents:function(){return v({},d,{},this.components)},stateClasses:function(){return{\"vs--open\":this.dropdownOpen,\"vs--single\":!this.multiple,\"vs--multiple\":this.multiple,\"vs--searching\":this.searching&&!this.noDrop,\"vs--searchable\":this.searchable&&!this.noDrop,\"vs--unsearchable\":!this.searchable,\"vs--loading\":this.mutableLoading,\"vs--disabled\":this.disabled}},searching:function(){return!!this.search},dropdownOpen:function(){return this.dropdownShouldOpen(this)},searchPlaceholder:function(){return this.isValueEmpty&&this.placeholder?this.placeholder:void 0},filteredOptions:function(){var e=this,t=function(t){return null!==e.limit?t.slice(0,e.limit):t},n=[].concat(this.optionList);if(!this.filterable&&!this.taggable)return t(n);var o=this.search.length?this.filter(n,this.search,this):n;if(this.taggable&&this.search.length){var i=this.createOption(this.search);this.optionExists(i)||o.unshift(i)}return t(o)},isValueEmpty:function(){return 0===this.selectedValue.length},showClearButton:function(){return!this.multiple&&this.clearable&&!this.open&&!this.isValueEmpty}},watch:{options:function(e,t){var n=this;!this.taggable&&(\"function\"==typeof n.resetOnOptionsChange?n.resetOnOptionsChange(e,t,n.selectedValue):n.resetOnOptionsChange)&&this.clearSelection(),this.value&&this.isTrackingValues&&this.setInternalValueFromOptions(this.value)},value:{immediate:!0,handler:function(e){this.isTrackingValues&&this.setInternalValueFromOptions(e)}},multiple:function(){this.clearSelection()},open:function(e){this.$emit(e?\"open\":\"close\")},search:function(e){e.length&&(this.open=!0)}},created:function(){this.mutableLoading=this.loading,this.$on(\"option:created\",this.pushTag)},methods:{setInternalValueFromOptions:function(e){var t=this;Array.isArray(e)?this.$data._value=e.map((function(e){return t.findOptionFromReducedValue(e)})):this.$data._value=this.findOptionFromReducedValue(e)},select:function(e){this.$emit(\"option:selecting\",e),this.isOptionSelected(e)?this.deselectFromDropdown&&(this.clearable||this.multiple&&this.selectedValue.length>1)&&this.deselect(e):(this.taggable&&!this.optionExists(e)&&this.$emit(\"option:created\",e),this.multiple&&(e=this.selectedValue.concat(e)),this.updateValue(e),this.$emit(\"option:selected\",e)),this.onAfterSelect(e)},deselect:function(e){var t=this;this.$emit(\"option:deselecting\",e),this.updateValue(this.selectedValue.filter((function(n){return!t.optionComparator(n,e)}))),this.$emit(\"option:deselected\",e)},keyboardDeselect:function(e,t){var n,o;this.deselect(e);var i=null===(n=this.$refs.deselectButtons)||void 0===n?void 0:n[t+1],s=null===(o=this.$refs.deselectButtons)||void 0===o?void 0:o[t-1],r=null!=i?i:s;r?r.focus():this.searchEl.focus()},clearSelection:function(){this.updateValue(this.multiple?[]:null),this.searchEl.focus()},onAfterSelect:function(e){var t=this;this.closeOnSelect&&(this.open=!this.open),this.clearSearchOnSelect&&(this.search=\"\"),this.noDrop&&this.multiple&&this.$nextTick((function(){return t.$refs.search.focus()}))},updateValue:function(e){var t=this;void 0===this.value&&(this.$data._value=e),null!==e&&(e=Array.isArray(e)?e.map((function(e){return t.reduce(e)})):this.reduce(e)),this.$emit(\"input\",e)},toggleDropdown:function(e){var n=e.target!==this.searchEl;n&&e.preventDefault();var o=[].concat(t()(this.$refs.deselectButtons||[]),t()([this.$refs.clearButton]||0));void 0===this.searchEl||o.filter(Boolean).some((function(t){return t.contains(e.target)||t===e.target}))?e.preventDefault():this.open&&n?this.searchEl.blur():this.disabled||(this.open=!0,this.searchEl.focus())},isOptionSelected:function(e){var t=this;return this.selectedValue.some((function(n){return t.optionComparator(n,e)}))},isOptionDeselectable:function(e){return this.isOptionSelected(e)&&this.deselectFromDropdown},hasKeyboardFocusBorder:function(e){return!(!this.keyboardFocusBorder||!this.isKeyboardNavigation)&&e===this.typeAheadPointer},optionComparator:function(e,t){return this.getOptionKey(e)===this.getOptionKey(t)},findOptionFromReducedValue:function(e){var n=this,o=[].concat(t()(this.options),t()(this.pushedTags)).filter((function(t){return JSON.stringify(n.reduce(t))===JSON.stringify(e)}));return 1===o.length?o[0]:o.find((function(e){return n.optionComparator(e,n.$data._value)}))||e},closeSearchOptions:function(){this.open=!1,this.$emit(\"search:blur\")},maybeDeleteValue:function(){if(!this.searchEl.value.length&&this.selectedValue&&this.selectedValue.length&&this.clearable){var e=null;this.multiple&&(e=t()(this.selectedValue.slice(0,this.selectedValue.length-1))),this.updateValue(e)}},optionExists:function(e){var t=this;return this.optionList.some((function(n){return t.optionComparator(n,e)}))},optionAriaSelected:function(e){return this.selectable(e)?String(this.isOptionSelected(e)):null},normalizeOptionForSlot:function(e){return\"object\"===s()(e)?e:a()({},this.label,e)},pushTag:function(e){this.pushedTags.push(e)},onEscape:function(){this.search.length?this.search=\"\":this.open=!1},onSearchBlur:function(){if(!this.mousedown||this.searching){var e=this.clearSearchOnSelect,t=this.multiple;return this.clearSearchOnBlur({clearSearchOnSelect:e,multiple:t})&&(this.search=\"\"),void this.closeSearchOptions()}this.mousedown=!1,0!==this.search.length||0!==this.options.length||this.closeSearchOptions()},onSearchFocus:function(){this.open=!0,this.$emit(\"search:focus\")},onMousedown:function(){this.mousedown=!0},onMouseUp:function(){this.mousedown=!1},onMouseMove:function(e,t){this.isKeyboardNavigation=!1,this.selectable(e)&&(this.typeAheadPointer=t)},onSearchKeyDown:function(e){var t=this,n=function(e){if(e.preventDefault(),t.open)return!t.isComposing&&t.typeAheadSelect();t.open=!0},o={8:function(e){return t.maybeDeleteValue()},9:function(e){return t.onTab()},27:function(e){return t.onEscape()},38:function(e){if(e.preventDefault(),t.isKeyboardNavigation=!0,t.open)return t.typeAheadUp();t.open=!0},40:function(e){if(e.preventDefault(),t.isKeyboardNavigation=!0,t.open)return t.typeAheadDown();t.open=!0}};this.selectOnKeyCodes.forEach((function(e){return o[e]=n}));var i=this.mapKeydown(o,this);if(\"function\"==typeof i[e.keyCode])return i[e.keyCode](e)},onSearchKeyPress:function(e){this.open||32!==e.keyCode||(e.preventDefault(),this.open=!0)}}},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"div\",{staticClass:\"v-select\",class:e.stateClasses,attrs:{id:\"v-select-\"+e.uid,dir:e.dir}},[e._t(\"header\",null,null,e.scope.header),e._v(\" \"),n(\"div\",{ref:\"toggle\",staticClass:\"vs__dropdown-toggle\"},[n(\"div\",{ref:\"selectedOptions\",staticClass:\"vs__selected-options\",on:{mousedown:e.toggleDropdown}},[e._l(e.selectedValue,(function(t,o){return e._t(\"selected-option-container\",[n(\"span\",{key:e.getOptionKey(t),staticClass:\"vs__selected\"},[e._t(\"selected-option\",[e._v(\"\\n \"+e._s(e.getOptionLabel(t))+\"\\n \")],null,e.normalizeOptionForSlot(t)),e._v(\" \"),e.multiple?n(\"button\",{ref:\"deselectButtons\",refInFor:!0,staticClass:\"vs__deselect\",attrs:{disabled:e.disabled,type:\"button\",title:e.ariaLabelDeselectOption(e.getOptionLabel(t)),\"aria-label\":e.ariaLabelDeselectOption(e.getOptionLabel(t))},on:{mousedown:function(n){return n.stopPropagation(),e.deselect(t)},keydown:function(n){return!n.type.indexOf(\"key\")&&e._k(n.keyCode,\"enter\",13,n.key,\"Enter\")?null:e.keyboardDeselect(t,o)}}},[n(e.childComponents.Deselect,{tag:\"component\"})],1):e._e()],2)],{option:e.normalizeOptionForSlot(t),deselect:e.deselect,multiple:e.multiple,disabled:e.disabled})})),e._v(\" \"),e._t(\"search\",[n(\"input\",e._g(e._b({staticClass:\"vs__search\"},\"input\",e.scope.search.attributes,!1),e.scope.search.events))],null,e.scope.search)],2),e._v(\" \"),n(\"div\",{ref:\"actions\",staticClass:\"vs__actions\"},[n(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.showClearButton,expression:\"showClearButton\"}],ref:\"clearButton\",staticClass:\"vs__clear\",attrs:{disabled:e.disabled,type:\"button\",title:e.ariaLabelClearSelected,\"aria-label\":e.ariaLabelClearSelected},on:{click:e.clearSelection}},[n(e.childComponents.Deselect,{tag:\"component\"})],1),e._v(\" \"),e.noDrop?e._e():n(\"button\",{ref:\"openIndicatorButton\",staticClass:\"vs__open-indicator-button\",attrs:{type:\"button\",tabindex:\"-1\",\"aria-labelledby\":\"vs-\"+e.uid+\"__listbox\",\"aria-controls\":\"vs-\"+e.uid+\"__listbox\",\"aria-expanded\":e.dropdownOpen.toString()},on:{mousedown:e.toggleDropdown}},[e._t(\"open-indicator\",[n(e.childComponents.OpenIndicator,e._b({tag:\"component\"},\"component\",e.scope.openIndicator.attributes,!1))],null,e.scope.openIndicator)],2),e._v(\" \"),e._t(\"spinner\",[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.mutableLoading,expression:\"mutableLoading\"}],staticClass:\"vs__spinner\"},[e._v(\"Loading...\")])],null,e.scope.spinner)],2)]),e._v(\" \"),n(\"transition\",{attrs:{name:e.transition}},[e.dropdownOpen?n(\"ul\",{directives:[{name:\"append-to-body\",rawName:\"v-append-to-body\"}],key:\"vs-\"+e.uid+\"__listbox\",ref:\"dropdownMenu\",staticClass:\"vs__dropdown-menu\",attrs:{id:\"vs-\"+e.uid+\"__listbox\",role:\"listbox\",\"aria-label\":e.ariaLabelListbox,\"aria-multiselectable\":e.multiple,tabindex:\"-1\"},on:{mousedown:function(t){return t.preventDefault(),e.onMousedown(t)},mouseup:e.onMouseUp}},[e._t(\"list-header\",null,null,e.scope.listHeader),e._v(\" \"),e._l(e.filteredOptions,(function(t,o){return n(\"li\",{key:e.getOptionKey(t),staticClass:\"vs__dropdown-option\",class:{\"vs__dropdown-option--deselect\":e.isOptionDeselectable(t)&&o===e.typeAheadPointer,\"vs__dropdown-option--selected\":e.isOptionSelected(t),\"vs__dropdown-option--highlight\":o===e.typeAheadPointer,\"vs__dropdown-option--kb-focus\":e.hasKeyboardFocusBorder(o),\"vs__dropdown-option--disabled\":!e.selectable(t)},attrs:{id:\"vs-\"+e.uid+\"__option-\"+o,role:\"option\",\"aria-selected\":e.optionAriaSelected(t)},on:{mousemove:function(n){return e.onMouseMove(t,o)},click:function(n){n.preventDefault(),n.stopPropagation(),e.selectable(t)&&e.select(t)}}},[e._t(\"option\",[e._v(\"\\n \"+e._s(e.getOptionLabel(t))+\"\\n \")],null,e.normalizeOptionForSlot(t))],2)})),e._v(\" \"),0===e.filteredOptions.length?n(\"li\",{staticClass:\"vs__no-options\"},[e._t(\"no-options\",[e._v(\"\\n Sorry, no matching options.\\n \")],null,e.scope.noOptions)],2):e._e(),e._v(\" \"),e._t(\"list-footer\",null,null,e.scope.listFooter)],2):n(\"ul\",{staticStyle:{display:\"none\",visibility:\"hidden\"},attrs:{id:\"vs-\"+e.uid+\"__listbox\",role:\"listbox\",\"aria-label\":e.ariaLabelListbox}})]),e._v(\" \"),e._t(\"footer\",null,null,e.scope.footer)],2)}),[],!1,null,null,null).exports,O={ajax:u,pointer:c,pointerScroll:l},_=m})(),o})()}));\n//# sourceMappingURL=vue-select.js.map","/**\n * @import {\n * Chunk,\n * Code,\n * ConstructRecord,\n * Construct,\n * Effects,\n * InitialConstruct,\n * ParseContext,\n * Point,\n * State,\n * TokenizeContext,\n * Token\n * } from 'micromark-util-types'\n */\n\n/**\n * @callback Restore\n * Restore the state.\n * @returns {undefined}\n * Nothing.\n *\n * @typedef Info\n * Info.\n * @property {Restore} restore\n * Restore.\n * @property {number} from\n * From.\n *\n * @callback ReturnHandle\n * Handle a successful run.\n * @param {Construct} construct\n * Construct.\n * @param {Info} info\n * Info.\n * @returns {undefined}\n * Nothing.\n */\n\nimport { markdownLineEnding } from 'micromark-util-character';\nimport { push, splice } from 'micromark-util-chunked';\nimport { resolveAll } from 'micromark-util-resolve-all';\n/**\n * Create a tokenizer.\n * Tokenizers deal with one type of data (e.g., containers, flow, text).\n * The parser is the object dealing with it all.\n * `initialize` works like other constructs, except that only its `tokenize`\n * function is used, in which case it doesn’t receive an `ok` or `nok`.\n * `from` can be given to set the point before the first character, although\n * when further lines are indented, they must be set with `defineSkip`.\n *\n * @param {ParseContext} parser\n * Parser.\n * @param {InitialConstruct} initialize\n * Construct.\n * @param {Omit | undefined} [from]\n * Point (optional).\n * @returns {TokenizeContext}\n * Context.\n */\nexport function createTokenizer(parser, initialize, from) {\n /** @type {Point} */\n let point = {\n _bufferIndex: -1,\n _index: 0,\n line: from && from.line || 1,\n column: from && from.column || 1,\n offset: from && from.offset || 0\n };\n /** @type {Record} */\n const columnStart = {};\n /** @type {Array} */\n const resolveAllConstructs = [];\n /** @type {Array} */\n let chunks = [];\n /** @type {Array} */\n let stack = [];\n /** @type {boolean | undefined} */\n let consumed = true;\n\n /**\n * Tools used for tokenizing.\n *\n * @type {Effects}\n */\n const effects = {\n attempt: constructFactory(onsuccessfulconstruct),\n check: constructFactory(onsuccessfulcheck),\n consume,\n enter,\n exit,\n interrupt: constructFactory(onsuccessfulcheck, {\n interrupt: true\n })\n };\n\n /**\n * State and tools for resolving and serializing.\n *\n * @type {TokenizeContext}\n */\n const context = {\n code: null,\n containerState: {},\n defineSkip,\n events: [],\n now,\n parser,\n previous: null,\n sliceSerialize,\n sliceStream,\n write\n };\n\n /**\n * The state function.\n *\n * @type {State | undefined}\n */\n let state = initialize.tokenize.call(context, effects);\n\n /**\n * Track which character we expect to be consumed, to catch bugs.\n *\n * @type {Code}\n */\n let expectedCode;\n if (initialize.resolveAll) {\n resolveAllConstructs.push(initialize);\n }\n return context;\n\n /** @type {TokenizeContext['write']} */\n function write(slice) {\n chunks = push(chunks, slice);\n main();\n\n // Exit if we’re not done, resolve might change stuff.\n if (chunks[chunks.length - 1] !== null) {\n return [];\n }\n addResult(initialize, 0);\n\n // Otherwise, resolve, and exit.\n context.events = resolveAll(resolveAllConstructs, context.events, context);\n return context.events;\n }\n\n //\n // Tools.\n //\n\n /** @type {TokenizeContext['sliceSerialize']} */\n function sliceSerialize(token, expandTabs) {\n return serializeChunks(sliceStream(token), expandTabs);\n }\n\n /** @type {TokenizeContext['sliceStream']} */\n function sliceStream(token) {\n return sliceChunks(chunks, token);\n }\n\n /** @type {TokenizeContext['now']} */\n function now() {\n // This is a hot path, so we clone manually instead of `Object.assign({}, point)`\n const {\n _bufferIndex,\n _index,\n line,\n column,\n offset\n } = point;\n return {\n _bufferIndex,\n _index,\n line,\n column,\n offset\n };\n }\n\n /** @type {TokenizeContext['defineSkip']} */\n function defineSkip(value) {\n columnStart[value.line] = value.column;\n accountForPotentialSkip();\n }\n\n //\n // State management.\n //\n\n /**\n * Main loop (note that `_index` and `_bufferIndex` in `point` are modified by\n * `consume`).\n * Here is where we walk through the chunks, which either include strings of\n * several characters, or numerical character codes.\n * The reason to do this in a loop instead of a call is so the stack can\n * drain.\n *\n * @returns {undefined}\n * Nothing.\n */\n function main() {\n /** @type {number} */\n let chunkIndex;\n while (point._index < chunks.length) {\n const chunk = chunks[point._index];\n\n // If we’re in a buffer chunk, loop through it.\n if (typeof chunk === 'string') {\n chunkIndex = point._index;\n if (point._bufferIndex < 0) {\n point._bufferIndex = 0;\n }\n while (point._index === chunkIndex && point._bufferIndex < chunk.length) {\n go(chunk.charCodeAt(point._bufferIndex));\n }\n } else {\n go(chunk);\n }\n }\n }\n\n /**\n * Deal with one code.\n *\n * @param {Code} code\n * Code.\n * @returns {undefined}\n * Nothing.\n */\n function go(code) {\n consumed = undefined;\n expectedCode = code;\n state = state(code);\n }\n\n /** @type {Effects['consume']} */\n function consume(code) {\n if (markdownLineEnding(code)) {\n point.line++;\n point.column = 1;\n point.offset += code === -3 ? 2 : 1;\n accountForPotentialSkip();\n } else if (code !== -1) {\n point.column++;\n point.offset++;\n }\n\n // Not in a string chunk.\n if (point._bufferIndex < 0) {\n point._index++;\n } else {\n point._bufferIndex++;\n\n // At end of string chunk.\n if (point._bufferIndex ===\n // Points w/ non-negative `_bufferIndex` reference\n // strings.\n /** @type {string} */\n chunks[point._index].length) {\n point._bufferIndex = -1;\n point._index++;\n }\n }\n\n // Expose the previous character.\n context.previous = code;\n\n // Mark as consumed.\n consumed = true;\n }\n\n /** @type {Effects['enter']} */\n function enter(type, fields) {\n /** @type {Token} */\n // @ts-expect-error Patch instead of assign required fields to help GC.\n const token = fields || {};\n token.type = type;\n token.start = now();\n context.events.push(['enter', token, context]);\n stack.push(token);\n return token;\n }\n\n /** @type {Effects['exit']} */\n function exit(type) {\n const token = stack.pop();\n token.end = now();\n context.events.push(['exit', token, context]);\n return token;\n }\n\n /**\n * Use results.\n *\n * @type {ReturnHandle}\n */\n function onsuccessfulconstruct(construct, info) {\n addResult(construct, info.from);\n }\n\n /**\n * Discard results.\n *\n * @type {ReturnHandle}\n */\n function onsuccessfulcheck(_, info) {\n info.restore();\n }\n\n /**\n * Factory to attempt/check/interrupt.\n *\n * @param {ReturnHandle} onreturn\n * Callback.\n * @param {{interrupt?: boolean | undefined} | undefined} [fields]\n * Fields.\n */\n function constructFactory(onreturn, fields) {\n return hook;\n\n /**\n * Handle either an object mapping codes to constructs, a list of\n * constructs, or a single construct.\n *\n * @param {Array | ConstructRecord | Construct} constructs\n * Constructs.\n * @param {State} returnState\n * State.\n * @param {State | undefined} [bogusState]\n * State.\n * @returns {State}\n * State.\n */\n function hook(constructs, returnState, bogusState) {\n /** @type {ReadonlyArray} */\n let listOfConstructs;\n /** @type {number} */\n let constructIndex;\n /** @type {Construct} */\n let currentConstruct;\n /** @type {Info} */\n let info;\n return Array.isArray(constructs) ? /* c8 ignore next 1 */\n handleListOfConstructs(constructs) : 'tokenize' in constructs ?\n // Looks like a construct.\n handleListOfConstructs([(/** @type {Construct} */constructs)]) : handleMapOfConstructs(constructs);\n\n /**\n * Handle a list of construct.\n *\n * @param {ConstructRecord} map\n * Constructs.\n * @returns {State}\n * State.\n */\n function handleMapOfConstructs(map) {\n return start;\n\n /** @type {State} */\n function start(code) {\n const left = code !== null && map[code];\n const all = code !== null && map.null;\n const list = [\n // To do: add more extension tests.\n /* c8 ignore next 2 */\n ...(Array.isArray(left) ? left : left ? [left] : []), ...(Array.isArray(all) ? all : all ? [all] : [])];\n return handleListOfConstructs(list)(code);\n }\n }\n\n /**\n * Handle a list of construct.\n *\n * @param {ReadonlyArray} list\n * Constructs.\n * @returns {State}\n * State.\n */\n function handleListOfConstructs(list) {\n listOfConstructs = list;\n constructIndex = 0;\n if (list.length === 0) {\n return bogusState;\n }\n return handleConstruct(list[constructIndex]);\n }\n\n /**\n * Handle a single construct.\n *\n * @param {Construct} construct\n * Construct.\n * @returns {State}\n * State.\n */\n function handleConstruct(construct) {\n return start;\n\n /** @type {State} */\n function start(code) {\n // To do: not needed to store if there is no bogus state, probably?\n // Currently doesn’t work because `inspect` in document does a check\n // w/o a bogus, which doesn’t make sense. But it does seem to help perf\n // by not storing.\n info = store();\n currentConstruct = construct;\n if (!construct.partial) {\n context.currentConstruct = construct;\n }\n\n // Always populated by defaults.\n\n if (construct.name && context.parser.constructs.disable.null.includes(construct.name)) {\n return nok(code);\n }\n return construct.tokenize.call(\n // If we do have fields, create an object w/ `context` as its\n // prototype.\n // This allows a “live binding”, which is needed for `interrupt`.\n fields ? Object.assign(Object.create(context), fields) : context, effects, ok, nok)(code);\n }\n }\n\n /** @type {State} */\n function ok(code) {\n consumed = true;\n onreturn(currentConstruct, info);\n return returnState;\n }\n\n /** @type {State} */\n function nok(code) {\n consumed = true;\n info.restore();\n if (++constructIndex < listOfConstructs.length) {\n return handleConstruct(listOfConstructs[constructIndex]);\n }\n return bogusState;\n }\n }\n }\n\n /**\n * @param {Construct} construct\n * Construct.\n * @param {number} from\n * From.\n * @returns {undefined}\n * Nothing.\n */\n function addResult(construct, from) {\n if (construct.resolveAll && !resolveAllConstructs.includes(construct)) {\n resolveAllConstructs.push(construct);\n }\n if (construct.resolve) {\n splice(context.events, from, context.events.length - from, construct.resolve(context.events.slice(from), context));\n }\n if (construct.resolveTo) {\n context.events = construct.resolveTo(context.events, context);\n }\n }\n\n /**\n * Store state.\n *\n * @returns {Info}\n * Info.\n */\n function store() {\n const startPoint = now();\n const startPrevious = context.previous;\n const startCurrentConstruct = context.currentConstruct;\n const startEventsIndex = context.events.length;\n const startStack = Array.from(stack);\n return {\n from: startEventsIndex,\n restore\n };\n\n /**\n * Restore state.\n *\n * @returns {undefined}\n * Nothing.\n */\n function restore() {\n point = startPoint;\n context.previous = startPrevious;\n context.currentConstruct = startCurrentConstruct;\n context.events.length = startEventsIndex;\n stack = startStack;\n accountForPotentialSkip();\n }\n }\n\n /**\n * Move the current point a bit forward in the line when it’s on a column\n * skip.\n *\n * @returns {undefined}\n * Nothing.\n */\n function accountForPotentialSkip() {\n if (point.line in columnStart && point.column < 2) {\n point.column = columnStart[point.line];\n point.offset += columnStart[point.line] - 1;\n }\n }\n}\n\n/**\n * Get the chunks from a slice of chunks in the range of a token.\n *\n * @param {ReadonlyArray} chunks\n * Chunks.\n * @param {Pick} token\n * Token.\n * @returns {Array}\n * Chunks.\n */\nfunction sliceChunks(chunks, token) {\n const startIndex = token.start._index;\n const startBufferIndex = token.start._bufferIndex;\n const endIndex = token.end._index;\n const endBufferIndex = token.end._bufferIndex;\n /** @type {Array} */\n let view;\n if (startIndex === endIndex) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view = [chunks[startIndex].slice(startBufferIndex, endBufferIndex)];\n } else {\n view = chunks.slice(startIndex, endIndex);\n if (startBufferIndex > -1) {\n const head = view[0];\n if (typeof head === 'string') {\n view[0] = head.slice(startBufferIndex);\n /* c8 ignore next 4 -- used to be used, no longer */\n } else {\n view.shift();\n }\n }\n if (endBufferIndex > 0) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view.push(chunks[endIndex].slice(0, endBufferIndex));\n }\n }\n return view;\n}\n\n/**\n * Get the string value of a slice of chunks.\n *\n * @param {ReadonlyArray} chunks\n * Chunks.\n * @param {boolean | undefined} [expandTabs=false]\n * Whether to expand tabs (default: `false`).\n * @returns {string}\n * Result.\n */\nfunction serializeChunks(chunks, expandTabs) {\n let index = -1;\n /** @type {Array} */\n const result = [];\n /** @type {boolean | undefined} */\n let atTab;\n while (++index < chunks.length) {\n const chunk = chunks[index];\n /** @type {string} */\n let value;\n if (typeof chunk === 'string') {\n value = chunk;\n } else switch (chunk) {\n case -5:\n {\n value = \"\\r\";\n break;\n }\n case -4:\n {\n value = \"\\n\";\n break;\n }\n case -3:\n {\n value = \"\\r\" + \"\\n\";\n break;\n }\n case -2:\n {\n value = expandTabs ? \" \" : \"\\t\";\n break;\n }\n case -1:\n {\n if (!expandTabs && atTab) continue;\n value = \" \";\n break;\n }\n default:\n {\n // Currently only replacement character.\n value = String.fromCharCode(chunk);\n }\n }\n atTab = chunk === -2;\n result.push(value);\n }\n return result.join('');\n}","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Text} Text\n * @typedef {import('mdast').Break} Break\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `break` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Break} node\n * mdast node.\n * @returns {Array}\n * hast element content.\n */\nexport function hardBreak(state, node) {\n /** @type {Element} */\n const result = {type: 'element', tagName: 'br', properties: {}, children: []}\n state.patch(node, result)\n return [state.applyData(node, result), {type: 'text', value: '\\n'}]\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Code} Code\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `code` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Code} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function code(state, node) {\n const value = node.value ? node.value + '\\n' : ''\n /** @type {Properties} */\n const properties = {}\n\n if (node.lang) {\n properties.className = ['language-' + node.lang]\n }\n\n // Create ``.\n /** @type {Element} */\n let result = {\n type: 'element',\n tagName: 'code',\n properties,\n children: [{type: 'text', value}]\n }\n\n if (node.meta) {\n result.data = {meta: node.meta}\n }\n\n state.patch(node, result)\n result = state.applyData(node, result)\n\n // Create `
`.\n  result = {type: 'element', tagName: 'pre', properties: {}, children: [result]}\n  state.patch(node, result)\n  return result\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `listItem` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {ListItem} node\n *   mdast node.\n * @param {Parents | undefined} parent\n *   Parent of `node`.\n * @returns {Element}\n *   hast node.\n */\nexport function listItem(state, node, parent) {\n  const results = state.all(node)\n  const loose = parent ? listLoose(parent) : listItemLoose(node)\n  /** @type {Properties} */\n  const properties = {}\n  /** @type {Array} */\n  const children = []\n\n  if (typeof node.checked === 'boolean') {\n    const head = results[0]\n    /** @type {Element} */\n    let paragraph\n\n    if (head && head.type === 'element' && head.tagName === 'p') {\n      paragraph = head\n    } else {\n      paragraph = {type: 'element', tagName: 'p', properties: {}, children: []}\n      results.unshift(paragraph)\n    }\n\n    if (paragraph.children.length > 0) {\n      paragraph.children.unshift({type: 'text', value: ' '})\n    }\n\n    paragraph.children.unshift({\n      type: 'element',\n      tagName: 'input',\n      properties: {type: 'checkbox', checked: node.checked, disabled: true},\n      children: []\n    })\n\n    // According to github-markdown-css, this class hides bullet.\n    // See: .\n    properties.className = ['task-list-item']\n  }\n\n  let index = -1\n\n  while (++index < results.length) {\n    const child = results[index]\n\n    // Add eols before nodes, except if this is a loose, first paragraph.\n    if (\n      loose ||\n      index !== 0 ||\n      child.type !== 'element' ||\n      child.tagName !== 'p'\n    ) {\n      children.push({type: 'text', value: '\\n'})\n    }\n\n    if (child.type === 'element' && child.tagName === 'p' && !loose) {\n      children.push(...child.children)\n    } else {\n      children.push(child)\n    }\n  }\n\n  const tail = results[results.length - 1]\n\n  // Add a final eol.\n  if (tail && (loose || tail.type !== 'element' || tail.tagName !== 'p')) {\n    children.push({type: 'text', value: '\\n'})\n  }\n\n  /** @type {Element} */\n  const result = {type: 'element', tagName: 'li', properties, children}\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n\n/**\n * @param {Parents} node\n * @return {Boolean}\n */\nfunction listLoose(node) {\n  let loose = false\n  if (node.type === 'list') {\n    loose = node.spread || false\n    const children = node.children\n    let index = -1\n\n    while (!loose && ++index < children.length) {\n      loose = listItemLoose(children[index])\n    }\n  }\n\n  return loose\n}\n\n/**\n * @param {ListItem} node\n * @return {Boolean}\n */\nfunction listItemLoose(node) {\n  const spread = node.spread\n\n  return spread === null || spread === undefined\n    ? node.children.length > 1\n    : spread\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n *\n * @typedef {import('./state.js').State} State\n */\n\n/**\n * @callback FootnoteBackContentTemplate\n *   Generate content for the backreference dynamically.\n *\n *   For the following markdown:\n *\n *   ```markdown\n *   Alpha[^micromark], bravo[^micromark], and charlie[^remark].\n *\n *   [^remark]: things about remark\n *   [^micromark]: things about micromark\n *   ```\n *\n *   This function will be called with:\n *\n *   *  `0` and `0` for the backreference from `things about micromark` to\n *      `alpha`, as it is the first used definition, and the first call to it\n *   *  `0` and `1` for the backreference from `things about micromark` to\n *      `bravo`, as it is the first used definition, and the second call to it\n *   *  `1` and `0` for the backreference from `things about remark` to\n *      `charlie`, as it is the second used definition\n * @param {number} referenceIndex\n *   Index of the definition in the order that they are first referenced,\n *   0-indexed.\n * @param {number} rereferenceIndex\n *   Index of calls to the same definition, 0-indexed.\n * @returns {Array | ElementContent | string}\n *   Content for the backreference when linking back from definitions to their\n *   reference.\n *\n * @callback FootnoteBackLabelTemplate\n *   Generate a back label dynamically.\n *\n *   For the following markdown:\n *\n *   ```markdown\n *   Alpha[^micromark], bravo[^micromark], and charlie[^remark].\n *\n *   [^remark]: things about remark\n *   [^micromark]: things about micromark\n *   ```\n *\n *   This function will be called with:\n *\n *   *  `0` and `0` for the backreference from `things about micromark` to\n *      `alpha`, as it is the first used definition, and the first call to it\n *   *  `0` and `1` for the backreference from `things about micromark` to\n *      `bravo`, as it is the first used definition, and the second call to it\n *   *  `1` and `0` for the backreference from `things about remark` to\n *      `charlie`, as it is the second used definition\n * @param {number} referenceIndex\n *   Index of the definition in the order that they are first referenced,\n *   0-indexed.\n * @param {number} rereferenceIndex\n *   Index of calls to the same definition, 0-indexed.\n * @returns {string}\n *   Back label to use when linking back from definitions to their reference.\n */\n\nimport structuredClone from '@ungap/structured-clone'\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Generate the default content that GitHub uses on backreferences.\n *\n * @param {number} _\n *   Index of the definition in the order that they are first referenced,\n *   0-indexed.\n * @param {number} rereferenceIndex\n *   Index of calls to the same definition, 0-indexed.\n * @returns {Array}\n *   Content.\n */\nexport function defaultFootnoteBackContent(_, rereferenceIndex) {\n  /** @type {Array} */\n  const result = [{type: 'text', value: '↩'}]\n\n  if (rereferenceIndex > 1) {\n    result.push({\n      type: 'element',\n      tagName: 'sup',\n      properties: {},\n      children: [{type: 'text', value: String(rereferenceIndex)}]\n    })\n  }\n\n  return result\n}\n\n/**\n * Generate the default label that GitHub uses on backreferences.\n *\n * @param {number} referenceIndex\n *   Index of the definition in the order that they are first referenced,\n *   0-indexed.\n * @param {number} rereferenceIndex\n *   Index of calls to the same definition, 0-indexed.\n * @returns {string}\n *   Label.\n */\nexport function defaultFootnoteBackLabel(referenceIndex, rereferenceIndex) {\n  return (\n    'Back to reference ' +\n    (referenceIndex + 1) +\n    (rereferenceIndex > 1 ? '-' + rereferenceIndex : '')\n  )\n}\n\n/**\n * Generate a hast footer for called footnote definitions.\n *\n * @param {State} state\n *   Info passed around.\n * @returns {Element | undefined}\n *   `section` element or `undefined`.\n */\n// eslint-disable-next-line complexity\nexport function footer(state) {\n  const clobberPrefix =\n    typeof state.options.clobberPrefix === 'string'\n      ? state.options.clobberPrefix\n      : 'user-content-'\n  const footnoteBackContent =\n    state.options.footnoteBackContent || defaultFootnoteBackContent\n  const footnoteBackLabel =\n    state.options.footnoteBackLabel || defaultFootnoteBackLabel\n  const footnoteLabel = state.options.footnoteLabel || 'Footnotes'\n  const footnoteLabelTagName = state.options.footnoteLabelTagName || 'h2'\n  const footnoteLabelProperties = state.options.footnoteLabelProperties || {\n    className: ['sr-only']\n  }\n  /** @type {Array} */\n  const listItems = []\n  let referenceIndex = -1\n\n  while (++referenceIndex < state.footnoteOrder.length) {\n    const def = state.footnoteById.get(state.footnoteOrder[referenceIndex])\n\n    if (!def) {\n      continue\n    }\n\n    const content = state.all(def)\n    const id = String(def.identifier).toUpperCase()\n    const safeId = normalizeUri(id.toLowerCase())\n    let rereferenceIndex = 0\n    /** @type {Array} */\n    const backReferences = []\n    const counts = state.footnoteCounts.get(id)\n\n    // eslint-disable-next-line no-unmodified-loop-condition\n    while (counts !== undefined && ++rereferenceIndex <= counts) {\n      if (backReferences.length > 0) {\n        backReferences.push({type: 'text', value: ' '})\n      }\n\n      let children =\n        typeof footnoteBackContent === 'string'\n          ? footnoteBackContent\n          : footnoteBackContent(referenceIndex, rereferenceIndex)\n\n      if (typeof children === 'string') {\n        children = {type: 'text', value: children}\n      }\n\n      backReferences.push({\n        type: 'element',\n        tagName: 'a',\n        properties: {\n          href:\n            '#' +\n            clobberPrefix +\n            'fnref-' +\n            safeId +\n            (rereferenceIndex > 1 ? '-' + rereferenceIndex : ''),\n          dataFootnoteBackref: '',\n          ariaLabel:\n            typeof footnoteBackLabel === 'string'\n              ? footnoteBackLabel\n              : footnoteBackLabel(referenceIndex, rereferenceIndex),\n          className: ['data-footnote-backref']\n        },\n        children: Array.isArray(children) ? children : [children]\n      })\n    }\n\n    const tail = content[content.length - 1]\n\n    if (tail && tail.type === 'element' && tail.tagName === 'p') {\n      const tailTail = tail.children[tail.children.length - 1]\n      if (tailTail && tailTail.type === 'text') {\n        tailTail.value += ' '\n      } else {\n        tail.children.push({type: 'text', value: ' '})\n      }\n\n      tail.children.push(...backReferences)\n    } else {\n      content.push(...backReferences)\n    }\n\n    /** @type {Element} */\n    const listItem = {\n      type: 'element',\n      tagName: 'li',\n      properties: {id: clobberPrefix + 'fn-' + safeId},\n      children: state.wrap(content, true)\n    }\n\n    state.patch(def, listItem)\n\n    listItems.push(listItem)\n  }\n\n  if (listItems.length === 0) {\n    return\n  }\n\n  return {\n    type: 'element',\n    tagName: 'section',\n    properties: {dataFootnotes: true, className: ['footnotes']},\n    children: [\n      {\n        type: 'element',\n        tagName: footnoteLabelTagName,\n        properties: {\n          ...structuredClone(footnoteLabelProperties),\n          id: 'footnote-label'\n        },\n        children: [{type: 'text', value: footnoteLabel}]\n      },\n      {type: 'text', value: '\\n'},\n      {\n        type: 'element',\n        tagName: 'ol',\n        properties: {},\n        children: state.wrap(listItems, true)\n      },\n      {type: 'text', value: '\\n'}\n    ]\n  }\n}\n","/**\n * @typedef {import('hast').Element} HastElement\n * @typedef {import('hast').ElementContent} HastElementContent\n * @typedef {import('hast').Nodes} HastNodes\n * @typedef {import('hast').Properties} HastProperties\n * @typedef {import('hast').RootContent} HastRootContent\n * @typedef {import('hast').Text} HastText\n *\n * @typedef {import('mdast').Definition} MdastDefinition\n * @typedef {import('mdast').FootnoteDefinition} MdastFootnoteDefinition\n * @typedef {import('mdast').Nodes} MdastNodes\n * @typedef {import('mdast').Parents} MdastParents\n *\n * @typedef {import('./footer.js').FootnoteBackContentTemplate} FootnoteBackContentTemplate\n * @typedef {import('./footer.js').FootnoteBackLabelTemplate} FootnoteBackLabelTemplate\n */\n\n/**\n * @callback Handler\n *   Handle a node.\n * @param {State} state\n *   Info passed around.\n * @param {any} node\n *   mdast node to handle.\n * @param {MdastParents | undefined} parent\n *   Parent of `node`.\n * @returns {Array | HastElementContent | undefined}\n *   hast node.\n *\n * @typedef {Partial>} Handlers\n *   Handle nodes.\n *\n * @typedef Options\n *   Configuration (optional).\n * @property {boolean | null | undefined} [allowDangerousHtml=false]\n *   Whether to persist raw HTML in markdown in the hast tree (default:\n *   `false`).\n * @property {string | null | undefined} [clobberPrefix='user-content-']\n *   Prefix to use before the `id` property on footnotes to prevent them from\n *   *clobbering* (default: `'user-content-'`).\n *\n *   Pass `''` for trusted markdown and when you are careful with\n *   polyfilling.\n *   You could pass a different prefix.\n *\n *   DOM clobbering is this:\n *\n *   ```html\n *   

\n * \n * ```\n *\n * The above example shows that elements are made available by browsers, by\n * their ID, on the `window` object.\n * This is a security risk because you might be expecting some other variable\n * at that place.\n * It can also break polyfills.\n * Using a prefix solves these problems.\n * @property {FootnoteBackContentTemplate | string | null | undefined} [footnoteBackContent]\n * Content of the backreference back to references (default: `defaultFootnoteBackContent`).\n *\n * The default value is:\n *\n * ```js\n * function defaultFootnoteBackContent(_, rereferenceIndex) {\n * const result = [{type: 'text', value: '↩'}]\n *\n * if (rereferenceIndex > 1) {\n * result.push({\n * type: 'element',\n * tagName: 'sup',\n * properties: {},\n * children: [{type: 'text', value: String(rereferenceIndex)}]\n * })\n * }\n *\n * return result\n * }\n * ```\n *\n * This content is used in the `a` element of each backreference (the `↩`\n * links).\n * @property {FootnoteBackLabelTemplate | string | null | undefined} [footnoteBackLabel]\n * Label to describe the backreference back to references (default:\n * `defaultFootnoteBackLabel`).\n *\n * The default value is:\n *\n * ```js\n * function defaultFootnoteBackLabel(referenceIndex, rereferenceIndex) {\n * return (\n * 'Back to reference ' +\n * (referenceIndex + 1) +\n * (rereferenceIndex > 1 ? '-' + rereferenceIndex : '')\n * )\n * }\n * ```\n *\n * Change it when the markdown is not in English.\n *\n * This label is used in the `ariaLabel` property on each backreference\n * (the `↩` links).\n * It affects users of assistive technology.\n * @property {string | null | undefined} [footnoteLabel='Footnotes']\n * Textual label to use for the footnotes section (default: `'Footnotes'`).\n *\n * Change it when the markdown is not in English.\n *\n * This label is typically hidden visually (assuming a `sr-only` CSS class\n * is defined that does that) and so affects screen readers only.\n * If you do have such a class, but want to show this section to everyone,\n * pass different properties with the `footnoteLabelProperties` option.\n * @property {HastProperties | null | undefined} [footnoteLabelProperties={className: ['sr-only']}]\n * Properties to use on the footnote label (default: `{className:\n * ['sr-only']}`).\n *\n * Change it to show the label and add other properties.\n *\n * This label is typically hidden visually (assuming an `sr-only` CSS class\n * is defined that does that) and so affects screen readers only.\n * If you do have such a class, but want to show this section to everyone,\n * pass an empty string.\n * You can also add different properties.\n *\n * > 👉 **Note**: `id: 'footnote-label'` is always added, because footnote\n * > calls use it with `aria-describedby` to provide an accessible label.\n * @property {string | null | undefined} [footnoteLabelTagName='h2']\n * HTML tag name to use for the footnote label element (default: `'h2'`).\n *\n * Change it to match your document structure.\n *\n * This label is typically hidden visually (assuming a `sr-only` CSS class\n * is defined that does that) and so affects screen readers only.\n * If you do have such a class, but want to show this section to everyone,\n * pass different properties with the `footnoteLabelProperties` option.\n * @property {Handlers | null | undefined} [handlers]\n * Extra handlers for nodes (optional).\n * @property {Array | null | undefined} [passThrough]\n * List of custom mdast node types to pass through (keep) in hast (note that\n * the node itself is passed, but eventual children are transformed)\n * (optional).\n * @property {Handler | null | undefined} [unknownHandler]\n * Handler for all unknown nodes (optional).\n *\n * @typedef State\n * Info passed around.\n * @property {(node: MdastNodes) => Array} all\n * Transform the children of an mdast parent to hast.\n * @property {(from: MdastNodes, to: Type) => HastElement | Type} applyData\n * Honor the `data` of `from`, and generate an element instead of `node`.\n * @property {Map} definitionById\n * Definitions by their identifier.\n * @property {Map} footnoteById\n * Footnote definitions by their identifier.\n * @property {Map} footnoteCounts\n * Counts for how often the same footnote was called.\n * @property {Array} footnoteOrder\n * Identifiers of order when footnote calls first appear in tree order.\n * @property {Handlers} handlers\n * Applied handlers.\n * @property {(node: MdastNodes, parent: MdastParents | undefined) => Array | HastElementContent | undefined} one\n * Transform an mdast node to hast.\n * @property {Options} options\n * Configuration.\n * @property {(from: MdastNodes, node: HastNodes) => undefined} patch\n * Copy a node’s positional info.\n * @property {(nodes: Array, loose?: boolean | undefined) => Array} wrap\n * Wrap `nodes` with line endings between each node, adds initial/final line endings when `loose`.\n */\n\nimport structuredClone from '@ungap/structured-clone'\nimport {visit} from 'unist-util-visit'\nimport {position} from 'unist-util-position'\nimport {handlers as defaultHandlers} from './handlers/index.js'\n\nconst own = {}.hasOwnProperty\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/**\n * Create `state` from an mdast tree.\n *\n * @param {MdastNodes} tree\n * mdast node to transform.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {State}\n * `state` function.\n */\nexport function createState(tree, options) {\n const settings = options || emptyOptions\n /** @type {Map} */\n const definitionById = new Map()\n /** @type {Map} */\n const footnoteById = new Map()\n /** @type {Map} */\n const footnoteCounts = new Map()\n /** @type {Handlers} */\n // @ts-expect-error: the root handler returns a root.\n // Hard to type.\n const handlers = {...defaultHandlers, ...settings.handlers}\n\n /** @type {State} */\n const state = {\n all,\n applyData,\n definitionById,\n footnoteById,\n footnoteCounts,\n footnoteOrder: [],\n handlers,\n one,\n options: settings,\n patch,\n wrap\n }\n\n visit(tree, function (node) {\n if (node.type === 'definition' || node.type === 'footnoteDefinition') {\n const map = node.type === 'definition' ? definitionById : footnoteById\n const id = String(node.identifier).toUpperCase()\n\n // Mimick CM behavior of link definitions.\n // See: .\n if (!map.has(id)) {\n // @ts-expect-error: node type matches map.\n map.set(id, node)\n }\n }\n })\n\n return state\n\n /**\n * Transform an mdast node into a hast node.\n *\n * @param {MdastNodes} node\n * mdast node.\n * @param {MdastParents | undefined} [parent]\n * Parent of `node`.\n * @returns {Array | HastElementContent | undefined}\n * Resulting hast node.\n */\n function one(node, parent) {\n const type = node.type\n const handle = state.handlers[type]\n\n if (own.call(state.handlers, type) && handle) {\n return handle(state, node, parent)\n }\n\n if (state.options.passThrough && state.options.passThrough.includes(type)) {\n if ('children' in node) {\n const {children, ...shallow} = node\n const result = structuredClone(shallow)\n // @ts-expect-error: TS doesn’t understand…\n result.children = state.all(node)\n // @ts-expect-error: TS doesn’t understand…\n return result\n }\n\n // @ts-expect-error: it’s custom.\n return structuredClone(node)\n }\n\n const unknown = state.options.unknownHandler || defaultUnknownHandler\n\n return unknown(state, node, parent)\n }\n\n /**\n * Transform the children of an mdast node into hast nodes.\n *\n * @param {MdastNodes} parent\n * mdast node to compile\n * @returns {Array}\n * Resulting hast nodes.\n */\n function all(parent) {\n /** @type {Array} */\n const values = []\n\n if ('children' in parent) {\n const nodes = parent.children\n let index = -1\n while (++index < nodes.length) {\n const result = state.one(nodes[index], parent)\n\n // To do: see if we van clean this? Can we merge texts?\n if (result) {\n if (index && nodes[index - 1].type === 'break') {\n if (!Array.isArray(result) && result.type === 'text') {\n result.value = trimMarkdownSpaceStart(result.value)\n }\n\n if (!Array.isArray(result) && result.type === 'element') {\n const head = result.children[0]\n\n if (head && head.type === 'text') {\n head.value = trimMarkdownSpaceStart(head.value)\n }\n }\n }\n\n if (Array.isArray(result)) {\n values.push(...result)\n } else {\n values.push(result)\n }\n }\n }\n }\n\n return values\n }\n}\n\n/**\n * Copy a node’s positional info.\n *\n * @param {MdastNodes} from\n * mdast node to copy from.\n * @param {HastNodes} to\n * hast node to copy into.\n * @returns {undefined}\n * Nothing.\n */\nfunction patch(from, to) {\n if (from.position) to.position = position(from)\n}\n\n/**\n * Honor the `data` of `from` and maybe generate an element instead of `to`.\n *\n * @template {HastNodes} Type\n * Node type.\n * @param {MdastNodes} from\n * mdast node to use data from.\n * @param {Type} to\n * hast node to change.\n * @returns {HastElement | Type}\n * Nothing.\n */\nfunction applyData(from, to) {\n /** @type {HastElement | Type} */\n let result = to\n\n // Handle `data.hName`, `data.hProperties, `data.hChildren`.\n if (from && from.data) {\n const hName = from.data.hName\n const hChildren = from.data.hChildren\n const hProperties = from.data.hProperties\n\n if (typeof hName === 'string') {\n // Transforming the node resulted in an element with a different name\n // than wanted:\n if (result.type === 'element') {\n result.tagName = hName\n }\n // Transforming the node resulted in a non-element, which happens for\n // raw, text, and root nodes (unless custom handlers are passed).\n // The intent of `hName` is to create an element, but likely also to keep\n // the content around (otherwise: pass `hChildren`).\n else {\n /** @type {Array} */\n // @ts-expect-error: assume no doctypes in `root`.\n const children = 'children' in result ? result.children : [result]\n result = {type: 'element', tagName: hName, properties: {}, children}\n }\n }\n\n if (result.type === 'element' && hProperties) {\n Object.assign(result.properties, structuredClone(hProperties))\n }\n\n if (\n 'children' in result &&\n result.children &&\n hChildren !== null &&\n hChildren !== undefined\n ) {\n result.children = hChildren\n }\n }\n\n return result\n}\n\n/**\n * Transform an unknown node.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdastNodes} node\n * Unknown mdast node.\n * @returns {HastElement | HastText}\n * Resulting hast node.\n */\nfunction defaultUnknownHandler(state, node) {\n const data = node.data || {}\n /** @type {HastElement | HastText} */\n const result =\n 'value' in node &&\n !(own.call(data, 'hProperties') || own.call(data, 'hChildren'))\n ? {type: 'text', value: node.value}\n : {\n type: 'element',\n tagName: 'div',\n properties: {},\n children: state.all(node)\n }\n\n state.patch(node, result)\n return state.applyData(node, result)\n}\n\n/**\n * Wrap `nodes` with line endings between each node.\n *\n * @template {HastRootContent} Type\n * Node type.\n * @param {Array} nodes\n * List of nodes to wrap.\n * @param {boolean | undefined} [loose=false]\n * Whether to add line endings at start and end (default: `false`).\n * @returns {Array}\n * Wrapped nodes.\n */\nexport function wrap(nodes, loose) {\n /** @type {Array} */\n const result = []\n let index = -1\n\n if (loose) {\n result.push({type: 'text', value: '\\n'})\n }\n\n while (++index < nodes.length) {\n if (index) result.push({type: 'text', value: '\\n'})\n result.push(nodes[index])\n }\n\n if (loose && nodes.length > 0) {\n result.push({type: 'text', value: '\\n'})\n }\n\n return result\n}\n\n/**\n * Trim spaces and tabs at the start of `value`.\n *\n * @param {string} value\n * Value to trim.\n * @returns {string}\n * Result.\n */\nfunction trimMarkdownSpaceStart(value) {\n let index = 0\n let code = value.charCodeAt(index)\n\n while (code === 9 || code === 32) {\n index++\n code = value.charCodeAt(index)\n }\n\n return value.slice(index)\n}\n","/**\n * @typedef {import('hast').Nodes} HastNodes\n * @typedef {import('mdast').Nodes} MdastNodes\n * @typedef {import('./state.js').Options} Options\n */\n\nimport {ok as assert} from 'devlop'\nimport {footer} from './footer.js'\nimport {createState} from './state.js'\n\n/**\n * Transform mdast to hast.\n *\n * ##### Notes\n *\n * ###### HTML\n *\n * Raw HTML is available in mdast as `html` nodes and can be embedded in hast\n * as semistandard `raw` nodes.\n * Most utilities ignore `raw` nodes but two notable ones don’t:\n *\n * * `hast-util-to-html` also has an option `allowDangerousHtml` which will\n * output the raw HTML.\n * This is typically discouraged as noted by the option name but is useful\n * if you completely trust authors\n * * `hast-util-raw` can handle the raw embedded HTML strings by parsing them\n * into standard hast nodes (`element`, `text`, etc).\n * This is a heavy task as it needs a full HTML parser, but it is the only\n * way to support untrusted content\n *\n * ###### Footnotes\n *\n * Many options supported here relate to footnotes.\n * Footnotes are not specified by CommonMark, which we follow by default.\n * They are supported by GitHub, so footnotes can be enabled in markdown with\n * `mdast-util-gfm`.\n *\n * The options `footnoteBackLabel` and `footnoteLabel` define natural language\n * that explains footnotes, which is hidden for sighted users but shown to\n * assistive technology.\n * When your page is not in English, you must define translated values.\n *\n * Back references use ARIA attributes, but the section label itself uses a\n * heading that is hidden with an `sr-only` class.\n * To show it to sighted users, define different attributes in\n * `footnoteLabelProperties`.\n *\n * ###### Clobbering\n *\n * Footnotes introduces a problem, as it links footnote calls to footnote\n * definitions on the page through `id` attributes generated from user content,\n * which results in DOM clobbering.\n *\n * DOM clobbering is this:\n *\n * ```html\n *

\n * \n * ```\n *\n * Elements by their ID are made available by browsers on the `window` object,\n * which is a security risk.\n * Using a prefix solves this problem.\n *\n * More information on how to handle clobbering and the prefix is explained in\n * Example: headings (DOM clobbering) in `rehype-sanitize`.\n *\n * ###### Unknown nodes\n *\n * Unknown nodes are nodes with a type that isn’t in `handlers` or `passThrough`.\n * The default behavior for unknown nodes is:\n *\n * * when the node has a `value` (and doesn’t have `data.hName`,\n * `data.hProperties`, or `data.hChildren`, see later), create a hast `text`\n * node\n * * otherwise, create a `
` element (which could be changed with\n * `data.hName`), with its children mapped from mdast to hast as well\n *\n * This behavior can be changed by passing an `unknownHandler`.\n *\n * @param {MdastNodes} tree\n * mdast tree.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {HastNodes}\n * hast tree.\n */\nexport function toHast(tree, options) {\n const state = createState(tree, options)\n const node = state.one(tree, undefined)\n const foot = footer(state)\n /** @type {HastNodes} */\n const result = Array.isArray(node)\n ? {type: 'root', children: node}\n : node || {type: 'root', children: []}\n\n if (foot) {\n // If there’s a footer, there were definitions, meaning block\n // content.\n // So `result` is a parent node.\n assert('children' in result)\n result.children.push({type: 'text', value: '\\n'}, foot)\n }\n\n return result\n}\n","// Include `data` fields in mdast and `raw` nodes in hast.\n/// \n\n/**\n * @typedef {import('hast').Root} HastRoot\n * @typedef {import('mdast').Root} MdastRoot\n * @typedef {import('mdast-util-to-hast').Options} Options\n * @typedef {import('unified').Processor} Processor\n * @typedef {import('vfile').VFile} VFile\n */\n\n/**\n * @callback TransformBridge\n * Bridge-mode.\n *\n * Runs the destination with the new hast tree.\n * Discards result.\n * @param {MdastRoot} tree\n * Tree.\n * @param {VFile} file\n * File.\n * @returns {Promise}\n * Nothing.\n *\n * @callback TransformMutate\n * Mutate-mode.\n *\n * Further transformers run on the hast tree.\n * @param {MdastRoot} tree\n * Tree.\n * @param {VFile} file\n * File.\n * @returns {HastRoot}\n * Tree (hast).\n */\n\nimport {toHast} from 'mdast-util-to-hast'\n\n/**\n * Turn markdown into HTML.\n *\n * ##### Notes\n *\n * ###### Signature\n *\n * * if a processor is given, runs the (rehype) plugins used on it with a\n * hast tree, then discards the result (*bridge mode*)\n * * otherwise, returns a hast tree, the plugins used after `remarkRehype`\n * are rehype plugins (*mutate mode*)\n *\n * > 👉 **Note**: It’s highly unlikely that you want to pass a `processor`.\n *\n * ###### HTML\n *\n * Raw HTML is available in mdast as `html` nodes and can be embedded in hast\n * as semistandard `raw` nodes.\n * Most plugins ignore `raw` nodes but two notable ones don’t:\n *\n * * `rehype-stringify` also has an option `allowDangerousHtml` which will\n * output the raw HTML.\n * This is typically discouraged as noted by the option name but is useful if\n * you completely trust authors\n * * `rehype-raw` can handle the raw embedded HTML strings by parsing them\n * into standard hast nodes (`element`, `text`, etc).\n * This is a heavy task as it needs a full HTML parser, but it is the only way\n * to support untrusted content\n *\n * ###### Footnotes\n *\n * Many options supported here relate to footnotes.\n * Footnotes are not specified by CommonMark, which we follow by default.\n * They are supported by GitHub, so footnotes can be enabled in markdown with\n * `remark-gfm`.\n *\n * The options `footnoteBackLabel` and `footnoteLabel` define natural language\n * that explains footnotes, which is hidden for sighted users but shown to\n * assistive technology.\n * When your page is not in English, you must define translated values.\n *\n * Back references use ARIA attributes, but the section label itself uses a\n * heading that is hidden with an `sr-only` class.\n * To show it to sighted users, define different attributes in\n * `footnoteLabelProperties`.\n *\n * ###### Clobbering\n *\n * Footnotes introduces a problem, as it links footnote calls to footnote\n * definitions on the page through `id` attributes generated from user content,\n * which results in DOM clobbering.\n *\n * DOM clobbering is this:\n *\n * ```html\n *

\n * \n * ```\n *\n * Elements by their ID are made available by browsers on the `window` object,\n * which is a security risk.\n * Using a prefix solves this problem.\n *\n * More information on how to handle clobbering and the prefix is explained in\n * *Example: headings (DOM clobbering)* in `rehype-sanitize`.\n *\n * ###### Unknown nodes\n *\n * Unknown nodes are nodes with a type that isn’t in `handlers` or `passThrough`.\n * The default behavior for unknown nodes is:\n *\n * * when the node has a `value` (and doesn’t have `data.hName`,\n * `data.hProperties`, or `data.hChildren`, see later), create a hast `text`\n * node\n * * otherwise, create a `
` element (which could be changed with\n * `data.hName`), with its children mapped from mdast to hast as well\n *\n * This behavior can be changed by passing an `unknownHandler`.\n *\n * @overload\n * @param {Processor} processor\n * @param {Readonly | null | undefined} [options]\n * @returns {TransformBridge}\n *\n * @overload\n * @param {Readonly | null | undefined} [options]\n * @returns {TransformMutate}\n *\n * @param {Readonly | Processor | null | undefined} [destination]\n * Processor or configuration (optional).\n * @param {Readonly | null | undefined} [options]\n * When a processor was given, configuration (optional).\n * @returns {TransformBridge | TransformMutate}\n * Transform.\n */\nexport default function remarkRehype(destination, options) {\n if (destination && 'run' in destination) {\n /**\n * @type {TransformBridge}\n */\n return async function (tree, file) {\n // Cast because root in -> root out.\n const hastTree = /** @type {HastRoot} */ (toHast(tree, options))\n await destination.run(hastTree, file)\n }\n }\n\n /**\n * @type {TransformMutate}\n */\n return function (tree) {\n // Cast because root in -> root out.\n return /** @type {HastRoot} */ (toHast(tree, options || destination))\n }\n}\n","/**\n * @typedef {import('./info.js').Info} Info\n * @typedef {Record} Properties\n * @typedef {Record} Normal\n */\n\nexport class Schema {\n /**\n * @constructor\n * @param {Properties} property\n * @param {Normal} normal\n * @param {string} [space]\n */\n constructor(property, normal, space) {\n this.property = property\n this.normal = normal\n if (space) {\n this.space = space\n }\n }\n}\n\n/** @type {Properties} */\nSchema.prototype.property = {}\n/** @type {Normal} */\nSchema.prototype.normal = {}\n/** @type {string|null} */\nSchema.prototype.space = null\n","/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n */\n\nimport {Schema} from './schema.js'\n\n/**\n * @param {Schema[]} definitions\n * @param {string} [space]\n * @returns {Schema}\n */\nexport function merge(definitions, space) {\n /** @type {Properties} */\n const property = {}\n /** @type {Normal} */\n const normal = {}\n let index = -1\n\n while (++index < definitions.length) {\n Object.assign(property, definitions[index].property)\n Object.assign(normal, definitions[index].normal)\n }\n\n return new Schema(property, normal, space)\n}\n","// http://www.w3.org/TR/CSS21/grammar.html\n// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027\nvar COMMENT_REGEX = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\n\nvar NEWLINE_REGEX = /\\n/g;\nvar WHITESPACE_REGEX = /^\\s*/;\n\n// declaration\nvar PROPERTY_REGEX = /^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/;\nvar COLON_REGEX = /^:\\s*/;\nvar VALUE_REGEX = /^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/;\nvar SEMICOLON_REGEX = /^[;\\s]*/;\n\n// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill\nvar TRIM_REGEX = /^\\s+|\\s+$/g;\n\n// strings\nvar NEWLINE = '\\n';\nvar FORWARD_SLASH = '/';\nvar ASTERISK = '*';\nvar EMPTY_STRING = '';\n\n// types\nvar TYPE_COMMENT = 'comment';\nvar TYPE_DECLARATION = 'declaration';\n\n/**\n * @param {String} style\n * @param {Object} [options]\n * @return {Object[]}\n * @throws {TypeError}\n * @throws {Error}\n */\nmodule.exports = function(style, options) {\n if (typeof style !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n\n if (!style) return [];\n\n options = options || {};\n\n /**\n * Positional.\n */\n var lineno = 1;\n var column = 1;\n\n /**\n * Update lineno and column based on `str`.\n *\n * @param {String} str\n */\n function updatePosition(str) {\n var lines = str.match(NEWLINE_REGEX);\n if (lines) lineno += lines.length;\n var i = str.lastIndexOf(NEWLINE);\n column = ~i ? str.length - i : column + str.length;\n }\n\n /**\n * Mark position and patch `node.position`.\n *\n * @return {Function}\n */\n function position() {\n var start = { line: lineno, column: column };\n return function(node) {\n node.position = new Position(start);\n whitespace();\n return node;\n };\n }\n\n /**\n * Store position information for a node.\n *\n * @constructor\n * @property {Object} start\n * @property {Object} end\n * @property {undefined|String} source\n */\n function Position(start) {\n this.start = start;\n this.end = { line: lineno, column: column };\n this.source = options.source;\n }\n\n /**\n * Non-enumerable source string.\n */\n Position.prototype.content = style;\n\n var errorsList = [];\n\n /**\n * Error `msg`.\n *\n * @param {String} msg\n * @throws {Error}\n */\n function error(msg) {\n var err = new Error(\n options.source + ':' + lineno + ':' + column + ': ' + msg\n );\n err.reason = msg;\n err.filename = options.source;\n err.line = lineno;\n err.column = column;\n err.source = style;\n\n if (options.silent) {\n errorsList.push(err);\n } else {\n throw err;\n }\n }\n\n /**\n * Match `re` and return captures.\n *\n * @param {RegExp} re\n * @return {undefined|Array}\n */\n function match(re) {\n var m = re.exec(style);\n if (!m) return;\n var str = m[0];\n updatePosition(str);\n style = style.slice(str.length);\n return m;\n }\n\n /**\n * Parse whitespace.\n */\n function whitespace() {\n match(WHITESPACE_REGEX);\n }\n\n /**\n * Parse comments.\n *\n * @param {Object[]} [rules]\n * @return {Object[]}\n */\n function comments(rules) {\n var c;\n rules = rules || [];\n while ((c = comment())) {\n if (c !== false) {\n rules.push(c);\n }\n }\n return rules;\n }\n\n /**\n * Parse comment.\n *\n * @return {Object}\n * @throws {Error}\n */\n function comment() {\n var pos = position();\n if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;\n\n var i = 2;\n while (\n EMPTY_STRING != style.charAt(i) &&\n (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))\n ) {\n ++i;\n }\n i += 2;\n\n if (EMPTY_STRING === style.charAt(i - 1)) {\n return error('End of comment missing');\n }\n\n var str = style.slice(2, i - 2);\n column += 2;\n updatePosition(str);\n style = style.slice(i);\n column += 2;\n\n return pos({\n type: TYPE_COMMENT,\n comment: str\n });\n }\n\n /**\n * Parse declaration.\n *\n * @return {Object}\n * @throws {Error}\n */\n function declaration() {\n var pos = position();\n\n // prop\n var prop = match(PROPERTY_REGEX);\n if (!prop) return;\n comment();\n\n // :\n if (!match(COLON_REGEX)) return error(\"property missing ':'\");\n\n // val\n var val = match(VALUE_REGEX);\n\n var ret = pos({\n type: TYPE_DECLARATION,\n property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),\n value: val\n ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING))\n : EMPTY_STRING\n });\n\n // ;\n match(SEMICOLON_REGEX);\n\n return ret;\n }\n\n /**\n * Parse declarations.\n *\n * @return {Object[]}\n */\n function declarations() {\n var decls = [];\n\n comments(decls);\n\n // declarations\n var decl;\n while ((decl = declaration())) {\n if (decl !== false) {\n decls.push(decl);\n comments(decls);\n }\n }\n\n return decls;\n }\n\n whitespace();\n return declarations();\n};\n\n/**\n * Trim `str`.\n *\n * @param {String} str\n * @return {String}\n */\nfunction trim(str) {\n return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;\n}\n","var parse = require('inline-style-parser');\n\n/**\n * Parses inline style to object.\n *\n * @example\n * // returns { 'line-height': '42' }\n * StyleToObject('line-height: 42;');\n *\n * @param {String} style - The inline style.\n * @param {Function} [iterator] - The iterator function.\n * @return {null|Object}\n */\nfunction StyleToObject(style, iterator) {\n var output = null;\n if (!style || typeof style !== 'string') {\n return output;\n }\n\n var declaration;\n var declarations = parse(style);\n var hasIterator = typeof iterator === 'function';\n var property;\n var value;\n\n for (var i = 0, len = declarations.length; i < len; i++) {\n declaration = declarations[i];\n property = declaration.property;\n value = declaration.value;\n\n if (hasIterator) {\n iterator(property, value, declaration);\n } else if (value) {\n output || (output = {});\n output[property] = value;\n }\n }\n\n return output;\n}\n\nmodule.exports = StyleToObject;\nmodule.exports.default = StyleToObject; // ESM support\n","/**\n * Map of web namespaces.\n *\n * @type {Record}\n */\nexport const webNamespaces = {\n html: 'http://www.w3.org/1999/xhtml',\n mathml: 'http://www.w3.org/1998/Math/MathML',\n svg: 'http://www.w3.org/2000/svg',\n xlink: 'http://www.w3.org/1999/xlink',\n xml: 'http://www.w3.org/XML/1998/namespace',\n xmlns: 'http://www.w3.org/2000/xmlns/'\n}\n","/**\n * @typedef {import('property-information').Schema} Schema\n * @typedef {import('hast').Content} Content\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Root} Root\n */\n\n/**\n * @typedef {Root | Content} Node\n *\n * @callback CreateElementLike\n * Function that works somewhat like `React.createElement`.\n * @param {string} name\n * Element name.\n * @param {any} attributes\n * Properties.\n * @param {Array} [children]\n * Children.\n * @returns {any}\n * Something.\n *\n * @typedef State\n * Info passed around.\n * @property {Schema} schema\n * Current schema.\n * @property {string | undefined} prefix\n * Prefix to use.\n * @property {number} key\n * Current key.\n * @property {boolean} react\n * Looks like React.\n * @property {boolean} vue\n * Looks like Vue.\n * @property {boolean} vdom\n * Looks like vdom.\n * @property {boolean} hyperscript\n * Looks like `hyperscript`.\n *\n * @typedef Options\n * Configuration.\n * @property {string | null | undefined} [prefix]\n * Prefix to use as a prefix for keys passed in `props` to `h()`, this\n * behavior is turned off by passing `false` and turned on by passing a\n * `string`.\n * By default, `h-` is used as a prefix if the given `h` is detected as being\n * `virtual-dom/h` or `React.createElement`\n * @property {'html' | 'svg' | null | undefined} [space]\n * Whether `node` is in the `'html'` or `'svg'` space.\n * If an `` element is found when inside the HTML space, `toH`\n * automatically switches to the SVG space when entering the element, and\n * switches back when exiting.\n */\n\nimport {html, svg, find, hastToReact} from 'property-information'\nimport {stringify as spaces} from 'space-separated-tokens'\nimport {stringify as commas} from 'comma-separated-tokens'\nimport styleToObject from 'style-to-object'\nimport {webNamespaces} from 'web-namespaces'\n\nconst own = {}.hasOwnProperty\n\n/**\n * @template {CreateElementLike} H\n * Type of hyperscript function.\n * @param {H} h\n * HyperScript function.\n * @param {Node} tree\n * Tree to transform.\n * @param {string | boolean | Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {ReturnType}\n * Return type of the hyperscript function.\n */\n// eslint-disable-next-line complexity\nexport function toH(h, tree, options) {\n if (typeof h !== 'function') {\n throw new TypeError('h is not a function')\n }\n\n const r = react(h)\n const v = vue(h)\n const vd = vdom(h)\n /** @type {string|boolean|null|undefined} */\n let prefix\n /** @type {Element} */\n let node\n\n if (typeof options === 'string' || typeof options === 'boolean') {\n prefix = options\n options = {}\n } else {\n if (!options) options = {}\n prefix = options.prefix\n }\n\n if (tree && tree.type === 'root') {\n const head = tree.children[0]\n // @ts-expect-error Allow `doctypes` in there, we’ll filter them out later.\n node =\n tree.children.length === 1 && head.type === 'element'\n ? head\n : {\n type: 'element',\n tagName: 'div',\n properties: {},\n children: tree.children\n }\n } else if (tree && tree.type === 'element') {\n node = tree\n } else {\n throw new Error(\n 'Expected root or element, not `' + ((tree && tree.type) || tree) + '`'\n )\n }\n\n return transform(h, node, {\n schema: options.space === 'svg' ? svg : html,\n prefix:\n prefix === undefined || prefix === null\n ? r || v || vd\n ? 'h-'\n : undefined\n : typeof prefix === 'string'\n ? prefix\n : prefix\n ? 'h-'\n : undefined,\n key: 0,\n react: r,\n vue: v,\n vdom: vd,\n hyperscript: hyperscript(h)\n })\n}\n\n/**\n * Transform a hast node through a hyperscript interface to *anything*!\n *\n * @template {CreateElementLike} H\n * Type of hyperscript function.\n * @param {H} h\n * HyperScript function.\n * @param {Element} node\n * Node to transform.\n * @param {State} state\n * Info passed around.\n * @returns {ReturnType}\n * Return type of the hyperscript function.\n */\nfunction transform(h, node, state) {\n const parentSchema = state.schema\n let schema = parentSchema\n let name = node.tagName\n /** @type {Record} */\n const attributes = {}\n /** @type {Array|string>} */\n const nodes = []\n let index = -1\n /** @type {string} */\n let key\n\n if (parentSchema.space === 'html' && name.toLowerCase() === 'svg') {\n schema = svg\n state.schema = schema\n }\n\n for (key in node.properties) {\n if (node.properties && own.call(node.properties, key)) {\n addAttribute(attributes, key, node.properties[key], state, name)\n }\n }\n\n if (state.vdom) {\n if (schema.space === 'html') {\n name = name.toUpperCase()\n } else if (schema.space) {\n attributes.namespace = webNamespaces[schema.space]\n }\n }\n\n if (state.prefix) {\n state.key++\n attributes.key = state.prefix + state.key\n }\n\n if (node.children) {\n while (++index < node.children.length) {\n const value = node.children[index]\n\n if (value.type === 'element') {\n nodes.push(transform(h, value, state))\n } else if (value.type === 'text') {\n nodes.push(value.value)\n }\n }\n }\n\n // Restore parent schema.\n state.schema = parentSchema\n\n // Ensure no React warnings are triggered for void elements having children\n // passed in.\n return nodes.length > 0\n ? h.call(node, name, attributes, nodes)\n : h.call(node, name, attributes)\n}\n\n/**\n * Add an attribute to `props`.\n *\n * @param {Record} props\n * Map.\n * @param {string} prop\n * Key.\n * @param {unknown} value\n * Value.\n * @param {State} state\n * Info passed around.\n * @param {string} name\n * Element name.\n * @returns {void}\n * Nothing.\n */\n// eslint-disable-next-line complexity, max-params\nfunction addAttribute(props, prop, value, state, name) {\n const info = find(state.schema, prop)\n /** @type {string | undefined} */\n let subprop\n\n // Ignore nullish and `NaN` values.\n // Ignore `false` and falsey known booleans for hyperlike DSLs.\n if (\n value === undefined ||\n value === null ||\n (typeof value === 'number' && Number.isNaN(value)) ||\n (value === false && (state.vue || state.vdom || state.hyperscript)) ||\n (!value && info.boolean && (state.vue || state.vdom || state.hyperscript))\n ) {\n return\n }\n\n if (Array.isArray(value)) {\n // Accept `array`.\n // Most props are space-separated.\n value = info.commaSeparated ? commas(value) : spaces(value)\n }\n\n // Treat `true` and truthy known booleans.\n if (info.boolean && state.hyperscript) {\n value = ''\n }\n\n // VDOM, Vue, and React accept `style` as object.\n if (\n info.property === 'style' &&\n typeof value === 'string' &&\n (state.react || state.vue || state.vdom)\n ) {\n value = parseStyle(value, name)\n }\n\n // Vue 3 (used in our tests) doesn’t need this anymore.\n // Some major in the future we can drop Vue 2 support.\n /* c8 ignore next 2 */\n if (state.vue) {\n if (info.property !== 'style') subprop = 'attrs'\n } else if (!info.mustUseProperty) {\n if (state.vdom) {\n if (info.property !== 'style') subprop = 'attributes'\n } else if (state.hyperscript) {\n subprop = 'attrs'\n }\n }\n\n if (subprop) {\n props[subprop] = Object.assign(props[subprop] || {}, {\n [info.attribute]: value\n })\n } else if (info.space && state.react) {\n props[hastToReact[info.property] || info.property] = value\n } else {\n props[info.attribute] = value\n }\n}\n\n/**\n * Check if `h` is `react.createElement`.\n *\n * @param {CreateElementLike} h\n * HyperScript function.\n * @returns {boolean}\n * Looks like React.\n */\nfunction react(h) {\n const node = /** @type {unknown} */ (h('div', {}))\n return Boolean(\n node &&\n // @ts-expect-error Looks like a React node.\n ('_owner' in node || '_store' in node) &&\n // @ts-expect-error Looks like a React node.\n (node.key === undefined || node.key === null)\n )\n}\n\n/**\n * Check if `h` is `hyperscript`.\n *\n * @param {CreateElementLike} h\n * HyperScript function.\n * @returns {boolean}\n * Looks like `hyperscript`.\n */\nfunction hyperscript(h) {\n return 'context' in h && 'cleanup' in h\n}\n\n/**\n * Check if `h` is `virtual-dom/h`.\n *\n * @param {CreateElementLike} h\n * HyperScript function.\n * @returns {boolean}\n * Looks like `virtual-dom`\n */\nfunction vdom(h) {\n const node = /** @type {unknown} */ (h('div', {}))\n // @ts-expect-error Looks like a vnode.\n return node.type === 'VirtualNode'\n}\n\n/**\n * Check if `h` is Vue.\n *\n * @param {CreateElementLike} h\n * HyperScript function.\n * @returns {boolean}\n * Looks like Vue.\n */\nfunction vue(h) {\n // Vue 3 (used in our tests) doesn’t need this anymore.\n // Some major in the future we can drop Vue 2 support.\n /* c8 ignore next 3 */\n const node = /** @type {unknown} */ (h('div', {}))\n // @ts-expect-error Looks like a Vue node.\n return Boolean(node && node.context && node.context._isVue)\n}\n\n/**\n * Parse a declaration into an object.\n *\n * @param {string} value\n * CSS declarations.\n * @param {string} tagName\n * Tag name.\n * @returns {Record}\n * Properties.\n */\nfunction parseStyle(value, tagName) {\n /** @type {Record} */\n const result = {}\n\n try {\n styleToObject(value, (name, value) => {\n if (name.slice(0, 4) === '-ms-') name = 'ms-' + name.slice(4)\n\n result[\n name.replace(\n /-([a-z])/g,\n /**\n * @param {string} _\n * @param {string} $1\n * @returns {string}\n */\n (_, $1) => $1.toUpperCase()\n )\n ] = value\n })\n } catch (error_) {\n const error = /** @type {Error} */ (error_)\n error.message =\n tagName + '[style]' + error.message.slice('undefined'.length)\n throw error\n }\n\n return result\n}\n","'use strict'\n\nmodule.exports = convert\n\nfunction convert(test) {\n if (typeof test === 'string') {\n return typeFactory(test)\n }\n\n if (test === null || test === undefined) {\n return ok\n }\n\n if (typeof test === 'object') {\n return ('length' in test ? anyFactory : matchesFactory)(test)\n }\n\n if (typeof test === 'function') {\n return test\n }\n\n throw new Error('Expected function, string, or object as test')\n}\n\nfunction convertAll(tests) {\n var results = []\n var length = tests.length\n var index = -1\n\n while (++index < length) {\n results[index] = convert(tests[index])\n }\n\n return results\n}\n\n// Utility assert each property in `test` is represented in `node`, and each\n// values are strictly equal.\nfunction matchesFactory(test) {\n return matches\n\n function matches(node) {\n var key\n\n for (key in test) {\n if (node[key] !== test[key]) {\n return false\n }\n }\n\n return true\n }\n}\n\nfunction anyFactory(tests) {\n var checks = convertAll(tests)\n var length = checks.length\n\n return matches\n\n function matches() {\n var index = -1\n\n while (++index < length) {\n if (checks[index].apply(this, arguments)) {\n return true\n }\n }\n\n return false\n }\n}\n\n// Utility to convert a string into a function which checks a given node’s type\n// for said string.\nfunction typeFactory(test) {\n return type\n\n function type(node) {\n return Boolean(node && node.type === test)\n }\n}\n\n// Utility to return true.\nfunction ok() {\n return true\n}\n","'use strict'\n\nmodule.exports = visitParents\n\nvar convert = require('unist-util-is/convert')\n\nvar CONTINUE = true\nvar SKIP = 'skip'\nvar EXIT = false\n\nvisitParents.CONTINUE = CONTINUE\nvisitParents.SKIP = SKIP\nvisitParents.EXIT = EXIT\n\nfunction visitParents(tree, test, visitor, reverse) {\n var is\n\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n visitor = test\n test = null\n }\n\n is = convert(test)\n\n one(tree, null, [])\n\n // Visit a single node.\n function one(node, index, parents) {\n var result = []\n var subresult\n\n if (!test || is(node, index, parents[parents.length - 1] || null)) {\n result = toResult(visitor(node, parents))\n\n if (result[0] === EXIT) {\n return result\n }\n }\n\n if (node.children && result[0] !== SKIP) {\n subresult = toResult(all(node.children, parents.concat(node)))\n return subresult[0] === EXIT ? subresult : result\n }\n\n return result\n }\n\n // Visit children in `parent`.\n function all(children, parents) {\n var min = -1\n var step = reverse ? -1 : 1\n var index = (reverse ? children.length : min) + step\n var result\n\n while (index > min && index < children.length) {\n result = one(children[index], index, parents)\n\n if (result[0] === EXIT) {\n return result\n }\n\n index = typeof result[1] === 'number' ? result[1] : index + step\n }\n }\n}\n\nfunction toResult(value) {\n if (value !== null && typeof value === 'object' && 'length' in value) {\n return value\n }\n\n if (typeof value === 'number') {\n return [CONTINUE, value]\n }\n\n return [value]\n}\n","'use strict'\n\nmodule.exports = visit\n\nvar visitParents = require('unist-util-visit-parents')\n\nvar CONTINUE = visitParents.CONTINUE\nvar SKIP = visitParents.SKIP\nvar EXIT = visitParents.EXIT\n\nvisit.CONTINUE = CONTINUE\nvisit.SKIP = SKIP\nvisit.EXIT = EXIT\n\nfunction visit(tree, test, visitor, reverse) {\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n visitor = test\n test = null\n }\n\n visitParents(tree, test, overload, reverse)\n\n function overload(node, parents) {\n var parent = parents[parents.length - 1]\n var index = parent ? parent.children.indexOf(node) : null\n return visitor(node, index, parent)\n }\n}\n","'use strict';\n\nvar visit = require('unist-util-visit');\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar hastCssPropertyMap = {\n align: 'text-align',\n valign: 'vertical-align',\n height: 'height',\n width: 'width',\n};\n\nmodule.exports = function tableCellStyle(node) {\n visit(node, 'element', visitor);\n return node;\n};\n\nfunction visitor(node) {\n if (node.tagName !== 'tr' && node.tagName !== 'td' && node.tagName !== 'th') {\n return;\n }\n\n var hastName;\n var cssName;\n for (hastName in hastCssPropertyMap) {\n if (\n !hasOwnProperty.call(hastCssPropertyMap, hastName) ||\n node.properties[hastName] === undefined\n ) {\n continue;\n }\n cssName = hastCssPropertyMap[hastName];\n appendStyle(node, cssName, node.properties[hastName]);\n delete node.properties[hastName];\n }\n}\n\nfunction appendStyle(node, property, value) {\n var prevStyle = (node.properties.style || '').trim();\n if (prevStyle && !/;\\s*/.test(prevStyle)) {\n prevStyle += ';';\n }\n if (prevStyle) {\n prevStyle += ' ';\n }\n var nextStyle = prevStyle + property + ': ' + value + ';';\n node.properties.style = nextStyle;\n}\n","/**\n * Check if the given value is *inter-element whitespace*.\n *\n * @param {unknown} thing\n * Thing to check (typically `Node` or `string`).\n * @returns {boolean}\n * Whether the `value` is inter-element whitespace (`boolean`): consisting of\n * zero or more of space, tab (`\\t`), line feed (`\\n`), carriage return\n * (`\\r`), or form feed (`\\f`).\n * If a node is passed it must be a `Text` node, whose `value` field is\n * checked.\n */\nexport function whitespace(thing) {\n /** @type {string} */\n const value =\n // @ts-expect-error looks like a node.\n thing && typeof thing === 'object' && thing.type === 'text'\n ? // @ts-expect-error looks like a text.\n thing.value || ''\n : thing\n\n // HTML whitespace expression.\n // See .\n return typeof value === 'string' && value.replace(/[ \\t\\n\\f\\r]/g, '') === ''\n}\n","/**\n * @typedef {import('hast').Root} Root\n * @typedef {import('react').ReactNode} ReactNode\n * @typedef {import('react').ReactElement} ReactElement\n *\n * @callback CreateElementLike\n * @param {any} name\n * @param {any} props\n * @param {...ReactNode} children\n * @returns {ReactNode}\n *\n * @typedef SharedOptions\n * Base configuration (without `components`).\n * @property {CreateElementLike} createElement\n * How to create elements or components.\n * You should typically pass `React.createElement`.\n * @property {((props: any) => ReactNode)|undefined} [Fragment]\n * Create fragments instead of an outer `
` if available.\n * You should typically pass `React.Fragment`.\n * @property {string|undefined} [prefix='h-']\n * React key prefix.\n * @property {boolean|undefined} [fixTableCellAlign=true]\n * Fix obsolete align attributes on table cells by turning them\n * into inline styles.\n * Keep it on when working with markdown, turn it off when working\n * with markup for emails.\n * The default is `true`.\n *\n * @typedef {SharedOptions & (import('./complex-types').ComponentsWithNodeOptions|import('./complex-types').ComponentsWithoutNodeOptions)} Options\n * Configuration.\n */\n\nimport {toH} from 'hast-to-hyperscript'\n// @ts-expect-error: hush.\nimport tableCellStyle from '@mapbox/hast-util-table-cell-style'\nimport {whitespace} from 'hast-util-whitespace'\n\nconst own = {}.hasOwnProperty\nconst tableElements = new Set(['table', 'thead', 'tbody', 'tfoot', 'tr'])\n\n/**\n * Compile HTML to React nodes.\n *\n * > 👉 **Note**: this compiler returns a React node where compilers typically\n * > return `string`.\n * > When using `.stringify`, the result is such a React node.\n * > When using `.process` (or `.processSync`), the result is available at\n * > `file.result`.\n *\n * @this {import('unified').Processor}\n * @type {import('unified').Plugin<[Options], Root, ReactElement>}\n */\nexport default function rehypeReact(options) {\n if (!options || typeof options.createElement !== 'function') {\n throw new TypeError('createElement is not a function')\n }\n\n const createElement = options.createElement\n\n const fixTableCellAlign = options.fixTableCellAlign !== false\n\n Object.assign(this, {Compiler: compiler})\n\n /** @type {import('unified').CompilerFunction} */\n function compiler(node) {\n /** @type {ReactNode} */\n let result = toH(\n // @ts-expect-error: assume `name` is a known element.\n h,\n fixTableCellAlign ? tableCellStyle(node) : node,\n options.prefix\n )\n\n if (node.type === 'root') {\n // Invert .\n result =\n result &&\n typeof result === 'object' &&\n 'type' in result &&\n 'props' in result &&\n result.type === 'div' &&\n (node.children.length !== 1 || node.children[0].type !== 'element')\n ? // `children` does exist.\n // type-coverage:ignore-next-line\n result.props.children\n : [result]\n\n return createElement(options.Fragment || 'div', {}, result)\n }\n\n return result\n }\n\n /**\n * @param {keyof JSX.IntrinsicElements} name\n * @param {Record} props\n * @param {Array} [children]\n * @returns {ReactNode}\n */\n function h(name, props, children) {\n // Currently, a warning is triggered by react for *any* white space in\n // tables.\n // So we remove the pretty lines for now.\n // See: .\n // See: .\n // See: .\n // See: .\n // See: .\n // See: .\n if (children && tableElements.has(name)) {\n children = children.filter((child) => !whitespace(child))\n }\n\n if (options.components && own.call(options.components, name)) {\n const component = options.components[name]\n\n if (options.passNode && typeof component === 'function') {\n // @ts-expect-error: `toH` passes the current node.\n // type-coverage:ignore-next-line\n props = Object.assign({node: this}, props)\n }\n\n return createElement(component, props, children)\n }\n\n return createElement(name, props, children)\n }\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Parents} Parents\n */\n\n/**\n * @template Fn\n * @template Fallback\n * @typedef {Fn extends (value: any) => value is infer Thing ? Thing : Fallback} Predicate\n */\n\n/**\n * @callback Check\n * Check that an arbitrary value is an element.\n * @param {unknown} this\n * Context object (`this`) to call `test` with\n * @param {unknown} [element]\n * Anything (typically a node).\n * @param {number | null | undefined} [index]\n * Position of `element` in its parent.\n * @param {Parents | null | undefined} [parent]\n * Parent of `element`.\n * @returns {boolean}\n * Whether this is an element and passes a test.\n *\n * @typedef {Array | TestFunction | string | null | undefined} Test\n * Check for an arbitrary element.\n *\n * * when `string`, checks that the element has that tag name\n * * when `function`, see `TestFunction`\n * * when `Array`, checks if one of the subtests pass\n *\n * @callback TestFunction\n * Check if an element passes a test.\n * @param {unknown} this\n * The given context.\n * @param {Element} element\n * An element.\n * @param {number | undefined} [index]\n * Position of `element` in its parent.\n * @param {Parents | undefined} [parent]\n * Parent of `element`.\n * @returns {boolean | undefined | void}\n * Whether this element passes the test.\n *\n * Note: `void` is included until TS sees no return as `undefined`.\n */\n\n/**\n * Check if `element` is an `Element` and whether it passes the given test.\n *\n * @param element\n * Thing to check, typically `element`.\n * @param test\n * Check for a specific element.\n * @param index\n * Position of `element` in its parent.\n * @param parent\n * Parent of `element`.\n * @param context\n * Context object (`this`) to call `test` with.\n * @returns\n * Whether `element` is an `Element` and passes a test.\n * @throws\n * When an incorrect `test`, `index`, or `parent` is given; there is no error\n * thrown when `element` is not a node or not an element.\n */\nexport const isElement =\n // Note: overloads in JSDoc can’t yet use different `@template`s.\n /**\n * @type {(\n * ((element: unknown, test: Condition, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element & Predicate) &\n * ((element: unknown, test: Condition, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element & {tagName: Condition}) &\n * ((element?: null | undefined) => false) &\n * ((element: unknown, test?: null | undefined, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element) &\n * ((element: unknown, test?: Test, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => boolean)\n * )}\n */\n (\n /**\n * @param {unknown} [element]\n * @param {Test | undefined} [test]\n * @param {number | null | undefined} [index]\n * @param {Parents | null | undefined} [parent]\n * @param {unknown} [context]\n * @returns {boolean}\n */\n // eslint-disable-next-line max-params\n function (element, test, index, parent, context) {\n const check = convertElement(test)\n\n if (\n index !== null &&\n index !== undefined &&\n (typeof index !== 'number' ||\n index < 0 ||\n index === Number.POSITIVE_INFINITY)\n ) {\n throw new Error('Expected positive finite `index`')\n }\n\n if (\n parent !== null &&\n parent !== undefined &&\n (!parent.type || !parent.children)\n ) {\n throw new Error('Expected valid `parent`')\n }\n\n if (\n (index === null || index === undefined) !==\n (parent === null || parent === undefined)\n ) {\n throw new Error('Expected both `index` and `parent`')\n }\n\n return looksLikeAnElement(element)\n ? check.call(context, element, index, parent)\n : false\n }\n )\n\n/**\n * Generate a check from a test.\n *\n * Useful if you’re going to test many nodes, for example when creating a\n * utility where something else passes a compatible test.\n *\n * The created function is a bit faster because it expects valid input only:\n * an `element`, `index`, and `parent`.\n *\n * @param test\n * A test for a specific element.\n * @returns\n * A check.\n */\nexport const convertElement =\n // Note: overloads in JSDoc can’t yet use different `@template`s.\n /**\n * @type {(\n * ((test: Condition) => (element: unknown, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element & Predicate) &\n * ((test: Condition) => (element: unknown, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element & {tagName: Condition}) &\n * ((test?: null | undefined) => (element?: unknown, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element) &\n * ((test?: Test) => Check)\n * )}\n */\n (\n /**\n * @param {Test | null | undefined} [test]\n * @returns {Check}\n */\n function (test) {\n if (test === null || test === undefined) {\n return element\n }\n\n if (typeof test === 'string') {\n return tagNameFactory(test)\n }\n\n // Assume array.\n if (typeof test === 'object') {\n return anyFactory(test)\n }\n\n if (typeof test === 'function') {\n return castFactory(test)\n }\n\n throw new Error('Expected function, string, or array as `test`')\n }\n )\n\n/**\n * Handle multiple tests.\n *\n * @param {Array} tests\n * @returns {Check}\n */\nfunction anyFactory(tests) {\n /** @type {Array} */\n const checks = []\n let index = -1\n\n while (++index < tests.length) {\n checks[index] = convertElement(tests[index])\n }\n\n return castFactory(any)\n\n /**\n * @this {unknown}\n * @type {TestFunction}\n */\n function any(...parameters) {\n let index = -1\n\n while (++index < checks.length) {\n if (checks[index].apply(this, parameters)) return true\n }\n\n return false\n }\n}\n\n/**\n * Turn a string into a test for an element with a certain type.\n *\n * @param {string} check\n * @returns {Check}\n */\nfunction tagNameFactory(check) {\n return castFactory(tagName)\n\n /**\n * @param {Element} element\n * @returns {boolean}\n */\n function tagName(element) {\n return element.tagName === check\n }\n}\n\n/**\n * Turn a custom test into a test for an element that passes that test.\n *\n * @param {TestFunction} testFunction\n * @returns {Check}\n */\nfunction castFactory(testFunction) {\n return check\n\n /**\n * @this {unknown}\n * @type {Check}\n */\n function check(value, index, parent) {\n return Boolean(\n looksLikeAnElement(value) &&\n testFunction.call(\n this,\n value,\n typeof index === 'number' ? index : undefined,\n parent || undefined\n )\n )\n }\n}\n\n/**\n * Make sure something is an element.\n *\n * @param {unknown} element\n * @returns {element is Element}\n */\nfunction element(element) {\n return Boolean(\n element &&\n typeof element === 'object' &&\n 'type' in element &&\n element.type === 'element' &&\n 'tagName' in element &&\n typeof element.tagName === 'string'\n )\n}\n\n/**\n * @param {unknown} value\n * @returns {value is Element}\n */\nfunction looksLikeAnElement(value) {\n return (\n value !== null &&\n typeof value === 'object' &&\n 'type' in value &&\n 'tagName' in value\n )\n}\n","// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1\n// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/;\n\n// Windows paths like `c:\\`\nconst WINDOWS_PATH_REGEX = /^[a-zA-Z]:\\\\/;\n\nexport default function isAbsoluteUrl(url) {\n\tif (typeof url !== 'string') {\n\t\tthrow new TypeError(`Expected a \\`string\\`, got \\`${typeof url}\\``);\n\t}\n\n\tif (WINDOWS_PATH_REGEX.test(url)) {\n\t\treturn false;\n\t}\n\n\treturn ABSOLUTE_URL_REGEX.test(url);\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast-util-is-element').Test} Test\n */\n\n/**\n * @callback CreateContent\n * Create a target for the element.\n * @param {Element} element\n * Element to check.\n * @returns {Array | ElementContent | null | undefined}\n * Content to add.\n *\n * @callback CreateProperties\n * Create properties for an element.\n * @param {Element} element\n * Element to check.\n * @returns {Properties | null | undefined}\n * Properties to add.\n *\n * @callback CreateRel\n * Create a `rel` for the element.\n * @param {Element} element\n * Element to check.\n * @returns {Array | string | null | undefined}\n * `rel` to use.\n *\n * @callback CreateTarget\n * Create a `target` for the element.\n * @param {Element} element\n * Element to check.\n * @returns {Target | null | undefined}\n * `target` to use.\n *\n * @typedef Options\n * Configuration.\n * @property {Array | CreateContent | ElementContent | null | undefined} [content]\n * Content to insert at the end of external links (optional); will be\n * inserted in a `` element; useful for improving accessibility by\n * giving users advanced warning when opening a new window.\n * @property {CreateProperties | Properties | null | undefined} [contentProperties]\n * Properties to add to the `span` wrapping `content` (optional).\n * @property {CreateProperties | Properties | null | undefined} [properties]\n * Properties to add to the link itself (optional).\n * @property {Array | null | undefined} [protocols=['http', 'https']]\n * Protocols to check, such as `mailto` or `tel` (default: `['http',\n * 'https']`).\n * @property {Array | CreateRel | string | null | undefined} [rel=['nofollow']]\n * Link types to hint about the referenced documents (default:\n * `['nofollow']`); pass an empty array (`[]`) to not set `rel`s on links;\n * when using a `target`, add `noopener` and `noreferrer` to avoid\n * exploitation of the `window.opener` API.\n * @property {CreateTarget | Target | null | undefined} [target]\n * How to display referenced documents; the default (nothing) is to not set\n * `target`s on links.\n * @property {Test | null | undefined} [test]\n * Extra test to define which external link elements are modified (optional);\n * any test that can be given to `hast-util-is-element` is supported.\n *\n * @typedef {'_blank' | '_parent' | '_self' | '_top'} Target\n * Target.\n */\n\nimport structuredClone from '@ungap/structured-clone'\nimport {convertElement} from 'hast-util-is-element'\nimport isAbsoluteUrl from 'is-absolute-url'\nimport {parse} from 'space-separated-tokens'\nimport {visit} from 'unist-util-visit'\n\nconst defaultProtocols = ['http', 'https']\nconst defaultRel = ['nofollow']\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/**\n * Automatically add `rel` (and `target`?) to external links.\n *\n * ###### Notes\n *\n * You should [likely not configure `target`][css-tricks].\n *\n * You should at least set `rel` to `['nofollow']`.\n * When using a `target`, add `noopener` and `noreferrer` to avoid exploitation\n * of the `window.opener` API.\n *\n * When using a `target`, you should set `content` to adhere to accessibility\n * guidelines by giving users advanced warning when opening a new window.\n *\n * [css-tricks]: https://css-tricks.com/use-target_blank/\n *\n * @param {Readonly | null | undefined} [options]\n * Configuration (optional).\n * @returns\n * Transform.\n */\nexport default function rehypeExternalLinks(options) {\n const settings = options || emptyOptions\n const protocols = settings.protocols || defaultProtocols\n const is = convertElement(settings.test)\n\n /**\n * Transform.\n *\n * @param {Root} tree\n * Tree.\n * @returns {undefined}\n * Nothing.\n */\n return function (tree) {\n visit(tree, 'element', function (node, index, parent) {\n if (\n node.tagName === 'a' &&\n typeof node.properties.href === 'string' &&\n is(node, index, parent)\n ) {\n const url = node.properties.href\n\n if (\n isAbsoluteUrl(url)\n ? protocols.includes(url.slice(0, url.indexOf(':')))\n : url.startsWith('//')\n ) {\n const contentRaw = createIfNeeded(settings.content, node)\n const content =\n contentRaw && !Array.isArray(contentRaw) ? [contentRaw] : contentRaw\n const relRaw = createIfNeeded(settings.rel, node) || defaultRel\n const rel = typeof relRaw === 'string' ? parse(relRaw) : relRaw\n const target = createIfNeeded(settings.target, node)\n\n const properties = createIfNeeded(settings.properties, node)\n\n if (properties) {\n Object.assign(node.properties, structuredClone(properties))\n }\n\n if (rel.length > 0) {\n node.properties.rel = [...rel]\n }\n\n if (target) {\n node.properties.target = target\n }\n\n if (content) {\n const properties =\n createIfNeeded(settings.contentProperties, node) || {}\n\n node.children.push({\n type: 'element',\n tagName: 'span',\n properties: structuredClone(properties),\n children: structuredClone(content)\n })\n }\n }\n }\n })\n }\n}\n\n/**\n * Call a function to get a return value or use the value.\n *\n * @template T\n * Type of value.\n * @param {T} value\n * Value.\n * @param {Element} element\n * Element.\n * @returns {T extends Function ? ReturnType : T}\n * Result.\n */\nfunction createIfNeeded(value, element) {\n return typeof value === 'function' ? value(element) : value\n}\n","import '../assets/NcRichText-li93TNBn.css';\nimport { ref } from \"vue\";\nimport { N as NcReferenceWidget } from \"./referencePickerModal-4kExxHbR.mjs\";\nimport { U as URL_PATTERN, p as parseUrl, r as remarkAutolink, g as getRoute } from \"./autolink-cbuFALXr.mjs\";\nimport axios from \"@nextcloud/axios\";\nimport { getSharingToken } from \"@nextcloud/sharing/public\";\nimport { getCurrentUser } from \"@nextcloud/auth\";\nimport { generateOcsUrl } from \"@nextcloud/router\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { N as NcCheckboxRadioSwitch } from \"./NcCheckboxRadioSwitch-VeztTzpz.mjs\";\nimport { visit, SKIP as SKIP$1, EXIT as EXIT$1 } from \"unist-util-visit\";\nimport { u } from \"unist-builder\";\nimport { G as GenRandomId } from \"./GenRandomId-CMooMQt0.mjs\";\nimport { unified } from \"unified\";\nimport remarkParse from \"remark-parse\";\nimport breaks from \"remark-breaks\";\nimport remarkUnlinkProtocols from \"remark-unlink-protocols\";\nimport remark2rehype from \"remark-rehype\";\nimport rehype2react from \"rehype-react\";\nimport rehypeExternalLinks from \"rehype-external-links\";\nimport { RouterLink } from \"vue-router\";\nconst _sfc_main$1 = {\n name: \"NcReferenceList\",\n components: {\n NcReferenceWidget\n },\n props: {\n text: {\n type: String,\n default: \"\"\n },\n referenceData: {\n type: Array,\n default: null\n },\n limit: {\n type: Number,\n default: 1\n },\n displayFallback: {\n type: Boolean,\n default: false\n },\n interactive: {\n type: Boolean,\n default: true\n },\n interactiveOptIn: {\n type: Boolean,\n default: false\n }\n },\n data() {\n return {\n references: null,\n loading: true\n };\n },\n computed: {\n isVisible() {\n return this.loading || this.displayedReferences.length !== 0;\n },\n values() {\n if (this.referenceData) {\n return this.referenceData;\n }\n if (this.displayFallback && !this.loading && !this.references) {\n return [this.fallbackReference];\n }\n return this.references ? Object.values(this.references) : [];\n },\n firstReference() {\n return this.values[0] ?? null;\n },\n displayedReferences() {\n return this.values.slice(0, this.limit);\n },\n fallbackReference() {\n return {\n accessible: true,\n openGraphObject: {\n id: this.text,\n link: this.text,\n name: this.text\n },\n richObjectType: \"open-graph\"\n };\n }\n },\n watch: {\n text: \"fetch\"\n },\n mounted() {\n this.fetch();\n },\n methods: {\n fetch() {\n this.loading = true;\n if (this.referenceData) {\n this.references = null;\n this.loading = false;\n return;\n }\n if (!new RegExp(URL_PATTERN).exec(this.text)) {\n this.references = null;\n this.loading = false;\n return;\n }\n this.resolve().then((response) => {\n this.references = response.data.ocs.data.references;\n this.loading = false;\n this.$emit(\"loaded\");\n }).catch((error) => {\n console.error(\"Failed to extract references\", error);\n this.loading = false;\n this.$emit(\"loaded\");\n });\n },\n resolve() {\n const match = new RegExp(URL_PATTERN).exec(this.text.trim());\n const isPublic = getCurrentUser() === null;\n if (this.limit === 1 && match) {\n return isPublic ? axios.get(generateOcsUrl(\"references/resolvePublic\") + `?reference=${encodeURIComponent(match[0])}&sharingToken=${getSharingToken()}`) : axios.get(generateOcsUrl(\"references/resolve\") + `?reference=${encodeURIComponent(match[0])}`);\n }\n return isPublic ? axios.post(generateOcsUrl(\"references/extractPublic\"), {\n text: this.text,\n resolve: true,\n limit: this.limit,\n sharingToken: getSharingToken()\n }) : axios.post(generateOcsUrl(\"references/extract\"), {\n text: this.text,\n resolve: true,\n limit: this.limit\n });\n }\n }\n};\nvar _sfc_render$1 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _vm.isVisible ? _c(\"div\", { staticClass: \"widgets--list\", class: { \"icon-loading\": _vm.loading } }, _vm._l(_vm.displayedReferences, function(reference) {\n return _c(\"NcReferenceWidget\", { key: reference?.openGraphObject?.id, attrs: { \"reference\": reference, \"interactive\": _vm.interactive, \"interactive-opt-in\": _vm.interactiveOptIn } });\n }), 1) : _vm._e();\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n \"ffdba753\"\n);\nconst NcReferenceList = __component__$1.exports;\nconst remarkPlaceholder = function() {\n return function(ast) {\n visit(ast, (node2) => node2.type === \"text\", visitor);\n function visitor(node2, index, parent) {\n const placeholders = node2.value.split(/(\\{[a-z\\-_.0-9]+\\})/ig).map((entry, index2, list2) => {\n const matches = entry.match(/^\\{([a-z\\-_.0-9]+)\\}$/i);\n if (!matches) {\n return u(\"text\", entry);\n }\n const [, component] = matches;\n return u(\"element\", {\n tagName: `#${component}`\n });\n });\n parent.children.splice(index, 1, ...placeholders);\n }\n };\n};\nconst prepareTextNode = ({ h, context }, text2) => {\n if (context.autolink) {\n text2 = parseUrl(text2);\n }\n if (Array.isArray(text2)) {\n return text2.map((entry) => {\n if (typeof entry === \"string\") {\n return entry;\n }\n const { component, props } = entry;\n const componentClass = component.name === \"NcLink\" ? void 0 : \"rich-text--component\";\n return h(component, {\n props,\n class: componentClass\n });\n });\n }\n return text2;\n};\nconst remarkUnescape = function() {\n return function(tree) {\n visit(\n tree,\n (node2) => [\"text\", \"code\", \"inlineCode\"].includes(node2.type),\n (node2, index, parent) => {\n parent.children.splice(index, 1, {\n ...node2,\n value: node2.value.replace(/</gmi, \"<\").replace(/>/gmi, \">\")\n });\n return [SKIP$1, index + 1];\n }\n );\n };\n};\nfunction ccount(value, character) {\n const source = String(value);\n if (typeof character !== \"string\") {\n throw new TypeError(\"Expected character\");\n }\n let count = 0;\n let index = source.indexOf(character);\n while (index !== -1) {\n count++;\n index = source.indexOf(character, index + character.length);\n }\n return count;\n}\nfunction ok$1() {\n}\nconst asciiAlpha = regexCheck(/[A-Za-z]/);\nconst asciiAlphanumeric = regexCheck(/[\\dA-Za-z]/);\nfunction asciiControl(code2) {\n return (\n // Special whitespace codes (which have negative values), C0 and Control\n // character DEL\n code2 !== null && (code2 < 32 || code2 === 127)\n );\n}\nfunction markdownLineEnding(code2) {\n return code2 !== null && code2 < -2;\n}\nfunction markdownLineEndingOrSpace(code2) {\n return code2 !== null && (code2 < 0 || code2 === 32);\n}\nfunction markdownSpace(code2) {\n return code2 === -2 || code2 === -1 || code2 === 32;\n}\nconst unicodePunctuation = regexCheck(new RegExp(\"\\\\p{P}|\\\\p{S}\", \"u\"));\nconst unicodeWhitespace = regexCheck(/\\s/);\nfunction regexCheck(regex) {\n return check;\n function check(code2) {\n return code2 !== null && code2 > -1 && regex.test(String.fromCharCode(code2));\n }\n}\nfunction escapeStringRegexp(string) {\n if (typeof string !== \"string\") {\n throw new TypeError(\"Expected a string\");\n }\n return string.replace(/[|\\\\{}()[\\]^$+*?.]/g, \"\\\\$&\").replace(/-/g, \"\\\\x2d\");\n}\nconst convert = (\n // Note: overloads in JSDoc can’t yet use different `@template`s.\n /**\n * @type {(\n * ((test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & {type: Condition}) &\n * ((test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Condition) &\n * ((test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Predicate) &\n * ((test?: null | undefined) => (node?: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node) &\n * ((test?: Test) => Check)\n * )}\n */\n /**\n * @param {Test} [test]\n * @returns {Check}\n */\n function(test) {\n if (test === null || test === void 0) {\n return ok;\n }\n if (typeof test === \"function\") {\n return castFactory(test);\n }\n if (typeof test === \"object\") {\n return Array.isArray(test) ? anyFactory(test) : propsFactory(test);\n }\n if (typeof test === \"string\") {\n return typeFactory(test);\n }\n throw new Error(\"Expected function, string, or object as test\");\n }\n);\nfunction anyFactory(tests) {\n const checks = [];\n let index = -1;\n while (++index < tests.length) {\n checks[index] = convert(tests[index]);\n }\n return castFactory(any);\n function any(...parameters) {\n let index2 = -1;\n while (++index2 < checks.length) {\n if (checks[index2].apply(this, parameters)) return true;\n }\n return false;\n }\n}\nfunction propsFactory(check) {\n const checkAsRecord = (\n /** @type {Record} */\n check\n );\n return castFactory(all2);\n function all2(node2) {\n const nodeAsRecord = (\n /** @type {Record} */\n /** @type {unknown} */\n node2\n );\n let key;\n for (key in check) {\n if (nodeAsRecord[key] !== checkAsRecord[key]) return false;\n }\n return true;\n }\n}\nfunction typeFactory(check) {\n return castFactory(type);\n function type(node2) {\n return node2 && node2.type === check;\n }\n}\nfunction castFactory(testFunction) {\n return check;\n function check(value, index, parent) {\n return Boolean(\n looksLikeANode(value) && testFunction.call(\n this,\n value,\n typeof index === \"number\" ? index : void 0,\n parent || void 0\n )\n );\n }\n}\nfunction ok() {\n return true;\n}\nfunction looksLikeANode(value) {\n return value !== null && typeof value === \"object\" && \"type\" in value;\n}\nfunction color(d) {\n return d;\n}\nconst empty = [];\nconst CONTINUE = true;\nconst EXIT = false;\nconst SKIP = \"skip\";\nfunction visitParents(tree, test, visitor, reverse) {\n let check;\n {\n check = test;\n }\n const is = convert(check);\n const step = 1;\n factory(tree, void 0, [])();\n function factory(node2, index, parents) {\n const value = (\n /** @type {Record} */\n node2 && typeof node2 === \"object\" ? node2 : {}\n );\n if (typeof value.type === \"string\") {\n const name = (\n // `hast`\n typeof value.tagName === \"string\" ? value.tagName : (\n // `xast`\n typeof value.name === \"string\" ? value.name : void 0\n )\n );\n Object.defineProperty(visit2, \"name\", {\n value: \"node (\" + color(node2.type + (name ? \"<\" + name + \">\" : \"\")) + \")\"\n });\n }\n return visit2;\n function visit2() {\n let result = empty;\n let subresult;\n let offset;\n let grandparents;\n if (is(node2, index, parents[parents.length - 1] || void 0)) {\n result = toResult(visitor(node2, parents));\n if (result[0] === EXIT) {\n return result;\n }\n }\n if (\"children\" in node2 && node2.children) {\n const nodeAsParent = (\n /** @type {UnistParent} */\n node2\n );\n if (nodeAsParent.children && result[0] !== SKIP) {\n offset = -1 + step;\n grandparents = parents.concat(nodeAsParent);\n while (offset > -1 && offset < nodeAsParent.children.length) {\n const child = nodeAsParent.children[offset];\n subresult = factory(child, offset, grandparents)();\n if (subresult[0] === EXIT) {\n return subresult;\n }\n offset = typeof subresult[1] === \"number\" ? subresult[1] : offset + step;\n }\n }\n }\n return result;\n }\n }\n}\nfunction toResult(value) {\n if (Array.isArray(value)) {\n return value;\n }\n if (typeof value === \"number\") {\n return [CONTINUE, value];\n }\n return value === null || value === void 0 ? empty : [value];\n}\nfunction findAndReplace(tree, list2, options) {\n const settings = options || {};\n const ignored = convert(settings.ignore || []);\n const pairs = toPairs(list2);\n let pairIndex = -1;\n while (++pairIndex < pairs.length) {\n visitParents(tree, \"text\", visitor);\n }\n function visitor(node2, parents) {\n let index = -1;\n let grandparent;\n while (++index < parents.length) {\n const parent = parents[index];\n const siblings = grandparent ? grandparent.children : void 0;\n if (ignored(\n parent,\n siblings ? siblings.indexOf(parent) : void 0,\n grandparent\n )) {\n return;\n }\n grandparent = parent;\n }\n if (grandparent) {\n return handler(node2, parents);\n }\n }\n function handler(node2, parents) {\n const parent = parents[parents.length - 1];\n const find = pairs[pairIndex][0];\n const replace2 = pairs[pairIndex][1];\n let start = 0;\n const siblings = parent.children;\n const index = siblings.indexOf(node2);\n let change = false;\n let nodes = [];\n find.lastIndex = 0;\n let match = find.exec(node2.value);\n while (match) {\n const position = match.index;\n const matchObject = {\n index: match.index,\n input: match.input,\n stack: [...parents, node2]\n };\n let value = replace2(...match, matchObject);\n if (typeof value === \"string\") {\n value = value.length > 0 ? { type: \"text\", value } : void 0;\n }\n if (value === false) {\n find.lastIndex = position + 1;\n } else {\n if (start !== position) {\n nodes.push({\n type: \"text\",\n value: node2.value.slice(start, position)\n });\n }\n if (Array.isArray(value)) {\n nodes.push(...value);\n } else if (value) {\n nodes.push(value);\n }\n start = position + match[0].length;\n change = true;\n }\n if (!find.global) {\n break;\n }\n match = find.exec(node2.value);\n }\n if (change) {\n if (start < node2.value.length) {\n nodes.push({ type: \"text\", value: node2.value.slice(start) });\n }\n parent.children.splice(index, 1, ...nodes);\n } else {\n nodes = [node2];\n }\n return index + nodes.length;\n }\n}\nfunction toPairs(tupleOrList) {\n const result = [];\n if (!Array.isArray(tupleOrList)) {\n throw new TypeError(\"Expected find and replace tuple or list of tuples\");\n }\n const list2 = !tupleOrList[0] || Array.isArray(tupleOrList[0]) ? tupleOrList : [tupleOrList];\n let index = -1;\n while (++index < list2.length) {\n const tuple = list2[index];\n result.push([toExpression(tuple[0]), toFunction(tuple[1])]);\n }\n return result;\n}\nfunction toExpression(find) {\n return typeof find === \"string\" ? new RegExp(escapeStringRegexp(find), \"g\") : find;\n}\nfunction toFunction(replace2) {\n return typeof replace2 === \"function\" ? replace2 : function() {\n return replace2;\n };\n}\nconst inConstruct = \"phrasing\";\nconst notInConstruct = [\"autolink\", \"link\", \"image\", \"label\"];\nfunction gfmAutolinkLiteralFromMarkdown() {\n return {\n transforms: [transformGfmAutolinkLiterals],\n enter: {\n literalAutolink: enterLiteralAutolink,\n literalAutolinkEmail: enterLiteralAutolinkValue,\n literalAutolinkHttp: enterLiteralAutolinkValue,\n literalAutolinkWww: enterLiteralAutolinkValue\n },\n exit: {\n literalAutolink: exitLiteralAutolink,\n literalAutolinkEmail: exitLiteralAutolinkEmail,\n literalAutolinkHttp: exitLiteralAutolinkHttp,\n literalAutolinkWww: exitLiteralAutolinkWww\n }\n };\n}\nfunction gfmAutolinkLiteralToMarkdown() {\n return {\n unsafe: [\n {\n character: \"@\",\n before: \"[+\\\\-.\\\\w]\",\n after: \"[\\\\-.\\\\w]\",\n inConstruct,\n notInConstruct\n },\n {\n character: \".\",\n before: \"[Ww]\",\n after: \"[\\\\-.\\\\w]\",\n inConstruct,\n notInConstruct\n },\n {\n character: \":\",\n before: \"[ps]\",\n after: \"\\\\/\",\n inConstruct,\n notInConstruct\n }\n ]\n };\n}\nfunction enterLiteralAutolink(token) {\n this.enter({ type: \"link\", title: null, url: \"\", children: [] }, token);\n}\nfunction enterLiteralAutolinkValue(token) {\n this.config.enter.autolinkProtocol.call(this, token);\n}\nfunction exitLiteralAutolinkHttp(token) {\n this.config.exit.autolinkProtocol.call(this, token);\n}\nfunction exitLiteralAutolinkWww(token) {\n this.config.exit.data.call(this, token);\n const node2 = this.stack[this.stack.length - 1];\n ok$1(node2.type === \"link\");\n node2.url = \"http://\" + this.sliceSerialize(token);\n}\nfunction exitLiteralAutolinkEmail(token) {\n this.config.exit.autolinkEmail.call(this, token);\n}\nfunction exitLiteralAutolink(token) {\n this.exit(token);\n}\nfunction transformGfmAutolinkLiterals(tree) {\n findAndReplace(\n tree,\n [\n [/(https?:\\/\\/|www(?=\\.))([-.\\w]+)([^ \\t\\r\\n]*)/gi, findUrl],\n [/([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)/g, findEmail]\n ],\n { ignore: [\"link\", \"linkReference\"] }\n );\n}\nfunction findUrl(_, protocol, domain2, path2, match) {\n let prefix = \"\";\n if (!previous(match)) {\n return false;\n }\n if (/^w/i.test(protocol)) {\n domain2 = protocol + domain2;\n protocol = \"\";\n prefix = \"http://\";\n }\n if (!isCorrectDomain(domain2)) {\n return false;\n }\n const parts = splitUrl(domain2 + path2);\n if (!parts[0]) return false;\n const result = {\n type: \"link\",\n title: null,\n url: prefix + protocol + parts[0],\n children: [{ type: \"text\", value: protocol + parts[0] }]\n };\n if (parts[1]) {\n return [result, { type: \"text\", value: parts[1] }];\n }\n return result;\n}\nfunction findEmail(_, atext, label, match) {\n if (\n // Not an expected previous character.\n !previous(match, true) || // Label ends in not allowed character.\n /[-\\d_]$/.test(label)\n ) {\n return false;\n }\n return {\n type: \"link\",\n title: null,\n url: \"mailto:\" + atext + \"@\" + label,\n children: [{ type: \"text\", value: atext + \"@\" + label }]\n };\n}\nfunction isCorrectDomain(domain2) {\n const parts = domain2.split(\".\");\n if (parts.length < 2 || parts[parts.length - 1] && (/_/.test(parts[parts.length - 1]) || !/[a-zA-Z\\d]/.test(parts[parts.length - 1])) || parts[parts.length - 2] && (/_/.test(parts[parts.length - 2]) || !/[a-zA-Z\\d]/.test(parts[parts.length - 2]))) {\n return false;\n }\n return true;\n}\nfunction splitUrl(url) {\n const trailExec = /[!\"&'),.:;<>?\\]}]+$/.exec(url);\n if (!trailExec) {\n return [url, void 0];\n }\n url = url.slice(0, trailExec.index);\n let trail2 = trailExec[0];\n let closingParenIndex = trail2.indexOf(\")\");\n const openingParens = ccount(url, \"(\");\n let closingParens = ccount(url, \")\");\n while (closingParenIndex !== -1 && openingParens > closingParens) {\n url += trail2.slice(0, closingParenIndex + 1);\n trail2 = trail2.slice(closingParenIndex + 1);\n closingParenIndex = trail2.indexOf(\")\");\n closingParens++;\n }\n return [url, trail2];\n}\nfunction previous(match, email) {\n const code2 = match.input.charCodeAt(match.index - 1);\n return (match.index === 0 || unicodeWhitespace(code2) || unicodePunctuation(code2)) && (!email || code2 !== 47);\n}\nfunction normalizeIdentifier(value) {\n return value.replace(/[\\t\\n\\r ]+/g, \" \").replace(/^ | $/g, \"\").toLowerCase().toUpperCase();\n}\nfootnoteReference.peek = footnoteReferencePeek;\nfunction gfmFootnoteFromMarkdown() {\n return {\n enter: {\n gfmFootnoteDefinition: enterFootnoteDefinition,\n gfmFootnoteDefinitionLabelString: enterFootnoteDefinitionLabelString,\n gfmFootnoteCall: enterFootnoteCall,\n gfmFootnoteCallString: enterFootnoteCallString\n },\n exit: {\n gfmFootnoteDefinition: exitFootnoteDefinition,\n gfmFootnoteDefinitionLabelString: exitFootnoteDefinitionLabelString,\n gfmFootnoteCall: exitFootnoteCall,\n gfmFootnoteCallString: exitFootnoteCallString\n }\n };\n}\nfunction gfmFootnoteToMarkdown() {\n return {\n // This is on by default already.\n unsafe: [{ character: \"[\", inConstruct: [\"phrasing\", \"label\", \"reference\"] }],\n handlers: { footnoteDefinition, footnoteReference }\n };\n}\nfunction enterFootnoteDefinition(token) {\n this.enter(\n { type: \"footnoteDefinition\", identifier: \"\", label: \"\", children: [] },\n token\n );\n}\nfunction enterFootnoteDefinitionLabelString() {\n this.buffer();\n}\nfunction exitFootnoteDefinitionLabelString(token) {\n const label = this.resume();\n const node2 = this.stack[this.stack.length - 1];\n ok$1(node2.type === \"footnoteDefinition\");\n node2.label = label;\n node2.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase();\n}\nfunction exitFootnoteDefinition(token) {\n this.exit(token);\n}\nfunction enterFootnoteCall(token) {\n this.enter({ type: \"footnoteReference\", identifier: \"\", label: \"\" }, token);\n}\nfunction enterFootnoteCallString() {\n this.buffer();\n}\nfunction exitFootnoteCallString(token) {\n const label = this.resume();\n const node2 = this.stack[this.stack.length - 1];\n ok$1(node2.type === \"footnoteReference\");\n node2.label = label;\n node2.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase();\n}\nfunction exitFootnoteCall(token) {\n this.exit(token);\n}\nfunction footnoteReference(node2, _, state, info) {\n const tracker = state.createTracker(info);\n let value = tracker.move(\"[^\");\n const exit2 = state.enter(\"footnoteReference\");\n const subexit = state.enter(\"reference\");\n value += tracker.move(\n state.safe(state.associationId(node2), {\n ...tracker.current(),\n before: value,\n after: \"]\"\n })\n );\n subexit();\n exit2();\n value += tracker.move(\"]\");\n return value;\n}\nfunction footnoteReferencePeek() {\n return \"[\";\n}\nfunction footnoteDefinition(node2, _, state, info) {\n const tracker = state.createTracker(info);\n let value = tracker.move(\"[^\");\n const exit2 = state.enter(\"footnoteDefinition\");\n const subexit = state.enter(\"label\");\n value += tracker.move(\n state.safe(state.associationId(node2), {\n ...tracker.current(),\n before: value,\n after: \"]\"\n })\n );\n subexit();\n value += tracker.move(\n \"]:\" + (node2.children && node2.children.length > 0 ? \" \" : \"\")\n );\n tracker.shift(4);\n value += tracker.move(\n state.indentLines(state.containerFlow(node2, tracker.current()), map$2)\n );\n exit2();\n return value;\n}\nfunction map$2(line, index, blank) {\n if (index === 0) {\n return line;\n }\n return (blank ? \"\" : \" \") + line;\n}\nconst constructsWithoutStrikethrough = [\n \"autolink\",\n \"destinationLiteral\",\n \"destinationRaw\",\n \"reference\",\n \"titleQuote\",\n \"titleApostrophe\"\n];\nhandleDelete.peek = peekDelete;\nfunction gfmStrikethroughFromMarkdown() {\n return {\n canContainEols: [\"delete\"],\n enter: { strikethrough: enterStrikethrough },\n exit: { strikethrough: exitStrikethrough }\n };\n}\nfunction gfmStrikethroughToMarkdown() {\n return {\n unsafe: [\n {\n character: \"~\",\n inConstruct: \"phrasing\",\n notInConstruct: constructsWithoutStrikethrough\n }\n ],\n handlers: { delete: handleDelete }\n };\n}\nfunction enterStrikethrough(token) {\n this.enter({ type: \"delete\", children: [] }, token);\n}\nfunction exitStrikethrough(token) {\n this.exit(token);\n}\nfunction handleDelete(node2, _, state, info) {\n const tracker = state.createTracker(info);\n const exit2 = state.enter(\"strikethrough\");\n let value = tracker.move(\"~~\");\n value += state.containerPhrasing(node2, {\n ...tracker.current(),\n before: value,\n after: \"~\"\n });\n value += tracker.move(\"~~\");\n exit2();\n return value;\n}\nfunction peekDelete() {\n return \"~\";\n}\nfunction markdownTable(table, options = {}) {\n const align = (options.align || []).concat();\n const stringLength = options.stringLength || defaultStringLength;\n const alignments = [];\n const cellMatrix = [];\n const sizeMatrix = [];\n const longestCellByColumn = [];\n let mostCellsPerRow = 0;\n let rowIndex = -1;\n while (++rowIndex < table.length) {\n const row2 = [];\n const sizes2 = [];\n let columnIndex2 = -1;\n if (table[rowIndex].length > mostCellsPerRow) {\n mostCellsPerRow = table[rowIndex].length;\n }\n while (++columnIndex2 < table[rowIndex].length) {\n const cell = serialize(table[rowIndex][columnIndex2]);\n if (options.alignDelimiters !== false) {\n const size = stringLength(cell);\n sizes2[columnIndex2] = size;\n if (longestCellByColumn[columnIndex2] === void 0 || size > longestCellByColumn[columnIndex2]) {\n longestCellByColumn[columnIndex2] = size;\n }\n }\n row2.push(cell);\n }\n cellMatrix[rowIndex] = row2;\n sizeMatrix[rowIndex] = sizes2;\n }\n let columnIndex = -1;\n if (typeof align === \"object\" && \"length\" in align) {\n while (++columnIndex < mostCellsPerRow) {\n alignments[columnIndex] = toAlignment(align[columnIndex]);\n }\n } else {\n const code2 = toAlignment(align);\n while (++columnIndex < mostCellsPerRow) {\n alignments[columnIndex] = code2;\n }\n }\n columnIndex = -1;\n const row = [];\n const sizes = [];\n while (++columnIndex < mostCellsPerRow) {\n const code2 = alignments[columnIndex];\n let before = \"\";\n let after = \"\";\n if (code2 === 99) {\n before = \":\";\n after = \":\";\n } else if (code2 === 108) {\n before = \":\";\n } else if (code2 === 114) {\n after = \":\";\n }\n let size = options.alignDelimiters === false ? 1 : Math.max(\n 1,\n longestCellByColumn[columnIndex] - before.length - after.length\n );\n const cell = before + \"-\".repeat(size) + after;\n if (options.alignDelimiters !== false) {\n size = before.length + size + after.length;\n if (size > longestCellByColumn[columnIndex]) {\n longestCellByColumn[columnIndex] = size;\n }\n sizes[columnIndex] = size;\n }\n row[columnIndex] = cell;\n }\n cellMatrix.splice(1, 0, row);\n sizeMatrix.splice(1, 0, sizes);\n rowIndex = -1;\n const lines = [];\n while (++rowIndex < cellMatrix.length) {\n const row2 = cellMatrix[rowIndex];\n const sizes2 = sizeMatrix[rowIndex];\n columnIndex = -1;\n const line = [];\n while (++columnIndex < mostCellsPerRow) {\n const cell = row2[columnIndex] || \"\";\n let before = \"\";\n let after = \"\";\n if (options.alignDelimiters !== false) {\n const size = longestCellByColumn[columnIndex] - (sizes2[columnIndex] || 0);\n const code2 = alignments[columnIndex];\n if (code2 === 114) {\n before = \" \".repeat(size);\n } else if (code2 === 99) {\n if (size % 2) {\n before = \" \".repeat(size / 2 + 0.5);\n after = \" \".repeat(size / 2 - 0.5);\n } else {\n before = \" \".repeat(size / 2);\n after = before;\n }\n } else {\n after = \" \".repeat(size);\n }\n }\n if (options.delimiterStart !== false && !columnIndex) {\n line.push(\"|\");\n }\n if (options.padding !== false && // Don’t add the opening space if we’re not aligning and the cell is\n // empty: there will be a closing space.\n !(options.alignDelimiters === false && cell === \"\") && (options.delimiterStart !== false || columnIndex)) {\n line.push(\" \");\n }\n if (options.alignDelimiters !== false) {\n line.push(before);\n }\n line.push(cell);\n if (options.alignDelimiters !== false) {\n line.push(after);\n }\n if (options.padding !== false) {\n line.push(\" \");\n }\n if (options.delimiterEnd !== false || columnIndex !== mostCellsPerRow - 1) {\n line.push(\"|\");\n }\n }\n lines.push(\n options.delimiterEnd === false ? line.join(\"\").replace(/ +$/, \"\") : line.join(\"\")\n );\n }\n return lines.join(\"\\n\");\n}\nfunction serialize(value) {\n return value === null || value === void 0 ? \"\" : String(value);\n}\nfunction defaultStringLength(value) {\n return value.length;\n}\nfunction toAlignment(value) {\n const code2 = typeof value === \"string\" ? value.codePointAt(0) : 0;\n return code2 === 67 || code2 === 99 ? 99 : code2 === 76 || code2 === 108 ? 108 : code2 === 82 || code2 === 114 ? 114 : 0;\n}\nfunction blockquote(node2, _, state, info) {\n const exit2 = state.enter(\"blockquote\");\n const tracker = state.createTracker(info);\n tracker.move(\"> \");\n tracker.shift(2);\n const value = state.indentLines(\n state.containerFlow(node2, tracker.current()),\n map$1\n );\n exit2();\n return value;\n}\nfunction map$1(line, _, blank) {\n return \">\" + (blank ? \"\" : \" \") + line;\n}\nfunction patternInScope(stack, pattern) {\n return listInScope(stack, pattern.inConstruct, true) && !listInScope(stack, pattern.notInConstruct, false);\n}\nfunction listInScope(stack, list2, none) {\n if (typeof list2 === \"string\") {\n list2 = [list2];\n }\n if (!list2 || list2.length === 0) {\n return none;\n }\n let index = -1;\n while (++index < list2.length) {\n if (stack.includes(list2[index])) {\n return true;\n }\n }\n return false;\n}\nfunction hardBreak(_, _1, state, info) {\n let index = -1;\n while (++index < state.unsafe.length) {\n if (state.unsafe[index].character === \"\\n\" && patternInScope(state.stack, state.unsafe[index])) {\n return /[ \\t]/.test(info.before) ? \"\" : \" \";\n }\n }\n return \"\\\\\\n\";\n}\nfunction longestStreak(value, substring) {\n const source = String(value);\n let index = source.indexOf(substring);\n let expected = index;\n let count = 0;\n let max = 0;\n if (typeof substring !== \"string\") {\n throw new TypeError(\"Expected substring\");\n }\n while (index !== -1) {\n if (index === expected) {\n if (++count > max) {\n max = count;\n }\n } else {\n count = 1;\n }\n expected = index + substring.length;\n index = source.indexOf(substring, expected);\n }\n return max;\n}\nfunction formatCodeAsIndented(node2, state) {\n return Boolean(\n state.options.fences === false && node2.value && // If there’s no info…\n !node2.lang && // And there’s a non-whitespace character…\n /[^ \\r\\n]/.test(node2.value) && // And the value doesn’t start or end in a blank…\n !/^[\\t ]*(?:[\\r\\n]|$)|(?:^|[\\r\\n])[\\t ]*$/.test(node2.value)\n );\n}\nfunction checkFence(state) {\n const marker = state.options.fence || \"`\";\n if (marker !== \"`\" && marker !== \"~\") {\n throw new Error(\n \"Cannot serialize code with `\" + marker + \"` for `options.fence`, expected `` ` `` or `~`\"\n );\n }\n return marker;\n}\nfunction code$1(node2, _, state, info) {\n const marker = checkFence(state);\n const raw = node2.value || \"\";\n const suffix = marker === \"`\" ? \"GraveAccent\" : \"Tilde\";\n if (formatCodeAsIndented(node2, state)) {\n const exit3 = state.enter(\"codeIndented\");\n const value2 = state.indentLines(raw, map);\n exit3();\n return value2;\n }\n const tracker = state.createTracker(info);\n const sequence = marker.repeat(Math.max(longestStreak(raw, marker) + 1, 3));\n const exit2 = state.enter(\"codeFenced\");\n let value = tracker.move(sequence);\n if (node2.lang) {\n const subexit = state.enter(`codeFencedLang${suffix}`);\n value += tracker.move(\n state.safe(node2.lang, {\n before: value,\n after: \" \",\n encode: [\"`\"],\n ...tracker.current()\n })\n );\n subexit();\n }\n if (node2.lang && node2.meta) {\n const subexit = state.enter(`codeFencedMeta${suffix}`);\n value += tracker.move(\" \");\n value += tracker.move(\n state.safe(node2.meta, {\n before: value,\n after: \"\\n\",\n encode: [\"`\"],\n ...tracker.current()\n })\n );\n subexit();\n }\n value += tracker.move(\"\\n\");\n if (raw) {\n value += tracker.move(raw + \"\\n\");\n }\n value += tracker.move(sequence);\n exit2();\n return value;\n}\nfunction map(line, _, blank) {\n return (blank ? \"\" : \" \") + line;\n}\nfunction checkQuote(state) {\n const marker = state.options.quote || '\"';\n if (marker !== '\"' && marker !== \"'\") {\n throw new Error(\n \"Cannot serialize title with `\" + marker + \"` for `options.quote`, expected `\\\"`, or `'`\"\n );\n }\n return marker;\n}\nfunction definition(node2, _, state, info) {\n const quote = checkQuote(state);\n const suffix = quote === '\"' ? \"Quote\" : \"Apostrophe\";\n const exit2 = state.enter(\"definition\");\n let subexit = state.enter(\"label\");\n const tracker = state.createTracker(info);\n let value = tracker.move(\"[\");\n value += tracker.move(\n state.safe(state.associationId(node2), {\n before: value,\n after: \"]\",\n ...tracker.current()\n })\n );\n value += tracker.move(\"]: \");\n subexit();\n if (\n // If there’s no url, or…\n !node2.url || // If there are control characters or whitespace.\n /[\\0- \\u007F]/.test(node2.url)\n ) {\n subexit = state.enter(\"destinationLiteral\");\n value += tracker.move(\"<\");\n value += tracker.move(\n state.safe(node2.url, { before: value, after: \">\", ...tracker.current() })\n );\n value += tracker.move(\">\");\n } else {\n subexit = state.enter(\"destinationRaw\");\n value += tracker.move(\n state.safe(node2.url, {\n before: value,\n after: node2.title ? \" \" : \"\\n\",\n ...tracker.current()\n })\n );\n }\n subexit();\n if (node2.title) {\n subexit = state.enter(`title${suffix}`);\n value += tracker.move(\" \" + quote);\n value += tracker.move(\n state.safe(node2.title, {\n before: value,\n after: quote,\n ...tracker.current()\n })\n );\n value += tracker.move(quote);\n subexit();\n }\n exit2();\n return value;\n}\nfunction checkEmphasis(state) {\n const marker = state.options.emphasis || \"*\";\n if (marker !== \"*\" && marker !== \"_\") {\n throw new Error(\n \"Cannot serialize emphasis with `\" + marker + \"` for `options.emphasis`, expected `*`, or `_`\"\n );\n }\n return marker;\n}\nemphasis.peek = emphasisPeek;\nfunction emphasis(node2, _, state, info) {\n const marker = checkEmphasis(state);\n const exit2 = state.enter(\"emphasis\");\n const tracker = state.createTracker(info);\n let value = tracker.move(marker);\n value += tracker.move(\n state.containerPhrasing(node2, {\n before: value,\n after: marker,\n ...tracker.current()\n })\n );\n value += tracker.move(marker);\n exit2();\n return value;\n}\nfunction emphasisPeek(_, _1, state) {\n return state.options.emphasis || \"*\";\n}\nconst emptyOptions$1 = {};\nfunction toString(value, options) {\n const settings = emptyOptions$1;\n const includeImageAlt = typeof settings.includeImageAlt === \"boolean\" ? settings.includeImageAlt : true;\n const includeHtml = typeof settings.includeHtml === \"boolean\" ? settings.includeHtml : true;\n return one(value, includeImageAlt, includeHtml);\n}\nfunction one(value, includeImageAlt, includeHtml) {\n if (node(value)) {\n if (\"value\" in value) {\n return value.type === \"html\" && !includeHtml ? \"\" : value.value;\n }\n if (includeImageAlt && \"alt\" in value && value.alt) {\n return value.alt;\n }\n if (\"children\" in value) {\n return all(value.children, includeImageAlt, includeHtml);\n }\n }\n if (Array.isArray(value)) {\n return all(value, includeImageAlt, includeHtml);\n }\n return \"\";\n}\nfunction all(values, includeImageAlt, includeHtml) {\n const result = [];\n let index = -1;\n while (++index < values.length) {\n result[index] = one(values[index], includeImageAlt, includeHtml);\n }\n return result.join(\"\");\n}\nfunction node(value) {\n return Boolean(value && typeof value === \"object\");\n}\nfunction formatHeadingAsSetext(node2, state) {\n let literalWithBreak = false;\n visit(node2, function(node3) {\n if (\"value\" in node3 && /\\r?\\n|\\r/.test(node3.value) || node3.type === \"break\") {\n literalWithBreak = true;\n return EXIT$1;\n }\n });\n return Boolean(\n (!node2.depth || node2.depth < 3) && toString(node2) && (state.options.setext || literalWithBreak)\n );\n}\nfunction heading(node2, _, state, info) {\n const rank = Math.max(Math.min(6, node2.depth || 1), 1);\n const tracker = state.createTracker(info);\n if (formatHeadingAsSetext(node2, state)) {\n const exit3 = state.enter(\"headingSetext\");\n const subexit2 = state.enter(\"phrasing\");\n const value2 = state.containerPhrasing(node2, {\n ...tracker.current(),\n before: \"\\n\",\n after: \"\\n\"\n });\n subexit2();\n exit3();\n return value2 + \"\\n\" + (rank === 1 ? \"=\" : \"-\").repeat(\n // The whole size…\n value2.length - // Minus the position of the character after the last EOL (or\n // 0 if there is none)…\n (Math.max(value2.lastIndexOf(\"\\r\"), value2.lastIndexOf(\"\\n\")) + 1)\n );\n }\n const sequence = \"#\".repeat(rank);\n const exit2 = state.enter(\"headingAtx\");\n const subexit = state.enter(\"phrasing\");\n tracker.move(sequence + \" \");\n let value = state.containerPhrasing(node2, {\n before: \"# \",\n after: \"\\n\",\n ...tracker.current()\n });\n if (/^[\\t ]/.test(value)) {\n value = \"&#x\" + value.charCodeAt(0).toString(16).toUpperCase() + \";\" + value.slice(1);\n }\n value = value ? sequence + \" \" + value : sequence;\n if (state.options.closeAtx) {\n value += \" \" + sequence;\n }\n subexit();\n exit2();\n return value;\n}\nhtml.peek = htmlPeek;\nfunction html(node2) {\n return node2.value || \"\";\n}\nfunction htmlPeek() {\n return \"<\";\n}\nimage.peek = imagePeek;\nfunction image(node2, _, state, info) {\n const quote = checkQuote(state);\n const suffix = quote === '\"' ? \"Quote\" : \"Apostrophe\";\n const exit2 = state.enter(\"image\");\n let subexit = state.enter(\"label\");\n const tracker = state.createTracker(info);\n let value = tracker.move(\"![\");\n value += tracker.move(\n state.safe(node2.alt, { before: value, after: \"]\", ...tracker.current() })\n );\n value += tracker.move(\"](\");\n subexit();\n if (\n // If there’s no url but there is a title…\n !node2.url && node2.title || // If there are control characters or whitespace.\n /[\\0- \\u007F]/.test(node2.url)\n ) {\n subexit = state.enter(\"destinationLiteral\");\n value += tracker.move(\"<\");\n value += tracker.move(\n state.safe(node2.url, { before: value, after: \">\", ...tracker.current() })\n );\n value += tracker.move(\">\");\n } else {\n subexit = state.enter(\"destinationRaw\");\n value += tracker.move(\n state.safe(node2.url, {\n before: value,\n after: node2.title ? \" \" : \")\",\n ...tracker.current()\n })\n );\n }\n subexit();\n if (node2.title) {\n subexit = state.enter(`title${suffix}`);\n value += tracker.move(\" \" + quote);\n value += tracker.move(\n state.safe(node2.title, {\n before: value,\n after: quote,\n ...tracker.current()\n })\n );\n value += tracker.move(quote);\n subexit();\n }\n value += tracker.move(\")\");\n exit2();\n return value;\n}\nfunction imagePeek() {\n return \"!\";\n}\nimageReference.peek = imageReferencePeek;\nfunction imageReference(node2, _, state, info) {\n const type = node2.referenceType;\n const exit2 = state.enter(\"imageReference\");\n let subexit = state.enter(\"label\");\n const tracker = state.createTracker(info);\n let value = tracker.move(\"![\");\n const alt = state.safe(node2.alt, {\n before: value,\n after: \"]\",\n ...tracker.current()\n });\n value += tracker.move(alt + \"][\");\n subexit();\n const stack = state.stack;\n state.stack = [];\n subexit = state.enter(\"reference\");\n const reference = state.safe(state.associationId(node2), {\n before: value,\n after: \"]\",\n ...tracker.current()\n });\n subexit();\n state.stack = stack;\n exit2();\n if (type === \"full\" || !alt || alt !== reference) {\n value += tracker.move(reference + \"]\");\n } else if (type === \"shortcut\") {\n value = value.slice(0, -1);\n } else {\n value += tracker.move(\"]\");\n }\n return value;\n}\nfunction imageReferencePeek() {\n return \"!\";\n}\ninlineCode.peek = inlineCodePeek;\nfunction inlineCode(node2, _, state) {\n let value = node2.value || \"\";\n let sequence = \"`\";\n let index = -1;\n while (new RegExp(\"(^|[^`])\" + sequence + \"([^`]|$)\").test(value)) {\n sequence += \"`\";\n }\n if (/[^ \\r\\n]/.test(value) && (/^[ \\r\\n]/.test(value) && /[ \\r\\n]$/.test(value) || /^`|`$/.test(value))) {\n value = \" \" + value + \" \";\n }\n while (++index < state.unsafe.length) {\n const pattern = state.unsafe[index];\n const expression = state.compilePattern(pattern);\n let match;\n if (!pattern.atBreak) continue;\n while (match = expression.exec(value)) {\n let position = match.index;\n if (value.charCodeAt(position) === 10 && value.charCodeAt(position - 1) === 13) {\n position--;\n }\n value = value.slice(0, position) + \" \" + value.slice(match.index + 1);\n }\n }\n return sequence + value + sequence;\n}\nfunction inlineCodePeek() {\n return \"`\";\n}\nfunction formatLinkAsAutolink(node2, state) {\n const raw = toString(node2);\n return Boolean(\n !state.options.resourceLink && // If there’s a url…\n node2.url && // And there’s a no title…\n !node2.title && // And the content of `node` is a single text node…\n node2.children && node2.children.length === 1 && node2.children[0].type === \"text\" && // And if the url is the same as the content…\n (raw === node2.url || \"mailto:\" + raw === node2.url) && // And that starts w/ a protocol…\n /^[a-z][a-z+.-]+:/i.test(node2.url) && // And that doesn’t contain ASCII control codes (character escapes and\n // references don’t work), space, or angle brackets…\n !/[\\0- <>\\u007F]/.test(node2.url)\n );\n}\nlink.peek = linkPeek;\nfunction link(node2, _, state, info) {\n const quote = checkQuote(state);\n const suffix = quote === '\"' ? \"Quote\" : \"Apostrophe\";\n const tracker = state.createTracker(info);\n let exit2;\n let subexit;\n if (formatLinkAsAutolink(node2, state)) {\n const stack = state.stack;\n state.stack = [];\n exit2 = state.enter(\"autolink\");\n let value2 = tracker.move(\"<\");\n value2 += tracker.move(\n state.containerPhrasing(node2, {\n before: value2,\n after: \">\",\n ...tracker.current()\n })\n );\n value2 += tracker.move(\">\");\n exit2();\n state.stack = stack;\n return value2;\n }\n exit2 = state.enter(\"link\");\n subexit = state.enter(\"label\");\n let value = tracker.move(\"[\");\n value += tracker.move(\n state.containerPhrasing(node2, {\n before: value,\n after: \"](\",\n ...tracker.current()\n })\n );\n value += tracker.move(\"](\");\n subexit();\n if (\n // If there’s no url but there is a title…\n !node2.url && node2.title || // If there are control characters or whitespace.\n /[\\0- \\u007F]/.test(node2.url)\n ) {\n subexit = state.enter(\"destinationLiteral\");\n value += tracker.move(\"<\");\n value += tracker.move(\n state.safe(node2.url, { before: value, after: \">\", ...tracker.current() })\n );\n value += tracker.move(\">\");\n } else {\n subexit = state.enter(\"destinationRaw\");\n value += tracker.move(\n state.safe(node2.url, {\n before: value,\n after: node2.title ? \" \" : \")\",\n ...tracker.current()\n })\n );\n }\n subexit();\n if (node2.title) {\n subexit = state.enter(`title${suffix}`);\n value += tracker.move(\" \" + quote);\n value += tracker.move(\n state.safe(node2.title, {\n before: value,\n after: quote,\n ...tracker.current()\n })\n );\n value += tracker.move(quote);\n subexit();\n }\n value += tracker.move(\")\");\n exit2();\n return value;\n}\nfunction linkPeek(node2, _, state) {\n return formatLinkAsAutolink(node2, state) ? \"<\" : \"[\";\n}\nlinkReference.peek = linkReferencePeek;\nfunction linkReference(node2, _, state, info) {\n const type = node2.referenceType;\n const exit2 = state.enter(\"linkReference\");\n let subexit = state.enter(\"label\");\n const tracker = state.createTracker(info);\n let value = tracker.move(\"[\");\n const text2 = state.containerPhrasing(node2, {\n before: value,\n after: \"]\",\n ...tracker.current()\n });\n value += tracker.move(text2 + \"][\");\n subexit();\n const stack = state.stack;\n state.stack = [];\n subexit = state.enter(\"reference\");\n const reference = state.safe(state.associationId(node2), {\n before: value,\n after: \"]\",\n ...tracker.current()\n });\n subexit();\n state.stack = stack;\n exit2();\n if (type === \"full\" || !text2 || text2 !== reference) {\n value += tracker.move(reference + \"]\");\n } else if (type === \"shortcut\") {\n value = value.slice(0, -1);\n } else {\n value += tracker.move(\"]\");\n }\n return value;\n}\nfunction linkReferencePeek() {\n return \"[\";\n}\nfunction checkBullet(state) {\n const marker = state.options.bullet || \"*\";\n if (marker !== \"*\" && marker !== \"+\" && marker !== \"-\") {\n throw new Error(\n \"Cannot serialize items with `\" + marker + \"` for `options.bullet`, expected `*`, `+`, or `-`\"\n );\n }\n return marker;\n}\nfunction checkBulletOther(state) {\n const bullet = checkBullet(state);\n const bulletOther = state.options.bulletOther;\n if (!bulletOther) {\n return bullet === \"*\" ? \"-\" : \"*\";\n }\n if (bulletOther !== \"*\" && bulletOther !== \"+\" && bulletOther !== \"-\") {\n throw new Error(\n \"Cannot serialize items with `\" + bulletOther + \"` for `options.bulletOther`, expected `*`, `+`, or `-`\"\n );\n }\n if (bulletOther === bullet) {\n throw new Error(\n \"Expected `bullet` (`\" + bullet + \"`) and `bulletOther` (`\" + bulletOther + \"`) to be different\"\n );\n }\n return bulletOther;\n}\nfunction checkBulletOrdered(state) {\n const marker = state.options.bulletOrdered || \".\";\n if (marker !== \".\" && marker !== \")\") {\n throw new Error(\n \"Cannot serialize items with `\" + marker + \"` for `options.bulletOrdered`, expected `.` or `)`\"\n );\n }\n return marker;\n}\nfunction checkRule(state) {\n const marker = state.options.rule || \"*\";\n if (marker !== \"*\" && marker !== \"-\" && marker !== \"_\") {\n throw new Error(\n \"Cannot serialize rules with `\" + marker + \"` for `options.rule`, expected `*`, `-`, or `_`\"\n );\n }\n return marker;\n}\nfunction list(node2, parent, state, info) {\n const exit2 = state.enter(\"list\");\n const bulletCurrent = state.bulletCurrent;\n let bullet = node2.ordered ? checkBulletOrdered(state) : checkBullet(state);\n const bulletOther = node2.ordered ? bullet === \".\" ? \")\" : \".\" : checkBulletOther(state);\n let useDifferentMarker = parent && state.bulletLastUsed ? bullet === state.bulletLastUsed : false;\n if (!node2.ordered) {\n const firstListItem = node2.children ? node2.children[0] : void 0;\n if (\n // Bullet could be used as a thematic break marker:\n (bullet === \"*\" || bullet === \"-\") && // Empty first list item:\n firstListItem && (!firstListItem.children || !firstListItem.children[0]) && // Directly in two other list items:\n state.stack[state.stack.length - 1] === \"list\" && state.stack[state.stack.length - 2] === \"listItem\" && state.stack[state.stack.length - 3] === \"list\" && state.stack[state.stack.length - 4] === \"listItem\" && // That are each the first child.\n state.indexStack[state.indexStack.length - 1] === 0 && state.indexStack[state.indexStack.length - 2] === 0 && state.indexStack[state.indexStack.length - 3] === 0\n ) {\n useDifferentMarker = true;\n }\n if (checkRule(state) === bullet && firstListItem) {\n let index = -1;\n while (++index < node2.children.length) {\n const item = node2.children[index];\n if (item && item.type === \"listItem\" && item.children && item.children[0] && item.children[0].type === \"thematicBreak\") {\n useDifferentMarker = true;\n break;\n }\n }\n }\n }\n if (useDifferentMarker) {\n bullet = bulletOther;\n }\n state.bulletCurrent = bullet;\n const value = state.containerFlow(node2, info);\n state.bulletLastUsed = bullet;\n state.bulletCurrent = bulletCurrent;\n exit2();\n return value;\n}\nfunction checkListItemIndent(state) {\n const style = state.options.listItemIndent || \"one\";\n if (style !== \"tab\" && style !== \"one\" && style !== \"mixed\") {\n throw new Error(\n \"Cannot serialize items with `\" + style + \"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`\"\n );\n }\n return style;\n}\nfunction listItem(node2, parent, state, info) {\n const listItemIndent = checkListItemIndent(state);\n let bullet = state.bulletCurrent || checkBullet(state);\n if (parent && parent.type === \"list\" && parent.ordered) {\n bullet = (typeof parent.start === \"number\" && parent.start > -1 ? parent.start : 1) + (state.options.incrementListMarker === false ? 0 : parent.children.indexOf(node2)) + bullet;\n }\n let size = bullet.length + 1;\n if (listItemIndent === \"tab\" || listItemIndent === \"mixed\" && (parent && parent.type === \"list\" && parent.spread || node2.spread)) {\n size = Math.ceil(size / 4) * 4;\n }\n const tracker = state.createTracker(info);\n tracker.move(bullet + \" \".repeat(size - bullet.length));\n tracker.shift(size);\n const exit2 = state.enter(\"listItem\");\n const value = state.indentLines(\n state.containerFlow(node2, tracker.current()),\n map2\n );\n exit2();\n return value;\n function map2(line, index, blank) {\n if (index) {\n return (blank ? \"\" : \" \".repeat(size)) + line;\n }\n return (blank ? bullet : bullet + \" \".repeat(size - bullet.length)) + line;\n }\n}\nfunction paragraph(node2, _, state, info) {\n const exit2 = state.enter(\"paragraph\");\n const subexit = state.enter(\"phrasing\");\n const value = state.containerPhrasing(node2, info);\n subexit();\n exit2();\n return value;\n}\nconst phrasing = (\n /** @type {(node?: unknown) => node is Exclude} */\n convert([\n \"break\",\n \"delete\",\n \"emphasis\",\n // To do: next major: removed since footnotes were added to GFM.\n \"footnote\",\n \"footnoteReference\",\n \"image\",\n \"imageReference\",\n \"inlineCode\",\n // Enabled by `mdast-util-math`:\n \"inlineMath\",\n \"link\",\n \"linkReference\",\n // Enabled by `mdast-util-mdx`:\n \"mdxJsxTextElement\",\n // Enabled by `mdast-util-mdx`:\n \"mdxTextExpression\",\n \"strong\",\n \"text\",\n // Enabled by `mdast-util-directive`:\n \"textDirective\"\n ])\n);\nfunction root(node2, _, state, info) {\n const hasPhrasing = node2.children.some(function(d) {\n return phrasing(d);\n });\n const fn = hasPhrasing ? state.containerPhrasing : state.containerFlow;\n return fn.call(state, node2, info);\n}\nfunction checkStrong(state) {\n const marker = state.options.strong || \"*\";\n if (marker !== \"*\" && marker !== \"_\") {\n throw new Error(\n \"Cannot serialize strong with `\" + marker + \"` for `options.strong`, expected `*`, or `_`\"\n );\n }\n return marker;\n}\nstrong.peek = strongPeek;\nfunction strong(node2, _, state, info) {\n const marker = checkStrong(state);\n const exit2 = state.enter(\"strong\");\n const tracker = state.createTracker(info);\n let value = tracker.move(marker + marker);\n value += tracker.move(\n state.containerPhrasing(node2, {\n before: value,\n after: marker,\n ...tracker.current()\n })\n );\n value += tracker.move(marker + marker);\n exit2();\n return value;\n}\nfunction strongPeek(_, _1, state) {\n return state.options.strong || \"*\";\n}\nfunction text$1(node2, _, state, info) {\n return state.safe(node2.value, info);\n}\nfunction checkRuleRepetition(state) {\n const repetition = state.options.ruleRepetition || 3;\n if (repetition < 3) {\n throw new Error(\n \"Cannot serialize rules with repetition `\" + repetition + \"` for `options.ruleRepetition`, expected `3` or more\"\n );\n }\n return repetition;\n}\nfunction thematicBreak(_, _1, state) {\n const value = (checkRule(state) + (state.options.ruleSpaces ? \" \" : \"\")).repeat(checkRuleRepetition(state));\n return state.options.ruleSpaces ? value.slice(0, -1) : value;\n}\nconst handle = {\n blockquote,\n break: hardBreak,\n code: code$1,\n definition,\n emphasis,\n hardBreak,\n heading,\n html,\n image,\n imageReference,\n inlineCode,\n link,\n linkReference,\n list,\n listItem,\n paragraph,\n root,\n strong,\n text: text$1,\n thematicBreak\n};\nfunction gfmTableFromMarkdown() {\n return {\n enter: {\n table: enterTable,\n tableData: enterCell,\n tableHeader: enterCell,\n tableRow: enterRow\n },\n exit: {\n codeText: exitCodeText,\n table: exitTable,\n tableData: exit,\n tableHeader: exit,\n tableRow: exit\n }\n };\n}\nfunction enterTable(token) {\n const align = token._align;\n this.enter(\n {\n type: \"table\",\n align: align.map(function(d) {\n return d === \"none\" ? null : d;\n }),\n children: []\n },\n token\n );\n this.data.inTable = true;\n}\nfunction exitTable(token) {\n this.exit(token);\n this.data.inTable = void 0;\n}\nfunction enterRow(token) {\n this.enter({ type: \"tableRow\", children: [] }, token);\n}\nfunction exit(token) {\n this.exit(token);\n}\nfunction enterCell(token) {\n this.enter({ type: \"tableCell\", children: [] }, token);\n}\nfunction exitCodeText(token) {\n let value = this.resume();\n if (this.data.inTable) {\n value = value.replace(/\\\\([\\\\|])/g, replace);\n }\n const node2 = this.stack[this.stack.length - 1];\n ok$1(node2.type === \"inlineCode\");\n node2.value = value;\n this.exit(token);\n}\nfunction replace($0, $1) {\n return $1 === \"|\" ? $1 : $0;\n}\nfunction gfmTableToMarkdown(options) {\n const settings = options || {};\n const padding = settings.tableCellPadding;\n const alignDelimiters = settings.tablePipeAlign;\n const stringLength = settings.stringLength;\n const around = padding ? \" \" : \"|\";\n return {\n unsafe: [\n { character: \"\\r\", inConstruct: \"tableCell\" },\n { character: \"\\n\", inConstruct: \"tableCell\" },\n // A pipe, when followed by a tab or space (padding), or a dash or colon\n // (unpadded delimiter row), could result in a table.\n { atBreak: true, character: \"|\", after: \"[\t :-]\" },\n // A pipe in a cell must be encoded.\n { character: \"|\", inConstruct: \"tableCell\" },\n // A colon must be followed by a dash, in which case it could start a\n // delimiter row.\n { atBreak: true, character: \":\", after: \"-\" },\n // A delimiter row can also start with a dash, when followed by more\n // dashes, a colon, or a pipe.\n // This is a stricter version than the built in check for lists, thematic\n // breaks, and setex heading underlines though:\n // \n { atBreak: true, character: \"-\", after: \"[:|-]\" }\n ],\n handlers: {\n inlineCode: inlineCodeWithTable,\n table: handleTable,\n tableCell: handleTableCell,\n tableRow: handleTableRow\n }\n };\n function handleTable(node2, _, state, info) {\n return serializeData(handleTableAsData(node2, state, info), node2.align);\n }\n function handleTableRow(node2, _, state, info) {\n const row = handleTableRowAsData(node2, state, info);\n const value = serializeData([row]);\n return value.slice(0, value.indexOf(\"\\n\"));\n }\n function handleTableCell(node2, _, state, info) {\n const exit2 = state.enter(\"tableCell\");\n const subexit = state.enter(\"phrasing\");\n const value = state.containerPhrasing(node2, {\n ...info,\n before: around,\n after: around\n });\n subexit();\n exit2();\n return value;\n }\n function serializeData(matrix, align) {\n return markdownTable(matrix, {\n align,\n // @ts-expect-error: `markdown-table` types should support `null`.\n alignDelimiters,\n // @ts-expect-error: `markdown-table` types should support `null`.\n padding,\n // @ts-expect-error: `markdown-table` types should support `null`.\n stringLength\n });\n }\n function handleTableAsData(node2, state, info) {\n const children = node2.children;\n let index = -1;\n const result = [];\n const subexit = state.enter(\"table\");\n while (++index < children.length) {\n result[index] = handleTableRowAsData(children[index], state, info);\n }\n subexit();\n return result;\n }\n function handleTableRowAsData(node2, state, info) {\n const children = node2.children;\n let index = -1;\n const result = [];\n const subexit = state.enter(\"tableRow\");\n while (++index < children.length) {\n result[index] = handleTableCell(children[index], node2, state, info);\n }\n subexit();\n return result;\n }\n function inlineCodeWithTable(node2, parent, state) {\n let value = handle.inlineCode(node2, parent, state);\n if (state.stack.includes(\"tableCell\")) {\n value = value.replace(/\\|/g, \"\\\\$&\");\n }\n return value;\n }\n}\nfunction gfmTaskListItemFromMarkdown() {\n return {\n exit: {\n taskListCheckValueChecked: exitCheck,\n taskListCheckValueUnchecked: exitCheck,\n paragraph: exitParagraphWithTaskListItem\n }\n };\n}\nfunction gfmTaskListItemToMarkdown() {\n return {\n unsafe: [{ atBreak: true, character: \"-\", after: \"[:|-]\" }],\n handlers: { listItem: listItemWithTaskListItem }\n };\n}\nfunction exitCheck(token) {\n const node2 = this.stack[this.stack.length - 2];\n ok$1(node2.type === \"listItem\");\n node2.checked = token.type === \"taskListCheckValueChecked\";\n}\nfunction exitParagraphWithTaskListItem(token) {\n const parent = this.stack[this.stack.length - 2];\n if (parent && parent.type === \"listItem\" && typeof parent.checked === \"boolean\") {\n const node2 = this.stack[this.stack.length - 1];\n ok$1(node2.type === \"paragraph\");\n const head = node2.children[0];\n if (head && head.type === \"text\") {\n const siblings = parent.children;\n let index = -1;\n let firstParaghraph;\n while (++index < siblings.length) {\n const sibling = siblings[index];\n if (sibling.type === \"paragraph\") {\n firstParaghraph = sibling;\n break;\n }\n }\n if (firstParaghraph === node2) {\n head.value = head.value.slice(1);\n if (head.value.length === 0) {\n node2.children.shift();\n } else if (node2.position && head.position && typeof head.position.start.offset === \"number\") {\n head.position.start.column++;\n head.position.start.offset++;\n node2.position.start = Object.assign({}, head.position.start);\n }\n }\n }\n }\n this.exit(token);\n}\nfunction listItemWithTaskListItem(node2, parent, state, info) {\n const head = node2.children[0];\n const checkable = typeof node2.checked === \"boolean\" && head && head.type === \"paragraph\";\n const checkbox = \"[\" + (node2.checked ? \"x\" : \" \") + \"] \";\n const tracker = state.createTracker(info);\n if (checkable) {\n tracker.move(checkbox);\n }\n let value = handle.listItem(node2, parent, state, {\n ...info,\n ...tracker.current()\n });\n if (checkable) {\n value = value.replace(/^(?:[*+-]|\\d+\\.)([\\r\\n]| {1,3})/, check);\n }\n return value;\n function check($0) {\n return $0 + checkbox;\n }\n}\nfunction gfmFromMarkdown() {\n return [\n gfmAutolinkLiteralFromMarkdown(),\n gfmFootnoteFromMarkdown(),\n gfmStrikethroughFromMarkdown(),\n gfmTableFromMarkdown(),\n gfmTaskListItemFromMarkdown()\n ];\n}\nfunction gfmToMarkdown(options) {\n return {\n extensions: [\n gfmAutolinkLiteralToMarkdown(),\n gfmFootnoteToMarkdown(),\n gfmStrikethroughToMarkdown(),\n gfmTableToMarkdown(options),\n gfmTaskListItemToMarkdown()\n ]\n };\n}\nfunction splice(list2, start, remove, items) {\n const end = list2.length;\n let chunkStart = 0;\n let parameters;\n if (start < 0) {\n start = -start > end ? 0 : end + start;\n } else {\n start = start > end ? end : start;\n }\n remove = remove > 0 ? remove : 0;\n if (items.length < 1e4) {\n parameters = Array.from(items);\n parameters.unshift(start, remove);\n list2.splice(...parameters);\n } else {\n if (remove) list2.splice(start, remove);\n while (chunkStart < items.length) {\n parameters = items.slice(chunkStart, chunkStart + 1e4);\n parameters.unshift(start, 0);\n list2.splice(...parameters);\n chunkStart += 1e4;\n start += 1e4;\n }\n }\n}\nconst hasOwnProperty = {}.hasOwnProperty;\nfunction combineExtensions(extensions) {\n const all2 = {};\n let index = -1;\n while (++index < extensions.length) {\n syntaxExtension(all2, extensions[index]);\n }\n return all2;\n}\nfunction syntaxExtension(all2, extension) {\n let hook;\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all2, hook) ? all2[hook] : void 0;\n const left = maybe || (all2[hook] = {});\n const right = extension[hook];\n let code2;\n if (right) {\n for (code2 in right) {\n if (!hasOwnProperty.call(left, code2)) left[code2] = [];\n const value = right[code2];\n constructs(\n // @ts-expect-error Looks like a list.\n left[code2],\n Array.isArray(value) ? value : value ? [value] : []\n );\n }\n }\n }\n}\nfunction constructs(existing, list2) {\n let index = -1;\n const before = [];\n while (++index < list2.length) {\n (list2[index].add === \"after\" ? existing : before).push(list2[index]);\n }\n splice(existing, 0, 0, before);\n}\nconst wwwPrefix = {\n tokenize: tokenizeWwwPrefix,\n partial: true\n};\nconst domain = {\n tokenize: tokenizeDomain,\n partial: true\n};\nconst path = {\n tokenize: tokenizePath,\n partial: true\n};\nconst trail = {\n tokenize: tokenizeTrail,\n partial: true\n};\nconst emailDomainDotTrail = {\n tokenize: tokenizeEmailDomainDotTrail,\n partial: true\n};\nconst wwwAutolink = {\n tokenize: tokenizeWwwAutolink,\n previous: previousWww\n};\nconst protocolAutolink = {\n tokenize: tokenizeProtocolAutolink,\n previous: previousProtocol\n};\nconst emailAutolink = {\n tokenize: tokenizeEmailAutolink,\n previous: previousEmail\n};\nconst text = {};\nfunction gfmAutolinkLiteral() {\n return {\n text\n };\n}\nlet code = 48;\nwhile (code < 123) {\n text[code] = emailAutolink;\n code++;\n if (code === 58) code = 65;\n else if (code === 91) code = 97;\n}\ntext[43] = emailAutolink;\ntext[45] = emailAutolink;\ntext[46] = emailAutolink;\ntext[95] = emailAutolink;\ntext[72] = [emailAutolink, protocolAutolink];\ntext[104] = [emailAutolink, protocolAutolink];\ntext[87] = [emailAutolink, wwwAutolink];\ntext[119] = [emailAutolink, wwwAutolink];\nfunction tokenizeEmailAutolink(effects, ok2, nok) {\n const self = this;\n let dot;\n let data;\n return start;\n function start(code2) {\n if (!gfmAtext(code2) || !previousEmail.call(self, self.previous) || previousUnbalanced(self.events)) {\n return nok(code2);\n }\n effects.enter(\"literalAutolink\");\n effects.enter(\"literalAutolinkEmail\");\n return atext(code2);\n }\n function atext(code2) {\n if (gfmAtext(code2)) {\n effects.consume(code2);\n return atext;\n }\n if (code2 === 64) {\n effects.consume(code2);\n return emailDomain;\n }\n return nok(code2);\n }\n function emailDomain(code2) {\n if (code2 === 46) {\n return effects.check(\n emailDomainDotTrail,\n emailDomainAfter,\n emailDomainDot\n )(code2);\n }\n if (code2 === 45 || code2 === 95 || asciiAlphanumeric(code2)) {\n data = true;\n effects.consume(code2);\n return emailDomain;\n }\n return emailDomainAfter(code2);\n }\n function emailDomainDot(code2) {\n effects.consume(code2);\n dot = true;\n return emailDomain;\n }\n function emailDomainAfter(code2) {\n if (data && dot && asciiAlpha(self.previous)) {\n effects.exit(\"literalAutolinkEmail\");\n effects.exit(\"literalAutolink\");\n return ok2(code2);\n }\n return nok(code2);\n }\n}\nfunction tokenizeWwwAutolink(effects, ok2, nok) {\n const self = this;\n return wwwStart;\n function wwwStart(code2) {\n if (code2 !== 87 && code2 !== 119 || !previousWww.call(self, self.previous) || previousUnbalanced(self.events)) {\n return nok(code2);\n }\n effects.enter(\"literalAutolink\");\n effects.enter(\"literalAutolinkWww\");\n return effects.check(\n wwwPrefix,\n effects.attempt(domain, effects.attempt(path, wwwAfter), nok),\n nok\n )(code2);\n }\n function wwwAfter(code2) {\n effects.exit(\"literalAutolinkWww\");\n effects.exit(\"literalAutolink\");\n return ok2(code2);\n }\n}\nfunction tokenizeProtocolAutolink(effects, ok2, nok) {\n const self = this;\n let buffer = \"\";\n let seen = false;\n return protocolStart;\n function protocolStart(code2) {\n if ((code2 === 72 || code2 === 104) && previousProtocol.call(self, self.previous) && !previousUnbalanced(self.events)) {\n effects.enter(\"literalAutolink\");\n effects.enter(\"literalAutolinkHttp\");\n buffer += String.fromCodePoint(code2);\n effects.consume(code2);\n return protocolPrefixInside;\n }\n return nok(code2);\n }\n function protocolPrefixInside(code2) {\n if (asciiAlpha(code2) && buffer.length < 5) {\n buffer += String.fromCodePoint(code2);\n effects.consume(code2);\n return protocolPrefixInside;\n }\n if (code2 === 58) {\n const protocol = buffer.toLowerCase();\n if (protocol === \"http\" || protocol === \"https\") {\n effects.consume(code2);\n return protocolSlashesInside;\n }\n }\n return nok(code2);\n }\n function protocolSlashesInside(code2) {\n if (code2 === 47) {\n effects.consume(code2);\n if (seen) {\n return afterProtocol;\n }\n seen = true;\n return protocolSlashesInside;\n }\n return nok(code2);\n }\n function afterProtocol(code2) {\n return code2 === null || asciiControl(code2) || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2) || unicodePunctuation(code2) ? nok(code2) : effects.attempt(domain, effects.attempt(path, protocolAfter), nok)(code2);\n }\n function protocolAfter(code2) {\n effects.exit(\"literalAutolinkHttp\");\n effects.exit(\"literalAutolink\");\n return ok2(code2);\n }\n}\nfunction tokenizeWwwPrefix(effects, ok2, nok) {\n let size = 0;\n return wwwPrefixInside;\n function wwwPrefixInside(code2) {\n if ((code2 === 87 || code2 === 119) && size < 3) {\n size++;\n effects.consume(code2);\n return wwwPrefixInside;\n }\n if (code2 === 46 && size === 3) {\n effects.consume(code2);\n return wwwPrefixAfter;\n }\n return nok(code2);\n }\n function wwwPrefixAfter(code2) {\n return code2 === null ? nok(code2) : ok2(code2);\n }\n}\nfunction tokenizeDomain(effects, ok2, nok) {\n let underscoreInLastSegment;\n let underscoreInLastLastSegment;\n let seen;\n return domainInside;\n function domainInside(code2) {\n if (code2 === 46 || code2 === 95) {\n return effects.check(trail, domainAfter, domainAtPunctuation)(code2);\n }\n if (code2 === null || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2) || code2 !== 45 && unicodePunctuation(code2)) {\n return domainAfter(code2);\n }\n seen = true;\n effects.consume(code2);\n return domainInside;\n }\n function domainAtPunctuation(code2) {\n if (code2 === 95) {\n underscoreInLastSegment = true;\n } else {\n underscoreInLastLastSegment = underscoreInLastSegment;\n underscoreInLastSegment = void 0;\n }\n effects.consume(code2);\n return domainInside;\n }\n function domainAfter(code2) {\n if (underscoreInLastLastSegment || underscoreInLastSegment || !seen) {\n return nok(code2);\n }\n return ok2(code2);\n }\n}\nfunction tokenizePath(effects, ok2) {\n let sizeOpen = 0;\n let sizeClose = 0;\n return pathInside;\n function pathInside(code2) {\n if (code2 === 40) {\n sizeOpen++;\n effects.consume(code2);\n return pathInside;\n }\n if (code2 === 41 && sizeClose < sizeOpen) {\n return pathAtPunctuation(code2);\n }\n if (code2 === 33 || code2 === 34 || code2 === 38 || code2 === 39 || code2 === 41 || code2 === 42 || code2 === 44 || code2 === 46 || code2 === 58 || code2 === 59 || code2 === 60 || code2 === 63 || code2 === 93 || code2 === 95 || code2 === 126) {\n return effects.check(trail, ok2, pathAtPunctuation)(code2);\n }\n if (code2 === null || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2)) {\n return ok2(code2);\n }\n effects.consume(code2);\n return pathInside;\n }\n function pathAtPunctuation(code2) {\n if (code2 === 41) {\n sizeClose++;\n }\n effects.consume(code2);\n return pathInside;\n }\n}\nfunction tokenizeTrail(effects, ok2, nok) {\n return trail2;\n function trail2(code2) {\n if (code2 === 33 || code2 === 34 || code2 === 39 || code2 === 41 || code2 === 42 || code2 === 44 || code2 === 46 || code2 === 58 || code2 === 59 || code2 === 63 || code2 === 95 || code2 === 126) {\n effects.consume(code2);\n return trail2;\n }\n if (code2 === 38) {\n effects.consume(code2);\n return trailCharRefStart;\n }\n if (code2 === 93) {\n effects.consume(code2);\n return trailBracketAfter;\n }\n if (\n // `<` is an end.\n code2 === 60 || // So is whitespace.\n code2 === null || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2)\n ) {\n return ok2(code2);\n }\n return nok(code2);\n }\n function trailBracketAfter(code2) {\n if (code2 === null || code2 === 40 || code2 === 91 || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2)) {\n return ok2(code2);\n }\n return trail2(code2);\n }\n function trailCharRefStart(code2) {\n return asciiAlpha(code2) ? trailCharRefInside(code2) : nok(code2);\n }\n function trailCharRefInside(code2) {\n if (code2 === 59) {\n effects.consume(code2);\n return trail2;\n }\n if (asciiAlpha(code2)) {\n effects.consume(code2);\n return trailCharRefInside;\n }\n return nok(code2);\n }\n}\nfunction tokenizeEmailDomainDotTrail(effects, ok2, nok) {\n return start;\n function start(code2) {\n effects.consume(code2);\n return after;\n }\n function after(code2) {\n return asciiAlphanumeric(code2) ? nok(code2) : ok2(code2);\n }\n}\nfunction previousWww(code2) {\n return code2 === null || code2 === 40 || code2 === 42 || code2 === 95 || code2 === 91 || code2 === 93 || code2 === 126 || markdownLineEndingOrSpace(code2);\n}\nfunction previousProtocol(code2) {\n return !asciiAlpha(code2);\n}\nfunction previousEmail(code2) {\n return !(code2 === 47 || gfmAtext(code2));\n}\nfunction gfmAtext(code2) {\n return code2 === 43 || code2 === 45 || code2 === 46 || code2 === 95 || asciiAlphanumeric(code2);\n}\nfunction previousUnbalanced(events) {\n let index = events.length;\n let result = false;\n while (index--) {\n const token = events[index][1];\n if ((token.type === \"labelLink\" || token.type === \"labelImage\") && !token._balanced) {\n result = true;\n break;\n }\n if (token._gfmAutolinkLiteralWalkedInto) {\n result = false;\n break;\n }\n }\n if (events.length > 0 && !result) {\n events[events.length - 1][1]._gfmAutolinkLiteralWalkedInto = true;\n }\n return result;\n}\nfunction classifyCharacter(code2) {\n if (code2 === null || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2)) {\n return 1;\n }\n if (unicodePunctuation(code2)) {\n return 2;\n }\n}\nfunction resolveAll(constructs2, events, context) {\n const called = [];\n let index = -1;\n while (++index < constructs2.length) {\n const resolve = constructs2[index].resolveAll;\n if (resolve && !called.includes(resolve)) {\n events = resolve(events, context);\n called.push(resolve);\n }\n }\n return events;\n}\nfunction factorySpace(effects, ok2, type, max) {\n const limit = max ? max - 1 : Number.POSITIVE_INFINITY;\n let size = 0;\n return start;\n function start(code2) {\n if (markdownSpace(code2)) {\n effects.enter(type);\n return prefix(code2);\n }\n return ok2(code2);\n }\n function prefix(code2) {\n if (markdownSpace(code2) && size++ < limit) {\n effects.consume(code2);\n return prefix;\n }\n effects.exit(type);\n return ok2(code2);\n }\n}\nconst blankLine = {\n tokenize: tokenizeBlankLine,\n partial: true\n};\nfunction tokenizeBlankLine(effects, ok2, nok) {\n return start;\n function start(code2) {\n return markdownSpace(code2) ? factorySpace(effects, after, \"linePrefix\")(code2) : after(code2);\n }\n function after(code2) {\n return code2 === null || markdownLineEnding(code2) ? ok2(code2) : nok(code2);\n }\n}\nconst indent = {\n tokenize: tokenizeIndent,\n partial: true\n};\nfunction gfmFootnote() {\n return {\n document: {\n [91]: {\n tokenize: tokenizeDefinitionStart,\n continuation: {\n tokenize: tokenizeDefinitionContinuation\n },\n exit: gfmFootnoteDefinitionEnd\n }\n },\n text: {\n [91]: {\n tokenize: tokenizeGfmFootnoteCall\n },\n [93]: {\n add: \"after\",\n tokenize: tokenizePotentialGfmFootnoteCall,\n resolveTo: resolveToPotentialGfmFootnoteCall\n }\n }\n };\n}\nfunction tokenizePotentialGfmFootnoteCall(effects, ok2, nok) {\n const self = this;\n let index = self.events.length;\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = []);\n let labelStart;\n while (index--) {\n const token = self.events[index][1];\n if (token.type === \"labelImage\") {\n labelStart = token;\n break;\n }\n if (token.type === \"gfmFootnoteCall\" || token.type === \"labelLink\" || token.type === \"label\" || token.type === \"image\" || token.type === \"link\") {\n break;\n }\n }\n return start;\n function start(code2) {\n if (!labelStart || !labelStart._balanced) {\n return nok(code2);\n }\n const id = normalizeIdentifier(\n self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })\n );\n if (id.codePointAt(0) !== 94 || !defined.includes(id.slice(1))) {\n return nok(code2);\n }\n effects.enter(\"gfmFootnoteCallLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteCallLabelMarker\");\n return ok2(code2);\n }\n}\nfunction resolveToPotentialGfmFootnoteCall(events, context) {\n let index = events.length;\n while (index--) {\n if (events[index][1].type === \"labelImage\" && events[index][0] === \"enter\") {\n events[index][1];\n break;\n }\n }\n events[index + 1][1].type = \"data\";\n events[index + 3][1].type = \"gfmFootnoteCallLabelMarker\";\n const call = {\n type: \"gfmFootnoteCall\",\n start: Object.assign({}, events[index + 3][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n };\n const marker = {\n type: \"gfmFootnoteCallMarker\",\n start: Object.assign({}, events[index + 3][1].end),\n end: Object.assign({}, events[index + 3][1].end)\n };\n marker.end.column++;\n marker.end.offset++;\n marker.end._bufferIndex++;\n const string = {\n type: \"gfmFootnoteCallString\",\n start: Object.assign({}, marker.end),\n end: Object.assign({}, events[events.length - 1][1].start)\n };\n const chunk = {\n type: \"chunkString\",\n contentType: \"string\",\n start: Object.assign({}, string.start),\n end: Object.assign({}, string.end)\n };\n const replacement = [\n // Take the `labelImageMarker` (now `data`, the `!`)\n events[index + 1],\n events[index + 2],\n [\"enter\", call, context],\n // The `[`\n events[index + 3],\n events[index + 4],\n // The `^`.\n [\"enter\", marker, context],\n [\"exit\", marker, context],\n // Everything in between.\n [\"enter\", string, context],\n [\"enter\", chunk, context],\n [\"exit\", chunk, context],\n [\"exit\", string, context],\n // The ending (`]`, properly parsed and labelled).\n events[events.length - 2],\n events[events.length - 1],\n [\"exit\", call, context]\n ];\n events.splice(index, events.length - index + 1, ...replacement);\n return events;\n}\nfunction tokenizeGfmFootnoteCall(effects, ok2, nok) {\n const self = this;\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = []);\n let size = 0;\n let data;\n return start;\n function start(code2) {\n effects.enter(\"gfmFootnoteCall\");\n effects.enter(\"gfmFootnoteCallLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteCallLabelMarker\");\n return callStart;\n }\n function callStart(code2) {\n if (code2 !== 94) return nok(code2);\n effects.enter(\"gfmFootnoteCallMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteCallMarker\");\n effects.enter(\"gfmFootnoteCallString\");\n effects.enter(\"chunkString\").contentType = \"string\";\n return callData;\n }\n function callData(code2) {\n if (\n // Too long.\n size > 999 || // Closing brace with nothing.\n code2 === 93 && !data || // Space or tab is not supported by GFM for some reason.\n // `\\n` and `[` not being supported makes sense.\n code2 === null || code2 === 91 || markdownLineEndingOrSpace(code2)\n ) {\n return nok(code2);\n }\n if (code2 === 93) {\n effects.exit(\"chunkString\");\n const token = effects.exit(\"gfmFootnoteCallString\");\n if (!defined.includes(normalizeIdentifier(self.sliceSerialize(token)))) {\n return nok(code2);\n }\n effects.enter(\"gfmFootnoteCallLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteCallLabelMarker\");\n effects.exit(\"gfmFootnoteCall\");\n return ok2;\n }\n if (!markdownLineEndingOrSpace(code2)) {\n data = true;\n }\n size++;\n effects.consume(code2);\n return code2 === 92 ? callEscape : callData;\n }\n function callEscape(code2) {\n if (code2 === 91 || code2 === 92 || code2 === 93) {\n effects.consume(code2);\n size++;\n return callData;\n }\n return callData(code2);\n }\n}\nfunction tokenizeDefinitionStart(effects, ok2, nok) {\n const self = this;\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = []);\n let identifier;\n let size = 0;\n let data;\n return start;\n function start(code2) {\n effects.enter(\"gfmFootnoteDefinition\")._container = true;\n effects.enter(\"gfmFootnoteDefinitionLabel\");\n effects.enter(\"gfmFootnoteDefinitionLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteDefinitionLabelMarker\");\n return labelAtMarker;\n }\n function labelAtMarker(code2) {\n if (code2 === 94) {\n effects.enter(\"gfmFootnoteDefinitionMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteDefinitionMarker\");\n effects.enter(\"gfmFootnoteDefinitionLabelString\");\n effects.enter(\"chunkString\").contentType = \"string\";\n return labelInside;\n }\n return nok(code2);\n }\n function labelInside(code2) {\n if (\n // Too long.\n size > 999 || // Closing brace with nothing.\n code2 === 93 && !data || // Space or tab is not supported by GFM for some reason.\n // `\\n` and `[` not being supported makes sense.\n code2 === null || code2 === 91 || markdownLineEndingOrSpace(code2)\n ) {\n return nok(code2);\n }\n if (code2 === 93) {\n effects.exit(\"chunkString\");\n const token = effects.exit(\"gfmFootnoteDefinitionLabelString\");\n identifier = normalizeIdentifier(self.sliceSerialize(token));\n effects.enter(\"gfmFootnoteDefinitionLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteDefinitionLabelMarker\");\n effects.exit(\"gfmFootnoteDefinitionLabel\");\n return labelAfter;\n }\n if (!markdownLineEndingOrSpace(code2)) {\n data = true;\n }\n size++;\n effects.consume(code2);\n return code2 === 92 ? labelEscape : labelInside;\n }\n function labelEscape(code2) {\n if (code2 === 91 || code2 === 92 || code2 === 93) {\n effects.consume(code2);\n size++;\n return labelInside;\n }\n return labelInside(code2);\n }\n function labelAfter(code2) {\n if (code2 === 58) {\n effects.enter(\"definitionMarker\");\n effects.consume(code2);\n effects.exit(\"definitionMarker\");\n if (!defined.includes(identifier)) {\n defined.push(identifier);\n }\n return factorySpace(\n effects,\n whitespaceAfter,\n \"gfmFootnoteDefinitionWhitespace\"\n );\n }\n return nok(code2);\n }\n function whitespaceAfter(code2) {\n return ok2(code2);\n }\n}\nfunction tokenizeDefinitionContinuation(effects, ok2, nok) {\n return effects.check(blankLine, ok2, effects.attempt(indent, ok2, nok));\n}\nfunction gfmFootnoteDefinitionEnd(effects) {\n effects.exit(\"gfmFootnoteDefinition\");\n}\nfunction tokenizeIndent(effects, ok2, nok) {\n const self = this;\n return factorySpace(\n effects,\n afterPrefix,\n \"gfmFootnoteDefinitionIndent\",\n 4 + 1\n );\n function afterPrefix(code2) {\n const tail = self.events[self.events.length - 1];\n return tail && tail[1].type === \"gfmFootnoteDefinitionIndent\" && tail[2].sliceSerialize(tail[1], true).length === 4 ? ok2(code2) : nok(code2);\n }\n}\nfunction gfmStrikethrough(options) {\n const options_ = options || {};\n let single = options_.singleTilde;\n const tokenizer = {\n tokenize: tokenizeStrikethrough,\n resolveAll: resolveAllStrikethrough\n };\n if (single === null || single === void 0) {\n single = true;\n }\n return {\n text: {\n [126]: tokenizer\n },\n insideSpan: {\n null: [tokenizer]\n },\n attentionMarkers: {\n null: [126]\n }\n };\n function resolveAllStrikethrough(events, context) {\n let index = -1;\n while (++index < events.length) {\n if (events[index][0] === \"enter\" && events[index][1].type === \"strikethroughSequenceTemporary\" && events[index][1]._close) {\n let open = index;\n while (open--) {\n if (events[open][0] === \"exit\" && events[open][1].type === \"strikethroughSequenceTemporary\" && events[open][1]._open && // If the sizes are the same:\n events[index][1].end.offset - events[index][1].start.offset === events[open][1].end.offset - events[open][1].start.offset) {\n events[index][1].type = \"strikethroughSequence\";\n events[open][1].type = \"strikethroughSequence\";\n const strikethrough = {\n type: \"strikethrough\",\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[index][1].end)\n };\n const text2 = {\n type: \"strikethroughText\",\n start: Object.assign({}, events[open][1].end),\n end: Object.assign({}, events[index][1].start)\n };\n const nextEvents = [\n [\"enter\", strikethrough, context],\n [\"enter\", events[open][1], context],\n [\"exit\", events[open][1], context],\n [\"enter\", text2, context]\n ];\n const insideSpan = context.parser.constructs.insideSpan.null;\n if (insideSpan) {\n splice(\n nextEvents,\n nextEvents.length,\n 0,\n resolveAll(insideSpan, events.slice(open + 1, index), context)\n );\n }\n splice(nextEvents, nextEvents.length, 0, [\n [\"exit\", text2, context],\n [\"enter\", events[index][1], context],\n [\"exit\", events[index][1], context],\n [\"exit\", strikethrough, context]\n ]);\n splice(events, open - 1, index - open + 3, nextEvents);\n index = open + nextEvents.length - 2;\n break;\n }\n }\n }\n }\n index = -1;\n while (++index < events.length) {\n if (events[index][1].type === \"strikethroughSequenceTemporary\") {\n events[index][1].type = \"data\";\n }\n }\n return events;\n }\n function tokenizeStrikethrough(effects, ok2, nok) {\n const previous2 = this.previous;\n const events = this.events;\n let size = 0;\n return start;\n function start(code2) {\n if (previous2 === 126 && events[events.length - 1][1].type !== \"characterEscape\") {\n return nok(code2);\n }\n effects.enter(\"strikethroughSequenceTemporary\");\n return more(code2);\n }\n function more(code2) {\n const before = classifyCharacter(previous2);\n if (code2 === 126) {\n if (size > 1) return nok(code2);\n effects.consume(code2);\n size++;\n return more;\n }\n if (size < 2 && !single) return nok(code2);\n const token = effects.exit(\"strikethroughSequenceTemporary\");\n const after = classifyCharacter(code2);\n token._open = !after || after === 2 && Boolean(before);\n token._close = !before || before === 2 && Boolean(after);\n return ok2(code2);\n }\n }\n}\nclass EditMap {\n /**\n * Create a new edit map.\n */\n constructor() {\n this.map = [];\n }\n /**\n * Create an edit: a remove and/or add at a certain place.\n *\n * @param {number} index\n * @param {number} remove\n * @param {Array} add\n * @returns {undefined}\n */\n add(index, remove, add) {\n addImpl(this, index, remove, add);\n }\n // To do: add this when moving to `micromark`.\n // /**\n // * Create an edit: but insert `add` before existing additions.\n // *\n // * @param {number} index\n // * @param {number} remove\n // * @param {Array} add\n // * @returns {undefined}\n // */\n // addBefore(index, remove, add) {\n // addImpl(this, index, remove, add, true)\n // }\n /**\n * Done, change the events.\n *\n * @param {Array} events\n * @returns {undefined}\n */\n consume(events) {\n this.map.sort(function(a, b) {\n return a[0] - b[0];\n });\n if (this.map.length === 0) {\n return;\n }\n let index = this.map.length;\n const vecs = [];\n while (index > 0) {\n index -= 1;\n vecs.push(\n events.slice(this.map[index][0] + this.map[index][1]),\n this.map[index][2]\n );\n events.length = this.map[index][0];\n }\n vecs.push([...events]);\n events.length = 0;\n let slice = vecs.pop();\n while (slice) {\n events.push(...slice);\n slice = vecs.pop();\n }\n this.map.length = 0;\n }\n}\nfunction addImpl(editMap, at, remove, add) {\n let index = 0;\n if (remove === 0 && add.length === 0) {\n return;\n }\n while (index < editMap.map.length) {\n if (editMap.map[index][0] === at) {\n editMap.map[index][1] += remove;\n editMap.map[index][2].push(...add);\n return;\n }\n index += 1;\n }\n editMap.map.push([at, remove, add]);\n}\nfunction gfmTableAlign(events, index) {\n let inDelimiterRow = false;\n const align = [];\n while (index < events.length) {\n const event = events[index];\n if (inDelimiterRow) {\n if (event[0] === \"enter\") {\n if (event[1].type === \"tableContent\") {\n align.push(\n events[index + 1][1].type === \"tableDelimiterMarker\" ? \"left\" : \"none\"\n );\n }\n } else if (event[1].type === \"tableContent\") {\n if (events[index - 1][1].type === \"tableDelimiterMarker\") {\n const alignIndex = align.length - 1;\n align[alignIndex] = align[alignIndex] === \"left\" ? \"center\" : \"right\";\n }\n } else if (event[1].type === \"tableDelimiterRow\") {\n break;\n }\n } else if (event[0] === \"enter\" && event[1].type === \"tableDelimiterRow\") {\n inDelimiterRow = true;\n }\n index += 1;\n }\n return align;\n}\nfunction gfmTable() {\n return {\n flow: {\n null: {\n tokenize: tokenizeTable,\n resolveAll: resolveTable\n }\n }\n };\n}\nfunction tokenizeTable(effects, ok2, nok) {\n const self = this;\n let size = 0;\n let sizeB = 0;\n let seen;\n return start;\n function start(code2) {\n let index = self.events.length - 1;\n while (index > -1) {\n const type = self.events[index][1].type;\n if (type === \"lineEnding\" || // Note: markdown-rs uses `whitespace` instead of `linePrefix`\n type === \"linePrefix\")\n index--;\n else break;\n }\n const tail = index > -1 ? self.events[index][1].type : null;\n const next = tail === \"tableHead\" || tail === \"tableRow\" ? bodyRowStart : headRowBefore;\n if (next === bodyRowStart && self.parser.lazy[self.now().line]) {\n return nok(code2);\n }\n return next(code2);\n }\n function headRowBefore(code2) {\n effects.enter(\"tableHead\");\n effects.enter(\"tableRow\");\n return headRowStart(code2);\n }\n function headRowStart(code2) {\n if (code2 === 124) {\n return headRowBreak(code2);\n }\n seen = true;\n sizeB += 1;\n return headRowBreak(code2);\n }\n function headRowBreak(code2) {\n if (code2 === null) {\n return nok(code2);\n }\n if (markdownLineEnding(code2)) {\n if (sizeB > 1) {\n sizeB = 0;\n self.interrupt = true;\n effects.exit(\"tableRow\");\n effects.enter(\"lineEnding\");\n effects.consume(code2);\n effects.exit(\"lineEnding\");\n return headDelimiterStart;\n }\n return nok(code2);\n }\n if (markdownSpace(code2)) {\n return factorySpace(effects, headRowBreak, \"whitespace\")(code2);\n }\n sizeB += 1;\n if (seen) {\n seen = false;\n size += 1;\n }\n if (code2 === 124) {\n effects.enter(\"tableCellDivider\");\n effects.consume(code2);\n effects.exit(\"tableCellDivider\");\n seen = true;\n return headRowBreak;\n }\n effects.enter(\"data\");\n return headRowData(code2);\n }\n function headRowData(code2) {\n if (code2 === null || code2 === 124 || markdownLineEndingOrSpace(code2)) {\n effects.exit(\"data\");\n return headRowBreak(code2);\n }\n effects.consume(code2);\n return code2 === 92 ? headRowEscape : headRowData;\n }\n function headRowEscape(code2) {\n if (code2 === 92 || code2 === 124) {\n effects.consume(code2);\n return headRowData;\n }\n return headRowData(code2);\n }\n function headDelimiterStart(code2) {\n self.interrupt = false;\n if (self.parser.lazy[self.now().line]) {\n return nok(code2);\n }\n effects.enter(\"tableDelimiterRow\");\n seen = false;\n if (markdownSpace(code2)) {\n return factorySpace(\n effects,\n headDelimiterBefore,\n \"linePrefix\",\n self.parser.constructs.disable.null.includes(\"codeIndented\") ? void 0 : 4\n )(code2);\n }\n return headDelimiterBefore(code2);\n }\n function headDelimiterBefore(code2) {\n if (code2 === 45 || code2 === 58) {\n return headDelimiterValueBefore(code2);\n }\n if (code2 === 124) {\n seen = true;\n effects.enter(\"tableCellDivider\");\n effects.consume(code2);\n effects.exit(\"tableCellDivider\");\n return headDelimiterCellBefore;\n }\n return headDelimiterNok(code2);\n }\n function headDelimiterCellBefore(code2) {\n if (markdownSpace(code2)) {\n return factorySpace(effects, headDelimiterValueBefore, \"whitespace\")(code2);\n }\n return headDelimiterValueBefore(code2);\n }\n function headDelimiterValueBefore(code2) {\n if (code2 === 58) {\n sizeB += 1;\n seen = true;\n effects.enter(\"tableDelimiterMarker\");\n effects.consume(code2);\n effects.exit(\"tableDelimiterMarker\");\n return headDelimiterLeftAlignmentAfter;\n }\n if (code2 === 45) {\n sizeB += 1;\n return headDelimiterLeftAlignmentAfter(code2);\n }\n if (code2 === null || markdownLineEnding(code2)) {\n return headDelimiterCellAfter(code2);\n }\n return headDelimiterNok(code2);\n }\n function headDelimiterLeftAlignmentAfter(code2) {\n if (code2 === 45) {\n effects.enter(\"tableDelimiterFiller\");\n return headDelimiterFiller(code2);\n }\n return headDelimiterNok(code2);\n }\n function headDelimiterFiller(code2) {\n if (code2 === 45) {\n effects.consume(code2);\n return headDelimiterFiller;\n }\n if (code2 === 58) {\n seen = true;\n effects.exit(\"tableDelimiterFiller\");\n effects.enter(\"tableDelimiterMarker\");\n effects.consume(code2);\n effects.exit(\"tableDelimiterMarker\");\n return headDelimiterRightAlignmentAfter;\n }\n effects.exit(\"tableDelimiterFiller\");\n return headDelimiterRightAlignmentAfter(code2);\n }\n function headDelimiterRightAlignmentAfter(code2) {\n if (markdownSpace(code2)) {\n return factorySpace(effects, headDelimiterCellAfter, \"whitespace\")(code2);\n }\n return headDelimiterCellAfter(code2);\n }\n function headDelimiterCellAfter(code2) {\n if (code2 === 124) {\n return headDelimiterBefore(code2);\n }\n if (code2 === null || markdownLineEnding(code2)) {\n if (!seen || size !== sizeB) {\n return headDelimiterNok(code2);\n }\n effects.exit(\"tableDelimiterRow\");\n effects.exit(\"tableHead\");\n return ok2(code2);\n }\n return headDelimiterNok(code2);\n }\n function headDelimiterNok(code2) {\n return nok(code2);\n }\n function bodyRowStart(code2) {\n effects.enter(\"tableRow\");\n return bodyRowBreak(code2);\n }\n function bodyRowBreak(code2) {\n if (code2 === 124) {\n effects.enter(\"tableCellDivider\");\n effects.consume(code2);\n effects.exit(\"tableCellDivider\");\n return bodyRowBreak;\n }\n if (code2 === null || markdownLineEnding(code2)) {\n effects.exit(\"tableRow\");\n return ok2(code2);\n }\n if (markdownSpace(code2)) {\n return factorySpace(effects, bodyRowBreak, \"whitespace\")(code2);\n }\n effects.enter(\"data\");\n return bodyRowData(code2);\n }\n function bodyRowData(code2) {\n if (code2 === null || code2 === 124 || markdownLineEndingOrSpace(code2)) {\n effects.exit(\"data\");\n return bodyRowBreak(code2);\n }\n effects.consume(code2);\n return code2 === 92 ? bodyRowEscape : bodyRowData;\n }\n function bodyRowEscape(code2) {\n if (code2 === 92 || code2 === 124) {\n effects.consume(code2);\n return bodyRowData;\n }\n return bodyRowData(code2);\n }\n}\nfunction resolveTable(events, context) {\n let index = -1;\n let inFirstCellAwaitingPipe = true;\n let rowKind = 0;\n let lastCell = [0, 0, 0, 0];\n let cell = [0, 0, 0, 0];\n let afterHeadAwaitingFirstBodyRow = false;\n let lastTableEnd = 0;\n let currentTable;\n let currentBody;\n let currentCell;\n const map2 = new EditMap();\n while (++index < events.length) {\n const event = events[index];\n const token = event[1];\n if (event[0] === \"enter\") {\n if (token.type === \"tableHead\") {\n afterHeadAwaitingFirstBodyRow = false;\n if (lastTableEnd !== 0) {\n flushTableEnd(map2, context, lastTableEnd, currentTable, currentBody);\n currentBody = void 0;\n lastTableEnd = 0;\n }\n currentTable = {\n type: \"table\",\n start: Object.assign({}, token.start),\n // Note: correct end is set later.\n end: Object.assign({}, token.end)\n };\n map2.add(index, 0, [[\"enter\", currentTable, context]]);\n } else if (token.type === \"tableRow\" || token.type === \"tableDelimiterRow\") {\n inFirstCellAwaitingPipe = true;\n currentCell = void 0;\n lastCell = [0, 0, 0, 0];\n cell = [0, index + 1, 0, 0];\n if (afterHeadAwaitingFirstBodyRow) {\n afterHeadAwaitingFirstBodyRow = false;\n currentBody = {\n type: \"tableBody\",\n start: Object.assign({}, token.start),\n // Note: correct end is set later.\n end: Object.assign({}, token.end)\n };\n map2.add(index, 0, [[\"enter\", currentBody, context]]);\n }\n rowKind = token.type === \"tableDelimiterRow\" ? 2 : currentBody ? 3 : 1;\n } else if (rowKind && (token.type === \"data\" || token.type === \"tableDelimiterMarker\" || token.type === \"tableDelimiterFiller\")) {\n inFirstCellAwaitingPipe = false;\n if (cell[2] === 0) {\n if (lastCell[1] !== 0) {\n cell[0] = cell[1];\n currentCell = flushCell(\n map2,\n context,\n lastCell,\n rowKind,\n void 0,\n currentCell\n );\n lastCell = [0, 0, 0, 0];\n }\n cell[2] = index;\n }\n } else if (token.type === \"tableCellDivider\") {\n if (inFirstCellAwaitingPipe) {\n inFirstCellAwaitingPipe = false;\n } else {\n if (lastCell[1] !== 0) {\n cell[0] = cell[1];\n currentCell = flushCell(\n map2,\n context,\n lastCell,\n rowKind,\n void 0,\n currentCell\n );\n }\n lastCell = cell;\n cell = [lastCell[1], index, 0, 0];\n }\n }\n } else if (token.type === \"tableHead\") {\n afterHeadAwaitingFirstBodyRow = true;\n lastTableEnd = index;\n } else if (token.type === \"tableRow\" || token.type === \"tableDelimiterRow\") {\n lastTableEnd = index;\n if (lastCell[1] !== 0) {\n cell[0] = cell[1];\n currentCell = flushCell(\n map2,\n context,\n lastCell,\n rowKind,\n index,\n currentCell\n );\n } else if (cell[1] !== 0) {\n currentCell = flushCell(map2, context, cell, rowKind, index, currentCell);\n }\n rowKind = 0;\n } else if (rowKind && (token.type === \"data\" || token.type === \"tableDelimiterMarker\" || token.type === \"tableDelimiterFiller\")) {\n cell[3] = index;\n }\n }\n if (lastTableEnd !== 0) {\n flushTableEnd(map2, context, lastTableEnd, currentTable, currentBody);\n }\n map2.consume(context.events);\n index = -1;\n while (++index < context.events.length) {\n const event = context.events[index];\n if (event[0] === \"enter\" && event[1].type === \"table\") {\n event[1]._align = gfmTableAlign(context.events, index);\n }\n }\n return events;\n}\nfunction flushCell(map2, context, range, rowKind, rowEnd, previousCell) {\n const groupName = rowKind === 1 ? \"tableHeader\" : rowKind === 2 ? \"tableDelimiter\" : \"tableData\";\n const valueName = \"tableContent\";\n if (range[0] !== 0) {\n previousCell.end = Object.assign({}, getPoint(context.events, range[0]));\n map2.add(range[0], 0, [[\"exit\", previousCell, context]]);\n }\n const now = getPoint(context.events, range[1]);\n previousCell = {\n type: groupName,\n start: Object.assign({}, now),\n // Note: correct end is set later.\n end: Object.assign({}, now)\n };\n map2.add(range[1], 0, [[\"enter\", previousCell, context]]);\n if (range[2] !== 0) {\n const relatedStart = getPoint(context.events, range[2]);\n const relatedEnd = getPoint(context.events, range[3]);\n const valueToken = {\n type: valueName,\n start: Object.assign({}, relatedStart),\n end: Object.assign({}, relatedEnd)\n };\n map2.add(range[2], 0, [[\"enter\", valueToken, context]]);\n if (rowKind !== 2) {\n const start = context.events[range[2]];\n const end = context.events[range[3]];\n start[1].end = Object.assign({}, end[1].end);\n start[1].type = \"chunkText\";\n start[1].contentType = \"text\";\n if (range[3] > range[2] + 1) {\n const a = range[2] + 1;\n const b = range[3] - range[2] - 1;\n map2.add(a, b, []);\n }\n }\n map2.add(range[3] + 1, 0, [[\"exit\", valueToken, context]]);\n }\n if (rowEnd !== void 0) {\n previousCell.end = Object.assign({}, getPoint(context.events, rowEnd));\n map2.add(rowEnd, 0, [[\"exit\", previousCell, context]]);\n previousCell = void 0;\n }\n return previousCell;\n}\nfunction flushTableEnd(map2, context, index, table, tableBody) {\n const exits = [];\n const related = getPoint(context.events, index);\n if (tableBody) {\n tableBody.end = Object.assign({}, related);\n exits.push([\"exit\", tableBody, context]);\n }\n table.end = Object.assign({}, related);\n exits.push([\"exit\", table, context]);\n map2.add(index + 1, 0, exits);\n}\nfunction getPoint(events, index) {\n const event = events[index];\n const side = event[0] === \"enter\" ? \"start\" : \"end\";\n return event[1][side];\n}\nconst tasklistCheck = {\n tokenize: tokenizeTasklistCheck\n};\nfunction gfmTaskListItem() {\n return {\n text: {\n [91]: tasklistCheck\n }\n };\n}\nfunction tokenizeTasklistCheck(effects, ok2, nok) {\n const self = this;\n return open;\n function open(code2) {\n if (\n // Exit if there’s stuff before.\n self.previous !== null || // Exit if not in the first content that is the first child of a list\n // item.\n !self._gfmTasklistFirstContentOfListItem\n ) {\n return nok(code2);\n }\n effects.enter(\"taskListCheck\");\n effects.enter(\"taskListCheckMarker\");\n effects.consume(code2);\n effects.exit(\"taskListCheckMarker\");\n return inside;\n }\n function inside(code2) {\n if (markdownLineEndingOrSpace(code2)) {\n effects.enter(\"taskListCheckValueUnchecked\");\n effects.consume(code2);\n effects.exit(\"taskListCheckValueUnchecked\");\n return close;\n }\n if (code2 === 88 || code2 === 120) {\n effects.enter(\"taskListCheckValueChecked\");\n effects.consume(code2);\n effects.exit(\"taskListCheckValueChecked\");\n return close;\n }\n return nok(code2);\n }\n function close(code2) {\n if (code2 === 93) {\n effects.enter(\"taskListCheckMarker\");\n effects.consume(code2);\n effects.exit(\"taskListCheckMarker\");\n effects.exit(\"taskListCheck\");\n return after;\n }\n return nok(code2);\n }\n function after(code2) {\n if (markdownLineEnding(code2)) {\n return ok2(code2);\n }\n if (markdownSpace(code2)) {\n return effects.check(\n {\n tokenize: spaceThenNonSpace\n },\n ok2,\n nok\n )(code2);\n }\n return nok(code2);\n }\n}\nfunction spaceThenNonSpace(effects, ok2, nok) {\n return factorySpace(effects, after, \"whitespace\");\n function after(code2) {\n return code2 === null ? nok(code2) : ok2(code2);\n }\n}\nfunction gfm(options) {\n return combineExtensions([\n gfmAutolinkLiteral(),\n gfmFootnote(),\n gfmStrikethrough(options),\n gfmTable(),\n gfmTaskListItem()\n ]);\n}\nconst emptyOptions = {};\nfunction remarkGfm(options) {\n const self = (\n /** @type {Processor} */\n this\n );\n const settings = options || emptyOptions;\n const data = self.data();\n const micromarkExtensions = data.micromarkExtensions || (data.micromarkExtensions = []);\n const fromMarkdownExtensions = data.fromMarkdownExtensions || (data.fromMarkdownExtensions = []);\n const toMarkdownExtensions = data.toMarkdownExtensions || (data.toMarkdownExtensions = []);\n micromarkExtensions.push(gfm(settings));\n fromMarkdownExtensions.push(gfmFromMarkdown());\n toMarkdownExtensions.push(gfmToMarkdown(settings));\n}\nconst LINK_PROTOCOLS = [\"http\", \"https\", \"mailto\", \"tel\"];\nconst rehypeHighlight = ref(null);\nasync function importRehypeHighlightLibrary() {\n const module = await import(\"rehype-highlight\");\n rehypeHighlight.value = module.default;\n}\nconst _sfc_main = {\n name: \"NcRichText\",\n components: {\n NcReferenceList\n },\n props: {\n text: {\n type: String,\n default: \"\"\n },\n arguments: {\n type: Object,\n default: () => {\n return {};\n }\n },\n referenceLimit: {\n type: Number,\n default: 0\n },\n referenceInteractive: {\n type: Boolean,\n default: true\n },\n referenceInteractiveOptIn: {\n type: Boolean,\n default: false\n },\n /** Provide data upfront to avoid extra http request */\n references: {\n type: Array,\n default: null\n },\n /** Provide basic Markdown syntax */\n useMarkdown: {\n type: Boolean,\n default: false\n },\n /** Provide GitHub Flavored Markdown syntax */\n useExtendedMarkdown: {\n type: Boolean,\n default: false\n },\n /** Provide event from rendered markdown inputs */\n interactive: {\n type: Boolean,\n default: false\n },\n autolink: {\n type: Boolean,\n default: true\n }\n },\n emits: [\"interact:todo\"],\n data() {\n return {\n parentId: GenRandomId(5)\n };\n },\n methods: {\n renderPlaintext(h) {\n const context = this;\n const placeholders = this.text.split(/(\\{[a-z\\-_.0-9]+\\})/ig).map(function(entry, index, list2) {\n const matches = entry.match(/^\\{([a-z\\-_.0-9]+)\\}$/i);\n if (!matches) {\n return prepareTextNode({ h, context }, entry);\n }\n const argumentId = matches[1];\n const argument = context.arguments[argumentId];\n if (typeof argument === \"object\") {\n const { component, props } = argument;\n return h(component, {\n props,\n class: \"rich-text--component\"\n });\n }\n if (argument) {\n return h(\"span\", { class: \"rich-text--fallback\" }, argument);\n }\n return entry;\n });\n return h(\"div\", { class: \"rich-text--wrapper\" }, [\n h(\"div\", {}, placeholders.flat()),\n this.referenceLimit > 0 ? h(\"div\", { class: \"rich-text--reference-widget\" }, [\n h(NcReferenceList, {\n props: {\n text: this.text,\n referenceData: this.references,\n interactive: this.referenceInteractive,\n interactiveOptIn: this.referenceInteractiveOptIn\n }\n })\n ]) : null\n ]);\n },\n renderMarkdown(h) {\n const renderedMarkdown = unified().use(remarkParse).use(remarkAutolink, {\n autolink: this.autolink,\n useMarkdown: this.useMarkdown,\n useExtendedMarkdown: this.useExtendedMarkdown\n }).use(remarkUnescape).use(this.useExtendedMarkdown ? remarkGfm : void 0).use(breaks).use(remarkUnlinkProtocols, { except: LINK_PROTOCOLS }).use(remark2rehype, {\n handlers: {\n component(toHast, node2) {\n return toHast(node2, node2.component, { value: node2.value });\n }\n }\n }).use(this.useExtendedMarkdown ? rehypeHighlight.value : void 0).use(remarkPlaceholder).use(rehypeExternalLinks, {\n target: \"_blank\",\n rel: [\"noopener noreferrer\"]\n }).use(rehype2react, {\n createElement: (tag, attrs, children) => {\n if (!tag.startsWith(\"#\")) {\n if (this.useExtendedMarkdown) {\n if (tag === \"code\" && !rehypeHighlight.value && attrs?.attrs?.class?.includes(\"language\")) {\n importRehypeHighlightLibrary();\n }\n let nestedNode = null;\n if (tag === \"li\" && Array.isArray(children) && children[0].tag === \"input\" && children[0].data.attrs.type === \"checkbox\") {\n const [inputNode, ...labelParts] = children;\n const nestedNodeIndex = labelParts.findIndex((child) => [\"ul\", \"ol\", \"li\", \"blockquote\", \"pre\"].includes(child.tag));\n if (nestedNodeIndex !== -1) {\n nestedNode = labelParts[nestedNodeIndex];\n labelParts.splice(nestedNodeIndex);\n }\n const id = this.parentId + \"-markdown-input-\" + GenRandomId(5);\n const inputComponent = h(NcCheckboxRadioSwitch, {\n attrs: {\n ...inputNode.data.attrs,\n id,\n disabled: !this.interactive\n },\n on: {\n \"update:checked\": () => {\n this.$emit(\"interact:todo\", id);\n }\n }\n }, labelParts);\n return h(tag, attrs, [inputComponent, nestedNode]);\n }\n }\n if (tag === \"a\") {\n const route = getRoute(this.$router, attrs.attrs.href);\n if (route) {\n delete attrs.attrs.href;\n delete attrs.attrs.target;\n return h(RouterLink, {\n ...attrs,\n props: {\n to: route\n }\n }, children);\n }\n }\n return h(tag, attrs, children);\n }\n const placeholder = this.arguments[tag.slice(1)];\n if (!placeholder) {\n return h(\"span\", { ...{ attrs }, ...{ class: \"rich-text--fallback\" } }, [`{${tag.slice(1)}}`]);\n }\n if (!placeholder.component) {\n return h(\"span\", attrs, [placeholder]);\n }\n return h(\n placeholder.component,\n {\n attrs,\n props: placeholder.props,\n class: \"rich-text--component\"\n },\n children\n );\n },\n prefix: false\n }).processSync(\n this.text.replace(/<[^>]+>/g, (match) => match.replace(/\")\n ).result;\n return h(\"div\", { class: \"rich-text--wrapper rich-text--wrapper-markdown\" }, [\n renderedMarkdown,\n this.referenceLimit > 0 ? h(\"div\", { class: \"rich-text--reference-widget\" }, [\n h(NcReferenceList, {\n props: {\n text: this.text,\n referenceData: this.references,\n interactive: this.referenceInteractive,\n interactiveOptIn: this.referenceInteractiveOptIn\n }\n })\n ]) : null\n ]);\n }\n },\n render(h) {\n return this.useMarkdown || this.useExtendedMarkdown ? this.renderMarkdown(h) : this.renderPlaintext(h);\n }\n};\nconst _sfc_render = null;\nconst _sfc_staticRenderFns = null;\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"ddd5e67e\"\n);\nconst NcRichText = __component__.exports;\nexport {\n NcRichText as N,\n NcReferenceList as a\n};\n//# sourceMappingURL=NcRichText-CwXSzf21.mjs.map\n"],"file":"js/Activity-D9_OQEhb.chunk.mjs"} \ No newline at end of file diff --git a/js/ActivityTab-CN3bF_1C.chunk.mjs b/js/ActivityTab-CUH-IiNN.chunk.mjs similarity index 94% rename from js/ActivityTab-CN3bF_1C.chunk.mjs rename to js/ActivityTab-CUH-IiNN.chunk.mjs index 254fafb88..1a359e85e 100644 --- a/js/ActivityTab-CN3bF_1C.chunk.mjs +++ b/js/ActivityTab-CUH-IiNN.chunk.mjs @@ -1,4 +1,4 @@ (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode(".activity[data-v-7e59872d]{display:flex;flex-direction:column;overflow:hidden;height:100%}.activity__actions[data-v-7e59872d]{display:flex;flex-direction:column;width:100%}.activity__list[data-v-7e59872d]{flex-grow:1;overflow:scroll}.activity__empty-content[data-v-7e59872d]{height:100%}[data-v-7e59872d] .empty-content__icon span{background-size:64px;width:64px;height:64px}")),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})(); /*! third party licenses: js/vendor.LICENSE.txt */ -import{c as r,e as c,N as l,f as u,v}from"./NcCheckboxRadioSwitch-Di9rSADK-CehrbmLY.chunk.mjs";import{d as f,e as p,o as d,g as y,k as g,t as n}from"./translation-CD_FiYBO-Bp9rUH-Z.chunk.mjs";import{N as m,A as h,a as _}from"./Activity-CMUHXdF1.chunk.mjs";import{g as b,a as A,b as o}from"./api-CHOoGFcp.chunk.mjs";import{l as I}from"./logger-BtUR_6uh.chunk.mjs";import{l as S}from"./activity-sidebar.mjs";import"./_commonjsHelpers-BdswosdL.chunk.mjs";import"./preload-helper-CfzTJz-5.chunk.mjs";const N=f({__name:"ActivitySidebarPlugin",props:{plugin:null,fileInfo:null},emits:["reload-activities"],setup(t,{emit:i}){const s=t,a=p();return d(()=>s.plugin.mount(a.value,{context:y()?.proxy,fileInfo:s.fileInfo,reload:()=>i("reload-activities")})),g(()=>s.plugin.unmount()),{__sfc:!0,props:s,emit:i,attachTarget:a}}});var P=function(){var t=this,i=t._self._c;return t._self._setupProxy,i("div",{ref:"attachTarget"})},x=[],C=r(N,P,x,!1,null,null);const w=C.exports,k={name:"ActivityTab",components:{Activity:h,NcEmptyContent:m,NcIconSvgWrapper:l,NcLoadingIcon:c,ActivitySidebarPlugin:w},data(){return{error:"",loading:!0,fileInfo:null,activities:[],lightningBoltSVG:S,sidebarPlugins:[]}},mounted(){this.sidebarPlugins=o()},methods:{async update(t){this.sidebarPlugins=[];let i=o();i.length>0&&this.$nextTick(()=>{this.sidebarPlugins=i}),this.fileInfo=t,this.resetState(),await this.getActivities()},async getActivities(){try{this.loading=!0;const t=await this.processActivities(await this.loadRealActivities()),i=await A({fileInfo:this.fileInfo});this.activities=[...t,...i].sort((s,a)=>a.timestamp-s.timestamp)}catch(t){this.error=n("activity","Unable to load the activity list"),console.error("Error loading the activity list",t)}finally{this.loading=!1}},resetState(){this.loading=!0,this.error="",this.activities=[]},async loadRealActivities(){try{const{data:t}=await u.get(v("apps/activity/api/v2/activity/filter"),{params:{format:"json",object_type:"files",object_id:this.fileInfo.id}});return t.ocs.data}catch(t){if(t.response!==void 0&&t.response.status===304)return[];throw e}},processActivities(t){t=t.map(s=>new _(s)),I.debug(`Processed ${t.length} activity(ies)`,{activities:t,fileInfo:this.fileInfo});const i=b();return t.filter(s=>!i||i.every(a=>a(s)))},t:n}};var E=function(){var t=this,i=t._self._c;return i("div",{staticClass:"activity",class:{"icon-loading":t.loading}},[t.error?i("NcEmptyContent",{attrs:{name:t.error},scopedSlots:t._u([{key:"icon",fn:function(){return[i("NcIconSvgWrapper",{attrs:{svg:t.lightningBoltSVG}})]},proxy:!0}],null,!1,63559581)}):[t.sidebarPlugins.length>0?i("div",{staticClass:"activity__actions"},t._l(t.sidebarPlugins,function(s,a){return i("ActivitySidebarPlugin",{key:a,attrs:{plugin:s,"file-info":t.fileInfo},on:{"reload-activities":function(L){return t.getActivities()}}})}),1):t._e(),t.loading?i("NcEmptyContent",{staticClass:"activity__empty-content",attrs:{name:t.t("activity","Loading activities")},scopedSlots:t._u([{key:"icon",fn:function(){return[i("NcLoadingIcon")]},proxy:!0}],null,!1,3085876643)}):t.activities.length===0?i("NcEmptyContent",{staticClass:"activity__empty-content",attrs:{name:t.t("activity","No activity yet")},scopedSlots:t._u([{key:"icon",fn:function(){return[i("span",{staticClass:"icon-activity"})]},proxy:!0}])}):i("ul",{staticClass:"activity__list"},t._l(t.activities,function(s){return i("Activity",{key:s.id,attrs:{activity:s,"show-previews":!1},on:{reload:function(a){return t.getActivities()}}})}),1)]],2)},T=[],j=r(k,E,T,!1,null,"7e59872d");const q=j.exports;export{q as default}; -//# sourceMappingURL=ActivityTab-CN3bF_1C.chunk.mjs.map +import{c as r,e as c,N as l,f as u,v}from"./NcCheckboxRadioSwitch-VeztTzpz-H8x3F-aj.chunk.mjs";import{d as f,f as p,o as d,g as y,l as g,t as n}from"./translation-CD_FiYBO-DvZn3gAh.chunk.mjs";import{N as m,A as h,a as _}from"./Activity-D9_OQEhb.chunk.mjs";import{g as b,a as A,b as o}from"./api-CHOoGFcp.chunk.mjs";import{l as I}from"./logger-BtUR_6uh.chunk.mjs";import{l as S}from"./activity-sidebar.mjs";import"./_commonjsHelpers-BdswosdL.chunk.mjs";import"./preload-helper-CfzTJz-5.chunk.mjs";const N=f({__name:"ActivitySidebarPlugin",props:{plugin:null,fileInfo:null},emits:["reload-activities"],setup(t,{emit:i}){const s=t,a=p();return d(()=>s.plugin.mount(a.value,{context:y()?.proxy,fileInfo:s.fileInfo,reload:()=>i("reload-activities")})),g(()=>s.plugin.unmount()),{__sfc:!0,props:s,emit:i,attachTarget:a}}});var P=function(){var t=this,i=t._self._c;return t._self._setupProxy,i("div",{ref:"attachTarget"})},x=[],C=r(N,P,x,!1,null,null);const w=C.exports,k={name:"ActivityTab",components:{Activity:h,NcEmptyContent:m,NcIconSvgWrapper:l,NcLoadingIcon:c,ActivitySidebarPlugin:w},data(){return{error:"",loading:!0,fileInfo:null,activities:[],lightningBoltSVG:S,sidebarPlugins:[]}},mounted(){this.sidebarPlugins=o()},methods:{async update(t){this.sidebarPlugins=[];let i=o();i.length>0&&this.$nextTick(()=>{this.sidebarPlugins=i}),this.fileInfo=t,this.resetState(),await this.getActivities()},async getActivities(){try{this.loading=!0;const t=await this.processActivities(await this.loadRealActivities()),i=await A({fileInfo:this.fileInfo});this.activities=[...t,...i].sort((s,a)=>a.timestamp-s.timestamp)}catch(t){this.error=n("activity","Unable to load the activity list"),console.error("Error loading the activity list",t)}finally{this.loading=!1}},resetState(){this.loading=!0,this.error="",this.activities=[]},async loadRealActivities(){try{const{data:t}=await u.get(v("apps/activity/api/v2/activity/filter"),{params:{format:"json",object_type:"files",object_id:this.fileInfo.id}});return t.ocs.data}catch(t){if(t.response!==void 0&&t.response.status===304)return[];throw e}},processActivities(t){t=t.map(s=>new _(s)),I.debug(`Processed ${t.length} activity(ies)`,{activities:t,fileInfo:this.fileInfo});const i=b();return t.filter(s=>!i||i.every(a=>a(s)))},t:n}};var E=function(){var t=this,i=t._self._c;return i("div",{staticClass:"activity",class:{"icon-loading":t.loading}},[t.error?i("NcEmptyContent",{attrs:{name:t.error},scopedSlots:t._u([{key:"icon",fn:function(){return[i("NcIconSvgWrapper",{attrs:{svg:t.lightningBoltSVG}})]},proxy:!0}],null,!1,63559581)}):[t.sidebarPlugins.length>0?i("div",{staticClass:"activity__actions"},t._l(t.sidebarPlugins,function(s,a){return i("ActivitySidebarPlugin",{key:a,attrs:{plugin:s,"file-info":t.fileInfo},on:{"reload-activities":function(L){return t.getActivities()}}})}),1):t._e(),t.loading?i("NcEmptyContent",{staticClass:"activity__empty-content",attrs:{name:t.t("activity","Loading activities")},scopedSlots:t._u([{key:"icon",fn:function(){return[i("NcLoadingIcon")]},proxy:!0}],null,!1,3085876643)}):t.activities.length===0?i("NcEmptyContent",{staticClass:"activity__empty-content",attrs:{name:t.t("activity","No activity yet")},scopedSlots:t._u([{key:"icon",fn:function(){return[i("span",{staticClass:"icon-activity"})]},proxy:!0}])}):i("ul",{staticClass:"activity__list"},t._l(t.activities,function(s){return i("Activity",{key:s.id,attrs:{activity:s,"show-previews":!1},on:{reload:function(a){return t.getActivities()}}})}),1)]],2)},T=[],j=r(k,E,T,!1,null,"7e59872d");const q=j.exports;export{q as default}; +//# sourceMappingURL=ActivityTab-CUH-IiNN.chunk.mjs.map diff --git a/js/ActivityTab-CN3bF_1C.chunk.mjs.map b/js/ActivityTab-CUH-IiNN.chunk.mjs.map similarity index 99% rename from js/ActivityTab-CN3bF_1C.chunk.mjs.map rename to js/ActivityTab-CUH-IiNN.chunk.mjs.map index 6673ebab8..f13c74759 100644 --- a/js/ActivityTab-CN3bF_1C.chunk.mjs.map +++ b/js/ActivityTab-CUH-IiNN.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"ActivityTab-CN3bF_1C.chunk.mjs","sources":["../src/components/ActivitySidebarPlugin.vue","../src/views/ActivityTab.vue"],"sourcesContent":["\n\n\n\n\n","\n\n\n\n\n\n\n"],"names":["attachTarget","ref","onMounted","props","getCurrentInstance","emit","onBeforeUnmount","_sfc_main","Activity","NcEmptyContent","NcIconSvgWrapper","NcLoadingIcon","ActivitySidebarPlugin","lightningBoltSVG","getSidebarActions","fileInfo","sidebarPlugins","activities","otherEntries","getAdditionalEntries","a","b","error","t","data","axios","generateOcsUrl","activity","ActivityModel","logger","filters","getActivityFilters","filter"],"mappings":";onBAuBMA,EAAeC,EAAoB,EAEzC,OAAAC,EAAU,IAAMC,EAAM,OAAO,MAAMH,EAAa,MAAyB,CACxE,QAASI,KAAsB,MAC/B,SAAUD,EAAM,SAChB,OAAQ,IAAME,EAAK,mBAAmB,CAAA,CACtC,CAAC,EACFC,EAAgB,IAAMH,EAAM,OAAO,QAAA,CAAS,gMCqC5CI,EAAA,CACA,KAAA,cACA,WAAA,CACA,SAAAC,EACA,eAAAC,EACA,iBAAAC,EACA,cAAAC,EACA,sBAAAC,CACA,EACA,MAAA,CACA,MAAA,CACA,MAAA,GACA,QAAA,GACA,SAAA,KACA,WAAA,CAAA,EACA,iBAAAC,EACA,eAAA,CAAA,CACA,CACA,EACA,SAAA,CACA,KAAA,eAAAC,EAAA,CACA,EACA,QAAA,CAMA,MAAA,OAAAC,EAAA,CACA,KAAA,eAAA,CAAA,EACA,IAAAC,EAAAF,EAAA,EACAE,EAAA,OAAA,GACA,KAAA,UAAA,IAAA,CACA,KAAA,eAAAA,CACA,CAAA,EAGA,KAAA,SAAAD,EACA,KAAA,WAAA,EACA,MAAA,KAAA,cAAA,CACA,EAIA,MAAA,eAAA,CACA,GAAA,CACA,KAAA,QAAA,GAEA,MAAAE,EAAA,MAAA,KAAA,kBAAA,MAAA,KAAA,mBAAA,CAAA,EACAC,EAAA,MAAAC,EAAA,CAAA,SAAA,KAAA,QAAA,CAAA,EACA,KAAA,WAAA,CAAA,GAAAF,EAAA,GAAAC,CAAA,EAAA,KAAA,CAAAE,EAAAC,IAAAA,EAAA,UAAAD,EAAA,SAAA,CACA,OAAAE,EAAA,CACA,KAAA,MAAAC,EAAA,WAAA,kCAAA,EACA,QAAA,MAAA,kCAAAD,CAAA,CACA,QAAA,CACA,KAAA,QAAA,EACA,CACA,EAIA,YAAA,CACA,KAAA,QAAA,GACA,KAAA,MAAA,GACA,KAAA,WAAA,CAAA,CACA,EAKA,MAAA,oBAAA,CACA,GAAA,CACA,KAAA,CAAA,KAAAE,CAAA,EAAA,MAAAC,EAAA,IACAC,EAAA,sCAAA,EACA,CACA,OAAA,CACA,OAAA,OACA,YAAA,QACA,UAAA,KAAA,SAAA,EACA,CACA,CACA,EACA,OAAAF,EAAA,IAAA,IACA,OAAAF,EAAA,CAEA,GAAAA,EAAA,WAAA,QAAAA,EAAA,SAAA,SAAA,IACA,MAAA,CAAA,EAEA,MAAA,CACA,CACA,EAOA,kBAAAL,EAAA,CACAA,EAAAA,EAAA,IAAAU,GAAA,IAAAC,EAAAD,CAAA,CAAA,EAEAE,EAAA,MAAA,aAAAZ,EAAA,MAAA,iBAAA,CAAA,WAAAA,EAAA,SAAA,KAAA,QAAA,CAAA,EAEA,MAAAa,EAAAC,EAAA,EACA,OAAAd,EAAA,OAAAU,GAAA,CAAAG,GAAAA,EAAA,MAAAE,GAAAA,EAAAL,CAAA,CAAA,CAAA,CACA,EAEA,EAAAJ,CACA,CACA"} \ No newline at end of file +{"version":3,"file":"ActivityTab-CUH-IiNN.chunk.mjs","sources":["../src/components/ActivitySidebarPlugin.vue","../src/views/ActivityTab.vue"],"sourcesContent":["\n\n\n\n\n","\n\n\n\n\n\n\n"],"names":["attachTarget","ref","onMounted","props","getCurrentInstance","emit","onBeforeUnmount","_sfc_main","Activity","NcEmptyContent","NcIconSvgWrapper","NcLoadingIcon","ActivitySidebarPlugin","lightningBoltSVG","getSidebarActions","fileInfo","sidebarPlugins","activities","otherEntries","getAdditionalEntries","a","b","error","t","data","axios","generateOcsUrl","activity","ActivityModel","logger","filters","getActivityFilters","filter"],"mappings":";onBAuBMA,EAAeC,EAAoB,EAEzC,OAAAC,EAAU,IAAMC,EAAM,OAAO,MAAMH,EAAa,MAAyB,CACxE,QAASI,KAAsB,MAC/B,SAAUD,EAAM,SAChB,OAAQ,IAAME,EAAK,mBAAmB,CAAA,CACtC,CAAC,EACFC,EAAgB,IAAMH,EAAM,OAAO,QAAA,CAAS,gMCqC5CI,EAAA,CACA,KAAA,cACA,WAAA,CACA,SAAAC,EACA,eAAAC,EACA,iBAAAC,EACA,cAAAC,EACA,sBAAAC,CACA,EACA,MAAA,CACA,MAAA,CACA,MAAA,GACA,QAAA,GACA,SAAA,KACA,WAAA,CAAA,EACA,iBAAAC,EACA,eAAA,CAAA,CACA,CACA,EACA,SAAA,CACA,KAAA,eAAAC,EAAA,CACA,EACA,QAAA,CAMA,MAAA,OAAAC,EAAA,CACA,KAAA,eAAA,CAAA,EACA,IAAAC,EAAAF,EAAA,EACAE,EAAA,OAAA,GACA,KAAA,UAAA,IAAA,CACA,KAAA,eAAAA,CACA,CAAA,EAGA,KAAA,SAAAD,EACA,KAAA,WAAA,EACA,MAAA,KAAA,cAAA,CACA,EAIA,MAAA,eAAA,CACA,GAAA,CACA,KAAA,QAAA,GAEA,MAAAE,EAAA,MAAA,KAAA,kBAAA,MAAA,KAAA,mBAAA,CAAA,EACAC,EAAA,MAAAC,EAAA,CAAA,SAAA,KAAA,QAAA,CAAA,EACA,KAAA,WAAA,CAAA,GAAAF,EAAA,GAAAC,CAAA,EAAA,KAAA,CAAAE,EAAAC,IAAAA,EAAA,UAAAD,EAAA,SAAA,CACA,OAAAE,EAAA,CACA,KAAA,MAAAC,EAAA,WAAA,kCAAA,EACA,QAAA,MAAA,kCAAAD,CAAA,CACA,QAAA,CACA,KAAA,QAAA,EACA,CACA,EAIA,YAAA,CACA,KAAA,QAAA,GACA,KAAA,MAAA,GACA,KAAA,WAAA,CAAA,CACA,EAKA,MAAA,oBAAA,CACA,GAAA,CACA,KAAA,CAAA,KAAAE,CAAA,EAAA,MAAAC,EAAA,IACAC,EAAA,sCAAA,EACA,CACA,OAAA,CACA,OAAA,OACA,YAAA,QACA,UAAA,KAAA,SAAA,EACA,CACA,CACA,EACA,OAAAF,EAAA,IAAA,IACA,OAAAF,EAAA,CAEA,GAAAA,EAAA,WAAA,QAAAA,EAAA,SAAA,SAAA,IACA,MAAA,CAAA,EAEA,MAAA,CACA,CACA,EAOA,kBAAAL,EAAA,CACAA,EAAAA,EAAA,IAAAU,GAAA,IAAAC,EAAAD,CAAA,CAAA,EAEAE,EAAA,MAAA,aAAAZ,EAAA,MAAA,iBAAA,CAAA,WAAAA,EAAA,SAAA,KAAA,QAAA,CAAA,EAEA,MAAAa,EAAAC,EAAA,EACA,OAAAd,EAAA,OAAAU,GAAA,CAAAG,GAAAA,EAAA,MAAAE,GAAAA,EAAAL,CAAA,CAAA,CAAA,CACA,EAEA,EAAAJ,CACA,CACA"} \ No newline at end of file diff --git a/js/NcCheckboxRadioSwitch-Di9rSADK-CehrbmLY.chunk.mjs b/js/NcCheckboxRadioSwitch-VeztTzpz-H8x3F-aj.chunk.mjs similarity index 94% rename from js/NcCheckboxRadioSwitch-Di9rSADK-CehrbmLY.chunk.mjs rename to js/NcCheckboxRadioSwitch-VeztTzpz-H8x3F-aj.chunk.mjs index d69a3ee23..21cb68194 100644 --- a/js/NcCheckboxRadioSwitch-Di9rSADK-CehrbmLY.chunk.mjs +++ b/js/NcCheckboxRadioSwitch-VeztTzpz-H8x3F-aj.chunk.mjs @@ -1,9 +1,9 @@ (function(){"use strict";try{if(typeof document<"u"){var a=document.createElement("style");a.appendChild(document.createTextNode(".material-design-icon[data-v-3f8e123a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.button-vue[data-v-3f8e123a]{--button-size: var(--default-clickable-area);--button-radius: var(--border-radius-element, calc(var(--button-size) / 2));--button-padding: clamp(var(--default-grid-baseline), var(--button-radius), calc(var(--default-grid-baseline) * 4));position:relative;width:fit-content;overflow:hidden;border:0;padding:0;font-size:var(--default-font-size);font-weight:700;min-height:var(--button-size);min-width:var(--button-size);display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:var(--button-radius);transition-property:color,border-color,background-color;transition-duration:.1s;transition-timing-function:linear;color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light)}.button-vue--size-small[data-v-3f8e123a]{--button-size: var(--clickable-area-small, 24px);--button-radius: var(--border-radius)}.button-vue--size-large[data-v-3f8e123a]{--button-size: var(--clickable-area-large, 48px)}.button-vue *[data-v-3f8e123a],.button-vue span[data-v-3f8e123a]{cursor:pointer}.button-vue[data-v-3f8e123a]:focus{outline:none}.button-vue[data-v-3f8e123a]:disabled{cursor:default;opacity:.5;filter:saturate(.7)}.button-vue:disabled *[data-v-3f8e123a]{cursor:default}.button-vue[data-v-3f8e123a]:hover:not(:disabled){background-color:var(--color-primary-element-light-hover)}.button-vue[data-v-3f8e123a]:active{background-color:var(--color-primary-element-light)}.button-vue__wrapper[data-v-3f8e123a]{display:inline-flex;align-items:center;justify-content:center;width:100%}.button-vue--end .button-vue__wrapper[data-v-3f8e123a]{justify-content:end}.button-vue--start .button-vue__wrapper[data-v-3f8e123a]{justify-content:start}.button-vue--reverse .button-vue__wrapper[data-v-3f8e123a]{flex-direction:row-reverse}.button-vue--reverse.button-vue--icon-and-text[data-v-3f8e123a]{padding-inline:var(--button-padding) var(--default-grid-baseline)}.button-vue__icon[data-v-3f8e123a]{height:var(--button-size);width:var(--button-size);min-height:var(--button-size);min-width:var(--button-size);display:flex;justify-content:center;align-items:center}.button-vue--size-small .button-vue__icon[data-v-3f8e123a]>*{max-height:16px;max-width:16px}.button-vue--size-small .button-vue__icon[data-v-3f8e123a] svg{height:16px;width:16px}.button-vue__text[data-v-3f8e123a]{font-weight:700;margin-bottom:1px;padding:2px 0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.button-vue--icon-only[data-v-3f8e123a]{line-height:1;width:var(--button-size)!important}.button-vue--text-only[data-v-3f8e123a]{padding:0 var(--button-padding)}.button-vue--text-only .button-vue__text[data-v-3f8e123a]{margin-left:4px;margin-right:4px}.button-vue--icon-and-text[data-v-3f8e123a]{--button-padding: min(calc(var(--default-grid-baseline) + var(--button-radius)), calc(var(--default-grid-baseline) * 4));padding-block:0;padding-inline:var(--default-grid-baseline) var(--button-padding)}.button-vue--wide[data-v-3f8e123a]{width:100%}.button-vue[data-v-3f8e123a]:focus-visible{outline:2px solid var(--color-main-text)!important;box-shadow:0 0 0 4px var(--color-main-background)!important}.button-vue:focus-visible.button-vue--vue-tertiary-on-primary[data-v-3f8e123a]{outline:2px solid var(--color-primary-element-text);border-radius:var(--border-radius-element, var(--border-radius));background-color:transparent}.button-vue--vue-primary[data-v-3f8e123a]{background-color:var(--color-primary-element);color:var(--color-primary-element-text)}.button-vue--vue-primary[data-v-3f8e123a]:hover:not(:disabled){background-color:var(--color-primary-element-hover)}.button-vue--vue-primary[data-v-3f8e123a]:active{background-color:var(--color-primary-element)}.button-vue--vue-secondary[data-v-3f8e123a]{color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light)}.button-vue--vue-secondary[data-v-3f8e123a]:hover:not(:disabled){color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light-hover)}.button-vue--vue-tertiary[data-v-3f8e123a]{color:var(--color-main-text);background-color:transparent}.button-vue--vue-tertiary[data-v-3f8e123a]:hover:not(:disabled){background-color:var(--color-background-hover)}.button-vue--vue-tertiary-no-background[data-v-3f8e123a]{color:var(--color-main-text);background-color:transparent}.button-vue--vue-tertiary-no-background[data-v-3f8e123a]:hover:not(:disabled){background-color:transparent}.button-vue--vue-tertiary-on-primary[data-v-3f8e123a]{color:var(--color-primary-element-text);background-color:transparent}.button-vue--vue-tertiary-on-primary[data-v-3f8e123a]:hover:not(:disabled){background-color:transparent}.button-vue--vue-success[data-v-3f8e123a]{background-color:var(--color-success);color:#fff}.button-vue--vue-success[data-v-3f8e123a]:hover:not(:disabled){background-color:var(--color-success-hover)}.button-vue--vue-success[data-v-3f8e123a]:active{background-color:var(--color-success)}.button-vue--vue-warning[data-v-3f8e123a]{background-color:var(--color-warning);color:#fff}.button-vue--vue-warning[data-v-3f8e123a]:hover:not(:disabled){background-color:var(--color-warning-hover)}.button-vue--vue-warning[data-v-3f8e123a]:active{background-color:var(--color-warning)}.button-vue--vue-error[data-v-3f8e123a]{background-color:var(--color-error);color:#fff}.button-vue--vue-error[data-v-3f8e123a]:hover:not(:disabled){background-color:var(--color-error-hover)}.button-vue--vue-error[data-v-3f8e123a]:active{background-color:var(--color-error)}.material-design-icon[data-v-a4f5b92e]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.icon-vue[data-v-a4f5b92e]{--icon-size: var(--adec40c8);display:flex;justify-content:center;align-items:center;min-width:var(--default-clickable-area);min-height:var(--default-clickable-area);opacity:1}.icon-vue--inline[data-v-a4f5b92e]{display:inline-flex;min-width:fit-content;min-height:fit-content;vertical-align:text-bottom}.icon-vue span[data-v-a4f5b92e]{line-height:0}.icon-vue[data-v-a4f5b92e] svg{fill:currentColor;width:var(--icon-size, 20px);height:var(--icon-size, 20px);max-width:var(--icon-size, 20px);max-height:var(--icon-size, 20px)}.icon-vue--directional[data-v-a4f5b92e] svg:dir(rtl){transform:scaleX(-1)}.material-design-icon[data-v-551209a3]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.loading-icon svg[data-v-551209a3]{animation:rotate var(--animation-duration, .8s) linear infinite}.material-design-icon[data-v-d11b605b]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.action-items[data-v-d11b605b]{display:flex;align-items:center;gap:calc((var(--default-clickable-area) - 16px) / 2 / 2)}.action-item[data-v-d11b605b]{--open-background-color: var(--color-background-hover, $action-background-hover);position:relative;display:inline-block}.action-item.action-item--primary[data-v-d11b605b]{--open-background-color: var(--color-primary-element-hover)}.action-item.action-item--secondary[data-v-d11b605b]{--open-background-color: var(--color-primary-element-light-hover)}.action-item.action-item--error[data-v-d11b605b]{--open-background-color: var(--color-error-hover)}.action-item.action-item--warning[data-v-d11b605b]{--open-background-color: var(--color-warning-hover)}.action-item.action-item--success[data-v-d11b605b]{--open-background-color: var(--color-success-hover)}.action-item.action-item--tertiary-no-background[data-v-d11b605b]{--open-background-color: transparent}.action-item.action-item--open .action-item__menutoggle[data-v-d11b605b]{background-color:var(--open-background-color)}.action-item__menutoggle__icon[data-v-d11b605b]{width:20px;height:20px;object-fit:contain}.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper{border-radius:var(--border-radius-large)}.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper .v-popper__inner{border-radius:var(--border-radius-large);padding:4px;max-height:calc(100vh - var(--header-height));overflow:auto}.material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.resize-observer{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper--theme-dropdown.v-popper__popper{z-index:100000;top:0;left:0;display:block!important}.v-popper--theme-dropdown.v-popper__popper .v-popper__wrapper{box-shadow:0 1px 10px var(--color-box-shadow);border-radius:var(--border-radius-large)}.v-popper--theme-dropdown.v-popper__popper .v-popper__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius-large);overflow:hidden;background:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper .v-popper__arrow-container{position:absolute;z-index:1;width:0;height:0;border-style:solid;border-color:transparent;border-width:10px}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-container{bottom:-9px;border-bottom-width:0;border-top-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:-9px;border-top-width:0;border-bottom-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-container{left:-9px;border-left-width:0;border-right-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-9px;border-right-width:0;border-left-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[aria-hidden=true]{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.v-popper--theme-dropdown.v-popper__popper[aria-hidden=false]{visibility:visible;transition:opacity var(--animation-quick);opacity:1}.material-design-icon[data-v-0fc6c354]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.modal-mask[data-v-0fc6c354]{--backdrop-color: 0, 0, 0;--icon-size: 20px;--slideshow-duration: var(--189d6f6a);position:fixed;z-index:9998;top:0;inset-inline-start:0;display:block;width:100%;height:100%;background-color:rgba(var(--backdrop-color),.5)}.modal-mask--opaque[data-v-0fc6c354]{background-color:rgba(var(--backdrop-color),.92)}.modal-mask--light[data-v-0fc6c354]{--backdrop-color: 255, 255, 255}.modal-header[data-v-0fc6c354]{position:absolute;z-index:10001;top:0;inset-inline:0 0;display:flex!important;align-items:center;justify-content:center;width:100%;height:var(--header-height);overflow:hidden;transition:opacity .25s,visibility .25s}.modal-header__name[data-v-0fc6c354]{overflow-x:hidden;box-sizing:border-box;width:100%;padding:0 calc(var(--default-clickable-area) * 3) 0 12px;transition:padding ease .1s;white-space:nowrap;text-overflow:ellipsis;font-size:16px;margin-block:0}@media only screen and (min-width: 1024px){.modal-header__name[data-v-0fc6c354]{padding-inline-start:calc(var(--default-clickable-area) * 3);text-align:center}}.modal-header .icons-menu[data-v-0fc6c354]{position:absolute;inset-inline-end:0;display:flex;align-items:center;justify-content:flex-end}.modal-header .icons-menu .header-close[data-v-0fc6c354]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;margin:calc((var(--header-height) - var(--default-clickable-area)) / 2);padding:0}.modal-header .icons-menu .play-pause-icons[data-v-0fc6c354]{position:relative;width:var(--header-height);height:var(--header-height);margin:0;padding:0;cursor:pointer;border:none;background-color:transparent}.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__play[data-v-0fc6c354],.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__pause[data-v-0fc6c354],.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__play[data-v-0fc6c354],.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__pause[data-v-0fc6c354]{opacity:1;border-radius:calc(var(--default-clickable-area) / 2);background-color:#7f7f7f40}.modal-header .icons-menu .play-pause-icons__play[data-v-0fc6c354],.modal-header .icons-menu .play-pause-icons__pause[data-v-0fc6c354]{box-sizing:border-box;width:var(--default-clickable-area);height:var(--default-clickable-area);margin:calc((var(--header-height) - var(--default-clickable-area)) / 2);cursor:pointer;opacity:.7}.modal-header .icons-menu[data-v-0fc6c354] .action-item{margin:calc((var(--header-height) - var(--default-clickable-area)) / 2)}.modal-header .icons-menu[data-v-0fc6c354] .action-item--single{box-sizing:border-box;width:var(--default-clickable-area);height:var(--default-clickable-area);cursor:pointer;background-position:center;background-size:22px}.modal-header .icons-menu .header-actions[data-v-0fc6c354] button:focus-visible{box-shadow:none!important;outline:2px solid #fff!important}.modal-header .icons-menu[data-v-0fc6c354] .action-item__menutoggle{padding:0}.modal-header .icons-menu[data-v-0fc6c354] .action-item__menutoggle span,.modal-header .icons-menu[data-v-0fc6c354] .action-item__menutoggle svg{width:var(--icon-size);height:var(--icon-size)}.modal-wrapper[data-v-0fc6c354]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%}.modal-wrapper .prev[data-v-0fc6c354],.modal-wrapper .next[data-v-0fc6c354]{z-index:10000;height:35vh;min-height:300px;position:absolute;transition:opacity .25s;color:#fff}.modal-wrapper .prev[data-v-0fc6c354]:focus-visible,.modal-wrapper .next[data-v-0fc6c354]:focus-visible{box-shadow:0 0 0 2px var(--color-primary-element-text);background-color:var(--color-box-shadow)}.modal-wrapper .prev[data-v-0fc6c354]{inset-inline-start:2px}.modal-wrapper .next[data-v-0fc6c354]{inset-inline-end:2px}.modal-wrapper .modal-container[data-v-0fc6c354]{position:relative;display:flex;padding:0;transition:transform .3s ease;border-radius:var(--border-radius-large);background-color:var(--color-main-background);color:var(--color-main-text);box-shadow:0 0 40px #0003}.modal-wrapper .modal-container__close[data-v-0fc6c354]{z-index:1;position:absolute;top:4px;inset-inline-end:var(--default-grid-baseline)}.modal-wrapper .modal-container__content[data-v-0fc6c354]{width:100%;min-height:52px;overflow:auto}.modal-wrapper--small>.modal-container[data-v-0fc6c354]{width:400px;max-width:90%;max-height:min(90%,100% - 2 * var(--header-height))}.modal-wrapper--normal>.modal-container[data-v-0fc6c354]{max-width:90%;width:600px;max-height:min(90%,100% - 2 * var(--header-height))}.modal-wrapper--large>.modal-container[data-v-0fc6c354]{max-width:90%;width:900px;max-height:min(90%,100% - 2 * var(--header-height))}.modal-wrapper--full>.modal-container[data-v-0fc6c354]{width:100%;height:calc(100% - var(--header-height));position:absolute;top:var(--header-height);border-radius:0}@media only screen and ((max-width: 512px) or (max-height: 400px)){.modal-wrapper .modal-container[data-v-0fc6c354]{max-width:initial;width:100%;max-height:initial;height:calc(100% - var(--header-height));position:absolute;top:var(--header-height);border-radius:0}}.fade-enter-active[data-v-0fc6c354],.fade-leave-active[data-v-0fc6c354]{transition:opacity .25s}.fade-enter[data-v-0fc6c354],.fade-leave-to[data-v-0fc6c354]{opacity:0}.fade-visibility-enter[data-v-0fc6c354],.fade-visibility-leave-to[data-v-0fc6c354]{visibility:hidden;opacity:0}.modal-in-enter-active[data-v-0fc6c354],.modal-in-leave-active[data-v-0fc6c354],.modal-out-enter-active[data-v-0fc6c354],.modal-out-leave-active[data-v-0fc6c354]{transition:opacity .25s}.modal-in-enter[data-v-0fc6c354],.modal-in-leave-to[data-v-0fc6c354],.modal-out-enter[data-v-0fc6c354],.modal-out-leave-to[data-v-0fc6c354]{opacity:0}.modal-in-enter .modal-container[data-v-0fc6c354],.modal-in-leave-to .modal-container[data-v-0fc6c354]{transform:scale(.9)}.modal-out-enter .modal-container[data-v-0fc6c354],.modal-out-leave-to .modal-container[data-v-0fc6c354]{transform:scale(1.1)}.modal-mask .play-pause-icons .progress-ring[data-v-0fc6c354]{position:absolute;top:0;inset-inline-start:0;transform:rotate(-90deg)}.modal-mask .play-pause-icons .progress-ring .progress-ring__circle[data-v-0fc6c354]{transition:.1s stroke-dashoffset;transform-origin:50% 50%;animation:progressring-0fc6c354 linear var(--slideshow-duration) infinite;stroke-linecap:round;stroke-dashoffset:94.2477796077;stroke-dasharray:94.2477796077}.modal-mask .play-pause-icons--paused .icon-pause[data-v-0fc6c354]{animation:breath-0fc6c354 2s cubic-bezier(.4,0,.2,1) infinite}.modal-mask .play-pause-icons--paused .progress-ring__circle[data-v-0fc6c354]{animation-play-state:paused!important}@keyframes progressring-0fc6c354{0%{stroke-dashoffset:94.2477796077}to{stroke-dashoffset:0}}@keyframes breath-0fc6c354{0%{opacity:1}50%{opacity:0}to{opacity:1}}.material-design-icon[data-v-18de8bed]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.checkbox-content[data-v-18de8bed]{display:flex;align-items:center;flex-direction:row;gap:var(--default-grid-baseline);-webkit-user-select:none;user-select:none;min-height:var(--default-clickable-area);border-radius:var(--checkbox-radio-switch--border-radius);padding:var(--default-grid-baseline) calc((var(--default-clickable-area) - var(--icon-height)) / 2);width:100%;max-width:fit-content}.checkbox-content__text[data-v-18de8bed]{flex:1 0}.checkbox-content__text[data-v-18de8bed]:empty{display:none}.checkbox-content__icon>*[data-v-18de8bed]{width:var(--icon-size);height:var(--icon-size);color:var(--color-primary-element)}.checkbox-content--button-variant .checkbox-content__icon:not(.checkbox-content__icon--checked)>*[data-v-18de8bed]{color:var(--color-primary-element)}.checkbox-content--button-variant .checkbox-content__icon--checked>*[data-v-18de8bed]{color:var(--color-primary-element-text)}.checkbox-content--has-text[data-v-18de8bed]{padding-right:calc((var(--default-clickable-area) - 16px) / 2)}.checkbox-content[data-v-18de8bed],.checkbox-content *[data-v-18de8bed]{cursor:pointer;flex-shrink:0}.material-design-icon[data-v-22cdd229]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.checkbox-radio-switch[data-v-22cdd229]{display:flex;align-items:center;color:var(--color-main-text);background-color:transparent;font-size:var(--default-font-size);line-height:var(--default-line-height);padding:0;position:relative;--checkbox-radio-switch--border-radius: var(--border-radius-element, calc(var(--default-clickable-area) / 2));--checkbox-radio-switch--border-radius-outer: calc(var(--checkbox-radio-switch--border-radius) + 2px)}.checkbox-radio-switch__input[data-v-22cdd229]{position:absolute;z-index:-1;opacity:0!important;width:var(--icon-size);height:var(--icon-size);margin:4px calc((var(--default-clickable-area) - 16px) / 2)}.checkbox-radio-switch__input:focus-visible+.checkbox-radio-switch__content[data-v-22cdd229],.checkbox-radio-switch__input[data-v-22cdd229]:focus-visible{outline:2px solid var(--color-main-text);border-color:var(--color-main-background);outline-offset:-2px}.checkbox-radio-switch--disabled .checkbox-radio-switch__content[data-v-22cdd229]{opacity:.5}.checkbox-radio-switch--disabled .checkbox-radio-switch__content[data-v-22cdd229] .checkbox-radio-switch__icon>*{color:var(--color-main-text)}.checkbox-radio-switch--disabled .checkbox-radio-switch__content.checkbox-content[data-v-22cdd229],.checkbox-radio-switch--disabled .checkbox-radio-switch__content.checkbox-content[data-v-22cdd229] *:not(a){cursor:default!important}.checkbox-radio-switch:not(.checkbox-radio-switch--disabled,.checkbox-radio-switch--checked):focus-within .checkbox-radio-switch__content[data-v-22cdd229],.checkbox-radio-switch:not(.checkbox-radio-switch--disabled,.checkbox-radio-switch--checked) .checkbox-radio-switch__content[data-v-22cdd229]:hover{background-color:var(--color-background-hover)}.checkbox-radio-switch--checked:not(.checkbox-radio-switch--disabled):focus-within .checkbox-radio-switch__content[data-v-22cdd229],.checkbox-radio-switch--checked:not(.checkbox-radio-switch--disabled) .checkbox-radio-switch__content[data-v-22cdd229]:hover{background-color:var(--color-primary-element-hover)}.checkbox-radio-switch--checked:not(.checkbox-radio-switch--button-variant):not(.checkbox-radio-switch--disabled):focus-within .checkbox-radio-switch__content[data-v-22cdd229],.checkbox-radio-switch--checked:not(.checkbox-radio-switch--button-variant):not(.checkbox-radio-switch--disabled) .checkbox-radio-switch__content[data-v-22cdd229]:hover{background-color:var(--color-primary-element-light-hover)}.checkbox-radio-switch-switch[data-v-22cdd229]:not(.checkbox-radio-switch--checked) .checkbox-radio-switch__icon>*{color:var(--color-text-maxcontrast)}.checkbox-radio-switch-switch.checkbox-radio-switch--disabled.checkbox-radio-switch--checked[data-v-22cdd229] .checkbox-radio-switch__icon>*{color:var(--color-primary-element-light)}.checkbox-radio-switch--button-variant.checkbox-radio-switch[data-v-22cdd229]{background-color:var(--color-main-background);border:2px solid var(--color-border-maxcontrast);overflow:hidden}.checkbox-radio-switch--button-variant.checkbox-radio-switch--checked[data-v-22cdd229]{font-weight:700}.checkbox-radio-switch--button-variant.checkbox-radio-switch--checked .checkbox-radio-switch__content[data-v-22cdd229]{background-color:var(--color-primary-element);color:var(--color-primary-element-text)}.checkbox-radio-switch--button-variant[data-v-22cdd229] .checkbox-radio-switch__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.checkbox-radio-switch--button-variant[data-v-22cdd229]:not(.checkbox-radio-switch--checked) .checkbox-radio-switch__icon>*{color:var(--color-main-text)}.checkbox-radio-switch--button-variant[data-v-22cdd229] .checkbox-radio-switch__icon:empty{display:none}.checkbox-radio-switch--button-variant[data-v-22cdd229]:not(.checkbox-radio-switch--button-variant-v-grouped):not(.checkbox-radio-switch--button-variant-h-grouped),.checkbox-radio-switch--button-variant .checkbox-radio-switch__content[data-v-22cdd229]{border-radius:var(--checkbox-radio-switch--border-radius)}.checkbox-radio-switch--button-variant-v-grouped .checkbox-radio-switch__content[data-v-22cdd229]{flex-basis:100%;max-width:unset}.checkbox-radio-switch--button-variant-v-grouped[data-v-22cdd229]:first-of-type{border-start-start-radius:var(--checkbox-radio-switch--border-radius-outer);border-start-end-radius:var(--checkbox-radio-switch--border-radius-outer)}.checkbox-radio-switch--button-variant-v-grouped[data-v-22cdd229]:last-of-type{border-end-start-radius:var(--checkbox-radio-switch--border-radius-outer);border-end-end-radius:var(--checkbox-radio-switch--border-radius-outer)}.checkbox-radio-switch--button-variant-v-grouped[data-v-22cdd229]:not(:last-of-type){border-bottom:0!important}.checkbox-radio-switch--button-variant-v-grouped:not(:last-of-type) .checkbox-radio-switch__content[data-v-22cdd229]{margin-bottom:2px}.checkbox-radio-switch--button-variant-v-grouped[data-v-22cdd229]:not(:first-of-type){border-top:0!important}.checkbox-radio-switch--button-variant-h-grouped[data-v-22cdd229]:first-of-type{border-start-start-radius:var(--checkbox-radio-switch--border-radius-outer);border-end-start-radius:var(--checkbox-radio-switch--border-radius-outer)}.checkbox-radio-switch--button-variant-h-grouped[data-v-22cdd229]:last-of-type{border-start-end-radius:var(--checkbox-radio-switch--border-radius-outer);border-end-end-radius:var(--checkbox-radio-switch--border-radius-outer)}.checkbox-radio-switch--button-variant-h-grouped[data-v-22cdd229]:not(:last-of-type){border-inline-end:0!important}.checkbox-radio-switch--button-variant-h-grouped:not(:last-of-type) .checkbox-radio-switch__content[data-v-22cdd229]{margin-inline-end:2px}.checkbox-radio-switch--button-variant-h-grouped[data-v-22cdd229]:not(:first-of-type){border-inline-start:0!important}.checkbox-radio-switch--button-variant-h-grouped[data-v-22cdd229] .checkbox-radio-switch__text{text-align:center;display:flex;align-items:center}.checkbox-radio-switch--button-variant-h-grouped .checkbox-radio-switch__content[data-v-22cdd229]{flex-direction:column;justify-content:center;width:100%;margin:0;gap:0}")),document.head.appendChild(a)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})(); /*! third party licenses: js/vendor.LICENSE.txt */ -import{y as vn,A as Wa,t as Ka,h as qa,B as Za,V as ye,C as vo,j as Qt,d as Ya,w as Ja,z as Xa,e as Qa,q as ts,c as uu,g as es}from"./translation-CD_FiYBO-Bp9rUH-Z.chunk.mjs";import{p as oi,c as ns,o as us}from"./logger-BtUR_6uh.chunk.mjs";const hp=(t,e,n)=>{var u;const o=Object.assign({ocsVersion:2},{}).ocsVersion===1?1:2;return((u=void 0)!=null?u:os())+"/ocs/v"+o+".php"+iu(t,e)},iu=(t,e,n)=>{const u=Object.assign({escape:!0},{}),o=function(a,r){return r=r||{},a.replace(/{([^{}]*)}/g,function(c,d){const p=r[d];return u.escape?encodeURIComponent(typeof p=="string"||typeof p=="number"?p.toString():c):typeof p=="string"||typeof p=="number"?p.toString():c})};return t.charAt(0)!=="/"&&(t="/"+t),o(t,e||{})},is=(t,e,n)=>{var u,o,a;const r=Object.assign({noRewrite:!1},{}),c=(u=void 0)!=null?u:Du();return((a=(o=window?.OC)==null?void 0:o.config)==null?void 0:a.modRewriteWorking)===!0&&!r.noRewrite?c+iu(t,e):c+"/index.php"+iu(t,e)},fp=(t,e)=>e.includes(".")?ai(t,"img",e):ai(t,"img","".concat(e,".svg")),ai=(t,e,n)=>{var u,o,a;const r=(a=(o=(u=window?.OC)==null?void 0:u.coreApps)==null?void 0:o.includes(t))!=null?a:!1,c=n.slice(-3)==="php";let d=Du();return c&&!r?(d+="/index.php/apps/".concat(t),d+="/".concat(encodeURI(e)),n!=="index.php"&&(d+="/".concat(n))):!c&&!r?(d=as(t),d+="/".concat(e,"/"),d.at(-1)!=="/"&&(d+="/"),d+=n):(d+="/".concat(t),d+="/".concat(e),d+="/".concat(n)),d},os=()=>window.location.protocol+"//"+window.location.host+Du();function Du(){let t=window._oc_webroot;if(typeof t>"u"){t=location.pathname;const e=t.indexOf("/index.php/");if(e!==-1)t=t.slice(0,e);else{const n=t.indexOf("/",1);t=t.slice(0,n>0?n:void 0)}}return t}function as(t){var e,n;return(n=((e=window._oc_appswebroots)!=null?e:{})[t])!=null?n:""}class ss{debug=!1;language="en";translations={};setLanguage(e){return this.language=e,this}detectLocale(){return this.detectLanguage()}detectLanguage(){return this.setLanguage(vn().replace("-","_"))}addTranslation(e,n){return this.translations[e]=n,this}enableDebugMode(){return this.debug=!0,this}build(){this.debug&&console.debug(`Creating gettext instance for language ${this.language}`);const e=Object.values(this.translations[this.language]?.translations[""]??{}).map(({msgid:u,msgid_plural:o,msgstr:a})=>o!==void 0?[`_${u}_::_${o}_`,a]:[u,a[0]]),n={pluralFunction:u=>Wa(u,this.language),translations:Object.fromEntries(e)};return new rs(n)}}class rs{constructor(e){this.bundle=e}gettext(e,n={}){return Ka("",e,n,void 0,{bundle:this.bundle})}ngettext(e,n,u,o={}){return qa("",e,n,u,o,{bundle:this.bundle})}}function ls(){return new ss}const co=ls().setLanguage(vn());let cn=co.build();const vs=(...t)=>cn.ngettext(...t),Rt=(...t)=>cn.gettext(...t);function Fu(...t){for(const e of t)if(!e.registered){for(const{l:n,t:u}of e){if(n!==vn()||!u)continue;const o=Object.fromEntries(Object.entries(u).map(([a,r])=>[a,{msgid:a,msgid_plural:r.p,msgstr:r.v}]));cn=co.addTranslation(vn(),{translations:{"":{...cn.bundle.translations?.[""]??{},...o}}}).build()}e.registered=!0}}const gp=[{l:"af",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"ar",t:{"a few seconds ago":{v:["منذ عدة ثوانٍ"]},"sec. ago":{v:["ثانية مضت"]},"seconds ago":{v:["ثوانٍ مضت"]}}},{l:"ast",t:{"a few seconds ago":{v:["hai unos segundos"]},"sec. ago":{v:["hai segs"]},"seconds ago":{v:["hai segundos"]}}},{l:"az",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"be",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"bg",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"bn_BD",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"br",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"bs",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"ca",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"cs",t:{"a few seconds ago":{v:["před několika sekundami"]},"sec. ago":{v:["sek. před"]},"seconds ago":{v:["sekund předtím"]}}},{l:"cs_CZ",t:{"a few seconds ago":{v:["před několika sekundami"]},"sec. ago":{v:["sek. před"]},"seconds ago":{v:["sekund předtím"]}}},{l:"cy_GB",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"da",t:{"a few seconds ago":{v:["et par sekunder siden"]},"sec. ago":{v:["sek. siden"]},"seconds ago":{v:["sekunder siden"]}}},{l:"de",t:{"a few seconds ago":{v:["vor ein paar Sekunden"]},"sec. ago":{v:["Sek. zuvor"]},"seconds ago":{v:["Sekunden zuvor"]}}},{l:"de_DE",t:{"a few seconds ago":{v:["vor ein paar Sekunden"]},"sec. ago":{v:["Sek. zuvor"]},"seconds ago":{v:["Sekunden zuvor"]}}},{l:"el",t:{"a few seconds ago":{v:["πριν λίγα δευτερόλεπτα"]},"sec. ago":{v:["δευτ. πριν"]},"seconds ago":{v:["δευτερόλεπτα πριν"]}}},{l:"en_GB",t:{"a few seconds ago":{v:["a few seconds ago"]},"sec. ago":{v:["sec. ago"]},"seconds ago":{v:["seconds ago"]}}},{l:"eo",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"es",t:{"a few seconds ago":{v:["hace unos pocos segundos"]},"sec. ago":{v:["hace segundos"]},"seconds ago":{v:["segundos atrás"]}}},{l:"es_419",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"es_AR",t:{"a few seconds ago":{v:["hace unos segundos"]},"sec. ago":{v:["seg. atrás"]},"seconds ago":{v:["segundos atrás"]}}},{l:"es_CL",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"es_CO",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"es_CR",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"es_DO",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"es_EC",t:{"a few seconds ago":{v:["hace unos segundos"]},"sec. ago":{v:["hace segundos"]},"seconds ago":{v:["Segundos atrás"]}}},{l:"es_GT",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"es_HN",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"es_MX",t:{"a few seconds ago":{v:["hace unos segundos"]},"sec. ago":{v:["seg. atrás"]},"seconds ago":{v:["segundos atrás"]}}},{l:"es_NI",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"es_PA",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"es_PE",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"es_PR",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"es_PY",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"es_SV",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"es_UY",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"et_EE",t:{"a few seconds ago":{v:["mõni sekund tagasi"]},"sec. ago":{v:["sek. tagasi"]},"seconds ago":{v:["sekundit tagasi"]}}},{l:"eu",t:{"a few seconds ago":{v:["duela segundo batzuk"]},"sec. ago":{v:["duela seg."]},"seconds ago":{v:["duela segundo"]}}},{l:"fa",t:{"a few seconds ago":{v:["چند ثانیه پیش"]},"sec. ago":{v:["چند ثانیه پیش"]},"seconds ago":{v:["چند ثانیه پیش"]}}},{l:"fi",t:{"a few seconds ago":{v:["muutamia sekunteja sitten"]},"sec. ago":{v:["sek. sitten"]},"seconds ago":{v:["sekunteja sitten"]}}},{l:"fo",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"fr",t:{"a few seconds ago":{v:["il y a quelques instants"]},"sec. ago":{v:["il y a sec."]},"seconds ago":{v:["il y a quelques secondes"]}}},{l:"ga",t:{"a few seconds ago":{v:["cúpla soicind ó shin"]},"sec. ago":{v:["soic. ó shin"]},"seconds ago":{v:["soicind ó shin"]}}},{l:"gd",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"gl",t:{"a few seconds ago":{v:["hai uns segundos"]},"sec. ago":{v:["segs. atrás"]},"seconds ago":{v:["segundos atrás"]}}},{l:"he",t:{"a few seconds ago":{v:["לפני מספר שניות"]},"sec. ago":{v:["לפני מספר שניות"]},"seconds ago":{v:["לפני מס׳ שניות"]}}},{l:"hi_IN",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"hr",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"hsb",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"hu",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"hy",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"ia",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"id",t:{"a few seconds ago":{v:["beberapa detik yang lalu"]},"sec. ago":{v:["dtk. yang lalu"]},"seconds ago":{v:["beberapa detik lalu"]}}},{l:"ig",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"is",t:{"a few seconds ago":{v:["fyrir örfáum sekúndum síðan"]},"sec. ago":{v:["sek. síðan"]},"seconds ago":{v:["sekúndum síðan"]}}},{l:"it",t:{"a few seconds ago":{v:["pochi secondi fa"]},"sec. ago":{v:["sec. fa"]},"seconds ago":{v:["secondi fa"]}}},{l:"ja",t:{"a few seconds ago":{v:["数秒前"]},"sec. ago":{v:["秒前"]},"seconds ago":{v:["数秒前"]}}},{l:"ja_JP",t:{"a few seconds ago":{v:["数秒前"]},"sec. ago":{v:["秒前"]},"seconds ago":{v:["数秒前"]}}},{l:"ka",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"ka_GE",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"kab",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"kk",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"km",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"kn",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"ko",t:{"a few seconds ago":{v:["방금 전"]},"sec. ago":{v:["몇 초 전"]},"seconds ago":{v:["초 전"]}}},{l:"la",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"lb",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"lo",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"lt_LT",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"lv",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"mk",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"mn",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"mr",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"ms_MY",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"my",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"nb",t:{"a few seconds ago":{v:["noen få sekunder siden"]},"sec. ago":{v:["sek. siden"]},"seconds ago":{v:["sekunder siden"]}}},{l:"ne",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"nl",t:{"a few seconds ago":{v:["enkele seconden terug"]},"sec. ago":{v:["sec. geleden"]},"seconds ago":{v:["seconden geleden"]}}},{l:"nn_NO",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"oc",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"pl",t:{"a few seconds ago":{v:["kilka sekund temu"]},"sec. ago":{v:["sek. temu"]},"seconds ago":{v:["sekund temu"]}}},{l:"ps",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"pt_BR",t:{"a few seconds ago":{v:["alguns segundos atrás"]},"sec. ago":{v:["seg. atrás"]},"seconds ago":{v:["segundos atrás"]}}},{l:"pt_PT",t:{"a few seconds ago":{v:["há alguns segundos"]},"sec. ago":{v:["seg. atrás"]},"seconds ago":{v:["segundos atrás"]}}},{l:"ro",t:{"a few seconds ago":{v:["acum câteva secunde"]},"sec. ago":{v:["sec. în urmă"]},"seconds ago":{v:["secunde în urmă"]}}},{l:"ru",t:{"a few seconds ago":{v:["несколько секунд назад"]},"sec. ago":{v:["сек. назад"]},"seconds ago":{v:["секунд назад"]}}},{l:"sc",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"si",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"sk",t:{"a few seconds ago":{v:["pred chvíľou"]},"sec. ago":{v:["pred pár sekundami"]},"seconds ago":{v:["pred sekundami"]}}},{l:"sl",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"sq",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"sr",t:{"a few seconds ago":{v:["пре неколико секунди"]},"sec. ago":{v:["сек. раније"]},"seconds ago":{v:["секунди раније"]}}},{l:"sr@latin",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"sv",t:{"a few seconds ago":{v:["några sekunder sedan"]},"sec. ago":{v:["sek. sedan"]},"seconds ago":{v:["sekunder sedan"]}}},{l:"sw",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"ta",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"th",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"tk",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"tr",t:{"a few seconds ago":{v:["birkaç saniye önce"]},"sec. ago":{v:["sn. önce"]},"seconds ago":{v:["saniye önce"]}}},{l:"ug",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"uk",t:{"a few seconds ago":{v:["декілька секунд тому"]},"sec. ago":{v:["с тому"]},"seconds ago":{v:["с тому"]}}},{l:"ur_PK",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"uz",t:{"a few seconds ago":{v:["bir necha soniya oldin"]},"sec. ago":{v:["sek. oldin"]},"seconds ago":{v:["soniyalar oldin"]}}},{l:"vi",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"zh_CN",t:{"a few seconds ago":{v:["几秒前"]},"sec. ago":{v:["几秒前"]},"seconds ago":{v:["几秒前"]}}},{l:"zh_HK",t:{"a few seconds ago":{v:["幾秒前"]},"sec. ago":{v:["秒前"]},"seconds ago":{v:["秒前"]}}},{l:"zh_TW",t:{"a few seconds ago":{v:["幾秒前"]},"sec. ago":{v:["秒前"]},"seconds ago":{v:["秒前"]}}},{l:"zu_ZA",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}}],mp=[{l:"af",t:{}},{l:"ar",t:{Acapulco:{v:["بازلائي مطفي"]},"Blue Violet":{v:["بنفسجي مشعشع"]},"Boston Blue":{v:["سماوي مطفي"]},Deluge:{v:["بنفسجي مطفي"]},Feldspar:{v:["وردي صخري"]},Gold:{v:["ذهبي"]},Mariner:{v:["أزرق بحري"]},"Nextcloud blue":{v:["أزرق نكست كلاود"]},Olivine:{v:["زيتي"]},Purple:{v:["بنفسجي"]},"Rosy brown":{v:["بُنِّي زهري"]},Whiskey:{v:["نبيذي"]}}},{l:"ast",t:{Acapulco:{v:["Acapulcu"]},"Blue Violet":{v:["Viola azulao"]},"Boston Blue":{v:["Azul Boston"]},Deluge:{v:["Deluge"]},Feldspar:{v:["Feldspar"]},Gold:{v:["Oru"]},Mariner:{v:["Marineru"]},"Nextcloud blue":{v:["Nextcloud azul"]},Olivine:{v:["Olivina"]},Purple:{v:["Moráu"]},"Rosy brown":{v:["Marrón arrosao"]},Whiskey:{v:["Whiskey"]}}},{l:"az",t:{}},{l:"be",t:{}},{l:"bg",t:{}},{l:"bn_BD",t:{}},{l:"br",t:{}},{l:"bs",t:{}},{l:"ca",t:{}},{l:"cs",t:{Acapulco:{v:["Akapulko"]},"Blue Violet":{v:["Modrofialová"]},"Boston Blue":{v:["Bostonská modrá"]},Deluge:{v:["Deluge"]},Feldspar:{v:["Živicová"]},Gold:{v:["Zlatá"]},Mariner:{v:["Námořnická"]},"Nextcloud blue":{v:["Nextcloud modrá"]},Olivine:{v:["Olivínová"]},Purple:{v:["Fialová"]},"Rosy brown":{v:["Růžovohnědá"]},Whiskey:{v:["Whisky"]}}},{l:"cs_CZ",t:{Acapulco:{v:["Akapulko"]},"Blue Violet":{v:["Modrofialová"]},"Boston Blue":{v:["Bostonská modrá"]},Deluge:{v:["Deluge"]},Feldspar:{v:["Živicová"]},Gold:{v:["Zlatá"]},Mariner:{v:["Námořnická"]},"Nextcloud blue":{v:["Nextcloud modrá"]},Olivine:{v:["Olivínová"]},Purple:{v:["Fialová"]},"Rosy brown":{v:["Růžovohnědá"]},Whiskey:{v:["Whisky"]}}},{l:"cy_GB",t:{}},{l:"da",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Blue Violet"]},"Boston Blue":{v:["Boston Blue"]},Deluge:{v:["Deluge"]},Feldspar:{v:["Feldspar"]},Gold:{v:["Guld"]},Mariner:{v:["Mariner"]},"Nextcloud blue":{v:["Nextcloud blue"]},Olivine:{v:["Olivine"]},Purple:{v:["Lilla"]},"Rosy brown":{v:["Rosy brown"]},Whiskey:{v:["Whiskey"]}}},{l:"de",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Blau Violett"]},"Boston Blue":{v:["Boston-Blau"]},Deluge:{v:["Sintflut"]},Feldspar:{v:["Feldspat"]},Gold:{v:["Gold"]},Mariner:{v:["Seemann"]},"Nextcloud blue":{v:["Nextcloud Blau"]},Olivine:{v:["Olivin"]},Purple:{v:["Lila"]},"Rosy brown":{v:["Rosiges Braun"]},Whiskey:{v:["Whiskey"]}}},{l:"de_DE",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Blau Violett"]},"Boston Blue":{v:["Boston-Blau"]},Deluge:{v:["Sintflut"]},Feldspar:{v:["Feldspat"]},Gold:{v:["Gold"]},Mariner:{v:["Seemann"]},"Nextcloud blue":{v:["Nextcloud Blau"]},Olivine:{v:["Olivin"]},Purple:{v:["Lila"]},"Rosy brown":{v:["Rosiges Braun"]},Whiskey:{v:["Whiskey"]}}},{l:"el",t:{Acapulco:{v:["Ακαπούλκο"]},"Blue Violet":{v:["Μπλε Βιολέτ"]},"Boston Blue":{v:["Μπλε Βοστώνης"]},Deluge:{v:["Deluge"]},Feldspar:{v:["Feldspar"]},Gold:{v:["Χρυσό"]},Mariner:{v:["Mariner"]},"Nextcloud blue":{v:["Μπλε Nextcloud"]},Olivine:{v:["Olivine"]},Purple:{v:["Μωβ"]},"Rosy brown":{v:["Ροζ καφέ"]},Whiskey:{v:["Ουίσκι"]}}},{l:"en_GB",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Blue Violet"]},"Boston Blue":{v:["Boston Blue"]},Deluge:{v:["Deluge"]},Feldspar:{v:["Feldspar"]},Gold:{v:["Gold"]},Mariner:{v:["Mariner"]},"Nextcloud blue":{v:["Nextcloud blue"]},Olivine:{v:["Olivine"]},Purple:{v:["Purple"]},"Rosy brown":{v:["Rosy brown"]},Whiskey:{v:["Whiskey"]}}},{l:"eo",t:{}},{l:"es",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Violeta Azul"]},"Boston Blue":{v:["Azul Boston"]},Deluge:{v:["Diluvio"]},Feldspar:{v:["Feldespato"]},Gold:{v:["Oro"]},Mariner:{v:["Marinero"]},"Nextcloud blue":{v:["Azul Nextcloud"]},Olivine:{v:["Olivino"]},Purple:{v:["Púrpura"]},"Rosy brown":{v:["Marrón rosáceo"]},Whiskey:{v:["Whiskey"]}}},{l:"es_419",t:{}},{l:"es_AR",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Violeta Azul"]},"Boston Blue":{v:["Azul Boston"]},Deluge:{v:["Diluvio"]},Feldspar:{v:["Feldespato"]},Gold:{v:["Oro"]},Mariner:{v:["Marinero"]},"Nextcloud blue":{v:["Azul Nextcloud"]},Olivine:{v:["Olivino"]},Purple:{v:["Púrpura"]},"Rosy brown":{v:["Marrón rosáceo"]},Whiskey:{v:["Whiskey"]}}},{l:"es_CL",t:{}},{l:"es_CO",t:{}},{l:"es_CR",t:{}},{l:"es_DO",t:{}},{l:"es_EC",t:{}},{l:"es_GT",t:{}},{l:"es_HN",t:{}},{l:"es_MX",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Violeta Azul"]},"Boston Blue":{v:["Azul Boston"]},Deluge:{v:["Diluvio"]},Feldspar:{v:["Feldespato"]},Gold:{v:["Oro"]},Mariner:{v:["Marinero"]},"Nextcloud blue":{v:["Azul Nextcloud"]},Olivine:{v:["Olivino"]},Purple:{v:["Púrpura"]},"Rosy brown":{v:["Marrón rosáceo"]},Whiskey:{v:["Whiskey"]}}},{l:"es_NI",t:{}},{l:"es_PA",t:{}},{l:"es_PE",t:{}},{l:"es_PR",t:{}},{l:"es_PY",t:{}},{l:"es_SV",t:{}},{l:"es_UY",t:{}},{l:"et_EE",t:{Acapulco:{v:["Acapulco meresinine"]},"Blue Violet":{v:["Sinakasvioletne"]},"Boston Blue":{v:["Bostoni rohekassinine"]},Deluge:{v:["Tulvavee lilla"]},Feldspar:{v:["Põlevkivipruun"]},Gold:{v:["Kuldne"]},Mariner:{v:["Meresinine"]},"Nextcloud blue":{v:["Nextcloudi sinine"]},Olivine:{v:["Oliiviroheline"]},Purple:{v:["Purpurpunane"]},"Rosy brown":{v:["Roosikarva pruun"]},Whiskey:{v:["Viskikarva kollakaspruun"]}}},{l:"eu",t:{}},{l:"fa",t:{Acapulco:{v:["آکاپولکو"]},"Blue Violet":{v:["بنفش آبی"]},"Boston Blue":{v:["آبی بوستونی"]},Deluge:{v:["سیل"]},Feldspar:{v:["فلدسپات"]},Gold:{v:["طلا"]},Mariner:{v:["مارینر"]},"Nextcloud blue":{v:["نکس کلود آبی"]},Olivine:{v:["الیوین"]},Purple:{v:["بنفش"]},"Rosy brown":{v:["قهوه‌ای رز"]},Whiskey:{v:["ویسکی"]}}},{l:"fi",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Sinivioletti"]},"Boston Blue":{v:["Bostoninsininen"]},Deluge:{v:["Tulva"]},Feldspar:{v:["Feldspar"]},Gold:{v:["Kulta"]},Mariner:{v:["Merenkulkija"]},"Nextcloud blue":{v:["Nextcloudin sininen"]},Olivine:{v:["Oliviini"]},Purple:{v:["Purppura"]},"Rosy brown":{v:["Ruusunruskea"]},Whiskey:{v:["Viski"]}}},{l:"fo",t:{}},{l:"fr",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Bleu violet"]},"Boston Blue":{v:["Bleu de Boston"]},Deluge:{v:["Deluge"]},Feldspar:{v:["Feldspar"]},Gold:{v:["Doré"]},Mariner:{v:["Mariner"]},"Nextcloud blue":{v:["Bleu Nextcloud"]},Olivine:{v:["Olivine"]},Purple:{v:["Violet"]},"Rosy brown":{v:["Brun rosé"]},Whiskey:{v:["Whiskey"]}}},{l:"ga",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Gorm Violet"]},"Boston Blue":{v:["Bostún Gorm"]},Deluge:{v:["Díle"]},Feldspar:{v:["Feldspar"]},Gold:{v:["Óir"]},Mariner:{v:["Mairnéalach"]},"Nextcloud blue":{v:["Nextcloud gorm"]},Olivine:{v:["Olaivín"]},Purple:{v:["Corcra"]},"Rosy brown":{v:["Rosach donn"]},Whiskey:{v:["Fuisce"]}}},{l:"gd",t:{}},{l:"gl",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Azul violeta"]},"Boston Blue":{v:["Azul Boston"]},Deluge:{v:["Diluvio"]},Feldspar:{v:["Feldespato"]},Gold:{v:["Ouro"]},Mariner:{v:["Marino"]},"Nextcloud blue":{v:["Nextcloud azul"]},Olivine:{v:["Olivina"]},Purple:{v:["Púrpura"]},"Rosy brown":{v:["Pardo rosado"]},Whiskey:{v:["Whisky"]}}},{l:"he",t:{}},{l:"hi_IN",t:{}},{l:"hr",t:{}},{l:"hsb",t:{}},{l:"hu",t:{}},{l:"hy",t:{}},{l:"ia",t:{}},{l:"id",t:{Gold:{v:["Emas"]},"Nextcloud blue":{v:["Biru Nextcloud"]},Purple:{v:["Ungu"]}}},{l:"ig",t:{}},{l:"is",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Bláklukka"]},"Boston Blue":{v:["Bostonblátt"]},Deluge:{v:["Fjólublátt"]},Feldspar:{v:["Feldspat"]},Gold:{v:["Gull"]},Mariner:{v:["Sjóarablátt"]},"Nextcloud blue":{v:["Nextcloud blátt"]},Olivine:{v:["Ólivín"]},Purple:{v:["Purpurablátt"]},"Rosy brown":{v:["Rósabrúnt"]},Whiskey:{v:["Viský"]}}},{l:"it",t:{Gold:{v:["Oro"]},"Nextcloud blue":{v:["Nextcloud blue"]},Purple:{v:["Viola"]}}},{l:"ja",t:{Acapulco:{v:["アカプルコ"]},"Blue Violet":{v:["ブルーバイオレット"]},"Boston Blue":{v:["ボストンブルー"]},Deluge:{v:["豪雨"]},Feldspar:{v:["長石"]},Gold:{v:["黄金"]},Mariner:{v:["船乗り"]},"Nextcloud blue":{v:["ネクストクラウド・ブルー"]},Olivine:{v:["カンラン石"]},Purple:{v:["紫色"]},"Rosy brown":{v:["バラ色"]},Whiskey:{v:["ウイスキー"]}}},{l:"ja_JP",t:{Acapulco:{v:["アカプルコ"]},"Blue Violet":{v:["ブルーバイオレット"]},"Boston Blue":{v:["ボストンブルー"]},Deluge:{v:["豪雨"]},Feldspar:{v:["長石"]},Gold:{v:["黄金"]},Mariner:{v:["船乗り"]},"Nextcloud blue":{v:["ネクストクラウド・ブルー"]},Olivine:{v:["カンラン石"]},Purple:{v:["紫色"]},"Rosy brown":{v:["バラ色"]},Whiskey:{v:["ウイスキー"]}}},{l:"ka",t:{}},{l:"ka_GE",t:{}},{l:"kab",t:{}},{l:"kk",t:{}},{l:"km",t:{}},{l:"kn",t:{}},{l:"ko",t:{Acapulco:{v:["아카풀코"]},"Blue Violet":{v:["푸른 보라"]},"Boston Blue":{v:["보스턴 블루"]},Deluge:{v:["폭우"]},Feldspar:{v:["장석"]},Gold:{v:["금"]},Mariner:{v:["뱃사람"]},"Nextcloud blue":{v:["Nextcloud 파랑"]},Olivine:{v:["감람석"]},Purple:{v:["보라"]},"Rosy brown":{v:["로지 브라운"]},Whiskey:{v:["위스키"]}}},{l:"la",t:{}},{l:"lb",t:{}},{l:"lo",t:{}},{l:"lt_LT",t:{}},{l:"lv",t:{}},{l:"mk",t:{}},{l:"mn",t:{}},{l:"mr",t:{}},{l:"ms_MY",t:{}},{l:"my",t:{}},{l:"nb",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Blå fiolett"]},"Boston Blue":{v:["Boston blå"]},Deluge:{v:["Syndflod"]},Feldspar:{v:["Feltspat"]},Gold:{v:["Gull"]},Mariner:{v:["Mariner"]},"Nextcloud blue":{v:["Nextcloud-blå"]},Olivine:{v:["Olivin"]},Purple:{v:["Lilla"]},"Rosy brown":{v:["Rosenrød brun"]},Whiskey:{v:["Whiskey"]}}},{l:"ne",t:{}},{l:"nl",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Blauw Paars"]},"Boston Blue":{v:["Boston Blauw"]},Deluge:{v:["Deluge"]},Feldspar:{v:["Veldspaat"]},Gold:{v:["Goud"]},Mariner:{v:["Marine blauw"]},"Nextcloud blue":{v:["Nextcloud blauw"]},Olivine:{v:["Olivijn"]},Purple:{v:["Paars"]},"Rosy brown":{v:["Rozig bruin"]},Whiskey:{v:["Whiskey"]}}},{l:"nn_NO",t:{}},{l:"oc",t:{}},{l:"pl",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Niebieski fiolet"]},"Boston Blue":{v:["Błękit Bostonu"]},Deluge:{v:["Potop"]},Feldspar:{v:["Skaleń"]},Gold:{v:["Złote"]},Mariner:{v:["Marynarz"]},"Nextcloud blue":{v:["Niebieskie Nextcloud"]},Olivine:{v:["Oliwin"]},Purple:{v:["Fioletowy"]},"Rosy brown":{v:["Różowy brąz"]},Whiskey:{v:["Whisky"]}}},{l:"ps",t:{}},{l:"pt_BR",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Violeta Azul"]},"Boston Blue":{v:["Azul Boston"]},Deluge:{v:["Dilúvio"]},Feldspar:{v:["Feldspato"]},Gold:{v:["Ouro"]},Mariner:{v:["Marinheiro"]},"Nextcloud blue":{v:["azul Nextcloud"]},Olivine:{v:["Olivina"]},Purple:{v:["Roxo"]},"Rosy brown":{v:["Castanho rosado"]},Whiskey:{v:["Uísque"]}}},{l:"pt_PT",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Azul violeta"]},"Boston Blue":{v:["Azul Boston"]},Deluge:{v:["Deluge"]},Feldspar:{v:["Feldspar"]},Gold:{v:["Ouro"]},Mariner:{v:["Mariner"]},"Nextcloud blue":{v:["Nextcloud azul"]},Olivine:{v:["Olivine"]},Purple:{v:["Púrpura"]},"Rosy brown":{v:["Castanho rosado"]},Whiskey:{v:["Whiskey"]}}},{l:"ro",t:{Gold:{v:["Aur"]},"Nextcloud blue":{v:["Nextcloud albastru"]},Purple:{v:["Purpuriu"]}}},{l:"ru",t:{Acapulco:{v:["Акапулько"]},"Blue Violet":{v:["Синий фиолет"]},"Boston Blue":{v:["Синий Бостон"]},Deluge:{v:["Перламутрово-фиолетовый"]},Feldspar:{v:["Античная латунь"]},Gold:{v:["Золотой"]},Mariner:{v:["Морской"]},"Nextcloud blue":{v:["Nextcloud голубой"]},Olivine:{v:[" Оливковый"]},Purple:{v:["Фиолетовый"]},"Rosy brown":{v:["Розово-коричневый"]},Whiskey:{v:["Виски"]}}},{l:"sc",t:{}},{l:"si",t:{}},{l:"sk",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Modro fialová"]},"Boston Blue":{v:["Bostonská modrá"]},Deluge:{v:["Deluge"]},Feldspar:{v:["Živec"]},Gold:{v:["Zlatá"]},Mariner:{v:["Námorník"]},"Nextcloud blue":{v:["Nextcloud modrá"]},Olivine:{v:["Olivová"]},Purple:{v:["Fialová"]},"Rosy brown":{v:["Ružovo hnedá"]},Whiskey:{v:["Whisky"]}}},{l:"sl",t:{}},{l:"sq",t:{}},{l:"sr",t:{Acapulco:{v:["Акапулко"]},"Blue Violet":{v:["Плаво љубичаста"]},"Boston Blue":{v:["Бостон плава"]},Deluge:{v:["Поплава"]},Feldspar:{v:["Фелдспар"]},Gold:{v:["Злато"]},Mariner:{v:["Морнар"]},"Nextcloud blue":{v:["Nextcloud плава"]},Olivine:{v:["Маслинаста"]},Purple:{v:["Пурпурна"]},"Rosy brown":{v:["Роси браон"]},Whiskey:{v:["Виски"]}}},{l:"sr@latin",t:{}},{l:"sv",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Blåviolett"]},"Boston Blue":{v:["Bostonblå"]},Deluge:{v:["Skyfallsblå"]},Feldspar:{v:["Feldspat"]},Gold:{v:["Guld"]},Mariner:{v:["Marinblå"]},"Nextcloud blue":{v:["Nextcloud-blå"]},Olivine:{v:["Olivin"]},Purple:{v:["Lila"]},"Rosy brown":{v:["Rosabrun"]},Whiskey:{v:["Whisky"]}}},{l:"sw",t:{}},{l:"ta",t:{}},{l:"th",t:{}},{l:"tk",t:{}},{l:"tr",t:{Acapulco:{v:["Akapulko"]},"Blue Violet":{v:["Mavi mor"]},"Boston Blue":{v:["Boston mavisi"]},Deluge:{v:["Sel"]},Feldspar:{v:["Feldispat"]},Gold:{v:["Altın"]},Mariner:{v:["Denizci"]},"Nextcloud blue":{v:["Nextcloud mavi"]},Olivine:{v:["Zeytinlik"]},Purple:{v:["Mor"]},"Rosy brown":{v:["Kırmızımsı kahverengi"]},Whiskey:{v:["Viski"]}}},{l:"ug",t:{}},{l:"uk",t:{Acapulco:{v:["Акапулько"]},"Blue Violet":{v:["Блакитна фіалка"]},"Boston Blue":{v:["Бостонський синій"]},Deluge:{v:["Злива"]},Feldspar:{v:["Польові шпати"]},Gold:{v:["Золотий"]},Mariner:{v:["Морський"]},"Nextcloud blue":{v:["Блакитний Nextcloud"]},Olivine:{v:["Олива"]},Purple:{v:["Фіолетовий"]},"Rosy brown":{v:["Темно-рожевий"]},Whiskey:{v:["Кола"]}}},{l:"ur_PK",t:{}},{l:"uz",t:{Acapulco:{v:["Akapulko"]},"Blue Violet":{v:["Moviy binafsha"]},"Boston Blue":{v:["Boston ko'k"]},Deluge:{v:["To'fon"]},Feldspar:{v:["Feldspar"]},Gold:{v:["Oltin"]},Mariner:{v:["Dengizchi"]},"Nextcloud blue":{v:["Ko'k Nextcloud "]},Olivine:{v:["Olivine"]},Purple:{v:["Binafsha"]},"Rosy brown":{v:["Qizil jigarrang"]},Whiskey:{v:["Whiskey"]}}},{l:"vi",t:{}},{l:"zh_CN",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["瓦罗兰特蓝"]},"Boston Blue":{v:["波士顿蓝"]},Deluge:{v:["洪水色"]},Feldspar:{v:["长石"]},Gold:{v:["金色"]},Mariner:{v:["水手"]},"Nextcloud blue":{v:["Nextcloud 蓝"]},Olivine:{v:["橄榄石色"]},Purple:{v:["紫色"]},"Rosy brown":{v:["玫瑰棕色"]},Whiskey:{v:["威士忌"]}}},{l:"zh_HK",t:{Acapulco:{v:["阿卡普爾科"]},"Blue Violet":{v:["藍紫色"]},"Boston Blue":{v:["波士頓藍"]},Deluge:{v:["大洪水"]},Feldspar:{v:["長石"]},Gold:{v:["Gold"]},Mariner:{v:["海軍藍"]},"Nextcloud blue":{v:["Nextcloud 藍色"]},Olivine:{v:["橄欖石色"]},Purple:{v:["紫色"]},"Rosy brown":{v:["玫瑰棕色"]},Whiskey:{v:["威士忌"]}}},{l:"zh_TW",t:{}},{l:"zu_ZA",t:{}}],cs=[{l:"af",t:{Actions:{v:[""]}}},{l:"ar",t:{Actions:{v:["إجراءات"]}}},{l:"ast",t:{Actions:{v:["Aiciones"]}}},{l:"az",t:{Actions:{v:[""]}}},{l:"be",t:{Actions:{v:[""]}}},{l:"bg",t:{Actions:{v:[""]}}},{l:"bn_BD",t:{Actions:{v:[""]}}},{l:"br",t:{Actions:{v:["Oberioù"]}}},{l:"bs",t:{Actions:{v:[""]}}},{l:"ca",t:{Actions:{v:["Accions"]}}},{l:"cs",t:{Actions:{v:["Akce"]}}},{l:"cs_CZ",t:{Actions:{v:["Akce"]}}},{l:"cy_GB",t:{Actions:{v:[""]}}},{l:"da",t:{Actions:{v:["Handlinger"]}}},{l:"de",t:{Actions:{v:["Aktionen"]}}},{l:"de_DE",t:{Actions:{v:["Aktionen"]}}},{l:"el",t:{Actions:{v:["Ενέργειες"]}}},{l:"en_GB",t:{Actions:{v:["Actions"]}}},{l:"eo",t:{Actions:{v:["Agoj"]}}},{l:"es",t:{Actions:{v:["Acciones"]}}},{l:"es_419",t:{Actions:{v:[""]}}},{l:"es_AR",t:{Actions:{v:["Acciones"]}}},{l:"es_CL",t:{Actions:{v:[""]}}},{l:"es_CO",t:{Actions:{v:[""]}}},{l:"es_CR",t:{Actions:{v:[""]}}},{l:"es_DO",t:{Actions:{v:[""]}}},{l:"es_EC",t:{Actions:{v:["Acciones"]}}},{l:"es_GT",t:{Actions:{v:[""]}}},{l:"es_HN",t:{Actions:{v:[""]}}},{l:"es_MX",t:{Actions:{v:["Acciones"]}}},{l:"es_NI",t:{Actions:{v:[""]}}},{l:"es_PA",t:{Actions:{v:[""]}}},{l:"es_PE",t:{Actions:{v:[""]}}},{l:"es_PR",t:{Actions:{v:[""]}}},{l:"es_PY",t:{Actions:{v:[""]}}},{l:"es_SV",t:{Actions:{v:[""]}}},{l:"es_UY",t:{Actions:{v:[""]}}},{l:"et_EE",t:{Actions:{v:["Tegevus"]}}},{l:"eu",t:{Actions:{v:["Ekintzak"]}}},{l:"fa",t:{Actions:{v:["کنش‌ها"]}}},{l:"fi",t:{Actions:{v:["Toiminnot"]}}},{l:"fo",t:{Actions:{v:[""]}}},{l:"fr",t:{Actions:{v:["Actions"]}}},{l:"ga",t:{Actions:{v:["Gníomhartha"]}}},{l:"gd",t:{Actions:{v:[""]}}},{l:"gl",t:{Actions:{v:["Accións"]}}},{l:"he",t:{Actions:{v:["פעולות"]}}},{l:"hi_IN",t:{Actions:{v:[""]}}},{l:"hr",t:{Actions:{v:[""]}}},{l:"hsb",t:{Actions:{v:[""]}}},{l:"hu",t:{Actions:{v:["Műveletek"]}}},{l:"hy",t:{Actions:{v:[""]}}},{l:"ia",t:{Actions:{v:[""]}}},{l:"id",t:{Actions:{v:["Tindakan"]}}},{l:"ig",t:{Actions:{v:[""]}}},{l:"is",t:{Actions:{v:["Aðgerðir"]}}},{l:"it",t:{Actions:{v:["Azioni"]}}},{l:"ja",t:{Actions:{v:["操作"]}}},{l:"ja_JP",t:{Actions:{v:["操作"]}}},{l:"ka",t:{Actions:{v:[""]}}},{l:"ka_GE",t:{Actions:{v:[""]}}},{l:"kab",t:{Actions:{v:[""]}}},{l:"kk",t:{Actions:{v:[""]}}},{l:"km",t:{Actions:{v:[""]}}},{l:"kn",t:{Actions:{v:[""]}}},{l:"ko",t:{Actions:{v:["동작"]}}},{l:"la",t:{Actions:{v:[""]}}},{l:"lb",t:{Actions:{v:[""]}}},{l:"lo",t:{Actions:{v:[""]}}},{l:"lt_LT",t:{Actions:{v:["Veiksmai"]}}},{l:"lv",t:{Actions:{v:[""]}}},{l:"mk",t:{Actions:{v:["Акции"]}}},{l:"mn",t:{Actions:{v:[""]}}},{l:"mr",t:{Actions:{v:[""]}}},{l:"ms_MY",t:{Actions:{v:[""]}}},{l:"my",t:{Actions:{v:["လုပ်ဆောင်ချက်များ"]}}},{l:"nb",t:{Actions:{v:["Handlinger"]}}},{l:"ne",t:{Actions:{v:[""]}}},{l:"nl",t:{Actions:{v:["Acties"]}}},{l:"nn_NO",t:{Actions:{v:[""]}}},{l:"oc",t:{Actions:{v:["Accions"]}}},{l:"pl",t:{Actions:{v:["Działania"]}}},{l:"ps",t:{Actions:{v:[""]}}},{l:"pt_BR",t:{Actions:{v:["Ações"]}}},{l:"pt_PT",t:{Actions:{v:["Ações"]}}},{l:"ro",t:{Actions:{v:["Acțiuni"]}}},{l:"ru",t:{Actions:{v:["Действия "]}}},{l:"sc",t:{Actions:{v:[""]}}},{l:"si",t:{Actions:{v:[""]}}},{l:"sk",t:{Actions:{v:["Akcie"]}}},{l:"sl",t:{Actions:{v:["Dejanja"]}}},{l:"sq",t:{Actions:{v:[""]}}},{l:"sr",t:{Actions:{v:["Радње"]}}},{l:"sr@latin",t:{Actions:{v:[""]}}},{l:"sv",t:{Actions:{v:["Åtgärder"]}}},{l:"sw",t:{Actions:{v:[""]}}},{l:"ta",t:{Actions:{v:[""]}}},{l:"th",t:{Actions:{v:[""]}}},{l:"tk",t:{Actions:{v:[""]}}},{l:"tr",t:{Actions:{v:["İşlemler"]}}},{l:"ug",t:{Actions:{v:[""]}}},{l:"uk",t:{Actions:{v:["Дії"]}}},{l:"ur_PK",t:{Actions:{v:[""]}}},{l:"uz",t:{Actions:{v:["Harakatlar"]}}},{l:"vi",t:{Actions:{v:[""]}}},{l:"zh_CN",t:{Actions:{v:["行为"]}}},{l:"zh_HK",t:{Actions:{v:["動作"]}}},{l:"zh_TW",t:{Actions:{v:["動作"]}}},{l:"zu_ZA",t:{Actions:{v:[""]}}}],Cp=[{l:"af",t:{"Any link":{v:[""]}}},{l:"ar",t:{"Any link":{v:["أيَّ رابط"]}}},{l:"ast",t:{"Any link":{v:["Cualesquier enllaz"]}}},{l:"az",t:{"Any link":{v:[""]}}},{l:"be",t:{"Any link":{v:[""]}}},{l:"bg",t:{"Any link":{v:[""]}}},{l:"bn_BD",t:{"Any link":{v:[""]}}},{l:"br",t:{"Any link":{v:[""]}}},{l:"bs",t:{"Any link":{v:[""]}}},{l:"ca",t:{"Any link":{v:[""]}}},{l:"cs",t:{"Any link":{v:["Jakýkoli odkaz"]}}},{l:"cs_CZ",t:{"Any link":{v:["Jakýkoli odkaz"]}}},{l:"cy_GB",t:{"Any link":{v:[""]}}},{l:"da",t:{"Any link":{v:["Ethvert link"]}}},{l:"de",t:{"Any link":{v:["Irgendein Link"]}}},{l:"de_DE",t:{"Any link":{v:["Irgendein Link"]}}},{l:"el",t:{"Any link":{v:["Οποιοσδήποτε σύνδεσμος"]}}},{l:"en_GB",t:{"Any link":{v:["Any link"]}}},{l:"eo",t:{"Any link":{v:[""]}}},{l:"es",t:{"Any link":{v:["Cualquier enlace"]}}},{l:"es_419",t:{"Any link":{v:[""]}}},{l:"es_AR",t:{"Any link":{v:["Cualquier enlace"]}}},{l:"es_CL",t:{"Any link":{v:[""]}}},{l:"es_CO",t:{"Any link":{v:[""]}}},{l:"es_CR",t:{"Any link":{v:[""]}}},{l:"es_DO",t:{"Any link":{v:[""]}}},{l:"es_EC",t:{"Any link":{v:["Cualquier enlace"]}}},{l:"es_GT",t:{"Any link":{v:[""]}}},{l:"es_HN",t:{"Any link":{v:[""]}}},{l:"es_MX",t:{"Any link":{v:["Cualquier enlace"]}}},{l:"es_NI",t:{"Any link":{v:[""]}}},{l:"es_PA",t:{"Any link":{v:[""]}}},{l:"es_PE",t:{"Any link":{v:[""]}}},{l:"es_PR",t:{"Any link":{v:[""]}}},{l:"es_PY",t:{"Any link":{v:[""]}}},{l:"es_SV",t:{"Any link":{v:[""]}}},{l:"es_UY",t:{"Any link":{v:[""]}}},{l:"et_EE",t:{"Any link":{v:["Mistahes link"]}}},{l:"eu",t:{"Any link":{v:["Edozein esteka"]}}},{l:"fa",t:{"Any link":{v:["هر پیوندی"]}}},{l:"fi",t:{"Any link":{v:["Mikä tahansa linkki"]}}},{l:"fo",t:{"Any link":{v:[""]}}},{l:"fr",t:{"Any link":{v:["N'importe quel lien"]}}},{l:"ga",t:{"Any link":{v:["Aon nasc"]}}},{l:"gd",t:{"Any link":{v:[""]}}},{l:"gl",t:{"Any link":{v:["Calquera ligazón"]}}},{l:"he",t:{"Any link":{v:["קישור כלשהו"]}}},{l:"hi_IN",t:{"Any link":{v:[""]}}},{l:"hr",t:{"Any link":{v:[""]}}},{l:"hsb",t:{"Any link":{v:[""]}}},{l:"hu",t:{"Any link":{v:[""]}}},{l:"hy",t:{"Any link":{v:[""]}}},{l:"ia",t:{"Any link":{v:[""]}}},{l:"id",t:{"Any link":{v:["Semua tautan"]}}},{l:"ig",t:{"Any link":{v:[""]}}},{l:"is",t:{"Any link":{v:["Einhver tengill"]}}},{l:"it",t:{"Any link":{v:["Qualsiasi link"]}}},{l:"ja",t:{"Any link":{v:["任意のリンク"]}}},{l:"ja_JP",t:{"Any link":{v:["任意のリンク"]}}},{l:"ka",t:{"Any link":{v:[""]}}},{l:"ka_GE",t:{"Any link":{v:[""]}}},{l:"kab",t:{"Any link":{v:[""]}}},{l:"kk",t:{"Any link":{v:[""]}}},{l:"km",t:{"Any link":{v:[""]}}},{l:"kn",t:{"Any link":{v:[""]}}},{l:"ko",t:{"Any link":{v:["아무 링크"]}}},{l:"la",t:{"Any link":{v:[""]}}},{l:"lb",t:{"Any link":{v:[""]}}},{l:"lo",t:{"Any link":{v:[""]}}},{l:"lt_LT",t:{"Any link":{v:[""]}}},{l:"lv",t:{"Any link":{v:[""]}}},{l:"mk",t:{"Any link":{v:[""]}}},{l:"mn",t:{"Any link":{v:[""]}}},{l:"mr",t:{"Any link":{v:[""]}}},{l:"ms_MY",t:{"Any link":{v:[""]}}},{l:"my",t:{"Any link":{v:[""]}}},{l:"nb",t:{"Any link":{v:["Enhver lenke"]}}},{l:"ne",t:{"Any link":{v:[""]}}},{l:"nl",t:{"Any link":{v:["Elke link"]}}},{l:"nn_NO",t:{"Any link":{v:[""]}}},{l:"oc",t:{"Any link":{v:[""]}}},{l:"pl",t:{"Any link":{v:["Dowolny link"]}}},{l:"ps",t:{"Any link":{v:[""]}}},{l:"pt_BR",t:{"Any link":{v:["Qualquer link"]}}},{l:"pt_PT",t:{"Any link":{v:["Qualquer hiperligação"]}}},{l:"ro",t:{"Any link":{v:["Orice link"]}}},{l:"ru",t:{"Any link":{v:["Любая ссылка"]}}},{l:"sc",t:{"Any link":{v:[""]}}},{l:"si",t:{"Any link":{v:[""]}}},{l:"sk",t:{"Any link":{v:["Akýkoľvek odkaz"]}}},{l:"sl",t:{"Any link":{v:[""]}}},{l:"sq",t:{"Any link":{v:[""]}}},{l:"sr",t:{"Any link":{v:["Било који линк"]}}},{l:"sr@latin",t:{"Any link":{v:[""]}}},{l:"sv",t:{"Any link":{v:["Vilken länk som helst"]}}},{l:"sw",t:{"Any link":{v:[""]}}},{l:"ta",t:{"Any link":{v:[""]}}},{l:"th",t:{"Any link":{v:[""]}}},{l:"tk",t:{"Any link":{v:[""]}}},{l:"tr",t:{"Any link":{v:["Herhangi bir bağlantı"]}}},{l:"ug",t:{"Any link":{v:[""]}}},{l:"uk",t:{"Any link":{v:["Будь-яке посилання"]}}},{l:"ur_PK",t:{"Any link":{v:[""]}}},{l:"uz",t:{"Any link":{v:["Har qanday havola"]}}},{l:"vi",t:{"Any link":{v:[""]}}},{l:"zh_CN",t:{"Any link":{v:["任何链接"]}}},{l:"zh_HK",t:{"Any link":{v:["任何連結"]}}},{l:"zh_TW",t:{"Any link":{v:["任何連結"]}}},{l:"zu_ZA",t:{"Any link":{v:[""]}}}],yp=[{l:"af",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"ar",t:{"Avatar of {displayName}":{v:["صورة الملف الشخصي الرمزية لــ {displayName} "]},"Avatar of {displayName}, {status}":{v:["صورة الملف الشخصي الرمزية لــ {displayName}، {status}"]}}},{l:"ast",t:{"Avatar of {displayName}":{v:["Avatar de: {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar de: {displayName}, {status}"]}}},{l:"az",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"be",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"bg",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"bn_BD",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"br",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"bs",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"ca",t:{"Avatar of {displayName}":{v:["Avatar de {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar de {displayName}, {status}"]}}},{l:"cs",t:{"Avatar of {displayName}":{v:["Zástupný obrázek uživatele {displayName}"]},"Avatar of {displayName}, {status}":{v:["Zástupný obrázek uživatele {displayName}, {status}"]}}},{l:"cs_CZ",t:{"Avatar of {displayName}":{v:["Zástupný obrázek uživatele {displayName}"]},"Avatar of {displayName}, {status}":{v:["Zástupný obrázek uživatele {displayName}, {status}"]}}},{l:"cy_GB",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"da",t:{"Avatar of {displayName}":{v:["Avatar af {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar af {displayName}, {status}"]}}},{l:"de",t:{"Avatar of {displayName}":{v:["Avatar von {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar von {displayName}, {status}"]}}},{l:"de_DE",t:{"Avatar of {displayName}":{v:["Avatar von {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar von {displayName}, {status}"]}}},{l:"el",t:{"Avatar of {displayName}":{v:["Άβαταρ του {displayName}"]},"Avatar of {displayName}, {status}":{v:["Άβαταρ του {displayName}, {status}"]}}},{l:"en_GB",t:{"Avatar of {displayName}":{v:["Avatar of {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar of {displayName}, {status}"]}}},{l:"eo",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"es",t:{"Avatar of {displayName}":{v:["Avatar de {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar de {displayName}, {status}"]}}},{l:"es_419",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"es_AR",t:{"Avatar of {displayName}":{v:["Avatar de {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar de {displayName}, {status}"]}}},{l:"es_CL",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"es_CO",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"es_CR",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"es_DO",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"es_EC",t:{"Avatar of {displayName}":{v:["Avatar de {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar de {displayName}, {status}"]}}},{l:"es_GT",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"es_HN",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"es_MX",t:{"Avatar of {displayName}":{v:["Avatar de {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar de {displayName}, {status}"]}}},{l:"es_NI",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"es_PA",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"es_PE",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"es_PR",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"es_PY",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"es_SV",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"es_UY",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"et_EE",t:{"Avatar of {displayName}":{v:["Avatar {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar {displayName}, {status}"]}}},{l:"eu",t:{"Avatar of {displayName}":{v:["{displayName}-(e)n irudia"]},"Avatar of {displayName}, {status}":{v:["{displayName} -(e)n irudia, {status}"]}}},{l:"fa",t:{"Avatar of {displayName}":{v:["آواتار {displayName}"]},"Avatar of {displayName}, {status}":{v:["آواتار {displayName} ، {status}"]}}},{l:"fi",t:{"Avatar of {displayName}":{v:["{displayName}n avatar"]},"Avatar of {displayName}, {status}":{v:["{displayName}n avatar, {status}"]}}},{l:"fo",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"fr",t:{"Avatar of {displayName}":{v:["Avatar de {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar de {displayName}, {status}"]}}},{l:"ga",t:{"Avatar of {displayName}":{v:["Avatar de {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar de {displayName}, {status}"]}}},{l:"gd",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"gl",t:{"Avatar of {displayName}":{v:["Avatar de {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar de {displayName}, {status}"]}}},{l:"he",t:{"Avatar of {displayName}":{v:["תמונה ייצוגית של {displayName}"]},"Avatar of {displayName}, {status}":{v:["תמונה ייצוגית של {displayName}, {status}"]}}},{l:"hi_IN",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"hr",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"hsb",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"hu",t:{"Avatar of {displayName}":{v:["{displayName} profilképe"]},"Avatar of {displayName}, {status}":{v:["{displayName} profilképe, {status}"]}}},{l:"hy",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"ia",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"id",t:{"Avatar of {displayName}":{v:["Avatar {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar {displayName}, {status}"]}}},{l:"ig",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"is",t:{"Avatar of {displayName}":{v:["Auðkennismynd fyrir {displayName}"]},"Avatar of {displayName}, {status}":{v:["Auðkennismynd fyrir {displayName}, {status}"]}}},{l:"it",t:{"Avatar of {displayName}":{v:["Avatar di {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar di {displayName}, {status}"]}}},{l:"ja",t:{"Avatar of {displayName}":{v:["{displayName} のアバター"]},"Avatar of {displayName}, {status}":{v:["{displayName}, {status} のアバター"]}}},{l:"ja_JP",t:{"Avatar of {displayName}":{v:["{displayName} のアバター"]},"Avatar of {displayName}, {status}":{v:["{displayName}, {status} のアバター"]}}},{l:"ka",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"ka_GE",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"kab",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"kk",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"km",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"kn",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"ko",t:{"Avatar of {displayName}":{v:["{displayName}님의 아바타"]},"Avatar of {displayName}, {status}":{v:["{displayName}, {status}님의 아바타"]}}},{l:"la",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"lb",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"lo",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"lt_LT",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"lv",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"mk",t:{"Avatar of {displayName}":{v:["Аватар на {displayName}"]},"Avatar of {displayName}, {status}":{v:["Аватар на {displayName}, {status}"]}}},{l:"mn",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"mr",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"ms_MY",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"my",t:{"Avatar of {displayName}":{v:["{displayName} ၏ ကိုယ်ပွား"]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"nb",t:{"Avatar of {displayName}":{v:["Avataren til {displayName}"]},"Avatar of {displayName}, {status}":{v:["{displayName}'s avatar, {status}"]}}},{l:"ne",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"nl",t:{"Avatar of {displayName}":{v:["Avatar van {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar van {displayName}, {status}"]}}},{l:"nn_NO",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"oc",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"pl",t:{"Avatar of {displayName}":{v:["Awatar {displayName}"]},"Avatar of {displayName}, {status}":{v:["Awatar {displayName}, {status}"]}}},{l:"ps",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"pt_BR",t:{"Avatar of {displayName}":{v:["Avatar de {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar de {displayName}, {status}"]}}},{l:"pt_PT",t:{"Avatar of {displayName}":{v:["Avatar de {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar de {displayName}, {status}"]}}},{l:"ro",t:{"Avatar of {displayName}":{v:["Avatarul lui {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatarul lui {displayName}, {status}"]}}},{l:"ru",t:{"Avatar of {displayName}":{v:["Аватар {displayName}"]},"Avatar of {displayName}, {status}":{v:["Фотография {displayName}, {status}"]}}},{l:"sc",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"si",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"sk",t:{"Avatar of {displayName}":{v:["Avatar {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar {displayName}, {status}"]}}},{l:"sl",t:{"Avatar of {displayName}":{v:["Podoba {displayName}"]},"Avatar of {displayName}, {status}":{v:["Prikazna slika {displayName}, {status}"]}}},{l:"sq",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"sr",t:{"Avatar of {displayName}":{v:["Аватар за {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar za {displayName}, {status}"]}}},{l:"sr@latin",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"sv",t:{"Avatar of {displayName}":{v:["{displayName}s avatar"]},"Avatar of {displayName}, {status}":{v:["{displayName}s avatar, {status}"]}}},{l:"sw",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"ta",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"th",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"tk",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"tr",t:{"Avatar of {displayName}":{v:["{displayName} avatarı"]},"Avatar of {displayName}, {status}":{v:["{displayName}, {status} avatarı"]}}},{l:"ug",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"uk",t:{"Avatar of {displayName}":{v:["Аватар {displayName}"]},"Avatar of {displayName}, {status}":{v:["Аватар {displayName}, {status}"]}}},{l:"ur_PK",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"uz",t:{"Avatar of {displayName}":{v:[" {displayName}Avatari"]},"Avatar of {displayName}, {status}":{v:["{displayName}, {status} Avatari"]}}},{l:"vi",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"zh_CN",t:{"Avatar of {displayName}":{v:["{displayName}的头像"]},"Avatar of {displayName}, {status}":{v:["{displayName}的头像,{status}"]}}},{l:"zh_HK",t:{"Avatar of {displayName}":{v:["{displayName} 的頭像"]},"Avatar of {displayName}, {status}":{v:["{displayName} 的頭像,{status}"]}}},{l:"zh_TW",t:{"Avatar of {displayName}":{v:["{displayName} 的大頭照"]},"Avatar of {displayName}, {status}":{v:["{displayName}, {status} 的大頭照"]}}},{l:"zu_ZA",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}}],Ep=[{l:"af",t:{}},{l:"ar",t:{away:{v:["غير موجود"]},busy:{v:["مشغول"]},"do not disturb":{v:["يُرجى عدم الإزعاج"]},invisible:{v:["غير مرئي"]},offline:{v:["غير متصل"]},online:{v:["متصل"]}}},{l:"ast",t:{away:{v:["ausente"]},busy:{v:["ocupáu"]},"do not disturb":{v:["nun molestar"]},invisible:{v:["invisible"]},offline:{v:["desconectáu"]},online:{v:["en llinia"]}}},{l:"az",t:{}},{l:"be",t:{}},{l:"bg",t:{}},{l:"bn_BD",t:{}},{l:"br",t:{}},{l:"bs",t:{}},{l:"ca",t:{}},{l:"cs",t:{away:{v:["pryč"]},busy:{v:["zaneprádněn(a)"]},"do not disturb":{v:["nerušit"]},invisible:{v:["neviditelné"]},offline:{v:["offline"]},online:{v:["online"]}}},{l:"cs_CZ",t:{away:{v:["pryč"]},busy:{v:["zaneprádněn(a)"]},"do not disturb":{v:["nerušit"]},invisible:{v:["neviditelné"]},offline:{v:["offline"]},online:{v:["online"]}}},{l:"cy_GB",t:{}},{l:"da",t:{away:{v:["væk"]},busy:{v:["optaget"]},"do not disturb":{v:["forstyr ikke"]},invisible:{v:["usynlig"]},offline:{v:["offline"]},online:{v:["online"]}}},{l:"de",t:{away:{v:["Abwesend"]},busy:{v:["Beschäftigt"]},"do not disturb":{v:["Bitte nicht stören"]},invisible:{v:["Unsichtbar"]},offline:{v:["Offline"]},online:{v:["Online"]}}},{l:"de_DE",t:{away:{v:["Abwesend"]},busy:{v:["Beschäftigt"]},"do not disturb":{v:["Bitte nicht stören"]},invisible:{v:["Unsichtbar"]},offline:{v:["Offline"]},online:{v:["Online"]}}},{l:"el",t:{away:{v:["μακριά"]},busy:{v:["απασχολημένος"]},"do not disturb":{v:["μην ενοχλείτε"]},invisible:{v:["αόρατο"]},offline:{v:["εκτός σύνδεσης"]},online:{v:["συνδεδεμένος"]}}},{l:"en_GB",t:{away:{v:["away"]},busy:{v:["busy"]},"do not disturb":{v:["do not disturb"]},invisible:{v:["invisible"]},offline:{v:["offline"]},online:{v:["online"]}}},{l:"eo",t:{}},{l:"es",t:{away:{v:["ausente"]},busy:{v:["ocupado"]},"do not disturb":{v:["no molestar"]},invisible:{v:["invisible"]},offline:{v:["fuera de línea"]},online:{v:["en línea"]}}},{l:"es_419",t:{}},{l:"es_AR",t:{away:{v:["ausente"]},busy:{v:["ocupado"]},"do not disturb":{v:["no molestar"]},invisible:{v:["invisible"]},offline:{v:["desconectado"]},online:{v:["en línea"]}}},{l:"es_CL",t:{}},{l:"es_CO",t:{}},{l:"es_CR",t:{}},{l:"es_DO",t:{}},{l:"es_EC",t:{}},{l:"es_GT",t:{}},{l:"es_HN",t:{}},{l:"es_MX",t:{away:{v:["ausente"]},busy:{v:["ocupado"]},"do not disturb":{v:["no molestar"]},invisible:{v:["invisible"]},offline:{v:["fuera de línea"]},online:{v:["en línea"]}}},{l:"es_NI",t:{}},{l:"es_PA",t:{}},{l:"es_PE",t:{}},{l:"es_PR",t:{}},{l:"es_PY",t:{}},{l:"es_SV",t:{}},{l:"es_UY",t:{}},{l:"et_EE",t:{away:{v:["eemal"]},busy:{v:["hõivatud"]},"do not disturb":{v:["ära sega"]},invisible:{v:["nähtamatu"]},offline:{v:["pole võrgus"]},online:{v:["võrgus"]}}},{l:"eu",t:{}},{l:"fa",t:{away:{v:["دور از دستگاه"]},busy:{v:["مشغول"]},"do not disturb":{v:["مزاحم نشوید"]},invisible:{v:["مخفی"]},offline:{v:["برون‌خط"]},online:{v:["برخط"]}}},{l:"fi",t:{away:{v:["poissa"]},busy:{v:["varattu"]},"do not disturb":{v:["älä häiritse"]},invisible:{v:["näkymätön"]},offline:{v:["ei linjalla"]},online:{v:["linjalla"]}}},{l:"fo",t:{}},{l:"fr",t:{away:{v:["absent"]},busy:{v:["occupé"]},"do not disturb":{v:["ne pas déranger"]},invisible:{v:["invisible"]},offline:{v:["hors ligne"]},online:{v:["en ligne"]}}},{l:"ga",t:{away:{v:["ar shiúl"]},busy:{v:["gnóthach"]},"do not disturb":{v:["ná cur as"]},invisible:{v:["dofheicthe"]},offline:{v:["as líne"]},online:{v:["ar líne"]}}},{l:"gd",t:{}},{l:"gl",t:{away:{v:["ausente"]},busy:{v:["ocupado"]},"do not disturb":{v:["non molestar"]},invisible:{v:["invisíbel"]},offline:{v:["desconectado"]},online:{v:["conectado"]}}},{l:"he",t:{}},{l:"hi_IN",t:{}},{l:"hr",t:{}},{l:"hsb",t:{}},{l:"hu",t:{}},{l:"hy",t:{}},{l:"ia",t:{}},{l:"id",t:{away:{v:["tidak tersedia"]},"do not disturb":{v:["jangan ganggu"]},offline:{v:["luring"]},online:{v:["daring"]}}},{l:"ig",t:{}},{l:"is",t:{away:{v:["í burtu"]},busy:{v:["upptekin/n"]},"do not disturb":{v:["ekki ónáða"]},invisible:{v:["ósýnilegt"]},offline:{v:["ónettengt"]},online:{v:["nettengt"]}}},{l:"it",t:{away:{v:["via"]},"do not disturb":{v:["non disturbare"]},offline:{v:["offline"]},online:{v:["online"]}}},{l:"ja",t:{away:{v:["離れる"]},busy:{v:["ビジー"]},"do not disturb":{v:["邪魔をしないでください"]},invisible:{v:["不可視"]},offline:{v:["オフライン"]},online:{v:["オンライン"]}}},{l:"ja_JP",t:{away:{v:["離れる"]},busy:{v:["ビジー"]},"do not disturb":{v:["邪魔をしないでください"]},invisible:{v:["不可視"]},offline:{v:["オフライン"]},online:{v:["オンライン"]}}},{l:"ka",t:{}},{l:"ka_GE",t:{}},{l:"kab",t:{}},{l:"kk",t:{}},{l:"km",t:{}},{l:"kn",t:{}},{l:"ko",t:{away:{v:["자리 비움"]},busy:{v:["바쁨"]},"do not disturb":{v:["방해 금지"]},invisible:{v:["보이지 않음"]},offline:{v:["오프라인"]},online:{v:["온라인"]}}},{l:"la",t:{}},{l:"lb",t:{}},{l:"lo",t:{}},{l:"lt_LT",t:{}},{l:"lv",t:{}},{l:"mk",t:{}},{l:"mn",t:{}},{l:"mr",t:{}},{l:"ms_MY",t:{}},{l:"my",t:{}},{l:"nb",t:{away:{v:["borte"]},busy:{v:["opptatt"]},"do not disturb":{v:["ikke forstyrr"]},invisible:{v:["usynlig"]},offline:{v:["frakoblet"]},online:{v:["tilkoblet"]}}},{l:"ne",t:{}},{l:"nl",t:{away:{v:["weg"]},busy:{v:["bezig"]},"do not disturb":{v:["niet storen"]},invisible:{v:["Onzichtbaar"]},offline:{v:["offline"]},online:{v:["online"]}}},{l:"nn_NO",t:{}},{l:"oc",t:{}},{l:"pl",t:{away:{v:["stąd"]},busy:{v:["zajęty"]},"do not disturb":{v:["nie przeszkadzać"]},invisible:{v:["niewidzialny"]},offline:{v:["offline"]},online:{v:["online"]}}},{l:"ps",t:{}},{l:"pt_BR",t:{away:{v:["ausente"]},busy:{v:["ocupado"]},"do not disturb":{v:["não perturbe"]},invisible:{v:["invisível"]},offline:{v:["desligada"]},online:{v:["ligado"]}}},{l:"pt_PT",t:{away:{v:["longe"]},busy:{v:["ocupado"]},"do not disturb":{v:["não incomodar"]},invisible:{v:["invisível"]},offline:{v:["offline"]},online:{v:["online"]}}},{l:"ro",t:{away:{v:["plecat"]},"do not disturb":{v:["nu deranjați"]},offline:{v:["deconectat"]},online:{v:["online"]}}},{l:"ru",t:{away:{v:["отсутствие"]},busy:{v:["занятый"]},"do not disturb":{v:["не беспокоить"]},invisible:{v:["невидимый"]},offline:{v:["офлайн"]},online:{v:["онлайн"]}}},{l:"sc",t:{}},{l:"si",t:{}},{l:"sk",t:{away:{v:["neprítomný"]},busy:{v:["zaneprázdnený"]},"do not disturb":{v:["nerušiť"]},invisible:{v:["neviditeľný"]},offline:{v:["Odpojený - offline"]},online:{v:["Pripojený - online"]}}},{l:"sl",t:{}},{l:"sq",t:{}},{l:"sr",t:{away:{v:["одсутан"]},busy:{v:["заузет"]},"do not disturb":{v:["не узнемиравај"]},invisible:{v:["невидљиво"]},offline:{v:["ван мреже"]},online:{v:["на мрежи"]}}},{l:"sr@latin",t:{}},{l:"sv",t:{away:{v:["borta"]},busy:{v:["upptagen"]},"do not disturb":{v:["stör ej"]},invisible:{v:["osynlig"]},offline:{v:["offline"]},online:{v:["online"]}}},{l:"sw",t:{}},{l:"ta",t:{}},{l:"th",t:{}},{l:"tk",t:{}},{l:"tr",t:{away:{v:["Uzakta"]},busy:{v:["meşgul"]},"do not disturb":{v:["Rahatsız etmeyin"]},invisible:{v:["görünmez"]},offline:{v:["Çevrim dışı"]},online:{v:["Çevrim içi"]}}},{l:"ug",t:{}},{l:"uk",t:{away:{v:["відсутній"]},busy:{v:["зайнято"]},"do not disturb":{v:["не турбувати"]},invisible:{v:["Невидимий"]},offline:{v:["не в мережі"]},online:{v:["в мережі"]}}},{l:"ur_PK",t:{}},{l:"uz",t:{away:{v:["uzoqda"]},busy:{v:["band"]},"do not disturb":{v:["bezovta qilmang"]},invisible:{v:["ko'rinmas"]},offline:{v:["offline"]},online:{v:["online"]}}},{l:"vi",t:{}},{l:"zh_CN",t:{away:{v:["离开"]},busy:{v:["繁忙"]},"do not disturb":{v:["请勿打扰"]},invisible:{v:["隐藏的"]},offline:{v:["离线"]},online:{v:["在线"]}}},{l:"zh_HK",t:{away:{v:["離開"]},busy:{v:["忙碌"]},"do not disturb":{v:["請勿打擾"]},invisible:{v:["隐藏的"]},offline:{v:["離線"]},online:{v:["在線"]}}},{l:"zh_TW",t:{}},{l:"zu_ZA",t:{}}],kp=[{l:"af",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"ar",t:{"Back to provider selection":{v:["عودة إلى اختيار المزوّد"]},"Close Smart Picker":{v:["إغلاق المحدد الذكي"]},"Smart Picker":{v:["اللاقط الذكي smart picker"]}}},{l:"ast",t:{"Back to provider selection":{v:["Volver a la seleición de fornidores"]},"Close Smart Picker":{v:["Zarrar la seleición intelixente"]},"Smart Picker":{v:["Selector intelixente"]}}},{l:"az",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"be",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"bg",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"bn_BD",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"br",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"bs",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"ca",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"cs",t:{"Back to provider selection":{v:["Zpět na výběr poskytovatele"]},"Close Smart Picker":{v:["Zavřít inteligentní výběr"]},"Smart Picker":{v:["Inteligentní výběr"]}}},{l:"cs_CZ",t:{"Back to provider selection":{v:["Zpět na výběr poskytovatele"]},"Close Smart Picker":{v:["Zavřít inteligentní výběr"]},"Smart Picker":{v:["Inteligentní výběr"]}}},{l:"cy_GB",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"da",t:{"Back to provider selection":{v:["Tilbage til udbydervalg"]},"Close Smart Picker":{v:["Luk Smart Vælger"]},"Smart Picker":{v:["Smart Vælger"]}}},{l:"de",t:{"Back to provider selection":{v:["Zurück zur Anbieterauswahl"]},"Close Smart Picker":{v:["Smart Picker schließen"]},"Smart Picker":{v:["Smart Picker"]}}},{l:"de_DE",t:{"Back to provider selection":{v:["Zurück zur Anbieterauswahl"]},"Close Smart Picker":{v:["Smart Picker schließen"]},"Smart Picker":{v:["Smart Picker"]}}},{l:"el",t:{"Back to provider selection":{v:["Επιστροφή στην επιλογή παρόχου"]},"Close Smart Picker":{v:["Κλείσιμο Έξυπνης Επιλογής"]},"Smart Picker":{v:["Έξυπνη Επιλογή"]}}},{l:"en_GB",t:{"Back to provider selection":{v:["Back to provider selection"]},"Close Smart Picker":{v:["Close Smart Picker"]},"Smart Picker":{v:["Smart Picker"]}}},{l:"eo",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"es",t:{"Back to provider selection":{v:["Volver a la selección de proveedor"]},"Close Smart Picker":{v:["Cerrar selector inteligente"]},"Smart Picker":{v:["Selector inteligente"]}}},{l:"es_419",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"es_AR",t:{"Back to provider selection":{v:["Volver a la selección de proveedor"]},"Close Smart Picker":{v:["Cerrar selector inteligente"]},"Smart Picker":{v:["Selector inteligente"]}}},{l:"es_CL",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"es_CO",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"es_CR",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"es_DO",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"es_EC",t:{"Back to provider selection":{v:["Volver a la selección de proveedor"]},"Close Smart Picker":{v:["Cerrar selector inteligente"]},"Smart Picker":{v:["Selector inteligente"]}}},{l:"es_GT",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"es_HN",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"es_MX",t:{"Back to provider selection":{v:["Volver a la selección de proveedor"]},"Close Smart Picker":{v:["Cerrar selector inteligente"]},"Smart Picker":{v:["Selector inteligente"]}}},{l:"es_NI",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"es_PA",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"es_PE",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"es_PR",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"es_PY",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"es_SV",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"es_UY",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"et_EE",t:{"Back to provider selection":{v:["Tagasi teenusepakkuja valiku juurde"]},"Close Smart Picker":{v:["Sulge nutikas valija"]},"Smart Picker":{v:["Nutikas valija"]}}},{l:"eu",t:{"Back to provider selection":{v:["Itzuli hornitzaileen hautapenera"]},"Close Smart Picker":{v:["Itxi hautatzaile adimenduna"]},"Smart Picker":{v:["Hautatzaile adimenduna"]}}},{l:"fa",t:{"Back to provider selection":{v:["بازگشت به انتخاب ارائه دهنده"]},"Close Smart Picker":{v:["بستن انتخاب‌گر هوشمند"]},"Smart Picker":{v:["انتخابگر هوشمند"]}}},{l:"fi",t:{"Back to provider selection":{v:["Takaisin toimittajavalintaan"]},"Close Smart Picker":{v:["Sulje älykas valitsin"]},"Smart Picker":{v:["Älykäs valitsin"]}}},{l:"fo",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"fr",t:{"Back to provider selection":{v:["Revenir à la sélection du fournisseur"]},"Close Smart Picker":{v:["Fermer le sélecteur intelligent"]},"Smart Picker":{v:["Sélecteur intelligent"]}}},{l:"ga",t:{"Back to provider selection":{v:["Ar ais go roghnú soláthróra"]},"Close Smart Picker":{v:["Dún Piocálaí Cliste"]},"Smart Picker":{v:["Roghnóir Cliste"]}}},{l:"gd",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"gl",t:{"Back to provider selection":{v:["Volver á selección do provedor"]},"Close Smart Picker":{v:["Pechar o Selector intelixente"]},"Smart Picker":{v:["Selector intelixente"]}}},{l:"he",t:{"Back to provider selection":{v:["חזרה לבחירת ספק"]},"Close Smart Picker":{v:["סגירת הבורר החכם"]},"Smart Picker":{v:["בורר חכם"]}}},{l:"hi_IN",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"hr",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"hsb",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"hu",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"hy",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"ia",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"id",t:{"Back to provider selection":{v:["Kembali ke pemilihan penyedia"]},"Close Smart Picker":{v:["Tutup Pemilih Cerdas"]},"Smart Picker":{v:["Pemilih Cerdas"]}}},{l:"ig",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"is",t:{"Back to provider selection":{v:["Til baka í val á þjónustuveitu"]},"Close Smart Picker":{v:["Loka snjall-veljara"]},"Smart Picker":{v:["Snjall-veljari"]}}},{l:"it",t:{"Back to provider selection":{v:["Torna alla selezione del provider"]},"Close Smart Picker":{v:["Chiudere lo Smart Picker"]},"Smart Picker":{v:["Picker intelligente"]}}},{l:"ja",t:{"Back to provider selection":{v:["プロバイダーの選択に戻る"]},"Close Smart Picker":{v:["スマートピッカーを閉じる"]},"Smart Picker":{v:["スマートピッカー"]}}},{l:"ja_JP",t:{"Back to provider selection":{v:["プロバイダーの選択に戻る"]},"Close Smart Picker":{v:["スマートピッカーを閉じる"]},"Smart Picker":{v:["スマートピッカー"]}}},{l:"ka",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"ka_GE",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"kab",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"kk",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"km",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"kn",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"ko",t:{"Back to provider selection":{v:["제공자 선택으로 돌아가기"]},"Close Smart Picker":{v:["스마트 선택기 닫기"]},"Smart Picker":{v:["스마트 선택기"]}}},{l:"la",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"lb",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"lo",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"lt_LT",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"lv",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"mk",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"mn",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"mr",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"ms_MY",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"my",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"nb",t:{"Back to provider selection":{v:["Tilbake til leverandørvalg"]},"Close Smart Picker":{v:["Lukk Smart Velger"]},"Smart Picker":{v:["Smart Velger"]}}},{l:"ne",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"nl",t:{"Back to provider selection":{v:["Terug naar provider selectie"]},"Close Smart Picker":{v:["Sluit Slimme Kiezer"]},"Smart Picker":{v:["Slimme Kiezer"]}}},{l:"nn_NO",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"oc",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"pl",t:{"Back to provider selection":{v:["Powrót do wyboru dostawcy"]},"Close Smart Picker":{v:["Zamknij inteligentny selektor"]},"Smart Picker":{v:["Inteligentne wybieranie"]}}},{l:"ps",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"pt_BR",t:{"Back to provider selection":{v:["Voltar para seleção de provedor"]},"Close Smart Picker":{v:["Fechar Seletor Inteligente"]},"Smart Picker":{v:["Seletor Inteligente"]}}},{l:"pt_PT",t:{"Back to provider selection":{v:["Voltar à seleção de fornecedor"]},"Close Smart Picker":{v:['Fechar "Smart Picker"']},"Smart Picker":{v:["Smart Picker"]}}},{l:"ro",t:{"Back to provider selection":{v:["Înapoi la selecția providerului"]},"Close Smart Picker":{v:["Închide Smart Picker"]},"Smart Picker":{v:["Smart Picker"]}}},{l:"ru",t:{"Back to provider selection":{v:["Вернуться к выбору провайдера"]},"Close Smart Picker":{v:["Закрыть интеллектуальный выбор"]},"Smart Picker":{v:["Умный выбор"]}}},{l:"sc",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"si",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"sk",t:{"Back to provider selection":{v:["Späť na výber poskytovateľa"]},"Close Smart Picker":{v:["Zavrieť inteligentný výber"]},"Smart Picker":{v:["Inteligentný výber"]}}},{l:"sl",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"sq",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"sr",t:{"Back to provider selection":{v:["Назад на избор пружаоца"]},"Close Smart Picker":{v:["Затвори паметни бирач"]},"Smart Picker":{v:["Паметни бирач"]}}},{l:"sr@latin",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"sv",t:{"Back to provider selection":{v:["Tillbaka till leverantörsval"]},"Close Smart Picker":{v:["Stäng Smart Picker"]},"Smart Picker":{v:["Smart Picker"]}}},{l:"sw",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"ta",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"th",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"tk",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"tr",t:{"Back to provider selection":{v:["Sağlayıcı seçimine dön"]},"Close Smart Picker":{v:["Akıllı seçimi kapat"]},"Smart Picker":{v:["Akıllı seçim"]}}},{l:"ug",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"uk",t:{"Back to provider selection":{v:["Назад до вибору постачальника"]},"Close Smart Picker":{v:["Закрити асистент вибору"]},"Smart Picker":{v:["Асистент вибору"]}}},{l:"ur_PK",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"uz",t:{"Back to provider selection":{v:["Provayder tanloviga qaytish"]},"Close Smart Picker":{v:["Smart Picker-ni yoping"]},"Smart Picker":{v:["Aqlli tanlovchi"]}}},{l:"vi",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"zh_CN",t:{"Back to provider selection":{v:["返回至提供者选择列表"]},"Close Smart Picker":{v:["关闭智能拾取器"]},"Smart Picker":{v:["智能拾取器"]}}},{l:"zh_HK",t:{"Back to provider selection":{v:["回到提供者選擇"]},"Close Smart Picker":{v:["關閉 Smart Picker"]},"Smart Picker":{v:["Smart Picker"]}}},{l:"zh_TW",t:{"Back to provider selection":{v:["回到提供者選擇"]},"Close Smart Picker":{v:["關閉智慧型挑選器"]},"Smart Picker":{v:["智慧型挑選器"]}}},{l:"zu_ZA",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}}],bp=[{l:"af",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"ar",t:{"Cancel changes":{v:["إلغاء التغييرات"]},"Confirm changes":{v:["تأكيد التغييرات"]}}},{l:"ast",t:{"Cancel changes":{v:["Encaboxar los cambeos"]},"Confirm changes":{v:["Confirmar los cambeos"]}}},{l:"az",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"be",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"bg",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"bn_BD",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"br",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"bs",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"ca",t:{"Cancel changes":{v:["Cancel·la els canvis"]},"Confirm changes":{v:["Confirmeu els canvis"]}}},{l:"cs",t:{"Cancel changes":{v:["Zrušit změny"]},"Confirm changes":{v:["Potvrdit změny"]}}},{l:"cs_CZ",t:{"Cancel changes":{v:["Zrušit změny"]},"Confirm changes":{v:["Potvrdit změny"]}}},{l:"cy_GB",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"da",t:{"Cancel changes":{v:["Annuller ændringer"]},"Confirm changes":{v:["Bekræft ændringer"]}}},{l:"de",t:{"Cancel changes":{v:["Änderungen verwerfen"]},"Confirm changes":{v:["Änderungen bestätigen"]}}},{l:"de_DE",t:{"Cancel changes":{v:["Änderungen verwerfen"]},"Confirm changes":{v:["Änderungen bestätigen"]}}},{l:"el",t:{"Cancel changes":{v:["Ακύρωση αλλαγών"]},"Confirm changes":{v:["Επιβεβαίωση αλλαγών"]}}},{l:"en_GB",t:{"Cancel changes":{v:["Cancel changes"]},"Confirm changes":{v:["Confirm changes"]}}},{l:"eo",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"es",t:{"Cancel changes":{v:["Cancelar cambios"]},"Confirm changes":{v:["Confirmar cambios"]}}},{l:"es_419",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"es_AR",t:{"Cancel changes":{v:["Cancelar cambios"]},"Confirm changes":{v:["Confirmar cambios"]}}},{l:"es_CL",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"es_CO",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"es_CR",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"es_DO",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"es_EC",t:{"Cancel changes":{v:["Cancelar cambios"]},"Confirm changes":{v:["Confirmar cambios"]}}},{l:"es_GT",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"es_HN",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"es_MX",t:{"Cancel changes":{v:["Cancelar cambios"]},"Confirm changes":{v:["Confirmar cambios"]}}},{l:"es_NI",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"es_PA",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"es_PE",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"es_PR",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"es_PY",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"es_SV",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"es_UY",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"et_EE",t:{"Cancel changes":{v:["Tühista muudatused"]},"Confirm changes":{v:["Kinnitage muudatused"]}}},{l:"eu",t:{"Cancel changes":{v:["Ezeztatu aldaketak"]},"Confirm changes":{v:["Baieztatu aldaketak"]}}},{l:"fa",t:{"Cancel changes":{v:["لغو تغییرات"]},"Confirm changes":{v:["تایید تغییرات"]}}},{l:"fi",t:{"Cancel changes":{v:["Peruuta muutokset"]},"Confirm changes":{v:["Vahvista muutokset"]}}},{l:"fo",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"fr",t:{"Cancel changes":{v:["Annuler les modifications"]},"Confirm changes":{v:["Confirmer les modifications"]}}},{l:"ga",t:{"Cancel changes":{v:["Cealaigh athruithe"]},"Confirm changes":{v:["Deimhnigh na hathruithe"]}}},{l:"gd",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"gl",t:{"Cancel changes":{v:["Cancelar os cambios"]},"Confirm changes":{v:["Confirma os cambios"]}}},{l:"he",t:{"Cancel changes":{v:["ביטול שינויים"]},"Confirm changes":{v:["אישור השינויים"]}}},{l:"hi_IN",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"hr",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"hsb",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"hu",t:{"Cancel changes":{v:["Változtatások elvetése"]},"Confirm changes":{v:["Változtatások megerősítése"]}}},{l:"hy",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"ia",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"id",t:{"Cancel changes":{v:["Batalkan perubahan"]},"Confirm changes":{v:["Konfirmasikan perubahan"]}}},{l:"ig",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"is",t:{"Cancel changes":{v:["Hætta við breytingar"]},"Confirm changes":{v:["Staðfesta breytingar"]}}},{l:"it",t:{"Cancel changes":{v:["Annulla modifiche"]},"Confirm changes":{v:["Conferma modifiche"]}}},{l:"ja",t:{"Cancel changes":{v:["変更をキャンセル"]},"Confirm changes":{v:["変更を承認"]}}},{l:"ja_JP",t:{"Cancel changes":{v:["変更をキャンセル"]},"Confirm changes":{v:["変更を承認"]}}},{l:"ka",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"ka_GE",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"kab",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"kk",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"km",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"kn",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"ko",t:{"Cancel changes":{v:["변경 취소"]},"Confirm changes":{v:["변경 사항 확인"]}}},{l:"la",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"lb",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"lo",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"lt_LT",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"lv",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"mk",t:{"Cancel changes":{v:["Откажи ги промените"]},"Confirm changes":{v:["Потврди ги промените"]}}},{l:"mn",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"mr",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"ms_MY",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"my",t:{"Cancel changes":{v:["ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်"]},"Confirm changes":{v:["ပြောင်းလဲမှုများ အတည်ပြုရန်"]}}},{l:"nb",t:{"Cancel changes":{v:["Avbryt endringer"]},"Confirm changes":{v:["Bekreft endringer"]}}},{l:"ne",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"nl",t:{"Cancel changes":{v:["Wijzigingen annuleren"]},"Confirm changes":{v:["Wijzigingen bevestigen"]}}},{l:"nn_NO",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"oc",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"pl",t:{"Cancel changes":{v:["Anuluj zmiany"]},"Confirm changes":{v:["Potwierdź zmiany"]}}},{l:"ps",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"pt_BR",t:{"Cancel changes":{v:["Cancelar alterações"]},"Confirm changes":{v:["Confirmar alterações"]}}},{l:"pt_PT",t:{"Cancel changes":{v:["Cancelar alterações"]},"Confirm changes":{v:["Confirmar alterações"]}}},{l:"ro",t:{"Cancel changes":{v:["Anulează modificările"]},"Confirm changes":{v:["Confirmați modificările"]}}},{l:"ru",t:{"Cancel changes":{v:["Отменить изменения"]},"Confirm changes":{v:["Подтвердить изменения"]}}},{l:"sc",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"si",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"sk",t:{"Cancel changes":{v:["Zrušiť zmeny"]},"Confirm changes":{v:["Potvrdiť zmeny"]}}},{l:"sl",t:{"Cancel changes":{v:["Prekliči spremembe"]},"Confirm changes":{v:["Potrdi spremembe"]}}},{l:"sq",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"sr",t:{"Cancel changes":{v:["Откажи измене"]},"Confirm changes":{v:["Потврдите измене"]}}},{l:"sr@latin",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"sv",t:{"Cancel changes":{v:["Avbryt ändringar"]},"Confirm changes":{v:["Bekräfta ändringar"]}}},{l:"sw",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"ta",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"th",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"tk",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"tr",t:{"Cancel changes":{v:["Değişiklikleri iptal et"]},"Confirm changes":{v:["Değişiklikleri onayla"]}}},{l:"ug",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"uk",t:{"Cancel changes":{v:["Скасувати зміни"]},"Confirm changes":{v:["Підтвердити зміни"]}}},{l:"ur_PK",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"uz",t:{"Cancel changes":{v:["O'zgarishlarni bekor qilish"]},"Confirm changes":{v:["O'zgarishlarni tasdiqlang"]}}},{l:"vi",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"zh_CN",t:{"Cancel changes":{v:["取消更改"]},"Confirm changes":{v:["确认更改"]}}},{l:"zh_HK",t:{"Cancel changes":{v:["取消更改"]},"Confirm changes":{v:["確認更改"]}}},{l:"zh_TW",t:{"Cancel changes":{v:["取消變更"]},"Confirm changes":{v:["確認變更"]}}},{l:"zu_ZA",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}}],Ap=[{l:"af",t:{}},{l:"ar",t:{"Clear selected":{v:["محو المحدّد"]},"Deselect {option}":{v:["إلغاء تحديد {option}"]},Options:{v:["خيارات"]}}},{l:"ast",t:{"Clear selected":{v:["Borrar lo seleicionao"]},"Deselect {option}":{v:["Deseleicionar «{option}»"]},Options:{v:["Opciones"]}}},{l:"az",t:{}},{l:"be",t:{}},{l:"bg",t:{}},{l:"bn_BD",t:{}},{l:"br",t:{}},{l:"bs",t:{}},{l:"ca",t:{}},{l:"cs",t:{"Clear selected":{v:["Vyčistit vybrané"]},"Deselect {option}":{v:["Zrušit výběr {option}"]},Options:{v:["Možnosti"]}}},{l:"cs_CZ",t:{"Clear selected":{v:["Vyčistit vybrané"]},"Deselect {option}":{v:["Zrušit výběr {option}"]},Options:{v:["Možnosti"]}}},{l:"cy_GB",t:{}},{l:"da",t:{"Clear selected":{v:["Ryd valgt"]},"Deselect {option}":{v:["Fravælg {option}"]},Options:{v:["Indstillinger"]}}},{l:"de",t:{"Clear selected":{v:["Auswahl leeren"]},"Deselect {option}":{v:["{option} abwählen"]},Options:{v:["Optionen"]}}},{l:"de_DE",t:{"Clear selected":{v:["Auswahl leeren"]},"Deselect {option}":{v:["{option} abwählen"]},Options:{v:["Optionen"]}}},{l:"el",t:{"Clear selected":{v:["Εκκαθάριση επιλογής"]},"Deselect {option}":{v:["Αποεπιλογή {option}"]},Options:{v:["Επιλογές"]}}},{l:"en_GB",t:{"Clear selected":{v:["Clear selected"]},"Deselect {option}":{v:["Deselect {option}"]},Options:{v:["Options"]}}},{l:"eo",t:{}},{l:"es",t:{"Clear selected":{v:["Limpiar selección"]},"Deselect {option}":{v:["Deseleccionar {option}"]},Options:{v:["Opciones"]}}},{l:"es_419",t:{}},{l:"es_AR",t:{"Clear selected":{v:["Limpiar selección"]},"Deselect {option}":{v:["Deseleccionar {option}"]},Options:{v:["Opciones"]}}},{l:"es_CL",t:{}},{l:"es_CO",t:{}},{l:"es_CR",t:{}},{l:"es_DO",t:{}},{l:"es_EC",t:{}},{l:"es_GT",t:{}},{l:"es_HN",t:{}},{l:"es_MX",t:{"Clear selected":{v:["Limpiar selección"]},"Deselect {option}":{v:["Deseleccionar {option}"]},Options:{v:["Opciones"]}}},{l:"es_NI",t:{}},{l:"es_PA",t:{}},{l:"es_PE",t:{}},{l:"es_PR",t:{}},{l:"es_PY",t:{}},{l:"es_SV",t:{}},{l:"es_UY",t:{}},{l:"et_EE",t:{"Clear selected":{v:["Tühjenad valik"]},"Deselect {option}":{v:["Eemalda {option} valik"]},Options:{v:["Valikud"]}}},{l:"eu",t:{}},{l:"fa",t:{"Clear selected":{v:["پاک کردن مورد انتخاب شده"]},"Deselect {option}":{v:["لغو انتخاب {option}"]},Options:{v:["گزینه‌ها"]}}},{l:"fi",t:{"Clear selected":{v:["Tyhjennä valitut"]},"Deselect {option}":{v:["Poista valinta {option}"]},Options:{v:["Valinnat"]}}},{l:"fo",t:{}},{l:"fr",t:{"Clear selected":{v:["Vider la sélection"]},"Deselect {option}":{v:["Désélectionner {option}"]},Options:{v:["Options"]}}},{l:"ga",t:{"Clear selected":{v:["Glan roghnaithe"]},"Deselect {option}":{v:["Díroghnaigh {option}"]},Options:{v:["Roghanna"]}}},{l:"gd",t:{}},{l:"gl",t:{"Clear selected":{v:["Limpar o seleccionado"]},"Deselect {option}":{v:["Desmarcar {opción}"]},Options:{v:["Opcións"]}}},{l:"he",t:{}},{l:"hi_IN",t:{}},{l:"hr",t:{}},{l:"hsb",t:{}},{l:"hu",t:{}},{l:"hy",t:{}},{l:"ia",t:{}},{l:"id",t:{"Clear selected":{v:["Hapus terpilih"]},"Deselect {option}":{v:["Batalkan pemilihan {option}"]}}},{l:"ig",t:{}},{l:"is",t:{"Clear selected":{v:["Hreinsa valið"]},"Deselect {option}":{v:["Afvelja {option}"]},Options:{v:["Valkostir"]}}},{l:"it",t:{"Clear selected":{v:["Cancella selezionati"]},"Deselect {option}":{v:["Deselezionare {option}"]}}},{l:"ja",t:{"Clear selected":{v:["選択を解除"]},"Deselect {option}":{v:["{option} の選択を解除"]},Options:{v:["オプション"]}}},{l:"ja_JP",t:{"Clear selected":{v:["選択を解除"]},"Deselect {option}":{v:["{option} の選択を解除"]},Options:{v:["オプション"]}}},{l:"ka",t:{}},{l:"ka_GE",t:{}},{l:"kab",t:{}},{l:"kk",t:{}},{l:"km",t:{}},{l:"kn",t:{}},{l:"ko",t:{"Clear selected":{v:["선택 항목 지우기"]},"Deselect {option}":{v:["{option} 선택 해제"]},Options:{v:["옵션"]}}},{l:"la",t:{}},{l:"lb",t:{}},{l:"lo",t:{}},{l:"lt_LT",t:{}},{l:"lv",t:{}},{l:"mk",t:{}},{l:"mn",t:{}},{l:"mr",t:{}},{l:"ms_MY",t:{}},{l:"my",t:{}},{l:"nb",t:{"Clear selected":{v:["Tøm merket"]},"Deselect {option}":{v:["Opphev valg {option}"]},Options:{v:["Alternativer"]}}},{l:"ne",t:{}},{l:"nl",t:{"Clear selected":{v:["Selectie wissen"]},"Deselect {option}":{v:["Deselecteer {optie}"]},Options:{v:["Opties"]}}},{l:"nn_NO",t:{}},{l:"oc",t:{}},{l:"pl",t:{"Clear selected":{v:["Wyczyść wybrane"]},"Deselect {option}":{v:["Odznacz {option}"]},Options:{v:["Opcje"]}}},{l:"ps",t:{}},{l:"pt_BR",t:{"Clear selected":{v:["Limpar selecionados"]},"Deselect {option}":{v:["Desmacar {option}"]},Options:{v:["Opções"]}}},{l:"pt_PT",t:{"Clear selected":{v:["Limpeza selecionada"]},"Deselect {option}":{v:["Desmarcar {option}"]},Options:{v:["Opções"]}}},{l:"ro",t:{"Clear selected":{v:["Șterge selecția"]},"Deselect {option}":{v:["Deselctează {option}"]}}},{l:"ru",t:{"Clear selected":{v:["Очистить выбранный"]},"Deselect {option}":{v:["Отменить выбор {option}"]},Options:{v:["Варианты"]}}},{l:"sc",t:{}},{l:"si",t:{}},{l:"sk",t:{"Clear selected":{v:["Vymazať vybraté"]},"Deselect {option}":{v:["Zrušiť výber {option}"]},Options:{v:["možnosti"]}}},{l:"sl",t:{}},{l:"sq",t:{}},{l:"sr",t:{"Clear selected":{v:["Обриши изабрано"]},"Deselect {option}":{v:["Уклони избор {option}"]},Options:{v:["Опције"]}}},{l:"sr@latin",t:{}},{l:"sv",t:{"Clear selected":{v:["Rensa val"]},"Deselect {option}":{v:["Avmarkera {option}"]},Options:{v:["Alternativ"]}}},{l:"sw",t:{}},{l:"ta",t:{}},{l:"th",t:{}},{l:"tk",t:{}},{l:"tr",t:{"Clear selected":{v:["Seçilmişleri temizle"]},"Deselect {option}":{v:["{option} bırak"]},Options:{v:["Seçenekler"]}}},{l:"ug",t:{}},{l:"uk",t:{"Clear selected":{v:["Очистити вибране"]},"Deselect {option}":{v:["Зняти вибір {option}"]},Options:{v:["Параметри"]}}},{l:"ur_PK",t:{}},{l:"uz",t:{"Clear selected":{v:["Tanlanganni tozalash"]},"Deselect {option}":{v:["{option}tanlovni bekor qiling"]},Options:{v:["Variantlar"]}}},{l:"vi",t:{}},{l:"zh_CN",t:{"Clear selected":{v:["清除所选"]},"Deselect {option}":{v:["取消选择 {option}"]},Options:{v:["选项"]}}},{l:"zh_HK",t:{"Clear selected":{v:["清除所選項目"]},"Deselect {option}":{v:["取消選擇 {option}"]},Options:{v:["選項"]}}},{l:"zh_TW",t:{}},{l:"zu_ZA",t:{}}],wp=[{l:"af",t:{"Clear text":{v:[""]}}},{l:"ar",t:{"Clear text":{v:["محو النص"]},"Save changes":{v:["حفظ التغييرات"]}}},{l:"ast",t:{"Clear text":{v:["Borrar el testu"]},"Save changes":{v:["Guardar los cambeos"]}}},{l:"az",t:{"Clear text":{v:[""]}}},{l:"be",t:{"Clear text":{v:[""]}}},{l:"bg",t:{"Clear text":{v:[""]}}},{l:"bn_BD",t:{"Clear text":{v:[""]}}},{l:"br",t:{"Clear text":{v:[""]}}},{l:"bs",t:{"Clear text":{v:[""]}}},{l:"ca",t:{"Clear text":{v:["Netejar text"]}}},{l:"cs",t:{"Clear text":{v:["Čitelný text"]},"Save changes":{v:["Uložit změny"]}}},{l:"cs_CZ",t:{"Clear text":{v:["Čitelný text"]},"Save changes":{v:["Uložit změny"]}}},{l:"cy_GB",t:{"Clear text":{v:[""]}}},{l:"da",t:{"Clear text":{v:["Ryd tekst"]},"Save changes":{v:["Gem ændringer"]}}},{l:"de",t:{"Clear text":{v:["Klartext"]},"Save changes":{v:["Änderungen speichern"]}}},{l:"de_DE",t:{"Clear text":{v:["Klartext"]},"Save changes":{v:["Änderungen speichern"]}}},{l:"el",t:{"Clear text":{v:["Εκκαθάριση κειμένου"]},"Save changes":{v:["Αποθήκευση αλλαγών"]}}},{l:"en_GB",t:{"Clear text":{v:["Clear text"]},"Save changes":{v:["Save changes"]}}},{l:"eo",t:{"Clear text":{v:[""]}}},{l:"es",t:{"Clear text":{v:["Limpiar texto"]},"Save changes":{v:["Guardar cambios"]}}},{l:"es_419",t:{"Clear text":{v:[""]}}},{l:"es_AR",t:{"Clear text":{v:["Limpiar texto"]},"Save changes":{v:["Guardar cambios"]}}},{l:"es_CL",t:{"Clear text":{v:[""]}}},{l:"es_CO",t:{"Clear text":{v:[""]}}},{l:"es_CR",t:{"Clear text":{v:[""]}}},{l:"es_DO",t:{"Clear text":{v:[""]}}},{l:"es_EC",t:{"Clear text":{v:["Limpiar texto"]}}},{l:"es_GT",t:{"Clear text":{v:[""]}}},{l:"es_HN",t:{"Clear text":{v:[""]}}},{l:"es_MX",t:{"Clear text":{v:["Limpiar texto"]},"Save changes":{v:["Guardar cambios"]}}},{l:"es_NI",t:{"Clear text":{v:[""]}}},{l:"es_PA",t:{"Clear text":{v:[""]}}},{l:"es_PE",t:{"Clear text":{v:[""]}}},{l:"es_PR",t:{"Clear text":{v:[""]}}},{l:"es_PY",t:{"Clear text":{v:[""]}}},{l:"es_SV",t:{"Clear text":{v:[""]}}},{l:"es_UY",t:{"Clear text":{v:[""]}}},{l:"et_EE",t:{"Clear text":{v:["Kustuta tekst"]},"Save changes":{v:["Salvesta muudatused"]}}},{l:"eu",t:{"Clear text":{v:["Garbitu testua"]}}},{l:"fa",t:{"Clear text":{v:["پاک کردن متن"]},"Save changes":{v:["ذخیرهٔ تغییرات"]}}},{l:"fi",t:{"Clear text":{v:["Tyhjennä teksti"]},"Save changes":{v:["Tallenna muutokset"]}}},{l:"fo",t:{"Clear text":{v:[""]}}},{l:"fr",t:{"Clear text":{v:["Effacer le texte"]},"Save changes":{v:["Sauvegarder les changements"]}}},{l:"ga",t:{"Clear text":{v:["Glan téacs"]},"Save changes":{v:["Sabháil na hathruithe"]}}},{l:"gd",t:{"Clear text":{v:[""]}}},{l:"gl",t:{"Clear text":{v:["Limpar o texto"]},"Save changes":{v:["Gardar os cambios"]}}},{l:"he",t:{"Clear text":{v:["פינוי טקסט"]}}},{l:"hi_IN",t:{"Clear text":{v:[""]}}},{l:"hr",t:{"Clear text":{v:[""]}}},{l:"hsb",t:{"Clear text":{v:[""]}}},{l:"hu",t:{"Clear text":{v:["Szöveg törlése"]}}},{l:"hy",t:{"Clear text":{v:[""]}}},{l:"ia",t:{"Clear text":{v:[""]}}},{l:"id",t:{"Clear text":{v:["Bersihkan teks"]},"Save changes":{v:["Simpan perubahan"]}}},{l:"ig",t:{"Clear text":{v:[""]}}},{l:"is",t:{"Clear text":{v:["Hreinsa texta"]},"Save changes":{v:["Vista breytingar"]}}},{l:"it",t:{"Clear text":{v:["Cancella il testo"]},"Save changes":{v:["Salva le modifiche"]}}},{l:"ja",t:{"Clear text":{v:["テキストをクリア"]},"Save changes":{v:["変更を保存"]}}},{l:"ja_JP",t:{"Clear text":{v:["テキストをクリア"]},"Save changes":{v:["変更を保存"]}}},{l:"ka",t:{"Clear text":{v:[""]}}},{l:"ka_GE",t:{"Clear text":{v:[""]}}},{l:"kab",t:{"Clear text":{v:[""]}}},{l:"kk",t:{"Clear text":{v:[""]}}},{l:"km",t:{"Clear text":{v:[""]}}},{l:"kn",t:{"Clear text":{v:[""]}}},{l:"ko",t:{"Clear text":{v:["텍스트 지우기"]},"Save changes":{v:["변경 사항 저장"]}}},{l:"la",t:{"Clear text":{v:[""]}}},{l:"lb",t:{"Clear text":{v:[""]}}},{l:"lo",t:{"Clear text":{v:[""]}}},{l:"lt_LT",t:{"Clear text":{v:[""]}}},{l:"lv",t:{"Clear text":{v:[""]}}},{l:"mk",t:{"Clear text":{v:[""]}}},{l:"mn",t:{"Clear text":{v:[""]}}},{l:"mr",t:{"Clear text":{v:[""]}}},{l:"ms_MY",t:{"Clear text":{v:[""]}}},{l:"my",t:{"Clear text":{v:[""]}}},{l:"nb",t:{"Clear text":{v:["Fjern tekst"]},"Save changes":{v:["Lagre endringer"]}}},{l:"ne",t:{"Clear text":{v:[""]}}},{l:"nl",t:{"Clear text":{v:["Wis tekst"]},"Save changes":{v:["Wijzigingen opslaan"]}}},{l:"nn_NO",t:{"Clear text":{v:[""]}}},{l:"oc",t:{"Clear text":{v:[""]}}},{l:"pl",t:{"Clear text":{v:["Wyczyść tekst"]},"Save changes":{v:["Zapisz zmiany"]}}},{l:"ps",t:{"Clear text":{v:[""]}}},{l:"pt_BR",t:{"Clear text":{v:["Limpar texto"]},"Save changes":{v:["Salvar alterações"]}}},{l:"pt_PT",t:{"Clear text":{v:["Limpar texto"]},"Save changes":{v:["Gravar alterações"]}}},{l:"ro",t:{"Clear text":{v:["Șterge textul"]},"Save changes":{v:["Salvează modificările"]}}},{l:"ru",t:{"Clear text":{v:["Очистить текст"]},"Save changes":{v:["Сохранить изменения"]}}},{l:"sc",t:{"Clear text":{v:[""]}}},{l:"si",t:{"Clear text":{v:[""]}}},{l:"sk",t:{"Clear text":{v:["Vamazať text"]},"Save changes":{v:["Uložiť zmeny"]}}},{l:"sl",t:{"Clear text":{v:["Počisti besedilo"]}}},{l:"sq",t:{"Clear text":{v:[""]}}},{l:"sr",t:{"Clear text":{v:["Обриши текст"]},"Save changes":{v:["Сачувај измене"]}}},{l:"sr@latin",t:{"Clear text":{v:[""]}}},{l:"sv",t:{"Clear text":{v:["Ta bort text"]},"Save changes":{v:["Spara ändringar"]}}},{l:"sw",t:{"Clear text":{v:[""]}}},{l:"ta",t:{"Clear text":{v:[""]}}},{l:"th",t:{"Clear text":{v:[""]}}},{l:"tk",t:{"Clear text":{v:[""]}}},{l:"tr",t:{"Clear text":{v:["Metni temizle"]},"Save changes":{v:["Değişiklikleri kaydet"]}}},{l:"ug",t:{"Clear text":{v:[""]}}},{l:"uk",t:{"Clear text":{v:["Очистити текст"]},"Save changes":{v:["Зберегти зміни"]}}},{l:"ur_PK",t:{"Clear text":{v:[""]}}},{l:"uz",t:{"Clear text":{v:["Matnni tozalash"]},"Save changes":{v:["O'zgarishlarni saqlang"]}}},{l:"vi",t:{"Clear text":{v:[""]}}},{l:"zh_CN",t:{"Clear text":{v:["清除文本"]},"Save changes":{v:["保存修改"]}}},{l:"zh_HK",t:{"Clear text":{v:["清除文本"]},"Save changes":{v:["保存更改"]}}},{l:"zh_TW",t:{"Clear text":{v:["清除文字"]}}},{l:"zu_ZA",t:{"Clear text":{v:[""]}}}],ds=[{l:"af",t:{Close:{v:[""]}}},{l:"ar",t:{Close:{v:["إغلاق"]}}},{l:"ast",t:{Close:{v:["Zarrar"]}}},{l:"az",t:{Close:{v:[""]}}},{l:"be",t:{Close:{v:[""]}}},{l:"bg",t:{Close:{v:[""]}}},{l:"bn_BD",t:{Close:{v:[""]}}},{l:"br",t:{Close:{v:["Serriñ"]}}},{l:"bs",t:{Close:{v:[""]}}},{l:"ca",t:{Close:{v:["Tanca"]}}},{l:"cs",t:{Close:{v:["Zavřít"]}}},{l:"cs_CZ",t:{Close:{v:["Zavřít"]}}},{l:"cy_GB",t:{Close:{v:[""]}}},{l:"da",t:{Close:{v:["Luk"]}}},{l:"de",t:{Close:{v:["Schließen"]}}},{l:"de_DE",t:{Close:{v:["Schließen"]}}},{l:"el",t:{Close:{v:["Κλείσιμο"]}}},{l:"en_GB",t:{Close:{v:["Close"]}}},{l:"eo",t:{Close:{v:["Fermu"]}}},{l:"es",t:{Close:{v:["Cerrar"]}}},{l:"es_419",t:{Close:{v:[""]}}},{l:"es_AR",t:{Close:{v:["Cerrar"]}}},{l:"es_CL",t:{Close:{v:[""]}}},{l:"es_CO",t:{Close:{v:[""]}}},{l:"es_CR",t:{Close:{v:[""]}}},{l:"es_DO",t:{Close:{v:[""]}}},{l:"es_EC",t:{Close:{v:["Cerrar"]}}},{l:"es_GT",t:{Close:{v:[""]}}},{l:"es_HN",t:{Close:{v:[""]}}},{l:"es_MX",t:{Close:{v:["Cerrar"]}}},{l:"es_NI",t:{Close:{v:[""]}}},{l:"es_PA",t:{Close:{v:[""]}}},{l:"es_PE",t:{Close:{v:[""]}}},{l:"es_PR",t:{Close:{v:[""]}}},{l:"es_PY",t:{Close:{v:[""]}}},{l:"es_SV",t:{Close:{v:[""]}}},{l:"es_UY",t:{Close:{v:[""]}}},{l:"et_EE",t:{Close:{v:["Sulge"]}}},{l:"eu",t:{Close:{v:["Itxi"]}}},{l:"fa",t:{Close:{v:["بستن"]}}},{l:"fi",t:{Close:{v:["Sulje"]}}},{l:"fo",t:{Close:{v:[""]}}},{l:"fr",t:{Close:{v:["Fermer"]}}},{l:"ga",t:{Close:{v:["Dún"]}}},{l:"gd",t:{Close:{v:[""]}}},{l:"gl",t:{Close:{v:["Pechar"]}}},{l:"he",t:{Close:{v:["סגירה"]}}},{l:"hi_IN",t:{Close:{v:[""]}}},{l:"hr",t:{Close:{v:[""]}}},{l:"hsb",t:{Close:{v:[""]}}},{l:"hu",t:{Close:{v:["Bezárás"]}}},{l:"hy",t:{Close:{v:[""]}}},{l:"ia",t:{Close:{v:[""]}}},{l:"id",t:{Close:{v:["Tutup"]}}},{l:"ig",t:{Close:{v:[""]}}},{l:"is",t:{Close:{v:["Loka"]}}},{l:"it",t:{Close:{v:["Chiudi"]}}},{l:"ja",t:{Close:{v:["閉じる"]}}},{l:"ja_JP",t:{Close:{v:["閉じる"]}}},{l:"ka",t:{Close:{v:[""]}}},{l:"ka_GE",t:{Close:{v:[""]}}},{l:"kab",t:{Close:{v:[""]}}},{l:"kk",t:{Close:{v:[""]}}},{l:"km",t:{Close:{v:[""]}}},{l:"kn",t:{Close:{v:[""]}}},{l:"ko",t:{Close:{v:["닫기"]}}},{l:"la",t:{Close:{v:[""]}}},{l:"lb",t:{Close:{v:[""]}}},{l:"lo",t:{Close:{v:[""]}}},{l:"lt_LT",t:{Close:{v:["Užverti"]}}},{l:"lv",t:{Close:{v:["Aizvērt"]}}},{l:"mk",t:{Close:{v:["Затвори"]}}},{l:"mn",t:{Close:{v:[""]}}},{l:"mr",t:{Close:{v:[""]}}},{l:"ms_MY",t:{Close:{v:[""]}}},{l:"my",t:{Close:{v:["ပိတ်ရန်"]}}},{l:"nb",t:{Close:{v:["Lukk"]}}},{l:"ne",t:{Close:{v:[""]}}},{l:"nl",t:{Close:{v:["Sluiten"]}}},{l:"nn_NO",t:{Close:{v:[""]}}},{l:"oc",t:{Close:{v:["Tampar"]}}},{l:"pl",t:{Close:{v:["Zamknij"]}}},{l:"ps",t:{Close:{v:[""]}}},{l:"pt_BR",t:{Close:{v:["Fechar"]}}},{l:"pt_PT",t:{Close:{v:["Fechar"]}}},{l:"ro",t:{Close:{v:["Închideți"]}}},{l:"ru",t:{Close:{v:["Закрыть"]}}},{l:"sc",t:{Close:{v:[""]}}},{l:"si",t:{Close:{v:[""]}}},{l:"sk",t:{Close:{v:["Zavrieť"]}}},{l:"sl",t:{Close:{v:["Zapri"]}}},{l:"sq",t:{Close:{v:[""]}}},{l:"sr",t:{Close:{v:["Затвори"]}}},{l:"sr@latin",t:{Close:{v:[""]}}},{l:"sv",t:{Close:{v:["Stäng"]}}},{l:"sw",t:{Close:{v:[""]}}},{l:"ta",t:{Close:{v:[""]}}},{l:"th",t:{Close:{v:[""]}}},{l:"tk",t:{Close:{v:[""]}}},{l:"tr",t:{Close:{v:["Kapat"]}}},{l:"ug",t:{Close:{v:[""]}}},{l:"uk",t:{Close:{v:["Закрити"]}}},{l:"ur_PK",t:{Close:{v:[""]}}},{l:"uz",t:{Close:{v:["Yopish"]}}},{l:"vi",t:{Close:{v:[""]}}},{l:"zh_CN",t:{Close:{v:["关闭"]}}},{l:"zh_HK",t:{Close:{v:["關閉"]}}},{l:"zh_TW",t:{Close:{v:["關閉"]}}},{l:"zu_ZA",t:{Close:{v:[""]}}}],Bp=[{l:"af",t:{"Close navigation":{v:[""]}}},{l:"ar",t:{"Close navigation":{v:["إغلاق التصفح"]},"Open navigation {shortcut}":{v:["إفتَح المتصفح {shortcut}"]}}},{l:"ast",t:{"Close navigation":{v:["Zarrar la navegación"]}}},{l:"az",t:{"Close navigation":{v:[""]}}},{l:"be",t:{"Close navigation":{v:[""]}}},{l:"bg",t:{"Close navigation":{v:[""]}}},{l:"bn_BD",t:{"Close navigation":{v:[""]}}},{l:"br",t:{"Close navigation":{v:[""]}}},{l:"bs",t:{"Close navigation":{v:[""]}}},{l:"ca",t:{"Close navigation":{v:["Tanca la navegació"]}}},{l:"cs",t:{"Close navigation":{v:["Zavřít navigaci"]},"Open navigation {shortcut}":{v:["Otevřít navigaci {shortcut}"]}}},{l:"cs_CZ",t:{"Close navigation":{v:["Zavřít navigaci"]}}},{l:"cy_GB",t:{"Close navigation":{v:[""]}}},{l:"da",t:{"Close navigation":{v:["Luk navigation"]},"Open navigation {shortcut}":{v:["Åbn navigation {shortcut}"]}}},{l:"de",t:{"Close navigation":{v:["Navigation schließen"]},"Open navigation {shortcut}":{v:["Navigation öffnen {shortcut}"]}}},{l:"de_DE",t:{"Close navigation":{v:["Navigation schließen"]},"Open navigation {shortcut}":{v:["Navigation öffnen {shortcut}"]}}},{l:"el",t:{"Close navigation":{v:["Κλείσιμο πλοήγησης"]},"Open navigation {shortcut}":{v:["Άνοιγμα πλοήγησης {shortcut}"]}}},{l:"en_GB",t:{"Close navigation":{v:["Close navigation"]},"Open navigation {shortcut}":{v:["Open navigation {shortcut}"]}}},{l:"eo",t:{"Close navigation":{v:[""]}}},{l:"es",t:{"Close navigation":{v:["Cerrar navegación"]}}},{l:"es_419",t:{"Close navigation":{v:[""]}}},{l:"es_AR",t:{"Close navigation":{v:["Cerrar navegación"]}}},{l:"es_CL",t:{"Close navigation":{v:[""]}}},{l:"es_CO",t:{"Close navigation":{v:[""]}}},{l:"es_CR",t:{"Close navigation":{v:[""]}}},{l:"es_DO",t:{"Close navigation":{v:[""]}}},{l:"es_EC",t:{"Close navigation":{v:["Cerrar navegación"]}}},{l:"es_GT",t:{"Close navigation":{v:[""]}}},{l:"es_HN",t:{"Close navigation":{v:[""]}}},{l:"es_MX",t:{"Close navigation":{v:["Cerrar navegación"]}}},{l:"es_NI",t:{"Close navigation":{v:[""]}}},{l:"es_PA",t:{"Close navigation":{v:[""]}}},{l:"es_PE",t:{"Close navigation":{v:[""]}}},{l:"es_PR",t:{"Close navigation":{v:[""]}}},{l:"es_PY",t:{"Close navigation":{v:[""]}}},{l:"es_SV",t:{"Close navigation":{v:[""]}}},{l:"es_UY",t:{"Close navigation":{v:[""]}}},{l:"et_EE",t:{"Close navigation":{v:["Sulge navigatsioon"]},"Open navigation {shortcut}":{v:["Ava valik {shortcut}"]}}},{l:"eu",t:{"Close navigation":{v:["Itxi nabigazioa"]}}},{l:"fa",t:{"Close navigation":{v:["بستن بخش ناوبری"]}}},{l:"fi",t:{"Close navigation":{v:["Sulje navigaatio"]},"Open navigation {shortcut}":{v:["Avaa navigaatio {shortcut}"]}}},{l:"fo",t:{"Close navigation":{v:[""]}}},{l:"fr",t:{"Close navigation":{v:["Fermer la navigation"]},"Open navigation {shortcut}":{v:["Ouvrir la navigation {shortcut}"]}}},{l:"ga",t:{"Close navigation":{v:["Dún nascleanúint"]},"Open navigation {shortcut}":{v:["Oscail nascleanúint {shortcut}"]}}},{l:"gd",t:{"Close navigation":{v:[""]}}},{l:"gl",t:{"Close navigation":{v:["Pechar a navegación"]},"Open navigation {shortcut}":{v:["Abrir a navegación {shortcut}"]}}},{l:"he",t:{"Close navigation":{v:["סגירת הניווט"]}}},{l:"hi_IN",t:{"Close navigation":{v:[""]}}},{l:"hr",t:{"Close navigation":{v:[""]}}},{l:"hsb",t:{"Close navigation":{v:[""]}}},{l:"hu",t:{"Close navigation":{v:["Navigáció bezárása"]}}},{l:"hy",t:{"Close navigation":{v:[""]}}},{l:"ia",t:{"Close navigation":{v:[""]}}},{l:"id",t:{"Close navigation":{v:["Tutup navigasi"]}}},{l:"ig",t:{"Close navigation":{v:[""]}}},{l:"is",t:{"Close navigation":{v:["Loka leiðsagnarsleða"]},"Open navigation {shortcut}":{v:["Opna flakkstýringu {shortcut}"]}}},{l:"it",t:{"Close navigation":{v:["Chiudi la navigazione"]}}},{l:"ja",t:{"Close navigation":{v:["ナビゲーションを閉じる"]},"Open navigation {shortcut}":{v:["ナビゲーションを開く {shortcut}"]}}},{l:"ja_JP",t:{"Close navigation":{v:["ナビゲーションを閉じる"]}}},{l:"ka",t:{"Close navigation":{v:[""]}}},{l:"ka_GE",t:{"Close navigation":{v:[""]}}},{l:"kab",t:{"Close navigation":{v:[""]}}},{l:"kk",t:{"Close navigation":{v:[""]}}},{l:"km",t:{"Close navigation":{v:[""]}}},{l:"kn",t:{"Close navigation":{v:[""]}}},{l:"ko",t:{"Close navigation":{v:["탐색 닫기"]},"Open navigation {shortcut}":{v:["{shortcut} 탐색 열기"]}}},{l:"la",t:{"Close navigation":{v:[""]}}},{l:"lb",t:{"Close navigation":{v:[""]}}},{l:"lo",t:{"Close navigation":{v:[""]}}},{l:"lt_LT",t:{"Close navigation":{v:[""]}}},{l:"lv",t:{"Close navigation":{v:[""]}}},{l:"mk",t:{"Close navigation":{v:["Затвори навигација"]}}},{l:"mn",t:{"Close navigation":{v:[""]}}},{l:"mr",t:{"Close navigation":{v:[""]}}},{l:"ms_MY",t:{"Close navigation":{v:[""]}}},{l:"my",t:{"Close navigation":{v:[""]}}},{l:"nb",t:{"Close navigation":{v:["Lukk navigasjon"]}}},{l:"ne",t:{"Close navigation":{v:[""]}}},{l:"nl",t:{"Close navigation":{v:["Navigatie sluiten"]},"Open navigation {shortcut}":{v:["Navigatie openen {shortcut}"]}}},{l:"nn_NO",t:{"Close navigation":{v:[""]}}},{l:"oc",t:{"Close navigation":{v:[""]}}},{l:"pl",t:{"Close navigation":{v:["Zamknij nawigację"]},"Open navigation {shortcut}":{v:["Otwórz nawigację {shortcut}"]}}},{l:"ps",t:{"Close navigation":{v:[""]}}},{l:"pt_BR",t:{"Close navigation":{v:["Fechar navegação"]},"Open navigation {shortcut}":{v:["Abrir navegação {shortcut}"]}}},{l:"pt_PT",t:{"Close navigation":{v:["Fechar navegação"]},"Open navigation {shortcut}":{v:["Abrir navegação {shortcut}"]}}},{l:"ro",t:{"Close navigation":{v:["Închideți navigarea"]}}},{l:"ru",t:{"Close navigation":{v:["Закрыть навигацию"]},"Open navigation {shortcut}":{v:["Открыть навигацию {shortcut}"]}}},{l:"sc",t:{"Close navigation":{v:[""]}}},{l:"si",t:{"Close navigation":{v:[""]}}},{l:"sk",t:{"Close navigation":{v:["Zavrieť navigáciu"]},"Open navigation {shortcut}":{v:["Otvoriť navigáciu {shortcut}"]}}},{l:"sl",t:{"Close navigation":{v:["Zapri krmarjenje"]}}},{l:"sq",t:{"Close navigation":{v:[""]}}},{l:"sr",t:{"Close navigation":{v:["Затвори навигацију"]},"Open navigation {shortcut}":{v:["Отвори навигацију {shortcut}"]}}},{l:"sr@latin",t:{"Close navigation":{v:[""]}}},{l:"sv",t:{"Close navigation":{v:["Stäng navigering"]},"Open navigation {shortcut}":{v:["Öppna navigering {shortcut}"]}}},{l:"sw",t:{"Close navigation":{v:[""]}}},{l:"ta",t:{"Close navigation":{v:[""]}}},{l:"th",t:{"Close navigation":{v:[""]}}},{l:"tk",t:{"Close navigation":{v:[""]}}},{l:"tr",t:{"Close navigation":{v:["Gezinmeyi kapat"]},"Open navigation {shortcut}":{v:["Gezinmeyi aç {shortcut}"]}}},{l:"ug",t:{"Close navigation":{v:[""]}}},{l:"uk",t:{"Close navigation":{v:["Закрити навігацію"]},"Open navigation {shortcut}":{v:["Відкрити навігацію {shortcut}"]}}},{l:"ur_PK",t:{"Close navigation":{v:[""]}}},{l:"uz",t:{"Close navigation":{v:["Navigatsiyani yopish"]},"Open navigation {shortcut}":{v:[" {shortcut} navigatsiyani oching"]}}},{l:"vi",t:{"Close navigation":{v:[""]}}},{l:"zh_CN",t:{"Close navigation":{v:["关闭导航"]},"Open navigation {shortcut}":{v:["打开导览{shortcut}"]}}},{l:"zh_HK",t:{"Close navigation":{v:["關閉導航"]},"Open navigation {shortcut}":{v:["開啟導航 {shortcut}"]}}},{l:"zh_TW",t:{"Close navigation":{v:["關閉導航"]}}},{l:"zu_ZA",t:{"Close navigation":{v:[""]}}}],xp=[{l:"af",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"ar",t:{"Collapse menu":{v:["طي القائمة"]},"Open menu":{v:["إفتَح القائمة"]}}},{l:"ast",t:{"Collapse menu":{v:["Recoyer el menú"]},"Open menu":{v:["Abrir le menú"]}}},{l:"az",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"be",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"bg",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"bn_BD",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"br",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"bs",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"ca",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"cs",t:{"Collapse menu":{v:["Sbalit nabídku"]},"Open menu":{v:["Otevřít nabídku"]}}},{l:"cs_CZ",t:{"Collapse menu":{v:["Sbalit nabídku"]},"Open menu":{v:["Otevřít nabídku"]}}},{l:"cy_GB",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"da",t:{"Collapse menu":{v:["Skjul menuen"]},"Open menu":{v:["Åben menu"]}}},{l:"de",t:{"Collapse menu":{v:["Menü einklappen"]},"Open menu":{v:["Menü öffnen"]}}},{l:"de_DE",t:{"Collapse menu":{v:["Menü einklappen"]},"Open menu":{v:["Menü öffnen"]}}},{l:"el",t:{"Collapse menu":{v:["Σύμπτυξη μενού"]},"Open menu":{v:["Άνοιγμα μενού"]}}},{l:"en_GB",t:{"Collapse menu":{v:["Collapse menu"]},"Open menu":{v:["Open menu"]}}},{l:"eo",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"es",t:{"Collapse menu":{v:["Ocultar menú"]},"Open menu":{v:["Abrir menú"]}}},{l:"es_419",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"es_AR",t:{"Collapse menu":{v:["Ocultar menú"]},"Open menu":{v:["Abrir menú"]}}},{l:"es_CL",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"es_CO",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"es_CR",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"es_DO",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"es_EC",t:{"Collapse menu":{v:["Ocultar menú"]},"Open menu":{v:["Abrir menú"]}}},{l:"es_GT",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"es_HN",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"es_MX",t:{"Collapse menu":{v:["Ocultar menú"]},"Open menu":{v:["Abrir menú"]}}},{l:"es_NI",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"es_PA",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"es_PE",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"es_PR",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"es_PY",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"es_SV",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"es_UY",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"et_EE",t:{"Collapse menu":{v:["Menüü kokkuklappimine"]},"Open menu":{v:["Ava menüü"]}}},{l:"eu",t:{"Collapse menu":{v:["Tolestu menua"]},"Open menu":{v:["Ireki menua"]}}},{l:"fa",t:{"Collapse menu":{v:["بستن فهرست"]},"Open menu":{v:["باز کردن فهرست"]}}},{l:"fi",t:{"Collapse menu":{v:["Supista valikko"]},"Open menu":{v:["Avaa valikko"]}}},{l:"fo",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"fr",t:{"Collapse menu":{v:["Réduire le menu"]},"Open menu":{v:["Ouvrir le menu"]}}},{l:"ga",t:{"Collapse menu":{v:["Roghchlár Laghdaigh"]},"Open menu":{v:["Roghchlár a oscailt"]}}},{l:"gd",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"gl",t:{"Collapse menu":{v:["Contraer o menú"]},"Open menu":{v:["Abrir o menú"]}}},{l:"he",t:{"Collapse menu":{v:["צמצום התפריט"]},"Open menu":{v:["פתיחת תפריט"]}}},{l:"hi_IN",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"hr",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"hsb",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"hu",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"hy",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"ia",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"id",t:{"Collapse menu":{v:["Ciutkan menu"]},"Open menu":{v:["Buka menu"]}}},{l:"ig",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"is",t:{"Collapse menu":{v:["Fella valmynd saman"]},"Open menu":{v:["Opna valmynd"]}}},{l:"it",t:{"Collapse menu":{v:["Chiudi Menu"]},"Open menu":{v:["Apri il menu"]}}},{l:"ja",t:{"Collapse menu":{v:["メニューの折りたたみ"]},"Open menu":{v:["メニューを開く"]}}},{l:"ja_JP",t:{"Collapse menu":{v:["メニューの折りたたみ"]},"Open menu":{v:["メニューを開く"]}}},{l:"ka",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"ka_GE",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"kab",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"kk",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"km",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"kn",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"ko",t:{"Collapse menu":{v:["메뉴 접기"]},"Open menu":{v:["메뉴 열기"]}}},{l:"la",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"lb",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"lo",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"lt_LT",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"lv",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"mk",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"mn",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"mr",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"ms_MY",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"my",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"nb",t:{"Collapse menu":{v:["Skjul meny"]},"Open menu":{v:["Åpne meny"]}}},{l:"ne",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"nl",t:{"Collapse menu":{v:["Klap menu in"]},"Open menu":{v:["Open menu"]}}},{l:"nn_NO",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"oc",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"pl",t:{"Collapse menu":{v:["Zwiń menu"]},"Open menu":{v:["Otwórz menu"]}}},{l:"ps",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"pt_BR",t:{"Collapse menu":{v:["Recolher menu"]},"Open menu":{v:["Abrir menu"]}}},{l:"pt_PT",t:{"Collapse menu":{v:["Ocultar menu"]},"Open menu":{v:["Abrir menu"]}}},{l:"ro",t:{"Collapse menu":{v:["Restrânge meniul"]},"Open menu":{v:["Deschide meniul"]}}},{l:"ru",t:{"Collapse menu":{v:["Свернуть меню"]},"Open menu":{v:["Открыть меню"]}}},{l:"sc",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"si",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"sk",t:{"Collapse menu":{v:["Zbaliť menu"]},"Open menu":{v:["Otvoriť menu"]}}},{l:"sl",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"sq",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"sr",t:{"Collapse menu":{v:["Сажми мени"]},"Open menu":{v:["Отвори мени"]}}},{l:"sr@latin",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"sv",t:{"Collapse menu":{v:["Dölj menyn"]},"Open menu":{v:["Öppna menyn"]}}},{l:"sw",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"ta",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"th",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"tk",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"tr",t:{"Collapse menu":{v:["Menüyü daralt"]},"Open menu":{v:["Menüyü aç"]}}},{l:"ug",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"uk",t:{"Collapse menu":{v:["Згорнути меню"]},"Open menu":{v:["Відкрити меню"]}}},{l:"ur_PK",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"uz",t:{"Collapse menu":{v:["Menyuni yig‘ish"]},"Open menu":{v:["Menyuni oching"]}}},{l:"vi",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"zh_CN",t:{"Collapse menu":{v:["收起菜单"]},"Open menu":{v:["打开菜单"]}}},{l:"zh_HK",t:{"Collapse menu":{v:["折疊選單"]},"Open menu":{v:["開啟選單"]}}},{l:"zh_TW",t:{"Collapse menu":{v:["折疊選單"]},"Open menu":{v:["開啟選單"]}}},{l:"zu_ZA",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}}],_p=[{l:"af",t:{"Edit item":{v:[""]}}},{l:"ar",t:{"Edit item":{v:["تعديل عنصر"]}}},{l:"ast",t:{"Edit item":{v:["Editar l'elementu"]}}},{l:"az",t:{"Edit item":{v:[""]}}},{l:"be",t:{"Edit item":{v:[""]}}},{l:"bg",t:{"Edit item":{v:[""]}}},{l:"bn_BD",t:{"Edit item":{v:[""]}}},{l:"br",t:{"Edit item":{v:[""]}}},{l:"bs",t:{"Edit item":{v:[""]}}},{l:"ca",t:{"Edit item":{v:["Edita l'element"]}}},{l:"cs",t:{"Edit item":{v:["Upravit položku"]}}},{l:"cs_CZ",t:{"Edit item":{v:["Upravit položku"]}}},{l:"cy_GB",t:{"Edit item":{v:[""]}}},{l:"da",t:{"Edit item":{v:["Rediger emne"]}}},{l:"de",t:{"Edit item":{v:["Objekt bearbeiten"]}}},{l:"de_DE",t:{"Edit item":{v:["Element bearbeiten"]}}},{l:"el",t:{"Edit item":{v:["Επεξεργασία αντικειμένου"]}}},{l:"en_GB",t:{"Edit item":{v:["Edit item"]}}},{l:"eo",t:{"Edit item":{v:[""]}}},{l:"es",t:{"Edit item":{v:["Editar elemento"]}}},{l:"es_419",t:{"Edit item":{v:[""]}}},{l:"es_AR",t:{"Edit item":{v:["Editar elemento"]}}},{l:"es_CL",t:{"Edit item":{v:[""]}}},{l:"es_CO",t:{"Edit item":{v:[""]}}},{l:"es_CR",t:{"Edit item":{v:[""]}}},{l:"es_DO",t:{"Edit item":{v:[""]}}},{l:"es_EC",t:{"Edit item":{v:["Editar elemento"]}}},{l:"es_GT",t:{"Edit item":{v:[""]}}},{l:"es_HN",t:{"Edit item":{v:[""]}}},{l:"es_MX",t:{"Edit item":{v:["Editar elemento"]}}},{l:"es_NI",t:{"Edit item":{v:[""]}}},{l:"es_PA",t:{"Edit item":{v:[""]}}},{l:"es_PE",t:{"Edit item":{v:[""]}}},{l:"es_PR",t:{"Edit item":{v:[""]}}},{l:"es_PY",t:{"Edit item":{v:[""]}}},{l:"es_SV",t:{"Edit item":{v:[""]}}},{l:"es_UY",t:{"Edit item":{v:[""]}}},{l:"et_EE",t:{"Edit item":{v:["Muuda objekti"]}}},{l:"eu",t:{"Edit item":{v:["Editatu elementua"]}}},{l:"fa",t:{"Edit item":{v:["ویرایش مورد"]}}},{l:"fi",t:{"Edit item":{v:["Muokkaa kohdetta"]}}},{l:"fo",t:{"Edit item":{v:[""]}}},{l:"fr",t:{"Edit item":{v:["Éditer l'élément"]}}},{l:"ga",t:{"Edit item":{v:["Cuir mír in eagar"]}}},{l:"gd",t:{"Edit item":{v:[""]}}},{l:"gl",t:{"Edit item":{v:["Editar o elemento"]}}},{l:"he",t:{"Edit item":{v:["עריכת פריט"]}}},{l:"hi_IN",t:{"Edit item":{v:[""]}}},{l:"hr",t:{"Edit item":{v:[""]}}},{l:"hsb",t:{"Edit item":{v:[""]}}},{l:"hu",t:{"Edit item":{v:["Elem szerkesztése"]}}},{l:"hy",t:{"Edit item":{v:[""]}}},{l:"ia",t:{"Edit item":{v:[""]}}},{l:"id",t:{"Edit item":{v:["Edit item"]}}},{l:"ig",t:{"Edit item":{v:[""]}}},{l:"is",t:{"Edit item":{v:["Breyta atriði"]}}},{l:"it",t:{"Edit item":{v:["Modifica l'elemento"]}}},{l:"ja",t:{"Edit item":{v:["編集"]}}},{l:"ja_JP",t:{"Edit item":{v:["編集"]}}},{l:"ka",t:{"Edit item":{v:[""]}}},{l:"ka_GE",t:{"Edit item":{v:[""]}}},{l:"kab",t:{"Edit item":{v:[""]}}},{l:"kk",t:{"Edit item":{v:[""]}}},{l:"km",t:{"Edit item":{v:[""]}}},{l:"kn",t:{"Edit item":{v:[""]}}},{l:"ko",t:{"Edit item":{v:["항목 수정"]}}},{l:"la",t:{"Edit item":{v:[""]}}},{l:"lb",t:{"Edit item":{v:[""]}}},{l:"lo",t:{"Edit item":{v:[""]}}},{l:"lt_LT",t:{"Edit item":{v:[""]}}},{l:"lv",t:{"Edit item":{v:[""]}}},{l:"mk",t:{"Edit item":{v:["Уреди"]}}},{l:"mn",t:{"Edit item":{v:[""]}}},{l:"mr",t:{"Edit item":{v:[""]}}},{l:"ms_MY",t:{"Edit item":{v:[""]}}},{l:"my",t:{"Edit item":{v:[""]}}},{l:"nb",t:{"Edit item":{v:["Rediger"]}}},{l:"ne",t:{"Edit item":{v:[""]}}},{l:"nl",t:{"Edit item":{v:["Item bewerken"]}}},{l:"nn_NO",t:{"Edit item":{v:[""]}}},{l:"oc",t:{"Edit item":{v:[""]}}},{l:"pl",t:{"Edit item":{v:["Edytuj element"]}}},{l:"ps",t:{"Edit item":{v:[""]}}},{l:"pt_BR",t:{"Edit item":{v:["Editar item"]}}},{l:"pt_PT",t:{"Edit item":{v:["Editar item"]}}},{l:"ro",t:{"Edit item":{v:["Editați elementul"]}}},{l:"ru",t:{"Edit item":{v:["Изменить элемент"]}}},{l:"sc",t:{"Edit item":{v:[""]}}},{l:"si",t:{"Edit item":{v:[""]}}},{l:"sk",t:{"Edit item":{v:["Upraviť položku"]}}},{l:"sl",t:{"Edit item":{v:["Uredi predmet"]}}},{l:"sq",t:{"Edit item":{v:[""]}}},{l:"sr",t:{"Edit item":{v:["Уреди ставку"]}}},{l:"sr@latin",t:{"Edit item":{v:[""]}}},{l:"sv",t:{"Edit item":{v:["Redigera objekt"]}}},{l:"sw",t:{"Edit item":{v:[""]}}},{l:"ta",t:{"Edit item":{v:[""]}}},{l:"th",t:{"Edit item":{v:[""]}}},{l:"tk",t:{"Edit item":{v:[""]}}},{l:"tr",t:{"Edit item":{v:["Ögeyi düzenle"]}}},{l:"ug",t:{"Edit item":{v:[""]}}},{l:"uk",t:{"Edit item":{v:["Редагувати елемент"]}}},{l:"ur_PK",t:{"Edit item":{v:[""]}}},{l:"uz",t:{"Edit item":{v:["Elementni tahrirlash"]}}},{l:"vi",t:{"Edit item":{v:[""]}}},{l:"zh_CN",t:{"Edit item":{v:["编辑项目"]}}},{l:"zh_HK",t:{"Edit item":{v:["編輯項目"]}}},{l:"zh_TW",t:{"Edit item":{v:["編輯項目"]}}},{l:"zu_ZA",t:{"Edit item":{v:[""]}}}],Sp=[{l:"af",t:{}},{l:"ar",t:{"Enable interactive view":{v:["تمكين المنظور التفاعلي"]}}},{l:"ast",t:{"Enable interactive view":{v:["Activar la vista interactiva"]}}},{l:"az",t:{}},{l:"be",t:{}},{l:"bg",t:{}},{l:"bn_BD",t:{}},{l:"br",t:{}},{l:"bs",t:{}},{l:"ca",t:{}},{l:"cs",t:{"Enable interactive view":{v:["Zapnout interaktivní zobrazení"]}}},{l:"cs_CZ",t:{}},{l:"cy_GB",t:{}},{l:"da",t:{"Enable interactive view":{v:["Aktiver interaktiv visning"]}}},{l:"de",t:{"Enable interactive view":{v:["Die interaktive Ansicht aktivieren"]}}},{l:"de_DE",t:{"Enable interactive view":{v:["Die interaktive Ansicht aktivieren"]}}},{l:"el",t:{"Enable interactive view":{v:["Ενεργοποίηση διαδραστικής προβολής"]}}},{l:"en_GB",t:{"Enable interactive view":{v:["Enable interactive view"]}}},{l:"eo",t:{}},{l:"es",t:{"Enable interactive view":{v:["Habilitar vista interactiva"]}}},{l:"es_419",t:{}},{l:"es_AR",t:{"Enable interactive view":{v:["Habilitar vista interactiva"]}}},{l:"es_CL",t:{}},{l:"es_CO",t:{}},{l:"es_CR",t:{}},{l:"es_DO",t:{}},{l:"es_EC",t:{}},{l:"es_GT",t:{}},{l:"es_HN",t:{}},{l:"es_MX",t:{"Enable interactive view":{v:["Habilitar vista interactiva"]}}},{l:"es_NI",t:{}},{l:"es_PA",t:{}},{l:"es_PE",t:{}},{l:"es_PR",t:{}},{l:"es_PY",t:{}},{l:"es_SV",t:{}},{l:"es_UY",t:{}},{l:"et_EE",t:{"Enable interactive view":{v:["Lülita interaktiivne vaade sisse"]}}},{l:"eu",t:{}},{l:"fa",t:{"Enable interactive view":{v:["فعال‌سازی نمای تعاملی"]}}},{l:"fi",t:{"Enable interactive view":{v:["Näytä vuorovaikutteinen näkymä"]}}},{l:"fo",t:{}},{l:"fr",t:{"Enable interactive view":{v:["Activer la vue interactive"]}}},{l:"ga",t:{"Enable interactive view":{v:["Cumasaigh amharc idirghníomhach"]}}},{l:"gd",t:{}},{l:"gl",t:{"Enable interactive view":{v:["Activar a vista interactiva"]}}},{l:"he",t:{}},{l:"hi_IN",t:{}},{l:"hr",t:{}},{l:"hsb",t:{}},{l:"hu",t:{}},{l:"hy",t:{}},{l:"ia",t:{}},{l:"id",t:{}},{l:"ig",t:{}},{l:"is",t:{"Enable interactive view":{v:["Virkja gagnvirka sýn"]}}},{l:"it",t:{}},{l:"ja",t:{"Enable interactive view":{v:["インタラクティブ・ビューを有効にする"]}}},{l:"ja_JP",t:{"Enable interactive view":{v:["インタラクティブ・ビューを有効にする"]}}},{l:"ka",t:{}},{l:"ka_GE",t:{}},{l:"kab",t:{}},{l:"kk",t:{}},{l:"km",t:{}},{l:"kn",t:{}},{l:"ko",t:{"Enable interactive view":{v:["대화형 보기 활성화"]}}},{l:"la",t:{}},{l:"lb",t:{}},{l:"lo",t:{}},{l:"lt_LT",t:{}},{l:"lv",t:{}},{l:"mk",t:{}},{l:"mn",t:{}},{l:"mr",t:{}},{l:"ms_MY",t:{}},{l:"my",t:{}},{l:"nb",t:{"Enable interactive view":{v:["Aktiver interaktiv visning"]}}},{l:"ne",t:{}},{l:"nl",t:{"Enable interactive view":{v:["Interactieve weergave inschakelen"]}}},{l:"nn_NO",t:{}},{l:"oc",t:{}},{l:"pl",t:{"Enable interactive view":{v:["Włącz widok interaktywny"]}}},{l:"ps",t:{}},{l:"pt_BR",t:{"Enable interactive view":{v:["Ativar visualização interativa"]}}},{l:"pt_PT",t:{"Enable interactive view":{v:["Ativar vista interativa"]}}},{l:"ro",t:{}},{l:"ru",t:{"Enable interactive view":{v:["Включить интерактивный просмотр"]}}},{l:"sc",t:{}},{l:"si",t:{}},{l:"sk",t:{"Enable interactive view":{v:["Povoliť interaktívny pohľad"]}}},{l:"sl",t:{}},{l:"sq",t:{}},{l:"sr",t:{"Enable interactive view":{v:["Укључи интерактивни приказ"]}}},{l:"sr@latin",t:{}},{l:"sv",t:{"Enable interactive view":{v:["Aktivera interaktiv vy"]}}},{l:"sw",t:{}},{l:"ta",t:{}},{l:"th",t:{}},{l:"tk",t:{}},{l:"tr",t:{"Enable interactive view":{v:["Etkileşimli görünümü aç"]}}},{l:"ug",t:{}},{l:"uk",t:{"Enable interactive view":{v:["Увімкнути інтерактивний перегляд"]}}},{l:"ur_PK",t:{}},{l:"uz",t:{"Enable interactive view":{v:["Interaktiv ko'rinishni yoqing"]}}},{l:"vi",t:{}},{l:"zh_CN",t:{"Enable interactive view":{v:["启用交互视窗"]}}},{l:"zh_HK",t:{"Enable interactive view":{v:["啟用互動視圖"]}}},{l:"zh_TW",t:{}},{l:"zu_ZA",t:{}}],Dp=[{l:"af",t:{"Enter link":{v:[""]}}},{l:"ar",t:{"Enter link":{v:["أدخِل الرابط"]}}},{l:"ast",t:{"Enter link":{v:["Introducir l'enllaz"]}}},{l:"az",t:{"Enter link":{v:[""]}}},{l:"be",t:{"Enter link":{v:[""]}}},{l:"bg",t:{"Enter link":{v:[""]}}},{l:"bn_BD",t:{"Enter link":{v:[""]}}},{l:"br",t:{"Enter link":{v:[""]}}},{l:"bs",t:{"Enter link":{v:[""]}}},{l:"ca",t:{"Enter link":{v:[""]}}},{l:"cs",t:{"Enter link":{v:["Zadat odkaz"]}}},{l:"cs_CZ",t:{"Enter link":{v:["Zadat odkaz"]}}},{l:"cy_GB",t:{"Enter link":{v:[""]}}},{l:"da",t:{"Enter link":{v:["Indtast link"]}}},{l:"de",t:{"Enter link":{v:["Link eingeben"]}}},{l:"de_DE",t:{"Enter link":{v:["Link eingeben"]}}},{l:"el",t:{"Enter link":{v:["Εισάγετε σύνδεσμο"]}}},{l:"en_GB",t:{"Enter link":{v:["Enter link"]}}},{l:"eo",t:{"Enter link":{v:[""]}}},{l:"es",t:{"Enter link":{v:["Ingrese enlace"]}}},{l:"es_419",t:{"Enter link":{v:[""]}}},{l:"es_AR",t:{"Enter link":{v:["Ingresar enlace"]}}},{l:"es_CL",t:{"Enter link":{v:[""]}}},{l:"es_CO",t:{"Enter link":{v:[""]}}},{l:"es_CR",t:{"Enter link":{v:[""]}}},{l:"es_DO",t:{"Enter link":{v:[""]}}},{l:"es_EC",t:{"Enter link":{v:["Ingresar enlace"]}}},{l:"es_GT",t:{"Enter link":{v:[""]}}},{l:"es_HN",t:{"Enter link":{v:[""]}}},{l:"es_MX",t:{"Enter link":{v:["Ingresar enlace"]}}},{l:"es_NI",t:{"Enter link":{v:[""]}}},{l:"es_PA",t:{"Enter link":{v:[""]}}},{l:"es_PE",t:{"Enter link":{v:[""]}}},{l:"es_PR",t:{"Enter link":{v:[""]}}},{l:"es_PY",t:{"Enter link":{v:[""]}}},{l:"es_SV",t:{"Enter link":{v:[""]}}},{l:"es_UY",t:{"Enter link":{v:[""]}}},{l:"et_EE",t:{"Enter link":{v:["Sisesta link"]}}},{l:"eu",t:{"Enter link":{v:["Sartu esteka"]}}},{l:"fa",t:{"Enter link":{v:["لینک را وارد کنید"]}}},{l:"fi",t:{"Enter link":{v:["Kirjoita linkki"]}}},{l:"fo",t:{"Enter link":{v:[""]}}},{l:"fr",t:{"Enter link":{v:["Saisissez le lien"]}}},{l:"ga",t:{"Enter link":{v:["Cuir isteach nasc"]}}},{l:"gd",t:{"Enter link":{v:[""]}}},{l:"gl",t:{"Enter link":{v:["Introducir a ligazón"]}}},{l:"he",t:{"Enter link":{v:["מילוי קישור"]}}},{l:"hi_IN",t:{"Enter link":{v:[""]}}},{l:"hr",t:{"Enter link":{v:[""]}}},{l:"hsb",t:{"Enter link":{v:[""]}}},{l:"hu",t:{"Enter link":{v:[""]}}},{l:"hy",t:{"Enter link":{v:[""]}}},{l:"ia",t:{"Enter link":{v:[""]}}},{l:"id",t:{"Enter link":{v:["Masukkan tautan"]}}},{l:"ig",t:{"Enter link":{v:[""]}}},{l:"is",t:{"Enter link":{v:["Settu inn tengil"]}}},{l:"it",t:{"Enter link":{v:["Inserire il link"]}}},{l:"ja",t:{"Enter link":{v:["リンクを入力する"]}}},{l:"ja_JP",t:{"Enter link":{v:["リンクを入力する"]}}},{l:"ka",t:{"Enter link":{v:[""]}}},{l:"ka_GE",t:{"Enter link":{v:[""]}}},{l:"kab",t:{"Enter link":{v:[""]}}},{l:"kk",t:{"Enter link":{v:[""]}}},{l:"km",t:{"Enter link":{v:[""]}}},{l:"kn",t:{"Enter link":{v:[""]}}},{l:"ko",t:{"Enter link":{v:["링크 입력"]}}},{l:"la",t:{"Enter link":{v:[""]}}},{l:"lb",t:{"Enter link":{v:[""]}}},{l:"lo",t:{"Enter link":{v:[""]}}},{l:"lt_LT",t:{"Enter link":{v:[""]}}},{l:"lv",t:{"Enter link":{v:[""]}}},{l:"mk",t:{"Enter link":{v:[""]}}},{l:"mn",t:{"Enter link":{v:[""]}}},{l:"mr",t:{"Enter link":{v:[""]}}},{l:"ms_MY",t:{"Enter link":{v:[""]}}},{l:"my",t:{"Enter link":{v:[""]}}},{l:"nb",t:{"Enter link":{v:["Skriv inn lenken"]}}},{l:"ne",t:{"Enter link":{v:[""]}}},{l:"nl",t:{"Enter link":{v:["Voer link in"]}}},{l:"nn_NO",t:{"Enter link":{v:[""]}}},{l:"oc",t:{"Enter link":{v:[""]}}},{l:"pl",t:{"Enter link":{v:["Wprowadź link"]}}},{l:"ps",t:{"Enter link":{v:[""]}}},{l:"pt_BR",t:{"Enter link":{v:["Insira o link"]}}},{l:"pt_PT",t:{"Enter link":{v:["Inserir hiperligação"]}}},{l:"ro",t:{"Enter link":{v:["Introduceți link-ul"]}}},{l:"ru",t:{"Enter link":{v:["Введите ссылку"]}}},{l:"sc",t:{"Enter link":{v:[""]}}},{l:"si",t:{"Enter link":{v:[""]}}},{l:"sk",t:{"Enter link":{v:["Vložiť link"]}}},{l:"sl",t:{"Enter link":{v:[""]}}},{l:"sq",t:{"Enter link":{v:[""]}}},{l:"sr",t:{"Enter link":{v:["Унесите линк"]}}},{l:"sr@latin",t:{"Enter link":{v:[""]}}},{l:"sv",t:{"Enter link":{v:["Ange länk"]}}},{l:"sw",t:{"Enter link":{v:[""]}}},{l:"ta",t:{"Enter link":{v:[""]}}},{l:"th",t:{"Enter link":{v:[""]}}},{l:"tk",t:{"Enter link":{v:[""]}}},{l:"tr",t:{"Enter link":{v:["Bağlantıyı yazın"]}}},{l:"ug",t:{"Enter link":{v:[""]}}},{l:"uk",t:{"Enter link":{v:["Зазначте посилання"]}}},{l:"ur_PK",t:{"Enter link":{v:[""]}}},{l:"uz",t:{"Enter link":{v:["Havolani kiriting"]}}},{l:"vi",t:{"Enter link":{v:[""]}}},{l:"zh_CN",t:{"Enter link":{v:["输入链接"]}}},{l:"zh_HK",t:{"Enter link":{v:["輸入連結"]}}},{l:"zh_TW",t:{"Enter link":{v:["輸入連結"]}}},{l:"zu_ZA",t:{"Enter link":{v:[""]}}}],Fp=[{l:"af",t:{"External documentation for {name}":{v:[""]}}},{l:"ar",t:{"External documentation for {name}":{v:["التوثيق الخارجي لـ {name}"]}}},{l:"ast",t:{"External documentation for {name}":{v:["Documentación esterna pa: {name}"]}}},{l:"az",t:{"External documentation for {name}":{v:[""]}}},{l:"be",t:{"External documentation for {name}":{v:[""]}}},{l:"bg",t:{"External documentation for {name}":{v:[""]}}},{l:"bn_BD",t:{"External documentation for {name}":{v:[""]}}},{l:"br",t:{"External documentation for {name}":{v:[""]}}},{l:"bs",t:{"External documentation for {name}":{v:[""]}}},{l:"ca",t:{"External documentation for {name}":{v:[""]}}},{l:"cs",t:{"External documentation for {name}":{v:["Externí dokumentace pro {name}"]}}},{l:"cs_CZ",t:{"External documentation for {name}":{v:["Externí dokumentace pro {name}"]}}},{l:"cy_GB",t:{"External documentation for {name}":{v:[""]}}},{l:"da",t:{"External documentation for {name}":{v:["Ekstern dokumentation for {name}"]}}},{l:"de",t:{"External documentation for {name}":{v:["Externe Dokumentation für {name}"]}}},{l:"de_DE",t:{"External documentation for {name}":{v:["Externe Dokumentation für {name}"]}}},{l:"el",t:{"External documentation for {name}":{v:["Εξωτερική τεκμηρίωση για {name}"]}}},{l:"en_GB",t:{"External documentation for {name}":{v:["External documentation for {name}"]}}},{l:"eo",t:{"External documentation for {name}":{v:[""]}}},{l:"es",t:{"External documentation for {name}":{v:["Documentación externa para {name}"]}}},{l:"es_419",t:{"External documentation for {name}":{v:[""]}}},{l:"es_AR",t:{"External documentation for {name}":{v:["Documentación externa para {name}"]}}},{l:"es_CL",t:{"External documentation for {name}":{v:[""]}}},{l:"es_CO",t:{"External documentation for {name}":{v:[""]}}},{l:"es_CR",t:{"External documentation for {name}":{v:[""]}}},{l:"es_DO",t:{"External documentation for {name}":{v:[""]}}},{l:"es_EC",t:{"External documentation for {name}":{v:["Documentación externa para {name}"]}}},{l:"es_GT",t:{"External documentation for {name}":{v:[""]}}},{l:"es_HN",t:{"External documentation for {name}":{v:[""]}}},{l:"es_MX",t:{"External documentation for {name}":{v:["Documentación externa para {name}"]}}},{l:"es_NI",t:{"External documentation for {name}":{v:[""]}}},{l:"es_PA",t:{"External documentation for {name}":{v:[""]}}},{l:"es_PE",t:{"External documentation for {name}":{v:[""]}}},{l:"es_PR",t:{"External documentation for {name}":{v:[""]}}},{l:"es_PY",t:{"External documentation for {name}":{v:[""]}}},{l:"es_SV",t:{"External documentation for {name}":{v:[""]}}},{l:"es_UY",t:{"External documentation for {name}":{v:[""]}}},{l:"et_EE",t:{"External documentation for {name}":{v:["Väline dokumentatsioon {nimi}"]}}},{l:"eu",t:{"External documentation for {name}":{v:["{name}-ren kanpoko dokumentazioa"]}}},{l:"fa",t:{"External documentation for {name}":{v:["اسناد بیرونی برای {name}"]}}},{l:"fi",t:{"External documentation for {name}":{v:["Ulkoinen dokumentaatio {name}lle"]}}},{l:"fo",t:{"External documentation for {name}":{v:[""]}}},{l:"fr",t:{"External documentation for {name}":{v:["Documentation externe pour {name}"]}}},{l:"ga",t:{"External documentation for {name}":{v:["Doiciméadúchán seachtrach le haghaidh {name}"]}}},{l:"gd",t:{"External documentation for {name}":{v:[""]}}},{l:"gl",t:{"External documentation for {name}":{v:["Documentación externa para {name}"]}}},{l:"he",t:{"External documentation for {name}":{v:["תיעוד חיצוני עבור {name}"]}}},{l:"hi_IN",t:{"External documentation for {name}":{v:[""]}}},{l:"hr",t:{"External documentation for {name}":{v:[""]}}},{l:"hsb",t:{"External documentation for {name}":{v:[""]}}},{l:"hu",t:{"External documentation for {name}":{v:[""]}}},{l:"hy",t:{"External documentation for {name}":{v:[""]}}},{l:"ia",t:{"External documentation for {name}":{v:[""]}}},{l:"id",t:{"External documentation for {name}":{v:["Dokumentasi eksternal untuk {name}"]}}},{l:"ig",t:{"External documentation for {name}":{v:[""]}}},{l:"is",t:{"External documentation for {name}":{v:["Utanaðkomandi leiðbeiningar fyrir {name}"]}}},{l:"it",t:{"External documentation for {name}":{v:["Documentazione esterna per {name}"]}}},{l:"ja",t:{"External documentation for {name}":{v:["{name} の外部ドキュメント"]}}},{l:"ja_JP",t:{"External documentation for {name}":{v:["{name} の外部ドキュメント"]}}},{l:"ka",t:{"External documentation for {name}":{v:[""]}}},{l:"ka_GE",t:{"External documentation for {name}":{v:[""]}}},{l:"kab",t:{"External documentation for {name}":{v:[""]}}},{l:"kk",t:{"External documentation for {name}":{v:[""]}}},{l:"km",t:{"External documentation for {name}":{v:[""]}}},{l:"kn",t:{"External documentation for {name}":{v:[""]}}},{l:"ko",t:{"External documentation for {name}":{v:["{name}의 외부 문서"]}}},{l:"la",t:{"External documentation for {name}":{v:[""]}}},{l:"lb",t:{"External documentation for {name}":{v:[""]}}},{l:"lo",t:{"External documentation for {name}":{v:[""]}}},{l:"lt_LT",t:{"External documentation for {name}":{v:[""]}}},{l:"lv",t:{"External documentation for {name}":{v:[""]}}},{l:"mk",t:{"External documentation for {name}":{v:[""]}}},{l:"mn",t:{"External documentation for {name}":{v:[""]}}},{l:"mr",t:{"External documentation for {name}":{v:[""]}}},{l:"ms_MY",t:{"External documentation for {name}":{v:[""]}}},{l:"my",t:{"External documentation for {name}":{v:[""]}}},{l:"nb",t:{"External documentation for {name}":{v:["Ekstern dokumentasjon for {name}"]}}},{l:"ne",t:{"External documentation for {name}":{v:[""]}}},{l:"nl",t:{"External documentation for {name}":{v:["Externe documentatie voor {name}"]}}},{l:"nn_NO",t:{"External documentation for {name}":{v:[""]}}},{l:"oc",t:{"External documentation for {name}":{v:[""]}}},{l:"pl",t:{"External documentation for {name}":{v:["Dokumentacja zewnętrzna dla {name}"]}}},{l:"ps",t:{"External documentation for {name}":{v:[""]}}},{l:"pt_BR",t:{"External documentation for {name}":{v:["Documentação externa para {name}"]}}},{l:"pt_PT",t:{"External documentation for {name}":{v:["Documentação externa para {name}"]}}},{l:"ro",t:{"External documentation for {name}":{v:["Documentație externă pentru {name}"]}}},{l:"ru",t:{"External documentation for {name}":{v:["Внешняя документация для {name}"]}}},{l:"sc",t:{"External documentation for {name}":{v:[""]}}},{l:"si",t:{"External documentation for {name}":{v:[""]}}},{l:"sk",t:{"External documentation for {name}":{v:["Externá dokumentácia pre {name}"]}}},{l:"sl",t:{"External documentation for {name}":{v:[""]}}},{l:"sq",t:{"External documentation for {name}":{v:[""]}}},{l:"sr",t:{"External documentation for {name}":{v:["Спољна документација за {name}"]}}},{l:"sr@latin",t:{"External documentation for {name}":{v:[""]}}},{l:"sv",t:{"External documentation for {name}":{v:["Extern dokumentation för {name}"]}}},{l:"sw",t:{"External documentation for {name}":{v:[""]}}},{l:"ta",t:{"External documentation for {name}":{v:[""]}}},{l:"th",t:{"External documentation for {name}":{v:[""]}}},{l:"tk",t:{"External documentation for {name}":{v:[""]}}},{l:"tr",t:{"External documentation for {name}":{v:["{name} için dış belgeler"]}}},{l:"ug",t:{"External documentation for {name}":{v:[""]}}},{l:"uk",t:{"External documentation for {name}":{v:["Зовнішня документація для {name}"]}}},{l:"ur_PK",t:{"External documentation for {name}":{v:[""]}}},{l:"uz",t:{"External documentation for {name}":{v:["{name}uchun tashqi hujjatlar"]}}},{l:"vi",t:{"External documentation for {name}":{v:[""]}}},{l:"zh_CN",t:{"External documentation for {name}":{v:["{name} 的外部文档"]}}},{l:"zh_HK",t:{"External documentation for {name}":{v:["{name} 的外部文件"]}}},{l:"zh_TW",t:{"External documentation for {name}":{v:["{name} 的外部文件"]}}},{l:"zu_ZA",t:{"External documentation for {name}":{v:[""]}}}],Pp=[{l:"af",t:{"Go back to the list":{v:[""]}}},{l:"ar",t:{"Go back to the list":{v:["عودة إلى القائمة"]}}},{l:"ast",t:{"Go back to the list":{v:["Volver a la llista"]}}},{l:"az",t:{"Go back to the list":{v:[""]}}},{l:"be",t:{"Go back to the list":{v:[""]}}},{l:"bg",t:{"Go back to the list":{v:[""]}}},{l:"bn_BD",t:{"Go back to the list":{v:[""]}}},{l:"br",t:{"Go back to the list":{v:[""]}}},{l:"bs",t:{"Go back to the list":{v:[""]}}},{l:"ca",t:{"Go back to the list":{v:["Torna a la llista"]}}},{l:"cs",t:{"Go back to the list":{v:["Jít zpět na seznam"]}}},{l:"cs_CZ",t:{"Go back to the list":{v:["Jít zpět na seznam"]}}},{l:"cy_GB",t:{"Go back to the list":{v:[""]}}},{l:"da",t:{"Go back to the list":{v:["Tilbage til listen"]}}},{l:"de",t:{"Go back to the list":{v:["Zurück zur Liste"]}}},{l:"de_DE",t:{"Go back to the list":{v:["Zurück zur Liste"]}}},{l:"el",t:{"Go back to the list":{v:["Επιστροφή στην αρχική λίστα"]}}},{l:"en_GB",t:{"Go back to the list":{v:["Go back to the list"]}}},{l:"eo",t:{"Go back to the list":{v:[""]}}},{l:"es",t:{"Go back to the list":{v:["Volver a la lista"]}}},{l:"es_419",t:{"Go back to the list":{v:[""]}}},{l:"es_AR",t:{"Go back to the list":{v:["Volver a la lista"]}}},{l:"es_CL",t:{"Go back to the list":{v:[""]}}},{l:"es_CO",t:{"Go back to the list":{v:[""]}}},{l:"es_CR",t:{"Go back to the list":{v:[""]}}},{l:"es_DO",t:{"Go back to the list":{v:[""]}}},{l:"es_EC",t:{"Go back to the list":{v:["Volver a la lista"]}}},{l:"es_GT",t:{"Go back to the list":{v:[""]}}},{l:"es_HN",t:{"Go back to the list":{v:[""]}}},{l:"es_MX",t:{"Go back to the list":{v:["Regresar a la lista"]}}},{l:"es_NI",t:{"Go back to the list":{v:[""]}}},{l:"es_PA",t:{"Go back to the list":{v:[""]}}},{l:"es_PE",t:{"Go back to the list":{v:[""]}}},{l:"es_PR",t:{"Go back to the list":{v:[""]}}},{l:"es_PY",t:{"Go back to the list":{v:[""]}}},{l:"es_SV",t:{"Go back to the list":{v:[""]}}},{l:"es_UY",t:{"Go back to the list":{v:[""]}}},{l:"et_EE",t:{"Go back to the list":{v:["Tagasi nimekirja juurde"]}}},{l:"eu",t:{"Go back to the list":{v:["Bueltatu zerrendara"]}}},{l:"fa",t:{"Go back to the list":{v:["برگشت به لیست"]}}},{l:"fi",t:{"Go back to the list":{v:["Takaisin listaan"]}}},{l:"fo",t:{"Go back to the list":{v:[""]}}},{l:"fr",t:{"Go back to the list":{v:["Retourner à la liste"]}}},{l:"ga",t:{"Go back to the list":{v:["Téigh ar ais go dtí an liosta"]}}},{l:"gd",t:{"Go back to the list":{v:[""]}}},{l:"gl",t:{"Go back to the list":{v:["Volver á lista"]}}},{l:"he",t:{"Go back to the list":{v:["חזרה לרשימה"]}}},{l:"hi_IN",t:{"Go back to the list":{v:[""]}}},{l:"hr",t:{"Go back to the list":{v:[""]}}},{l:"hsb",t:{"Go back to the list":{v:[""]}}},{l:"hu",t:{"Go back to the list":{v:["Ugrás vissza a listához"]}}},{l:"hy",t:{"Go back to the list":{v:[""]}}},{l:"ia",t:{"Go back to the list":{v:[""]}}},{l:"id",t:{"Go back to the list":{v:["Kembali ke daftar"]}}},{l:"ig",t:{"Go back to the list":{v:[""]}}},{l:"is",t:{"Go back to the list":{v:["Fara til baka í listann"]}}},{l:"it",t:{"Go back to the list":{v:["Torna all'elenco"]}}},{l:"ja",t:{"Go back to the list":{v:["リストに戻る"]}}},{l:"ja_JP",t:{"Go back to the list":{v:["リストに戻る"]}}},{l:"ka",t:{"Go back to the list":{v:[""]}}},{l:"ka_GE",t:{"Go back to the list":{v:[""]}}},{l:"kab",t:{"Go back to the list":{v:[""]}}},{l:"kk",t:{"Go back to the list":{v:[""]}}},{l:"km",t:{"Go back to the list":{v:[""]}}},{l:"kn",t:{"Go back to the list":{v:[""]}}},{l:"ko",t:{"Go back to the list":{v:["목록으로 돌아가기"]}}},{l:"la",t:{"Go back to the list":{v:[""]}}},{l:"lb",t:{"Go back to the list":{v:[""]}}},{l:"lo",t:{"Go back to the list":{v:[""]}}},{l:"lt_LT",t:{"Go back to the list":{v:[""]}}},{l:"lv",t:{"Go back to the list":{v:[""]}}},{l:"mk",t:{"Go back to the list":{v:["Врати се на листата"]}}},{l:"mn",t:{"Go back to the list":{v:[""]}}},{l:"mr",t:{"Go back to the list":{v:[""]}}},{l:"ms_MY",t:{"Go back to the list":{v:[""]}}},{l:"my",t:{"Go back to the list":{v:[""]}}},{l:"nb",t:{"Go back to the list":{v:["Gå tilbake til listen"]}}},{l:"ne",t:{"Go back to the list":{v:[""]}}},{l:"nl",t:{"Go back to the list":{v:["Ga terug naar de lijst"]}}},{l:"nn_NO",t:{"Go back to the list":{v:[""]}}},{l:"oc",t:{"Go back to the list":{v:[""]}}},{l:"pl",t:{"Go back to the list":{v:["Powrót do listy"]}}},{l:"ps",t:{"Go back to the list":{v:[""]}}},{l:"pt_BR",t:{"Go back to the list":{v:["Voltar para a lista"]}}},{l:"pt_PT",t:{"Go back to the list":{v:["Voltar para a lista"]}}},{l:"ro",t:{"Go back to the list":{v:["Întoarceți-vă la listă"]}}},{l:"ru",t:{"Go back to the list":{v:["Вернуться к списку"]}}},{l:"sc",t:{"Go back to the list":{v:[""]}}},{l:"si",t:{"Go back to the list":{v:[""]}}},{l:"sk",t:{"Go back to the list":{v:["Späť na zoznam"]}}},{l:"sl",t:{"Go back to the list":{v:["Vrni se na seznam"]}}},{l:"sq",t:{"Go back to the list":{v:[""]}}},{l:"sr",t:{"Go back to the list":{v:["Назад на листу"]}}},{l:"sr@latin",t:{"Go back to the list":{v:[""]}}},{l:"sv",t:{"Go back to the list":{v:["Gå tillbaka till listan"]}}},{l:"sw",t:{"Go back to the list":{v:[""]}}},{l:"ta",t:{"Go back to the list":{v:[""]}}},{l:"th",t:{"Go back to the list":{v:[""]}}},{l:"tk",t:{"Go back to the list":{v:[""]}}},{l:"tr",t:{"Go back to the list":{v:["Listeye dön"]}}},{l:"ug",t:{"Go back to the list":{v:[""]}}},{l:"uk",t:{"Go back to the list":{v:["Повернутися до списку"]}}},{l:"ur_PK",t:{"Go back to the list":{v:[""]}}},{l:"uz",t:{"Go back to the list":{v:["Ro'yxatga qayting"]}}},{l:"vi",t:{"Go back to the list":{v:[""]}}},{l:"zh_CN",t:{"Go back to the list":{v:["返回至列表"]}}},{l:"zh_HK",t:{"Go back to the list":{v:["返回清單"]}}},{l:"zh_TW",t:{"Go back to the list":{v:["回到清單"]}}},{l:"zu_ZA",t:{"Go back to the list":{v:[""]}}}],Np=[{l:"af",t:{}},{l:"ar",t:{"Keyboard navigation help":{v:["مساعدة في التنقل باستعمال لوحة المفاتيح"]},"Skip to app navigation":{v:["تجاوَز إلى التنقل في التطبيق"]},"Skip to main content":{v:["تجاوَز إلى المحتوى الرئيسي"]}}},{l:"ast",t:{"Keyboard navigation help":{v:["Ayuda de la navegación pente'l tecláu"]},"Skip to app navigation":{v:["Dir a la navegación d'aplicaciones"]},"Skip to main content":{v:["Dir al conteníu principal"]}}},{l:"az",t:{}},{l:"be",t:{}},{l:"bg",t:{}},{l:"bn_BD",t:{}},{l:"br",t:{}},{l:"bs",t:{}},{l:"ca",t:{}},{l:"cs",t:{"Keyboard navigation help":{v:["Nápověda pro pohyb pomocí klávesnice"]},"Skip to app navigation":{v:["Přeskočit na navigaci aplikace"]},"Skip to main content":{v:["Přeskočit na hlavní obsah"]}}},{l:"cs_CZ",t:{"Keyboard navigation help":{v:["Nápověda pro pohyb pomocí klávesnice"]},"Skip to app navigation":{v:["Přeskočit na navigaci aplikace"]},"Skip to main content":{v:["Přeskočit na hlavní obsah"]}}},{l:"cy_GB",t:{}},{l:"da",t:{"Keyboard navigation help":{v:["Hjælp til tastaturnavigation"]},"Skip to app navigation":{v:["Spring til app navigation"]},"Skip to main content":{v:["Spring til hovedindhold"]}}},{l:"de",t:{"Keyboard navigation help":{v:["Tastatur-Navigationshilfe"]},"Skip to app navigation":{v:["Zur App-Navigation springen"]},"Skip to main content":{v:["Zum Hauptinhalt springen"]}}},{l:"de_DE",t:{"Keyboard navigation help":{v:["Tastatur-Navigationshilfe"]},"Skip to app navigation":{v:["Zur App-Navigation springen"]},"Skip to main content":{v:["Zum Hauptinhalt springen"]}}},{l:"el",t:{"Keyboard navigation help":{v:["Βοήθεια πλοήγησης με πληκτρολόγιο"]},"Skip to app navigation":{v:["Μετάβαση στην πλοήγηση της εφαρμογής"]},"Skip to main content":{v:["Μετάβαση στο κύριο περιεχόμενο"]}}},{l:"en_GB",t:{"Keyboard navigation help":{v:["Keyboard navigation help"]},"Skip to app navigation":{v:["Skip to app navigation"]},"Skip to main content":{v:["Skip to main content"]}}},{l:"eo",t:{}},{l:"es",t:{"Keyboard navigation help":{v:["Ayuda de navegación del teclado"]},"Skip to app navigation":{v:["Saltar a la navegación de apps"]},"Skip to main content":{v:["Saltar al contenido principal"]}}},{l:"es_419",t:{}},{l:"es_AR",t:{"Keyboard navigation help":{v:["Ayuda de navegación del teclado"]},"Skip to app navigation":{v:["Saltar a la navegación de app"]},"Skip to main content":{v:["Saltar al contenido principal"]}}},{l:"es_CL",t:{}},{l:"es_CO",t:{}},{l:"es_CR",t:{}},{l:"es_DO",t:{}},{l:"es_EC",t:{}},{l:"es_GT",t:{}},{l:"es_HN",t:{}},{l:"es_MX",t:{"Keyboard navigation help":{v:["Ayuda de navegación del teclado"]},"Skip to app navigation":{v:["Saltar a la navegación de app"]},"Skip to main content":{v:["Saltar al contenido principal"]}}},{l:"es_NI",t:{}},{l:"es_PA",t:{}},{l:"es_PE",t:{}},{l:"es_PR",t:{}},{l:"es_PY",t:{}},{l:"es_SV",t:{}},{l:"es_UY",t:{}},{l:"et_EE",t:{"Keyboard navigation help":{v:["Klahvistiku kasutuse abiteave"]},"Skip to app navigation":{v:["Suundu rakenduses liikumise valikute juurde"]},"Skip to main content":{v:["Suundu põhisisu juurde"]}}},{l:"eu",t:{}},{l:"fa",t:{"Keyboard navigation help":{v:["راهنمای ناوبری صفحه کلید"]},"Skip to app navigation":{v:["رفتن به پیمایش برنامه"]},"Skip to main content":{v:["رفتن به محتوای اصلی"]}}},{l:"fi",t:{"Keyboard navigation help":{v:["Näppäimistönavigoinnin ohje"]},"Skip to app navigation":{v:["Siirry sovelluksen navigaatioon"]},"Skip to main content":{v:["Siirry pääsisältöön"]}}},{l:"fo",t:{}},{l:"fr",t:{"Keyboard navigation help":{v:["Aide à la navigation du clavier"]},"Skip to app navigation":{v:["Passer à l'app navigation"]},"Skip to main content":{v:["Passer au contenu principal"]}}},{l:"ga",t:{"Keyboard navigation help":{v:["Cabhair le nascleanúint méarchláir"]},"Skip to app navigation":{v:["Téigh ar aghaidh chuig nascleanúint aip"]},"Skip to main content":{v:["Téigh ar aghaidh chuig an bpríomhábhar"]}}},{l:"gd",t:{}},{l:"gl",t:{"Keyboard navigation help":{v:["Axuda á navegación co teclado"]},"Skip to app navigation":{v:["Ir á navegación da aplicación"]},"Skip to main content":{v:["Ir ao contido principal"]}}},{l:"he",t:{}},{l:"hi_IN",t:{}},{l:"hr",t:{}},{l:"hsb",t:{}},{l:"hu",t:{}},{l:"hy",t:{}},{l:"ia",t:{}},{l:"id",t:{}},{l:"ig",t:{}},{l:"is",t:{"Keyboard navigation help":{v:["Aðstoð við rötun á lyklaborði"]},"Skip to app navigation":{v:["Sleppa og fara í flakk innan forrits"]},"Skip to main content":{v:["Sleppa og fara í meginefni"]}}},{l:"it",t:{}},{l:"ja",t:{"Keyboard navigation help":{v:["キーボード・ナビゲーション・ヘルプ"]},"Skip to app navigation":{v:["アプリのナビゲーションへ移動"]},"Skip to main content":{v:["メインコンテンツへ移動"]}}},{l:"ja_JP",t:{"Keyboard navigation help":{v:["キーボード・ナビゲーション・ヘルプ"]},"Skip to app navigation":{v:["アプリのナビゲーションへ移動"]},"Skip to main content":{v:["メインコンテンツへ移動"]}}},{l:"ka",t:{}},{l:"ka_GE",t:{}},{l:"kab",t:{}},{l:"kk",t:{}},{l:"km",t:{}},{l:"kn",t:{}},{l:"ko",t:{"Keyboard navigation help":{v:["키보드 탐색 도움말"]},"Skip to app navigation":{v:["앱 탐색으로 건너뛰기"]},"Skip to main content":{v:["본 내용으로 건너뛰기"]}}},{l:"la",t:{}},{l:"lb",t:{}},{l:"lo",t:{}},{l:"lt_LT",t:{}},{l:"lv",t:{}},{l:"mk",t:{}},{l:"mn",t:{}},{l:"mr",t:{}},{l:"ms_MY",t:{}},{l:"my",t:{}},{l:"nb",t:{"Keyboard navigation help":{v:["Hjelp for tastaturnavigering"]},"Skip to app navigation":{v:["Hopp til appnavigering"]},"Skip to main content":{v:["Hopp til hovedinnhold"]}}},{l:"ne",t:{}},{l:"nl",t:{"Keyboard navigation help":{v:["Hulp voor toetsenbordnavigatie"]},"Skip to app navigation":{v:["Doorgaan naar app-navigatie"]},"Skip to main content":{v:["Naar hoofdinhoud gaan"]}}},{l:"nn_NO",t:{}},{l:"oc",t:{}},{l:"pl",t:{"Keyboard navigation help":{v:["Pomoc w nawigacji za pomocą klawiatury"]},"Skip to app navigation":{v:["Przewiń do nawigacji"]},"Skip to main content":{v:["Przewiń do głównych treści"]}}},{l:"ps",t:{}},{l:"pt_BR",t:{"Keyboard navigation help":{v:["Ajuda para navegação pelo teclado"]},"Skip to app navigation":{v:["Ir para navegação"]},"Skip to main content":{v:["Ir para conteúdo principal"]}}},{l:"pt_PT",t:{"Keyboard navigation help":{v:["Ajuda à navegação no teclado"]},"Skip to app navigation":{v:["Saltar para navegação da app"]},"Skip to main content":{v:["Saltar para conteúdo principal"]}}},{l:"ro",t:{}},{l:"ru",t:{"Keyboard navigation help":{v:["Справка по навигации с помощью клавиатуры"]},"Skip to app navigation":{v:["Перейти к навигации по приложению"]},"Skip to main content":{v:["Перейти к основному содержанию"]}}},{l:"sc",t:{}},{l:"si",t:{}},{l:"sk",t:{"Keyboard navigation help":{v:["Pomoc pri navigácii pomocou klávesnice"]},"Skip to app navigation":{v:["Preskočiť na navigáciu v aplikácii"]},"Skip to main content":{v:["Preskočiť na hlavný obsah"]}}},{l:"sl",t:{}},{l:"sq",t:{}},{l:"sr",t:{"Keyboard navigation help":{v:["Помоћ за навигацију тастатуром"]},"Skip to app navigation":{v:["Прескочи на навигацију апликацијом"]},"Skip to main content":{v:["Прескочи на главни садржај"]}}},{l:"sr@latin",t:{}},{l:"sv",t:{"Keyboard navigation help":{v:["Hjälp med tangentbordsnavigering"]},"Skip to app navigation":{v:["Hoppa till appnavigering"]},"Skip to main content":{v:["Hoppa till huvudinnehåll"]}}},{l:"sw",t:{}},{l:"ta",t:{}},{l:"th",t:{}},{l:"tk",t:{}},{l:"tr",t:{"Keyboard navigation help":{v:["Klavye ile gezinme yardımı"]},"Skip to app navigation":{v:["Uygulama gezinmesine git"]},"Skip to main content":{v:["Ana içeriğe git"]}}},{l:"ug",t:{}},{l:"uk",t:{"Keyboard navigation help":{v:["Допомога з навігацією клавішами"]},"Skip to app navigation":{v:["Пропустити навігацію по застосунках"]},"Skip to main content":{v:["Перейти одразу до головного вмісту"]}}},{l:"ur_PK",t:{}},{l:"uz",t:{"Keyboard navigation help":{v:["Klaviatura navigatsiyasi yordami"]},"Skip to app navigation":{v:["Ilova navigatsiyasiga oʻtish"]},"Skip to main content":{v:["Asosiy tarkibga o'tish"]}}},{l:"vi",t:{}},{l:"zh_CN",t:{"Keyboard navigation help":{v:["键盘导航栏帮助"]},"Skip to app navigation":{v:["跳转至应用程序导航页"]},"Skip to main content":{v:["跳转至主要内容"]}}},{l:"zh_HK",t:{"Keyboard navigation help":{v:["鍵盤導航幫助"]},"Skip to app navigation":{v:["跳至應用程式導航"]},"Skip to main content":{v:["跳至主要內容"]}}},{l:"zh_TW",t:{}},{l:"zu_ZA",t:{}}],Op=[{l:"af",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"ar",t:{'Load more "{options}"':{v:['تحميل المزيد من "{options}" ']},"Raw link {options}":{v:[" الرابط الخام raw link ـ {options}"]},"Start typing to search":{v:["إبدإ كتابة مفردات البحث"]}}},{l:"ast",t:{'Load more "{options}"':{v:["Cargar más «{options}»"]},"Raw link {options}":{v:["Enllaz en bruto {optiones}"]},"Start typing to search":{v:["Comienza a escribir pa buscar"]}}},{l:"az",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"be",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"bg",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"bn_BD",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"br",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"bs",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"ca",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"cs",t:{'Load more "{options}"':{v:["Načíst další „{options}“"]},"Raw link {options}":{v:["Holý odkaz {options}"]},"Start typing to search":{v:["Vyhledávejte psaním"]}}},{l:"cs_CZ",t:{'Load more "{options}"':{v:["Načíst další „{options}“"]},"Raw link {options}":{v:["Holý odkaz {options}"]},"Start typing to search":{v:["Vyhledávejte psaním"]}}},{l:"cy_GB",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"da",t:{'Load more "{options}"':{v:['Indlæs flere "{options}"']},"Raw link {options}":{v:["Rå link {options}"]},"Start typing to search":{v:["Begynd at skrive for at søge"]}}},{l:"de",t:{'Load more "{options}"':{v:['Weitere "{options}" laden']},"Raw link {options}":{v:["Unverarbeiteter Link {Optionen}"]},"Start typing to search":{v:["Mit der Eingabe beginnen, um zu suchen"]}}},{l:"de_DE",t:{'Load more "{options}"':{v:['Weitere "{options}" laden']},"Raw link {options}":{v:["Unverarbeiteter Link {Optionen}"]},"Start typing to search":{v:["Mit der Eingabe beginnen, um zu suchen"]}}},{l:"el",t:{'Load more "{options}"':{v:['Φόρτωση περισσότερων "{options}"']},"Raw link {options}":{v:["Ακατέργαστος σύνδεσμος {options}"]},"Start typing to search":{v:["Ξεκινήστε να πληκτρολογείτε για αναζήτηση"]}}},{l:"en_GB",t:{'Load more "{options}"':{v:['Load more "{options}"']},"Raw link {options}":{v:["Raw link {options}"]},"Start typing to search":{v:["Start typing to search"]}}},{l:"eo",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"es",t:{'Load more "{options}"':{v:['Cargar más "{options}"']},"Raw link {options}":{v:["Enlace directo {options}"]},"Start typing to search":{v:["Comience a escribir para buscar"]}}},{l:"es_419",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"es_AR",t:{'Load more "{options}"':{v:['Cargar más "{options}"']},"Raw link {options}":{v:["Enlace directo {options}"]},"Start typing to search":{v:["Comience a escribir para buscar"]}}},{l:"es_CL",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"es_CO",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"es_CR",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"es_DO",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"es_EC",t:{'Load more "{options}"':{v:[""]},"Raw link {options}":{v:["Enlace directo {options}"]},"Start typing to search":{v:["Comienza a escribir para buscar"]}}},{l:"es_GT",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"es_HN",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"es_MX",t:{'Load more "{options}"':{v:['Cargar más "{options}"']},"Raw link {options}":{v:["Enlace directo {options}"]},"Start typing to search":{v:["Comience a escribir para buscar"]}}},{l:"es_NI",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"es_PA",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"es_PE",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"es_PR",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"es_PY",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"es_SV",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"es_UY",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"et_EE",t:{'Load more "{options}"':{v:['Laadi rohkem "{valikud}"']},"Raw link {options}":{v:["Raw link {valikud}"]},"Start typing to search":{v:["Alusta otsinguks sisestamist"]}}},{l:"eu",t:{'Load more "{options}"':{v:['Kargatu "{options}" gehiago']},"Raw link {options}":{v:["Formaturik gabeko esteka {aukerak}"]},"Start typing to search":{v:["Hasi idazten bilatzeko"]}}},{l:"fa",t:{'Load more "{options}"':{v:['بارگذاری بیشتر "{options}"']},"Raw link {options}":{v:["پیوند خام {options}"]},"Start typing to search":{v:["برای جستجو تایپ کنید"]}}},{l:"fi",t:{'Load more "{options}"':{v:['Lataa lisää "{options}"']},"Raw link {options}":{v:["Raaka linkki {options}"]},"Start typing to search":{v:["Aloita kirjoittaminen hakeaksesi"]}}},{l:"fo",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"fr",t:{'Load more "{options}"':{v:[`Charger d'avantage "{options}"`]},"Raw link {options}":{v:["Lien brut {options}"]},"Start typing to search":{v:["Commencez à écrire pour rechercher"]}}},{l:"ga",t:{'Load more "{options}"':{v:['Luchtaigh tuilleadh "{options}"']},"Raw link {options}":{v:["Nasc amh {roghanna}"]},"Start typing to search":{v:["Tosaigh ag clóscríobh chun cuardach a dhéanamh"]}}},{l:"gd",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"gl",t:{'Load more "{options}"':{v:["Cargar máis «{options}»"]},"Raw link {options}":{v:["Ligazón sen procesar {options}"]},"Start typing to search":{v:["Comece a escribir para buscar"]}}},{l:"he",t:{'Load more "{options}"':{v:[""]},"Raw link {options}":{v:["קישור גולמי {options}"]},"Start typing to search":{v:["התחלת הקלדה מחפשת"]}}},{l:"hi_IN",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"hr",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"hsb",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"hu",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"hy",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"ia",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"id",t:{'Load more "{options}"':{v:['Muat "{options}" lainnya']},"Raw link {options}":{v:["Tautan mentah {options}"]},"Start typing to search":{v:["Ketik untuk mulai mencari"]}}},{l:"ig",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"is",t:{'Load more "{options}"':{v:['Hlaða inn fleiri "{options}"']},"Raw link {options}":{v:["Hrár tengill {options}"]},"Start typing to search":{v:["Byrjaðu að skrifa til að leita"]}}},{l:"it",t:{'Load more "{options}"':{v:['Carica più "{options}"']},"Raw link {options}":{v:["Raw link {options}"]},"Start typing to search":{v:["Iniziare a digitare per effettuare la ricerca"]}}},{l:"ja",t:{'Load more "{options}"':{v:['"{options}" をもっと読み込む']},"Raw link {options}":{v:["未加工のリンク {options}"]},"Start typing to search":{v:["入力を開始して検索します"]}}},{l:"ja_JP",t:{'Load more "{options}"':{v:['"{options}" をもっと読み込む']},"Raw link {options}":{v:["未加工のリンク {options}"]},"Start typing to search":{v:["入力を開始して検索します"]}}},{l:"ka",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"ka_GE",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"kab",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"kk",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"km",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"kn",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"ko",t:{'Load more "{options}"':{v:['"{options}" 더 불러오기']},"Raw link {options}":{v:["{options} 원본 링크"]},"Start typing to search":{v:["입력하여 검색"]}}},{l:"la",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"lb",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"lo",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"lt_LT",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"lv",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"mk",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"mn",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"mr",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"ms_MY",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"my",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"nb",t:{'Load more "{options}"':{v:['Last inn flere "{options}"']},"Raw link {options}":{v:["Rå lenke {options}"]},"Start typing to search":{v:["Start å skrive for å søke"]}}},{l:"ne",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"nl",t:{'Load more "{options}"':{v:['Laad meer "{options}"']},"Raw link {options}":{v:["Basis link {options}"]},"Start typing to search":{v:["Start met typen om te zoeken"]}}},{l:"nn_NO",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"oc",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"pl",t:{'Load more "{options}"':{v:['Załaduj więcej "{options}"']},"Raw link {options}":{v:["Surowy odnośnik {options}"]},"Start typing to search":{v:["Zacznij pisać, aby wyszukać"]}}},{l:"ps",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"pt_BR",t:{'Load more "{options}"':{v:['Carregar mais "{options}"']},"Raw link {options}":{v:["Link bruto {options}"]},"Start typing to search":{v:["Comece a digitar para pesquisar"]}}},{l:"pt_PT",t:{'Load more "{options}"':{v:['Carregar mais "{options}"']},"Raw link {options}":{v:["Link inicial {options}"]},"Start typing to search":{v:["Comece a digitar para pesquisar"]}}},{l:"ro",t:{'Load more "{options}"':{v:['Încarcă mai multe "{options}"']},"Raw link {options}":{v:["Link brut {options}"]},"Start typing to search":{v:["Tastați pentru căutare"]}}},{l:"ru",t:{'Load more "{options}"':{v:['Загрузить больше "{options}""']},"Raw link {options}":{v:["Необработанная ссылка {options}"]},"Start typing to search":{v:["Начните вводить текст для поиска"]}}},{l:"sc",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"si",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"sk",t:{'Load more "{options}"':{v:['Načítať viac "{options}"']},"Raw link {options}":{v:["Raw odkaz {options}"]},"Start typing to search":{v:["Začnite písať pre vyhľadávanie"]}}},{l:"sl",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"sq",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"sr",t:{'Load more "{options}"':{v:["Учитај још „{options}”"]},"Raw link {options}":{v:["Сирови линк {options}"]},"Start typing to search":{v:["Покрените претрагу куцањем"]}}},{l:"sr@latin",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"sv",t:{'Load more "{options}"':{v:['Ladda fler "{options}"']},"Raw link {options}":{v:["Oformaterad länk {options}"]},"Start typing to search":{v:["Börja skriva för att söka"]}}},{l:"sw",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"ta",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"th",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"tk",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"tr",t:{'Load more "{options}"':{v:['Diğer "{options}"']},"Raw link {options}":{v:["Ham bağlantı {options}"]},"Start typing to search":{v:["Aramak için yazmaya başlayın"]}}},{l:"ug",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"uk",t:{'Load more "{options}"':{v:['Завантажити більше "{options}"']},"Raw link {options}":{v:["Пряме посилання {options}"]},"Start typing to search":{v:["Почніть вводити для пошуку"]}}},{l:"ur_PK",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"uz",t:{'Load more "{options}"':{v:[`Ko'proq yuklash "{options}"`]},"Raw link {options}":{v:[" {options}satr havolasi"]},"Start typing to search":{v:["Qidirish uchun yozishni boshlang"]}}},{l:"vi",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"zh_CN",t:{'Load more "{options}"':{v:["加载更多 “{options}”"]},"Raw link {options}":{v:["原始链接 {options}"]},"Start typing to search":{v:["开始输入以进行搜索"]}}},{l:"zh_HK",t:{'Load more "{options}"':{v:['載入更多 "{options}"']},"Raw link {options}":{v:["原始連結 {options}"]},"Start typing to search":{v:["開始輸入以進行搜尋"]}}},{l:"zh_TW",t:{'Load more "{options}"':{v:["載入更多「{options}」"]},"Raw link {options}":{v:["原始連結 {options}"]},"Start typing to search":{v:["開始輸入以進行搜尋"]}}},{l:"zu_ZA",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}}],Rp=[{l:"af",t:{}},{l:"ar",t:{"Loading …":{v:["التحميل جارٍ ..."]}}},{l:"ast",t:{}},{l:"az",t:{}},{l:"be",t:{}},{l:"bg",t:{}},{l:"bn_BD",t:{}},{l:"br",t:{}},{l:"bs",t:{}},{l:"ca",t:{}},{l:"cs",t:{"Loading …":{v:["Načítání…"]}}},{l:"cs_CZ",t:{}},{l:"cy_GB",t:{}},{l:"da",t:{"Loading …":{v:["Indlæser…"]}}},{l:"de",t:{"Loading …":{v:["Wird geladen …"]}}},{l:"de_DE",t:{"Loading …":{v:["Wird geladen …"]}}},{l:"el",t:{"Loading …":{v:["Φόρτωση …"]}}},{l:"en_GB",t:{"Loading …":{v:["Loading …"]}}},{l:"eo",t:{}},{l:"es",t:{}},{l:"es_419",t:{}},{l:"es_AR",t:{}},{l:"es_CL",t:{}},{l:"es_CO",t:{}},{l:"es_CR",t:{}},{l:"es_DO",t:{}},{l:"es_EC",t:{}},{l:"es_GT",t:{}},{l:"es_HN",t:{}},{l:"es_MX",t:{}},{l:"es_NI",t:{}},{l:"es_PA",t:{}},{l:"es_PE",t:{}},{l:"es_PR",t:{}},{l:"es_PY",t:{}},{l:"es_SV",t:{}},{l:"es_UY",t:{}},{l:"et_EE",t:{"Loading …":{v:["Laadin…"]}}},{l:"eu",t:{}},{l:"fa",t:{"Loading …":{v:["در حال بارگذاری ..."]}}},{l:"fi",t:{"Loading …":{v:["Ladataan ..."]}}},{l:"fo",t:{}},{l:"fr",t:{"Loading …":{v:["Chargement …"]}}},{l:"ga",t:{"Loading …":{v:["Á lódáil…"]}}},{l:"gd",t:{}},{l:"gl",t:{"Loading …":{v:["Cargando…"]}}},{l:"he",t:{}},{l:"hi_IN",t:{}},{l:"hr",t:{}},{l:"hsb",t:{}},{l:"hu",t:{}},{l:"hy",t:{}},{l:"ia",t:{}},{l:"id",t:{}},{l:"ig",t:{}},{l:"is",t:{"Loading …":{v:["Hleð inn …"]}}},{l:"it",t:{}},{l:"ja",t:{"Loading …":{v:["読み込み中 …"]}}},{l:"ja_JP",t:{}},{l:"ka",t:{}},{l:"ka_GE",t:{}},{l:"kab",t:{}},{l:"kk",t:{}},{l:"km",t:{}},{l:"kn",t:{}},{l:"ko",t:{"Loading …":{v:["불러오는 중..."]}}},{l:"la",t:{}},{l:"lb",t:{}},{l:"lo",t:{}},{l:"lt_LT",t:{}},{l:"lv",t:{}},{l:"mk",t:{}},{l:"mn",t:{}},{l:"mr",t:{}},{l:"ms_MY",t:{}},{l:"my",t:{}},{l:"nb",t:{"Loading …":{v:["Laster inn..."]}}},{l:"ne",t:{}},{l:"nl",t:{"Loading …":{v:["Laden ..."]}}},{l:"nn_NO",t:{}},{l:"oc",t:{}},{l:"pl",t:{"Loading …":{v:["Wczytywanie…"]}}},{l:"ps",t:{}},{l:"pt_BR",t:{"Loading …":{v:["Carregando …"]}}},{l:"pt_PT",t:{"Loading …":{v:["A carregar..."]}}},{l:"ro",t:{}},{l:"ru",t:{"Loading …":{v:["Загрузка ..."]}}},{l:"sc",t:{}},{l:"si",t:{}},{l:"sk",t:{"Loading …":{v:["Nahrávam ..."]}}},{l:"sl",t:{}},{l:"sq",t:{}},{l:"sr",t:{"Loading …":{v:["Учитава се…"]}}},{l:"sr@latin",t:{}},{l:"sv",t:{"Loading …":{v:["Laddar ..."]}}},{l:"sw",t:{}},{l:"ta",t:{}},{l:"th",t:{}},{l:"tk",t:{}},{l:"tr",t:{"Loading …":{v:["Yükleniyor…"]}}},{l:"ug",t:{}},{l:"uk",t:{"Loading …":{v:["Завантаження ..."]}}},{l:"ur_PK",t:{}},{l:"uz",t:{"Loading …":{v:["Yuklanmoqda..."]}}},{l:"vi",t:{}},{l:"zh_CN",t:{"Loading …":{v:["加载中..."]}}},{l:"zh_HK",t:{"Loading …":{v:["加載中 …"]}}},{l:"zh_TW",t:{}},{l:"zu_ZA",t:{}}],ps=[{l:"af",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"ar",t:{Next:{v:["التالي"]},"Pause slideshow":{v:["تجميد عرض الشرائح"]},Previous:{v:["السابق"]},"Start slideshow":{v:["إبدإ العرض"]}}},{l:"ast",t:{Next:{v:["Siguiente"]},"Pause slideshow":{v:["Posar la presentación de diapositives"]},Previous:{v:["Anterior"]},"Start slideshow":{v:["Aniciar la presentación de diapositives"]}}},{l:"az",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"be",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"bg",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"bn_BD",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"br",t:{Next:{v:["Da heul"]},"Pause slideshow":{v:["Arsav an diaporama"]},Previous:{v:["A-raok"]},"Start slideshow":{v:["Kregiñ an diaporama"]}}},{l:"bs",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"ca",t:{Next:{v:["Següent"]},"Pause slideshow":{v:["Atura la presentació"]},Previous:{v:["Anterior"]},"Start slideshow":{v:["Inicia la presentació"]}}},{l:"cs",t:{Next:{v:["Následující"]},"Pause slideshow":{v:["Pozastavit prezentaci"]},Previous:{v:["Předchozí"]},"Start slideshow":{v:["Spustit prezentaci"]}}},{l:"cs_CZ",t:{Next:{v:["Následující"]},"Pause slideshow":{v:["Pozastavit prezentaci"]},Previous:{v:["Předchozí"]},"Start slideshow":{v:["Spustit prezentaci"]}}},{l:"cy_GB",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"da",t:{Next:{v:["Videre"]},"Pause slideshow":{v:["Suspender fremvisning"]},Previous:{v:["Forrige"]},"Start slideshow":{v:["Start fremvisning"]}}},{l:"de",t:{Next:{v:["Weiter"]},"Pause slideshow":{v:["Diashow pausieren"]},Previous:{v:["Vorherige"]},"Start slideshow":{v:["Diashow starten"]}}},{l:"de_DE",t:{Next:{v:["Weiter"]},"Pause slideshow":{v:["Diashow pausieren"]},Previous:{v:["Vorherige"]},"Start slideshow":{v:["Diashow starten"]}}},{l:"el",t:{Next:{v:["Επόμενο"]},"Pause slideshow":{v:["Παύση προβολής διαφανειών"]},Previous:{v:["Προηγούμενο"]},"Start slideshow":{v:["Έναρξη προβολής διαφανειών"]}}},{l:"en_GB",t:{Next:{v:["Next"]},"Pause slideshow":{v:["Pause slideshow"]},Previous:{v:["Previous"]},"Start slideshow":{v:["Start slideshow"]}}},{l:"eo",t:{Next:{v:["Sekva"]},"Pause slideshow":{v:["Payzi bildprezenton"]},Previous:{v:["Antaŭa"]},"Start slideshow":{v:["Komenci bildprezenton"]}}},{l:"es",t:{Next:{v:["Siguiente"]},"Pause slideshow":{v:["Pausar la presentación "]},Previous:{v:["Anterior"]},"Start slideshow":{v:["Iniciar la presentación"]}}},{l:"es_419",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"es_AR",t:{Next:{v:["Siguiente"]},"Pause slideshow":{v:["Pausar la presentación "]},Previous:{v:["Anterior"]},"Start slideshow":{v:["Iniciar la presentación"]}}},{l:"es_CL",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"es_CO",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"es_CR",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"es_DO",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"es_EC",t:{Next:{v:["Siguiente"]},"Pause slideshow":{v:["Pausar presentación de diapositivas"]},Previous:{v:["Anterior"]},"Start slideshow":{v:["Iniciar presentación de diapositivas"]}}},{l:"es_GT",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"es_HN",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"es_MX",t:{Next:{v:["Siguiente"]},"Pause slideshow":{v:["Pausar presentación de diapositivas"]},Previous:{v:["Anterior"]},"Start slideshow":{v:["Iniciar presentación de diapositivas"]}}},{l:"es_NI",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"es_PA",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"es_PE",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"es_PR",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"es_PY",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"es_SV",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"es_UY",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"et_EE",t:{Next:{v:["Edasi"]},"Pause slideshow":{v:["Slaidiesitluse paus"]},Previous:{v:["Eelmine"]},"Start slideshow":{v:["Alusta slaidiesitust"]}}},{l:"eu",t:{Next:{v:["Hurrengoa"]},"Pause slideshow":{v:["Pausatu diaporama"]},Previous:{v:["Aurrekoa"]},"Start slideshow":{v:["Hasi diaporama"]}}},{l:"fa",t:{Next:{v:["بعدی"]},"Pause slideshow":{v:["توقف نمایش اسلاید"]},Previous:{v:["قبلی"]},"Start slideshow":{v:["شروع نمایش اسلاید"]}}},{l:"fi",t:{Next:{v:["Seuraava"]},"Pause slideshow":{v:["Keskeytä diaesitys"]},Previous:{v:["Edellinen"]},"Start slideshow":{v:["Aloita diaesitys"]}}},{l:"fo",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"fr",t:{Next:{v:["Suivant"]},"Pause slideshow":{v:["Mettre le diaporama en pause"]},Previous:{v:["Précédent"]},"Start slideshow":{v:["Démarrer le diaporama"]}}},{l:"ga",t:{Next:{v:["Ar aghaidh"]},"Pause slideshow":{v:["Cuir taispeántas sleamhnán ar sos"]},Previous:{v:["Roimhe Seo"]},"Start slideshow":{v:["Tosaigh taispeántas sleamhnán"]}}},{l:"gd",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"gl",t:{Next:{v:["Seguinte"]},"Pause slideshow":{v:["Pausar o diaporama"]},Previous:{v:["Anterir"]},"Start slideshow":{v:["Iniciar o diaporama"]}}},{l:"he",t:{Next:{v:["הבא"]},"Pause slideshow":{v:["השהיית מצגת"]},Previous:{v:["הקודם"]},"Start slideshow":{v:["התחלת המצגת"]}}},{l:"hi_IN",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"hr",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"hsb",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"hu",t:{Next:{v:["Következő"]},"Pause slideshow":{v:["Diavetítés szüneteltetése"]},Previous:{v:["Előző"]},"Start slideshow":{v:["Diavetítés indítása"]}}},{l:"hy",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"ia",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"id",t:{Next:{v:["Selanjutnya"]},"Pause slideshow":{v:["Jeda tayangan slide"]},Previous:{v:["Sebelumnya"]},"Start slideshow":{v:["Mulai salindia"]}}},{l:"ig",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"is",t:{Next:{v:["Næsta"]},"Pause slideshow":{v:["Gera hlé á skyggnusýningu"]},Previous:{v:["Fyrri"]},"Start slideshow":{v:["Byrja skyggnusýningu"]}}},{l:"it",t:{Next:{v:["Successivo"]},"Pause slideshow":{v:["Presentazione in pausa"]},Previous:{v:["Precedente"]},"Start slideshow":{v:["Avvia presentazione"]}}},{l:"ja",t:{Next:{v:["次"]},"Pause slideshow":{v:["スライドショーを一時停止"]},Previous:{v:["前"]},"Start slideshow":{v:["スライドショーを開始"]}}},{l:"ja_JP",t:{Next:{v:["次"]},"Pause slideshow":{v:["スライドショーを一時停止"]},Previous:{v:["前"]},"Start slideshow":{v:["スライドショーを開始"]}}},{l:"ka",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"ka_GE",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"kab",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"kk",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"km",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"kn",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"ko",t:{Next:{v:["다음"]},"Pause slideshow":{v:["슬라이드쇼 일시정지"]},Previous:{v:["이전"]},"Start slideshow":{v:["슬라이드쇼 시작"]}}},{l:"la",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"lb",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"lo",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"lt_LT",t:{Next:{v:["Kitas"]},"Pause slideshow":{v:["Pristabdyti skaidrių rodymą"]},Previous:{v:["Ankstesnis"]},"Start slideshow":{v:["Pradėti skaidrių rodymą"]}}},{l:"lv",t:{Next:{v:["Nākamais"]},"Pause slideshow":{v:["Pauzēt slaidrādi"]},Previous:{v:["Iepriekšējais"]},"Start slideshow":{v:["Sākt slaidrādi"]}}},{l:"mk",t:{Next:{v:["Следно"]},"Pause slideshow":{v:["Пузирај слајдшоу"]},Previous:{v:["Предходно"]},"Start slideshow":{v:["Стартувај слајдшоу"]}}},{l:"mn",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"mr",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"ms_MY",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"my",t:{Next:{v:["နောက်သို့ဆက်ရန်"]},"Pause slideshow":{v:["စလိုက်ရှိုး ခေတ္တရပ်ရန်"]},Previous:{v:["ယခင်"]},"Start slideshow":{v:["စလိုက်ရှိုးအား စတင်ရန်"]}}},{l:"nb",t:{Next:{v:["Neste"]},"Pause slideshow":{v:["Pause lysbildefremvisning"]},Previous:{v:["Forrige"]},"Start slideshow":{v:["Start lysbildefremvisning"]}}},{l:"ne",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"nl",t:{Next:{v:["Volgende"]},"Pause slideshow":{v:["Pauzeer diavoorstelling"]},Previous:{v:["Vorige"]},"Start slideshow":{v:["Start diavoorstelling"]}}},{l:"nn_NO",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"oc",t:{Next:{v:["Seguent"]},"Pause slideshow":{v:["Metre en pausa lo diaporama"]},Previous:{v:["Precedent"]},"Start slideshow":{v:["Lançar lo diaporama"]}}},{l:"pl",t:{Next:{v:["Następny"]},"Pause slideshow":{v:["Wstrzymaj pokaz slajdów"]},Previous:{v:["Poprzedni"]},"Start slideshow":{v:["Rozpocznij pokaz slajdów"]}}},{l:"ps",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"pt_BR",t:{Next:{v:["Próximo"]},"Pause slideshow":{v:["Pausar apresentação de slides"]},Previous:{v:["Anterior"]},"Start slideshow":{v:["Iniciar apresentação de slides"]}}},{l:"pt_PT",t:{Next:{v:["Seguinte"]},"Pause slideshow":{v:["Pausar diaporama"]},Previous:{v:["Anterior"]},"Start slideshow":{v:["Iniciar diaporama"]}}},{l:"ro",t:{Next:{v:["Următorul"]},"Pause slideshow":{v:["Pauză prezentare de diapozitive"]},Previous:{v:["Anterior"]},"Start slideshow":{v:["Începeți prezentarea de diapozitive"]}}},{l:"ru",t:{Next:{v:["Следующее"]},"Pause slideshow":{v:["Приостановить показ слйдов"]},Previous:{v:["Предыдущее"]},"Start slideshow":{v:["Начать показ слайдов"]}}},{l:"sc",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"si",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"sk",t:{Next:{v:["Ďalej"]},"Pause slideshow":{v:["Pozastaviť prezentáciu"]},Previous:{v:["Predchádzajúce"]},"Start slideshow":{v:["Začať prezentáciu"]}}},{l:"sl",t:{Next:{v:["Naslednji"]},"Pause slideshow":{v:["Ustavi predstavitev"]},Previous:{v:["Predhodni"]},"Start slideshow":{v:["Začni predstavitev"]}}},{l:"sq",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"sr",t:{Next:{v:["Следеће"]},"Pause slideshow":{v:["Паузирај слајд шоу"]},Previous:{v:["Претходно"]},"Start slideshow":{v:["Покрени слајд шоу"]}}},{l:"sr@latin",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"sv",t:{Next:{v:["Nästa"]},"Pause slideshow":{v:["Pausa bildspelet"]},Previous:{v:["Föregående"]},"Start slideshow":{v:["Starta bildspelet"]}}},{l:"sw",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"ta",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"th",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"tk",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"tr",t:{Next:{v:["Sonraki"]},"Pause slideshow":{v:["Slayt sunumunu duraklat"]},Previous:{v:["Önceki"]},"Start slideshow":{v:["Slayt sunumunu başlat"]}}},{l:"ug",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"uk",t:{Next:{v:["Вперед"]},"Pause slideshow":{v:["Пауза у показі слайдів"]},Previous:{v:["Назад"]},"Start slideshow":{v:["Почати показ слайдів"]}}},{l:"ur_PK",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"uz",t:{Next:{v:["Keyingi"]},"Pause slideshow":{v:["Slayd-shouni to'xtatib turish"]},Previous:{v:["Oldingi"]},"Start slideshow":{v:["Slayd-shouni boshlash"]}}},{l:"vi",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"zh_CN",t:{Next:{v:["下一个"]},"Pause slideshow":{v:["暂停幻灯片"]},Previous:{v:["上一个"]},"Start slideshow":{v:["开始幻灯片"]}}},{l:"zh_HK",t:{Next:{v:["下一個"]},"Pause slideshow":{v:["暫停幻燈片"]},Previous:{v:["上一個"]},"Start slideshow":{v:["開始幻燈片"]}}},{l:"zh_TW",t:{Next:{v:["下一個"]},"Pause slideshow":{v:["暫停幻燈片"]},Previous:{v:["上一個"]},"Start slideshow":{v:["開始幻燈片"]}}},{l:"zu_ZA",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}}],Tp=[{l:"af",t:{"No results":{v:[""]}}},{l:"ar",t:{"No results":{v:["ليس هناك أية نتيجة"]}}},{l:"ast",t:{"No results":{v:["Nun hai nengún resultáu"]}}},{l:"az",t:{"No results":{v:[""]}}},{l:"be",t:{"No results":{v:[""]}}},{l:"bg",t:{"No results":{v:[""]}}},{l:"bn_BD",t:{"No results":{v:[""]}}},{l:"br",t:{"No results":{v:["Disoc'h ebet"]}}},{l:"bs",t:{"No results":{v:[""]}}},{l:"ca",t:{"No results":{v:["Sense resultats"]}}},{l:"cs",t:{"No results":{v:["Nic nenalezeno"]}}},{l:"cs_CZ",t:{"No results":{v:["Nic nenalezeno"]}}},{l:"cy_GB",t:{"No results":{v:[""]}}},{l:"da",t:{"No results":{v:["Ingen resultater"]}}},{l:"de",t:{"No results":{v:["Keine Ergebnisse"]}}},{l:"de_DE",t:{"No results":{v:["Keine Ergebnisse"]}}},{l:"el",t:{"No results":{v:["Κανένα αποτέλεσμα"]}}},{l:"en_GB",t:{"No results":{v:["No results"]}}},{l:"eo",t:{"No results":{v:["La rezulto forestas"]}}},{l:"es",t:{"No results":{v:[" Ningún resultado"]}}},{l:"es_419",t:{"No results":{v:[""]}}},{l:"es_AR",t:{"No results":{v:["Sin resultados"]}}},{l:"es_CL",t:{"No results":{v:[""]}}},{l:"es_CO",t:{"No results":{v:[""]}}},{l:"es_CR",t:{"No results":{v:[""]}}},{l:"es_DO",t:{"No results":{v:[""]}}},{l:"es_EC",t:{"No results":{v:["Sin resultados"]}}},{l:"es_GT",t:{"No results":{v:[""]}}},{l:"es_HN",t:{"No results":{v:[""]}}},{l:"es_MX",t:{"No results":{v:["Sin resultados"]}}},{l:"es_NI",t:{"No results":{v:[""]}}},{l:"es_PA",t:{"No results":{v:[""]}}},{l:"es_PE",t:{"No results":{v:[""]}}},{l:"es_PR",t:{"No results":{v:[""]}}},{l:"es_PY",t:{"No results":{v:[""]}}},{l:"es_SV",t:{"No results":{v:[""]}}},{l:"es_UY",t:{"No results":{v:[""]}}},{l:"et_EE",t:{"No results":{v:["Tulemusi pole"]}}},{l:"eu",t:{"No results":{v:["Emaitzarik ez"]}}},{l:"fa",t:{"No results":{v:["بدون هیچ نتیجه‌ای"]}}},{l:"fi",t:{"No results":{v:["Ei tuloksia"]}}},{l:"fo",t:{"No results":{v:[""]}}},{l:"fr",t:{"No results":{v:["Aucun résultat"]}}},{l:"ga",t:{"No results":{v:["Gan torthaí"]}}},{l:"gd",t:{"No results":{v:[""]}}},{l:"gl",t:{"No results":{v:["Sen resultados"]}}},{l:"he",t:{"No results":{v:["אין תוצאות"]}}},{l:"hi_IN",t:{"No results":{v:[""]}}},{l:"hr",t:{"No results":{v:[""]}}},{l:"hsb",t:{"No results":{v:[""]}}},{l:"hu",t:{"No results":{v:["Nincs találat"]}}},{l:"hy",t:{"No results":{v:[""]}}},{l:"ia",t:{"No results":{v:[""]}}},{l:"id",t:{"No results":{v:["Tidak ada hasil"]}}},{l:"ig",t:{"No results":{v:[""]}}},{l:"is",t:{"No results":{v:["Engar niðurstöður"]}}},{l:"it",t:{"No results":{v:["Nessun risultato"]}}},{l:"ja",t:{"No results":{v:["結果無し"]}}},{l:"ja_JP",t:{"No results":{v:["結果無し"]}}},{l:"ka",t:{"No results":{v:[""]}}},{l:"ka_GE",t:{"No results":{v:[""]}}},{l:"kab",t:{"No results":{v:[""]}}},{l:"kk",t:{"No results":{v:[""]}}},{l:"km",t:{"No results":{v:[""]}}},{l:"kn",t:{"No results":{v:[""]}}},{l:"ko",t:{"No results":{v:["결과 없음"]}}},{l:"la",t:{"No results":{v:[""]}}},{l:"lb",t:{"No results":{v:[""]}}},{l:"lo",t:{"No results":{v:[""]}}},{l:"lt_LT",t:{"No results":{v:["Nėra rezultatų"]}}},{l:"lv",t:{"No results":{v:["Nav rezultātu"]}}},{l:"mk",t:{"No results":{v:["Нема резултати"]}}},{l:"mn",t:{"No results":{v:[""]}}},{l:"mr",t:{"No results":{v:[""]}}},{l:"ms_MY",t:{"No results":{v:[""]}}},{l:"my",t:{"No results":{v:["ရလဒ်မရှိပါ"]}}},{l:"nb",t:{"No results":{v:["Ingen resultater"]}}},{l:"ne",t:{"No results":{v:[""]}}},{l:"nl",t:{"No results":{v:["Geen resultaten"]}}},{l:"nn_NO",t:{"No results":{v:[""]}}},{l:"oc",t:{"No results":{v:["Cap de resultat"]}}},{l:"pl",t:{"No results":{v:["Brak wyników"]}}},{l:"ps",t:{"No results":{v:[""]}}},{l:"pt_BR",t:{"No results":{v:["Sem resultados"]}}},{l:"pt_PT",t:{"No results":{v:["Sem resultados"]}}},{l:"ro",t:{"No results":{v:["Nu există rezultate"]}}},{l:"ru",t:{"No results":{v:["Результаты отсуствуют"]}}},{l:"sc",t:{"No results":{v:[""]}}},{l:"si",t:{"No results":{v:[""]}}},{l:"sk",t:{"No results":{v:["Žiadne výsledky"]}}},{l:"sl",t:{"No results":{v:["Ni zadetkov"]}}},{l:"sq",t:{"No results":{v:[""]}}},{l:"sr",t:{"No results":{v:["Нема резултата"]}}},{l:"sr@latin",t:{"No results":{v:[""]}}},{l:"sv",t:{"No results":{v:["Inga resultat"]}}},{l:"sw",t:{"No results":{v:[""]}}},{l:"ta",t:{"No results":{v:[""]}}},{l:"th",t:{"No results":{v:[""]}}},{l:"tk",t:{"No results":{v:[""]}}},{l:"tr",t:{"No results":{v:["Herhangi bir sonuç bulunamadı"]}}},{l:"ug",t:{"No results":{v:[""]}}},{l:"uk",t:{"No results":{v:["Відсутні результати"]}}},{l:"ur_PK",t:{"No results":{v:[""]}}},{l:"uz",t:{"No results":{v:["Natija yoʻq"]}}},{l:"vi",t:{"No results":{v:[""]}}},{l:"zh_CN",t:{"No results":{v:["无结果"]}}},{l:"zh_HK",t:{"No results":{v:["無結果"]}}},{l:"zh_TW",t:{"No results":{v:["無結果"]}}},{l:"zu_ZA",t:{"No results":{v:[""]}}}],zp=[{l:"af",t:{"Provider icon":{v:[""]}}},{l:"ar",t:{"Provider icon":{v:["أيقونة المزوّد"]}}},{l:"ast",t:{"Provider icon":{v:["Iconu del fornidor"]}}},{l:"az",t:{"Provider icon":{v:[""]}}},{l:"be",t:{"Provider icon":{v:[""]}}},{l:"bg",t:{"Provider icon":{v:[""]}}},{l:"bn_BD",t:{"Provider icon":{v:[""]}}},{l:"br",t:{"Provider icon":{v:[""]}}},{l:"bs",t:{"Provider icon":{v:[""]}}},{l:"ca",t:{"Provider icon":{v:[""]}}},{l:"cs",t:{"Provider icon":{v:["Ikona poskytovatele"]}}},{l:"cs_CZ",t:{"Provider icon":{v:["Ikona poskytovatele"]}}},{l:"cy_GB",t:{"Provider icon":{v:[""]}}},{l:"da",t:{"Provider icon":{v:["Udbyder ikon"]}}},{l:"de",t:{"Provider icon":{v:["Anbietersymbol"]}}},{l:"de_DE",t:{"Provider icon":{v:["Anbietersymbol"]}}},{l:"el",t:{"Provider icon":{v:["Εικονίδιο παρόχου"]}}},{l:"en_GB",t:{"Provider icon":{v:["Provider icon"]}}},{l:"eo",t:{"Provider icon":{v:[""]}}},{l:"es",t:{"Provider icon":{v:["Ícono del proveedor"]}}},{l:"es_419",t:{"Provider icon":{v:[""]}}},{l:"es_AR",t:{"Provider icon":{v:["Ícono del proveedor"]}}},{l:"es_CL",t:{"Provider icon":{v:[""]}}},{l:"es_CO",t:{"Provider icon":{v:[""]}}},{l:"es_CR",t:{"Provider icon":{v:[""]}}},{l:"es_DO",t:{"Provider icon":{v:[""]}}},{l:"es_EC",t:{"Provider icon":{v:["Ícono del proveedor"]}}},{l:"es_GT",t:{"Provider icon":{v:[""]}}},{l:"es_HN",t:{"Provider icon":{v:[""]}}},{l:"es_MX",t:{"Provider icon":{v:["Ícono del proveedor"]}}},{l:"es_NI",t:{"Provider icon":{v:[""]}}},{l:"es_PA",t:{"Provider icon":{v:[""]}}},{l:"es_PE",t:{"Provider icon":{v:[""]}}},{l:"es_PR",t:{"Provider icon":{v:[""]}}},{l:"es_PY",t:{"Provider icon":{v:[""]}}},{l:"es_SV",t:{"Provider icon":{v:[""]}}},{l:"es_UY",t:{"Provider icon":{v:[""]}}},{l:"et_EE",t:{"Provider icon":{v:["Teenusepakkuja ikoon"]}}},{l:"eu",t:{"Provider icon":{v:["Hornitzailearen ikonoa"]}}},{l:"fa",t:{"Provider icon":{v:["آیکون ارائه دهنده"]}}},{l:"fi",t:{"Provider icon":{v:["Palveluntarjoajan kuvake"]}}},{l:"fo",t:{"Provider icon":{v:[""]}}},{l:"fr",t:{"Provider icon":{v:["Icône du fournisseur"]}}},{l:"ga",t:{"Provider icon":{v:["Deilbhín soláthraí"]}}},{l:"gd",t:{"Provider icon":{v:[""]}}},{l:"gl",t:{"Provider icon":{v:["Icona do provedor"]}}},{l:"he",t:{"Provider icon":{v:["סמל ספק"]}}},{l:"hi_IN",t:{"Provider icon":{v:[""]}}},{l:"hr",t:{"Provider icon":{v:[""]}}},{l:"hsb",t:{"Provider icon":{v:[""]}}},{l:"hu",t:{"Provider icon":{v:[""]}}},{l:"hy",t:{"Provider icon":{v:[""]}}},{l:"ia",t:{"Provider icon":{v:[""]}}},{l:"id",t:{"Provider icon":{v:["Ikon penyedia"]}}},{l:"ig",t:{"Provider icon":{v:[""]}}},{l:"is",t:{"Provider icon":{v:["Táknmynd þjónustuveitu"]}}},{l:"it",t:{"Provider icon":{v:["Icona del provider"]}}},{l:"ja",t:{"Provider icon":{v:["プロバイダーのアイコン"]}}},{l:"ja_JP",t:{"Provider icon":{v:["プロバイダーのアイコン"]}}},{l:"ka",t:{"Provider icon":{v:[""]}}},{l:"ka_GE",t:{"Provider icon":{v:[""]}}},{l:"kab",t:{"Provider icon":{v:[""]}}},{l:"kk",t:{"Provider icon":{v:[""]}}},{l:"km",t:{"Provider icon":{v:[""]}}},{l:"kn",t:{"Provider icon":{v:[""]}}},{l:"ko",t:{"Provider icon":{v:["제공자 아이콘"]}}},{l:"la",t:{"Provider icon":{v:[""]}}},{l:"lb",t:{"Provider icon":{v:[""]}}},{l:"lo",t:{"Provider icon":{v:[""]}}},{l:"lt_LT",t:{"Provider icon":{v:[""]}}},{l:"lv",t:{"Provider icon":{v:[""]}}},{l:"mk",t:{"Provider icon":{v:[""]}}},{l:"mn",t:{"Provider icon":{v:[""]}}},{l:"mr",t:{"Provider icon":{v:[""]}}},{l:"ms_MY",t:{"Provider icon":{v:[""]}}},{l:"my",t:{"Provider icon":{v:[""]}}},{l:"nb",t:{"Provider icon":{v:["Leverandørikon"]}}},{l:"ne",t:{"Provider icon":{v:[""]}}},{l:"nl",t:{"Provider icon":{v:["Provider icoon"]}}},{l:"nn_NO",t:{"Provider icon":{v:[""]}}},{l:"oc",t:{"Provider icon":{v:[""]}}},{l:"pl",t:{"Provider icon":{v:["Dostawca ikony"]}}},{l:"ps",t:{"Provider icon":{v:[""]}}},{l:"pt_BR",t:{"Provider icon":{v:["Ícone do provedor"]}}},{l:"pt_PT",t:{"Provider icon":{v:["Ícone do fornecedor"]}}},{l:"ro",t:{"Provider icon":{v:["Provider pentru icon"]}}},{l:"ru",t:{"Provider icon":{v:["Значок поставщика"]}}},{l:"sc",t:{"Provider icon":{v:[""]}}},{l:"si",t:{"Provider icon":{v:[""]}}},{l:"sk",t:{"Provider icon":{v:["Ikonka poskytovateľa"]}}},{l:"sl",t:{"Provider icon":{v:[""]}}},{l:"sq",t:{"Provider icon":{v:[""]}}},{l:"sr",t:{"Provider icon":{v:["Икона пружаоца"]}}},{l:"sr@latin",t:{"Provider icon":{v:[""]}}},{l:"sv",t:{"Provider icon":{v:["Leverantörsikon"]}}},{l:"sw",t:{"Provider icon":{v:[""]}}},{l:"ta",t:{"Provider icon":{v:[""]}}},{l:"th",t:{"Provider icon":{v:[""]}}},{l:"tk",t:{"Provider icon":{v:[""]}}},{l:"tr",t:{"Provider icon":{v:["Sağlayıcı simgesi"]}}},{l:"ug",t:{"Provider icon":{v:[""]}}},{l:"uk",t:{"Provider icon":{v:["Піктограма постачальника"]}}},{l:"ur_PK",t:{"Provider icon":{v:[""]}}},{l:"uz",t:{"Provider icon":{v:["Provayder belgisi"]}}},{l:"vi",t:{"Provider icon":{v:[""]}}},{l:"zh_CN",t:{"Provider icon":{v:["提供者图标"]}}},{l:"zh_HK",t:{"Provider icon":{v:["提供者圖示"]}}},{l:"zh_TW",t:{"Provider icon":{v:["提供者圖示"]}}},{l:"zu_ZA",t:{"Provider icon":{v:[""]}}}],Lp=[{l:"af",t:{Search:{v:[""]}}},{l:"ar",t:{Search:{v:["بحث"]}}},{l:"ast",t:{Search:{v:["Buscar"]}}},{l:"az",t:{Search:{v:[""]}}},{l:"be",t:{Search:{v:[""]}}},{l:"bg",t:{Search:{v:[""]}}},{l:"bn_BD",t:{Search:{v:[""]}}},{l:"br",t:{Search:{v:["Klask"]}}},{l:"bs",t:{Search:{v:[""]}}},{l:"ca",t:{Search:{v:["Cerca"]}}},{l:"cs",t:{Search:{v:["Hledat"]}}},{l:"cs_CZ",t:{Search:{v:["Hledat"]}}},{l:"cy_GB",t:{Search:{v:[""]}}},{l:"da",t:{Search:{v:["Søg"]}}},{l:"de",t:{Search:{v:["Suche"]}}},{l:"de_DE",t:{Search:{v:["Suche"]}}},{l:"el",t:{Search:{v:["Αναζήτηση"]}}},{l:"en_GB",t:{Search:{v:["Search"]}}},{l:"eo",t:{Search:{v:["Serĉi"]}}},{l:"es",t:{Search:{v:["Buscar"]}}},{l:"es_419",t:{Search:{v:[""]}}},{l:"es_AR",t:{Search:{v:["Buscar"]}}},{l:"es_CL",t:{Search:{v:[""]}}},{l:"es_CO",t:{Search:{v:[""]}}},{l:"es_CR",t:{Search:{v:[""]}}},{l:"es_DO",t:{Search:{v:[""]}}},{l:"es_EC",t:{Search:{v:["Buscar"]}}},{l:"es_GT",t:{Search:{v:[""]}}},{l:"es_HN",t:{Search:{v:[""]}}},{l:"es_MX",t:{Search:{v:["Buscar"]}}},{l:"es_NI",t:{Search:{v:[""]}}},{l:"es_PA",t:{Search:{v:[""]}}},{l:"es_PE",t:{Search:{v:[""]}}},{l:"es_PR",t:{Search:{v:[""]}}},{l:"es_PY",t:{Search:{v:[""]}}},{l:"es_SV",t:{Search:{v:[""]}}},{l:"es_UY",t:{Search:{v:[""]}}},{l:"et_EE",t:{Search:{v:["Otsing"]}}},{l:"eu",t:{Search:{v:["Bilatu"]}}},{l:"fa",t:{Search:{v:["جستجو"]}}},{l:"fi",t:{Search:{v:["Etsi"]}}},{l:"fo",t:{Search:{v:[""]}}},{l:"fr",t:{Search:{v:["Chercher"]}}},{l:"ga",t:{Search:{v:["Cuardach"]}}},{l:"gd",t:{Search:{v:[""]}}},{l:"gl",t:{Search:{v:["Buscar"]}}},{l:"he",t:{Search:{v:["חיפוש"]}}},{l:"hi_IN",t:{Search:{v:[""]}}},{l:"hr",t:{Search:{v:[""]}}},{l:"hsb",t:{Search:{v:[""]}}},{l:"hu",t:{Search:{v:["Keresés"]}}},{l:"hy",t:{Search:{v:[""]}}},{l:"ia",t:{Search:{v:[""]}}},{l:"id",t:{Search:{v:["Cari"]}}},{l:"ig",t:{Search:{v:[""]}}},{l:"is",t:{Search:{v:["Leita"]}}},{l:"it",t:{Search:{v:["Cerca"]}}},{l:"ja",t:{Search:{v:["検索"]}}},{l:"ja_JP",t:{Search:{v:["検索"]}}},{l:"ka",t:{Search:{v:[""]}}},{l:"ka_GE",t:{Search:{v:[""]}}},{l:"kab",t:{Search:{v:[""]}}},{l:"kk",t:{Search:{v:[""]}}},{l:"km",t:{Search:{v:[""]}}},{l:"kn",t:{Search:{v:[""]}}},{l:"ko",t:{Search:{v:["검색"]}}},{l:"la",t:{Search:{v:[""]}}},{l:"lb",t:{Search:{v:[""]}}},{l:"lo",t:{Search:{v:[""]}}},{l:"lt_LT",t:{Search:{v:["Ieškoti"]}}},{l:"lv",t:{Search:{v:[""]}}},{l:"mk",t:{Search:{v:["Барај"]}}},{l:"mn",t:{Search:{v:[""]}}},{l:"mr",t:{Search:{v:[""]}}},{l:"ms_MY",t:{Search:{v:[""]}}},{l:"my",t:{Search:{v:["ရှာဖွေရန်"]}}},{l:"nb",t:{Search:{v:["Søk"]}}},{l:"ne",t:{Search:{v:[""]}}},{l:"nl",t:{Search:{v:["Zoeken"]}}},{l:"nn_NO",t:{Search:{v:[""]}}},{l:"oc",t:{Search:{v:[""]}}},{l:"pl",t:{Search:{v:["Szukaj"]}}},{l:"ps",t:{Search:{v:[""]}}},{l:"pt_BR",t:{Search:{v:["Pesquisar"]}}},{l:"pt_PT",t:{Search:{v:["Pesquisar"]}}},{l:"ro",t:{Search:{v:["Căutare"]}}},{l:"ru",t:{Search:{v:["Поиск"]}}},{l:"sc",t:{Search:{v:[""]}}},{l:"si",t:{Search:{v:[""]}}},{l:"sk",t:{Search:{v:["Hľadať"]}}},{l:"sl",t:{Search:{v:["Iskanje"]}}},{l:"sq",t:{Search:{v:[""]}}},{l:"sr",t:{Search:{v:["Претражи"]}}},{l:"sr@latin",t:{Search:{v:[""]}}},{l:"sv",t:{Search:{v:["Sök"]}}},{l:"sw",t:{Search:{v:[""]}}},{l:"ta",t:{Search:{v:[""]}}},{l:"th",t:{Search:{v:[""]}}},{l:"tk",t:{Search:{v:[""]}}},{l:"tr",t:{Search:{v:["Arama"]}}},{l:"ug",t:{Search:{v:[""]}}},{l:"uk",t:{Search:{v:["Пошук"]}}},{l:"ur_PK",t:{Search:{v:[""]}}},{l:"uz",t:{Search:{v:["Qidiruv"]}}},{l:"vi",t:{Search:{v:[""]}}},{l:"zh_CN",t:{Search:{v:["搜索"]}}},{l:"zh_HK",t:{Search:{v:["搜尋"]}}},{l:"zh_TW",t:{Search:{v:["搜尋"]}}},{l:"zu_ZA",t:{Search:{v:[""]}}}],$p=[{l:"af",t:{"Select provider":{v:[""]}}},{l:"ar",t:{"Select provider":{v:["اختر مزود"]}}},{l:"ast",t:{"Select provider":{v:["Seleicionar el fornidor"]}}},{l:"az",t:{"Select provider":{v:[""]}}},{l:"be",t:{"Select provider":{v:[""]}}},{l:"bg",t:{"Select provider":{v:[""]}}},{l:"bn_BD",t:{"Select provider":{v:[""]}}},{l:"br",t:{"Select provider":{v:[""]}}},{l:"bs",t:{"Select provider":{v:[""]}}},{l:"ca",t:{"Select provider":{v:[""]}}},{l:"cs",t:{"Select provider":{v:["Vybrat poskytovatele"]}}},{l:"cs_CZ",t:{"Select provider":{v:["Vybrat poskytovatele"]}}},{l:"cy_GB",t:{"Select provider":{v:[""]}}},{l:"da",t:{"Select provider":{v:["Vælg udbyder"]}}},{l:"de",t:{"Select provider":{v:["Anbieter auswählen"]}}},{l:"de_DE",t:{"Select provider":{v:["Anbieter auswählen"]}}},{l:"el",t:{"Select provider":{v:["Επιλογή παρόχου"]}}},{l:"en_GB",t:{"Select provider":{v:["Select provider"]}}},{l:"eo",t:{"Select provider":{v:[""]}}},{l:"es",t:{"Select provider":{v:["Seleccione proveedor"]}}},{l:"es_419",t:{"Select provider":{v:[""]}}},{l:"es_AR",t:{"Select provider":{v:["Elija proveedor"]}}},{l:"es_CL",t:{"Select provider":{v:[""]}}},{l:"es_CO",t:{"Select provider":{v:[""]}}},{l:"es_CR",t:{"Select provider":{v:[""]}}},{l:"es_DO",t:{"Select provider":{v:[""]}}},{l:"es_EC",t:{"Select provider":{v:["Seleccionar proveedor"]}}},{l:"es_GT",t:{"Select provider":{v:[""]}}},{l:"es_HN",t:{"Select provider":{v:[""]}}},{l:"es_MX",t:{"Select provider":{v:["Seleccionar proveedor"]}}},{l:"es_NI",t:{"Select provider":{v:[""]}}},{l:"es_PA",t:{"Select provider":{v:[""]}}},{l:"es_PE",t:{"Select provider":{v:[""]}}},{l:"es_PR",t:{"Select provider":{v:[""]}}},{l:"es_PY",t:{"Select provider":{v:[""]}}},{l:"es_SV",t:{"Select provider":{v:[""]}}},{l:"es_UY",t:{"Select provider":{v:[""]}}},{l:"et_EE",t:{"Select provider":{v:["Vali teenuspakkuja"]}}},{l:"eu",t:{"Select provider":{v:["Hautatu hornitzailea"]}}},{l:"fa",t:{"Select provider":{v:["ارائه دهنده را انتخاب کنید"]}}},{l:"fi",t:{"Select provider":{v:["Valitse tarjoaja"]}}},{l:"fo",t:{"Select provider":{v:[""]}}},{l:"fr",t:{"Select provider":{v:["Sélectionner un fournisseur"]}}},{l:"ga",t:{"Select provider":{v:["Roghnaigh soláthraí"]}}},{l:"gd",t:{"Select provider":{v:[""]}}},{l:"gl",t:{"Select provider":{v:["Seleccionar provedor"]}}},{l:"he",t:{"Select provider":{v:["בחירת ספק"]}}},{l:"hi_IN",t:{"Select provider":{v:[""]}}},{l:"hr",t:{"Select provider":{v:[""]}}},{l:"hsb",t:{"Select provider":{v:[""]}}},{l:"hu",t:{"Select provider":{v:[""]}}},{l:"hy",t:{"Select provider":{v:[""]}}},{l:"ia",t:{"Select provider":{v:[""]}}},{l:"id",t:{"Select provider":{v:["Pilih penyedia"]}}},{l:"ig",t:{"Select provider":{v:[""]}}},{l:"is",t:{"Select provider":{v:["Veldu þjónustuveitu"]}}},{l:"it",t:{"Select provider":{v:["Selezionare il provider"]}}},{l:"ja",t:{"Select provider":{v:["プロバイダーを選択"]}}},{l:"ja_JP",t:{"Select provider":{v:["プロバイダーを選択"]}}},{l:"ka",t:{"Select provider":{v:[""]}}},{l:"ka_GE",t:{"Select provider":{v:[""]}}},{l:"kab",t:{"Select provider":{v:[""]}}},{l:"kk",t:{"Select provider":{v:[""]}}},{l:"km",t:{"Select provider":{v:[""]}}},{l:"kn",t:{"Select provider":{v:[""]}}},{l:"ko",t:{"Select provider":{v:["제공자 선택"]}}},{l:"la",t:{"Select provider":{v:[""]}}},{l:"lb",t:{"Select provider":{v:[""]}}},{l:"lo",t:{"Select provider":{v:[""]}}},{l:"lt_LT",t:{"Select provider":{v:[""]}}},{l:"lv",t:{"Select provider":{v:[""]}}},{l:"mk",t:{"Select provider":{v:[""]}}},{l:"mn",t:{"Select provider":{v:[""]}}},{l:"mr",t:{"Select provider":{v:[""]}}},{l:"ms_MY",t:{"Select provider":{v:[""]}}},{l:"my",t:{"Select provider":{v:[""]}}},{l:"nb",t:{"Select provider":{v:["Velg leverandør"]}}},{l:"ne",t:{"Select provider":{v:[""]}}},{l:"nl",t:{"Select provider":{v:["Selecteer provider"]}}},{l:"nn_NO",t:{"Select provider":{v:[""]}}},{l:"oc",t:{"Select provider":{v:[""]}}},{l:"pl",t:{"Select provider":{v:["Wybierz dostawcę"]}}},{l:"ps",t:{"Select provider":{v:[""]}}},{l:"pt_BR",t:{"Select provider":{v:["Selecionar provedor"]}}},{l:"pt_PT",t:{"Select provider":{v:["Selecionar fornecedor"]}}},{l:"ro",t:{"Select provider":{v:["Selectați providerul"]}}},{l:"ru",t:{"Select provider":{v:["Выбрать поставщика"]}}},{l:"sc",t:{"Select provider":{v:[""]}}},{l:"si",t:{"Select provider":{v:[""]}}},{l:"sk",t:{"Select provider":{v:["Vybrať poskytovateľa"]}}},{l:"sl",t:{"Select provider":{v:[""]}}},{l:"sq",t:{"Select provider":{v:[""]}}},{l:"sr",t:{"Select provider":{v:["Изаберите пружаоца"]}}},{l:"sr@latin",t:{"Select provider":{v:[""]}}},{l:"sv",t:{"Select provider":{v:["Välj leverantör"]}}},{l:"sw",t:{"Select provider":{v:[""]}}},{l:"ta",t:{"Select provider":{v:[""]}}},{l:"th",t:{"Select provider":{v:[""]}}},{l:"tk",t:{"Select provider":{v:[""]}}},{l:"tr",t:{"Select provider":{v:["Sağlayıcı seçin"]}}},{l:"ug",t:{"Select provider":{v:[""]}}},{l:"uk",t:{"Select provider":{v:["Виберіть постачальника"]}}},{l:"ur_PK",t:{"Select provider":{v:[""]}}},{l:"uz",t:{"Select provider":{v:["Provayderni tanlang"]}}},{l:"vi",t:{"Select provider":{v:[""]}}},{l:"zh_CN",t:{"Select provider":{v:["选择提供者"]}}},{l:"zh_HK",t:{"Select provider":{v:["選擇提供者"]}}},{l:"zh_TW",t:{"Select provider":{v:["選取提供者"]}}},{l:"zu_ZA",t:{"Select provider":{v:[""]}}}],Ip=[{l:"af",t:{Settings:{v:[""]}}},{l:"ar",t:{Settings:{v:["الإعدادات"]}}},{l:"ast",t:{Settings:{v:["Configuración"]}}},{l:"az",t:{Settings:{v:[""]}}},{l:"be",t:{Settings:{v:[""]}}},{l:"bg",t:{Settings:{v:[""]}}},{l:"bn_BD",t:{Settings:{v:[""]}}},{l:"br",t:{Settings:{v:["Arventennoù"]}}},{l:"bs",t:{Settings:{v:[""]}}},{l:"ca",t:{Settings:{v:["Paràmetres"]}}},{l:"cs",t:{Settings:{v:["Nastavení"]}}},{l:"cs_CZ",t:{Settings:{v:["Nastavení"]}}},{l:"cy_GB",t:{Settings:{v:[""]}}},{l:"da",t:{Settings:{v:["Indstillinger"]}}},{l:"de",t:{Settings:{v:["Einstellungen"]}}},{l:"de_DE",t:{Settings:{v:["Einstellungen"]}}},{l:"el",t:{Settings:{v:["Ρυθμίσεις"]}}},{l:"en_GB",t:{Settings:{v:["Settings"]}}},{l:"eo",t:{Settings:{v:["Agordo"]}}},{l:"es",t:{Settings:{v:["Ajustes"]}}},{l:"es_419",t:{Settings:{v:[""]}}},{l:"es_AR",t:{Settings:{v:["Configuraciones"]}}},{l:"es_CL",t:{Settings:{v:[""]}}},{l:"es_CO",t:{Settings:{v:[""]}}},{l:"es_CR",t:{Settings:{v:[""]}}},{l:"es_DO",t:{Settings:{v:[""]}}},{l:"es_EC",t:{Settings:{v:["Configuraciones"]}}},{l:"es_GT",t:{Settings:{v:[""]}}},{l:"es_HN",t:{Settings:{v:[""]}}},{l:"es_MX",t:{Settings:{v:["Configuración"]}}},{l:"es_NI",t:{Settings:{v:[""]}}},{l:"es_PA",t:{Settings:{v:[""]}}},{l:"es_PE",t:{Settings:{v:[""]}}},{l:"es_PR",t:{Settings:{v:[""]}}},{l:"es_PY",t:{Settings:{v:[""]}}},{l:"es_SV",t:{Settings:{v:[""]}}},{l:"es_UY",t:{Settings:{v:[""]}}},{l:"et_EE",t:{Settings:{v:["Seadistused"]}}},{l:"eu",t:{Settings:{v:["Ezarpenak"]}}},{l:"fa",t:{Settings:{v:["تنظیمات"]}}},{l:"fi",t:{Settings:{v:["Asetukset"]}}},{l:"fo",t:{Settings:{v:[""]}}},{l:"fr",t:{Settings:{v:["Paramètres"]}}},{l:"ga",t:{Settings:{v:["Socruithe"]}}},{l:"gd",t:{Settings:{v:[""]}}},{l:"gl",t:{Settings:{v:["Axustes"]}}},{l:"he",t:{Settings:{v:["הגדרות"]}}},{l:"hi_IN",t:{Settings:{v:[""]}}},{l:"hr",t:{Settings:{v:[""]}}},{l:"hsb",t:{Settings:{v:[""]}}},{l:"hu",t:{Settings:{v:["Beállítások"]}}},{l:"hy",t:{Settings:{v:[""]}}},{l:"ia",t:{Settings:{v:[""]}}},{l:"id",t:{Settings:{v:["Pengaturan"]}}},{l:"ig",t:{Settings:{v:[""]}}},{l:"is",t:{Settings:{v:["Stillingar"]}}},{l:"it",t:{Settings:{v:["Impostazioni"]}}},{l:"ja",t:{Settings:{v:["設定"]}}},{l:"ja_JP",t:{Settings:{v:["設定"]}}},{l:"ka",t:{Settings:{v:[""]}}},{l:"ka_GE",t:{Settings:{v:[""]}}},{l:"kab",t:{Settings:{v:[""]}}},{l:"kk",t:{Settings:{v:[""]}}},{l:"km",t:{Settings:{v:[""]}}},{l:"kn",t:{Settings:{v:[""]}}},{l:"ko",t:{Settings:{v:["선택"]}}},{l:"la",t:{Settings:{v:[""]}}},{l:"lb",t:{Settings:{v:[""]}}},{l:"lo",t:{Settings:{v:[""]}}},{l:"lt_LT",t:{Settings:{v:["Nustatymai"]}}},{l:"lv",t:{Settings:{v:["Iestatījumi"]}}},{l:"mk",t:{Settings:{v:["Параметри"]}}},{l:"mn",t:{Settings:{v:[""]}}},{l:"mr",t:{Settings:{v:[""]}}},{l:"ms_MY",t:{Settings:{v:[""]}}},{l:"my",t:{Settings:{v:["ချိန်ညှိချက်များ"]}}},{l:"nb",t:{Settings:{v:["Innstillinger"]}}},{l:"ne",t:{Settings:{v:[""]}}},{l:"nl",t:{Settings:{v:["Instellingen"]}}},{l:"nn_NO",t:{Settings:{v:[""]}}},{l:"oc",t:{Settings:{v:["Paramètres"]}}},{l:"pl",t:{Settings:{v:["Ustawienia"]}}},{l:"ps",t:{Settings:{v:[""]}}},{l:"pt_BR",t:{Settings:{v:["Configurações"]}}},{l:"pt_PT",t:{Settings:{v:["Definições"]}}},{l:"ro",t:{Settings:{v:["Setări"]}}},{l:"ru",t:{Settings:{v:["Параметры"]}}},{l:"sc",t:{Settings:{v:[""]}}},{l:"si",t:{Settings:{v:[""]}}},{l:"sk",t:{Settings:{v:["Nastavenia"]}}},{l:"sl",t:{Settings:{v:["Nastavitve"]}}},{l:"sq",t:{Settings:{v:[""]}}},{l:"sr",t:{Settings:{v:["Поставке"]}}},{l:"sr@latin",t:{Settings:{v:[""]}}},{l:"sv",t:{Settings:{v:["Inställningar"]}}},{l:"sw",t:{Settings:{v:[""]}}},{l:"ta",t:{Settings:{v:[""]}}},{l:"th",t:{Settings:{v:[""]}}},{l:"tk",t:{Settings:{v:[""]}}},{l:"tr",t:{Settings:{v:["Ayarlar"]}}},{l:"ug",t:{Settings:{v:[""]}}},{l:"uk",t:{Settings:{v:["Налаштування"]}}},{l:"ur_PK",t:{Settings:{v:[""]}}},{l:"uz",t:{Settings:{v:["Sozlamalar"]}}},{l:"vi",t:{Settings:{v:[""]}}},{l:"zh_CN",t:{Settings:{v:["设置"]}}},{l:"zh_HK",t:{Settings:{v:["設定"]}}},{l:"zh_TW",t:{Settings:{v:["設定"]}}},{l:"zu_ZA",t:{Settings:{v:[""]}}}],Mp=[{l:"af",t:{"Undo changes":{v:[""]}}},{l:"ar",t:{"Undo changes":{v:["تراجَع عن التغييرات"]}}},{l:"ast",t:{"Undo changes":{v:["Desfacer los cambeos"]}}},{l:"az",t:{"Undo changes":{v:[""]}}},{l:"be",t:{"Undo changes":{v:[""]}}},{l:"bg",t:{"Undo changes":{v:[""]}}},{l:"bn_BD",t:{"Undo changes":{v:[""]}}},{l:"br",t:{"Undo changes":{v:[""]}}},{l:"bs",t:{"Undo changes":{v:[""]}}},{l:"ca",t:{"Undo changes":{v:["Desfés els canvis"]}}},{l:"cs",t:{"Undo changes":{v:["Vzít změny zpět"]}}},{l:"cs_CZ",t:{"Undo changes":{v:["Vzít změny zpět"]}}},{l:"cy_GB",t:{"Undo changes":{v:[""]}}},{l:"da",t:{"Undo changes":{v:["Fortryd ændringer"]}}},{l:"de",t:{"Undo changes":{v:["Änderungen rückgängig machen"]}}},{l:"de_DE",t:{"Undo changes":{v:["Änderungen rückgängig machen"]}}},{l:"el",t:{"Undo changes":{v:["Αναίρεση Αλλαγών"]}}},{l:"en_GB",t:{"Undo changes":{v:["Undo changes"]}}},{l:"eo",t:{"Undo changes":{v:[""]}}},{l:"es",t:{"Undo changes":{v:["Deshacer cambios"]}}},{l:"es_419",t:{"Undo changes":{v:[""]}}},{l:"es_AR",t:{"Undo changes":{v:["Deshacer cambios"]}}},{l:"es_CL",t:{"Undo changes":{v:[""]}}},{l:"es_CO",t:{"Undo changes":{v:[""]}}},{l:"es_CR",t:{"Undo changes":{v:[""]}}},{l:"es_DO",t:{"Undo changes":{v:[""]}}},{l:"es_EC",t:{"Undo changes":{v:["Deshacer cambios"]}}},{l:"es_GT",t:{"Undo changes":{v:[""]}}},{l:"es_HN",t:{"Undo changes":{v:[""]}}},{l:"es_MX",t:{"Undo changes":{v:["Deshacer cambios"]}}},{l:"es_NI",t:{"Undo changes":{v:[""]}}},{l:"es_PA",t:{"Undo changes":{v:[""]}}},{l:"es_PE",t:{"Undo changes":{v:[""]}}},{l:"es_PR",t:{"Undo changes":{v:[""]}}},{l:"es_PY",t:{"Undo changes":{v:[""]}}},{l:"es_SV",t:{"Undo changes":{v:[""]}}},{l:"es_UY",t:{"Undo changes":{v:[""]}}},{l:"et_EE",t:{"Undo changes":{v:["Pööra muudatused tagasi"]}}},{l:"eu",t:{"Undo changes":{v:["Aldaketak desegin"]}}},{l:"fa",t:{"Undo changes":{v:["لغو تغییرات"]}}},{l:"fi",t:{"Undo changes":{v:["Kumoa muutokset"]}}},{l:"fo",t:{"Undo changes":{v:[""]}}},{l:"fr",t:{"Undo changes":{v:["Annuler les changements"]}}},{l:"ga",t:{"Undo changes":{v:["Cealaigh athruithe"]}}},{l:"gd",t:{"Undo changes":{v:[""]}}},{l:"gl",t:{"Undo changes":{v:["Desfacer os cambios"]}}},{l:"he",t:{"Undo changes":{v:["ביטול שינויים"]}}},{l:"hi_IN",t:{"Undo changes":{v:[""]}}},{l:"hr",t:{"Undo changes":{v:[""]}}},{l:"hsb",t:{"Undo changes":{v:[""]}}},{l:"hu",t:{"Undo changes":{v:["Változtatások visszavonása"]}}},{l:"hy",t:{"Undo changes":{v:[""]}}},{l:"ia",t:{"Undo changes":{v:[""]}}},{l:"id",t:{"Undo changes":{v:["Urungkan perubahan"]}}},{l:"ig",t:{"Undo changes":{v:[""]}}},{l:"is",t:{"Undo changes":{v:["Afturkalla breytingar"]}}},{l:"it",t:{"Undo changes":{v:["Cancella i cambiamenti"]}}},{l:"ja",t:{"Undo changes":{v:["変更を取り消し"]}}},{l:"ja_JP",t:{"Undo changes":{v:["変更を取り消し"]}}},{l:"ka",t:{"Undo changes":{v:[""]}}},{l:"ka_GE",t:{"Undo changes":{v:[""]}}},{l:"kab",t:{"Undo changes":{v:[""]}}},{l:"kk",t:{"Undo changes":{v:[""]}}},{l:"km",t:{"Undo changes":{v:[""]}}},{l:"kn",t:{"Undo changes":{v:[""]}}},{l:"ko",t:{"Undo changes":{v:["변경 되돌리기"]}}},{l:"la",t:{"Undo changes":{v:[""]}}},{l:"lb",t:{"Undo changes":{v:[""]}}},{l:"lo",t:{"Undo changes":{v:[""]}}},{l:"lt_LT",t:{"Undo changes":{v:[""]}}},{l:"lv",t:{"Undo changes":{v:[""]}}},{l:"mk",t:{"Undo changes":{v:["Врати ги промените"]}}},{l:"mn",t:{"Undo changes":{v:[""]}}},{l:"mr",t:{"Undo changes":{v:[""]}}},{l:"ms_MY",t:{"Undo changes":{v:[""]}}},{l:"my",t:{"Undo changes":{v:[""]}}},{l:"nb",t:{"Undo changes":{v:["Tilbakestill endringer"]}}},{l:"ne",t:{"Undo changes":{v:[""]}}},{l:"nl",t:{"Undo changes":{v:["Wijzigingen ongedaan maken"]}}},{l:"nn_NO",t:{"Undo changes":{v:[""]}}},{l:"oc",t:{"Undo changes":{v:[""]}}},{l:"pl",t:{"Undo changes":{v:["Cofnij zmiany"]}}},{l:"ps",t:{"Undo changes":{v:[""]}}},{l:"pt_BR",t:{"Undo changes":{v:["Desfazer modificações"]}}},{l:"pt_PT",t:{"Undo changes":{v:["Anular alterações"]}}},{l:"ro",t:{"Undo changes":{v:["Anularea modificărilor"]}}},{l:"ru",t:{"Undo changes":{v:["Отменить изменения"]}}},{l:"sc",t:{"Undo changes":{v:[""]}}},{l:"si",t:{"Undo changes":{v:[""]}}},{l:"sk",t:{"Undo changes":{v:["Vrátiť zmeny"]}}},{l:"sl",t:{"Undo changes":{v:["Razveljavi spremembe"]}}},{l:"sq",t:{"Undo changes":{v:[""]}}},{l:"sr",t:{"Undo changes":{v:["Поништи измене"]}}},{l:"sr@latin",t:{"Undo changes":{v:[""]}}},{l:"sv",t:{"Undo changes":{v:["Ångra ändringar"]}}},{l:"sw",t:{"Undo changes":{v:[""]}}},{l:"ta",t:{"Undo changes":{v:[""]}}},{l:"th",t:{"Undo changes":{v:[""]}}},{l:"tk",t:{"Undo changes":{v:[""]}}},{l:"tr",t:{"Undo changes":{v:["Değişiklikleri geri al"]}}},{l:"ug",t:{"Undo changes":{v:[""]}}},{l:"uk",t:{"Undo changes":{v:["Скасувати зміни"]}}},{l:"ur_PK",t:{"Undo changes":{v:[""]}}},{l:"uz",t:{"Undo changes":{v:["O'zgarishlarni bekor qilish"]}}},{l:"vi",t:{"Undo changes":{v:[""]}}},{l:"zh_CN",t:{"Undo changes":{v:["撤销更改"]}}},{l:"zh_HK",t:{"Undo changes":{v:["取消更改"]}}},{l:"zh_TW",t:{"Undo changes":{v:["還原變更"]}}},{l:"zu_ZA",t:{"Undo changes":{v:[""]}}}],Up=[{l:"af",t:{}},{l:"ar",t:{"User status: {status}":{v:["حالة المستخدِم: {status}"]}}},{l:"ast",t:{"User status: {status}":{v:["Estáu del usuariu: {status}"]}}},{l:"az",t:{}},{l:"be",t:{}},{l:"bg",t:{}},{l:"bn_BD",t:{}},{l:"br",t:{}},{l:"bs",t:{}},{l:"ca",t:{}},{l:"cs",t:{"User status: {status}":{v:["Stav uživatele: {status}"]}}},{l:"cs_CZ",t:{"User status: {status}":{v:["Stav uživatele: {status}"]}}},{l:"cy_GB",t:{}},{l:"da",t:{"User status: {status}":{v:["Brugerstatus: {status}"]}}},{l:"de",t:{"User status: {status}":{v:["Benutzerstatus: {status}"]}}},{l:"de_DE",t:{"User status: {status}":{v:["Benutzerstatus: {status}"]}}},{l:"el",t:{"User status: {status}":{v:["Κατάσταση χρήστη: {status}"]}}},{l:"en_GB",t:{"User status: {status}":{v:["User status: {status}"]}}},{l:"eo",t:{}},{l:"es",t:{"User status: {status}":{v:["Estatus del usuario: {status}"]}}},{l:"es_419",t:{}},{l:"es_AR",t:{"User status: {status}":{v:["Estado del usuario: {status}"]}}},{l:"es_CL",t:{}},{l:"es_CO",t:{}},{l:"es_CR",t:{}},{l:"es_DO",t:{}},{l:"es_EC",t:{}},{l:"es_GT",t:{}},{l:"es_HN",t:{}},{l:"es_MX",t:{"User status: {status}":{v:["Estado del usuario: {status}"]}}},{l:"es_NI",t:{}},{l:"es_PA",t:{}},{l:"es_PE",t:{}},{l:"es_PR",t:{}},{l:"es_PY",t:{}},{l:"es_SV",t:{}},{l:"es_UY",t:{}},{l:"et_EE",t:{"User status: {status}":{v:["Kasutaja olek: {status}"]}}},{l:"eu",t:{}},{l:"fa",t:{"User status: {status}":{v:["وضعیت کاربر: {status}"]}}},{l:"fi",t:{"User status: {status}":{v:["Käyttäjän tila: {status}"]}}},{l:"fo",t:{}},{l:"fr",t:{"User status: {status}":{v:["Statut de l'utilisateur : {status}"]}}},{l:"ga",t:{"User status: {status}":{v:["Stádas úsáideora: {status}"]}}},{l:"gd",t:{}},{l:"gl",t:{"User status: {status}":{v:["Estado do usuario: {status}"]}}},{l:"he",t:{}},{l:"hi_IN",t:{}},{l:"hr",t:{}},{l:"hsb",t:{}},{l:"hu",t:{}},{l:"hy",t:{}},{l:"ia",t:{}},{l:"id",t:{"User status: {status}":{v:["Status pengguna: {status}"]}}},{l:"ig",t:{}},{l:"is",t:{"User status: {status}":{v:["Staða notanda: {status}"]}}},{l:"it",t:{"User status: {status}":{v:["Stato dell'utente: {status}"]}}},{l:"ja",t:{"User status: {status}":{v:["ユーザのステータス: {status}"]}}},{l:"ja_JP",t:{"User status: {status}":{v:["ユーザのステータス: {status}"]}}},{l:"ka",t:{}},{l:"ka_GE",t:{}},{l:"kab",t:{}},{l:"kk",t:{}},{l:"km",t:{}},{l:"kn",t:{}},{l:"ko",t:{"User status: {status}":{v:["사용자 상태: {status}"]}}},{l:"la",t:{}},{l:"lb",t:{}},{l:"lo",t:{}},{l:"lt_LT",t:{}},{l:"lv",t:{}},{l:"mk",t:{}},{l:"mn",t:{}},{l:"mr",t:{}},{l:"ms_MY",t:{}},{l:"my",t:{}},{l:"nb",t:{"User status: {status}":{v:["Brukerstatus: {status}"]}}},{l:"ne",t:{}},{l:"nl",t:{"User status: {status}":{v:["Gebruikers status: {status}"]}}},{l:"nn_NO",t:{}},{l:"oc",t:{}},{l:"pl",t:{"User status: {status}":{v:["Status użytkownika: {status}"]}}},{l:"ps",t:{}},{l:"pt_BR",t:{"User status: {status}":{v:["Status do usuário: {status}"]}}},{l:"pt_PT",t:{"User status: {status}":{v:["Estado do utilizador: {status}"]}}},{l:"ro",t:{"User status: {status}":{v:["Status utilizator: {status}"]}}},{l:"ru",t:{"User status: {status}":{v:["Статус пользователя: {status}"]}}},{l:"sc",t:{}},{l:"si",t:{}},{l:"sk",t:{"User status: {status}":{v:["Stav užívateľa: {status}"]}}},{l:"sl",t:{}},{l:"sq",t:{}},{l:"sr",t:{"User status: {status}":{v:["Статус корисника: {status}"]}}},{l:"sr@latin",t:{}},{l:"sv",t:{"User status: {status}":{v:["Användarstatus: {status}"]}}},{l:"sw",t:{}},{l:"ta",t:{}},{l:"th",t:{}},{l:"tk",t:{}},{l:"tr",t:{"User status: {status}":{v:["Kullanıcı durumu: {status}"]}}},{l:"ug",t:{}},{l:"uk",t:{"User status: {status}":{v:["Статус користувача: {status}"]}}},{l:"ur_PK",t:{}},{l:"uz",t:{"User status: {status}":{v:["Foydalanuvchi holati: {status}"]}}},{l:"vi",t:{}},{l:"zh_CN",t:{"User status: {status}":{v:["用户状态:{status}"]}}},{l:"zh_HK",t:{"User status: {status}":{v:["用戶狀態:{status}"]}}},{l:"zh_TW",t:{}},{l:"zu_ZA",t:{}}];function X(t,e,n,u,o,a,r,c){var d=typeof t=="function"?t.options:t;return e&&(d.render=e,d.staticRenderFns=n,d._compiled=!0),a&&(d._scopeId="data-v-"+a),{exports:t,options:d}}const hs={name:"NcButton",inject:{getNcPopoverTriggerAttrs:{from:"NcPopover:trigger:attrs",default:()=>()=>({})}},props:{alignment:{type:String,default:"center",validator:t=>["start","start-reverse","center","center-reverse","end","end-reverse"].includes(t)},disabled:{type:Boolean,default:!1},size:{type:String,default:"normal",validator(t){return["small","normal","large"].includes(t)}},type:{type:String,validator(t){return["primary","secondary","tertiary","tertiary-no-background","tertiary-on-primary","error","warning","success"].includes(t)||["submit","reset","button"].includes(t)},default:"secondary"},nativeType:{type:String,validator(t){return["submit","reset","button"].indexOf(t)!==-1},default:"button"},wide:{type:Boolean,default:!1},ariaLabel:{type:String,default:null},href:{type:String,default:null},target:{type:String,default:"_self"},download:{type:String,default:null},to:{type:[String,Object],default:null},exact:{type:Boolean,default:!1},ariaHidden:{type:Boolean,default:null},pressed:{type:Boolean,default:null},variant:{type:String,validator(t){return["primary","secondary","tertiary","tertiary-no-background","tertiary-on-primary","error","warning","success"].includes(t)},default:"secondary"}},emits:["update:pressed","click"],computed:{realVariant(){return this.pressed?"primary":this.pressed===!1&&(this.type==="primary"||this.variant==="primary")?"secondary":this.type!=="secondary"&&["primary","tertiary","tertiary-no-background","tertiary-on-primary","error","warning","success"].includes(this.type)?this.type:this.variant},realType(){return typeof this.pressed=="boolean"?"button":this.nativeType!=="button"?this.nativeType:["primary","secondary","tertiary","tertiary-no-background","tertiary-on-primary","error","warning","success"].includes(this.type)?this.nativeType:this.type},flexAlignment(){return this.alignment.split("-")[0]},isReverseAligned(){return this.alignment.includes("-")},ncPopoverTriggerAttrs(){return this.getNcPopoverTriggerAttrs()}},render(t){const e=!!this.$slots.default,n=this.$slots?.icon;!e&&!this.ariaLabel&&console.warn("You need to fill either the text or the ariaLabel props in the button component.",{text:this.$slots.default?.[0]?.text,ariaLabel:this.ariaLabel},this);const u=this.to||this.href,o=!u&&typeof this.pressed=="boolean",a=({href:r,navigate:c,isActive:d,isExactActive:p}={})=>t(u?"a":"button",{class:["button-vue",`button-vue--size-${this.size}`,{"button-vue--icon-only":n&&!e,"button-vue--text-only":e&&!n,"button-vue--icon-and-text":n&&e,[`button-vue--vue-${this.realVariant}`]:this.realVariant,"button-vue--wide":this.wide,[`button-vue--${this.flexAlignment}`]:this.flexAlignment!=="center","button-vue--reverse":this.isReverseAligned,active:d,"router-link-exact-active":p}],attrs:{"aria-label":this.ariaLabel,"aria-pressed":o?this.pressed.toString():void 0,disabled:this.disabled,type:u?null:this.realType,role:u?"button":null,href:this.to?r:this.href||null,target:u?this.target||"_self":null,rel:u?"nofollow noreferrer noopener":null,download:!this.to&&this.href&&this.download?this.download:null,...this.ncPopoverTriggerAttrs,...this.$attrs},on:{...this.$listeners,click:v=>{o&&this.$emit("update:pressed",!this.pressed),this.$emit("click",v),c?.(v)}}},[t("span",{class:"button-vue__wrapper"},[n?t("span",{class:"button-vue__icon",attrs:{"aria-hidden":"true"}},[this.$slots.icon]):null,e?t("span",{class:"button-vue__text"},[this.$slots.default]):null])]);return this.to?t("router-link",{props:{custom:!0,to:this.to,exact:this.exact},scopedSlots:{default:a}}):a()}},fs=null,gs=null;var ms=X(hs,fs,gs,!1,null,"3f8e123a");const po=ms.exports,Pu={name:"NcIconSvgWrapper",props:{directional:{type:Boolean,default:!1},inline:{type:Boolean,default:!1},svg:{type:String,default:""},name:{type:String,default:""},path:{type:String,default:""},size:{type:[Number,String],default:20,validator:t=>typeof t=="number"||t==="auto"}},computed:{iconSize(){return typeof this.size=="number"?`${this.size}px`:this.size},cleanSvg(){if(!this.svg||this.path)return;const t=Za.sanitize(this.svg),e=new DOMParser().parseFromString(t,"image/svg+xml");return e.querySelector("parsererror")?(ye.util.warn("SVG is not valid"),""):(e.documentElement.id&&e.documentElement.removeAttribute("id"),e.documentElement.outerHTML)}}},si=()=>{vo((t,e)=>({adec40c8:t.iconSize}))},ri=Pu.setup;Pu.setup=ri?(t,e)=>(si(),ri(t,e)):si;const Cs=Pu;var ys=function(){var t=this,e=t._self._c;return e("span",{staticClass:"icon-vue",class:{"icon-vue--directional":t.directional,"icon-vue--inline":t.inline},attrs:{"aria-hidden":t.name?void 0:"true","aria-label":t.name||void 0,role:"img"}},[t.cleanSvg?e("span",{domProps:{innerHTML:t._s(t.cleanSvg)}}):e("svg",{attrs:{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"}},[e("path",{attrs:{d:t.path}})])])},Es=[],ks=X(Cs,ys,Es,!1,null,"a4f5b92e");const bs=ks.exports;function jp(t,e,n,u,o,a,r,c){var d=typeof t=="function"?t.options:t;return e&&(d.render=e,d.staticRenderFns=n,d._compiled=!0),a&&(d._scopeId="data-v-"+a),{exports:t,options:d}}function ho(t,e){return function(){return t.apply(e,arguments)}}const{toString:As}=Object.prototype,{getPrototypeOf:Nu}=Object,Sn=(t=>e=>{const n=As.call(e);return t[n]||(t[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),gt=t=>(t=t.toLowerCase(),e=>Sn(e)===t),Dn=t=>e=>typeof e===t,{isArray:Ee}=Array,Le=Dn("undefined");function ws(t){return t!==null&&!Le(t)&&t.constructor!==null&&!Le(t.constructor)&&rt(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}const fo=gt("ArrayBuffer");function Bs(t){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(t):e=t&&t.buffer&&fo(t.buffer),e}const xs=Dn("string"),rt=Dn("function"),go=Dn("number"),Fn=t=>t!==null&&typeof t=="object",_s=t=>t===!0||t===!1,nn=t=>{if(Sn(t)!=="object")return!1;const e=Nu(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in t)&&!(Symbol.iterator in t)},Ss=gt("Date"),Ds=gt("File"),Fs=gt("Blob"),Ps=gt("FileList"),Ns=t=>Fn(t)&&rt(t.pipe),Os=t=>{let e;return t&&(typeof FormData=="function"&&t instanceof FormData||rt(t.append)&&((e=Sn(t))==="formdata"||e==="object"&&rt(t.toString)&&t.toString()==="[object FormData]"))},Rs=gt("URLSearchParams"),[Ts,zs,Ls,$s]=["ReadableStream","Request","Response","Headers"].map(gt),Is=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function je(t,e,{allOwnKeys:n=!1}={}){if(t===null||typeof t>"u")return;let u,o;if(typeof t!="object"&&(t=[t]),Ee(t))for(u=0,o=t.length;u0;)if(o=n[u],e===o.toLowerCase())return o;return null}const Zt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:Qt,Co=t=>!Le(t)&&t!==Zt;function ou(){const{caseless:t}=Co(this)&&this||{},e={},n=(u,o)=>{const a=t&&mo(e,o)||o;nn(e[a])&&nn(u)?e[a]=ou(e[a],u):nn(u)?e[a]=ou({},u):Ee(u)?e[a]=u.slice():e[a]=u};for(let u=0,o=arguments.length;u(je(e,(o,a)=>{n&&rt(o)?t[a]=ho(o,n):t[a]=o},{allOwnKeys:u}),t),Us=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),js=(t,e,n,u)=>{t.prototype=Object.create(e.prototype,u),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),n&&Object.assign(t.prototype,n)},Gs=(t,e,n,u)=>{let o,a,r;const c={};if(e=e||{},t==null)return e;do{for(o=Object.getOwnPropertyNames(t),a=o.length;a-- >0;)r=o[a],(!u||u(r,t,e))&&!c[r]&&(e[r]=t[r],c[r]=!0);t=n!==!1&&Nu(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},Vs=(t,e,n)=>{t=String(t),(n===void 0||n>t.length)&&(n=t.length),n-=e.length;const u=t.indexOf(e,n);return u!==-1&&u===n},Hs=t=>{if(!t)return null;if(Ee(t))return t;let e=t.length;if(!go(e))return null;const n=new Array(e);for(;e-- >0;)n[e]=t[e];return n},Ws=(t=>e=>t&&e instanceof t)(typeof Uint8Array<"u"&&Nu(Uint8Array)),Ks=(t,e)=>{const n=(t&&t[Symbol.iterator]).call(t);let u;for(;(u=n.next())&&!u.done;){const o=u.value;e.call(t,o[0],o[1])}},qs=(t,e)=>{let n;const u=[];for(;(n=t.exec(e))!==null;)u.push(n);return u},Zs=gt("HTMLFormElement"),Ys=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(e,n,u){return n.toUpperCase()+u}),li=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype),Js=gt("RegExp"),yo=(t,e)=>{const n=Object.getOwnPropertyDescriptors(t),u={};je(n,(o,a)=>{let r;(r=e(o,a,t))!==!1&&(u[a]=r||o)}),Object.defineProperties(t,u)},Xs=t=>{yo(t,(e,n)=>{if(rt(t)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const u=t[n];if(rt(u)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},Qs=(t,e)=>{const n={},u=o=>{o.forEach(a=>{n[a]=!0})};return Ee(t)?u(t):u(String(t).split(e)),n},tr=()=>{},er=(t,e)=>t!=null&&Number.isFinite(t=+t)?t:e;function nr(t){return!!(t&&rt(t.append)&&t[Symbol.toStringTag]==="FormData"&&t[Symbol.iterator])}const ur=t=>{const e=new Array(10),n=(u,o)=>{if(Fn(u)){if(e.indexOf(u)>=0)return;if(!("toJSON"in u)){e[o]=u;const a=Ee(u)?[]:{};return je(u,(r,c)=>{const d=n(r,o+1);!Le(d)&&(a[c]=d)}),e[o]=void 0,a}}return u};return n(t,0)},ir=gt("AsyncFunction"),or=t=>t&&(Fn(t)||rt(t))&&rt(t.then)&&rt(t.catch),Eo=((t,e)=>t?setImmediate:e?((n,u)=>(Zt.addEventListener("message",({source:o,data:a})=>{o===Zt&&a===n&&u.length&&u.shift()()},!1),o=>{u.push(o),Zt.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",rt(Zt.postMessage)),ar=typeof queueMicrotask<"u"?queueMicrotask.bind(Zt):typeof oi<"u"&&oi.nextTick||Eo,C={isArray:Ee,isArrayBuffer:fo,isBuffer:ws,isFormData:Os,isArrayBufferView:Bs,isString:xs,isNumber:go,isBoolean:_s,isObject:Fn,isPlainObject:nn,isReadableStream:Ts,isRequest:zs,isResponse:Ls,isHeaders:$s,isUndefined:Le,isDate:Ss,isFile:Ds,isBlob:Fs,isRegExp:Js,isFunction:rt,isStream:Ns,isURLSearchParams:Rs,isTypedArray:Ws,isFileList:Ps,forEach:je,merge:ou,extend:Ms,trim:Is,stripBOM:Us,inherits:js,toFlatObject:Gs,kindOf:Sn,kindOfTest:gt,endsWith:Vs,toArray:Hs,forEachEntry:Ks,matchAll:qs,isHTMLForm:Zs,hasOwnProperty:li,hasOwnProp:li,reduceDescriptors:yo,freezeMethods:Xs,toObjectSet:Qs,toCamelCase:Ys,noop:tr,toFiniteNumber:er,findKey:mo,global:Zt,isContextDefined:Co,isSpecCompliantForm:nr,toJSONObject:ur,isAsyncFn:ir,isThenable:or,setImmediate:Eo,asap:ar};var ko={},un={};un.byteLength=lr,un.toByteArray=cr,un.fromByteArray=hr;for(var yt=[],lt=[],sr=typeof Uint8Array<"u"?Uint8Array:Array,Kn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",re=0,rr=Kn.length;re0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");n===-1&&(n=e);var u=n===e?0:4-n%4;return[n,u]}function lr(t){var e=bo(t),n=e[0],u=e[1];return(n+u)*3/4-u}function vr(t,e,n){return(e+n)*3/4-n}function cr(t){var e,n=bo(t),u=n[0],o=n[1],a=new sr(vr(t,u,o)),r=0,c=o>0?u-4:u,d;for(d=0;d>16&255,a[r++]=e>>8&255,a[r++]=e&255;return o===2&&(e=lt[t.charCodeAt(d)]<<2|lt[t.charCodeAt(d+1)]>>4,a[r++]=e&255),o===1&&(e=lt[t.charCodeAt(d)]<<10|lt[t.charCodeAt(d+1)]<<4|lt[t.charCodeAt(d+2)]>>2,a[r++]=e>>8&255,a[r++]=e&255),a}function dr(t){return yt[t>>18&63]+yt[t>>12&63]+yt[t>>6&63]+yt[t&63]}function pr(t,e,n){for(var u,o=[],a=e;ac?c:r+a));return u===1?(e=t[n-1],o.push(yt[e>>2]+yt[e<<4&63]+"==")):u===2&&(e=(t[n-2]<<8)+t[n-1],o.push(yt[e>>10]+yt[e>>4&63]+yt[e<<2&63]+"=")),o.join("")}var au={};au.read=function(t,e,n,u,o){var a,r,c=o*8-u-1,d=(1<>1,v=-7,f=n?o-1:0,y=n?-1:1,g=t[e+f];for(f+=y,a=g&(1<<-v)-1,g>>=-v,v+=c;v>0;a=a*256+t[e+f],f+=y,v-=8);for(r=a&(1<<-v)-1,a>>=-v,v+=u;v>0;r=r*256+t[e+f],f+=y,v-=8);if(a===0)a=1-p;else{if(a===d)return r?NaN:(g?-1:1)*(1/0);r=r+Math.pow(2,u),a=a-p}return(g?-1:1)*r*Math.pow(2,a-u)},au.write=function(t,e,n,u,o,a){var r,c,d,p=a*8-o-1,v=(1<>1,y=o===23?Math.pow(2,-24)-Math.pow(2,-77):0,g=u?0:a-1,w=u?1:-1,k=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(c=isNaN(e)?1:0,r=v):(r=Math.floor(Math.log(e)/Math.LN2),e*(d=Math.pow(2,-r))<1&&(r--,d*=2),r+f>=1?e+=y/d:e+=y*Math.pow(2,1-f),e*d>=2&&(r++,d/=2),r+f>=v?(c=0,r=v):r+f>=1?(c=(e*d-1)*Math.pow(2,o),r=r+f):(c=e*Math.pow(2,f-1)*Math.pow(2,o),r=0));o>=8;t[n+g]=c&255,g+=w,c/=256,o-=8);for(r=r<0;t[n+g]=r&255,g+=w,r/=256,p-=8);t[n+g-w]|=k*128};(function(t){const e=un,n=au,u=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=v,t.SlowBuffer=$,t.INSPECT_MAX_BYTES=50;const o=2147483647;t.kMaxLength=o;const{Uint8Array:a,ArrayBuffer:r,SharedArrayBuffer:c}=globalThis;v.TYPED_ARRAY_SUPPORT=d(),!v.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function d(){try{const i=new a(1),s={foo:function(){return 42}};return Object.setPrototypeOf(s,a.prototype),Object.setPrototypeOf(i,s),i.foo()===42}catch{return!1}}Object.defineProperty(v.prototype,"parent",{enumerable:!0,get:function(){if(v.isBuffer(this))return this.buffer}}),Object.defineProperty(v.prototype,"offset",{enumerable:!0,get:function(){if(v.isBuffer(this))return this.byteOffset}});function p(i){if(i>o)throw new RangeError('The value "'+i+'" is invalid for option "size"');const s=new a(i);return Object.setPrototypeOf(s,v.prototype),s}function v(i,s,l){if(typeof i=="number"){if(typeof s=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return w(i)}return f(i,s,l)}v.poolSize=8192;function f(i,s,l){if(typeof i=="string")return k(i,s);if(r.isView(i))return D(i);if(i==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof i);if(mt(i,r)||i&&mt(i.buffer,r)||typeof c<"u"&&(mt(i,c)||i&&mt(i.buffer,c)))return _(i,s,l);if(typeof i=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const h=i.valueOf&&i.valueOf();if(h!=null&&h!==i)return v.from(h,s,l);const m=S(i);if(m)return m;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof i[Symbol.toPrimitive]=="function")return v.from(i[Symbol.toPrimitive]("string"),s,l);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof i)}v.from=function(i,s,l){return f(i,s,l)},Object.setPrototypeOf(v.prototype,a.prototype),Object.setPrototypeOf(v,a);function y(i){if(typeof i!="number")throw new TypeError('"size" argument must be of type number');if(i<0)throw new RangeError('The value "'+i+'" is invalid for option "size"')}function g(i,s,l){return y(i),i<=0?p(i):s!==void 0?typeof l=="string"?p(i).fill(s,l):p(i).fill(s):p(i)}v.alloc=function(i,s,l){return g(i,s,l)};function w(i){return y(i),p(i<0?0:N(i)|0)}v.allocUnsafe=function(i){return w(i)},v.allocUnsafeSlow=function(i){return w(i)};function k(i,s){if((typeof s!="string"||s==="")&&(s="utf8"),!v.isEncoding(s))throw new TypeError("Unknown encoding: "+s);const l=M(i,s)|0;let h=p(l);const m=h.write(i,s);return m!==l&&(h=h.slice(0,m)),h}function x(i){const s=i.length<0?0:N(i.length)|0,l=p(s);for(let h=0;h=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return i|0}function $(i){return+i!=i&&(i=0),v.alloc(+i)}v.isBuffer=function(i){return i!=null&&i._isBuffer===!0&&i!==v.prototype},v.compare=function(i,s){if(mt(i,a)&&(i=v.from(i,i.offset,i.byteLength)),mt(s,a)&&(s=v.from(s,s.offset,s.byteLength)),!v.isBuffer(i)||!v.isBuffer(s))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(i===s)return 0;let l=i.length,h=s.length;for(let m=0,E=Math.min(l,h);mh.length?(v.isBuffer(E)||(E=v.from(E)),E.copy(h,m)):a.prototype.set.call(h,E,m);else if(v.isBuffer(E))E.copy(h,m);else throw new TypeError('"list" argument must be an Array of Buffers');m+=E.length}return h};function M(i,s){if(v.isBuffer(i))return i.length;if(r.isView(i)||mt(i,r))return i.byteLength;if(typeof i!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof i);const l=i.length,h=arguments.length>2&&arguments[2]===!0;if(!h&&l===0)return 0;let m=!1;for(;;)switch(s){case"ascii":case"latin1":case"binary":return l;case"utf8":case"utf-8":return Hn(i).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return l*2;case"hex":return l>>>1;case"base64":return ii(i).length;default:if(m)return h?-1:Hn(i).length;s=(""+s).toLowerCase(),m=!0}}v.byteLength=M;function Y(i,s,l){let h=!1;if((s===void 0||s<0)&&(s=0),s>this.length||((l===void 0||l>this.length)&&(l=this.length),l<=0)||(l>>>=0,s>>>=0,l<=s))return"";for(i||(i="utf8");;)switch(i){case"hex":return Gn(this,s,l);case"utf8":case"utf-8":return tt(this,s,l);case"ascii":return Vt(this,s,l);case"latin1":case"binary":return ct(this,s,l);case"base64":return Z(this,s,l);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return We(this,s,l);default:if(h)throw new TypeError("Unknown encoding: "+i);i=(i+"").toLowerCase(),h=!0}}v.prototype._isBuffer=!0;function P(i,s,l){const h=i[s];i[s]=i[l],i[l]=h}v.prototype.swap16=function(){const i=this.length;if(i%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let s=0;ss&&(i+=" ... "),""},u&&(v.prototype[u]=v.prototype.inspect),v.prototype.compare=function(i,s,l,h,m){if(mt(i,a)&&(i=v.from(i,i.offset,i.byteLength)),!v.isBuffer(i))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof i);if(s===void 0&&(s=0),l===void 0&&(l=i?i.length:0),h===void 0&&(h=0),m===void 0&&(m=this.length),s<0||l>i.length||h<0||m>this.length)throw new RangeError("out of range index");if(h>=m&&s>=l)return 0;if(h>=m)return-1;if(s>=l)return 1;if(s>>>=0,l>>>=0,h>>>=0,m>>>=0,this===i)return 0;let E=m-h,B=l-s;const G=Math.min(E,B),et=this.slice(h,m),V=i.slice(s,l);for(let U=0;U2147483647?l=2147483647:l<-2147483648&&(l=-2147483648),l=+l,Wn(l)&&(l=m?0:i.length-1),l<0&&(l=i.length+l),l>=i.length){if(m)return-1;l=i.length-1}else if(l<0)if(m)l=0;else return-1;if(typeof s=="string"&&(s=v.from(s,h)),v.isBuffer(s))return s.length===0?-1:b(i,s,l,h,m);if(typeof s=="number")return s=s&255,typeof a.prototype.indexOf=="function"?m?a.prototype.indexOf.call(i,s,l):a.prototype.lastIndexOf.call(i,s,l):b(i,[s],l,h,m);throw new TypeError("val must be string, number or Buffer")}function b(i,s,l,h,m){let E=1,B=i.length,G=s.length;if(h!==void 0&&(h=String(h).toLowerCase(),h==="ucs2"||h==="ucs-2"||h==="utf16le"||h==="utf-16le")){if(i.length<2||s.length<2)return-1;E=2,B/=2,G/=2,l/=2}function et(U,J){return E===1?U[J]:U.readUInt16BE(J*E)}let V;if(m){let U=-1;for(V=l;VB&&(l=B-G),V=l;V>=0;V--){let U=!0;for(let J=0;Jm&&(h=m)):h=m;const E=s.length;h>E/2&&(h=E/2);let B;for(B=0;B>>0,isFinite(l)?(l=l>>>0,h===void 0&&(h="utf8")):(h=l,l=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const m=this.length-s;if((l===void 0||l>m)&&(l=m),i.length>0&&(l<0||s<0)||s>this.length)throw new RangeError("Attempt to write outside buffer bounds");h||(h="utf8");let E=!1;for(;;)switch(h){case"hex":return A(this,i,s,l);case"utf8":case"utf-8":return F(this,i,s,l);case"ascii":case"latin1":case"binary":return R(this,i,s,l);case"base64":return T(this,i,s,l);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return H(this,i,s,l);default:if(E)throw new TypeError("Unknown encoding: "+h);h=(""+h).toLowerCase(),E=!0}},v.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Z(i,s,l){return s===0&&l===i.length?e.fromByteArray(i):e.fromByteArray(i.slice(s,l))}function tt(i,s,l){l=Math.min(i.length,l);const h=[];let m=s;for(;m239?4:E>223?3:E>191?2:1;if(m+G<=l){let et,V,U,J;switch(G){case 1:E<128&&(B=E);break;case 2:et=i[m+1],(et&192)===128&&(J=(E&31)<<6|et&63,J>127&&(B=J));break;case 3:et=i[m+1],V=i[m+2],(et&192)===128&&(V&192)===128&&(J=(E&15)<<12|(et&63)<<6|V&63,J>2047&&(J<55296||J>57343)&&(B=J));break;case 4:et=i[m+1],V=i[m+2],U=i[m+3],(et&192)===128&&(V&192)===128&&(U&192)===128&&(J=(E&15)<<18|(et&63)<<12|(V&63)<<6|U&63,J>65535&&J<1114112&&(B=J))}}B===null?(B=65533,G=1):B>65535&&(B-=65536,h.push(B>>>10&1023|55296),B=56320|B&1023),h.push(B),m+=G}return Ft(h)}const K=4096;function Ft(i){const s=i.length;if(s<=K)return String.fromCharCode.apply(String,i);let l="",h=0;for(;hh)&&(l=h);let m="";for(let E=s;El&&(i=l),s<0?(s+=l,s<0&&(s=0)):s>l&&(s=l),sl)throw new RangeError("Trying to access beyond buffer length")}v.prototype.readUintLE=v.prototype.readUIntLE=function(i,s,l){i=i>>>0,s=s>>>0,l||q(i,s,this.length);let h=this[i],m=1,E=0;for(;++E>>0,s=s>>>0,l||q(i,s,this.length);let h=this[i+--s],m=1;for(;s>0&&(m*=256);)h+=this[i+--s]*m;return h},v.prototype.readUint8=v.prototype.readUInt8=function(i,s){return i=i>>>0,s||q(i,1,this.length),this[i]},v.prototype.readUint16LE=v.prototype.readUInt16LE=function(i,s){return i=i>>>0,s||q(i,2,this.length),this[i]|this[i+1]<<8},v.prototype.readUint16BE=v.prototype.readUInt16BE=function(i,s){return i=i>>>0,s||q(i,2,this.length),this[i]<<8|this[i+1]},v.prototype.readUint32LE=v.prototype.readUInt32LE=function(i,s){return i=i>>>0,s||q(i,4,this.length),(this[i]|this[i+1]<<8|this[i+2]<<16)+this[i+3]*16777216},v.prototype.readUint32BE=v.prototype.readUInt32BE=function(i,s){return i=i>>>0,s||q(i,4,this.length),this[i]*16777216+(this[i+1]<<16|this[i+2]<<8|this[i+3])},v.prototype.readBigUInt64LE=Pt(function(i){i=i>>>0,se(i,"offset");const s=this[i],l=this[i+7];(s===void 0||l===void 0)&&we(i,this.length-8);const h=s+this[++i]*2**8+this[++i]*2**16+this[++i]*2**24,m=this[++i]+this[++i]*2**8+this[++i]*2**16+l*2**24;return BigInt(h)+(BigInt(m)<>>0,se(i,"offset");const s=this[i],l=this[i+7];(s===void 0||l===void 0)&&we(i,this.length-8);const h=s*2**24+this[++i]*2**16+this[++i]*2**8+this[++i],m=this[++i]*2**24+this[++i]*2**16+this[++i]*2**8+l;return(BigInt(h)<>>0,s=s>>>0,l||q(i,s,this.length);let h=this[i],m=1,E=0;for(;++E=m&&(h-=Math.pow(2,8*s)),h},v.prototype.readIntBE=function(i,s,l){i=i>>>0,s=s>>>0,l||q(i,s,this.length);let h=s,m=1,E=this[i+--h];for(;h>0&&(m*=256);)E+=this[i+--h]*m;return m*=128,E>=m&&(E-=Math.pow(2,8*s)),E},v.prototype.readInt8=function(i,s){return i=i>>>0,s||q(i,1,this.length),this[i]&128?(255-this[i]+1)*-1:this[i]},v.prototype.readInt16LE=function(i,s){i=i>>>0,s||q(i,2,this.length);const l=this[i]|this[i+1]<<8;return l&32768?l|4294901760:l},v.prototype.readInt16BE=function(i,s){i=i>>>0,s||q(i,2,this.length);const l=this[i+1]|this[i]<<8;return l&32768?l|4294901760:l},v.prototype.readInt32LE=function(i,s){return i=i>>>0,s||q(i,4,this.length),this[i]|this[i+1]<<8|this[i+2]<<16|this[i+3]<<24},v.prototype.readInt32BE=function(i,s){return i=i>>>0,s||q(i,4,this.length),this[i]<<24|this[i+1]<<16|this[i+2]<<8|this[i+3]},v.prototype.readBigInt64LE=Pt(function(i){i=i>>>0,se(i,"offset");const s=this[i],l=this[i+7];(s===void 0||l===void 0)&&we(i,this.length-8);const h=this[i+4]+this[i+5]*2**8+this[i+6]*2**16+(l<<24);return(BigInt(h)<>>0,se(i,"offset");const s=this[i],l=this[i+7];(s===void 0||l===void 0)&&we(i,this.length-8);const h=(s<<24)+this[++i]*2**16+this[++i]*2**8+this[++i];return(BigInt(h)<>>0,s||q(i,4,this.length),n.read(this,i,!0,23,4)},v.prototype.readFloatBE=function(i,s){return i=i>>>0,s||q(i,4,this.length),n.read(this,i,!1,23,4)},v.prototype.readDoubleLE=function(i,s){return i=i>>>0,s||q(i,8,this.length),n.read(this,i,!0,52,8)},v.prototype.readDoubleBE=function(i,s){return i=i>>>0,s||q(i,8,this.length),n.read(this,i,!1,52,8)};function Q(i,s,l,h,m,E){if(!v.isBuffer(i))throw new TypeError('"buffer" argument must be a Buffer instance');if(s>m||si.length)throw new RangeError("Index out of range")}v.prototype.writeUintLE=v.prototype.writeUIntLE=function(i,s,l,h){if(i=+i,s=s>>>0,l=l>>>0,!h){const B=Math.pow(2,8*l)-1;Q(this,i,s,l,B,0)}let m=1,E=0;for(this[s]=i&255;++E>>0,l=l>>>0,!h){const B=Math.pow(2,8*l)-1;Q(this,i,s,l,B,0)}let m=l-1,E=1;for(this[s+m]=i&255;--m>=0&&(E*=256);)this[s+m]=i/E&255;return s+l},v.prototype.writeUint8=v.prototype.writeUInt8=function(i,s,l){return i=+i,s=s>>>0,l||Q(this,i,s,1,255,0),this[s]=i&255,s+1},v.prototype.writeUint16LE=v.prototype.writeUInt16LE=function(i,s,l){return i=+i,s=s>>>0,l||Q(this,i,s,2,65535,0),this[s]=i&255,this[s+1]=i>>>8,s+2},v.prototype.writeUint16BE=v.prototype.writeUInt16BE=function(i,s,l){return i=+i,s=s>>>0,l||Q(this,i,s,2,65535,0),this[s]=i>>>8,this[s+1]=i&255,s+2},v.prototype.writeUint32LE=v.prototype.writeUInt32LE=function(i,s,l){return i=+i,s=s>>>0,l||Q(this,i,s,4,4294967295,0),this[s+3]=i>>>24,this[s+2]=i>>>16,this[s+1]=i>>>8,this[s]=i&255,s+4},v.prototype.writeUint32BE=v.prototype.writeUInt32BE=function(i,s,l){return i=+i,s=s>>>0,l||Q(this,i,s,4,4294967295,0),this[s]=i>>>24,this[s+1]=i>>>16,this[s+2]=i>>>8,this[s+3]=i&255,s+4};function Ju(i,s,l,h,m){ui(s,h,m,i,l,7);let E=Number(s&BigInt(4294967295));i[l++]=E,E=E>>8,i[l++]=E,E=E>>8,i[l++]=E,E=E>>8,i[l++]=E;let B=Number(s>>BigInt(32)&BigInt(4294967295));return i[l++]=B,B=B>>8,i[l++]=B,B=B>>8,i[l++]=B,B=B>>8,i[l++]=B,l}function Xu(i,s,l,h,m){ui(s,h,m,i,l,7);let E=Number(s&BigInt(4294967295));i[l+7]=E,E=E>>8,i[l+6]=E,E=E>>8,i[l+5]=E,E=E>>8,i[l+4]=E;let B=Number(s>>BigInt(32)&BigInt(4294967295));return i[l+3]=B,B=B>>8,i[l+2]=B,B=B>>8,i[l+1]=B,B=B>>8,i[l]=B,l+8}v.prototype.writeBigUInt64LE=Pt(function(i,s=0){return Ju(this,i,s,BigInt(0),BigInt("0xffffffffffffffff"))}),v.prototype.writeBigUInt64BE=Pt(function(i,s=0){return Xu(this,i,s,BigInt(0),BigInt("0xffffffffffffffff"))}),v.prototype.writeIntLE=function(i,s,l,h){if(i=+i,s=s>>>0,!h){const G=Math.pow(2,8*l-1);Q(this,i,s,l,G-1,-G)}let m=0,E=1,B=0;for(this[s]=i&255;++m>0)-B&255;return s+l},v.prototype.writeIntBE=function(i,s,l,h){if(i=+i,s=s>>>0,!h){const G=Math.pow(2,8*l-1);Q(this,i,s,l,G-1,-G)}let m=l-1,E=1,B=0;for(this[s+m]=i&255;--m>=0&&(E*=256);)i<0&&B===0&&this[s+m+1]!==0&&(B=1),this[s+m]=(i/E>>0)-B&255;return s+l},v.prototype.writeInt8=function(i,s,l){return i=+i,s=s>>>0,l||Q(this,i,s,1,127,-128),i<0&&(i=255+i+1),this[s]=i&255,s+1},v.prototype.writeInt16LE=function(i,s,l){return i=+i,s=s>>>0,l||Q(this,i,s,2,32767,-32768),this[s]=i&255,this[s+1]=i>>>8,s+2},v.prototype.writeInt16BE=function(i,s,l){return i=+i,s=s>>>0,l||Q(this,i,s,2,32767,-32768),this[s]=i>>>8,this[s+1]=i&255,s+2},v.prototype.writeInt32LE=function(i,s,l){return i=+i,s=s>>>0,l||Q(this,i,s,4,2147483647,-2147483648),this[s]=i&255,this[s+1]=i>>>8,this[s+2]=i>>>16,this[s+3]=i>>>24,s+4},v.prototype.writeInt32BE=function(i,s,l){return i=+i,s=s>>>0,l||Q(this,i,s,4,2147483647,-2147483648),i<0&&(i=4294967295+i+1),this[s]=i>>>24,this[s+1]=i>>>16,this[s+2]=i>>>8,this[s+3]=i&255,s+4},v.prototype.writeBigInt64LE=Pt(function(i,s=0){return Ju(this,i,s,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),v.prototype.writeBigInt64BE=Pt(function(i,s=0){return Xu(this,i,s,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Qu(i,s,l,h,m,E){if(l+h>i.length)throw new RangeError("Index out of range");if(l<0)throw new RangeError("Index out of range")}function ti(i,s,l,h,m){return s=+s,l=l>>>0,m||Qu(i,s,l,4),n.write(i,s,l,h,23,4),l+4}v.prototype.writeFloatLE=function(i,s,l){return ti(this,i,s,!0,l)},v.prototype.writeFloatBE=function(i,s,l){return ti(this,i,s,!1,l)};function ei(i,s,l,h,m){return s=+s,l=l>>>0,m||Qu(i,s,l,8),n.write(i,s,l,h,52,8),l+8}v.prototype.writeDoubleLE=function(i,s,l){return ei(this,i,s,!0,l)},v.prototype.writeDoubleBE=function(i,s,l){return ei(this,i,s,!1,l)},v.prototype.copy=function(i,s,l,h){if(!v.isBuffer(i))throw new TypeError("argument should be a Buffer");if(l||(l=0),!h&&h!==0&&(h=this.length),s>=i.length&&(s=i.length),s||(s=0),h>0&&h=this.length)throw new RangeError("Index out of range");if(h<0)throw new RangeError("sourceEnd out of bounds");h>this.length&&(h=this.length),i.length-s>>0,l=l===void 0?this.length:l>>>0,i||(i=0);let m;if(typeof i=="number")for(m=s;m2**32?m=ni(String(l)):typeof l=="bigint"&&(m=String(l),(l>BigInt(2)**BigInt(32)||l<-(BigInt(2)**BigInt(32)))&&(m=ni(m)),m+="n"),h+=` It must be ${s}. Received ${m}`,h},RangeError);function ni(i){let s="",l=i.length;const h=i[0]==="-"?1:0;for(;l>=h+4;l-=3)s=`_${i.slice(l-3,l)}${s}`;return`${i.slice(0,l)}${s}`}function Ia(i,s,l){se(s,"offset"),(i[s]===void 0||i[s+l]===void 0)&&we(s,i.length-(l+1))}function ui(i,s,l,h,m,E){if(i>l||i= 0${B} and < 2${B} ** ${(E+1)*8}${B}`:G=`>= -(2${B} ** ${(E+1)*8-1}${B}) and < 2 ** ${(E+1)*8-1}${B}`,new ae.ERR_OUT_OF_RANGE("value",G,i)}Ia(h,m,E)}function se(i,s){if(typeof i!="number")throw new ae.ERR_INVALID_ARG_TYPE(s,"number",i)}function we(i,s,l){throw Math.floor(i)!==i?(se(i,l),new ae.ERR_OUT_OF_RANGE("offset","an integer",i)):s<0?new ae.ERR_BUFFER_OUT_OF_BOUNDS:new ae.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${s}`,i)}const Ma=/[^+/0-9A-Za-z-_]/g;function Ua(i){if(i=i.split("=")[0],i=i.trim().replace(Ma,""),i.length<2)return"";for(;i.length%4!==0;)i=i+"=";return i}function Hn(i,s){s=s||1/0;let l;const h=i.length;let m=null;const E=[];for(let B=0;B55295&&l<57344){if(!m){if(l>56319){(s-=3)>-1&&E.push(239,191,189);continue}else if(B+1===h){(s-=3)>-1&&E.push(239,191,189);continue}m=l;continue}if(l<56320){(s-=3)>-1&&E.push(239,191,189),m=l;continue}l=(m-55296<<10|l-56320)+65536}else m&&(s-=3)>-1&&E.push(239,191,189);if(m=null,l<128){if((s-=1)<0)break;E.push(l)}else if(l<2048){if((s-=2)<0)break;E.push(l>>6|192,l&63|128)}else if(l<65536){if((s-=3)<0)break;E.push(l>>12|224,l>>6&63|128,l&63|128)}else if(l<1114112){if((s-=4)<0)break;E.push(l>>18|240,l>>12&63|128,l>>6&63|128,l&63|128)}else throw new Error("Invalid code point")}return E}function ja(i){const s=[];for(let l=0;l>8,m=l%256,E.push(m),E.push(h);return E}function ii(i){return e.toByteArray(Ua(i))}function Ke(i,s,l,h){let m;for(m=0;m=s.length||m>=i.length);++m)s[m+l]=i[m];return m}function mt(i,s){return i instanceof s||i!=null&&i.constructor!=null&&i.constructor.name!=null&&i.constructor.name===s.name}function Wn(i){return i!==i}const Va=function(){const i="0123456789abcdef",s=new Array(256);for(let l=0;l<16;++l){const h=l*16;for(let m=0;m<16;++m)s[h+m]=i[l]+i[m]}return s}();function Pt(i){return typeof BigInt>"u"?Ha:i}function Ha(){throw new Error("BigInt not supported")}})(ko);const fr=ko.Buffer;function O(t,e,n,u,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=t,this.name="AxiosError",e&&(this.code=e),n&&(this.config=n),u&&(this.request=u),o&&(this.response=o,this.status=o.status?o.status:null)}C.inherits(O,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:C.toJSONObject(this.config),code:this.code,status:this.status}}});const vi=O.prototype,ci={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(t=>{ci[t]={value:t}}),Object.defineProperties(O,ci),Object.defineProperty(vi,"isAxiosError",{value:!0}),O.from=(t,e,n,u,o,a)=>{const r=Object.create(vi);return C.toFlatObject(t,r,function(c){return c!==Error.prototype},c=>c!=="isAxiosError"),O.call(r,t.message,e,n,u,o),r.cause=t,r.name=t.name,a&&Object.assign(r,a),r};const gr=null;function su(t){return C.isPlainObject(t)||C.isArray(t)}function Ao(t){return C.endsWith(t,"[]")?t.slice(0,-2):t}function di(t,e,n){return t?t.concat(e).map(function(u,o){return u=Ao(u),!n&&o?"["+u+"]":u}).join(n?".":""):e}function mr(t){return C.isArray(t)&&!t.some(su)}const Cr=C.toFlatObject(C,{},null,function(t){return/^is[A-Z]/.test(t)});function Pn(t,e,n){if(!C.isObject(t))throw new TypeError("target must be an object");e=e||new FormData,n=C.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(g,w){return!C.isUndefined(w[g])});const u=n.metaTokens,o=n.visitor||p,a=n.dots,r=n.indexes,c=(n.Blob||typeof Blob<"u"&&Blob)&&C.isSpecCompliantForm(e);if(!C.isFunction(o))throw new TypeError("visitor must be a function");function d(g){if(g===null)return"";if(C.isDate(g))return g.toISOString();if(!c&&C.isBlob(g))throw new O("Blob is not supported. Use a Buffer instead.");return C.isArrayBuffer(g)||C.isTypedArray(g)?c&&typeof Blob=="function"?new Blob([g]):fr.from(g):g}function p(g,w,k){let x=g;if(g&&!k&&typeof g=="object"){if(C.endsWith(w,"{}"))w=u?w:w.slice(0,-2),g=JSON.stringify(g);else if(C.isArray(g)&&mr(g)||(C.isFileList(g)||C.endsWith(w,"[]"))&&(x=C.toArray(g)))return w=Ao(w),x.forEach(function(D,_){!(C.isUndefined(D)||D===null)&&e.append(r===!0?di([w],_,a):r===null?w:w+"[]",d(D))}),!1}return su(g)?!0:(e.append(di(k,w,a),d(g)),!1)}const v=[],f=Object.assign(Cr,{defaultVisitor:p,convertValue:d,isVisitable:su});function y(g,w){if(!C.isUndefined(g)){if(v.indexOf(g)!==-1)throw Error("Circular reference detected in "+w.join("."));v.push(g),C.forEach(g,function(k,x){(!(C.isUndefined(k)||k===null)&&o.call(e,k,C.isString(x)?x.trim():x,w,f))===!0&&y(k,w?w.concat(x):[x])}),v.pop()}}if(!C.isObject(t))throw new TypeError("data must be an object");return y(t),e}function pi(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,function(n){return e[n]})}function Ou(t,e){this._pairs=[],t&&Pn(t,this,e)}const hi=Ou.prototype;hi.append=function(t,e){this._pairs.push([t,e])},hi.toString=function(t){const e=t?function(n){return t.call(this,n,pi)}:pi;return this._pairs.map(function(n){return e(n[0])+"="+e(n[1])},"").join("&")};function yr(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function wo(t,e,n){if(!e)return t;const u=n&&n.encode||yr;C.isFunction(n)&&(n={serialize:n});const o=n&&n.serialize;let a;if(o?a=o(e,n):a=C.isURLSearchParams(e)?e.toString():new Ou(e,n).toString(u),a){const r=t.indexOf("#");r!==-1&&(t=t.slice(0,r)),t+=(t.indexOf("?")===-1?"?":"&")+a}return t}class fi{constructor(){this.handlers=[]}use(e,n,u){return this.handlers.push({fulfilled:e,rejected:n,synchronous:u?u.synchronous:!1,runWhen:u?u.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){C.forEach(this.handlers,function(n){n!==null&&e(n)})}}const Bo={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Er=typeof URLSearchParams<"u"?URLSearchParams:Ou,kr=typeof FormData<"u"?FormData:null,br=typeof Blob<"u"?Blob:null,Ar={isBrowser:!0,classes:{URLSearchParams:Er,FormData:kr,Blob:br},protocols:["http","https","file","blob","url","data"]},Ru=typeof window<"u"&&typeof document<"u",ru=typeof navigator=="object"&&navigator||void 0,wr=Ru&&(!ru||["ReactNative","NativeScript","NS"].indexOf(ru.product)<0),Br=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",xr=Ru&&window.location.href||"http://localhost",_r=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Ru,hasStandardBrowserEnv:wr,hasStandardBrowserWebWorkerEnv:Br,navigator:ru,origin:xr},Symbol.toStringTag,{value:"Module"})),ut={..._r,...Ar};function Sr(t,e){return Pn(t,new ut.classes.URLSearchParams,Object.assign({visitor:function(n,u,o,a){return ut.isNode&&C.isBuffer(n)?(this.append(u,n.toString("base64")),!1):a.defaultVisitor.apply(this,arguments)}},e))}function Dr(t){return C.matchAll(/\w+|\[(\w*)]/g,t).map(e=>e[0]==="[]"?"":e[1]||e[0])}function Fr(t){const e={},n=Object.keys(t);let u;const o=n.length;let a;for(u=0;u=n.length;return r=!r&&C.isArray(o)?o.length:r,d?(C.hasOwnProp(o,r)?o[r]=[o[r],u]:o[r]=u,!c):((!o[r]||!C.isObject(o[r]))&&(o[r]=[]),e(n,u,o[r],a)&&C.isArray(o[r])&&(o[r]=Fr(o[r])),!c)}if(C.isFormData(t)&&C.isFunction(t.entries)){const n={};return C.forEachEntry(t,(u,o)=>{e(Dr(u),o,n,0)}),n}return null}function Pr(t,e,n){if(C.isString(t))try{return(e||JSON.parse)(t),C.trim(t)}catch(u){if(u.name!=="SyntaxError")throw u}return(n||JSON.stringify)(t)}const Ge={transitional:Bo,adapter:["xhr","http","fetch"],transformRequest:[function(t,e){const n=e.getContentType()||"",u=n.indexOf("application/json")>-1,o=C.isObject(t);if(o&&C.isHTMLForm(t)&&(t=new FormData(t)),C.isFormData(t))return u?JSON.stringify(xo(t)):t;if(C.isArrayBuffer(t)||C.isBuffer(t)||C.isStream(t)||C.isFile(t)||C.isBlob(t)||C.isReadableStream(t))return t;if(C.isArrayBufferView(t))return t.buffer;if(C.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let a;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return Sr(t,this.formSerializer).toString();if((a=C.isFileList(t))||n.indexOf("multipart/form-data")>-1){const r=this.env&&this.env.FormData;return Pn(a?{"files[]":t}:t,r&&new r,this.formSerializer)}}return o||u?(e.setContentType("application/json",!1),Pr(t)):t}],transformResponse:[function(t){const e=this.transitional||Ge.transitional,n=e&&e.forcedJSONParsing,u=this.responseType==="json";if(C.isResponse(t)||C.isReadableStream(t))return t;if(t&&C.isString(t)&&(n&&!this.responseType||u)){const o=!(e&&e.silentJSONParsing)&&u;try{return JSON.parse(t)}catch(a){if(o)throw a.name==="SyntaxError"?O.from(a,O.ERR_BAD_RESPONSE,this,null,this.response):a}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:ut.classes.FormData,Blob:ut.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};C.forEach(["delete","get","head","post","put","patch"],t=>{Ge.headers[t]={}});const Nr=C.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Or=t=>{const e={};let n,u,o;return t&&t.split(` +import{y as vn,A as Wa,t as Ka,j as qa,B as Za,V as ye,C as vo,k as Qt,d as Ya,w as Ja,z as Xa,f as Qa,q as ts,c as uu,g as es}from"./translation-CD_FiYBO-DvZn3gAh.chunk.mjs";import{p as oi,c as ns,o as us}from"./logger-BtUR_6uh.chunk.mjs";const hp=(t,e,n)=>{var u;const o=Object.assign({ocsVersion:2},{}).ocsVersion===1?1:2;return((u=void 0)!=null?u:os())+"/ocs/v"+o+".php"+iu(t,e)},iu=(t,e,n)=>{const u=Object.assign({escape:!0},{}),o=function(a,r){return r=r||{},a.replace(/{([^{}]*)}/g,function(c,d){const p=r[d];return u.escape?encodeURIComponent(typeof p=="string"||typeof p=="number"?p.toString():c):typeof p=="string"||typeof p=="number"?p.toString():c})};return t.charAt(0)!=="/"&&(t="/"+t),o(t,e||{})},is=(t,e,n)=>{var u,o,a;const r=Object.assign({noRewrite:!1},{}),c=(u=void 0)!=null?u:Du();return((a=(o=window?.OC)==null?void 0:o.config)==null?void 0:a.modRewriteWorking)===!0&&!r.noRewrite?c+iu(t,e):c+"/index.php"+iu(t,e)},fp=(t,e)=>e.includes(".")?ai(t,"img",e):ai(t,"img","".concat(e,".svg")),ai=(t,e,n)=>{var u,o,a;const r=(a=(o=(u=window?.OC)==null?void 0:u.coreApps)==null?void 0:o.includes(t))!=null?a:!1,c=n.slice(-3)==="php";let d=Du();return c&&!r?(d+="/index.php/apps/".concat(t),d+="/".concat(encodeURI(e)),n!=="index.php"&&(d+="/".concat(n))):!c&&!r?(d=as(t),d+="/".concat(e,"/"),d.at(-1)!=="/"&&(d+="/"),d+=n):(d+="/".concat(t),d+="/".concat(e),d+="/".concat(n)),d},os=()=>window.location.protocol+"//"+window.location.host+Du();function Du(){let t=window._oc_webroot;if(typeof t>"u"){t=location.pathname;const e=t.indexOf("/index.php/");if(e!==-1)t=t.slice(0,e);else{const n=t.indexOf("/",1);t=t.slice(0,n>0?n:void 0)}}return t}function as(t){var e,n;return(n=((e=window._oc_appswebroots)!=null?e:{})[t])!=null?n:""}class ss{debug=!1;language="en";translations={};setLanguage(e){return this.language=e,this}detectLocale(){return this.detectLanguage()}detectLanguage(){return this.setLanguage(vn().replace("-","_"))}addTranslation(e,n){return this.translations[e]=n,this}enableDebugMode(){return this.debug=!0,this}build(){this.debug&&console.debug(`Creating gettext instance for language ${this.language}`);const e=Object.values(this.translations[this.language]?.translations[""]??{}).map(({msgid:u,msgid_plural:o,msgstr:a})=>o!==void 0?[`_${u}_::_${o}_`,a]:[u,a[0]]),n={pluralFunction:u=>Wa(u,this.language),translations:Object.fromEntries(e)};return new rs(n)}}class rs{constructor(e){this.bundle=e}gettext(e,n={}){return Ka("",e,n,void 0,{bundle:this.bundle})}ngettext(e,n,u,o={}){return qa("",e,n,u,o,{bundle:this.bundle})}}function ls(){return new ss}const co=ls().setLanguage(vn());let cn=co.build();const vs=(...t)=>cn.ngettext(...t),Rt=(...t)=>cn.gettext(...t);function Fu(...t){for(const e of t)if(!e.registered){for(const{l:n,t:u}of e){if(n!==vn()||!u)continue;const o=Object.fromEntries(Object.entries(u).map(([a,r])=>[a,{msgid:a,msgid_plural:r.p,msgstr:r.v}]));cn=co.addTranslation(vn(),{translations:{"":{...cn.bundle.translations?.[""]??{},...o}}}).build()}e.registered=!0}}const gp=[{l:"af",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"ar",t:{"a few seconds ago":{v:["منذ عدة ثوانٍ"]},"sec. ago":{v:["ثانية مضت"]},"seconds ago":{v:["ثوانٍ مضت"]}}},{l:"ast",t:{"a few seconds ago":{v:["hai unos segundos"]},"sec. ago":{v:["hai segs"]},"seconds ago":{v:["hai segundos"]}}},{l:"az",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"be",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"bg",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"bn_BD",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"br",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"bs",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"ca",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"cs",t:{"a few seconds ago":{v:["před několika sekundami"]},"sec. ago":{v:["sek. před"]},"seconds ago":{v:["sekund předtím"]}}},{l:"cs_CZ",t:{"a few seconds ago":{v:["před několika sekundami"]},"sec. ago":{v:["sek. před"]},"seconds ago":{v:["sekund předtím"]}}},{l:"cy_GB",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"da",t:{"a few seconds ago":{v:["et par sekunder siden"]},"sec. ago":{v:["sek. siden"]},"seconds ago":{v:["sekunder siden"]}}},{l:"de",t:{"a few seconds ago":{v:["vor ein paar Sekunden"]},"sec. ago":{v:["Sek. zuvor"]},"seconds ago":{v:["Sekunden zuvor"]}}},{l:"de_DE",t:{"a few seconds ago":{v:["vor ein paar Sekunden"]},"sec. ago":{v:["Sek. zuvor"]},"seconds ago":{v:["Sekunden zuvor"]}}},{l:"el",t:{"a few seconds ago":{v:["πριν λίγα δευτερόλεπτα"]},"sec. ago":{v:["δευτ. πριν"]},"seconds ago":{v:["δευτερόλεπτα πριν"]}}},{l:"en_GB",t:{"a few seconds ago":{v:["a few seconds ago"]},"sec. ago":{v:["sec. ago"]},"seconds ago":{v:["seconds ago"]}}},{l:"eo",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"es",t:{"a few seconds ago":{v:["hace unos pocos segundos"]},"sec. ago":{v:["hace segundos"]},"seconds ago":{v:["segundos atrás"]}}},{l:"es_419",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"es_AR",t:{"a few seconds ago":{v:["hace unos segundos"]},"sec. ago":{v:["seg. atrás"]},"seconds ago":{v:["segundos atrás"]}}},{l:"es_CL",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"es_CO",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"es_CR",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"es_DO",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"es_EC",t:{"a few seconds ago":{v:["hace unos segundos"]},"sec. ago":{v:["hace segundos"]},"seconds ago":{v:["Segundos atrás"]}}},{l:"es_GT",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"es_HN",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"es_MX",t:{"a few seconds ago":{v:["hace unos segundos"]},"sec. ago":{v:["seg. atrás"]},"seconds ago":{v:["segundos atrás"]}}},{l:"es_NI",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"es_PA",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"es_PE",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"es_PR",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"es_PY",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"es_SV",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"es_UY",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"et_EE",t:{"a few seconds ago":{v:["mõni sekund tagasi"]},"sec. ago":{v:["sek. tagasi"]},"seconds ago":{v:["sekundit tagasi"]}}},{l:"eu",t:{"a few seconds ago":{v:["duela segundo batzuk"]},"sec. ago":{v:["duela seg."]},"seconds ago":{v:["duela segundo"]}}},{l:"fa",t:{"a few seconds ago":{v:["چند ثانیه پیش"]},"sec. ago":{v:["چند ثانیه پیش"]},"seconds ago":{v:["چند ثانیه پیش"]}}},{l:"fi",t:{"a few seconds ago":{v:["muutamia sekunteja sitten"]},"sec. ago":{v:["sek. sitten"]},"seconds ago":{v:["sekunteja sitten"]}}},{l:"fo",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"fr",t:{"a few seconds ago":{v:["il y a quelques instants"]},"sec. ago":{v:["il y a sec."]},"seconds ago":{v:["il y a quelques secondes"]}}},{l:"ga",t:{"a few seconds ago":{v:["cúpla soicind ó shin"]},"sec. ago":{v:["soic. ó shin"]},"seconds ago":{v:["soicind ó shin"]}}},{l:"gd",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"gl",t:{"a few seconds ago":{v:["hai uns segundos"]},"sec. ago":{v:["segs. atrás"]},"seconds ago":{v:["segundos atrás"]}}},{l:"he",t:{"a few seconds ago":{v:["לפני מספר שניות"]},"sec. ago":{v:["לפני מספר שניות"]},"seconds ago":{v:["לפני מס׳ שניות"]}}},{l:"hi_IN",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"hr",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"hsb",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"hu",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"hy",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"ia",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"id",t:{"a few seconds ago":{v:["beberapa detik yang lalu"]},"sec. ago":{v:["dtk. yang lalu"]},"seconds ago":{v:["beberapa detik lalu"]}}},{l:"ig",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"is",t:{"a few seconds ago":{v:["fyrir örfáum sekúndum síðan"]},"sec. ago":{v:["sek. síðan"]},"seconds ago":{v:["sekúndum síðan"]}}},{l:"it",t:{"a few seconds ago":{v:["pochi secondi fa"]},"sec. ago":{v:["sec. fa"]},"seconds ago":{v:["secondi fa"]}}},{l:"ja",t:{"a few seconds ago":{v:["数秒前"]},"sec. ago":{v:["秒前"]},"seconds ago":{v:["数秒前"]}}},{l:"ja_JP",t:{"a few seconds ago":{v:["数秒前"]},"sec. ago":{v:["秒前"]},"seconds ago":{v:["数秒前"]}}},{l:"ka",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"ka_GE",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"kab",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"kk",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"km",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"kn",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"ko",t:{"a few seconds ago":{v:["방금 전"]},"sec. ago":{v:["몇 초 전"]},"seconds ago":{v:["초 전"]}}},{l:"la",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"lb",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"lo",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"lt_LT",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"lv",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"mk",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"mn",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"mr",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"ms_MY",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"my",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"nb",t:{"a few seconds ago":{v:["noen få sekunder siden"]},"sec. ago":{v:["sek. siden"]},"seconds ago":{v:["sekunder siden"]}}},{l:"ne",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"nl",t:{"a few seconds ago":{v:["enkele seconden terug"]},"sec. ago":{v:["sec. geleden"]},"seconds ago":{v:["seconden geleden"]}}},{l:"nn_NO",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"oc",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"pl",t:{"a few seconds ago":{v:["kilka sekund temu"]},"sec. ago":{v:["sek. temu"]},"seconds ago":{v:["sekund temu"]}}},{l:"ps",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"pt_BR",t:{"a few seconds ago":{v:["alguns segundos atrás"]},"sec. ago":{v:["seg. atrás"]},"seconds ago":{v:["segundos atrás"]}}},{l:"pt_PT",t:{"a few seconds ago":{v:["há alguns segundos"]},"sec. ago":{v:["seg. atrás"]},"seconds ago":{v:["segundos atrás"]}}},{l:"ro",t:{"a few seconds ago":{v:["acum câteva secunde"]},"sec. ago":{v:["sec. în urmă"]},"seconds ago":{v:["secunde în urmă"]}}},{l:"ru",t:{"a few seconds ago":{v:["несколько секунд назад"]},"sec. ago":{v:["сек. назад"]},"seconds ago":{v:["секунд назад"]}}},{l:"sc",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"si",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"sk",t:{"a few seconds ago":{v:["pred chvíľou"]},"sec. ago":{v:["pred pár sekundami"]},"seconds ago":{v:["pred sekundami"]}}},{l:"sl",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"sq",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"sr",t:{"a few seconds ago":{v:["пре неколико секунди"]},"sec. ago":{v:["сек. раније"]},"seconds ago":{v:["секунди раније"]}}},{l:"sr@latin",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"sv",t:{"a few seconds ago":{v:["några sekunder sedan"]},"sec. ago":{v:["sek. sedan"]},"seconds ago":{v:["sekunder sedan"]}}},{l:"sw",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"ta",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"th",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"tk",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"tr",t:{"a few seconds ago":{v:["birkaç saniye önce"]},"sec. ago":{v:["sn. önce"]},"seconds ago":{v:["saniye önce"]}}},{l:"ug",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"uk",t:{"a few seconds ago":{v:["декілька секунд тому"]},"sec. ago":{v:["с тому"]},"seconds ago":{v:["с тому"]}}},{l:"ur_PK",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"uz",t:{"a few seconds ago":{v:["bir necha soniya oldin"]},"sec. ago":{v:["sek. oldin"]},"seconds ago":{v:["soniyalar oldin"]}}},{l:"vi",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}},{l:"zh_CN",t:{"a few seconds ago":{v:["几秒前"]},"sec. ago":{v:["几秒前"]},"seconds ago":{v:["几秒前"]}}},{l:"zh_HK",t:{"a few seconds ago":{v:["幾秒前"]},"sec. ago":{v:["秒前"]},"seconds ago":{v:["秒前"]}}},{l:"zh_TW",t:{"a few seconds ago":{v:["幾秒前"]},"sec. ago":{v:["秒前"]},"seconds ago":{v:["秒前"]}}},{l:"zu_ZA",t:{"a few seconds ago":{v:[""]},"sec. ago":{v:[""]},"seconds ago":{v:[""]}}}],mp=[{l:"af",t:{}},{l:"ar",t:{Acapulco:{v:["بازلائي مطفي"]},"Blue Violet":{v:["بنفسجي مشعشع"]},"Boston Blue":{v:["سماوي مطفي"]},Deluge:{v:["بنفسجي مطفي"]},Feldspar:{v:["وردي صخري"]},Gold:{v:["ذهبي"]},Mariner:{v:["أزرق بحري"]},"Nextcloud blue":{v:["أزرق نكست كلاود"]},Olivine:{v:["زيتي"]},Purple:{v:["بنفسجي"]},"Rosy brown":{v:["بُنِّي زهري"]},Whiskey:{v:["نبيذي"]}}},{l:"ast",t:{Acapulco:{v:["Acapulcu"]},"Blue Violet":{v:["Viola azulao"]},"Boston Blue":{v:["Azul Boston"]},Deluge:{v:["Deluge"]},Feldspar:{v:["Feldspar"]},Gold:{v:["Oru"]},Mariner:{v:["Marineru"]},"Nextcloud blue":{v:["Nextcloud azul"]},Olivine:{v:["Olivina"]},Purple:{v:["Moráu"]},"Rosy brown":{v:["Marrón arrosao"]},Whiskey:{v:["Whiskey"]}}},{l:"az",t:{}},{l:"be",t:{}},{l:"bg",t:{}},{l:"bn_BD",t:{}},{l:"br",t:{}},{l:"bs",t:{}},{l:"ca",t:{}},{l:"cs",t:{Acapulco:{v:["Akapulko"]},"Blue Violet":{v:["Modrofialová"]},"Boston Blue":{v:["Bostonská modrá"]},Deluge:{v:["Deluge"]},Feldspar:{v:["Živicová"]},Gold:{v:["Zlatá"]},Mariner:{v:["Námořnická"]},"Nextcloud blue":{v:["Nextcloud modrá"]},Olivine:{v:["Olivínová"]},Purple:{v:["Fialová"]},"Rosy brown":{v:["Růžovohnědá"]},Whiskey:{v:["Whisky"]}}},{l:"cs_CZ",t:{Acapulco:{v:["Akapulko"]},"Blue Violet":{v:["Modrofialová"]},"Boston Blue":{v:["Bostonská modrá"]},Deluge:{v:["Deluge"]},Feldspar:{v:["Živicová"]},Gold:{v:["Zlatá"]},Mariner:{v:["Námořnická"]},"Nextcloud blue":{v:["Nextcloud modrá"]},Olivine:{v:["Olivínová"]},Purple:{v:["Fialová"]},"Rosy brown":{v:["Růžovohnědá"]},Whiskey:{v:["Whisky"]}}},{l:"cy_GB",t:{}},{l:"da",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Blue Violet"]},"Boston Blue":{v:["Boston Blue"]},Deluge:{v:["Deluge"]},Feldspar:{v:["Feldspar"]},Gold:{v:["Guld"]},Mariner:{v:["Mariner"]},"Nextcloud blue":{v:["Nextcloud blue"]},Olivine:{v:["Olivine"]},Purple:{v:["Lilla"]},"Rosy brown":{v:["Rosy brown"]},Whiskey:{v:["Whiskey"]}}},{l:"de",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Blau Violett"]},"Boston Blue":{v:["Boston-Blau"]},Deluge:{v:["Sintflut"]},Feldspar:{v:["Feldspat"]},Gold:{v:["Gold"]},Mariner:{v:["Seemann"]},"Nextcloud blue":{v:["Nextcloud Blau"]},Olivine:{v:["Olivin"]},Purple:{v:["Lila"]},"Rosy brown":{v:["Rosiges Braun"]},Whiskey:{v:["Whiskey"]}}},{l:"de_DE",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Blau Violett"]},"Boston Blue":{v:["Boston-Blau"]},Deluge:{v:["Sintflut"]},Feldspar:{v:["Feldspat"]},Gold:{v:["Gold"]},Mariner:{v:["Seemann"]},"Nextcloud blue":{v:["Nextcloud Blau"]},Olivine:{v:["Olivin"]},Purple:{v:["Lila"]},"Rosy brown":{v:["Rosiges Braun"]},Whiskey:{v:["Whiskey"]}}},{l:"el",t:{Acapulco:{v:["Ακαπούλκο"]},"Blue Violet":{v:["Μπλε Βιολέτ"]},"Boston Blue":{v:["Μπλε Βοστώνης"]},Deluge:{v:["Deluge"]},Feldspar:{v:["Feldspar"]},Gold:{v:["Χρυσό"]},Mariner:{v:["Mariner"]},"Nextcloud blue":{v:["Μπλε Nextcloud"]},Olivine:{v:["Olivine"]},Purple:{v:["Μωβ"]},"Rosy brown":{v:["Ροζ καφέ"]},Whiskey:{v:["Ουίσκι"]}}},{l:"en_GB",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Blue Violet"]},"Boston Blue":{v:["Boston Blue"]},Deluge:{v:["Deluge"]},Feldspar:{v:["Feldspar"]},Gold:{v:["Gold"]},Mariner:{v:["Mariner"]},"Nextcloud blue":{v:["Nextcloud blue"]},Olivine:{v:["Olivine"]},Purple:{v:["Purple"]},"Rosy brown":{v:["Rosy brown"]},Whiskey:{v:["Whiskey"]}}},{l:"eo",t:{}},{l:"es",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Violeta Azul"]},"Boston Blue":{v:["Azul Boston"]},Deluge:{v:["Diluvio"]},Feldspar:{v:["Feldespato"]},Gold:{v:["Oro"]},Mariner:{v:["Marinero"]},"Nextcloud blue":{v:["Azul Nextcloud"]},Olivine:{v:["Olivino"]},Purple:{v:["Púrpura"]},"Rosy brown":{v:["Marrón rosáceo"]},Whiskey:{v:["Whiskey"]}}},{l:"es_419",t:{}},{l:"es_AR",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Violeta Azul"]},"Boston Blue":{v:["Azul Boston"]},Deluge:{v:["Diluvio"]},Feldspar:{v:["Feldespato"]},Gold:{v:["Oro"]},Mariner:{v:["Marinero"]},"Nextcloud blue":{v:["Azul Nextcloud"]},Olivine:{v:["Olivino"]},Purple:{v:["Púrpura"]},"Rosy brown":{v:["Marrón rosáceo"]},Whiskey:{v:["Whiskey"]}}},{l:"es_CL",t:{}},{l:"es_CO",t:{}},{l:"es_CR",t:{}},{l:"es_DO",t:{}},{l:"es_EC",t:{}},{l:"es_GT",t:{}},{l:"es_HN",t:{}},{l:"es_MX",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Violeta Azul"]},"Boston Blue":{v:["Azul Boston"]},Deluge:{v:["Diluvio"]},Feldspar:{v:["Feldespato"]},Gold:{v:["Oro"]},Mariner:{v:["Marinero"]},"Nextcloud blue":{v:["Azul Nextcloud"]},Olivine:{v:["Olivino"]},Purple:{v:["Púrpura"]},"Rosy brown":{v:["Marrón rosáceo"]},Whiskey:{v:["Whiskey"]}}},{l:"es_NI",t:{}},{l:"es_PA",t:{}},{l:"es_PE",t:{}},{l:"es_PR",t:{}},{l:"es_PY",t:{}},{l:"es_SV",t:{}},{l:"es_UY",t:{}},{l:"et_EE",t:{Acapulco:{v:["Acapulco meresinine"]},"Blue Violet":{v:["Sinakasvioletne"]},"Boston Blue":{v:["Bostoni rohekassinine"]},Deluge:{v:["Tulvavee lilla"]},Feldspar:{v:["Põlevkivipruun"]},Gold:{v:["Kuldne"]},Mariner:{v:["Meresinine"]},"Nextcloud blue":{v:["Nextcloudi sinine"]},Olivine:{v:["Oliiviroheline"]},Purple:{v:["Purpurpunane"]},"Rosy brown":{v:["Roosikarva pruun"]},Whiskey:{v:["Viskikarva kollakaspruun"]}}},{l:"eu",t:{}},{l:"fa",t:{Acapulco:{v:["آکاپولکو"]},"Blue Violet":{v:["بنفش آبی"]},"Boston Blue":{v:["آبی بوستونی"]},Deluge:{v:["سیل"]},Feldspar:{v:["فلدسپات"]},Gold:{v:["طلا"]},Mariner:{v:["مارینر"]},"Nextcloud blue":{v:["نکس کلود آبی"]},Olivine:{v:["الیوین"]},Purple:{v:["بنفش"]},"Rosy brown":{v:["قهوه‌ای رز"]},Whiskey:{v:["ویسکی"]}}},{l:"fi",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Sinivioletti"]},"Boston Blue":{v:["Bostoninsininen"]},Deluge:{v:["Tulva"]},Feldspar:{v:["Feldspar"]},Gold:{v:["Kulta"]},Mariner:{v:["Merenkulkija"]},"Nextcloud blue":{v:["Nextcloudin sininen"]},Olivine:{v:["Oliviini"]},Purple:{v:["Purppura"]},"Rosy brown":{v:["Ruusunruskea"]},Whiskey:{v:["Viski"]}}},{l:"fo",t:{}},{l:"fr",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Bleu violet"]},"Boston Blue":{v:["Bleu de Boston"]},Deluge:{v:["Deluge"]},Feldspar:{v:["Feldspar"]},Gold:{v:["Doré"]},Mariner:{v:["Mariner"]},"Nextcloud blue":{v:["Bleu Nextcloud"]},Olivine:{v:["Olivine"]},Purple:{v:["Violet"]},"Rosy brown":{v:["Brun rosé"]},Whiskey:{v:["Whiskey"]}}},{l:"ga",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Gorm Violet"]},"Boston Blue":{v:["Bostún Gorm"]},Deluge:{v:["Díle"]},Feldspar:{v:["Feldspar"]},Gold:{v:["Óir"]},Mariner:{v:["Mairnéalach"]},"Nextcloud blue":{v:["Nextcloud gorm"]},Olivine:{v:["Olaivín"]},Purple:{v:["Corcra"]},"Rosy brown":{v:["Rosach donn"]},Whiskey:{v:["Fuisce"]}}},{l:"gd",t:{}},{l:"gl",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Azul violeta"]},"Boston Blue":{v:["Azul Boston"]},Deluge:{v:["Diluvio"]},Feldspar:{v:["Feldespato"]},Gold:{v:["Ouro"]},Mariner:{v:["Marino"]},"Nextcloud blue":{v:["Nextcloud azul"]},Olivine:{v:["Olivina"]},Purple:{v:["Púrpura"]},"Rosy brown":{v:["Pardo rosado"]},Whiskey:{v:["Whisky"]}}},{l:"he",t:{}},{l:"hi_IN",t:{}},{l:"hr",t:{}},{l:"hsb",t:{}},{l:"hu",t:{}},{l:"hy",t:{}},{l:"ia",t:{}},{l:"id",t:{Gold:{v:["Emas"]},"Nextcloud blue":{v:["Biru Nextcloud"]},Purple:{v:["Ungu"]}}},{l:"ig",t:{}},{l:"is",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Bláklukka"]},"Boston Blue":{v:["Bostonblátt"]},Deluge:{v:["Fjólublátt"]},Feldspar:{v:["Feldspat"]},Gold:{v:["Gull"]},Mariner:{v:["Sjóarablátt"]},"Nextcloud blue":{v:["Nextcloud blátt"]},Olivine:{v:["Ólivín"]},Purple:{v:["Purpurablátt"]},"Rosy brown":{v:["Rósabrúnt"]},Whiskey:{v:["Viský"]}}},{l:"it",t:{Gold:{v:["Oro"]},"Nextcloud blue":{v:["Nextcloud blue"]},Purple:{v:["Viola"]}}},{l:"ja",t:{Acapulco:{v:["アカプルコ"]},"Blue Violet":{v:["ブルーバイオレット"]},"Boston Blue":{v:["ボストンブルー"]},Deluge:{v:["豪雨"]},Feldspar:{v:["長石"]},Gold:{v:["黄金"]},Mariner:{v:["船乗り"]},"Nextcloud blue":{v:["ネクストクラウド・ブルー"]},Olivine:{v:["カンラン石"]},Purple:{v:["紫色"]},"Rosy brown":{v:["バラ色"]},Whiskey:{v:["ウイスキー"]}}},{l:"ja_JP",t:{Acapulco:{v:["アカプルコ"]},"Blue Violet":{v:["ブルーバイオレット"]},"Boston Blue":{v:["ボストンブルー"]},Deluge:{v:["豪雨"]},Feldspar:{v:["長石"]},Gold:{v:["黄金"]},Mariner:{v:["船乗り"]},"Nextcloud blue":{v:["ネクストクラウド・ブルー"]},Olivine:{v:["カンラン石"]},Purple:{v:["紫色"]},"Rosy brown":{v:["バラ色"]},Whiskey:{v:["ウイスキー"]}}},{l:"ka",t:{}},{l:"ka_GE",t:{}},{l:"kab",t:{}},{l:"kk",t:{}},{l:"km",t:{}},{l:"kn",t:{}},{l:"ko",t:{Acapulco:{v:["아카풀코"]},"Blue Violet":{v:["푸른 보라"]},"Boston Blue":{v:["보스턴 블루"]},Deluge:{v:["폭우"]},Feldspar:{v:["장석"]},Gold:{v:["금"]},Mariner:{v:["뱃사람"]},"Nextcloud blue":{v:["Nextcloud 파랑"]},Olivine:{v:["감람석"]},Purple:{v:["보라"]},"Rosy brown":{v:["로지 브라운"]},Whiskey:{v:["위스키"]}}},{l:"la",t:{}},{l:"lb",t:{}},{l:"lo",t:{}},{l:"lt_LT",t:{}},{l:"lv",t:{}},{l:"mk",t:{}},{l:"mn",t:{}},{l:"mr",t:{}},{l:"ms_MY",t:{}},{l:"my",t:{}},{l:"nb",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Blå fiolett"]},"Boston Blue":{v:["Boston blå"]},Deluge:{v:["Syndflod"]},Feldspar:{v:["Feltspat"]},Gold:{v:["Gull"]},Mariner:{v:["Mariner"]},"Nextcloud blue":{v:["Nextcloud-blå"]},Olivine:{v:["Olivin"]},Purple:{v:["Lilla"]},"Rosy brown":{v:["Rosenrød brun"]},Whiskey:{v:["Whiskey"]}}},{l:"ne",t:{}},{l:"nl",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Blauw Paars"]},"Boston Blue":{v:["Boston Blauw"]},Deluge:{v:["Deluge"]},Feldspar:{v:["Veldspaat"]},Gold:{v:["Goud"]},Mariner:{v:["Marine blauw"]},"Nextcloud blue":{v:["Nextcloud blauw"]},Olivine:{v:["Olivijn"]},Purple:{v:["Paars"]},"Rosy brown":{v:["Rozig bruin"]},Whiskey:{v:["Whiskey"]}}},{l:"nn_NO",t:{}},{l:"oc",t:{}},{l:"pl",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Niebieski fiolet"]},"Boston Blue":{v:["Błękit Bostonu"]},Deluge:{v:["Potop"]},Feldspar:{v:["Skaleń"]},Gold:{v:["Złote"]},Mariner:{v:["Marynarz"]},"Nextcloud blue":{v:["Niebieskie Nextcloud"]},Olivine:{v:["Oliwin"]},Purple:{v:["Fioletowy"]},"Rosy brown":{v:["Różowy brąz"]},Whiskey:{v:["Whisky"]}}},{l:"ps",t:{}},{l:"pt_BR",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Violeta Azul"]},"Boston Blue":{v:["Azul Boston"]},Deluge:{v:["Dilúvio"]},Feldspar:{v:["Feldspato"]},Gold:{v:["Ouro"]},Mariner:{v:["Marinheiro"]},"Nextcloud blue":{v:["azul Nextcloud"]},Olivine:{v:["Olivina"]},Purple:{v:["Roxo"]},"Rosy brown":{v:["Castanho rosado"]},Whiskey:{v:["Uísque"]}}},{l:"pt_PT",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Azul violeta"]},"Boston Blue":{v:["Azul Boston"]},Deluge:{v:["Deluge"]},Feldspar:{v:["Feldspar"]},Gold:{v:["Ouro"]},Mariner:{v:["Mariner"]},"Nextcloud blue":{v:["Nextcloud azul"]},Olivine:{v:["Olivine"]},Purple:{v:["Púrpura"]},"Rosy brown":{v:["Castanho rosado"]},Whiskey:{v:["Whiskey"]}}},{l:"ro",t:{Gold:{v:["Aur"]},"Nextcloud blue":{v:["Nextcloud albastru"]},Purple:{v:["Purpuriu"]}}},{l:"ru",t:{Acapulco:{v:["Акапулько"]},"Blue Violet":{v:["Синий фиолет"]},"Boston Blue":{v:["Синий Бостон"]},Deluge:{v:["Перламутрово-фиолетовый"]},Feldspar:{v:["Античная латунь"]},Gold:{v:["Золотой"]},Mariner:{v:["Морской"]},"Nextcloud blue":{v:["Nextcloud голубой"]},Olivine:{v:[" Оливковый"]},Purple:{v:["Фиолетовый"]},"Rosy brown":{v:["Розово-коричневый"]},Whiskey:{v:["Виски"]}}},{l:"sc",t:{}},{l:"si",t:{}},{l:"sk",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Modro fialová"]},"Boston Blue":{v:["Bostonská modrá"]},Deluge:{v:["Deluge"]},Feldspar:{v:["Živec"]},Gold:{v:["Zlatá"]},Mariner:{v:["Námorník"]},"Nextcloud blue":{v:["Nextcloud modrá"]},Olivine:{v:["Olivová"]},Purple:{v:["Fialová"]},"Rosy brown":{v:["Ružovo hnedá"]},Whiskey:{v:["Whisky"]}}},{l:"sl",t:{}},{l:"sq",t:{}},{l:"sr",t:{Acapulco:{v:["Акапулко"]},"Blue Violet":{v:["Плаво љубичаста"]},"Boston Blue":{v:["Бостон плава"]},Deluge:{v:["Поплава"]},Feldspar:{v:["Фелдспар"]},Gold:{v:["Злато"]},Mariner:{v:["Морнар"]},"Nextcloud blue":{v:["Nextcloud плава"]},Olivine:{v:["Маслинаста"]},Purple:{v:["Пурпурна"]},"Rosy brown":{v:["Роси браон"]},Whiskey:{v:["Виски"]}}},{l:"sr@latin",t:{}},{l:"sv",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["Blåviolett"]},"Boston Blue":{v:["Bostonblå"]},Deluge:{v:["Skyfallsblå"]},Feldspar:{v:["Feldspat"]},Gold:{v:["Guld"]},Mariner:{v:["Marinblå"]},"Nextcloud blue":{v:["Nextcloud-blå"]},Olivine:{v:["Olivin"]},Purple:{v:["Lila"]},"Rosy brown":{v:["Rosabrun"]},Whiskey:{v:["Whisky"]}}},{l:"sw",t:{}},{l:"ta",t:{}},{l:"th",t:{}},{l:"tk",t:{}},{l:"tr",t:{Acapulco:{v:["Akapulko"]},"Blue Violet":{v:["Mavi mor"]},"Boston Blue":{v:["Boston mavisi"]},Deluge:{v:["Sel"]},Feldspar:{v:["Feldispat"]},Gold:{v:["Altın"]},Mariner:{v:["Denizci"]},"Nextcloud blue":{v:["Nextcloud mavi"]},Olivine:{v:["Zeytinlik"]},Purple:{v:["Mor"]},"Rosy brown":{v:["Kırmızımsı kahverengi"]},Whiskey:{v:["Viski"]}}},{l:"ug",t:{}},{l:"uk",t:{Acapulco:{v:["Акапулько"]},"Blue Violet":{v:["Блакитна фіалка"]},"Boston Blue":{v:["Бостонський синій"]},Deluge:{v:["Злива"]},Feldspar:{v:["Польові шпати"]},Gold:{v:["Золотий"]},Mariner:{v:["Морський"]},"Nextcloud blue":{v:["Блакитний Nextcloud"]},Olivine:{v:["Олива"]},Purple:{v:["Фіолетовий"]},"Rosy brown":{v:["Темно-рожевий"]},Whiskey:{v:["Кола"]}}},{l:"ur_PK",t:{}},{l:"uz",t:{Acapulco:{v:["Akapulko"]},"Blue Violet":{v:["Moviy binafsha"]},"Boston Blue":{v:["Boston ko'k"]},Deluge:{v:["To'fon"]},Feldspar:{v:["Feldspar"]},Gold:{v:["Oltin"]},Mariner:{v:["Dengizchi"]},"Nextcloud blue":{v:["Ko'k Nextcloud "]},Olivine:{v:["Olivine"]},Purple:{v:["Binafsha"]},"Rosy brown":{v:["Qizil jigarrang"]},Whiskey:{v:["Whiskey"]}}},{l:"vi",t:{}},{l:"zh_CN",t:{Acapulco:{v:["Acapulco"]},"Blue Violet":{v:["瓦罗兰特蓝"]},"Boston Blue":{v:["波士顿蓝"]},Deluge:{v:["洪水色"]},Feldspar:{v:["长石"]},Gold:{v:["金色"]},Mariner:{v:["水手"]},"Nextcloud blue":{v:["Nextcloud 蓝"]},Olivine:{v:["橄榄石色"]},Purple:{v:["紫色"]},"Rosy brown":{v:["玫瑰棕色"]},Whiskey:{v:["威士忌"]}}},{l:"zh_HK",t:{Acapulco:{v:["阿卡普爾科"]},"Blue Violet":{v:["藍紫色"]},"Boston Blue":{v:["波士頓藍"]},Deluge:{v:["大洪水"]},Feldspar:{v:["長石"]},Gold:{v:["Gold"]},Mariner:{v:["海軍藍"]},"Nextcloud blue":{v:["Nextcloud 藍色"]},Olivine:{v:["橄欖石色"]},Purple:{v:["紫色"]},"Rosy brown":{v:["玫瑰棕色"]},Whiskey:{v:["威士忌"]}}},{l:"zh_TW",t:{}},{l:"zu_ZA",t:{}}],cs=[{l:"af",t:{Actions:{v:[""]}}},{l:"ar",t:{Actions:{v:["إجراءات"]}}},{l:"ast",t:{Actions:{v:["Aiciones"]}}},{l:"az",t:{Actions:{v:[""]}}},{l:"be",t:{Actions:{v:[""]}}},{l:"bg",t:{Actions:{v:[""]}}},{l:"bn_BD",t:{Actions:{v:[""]}}},{l:"br",t:{Actions:{v:["Oberioù"]}}},{l:"bs",t:{Actions:{v:[""]}}},{l:"ca",t:{Actions:{v:["Accions"]}}},{l:"cs",t:{Actions:{v:["Akce"]}}},{l:"cs_CZ",t:{Actions:{v:["Akce"]}}},{l:"cy_GB",t:{Actions:{v:[""]}}},{l:"da",t:{Actions:{v:["Handlinger"]}}},{l:"de",t:{Actions:{v:["Aktionen"]}}},{l:"de_DE",t:{Actions:{v:["Aktionen"]}}},{l:"el",t:{Actions:{v:["Ενέργειες"]}}},{l:"en_GB",t:{Actions:{v:["Actions"]}}},{l:"eo",t:{Actions:{v:["Agoj"]}}},{l:"es",t:{Actions:{v:["Acciones"]}}},{l:"es_419",t:{Actions:{v:[""]}}},{l:"es_AR",t:{Actions:{v:["Acciones"]}}},{l:"es_CL",t:{Actions:{v:[""]}}},{l:"es_CO",t:{Actions:{v:[""]}}},{l:"es_CR",t:{Actions:{v:[""]}}},{l:"es_DO",t:{Actions:{v:[""]}}},{l:"es_EC",t:{Actions:{v:["Acciones"]}}},{l:"es_GT",t:{Actions:{v:[""]}}},{l:"es_HN",t:{Actions:{v:[""]}}},{l:"es_MX",t:{Actions:{v:["Acciones"]}}},{l:"es_NI",t:{Actions:{v:[""]}}},{l:"es_PA",t:{Actions:{v:[""]}}},{l:"es_PE",t:{Actions:{v:[""]}}},{l:"es_PR",t:{Actions:{v:[""]}}},{l:"es_PY",t:{Actions:{v:[""]}}},{l:"es_SV",t:{Actions:{v:[""]}}},{l:"es_UY",t:{Actions:{v:[""]}}},{l:"et_EE",t:{Actions:{v:["Tegevus"]}}},{l:"eu",t:{Actions:{v:["Ekintzak"]}}},{l:"fa",t:{Actions:{v:["کنش‌ها"]}}},{l:"fi",t:{Actions:{v:["Toiminnot"]}}},{l:"fo",t:{Actions:{v:[""]}}},{l:"fr",t:{Actions:{v:["Actions"]}}},{l:"ga",t:{Actions:{v:["Gníomhartha"]}}},{l:"gd",t:{Actions:{v:[""]}}},{l:"gl",t:{Actions:{v:["Accións"]}}},{l:"he",t:{Actions:{v:["פעולות"]}}},{l:"hi_IN",t:{Actions:{v:[""]}}},{l:"hr",t:{Actions:{v:[""]}}},{l:"hsb",t:{Actions:{v:[""]}}},{l:"hu",t:{Actions:{v:["Műveletek"]}}},{l:"hy",t:{Actions:{v:[""]}}},{l:"ia",t:{Actions:{v:[""]}}},{l:"id",t:{Actions:{v:["Tindakan"]}}},{l:"ig",t:{Actions:{v:[""]}}},{l:"is",t:{Actions:{v:["Aðgerðir"]}}},{l:"it",t:{Actions:{v:["Azioni"]}}},{l:"ja",t:{Actions:{v:["操作"]}}},{l:"ja_JP",t:{Actions:{v:["操作"]}}},{l:"ka",t:{Actions:{v:[""]}}},{l:"ka_GE",t:{Actions:{v:[""]}}},{l:"kab",t:{Actions:{v:[""]}}},{l:"kk",t:{Actions:{v:[""]}}},{l:"km",t:{Actions:{v:[""]}}},{l:"kn",t:{Actions:{v:[""]}}},{l:"ko",t:{Actions:{v:["동작"]}}},{l:"la",t:{Actions:{v:[""]}}},{l:"lb",t:{Actions:{v:[""]}}},{l:"lo",t:{Actions:{v:[""]}}},{l:"lt_LT",t:{Actions:{v:["Veiksmai"]}}},{l:"lv",t:{Actions:{v:[""]}}},{l:"mk",t:{Actions:{v:["Акции"]}}},{l:"mn",t:{Actions:{v:[""]}}},{l:"mr",t:{Actions:{v:[""]}}},{l:"ms_MY",t:{Actions:{v:[""]}}},{l:"my",t:{Actions:{v:["လုပ်ဆောင်ချက်များ"]}}},{l:"nb",t:{Actions:{v:["Handlinger"]}}},{l:"ne",t:{Actions:{v:[""]}}},{l:"nl",t:{Actions:{v:["Acties"]}}},{l:"nn_NO",t:{Actions:{v:[""]}}},{l:"oc",t:{Actions:{v:["Accions"]}}},{l:"pl",t:{Actions:{v:["Działania"]}}},{l:"ps",t:{Actions:{v:[""]}}},{l:"pt_BR",t:{Actions:{v:["Ações"]}}},{l:"pt_PT",t:{Actions:{v:["Ações"]}}},{l:"ro",t:{Actions:{v:["Acțiuni"]}}},{l:"ru",t:{Actions:{v:["Действия "]}}},{l:"sc",t:{Actions:{v:[""]}}},{l:"si",t:{Actions:{v:[""]}}},{l:"sk",t:{Actions:{v:["Akcie"]}}},{l:"sl",t:{Actions:{v:["Dejanja"]}}},{l:"sq",t:{Actions:{v:[""]}}},{l:"sr",t:{Actions:{v:["Радње"]}}},{l:"sr@latin",t:{Actions:{v:[""]}}},{l:"sv",t:{Actions:{v:["Åtgärder"]}}},{l:"sw",t:{Actions:{v:[""]}}},{l:"ta",t:{Actions:{v:[""]}}},{l:"th",t:{Actions:{v:[""]}}},{l:"tk",t:{Actions:{v:[""]}}},{l:"tr",t:{Actions:{v:["İşlemler"]}}},{l:"ug",t:{Actions:{v:[""]}}},{l:"uk",t:{Actions:{v:["Дії"]}}},{l:"ur_PK",t:{Actions:{v:[""]}}},{l:"uz",t:{Actions:{v:["Harakatlar"]}}},{l:"vi",t:{Actions:{v:[""]}}},{l:"zh_CN",t:{Actions:{v:["行为"]}}},{l:"zh_HK",t:{Actions:{v:["動作"]}}},{l:"zh_TW",t:{Actions:{v:["動作"]}}},{l:"zu_ZA",t:{Actions:{v:[""]}}}],Cp=[{l:"af",t:{"Any link":{v:[""]}}},{l:"ar",t:{"Any link":{v:["أيَّ رابط"]}}},{l:"ast",t:{"Any link":{v:["Cualesquier enllaz"]}}},{l:"az",t:{"Any link":{v:[""]}}},{l:"be",t:{"Any link":{v:[""]}}},{l:"bg",t:{"Any link":{v:[""]}}},{l:"bn_BD",t:{"Any link":{v:[""]}}},{l:"br",t:{"Any link":{v:[""]}}},{l:"bs",t:{"Any link":{v:[""]}}},{l:"ca",t:{"Any link":{v:[""]}}},{l:"cs",t:{"Any link":{v:["Jakýkoli odkaz"]}}},{l:"cs_CZ",t:{"Any link":{v:["Jakýkoli odkaz"]}}},{l:"cy_GB",t:{"Any link":{v:[""]}}},{l:"da",t:{"Any link":{v:["Ethvert link"]}}},{l:"de",t:{"Any link":{v:["Irgendein Link"]}}},{l:"de_DE",t:{"Any link":{v:["Irgendein Link"]}}},{l:"el",t:{"Any link":{v:["Οποιοσδήποτε σύνδεσμος"]}}},{l:"en_GB",t:{"Any link":{v:["Any link"]}}},{l:"eo",t:{"Any link":{v:[""]}}},{l:"es",t:{"Any link":{v:["Cualquier enlace"]}}},{l:"es_419",t:{"Any link":{v:[""]}}},{l:"es_AR",t:{"Any link":{v:["Cualquier enlace"]}}},{l:"es_CL",t:{"Any link":{v:[""]}}},{l:"es_CO",t:{"Any link":{v:[""]}}},{l:"es_CR",t:{"Any link":{v:[""]}}},{l:"es_DO",t:{"Any link":{v:[""]}}},{l:"es_EC",t:{"Any link":{v:["Cualquier enlace"]}}},{l:"es_GT",t:{"Any link":{v:[""]}}},{l:"es_HN",t:{"Any link":{v:[""]}}},{l:"es_MX",t:{"Any link":{v:["Cualquier enlace"]}}},{l:"es_NI",t:{"Any link":{v:[""]}}},{l:"es_PA",t:{"Any link":{v:[""]}}},{l:"es_PE",t:{"Any link":{v:[""]}}},{l:"es_PR",t:{"Any link":{v:[""]}}},{l:"es_PY",t:{"Any link":{v:[""]}}},{l:"es_SV",t:{"Any link":{v:[""]}}},{l:"es_UY",t:{"Any link":{v:[""]}}},{l:"et_EE",t:{"Any link":{v:["Mistahes link"]}}},{l:"eu",t:{"Any link":{v:["Edozein esteka"]}}},{l:"fa",t:{"Any link":{v:["هر پیوندی"]}}},{l:"fi",t:{"Any link":{v:["Mikä tahansa linkki"]}}},{l:"fo",t:{"Any link":{v:[""]}}},{l:"fr",t:{"Any link":{v:["N'importe quel lien"]}}},{l:"ga",t:{"Any link":{v:["Aon nasc"]}}},{l:"gd",t:{"Any link":{v:[""]}}},{l:"gl",t:{"Any link":{v:["Calquera ligazón"]}}},{l:"he",t:{"Any link":{v:["קישור כלשהו"]}}},{l:"hi_IN",t:{"Any link":{v:[""]}}},{l:"hr",t:{"Any link":{v:[""]}}},{l:"hsb",t:{"Any link":{v:[""]}}},{l:"hu",t:{"Any link":{v:[""]}}},{l:"hy",t:{"Any link":{v:[""]}}},{l:"ia",t:{"Any link":{v:[""]}}},{l:"id",t:{"Any link":{v:["Semua tautan"]}}},{l:"ig",t:{"Any link":{v:[""]}}},{l:"is",t:{"Any link":{v:["Einhver tengill"]}}},{l:"it",t:{"Any link":{v:["Qualsiasi link"]}}},{l:"ja",t:{"Any link":{v:["任意のリンク"]}}},{l:"ja_JP",t:{"Any link":{v:["任意のリンク"]}}},{l:"ka",t:{"Any link":{v:[""]}}},{l:"ka_GE",t:{"Any link":{v:[""]}}},{l:"kab",t:{"Any link":{v:[""]}}},{l:"kk",t:{"Any link":{v:[""]}}},{l:"km",t:{"Any link":{v:[""]}}},{l:"kn",t:{"Any link":{v:[""]}}},{l:"ko",t:{"Any link":{v:["아무 링크"]}}},{l:"la",t:{"Any link":{v:[""]}}},{l:"lb",t:{"Any link":{v:[""]}}},{l:"lo",t:{"Any link":{v:[""]}}},{l:"lt_LT",t:{"Any link":{v:[""]}}},{l:"lv",t:{"Any link":{v:[""]}}},{l:"mk",t:{"Any link":{v:[""]}}},{l:"mn",t:{"Any link":{v:[""]}}},{l:"mr",t:{"Any link":{v:[""]}}},{l:"ms_MY",t:{"Any link":{v:[""]}}},{l:"my",t:{"Any link":{v:[""]}}},{l:"nb",t:{"Any link":{v:["Enhver lenke"]}}},{l:"ne",t:{"Any link":{v:[""]}}},{l:"nl",t:{"Any link":{v:["Elke link"]}}},{l:"nn_NO",t:{"Any link":{v:[""]}}},{l:"oc",t:{"Any link":{v:[""]}}},{l:"pl",t:{"Any link":{v:["Dowolny link"]}}},{l:"ps",t:{"Any link":{v:[""]}}},{l:"pt_BR",t:{"Any link":{v:["Qualquer link"]}}},{l:"pt_PT",t:{"Any link":{v:["Qualquer hiperligação"]}}},{l:"ro",t:{"Any link":{v:["Orice link"]}}},{l:"ru",t:{"Any link":{v:["Любая ссылка"]}}},{l:"sc",t:{"Any link":{v:[""]}}},{l:"si",t:{"Any link":{v:[""]}}},{l:"sk",t:{"Any link":{v:["Akýkoľvek odkaz"]}}},{l:"sl",t:{"Any link":{v:[""]}}},{l:"sq",t:{"Any link":{v:[""]}}},{l:"sr",t:{"Any link":{v:["Било који линк"]}}},{l:"sr@latin",t:{"Any link":{v:[""]}}},{l:"sv",t:{"Any link":{v:["Vilken länk som helst"]}}},{l:"sw",t:{"Any link":{v:[""]}}},{l:"ta",t:{"Any link":{v:[""]}}},{l:"th",t:{"Any link":{v:[""]}}},{l:"tk",t:{"Any link":{v:[""]}}},{l:"tr",t:{"Any link":{v:["Herhangi bir bağlantı"]}}},{l:"ug",t:{"Any link":{v:[""]}}},{l:"uk",t:{"Any link":{v:["Будь-яке посилання"]}}},{l:"ur_PK",t:{"Any link":{v:[""]}}},{l:"uz",t:{"Any link":{v:["Har qanday havola"]}}},{l:"vi",t:{"Any link":{v:[""]}}},{l:"zh_CN",t:{"Any link":{v:["任何链接"]}}},{l:"zh_HK",t:{"Any link":{v:["任何連結"]}}},{l:"zh_TW",t:{"Any link":{v:["任何連結"]}}},{l:"zu_ZA",t:{"Any link":{v:[""]}}}],yp=[{l:"af",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"ar",t:{"Avatar of {displayName}":{v:["صورة الملف الشخصي الرمزية لــ {displayName} "]},"Avatar of {displayName}, {status}":{v:["صورة الملف الشخصي الرمزية لــ {displayName}، {status}"]}}},{l:"ast",t:{"Avatar of {displayName}":{v:["Avatar de: {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar de: {displayName}, {status}"]}}},{l:"az",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"be",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"bg",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"bn_BD",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"br",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"bs",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"ca",t:{"Avatar of {displayName}":{v:["Avatar de {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar de {displayName}, {status}"]}}},{l:"cs",t:{"Avatar of {displayName}":{v:["Zástupný obrázek uživatele {displayName}"]},"Avatar of {displayName}, {status}":{v:["Zástupný obrázek uživatele {displayName}, {status}"]}}},{l:"cs_CZ",t:{"Avatar of {displayName}":{v:["Zástupný obrázek uživatele {displayName}"]},"Avatar of {displayName}, {status}":{v:["Zástupný obrázek uživatele {displayName}, {status}"]}}},{l:"cy_GB",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"da",t:{"Avatar of {displayName}":{v:["Avatar af {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar af {displayName}, {status}"]}}},{l:"de",t:{"Avatar of {displayName}":{v:["Avatar von {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar von {displayName}, {status}"]}}},{l:"de_DE",t:{"Avatar of {displayName}":{v:["Avatar von {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar von {displayName}, {status}"]}}},{l:"el",t:{"Avatar of {displayName}":{v:["Άβαταρ του {displayName}"]},"Avatar of {displayName}, {status}":{v:["Άβαταρ του {displayName}, {status}"]}}},{l:"en_GB",t:{"Avatar of {displayName}":{v:["Avatar of {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar of {displayName}, {status}"]}}},{l:"eo",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"es",t:{"Avatar of {displayName}":{v:["Avatar de {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar de {displayName}, {status}"]}}},{l:"es_419",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"es_AR",t:{"Avatar of {displayName}":{v:["Avatar de {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar de {displayName}, {status}"]}}},{l:"es_CL",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"es_CO",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"es_CR",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"es_DO",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"es_EC",t:{"Avatar of {displayName}":{v:["Avatar de {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar de {displayName}, {status}"]}}},{l:"es_GT",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"es_HN",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"es_MX",t:{"Avatar of {displayName}":{v:["Avatar de {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar de {displayName}, {status}"]}}},{l:"es_NI",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"es_PA",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"es_PE",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"es_PR",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"es_PY",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"es_SV",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"es_UY",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"et_EE",t:{"Avatar of {displayName}":{v:["Avatar {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar {displayName}, {status}"]}}},{l:"eu",t:{"Avatar of {displayName}":{v:["{displayName}-(e)n irudia"]},"Avatar of {displayName}, {status}":{v:["{displayName} -(e)n irudia, {status}"]}}},{l:"fa",t:{"Avatar of {displayName}":{v:["آواتار {displayName}"]},"Avatar of {displayName}, {status}":{v:["آواتار {displayName} ، {status}"]}}},{l:"fi",t:{"Avatar of {displayName}":{v:["{displayName}n avatar"]},"Avatar of {displayName}, {status}":{v:["{displayName}n avatar, {status}"]}}},{l:"fo",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"fr",t:{"Avatar of {displayName}":{v:["Avatar de {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar de {displayName}, {status}"]}}},{l:"ga",t:{"Avatar of {displayName}":{v:["Avatar de {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar de {displayName}, {status}"]}}},{l:"gd",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"gl",t:{"Avatar of {displayName}":{v:["Avatar de {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar de {displayName}, {status}"]}}},{l:"he",t:{"Avatar of {displayName}":{v:["תמונה ייצוגית של {displayName}"]},"Avatar of {displayName}, {status}":{v:["תמונה ייצוגית של {displayName}, {status}"]}}},{l:"hi_IN",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"hr",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"hsb",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"hu",t:{"Avatar of {displayName}":{v:["{displayName} profilképe"]},"Avatar of {displayName}, {status}":{v:["{displayName} profilképe, {status}"]}}},{l:"hy",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"ia",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"id",t:{"Avatar of {displayName}":{v:["Avatar {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar {displayName}, {status}"]}}},{l:"ig",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"is",t:{"Avatar of {displayName}":{v:["Auðkennismynd fyrir {displayName}"]},"Avatar of {displayName}, {status}":{v:["Auðkennismynd fyrir {displayName}, {status}"]}}},{l:"it",t:{"Avatar of {displayName}":{v:["Avatar di {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar di {displayName}, {status}"]}}},{l:"ja",t:{"Avatar of {displayName}":{v:["{displayName} のアバター"]},"Avatar of {displayName}, {status}":{v:["{displayName}, {status} のアバター"]}}},{l:"ja_JP",t:{"Avatar of {displayName}":{v:["{displayName} のアバター"]},"Avatar of {displayName}, {status}":{v:["{displayName}, {status} のアバター"]}}},{l:"ka",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"ka_GE",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"kab",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"kk",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"km",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"kn",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"ko",t:{"Avatar of {displayName}":{v:["{displayName}님의 아바타"]},"Avatar of {displayName}, {status}":{v:["{displayName}, {status}님의 아바타"]}}},{l:"la",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"lb",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"lo",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"lt_LT",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"lv",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"mk",t:{"Avatar of {displayName}":{v:["Аватар на {displayName}"]},"Avatar of {displayName}, {status}":{v:["Аватар на {displayName}, {status}"]}}},{l:"mn",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"mr",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"ms_MY",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"my",t:{"Avatar of {displayName}":{v:["{displayName} ၏ ကိုယ်ပွား"]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"nb",t:{"Avatar of {displayName}":{v:["Avataren til {displayName}"]},"Avatar of {displayName}, {status}":{v:["{displayName}'s avatar, {status}"]}}},{l:"ne",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"nl",t:{"Avatar of {displayName}":{v:["Avatar van {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar van {displayName}, {status}"]}}},{l:"nn_NO",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"oc",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"pl",t:{"Avatar of {displayName}":{v:["Awatar {displayName}"]},"Avatar of {displayName}, {status}":{v:["Awatar {displayName}, {status}"]}}},{l:"ps",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"pt_BR",t:{"Avatar of {displayName}":{v:["Avatar de {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar de {displayName}, {status}"]}}},{l:"pt_PT",t:{"Avatar of {displayName}":{v:["Avatar de {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar de {displayName}, {status}"]}}},{l:"ro",t:{"Avatar of {displayName}":{v:["Avatarul lui {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatarul lui {displayName}, {status}"]}}},{l:"ru",t:{"Avatar of {displayName}":{v:["Аватар {displayName}"]},"Avatar of {displayName}, {status}":{v:["Фотография {displayName}, {status}"]}}},{l:"sc",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"si",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"sk",t:{"Avatar of {displayName}":{v:["Avatar {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar {displayName}, {status}"]}}},{l:"sl",t:{"Avatar of {displayName}":{v:["Podoba {displayName}"]},"Avatar of {displayName}, {status}":{v:["Prikazna slika {displayName}, {status}"]}}},{l:"sq",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"sr",t:{"Avatar of {displayName}":{v:["Аватар за {displayName}"]},"Avatar of {displayName}, {status}":{v:["Avatar za {displayName}, {status}"]}}},{l:"sr@latin",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"sv",t:{"Avatar of {displayName}":{v:["{displayName}s avatar"]},"Avatar of {displayName}, {status}":{v:["{displayName}s avatar, {status}"]}}},{l:"sw",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"ta",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"th",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"tk",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"tr",t:{"Avatar of {displayName}":{v:["{displayName} avatarı"]},"Avatar of {displayName}, {status}":{v:["{displayName}, {status} avatarı"]}}},{l:"ug",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"uk",t:{"Avatar of {displayName}":{v:["Аватар {displayName}"]},"Avatar of {displayName}, {status}":{v:["Аватар {displayName}, {status}"]}}},{l:"ur_PK",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"uz",t:{"Avatar of {displayName}":{v:[" {displayName}Avatari"]},"Avatar of {displayName}, {status}":{v:["{displayName}, {status} Avatari"]}}},{l:"vi",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}},{l:"zh_CN",t:{"Avatar of {displayName}":{v:["{displayName}的头像"]},"Avatar of {displayName}, {status}":{v:["{displayName}的头像,{status}"]}}},{l:"zh_HK",t:{"Avatar of {displayName}":{v:["{displayName} 的頭像"]},"Avatar of {displayName}, {status}":{v:["{displayName} 的頭像,{status}"]}}},{l:"zh_TW",t:{"Avatar of {displayName}":{v:["{displayName} 的大頭照"]},"Avatar of {displayName}, {status}":{v:["{displayName}, {status} 的大頭照"]}}},{l:"zu_ZA",t:{"Avatar of {displayName}":{v:[""]},"Avatar of {displayName}, {status}":{v:[""]}}}],Ep=[{l:"af",t:{}},{l:"ar",t:{away:{v:["غير موجود"]},busy:{v:["مشغول"]},"do not disturb":{v:["يُرجى عدم الإزعاج"]},invisible:{v:["غير مرئي"]},offline:{v:["غير متصل"]},online:{v:["متصل"]}}},{l:"ast",t:{away:{v:["ausente"]},busy:{v:["ocupáu"]},"do not disturb":{v:["nun molestar"]},invisible:{v:["invisible"]},offline:{v:["desconectáu"]},online:{v:["en llinia"]}}},{l:"az",t:{}},{l:"be",t:{}},{l:"bg",t:{}},{l:"bn_BD",t:{}},{l:"br",t:{}},{l:"bs",t:{}},{l:"ca",t:{}},{l:"cs",t:{away:{v:["pryč"]},busy:{v:["zaneprádněn(a)"]},"do not disturb":{v:["nerušit"]},invisible:{v:["neviditelné"]},offline:{v:["offline"]},online:{v:["online"]}}},{l:"cs_CZ",t:{away:{v:["pryč"]},busy:{v:["zaneprádněn(a)"]},"do not disturb":{v:["nerušit"]},invisible:{v:["neviditelné"]},offline:{v:["offline"]},online:{v:["online"]}}},{l:"cy_GB",t:{}},{l:"da",t:{away:{v:["væk"]},busy:{v:["optaget"]},"do not disturb":{v:["forstyr ikke"]},invisible:{v:["usynlig"]},offline:{v:["offline"]},online:{v:["online"]}}},{l:"de",t:{away:{v:["Abwesend"]},busy:{v:["Beschäftigt"]},"do not disturb":{v:["Bitte nicht stören"]},invisible:{v:["Unsichtbar"]},offline:{v:["Offline"]},online:{v:["Online"]}}},{l:"de_DE",t:{away:{v:["Abwesend"]},busy:{v:["Beschäftigt"]},"do not disturb":{v:["Bitte nicht stören"]},invisible:{v:["Unsichtbar"]},offline:{v:["Offline"]},online:{v:["Online"]}}},{l:"el",t:{away:{v:["μακριά"]},busy:{v:["απασχολημένος"]},"do not disturb":{v:["μην ενοχλείτε"]},invisible:{v:["αόρατο"]},offline:{v:["εκτός σύνδεσης"]},online:{v:["συνδεδεμένος"]}}},{l:"en_GB",t:{away:{v:["away"]},busy:{v:["busy"]},"do not disturb":{v:["do not disturb"]},invisible:{v:["invisible"]},offline:{v:["offline"]},online:{v:["online"]}}},{l:"eo",t:{}},{l:"es",t:{away:{v:["ausente"]},busy:{v:["ocupado"]},"do not disturb":{v:["no molestar"]},invisible:{v:["invisible"]},offline:{v:["fuera de línea"]},online:{v:["en línea"]}}},{l:"es_419",t:{}},{l:"es_AR",t:{away:{v:["ausente"]},busy:{v:["ocupado"]},"do not disturb":{v:["no molestar"]},invisible:{v:["invisible"]},offline:{v:["desconectado"]},online:{v:["en línea"]}}},{l:"es_CL",t:{}},{l:"es_CO",t:{}},{l:"es_CR",t:{}},{l:"es_DO",t:{}},{l:"es_EC",t:{}},{l:"es_GT",t:{}},{l:"es_HN",t:{}},{l:"es_MX",t:{away:{v:["ausente"]},busy:{v:["ocupado"]},"do not disturb":{v:["no molestar"]},invisible:{v:["invisible"]},offline:{v:["fuera de línea"]},online:{v:["en línea"]}}},{l:"es_NI",t:{}},{l:"es_PA",t:{}},{l:"es_PE",t:{}},{l:"es_PR",t:{}},{l:"es_PY",t:{}},{l:"es_SV",t:{}},{l:"es_UY",t:{}},{l:"et_EE",t:{away:{v:["eemal"]},busy:{v:["hõivatud"]},"do not disturb":{v:["ära sega"]},invisible:{v:["nähtamatu"]},offline:{v:["pole võrgus"]},online:{v:["võrgus"]}}},{l:"eu",t:{}},{l:"fa",t:{away:{v:["دور از دستگاه"]},busy:{v:["مشغول"]},"do not disturb":{v:["مزاحم نشوید"]},invisible:{v:["مخفی"]},offline:{v:["برون‌خط"]},online:{v:["برخط"]}}},{l:"fi",t:{away:{v:["poissa"]},busy:{v:["varattu"]},"do not disturb":{v:["älä häiritse"]},invisible:{v:["näkymätön"]},offline:{v:["ei linjalla"]},online:{v:["linjalla"]}}},{l:"fo",t:{}},{l:"fr",t:{away:{v:["absent"]},busy:{v:["occupé"]},"do not disturb":{v:["ne pas déranger"]},invisible:{v:["invisible"]},offline:{v:["hors ligne"]},online:{v:["en ligne"]}}},{l:"ga",t:{away:{v:["ar shiúl"]},busy:{v:["gnóthach"]},"do not disturb":{v:["ná cur as"]},invisible:{v:["dofheicthe"]},offline:{v:["as líne"]},online:{v:["ar líne"]}}},{l:"gd",t:{}},{l:"gl",t:{away:{v:["ausente"]},busy:{v:["ocupado"]},"do not disturb":{v:["non molestar"]},invisible:{v:["invisíbel"]},offline:{v:["desconectado"]},online:{v:["conectado"]}}},{l:"he",t:{}},{l:"hi_IN",t:{}},{l:"hr",t:{}},{l:"hsb",t:{}},{l:"hu",t:{}},{l:"hy",t:{}},{l:"ia",t:{}},{l:"id",t:{away:{v:["tidak tersedia"]},"do not disturb":{v:["jangan ganggu"]},offline:{v:["luring"]},online:{v:["daring"]}}},{l:"ig",t:{}},{l:"is",t:{away:{v:["í burtu"]},busy:{v:["upptekin/n"]},"do not disturb":{v:["ekki ónáða"]},invisible:{v:["ósýnilegt"]},offline:{v:["ónettengt"]},online:{v:["nettengt"]}}},{l:"it",t:{away:{v:["via"]},"do not disturb":{v:["non disturbare"]},offline:{v:["offline"]},online:{v:["online"]}}},{l:"ja",t:{away:{v:["離れる"]},busy:{v:["ビジー"]},"do not disturb":{v:["邪魔をしないでください"]},invisible:{v:["不可視"]},offline:{v:["オフライン"]},online:{v:["オンライン"]}}},{l:"ja_JP",t:{away:{v:["離れる"]},busy:{v:["ビジー"]},"do not disturb":{v:["邪魔をしないでください"]},invisible:{v:["不可視"]},offline:{v:["オフライン"]},online:{v:["オンライン"]}}},{l:"ka",t:{}},{l:"ka_GE",t:{}},{l:"kab",t:{}},{l:"kk",t:{}},{l:"km",t:{}},{l:"kn",t:{}},{l:"ko",t:{away:{v:["자리 비움"]},busy:{v:["바쁨"]},"do not disturb":{v:["방해 금지"]},invisible:{v:["보이지 않음"]},offline:{v:["오프라인"]},online:{v:["온라인"]}}},{l:"la",t:{}},{l:"lb",t:{}},{l:"lo",t:{}},{l:"lt_LT",t:{}},{l:"lv",t:{}},{l:"mk",t:{}},{l:"mn",t:{}},{l:"mr",t:{}},{l:"ms_MY",t:{}},{l:"my",t:{}},{l:"nb",t:{away:{v:["borte"]},busy:{v:["opptatt"]},"do not disturb":{v:["ikke forstyrr"]},invisible:{v:["usynlig"]},offline:{v:["frakoblet"]},online:{v:["tilkoblet"]}}},{l:"ne",t:{}},{l:"nl",t:{away:{v:["weg"]},busy:{v:["bezig"]},"do not disturb":{v:["niet storen"]},invisible:{v:["Onzichtbaar"]},offline:{v:["offline"]},online:{v:["online"]}}},{l:"nn_NO",t:{}},{l:"oc",t:{}},{l:"pl",t:{away:{v:["stąd"]},busy:{v:["zajęty"]},"do not disturb":{v:["nie przeszkadzać"]},invisible:{v:["niewidzialny"]},offline:{v:["offline"]},online:{v:["online"]}}},{l:"ps",t:{}},{l:"pt_BR",t:{away:{v:["ausente"]},busy:{v:["ocupado"]},"do not disturb":{v:["não perturbe"]},invisible:{v:["invisível"]},offline:{v:["desligada"]},online:{v:["ligado"]}}},{l:"pt_PT",t:{away:{v:["longe"]},busy:{v:["ocupado"]},"do not disturb":{v:["não incomodar"]},invisible:{v:["invisível"]},offline:{v:["offline"]},online:{v:["online"]}}},{l:"ro",t:{away:{v:["plecat"]},"do not disturb":{v:["nu deranjați"]},offline:{v:["deconectat"]},online:{v:["online"]}}},{l:"ru",t:{away:{v:["отсутствие"]},busy:{v:["занятый"]},"do not disturb":{v:["не беспокоить"]},invisible:{v:["невидимый"]},offline:{v:["офлайн"]},online:{v:["онлайн"]}}},{l:"sc",t:{}},{l:"si",t:{}},{l:"sk",t:{away:{v:["neprítomný"]},busy:{v:["zaneprázdnený"]},"do not disturb":{v:["nerušiť"]},invisible:{v:["neviditeľný"]},offline:{v:["Odpojený - offline"]},online:{v:["Pripojený - online"]}}},{l:"sl",t:{}},{l:"sq",t:{}},{l:"sr",t:{away:{v:["одсутан"]},busy:{v:["заузет"]},"do not disturb":{v:["не узнемиравај"]},invisible:{v:["невидљиво"]},offline:{v:["ван мреже"]},online:{v:["на мрежи"]}}},{l:"sr@latin",t:{}},{l:"sv",t:{away:{v:["borta"]},busy:{v:["upptagen"]},"do not disturb":{v:["stör ej"]},invisible:{v:["osynlig"]},offline:{v:["offline"]},online:{v:["online"]}}},{l:"sw",t:{}},{l:"ta",t:{}},{l:"th",t:{}},{l:"tk",t:{}},{l:"tr",t:{away:{v:["Uzakta"]},busy:{v:["meşgul"]},"do not disturb":{v:["Rahatsız etmeyin"]},invisible:{v:["görünmez"]},offline:{v:["Çevrim dışı"]},online:{v:["Çevrim içi"]}}},{l:"ug",t:{}},{l:"uk",t:{away:{v:["відсутній"]},busy:{v:["зайнято"]},"do not disturb":{v:["не турбувати"]},invisible:{v:["Невидимий"]},offline:{v:["не в мережі"]},online:{v:["в мережі"]}}},{l:"ur_PK",t:{}},{l:"uz",t:{away:{v:["uzoqda"]},busy:{v:["band"]},"do not disturb":{v:["bezovta qilmang"]},invisible:{v:["ko'rinmas"]},offline:{v:["offline"]},online:{v:["online"]}}},{l:"vi",t:{}},{l:"zh_CN",t:{away:{v:["离开"]},busy:{v:["繁忙"]},"do not disturb":{v:["请勿打扰"]},invisible:{v:["隐藏的"]},offline:{v:["离线"]},online:{v:["在线"]}}},{l:"zh_HK",t:{away:{v:["離開"]},busy:{v:["忙碌"]},"do not disturb":{v:["請勿打擾"]},invisible:{v:["隐藏的"]},offline:{v:["離線"]},online:{v:["在線"]}}},{l:"zh_TW",t:{}},{l:"zu_ZA",t:{}}],kp=[{l:"af",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"ar",t:{"Back to provider selection":{v:["عودة إلى اختيار المزوّد"]},"Close Smart Picker":{v:["إغلاق المحدد الذكي"]},"Smart Picker":{v:["اللاقط الذكي smart picker"]}}},{l:"ast",t:{"Back to provider selection":{v:["Volver a la seleición de fornidores"]},"Close Smart Picker":{v:["Zarrar la seleición intelixente"]},"Smart Picker":{v:["Selector intelixente"]}}},{l:"az",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"be",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"bg",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"bn_BD",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"br",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"bs",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"ca",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"cs",t:{"Back to provider selection":{v:["Zpět na výběr poskytovatele"]},"Close Smart Picker":{v:["Zavřít inteligentní výběr"]},"Smart Picker":{v:["Inteligentní výběr"]}}},{l:"cs_CZ",t:{"Back to provider selection":{v:["Zpět na výběr poskytovatele"]},"Close Smart Picker":{v:["Zavřít inteligentní výběr"]},"Smart Picker":{v:["Inteligentní výběr"]}}},{l:"cy_GB",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"da",t:{"Back to provider selection":{v:["Tilbage til udbydervalg"]},"Close Smart Picker":{v:["Luk Smart Vælger"]},"Smart Picker":{v:["Smart Vælger"]}}},{l:"de",t:{"Back to provider selection":{v:["Zurück zur Anbieterauswahl"]},"Close Smart Picker":{v:["Smart Picker schließen"]},"Smart Picker":{v:["Smart Picker"]}}},{l:"de_DE",t:{"Back to provider selection":{v:["Zurück zur Anbieterauswahl"]},"Close Smart Picker":{v:["Smart Picker schließen"]},"Smart Picker":{v:["Smart Picker"]}}},{l:"el",t:{"Back to provider selection":{v:["Επιστροφή στην επιλογή παρόχου"]},"Close Smart Picker":{v:["Κλείσιμο Έξυπνης Επιλογής"]},"Smart Picker":{v:["Έξυπνη Επιλογή"]}}},{l:"en_GB",t:{"Back to provider selection":{v:["Back to provider selection"]},"Close Smart Picker":{v:["Close Smart Picker"]},"Smart Picker":{v:["Smart Picker"]}}},{l:"eo",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"es",t:{"Back to provider selection":{v:["Volver a la selección de proveedor"]},"Close Smart Picker":{v:["Cerrar selector inteligente"]},"Smart Picker":{v:["Selector inteligente"]}}},{l:"es_419",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"es_AR",t:{"Back to provider selection":{v:["Volver a la selección de proveedor"]},"Close Smart Picker":{v:["Cerrar selector inteligente"]},"Smart Picker":{v:["Selector inteligente"]}}},{l:"es_CL",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"es_CO",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"es_CR",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"es_DO",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"es_EC",t:{"Back to provider selection":{v:["Volver a la selección de proveedor"]},"Close Smart Picker":{v:["Cerrar selector inteligente"]},"Smart Picker":{v:["Selector inteligente"]}}},{l:"es_GT",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"es_HN",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"es_MX",t:{"Back to provider selection":{v:["Volver a la selección de proveedor"]},"Close Smart Picker":{v:["Cerrar selector inteligente"]},"Smart Picker":{v:["Selector inteligente"]}}},{l:"es_NI",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"es_PA",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"es_PE",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"es_PR",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"es_PY",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"es_SV",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"es_UY",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"et_EE",t:{"Back to provider selection":{v:["Tagasi teenusepakkuja valiku juurde"]},"Close Smart Picker":{v:["Sulge nutikas valija"]},"Smart Picker":{v:["Nutikas valija"]}}},{l:"eu",t:{"Back to provider selection":{v:["Itzuli hornitzaileen hautapenera"]},"Close Smart Picker":{v:["Itxi hautatzaile adimenduna"]},"Smart Picker":{v:["Hautatzaile adimenduna"]}}},{l:"fa",t:{"Back to provider selection":{v:["بازگشت به انتخاب ارائه دهنده"]},"Close Smart Picker":{v:["بستن انتخاب‌گر هوشمند"]},"Smart Picker":{v:["انتخابگر هوشمند"]}}},{l:"fi",t:{"Back to provider selection":{v:["Takaisin toimittajavalintaan"]},"Close Smart Picker":{v:["Sulje älykas valitsin"]},"Smart Picker":{v:["Älykäs valitsin"]}}},{l:"fo",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"fr",t:{"Back to provider selection":{v:["Revenir à la sélection du fournisseur"]},"Close Smart Picker":{v:["Fermer le sélecteur intelligent"]},"Smart Picker":{v:["Sélecteur intelligent"]}}},{l:"ga",t:{"Back to provider selection":{v:["Ar ais go roghnú soláthróra"]},"Close Smart Picker":{v:["Dún Piocálaí Cliste"]},"Smart Picker":{v:["Roghnóir Cliste"]}}},{l:"gd",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"gl",t:{"Back to provider selection":{v:["Volver á selección do provedor"]},"Close Smart Picker":{v:["Pechar o Selector intelixente"]},"Smart Picker":{v:["Selector intelixente"]}}},{l:"he",t:{"Back to provider selection":{v:["חזרה לבחירת ספק"]},"Close Smart Picker":{v:["סגירת הבורר החכם"]},"Smart Picker":{v:["בורר חכם"]}}},{l:"hi_IN",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"hr",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"hsb",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"hu",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"hy",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"ia",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"id",t:{"Back to provider selection":{v:["Kembali ke pemilihan penyedia"]},"Close Smart Picker":{v:["Tutup Pemilih Cerdas"]},"Smart Picker":{v:["Pemilih Cerdas"]}}},{l:"ig",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"is",t:{"Back to provider selection":{v:["Til baka í val á þjónustuveitu"]},"Close Smart Picker":{v:["Loka snjall-veljara"]},"Smart Picker":{v:["Snjall-veljari"]}}},{l:"it",t:{"Back to provider selection":{v:["Torna alla selezione del provider"]},"Close Smart Picker":{v:["Chiudere lo Smart Picker"]},"Smart Picker":{v:["Picker intelligente"]}}},{l:"ja",t:{"Back to provider selection":{v:["プロバイダーの選択に戻る"]},"Close Smart Picker":{v:["スマートピッカーを閉じる"]},"Smart Picker":{v:["スマートピッカー"]}}},{l:"ja_JP",t:{"Back to provider selection":{v:["プロバイダーの選択に戻る"]},"Close Smart Picker":{v:["スマートピッカーを閉じる"]},"Smart Picker":{v:["スマートピッカー"]}}},{l:"ka",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"ka_GE",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"kab",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"kk",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"km",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"kn",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"ko",t:{"Back to provider selection":{v:["제공자 선택으로 돌아가기"]},"Close Smart Picker":{v:["스마트 선택기 닫기"]},"Smart Picker":{v:["스마트 선택기"]}}},{l:"la",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"lb",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"lo",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"lt_LT",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"lv",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"mk",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"mn",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"mr",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"ms_MY",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"my",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"nb",t:{"Back to provider selection":{v:["Tilbake til leverandørvalg"]},"Close Smart Picker":{v:["Lukk Smart Velger"]},"Smart Picker":{v:["Smart Velger"]}}},{l:"ne",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"nl",t:{"Back to provider selection":{v:["Terug naar provider selectie"]},"Close Smart Picker":{v:["Sluit Slimme Kiezer"]},"Smart Picker":{v:["Slimme Kiezer"]}}},{l:"nn_NO",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"oc",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"pl",t:{"Back to provider selection":{v:["Powrót do wyboru dostawcy"]},"Close Smart Picker":{v:["Zamknij inteligentny selektor"]},"Smart Picker":{v:["Inteligentne wybieranie"]}}},{l:"ps",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"pt_BR",t:{"Back to provider selection":{v:["Voltar para seleção de provedor"]},"Close Smart Picker":{v:["Fechar Seletor Inteligente"]},"Smart Picker":{v:["Seletor Inteligente"]}}},{l:"pt_PT",t:{"Back to provider selection":{v:["Voltar à seleção de fornecedor"]},"Close Smart Picker":{v:['Fechar "Smart Picker"']},"Smart Picker":{v:["Smart Picker"]}}},{l:"ro",t:{"Back to provider selection":{v:["Înapoi la selecția providerului"]},"Close Smart Picker":{v:["Închide Smart Picker"]},"Smart Picker":{v:["Smart Picker"]}}},{l:"ru",t:{"Back to provider selection":{v:["Вернуться к выбору провайдера"]},"Close Smart Picker":{v:["Закрыть интеллектуальный выбор"]},"Smart Picker":{v:["Умный выбор"]}}},{l:"sc",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"si",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"sk",t:{"Back to provider selection":{v:["Späť na výber poskytovateľa"]},"Close Smart Picker":{v:["Zavrieť inteligentný výber"]},"Smart Picker":{v:["Inteligentný výber"]}}},{l:"sl",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"sq",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"sr",t:{"Back to provider selection":{v:["Назад на избор пружаоца"]},"Close Smart Picker":{v:["Затвори паметни бирач"]},"Smart Picker":{v:["Паметни бирач"]}}},{l:"sr@latin",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"sv",t:{"Back to provider selection":{v:["Tillbaka till leverantörsval"]},"Close Smart Picker":{v:["Stäng Smart Picker"]},"Smart Picker":{v:["Smart Picker"]}}},{l:"sw",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"ta",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"th",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"tk",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"tr",t:{"Back to provider selection":{v:["Sağlayıcı seçimine dön"]},"Close Smart Picker":{v:["Akıllı seçimi kapat"]},"Smart Picker":{v:["Akıllı seçim"]}}},{l:"ug",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"uk",t:{"Back to provider selection":{v:["Назад до вибору постачальника"]},"Close Smart Picker":{v:["Закрити асистент вибору"]},"Smart Picker":{v:["Асистент вибору"]}}},{l:"ur_PK",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"uz",t:{"Back to provider selection":{v:["Provayder tanloviga qaytish"]},"Close Smart Picker":{v:["Smart Picker-ni yoping"]},"Smart Picker":{v:["Aqlli tanlovchi"]}}},{l:"vi",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}},{l:"zh_CN",t:{"Back to provider selection":{v:["返回至提供者选择列表"]},"Close Smart Picker":{v:["关闭智能拾取器"]},"Smart Picker":{v:["智能拾取器"]}}},{l:"zh_HK",t:{"Back to provider selection":{v:["回到提供者選擇"]},"Close Smart Picker":{v:["關閉 Smart Picker"]},"Smart Picker":{v:["Smart Picker"]}}},{l:"zh_TW",t:{"Back to provider selection":{v:["回到提供者選擇"]},"Close Smart Picker":{v:["關閉智慧型挑選器"]},"Smart Picker":{v:["智慧型挑選器"]}}},{l:"zu_ZA",t:{"Back to provider selection":{v:[""]},"Close Smart Picker":{v:[""]},"Smart Picker":{v:[""]}}}],bp=[{l:"af",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"ar",t:{"Cancel changes":{v:["إلغاء التغييرات"]},"Confirm changes":{v:["تأكيد التغييرات"]}}},{l:"ast",t:{"Cancel changes":{v:["Encaboxar los cambeos"]},"Confirm changes":{v:["Confirmar los cambeos"]}}},{l:"az",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"be",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"bg",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"bn_BD",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"br",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"bs",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"ca",t:{"Cancel changes":{v:["Cancel·la els canvis"]},"Confirm changes":{v:["Confirmeu els canvis"]}}},{l:"cs",t:{"Cancel changes":{v:["Zrušit změny"]},"Confirm changes":{v:["Potvrdit změny"]}}},{l:"cs_CZ",t:{"Cancel changes":{v:["Zrušit změny"]},"Confirm changes":{v:["Potvrdit změny"]}}},{l:"cy_GB",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"da",t:{"Cancel changes":{v:["Annuller ændringer"]},"Confirm changes":{v:["Bekræft ændringer"]}}},{l:"de",t:{"Cancel changes":{v:["Änderungen verwerfen"]},"Confirm changes":{v:["Änderungen bestätigen"]}}},{l:"de_DE",t:{"Cancel changes":{v:["Änderungen verwerfen"]},"Confirm changes":{v:["Änderungen bestätigen"]}}},{l:"el",t:{"Cancel changes":{v:["Ακύρωση αλλαγών"]},"Confirm changes":{v:["Επιβεβαίωση αλλαγών"]}}},{l:"en_GB",t:{"Cancel changes":{v:["Cancel changes"]},"Confirm changes":{v:["Confirm changes"]}}},{l:"eo",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"es",t:{"Cancel changes":{v:["Cancelar cambios"]},"Confirm changes":{v:["Confirmar cambios"]}}},{l:"es_419",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"es_AR",t:{"Cancel changes":{v:["Cancelar cambios"]},"Confirm changes":{v:["Confirmar cambios"]}}},{l:"es_CL",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"es_CO",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"es_CR",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"es_DO",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"es_EC",t:{"Cancel changes":{v:["Cancelar cambios"]},"Confirm changes":{v:["Confirmar cambios"]}}},{l:"es_GT",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"es_HN",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"es_MX",t:{"Cancel changes":{v:["Cancelar cambios"]},"Confirm changes":{v:["Confirmar cambios"]}}},{l:"es_NI",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"es_PA",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"es_PE",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"es_PR",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"es_PY",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"es_SV",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"es_UY",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"et_EE",t:{"Cancel changes":{v:["Tühista muudatused"]},"Confirm changes":{v:["Kinnitage muudatused"]}}},{l:"eu",t:{"Cancel changes":{v:["Ezeztatu aldaketak"]},"Confirm changes":{v:["Baieztatu aldaketak"]}}},{l:"fa",t:{"Cancel changes":{v:["لغو تغییرات"]},"Confirm changes":{v:["تایید تغییرات"]}}},{l:"fi",t:{"Cancel changes":{v:["Peruuta muutokset"]},"Confirm changes":{v:["Vahvista muutokset"]}}},{l:"fo",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"fr",t:{"Cancel changes":{v:["Annuler les modifications"]},"Confirm changes":{v:["Confirmer les modifications"]}}},{l:"ga",t:{"Cancel changes":{v:["Cealaigh athruithe"]},"Confirm changes":{v:["Deimhnigh na hathruithe"]}}},{l:"gd",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"gl",t:{"Cancel changes":{v:["Cancelar os cambios"]},"Confirm changes":{v:["Confirma os cambios"]}}},{l:"he",t:{"Cancel changes":{v:["ביטול שינויים"]},"Confirm changes":{v:["אישור השינויים"]}}},{l:"hi_IN",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"hr",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"hsb",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"hu",t:{"Cancel changes":{v:["Változtatások elvetése"]},"Confirm changes":{v:["Változtatások megerősítése"]}}},{l:"hy",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"ia",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"id",t:{"Cancel changes":{v:["Batalkan perubahan"]},"Confirm changes":{v:["Konfirmasikan perubahan"]}}},{l:"ig",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"is",t:{"Cancel changes":{v:["Hætta við breytingar"]},"Confirm changes":{v:["Staðfesta breytingar"]}}},{l:"it",t:{"Cancel changes":{v:["Annulla modifiche"]},"Confirm changes":{v:["Conferma modifiche"]}}},{l:"ja",t:{"Cancel changes":{v:["変更をキャンセル"]},"Confirm changes":{v:["変更を承認"]}}},{l:"ja_JP",t:{"Cancel changes":{v:["変更をキャンセル"]},"Confirm changes":{v:["変更を承認"]}}},{l:"ka",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"ka_GE",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"kab",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"kk",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"km",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"kn",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"ko",t:{"Cancel changes":{v:["변경 취소"]},"Confirm changes":{v:["변경 사항 확인"]}}},{l:"la",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"lb",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"lo",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"lt_LT",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"lv",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"mk",t:{"Cancel changes":{v:["Откажи ги промените"]},"Confirm changes":{v:["Потврди ги промените"]}}},{l:"mn",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"mr",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"ms_MY",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"my",t:{"Cancel changes":{v:["ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်"]},"Confirm changes":{v:["ပြောင်းလဲမှုများ အတည်ပြုရန်"]}}},{l:"nb",t:{"Cancel changes":{v:["Avbryt endringer"]},"Confirm changes":{v:["Bekreft endringer"]}}},{l:"ne",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"nl",t:{"Cancel changes":{v:["Wijzigingen annuleren"]},"Confirm changes":{v:["Wijzigingen bevestigen"]}}},{l:"nn_NO",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"oc",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"pl",t:{"Cancel changes":{v:["Anuluj zmiany"]},"Confirm changes":{v:["Potwierdź zmiany"]}}},{l:"ps",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"pt_BR",t:{"Cancel changes":{v:["Cancelar alterações"]},"Confirm changes":{v:["Confirmar alterações"]}}},{l:"pt_PT",t:{"Cancel changes":{v:["Cancelar alterações"]},"Confirm changes":{v:["Confirmar alterações"]}}},{l:"ro",t:{"Cancel changes":{v:["Anulează modificările"]},"Confirm changes":{v:["Confirmați modificările"]}}},{l:"ru",t:{"Cancel changes":{v:["Отменить изменения"]},"Confirm changes":{v:["Подтвердить изменения"]}}},{l:"sc",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"si",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"sk",t:{"Cancel changes":{v:["Zrušiť zmeny"]},"Confirm changes":{v:["Potvrdiť zmeny"]}}},{l:"sl",t:{"Cancel changes":{v:["Prekliči spremembe"]},"Confirm changes":{v:["Potrdi spremembe"]}}},{l:"sq",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"sr",t:{"Cancel changes":{v:["Откажи измене"]},"Confirm changes":{v:["Потврдите измене"]}}},{l:"sr@latin",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"sv",t:{"Cancel changes":{v:["Avbryt ändringar"]},"Confirm changes":{v:["Bekräfta ändringar"]}}},{l:"sw",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"ta",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"th",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"tk",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"tr",t:{"Cancel changes":{v:["Değişiklikleri iptal et"]},"Confirm changes":{v:["Değişiklikleri onayla"]}}},{l:"ug",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"uk",t:{"Cancel changes":{v:["Скасувати зміни"]},"Confirm changes":{v:["Підтвердити зміни"]}}},{l:"ur_PK",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"uz",t:{"Cancel changes":{v:["O'zgarishlarni bekor qilish"]},"Confirm changes":{v:["O'zgarishlarni tasdiqlang"]}}},{l:"vi",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}},{l:"zh_CN",t:{"Cancel changes":{v:["取消更改"]},"Confirm changes":{v:["确认更改"]}}},{l:"zh_HK",t:{"Cancel changes":{v:["取消更改"]},"Confirm changes":{v:["確認更改"]}}},{l:"zh_TW",t:{"Cancel changes":{v:["取消變更"]},"Confirm changes":{v:["確認變更"]}}},{l:"zu_ZA",t:{"Cancel changes":{v:[""]},"Confirm changes":{v:[""]}}}],Ap=[{l:"af",t:{}},{l:"ar",t:{"Clear selected":{v:["محو المحدّد"]},"Deselect {option}":{v:["إلغاء تحديد {option}"]},Options:{v:["خيارات"]}}},{l:"ast",t:{"Clear selected":{v:["Borrar lo seleicionao"]},"Deselect {option}":{v:["Deseleicionar «{option}»"]},Options:{v:["Opciones"]}}},{l:"az",t:{}},{l:"be",t:{}},{l:"bg",t:{}},{l:"bn_BD",t:{}},{l:"br",t:{}},{l:"bs",t:{}},{l:"ca",t:{}},{l:"cs",t:{"Clear selected":{v:["Vyčistit vybrané"]},"Deselect {option}":{v:["Zrušit výběr {option}"]},Options:{v:["Možnosti"]}}},{l:"cs_CZ",t:{"Clear selected":{v:["Vyčistit vybrané"]},"Deselect {option}":{v:["Zrušit výběr {option}"]},Options:{v:["Možnosti"]}}},{l:"cy_GB",t:{}},{l:"da",t:{"Clear selected":{v:["Ryd valgt"]},"Deselect {option}":{v:["Fravælg {option}"]},Options:{v:["Indstillinger"]}}},{l:"de",t:{"Clear selected":{v:["Auswahl leeren"]},"Deselect {option}":{v:["{option} abwählen"]},Options:{v:["Optionen"]}}},{l:"de_DE",t:{"Clear selected":{v:["Auswahl leeren"]},"Deselect {option}":{v:["{option} abwählen"]},Options:{v:["Optionen"]}}},{l:"el",t:{"Clear selected":{v:["Εκκαθάριση επιλογής"]},"Deselect {option}":{v:["Αποεπιλογή {option}"]},Options:{v:["Επιλογές"]}}},{l:"en_GB",t:{"Clear selected":{v:["Clear selected"]},"Deselect {option}":{v:["Deselect {option}"]},Options:{v:["Options"]}}},{l:"eo",t:{}},{l:"es",t:{"Clear selected":{v:["Limpiar selección"]},"Deselect {option}":{v:["Deseleccionar {option}"]},Options:{v:["Opciones"]}}},{l:"es_419",t:{}},{l:"es_AR",t:{"Clear selected":{v:["Limpiar selección"]},"Deselect {option}":{v:["Deseleccionar {option}"]},Options:{v:["Opciones"]}}},{l:"es_CL",t:{}},{l:"es_CO",t:{}},{l:"es_CR",t:{}},{l:"es_DO",t:{}},{l:"es_EC",t:{}},{l:"es_GT",t:{}},{l:"es_HN",t:{}},{l:"es_MX",t:{"Clear selected":{v:["Limpiar selección"]},"Deselect {option}":{v:["Deseleccionar {option}"]},Options:{v:["Opciones"]}}},{l:"es_NI",t:{}},{l:"es_PA",t:{}},{l:"es_PE",t:{}},{l:"es_PR",t:{}},{l:"es_PY",t:{}},{l:"es_SV",t:{}},{l:"es_UY",t:{}},{l:"et_EE",t:{"Clear selected":{v:["Tühjenad valik"]},"Deselect {option}":{v:["Eemalda {option} valik"]},Options:{v:["Valikud"]}}},{l:"eu",t:{}},{l:"fa",t:{"Clear selected":{v:["پاک کردن مورد انتخاب شده"]},"Deselect {option}":{v:["لغو انتخاب {option}"]},Options:{v:["گزینه‌ها"]}}},{l:"fi",t:{"Clear selected":{v:["Tyhjennä valitut"]},"Deselect {option}":{v:["Poista valinta {option}"]},Options:{v:["Valinnat"]}}},{l:"fo",t:{}},{l:"fr",t:{"Clear selected":{v:["Vider la sélection"]},"Deselect {option}":{v:["Désélectionner {option}"]},Options:{v:["Options"]}}},{l:"ga",t:{"Clear selected":{v:["Glan roghnaithe"]},"Deselect {option}":{v:["Díroghnaigh {option}"]},Options:{v:["Roghanna"]}}},{l:"gd",t:{}},{l:"gl",t:{"Clear selected":{v:["Limpar o seleccionado"]},"Deselect {option}":{v:["Desmarcar {opción}"]},Options:{v:["Opcións"]}}},{l:"he",t:{}},{l:"hi_IN",t:{}},{l:"hr",t:{}},{l:"hsb",t:{}},{l:"hu",t:{}},{l:"hy",t:{}},{l:"ia",t:{}},{l:"id",t:{"Clear selected":{v:["Hapus terpilih"]},"Deselect {option}":{v:["Batalkan pemilihan {option}"]}}},{l:"ig",t:{}},{l:"is",t:{"Clear selected":{v:["Hreinsa valið"]},"Deselect {option}":{v:["Afvelja {option}"]},Options:{v:["Valkostir"]}}},{l:"it",t:{"Clear selected":{v:["Cancella selezionati"]},"Deselect {option}":{v:["Deselezionare {option}"]}}},{l:"ja",t:{"Clear selected":{v:["選択を解除"]},"Deselect {option}":{v:["{option} の選択を解除"]},Options:{v:["オプション"]}}},{l:"ja_JP",t:{"Clear selected":{v:["選択を解除"]},"Deselect {option}":{v:["{option} の選択を解除"]},Options:{v:["オプション"]}}},{l:"ka",t:{}},{l:"ka_GE",t:{}},{l:"kab",t:{}},{l:"kk",t:{}},{l:"km",t:{}},{l:"kn",t:{}},{l:"ko",t:{"Clear selected":{v:["선택 항목 지우기"]},"Deselect {option}":{v:["{option} 선택 해제"]},Options:{v:["옵션"]}}},{l:"la",t:{}},{l:"lb",t:{}},{l:"lo",t:{}},{l:"lt_LT",t:{}},{l:"lv",t:{}},{l:"mk",t:{}},{l:"mn",t:{}},{l:"mr",t:{}},{l:"ms_MY",t:{}},{l:"my",t:{}},{l:"nb",t:{"Clear selected":{v:["Tøm merket"]},"Deselect {option}":{v:["Opphev valg {option}"]},Options:{v:["Alternativer"]}}},{l:"ne",t:{}},{l:"nl",t:{"Clear selected":{v:["Selectie wissen"]},"Deselect {option}":{v:["Deselecteer {optie}"]},Options:{v:["Opties"]}}},{l:"nn_NO",t:{}},{l:"oc",t:{}},{l:"pl",t:{"Clear selected":{v:["Wyczyść wybrane"]},"Deselect {option}":{v:["Odznacz {option}"]},Options:{v:["Opcje"]}}},{l:"ps",t:{}},{l:"pt_BR",t:{"Clear selected":{v:["Limpar selecionados"]},"Deselect {option}":{v:["Desmacar {option}"]},Options:{v:["Opções"]}}},{l:"pt_PT",t:{"Clear selected":{v:["Limpeza selecionada"]},"Deselect {option}":{v:["Desmarcar {option}"]},Options:{v:["Opções"]}}},{l:"ro",t:{"Clear selected":{v:["Șterge selecția"]},"Deselect {option}":{v:["Deselctează {option}"]}}},{l:"ru",t:{"Clear selected":{v:["Очистить выбранный"]},"Deselect {option}":{v:["Отменить выбор {option}"]},Options:{v:["Варианты"]}}},{l:"sc",t:{}},{l:"si",t:{}},{l:"sk",t:{"Clear selected":{v:["Vymazať vybraté"]},"Deselect {option}":{v:["Zrušiť výber {option}"]},Options:{v:["možnosti"]}}},{l:"sl",t:{}},{l:"sq",t:{}},{l:"sr",t:{"Clear selected":{v:["Обриши изабрано"]},"Deselect {option}":{v:["Уклони избор {option}"]},Options:{v:["Опције"]}}},{l:"sr@latin",t:{}},{l:"sv",t:{"Clear selected":{v:["Rensa val"]},"Deselect {option}":{v:["Avmarkera {option}"]},Options:{v:["Alternativ"]}}},{l:"sw",t:{}},{l:"ta",t:{}},{l:"th",t:{}},{l:"tk",t:{}},{l:"tr",t:{"Clear selected":{v:["Seçilmişleri temizle"]},"Deselect {option}":{v:["{option} bırak"]},Options:{v:["Seçenekler"]}}},{l:"ug",t:{}},{l:"uk",t:{"Clear selected":{v:["Очистити вибране"]},"Deselect {option}":{v:["Зняти вибір {option}"]},Options:{v:["Параметри"]}}},{l:"ur_PK",t:{}},{l:"uz",t:{"Clear selected":{v:["Tanlanganni tozalash"]},"Deselect {option}":{v:["{option}tanlovni bekor qiling"]},Options:{v:["Variantlar"]}}},{l:"vi",t:{}},{l:"zh_CN",t:{"Clear selected":{v:["清除所选"]},"Deselect {option}":{v:["取消选择 {option}"]},Options:{v:["选项"]}}},{l:"zh_HK",t:{"Clear selected":{v:["清除所選項目"]},"Deselect {option}":{v:["取消選擇 {option}"]},Options:{v:["選項"]}}},{l:"zh_TW",t:{}},{l:"zu_ZA",t:{}}],wp=[{l:"af",t:{"Clear text":{v:[""]}}},{l:"ar",t:{"Clear text":{v:["محو النص"]},"Save changes":{v:["حفظ التغييرات"]}}},{l:"ast",t:{"Clear text":{v:["Borrar el testu"]},"Save changes":{v:["Guardar los cambeos"]}}},{l:"az",t:{"Clear text":{v:[""]}}},{l:"be",t:{"Clear text":{v:[""]}}},{l:"bg",t:{"Clear text":{v:[""]}}},{l:"bn_BD",t:{"Clear text":{v:[""]}}},{l:"br",t:{"Clear text":{v:[""]}}},{l:"bs",t:{"Clear text":{v:[""]}}},{l:"ca",t:{"Clear text":{v:["Netejar text"]}}},{l:"cs",t:{"Clear text":{v:["Čitelný text"]},"Save changes":{v:["Uložit změny"]}}},{l:"cs_CZ",t:{"Clear text":{v:["Čitelný text"]},"Save changes":{v:["Uložit změny"]}}},{l:"cy_GB",t:{"Clear text":{v:[""]}}},{l:"da",t:{"Clear text":{v:["Ryd tekst"]},"Save changes":{v:["Gem ændringer"]}}},{l:"de",t:{"Clear text":{v:["Klartext"]},"Save changes":{v:["Änderungen speichern"]}}},{l:"de_DE",t:{"Clear text":{v:["Klartext"]},"Save changes":{v:["Änderungen speichern"]}}},{l:"el",t:{"Clear text":{v:["Εκκαθάριση κειμένου"]},"Save changes":{v:["Αποθήκευση αλλαγών"]}}},{l:"en_GB",t:{"Clear text":{v:["Clear text"]},"Save changes":{v:["Save changes"]}}},{l:"eo",t:{"Clear text":{v:[""]}}},{l:"es",t:{"Clear text":{v:["Limpiar texto"]},"Save changes":{v:["Guardar cambios"]}}},{l:"es_419",t:{"Clear text":{v:[""]}}},{l:"es_AR",t:{"Clear text":{v:["Limpiar texto"]},"Save changes":{v:["Guardar cambios"]}}},{l:"es_CL",t:{"Clear text":{v:[""]}}},{l:"es_CO",t:{"Clear text":{v:[""]}}},{l:"es_CR",t:{"Clear text":{v:[""]}}},{l:"es_DO",t:{"Clear text":{v:[""]}}},{l:"es_EC",t:{"Clear text":{v:["Limpiar texto"]}}},{l:"es_GT",t:{"Clear text":{v:[""]}}},{l:"es_HN",t:{"Clear text":{v:[""]}}},{l:"es_MX",t:{"Clear text":{v:["Limpiar texto"]},"Save changes":{v:["Guardar cambios"]}}},{l:"es_NI",t:{"Clear text":{v:[""]}}},{l:"es_PA",t:{"Clear text":{v:[""]}}},{l:"es_PE",t:{"Clear text":{v:[""]}}},{l:"es_PR",t:{"Clear text":{v:[""]}}},{l:"es_PY",t:{"Clear text":{v:[""]}}},{l:"es_SV",t:{"Clear text":{v:[""]}}},{l:"es_UY",t:{"Clear text":{v:[""]}}},{l:"et_EE",t:{"Clear text":{v:["Kustuta tekst"]},"Save changes":{v:["Salvesta muudatused"]}}},{l:"eu",t:{"Clear text":{v:["Garbitu testua"]}}},{l:"fa",t:{"Clear text":{v:["پاک کردن متن"]},"Save changes":{v:["ذخیرهٔ تغییرات"]}}},{l:"fi",t:{"Clear text":{v:["Tyhjennä teksti"]},"Save changes":{v:["Tallenna muutokset"]}}},{l:"fo",t:{"Clear text":{v:[""]}}},{l:"fr",t:{"Clear text":{v:["Effacer le texte"]},"Save changes":{v:["Sauvegarder les changements"]}}},{l:"ga",t:{"Clear text":{v:["Glan téacs"]},"Save changes":{v:["Sabháil na hathruithe"]}}},{l:"gd",t:{"Clear text":{v:[""]}}},{l:"gl",t:{"Clear text":{v:["Limpar o texto"]},"Save changes":{v:["Gardar os cambios"]}}},{l:"he",t:{"Clear text":{v:["פינוי טקסט"]}}},{l:"hi_IN",t:{"Clear text":{v:[""]}}},{l:"hr",t:{"Clear text":{v:[""]}}},{l:"hsb",t:{"Clear text":{v:[""]}}},{l:"hu",t:{"Clear text":{v:["Szöveg törlése"]}}},{l:"hy",t:{"Clear text":{v:[""]}}},{l:"ia",t:{"Clear text":{v:[""]}}},{l:"id",t:{"Clear text":{v:["Bersihkan teks"]},"Save changes":{v:["Simpan perubahan"]}}},{l:"ig",t:{"Clear text":{v:[""]}}},{l:"is",t:{"Clear text":{v:["Hreinsa texta"]},"Save changes":{v:["Vista breytingar"]}}},{l:"it",t:{"Clear text":{v:["Cancella il testo"]},"Save changes":{v:["Salva le modifiche"]}}},{l:"ja",t:{"Clear text":{v:["テキストをクリア"]},"Save changes":{v:["変更を保存"]}}},{l:"ja_JP",t:{"Clear text":{v:["テキストをクリア"]},"Save changes":{v:["変更を保存"]}}},{l:"ka",t:{"Clear text":{v:[""]}}},{l:"ka_GE",t:{"Clear text":{v:[""]}}},{l:"kab",t:{"Clear text":{v:[""]}}},{l:"kk",t:{"Clear text":{v:[""]}}},{l:"km",t:{"Clear text":{v:[""]}}},{l:"kn",t:{"Clear text":{v:[""]}}},{l:"ko",t:{"Clear text":{v:["텍스트 지우기"]},"Save changes":{v:["변경 사항 저장"]}}},{l:"la",t:{"Clear text":{v:[""]}}},{l:"lb",t:{"Clear text":{v:[""]}}},{l:"lo",t:{"Clear text":{v:[""]}}},{l:"lt_LT",t:{"Clear text":{v:[""]}}},{l:"lv",t:{"Clear text":{v:[""]}}},{l:"mk",t:{"Clear text":{v:[""]}}},{l:"mn",t:{"Clear text":{v:[""]}}},{l:"mr",t:{"Clear text":{v:[""]}}},{l:"ms_MY",t:{"Clear text":{v:[""]}}},{l:"my",t:{"Clear text":{v:[""]}}},{l:"nb",t:{"Clear text":{v:["Fjern tekst"]},"Save changes":{v:["Lagre endringer"]}}},{l:"ne",t:{"Clear text":{v:[""]}}},{l:"nl",t:{"Clear text":{v:["Wis tekst"]},"Save changes":{v:["Wijzigingen opslaan"]}}},{l:"nn_NO",t:{"Clear text":{v:[""]}}},{l:"oc",t:{"Clear text":{v:[""]}}},{l:"pl",t:{"Clear text":{v:["Wyczyść tekst"]},"Save changes":{v:["Zapisz zmiany"]}}},{l:"ps",t:{"Clear text":{v:[""]}}},{l:"pt_BR",t:{"Clear text":{v:["Limpar texto"]},"Save changes":{v:["Salvar alterações"]}}},{l:"pt_PT",t:{"Clear text":{v:["Limpar texto"]},"Save changes":{v:["Gravar alterações"]}}},{l:"ro",t:{"Clear text":{v:["Șterge textul"]},"Save changes":{v:["Salvează modificările"]}}},{l:"ru",t:{"Clear text":{v:["Очистить текст"]},"Save changes":{v:["Сохранить изменения"]}}},{l:"sc",t:{"Clear text":{v:[""]}}},{l:"si",t:{"Clear text":{v:[""]}}},{l:"sk",t:{"Clear text":{v:["Vamazať text"]},"Save changes":{v:["Uložiť zmeny"]}}},{l:"sl",t:{"Clear text":{v:["Počisti besedilo"]}}},{l:"sq",t:{"Clear text":{v:[""]}}},{l:"sr",t:{"Clear text":{v:["Обриши текст"]},"Save changes":{v:["Сачувај измене"]}}},{l:"sr@latin",t:{"Clear text":{v:[""]}}},{l:"sv",t:{"Clear text":{v:["Ta bort text"]},"Save changes":{v:["Spara ändringar"]}}},{l:"sw",t:{"Clear text":{v:[""]}}},{l:"ta",t:{"Clear text":{v:[""]}}},{l:"th",t:{"Clear text":{v:[""]}}},{l:"tk",t:{"Clear text":{v:[""]}}},{l:"tr",t:{"Clear text":{v:["Metni temizle"]},"Save changes":{v:["Değişiklikleri kaydet"]}}},{l:"ug",t:{"Clear text":{v:[""]}}},{l:"uk",t:{"Clear text":{v:["Очистити текст"]},"Save changes":{v:["Зберегти зміни"]}}},{l:"ur_PK",t:{"Clear text":{v:[""]}}},{l:"uz",t:{"Clear text":{v:["Matnni tozalash"]},"Save changes":{v:["O'zgarishlarni saqlang"]}}},{l:"vi",t:{"Clear text":{v:[""]}}},{l:"zh_CN",t:{"Clear text":{v:["清除文本"]},"Save changes":{v:["保存修改"]}}},{l:"zh_HK",t:{"Clear text":{v:["清除文本"]},"Save changes":{v:["保存更改"]}}},{l:"zh_TW",t:{"Clear text":{v:["清除文字"]}}},{l:"zu_ZA",t:{"Clear text":{v:[""]}}}],ds=[{l:"af",t:{Close:{v:[""]}}},{l:"ar",t:{Close:{v:["إغلاق"]}}},{l:"ast",t:{Close:{v:["Zarrar"]}}},{l:"az",t:{Close:{v:[""]}}},{l:"be",t:{Close:{v:[""]}}},{l:"bg",t:{Close:{v:[""]}}},{l:"bn_BD",t:{Close:{v:[""]}}},{l:"br",t:{Close:{v:["Serriñ"]}}},{l:"bs",t:{Close:{v:[""]}}},{l:"ca",t:{Close:{v:["Tanca"]}}},{l:"cs",t:{Close:{v:["Zavřít"]}}},{l:"cs_CZ",t:{Close:{v:["Zavřít"]}}},{l:"cy_GB",t:{Close:{v:[""]}}},{l:"da",t:{Close:{v:["Luk"]}}},{l:"de",t:{Close:{v:["Schließen"]}}},{l:"de_DE",t:{Close:{v:["Schließen"]}}},{l:"el",t:{Close:{v:["Κλείσιμο"]}}},{l:"en_GB",t:{Close:{v:["Close"]}}},{l:"eo",t:{Close:{v:["Fermu"]}}},{l:"es",t:{Close:{v:["Cerrar"]}}},{l:"es_419",t:{Close:{v:[""]}}},{l:"es_AR",t:{Close:{v:["Cerrar"]}}},{l:"es_CL",t:{Close:{v:[""]}}},{l:"es_CO",t:{Close:{v:[""]}}},{l:"es_CR",t:{Close:{v:[""]}}},{l:"es_DO",t:{Close:{v:[""]}}},{l:"es_EC",t:{Close:{v:["Cerrar"]}}},{l:"es_GT",t:{Close:{v:[""]}}},{l:"es_HN",t:{Close:{v:[""]}}},{l:"es_MX",t:{Close:{v:["Cerrar"]}}},{l:"es_NI",t:{Close:{v:[""]}}},{l:"es_PA",t:{Close:{v:[""]}}},{l:"es_PE",t:{Close:{v:[""]}}},{l:"es_PR",t:{Close:{v:[""]}}},{l:"es_PY",t:{Close:{v:[""]}}},{l:"es_SV",t:{Close:{v:[""]}}},{l:"es_UY",t:{Close:{v:[""]}}},{l:"et_EE",t:{Close:{v:["Sulge"]}}},{l:"eu",t:{Close:{v:["Itxi"]}}},{l:"fa",t:{Close:{v:["بستن"]}}},{l:"fi",t:{Close:{v:["Sulje"]}}},{l:"fo",t:{Close:{v:[""]}}},{l:"fr",t:{Close:{v:["Fermer"]}}},{l:"ga",t:{Close:{v:["Dún"]}}},{l:"gd",t:{Close:{v:[""]}}},{l:"gl",t:{Close:{v:["Pechar"]}}},{l:"he",t:{Close:{v:["סגירה"]}}},{l:"hi_IN",t:{Close:{v:[""]}}},{l:"hr",t:{Close:{v:[""]}}},{l:"hsb",t:{Close:{v:[""]}}},{l:"hu",t:{Close:{v:["Bezárás"]}}},{l:"hy",t:{Close:{v:[""]}}},{l:"ia",t:{Close:{v:[""]}}},{l:"id",t:{Close:{v:["Tutup"]}}},{l:"ig",t:{Close:{v:[""]}}},{l:"is",t:{Close:{v:["Loka"]}}},{l:"it",t:{Close:{v:["Chiudi"]}}},{l:"ja",t:{Close:{v:["閉じる"]}}},{l:"ja_JP",t:{Close:{v:["閉じる"]}}},{l:"ka",t:{Close:{v:[""]}}},{l:"ka_GE",t:{Close:{v:[""]}}},{l:"kab",t:{Close:{v:[""]}}},{l:"kk",t:{Close:{v:[""]}}},{l:"km",t:{Close:{v:[""]}}},{l:"kn",t:{Close:{v:[""]}}},{l:"ko",t:{Close:{v:["닫기"]}}},{l:"la",t:{Close:{v:[""]}}},{l:"lb",t:{Close:{v:[""]}}},{l:"lo",t:{Close:{v:[""]}}},{l:"lt_LT",t:{Close:{v:["Užverti"]}}},{l:"lv",t:{Close:{v:["Aizvērt"]}}},{l:"mk",t:{Close:{v:["Затвори"]}}},{l:"mn",t:{Close:{v:[""]}}},{l:"mr",t:{Close:{v:[""]}}},{l:"ms_MY",t:{Close:{v:[""]}}},{l:"my",t:{Close:{v:["ပိတ်ရန်"]}}},{l:"nb",t:{Close:{v:["Lukk"]}}},{l:"ne",t:{Close:{v:[""]}}},{l:"nl",t:{Close:{v:["Sluiten"]}}},{l:"nn_NO",t:{Close:{v:[""]}}},{l:"oc",t:{Close:{v:["Tampar"]}}},{l:"pl",t:{Close:{v:["Zamknij"]}}},{l:"ps",t:{Close:{v:[""]}}},{l:"pt_BR",t:{Close:{v:["Fechar"]}}},{l:"pt_PT",t:{Close:{v:["Fechar"]}}},{l:"ro",t:{Close:{v:["Închideți"]}}},{l:"ru",t:{Close:{v:["Закрыть"]}}},{l:"sc",t:{Close:{v:[""]}}},{l:"si",t:{Close:{v:[""]}}},{l:"sk",t:{Close:{v:["Zavrieť"]}}},{l:"sl",t:{Close:{v:["Zapri"]}}},{l:"sq",t:{Close:{v:[""]}}},{l:"sr",t:{Close:{v:["Затвори"]}}},{l:"sr@latin",t:{Close:{v:[""]}}},{l:"sv",t:{Close:{v:["Stäng"]}}},{l:"sw",t:{Close:{v:[""]}}},{l:"ta",t:{Close:{v:[""]}}},{l:"th",t:{Close:{v:[""]}}},{l:"tk",t:{Close:{v:[""]}}},{l:"tr",t:{Close:{v:["Kapat"]}}},{l:"ug",t:{Close:{v:[""]}}},{l:"uk",t:{Close:{v:["Закрити"]}}},{l:"ur_PK",t:{Close:{v:[""]}}},{l:"uz",t:{Close:{v:["Yopish"]}}},{l:"vi",t:{Close:{v:[""]}}},{l:"zh_CN",t:{Close:{v:["关闭"]}}},{l:"zh_HK",t:{Close:{v:["關閉"]}}},{l:"zh_TW",t:{Close:{v:["關閉"]}}},{l:"zu_ZA",t:{Close:{v:[""]}}}],Bp=[{l:"af",t:{"Close navigation":{v:[""]}}},{l:"ar",t:{"Close navigation":{v:["إغلاق التصفح"]},"Open navigation {shortcut}":{v:["إفتَح المتصفح {shortcut}"]}}},{l:"ast",t:{"Close navigation":{v:["Zarrar la navegación"]}}},{l:"az",t:{"Close navigation":{v:[""]}}},{l:"be",t:{"Close navigation":{v:[""]}}},{l:"bg",t:{"Close navigation":{v:[""]}}},{l:"bn_BD",t:{"Close navigation":{v:[""]}}},{l:"br",t:{"Close navigation":{v:[""]}}},{l:"bs",t:{"Close navigation":{v:[""]}}},{l:"ca",t:{"Close navigation":{v:["Tanca la navegació"]}}},{l:"cs",t:{"Close navigation":{v:["Zavřít navigaci"]},"Open navigation {shortcut}":{v:["Otevřít navigaci {shortcut}"]}}},{l:"cs_CZ",t:{"Close navigation":{v:["Zavřít navigaci"]}}},{l:"cy_GB",t:{"Close navigation":{v:[""]}}},{l:"da",t:{"Close navigation":{v:["Luk navigation"]},"Open navigation {shortcut}":{v:["Åbn navigation {shortcut}"]}}},{l:"de",t:{"Close navigation":{v:["Navigation schließen"]},"Open navigation {shortcut}":{v:["Navigation öffnen {shortcut}"]}}},{l:"de_DE",t:{"Close navigation":{v:["Navigation schließen"]},"Open navigation {shortcut}":{v:["Navigation öffnen {shortcut}"]}}},{l:"el",t:{"Close navigation":{v:["Κλείσιμο πλοήγησης"]},"Open navigation {shortcut}":{v:["Άνοιγμα πλοήγησης {shortcut}"]}}},{l:"en_GB",t:{"Close navigation":{v:["Close navigation"]},"Open navigation {shortcut}":{v:["Open navigation {shortcut}"]}}},{l:"eo",t:{"Close navigation":{v:[""]}}},{l:"es",t:{"Close navigation":{v:["Cerrar navegación"]}}},{l:"es_419",t:{"Close navigation":{v:[""]}}},{l:"es_AR",t:{"Close navigation":{v:["Cerrar navegación"]}}},{l:"es_CL",t:{"Close navigation":{v:[""]}}},{l:"es_CO",t:{"Close navigation":{v:[""]}}},{l:"es_CR",t:{"Close navigation":{v:[""]}}},{l:"es_DO",t:{"Close navigation":{v:[""]}}},{l:"es_EC",t:{"Close navigation":{v:["Cerrar navegación"]}}},{l:"es_GT",t:{"Close navigation":{v:[""]}}},{l:"es_HN",t:{"Close navigation":{v:[""]}}},{l:"es_MX",t:{"Close navigation":{v:["Cerrar navegación"]}}},{l:"es_NI",t:{"Close navigation":{v:[""]}}},{l:"es_PA",t:{"Close navigation":{v:[""]}}},{l:"es_PE",t:{"Close navigation":{v:[""]}}},{l:"es_PR",t:{"Close navigation":{v:[""]}}},{l:"es_PY",t:{"Close navigation":{v:[""]}}},{l:"es_SV",t:{"Close navigation":{v:[""]}}},{l:"es_UY",t:{"Close navigation":{v:[""]}}},{l:"et_EE",t:{"Close navigation":{v:["Sulge navigatsioon"]},"Open navigation {shortcut}":{v:["Ava valik {shortcut}"]}}},{l:"eu",t:{"Close navigation":{v:["Itxi nabigazioa"]}}},{l:"fa",t:{"Close navigation":{v:["بستن بخش ناوبری"]}}},{l:"fi",t:{"Close navigation":{v:["Sulje navigaatio"]},"Open navigation {shortcut}":{v:["Avaa navigaatio {shortcut}"]}}},{l:"fo",t:{"Close navigation":{v:[""]}}},{l:"fr",t:{"Close navigation":{v:["Fermer la navigation"]},"Open navigation {shortcut}":{v:["Ouvrir la navigation {shortcut}"]}}},{l:"ga",t:{"Close navigation":{v:["Dún nascleanúint"]},"Open navigation {shortcut}":{v:["Oscail nascleanúint {shortcut}"]}}},{l:"gd",t:{"Close navigation":{v:[""]}}},{l:"gl",t:{"Close navigation":{v:["Pechar a navegación"]},"Open navigation {shortcut}":{v:["Abrir a navegación {shortcut}"]}}},{l:"he",t:{"Close navigation":{v:["סגירת הניווט"]}}},{l:"hi_IN",t:{"Close navigation":{v:[""]}}},{l:"hr",t:{"Close navigation":{v:[""]}}},{l:"hsb",t:{"Close navigation":{v:[""]}}},{l:"hu",t:{"Close navigation":{v:["Navigáció bezárása"]}}},{l:"hy",t:{"Close navigation":{v:[""]}}},{l:"ia",t:{"Close navigation":{v:[""]}}},{l:"id",t:{"Close navigation":{v:["Tutup navigasi"]}}},{l:"ig",t:{"Close navigation":{v:[""]}}},{l:"is",t:{"Close navigation":{v:["Loka leiðsagnarsleða"]},"Open navigation {shortcut}":{v:["Opna flakkstýringu {shortcut}"]}}},{l:"it",t:{"Close navigation":{v:["Chiudi la navigazione"]}}},{l:"ja",t:{"Close navigation":{v:["ナビゲーションを閉じる"]},"Open navigation {shortcut}":{v:["ナビゲーションを開く {shortcut}"]}}},{l:"ja_JP",t:{"Close navigation":{v:["ナビゲーションを閉じる"]}}},{l:"ka",t:{"Close navigation":{v:[""]}}},{l:"ka_GE",t:{"Close navigation":{v:[""]}}},{l:"kab",t:{"Close navigation":{v:[""]}}},{l:"kk",t:{"Close navigation":{v:[""]}}},{l:"km",t:{"Close navigation":{v:[""]}}},{l:"kn",t:{"Close navigation":{v:[""]}}},{l:"ko",t:{"Close navigation":{v:["탐색 닫기"]},"Open navigation {shortcut}":{v:["{shortcut} 탐색 열기"]}}},{l:"la",t:{"Close navigation":{v:[""]}}},{l:"lb",t:{"Close navigation":{v:[""]}}},{l:"lo",t:{"Close navigation":{v:[""]}}},{l:"lt_LT",t:{"Close navigation":{v:[""]}}},{l:"lv",t:{"Close navigation":{v:[""]}}},{l:"mk",t:{"Close navigation":{v:["Затвори навигација"]}}},{l:"mn",t:{"Close navigation":{v:[""]}}},{l:"mr",t:{"Close navigation":{v:[""]}}},{l:"ms_MY",t:{"Close navigation":{v:[""]}}},{l:"my",t:{"Close navigation":{v:[""]}}},{l:"nb",t:{"Close navigation":{v:["Lukk navigasjon"]}}},{l:"ne",t:{"Close navigation":{v:[""]}}},{l:"nl",t:{"Close navigation":{v:["Navigatie sluiten"]},"Open navigation {shortcut}":{v:["Navigatie openen {shortcut}"]}}},{l:"nn_NO",t:{"Close navigation":{v:[""]}}},{l:"oc",t:{"Close navigation":{v:[""]}}},{l:"pl",t:{"Close navigation":{v:["Zamknij nawigację"]},"Open navigation {shortcut}":{v:["Otwórz nawigację {shortcut}"]}}},{l:"ps",t:{"Close navigation":{v:[""]}}},{l:"pt_BR",t:{"Close navigation":{v:["Fechar navegação"]},"Open navigation {shortcut}":{v:["Abrir navegação {shortcut}"]}}},{l:"pt_PT",t:{"Close navigation":{v:["Fechar navegação"]},"Open navigation {shortcut}":{v:["Abrir navegação {shortcut}"]}}},{l:"ro",t:{"Close navigation":{v:["Închideți navigarea"]}}},{l:"ru",t:{"Close navigation":{v:["Закрыть навигацию"]},"Open navigation {shortcut}":{v:["Открыть навигацию {shortcut}"]}}},{l:"sc",t:{"Close navigation":{v:[""]}}},{l:"si",t:{"Close navigation":{v:[""]}}},{l:"sk",t:{"Close navigation":{v:["Zavrieť navigáciu"]},"Open navigation {shortcut}":{v:["Otvoriť navigáciu {shortcut}"]}}},{l:"sl",t:{"Close navigation":{v:["Zapri krmarjenje"]}}},{l:"sq",t:{"Close navigation":{v:[""]}}},{l:"sr",t:{"Close navigation":{v:["Затвори навигацију"]},"Open navigation {shortcut}":{v:["Отвори навигацију {shortcut}"]}}},{l:"sr@latin",t:{"Close navigation":{v:[""]}}},{l:"sv",t:{"Close navigation":{v:["Stäng navigering"]},"Open navigation {shortcut}":{v:["Öppna navigering {shortcut}"]}}},{l:"sw",t:{"Close navigation":{v:[""]}}},{l:"ta",t:{"Close navigation":{v:[""]}}},{l:"th",t:{"Close navigation":{v:[""]}}},{l:"tk",t:{"Close navigation":{v:[""]}}},{l:"tr",t:{"Close navigation":{v:["Gezinmeyi kapat"]},"Open navigation {shortcut}":{v:["Gezinmeyi aç {shortcut}"]}}},{l:"ug",t:{"Close navigation":{v:[""]}}},{l:"uk",t:{"Close navigation":{v:["Закрити навігацію"]},"Open navigation {shortcut}":{v:["Відкрити навігацію {shortcut}"]}}},{l:"ur_PK",t:{"Close navigation":{v:[""]}}},{l:"uz",t:{"Close navigation":{v:["Navigatsiyani yopish"]},"Open navigation {shortcut}":{v:[" {shortcut} navigatsiyani oching"]}}},{l:"vi",t:{"Close navigation":{v:[""]}}},{l:"zh_CN",t:{"Close navigation":{v:["关闭导航"]},"Open navigation {shortcut}":{v:["打开导览{shortcut}"]}}},{l:"zh_HK",t:{"Close navigation":{v:["關閉導航"]},"Open navigation {shortcut}":{v:["開啟導航 {shortcut}"]}}},{l:"zh_TW",t:{"Close navigation":{v:["關閉導航"]}}},{l:"zu_ZA",t:{"Close navigation":{v:[""]}}}],xp=[{l:"af",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"ar",t:{"Collapse menu":{v:["طي القائمة"]},"Open menu":{v:["إفتَح القائمة"]}}},{l:"ast",t:{"Collapse menu":{v:["Recoyer el menú"]},"Open menu":{v:["Abrir le menú"]}}},{l:"az",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"be",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"bg",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"bn_BD",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"br",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"bs",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"ca",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"cs",t:{"Collapse menu":{v:["Sbalit nabídku"]},"Open menu":{v:["Otevřít nabídku"]}}},{l:"cs_CZ",t:{"Collapse menu":{v:["Sbalit nabídku"]},"Open menu":{v:["Otevřít nabídku"]}}},{l:"cy_GB",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"da",t:{"Collapse menu":{v:["Skjul menuen"]},"Open menu":{v:["Åben menu"]}}},{l:"de",t:{"Collapse menu":{v:["Menü einklappen"]},"Open menu":{v:["Menü öffnen"]}}},{l:"de_DE",t:{"Collapse menu":{v:["Menü einklappen"]},"Open menu":{v:["Menü öffnen"]}}},{l:"el",t:{"Collapse menu":{v:["Σύμπτυξη μενού"]},"Open menu":{v:["Άνοιγμα μενού"]}}},{l:"en_GB",t:{"Collapse menu":{v:["Collapse menu"]},"Open menu":{v:["Open menu"]}}},{l:"eo",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"es",t:{"Collapse menu":{v:["Ocultar menú"]},"Open menu":{v:["Abrir menú"]}}},{l:"es_419",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"es_AR",t:{"Collapse menu":{v:["Ocultar menú"]},"Open menu":{v:["Abrir menú"]}}},{l:"es_CL",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"es_CO",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"es_CR",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"es_DO",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"es_EC",t:{"Collapse menu":{v:["Ocultar menú"]},"Open menu":{v:["Abrir menú"]}}},{l:"es_GT",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"es_HN",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"es_MX",t:{"Collapse menu":{v:["Ocultar menú"]},"Open menu":{v:["Abrir menú"]}}},{l:"es_NI",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"es_PA",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"es_PE",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"es_PR",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"es_PY",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"es_SV",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"es_UY",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"et_EE",t:{"Collapse menu":{v:["Menüü kokkuklappimine"]},"Open menu":{v:["Ava menüü"]}}},{l:"eu",t:{"Collapse menu":{v:["Tolestu menua"]},"Open menu":{v:["Ireki menua"]}}},{l:"fa",t:{"Collapse menu":{v:["بستن فهرست"]},"Open menu":{v:["باز کردن فهرست"]}}},{l:"fi",t:{"Collapse menu":{v:["Supista valikko"]},"Open menu":{v:["Avaa valikko"]}}},{l:"fo",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"fr",t:{"Collapse menu":{v:["Réduire le menu"]},"Open menu":{v:["Ouvrir le menu"]}}},{l:"ga",t:{"Collapse menu":{v:["Roghchlár Laghdaigh"]},"Open menu":{v:["Roghchlár a oscailt"]}}},{l:"gd",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"gl",t:{"Collapse menu":{v:["Contraer o menú"]},"Open menu":{v:["Abrir o menú"]}}},{l:"he",t:{"Collapse menu":{v:["צמצום התפריט"]},"Open menu":{v:["פתיחת תפריט"]}}},{l:"hi_IN",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"hr",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"hsb",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"hu",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"hy",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"ia",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"id",t:{"Collapse menu":{v:["Ciutkan menu"]},"Open menu":{v:["Buka menu"]}}},{l:"ig",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"is",t:{"Collapse menu":{v:["Fella valmynd saman"]},"Open menu":{v:["Opna valmynd"]}}},{l:"it",t:{"Collapse menu":{v:["Chiudi Menu"]},"Open menu":{v:["Apri il menu"]}}},{l:"ja",t:{"Collapse menu":{v:["メニューの折りたたみ"]},"Open menu":{v:["メニューを開く"]}}},{l:"ja_JP",t:{"Collapse menu":{v:["メニューの折りたたみ"]},"Open menu":{v:["メニューを開く"]}}},{l:"ka",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"ka_GE",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"kab",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"kk",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"km",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"kn",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"ko",t:{"Collapse menu":{v:["메뉴 접기"]},"Open menu":{v:["메뉴 열기"]}}},{l:"la",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"lb",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"lo",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"lt_LT",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"lv",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"mk",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"mn",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"mr",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"ms_MY",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"my",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"nb",t:{"Collapse menu":{v:["Skjul meny"]},"Open menu":{v:["Åpne meny"]}}},{l:"ne",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"nl",t:{"Collapse menu":{v:["Klap menu in"]},"Open menu":{v:["Open menu"]}}},{l:"nn_NO",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"oc",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"pl",t:{"Collapse menu":{v:["Zwiń menu"]},"Open menu":{v:["Otwórz menu"]}}},{l:"ps",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"pt_BR",t:{"Collapse menu":{v:["Recolher menu"]},"Open menu":{v:["Abrir menu"]}}},{l:"pt_PT",t:{"Collapse menu":{v:["Ocultar menu"]},"Open menu":{v:["Abrir menu"]}}},{l:"ro",t:{"Collapse menu":{v:["Restrânge meniul"]},"Open menu":{v:["Deschide meniul"]}}},{l:"ru",t:{"Collapse menu":{v:["Свернуть меню"]},"Open menu":{v:["Открыть меню"]}}},{l:"sc",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"si",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"sk",t:{"Collapse menu":{v:["Zbaliť menu"]},"Open menu":{v:["Otvoriť menu"]}}},{l:"sl",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"sq",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"sr",t:{"Collapse menu":{v:["Сажми мени"]},"Open menu":{v:["Отвори мени"]}}},{l:"sr@latin",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"sv",t:{"Collapse menu":{v:["Dölj menyn"]},"Open menu":{v:["Öppna menyn"]}}},{l:"sw",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"ta",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"th",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"tk",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"tr",t:{"Collapse menu":{v:["Menüyü daralt"]},"Open menu":{v:["Menüyü aç"]}}},{l:"ug",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"uk",t:{"Collapse menu":{v:["Згорнути меню"]},"Open menu":{v:["Відкрити меню"]}}},{l:"ur_PK",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"uz",t:{"Collapse menu":{v:["Menyuni yig‘ish"]},"Open menu":{v:["Menyuni oching"]}}},{l:"vi",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}},{l:"zh_CN",t:{"Collapse menu":{v:["收起菜单"]},"Open menu":{v:["打开菜单"]}}},{l:"zh_HK",t:{"Collapse menu":{v:["折疊選單"]},"Open menu":{v:["開啟選單"]}}},{l:"zh_TW",t:{"Collapse menu":{v:["折疊選單"]},"Open menu":{v:["開啟選單"]}}},{l:"zu_ZA",t:{"Collapse menu":{v:[""]},"Open menu":{v:[""]}}}],_p=[{l:"af",t:{"Edit item":{v:[""]}}},{l:"ar",t:{"Edit item":{v:["تعديل عنصر"]}}},{l:"ast",t:{"Edit item":{v:["Editar l'elementu"]}}},{l:"az",t:{"Edit item":{v:[""]}}},{l:"be",t:{"Edit item":{v:[""]}}},{l:"bg",t:{"Edit item":{v:[""]}}},{l:"bn_BD",t:{"Edit item":{v:[""]}}},{l:"br",t:{"Edit item":{v:[""]}}},{l:"bs",t:{"Edit item":{v:[""]}}},{l:"ca",t:{"Edit item":{v:["Edita l'element"]}}},{l:"cs",t:{"Edit item":{v:["Upravit položku"]}}},{l:"cs_CZ",t:{"Edit item":{v:["Upravit položku"]}}},{l:"cy_GB",t:{"Edit item":{v:[""]}}},{l:"da",t:{"Edit item":{v:["Rediger emne"]}}},{l:"de",t:{"Edit item":{v:["Objekt bearbeiten"]}}},{l:"de_DE",t:{"Edit item":{v:["Element bearbeiten"]}}},{l:"el",t:{"Edit item":{v:["Επεξεργασία αντικειμένου"]}}},{l:"en_GB",t:{"Edit item":{v:["Edit item"]}}},{l:"eo",t:{"Edit item":{v:[""]}}},{l:"es",t:{"Edit item":{v:["Editar elemento"]}}},{l:"es_419",t:{"Edit item":{v:[""]}}},{l:"es_AR",t:{"Edit item":{v:["Editar elemento"]}}},{l:"es_CL",t:{"Edit item":{v:[""]}}},{l:"es_CO",t:{"Edit item":{v:[""]}}},{l:"es_CR",t:{"Edit item":{v:[""]}}},{l:"es_DO",t:{"Edit item":{v:[""]}}},{l:"es_EC",t:{"Edit item":{v:["Editar elemento"]}}},{l:"es_GT",t:{"Edit item":{v:[""]}}},{l:"es_HN",t:{"Edit item":{v:[""]}}},{l:"es_MX",t:{"Edit item":{v:["Editar elemento"]}}},{l:"es_NI",t:{"Edit item":{v:[""]}}},{l:"es_PA",t:{"Edit item":{v:[""]}}},{l:"es_PE",t:{"Edit item":{v:[""]}}},{l:"es_PR",t:{"Edit item":{v:[""]}}},{l:"es_PY",t:{"Edit item":{v:[""]}}},{l:"es_SV",t:{"Edit item":{v:[""]}}},{l:"es_UY",t:{"Edit item":{v:[""]}}},{l:"et_EE",t:{"Edit item":{v:["Muuda objekti"]}}},{l:"eu",t:{"Edit item":{v:["Editatu elementua"]}}},{l:"fa",t:{"Edit item":{v:["ویرایش مورد"]}}},{l:"fi",t:{"Edit item":{v:["Muokkaa kohdetta"]}}},{l:"fo",t:{"Edit item":{v:[""]}}},{l:"fr",t:{"Edit item":{v:["Éditer l'élément"]}}},{l:"ga",t:{"Edit item":{v:["Cuir mír in eagar"]}}},{l:"gd",t:{"Edit item":{v:[""]}}},{l:"gl",t:{"Edit item":{v:["Editar o elemento"]}}},{l:"he",t:{"Edit item":{v:["עריכת פריט"]}}},{l:"hi_IN",t:{"Edit item":{v:[""]}}},{l:"hr",t:{"Edit item":{v:[""]}}},{l:"hsb",t:{"Edit item":{v:[""]}}},{l:"hu",t:{"Edit item":{v:["Elem szerkesztése"]}}},{l:"hy",t:{"Edit item":{v:[""]}}},{l:"ia",t:{"Edit item":{v:[""]}}},{l:"id",t:{"Edit item":{v:["Edit item"]}}},{l:"ig",t:{"Edit item":{v:[""]}}},{l:"is",t:{"Edit item":{v:["Breyta atriði"]}}},{l:"it",t:{"Edit item":{v:["Modifica l'elemento"]}}},{l:"ja",t:{"Edit item":{v:["編集"]}}},{l:"ja_JP",t:{"Edit item":{v:["編集"]}}},{l:"ka",t:{"Edit item":{v:[""]}}},{l:"ka_GE",t:{"Edit item":{v:[""]}}},{l:"kab",t:{"Edit item":{v:[""]}}},{l:"kk",t:{"Edit item":{v:[""]}}},{l:"km",t:{"Edit item":{v:[""]}}},{l:"kn",t:{"Edit item":{v:[""]}}},{l:"ko",t:{"Edit item":{v:["항목 수정"]}}},{l:"la",t:{"Edit item":{v:[""]}}},{l:"lb",t:{"Edit item":{v:[""]}}},{l:"lo",t:{"Edit item":{v:[""]}}},{l:"lt_LT",t:{"Edit item":{v:[""]}}},{l:"lv",t:{"Edit item":{v:[""]}}},{l:"mk",t:{"Edit item":{v:["Уреди"]}}},{l:"mn",t:{"Edit item":{v:[""]}}},{l:"mr",t:{"Edit item":{v:[""]}}},{l:"ms_MY",t:{"Edit item":{v:[""]}}},{l:"my",t:{"Edit item":{v:[""]}}},{l:"nb",t:{"Edit item":{v:["Rediger"]}}},{l:"ne",t:{"Edit item":{v:[""]}}},{l:"nl",t:{"Edit item":{v:["Item bewerken"]}}},{l:"nn_NO",t:{"Edit item":{v:[""]}}},{l:"oc",t:{"Edit item":{v:[""]}}},{l:"pl",t:{"Edit item":{v:["Edytuj element"]}}},{l:"ps",t:{"Edit item":{v:[""]}}},{l:"pt_BR",t:{"Edit item":{v:["Editar item"]}}},{l:"pt_PT",t:{"Edit item":{v:["Editar item"]}}},{l:"ro",t:{"Edit item":{v:["Editați elementul"]}}},{l:"ru",t:{"Edit item":{v:["Изменить элемент"]}}},{l:"sc",t:{"Edit item":{v:[""]}}},{l:"si",t:{"Edit item":{v:[""]}}},{l:"sk",t:{"Edit item":{v:["Upraviť položku"]}}},{l:"sl",t:{"Edit item":{v:["Uredi predmet"]}}},{l:"sq",t:{"Edit item":{v:[""]}}},{l:"sr",t:{"Edit item":{v:["Уреди ставку"]}}},{l:"sr@latin",t:{"Edit item":{v:[""]}}},{l:"sv",t:{"Edit item":{v:["Redigera objekt"]}}},{l:"sw",t:{"Edit item":{v:[""]}}},{l:"ta",t:{"Edit item":{v:[""]}}},{l:"th",t:{"Edit item":{v:[""]}}},{l:"tk",t:{"Edit item":{v:[""]}}},{l:"tr",t:{"Edit item":{v:["Ögeyi düzenle"]}}},{l:"ug",t:{"Edit item":{v:[""]}}},{l:"uk",t:{"Edit item":{v:["Редагувати елемент"]}}},{l:"ur_PK",t:{"Edit item":{v:[""]}}},{l:"uz",t:{"Edit item":{v:["Elementni tahrirlash"]}}},{l:"vi",t:{"Edit item":{v:[""]}}},{l:"zh_CN",t:{"Edit item":{v:["编辑项目"]}}},{l:"zh_HK",t:{"Edit item":{v:["編輯項目"]}}},{l:"zh_TW",t:{"Edit item":{v:["編輯項目"]}}},{l:"zu_ZA",t:{"Edit item":{v:[""]}}}],Sp=[{l:"af",t:{}},{l:"ar",t:{"Enable interactive view":{v:["تمكين المنظور التفاعلي"]}}},{l:"ast",t:{"Enable interactive view":{v:["Activar la vista interactiva"]}}},{l:"az",t:{}},{l:"be",t:{}},{l:"bg",t:{}},{l:"bn_BD",t:{}},{l:"br",t:{}},{l:"bs",t:{}},{l:"ca",t:{}},{l:"cs",t:{"Enable interactive view":{v:["Zapnout interaktivní zobrazení"]}}},{l:"cs_CZ",t:{}},{l:"cy_GB",t:{}},{l:"da",t:{"Enable interactive view":{v:["Aktiver interaktiv visning"]}}},{l:"de",t:{"Enable interactive view":{v:["Die interaktive Ansicht aktivieren"]}}},{l:"de_DE",t:{"Enable interactive view":{v:["Die interaktive Ansicht aktivieren"]}}},{l:"el",t:{"Enable interactive view":{v:["Ενεργοποίηση διαδραστικής προβολής"]}}},{l:"en_GB",t:{"Enable interactive view":{v:["Enable interactive view"]}}},{l:"eo",t:{}},{l:"es",t:{"Enable interactive view":{v:["Habilitar vista interactiva"]}}},{l:"es_419",t:{}},{l:"es_AR",t:{"Enable interactive view":{v:["Habilitar vista interactiva"]}}},{l:"es_CL",t:{}},{l:"es_CO",t:{}},{l:"es_CR",t:{}},{l:"es_DO",t:{}},{l:"es_EC",t:{}},{l:"es_GT",t:{}},{l:"es_HN",t:{}},{l:"es_MX",t:{"Enable interactive view":{v:["Habilitar vista interactiva"]}}},{l:"es_NI",t:{}},{l:"es_PA",t:{}},{l:"es_PE",t:{}},{l:"es_PR",t:{}},{l:"es_PY",t:{}},{l:"es_SV",t:{}},{l:"es_UY",t:{}},{l:"et_EE",t:{"Enable interactive view":{v:["Lülita interaktiivne vaade sisse"]}}},{l:"eu",t:{}},{l:"fa",t:{"Enable interactive view":{v:["فعال‌سازی نمای تعاملی"]}}},{l:"fi",t:{"Enable interactive view":{v:["Näytä vuorovaikutteinen näkymä"]}}},{l:"fo",t:{}},{l:"fr",t:{"Enable interactive view":{v:["Activer la vue interactive"]}}},{l:"ga",t:{"Enable interactive view":{v:["Cumasaigh amharc idirghníomhach"]}}},{l:"gd",t:{}},{l:"gl",t:{"Enable interactive view":{v:["Activar a vista interactiva"]}}},{l:"he",t:{}},{l:"hi_IN",t:{}},{l:"hr",t:{}},{l:"hsb",t:{}},{l:"hu",t:{}},{l:"hy",t:{}},{l:"ia",t:{}},{l:"id",t:{}},{l:"ig",t:{}},{l:"is",t:{"Enable interactive view":{v:["Virkja gagnvirka sýn"]}}},{l:"it",t:{}},{l:"ja",t:{"Enable interactive view":{v:["インタラクティブ・ビューを有効にする"]}}},{l:"ja_JP",t:{"Enable interactive view":{v:["インタラクティブ・ビューを有効にする"]}}},{l:"ka",t:{}},{l:"ka_GE",t:{}},{l:"kab",t:{}},{l:"kk",t:{}},{l:"km",t:{}},{l:"kn",t:{}},{l:"ko",t:{"Enable interactive view":{v:["대화형 보기 활성화"]}}},{l:"la",t:{}},{l:"lb",t:{}},{l:"lo",t:{}},{l:"lt_LT",t:{}},{l:"lv",t:{}},{l:"mk",t:{}},{l:"mn",t:{}},{l:"mr",t:{}},{l:"ms_MY",t:{}},{l:"my",t:{}},{l:"nb",t:{"Enable interactive view":{v:["Aktiver interaktiv visning"]}}},{l:"ne",t:{}},{l:"nl",t:{"Enable interactive view":{v:["Interactieve weergave inschakelen"]}}},{l:"nn_NO",t:{}},{l:"oc",t:{}},{l:"pl",t:{"Enable interactive view":{v:["Włącz widok interaktywny"]}}},{l:"ps",t:{}},{l:"pt_BR",t:{"Enable interactive view":{v:["Ativar visualização interativa"]}}},{l:"pt_PT",t:{"Enable interactive view":{v:["Ativar vista interativa"]}}},{l:"ro",t:{}},{l:"ru",t:{"Enable interactive view":{v:["Включить интерактивный просмотр"]}}},{l:"sc",t:{}},{l:"si",t:{}},{l:"sk",t:{"Enable interactive view":{v:["Povoliť interaktívny pohľad"]}}},{l:"sl",t:{}},{l:"sq",t:{}},{l:"sr",t:{"Enable interactive view":{v:["Укључи интерактивни приказ"]}}},{l:"sr@latin",t:{}},{l:"sv",t:{"Enable interactive view":{v:["Aktivera interaktiv vy"]}}},{l:"sw",t:{}},{l:"ta",t:{}},{l:"th",t:{}},{l:"tk",t:{}},{l:"tr",t:{"Enable interactive view":{v:["Etkileşimli görünümü aç"]}}},{l:"ug",t:{}},{l:"uk",t:{"Enable interactive view":{v:["Увімкнути інтерактивний перегляд"]}}},{l:"ur_PK",t:{}},{l:"uz",t:{"Enable interactive view":{v:["Interaktiv ko'rinishni yoqing"]}}},{l:"vi",t:{}},{l:"zh_CN",t:{"Enable interactive view":{v:["启用交互视窗"]}}},{l:"zh_HK",t:{"Enable interactive view":{v:["啟用互動視圖"]}}},{l:"zh_TW",t:{}},{l:"zu_ZA",t:{}}],Dp=[{l:"af",t:{"Enter link":{v:[""]}}},{l:"ar",t:{"Enter link":{v:["أدخِل الرابط"]}}},{l:"ast",t:{"Enter link":{v:["Introducir l'enllaz"]}}},{l:"az",t:{"Enter link":{v:[""]}}},{l:"be",t:{"Enter link":{v:[""]}}},{l:"bg",t:{"Enter link":{v:[""]}}},{l:"bn_BD",t:{"Enter link":{v:[""]}}},{l:"br",t:{"Enter link":{v:[""]}}},{l:"bs",t:{"Enter link":{v:[""]}}},{l:"ca",t:{"Enter link":{v:[""]}}},{l:"cs",t:{"Enter link":{v:["Zadat odkaz"]}}},{l:"cs_CZ",t:{"Enter link":{v:["Zadat odkaz"]}}},{l:"cy_GB",t:{"Enter link":{v:[""]}}},{l:"da",t:{"Enter link":{v:["Indtast link"]}}},{l:"de",t:{"Enter link":{v:["Link eingeben"]}}},{l:"de_DE",t:{"Enter link":{v:["Link eingeben"]}}},{l:"el",t:{"Enter link":{v:["Εισάγετε σύνδεσμο"]}}},{l:"en_GB",t:{"Enter link":{v:["Enter link"]}}},{l:"eo",t:{"Enter link":{v:[""]}}},{l:"es",t:{"Enter link":{v:["Ingrese enlace"]}}},{l:"es_419",t:{"Enter link":{v:[""]}}},{l:"es_AR",t:{"Enter link":{v:["Ingresar enlace"]}}},{l:"es_CL",t:{"Enter link":{v:[""]}}},{l:"es_CO",t:{"Enter link":{v:[""]}}},{l:"es_CR",t:{"Enter link":{v:[""]}}},{l:"es_DO",t:{"Enter link":{v:[""]}}},{l:"es_EC",t:{"Enter link":{v:["Ingresar enlace"]}}},{l:"es_GT",t:{"Enter link":{v:[""]}}},{l:"es_HN",t:{"Enter link":{v:[""]}}},{l:"es_MX",t:{"Enter link":{v:["Ingresar enlace"]}}},{l:"es_NI",t:{"Enter link":{v:[""]}}},{l:"es_PA",t:{"Enter link":{v:[""]}}},{l:"es_PE",t:{"Enter link":{v:[""]}}},{l:"es_PR",t:{"Enter link":{v:[""]}}},{l:"es_PY",t:{"Enter link":{v:[""]}}},{l:"es_SV",t:{"Enter link":{v:[""]}}},{l:"es_UY",t:{"Enter link":{v:[""]}}},{l:"et_EE",t:{"Enter link":{v:["Sisesta link"]}}},{l:"eu",t:{"Enter link":{v:["Sartu esteka"]}}},{l:"fa",t:{"Enter link":{v:["لینک را وارد کنید"]}}},{l:"fi",t:{"Enter link":{v:["Kirjoita linkki"]}}},{l:"fo",t:{"Enter link":{v:[""]}}},{l:"fr",t:{"Enter link":{v:["Saisissez le lien"]}}},{l:"ga",t:{"Enter link":{v:["Cuir isteach nasc"]}}},{l:"gd",t:{"Enter link":{v:[""]}}},{l:"gl",t:{"Enter link":{v:["Introducir a ligazón"]}}},{l:"he",t:{"Enter link":{v:["מילוי קישור"]}}},{l:"hi_IN",t:{"Enter link":{v:[""]}}},{l:"hr",t:{"Enter link":{v:[""]}}},{l:"hsb",t:{"Enter link":{v:[""]}}},{l:"hu",t:{"Enter link":{v:[""]}}},{l:"hy",t:{"Enter link":{v:[""]}}},{l:"ia",t:{"Enter link":{v:[""]}}},{l:"id",t:{"Enter link":{v:["Masukkan tautan"]}}},{l:"ig",t:{"Enter link":{v:[""]}}},{l:"is",t:{"Enter link":{v:["Settu inn tengil"]}}},{l:"it",t:{"Enter link":{v:["Inserire il link"]}}},{l:"ja",t:{"Enter link":{v:["リンクを入力する"]}}},{l:"ja_JP",t:{"Enter link":{v:["リンクを入力する"]}}},{l:"ka",t:{"Enter link":{v:[""]}}},{l:"ka_GE",t:{"Enter link":{v:[""]}}},{l:"kab",t:{"Enter link":{v:[""]}}},{l:"kk",t:{"Enter link":{v:[""]}}},{l:"km",t:{"Enter link":{v:[""]}}},{l:"kn",t:{"Enter link":{v:[""]}}},{l:"ko",t:{"Enter link":{v:["링크 입력"]}}},{l:"la",t:{"Enter link":{v:[""]}}},{l:"lb",t:{"Enter link":{v:[""]}}},{l:"lo",t:{"Enter link":{v:[""]}}},{l:"lt_LT",t:{"Enter link":{v:[""]}}},{l:"lv",t:{"Enter link":{v:[""]}}},{l:"mk",t:{"Enter link":{v:[""]}}},{l:"mn",t:{"Enter link":{v:[""]}}},{l:"mr",t:{"Enter link":{v:[""]}}},{l:"ms_MY",t:{"Enter link":{v:[""]}}},{l:"my",t:{"Enter link":{v:[""]}}},{l:"nb",t:{"Enter link":{v:["Skriv inn lenken"]}}},{l:"ne",t:{"Enter link":{v:[""]}}},{l:"nl",t:{"Enter link":{v:["Voer link in"]}}},{l:"nn_NO",t:{"Enter link":{v:[""]}}},{l:"oc",t:{"Enter link":{v:[""]}}},{l:"pl",t:{"Enter link":{v:["Wprowadź link"]}}},{l:"ps",t:{"Enter link":{v:[""]}}},{l:"pt_BR",t:{"Enter link":{v:["Insira o link"]}}},{l:"pt_PT",t:{"Enter link":{v:["Inserir hiperligação"]}}},{l:"ro",t:{"Enter link":{v:["Introduceți link-ul"]}}},{l:"ru",t:{"Enter link":{v:["Введите ссылку"]}}},{l:"sc",t:{"Enter link":{v:[""]}}},{l:"si",t:{"Enter link":{v:[""]}}},{l:"sk",t:{"Enter link":{v:["Vložiť link"]}}},{l:"sl",t:{"Enter link":{v:[""]}}},{l:"sq",t:{"Enter link":{v:[""]}}},{l:"sr",t:{"Enter link":{v:["Унесите линк"]}}},{l:"sr@latin",t:{"Enter link":{v:[""]}}},{l:"sv",t:{"Enter link":{v:["Ange länk"]}}},{l:"sw",t:{"Enter link":{v:[""]}}},{l:"ta",t:{"Enter link":{v:[""]}}},{l:"th",t:{"Enter link":{v:[""]}}},{l:"tk",t:{"Enter link":{v:[""]}}},{l:"tr",t:{"Enter link":{v:["Bağlantıyı yazın"]}}},{l:"ug",t:{"Enter link":{v:[""]}}},{l:"uk",t:{"Enter link":{v:["Зазначте посилання"]}}},{l:"ur_PK",t:{"Enter link":{v:[""]}}},{l:"uz",t:{"Enter link":{v:["Havolani kiriting"]}}},{l:"vi",t:{"Enter link":{v:[""]}}},{l:"zh_CN",t:{"Enter link":{v:["输入链接"]}}},{l:"zh_HK",t:{"Enter link":{v:["輸入連結"]}}},{l:"zh_TW",t:{"Enter link":{v:["輸入連結"]}}},{l:"zu_ZA",t:{"Enter link":{v:[""]}}}],Fp=[{l:"af",t:{"External documentation for {name}":{v:[""]}}},{l:"ar",t:{"External documentation for {name}":{v:["التوثيق الخارجي لـ {name}"]}}},{l:"ast",t:{"External documentation for {name}":{v:["Documentación esterna pa: {name}"]}}},{l:"az",t:{"External documentation for {name}":{v:[""]}}},{l:"be",t:{"External documentation for {name}":{v:[""]}}},{l:"bg",t:{"External documentation for {name}":{v:[""]}}},{l:"bn_BD",t:{"External documentation for {name}":{v:[""]}}},{l:"br",t:{"External documentation for {name}":{v:[""]}}},{l:"bs",t:{"External documentation for {name}":{v:[""]}}},{l:"ca",t:{"External documentation for {name}":{v:[""]}}},{l:"cs",t:{"External documentation for {name}":{v:["Externí dokumentace pro {name}"]}}},{l:"cs_CZ",t:{"External documentation for {name}":{v:["Externí dokumentace pro {name}"]}}},{l:"cy_GB",t:{"External documentation for {name}":{v:[""]}}},{l:"da",t:{"External documentation for {name}":{v:["Ekstern dokumentation for {name}"]}}},{l:"de",t:{"External documentation for {name}":{v:["Externe Dokumentation für {name}"]}}},{l:"de_DE",t:{"External documentation for {name}":{v:["Externe Dokumentation für {name}"]}}},{l:"el",t:{"External documentation for {name}":{v:["Εξωτερική τεκμηρίωση για {name}"]}}},{l:"en_GB",t:{"External documentation for {name}":{v:["External documentation for {name}"]}}},{l:"eo",t:{"External documentation for {name}":{v:[""]}}},{l:"es",t:{"External documentation for {name}":{v:["Documentación externa para {name}"]}}},{l:"es_419",t:{"External documentation for {name}":{v:[""]}}},{l:"es_AR",t:{"External documentation for {name}":{v:["Documentación externa para {name}"]}}},{l:"es_CL",t:{"External documentation for {name}":{v:[""]}}},{l:"es_CO",t:{"External documentation for {name}":{v:[""]}}},{l:"es_CR",t:{"External documentation for {name}":{v:[""]}}},{l:"es_DO",t:{"External documentation for {name}":{v:[""]}}},{l:"es_EC",t:{"External documentation for {name}":{v:["Documentación externa para {name}"]}}},{l:"es_GT",t:{"External documentation for {name}":{v:[""]}}},{l:"es_HN",t:{"External documentation for {name}":{v:[""]}}},{l:"es_MX",t:{"External documentation for {name}":{v:["Documentación externa para {name}"]}}},{l:"es_NI",t:{"External documentation for {name}":{v:[""]}}},{l:"es_PA",t:{"External documentation for {name}":{v:[""]}}},{l:"es_PE",t:{"External documentation for {name}":{v:[""]}}},{l:"es_PR",t:{"External documentation for {name}":{v:[""]}}},{l:"es_PY",t:{"External documentation for {name}":{v:[""]}}},{l:"es_SV",t:{"External documentation for {name}":{v:[""]}}},{l:"es_UY",t:{"External documentation for {name}":{v:[""]}}},{l:"et_EE",t:{"External documentation for {name}":{v:["Väline dokumentatsioon {nimi}"]}}},{l:"eu",t:{"External documentation for {name}":{v:["{name}-ren kanpoko dokumentazioa"]}}},{l:"fa",t:{"External documentation for {name}":{v:["اسناد بیرونی برای {name}"]}}},{l:"fi",t:{"External documentation for {name}":{v:["Ulkoinen dokumentaatio {name}lle"]}}},{l:"fo",t:{"External documentation for {name}":{v:[""]}}},{l:"fr",t:{"External documentation for {name}":{v:["Documentation externe pour {name}"]}}},{l:"ga",t:{"External documentation for {name}":{v:["Doiciméadúchán seachtrach le haghaidh {name}"]}}},{l:"gd",t:{"External documentation for {name}":{v:[""]}}},{l:"gl",t:{"External documentation for {name}":{v:["Documentación externa para {name}"]}}},{l:"he",t:{"External documentation for {name}":{v:["תיעוד חיצוני עבור {name}"]}}},{l:"hi_IN",t:{"External documentation for {name}":{v:[""]}}},{l:"hr",t:{"External documentation for {name}":{v:[""]}}},{l:"hsb",t:{"External documentation for {name}":{v:[""]}}},{l:"hu",t:{"External documentation for {name}":{v:[""]}}},{l:"hy",t:{"External documentation for {name}":{v:[""]}}},{l:"ia",t:{"External documentation for {name}":{v:[""]}}},{l:"id",t:{"External documentation for {name}":{v:["Dokumentasi eksternal untuk {name}"]}}},{l:"ig",t:{"External documentation for {name}":{v:[""]}}},{l:"is",t:{"External documentation for {name}":{v:["Utanaðkomandi leiðbeiningar fyrir {name}"]}}},{l:"it",t:{"External documentation for {name}":{v:["Documentazione esterna per {name}"]}}},{l:"ja",t:{"External documentation for {name}":{v:["{name} の外部ドキュメント"]}}},{l:"ja_JP",t:{"External documentation for {name}":{v:["{name} の外部ドキュメント"]}}},{l:"ka",t:{"External documentation for {name}":{v:[""]}}},{l:"ka_GE",t:{"External documentation for {name}":{v:[""]}}},{l:"kab",t:{"External documentation for {name}":{v:[""]}}},{l:"kk",t:{"External documentation for {name}":{v:[""]}}},{l:"km",t:{"External documentation for {name}":{v:[""]}}},{l:"kn",t:{"External documentation for {name}":{v:[""]}}},{l:"ko",t:{"External documentation for {name}":{v:["{name}의 외부 문서"]}}},{l:"la",t:{"External documentation for {name}":{v:[""]}}},{l:"lb",t:{"External documentation for {name}":{v:[""]}}},{l:"lo",t:{"External documentation for {name}":{v:[""]}}},{l:"lt_LT",t:{"External documentation for {name}":{v:[""]}}},{l:"lv",t:{"External documentation for {name}":{v:[""]}}},{l:"mk",t:{"External documentation for {name}":{v:[""]}}},{l:"mn",t:{"External documentation for {name}":{v:[""]}}},{l:"mr",t:{"External documentation for {name}":{v:[""]}}},{l:"ms_MY",t:{"External documentation for {name}":{v:[""]}}},{l:"my",t:{"External documentation for {name}":{v:[""]}}},{l:"nb",t:{"External documentation for {name}":{v:["Ekstern dokumentasjon for {name}"]}}},{l:"ne",t:{"External documentation for {name}":{v:[""]}}},{l:"nl",t:{"External documentation for {name}":{v:["Externe documentatie voor {name}"]}}},{l:"nn_NO",t:{"External documentation for {name}":{v:[""]}}},{l:"oc",t:{"External documentation for {name}":{v:[""]}}},{l:"pl",t:{"External documentation for {name}":{v:["Dokumentacja zewnętrzna dla {name}"]}}},{l:"ps",t:{"External documentation for {name}":{v:[""]}}},{l:"pt_BR",t:{"External documentation for {name}":{v:["Documentação externa para {name}"]}}},{l:"pt_PT",t:{"External documentation for {name}":{v:["Documentação externa para {name}"]}}},{l:"ro",t:{"External documentation for {name}":{v:["Documentație externă pentru {name}"]}}},{l:"ru",t:{"External documentation for {name}":{v:["Внешняя документация для {name}"]}}},{l:"sc",t:{"External documentation for {name}":{v:[""]}}},{l:"si",t:{"External documentation for {name}":{v:[""]}}},{l:"sk",t:{"External documentation for {name}":{v:["Externá dokumentácia pre {name}"]}}},{l:"sl",t:{"External documentation for {name}":{v:[""]}}},{l:"sq",t:{"External documentation for {name}":{v:[""]}}},{l:"sr",t:{"External documentation for {name}":{v:["Спољна документација за {name}"]}}},{l:"sr@latin",t:{"External documentation for {name}":{v:[""]}}},{l:"sv",t:{"External documentation for {name}":{v:["Extern dokumentation för {name}"]}}},{l:"sw",t:{"External documentation for {name}":{v:[""]}}},{l:"ta",t:{"External documentation for {name}":{v:[""]}}},{l:"th",t:{"External documentation for {name}":{v:[""]}}},{l:"tk",t:{"External documentation for {name}":{v:[""]}}},{l:"tr",t:{"External documentation for {name}":{v:["{name} için dış belgeler"]}}},{l:"ug",t:{"External documentation for {name}":{v:[""]}}},{l:"uk",t:{"External documentation for {name}":{v:["Зовнішня документація для {name}"]}}},{l:"ur_PK",t:{"External documentation for {name}":{v:[""]}}},{l:"uz",t:{"External documentation for {name}":{v:["{name}uchun tashqi hujjatlar"]}}},{l:"vi",t:{"External documentation for {name}":{v:[""]}}},{l:"zh_CN",t:{"External documentation for {name}":{v:["{name} 的外部文档"]}}},{l:"zh_HK",t:{"External documentation for {name}":{v:["{name} 的外部文件"]}}},{l:"zh_TW",t:{"External documentation for {name}":{v:["{name} 的外部文件"]}}},{l:"zu_ZA",t:{"External documentation for {name}":{v:[""]}}}],Pp=[{l:"af",t:{"Go back to the list":{v:[""]}}},{l:"ar",t:{"Go back to the list":{v:["عودة إلى القائمة"]}}},{l:"ast",t:{"Go back to the list":{v:["Volver a la llista"]}}},{l:"az",t:{"Go back to the list":{v:[""]}}},{l:"be",t:{"Go back to the list":{v:[""]}}},{l:"bg",t:{"Go back to the list":{v:[""]}}},{l:"bn_BD",t:{"Go back to the list":{v:[""]}}},{l:"br",t:{"Go back to the list":{v:[""]}}},{l:"bs",t:{"Go back to the list":{v:[""]}}},{l:"ca",t:{"Go back to the list":{v:["Torna a la llista"]}}},{l:"cs",t:{"Go back to the list":{v:["Jít zpět na seznam"]}}},{l:"cs_CZ",t:{"Go back to the list":{v:["Jít zpět na seznam"]}}},{l:"cy_GB",t:{"Go back to the list":{v:[""]}}},{l:"da",t:{"Go back to the list":{v:["Tilbage til listen"]}}},{l:"de",t:{"Go back to the list":{v:["Zurück zur Liste"]}}},{l:"de_DE",t:{"Go back to the list":{v:["Zurück zur Liste"]}}},{l:"el",t:{"Go back to the list":{v:["Επιστροφή στην αρχική λίστα"]}}},{l:"en_GB",t:{"Go back to the list":{v:["Go back to the list"]}}},{l:"eo",t:{"Go back to the list":{v:[""]}}},{l:"es",t:{"Go back to the list":{v:["Volver a la lista"]}}},{l:"es_419",t:{"Go back to the list":{v:[""]}}},{l:"es_AR",t:{"Go back to the list":{v:["Volver a la lista"]}}},{l:"es_CL",t:{"Go back to the list":{v:[""]}}},{l:"es_CO",t:{"Go back to the list":{v:[""]}}},{l:"es_CR",t:{"Go back to the list":{v:[""]}}},{l:"es_DO",t:{"Go back to the list":{v:[""]}}},{l:"es_EC",t:{"Go back to the list":{v:["Volver a la lista"]}}},{l:"es_GT",t:{"Go back to the list":{v:[""]}}},{l:"es_HN",t:{"Go back to the list":{v:[""]}}},{l:"es_MX",t:{"Go back to the list":{v:["Regresar a la lista"]}}},{l:"es_NI",t:{"Go back to the list":{v:[""]}}},{l:"es_PA",t:{"Go back to the list":{v:[""]}}},{l:"es_PE",t:{"Go back to the list":{v:[""]}}},{l:"es_PR",t:{"Go back to the list":{v:[""]}}},{l:"es_PY",t:{"Go back to the list":{v:[""]}}},{l:"es_SV",t:{"Go back to the list":{v:[""]}}},{l:"es_UY",t:{"Go back to the list":{v:[""]}}},{l:"et_EE",t:{"Go back to the list":{v:["Tagasi nimekirja juurde"]}}},{l:"eu",t:{"Go back to the list":{v:["Bueltatu zerrendara"]}}},{l:"fa",t:{"Go back to the list":{v:["برگشت به لیست"]}}},{l:"fi",t:{"Go back to the list":{v:["Takaisin listaan"]}}},{l:"fo",t:{"Go back to the list":{v:[""]}}},{l:"fr",t:{"Go back to the list":{v:["Retourner à la liste"]}}},{l:"ga",t:{"Go back to the list":{v:["Téigh ar ais go dtí an liosta"]}}},{l:"gd",t:{"Go back to the list":{v:[""]}}},{l:"gl",t:{"Go back to the list":{v:["Volver á lista"]}}},{l:"he",t:{"Go back to the list":{v:["חזרה לרשימה"]}}},{l:"hi_IN",t:{"Go back to the list":{v:[""]}}},{l:"hr",t:{"Go back to the list":{v:[""]}}},{l:"hsb",t:{"Go back to the list":{v:[""]}}},{l:"hu",t:{"Go back to the list":{v:["Ugrás vissza a listához"]}}},{l:"hy",t:{"Go back to the list":{v:[""]}}},{l:"ia",t:{"Go back to the list":{v:[""]}}},{l:"id",t:{"Go back to the list":{v:["Kembali ke daftar"]}}},{l:"ig",t:{"Go back to the list":{v:[""]}}},{l:"is",t:{"Go back to the list":{v:["Fara til baka í listann"]}}},{l:"it",t:{"Go back to the list":{v:["Torna all'elenco"]}}},{l:"ja",t:{"Go back to the list":{v:["リストに戻る"]}}},{l:"ja_JP",t:{"Go back to the list":{v:["リストに戻る"]}}},{l:"ka",t:{"Go back to the list":{v:[""]}}},{l:"ka_GE",t:{"Go back to the list":{v:[""]}}},{l:"kab",t:{"Go back to the list":{v:[""]}}},{l:"kk",t:{"Go back to the list":{v:[""]}}},{l:"km",t:{"Go back to the list":{v:[""]}}},{l:"kn",t:{"Go back to the list":{v:[""]}}},{l:"ko",t:{"Go back to the list":{v:["목록으로 돌아가기"]}}},{l:"la",t:{"Go back to the list":{v:[""]}}},{l:"lb",t:{"Go back to the list":{v:[""]}}},{l:"lo",t:{"Go back to the list":{v:[""]}}},{l:"lt_LT",t:{"Go back to the list":{v:[""]}}},{l:"lv",t:{"Go back to the list":{v:[""]}}},{l:"mk",t:{"Go back to the list":{v:["Врати се на листата"]}}},{l:"mn",t:{"Go back to the list":{v:[""]}}},{l:"mr",t:{"Go back to the list":{v:[""]}}},{l:"ms_MY",t:{"Go back to the list":{v:[""]}}},{l:"my",t:{"Go back to the list":{v:[""]}}},{l:"nb",t:{"Go back to the list":{v:["Gå tilbake til listen"]}}},{l:"ne",t:{"Go back to the list":{v:[""]}}},{l:"nl",t:{"Go back to the list":{v:["Ga terug naar de lijst"]}}},{l:"nn_NO",t:{"Go back to the list":{v:[""]}}},{l:"oc",t:{"Go back to the list":{v:[""]}}},{l:"pl",t:{"Go back to the list":{v:["Powrót do listy"]}}},{l:"ps",t:{"Go back to the list":{v:[""]}}},{l:"pt_BR",t:{"Go back to the list":{v:["Voltar para a lista"]}}},{l:"pt_PT",t:{"Go back to the list":{v:["Voltar para a lista"]}}},{l:"ro",t:{"Go back to the list":{v:["Întoarceți-vă la listă"]}}},{l:"ru",t:{"Go back to the list":{v:["Вернуться к списку"]}}},{l:"sc",t:{"Go back to the list":{v:[""]}}},{l:"si",t:{"Go back to the list":{v:[""]}}},{l:"sk",t:{"Go back to the list":{v:["Späť na zoznam"]}}},{l:"sl",t:{"Go back to the list":{v:["Vrni se na seznam"]}}},{l:"sq",t:{"Go back to the list":{v:[""]}}},{l:"sr",t:{"Go back to the list":{v:["Назад на листу"]}}},{l:"sr@latin",t:{"Go back to the list":{v:[""]}}},{l:"sv",t:{"Go back to the list":{v:["Gå tillbaka till listan"]}}},{l:"sw",t:{"Go back to the list":{v:[""]}}},{l:"ta",t:{"Go back to the list":{v:[""]}}},{l:"th",t:{"Go back to the list":{v:[""]}}},{l:"tk",t:{"Go back to the list":{v:[""]}}},{l:"tr",t:{"Go back to the list":{v:["Listeye dön"]}}},{l:"ug",t:{"Go back to the list":{v:[""]}}},{l:"uk",t:{"Go back to the list":{v:["Повернутися до списку"]}}},{l:"ur_PK",t:{"Go back to the list":{v:[""]}}},{l:"uz",t:{"Go back to the list":{v:["Ro'yxatga qayting"]}}},{l:"vi",t:{"Go back to the list":{v:[""]}}},{l:"zh_CN",t:{"Go back to the list":{v:["返回至列表"]}}},{l:"zh_HK",t:{"Go back to the list":{v:["返回清單"]}}},{l:"zh_TW",t:{"Go back to the list":{v:["回到清單"]}}},{l:"zu_ZA",t:{"Go back to the list":{v:[""]}}}],Np=[{l:"af",t:{}},{l:"ar",t:{"Keyboard navigation help":{v:["مساعدة في التنقل باستعمال لوحة المفاتيح"]},"Skip to app navigation":{v:["تجاوَز إلى التنقل في التطبيق"]},"Skip to main content":{v:["تجاوَز إلى المحتوى الرئيسي"]}}},{l:"ast",t:{"Keyboard navigation help":{v:["Ayuda de la navegación pente'l tecláu"]},"Skip to app navigation":{v:["Dir a la navegación d'aplicaciones"]},"Skip to main content":{v:["Dir al conteníu principal"]}}},{l:"az",t:{}},{l:"be",t:{}},{l:"bg",t:{}},{l:"bn_BD",t:{}},{l:"br",t:{}},{l:"bs",t:{}},{l:"ca",t:{}},{l:"cs",t:{"Keyboard navigation help":{v:["Nápověda pro pohyb pomocí klávesnice"]},"Skip to app navigation":{v:["Přeskočit na navigaci aplikace"]},"Skip to main content":{v:["Přeskočit na hlavní obsah"]}}},{l:"cs_CZ",t:{"Keyboard navigation help":{v:["Nápověda pro pohyb pomocí klávesnice"]},"Skip to app navigation":{v:["Přeskočit na navigaci aplikace"]},"Skip to main content":{v:["Přeskočit na hlavní obsah"]}}},{l:"cy_GB",t:{}},{l:"da",t:{"Keyboard navigation help":{v:["Hjælp til tastaturnavigation"]},"Skip to app navigation":{v:["Spring til app navigation"]},"Skip to main content":{v:["Spring til hovedindhold"]}}},{l:"de",t:{"Keyboard navigation help":{v:["Tastatur-Navigationshilfe"]},"Skip to app navigation":{v:["Zur App-Navigation springen"]},"Skip to main content":{v:["Zum Hauptinhalt springen"]}}},{l:"de_DE",t:{"Keyboard navigation help":{v:["Tastatur-Navigationshilfe"]},"Skip to app navigation":{v:["Zur App-Navigation springen"]},"Skip to main content":{v:["Zum Hauptinhalt springen"]}}},{l:"el",t:{"Keyboard navigation help":{v:["Βοήθεια πλοήγησης με πληκτρολόγιο"]},"Skip to app navigation":{v:["Μετάβαση στην πλοήγηση της εφαρμογής"]},"Skip to main content":{v:["Μετάβαση στο κύριο περιεχόμενο"]}}},{l:"en_GB",t:{"Keyboard navigation help":{v:["Keyboard navigation help"]},"Skip to app navigation":{v:["Skip to app navigation"]},"Skip to main content":{v:["Skip to main content"]}}},{l:"eo",t:{}},{l:"es",t:{"Keyboard navigation help":{v:["Ayuda de navegación del teclado"]},"Skip to app navigation":{v:["Saltar a la navegación de apps"]},"Skip to main content":{v:["Saltar al contenido principal"]}}},{l:"es_419",t:{}},{l:"es_AR",t:{"Keyboard navigation help":{v:["Ayuda de navegación del teclado"]},"Skip to app navigation":{v:["Saltar a la navegación de app"]},"Skip to main content":{v:["Saltar al contenido principal"]}}},{l:"es_CL",t:{}},{l:"es_CO",t:{}},{l:"es_CR",t:{}},{l:"es_DO",t:{}},{l:"es_EC",t:{}},{l:"es_GT",t:{}},{l:"es_HN",t:{}},{l:"es_MX",t:{"Keyboard navigation help":{v:["Ayuda de navegación del teclado"]},"Skip to app navigation":{v:["Saltar a la navegación de app"]},"Skip to main content":{v:["Saltar al contenido principal"]}}},{l:"es_NI",t:{}},{l:"es_PA",t:{}},{l:"es_PE",t:{}},{l:"es_PR",t:{}},{l:"es_PY",t:{}},{l:"es_SV",t:{}},{l:"es_UY",t:{}},{l:"et_EE",t:{"Keyboard navigation help":{v:["Klahvistiku kasutuse abiteave"]},"Skip to app navigation":{v:["Suundu rakenduses liikumise valikute juurde"]},"Skip to main content":{v:["Suundu põhisisu juurde"]}}},{l:"eu",t:{}},{l:"fa",t:{"Keyboard navigation help":{v:["راهنمای ناوبری صفحه کلید"]},"Skip to app navigation":{v:["رفتن به پیمایش برنامه"]},"Skip to main content":{v:["رفتن به محتوای اصلی"]}}},{l:"fi",t:{"Keyboard navigation help":{v:["Näppäimistönavigoinnin ohje"]},"Skip to app navigation":{v:["Siirry sovelluksen navigaatioon"]},"Skip to main content":{v:["Siirry pääsisältöön"]}}},{l:"fo",t:{}},{l:"fr",t:{"Keyboard navigation help":{v:["Aide à la navigation du clavier"]},"Skip to app navigation":{v:["Passer à l'app navigation"]},"Skip to main content":{v:["Passer au contenu principal"]}}},{l:"ga",t:{"Keyboard navigation help":{v:["Cabhair le nascleanúint méarchláir"]},"Skip to app navigation":{v:["Téigh ar aghaidh chuig nascleanúint aip"]},"Skip to main content":{v:["Téigh ar aghaidh chuig an bpríomhábhar"]}}},{l:"gd",t:{}},{l:"gl",t:{"Keyboard navigation help":{v:["Axuda á navegación co teclado"]},"Skip to app navigation":{v:["Ir á navegación da aplicación"]},"Skip to main content":{v:["Ir ao contido principal"]}}},{l:"he",t:{}},{l:"hi_IN",t:{}},{l:"hr",t:{}},{l:"hsb",t:{}},{l:"hu",t:{}},{l:"hy",t:{}},{l:"ia",t:{}},{l:"id",t:{}},{l:"ig",t:{}},{l:"is",t:{"Keyboard navigation help":{v:["Aðstoð við rötun á lyklaborði"]},"Skip to app navigation":{v:["Sleppa og fara í flakk innan forrits"]},"Skip to main content":{v:["Sleppa og fara í meginefni"]}}},{l:"it",t:{}},{l:"ja",t:{"Keyboard navigation help":{v:["キーボード・ナビゲーション・ヘルプ"]},"Skip to app navigation":{v:["アプリのナビゲーションへ移動"]},"Skip to main content":{v:["メインコンテンツへ移動"]}}},{l:"ja_JP",t:{"Keyboard navigation help":{v:["キーボード・ナビゲーション・ヘルプ"]},"Skip to app navigation":{v:["アプリのナビゲーションへ移動"]},"Skip to main content":{v:["メインコンテンツへ移動"]}}},{l:"ka",t:{}},{l:"ka_GE",t:{}},{l:"kab",t:{}},{l:"kk",t:{}},{l:"km",t:{}},{l:"kn",t:{}},{l:"ko",t:{"Keyboard navigation help":{v:["키보드 탐색 도움말"]},"Skip to app navigation":{v:["앱 탐색으로 건너뛰기"]},"Skip to main content":{v:["본 내용으로 건너뛰기"]}}},{l:"la",t:{}},{l:"lb",t:{}},{l:"lo",t:{}},{l:"lt_LT",t:{}},{l:"lv",t:{}},{l:"mk",t:{}},{l:"mn",t:{}},{l:"mr",t:{}},{l:"ms_MY",t:{}},{l:"my",t:{}},{l:"nb",t:{"Keyboard navigation help":{v:["Hjelp for tastaturnavigering"]},"Skip to app navigation":{v:["Hopp til appnavigering"]},"Skip to main content":{v:["Hopp til hovedinnhold"]}}},{l:"ne",t:{}},{l:"nl",t:{"Keyboard navigation help":{v:["Hulp voor toetsenbordnavigatie"]},"Skip to app navigation":{v:["Doorgaan naar app-navigatie"]},"Skip to main content":{v:["Naar hoofdinhoud gaan"]}}},{l:"nn_NO",t:{}},{l:"oc",t:{}},{l:"pl",t:{"Keyboard navigation help":{v:["Pomoc w nawigacji za pomocą klawiatury"]},"Skip to app navigation":{v:["Przewiń do nawigacji"]},"Skip to main content":{v:["Przewiń do głównych treści"]}}},{l:"ps",t:{}},{l:"pt_BR",t:{"Keyboard navigation help":{v:["Ajuda para navegação pelo teclado"]},"Skip to app navigation":{v:["Ir para navegação"]},"Skip to main content":{v:["Ir para conteúdo principal"]}}},{l:"pt_PT",t:{"Keyboard navigation help":{v:["Ajuda à navegação no teclado"]},"Skip to app navigation":{v:["Saltar para navegação da app"]},"Skip to main content":{v:["Saltar para conteúdo principal"]}}},{l:"ro",t:{}},{l:"ru",t:{"Keyboard navigation help":{v:["Справка по навигации с помощью клавиатуры"]},"Skip to app navigation":{v:["Перейти к навигации по приложению"]},"Skip to main content":{v:["Перейти к основному содержанию"]}}},{l:"sc",t:{}},{l:"si",t:{}},{l:"sk",t:{"Keyboard navigation help":{v:["Pomoc pri navigácii pomocou klávesnice"]},"Skip to app navigation":{v:["Preskočiť na navigáciu v aplikácii"]},"Skip to main content":{v:["Preskočiť na hlavný obsah"]}}},{l:"sl",t:{}},{l:"sq",t:{}},{l:"sr",t:{"Keyboard navigation help":{v:["Помоћ за навигацију тастатуром"]},"Skip to app navigation":{v:["Прескочи на навигацију апликацијом"]},"Skip to main content":{v:["Прескочи на главни садржај"]}}},{l:"sr@latin",t:{}},{l:"sv",t:{"Keyboard navigation help":{v:["Hjälp med tangentbordsnavigering"]},"Skip to app navigation":{v:["Hoppa till appnavigering"]},"Skip to main content":{v:["Hoppa till huvudinnehåll"]}}},{l:"sw",t:{}},{l:"ta",t:{}},{l:"th",t:{}},{l:"tk",t:{}},{l:"tr",t:{"Keyboard navigation help":{v:["Klavye ile gezinme yardımı"]},"Skip to app navigation":{v:["Uygulama gezinmesine git"]},"Skip to main content":{v:["Ana içeriğe git"]}}},{l:"ug",t:{}},{l:"uk",t:{"Keyboard navigation help":{v:["Допомога з навігацією клавішами"]},"Skip to app navigation":{v:["Пропустити навігацію по застосунках"]},"Skip to main content":{v:["Перейти одразу до головного вмісту"]}}},{l:"ur_PK",t:{}},{l:"uz",t:{"Keyboard navigation help":{v:["Klaviatura navigatsiyasi yordami"]},"Skip to app navigation":{v:["Ilova navigatsiyasiga oʻtish"]},"Skip to main content":{v:["Asosiy tarkibga o'tish"]}}},{l:"vi",t:{}},{l:"zh_CN",t:{"Keyboard navigation help":{v:["键盘导航栏帮助"]},"Skip to app navigation":{v:["跳转至应用程序导航页"]},"Skip to main content":{v:["跳转至主要内容"]}}},{l:"zh_HK",t:{"Keyboard navigation help":{v:["鍵盤導航幫助"]},"Skip to app navigation":{v:["跳至應用程式導航"]},"Skip to main content":{v:["跳至主要內容"]}}},{l:"zh_TW",t:{}},{l:"zu_ZA",t:{}}],Op=[{l:"af",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"ar",t:{'Load more "{options}"':{v:['تحميل المزيد من "{options}" ']},"Raw link {options}":{v:[" الرابط الخام raw link ـ {options}"]},"Start typing to search":{v:["إبدإ كتابة مفردات البحث"]}}},{l:"ast",t:{'Load more "{options}"':{v:["Cargar más «{options}»"]},"Raw link {options}":{v:["Enllaz en bruto {optiones}"]},"Start typing to search":{v:["Comienza a escribir pa buscar"]}}},{l:"az",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"be",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"bg",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"bn_BD",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"br",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"bs",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"ca",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"cs",t:{'Load more "{options}"':{v:["Načíst další „{options}“"]},"Raw link {options}":{v:["Holý odkaz {options}"]},"Start typing to search":{v:["Vyhledávejte psaním"]}}},{l:"cs_CZ",t:{'Load more "{options}"':{v:["Načíst další „{options}“"]},"Raw link {options}":{v:["Holý odkaz {options}"]},"Start typing to search":{v:["Vyhledávejte psaním"]}}},{l:"cy_GB",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"da",t:{'Load more "{options}"':{v:['Indlæs flere "{options}"']},"Raw link {options}":{v:["Rå link {options}"]},"Start typing to search":{v:["Begynd at skrive for at søge"]}}},{l:"de",t:{'Load more "{options}"':{v:['Weitere "{options}" laden']},"Raw link {options}":{v:["Unverarbeiteter Link {Optionen}"]},"Start typing to search":{v:["Mit der Eingabe beginnen, um zu suchen"]}}},{l:"de_DE",t:{'Load more "{options}"':{v:['Weitere "{options}" laden']},"Raw link {options}":{v:["Unverarbeiteter Link {Optionen}"]},"Start typing to search":{v:["Mit der Eingabe beginnen, um zu suchen"]}}},{l:"el",t:{'Load more "{options}"':{v:['Φόρτωση περισσότερων "{options}"']},"Raw link {options}":{v:["Ακατέργαστος σύνδεσμος {options}"]},"Start typing to search":{v:["Ξεκινήστε να πληκτρολογείτε για αναζήτηση"]}}},{l:"en_GB",t:{'Load more "{options}"':{v:['Load more "{options}"']},"Raw link {options}":{v:["Raw link {options}"]},"Start typing to search":{v:["Start typing to search"]}}},{l:"eo",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"es",t:{'Load more "{options}"':{v:['Cargar más "{options}"']},"Raw link {options}":{v:["Enlace directo {options}"]},"Start typing to search":{v:["Comience a escribir para buscar"]}}},{l:"es_419",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"es_AR",t:{'Load more "{options}"':{v:['Cargar más "{options}"']},"Raw link {options}":{v:["Enlace directo {options}"]},"Start typing to search":{v:["Comience a escribir para buscar"]}}},{l:"es_CL",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"es_CO",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"es_CR",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"es_DO",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"es_EC",t:{'Load more "{options}"':{v:[""]},"Raw link {options}":{v:["Enlace directo {options}"]},"Start typing to search":{v:["Comienza a escribir para buscar"]}}},{l:"es_GT",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"es_HN",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"es_MX",t:{'Load more "{options}"':{v:['Cargar más "{options}"']},"Raw link {options}":{v:["Enlace directo {options}"]},"Start typing to search":{v:["Comience a escribir para buscar"]}}},{l:"es_NI",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"es_PA",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"es_PE",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"es_PR",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"es_PY",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"es_SV",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"es_UY",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"et_EE",t:{'Load more "{options}"':{v:['Laadi rohkem "{valikud}"']},"Raw link {options}":{v:["Raw link {valikud}"]},"Start typing to search":{v:["Alusta otsinguks sisestamist"]}}},{l:"eu",t:{'Load more "{options}"':{v:['Kargatu "{options}" gehiago']},"Raw link {options}":{v:["Formaturik gabeko esteka {aukerak}"]},"Start typing to search":{v:["Hasi idazten bilatzeko"]}}},{l:"fa",t:{'Load more "{options}"':{v:['بارگذاری بیشتر "{options}"']},"Raw link {options}":{v:["پیوند خام {options}"]},"Start typing to search":{v:["برای جستجو تایپ کنید"]}}},{l:"fi",t:{'Load more "{options}"':{v:['Lataa lisää "{options}"']},"Raw link {options}":{v:["Raaka linkki {options}"]},"Start typing to search":{v:["Aloita kirjoittaminen hakeaksesi"]}}},{l:"fo",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"fr",t:{'Load more "{options}"':{v:[`Charger d'avantage "{options}"`]},"Raw link {options}":{v:["Lien brut {options}"]},"Start typing to search":{v:["Commencez à écrire pour rechercher"]}}},{l:"ga",t:{'Load more "{options}"':{v:['Luchtaigh tuilleadh "{options}"']},"Raw link {options}":{v:["Nasc amh {roghanna}"]},"Start typing to search":{v:["Tosaigh ag clóscríobh chun cuardach a dhéanamh"]}}},{l:"gd",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"gl",t:{'Load more "{options}"':{v:["Cargar máis «{options}»"]},"Raw link {options}":{v:["Ligazón sen procesar {options}"]},"Start typing to search":{v:["Comece a escribir para buscar"]}}},{l:"he",t:{'Load more "{options}"':{v:[""]},"Raw link {options}":{v:["קישור גולמי {options}"]},"Start typing to search":{v:["התחלת הקלדה מחפשת"]}}},{l:"hi_IN",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"hr",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"hsb",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"hu",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"hy",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"ia",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"id",t:{'Load more "{options}"':{v:['Muat "{options}" lainnya']},"Raw link {options}":{v:["Tautan mentah {options}"]},"Start typing to search":{v:["Ketik untuk mulai mencari"]}}},{l:"ig",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"is",t:{'Load more "{options}"':{v:['Hlaða inn fleiri "{options}"']},"Raw link {options}":{v:["Hrár tengill {options}"]},"Start typing to search":{v:["Byrjaðu að skrifa til að leita"]}}},{l:"it",t:{'Load more "{options}"':{v:['Carica più "{options}"']},"Raw link {options}":{v:["Raw link {options}"]},"Start typing to search":{v:["Iniziare a digitare per effettuare la ricerca"]}}},{l:"ja",t:{'Load more "{options}"':{v:['"{options}" をもっと読み込む']},"Raw link {options}":{v:["未加工のリンク {options}"]},"Start typing to search":{v:["入力を開始して検索します"]}}},{l:"ja_JP",t:{'Load more "{options}"':{v:['"{options}" をもっと読み込む']},"Raw link {options}":{v:["未加工のリンク {options}"]},"Start typing to search":{v:["入力を開始して検索します"]}}},{l:"ka",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"ka_GE",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"kab",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"kk",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"km",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"kn",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"ko",t:{'Load more "{options}"':{v:['"{options}" 더 불러오기']},"Raw link {options}":{v:["{options} 원본 링크"]},"Start typing to search":{v:["입력하여 검색"]}}},{l:"la",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"lb",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"lo",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"lt_LT",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"lv",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"mk",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"mn",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"mr",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"ms_MY",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"my",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"nb",t:{'Load more "{options}"':{v:['Last inn flere "{options}"']},"Raw link {options}":{v:["Rå lenke {options}"]},"Start typing to search":{v:["Start å skrive for å søke"]}}},{l:"ne",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"nl",t:{'Load more "{options}"':{v:['Laad meer "{options}"']},"Raw link {options}":{v:["Basis link {options}"]},"Start typing to search":{v:["Start met typen om te zoeken"]}}},{l:"nn_NO",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"oc",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"pl",t:{'Load more "{options}"':{v:['Załaduj więcej "{options}"']},"Raw link {options}":{v:["Surowy odnośnik {options}"]},"Start typing to search":{v:["Zacznij pisać, aby wyszukać"]}}},{l:"ps",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"pt_BR",t:{'Load more "{options}"':{v:['Carregar mais "{options}"']},"Raw link {options}":{v:["Link bruto {options}"]},"Start typing to search":{v:["Comece a digitar para pesquisar"]}}},{l:"pt_PT",t:{'Load more "{options}"':{v:['Carregar mais "{options}"']},"Raw link {options}":{v:["Link inicial {options}"]},"Start typing to search":{v:["Comece a digitar para pesquisar"]}}},{l:"ro",t:{'Load more "{options}"':{v:['Încarcă mai multe "{options}"']},"Raw link {options}":{v:["Link brut {options}"]},"Start typing to search":{v:["Tastați pentru căutare"]}}},{l:"ru",t:{'Load more "{options}"':{v:['Загрузить больше "{options}""']},"Raw link {options}":{v:["Необработанная ссылка {options}"]},"Start typing to search":{v:["Начните вводить текст для поиска"]}}},{l:"sc",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"si",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"sk",t:{'Load more "{options}"':{v:['Načítať viac "{options}"']},"Raw link {options}":{v:["Raw odkaz {options}"]},"Start typing to search":{v:["Začnite písať pre vyhľadávanie"]}}},{l:"sl",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"sq",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"sr",t:{'Load more "{options}"':{v:["Учитај још „{options}”"]},"Raw link {options}":{v:["Сирови линк {options}"]},"Start typing to search":{v:["Покрените претрагу куцањем"]}}},{l:"sr@latin",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"sv",t:{'Load more "{options}"':{v:['Ladda fler "{options}"']},"Raw link {options}":{v:["Oformaterad länk {options}"]},"Start typing to search":{v:["Börja skriva för att söka"]}}},{l:"sw",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"ta",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"th",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"tk",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"tr",t:{'Load more "{options}"':{v:['Diğer "{options}"']},"Raw link {options}":{v:["Ham bağlantı {options}"]},"Start typing to search":{v:["Aramak için yazmaya başlayın"]}}},{l:"ug",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"uk",t:{'Load more "{options}"':{v:['Завантажити більше "{options}"']},"Raw link {options}":{v:["Пряме посилання {options}"]},"Start typing to search":{v:["Почніть вводити для пошуку"]}}},{l:"ur_PK",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"uz",t:{'Load more "{options}"':{v:[`Ko'proq yuklash "{options}"`]},"Raw link {options}":{v:[" {options}satr havolasi"]},"Start typing to search":{v:["Qidirish uchun yozishni boshlang"]}}},{l:"vi",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}},{l:"zh_CN",t:{'Load more "{options}"':{v:["加载更多 “{options}”"]},"Raw link {options}":{v:["原始链接 {options}"]},"Start typing to search":{v:["开始输入以进行搜索"]}}},{l:"zh_HK",t:{'Load more "{options}"':{v:['載入更多 "{options}"']},"Raw link {options}":{v:["原始連結 {options}"]},"Start typing to search":{v:["開始輸入以進行搜尋"]}}},{l:"zh_TW",t:{'Load more "{options}"':{v:["載入更多「{options}」"]},"Raw link {options}":{v:["原始連結 {options}"]},"Start typing to search":{v:["開始輸入以進行搜尋"]}}},{l:"zu_ZA",t:{"Raw link {options}":{v:[""]},"Start typing to search":{v:[""]}}}],Rp=[{l:"af",t:{}},{l:"ar",t:{"Loading …":{v:["التحميل جارٍ ..."]}}},{l:"ast",t:{}},{l:"az",t:{}},{l:"be",t:{}},{l:"bg",t:{}},{l:"bn_BD",t:{}},{l:"br",t:{}},{l:"bs",t:{}},{l:"ca",t:{}},{l:"cs",t:{"Loading …":{v:["Načítání…"]}}},{l:"cs_CZ",t:{}},{l:"cy_GB",t:{}},{l:"da",t:{"Loading …":{v:["Indlæser…"]}}},{l:"de",t:{"Loading …":{v:["Wird geladen …"]}}},{l:"de_DE",t:{"Loading …":{v:["Wird geladen …"]}}},{l:"el",t:{"Loading …":{v:["Φόρτωση …"]}}},{l:"en_GB",t:{"Loading …":{v:["Loading …"]}}},{l:"eo",t:{}},{l:"es",t:{}},{l:"es_419",t:{}},{l:"es_AR",t:{}},{l:"es_CL",t:{}},{l:"es_CO",t:{}},{l:"es_CR",t:{}},{l:"es_DO",t:{}},{l:"es_EC",t:{}},{l:"es_GT",t:{}},{l:"es_HN",t:{}},{l:"es_MX",t:{}},{l:"es_NI",t:{}},{l:"es_PA",t:{}},{l:"es_PE",t:{}},{l:"es_PR",t:{}},{l:"es_PY",t:{}},{l:"es_SV",t:{}},{l:"es_UY",t:{}},{l:"et_EE",t:{"Loading …":{v:["Laadin…"]}}},{l:"eu",t:{}},{l:"fa",t:{"Loading …":{v:["در حال بارگذاری ..."]}}},{l:"fi",t:{"Loading …":{v:["Ladataan ..."]}}},{l:"fo",t:{}},{l:"fr",t:{"Loading …":{v:["Chargement …"]}}},{l:"ga",t:{"Loading …":{v:["Á lódáil…"]}}},{l:"gd",t:{}},{l:"gl",t:{"Loading …":{v:["Cargando…"]}}},{l:"he",t:{}},{l:"hi_IN",t:{}},{l:"hr",t:{}},{l:"hsb",t:{}},{l:"hu",t:{}},{l:"hy",t:{}},{l:"ia",t:{}},{l:"id",t:{}},{l:"ig",t:{}},{l:"is",t:{"Loading …":{v:["Hleð inn …"]}}},{l:"it",t:{}},{l:"ja",t:{"Loading …":{v:["読み込み中 …"]}}},{l:"ja_JP",t:{}},{l:"ka",t:{}},{l:"ka_GE",t:{}},{l:"kab",t:{}},{l:"kk",t:{}},{l:"km",t:{}},{l:"kn",t:{}},{l:"ko",t:{"Loading …":{v:["불러오는 중..."]}}},{l:"la",t:{}},{l:"lb",t:{}},{l:"lo",t:{}},{l:"lt_LT",t:{}},{l:"lv",t:{}},{l:"mk",t:{}},{l:"mn",t:{}},{l:"mr",t:{}},{l:"ms_MY",t:{}},{l:"my",t:{}},{l:"nb",t:{"Loading …":{v:["Laster inn..."]}}},{l:"ne",t:{}},{l:"nl",t:{"Loading …":{v:["Laden ..."]}}},{l:"nn_NO",t:{}},{l:"oc",t:{}},{l:"pl",t:{"Loading …":{v:["Wczytywanie…"]}}},{l:"ps",t:{}},{l:"pt_BR",t:{"Loading …":{v:["Carregando …"]}}},{l:"pt_PT",t:{"Loading …":{v:["A carregar..."]}}},{l:"ro",t:{}},{l:"ru",t:{"Loading …":{v:["Загрузка ..."]}}},{l:"sc",t:{}},{l:"si",t:{}},{l:"sk",t:{"Loading …":{v:["Nahrávam ..."]}}},{l:"sl",t:{}},{l:"sq",t:{}},{l:"sr",t:{"Loading …":{v:["Учитава се…"]}}},{l:"sr@latin",t:{}},{l:"sv",t:{"Loading …":{v:["Laddar ..."]}}},{l:"sw",t:{}},{l:"ta",t:{}},{l:"th",t:{}},{l:"tk",t:{}},{l:"tr",t:{"Loading …":{v:["Yükleniyor…"]}}},{l:"ug",t:{}},{l:"uk",t:{"Loading …":{v:["Завантаження ..."]}}},{l:"ur_PK",t:{}},{l:"uz",t:{"Loading …":{v:["Yuklanmoqda..."]}}},{l:"vi",t:{}},{l:"zh_CN",t:{"Loading …":{v:["加载中..."]}}},{l:"zh_HK",t:{"Loading …":{v:["加載中 …"]}}},{l:"zh_TW",t:{}},{l:"zu_ZA",t:{}}],ps=[{l:"af",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"ar",t:{Next:{v:["التالي"]},"Pause slideshow":{v:["تجميد عرض الشرائح"]},Previous:{v:["السابق"]},"Start slideshow":{v:["إبدإ العرض"]}}},{l:"ast",t:{Next:{v:["Siguiente"]},"Pause slideshow":{v:["Posar la presentación de diapositives"]},Previous:{v:["Anterior"]},"Start slideshow":{v:["Aniciar la presentación de diapositives"]}}},{l:"az",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"be",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"bg",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"bn_BD",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"br",t:{Next:{v:["Da heul"]},"Pause slideshow":{v:["Arsav an diaporama"]},Previous:{v:["A-raok"]},"Start slideshow":{v:["Kregiñ an diaporama"]}}},{l:"bs",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"ca",t:{Next:{v:["Següent"]},"Pause slideshow":{v:["Atura la presentació"]},Previous:{v:["Anterior"]},"Start slideshow":{v:["Inicia la presentació"]}}},{l:"cs",t:{Next:{v:["Následující"]},"Pause slideshow":{v:["Pozastavit prezentaci"]},Previous:{v:["Předchozí"]},"Start slideshow":{v:["Spustit prezentaci"]}}},{l:"cs_CZ",t:{Next:{v:["Následující"]},"Pause slideshow":{v:["Pozastavit prezentaci"]},Previous:{v:["Předchozí"]},"Start slideshow":{v:["Spustit prezentaci"]}}},{l:"cy_GB",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"da",t:{Next:{v:["Videre"]},"Pause slideshow":{v:["Suspender fremvisning"]},Previous:{v:["Forrige"]},"Start slideshow":{v:["Start fremvisning"]}}},{l:"de",t:{Next:{v:["Weiter"]},"Pause slideshow":{v:["Diashow pausieren"]},Previous:{v:["Vorherige"]},"Start slideshow":{v:["Diashow starten"]}}},{l:"de_DE",t:{Next:{v:["Weiter"]},"Pause slideshow":{v:["Diashow pausieren"]},Previous:{v:["Vorherige"]},"Start slideshow":{v:["Diashow starten"]}}},{l:"el",t:{Next:{v:["Επόμενο"]},"Pause slideshow":{v:["Παύση προβολής διαφανειών"]},Previous:{v:["Προηγούμενο"]},"Start slideshow":{v:["Έναρξη προβολής διαφανειών"]}}},{l:"en_GB",t:{Next:{v:["Next"]},"Pause slideshow":{v:["Pause slideshow"]},Previous:{v:["Previous"]},"Start slideshow":{v:["Start slideshow"]}}},{l:"eo",t:{Next:{v:["Sekva"]},"Pause slideshow":{v:["Payzi bildprezenton"]},Previous:{v:["Antaŭa"]},"Start slideshow":{v:["Komenci bildprezenton"]}}},{l:"es",t:{Next:{v:["Siguiente"]},"Pause slideshow":{v:["Pausar la presentación "]},Previous:{v:["Anterior"]},"Start slideshow":{v:["Iniciar la presentación"]}}},{l:"es_419",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"es_AR",t:{Next:{v:["Siguiente"]},"Pause slideshow":{v:["Pausar la presentación "]},Previous:{v:["Anterior"]},"Start slideshow":{v:["Iniciar la presentación"]}}},{l:"es_CL",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"es_CO",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"es_CR",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"es_DO",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"es_EC",t:{Next:{v:["Siguiente"]},"Pause slideshow":{v:["Pausar presentación de diapositivas"]},Previous:{v:["Anterior"]},"Start slideshow":{v:["Iniciar presentación de diapositivas"]}}},{l:"es_GT",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"es_HN",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"es_MX",t:{Next:{v:["Siguiente"]},"Pause slideshow":{v:["Pausar presentación de diapositivas"]},Previous:{v:["Anterior"]},"Start slideshow":{v:["Iniciar presentación de diapositivas"]}}},{l:"es_NI",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"es_PA",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"es_PE",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"es_PR",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"es_PY",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"es_SV",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"es_UY",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"et_EE",t:{Next:{v:["Edasi"]},"Pause slideshow":{v:["Slaidiesitluse paus"]},Previous:{v:["Eelmine"]},"Start slideshow":{v:["Alusta slaidiesitust"]}}},{l:"eu",t:{Next:{v:["Hurrengoa"]},"Pause slideshow":{v:["Pausatu diaporama"]},Previous:{v:["Aurrekoa"]},"Start slideshow":{v:["Hasi diaporama"]}}},{l:"fa",t:{Next:{v:["بعدی"]},"Pause slideshow":{v:["توقف نمایش اسلاید"]},Previous:{v:["قبلی"]},"Start slideshow":{v:["شروع نمایش اسلاید"]}}},{l:"fi",t:{Next:{v:["Seuraava"]},"Pause slideshow":{v:["Keskeytä diaesitys"]},Previous:{v:["Edellinen"]},"Start slideshow":{v:["Aloita diaesitys"]}}},{l:"fo",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"fr",t:{Next:{v:["Suivant"]},"Pause slideshow":{v:["Mettre le diaporama en pause"]},Previous:{v:["Précédent"]},"Start slideshow":{v:["Démarrer le diaporama"]}}},{l:"ga",t:{Next:{v:["Ar aghaidh"]},"Pause slideshow":{v:["Cuir taispeántas sleamhnán ar sos"]},Previous:{v:["Roimhe Seo"]},"Start slideshow":{v:["Tosaigh taispeántas sleamhnán"]}}},{l:"gd",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"gl",t:{Next:{v:["Seguinte"]},"Pause slideshow":{v:["Pausar o diaporama"]},Previous:{v:["Anterir"]},"Start slideshow":{v:["Iniciar o diaporama"]}}},{l:"he",t:{Next:{v:["הבא"]},"Pause slideshow":{v:["השהיית מצגת"]},Previous:{v:["הקודם"]},"Start slideshow":{v:["התחלת המצגת"]}}},{l:"hi_IN",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"hr",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"hsb",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"hu",t:{Next:{v:["Következő"]},"Pause slideshow":{v:["Diavetítés szüneteltetése"]},Previous:{v:["Előző"]},"Start slideshow":{v:["Diavetítés indítása"]}}},{l:"hy",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"ia",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"id",t:{Next:{v:["Selanjutnya"]},"Pause slideshow":{v:["Jeda tayangan slide"]},Previous:{v:["Sebelumnya"]},"Start slideshow":{v:["Mulai salindia"]}}},{l:"ig",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"is",t:{Next:{v:["Næsta"]},"Pause slideshow":{v:["Gera hlé á skyggnusýningu"]},Previous:{v:["Fyrri"]},"Start slideshow":{v:["Byrja skyggnusýningu"]}}},{l:"it",t:{Next:{v:["Successivo"]},"Pause slideshow":{v:["Presentazione in pausa"]},Previous:{v:["Precedente"]},"Start slideshow":{v:["Avvia presentazione"]}}},{l:"ja",t:{Next:{v:["次"]},"Pause slideshow":{v:["スライドショーを一時停止"]},Previous:{v:["前"]},"Start slideshow":{v:["スライドショーを開始"]}}},{l:"ja_JP",t:{Next:{v:["次"]},"Pause slideshow":{v:["スライドショーを一時停止"]},Previous:{v:["前"]},"Start slideshow":{v:["スライドショーを開始"]}}},{l:"ka",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"ka_GE",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"kab",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"kk",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"km",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"kn",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"ko",t:{Next:{v:["다음"]},"Pause slideshow":{v:["슬라이드쇼 일시정지"]},Previous:{v:["이전"]},"Start slideshow":{v:["슬라이드쇼 시작"]}}},{l:"la",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"lb",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"lo",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"lt_LT",t:{Next:{v:["Kitas"]},"Pause slideshow":{v:["Pristabdyti skaidrių rodymą"]},Previous:{v:["Ankstesnis"]},"Start slideshow":{v:["Pradėti skaidrių rodymą"]}}},{l:"lv",t:{Next:{v:["Nākamais"]},"Pause slideshow":{v:["Pauzēt slaidrādi"]},Previous:{v:["Iepriekšējais"]},"Start slideshow":{v:["Sākt slaidrādi"]}}},{l:"mk",t:{Next:{v:["Следно"]},"Pause slideshow":{v:["Пузирај слајдшоу"]},Previous:{v:["Предходно"]},"Start slideshow":{v:["Стартувај слајдшоу"]}}},{l:"mn",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"mr",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"ms_MY",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"my",t:{Next:{v:["နောက်သို့ဆက်ရန်"]},"Pause slideshow":{v:["စလိုက်ရှိုး ခေတ္တရပ်ရန်"]},Previous:{v:["ယခင်"]},"Start slideshow":{v:["စလိုက်ရှိုးအား စတင်ရန်"]}}},{l:"nb",t:{Next:{v:["Neste"]},"Pause slideshow":{v:["Pause lysbildefremvisning"]},Previous:{v:["Forrige"]},"Start slideshow":{v:["Start lysbildefremvisning"]}}},{l:"ne",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"nl",t:{Next:{v:["Volgende"]},"Pause slideshow":{v:["Pauzeer diavoorstelling"]},Previous:{v:["Vorige"]},"Start slideshow":{v:["Start diavoorstelling"]}}},{l:"nn_NO",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"oc",t:{Next:{v:["Seguent"]},"Pause slideshow":{v:["Metre en pausa lo diaporama"]},Previous:{v:["Precedent"]},"Start slideshow":{v:["Lançar lo diaporama"]}}},{l:"pl",t:{Next:{v:["Następny"]},"Pause slideshow":{v:["Wstrzymaj pokaz slajdów"]},Previous:{v:["Poprzedni"]},"Start slideshow":{v:["Rozpocznij pokaz slajdów"]}}},{l:"ps",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"pt_BR",t:{Next:{v:["Próximo"]},"Pause slideshow":{v:["Pausar apresentação de slides"]},Previous:{v:["Anterior"]},"Start slideshow":{v:["Iniciar apresentação de slides"]}}},{l:"pt_PT",t:{Next:{v:["Seguinte"]},"Pause slideshow":{v:["Pausar diaporama"]},Previous:{v:["Anterior"]},"Start slideshow":{v:["Iniciar diaporama"]}}},{l:"ro",t:{Next:{v:["Următorul"]},"Pause slideshow":{v:["Pauză prezentare de diapozitive"]},Previous:{v:["Anterior"]},"Start slideshow":{v:["Începeți prezentarea de diapozitive"]}}},{l:"ru",t:{Next:{v:["Следующее"]},"Pause slideshow":{v:["Приостановить показ слйдов"]},Previous:{v:["Предыдущее"]},"Start slideshow":{v:["Начать показ слайдов"]}}},{l:"sc",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"si",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"sk",t:{Next:{v:["Ďalej"]},"Pause slideshow":{v:["Pozastaviť prezentáciu"]},Previous:{v:["Predchádzajúce"]},"Start slideshow":{v:["Začať prezentáciu"]}}},{l:"sl",t:{Next:{v:["Naslednji"]},"Pause slideshow":{v:["Ustavi predstavitev"]},Previous:{v:["Predhodni"]},"Start slideshow":{v:["Začni predstavitev"]}}},{l:"sq",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"sr",t:{Next:{v:["Следеће"]},"Pause slideshow":{v:["Паузирај слајд шоу"]},Previous:{v:["Претходно"]},"Start slideshow":{v:["Покрени слајд шоу"]}}},{l:"sr@latin",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"sv",t:{Next:{v:["Nästa"]},"Pause slideshow":{v:["Pausa bildspelet"]},Previous:{v:["Föregående"]},"Start slideshow":{v:["Starta bildspelet"]}}},{l:"sw",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"ta",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"th",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"tk",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"tr",t:{Next:{v:["Sonraki"]},"Pause slideshow":{v:["Slayt sunumunu duraklat"]},Previous:{v:["Önceki"]},"Start slideshow":{v:["Slayt sunumunu başlat"]}}},{l:"ug",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"uk",t:{Next:{v:["Вперед"]},"Pause slideshow":{v:["Пауза у показі слайдів"]},Previous:{v:["Назад"]},"Start slideshow":{v:["Почати показ слайдів"]}}},{l:"ur_PK",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"uz",t:{Next:{v:["Keyingi"]},"Pause slideshow":{v:["Slayd-shouni to'xtatib turish"]},Previous:{v:["Oldingi"]},"Start slideshow":{v:["Slayd-shouni boshlash"]}}},{l:"vi",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}},{l:"zh_CN",t:{Next:{v:["下一个"]},"Pause slideshow":{v:["暂停幻灯片"]},Previous:{v:["上一个"]},"Start slideshow":{v:["开始幻灯片"]}}},{l:"zh_HK",t:{Next:{v:["下一個"]},"Pause slideshow":{v:["暫停幻燈片"]},Previous:{v:["上一個"]},"Start slideshow":{v:["開始幻燈片"]}}},{l:"zh_TW",t:{Next:{v:["下一個"]},"Pause slideshow":{v:["暫停幻燈片"]},Previous:{v:["上一個"]},"Start slideshow":{v:["開始幻燈片"]}}},{l:"zu_ZA",t:{Next:{v:[""]},"Pause slideshow":{v:[""]},Previous:{v:[""]},"Start slideshow":{v:[""]}}}],Tp=[{l:"af",t:{"No results":{v:[""]}}},{l:"ar",t:{"No results":{v:["ليس هناك أية نتيجة"]}}},{l:"ast",t:{"No results":{v:["Nun hai nengún resultáu"]}}},{l:"az",t:{"No results":{v:[""]}}},{l:"be",t:{"No results":{v:[""]}}},{l:"bg",t:{"No results":{v:[""]}}},{l:"bn_BD",t:{"No results":{v:[""]}}},{l:"br",t:{"No results":{v:["Disoc'h ebet"]}}},{l:"bs",t:{"No results":{v:[""]}}},{l:"ca",t:{"No results":{v:["Sense resultats"]}}},{l:"cs",t:{"No results":{v:["Nic nenalezeno"]}}},{l:"cs_CZ",t:{"No results":{v:["Nic nenalezeno"]}}},{l:"cy_GB",t:{"No results":{v:[""]}}},{l:"da",t:{"No results":{v:["Ingen resultater"]}}},{l:"de",t:{"No results":{v:["Keine Ergebnisse"]}}},{l:"de_DE",t:{"No results":{v:["Keine Ergebnisse"]}}},{l:"el",t:{"No results":{v:["Κανένα αποτέλεσμα"]}}},{l:"en_GB",t:{"No results":{v:["No results"]}}},{l:"eo",t:{"No results":{v:["La rezulto forestas"]}}},{l:"es",t:{"No results":{v:[" Ningún resultado"]}}},{l:"es_419",t:{"No results":{v:[""]}}},{l:"es_AR",t:{"No results":{v:["Sin resultados"]}}},{l:"es_CL",t:{"No results":{v:[""]}}},{l:"es_CO",t:{"No results":{v:[""]}}},{l:"es_CR",t:{"No results":{v:[""]}}},{l:"es_DO",t:{"No results":{v:[""]}}},{l:"es_EC",t:{"No results":{v:["Sin resultados"]}}},{l:"es_GT",t:{"No results":{v:[""]}}},{l:"es_HN",t:{"No results":{v:[""]}}},{l:"es_MX",t:{"No results":{v:["Sin resultados"]}}},{l:"es_NI",t:{"No results":{v:[""]}}},{l:"es_PA",t:{"No results":{v:[""]}}},{l:"es_PE",t:{"No results":{v:[""]}}},{l:"es_PR",t:{"No results":{v:[""]}}},{l:"es_PY",t:{"No results":{v:[""]}}},{l:"es_SV",t:{"No results":{v:[""]}}},{l:"es_UY",t:{"No results":{v:[""]}}},{l:"et_EE",t:{"No results":{v:["Tulemusi pole"]}}},{l:"eu",t:{"No results":{v:["Emaitzarik ez"]}}},{l:"fa",t:{"No results":{v:["بدون هیچ نتیجه‌ای"]}}},{l:"fi",t:{"No results":{v:["Ei tuloksia"]}}},{l:"fo",t:{"No results":{v:[""]}}},{l:"fr",t:{"No results":{v:["Aucun résultat"]}}},{l:"ga",t:{"No results":{v:["Gan torthaí"]}}},{l:"gd",t:{"No results":{v:[""]}}},{l:"gl",t:{"No results":{v:["Sen resultados"]}}},{l:"he",t:{"No results":{v:["אין תוצאות"]}}},{l:"hi_IN",t:{"No results":{v:[""]}}},{l:"hr",t:{"No results":{v:[""]}}},{l:"hsb",t:{"No results":{v:[""]}}},{l:"hu",t:{"No results":{v:["Nincs találat"]}}},{l:"hy",t:{"No results":{v:[""]}}},{l:"ia",t:{"No results":{v:[""]}}},{l:"id",t:{"No results":{v:["Tidak ada hasil"]}}},{l:"ig",t:{"No results":{v:[""]}}},{l:"is",t:{"No results":{v:["Engar niðurstöður"]}}},{l:"it",t:{"No results":{v:["Nessun risultato"]}}},{l:"ja",t:{"No results":{v:["結果無し"]}}},{l:"ja_JP",t:{"No results":{v:["結果無し"]}}},{l:"ka",t:{"No results":{v:[""]}}},{l:"ka_GE",t:{"No results":{v:[""]}}},{l:"kab",t:{"No results":{v:[""]}}},{l:"kk",t:{"No results":{v:[""]}}},{l:"km",t:{"No results":{v:[""]}}},{l:"kn",t:{"No results":{v:[""]}}},{l:"ko",t:{"No results":{v:["결과 없음"]}}},{l:"la",t:{"No results":{v:[""]}}},{l:"lb",t:{"No results":{v:[""]}}},{l:"lo",t:{"No results":{v:[""]}}},{l:"lt_LT",t:{"No results":{v:["Nėra rezultatų"]}}},{l:"lv",t:{"No results":{v:["Nav rezultātu"]}}},{l:"mk",t:{"No results":{v:["Нема резултати"]}}},{l:"mn",t:{"No results":{v:[""]}}},{l:"mr",t:{"No results":{v:[""]}}},{l:"ms_MY",t:{"No results":{v:[""]}}},{l:"my",t:{"No results":{v:["ရလဒ်မရှိပါ"]}}},{l:"nb",t:{"No results":{v:["Ingen resultater"]}}},{l:"ne",t:{"No results":{v:[""]}}},{l:"nl",t:{"No results":{v:["Geen resultaten"]}}},{l:"nn_NO",t:{"No results":{v:[""]}}},{l:"oc",t:{"No results":{v:["Cap de resultat"]}}},{l:"pl",t:{"No results":{v:["Brak wyników"]}}},{l:"ps",t:{"No results":{v:[""]}}},{l:"pt_BR",t:{"No results":{v:["Sem resultados"]}}},{l:"pt_PT",t:{"No results":{v:["Sem resultados"]}}},{l:"ro",t:{"No results":{v:["Nu există rezultate"]}}},{l:"ru",t:{"No results":{v:["Результаты отсуствуют"]}}},{l:"sc",t:{"No results":{v:[""]}}},{l:"si",t:{"No results":{v:[""]}}},{l:"sk",t:{"No results":{v:["Žiadne výsledky"]}}},{l:"sl",t:{"No results":{v:["Ni zadetkov"]}}},{l:"sq",t:{"No results":{v:[""]}}},{l:"sr",t:{"No results":{v:["Нема резултата"]}}},{l:"sr@latin",t:{"No results":{v:[""]}}},{l:"sv",t:{"No results":{v:["Inga resultat"]}}},{l:"sw",t:{"No results":{v:[""]}}},{l:"ta",t:{"No results":{v:[""]}}},{l:"th",t:{"No results":{v:[""]}}},{l:"tk",t:{"No results":{v:[""]}}},{l:"tr",t:{"No results":{v:["Herhangi bir sonuç bulunamadı"]}}},{l:"ug",t:{"No results":{v:[""]}}},{l:"uk",t:{"No results":{v:["Відсутні результати"]}}},{l:"ur_PK",t:{"No results":{v:[""]}}},{l:"uz",t:{"No results":{v:["Natija yoʻq"]}}},{l:"vi",t:{"No results":{v:[""]}}},{l:"zh_CN",t:{"No results":{v:["无结果"]}}},{l:"zh_HK",t:{"No results":{v:["無結果"]}}},{l:"zh_TW",t:{"No results":{v:["無結果"]}}},{l:"zu_ZA",t:{"No results":{v:[""]}}}],zp=[{l:"af",t:{"Provider icon":{v:[""]}}},{l:"ar",t:{"Provider icon":{v:["أيقونة المزوّد"]}}},{l:"ast",t:{"Provider icon":{v:["Iconu del fornidor"]}}},{l:"az",t:{"Provider icon":{v:[""]}}},{l:"be",t:{"Provider icon":{v:[""]}}},{l:"bg",t:{"Provider icon":{v:[""]}}},{l:"bn_BD",t:{"Provider icon":{v:[""]}}},{l:"br",t:{"Provider icon":{v:[""]}}},{l:"bs",t:{"Provider icon":{v:[""]}}},{l:"ca",t:{"Provider icon":{v:[""]}}},{l:"cs",t:{"Provider icon":{v:["Ikona poskytovatele"]}}},{l:"cs_CZ",t:{"Provider icon":{v:["Ikona poskytovatele"]}}},{l:"cy_GB",t:{"Provider icon":{v:[""]}}},{l:"da",t:{"Provider icon":{v:["Udbyder ikon"]}}},{l:"de",t:{"Provider icon":{v:["Anbietersymbol"]}}},{l:"de_DE",t:{"Provider icon":{v:["Anbietersymbol"]}}},{l:"el",t:{"Provider icon":{v:["Εικονίδιο παρόχου"]}}},{l:"en_GB",t:{"Provider icon":{v:["Provider icon"]}}},{l:"eo",t:{"Provider icon":{v:[""]}}},{l:"es",t:{"Provider icon":{v:["Ícono del proveedor"]}}},{l:"es_419",t:{"Provider icon":{v:[""]}}},{l:"es_AR",t:{"Provider icon":{v:["Ícono del proveedor"]}}},{l:"es_CL",t:{"Provider icon":{v:[""]}}},{l:"es_CO",t:{"Provider icon":{v:[""]}}},{l:"es_CR",t:{"Provider icon":{v:[""]}}},{l:"es_DO",t:{"Provider icon":{v:[""]}}},{l:"es_EC",t:{"Provider icon":{v:["Ícono del proveedor"]}}},{l:"es_GT",t:{"Provider icon":{v:[""]}}},{l:"es_HN",t:{"Provider icon":{v:[""]}}},{l:"es_MX",t:{"Provider icon":{v:["Ícono del proveedor"]}}},{l:"es_NI",t:{"Provider icon":{v:[""]}}},{l:"es_PA",t:{"Provider icon":{v:[""]}}},{l:"es_PE",t:{"Provider icon":{v:[""]}}},{l:"es_PR",t:{"Provider icon":{v:[""]}}},{l:"es_PY",t:{"Provider icon":{v:[""]}}},{l:"es_SV",t:{"Provider icon":{v:[""]}}},{l:"es_UY",t:{"Provider icon":{v:[""]}}},{l:"et_EE",t:{"Provider icon":{v:["Teenusepakkuja ikoon"]}}},{l:"eu",t:{"Provider icon":{v:["Hornitzailearen ikonoa"]}}},{l:"fa",t:{"Provider icon":{v:["آیکون ارائه دهنده"]}}},{l:"fi",t:{"Provider icon":{v:["Palveluntarjoajan kuvake"]}}},{l:"fo",t:{"Provider icon":{v:[""]}}},{l:"fr",t:{"Provider icon":{v:["Icône du fournisseur"]}}},{l:"ga",t:{"Provider icon":{v:["Deilbhín soláthraí"]}}},{l:"gd",t:{"Provider icon":{v:[""]}}},{l:"gl",t:{"Provider icon":{v:["Icona do provedor"]}}},{l:"he",t:{"Provider icon":{v:["סמל ספק"]}}},{l:"hi_IN",t:{"Provider icon":{v:[""]}}},{l:"hr",t:{"Provider icon":{v:[""]}}},{l:"hsb",t:{"Provider icon":{v:[""]}}},{l:"hu",t:{"Provider icon":{v:[""]}}},{l:"hy",t:{"Provider icon":{v:[""]}}},{l:"ia",t:{"Provider icon":{v:[""]}}},{l:"id",t:{"Provider icon":{v:["Ikon penyedia"]}}},{l:"ig",t:{"Provider icon":{v:[""]}}},{l:"is",t:{"Provider icon":{v:["Táknmynd þjónustuveitu"]}}},{l:"it",t:{"Provider icon":{v:["Icona del provider"]}}},{l:"ja",t:{"Provider icon":{v:["プロバイダーのアイコン"]}}},{l:"ja_JP",t:{"Provider icon":{v:["プロバイダーのアイコン"]}}},{l:"ka",t:{"Provider icon":{v:[""]}}},{l:"ka_GE",t:{"Provider icon":{v:[""]}}},{l:"kab",t:{"Provider icon":{v:[""]}}},{l:"kk",t:{"Provider icon":{v:[""]}}},{l:"km",t:{"Provider icon":{v:[""]}}},{l:"kn",t:{"Provider icon":{v:[""]}}},{l:"ko",t:{"Provider icon":{v:["제공자 아이콘"]}}},{l:"la",t:{"Provider icon":{v:[""]}}},{l:"lb",t:{"Provider icon":{v:[""]}}},{l:"lo",t:{"Provider icon":{v:[""]}}},{l:"lt_LT",t:{"Provider icon":{v:[""]}}},{l:"lv",t:{"Provider icon":{v:[""]}}},{l:"mk",t:{"Provider icon":{v:[""]}}},{l:"mn",t:{"Provider icon":{v:[""]}}},{l:"mr",t:{"Provider icon":{v:[""]}}},{l:"ms_MY",t:{"Provider icon":{v:[""]}}},{l:"my",t:{"Provider icon":{v:[""]}}},{l:"nb",t:{"Provider icon":{v:["Leverandørikon"]}}},{l:"ne",t:{"Provider icon":{v:[""]}}},{l:"nl",t:{"Provider icon":{v:["Provider icoon"]}}},{l:"nn_NO",t:{"Provider icon":{v:[""]}}},{l:"oc",t:{"Provider icon":{v:[""]}}},{l:"pl",t:{"Provider icon":{v:["Dostawca ikony"]}}},{l:"ps",t:{"Provider icon":{v:[""]}}},{l:"pt_BR",t:{"Provider icon":{v:["Ícone do provedor"]}}},{l:"pt_PT",t:{"Provider icon":{v:["Ícone do fornecedor"]}}},{l:"ro",t:{"Provider icon":{v:["Provider pentru icon"]}}},{l:"ru",t:{"Provider icon":{v:["Значок поставщика"]}}},{l:"sc",t:{"Provider icon":{v:[""]}}},{l:"si",t:{"Provider icon":{v:[""]}}},{l:"sk",t:{"Provider icon":{v:["Ikonka poskytovateľa"]}}},{l:"sl",t:{"Provider icon":{v:[""]}}},{l:"sq",t:{"Provider icon":{v:[""]}}},{l:"sr",t:{"Provider icon":{v:["Икона пружаоца"]}}},{l:"sr@latin",t:{"Provider icon":{v:[""]}}},{l:"sv",t:{"Provider icon":{v:["Leverantörsikon"]}}},{l:"sw",t:{"Provider icon":{v:[""]}}},{l:"ta",t:{"Provider icon":{v:[""]}}},{l:"th",t:{"Provider icon":{v:[""]}}},{l:"tk",t:{"Provider icon":{v:[""]}}},{l:"tr",t:{"Provider icon":{v:["Sağlayıcı simgesi"]}}},{l:"ug",t:{"Provider icon":{v:[""]}}},{l:"uk",t:{"Provider icon":{v:["Піктограма постачальника"]}}},{l:"ur_PK",t:{"Provider icon":{v:[""]}}},{l:"uz",t:{"Provider icon":{v:["Provayder belgisi"]}}},{l:"vi",t:{"Provider icon":{v:[""]}}},{l:"zh_CN",t:{"Provider icon":{v:["提供者图标"]}}},{l:"zh_HK",t:{"Provider icon":{v:["提供者圖示"]}}},{l:"zh_TW",t:{"Provider icon":{v:["提供者圖示"]}}},{l:"zu_ZA",t:{"Provider icon":{v:[""]}}}],Lp=[{l:"af",t:{Search:{v:[""]}}},{l:"ar",t:{Search:{v:["بحث"]}}},{l:"ast",t:{Search:{v:["Buscar"]}}},{l:"az",t:{Search:{v:[""]}}},{l:"be",t:{Search:{v:[""]}}},{l:"bg",t:{Search:{v:[""]}}},{l:"bn_BD",t:{Search:{v:[""]}}},{l:"br",t:{Search:{v:["Klask"]}}},{l:"bs",t:{Search:{v:[""]}}},{l:"ca",t:{Search:{v:["Cerca"]}}},{l:"cs",t:{Search:{v:["Hledat"]}}},{l:"cs_CZ",t:{Search:{v:["Hledat"]}}},{l:"cy_GB",t:{Search:{v:[""]}}},{l:"da",t:{Search:{v:["Søg"]}}},{l:"de",t:{Search:{v:["Suche"]}}},{l:"de_DE",t:{Search:{v:["Suche"]}}},{l:"el",t:{Search:{v:["Αναζήτηση"]}}},{l:"en_GB",t:{Search:{v:["Search"]}}},{l:"eo",t:{Search:{v:["Serĉi"]}}},{l:"es",t:{Search:{v:["Buscar"]}}},{l:"es_419",t:{Search:{v:[""]}}},{l:"es_AR",t:{Search:{v:["Buscar"]}}},{l:"es_CL",t:{Search:{v:[""]}}},{l:"es_CO",t:{Search:{v:[""]}}},{l:"es_CR",t:{Search:{v:[""]}}},{l:"es_DO",t:{Search:{v:[""]}}},{l:"es_EC",t:{Search:{v:["Buscar"]}}},{l:"es_GT",t:{Search:{v:[""]}}},{l:"es_HN",t:{Search:{v:[""]}}},{l:"es_MX",t:{Search:{v:["Buscar"]}}},{l:"es_NI",t:{Search:{v:[""]}}},{l:"es_PA",t:{Search:{v:[""]}}},{l:"es_PE",t:{Search:{v:[""]}}},{l:"es_PR",t:{Search:{v:[""]}}},{l:"es_PY",t:{Search:{v:[""]}}},{l:"es_SV",t:{Search:{v:[""]}}},{l:"es_UY",t:{Search:{v:[""]}}},{l:"et_EE",t:{Search:{v:["Otsing"]}}},{l:"eu",t:{Search:{v:["Bilatu"]}}},{l:"fa",t:{Search:{v:["جستجو"]}}},{l:"fi",t:{Search:{v:["Etsi"]}}},{l:"fo",t:{Search:{v:[""]}}},{l:"fr",t:{Search:{v:["Chercher"]}}},{l:"ga",t:{Search:{v:["Cuardach"]}}},{l:"gd",t:{Search:{v:[""]}}},{l:"gl",t:{Search:{v:["Buscar"]}}},{l:"he",t:{Search:{v:["חיפוש"]}}},{l:"hi_IN",t:{Search:{v:[""]}}},{l:"hr",t:{Search:{v:[""]}}},{l:"hsb",t:{Search:{v:[""]}}},{l:"hu",t:{Search:{v:["Keresés"]}}},{l:"hy",t:{Search:{v:[""]}}},{l:"ia",t:{Search:{v:[""]}}},{l:"id",t:{Search:{v:["Cari"]}}},{l:"ig",t:{Search:{v:[""]}}},{l:"is",t:{Search:{v:["Leita"]}}},{l:"it",t:{Search:{v:["Cerca"]}}},{l:"ja",t:{Search:{v:["検索"]}}},{l:"ja_JP",t:{Search:{v:["検索"]}}},{l:"ka",t:{Search:{v:[""]}}},{l:"ka_GE",t:{Search:{v:[""]}}},{l:"kab",t:{Search:{v:[""]}}},{l:"kk",t:{Search:{v:[""]}}},{l:"km",t:{Search:{v:[""]}}},{l:"kn",t:{Search:{v:[""]}}},{l:"ko",t:{Search:{v:["검색"]}}},{l:"la",t:{Search:{v:[""]}}},{l:"lb",t:{Search:{v:[""]}}},{l:"lo",t:{Search:{v:[""]}}},{l:"lt_LT",t:{Search:{v:["Ieškoti"]}}},{l:"lv",t:{Search:{v:[""]}}},{l:"mk",t:{Search:{v:["Барај"]}}},{l:"mn",t:{Search:{v:[""]}}},{l:"mr",t:{Search:{v:[""]}}},{l:"ms_MY",t:{Search:{v:[""]}}},{l:"my",t:{Search:{v:["ရှာဖွေရန်"]}}},{l:"nb",t:{Search:{v:["Søk"]}}},{l:"ne",t:{Search:{v:[""]}}},{l:"nl",t:{Search:{v:["Zoeken"]}}},{l:"nn_NO",t:{Search:{v:[""]}}},{l:"oc",t:{Search:{v:[""]}}},{l:"pl",t:{Search:{v:["Szukaj"]}}},{l:"ps",t:{Search:{v:[""]}}},{l:"pt_BR",t:{Search:{v:["Pesquisar"]}}},{l:"pt_PT",t:{Search:{v:["Pesquisar"]}}},{l:"ro",t:{Search:{v:["Căutare"]}}},{l:"ru",t:{Search:{v:["Поиск"]}}},{l:"sc",t:{Search:{v:[""]}}},{l:"si",t:{Search:{v:[""]}}},{l:"sk",t:{Search:{v:["Hľadať"]}}},{l:"sl",t:{Search:{v:["Iskanje"]}}},{l:"sq",t:{Search:{v:[""]}}},{l:"sr",t:{Search:{v:["Претражи"]}}},{l:"sr@latin",t:{Search:{v:[""]}}},{l:"sv",t:{Search:{v:["Sök"]}}},{l:"sw",t:{Search:{v:[""]}}},{l:"ta",t:{Search:{v:[""]}}},{l:"th",t:{Search:{v:[""]}}},{l:"tk",t:{Search:{v:[""]}}},{l:"tr",t:{Search:{v:["Arama"]}}},{l:"ug",t:{Search:{v:[""]}}},{l:"uk",t:{Search:{v:["Пошук"]}}},{l:"ur_PK",t:{Search:{v:[""]}}},{l:"uz",t:{Search:{v:["Qidiruv"]}}},{l:"vi",t:{Search:{v:[""]}}},{l:"zh_CN",t:{Search:{v:["搜索"]}}},{l:"zh_HK",t:{Search:{v:["搜尋"]}}},{l:"zh_TW",t:{Search:{v:["搜尋"]}}},{l:"zu_ZA",t:{Search:{v:[""]}}}],$p=[{l:"af",t:{"Select provider":{v:[""]}}},{l:"ar",t:{"Select provider":{v:["اختر مزود"]}}},{l:"ast",t:{"Select provider":{v:["Seleicionar el fornidor"]}}},{l:"az",t:{"Select provider":{v:[""]}}},{l:"be",t:{"Select provider":{v:[""]}}},{l:"bg",t:{"Select provider":{v:[""]}}},{l:"bn_BD",t:{"Select provider":{v:[""]}}},{l:"br",t:{"Select provider":{v:[""]}}},{l:"bs",t:{"Select provider":{v:[""]}}},{l:"ca",t:{"Select provider":{v:[""]}}},{l:"cs",t:{"Select provider":{v:["Vybrat poskytovatele"]}}},{l:"cs_CZ",t:{"Select provider":{v:["Vybrat poskytovatele"]}}},{l:"cy_GB",t:{"Select provider":{v:[""]}}},{l:"da",t:{"Select provider":{v:["Vælg udbyder"]}}},{l:"de",t:{"Select provider":{v:["Anbieter auswählen"]}}},{l:"de_DE",t:{"Select provider":{v:["Anbieter auswählen"]}}},{l:"el",t:{"Select provider":{v:["Επιλογή παρόχου"]}}},{l:"en_GB",t:{"Select provider":{v:["Select provider"]}}},{l:"eo",t:{"Select provider":{v:[""]}}},{l:"es",t:{"Select provider":{v:["Seleccione proveedor"]}}},{l:"es_419",t:{"Select provider":{v:[""]}}},{l:"es_AR",t:{"Select provider":{v:["Elija proveedor"]}}},{l:"es_CL",t:{"Select provider":{v:[""]}}},{l:"es_CO",t:{"Select provider":{v:[""]}}},{l:"es_CR",t:{"Select provider":{v:[""]}}},{l:"es_DO",t:{"Select provider":{v:[""]}}},{l:"es_EC",t:{"Select provider":{v:["Seleccionar proveedor"]}}},{l:"es_GT",t:{"Select provider":{v:[""]}}},{l:"es_HN",t:{"Select provider":{v:[""]}}},{l:"es_MX",t:{"Select provider":{v:["Seleccionar proveedor"]}}},{l:"es_NI",t:{"Select provider":{v:[""]}}},{l:"es_PA",t:{"Select provider":{v:[""]}}},{l:"es_PE",t:{"Select provider":{v:[""]}}},{l:"es_PR",t:{"Select provider":{v:[""]}}},{l:"es_PY",t:{"Select provider":{v:[""]}}},{l:"es_SV",t:{"Select provider":{v:[""]}}},{l:"es_UY",t:{"Select provider":{v:[""]}}},{l:"et_EE",t:{"Select provider":{v:["Vali teenuspakkuja"]}}},{l:"eu",t:{"Select provider":{v:["Hautatu hornitzailea"]}}},{l:"fa",t:{"Select provider":{v:["ارائه دهنده را انتخاب کنید"]}}},{l:"fi",t:{"Select provider":{v:["Valitse tarjoaja"]}}},{l:"fo",t:{"Select provider":{v:[""]}}},{l:"fr",t:{"Select provider":{v:["Sélectionner un fournisseur"]}}},{l:"ga",t:{"Select provider":{v:["Roghnaigh soláthraí"]}}},{l:"gd",t:{"Select provider":{v:[""]}}},{l:"gl",t:{"Select provider":{v:["Seleccionar provedor"]}}},{l:"he",t:{"Select provider":{v:["בחירת ספק"]}}},{l:"hi_IN",t:{"Select provider":{v:[""]}}},{l:"hr",t:{"Select provider":{v:[""]}}},{l:"hsb",t:{"Select provider":{v:[""]}}},{l:"hu",t:{"Select provider":{v:[""]}}},{l:"hy",t:{"Select provider":{v:[""]}}},{l:"ia",t:{"Select provider":{v:[""]}}},{l:"id",t:{"Select provider":{v:["Pilih penyedia"]}}},{l:"ig",t:{"Select provider":{v:[""]}}},{l:"is",t:{"Select provider":{v:["Veldu þjónustuveitu"]}}},{l:"it",t:{"Select provider":{v:["Selezionare il provider"]}}},{l:"ja",t:{"Select provider":{v:["プロバイダーを選択"]}}},{l:"ja_JP",t:{"Select provider":{v:["プロバイダーを選択"]}}},{l:"ka",t:{"Select provider":{v:[""]}}},{l:"ka_GE",t:{"Select provider":{v:[""]}}},{l:"kab",t:{"Select provider":{v:[""]}}},{l:"kk",t:{"Select provider":{v:[""]}}},{l:"km",t:{"Select provider":{v:[""]}}},{l:"kn",t:{"Select provider":{v:[""]}}},{l:"ko",t:{"Select provider":{v:["제공자 선택"]}}},{l:"la",t:{"Select provider":{v:[""]}}},{l:"lb",t:{"Select provider":{v:[""]}}},{l:"lo",t:{"Select provider":{v:[""]}}},{l:"lt_LT",t:{"Select provider":{v:[""]}}},{l:"lv",t:{"Select provider":{v:[""]}}},{l:"mk",t:{"Select provider":{v:[""]}}},{l:"mn",t:{"Select provider":{v:[""]}}},{l:"mr",t:{"Select provider":{v:[""]}}},{l:"ms_MY",t:{"Select provider":{v:[""]}}},{l:"my",t:{"Select provider":{v:[""]}}},{l:"nb",t:{"Select provider":{v:["Velg leverandør"]}}},{l:"ne",t:{"Select provider":{v:[""]}}},{l:"nl",t:{"Select provider":{v:["Selecteer provider"]}}},{l:"nn_NO",t:{"Select provider":{v:[""]}}},{l:"oc",t:{"Select provider":{v:[""]}}},{l:"pl",t:{"Select provider":{v:["Wybierz dostawcę"]}}},{l:"ps",t:{"Select provider":{v:[""]}}},{l:"pt_BR",t:{"Select provider":{v:["Selecionar provedor"]}}},{l:"pt_PT",t:{"Select provider":{v:["Selecionar fornecedor"]}}},{l:"ro",t:{"Select provider":{v:["Selectați providerul"]}}},{l:"ru",t:{"Select provider":{v:["Выбрать поставщика"]}}},{l:"sc",t:{"Select provider":{v:[""]}}},{l:"si",t:{"Select provider":{v:[""]}}},{l:"sk",t:{"Select provider":{v:["Vybrať poskytovateľa"]}}},{l:"sl",t:{"Select provider":{v:[""]}}},{l:"sq",t:{"Select provider":{v:[""]}}},{l:"sr",t:{"Select provider":{v:["Изаберите пружаоца"]}}},{l:"sr@latin",t:{"Select provider":{v:[""]}}},{l:"sv",t:{"Select provider":{v:["Välj leverantör"]}}},{l:"sw",t:{"Select provider":{v:[""]}}},{l:"ta",t:{"Select provider":{v:[""]}}},{l:"th",t:{"Select provider":{v:[""]}}},{l:"tk",t:{"Select provider":{v:[""]}}},{l:"tr",t:{"Select provider":{v:["Sağlayıcı seçin"]}}},{l:"ug",t:{"Select provider":{v:[""]}}},{l:"uk",t:{"Select provider":{v:["Виберіть постачальника"]}}},{l:"ur_PK",t:{"Select provider":{v:[""]}}},{l:"uz",t:{"Select provider":{v:["Provayderni tanlang"]}}},{l:"vi",t:{"Select provider":{v:[""]}}},{l:"zh_CN",t:{"Select provider":{v:["选择提供者"]}}},{l:"zh_HK",t:{"Select provider":{v:["選擇提供者"]}}},{l:"zh_TW",t:{"Select provider":{v:["選取提供者"]}}},{l:"zu_ZA",t:{"Select provider":{v:[""]}}}],Ip=[{l:"af",t:{Settings:{v:[""]}}},{l:"ar",t:{Settings:{v:["الإعدادات"]}}},{l:"ast",t:{Settings:{v:["Configuración"]}}},{l:"az",t:{Settings:{v:[""]}}},{l:"be",t:{Settings:{v:[""]}}},{l:"bg",t:{Settings:{v:[""]}}},{l:"bn_BD",t:{Settings:{v:[""]}}},{l:"br",t:{Settings:{v:["Arventennoù"]}}},{l:"bs",t:{Settings:{v:[""]}}},{l:"ca",t:{Settings:{v:["Paràmetres"]}}},{l:"cs",t:{Settings:{v:["Nastavení"]}}},{l:"cs_CZ",t:{Settings:{v:["Nastavení"]}}},{l:"cy_GB",t:{Settings:{v:[""]}}},{l:"da",t:{Settings:{v:["Indstillinger"]}}},{l:"de",t:{Settings:{v:["Einstellungen"]}}},{l:"de_DE",t:{Settings:{v:["Einstellungen"]}}},{l:"el",t:{Settings:{v:["Ρυθμίσεις"]}}},{l:"en_GB",t:{Settings:{v:["Settings"]}}},{l:"eo",t:{Settings:{v:["Agordo"]}}},{l:"es",t:{Settings:{v:["Ajustes"]}}},{l:"es_419",t:{Settings:{v:[""]}}},{l:"es_AR",t:{Settings:{v:["Configuraciones"]}}},{l:"es_CL",t:{Settings:{v:[""]}}},{l:"es_CO",t:{Settings:{v:[""]}}},{l:"es_CR",t:{Settings:{v:[""]}}},{l:"es_DO",t:{Settings:{v:[""]}}},{l:"es_EC",t:{Settings:{v:["Configuraciones"]}}},{l:"es_GT",t:{Settings:{v:[""]}}},{l:"es_HN",t:{Settings:{v:[""]}}},{l:"es_MX",t:{Settings:{v:["Configuración"]}}},{l:"es_NI",t:{Settings:{v:[""]}}},{l:"es_PA",t:{Settings:{v:[""]}}},{l:"es_PE",t:{Settings:{v:[""]}}},{l:"es_PR",t:{Settings:{v:[""]}}},{l:"es_PY",t:{Settings:{v:[""]}}},{l:"es_SV",t:{Settings:{v:[""]}}},{l:"es_UY",t:{Settings:{v:[""]}}},{l:"et_EE",t:{Settings:{v:["Seadistused"]}}},{l:"eu",t:{Settings:{v:["Ezarpenak"]}}},{l:"fa",t:{Settings:{v:["تنظیمات"]}}},{l:"fi",t:{Settings:{v:["Asetukset"]}}},{l:"fo",t:{Settings:{v:[""]}}},{l:"fr",t:{Settings:{v:["Paramètres"]}}},{l:"ga",t:{Settings:{v:["Socruithe"]}}},{l:"gd",t:{Settings:{v:[""]}}},{l:"gl",t:{Settings:{v:["Axustes"]}}},{l:"he",t:{Settings:{v:["הגדרות"]}}},{l:"hi_IN",t:{Settings:{v:[""]}}},{l:"hr",t:{Settings:{v:[""]}}},{l:"hsb",t:{Settings:{v:[""]}}},{l:"hu",t:{Settings:{v:["Beállítások"]}}},{l:"hy",t:{Settings:{v:[""]}}},{l:"ia",t:{Settings:{v:[""]}}},{l:"id",t:{Settings:{v:["Pengaturan"]}}},{l:"ig",t:{Settings:{v:[""]}}},{l:"is",t:{Settings:{v:["Stillingar"]}}},{l:"it",t:{Settings:{v:["Impostazioni"]}}},{l:"ja",t:{Settings:{v:["設定"]}}},{l:"ja_JP",t:{Settings:{v:["設定"]}}},{l:"ka",t:{Settings:{v:[""]}}},{l:"ka_GE",t:{Settings:{v:[""]}}},{l:"kab",t:{Settings:{v:[""]}}},{l:"kk",t:{Settings:{v:[""]}}},{l:"km",t:{Settings:{v:[""]}}},{l:"kn",t:{Settings:{v:[""]}}},{l:"ko",t:{Settings:{v:["선택"]}}},{l:"la",t:{Settings:{v:[""]}}},{l:"lb",t:{Settings:{v:[""]}}},{l:"lo",t:{Settings:{v:[""]}}},{l:"lt_LT",t:{Settings:{v:["Nustatymai"]}}},{l:"lv",t:{Settings:{v:["Iestatījumi"]}}},{l:"mk",t:{Settings:{v:["Параметри"]}}},{l:"mn",t:{Settings:{v:[""]}}},{l:"mr",t:{Settings:{v:[""]}}},{l:"ms_MY",t:{Settings:{v:[""]}}},{l:"my",t:{Settings:{v:["ချိန်ညှိချက်များ"]}}},{l:"nb",t:{Settings:{v:["Innstillinger"]}}},{l:"ne",t:{Settings:{v:[""]}}},{l:"nl",t:{Settings:{v:["Instellingen"]}}},{l:"nn_NO",t:{Settings:{v:[""]}}},{l:"oc",t:{Settings:{v:["Paramètres"]}}},{l:"pl",t:{Settings:{v:["Ustawienia"]}}},{l:"ps",t:{Settings:{v:[""]}}},{l:"pt_BR",t:{Settings:{v:["Configurações"]}}},{l:"pt_PT",t:{Settings:{v:["Definições"]}}},{l:"ro",t:{Settings:{v:["Setări"]}}},{l:"ru",t:{Settings:{v:["Параметры"]}}},{l:"sc",t:{Settings:{v:[""]}}},{l:"si",t:{Settings:{v:[""]}}},{l:"sk",t:{Settings:{v:["Nastavenia"]}}},{l:"sl",t:{Settings:{v:["Nastavitve"]}}},{l:"sq",t:{Settings:{v:[""]}}},{l:"sr",t:{Settings:{v:["Поставке"]}}},{l:"sr@latin",t:{Settings:{v:[""]}}},{l:"sv",t:{Settings:{v:["Inställningar"]}}},{l:"sw",t:{Settings:{v:[""]}}},{l:"ta",t:{Settings:{v:[""]}}},{l:"th",t:{Settings:{v:[""]}}},{l:"tk",t:{Settings:{v:[""]}}},{l:"tr",t:{Settings:{v:["Ayarlar"]}}},{l:"ug",t:{Settings:{v:[""]}}},{l:"uk",t:{Settings:{v:["Налаштування"]}}},{l:"ur_PK",t:{Settings:{v:[""]}}},{l:"uz",t:{Settings:{v:["Sozlamalar"]}}},{l:"vi",t:{Settings:{v:[""]}}},{l:"zh_CN",t:{Settings:{v:["设置"]}}},{l:"zh_HK",t:{Settings:{v:["設定"]}}},{l:"zh_TW",t:{Settings:{v:["設定"]}}},{l:"zu_ZA",t:{Settings:{v:[""]}}}],Mp=[{l:"af",t:{"Undo changes":{v:[""]}}},{l:"ar",t:{"Undo changes":{v:["تراجَع عن التغييرات"]}}},{l:"ast",t:{"Undo changes":{v:["Desfacer los cambeos"]}}},{l:"az",t:{"Undo changes":{v:[""]}}},{l:"be",t:{"Undo changes":{v:[""]}}},{l:"bg",t:{"Undo changes":{v:[""]}}},{l:"bn_BD",t:{"Undo changes":{v:[""]}}},{l:"br",t:{"Undo changes":{v:[""]}}},{l:"bs",t:{"Undo changes":{v:[""]}}},{l:"ca",t:{"Undo changes":{v:["Desfés els canvis"]}}},{l:"cs",t:{"Undo changes":{v:["Vzít změny zpět"]}}},{l:"cs_CZ",t:{"Undo changes":{v:["Vzít změny zpět"]}}},{l:"cy_GB",t:{"Undo changes":{v:[""]}}},{l:"da",t:{"Undo changes":{v:["Fortryd ændringer"]}}},{l:"de",t:{"Undo changes":{v:["Änderungen rückgängig machen"]}}},{l:"de_DE",t:{"Undo changes":{v:["Änderungen rückgängig machen"]}}},{l:"el",t:{"Undo changes":{v:["Αναίρεση Αλλαγών"]}}},{l:"en_GB",t:{"Undo changes":{v:["Undo changes"]}}},{l:"eo",t:{"Undo changes":{v:[""]}}},{l:"es",t:{"Undo changes":{v:["Deshacer cambios"]}}},{l:"es_419",t:{"Undo changes":{v:[""]}}},{l:"es_AR",t:{"Undo changes":{v:["Deshacer cambios"]}}},{l:"es_CL",t:{"Undo changes":{v:[""]}}},{l:"es_CO",t:{"Undo changes":{v:[""]}}},{l:"es_CR",t:{"Undo changes":{v:[""]}}},{l:"es_DO",t:{"Undo changes":{v:[""]}}},{l:"es_EC",t:{"Undo changes":{v:["Deshacer cambios"]}}},{l:"es_GT",t:{"Undo changes":{v:[""]}}},{l:"es_HN",t:{"Undo changes":{v:[""]}}},{l:"es_MX",t:{"Undo changes":{v:["Deshacer cambios"]}}},{l:"es_NI",t:{"Undo changes":{v:[""]}}},{l:"es_PA",t:{"Undo changes":{v:[""]}}},{l:"es_PE",t:{"Undo changes":{v:[""]}}},{l:"es_PR",t:{"Undo changes":{v:[""]}}},{l:"es_PY",t:{"Undo changes":{v:[""]}}},{l:"es_SV",t:{"Undo changes":{v:[""]}}},{l:"es_UY",t:{"Undo changes":{v:[""]}}},{l:"et_EE",t:{"Undo changes":{v:["Pööra muudatused tagasi"]}}},{l:"eu",t:{"Undo changes":{v:["Aldaketak desegin"]}}},{l:"fa",t:{"Undo changes":{v:["لغو تغییرات"]}}},{l:"fi",t:{"Undo changes":{v:["Kumoa muutokset"]}}},{l:"fo",t:{"Undo changes":{v:[""]}}},{l:"fr",t:{"Undo changes":{v:["Annuler les changements"]}}},{l:"ga",t:{"Undo changes":{v:["Cealaigh athruithe"]}}},{l:"gd",t:{"Undo changes":{v:[""]}}},{l:"gl",t:{"Undo changes":{v:["Desfacer os cambios"]}}},{l:"he",t:{"Undo changes":{v:["ביטול שינויים"]}}},{l:"hi_IN",t:{"Undo changes":{v:[""]}}},{l:"hr",t:{"Undo changes":{v:[""]}}},{l:"hsb",t:{"Undo changes":{v:[""]}}},{l:"hu",t:{"Undo changes":{v:["Változtatások visszavonása"]}}},{l:"hy",t:{"Undo changes":{v:[""]}}},{l:"ia",t:{"Undo changes":{v:[""]}}},{l:"id",t:{"Undo changes":{v:["Urungkan perubahan"]}}},{l:"ig",t:{"Undo changes":{v:[""]}}},{l:"is",t:{"Undo changes":{v:["Afturkalla breytingar"]}}},{l:"it",t:{"Undo changes":{v:["Cancella i cambiamenti"]}}},{l:"ja",t:{"Undo changes":{v:["変更を取り消し"]}}},{l:"ja_JP",t:{"Undo changes":{v:["変更を取り消し"]}}},{l:"ka",t:{"Undo changes":{v:[""]}}},{l:"ka_GE",t:{"Undo changes":{v:[""]}}},{l:"kab",t:{"Undo changes":{v:[""]}}},{l:"kk",t:{"Undo changes":{v:[""]}}},{l:"km",t:{"Undo changes":{v:[""]}}},{l:"kn",t:{"Undo changes":{v:[""]}}},{l:"ko",t:{"Undo changes":{v:["변경 되돌리기"]}}},{l:"la",t:{"Undo changes":{v:[""]}}},{l:"lb",t:{"Undo changes":{v:[""]}}},{l:"lo",t:{"Undo changes":{v:[""]}}},{l:"lt_LT",t:{"Undo changes":{v:[""]}}},{l:"lv",t:{"Undo changes":{v:[""]}}},{l:"mk",t:{"Undo changes":{v:["Врати ги промените"]}}},{l:"mn",t:{"Undo changes":{v:[""]}}},{l:"mr",t:{"Undo changes":{v:[""]}}},{l:"ms_MY",t:{"Undo changes":{v:[""]}}},{l:"my",t:{"Undo changes":{v:[""]}}},{l:"nb",t:{"Undo changes":{v:["Tilbakestill endringer"]}}},{l:"ne",t:{"Undo changes":{v:[""]}}},{l:"nl",t:{"Undo changes":{v:["Wijzigingen ongedaan maken"]}}},{l:"nn_NO",t:{"Undo changes":{v:[""]}}},{l:"oc",t:{"Undo changes":{v:[""]}}},{l:"pl",t:{"Undo changes":{v:["Cofnij zmiany"]}}},{l:"ps",t:{"Undo changes":{v:[""]}}},{l:"pt_BR",t:{"Undo changes":{v:["Desfazer modificações"]}}},{l:"pt_PT",t:{"Undo changes":{v:["Anular alterações"]}}},{l:"ro",t:{"Undo changes":{v:["Anularea modificărilor"]}}},{l:"ru",t:{"Undo changes":{v:["Отменить изменения"]}}},{l:"sc",t:{"Undo changes":{v:[""]}}},{l:"si",t:{"Undo changes":{v:[""]}}},{l:"sk",t:{"Undo changes":{v:["Vrátiť zmeny"]}}},{l:"sl",t:{"Undo changes":{v:["Razveljavi spremembe"]}}},{l:"sq",t:{"Undo changes":{v:[""]}}},{l:"sr",t:{"Undo changes":{v:["Поништи измене"]}}},{l:"sr@latin",t:{"Undo changes":{v:[""]}}},{l:"sv",t:{"Undo changes":{v:["Ångra ändringar"]}}},{l:"sw",t:{"Undo changes":{v:[""]}}},{l:"ta",t:{"Undo changes":{v:[""]}}},{l:"th",t:{"Undo changes":{v:[""]}}},{l:"tk",t:{"Undo changes":{v:[""]}}},{l:"tr",t:{"Undo changes":{v:["Değişiklikleri geri al"]}}},{l:"ug",t:{"Undo changes":{v:[""]}}},{l:"uk",t:{"Undo changes":{v:["Скасувати зміни"]}}},{l:"ur_PK",t:{"Undo changes":{v:[""]}}},{l:"uz",t:{"Undo changes":{v:["O'zgarishlarni bekor qilish"]}}},{l:"vi",t:{"Undo changes":{v:[""]}}},{l:"zh_CN",t:{"Undo changes":{v:["撤销更改"]}}},{l:"zh_HK",t:{"Undo changes":{v:["取消更改"]}}},{l:"zh_TW",t:{"Undo changes":{v:["還原變更"]}}},{l:"zu_ZA",t:{"Undo changes":{v:[""]}}}],Up=[{l:"af",t:{}},{l:"ar",t:{"User status: {status}":{v:["حالة المستخدِم: {status}"]}}},{l:"ast",t:{"User status: {status}":{v:["Estáu del usuariu: {status}"]}}},{l:"az",t:{}},{l:"be",t:{}},{l:"bg",t:{}},{l:"bn_BD",t:{}},{l:"br",t:{}},{l:"bs",t:{}},{l:"ca",t:{}},{l:"cs",t:{"User status: {status}":{v:["Stav uživatele: {status}"]}}},{l:"cs_CZ",t:{"User status: {status}":{v:["Stav uživatele: {status}"]}}},{l:"cy_GB",t:{}},{l:"da",t:{"User status: {status}":{v:["Brugerstatus: {status}"]}}},{l:"de",t:{"User status: {status}":{v:["Benutzerstatus: {status}"]}}},{l:"de_DE",t:{"User status: {status}":{v:["Benutzerstatus: {status}"]}}},{l:"el",t:{"User status: {status}":{v:["Κατάσταση χρήστη: {status}"]}}},{l:"en_GB",t:{"User status: {status}":{v:["User status: {status}"]}}},{l:"eo",t:{}},{l:"es",t:{"User status: {status}":{v:["Estatus del usuario: {status}"]}}},{l:"es_419",t:{}},{l:"es_AR",t:{"User status: {status}":{v:["Estado del usuario: {status}"]}}},{l:"es_CL",t:{}},{l:"es_CO",t:{}},{l:"es_CR",t:{}},{l:"es_DO",t:{}},{l:"es_EC",t:{}},{l:"es_GT",t:{}},{l:"es_HN",t:{}},{l:"es_MX",t:{"User status: {status}":{v:["Estado del usuario: {status}"]}}},{l:"es_NI",t:{}},{l:"es_PA",t:{}},{l:"es_PE",t:{}},{l:"es_PR",t:{}},{l:"es_PY",t:{}},{l:"es_SV",t:{}},{l:"es_UY",t:{}},{l:"et_EE",t:{"User status: {status}":{v:["Kasutaja olek: {status}"]}}},{l:"eu",t:{}},{l:"fa",t:{"User status: {status}":{v:["وضعیت کاربر: {status}"]}}},{l:"fi",t:{"User status: {status}":{v:["Käyttäjän tila: {status}"]}}},{l:"fo",t:{}},{l:"fr",t:{"User status: {status}":{v:["Statut de l'utilisateur : {status}"]}}},{l:"ga",t:{"User status: {status}":{v:["Stádas úsáideora: {status}"]}}},{l:"gd",t:{}},{l:"gl",t:{"User status: {status}":{v:["Estado do usuario: {status}"]}}},{l:"he",t:{}},{l:"hi_IN",t:{}},{l:"hr",t:{}},{l:"hsb",t:{}},{l:"hu",t:{}},{l:"hy",t:{}},{l:"ia",t:{}},{l:"id",t:{"User status: {status}":{v:["Status pengguna: {status}"]}}},{l:"ig",t:{}},{l:"is",t:{"User status: {status}":{v:["Staða notanda: {status}"]}}},{l:"it",t:{"User status: {status}":{v:["Stato dell'utente: {status}"]}}},{l:"ja",t:{"User status: {status}":{v:["ユーザのステータス: {status}"]}}},{l:"ja_JP",t:{"User status: {status}":{v:["ユーザのステータス: {status}"]}}},{l:"ka",t:{}},{l:"ka_GE",t:{}},{l:"kab",t:{}},{l:"kk",t:{}},{l:"km",t:{}},{l:"kn",t:{}},{l:"ko",t:{"User status: {status}":{v:["사용자 상태: {status}"]}}},{l:"la",t:{}},{l:"lb",t:{}},{l:"lo",t:{}},{l:"lt_LT",t:{}},{l:"lv",t:{}},{l:"mk",t:{}},{l:"mn",t:{}},{l:"mr",t:{}},{l:"ms_MY",t:{}},{l:"my",t:{}},{l:"nb",t:{"User status: {status}":{v:["Brukerstatus: {status}"]}}},{l:"ne",t:{}},{l:"nl",t:{"User status: {status}":{v:["Gebruikers status: {status}"]}}},{l:"nn_NO",t:{}},{l:"oc",t:{}},{l:"pl",t:{"User status: {status}":{v:["Status użytkownika: {status}"]}}},{l:"ps",t:{}},{l:"pt_BR",t:{"User status: {status}":{v:["Status do usuário: {status}"]}}},{l:"pt_PT",t:{"User status: {status}":{v:["Estado do utilizador: {status}"]}}},{l:"ro",t:{"User status: {status}":{v:["Status utilizator: {status}"]}}},{l:"ru",t:{"User status: {status}":{v:["Статус пользователя: {status}"]}}},{l:"sc",t:{}},{l:"si",t:{}},{l:"sk",t:{"User status: {status}":{v:["Stav užívateľa: {status}"]}}},{l:"sl",t:{}},{l:"sq",t:{}},{l:"sr",t:{"User status: {status}":{v:["Статус корисника: {status}"]}}},{l:"sr@latin",t:{}},{l:"sv",t:{"User status: {status}":{v:["Användarstatus: {status}"]}}},{l:"sw",t:{}},{l:"ta",t:{}},{l:"th",t:{}},{l:"tk",t:{}},{l:"tr",t:{"User status: {status}":{v:["Kullanıcı durumu: {status}"]}}},{l:"ug",t:{}},{l:"uk",t:{"User status: {status}":{v:["Статус користувача: {status}"]}}},{l:"ur_PK",t:{}},{l:"uz",t:{"User status: {status}":{v:["Foydalanuvchi holati: {status}"]}}},{l:"vi",t:{}},{l:"zh_CN",t:{"User status: {status}":{v:["用户状态:{status}"]}}},{l:"zh_HK",t:{"User status: {status}":{v:["用戶狀態:{status}"]}}},{l:"zh_TW",t:{}},{l:"zu_ZA",t:{}}];function X(t,e,n,u,o,a,r,c){var d=typeof t=="function"?t.options:t;return e&&(d.render=e,d.staticRenderFns=n,d._compiled=!0),a&&(d._scopeId="data-v-"+a),{exports:t,options:d}}const hs={name:"NcButton",inject:{getNcPopoverTriggerAttrs:{from:"NcPopover:trigger:attrs",default:()=>()=>({})}},props:{alignment:{type:String,default:"center",validator:t=>["start","start-reverse","center","center-reverse","end","end-reverse"].includes(t)},disabled:{type:Boolean,default:!1},size:{type:String,default:"normal",validator(t){return["small","normal","large"].includes(t)}},type:{type:String,validator(t){return["primary","secondary","tertiary","tertiary-no-background","tertiary-on-primary","error","warning","success"].includes(t)||["submit","reset","button"].includes(t)},default:"secondary"},nativeType:{type:String,validator(t){return["submit","reset","button"].indexOf(t)!==-1},default:"button"},wide:{type:Boolean,default:!1},ariaLabel:{type:String,default:null},href:{type:String,default:null},target:{type:String,default:"_self"},download:{type:String,default:null},to:{type:[String,Object],default:null},exact:{type:Boolean,default:!1},ariaHidden:{type:Boolean,default:null},pressed:{type:Boolean,default:null},variant:{type:String,validator(t){return["primary","secondary","tertiary","tertiary-no-background","tertiary-on-primary","error","warning","success"].includes(t)},default:"secondary"}},emits:["update:pressed","click"],computed:{realVariant(){return this.pressed?"primary":this.pressed===!1&&(this.type==="primary"||this.variant==="primary")?"secondary":this.type!=="secondary"&&["primary","tertiary","tertiary-no-background","tertiary-on-primary","error","warning","success"].includes(this.type)?this.type:this.variant},realType(){return typeof this.pressed=="boolean"?"button":this.nativeType!=="button"?this.nativeType:["primary","secondary","tertiary","tertiary-no-background","tertiary-on-primary","error","warning","success"].includes(this.type)?this.nativeType:this.type},flexAlignment(){return this.alignment.split("-")[0]},isReverseAligned(){return this.alignment.includes("-")},ncPopoverTriggerAttrs(){return this.getNcPopoverTriggerAttrs()}},render(t){const e=!!this.$slots.default,n=this.$slots?.icon;!e&&!this.ariaLabel&&console.warn("You need to fill either the text or the ariaLabel props in the button component.",{text:this.$slots.default?.[0]?.text,ariaLabel:this.ariaLabel},this);const u=this.to||this.href,o=!u&&typeof this.pressed=="boolean",a=({href:r,navigate:c,isActive:d,isExactActive:p}={})=>t(u?"a":"button",{class:["button-vue",`button-vue--size-${this.size}`,{"button-vue--icon-only":n&&!e,"button-vue--text-only":e&&!n,"button-vue--icon-and-text":n&&e,[`button-vue--vue-${this.realVariant}`]:this.realVariant,"button-vue--wide":this.wide,[`button-vue--${this.flexAlignment}`]:this.flexAlignment!=="center","button-vue--reverse":this.isReverseAligned,active:d,"router-link-exact-active":p}],attrs:{"aria-label":this.ariaLabel,"aria-pressed":o?this.pressed.toString():void 0,disabled:this.disabled,type:u?null:this.realType,role:u?"button":null,href:this.to?r:this.href||null,target:u?this.target||"_self":null,rel:u?"nofollow noreferrer noopener":null,download:!this.to&&this.href&&this.download?this.download:null,...this.ncPopoverTriggerAttrs,...this.$attrs},on:{...this.$listeners,click:v=>{o&&this.$emit("update:pressed",!this.pressed),this.$emit("click",v),c?.(v)}}},[t("span",{class:"button-vue__wrapper"},[n?t("span",{class:"button-vue__icon",attrs:{"aria-hidden":"true"}},[this.$slots.icon]):null,e?t("span",{class:"button-vue__text"},[this.$slots.default]):null])]);return this.to?t("router-link",{props:{custom:!0,to:this.to,exact:this.exact},scopedSlots:{default:a}}):a()}},fs=null,gs=null;var ms=X(hs,fs,gs,!1,null,"3f8e123a");const po=ms.exports,Pu={name:"NcIconSvgWrapper",props:{directional:{type:Boolean,default:!1},inline:{type:Boolean,default:!1},svg:{type:String,default:""},name:{type:String,default:""},path:{type:String,default:""},size:{type:[Number,String],default:20,validator:t=>typeof t=="number"||t==="auto"}},computed:{iconSize(){return typeof this.size=="number"?`${this.size}px`:this.size},cleanSvg(){if(!this.svg||this.path)return;const t=Za.sanitize(this.svg),e=new DOMParser().parseFromString(t,"image/svg+xml");return e.querySelector("parsererror")?(ye.util.warn("SVG is not valid"),""):(e.documentElement.id&&e.documentElement.removeAttribute("id"),e.documentElement.outerHTML)}}},si=()=>{vo((t,e)=>({adec40c8:t.iconSize}))},ri=Pu.setup;Pu.setup=ri?(t,e)=>(si(),ri(t,e)):si;const Cs=Pu;var ys=function(){var t=this,e=t._self._c;return e("span",{staticClass:"icon-vue",class:{"icon-vue--directional":t.directional,"icon-vue--inline":t.inline},attrs:{"aria-hidden":t.name?void 0:"true","aria-label":t.name||void 0,role:"img"}},[t.cleanSvg?e("span",{domProps:{innerHTML:t._s(t.cleanSvg)}}):e("svg",{attrs:{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"}},[e("path",{attrs:{d:t.path}})])])},Es=[],ks=X(Cs,ys,Es,!1,null,"a4f5b92e");const bs=ks.exports;function jp(t,e,n,u,o,a,r,c){var d=typeof t=="function"?t.options:t;return e&&(d.render=e,d.staticRenderFns=n,d._compiled=!0),a&&(d._scopeId="data-v-"+a),{exports:t,options:d}}function ho(t,e){return function(){return t.apply(e,arguments)}}const{toString:As}=Object.prototype,{getPrototypeOf:Nu}=Object,Sn=(t=>e=>{const n=As.call(e);return t[n]||(t[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),gt=t=>(t=t.toLowerCase(),e=>Sn(e)===t),Dn=t=>e=>typeof e===t,{isArray:Ee}=Array,Le=Dn("undefined");function ws(t){return t!==null&&!Le(t)&&t.constructor!==null&&!Le(t.constructor)&&rt(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}const fo=gt("ArrayBuffer");function Bs(t){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(t):e=t&&t.buffer&&fo(t.buffer),e}const xs=Dn("string"),rt=Dn("function"),go=Dn("number"),Fn=t=>t!==null&&typeof t=="object",_s=t=>t===!0||t===!1,nn=t=>{if(Sn(t)!=="object")return!1;const e=Nu(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in t)&&!(Symbol.iterator in t)},Ss=gt("Date"),Ds=gt("File"),Fs=gt("Blob"),Ps=gt("FileList"),Ns=t=>Fn(t)&&rt(t.pipe),Os=t=>{let e;return t&&(typeof FormData=="function"&&t instanceof FormData||rt(t.append)&&((e=Sn(t))==="formdata"||e==="object"&&rt(t.toString)&&t.toString()==="[object FormData]"))},Rs=gt("URLSearchParams"),[Ts,zs,Ls,$s]=["ReadableStream","Request","Response","Headers"].map(gt),Is=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function je(t,e,{allOwnKeys:n=!1}={}){if(t===null||typeof t>"u")return;let u,o;if(typeof t!="object"&&(t=[t]),Ee(t))for(u=0,o=t.length;u0;)if(o=n[u],e===o.toLowerCase())return o;return null}const Zt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:Qt,Co=t=>!Le(t)&&t!==Zt;function ou(){const{caseless:t}=Co(this)&&this||{},e={},n=(u,o)=>{const a=t&&mo(e,o)||o;nn(e[a])&&nn(u)?e[a]=ou(e[a],u):nn(u)?e[a]=ou({},u):Ee(u)?e[a]=u.slice():e[a]=u};for(let u=0,o=arguments.length;u(je(e,(o,a)=>{n&&rt(o)?t[a]=ho(o,n):t[a]=o},{allOwnKeys:u}),t),Us=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),js=(t,e,n,u)=>{t.prototype=Object.create(e.prototype,u),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),n&&Object.assign(t.prototype,n)},Gs=(t,e,n,u)=>{let o,a,r;const c={};if(e=e||{},t==null)return e;do{for(o=Object.getOwnPropertyNames(t),a=o.length;a-- >0;)r=o[a],(!u||u(r,t,e))&&!c[r]&&(e[r]=t[r],c[r]=!0);t=n!==!1&&Nu(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},Vs=(t,e,n)=>{t=String(t),(n===void 0||n>t.length)&&(n=t.length),n-=e.length;const u=t.indexOf(e,n);return u!==-1&&u===n},Hs=t=>{if(!t)return null;if(Ee(t))return t;let e=t.length;if(!go(e))return null;const n=new Array(e);for(;e-- >0;)n[e]=t[e];return n},Ws=(t=>e=>t&&e instanceof t)(typeof Uint8Array<"u"&&Nu(Uint8Array)),Ks=(t,e)=>{const n=(t&&t[Symbol.iterator]).call(t);let u;for(;(u=n.next())&&!u.done;){const o=u.value;e.call(t,o[0],o[1])}},qs=(t,e)=>{let n;const u=[];for(;(n=t.exec(e))!==null;)u.push(n);return u},Zs=gt("HTMLFormElement"),Ys=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(e,n,u){return n.toUpperCase()+u}),li=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype),Js=gt("RegExp"),yo=(t,e)=>{const n=Object.getOwnPropertyDescriptors(t),u={};je(n,(o,a)=>{let r;(r=e(o,a,t))!==!1&&(u[a]=r||o)}),Object.defineProperties(t,u)},Xs=t=>{yo(t,(e,n)=>{if(rt(t)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const u=t[n];if(rt(u)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},Qs=(t,e)=>{const n={},u=o=>{o.forEach(a=>{n[a]=!0})};return Ee(t)?u(t):u(String(t).split(e)),n},tr=()=>{},er=(t,e)=>t!=null&&Number.isFinite(t=+t)?t:e;function nr(t){return!!(t&&rt(t.append)&&t[Symbol.toStringTag]==="FormData"&&t[Symbol.iterator])}const ur=t=>{const e=new Array(10),n=(u,o)=>{if(Fn(u)){if(e.indexOf(u)>=0)return;if(!("toJSON"in u)){e[o]=u;const a=Ee(u)?[]:{};return je(u,(r,c)=>{const d=n(r,o+1);!Le(d)&&(a[c]=d)}),e[o]=void 0,a}}return u};return n(t,0)},ir=gt("AsyncFunction"),or=t=>t&&(Fn(t)||rt(t))&&rt(t.then)&&rt(t.catch),Eo=((t,e)=>t?setImmediate:e?((n,u)=>(Zt.addEventListener("message",({source:o,data:a})=>{o===Zt&&a===n&&u.length&&u.shift()()},!1),o=>{u.push(o),Zt.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",rt(Zt.postMessage)),ar=typeof queueMicrotask<"u"?queueMicrotask.bind(Zt):typeof oi<"u"&&oi.nextTick||Eo,C={isArray:Ee,isArrayBuffer:fo,isBuffer:ws,isFormData:Os,isArrayBufferView:Bs,isString:xs,isNumber:go,isBoolean:_s,isObject:Fn,isPlainObject:nn,isReadableStream:Ts,isRequest:zs,isResponse:Ls,isHeaders:$s,isUndefined:Le,isDate:Ss,isFile:Ds,isBlob:Fs,isRegExp:Js,isFunction:rt,isStream:Ns,isURLSearchParams:Rs,isTypedArray:Ws,isFileList:Ps,forEach:je,merge:ou,extend:Ms,trim:Is,stripBOM:Us,inherits:js,toFlatObject:Gs,kindOf:Sn,kindOfTest:gt,endsWith:Vs,toArray:Hs,forEachEntry:Ks,matchAll:qs,isHTMLForm:Zs,hasOwnProperty:li,hasOwnProp:li,reduceDescriptors:yo,freezeMethods:Xs,toObjectSet:Qs,toCamelCase:Ys,noop:tr,toFiniteNumber:er,findKey:mo,global:Zt,isContextDefined:Co,isSpecCompliantForm:nr,toJSONObject:ur,isAsyncFn:ir,isThenable:or,setImmediate:Eo,asap:ar};var ko={},un={};un.byteLength=lr,un.toByteArray=cr,un.fromByteArray=hr;for(var yt=[],lt=[],sr=typeof Uint8Array<"u"?Uint8Array:Array,Kn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",re=0,rr=Kn.length;re0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");n===-1&&(n=e);var u=n===e?0:4-n%4;return[n,u]}function lr(t){var e=bo(t),n=e[0],u=e[1];return(n+u)*3/4-u}function vr(t,e,n){return(e+n)*3/4-n}function cr(t){var e,n=bo(t),u=n[0],o=n[1],a=new sr(vr(t,u,o)),r=0,c=o>0?u-4:u,d;for(d=0;d>16&255,a[r++]=e>>8&255,a[r++]=e&255;return o===2&&(e=lt[t.charCodeAt(d)]<<2|lt[t.charCodeAt(d+1)]>>4,a[r++]=e&255),o===1&&(e=lt[t.charCodeAt(d)]<<10|lt[t.charCodeAt(d+1)]<<4|lt[t.charCodeAt(d+2)]>>2,a[r++]=e>>8&255,a[r++]=e&255),a}function dr(t){return yt[t>>18&63]+yt[t>>12&63]+yt[t>>6&63]+yt[t&63]}function pr(t,e,n){for(var u,o=[],a=e;ac?c:r+a));return u===1?(e=t[n-1],o.push(yt[e>>2]+yt[e<<4&63]+"==")):u===2&&(e=(t[n-2]<<8)+t[n-1],o.push(yt[e>>10]+yt[e>>4&63]+yt[e<<2&63]+"=")),o.join("")}var au={};au.read=function(t,e,n,u,o){var a,r,c=o*8-u-1,d=(1<>1,v=-7,f=n?o-1:0,y=n?-1:1,g=t[e+f];for(f+=y,a=g&(1<<-v)-1,g>>=-v,v+=c;v>0;a=a*256+t[e+f],f+=y,v-=8);for(r=a&(1<<-v)-1,a>>=-v,v+=u;v>0;r=r*256+t[e+f],f+=y,v-=8);if(a===0)a=1-p;else{if(a===d)return r?NaN:(g?-1:1)*(1/0);r=r+Math.pow(2,u),a=a-p}return(g?-1:1)*r*Math.pow(2,a-u)},au.write=function(t,e,n,u,o,a){var r,c,d,p=a*8-o-1,v=(1<>1,y=o===23?Math.pow(2,-24)-Math.pow(2,-77):0,g=u?0:a-1,w=u?1:-1,k=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(c=isNaN(e)?1:0,r=v):(r=Math.floor(Math.log(e)/Math.LN2),e*(d=Math.pow(2,-r))<1&&(r--,d*=2),r+f>=1?e+=y/d:e+=y*Math.pow(2,1-f),e*d>=2&&(r++,d/=2),r+f>=v?(c=0,r=v):r+f>=1?(c=(e*d-1)*Math.pow(2,o),r=r+f):(c=e*Math.pow(2,f-1)*Math.pow(2,o),r=0));o>=8;t[n+g]=c&255,g+=w,c/=256,o-=8);for(r=r<0;t[n+g]=r&255,g+=w,r/=256,p-=8);t[n+g-w]|=k*128};(function(t){const e=un,n=au,u=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=v,t.SlowBuffer=$,t.INSPECT_MAX_BYTES=50;const o=2147483647;t.kMaxLength=o;const{Uint8Array:a,ArrayBuffer:r,SharedArrayBuffer:c}=globalThis;v.TYPED_ARRAY_SUPPORT=d(),!v.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function d(){try{const i=new a(1),s={foo:function(){return 42}};return Object.setPrototypeOf(s,a.prototype),Object.setPrototypeOf(i,s),i.foo()===42}catch{return!1}}Object.defineProperty(v.prototype,"parent",{enumerable:!0,get:function(){if(v.isBuffer(this))return this.buffer}}),Object.defineProperty(v.prototype,"offset",{enumerable:!0,get:function(){if(v.isBuffer(this))return this.byteOffset}});function p(i){if(i>o)throw new RangeError('The value "'+i+'" is invalid for option "size"');const s=new a(i);return Object.setPrototypeOf(s,v.prototype),s}function v(i,s,l){if(typeof i=="number"){if(typeof s=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return w(i)}return f(i,s,l)}v.poolSize=8192;function f(i,s,l){if(typeof i=="string")return k(i,s);if(r.isView(i))return D(i);if(i==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof i);if(mt(i,r)||i&&mt(i.buffer,r)||typeof c<"u"&&(mt(i,c)||i&&mt(i.buffer,c)))return _(i,s,l);if(typeof i=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const h=i.valueOf&&i.valueOf();if(h!=null&&h!==i)return v.from(h,s,l);const m=S(i);if(m)return m;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof i[Symbol.toPrimitive]=="function")return v.from(i[Symbol.toPrimitive]("string"),s,l);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof i)}v.from=function(i,s,l){return f(i,s,l)},Object.setPrototypeOf(v.prototype,a.prototype),Object.setPrototypeOf(v,a);function y(i){if(typeof i!="number")throw new TypeError('"size" argument must be of type number');if(i<0)throw new RangeError('The value "'+i+'" is invalid for option "size"')}function g(i,s,l){return y(i),i<=0?p(i):s!==void 0?typeof l=="string"?p(i).fill(s,l):p(i).fill(s):p(i)}v.alloc=function(i,s,l){return g(i,s,l)};function w(i){return y(i),p(i<0?0:N(i)|0)}v.allocUnsafe=function(i){return w(i)},v.allocUnsafeSlow=function(i){return w(i)};function k(i,s){if((typeof s!="string"||s==="")&&(s="utf8"),!v.isEncoding(s))throw new TypeError("Unknown encoding: "+s);const l=M(i,s)|0;let h=p(l);const m=h.write(i,s);return m!==l&&(h=h.slice(0,m)),h}function x(i){const s=i.length<0?0:N(i.length)|0,l=p(s);for(let h=0;h=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return i|0}function $(i){return+i!=i&&(i=0),v.alloc(+i)}v.isBuffer=function(i){return i!=null&&i._isBuffer===!0&&i!==v.prototype},v.compare=function(i,s){if(mt(i,a)&&(i=v.from(i,i.offset,i.byteLength)),mt(s,a)&&(s=v.from(s,s.offset,s.byteLength)),!v.isBuffer(i)||!v.isBuffer(s))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(i===s)return 0;let l=i.length,h=s.length;for(let m=0,E=Math.min(l,h);mh.length?(v.isBuffer(E)||(E=v.from(E)),E.copy(h,m)):a.prototype.set.call(h,E,m);else if(v.isBuffer(E))E.copy(h,m);else throw new TypeError('"list" argument must be an Array of Buffers');m+=E.length}return h};function M(i,s){if(v.isBuffer(i))return i.length;if(r.isView(i)||mt(i,r))return i.byteLength;if(typeof i!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof i);const l=i.length,h=arguments.length>2&&arguments[2]===!0;if(!h&&l===0)return 0;let m=!1;for(;;)switch(s){case"ascii":case"latin1":case"binary":return l;case"utf8":case"utf-8":return Hn(i).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return l*2;case"hex":return l>>>1;case"base64":return ii(i).length;default:if(m)return h?-1:Hn(i).length;s=(""+s).toLowerCase(),m=!0}}v.byteLength=M;function Y(i,s,l){let h=!1;if((s===void 0||s<0)&&(s=0),s>this.length||((l===void 0||l>this.length)&&(l=this.length),l<=0)||(l>>>=0,s>>>=0,l<=s))return"";for(i||(i="utf8");;)switch(i){case"hex":return Gn(this,s,l);case"utf8":case"utf-8":return tt(this,s,l);case"ascii":return Vt(this,s,l);case"latin1":case"binary":return ct(this,s,l);case"base64":return Z(this,s,l);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return We(this,s,l);default:if(h)throw new TypeError("Unknown encoding: "+i);i=(i+"").toLowerCase(),h=!0}}v.prototype._isBuffer=!0;function P(i,s,l){const h=i[s];i[s]=i[l],i[l]=h}v.prototype.swap16=function(){const i=this.length;if(i%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let s=0;ss&&(i+=" ... "),""},u&&(v.prototype[u]=v.prototype.inspect),v.prototype.compare=function(i,s,l,h,m){if(mt(i,a)&&(i=v.from(i,i.offset,i.byteLength)),!v.isBuffer(i))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof i);if(s===void 0&&(s=0),l===void 0&&(l=i?i.length:0),h===void 0&&(h=0),m===void 0&&(m=this.length),s<0||l>i.length||h<0||m>this.length)throw new RangeError("out of range index");if(h>=m&&s>=l)return 0;if(h>=m)return-1;if(s>=l)return 1;if(s>>>=0,l>>>=0,h>>>=0,m>>>=0,this===i)return 0;let E=m-h,B=l-s;const G=Math.min(E,B),et=this.slice(h,m),V=i.slice(s,l);for(let U=0;U2147483647?l=2147483647:l<-2147483648&&(l=-2147483648),l=+l,Wn(l)&&(l=m?0:i.length-1),l<0&&(l=i.length+l),l>=i.length){if(m)return-1;l=i.length-1}else if(l<0)if(m)l=0;else return-1;if(typeof s=="string"&&(s=v.from(s,h)),v.isBuffer(s))return s.length===0?-1:b(i,s,l,h,m);if(typeof s=="number")return s=s&255,typeof a.prototype.indexOf=="function"?m?a.prototype.indexOf.call(i,s,l):a.prototype.lastIndexOf.call(i,s,l):b(i,[s],l,h,m);throw new TypeError("val must be string, number or Buffer")}function b(i,s,l,h,m){let E=1,B=i.length,G=s.length;if(h!==void 0&&(h=String(h).toLowerCase(),h==="ucs2"||h==="ucs-2"||h==="utf16le"||h==="utf-16le")){if(i.length<2||s.length<2)return-1;E=2,B/=2,G/=2,l/=2}function et(U,J){return E===1?U[J]:U.readUInt16BE(J*E)}let V;if(m){let U=-1;for(V=l;VB&&(l=B-G),V=l;V>=0;V--){let U=!0;for(let J=0;Jm&&(h=m)):h=m;const E=s.length;h>E/2&&(h=E/2);let B;for(B=0;B>>0,isFinite(l)?(l=l>>>0,h===void 0&&(h="utf8")):(h=l,l=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const m=this.length-s;if((l===void 0||l>m)&&(l=m),i.length>0&&(l<0||s<0)||s>this.length)throw new RangeError("Attempt to write outside buffer bounds");h||(h="utf8");let E=!1;for(;;)switch(h){case"hex":return A(this,i,s,l);case"utf8":case"utf-8":return F(this,i,s,l);case"ascii":case"latin1":case"binary":return R(this,i,s,l);case"base64":return T(this,i,s,l);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return H(this,i,s,l);default:if(E)throw new TypeError("Unknown encoding: "+h);h=(""+h).toLowerCase(),E=!0}},v.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Z(i,s,l){return s===0&&l===i.length?e.fromByteArray(i):e.fromByteArray(i.slice(s,l))}function tt(i,s,l){l=Math.min(i.length,l);const h=[];let m=s;for(;m239?4:E>223?3:E>191?2:1;if(m+G<=l){let et,V,U,J;switch(G){case 1:E<128&&(B=E);break;case 2:et=i[m+1],(et&192)===128&&(J=(E&31)<<6|et&63,J>127&&(B=J));break;case 3:et=i[m+1],V=i[m+2],(et&192)===128&&(V&192)===128&&(J=(E&15)<<12|(et&63)<<6|V&63,J>2047&&(J<55296||J>57343)&&(B=J));break;case 4:et=i[m+1],V=i[m+2],U=i[m+3],(et&192)===128&&(V&192)===128&&(U&192)===128&&(J=(E&15)<<18|(et&63)<<12|(V&63)<<6|U&63,J>65535&&J<1114112&&(B=J))}}B===null?(B=65533,G=1):B>65535&&(B-=65536,h.push(B>>>10&1023|55296),B=56320|B&1023),h.push(B),m+=G}return Ft(h)}const K=4096;function Ft(i){const s=i.length;if(s<=K)return String.fromCharCode.apply(String,i);let l="",h=0;for(;hh)&&(l=h);let m="";for(let E=s;El&&(i=l),s<0?(s+=l,s<0&&(s=0)):s>l&&(s=l),sl)throw new RangeError("Trying to access beyond buffer length")}v.prototype.readUintLE=v.prototype.readUIntLE=function(i,s,l){i=i>>>0,s=s>>>0,l||q(i,s,this.length);let h=this[i],m=1,E=0;for(;++E>>0,s=s>>>0,l||q(i,s,this.length);let h=this[i+--s],m=1;for(;s>0&&(m*=256);)h+=this[i+--s]*m;return h},v.prototype.readUint8=v.prototype.readUInt8=function(i,s){return i=i>>>0,s||q(i,1,this.length),this[i]},v.prototype.readUint16LE=v.prototype.readUInt16LE=function(i,s){return i=i>>>0,s||q(i,2,this.length),this[i]|this[i+1]<<8},v.prototype.readUint16BE=v.prototype.readUInt16BE=function(i,s){return i=i>>>0,s||q(i,2,this.length),this[i]<<8|this[i+1]},v.prototype.readUint32LE=v.prototype.readUInt32LE=function(i,s){return i=i>>>0,s||q(i,4,this.length),(this[i]|this[i+1]<<8|this[i+2]<<16)+this[i+3]*16777216},v.prototype.readUint32BE=v.prototype.readUInt32BE=function(i,s){return i=i>>>0,s||q(i,4,this.length),this[i]*16777216+(this[i+1]<<16|this[i+2]<<8|this[i+3])},v.prototype.readBigUInt64LE=Pt(function(i){i=i>>>0,se(i,"offset");const s=this[i],l=this[i+7];(s===void 0||l===void 0)&&we(i,this.length-8);const h=s+this[++i]*2**8+this[++i]*2**16+this[++i]*2**24,m=this[++i]+this[++i]*2**8+this[++i]*2**16+l*2**24;return BigInt(h)+(BigInt(m)<>>0,se(i,"offset");const s=this[i],l=this[i+7];(s===void 0||l===void 0)&&we(i,this.length-8);const h=s*2**24+this[++i]*2**16+this[++i]*2**8+this[++i],m=this[++i]*2**24+this[++i]*2**16+this[++i]*2**8+l;return(BigInt(h)<>>0,s=s>>>0,l||q(i,s,this.length);let h=this[i],m=1,E=0;for(;++E=m&&(h-=Math.pow(2,8*s)),h},v.prototype.readIntBE=function(i,s,l){i=i>>>0,s=s>>>0,l||q(i,s,this.length);let h=s,m=1,E=this[i+--h];for(;h>0&&(m*=256);)E+=this[i+--h]*m;return m*=128,E>=m&&(E-=Math.pow(2,8*s)),E},v.prototype.readInt8=function(i,s){return i=i>>>0,s||q(i,1,this.length),this[i]&128?(255-this[i]+1)*-1:this[i]},v.prototype.readInt16LE=function(i,s){i=i>>>0,s||q(i,2,this.length);const l=this[i]|this[i+1]<<8;return l&32768?l|4294901760:l},v.prototype.readInt16BE=function(i,s){i=i>>>0,s||q(i,2,this.length);const l=this[i+1]|this[i]<<8;return l&32768?l|4294901760:l},v.prototype.readInt32LE=function(i,s){return i=i>>>0,s||q(i,4,this.length),this[i]|this[i+1]<<8|this[i+2]<<16|this[i+3]<<24},v.prototype.readInt32BE=function(i,s){return i=i>>>0,s||q(i,4,this.length),this[i]<<24|this[i+1]<<16|this[i+2]<<8|this[i+3]},v.prototype.readBigInt64LE=Pt(function(i){i=i>>>0,se(i,"offset");const s=this[i],l=this[i+7];(s===void 0||l===void 0)&&we(i,this.length-8);const h=this[i+4]+this[i+5]*2**8+this[i+6]*2**16+(l<<24);return(BigInt(h)<>>0,se(i,"offset");const s=this[i],l=this[i+7];(s===void 0||l===void 0)&&we(i,this.length-8);const h=(s<<24)+this[++i]*2**16+this[++i]*2**8+this[++i];return(BigInt(h)<>>0,s||q(i,4,this.length),n.read(this,i,!0,23,4)},v.prototype.readFloatBE=function(i,s){return i=i>>>0,s||q(i,4,this.length),n.read(this,i,!1,23,4)},v.prototype.readDoubleLE=function(i,s){return i=i>>>0,s||q(i,8,this.length),n.read(this,i,!0,52,8)},v.prototype.readDoubleBE=function(i,s){return i=i>>>0,s||q(i,8,this.length),n.read(this,i,!1,52,8)};function Q(i,s,l,h,m,E){if(!v.isBuffer(i))throw new TypeError('"buffer" argument must be a Buffer instance');if(s>m||si.length)throw new RangeError("Index out of range")}v.prototype.writeUintLE=v.prototype.writeUIntLE=function(i,s,l,h){if(i=+i,s=s>>>0,l=l>>>0,!h){const B=Math.pow(2,8*l)-1;Q(this,i,s,l,B,0)}let m=1,E=0;for(this[s]=i&255;++E>>0,l=l>>>0,!h){const B=Math.pow(2,8*l)-1;Q(this,i,s,l,B,0)}let m=l-1,E=1;for(this[s+m]=i&255;--m>=0&&(E*=256);)this[s+m]=i/E&255;return s+l},v.prototype.writeUint8=v.prototype.writeUInt8=function(i,s,l){return i=+i,s=s>>>0,l||Q(this,i,s,1,255,0),this[s]=i&255,s+1},v.prototype.writeUint16LE=v.prototype.writeUInt16LE=function(i,s,l){return i=+i,s=s>>>0,l||Q(this,i,s,2,65535,0),this[s]=i&255,this[s+1]=i>>>8,s+2},v.prototype.writeUint16BE=v.prototype.writeUInt16BE=function(i,s,l){return i=+i,s=s>>>0,l||Q(this,i,s,2,65535,0),this[s]=i>>>8,this[s+1]=i&255,s+2},v.prototype.writeUint32LE=v.prototype.writeUInt32LE=function(i,s,l){return i=+i,s=s>>>0,l||Q(this,i,s,4,4294967295,0),this[s+3]=i>>>24,this[s+2]=i>>>16,this[s+1]=i>>>8,this[s]=i&255,s+4},v.prototype.writeUint32BE=v.prototype.writeUInt32BE=function(i,s,l){return i=+i,s=s>>>0,l||Q(this,i,s,4,4294967295,0),this[s]=i>>>24,this[s+1]=i>>>16,this[s+2]=i>>>8,this[s+3]=i&255,s+4};function Ju(i,s,l,h,m){ui(s,h,m,i,l,7);let E=Number(s&BigInt(4294967295));i[l++]=E,E=E>>8,i[l++]=E,E=E>>8,i[l++]=E,E=E>>8,i[l++]=E;let B=Number(s>>BigInt(32)&BigInt(4294967295));return i[l++]=B,B=B>>8,i[l++]=B,B=B>>8,i[l++]=B,B=B>>8,i[l++]=B,l}function Xu(i,s,l,h,m){ui(s,h,m,i,l,7);let E=Number(s&BigInt(4294967295));i[l+7]=E,E=E>>8,i[l+6]=E,E=E>>8,i[l+5]=E,E=E>>8,i[l+4]=E;let B=Number(s>>BigInt(32)&BigInt(4294967295));return i[l+3]=B,B=B>>8,i[l+2]=B,B=B>>8,i[l+1]=B,B=B>>8,i[l]=B,l+8}v.prototype.writeBigUInt64LE=Pt(function(i,s=0){return Ju(this,i,s,BigInt(0),BigInt("0xffffffffffffffff"))}),v.prototype.writeBigUInt64BE=Pt(function(i,s=0){return Xu(this,i,s,BigInt(0),BigInt("0xffffffffffffffff"))}),v.prototype.writeIntLE=function(i,s,l,h){if(i=+i,s=s>>>0,!h){const G=Math.pow(2,8*l-1);Q(this,i,s,l,G-1,-G)}let m=0,E=1,B=0;for(this[s]=i&255;++m>0)-B&255;return s+l},v.prototype.writeIntBE=function(i,s,l,h){if(i=+i,s=s>>>0,!h){const G=Math.pow(2,8*l-1);Q(this,i,s,l,G-1,-G)}let m=l-1,E=1,B=0;for(this[s+m]=i&255;--m>=0&&(E*=256);)i<0&&B===0&&this[s+m+1]!==0&&(B=1),this[s+m]=(i/E>>0)-B&255;return s+l},v.prototype.writeInt8=function(i,s,l){return i=+i,s=s>>>0,l||Q(this,i,s,1,127,-128),i<0&&(i=255+i+1),this[s]=i&255,s+1},v.prototype.writeInt16LE=function(i,s,l){return i=+i,s=s>>>0,l||Q(this,i,s,2,32767,-32768),this[s]=i&255,this[s+1]=i>>>8,s+2},v.prototype.writeInt16BE=function(i,s,l){return i=+i,s=s>>>0,l||Q(this,i,s,2,32767,-32768),this[s]=i>>>8,this[s+1]=i&255,s+2},v.prototype.writeInt32LE=function(i,s,l){return i=+i,s=s>>>0,l||Q(this,i,s,4,2147483647,-2147483648),this[s]=i&255,this[s+1]=i>>>8,this[s+2]=i>>>16,this[s+3]=i>>>24,s+4},v.prototype.writeInt32BE=function(i,s,l){return i=+i,s=s>>>0,l||Q(this,i,s,4,2147483647,-2147483648),i<0&&(i=4294967295+i+1),this[s]=i>>>24,this[s+1]=i>>>16,this[s+2]=i>>>8,this[s+3]=i&255,s+4},v.prototype.writeBigInt64LE=Pt(function(i,s=0){return Ju(this,i,s,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),v.prototype.writeBigInt64BE=Pt(function(i,s=0){return Xu(this,i,s,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Qu(i,s,l,h,m,E){if(l+h>i.length)throw new RangeError("Index out of range");if(l<0)throw new RangeError("Index out of range")}function ti(i,s,l,h,m){return s=+s,l=l>>>0,m||Qu(i,s,l,4),n.write(i,s,l,h,23,4),l+4}v.prototype.writeFloatLE=function(i,s,l){return ti(this,i,s,!0,l)},v.prototype.writeFloatBE=function(i,s,l){return ti(this,i,s,!1,l)};function ei(i,s,l,h,m){return s=+s,l=l>>>0,m||Qu(i,s,l,8),n.write(i,s,l,h,52,8),l+8}v.prototype.writeDoubleLE=function(i,s,l){return ei(this,i,s,!0,l)},v.prototype.writeDoubleBE=function(i,s,l){return ei(this,i,s,!1,l)},v.prototype.copy=function(i,s,l,h){if(!v.isBuffer(i))throw new TypeError("argument should be a Buffer");if(l||(l=0),!h&&h!==0&&(h=this.length),s>=i.length&&(s=i.length),s||(s=0),h>0&&h=this.length)throw new RangeError("Index out of range");if(h<0)throw new RangeError("sourceEnd out of bounds");h>this.length&&(h=this.length),i.length-s>>0,l=l===void 0?this.length:l>>>0,i||(i=0);let m;if(typeof i=="number")for(m=s;m2**32?m=ni(String(l)):typeof l=="bigint"&&(m=String(l),(l>BigInt(2)**BigInt(32)||l<-(BigInt(2)**BigInt(32)))&&(m=ni(m)),m+="n"),h+=` It must be ${s}. Received ${m}`,h},RangeError);function ni(i){let s="",l=i.length;const h=i[0]==="-"?1:0;for(;l>=h+4;l-=3)s=`_${i.slice(l-3,l)}${s}`;return`${i.slice(0,l)}${s}`}function Ia(i,s,l){se(s,"offset"),(i[s]===void 0||i[s+l]===void 0)&&we(s,i.length-(l+1))}function ui(i,s,l,h,m,E){if(i>l||i= 0${B} and < 2${B} ** ${(E+1)*8}${B}`:G=`>= -(2${B} ** ${(E+1)*8-1}${B}) and < 2 ** ${(E+1)*8-1}${B}`,new ae.ERR_OUT_OF_RANGE("value",G,i)}Ia(h,m,E)}function se(i,s){if(typeof i!="number")throw new ae.ERR_INVALID_ARG_TYPE(s,"number",i)}function we(i,s,l){throw Math.floor(i)!==i?(se(i,l),new ae.ERR_OUT_OF_RANGE("offset","an integer",i)):s<0?new ae.ERR_BUFFER_OUT_OF_BOUNDS:new ae.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${s}`,i)}const Ma=/[^+/0-9A-Za-z-_]/g;function Ua(i){if(i=i.split("=")[0],i=i.trim().replace(Ma,""),i.length<2)return"";for(;i.length%4!==0;)i=i+"=";return i}function Hn(i,s){s=s||1/0;let l;const h=i.length;let m=null;const E=[];for(let B=0;B55295&&l<57344){if(!m){if(l>56319){(s-=3)>-1&&E.push(239,191,189);continue}else if(B+1===h){(s-=3)>-1&&E.push(239,191,189);continue}m=l;continue}if(l<56320){(s-=3)>-1&&E.push(239,191,189),m=l;continue}l=(m-55296<<10|l-56320)+65536}else m&&(s-=3)>-1&&E.push(239,191,189);if(m=null,l<128){if((s-=1)<0)break;E.push(l)}else if(l<2048){if((s-=2)<0)break;E.push(l>>6|192,l&63|128)}else if(l<65536){if((s-=3)<0)break;E.push(l>>12|224,l>>6&63|128,l&63|128)}else if(l<1114112){if((s-=4)<0)break;E.push(l>>18|240,l>>12&63|128,l>>6&63|128,l&63|128)}else throw new Error("Invalid code point")}return E}function ja(i){const s=[];for(let l=0;l>8,m=l%256,E.push(m),E.push(h);return E}function ii(i){return e.toByteArray(Ua(i))}function Ke(i,s,l,h){let m;for(m=0;m=s.length||m>=i.length);++m)s[m+l]=i[m];return m}function mt(i,s){return i instanceof s||i!=null&&i.constructor!=null&&i.constructor.name!=null&&i.constructor.name===s.name}function Wn(i){return i!==i}const Va=function(){const i="0123456789abcdef",s=new Array(256);for(let l=0;l<16;++l){const h=l*16;for(let m=0;m<16;++m)s[h+m]=i[l]+i[m]}return s}();function Pt(i){return typeof BigInt>"u"?Ha:i}function Ha(){throw new Error("BigInt not supported")}})(ko);const fr=ko.Buffer;function O(t,e,n,u,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=t,this.name="AxiosError",e&&(this.code=e),n&&(this.config=n),u&&(this.request=u),o&&(this.response=o,this.status=o.status?o.status:null)}C.inherits(O,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:C.toJSONObject(this.config),code:this.code,status:this.status}}});const vi=O.prototype,ci={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(t=>{ci[t]={value:t}}),Object.defineProperties(O,ci),Object.defineProperty(vi,"isAxiosError",{value:!0}),O.from=(t,e,n,u,o,a)=>{const r=Object.create(vi);return C.toFlatObject(t,r,function(c){return c!==Error.prototype},c=>c!=="isAxiosError"),O.call(r,t.message,e,n,u,o),r.cause=t,r.name=t.name,a&&Object.assign(r,a),r};const gr=null;function su(t){return C.isPlainObject(t)||C.isArray(t)}function Ao(t){return C.endsWith(t,"[]")?t.slice(0,-2):t}function di(t,e,n){return t?t.concat(e).map(function(u,o){return u=Ao(u),!n&&o?"["+u+"]":u}).join(n?".":""):e}function mr(t){return C.isArray(t)&&!t.some(su)}const Cr=C.toFlatObject(C,{},null,function(t){return/^is[A-Z]/.test(t)});function Pn(t,e,n){if(!C.isObject(t))throw new TypeError("target must be an object");e=e||new FormData,n=C.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(g,w){return!C.isUndefined(w[g])});const u=n.metaTokens,o=n.visitor||p,a=n.dots,r=n.indexes,c=(n.Blob||typeof Blob<"u"&&Blob)&&C.isSpecCompliantForm(e);if(!C.isFunction(o))throw new TypeError("visitor must be a function");function d(g){if(g===null)return"";if(C.isDate(g))return g.toISOString();if(!c&&C.isBlob(g))throw new O("Blob is not supported. Use a Buffer instead.");return C.isArrayBuffer(g)||C.isTypedArray(g)?c&&typeof Blob=="function"?new Blob([g]):fr.from(g):g}function p(g,w,k){let x=g;if(g&&!k&&typeof g=="object"){if(C.endsWith(w,"{}"))w=u?w:w.slice(0,-2),g=JSON.stringify(g);else if(C.isArray(g)&&mr(g)||(C.isFileList(g)||C.endsWith(w,"[]"))&&(x=C.toArray(g)))return w=Ao(w),x.forEach(function(D,_){!(C.isUndefined(D)||D===null)&&e.append(r===!0?di([w],_,a):r===null?w:w+"[]",d(D))}),!1}return su(g)?!0:(e.append(di(k,w,a),d(g)),!1)}const v=[],f=Object.assign(Cr,{defaultVisitor:p,convertValue:d,isVisitable:su});function y(g,w){if(!C.isUndefined(g)){if(v.indexOf(g)!==-1)throw Error("Circular reference detected in "+w.join("."));v.push(g),C.forEach(g,function(k,x){(!(C.isUndefined(k)||k===null)&&o.call(e,k,C.isString(x)?x.trim():x,w,f))===!0&&y(k,w?w.concat(x):[x])}),v.pop()}}if(!C.isObject(t))throw new TypeError("data must be an object");return y(t),e}function pi(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,function(n){return e[n]})}function Ou(t,e){this._pairs=[],t&&Pn(t,this,e)}const hi=Ou.prototype;hi.append=function(t,e){this._pairs.push([t,e])},hi.toString=function(t){const e=t?function(n){return t.call(this,n,pi)}:pi;return this._pairs.map(function(n){return e(n[0])+"="+e(n[1])},"").join("&")};function yr(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function wo(t,e,n){if(!e)return t;const u=n&&n.encode||yr;C.isFunction(n)&&(n={serialize:n});const o=n&&n.serialize;let a;if(o?a=o(e,n):a=C.isURLSearchParams(e)?e.toString():new Ou(e,n).toString(u),a){const r=t.indexOf("#");r!==-1&&(t=t.slice(0,r)),t+=(t.indexOf("?")===-1?"?":"&")+a}return t}class fi{constructor(){this.handlers=[]}use(e,n,u){return this.handlers.push({fulfilled:e,rejected:n,synchronous:u?u.synchronous:!1,runWhen:u?u.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){C.forEach(this.handlers,function(n){n!==null&&e(n)})}}const Bo={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Er=typeof URLSearchParams<"u"?URLSearchParams:Ou,kr=typeof FormData<"u"?FormData:null,br=typeof Blob<"u"?Blob:null,Ar={isBrowser:!0,classes:{URLSearchParams:Er,FormData:kr,Blob:br},protocols:["http","https","file","blob","url","data"]},Ru=typeof window<"u"&&typeof document<"u",ru=typeof navigator=="object"&&navigator||void 0,wr=Ru&&(!ru||["ReactNative","NativeScript","NS"].indexOf(ru.product)<0),Br=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",xr=Ru&&window.location.href||"http://localhost",_r=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Ru,hasStandardBrowserEnv:wr,hasStandardBrowserWebWorkerEnv:Br,navigator:ru,origin:xr},Symbol.toStringTag,{value:"Module"})),ut={..._r,...Ar};function Sr(t,e){return Pn(t,new ut.classes.URLSearchParams,Object.assign({visitor:function(n,u,o,a){return ut.isNode&&C.isBuffer(n)?(this.append(u,n.toString("base64")),!1):a.defaultVisitor.apply(this,arguments)}},e))}function Dr(t){return C.matchAll(/\w+|\[(\w*)]/g,t).map(e=>e[0]==="[]"?"":e[1]||e[0])}function Fr(t){const e={},n=Object.keys(t);let u;const o=n.length;let a;for(u=0;u=n.length;return r=!r&&C.isArray(o)?o.length:r,d?(C.hasOwnProp(o,r)?o[r]=[o[r],u]:o[r]=u,!c):((!o[r]||!C.isObject(o[r]))&&(o[r]=[]),e(n,u,o[r],a)&&C.isArray(o[r])&&(o[r]=Fr(o[r])),!c)}if(C.isFormData(t)&&C.isFunction(t.entries)){const n={};return C.forEachEntry(t,(u,o)=>{e(Dr(u),o,n,0)}),n}return null}function Pr(t,e,n){if(C.isString(t))try{return(e||JSON.parse)(t),C.trim(t)}catch(u){if(u.name!=="SyntaxError")throw u}return(n||JSON.stringify)(t)}const Ge={transitional:Bo,adapter:["xhr","http","fetch"],transformRequest:[function(t,e){const n=e.getContentType()||"",u=n.indexOf("application/json")>-1,o=C.isObject(t);if(o&&C.isHTMLForm(t)&&(t=new FormData(t)),C.isFormData(t))return u?JSON.stringify(xo(t)):t;if(C.isArrayBuffer(t)||C.isBuffer(t)||C.isStream(t)||C.isFile(t)||C.isBlob(t)||C.isReadableStream(t))return t;if(C.isArrayBufferView(t))return t.buffer;if(C.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let a;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return Sr(t,this.formSerializer).toString();if((a=C.isFileList(t))||n.indexOf("multipart/form-data")>-1){const r=this.env&&this.env.FormData;return Pn(a?{"files[]":t}:t,r&&new r,this.formSerializer)}}return o||u?(e.setContentType("application/json",!1),Pr(t)):t}],transformResponse:[function(t){const e=this.transitional||Ge.transitional,n=e&&e.forcedJSONParsing,u=this.responseType==="json";if(C.isResponse(t)||C.isReadableStream(t))return t;if(t&&C.isString(t)&&(n&&!this.responseType||u)){const o=!(e&&e.silentJSONParsing)&&u;try{return JSON.parse(t)}catch(a){if(o)throw a.name==="SyntaxError"?O.from(a,O.ERR_BAD_RESPONSE,this,null,this.response):a}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:ut.classes.FormData,Blob:ut.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};C.forEach(["delete","get","head","post","put","patch"],t=>{Ge.headers[t]={}});const Nr=C.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Or=t=>{const e={};let n,u,o;return t&&t.split(` `).forEach(function(a){o=a.indexOf(":"),n=a.substring(0,o).trim().toLowerCase(),u=a.substring(o+1).trim(),!(!n||e[n]&&Nr[n])&&(n==="set-cookie"?e[n]?e[n].push(u):e[n]=[u]:e[n]=e[n]?e[n]+", "+u:u)}),e},gi=Symbol("internals");function Be(t){return t&&String(t).trim().toLowerCase()}function on(t){return t===!1||t==null?t:C.isArray(t)?t.map(on):String(t)}function Rr(t){const e=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let u;for(;u=n.exec(t);)e[u[1]]=u[2];return e}const Tr=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function qn(t,e,n,u,o){if(C.isFunction(u))return u.call(this,e,n);if(o&&(e=n),!!C.isString(e)){if(C.isString(u))return e.indexOf(u)!==-1;if(C.isRegExp(u))return u.test(e)}}function zr(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,n,u)=>n.toUpperCase()+u)}function Lr(t,e){const n=C.toCamelCase(" "+e);["get","set","has"].forEach(u=>{Object.defineProperty(t,u+n,{value:function(o,a,r){return this[u].call(this,e,o,a,r)},configurable:!0})})}let at=class{constructor(t){t&&this.set(t)}set(t,e,n){const u=this;function o(r,c,d){const p=Be(c);if(!p)throw new Error("header name must be a non-empty string");const v=C.findKey(u,p);(!v||u[v]===void 0||d===!0||d===void 0&&u[v]!==!1)&&(u[v||c]=on(r))}const a=(r,c)=>C.forEach(r,(d,p)=>o(d,p,c));if(C.isPlainObject(t)||t instanceof this.constructor)a(t,e);else if(C.isString(t)&&(t=t.trim())&&!Tr(t))a(Or(t),e);else if(C.isHeaders(t))for(const[r,c]of t.entries())o(c,r,n);else t!=null&&o(e,t,n);return this}get(t,e){if(t=Be(t),t){const n=C.findKey(this,t);if(n){const u=this[n];if(!e)return u;if(e===!0)return Rr(u);if(C.isFunction(e))return e.call(this,u,n);if(C.isRegExp(e))return e.exec(u);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,e){if(t=Be(t),t){const n=C.findKey(this,t);return!!(n&&this[n]!==void 0&&(!e||qn(this,this[n],n,e)))}return!1}delete(t,e){const n=this;let u=!1;function o(a){if(a=Be(a),a){const r=C.findKey(n,a);r&&(!e||qn(n,n[r],r,e))&&(delete n[r],u=!0)}}return C.isArray(t)?t.forEach(o):o(t),u}clear(t){const e=Object.keys(this);let n=e.length,u=!1;for(;n--;){const o=e[n];(!t||qn(this,this[o],o,t,!0))&&(delete this[o],u=!0)}return u}normalize(t){const e=this,n={};return C.forEach(this,(u,o)=>{const a=C.findKey(n,o);if(a){e[a]=on(u),delete e[o];return}const r=t?zr(o):String(o).trim();r!==o&&delete e[o],e[r]=on(u),n[r]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const e=Object.create(null);return C.forEach(this,(n,u)=>{n!=null&&n!==!1&&(e[u]=t&&C.isArray(n)?n.join(", "):n)}),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,e])=>t+": "+e).join(` `)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...e){const n=new this(t);return e.forEach(u=>n.set(u)),n}static accessor(t){const e=(this[gi]=this[gi]={accessors:{}}).accessors,n=this.prototype;function u(o){const a=Be(o);e[a]||(Lr(n,o),e[a]=!0)}return C.isArray(t)?t.forEach(u):u(t),this}};at.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),C.reduceDescriptors(at.prototype,({value:t},e)=>{let n=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(u){this[n]=u}}}),C.freezeMethods(at);function Zn(t,e){const n=this||Ge,u=e||n,o=at.from(u.headers);let a=u.data;return C.forEach(t,function(r){a=r.call(n,a,o.normalize(),e?e.status:void 0)}),o.normalize(),a}function _o(t){return!!(t&&t.__CANCEL__)}function ke(t,e,n){O.call(this,t??"canceled",O.ERR_CANCELED,e,n),this.name="CanceledError"}C.inherits(ke,O,{__CANCEL__:!0});function So(t,e,n){const u=n.config.validateStatus;!n.status||!u||u(n.status)?t(n):e(new O("Request failed with status code "+n.status,[O.ERR_BAD_REQUEST,O.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function $r(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}function Ir(t,e){t=t||10;const n=new Array(t),u=new Array(t);let o=0,a=0,r;return e=e!==void 0?e:1e3,function(c){const d=Date.now(),p=u[a];r||(r=d),n[o]=c,u[o]=d;let v=a,f=0;for(;v!==o;)f+=n[v++],v=v%t;if(o=(o+1)%t,o===a&&(a=(a+1)%t),d-r{n=d,o=null,a&&(clearTimeout(a),a=null),t.apply(null,c)};return[(...c)=>{const d=Date.now(),p=d-n;p>=u?r(c,d):(o=c,a||(a=setTimeout(()=>{a=null,r(o)},u-p)))},()=>o&&r(o)]}const dn=(t,e,n=3)=>{let u=0;const o=Ir(50,250);return Mr(a=>{const r=a.loaded,c=a.lengthComputable?a.total:void 0,d=r-u,p=o(d),v=r<=c;u=r;const f={loaded:r,total:c,progress:c?r/c:void 0,bytes:d,rate:p||void 0,estimated:p&&c&&v?(c-r)/p:void 0,event:a,lengthComputable:c!=null,[e?"download":"upload"]:!0};t(f)},n)},mi=(t,e)=>{const n=t!=null;return[u=>e[0]({lengthComputable:n,total:t,loaded:u}),e[1]]},Ci=t=>(...e)=>C.asap(()=>t(...e)),Ur=ut.hasStandardBrowserEnv?((t,e)=>n=>(n=new URL(n,ut.origin),t.protocol===n.protocol&&t.host===n.host&&(e||t.port===n.port)))(new URL(ut.origin),ut.navigator&&/(msie|trident)/i.test(ut.navigator.userAgent)):()=>!0,jr=ut.hasStandardBrowserEnv?{write(t,e,n,u,o,a){const r=[t+"="+encodeURIComponent(e)];C.isNumber(n)&&r.push("expires="+new Date(n).toGMTString()),C.isString(u)&&r.push("path="+u),C.isString(o)&&r.push("domain="+o),a===!0&&r.push("secure"),document.cookie=r.join("; ")},read(t){const e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(t){this.write(t,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function Gr(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function Vr(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}function Do(t,e,n){let u=!Gr(e);return t&&u||n==!1?Vr(t,e):e}const yi=t=>t instanceof at?{...t}:t;function te(t,e){e=e||{};const n={};function u(p,v,f,y){return C.isPlainObject(p)&&C.isPlainObject(v)?C.merge.call({caseless:y},p,v):C.isPlainObject(v)?C.merge({},v):C.isArray(v)?v.slice():v}function o(p,v,f,y){if(C.isUndefined(v)){if(!C.isUndefined(p))return u(void 0,p,f,y)}else return u(p,v,f,y)}function a(p,v){if(!C.isUndefined(v))return u(void 0,v)}function r(p,v){if(C.isUndefined(v)){if(!C.isUndefined(p))return u(void 0,p)}else return u(void 0,v)}function c(p,v,f){if(f in e)return u(p,v);if(f in t)return u(void 0,p)}const d={url:a,method:a,data:a,baseURL:r,transformRequest:r,transformResponse:r,paramsSerializer:r,timeout:r,timeoutMessage:r,withCredentials:r,withXSRFToken:r,adapter:r,responseType:r,xsrfCookieName:r,xsrfHeaderName:r,onUploadProgress:r,onDownloadProgress:r,decompress:r,maxContentLength:r,maxBodyLength:r,beforeRedirect:r,transport:r,httpAgent:r,httpsAgent:r,cancelToken:r,socketPath:r,responseEncoding:r,validateStatus:c,headers:(p,v,f)=>o(yi(p),yi(v),f,!0)};return C.forEach(Object.keys(Object.assign({},t,e)),function(p){const v=d[p]||o,f=v(t[p],e[p],p);C.isUndefined(f)&&v!==c||(n[p]=f)}),n}const Fo=t=>{const e=te({},t);let{data:n,withXSRFToken:u,xsrfHeaderName:o,xsrfCookieName:a,headers:r,auth:c}=e;e.headers=r=at.from(r),e.url=wo(Do(e.baseURL,e.url,e.allowAbsoluteUrls),t.params,t.paramsSerializer),c&&r.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):"")));let d;if(C.isFormData(n)){if(ut.hasStandardBrowserEnv||ut.hasStandardBrowserWebWorkerEnv)r.setContentType(void 0);else if((d=r.getContentType())!==!1){const[p,...v]=d?d.split(";").map(f=>f.trim()).filter(Boolean):[];r.setContentType([p||"multipart/form-data",...v].join("; "))}}if(ut.hasStandardBrowserEnv&&(u&&C.isFunction(u)&&(u=u(e)),u||u!==!1&&Ur(e.url))){const p=o&&a&&jr.read(a);p&&r.set(o,p)}return e},Hr=typeof XMLHttpRequest<"u",Wr=Hr&&function(t){return new Promise(function(e,n){const u=Fo(t);let o=u.data;const a=at.from(u.headers).normalize();let{responseType:r,onUploadProgress:c,onDownloadProgress:d}=u,p,v,f,y,g;function w(){y&&y(),g&&g(),u.cancelToken&&u.cancelToken.unsubscribe(p),u.signal&&u.signal.removeEventListener("abort",p)}let k=new XMLHttpRequest;k.open(u.method.toUpperCase(),u.url,!0),k.timeout=u.timeout;function x(){if(!k)return;const _=at.from("getAllResponseHeaders"in k&&k.getAllResponseHeaders()),S={data:!r||r==="text"||r==="json"?k.responseText:k.response,status:k.status,statusText:k.statusText,headers:_,config:t,request:k};So(function(N){e(N),w()},function(N){n(N),w()},S),k=null}"onloadend"in k?k.onloadend=x:k.onreadystatechange=function(){!k||k.readyState!==4||k.status===0&&!(k.responseURL&&k.responseURL.indexOf("file:")===0)||setTimeout(x)},k.onabort=function(){k&&(n(new O("Request aborted",O.ECONNABORTED,t,k)),k=null)},k.onerror=function(){n(new O("Network Error",O.ERR_NETWORK,t,k)),k=null},k.ontimeout=function(){let _=u.timeout?"timeout of "+u.timeout+"ms exceeded":"timeout exceeded";const S=u.transitional||Bo;u.timeoutErrorMessage&&(_=u.timeoutErrorMessage),n(new O(_,S.clarifyTimeoutError?O.ETIMEDOUT:O.ECONNABORTED,t,k)),k=null},o===void 0&&a.setContentType(null),"setRequestHeader"in k&&C.forEach(a.toJSON(),function(_,S){k.setRequestHeader(S,_)}),C.isUndefined(u.withCredentials)||(k.withCredentials=!!u.withCredentials),r&&r!=="json"&&(k.responseType=u.responseType),d&&([f,g]=dn(d,!0),k.addEventListener("progress",f)),c&&k.upload&&([v,y]=dn(c),k.upload.addEventListener("progress",v),k.upload.addEventListener("loadend",y)),(u.cancelToken||u.signal)&&(p=_=>{k&&(n(!_||_.type?new ke(null,t,k):_),k.abort(),k=null)},u.cancelToken&&u.cancelToken.subscribe(p),u.signal&&(u.signal.aborted?p():u.signal.addEventListener("abort",p)));const D=$r(u.url);if(D&&ut.protocols.indexOf(D)===-1){n(new O("Unsupported protocol "+D+":",O.ERR_BAD_REQUEST,t));return}k.send(o||null)})},Kr=(t,e)=>{const{length:n}=t=t?t.filter(Boolean):[];if(e||n){let u=new AbortController,o;const a=function(p){if(!o){o=!0,c();const v=p instanceof Error?p:this.reason;u.abort(v instanceof O?v:new ke(v instanceof Error?v.message:v))}};let r=e&&setTimeout(()=>{r=null,a(new O(`timeout ${e} of ms exceeded`,O.ETIMEDOUT))},e);const c=()=>{t&&(r&&clearTimeout(r),r=null,t.forEach(p=>{p.unsubscribe?p.unsubscribe(a):p.removeEventListener("abort",a)}),t=null)};t.forEach(p=>p.addEventListener("abort",a));const{signal:d}=u;return d.unsubscribe=()=>C.asap(c),d}},qr=function*(t,e){let n=t.byteLength;if(n{const o=Zr(t,e);let a=0,r,c=d=>{r||(r=!0,u&&u(d))};return new ReadableStream({async pull(d){try{const{done:p,value:v}=await o.next();if(p){c(),d.close();return}let f=v.byteLength;if(n){let y=a+=f;n(y)}d.enqueue(new Uint8Array(v))}catch(p){throw c(p),p}},cancel(d){return c(d),o.return()}},{highWaterMark:2})},Nn=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",Po=Nn&&typeof ReadableStream=="function",Jr=Nn&&(typeof TextEncoder=="function"?(t=>e=>t.encode(e))(new TextEncoder):async t=>new Uint8Array(await new Response(t).arrayBuffer())),No=(t,...e)=>{try{return!!t(...e)}catch{return!1}},Xr=Po&&No(()=>{let t=!1;const e=new Request(ut.origin,{body:new ReadableStream,method:"POST",get duplex(){return t=!0,"half"}}).headers.has("Content-Type");return t&&!e}),ki=64*1024,lu=Po&&No(()=>C.isReadableStream(new Response("").body)),pn={stream:lu&&(t=>t.body)};Nn&&(t=>{["text","arrayBuffer","blob","formData","stream"].forEach(e=>{!pn[e]&&(pn[e]=C.isFunction(t[e])?n=>n[e]():(n,u)=>{throw new O(`Response type '${e}' is not supported`,O.ERR_NOT_SUPPORT,u)})})})(new Response);const Qr=async t=>{if(t==null)return 0;if(C.isBlob(t))return t.size;if(C.isSpecCompliantForm(t))return(await new Request(ut.origin,{method:"POST",body:t}).arrayBuffer()).byteLength;if(C.isArrayBufferView(t)||C.isArrayBuffer(t))return t.byteLength;if(C.isURLSearchParams(t)&&(t=t+""),C.isString(t))return(await Jr(t)).byteLength},tl=async(t,e)=>C.toFiniteNumber(t.getContentLength())??Qr(e),el=Nn&&(async t=>{let{url:e,method:n,data:u,signal:o,cancelToken:a,timeout:r,onDownloadProgress:c,onUploadProgress:d,responseType:p,headers:v,withCredentials:f="same-origin",fetchOptions:y}=Fo(t);p=p?(p+"").toLowerCase():"text";let g=Kr([o,a&&a.toAbortSignal()],r),w;const k=g&&g.unsubscribe&&(()=>{g.unsubscribe()});let x;try{if(d&&Xr&&n!=="get"&&n!=="head"&&(x=await tl(v,u))!==0){let $=new Request(e,{method:"POST",body:u,duplex:"half"}),M;if(C.isFormData(u)&&(M=$.headers.get("content-type"))&&v.setContentType(M),$.body){const[Y,P]=mi(x,dn(Ci(d)));u=Ei($.body,ki,Y,P)}}C.isString(f)||(f=f?"include":"omit");const D="credentials"in Request.prototype;w=new Request(e,{...y,signal:g,method:n.toUpperCase(),headers:v.normalize().toJSON(),body:u,duplex:"half",credentials:D?f:void 0});let _=await fetch(w);const S=lu&&(p==="stream"||p==="response");if(lu&&(c||S&&k)){const $={};["status","statusText","headers"].forEach(L=>{$[L]=_[L]});const M=C.toFiniteNumber(_.headers.get("content-length")),[Y,P]=c&&mi(M,dn(Ci(c),!0))||[];_=new Response(Ei(_.body,ki,Y,()=>{P&&P(),k&&k()}),$)}p=p||"text";let N=await pn[C.findKey(pn,p)||"text"](_,t);return!S&&k&&k(),await new Promise(($,M)=>{So($,M,{data:N,headers:at.from(_.headers),status:_.status,statusText:_.statusText,config:t,request:w})})}catch(D){throw k&&k(),D&&D.name==="TypeError"&&/fetch/i.test(D.message)?Object.assign(new O("Network Error",O.ERR_NETWORK,t,w),{cause:D.cause||D}):O.from(D,D&&D.code,t,w)}}),vu={http:gr,xhr:Wr,fetch:el};C.forEach(vu,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch{}Object.defineProperty(t,"adapterName",{value:e})}});const bi=t=>`- ${t}`,nl=t=>C.isFunction(t)||t===null||t===!1,Oo={getAdapter:t=>{t=C.isArray(t)?t:[t];const{length:e}=t;let n,u;const o={};for(let a=0;a`adapter ${c} `+(d===!1?"is not supported by the environment":"is not available in the build"));let r=e?a.length>1?`since : `+a.map(bi).join(` `):" "+bi(a[0]):"as no adapter specified";throw new O("There is no suitable adapter to dispatch the request "+r,"ERR_NOT_SUPPORT")}return u},adapters:vu};function Yn(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new ke(null,t)}function Ai(t){return Yn(t),t.headers=at.from(t.headers),t.data=Zn.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),Oo.getAdapter(t.adapter||Ge.adapter)(t).then(function(e){return Yn(t),e.data=Zn.call(t,t.transformResponse,e),e.headers=at.from(e.headers),e},function(e){return _o(e)||(Yn(t),e&&e.response&&(e.response.data=Zn.call(t,t.transformResponse,e.response),e.response.headers=at.from(e.response.headers))),Promise.reject(e)})}const Ro="1.8.3",hn={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{hn[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}});const wi={};hn.transitional=function(t,e,n){function u(o,a){return"[Axios v"+Ro+"] Transitional option '"+o+"'"+a+(n?". "+n:"")}return(o,a,r)=>{if(t===!1)throw new O(u(a," has been removed"+(e?" in "+e:"")),O.ERR_DEPRECATED);return e&&!wi[a]&&(wi[a]=!0,console.warn(u(a," has been deprecated since v"+e+" and will be removed in the near future"))),t?t(o,a,r):!0}},hn.spelling=function(t){return(e,n)=>(console.warn(`${n} is likely a misspelling of ${t}`),!0)};function ul(t,e,n){if(typeof t!="object")throw new O("options must be an object",O.ERR_BAD_OPTION_VALUE);const u=Object.keys(t);let o=u.length;for(;o-- >0;){const a=u[o],r=e[a];if(r){const c=t[a],d=c===void 0||r(c,a,t);if(d!==!0)throw new O("option "+a+" must be "+d,O.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new O("Unknown option "+a,O.ERR_BAD_OPTION)}}const an={assertOptions:ul,validators:hn},Ct=an.validators;let Yt=class{constructor(t){this.defaults=t,this.interceptors={request:new fi,response:new fi}}async request(t,e){try{return await this._request(t,e)}catch(n){if(n instanceof Error){let u={};Error.captureStackTrace?Error.captureStackTrace(u):u=new Error;const o=u.stack?u.stack.replace(/^.+\n/,""):"";try{n.stack?o&&!String(n.stack).endsWith(o.replace(/^.+\n.+\n/,""))&&(n.stack+=` -`+o):n.stack=o}catch{}}throw n}}_request(t,e){typeof t=="string"?(e=e||{},e.url=t):e=t||{},e=te(this.defaults,e);const{transitional:n,paramsSerializer:u,headers:o}=e;n!==void 0&&an.assertOptions(n,{silentJSONParsing:Ct.transitional(Ct.boolean),forcedJSONParsing:Ct.transitional(Ct.boolean),clarifyTimeoutError:Ct.transitional(Ct.boolean)},!1),u!=null&&(C.isFunction(u)?e.paramsSerializer={serialize:u}:an.assertOptions(u,{encode:Ct.function,serialize:Ct.function},!0)),e.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?e.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:e.allowAbsoluteUrls=!0),an.assertOptions(e,{baseUrl:Ct.spelling("baseURL"),withXsrfToken:Ct.spelling("withXSRFToken")},!0),e.method=(e.method||this.defaults.method||"get").toLowerCase();let a=o&&C.merge(o.common,o[e.method]);o&&C.forEach(["delete","get","head","post","put","patch","common"],g=>{delete o[g]}),e.headers=at.concat(a,o);const r=[];let c=!0;this.interceptors.request.forEach(function(g){typeof g.runWhen=="function"&&g.runWhen(e)===!1||(c=c&&g.synchronous,r.unshift(g.fulfilled,g.rejected))});const d=[];this.interceptors.response.forEach(function(g){d.push(g.fulfilled,g.rejected)});let p,v=0,f;if(!c){const g=[Ai.bind(this),void 0];for(g.unshift.apply(g,r),g.push.apply(g,d),f=g.length,p=Promise.resolve(e);v{if(!u._listeners)return;let a=u._listeners.length;for(;a-- >0;)u._listeners[a](o);u._listeners=null}),this.promise.then=o=>{let a;const r=new Promise(c=>{u.subscribe(c),a=c}).then(o);return r.cancel=function(){u.unsubscribe(a)},r},e(function(o,a,r){u.reason||(u.reason=new ke(o,a,r),n(u.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const n=this._listeners.indexOf(e);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const e=new AbortController,n=u=>{e.abort(u)};return this.subscribe(n),e.signal.unsubscribe=()=>this.unsubscribe(n),e.signal}static source(){let e;return{token:new To(function(n){e=n}),cancel:e}}};function ol(t){return function(e){return t.apply(null,e)}}function al(t){return C.isObject(t)&&t.isAxiosError===!0}const cu={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(cu).forEach(([t,e])=>{cu[e]=t});function zo(t){const e=new Yt(t),n=ho(Yt.prototype.request,e);return C.extend(n,Yt.prototype,e,{allOwnKeys:!0}),C.extend(n,e,null,{allOwnKeys:!0}),n.create=function(u){return zo(te(t,u))},n}const W=zo(Ge);W.Axios=Yt,W.CanceledError=ke,W.CancelToken=il,W.isCancel=_o,W.VERSION=Ro,W.toFormData=Pn,W.AxiosError=O,W.Cancel=W.CanceledError,W.all=function(t){return Promise.all(t)},W.spread=ol,W.isAxiosError=al,W.mergeConfig=te,W.AxiosHeaders=at,W.formToJSON=t=>xo(C.isHTMLForm(t)?new FormData(t):t),W.getAdapter=Oo.getAdapter,W.HttpStatusCode=cu,W.default=W;const{Axios:Gp,AxiosError:Vp,CanceledError:Hp,isCancel:Wp,CancelToken:Kp,VERSION:qp,all:Zp,Cancel:Yp,isAxiosError:Jp,spread:Xp,toFormData:Qp,AxiosHeaders:th,HttpStatusCode:eh,formToJSON:nh,getAdapter:uh,mergeConfig:ih}=W,Bi=Symbol("csrf-retry"),sl=t=>async e=>{var n;const{config:u,response:o,request:a}=e,r=a?.responseURL;if(o?.status===412&&((n=o?.data)==null?void 0:n.message)==="CSRF check failed"&&u[Bi]===void 0){console.warn("Request to ".concat(r," failed because of a CSRF mismatch. Fetching a new token"));const{data:{token:c}}=await t.get(is("/csrftoken"));return console.debug("New request token ".concat(c," fetched")),t.defaults.headers.requesttoken=c,t({...u,headers:{...u.headers,requesttoken:c},[Bi]:!0})}return Promise.reject(e)},qe=Symbol("retryDelay"),rl=t=>async e=>{var n;const{config:u,response:o,request:a}=e,r=a?.responseURL,c=o?.status,d=o?.headers;if(c===503&&d["x-nextcloud-maintenance-mode"]==="1"&&u.retryIfMaintenanceMode&&(!u[qe]||u[qe]<=32)){const p=((n=u[qe])!=null?n:1)*2;return console.warn("Request to ".concat(r," failed because of maintenance mode. Retrying in ").concat(p,"s")),await new Promise(v=>{setTimeout(v,p*1e3)}),t({...u,[qe]:p})}return Promise.reject(e)},ll=async t=>{var e;const{config:n,response:u,request:o}=t,a=o?.responseURL;return u?.status===401&&((e=u?.data)==null?void 0:e.message)==="Current user is not logged in"&&n.reloadExpiredSession&&window?.location&&(console.error("Request to ".concat(a," failed because the user session expired. Reloading the page …")),window.location.reload()),Promise.reject(t)};var xi;const Lo=W.create({headers:{requesttoken:(xi=ns())!=null?xi:"","X-Requested-With":"XMLHttpRequest"}}),xe=Object.assign(Lo,{CancelToken:W.CancelToken,isCancel:W.isCancel});xe.interceptors.response.use(t=>t,sl(xe)),xe.interceptors.response.use(t=>t,rl(xe)),xe.interceptors.response.use(t=>t,ll),us(t=>{Lo.defaults.headers.requesttoken=t});function oh(t,e,n){const u=document.querySelector(`#initial-state-${t}-${e}`);if(u===null){if(n!==void 0)return n;throw new Error(`Could not find initial state ${e} of ${t}`)}try{return JSON.parse(atob(u.value))}catch{throw new Error(`Could not parse initial state ${e} of ${t}`)}}function vl(t){const e=Object.create(null);for(const n of t.split(","))e[n]=1;return n=>n in e}const Tu={},sn=()=>{},$o=Object.assign,cl=Object.prototype.hasOwnProperty,du=(t,e)=>cl.call(t,e),pt=Array.isArray,De=t=>On(t)==="[object Map]",dl=t=>On(t)==="[object Set]",Mt=t=>typeof t=="function",pl=t=>typeof t=="string",Ve=t=>typeof t=="symbol",be=t=>t!==null&&typeof t=="object",hl=t=>(be(t)||Mt(t))&&Mt(t.then)&&Mt(t.catch),fl=Object.prototype.toString,On=t=>fl.call(t),gl=t=>On(t).slice(8,-1),ml=t=>On(t)==="[object Object]",zu=t=>pl(t)&&t!=="NaN"&&t[0]!=="-"&&""+parseInt(t,10)===t,Ut=(t,e)=>!Object.is(t,e);let _i;const pu=()=>_i||(_i=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof Qt<"u"?Qt:{});let j;const Jn=new WeakSet;class Cl{constructor(e){this.fn=e,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Jn.has(this)&&(Jn.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Mo(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Si(this),Uo(this);const e=j,n=ht;j=this,ht=!0;try{return this.fn()}finally{jo(this),j=e,ht=n,this.flags&=-3}}stop(){if(this.flags&1){for(let e=this.deps;e;e=e.nextDep)Iu(e);this.deps=this.depsTail=void 0,Si(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Jn.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){hu(this)&&this.run()}get dirty(){return hu(this)}}let Io=0,Fe,Pe;function Mo(t,e=!1){if(t.flags|=8,e){t.next=Pe,Pe=t;return}t.next=Fe,Fe=t}function Lu(){Io++}function $u(){if(--Io>0)return;if(Pe){let e=Pe;for(Pe=void 0;e;){const n=e.next;e.next=void 0,e.flags&=-9,e=n}}let t;for(;Fe;){let e=Fe;for(Fe=void 0;e;){const n=e.next;if(e.next=void 0,e.flags&=-9,e.flags&1)try{e.trigger()}catch(u){t||(t=u)}e=n}}if(t)throw t}function Uo(t){for(let e=t.deps;e;e=e.nextDep)e.version=-1,e.prevActiveLink=e.dep.activeLink,e.dep.activeLink=e}function jo(t){let e,n=t.depsTail,u=n;for(;u;){const o=u.prevDep;u.version===-1?(u===n&&(n=o),Iu(u),yl(u)):e=u,u.dep.activeLink=u.prevActiveLink,u.prevActiveLink=void 0,u=o}t.deps=e,t.depsTail=n}function hu(t){for(let e=t.deps;e;e=e.nextDep)if(e.dep.version!==e.version||e.dep.computed&&(Go(e.dep.computed)||e.dep.version!==e.version))return!0;return!!t._dirty}function Go(t){if(t.flags&4&&!(t.flags&16)||(t.flags&=-17,t.globalVersion===$e))return;t.globalVersion=$e;const e=t.dep;if(t.flags|=2,e.version>0&&!t.isSSR&&t.deps&&!hu(t)){t.flags&=-3;return}const n=j,u=ht;j=t,ht=!0;try{Uo(t);const o=t.fn(t._value);(e.version===0||Ut(o,t._value))&&(t._value=o,e.version++)}catch(o){throw e.version++,o}finally{j=n,ht=u,jo(t),t.flags&=-3}}function Iu(t,e=!1){const{dep:n,prevSub:u,nextSub:o}=t;if(u&&(u.nextSub=o,t.prevSub=void 0),o&&(o.prevSub=u,t.nextSub=void 0),n.subs===t&&(n.subs=u,!u&&n.computed)){n.computed.flags&=-5;for(let a=n.computed.deps;a;a=a.nextDep)Iu(a,!0)}!e&&!--n.sc&&n.map&&n.map.delete(n.key)}function yl(t){const{prevDep:e,nextDep:n}=t;e&&(e.nextDep=n,t.prevDep=void 0),n&&(n.prevDep=e,t.nextDep=void 0)}let ht=!0;const Vo=[];function Rn(){Vo.push(ht),ht=!1}function Tn(){const t=Vo.pop();ht=t===void 0?!0:t}function Si(t){const{cleanup:e}=t;if(t.cleanup=void 0,e){const n=j;j=void 0;try{e()}finally{j=n}}}let $e=0;class El{constructor(e,n){this.sub=e,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Mu{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0}track(e){if(!j||!ht||j===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==j)n=this.activeLink=new El(j,this),j.deps?(n.prevDep=j.depsTail,j.depsTail.nextDep=n,j.depsTail=n):j.deps=j.depsTail=n,Ho(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const u=n.nextDep;u.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=u),n.prevDep=j.depsTail,n.nextDep=void 0,j.depsTail.nextDep=n,j.depsTail=n,j.deps===n&&(j.deps=u)}return n}trigger(e){this.version++,$e++,this.notify(e)}notify(e){Lu();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{$u()}}}function Ho(t){if(t.dep.sc++,t.sub.flags&4){const e=t.dep.computed;if(e&&!t.dep.subs){e.flags|=20;for(let u=e.deps;u;u=u.nextDep)Ho(u)}const n=t.dep.subs;n!==t&&(t.prevSub=n,n&&(n.nextSub=t)),t.dep.subs=t}}const fu=new WeakMap,Jt=Symbol(""),gu=Symbol(""),Ie=Symbol("");function ot(t,e,n){if(ht&&j){let u=fu.get(t);u||fu.set(t,u=new Map);let o=u.get(n);o||(u.set(n,o=new Mu),o.map=u,o.key=n),o.track()}}function Lt(t,e,n,u,o,a){const r=fu.get(t);if(!r){$e++;return}const c=d=>{d&&d.trigger()};if(Lu(),e==="clear")r.forEach(c);else{const d=pt(t),p=d&&zu(n);if(d&&n==="length"){const v=Number(u);r.forEach((f,y)=>{(y==="length"||y===Ie||!Ve(y)&&y>=v)&&c(f)})}else switch((n!==void 0||r.has(void 0))&&c(r.get(n)),p&&c(r.get(Ie)),e){case"add":d?p&&c(r.get("length")):(c(r.get(Jt)),De(t)&&c(r.get(gu)));break;case"delete":d||(c(r.get(Jt)),De(t)&&c(r.get(gu)));break;case"set":De(t)&&c(r.get(Jt));break}}$u()}function le(t){const e=I(t);return e===t?e:(ot(e,"iterate",Ie),ft(t)?e:e.map(it))}function Uu(t){return ot(t=I(t),"iterate",Ie),t}const kl={__proto__:null,[Symbol.iterator](){return Xn(this,Symbol.iterator,it)},concat(...t){return le(this).concat(...t.map(e=>pt(e)?le(e):e))},entries(){return Xn(this,"entries",t=>(t[1]=it(t[1]),t))},every(t,e){return kt(this,"every",t,e,void 0,arguments)},filter(t,e){return kt(this,"filter",t,e,n=>n.map(it),arguments)},find(t,e){return kt(this,"find",t,e,it,arguments)},findIndex(t,e){return kt(this,"findIndex",t,e,void 0,arguments)},findLast(t,e){return kt(this,"findLast",t,e,it,arguments)},findLastIndex(t,e){return kt(this,"findLastIndex",t,e,void 0,arguments)},forEach(t,e){return kt(this,"forEach",t,e,void 0,arguments)},includes(...t){return Qn(this,"includes",t)},indexOf(...t){return Qn(this,"indexOf",t)},join(t){return le(this).join(t)},lastIndexOf(...t){return Qn(this,"lastIndexOf",t)},map(t,e){return kt(this,"map",t,e,void 0,arguments)},pop(){return _e(this,"pop")},push(...t){return _e(this,"push",t)},reduce(t,...e){return Di(this,"reduce",t,e)},reduceRight(t,...e){return Di(this,"reduceRight",t,e)},shift(){return _e(this,"shift")},some(t,e){return kt(this,"some",t,e,void 0,arguments)},splice(...t){return _e(this,"splice",t)},toReversed(){return le(this).toReversed()},toSorted(t){return le(this).toSorted(t)},toSpliced(...t){return le(this).toSpliced(...t)},unshift(...t){return _e(this,"unshift",t)},values(){return Xn(this,"values",it)}};function Xn(t,e,n){const u=Uu(t),o=u[e]();return u!==t&&!ft(t)&&(o._next=o.next,o.next=()=>{const a=o._next();return a.value&&(a.value=n(a.value)),a}),o}const bl=Array.prototype;function kt(t,e,n,u,o,a){const r=Uu(t),c=r!==t&&!ft(t),d=r[e];if(d!==bl[e]){const f=d.apply(t,a);return c?it(f):f}let p=n;r!==t&&(c?p=function(f,y){return n.call(this,it(f),y,t)}:n.length>2&&(p=function(f,y){return n.call(this,f,y,t)}));const v=d.call(r,p,u);return c&&o?o(v):v}function Di(t,e,n,u){const o=Uu(t);let a=n;return o!==t&&(ft(t)?n.length>3&&(a=function(r,c,d){return n.call(this,r,c,d,t)}):a=function(r,c,d){return n.call(this,r,it(c),d,t)}),o[e](a,...u)}function Qn(t,e,n){const u=I(t);ot(u,"iterate",Ie);const o=u[e](...n);return(o===-1||o===!1)&&Ll(n[0])?(n[0]=I(n[0]),u[e](...n)):o}function _e(t,e,n=[]){Rn(),Lu();const u=I(t)[e].apply(t,n);return $u(),Tn(),u}const Al=vl("__proto__,__v_isRef,__isVue"),Wo=new Set(Object.getOwnPropertyNames(Symbol).filter(t=>t!=="arguments"&&t!=="caller").map(t=>Symbol[t]).filter(Ve));function wl(t){Ve(t)||(t=String(t));const e=I(this);return ot(e,"has",t),e.hasOwnProperty(t)}class Ko{constructor(e=!1,n=!1){this._isReadonly=e,this._isShallow=n}get(e,n,u){if(n==="__v_skip")return e.__v_skip;const o=this._isReadonly,a=this._isShallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return a;if(n==="__v_raw")return u===(o?a?Rl:Yo:a?Ol:Zo).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(u)?e:void 0;const r=pt(e);if(!o){let d;if(r&&(d=kl[n]))return d;if(n==="hasOwnProperty")return wl}const c=Reflect.get(e,n,Et(e)?e:u);return(Ve(n)?Wo.has(n):Al(n))||(o||ot(e,"get",n),a)?c:Et(c)?r&&zu(n)?c:c.value:be(c)?o?Jo(c):fn(c):c}}class Bl extends Ko{constructor(e=!1){super(!1,e)}set(e,n,u,o){let a=e[n];if(!this._isShallow){const d=ee(a);if(!ft(u)&&!ee(u)&&(a=I(a),u=I(u)),!pt(e)&&Et(a)&&!Et(u))return d?!1:(a.value=u,!0)}const r=pt(e)&&zu(n)?Number(n)t,Ze=t=>Reflect.getPrototypeOf(t);function Dl(t,e,n){return function(...u){const o=this.__v_raw,a=I(o),r=De(a),c=t==="entries"||t===Symbol.iterator&&r,d=t==="keys"&&r,p=o[t](...u),v=n?mu:e?Cu:it;return!e&&ot(a,"iterate",d?gu:Jt),{next(){const{value:f,done:y}=p.next();return y?{value:f,done:y}:{value:c?[v(f[0]),v(f[1])]:v(f),done:y}},[Symbol.iterator](){return this}}}}function Ye(t){return function(...e){return t==="delete"?!1:t==="clear"?void 0:this}}function Fl(t,e){const n={get(u){const o=this.__v_raw,a=I(o),r=I(u);t||(Ut(u,r)&&ot(a,"get",u),ot(a,"get",r));const{has:c}=Ze(a),d=e?mu:t?Cu:it;if(c.call(a,u))return d(o.get(u));if(c.call(a,r))return d(o.get(r));o!==a&&o.get(u)},get size(){const u=this.__v_raw;return!t&&ot(I(u),"iterate",Jt),Reflect.get(u,"size",u)},has(u){const o=this.__v_raw,a=I(o),r=I(u);return t||(Ut(u,r)&&ot(a,"has",u),ot(a,"has",r)),u===r?o.has(u):o.has(u)||o.has(r)},forEach(u,o){const a=this,r=a.__v_raw,c=I(r),d=e?mu:t?Cu:it;return!t&&ot(c,"iterate",Jt),r.forEach((p,v)=>u.call(o,d(p),d(v),a))}};return $o(n,t?{add:Ye("add"),set:Ye("set"),delete:Ye("delete"),clear:Ye("clear")}:{add(u){!e&&!ft(u)&&!ee(u)&&(u=I(u));const o=I(this);return Ze(o).has.call(o,u)||(o.add(u),Lt(o,"add",u,u)),this},set(u,o){!e&&!ft(o)&&!ee(o)&&(o=I(o));const a=I(this),{has:r,get:c}=Ze(a);let d=r.call(a,u);d||(u=I(u),d=r.call(a,u));const p=c.call(a,u);return a.set(u,o),d?Ut(o,p)&&Lt(a,"set",u,o):Lt(a,"add",u,o),this},delete(u){const o=I(this),{has:a,get:r}=Ze(o);let c=a.call(o,u);c||(u=I(u),c=a.call(o,u)),r&&r.call(o,u);const d=o.delete(u);return c&&Lt(o,"delete",u,void 0),d},clear(){const u=I(this),o=u.size!==0,a=u.clear();return o&&Lt(u,"clear",void 0,void 0),a}}),["keys","values","entries",Symbol.iterator].forEach(u=>{n[u]=Dl(u,t,e)}),n}function qo(t,e){const n=Fl(t,e);return(u,o,a)=>o==="__v_isReactive"?!t:o==="__v_isReadonly"?t:o==="__v_raw"?u:Reflect.get(du(n,o)&&o in u?n:u,o,a)}const Pl={get:qo(!1,!1)},Nl={get:qo(!0,!1)},Zo=new WeakMap,Ol=new WeakMap,Yo=new WeakMap,Rl=new WeakMap;function Tl(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function zl(t){return t.__v_skip||!Object.isExtensible(t)?0:Tl(gl(t))}function fn(t){return ee(t)?t:Xo(t,!1,_l,Pl,Zo)}function Jo(t){return Xo(t,!0,Sl,Nl,Yo)}function Xo(t,e,n,u,o){if(!be(t)||t.__v_raw&&!(e&&t.__v_isReactive))return t;const a=o.get(t);if(a)return a;const r=zl(t);if(r===0)return t;const c=new Proxy(t,r===2?u:n);return o.set(t,c),c}function rn(t){return ee(t)?rn(t.__v_raw):!!(t&&t.__v_isReactive)}function ee(t){return!!(t&&t.__v_isReadonly)}function ft(t){return!!(t&&t.__v_isShallow)}function Ll(t){return t?!!t.__v_raw:!1}function I(t){const e=t&&t.__v_raw;return e?I(e):t}const it=t=>be(t)?fn(t):t,Cu=t=>be(t)?Jo(t):t;function Et(t){return t?t.__v_isRef===!0:!1}function nt(t){return $l(t,!1)}function $l(t,e){return Et(t)?t:new Il(t,e)}class Il{constructor(e,n){this.dep=new Mu,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?e:I(e),this._value=n?e:it(e),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(e){const n=this._rawValue,u=this.__v_isShallow||ft(e)||ee(e);e=u?e:I(e),Ut(e,n)&&(this._rawValue=e,this._value=u?e:it(e),this.dep.trigger())}}function Ml(t){return Et(t)?t.value:t}class Ul{constructor(e,n,u){this.fn=e,this.setter=n,this._value=void 0,this.dep=new Mu(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=$e-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=u}notify(){if(this.flags|=16,!(this.flags&8)&&j!==this)return Mo(this,!0),!0}get value(){const e=this.dep.track();return Go(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}function jl(t,e,n=!1){let u,o;return Mt(t)?u=t:(u=t.get,o=t.set),new Ul(u,o,n)}const Je={},gn=new WeakMap;let Wt;function Gl(t,e=!1,n=Wt){if(n){let u=gn.get(n);u||gn.set(n,u=[]),u.push(t)}}function Vl(t,e,n=Tu){const{immediate:u,deep:o,once:a,scheduler:r,augmentJob:c,call:d}=n,p=S=>o?S:ft(S)||o===!1||o===0?$t(S,1):$t(S);let v,f,y,g,w=!1,k=!1;if(Et(t)?(f=()=>t.value,w=ft(t)):rn(t)?(f=()=>p(t),w=!0):pt(t)?(k=!0,w=t.some(S=>rn(S)||ft(S)),f=()=>t.map(S=>{if(Et(S))return S.value;if(rn(S))return p(S);if(Mt(S))return d?d(S,2):S()})):Mt(t)?e?f=d?()=>d(t,2):t:f=()=>{if(y){Rn();try{y()}finally{Tn()}}const S=Wt;Wt=v;try{return d?d(t,3,[g]):t(g)}finally{Wt=S}}:f=sn,e&&o){const S=f,N=o===!0?1/0:o;f=()=>$t(S(),N)}const x=()=>{v.stop()};if(a&&e){const S=e;e=(...N)=>{S(...N),x()}}let D=k?new Array(t.length).fill(Je):Je;const _=S=>{if(!(!(v.flags&1)||!v.dirty&&!S))if(e){const N=v.run();if(o||w||(k?N.some(($,M)=>Ut($,D[M])):Ut(N,D))){y&&y();const $=Wt;Wt=v;try{const M=[N,D===Je?void 0:k&&D[0]===Je?[]:D,g];d?d(e,3,M):e(...M),D=N}finally{Wt=$}}}else v.run()};return c&&c(_),v=new Cl(f),v.scheduler=r?()=>r(_,!1):_,g=S=>Gl(S,!1,v),y=v.onStop=()=>{const S=gn.get(v);if(S){if(d)d(S,4);else for(const N of S)N();gn.delete(v)}},e?u?_(!0):D=v.run():r?r(_.bind(null,!0),!0):v.run(),x.pause=v.pause.bind(v),x.resume=v.resume.bind(v),x.stop=x,x}function $t(t,e=1/0,n){if(e<=0||!be(t)||t.__v_skip||(n=n||new Set,n.has(t)))return t;if(n.add(t),e--,Et(t))$t(t.value,e,n);else if(pt(t))for(let u=0;u{$t(u,e,n)});else if(ml(t)){for(const u in t)$t(t[u],e,n);for(const u of Object.getOwnPropertySymbols(t))Object.prototype.propertyIsEnumerable.call(t,u)&&$t(t[u],e,n)}return t}function ju(t,e,n,u){try{return u?t(...u):t()}catch(o){Qo(o,e,n)}}function Gu(t,e,n,u){if(Mt(t)){const o=ju(t,e,n,u);return o&&hl(o)&&o.catch(a=>{Qo(a,e,n)}),o}if(pt(t)){const o=[];for(let a=0;a>>1,o=vt[u],a=Me(o);a=Me(n)?vt.push(t):vt.splice(Kl(e),0,t),t.flags|=1,ea()}}function ea(){mn||(mn=ta.then(na))}function Zl(t){pt(t)?he.push(...t):Tt&&t.id===-1?Tt.splice(ce+1,0,t):t.flags&1||(he.push(t),t.flags|=1),ea()}function Yl(t){if(he.length){const e=[...new Set(he)].sort((n,u)=>Me(n)-Me(u));if(he.length=0,Tt){Tt.push(...e);return}for(Tt=e,ce=0;cet.id==null?t.flags&2?-1:1/0:t.id;function na(t){try{for(bt=0;bt{Rn();const c=a0(n),d=Gu(e,n,t,r);return c(),Tn(),d});return u?o.unshift(a):o.push(a),a}}const Xl=t=>(e,n=oe)=>{(!Ue||t==="sp")&&Jl(t,(...u)=>e(...u),n)},ia=Xl("m");let Ql=null;function t0(t,e,n=!1){const u=oe||ua;if(u||Ql){const o=u?u.parent==null?u.vnode.appContext&&u.vnode.appContext.provides:u.parent.provides:void 0;if(o&&t in o)return o[t];if(arguments.length>1)return n&&Mt(e)?e.call(u&&u.proxy):e}}const e0=o0,n0=Symbol.for("v-scx"),u0=()=>t0(n0);function i0(t,e){return oa(t,null,e)}function ie(t,e,n){return oa(t,e,n)}function oa(t,e,n=Tu){const{immediate:u,deep:o,flush:a,once:r}=n,c=$o({},n),d=e&&u||!e&&a!=="post";let p;if(Ue){if(a==="sync"){const g=u0();p=g.__watcherHandles||(g.__watcherHandles=[])}else if(!d){const g=()=>{};return g.stop=sn,g.resume=sn,g.pause=sn,g}}const v=oe;c.call=(g,w,k)=>Gu(g,v,w,k);let f=!1;a==="post"?c.scheduler=g=>{e0(g,v&&v.suspense)}:a!=="sync"&&(f=!0,c.scheduler=(g,w)=>{w?g():ql(g)}),c.augmentJob=g=>{e&&(g.flags|=4),f&&(g.flags|=2,v&&(g.id=v.uid,g.i=v))};const y=Vl(t,e,c);return Ue&&(p?p.push(y):d&&y()),y}function o0(t,e){e&&e.pendingBranch?pt(t)?e.effects.push(...t):e.effects.push(t):Zl(t)}let oe=null;const aa=()=>oe||ua;let yu;{const t=pu(),e=(n,u)=>{let o;return(o=t[n])||(o=t[n]=[]),o.push(u),a=>{o.length>1?o.forEach(r=>r(a)):o[0](a)}};yu=e("__VUE_INSTANCE_SETTERS__",n=>oe=n),e("__VUE_SSR_SETTERS__",n=>Ue=n)}const a0=t=>{const e=oe;return yu(t),t.scope.on(),()=>{t.scope.off(),yu(e)}};let Ue=!1;const At=(t,e)=>jl(t,e,Ue);function Bt(t){return typeof t=="function"?t():Ml(t)}const s0=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const sa=t=>t!=null,r0=Object.prototype.toString,l0=t=>r0.call(t)==="[object Object]",fe=()=>{};function v0(t){return aa()}function Vu(t,e=!0,n){v0()?ia(t,n):e?t():Wl(t)}const St=s0?window:void 0;function st(t){var e;const n=Bt(t);return(e=n?.$el)!=null?e:n}function Xt(...t){let e,n,u,o;if(typeof t[0]=="string"||Array.isArray(t[0])?([n,u,o]=t,e=St):[e,n,u,o]=t,!e)return fe;Array.isArray(n)||(n=[n]),Array.isArray(u)||(u=[u]);const a=[],r=()=>{a.forEach(p=>p()),a.length=0},c=(p,v,f,y)=>(p.addEventListener(v,f,y),()=>p.removeEventListener(v,f,y)),d=ie(()=>[st(e),Bt(o)],([p,v])=>{if(r(),!p)return;const f=l0(v)?{...v}:v;a.push(...n.flatMap(y=>u.map(g=>c(p,y,g,f))))},{immediate:!0,flush:"post"});return()=>{d(),r()}}function c0(t){return typeof t=="function"?t:typeof t=="string"?e=>e.key===t:Array.isArray(t)?e=>t.includes(e.key):()=>!0}function ah(...t){let e,n,u={};t.length===3?(e=t[0],n=t[1],u=t[2]):t.length===2?typeof t[1]=="object"?(e=!0,n=t[0],u=t[1]):(e=t[0],n=t[1]):(e=!0,n=t[0]);const{target:o=St,eventName:a="keydown",passive:r=!1,dedupe:c=!1}=u,d=c0(e);return Xt(o,a,p=>{p.repeat&&Bt(c)||d(p)&&n(p)},r)}function d0(){const t=nt(!1),e=aa();return e&&ia(()=>{t.value=!0},e),t}function zn(t){const e=d0();return At(()=>(e.value,!!t()))}function p0(t,e,n={}){const{window:u=St,...o}=n;let a;const r=zn(()=>u&&"MutationObserver"in u),c=()=>{a&&(a.disconnect(),a=void 0)},d=At(()=>{const v=Bt(t),f=(Array.isArray(v)?v:[v]).map(st).filter(sa);return new Set(f)}),p=ie(()=>d.value,v=>{c(),r.value&&v.size&&(a=new MutationObserver(e),v.forEach(f=>a.observe(f,o)))},{immediate:!0,flush:"post"});return{isSupported:r,stop:()=>{p(),c()},takeRecords:()=>a?.takeRecords()}}function h0(t,e={}){const{window:n=St}=e,u=zn(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let o;const a=nt(!1),r=d=>{a.value=d.matches},c=()=>{o&&("removeEventListener"in o?o.removeEventListener("change",r):o.removeListener(r))};return i0(()=>{u.value&&(c(),o=n.matchMedia(Bt(t)),"addEventListener"in o?o.addEventListener("change",r):o.addListener(r),a.value=o.matches)}),a}function ra(t,e,n={}){const{window:u=St,...o}=n;let a;const r=zn(()=>u&&"ResizeObserver"in u),c=()=>{a&&(a.disconnect(),a=void 0)},d=At(()=>{const v=Bt(t);return Array.isArray(v)?v.map(f=>st(f)):[st(v)]}),p=ie(d,v=>{if(c(),r.value&&u){a=new ResizeObserver(e);for(const f of v)f&&a.observe(f,o)}},{immediate:!0,flush:"post"});return{isSupported:r,stop:()=>{c(),p()}}}function Fi(t,e={}){const{reset:n=!0,windowResize:u=!0,windowScroll:o=!0,immediate:a=!0,updateTiming:r="sync"}=e,c=nt(0),d=nt(0),p=nt(0),v=nt(0),f=nt(0),y=nt(0),g=nt(0),w=nt(0);function k(){const D=st(t);if(!D){n&&(c.value=0,d.value=0,p.value=0,v.value=0,f.value=0,y.value=0,g.value=0,w.value=0);return}const _=D.getBoundingClientRect();c.value=_.height,d.value=_.bottom,p.value=_.left,v.value=_.right,f.value=_.top,y.value=_.width,g.value=_.x,w.value=_.y}function x(){r==="sync"?k():r==="next-frame"&&requestAnimationFrame(()=>k())}return ra(t,x),ie(()=>st(t),D=>!D&&x()),p0(t,x,{attributeFilter:["style","class"]}),o&&Xt("scroll",x,{capture:!0,passive:!0}),u&&Xt("resize",x,{passive:!0}),Vu(()=>{a&&x()}),{height:c,bottom:d,left:p,right:v,top:f,width:y,x:g,y:w,update:x}}function sh(t,e={width:0,height:0},n={}){const{window:u=St,box:o="content-box"}=n,a=At(()=>{var f,y;return(y=(f=st(t))==null?void 0:f.namespaceURI)==null?void 0:y.includes("svg")}),r=nt(e.width),c=nt(e.height),{stop:d}=ra(t,([f])=>{const y=o==="border-box"?f.borderBoxSize:o==="content-box"?f.contentBoxSize:f.devicePixelContentBoxSize;if(u&&a.value){const g=st(t);if(g){const w=g.getBoundingClientRect();r.value=w.width,c.value=w.height}}else if(y){const g=Array.isArray(y)?y:[y];r.value=g.reduce((w,{inlineSize:k})=>w+k,0),c.value=g.reduce((w,{blockSize:k})=>w+k,0)}else r.value=f.contentRect.width,c.value=f.contentRect.height},n);Vu(()=>{const f=st(t);f&&(r.value="offsetWidth"in f?f.offsetWidth:e.width,c.value="offsetHeight"in f?f.offsetHeight:e.height)});const p=ie(()=>st(t),f=>{r.value=f?e.width:0,c.value=f?e.height:0});function v(){d(),p()}return{width:r,height:c,stop:v}}function rh(t,e,n={}){const{root:u,rootMargin:o="0px",threshold:a=0,window:r=St,immediate:c=!0}=n,d=zn(()=>r&&"IntersectionObserver"in r),p=At(()=>{const g=Bt(t);return(Array.isArray(g)?g:[g]).map(st).filter(sa)});let v=fe;const f=nt(c),y=d.value?ie(()=>[p.value,st(u),f.value],([g,w])=>{if(v(),!f.value||!g.length)return;const k=new IntersectionObserver(e,{root:st(w),rootMargin:o,threshold:a});g.forEach(x=>x&&k.observe(x)),v=()=>{k.disconnect(),v=fe}},{immediate:c,flush:"post"}):fe;return{isSupported:d,isActive:f,pause(){v(),f.value=!1},resume(){f.value=!0},stop:()=>{v(),y(),f.value=!1}}}function f0(t,e={}){const{threshold:n=50,onSwipe:u,onSwipeEnd:o,onSwipeStart:a,passive:r=!0,window:c=St}=e,d=fn({x:0,y:0}),p=fn({x:0,y:0}),v=At(()=>d.x-p.x),f=At(()=>d.y-p.y),{max:y,abs:g}=Math,w=At(()=>y(g(v.value),g(f.value))>=n),k=nt(!1),x=At(()=>w.value?g(v.value)>g(f.value)?v.value>0?"left":"right":f.value>0?"up":"down":"none"),D=P=>[P.touches[0].clientX,P.touches[0].clientY],_=(P,L)=>{d.x=P,d.y=L},S=(P,L)=>{p.x=P,p.y=L};let N;const $=g0(c?.document);r?N=$?{passive:!0}:{capture:!1}:N=$?{passive:!1,capture:!0}:{capture:!0};const M=P=>{k.value&&o?.(P,x.value),k.value=!1},Y=[Xt(t,"touchstart",P=>{if(P.touches.length!==1)return;const[L,b]=D(P);_(L,b),S(L,b),a?.(P)},N),Xt(t,"touchmove",P=>{if(P.touches.length!==1)return;const[L,b]=D(P);S(L,b),N.capture&&!N.passive&&Math.abs(v.value)>Math.abs(f.value)&&P.preventDefault(),!k.value&&w.value&&(k.value=!0),k.value&&u?.(P)},N),Xt(t,["touchend","touchcancel"],M,N)];return{isPassiveEventSupported:$,isSwiping:k,direction:x,coordsStart:d,coordsEnd:p,lengthX:v,lengthY:f,stop:()=>Y.forEach(P=>P())}}function g0(t){if(!t)return!1;let e=!1;const n={get passive(){return e=!0,!1}};return t.addEventListener("x",fe,n),t.removeEventListener("x",fe),e}function m0(t={}){const{window:e=St,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:u=Number.POSITIVE_INFINITY,listenOrientation:o=!0,includeScrollbar:a=!0,type:r="inner"}=t,c=nt(n),d=nt(u),p=()=>{e&&(r==="outer"?(c.value=e.outerWidth,d.value=e.outerHeight):a?(c.value=e.innerWidth,d.value=e.innerHeight):(c.value=e.document.documentElement.clientWidth,d.value=e.document.documentElement.clientHeight))};if(p(),Vu(p),Xt("resize",p,{passive:!0}),o){const v=h0("(orientation: portrait)");ie(v,()=>p())}return{width:c,height:d}}const C0={name:"NcLoadingIcon",props:{size:{type:Number,default:20},appearance:{type:String,validator(t){return["auto","light","dark"].includes(t)},default:"auto"},name:{type:String,default:""}},computed:{colors(){const t=["#777","#CCC"];return this.appearance==="light"?t:this.appearance==="dark"?t.reverse():["var(--color-loading-light)","var(--color-loading-dark)"]}}};var y0=function(){var t=this,e=t._self._c;return e("span",{staticClass:"material-design-icon loading-icon",attrs:{"aria-label":t.name,role:"img"}},[e("svg",{attrs:{width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{fill:t.colors[0],d:"M12,4V2A10,10 0 1,0 22,12H20A8,8 0 1,1 12,4Z"}}),e("path",{attrs:{fill:t.colors[1],d:"M12,4V2A10,10 0 0,1 22,12H20A8,8 0 0,0 12,4Z"}},[t.name?e("title",[t._v(t._s(t.name))]):t._e()])])])},E0=[],k0=X(C0,y0,E0,!1,null,"551209a3");const b0=k0.exports;function Dt(t){return t.split("-")[0]}function ge(t){return t.split("-")[1]}function He(t){return["top","bottom"].includes(Dt(t))?"x":"y"}function Hu(t){return t==="y"?"height":"width"}function Pi(t){let{reference:e,floating:n,placement:u}=t;const o=e.x+e.width/2-n.width/2,a=e.y+e.height/2-n.height/2;let r;switch(Dt(u)){case"top":r={x:o,y:e.y-n.height};break;case"bottom":r={x:o,y:e.y+e.height};break;case"right":r={x:e.x+e.width,y:a};break;case"left":r={x:e.x-n.width,y:a};break;default:r={x:e.x,y:e.y}}const c=He(u),d=Hu(c);switch(ge(u)){case"start":r[c]=r[c]-(e[d]/2-n[d]/2);break;case"end":r[c]=r[c]+(e[d]/2-n[d]/2);break}return r}const A0=async(t,e,n)=>{const{placement:u="bottom",strategy:o="absolute",middleware:a=[],platform:r}=n;let c=await r.getElementRects({reference:t,floating:e,strategy:o}),{x:d,y:p}=Pi({...c,placement:u}),v=u,f={};for(let y=0;y({name:"arrow",options:t,async fn(e){const{element:n,padding:u=0}=t??{},{x:o,y:a,placement:r,rects:c,platform:d}=e;if(n==null)return{};const p=la(u),v={x:o,y:a},f=Dt(r),y=He(f),g=Hu(y),w=await d.getDimensions({element:n}),k=y==="y"?"top":"left",x=y==="y"?"bottom":"right",D=c.reference[g]+c.reference[y]-v[y]-c.floating[g],_=v[y]-c.reference[y],S=await d.getOffsetParent({element:n}),N=S?y==="y"?S.clientHeight||0:S.clientWidth||0:0,$=D/2-_/2,M=p[k],Y=N-w[g]-p[x],P=N/2-w[g]/2+$,L=ku(M,P,Y);return{data:{[y]:L,centerOffset:P-L}}}}),_0={left:"right",right:"left",bottom:"top",top:"bottom"};function Cn(t){return t.replace(/left|right|bottom|top/g,e=>_0[e])}function va(t,e){const n=ge(t)==="start",u=He(t),o=Hu(u);let a=u==="x"?n?"right":"left":n?"bottom":"top";return e.reference[o]>e.floating[o]&&(a=Cn(a)),{main:a,cross:Cn(a)}}const S0={start:"end",end:"start"};function bu(t){return t.replace(/start|end/g,e=>S0[e])}const D0=["top","right","bottom","left"],F0=D0.reduce((t,e)=>t.concat(e,e+"-start",e+"-end"),[]);function P0(t,e,n){return(t?[...n.filter(u=>ge(u)===t),...n.filter(u=>ge(u)!==t)]:n.filter(u=>Dt(u)===u)).filter(u=>t?ge(u)===t||(e?bu(u)!==u:!1):!0)}const N0=function(t){return t===void 0&&(t={}),{name:"autoPlacement",options:t,async fn(e){var n,u,o,a,r,c;const{x:d,y:p,rects:v,middlewareData:f,placement:y}=e,{alignment:g=null,allowedPlacements:w=F0,autoAlignment:k=!0,...x}=t;if((n=f.autoPlacement)!=null&&n.skip)return{};const D=P0(g,k,w),_=await Ln(e,x),S=(u=(o=f.autoPlacement)==null?void 0:o.index)!=null?u:0,N=D[S],{main:$,cross:M}=va(N,v);if(y!==N)return{x:d,y:p,reset:{placement:D[0]}};const Y=[_[Dt(N)],_[$],_[M]],P=[...(a=(r=f.autoPlacement)==null?void 0:r.overflows)!=null?a:[],{placement:N,overflows:Y}],L=D[S+1];if(L)return{data:{index:S+1,overflows:P},reset:{placement:L}};const b=P.slice().sort((F,R)=>F.overflows[0]-R.overflows[0]),A=(c=b.find(F=>{let{overflows:R}=F;return R.every(T=>T<=0)}))==null?void 0:c.placement;return{data:{skip:!0},reset:{placement:A??b[0].placement}}}}};function O0(t){const e=Cn(t);return[bu(t),e,bu(e)]}const R0=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(e){var n,u;const{placement:o,middlewareData:a,rects:r,initialPlacement:c}=e;if((n=a.flip)!=null&&n.skip)return{};const{mainAxis:d=!0,crossAxis:p=!0,fallbackPlacements:v,fallbackStrategy:f="bestFit",flipAlignment:y=!0,...g}=t,w=Dt(o),k=v||(w===c||!y?[Cn(c)]:O0(c)),x=[c,...k],D=await Ln(e,g),_=[];let S=((u=a.flip)==null?void 0:u.overflows)||[];if(d&&_.push(D[w]),p){const{main:Y,cross:P}=va(o,r);_.push(D[Y],D[P])}if(S=[...S,{placement:o,overflows:_}],!_.every(Y=>Y<=0)){var N,$;const Y=((N=($=a.flip)==null?void 0:$.index)!=null?N:0)+1,P=x[Y];if(P)return{data:{index:Y,overflows:S},reset:{placement:P}};let L="bottom";switch(f){case"bestFit":{var M;const b=(M=S.slice().sort((A,F)=>A.overflows.filter(R=>R>0).reduce((R,T)=>R+T,0)-F.overflows.filter(R=>R>0).reduce((R,T)=>R+T,0))[0])==null?void 0:M.placement;b&&(L=b);break}case"initialPlacement":L=c;break}return{data:{skip:!0},reset:{placement:L}}}return{}}}};function T0(t){let{placement:e,rects:n,value:u}=t;const o=Dt(e),a=["left","top"].includes(o)?-1:1,r=typeof u=="function"?u({...n,placement:e}):u,{mainAxis:c,crossAxis:d}=typeof r=="number"?{mainAxis:r,crossAxis:0}:{mainAxis:0,crossAxis:0,...r};return He(o)==="x"?{x:d,y:c*a}:{x:c*a,y:d}}const z0=function(t){return t===void 0&&(t=0),{name:"offset",options:t,fn(e){const{x:n,y:u,placement:o,rects:a}=e,r=T0({placement:o,rects:a,value:t});return{x:n+r.x,y:u+r.y,data:r}}}};function L0(t){return t==="x"?"y":"x"}const $0=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(e){const{x:n,y:u,placement:o}=e,{mainAxis:a=!0,crossAxis:r=!1,limiter:c={fn:x=>{let{x:D,y:_}=x;return{x:D,y:_}}},...d}=t,p={x:n,y:u},v=await Ln(e,d),f=He(Dt(o)),y=L0(f);let g=p[f],w=p[y];if(a){const x=f==="y"?"top":"left",D=f==="y"?"bottom":"right",_=g+v[x],S=g-v[D];g=ku(_,g,S)}if(r){const x=y==="y"?"top":"left",D=y==="y"?"bottom":"right",_=w+v[x],S=w-v[D];w=ku(_,w,S)}const k=c.fn({...e,[f]:g,[y]:w});return{...k,data:{x:k.x-n,y:k.y-u}}}}},I0=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(e){var n;const{placement:u,rects:o,middlewareData:a}=e,{apply:r,...c}=t;if((n=a.size)!=null&&n.skip)return{};const d=await Ln(e,c),p=Dt(u),v=ge(u)==="end";let f,y;p==="top"||p==="bottom"?(f=p,y=v?"left":"right"):(y=p,f=v?"top":"bottom");const g=Kt(d.left,0),w=Kt(d.right,0),k=Kt(d.top,0),x=Kt(d.bottom,0),D={height:o.floating.height-(["left","right"].includes(u)?2*(k!==0||x!==0?k+x:Kt(d.top,d.bottom)):d[f]),width:o.floating.width-(["top","bottom"].includes(u)?2*(g!==0||w!==0?g+w:Kt(d.left,d.right)):d[y])};return r?.({...D,...o}),{data:{skip:!0},reset:{rects:!0}}}}};function Wu(t){return t?.toString()==="[object Window]"}function jt(t){if(t==null)return window;if(!Wu(t)){const e=t.ownerDocument;return e&&e.defaultView||window}return t}function $n(t){return jt(t).getComputedStyle(t)}function xt(t){return Wu(t)?"":t?(t.nodeName||"").toLowerCase():""}function _t(t){return t instanceof jt(t).HTMLElement}function yn(t){return t instanceof jt(t).Element}function M0(t){return t instanceof jt(t).Node}function ca(t){const e=jt(t).ShadowRoot;return t instanceof e||t instanceof ShadowRoot}function In(t){const{overflow:e,overflowX:n,overflowY:u}=$n(t);return/auto|scroll|overlay|hidden/.test(e+u+n)}function U0(t){return["table","td","th"].includes(xt(t))}function da(t){const e=navigator.userAgent.toLowerCase().includes("firefox"),n=$n(t);return n.transform!=="none"||n.perspective!=="none"||n.contain==="paint"||["transform","perspective"].includes(n.willChange)||e&&n.willChange==="filter"||e&&(n.filter?n.filter!=="none":!1)}const Ni=Math.min,Ne=Math.max,En=Math.round;function me(t,e){e===void 0&&(e=!1);const n=t.getBoundingClientRect();let u=1,o=1;return e&&_t(t)&&(u=t.offsetWidth>0&&En(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&En(n.height)/t.offsetHeight||1),{width:n.width/u,height:n.height/o,top:n.top/o,right:n.right/u,bottom:n.bottom/o,left:n.left/u,x:n.left/u,y:n.top/o}}function Gt(t){return((M0(t)?t.ownerDocument:t.document)||window.document).documentElement}function Mn(t){return Wu(t)?{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}:{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}function pa(t){return me(Gt(t)).left+Mn(t).scrollLeft}function j0(t){const e=me(t);return En(e.width)!==t.offsetWidth||En(e.height)!==t.offsetHeight}function G0(t,e,n){const u=_t(e),o=Gt(e),a=me(t,u&&j0(e));let r={scrollLeft:0,scrollTop:0};const c={x:0,y:0};if(u||!u&&n!=="fixed")if((xt(e)!=="body"||In(o))&&(r=Mn(e)),_t(e)){const d=me(e,!0);c.x=d.x+e.clientLeft,c.y=d.y+e.clientTop}else o&&(c.x=pa(o));return{x:a.left+r.scrollLeft-c.x,y:a.top+r.scrollTop-c.y,width:a.width,height:a.height}}function Un(t){return xt(t)==="html"?t:t.assignedSlot||t.parentNode||(ca(t)?t.host:null)||Gt(t)}function Oi(t){return!_t(t)||getComputedStyle(t).position==="fixed"?null:t.offsetParent}function V0(t){let e=Un(t);for(;_t(e)&&!["html","body"].includes(xt(e));){if(da(e))return e;e=e.parentNode}return null}function Au(t){const e=jt(t);let n=Oi(t);for(;n&&U0(n)&&getComputedStyle(n).position==="static";)n=Oi(n);return n&&(xt(n)==="html"||xt(n)==="body"&&getComputedStyle(n).position==="static"&&!da(n))?e:n||V0(t)||e}function Ri(t){return{width:t.offsetWidth,height:t.offsetHeight}}function H0(t){let{rect:e,offsetParent:n,strategy:u}=t;const o=_t(n),a=Gt(n);if(n===a)return e;let r={scrollLeft:0,scrollTop:0};const c={x:0,y:0};if((o||!o&&u!=="fixed")&&((xt(n)!=="body"||In(a))&&(r=Mn(n)),_t(n))){const d=me(n,!0);c.x=d.x+n.clientLeft,c.y=d.y+n.clientTop}return{...e,x:e.x-r.scrollLeft+c.x,y:e.y-r.scrollTop+c.y}}function W0(t){const e=jt(t),n=Gt(t),u=e.visualViewport;let o=n.clientWidth,a=n.clientHeight,r=0,c=0;return u&&(o=u.width,a=u.height,Math.abs(e.innerWidth/u.scale-u.width)<.01&&(r=u.offsetLeft,c=u.offsetTop)),{width:o,height:a,x:r,y:c}}function K0(t){var e;const n=Gt(t),u=Mn(t),o=(e=t.ownerDocument)==null?void 0:e.body,a=Ne(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),r=Ne(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0);let c=-u.scrollLeft+pa(t);const d=-u.scrollTop;return $n(o||n).direction==="rtl"&&(c+=Ne(n.clientWidth,o?o.clientWidth:0)-a),{width:a,height:r,x:c,y:d}}function ha(t){return["html","body","#document"].includes(xt(t))?t.ownerDocument.body:_t(t)&&In(t)?t:ha(Un(t))}function kn(t,e){var n;e===void 0&&(e=[]);const u=ha(t),o=u===((n=t.ownerDocument)==null?void 0:n.body),a=jt(u),r=o?[a].concat(a.visualViewport||[],In(u)?u:[]):u,c=e.concat(r);return o?c:c.concat(kn(Un(r)))}function q0(t,e){const n=e.getRootNode==null?void 0:e.getRootNode();if(t.contains(e))return!0;if(n&&ca(n)){let u=e;do{if(u&&t===u)return!0;u=u.parentNode||u.host}while(u)}return!1}function Z0(t){const e=me(t),n=e.top+t.clientTop,u=e.left+t.clientLeft;return{top:n,left:u,x:u,y:n,right:u+t.clientWidth,bottom:n+t.clientHeight,width:t.clientWidth,height:t.clientHeight}}function Ti(t,e){return e==="viewport"?Eu(W0(t)):yn(e)?Z0(e):Eu(K0(Gt(t)))}function Y0(t){const e=kn(Un(t)),n=["absolute","fixed"].includes($n(t).position)&&_t(t)?Au(t):t;return yn(n)?e.filter(u=>yn(u)&&q0(u,n)&&xt(u)!=="body"):[]}function J0(t){let{element:e,boundary:n,rootBoundary:u}=t;const o=[...n==="clippingParents"?Y0(e):[].concat(n),u],a=o[0],r=o.reduce((c,d)=>{const p=Ti(e,d);return c.top=Ne(p.top,c.top),c.right=Ni(p.right,c.right),c.bottom=Ni(p.bottom,c.bottom),c.left=Ne(p.left,c.left),c},Ti(e,a));return r.width=r.right-r.left,r.height=r.bottom-r.top,r.x=r.left,r.y=r.top,r}const X0={getElementRects:t=>{let{reference:e,floating:n,strategy:u}=t;return{reference:G0(e,Au(n),u),floating:{...Ri(n),x:0,y:0}}},convertOffsetParentRelativeRectToViewportRelativeRect:t=>H0(t),getOffsetParent:t=>{let{element:e}=t;return Au(e)},isElement:t=>yn(t),getDocumentElement:t=>{let{element:e}=t;return Gt(e)},getClippingClientRect:t=>J0(t),getDimensions:t=>{let{element:e}=t;return Ri(e)},getClientRects:t=>{let{element:e}=t;return e.getClientRects()}},Q0=(t,e,n)=>A0(t,e,{platform:X0,...n});var tv=Object.defineProperty,ev=Object.defineProperties,nv=Object.getOwnPropertyDescriptors,bn=Object.getOwnPropertySymbols,fa=Object.prototype.hasOwnProperty,ga=Object.prototype.propertyIsEnumerable,zi=(t,e,n)=>e in t?tv(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,It=(t,e)=>{for(var n in e||(e={}))fa.call(e,n)&&zi(t,n,e[n]);if(bn)for(var n of bn(e))ga.call(e,n)&&zi(t,n,e[n]);return t},jn=(t,e)=>ev(t,nv(e)),uv=(t,e)=>{var n={};for(var u in t)fa.call(t,u)&&e.indexOf(u)<0&&(n[u]=t[u]);if(t!=null&&bn)for(var u of bn(t))e.indexOf(u)<0&&ga.call(t,u)&&(n[u]=t[u]);return n};function ma(t,e){for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(typeof e[n]=="object"&&t[n]?ma(t[n],e[n]):t[n]=e[n])}const wt={disabled:!1,distance:5,skidding:0,container:"body",boundary:void 0,instantMove:!1,disposeTimeout:5e3,popperTriggers:[],strategy:"absolute",preventOverflow:!0,flip:!0,shift:!0,overflowPadding:0,arrowPadding:0,arrowOverflow:!0,themes:{tooltip:{placement:"top",triggers:["hover","focus","touch"],hideTriggers:t=>[...t,"click"],delay:{show:200,hide:0},handleResize:!1,html:!1,loadingContent:"..."},dropdown:{placement:"bottom",triggers:["click"],delay:0,handleResize:!0,autoHide:!0},menu:{$extend:"dropdown",triggers:["hover","focus"],popperTriggers:["hover","focus"],delay:{show:0,hide:400}}}};function Ce(t,e){let n=wt.themes[t]||{},u;do u=n[e],typeof u>"u"?n.$extend?n=wt.themes[n.$extend]||{}:(n=null,u=wt[e]):n=null;while(n);return u}function iv(t){const e=[t];let n=wt.themes[t]||{};do n.$extend&&!n.$resetCss?(e.push(n.$extend),n=wt.themes[n.$extend]||{}):n=null;while(n);return e.map(u=>`v-popper--theme-${u}`)}function Li(t){const e=[t];let n=wt.themes[t]||{};do n.$extend?(e.push(n.$extend),n=wt.themes[n.$extend]||{}):n=null;while(n);return e}let ne=!1;if(typeof window<"u"){ne=!1;try{const t=Object.defineProperty({},"passive",{get(){ne=!0}});window.addEventListener("test",null,t)}catch{}}let Ca=!1;typeof window<"u"&&typeof navigator<"u"&&(Ca=/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream);const ya=["auto","top","bottom","left","right"].reduce((t,e)=>t.concat([e,`${e}-start`,`${e}-end`]),[]),$i={hover:"mouseenter",focus:"focus",click:"click",touch:"touchstart"},Ii={hover:"mouseleave",focus:"blur",click:"click",touch:"touchend"};function Mi(t,e){const n=t.indexOf(e);n!==-1&&t.splice(n,1)}function tu(){return new Promise(t=>requestAnimationFrame(()=>{requestAnimationFrame(t)}))}const dt=[];let Ht=null;const Ui={};function ji(t){let e=Ui[t];return e||(e=Ui[t]=[]),e}let wu=function(){};typeof window<"u"&&(wu=window.Element);function z(t){return function(){const e=this.$props;return Ce(e.theme,t)}}const eu="__floating-vue__popper";var Ea=()=>({name:"VPopper",props:{theme:{type:String,required:!0},targetNodes:{type:Function,required:!0},referenceNode:{type:Function,required:!0},popperNode:{type:Function,required:!0},shown:{type:Boolean,default:!1},showGroup:{type:String,default:null},ariaId:{default:null},disabled:{type:Boolean,default:z("disabled")},positioningDisabled:{type:Boolean,default:z("positioningDisabled")},placement:{type:String,default:z("placement"),validator:t=>ya.includes(t)},delay:{type:[String,Number,Object],default:z("delay")},distance:{type:[Number,String],default:z("distance")},skidding:{type:[Number,String],default:z("skidding")},triggers:{type:Array,default:z("triggers")},showTriggers:{type:[Array,Function],default:z("showTriggers")},hideTriggers:{type:[Array,Function],default:z("hideTriggers")},popperTriggers:{type:Array,default:z("popperTriggers")},popperShowTriggers:{type:[Array,Function],default:z("popperShowTriggers")},popperHideTriggers:{type:[Array,Function],default:z("popperHideTriggers")},container:{type:[String,Object,wu,Boolean],default:z("container")},boundary:{type:[String,wu],default:z("boundary")},strategy:{type:String,validator:t=>["absolute","fixed"].includes(t),default:z("strategy")},autoHide:{type:[Boolean,Function],default:z("autoHide")},handleResize:{type:Boolean,default:z("handleResize")},instantMove:{type:Boolean,default:z("instantMove")},eagerMount:{type:Boolean,default:z("eagerMount")},popperClass:{type:[String,Array,Object],default:z("popperClass")},computeTransformOrigin:{type:Boolean,default:z("computeTransformOrigin")},autoMinSize:{type:Boolean,default:z("autoMinSize")},autoSize:{type:[Boolean,String],default:z("autoSize")},autoMaxSize:{type:Boolean,default:z("autoMaxSize")},autoBoundaryMaxSize:{type:Boolean,default:z("autoBoundaryMaxSize")},preventOverflow:{type:Boolean,default:z("preventOverflow")},overflowPadding:{type:[Number,String],default:z("overflowPadding")},arrowPadding:{type:[Number,String],default:z("arrowPadding")},arrowOverflow:{type:Boolean,default:z("arrowOverflow")},flip:{type:Boolean,default:z("flip")},shift:{type:Boolean,default:z("shift")},shiftCrossAxis:{type:Boolean,default:z("shiftCrossAxis")},noAutoFocus:{type:Boolean,default:z("noAutoFocus")}},provide(){return{[eu]:{parentPopper:this}}},inject:{[eu]:{default:null}},data(){return{isShown:!1,isMounted:!1,skipTransition:!1,classes:{showFrom:!1,showTo:!1,hideFrom:!1,hideTo:!0},result:{x:0,y:0,placement:"",strategy:this.strategy,arrow:{x:0,y:0,centerOffset:0},transformOrigin:null},shownChildren:new Set,lastAutoHide:!0}},computed:{popperId(){return this.ariaId!=null?this.ariaId:this.randomId},shouldMountContent(){return this.eagerMount||this.isMounted},slotData(){return{popperId:this.popperId,isShown:this.isShown,shouldMountContent:this.shouldMountContent,skipTransition:this.skipTransition,autoHide:typeof this.autoHide=="function"?this.lastAutoHide:this.autoHide,show:this.show,hide:this.hide,handleResize:this.handleResize,onResize:this.onResize,classes:jn(It({},this.classes),{popperClass:this.popperClass}),result:this.positioningDisabled?null:this.result}},parentPopper(){var t;return(t=this[eu])==null?void 0:t.parentPopper},hasPopperShowTriggerHover(){var t,e;return((t=this.popperTriggers)==null?void 0:t.includes("hover"))||((e=this.popperShowTriggers)==null?void 0:e.includes("hover"))}},watch:It(It({shown:"$_autoShowHide",disabled(t){t?this.dispose():this.init()},async container(){this.isShown&&(this.$_ensureTeleport(),await this.$_computePosition())}},["triggers","positioningDisabled"].reduce((t,e)=>(t[e]="$_refreshListeners",t),{})),["placement","distance","skidding","boundary","strategy","overflowPadding","arrowPadding","preventOverflow","shift","shiftCrossAxis","flip"].reduce((t,e)=>(t[e]="$_computePosition",t),{})),created(){this.$_isDisposed=!0,this.randomId=`popper_${[Math.random(),Date.now()].map(t=>t.toString(36).substring(2,10)).join("_")}`,this.autoMinSize&&console.warn('[floating-vue] `autoMinSize` option is deprecated. Use `autoSize="min"` instead.'),this.autoMaxSize&&console.warn("[floating-vue] `autoMaxSize` option is deprecated. Use `autoBoundaryMaxSize` instead.")},mounted(){this.init(),this.$_detachPopperNode()},activated(){this.$_autoShowHide()},deactivated(){this.hide()},beforeDestroy(){this.dispose()},methods:{show({event:t=null,skipDelay:e=!1,force:n=!1}={}){var u,o;(u=this.parentPopper)!=null&&u.lockedChild&&this.parentPopper.lockedChild!==this||(this.$_pendingHide=!1,(n||!this.disabled)&&(((o=this.parentPopper)==null?void 0:o.lockedChild)===this&&(this.parentPopper.lockedChild=null),this.$_scheduleShow(t,e),this.$emit("show"),this.$_showFrameLocked=!0,requestAnimationFrame(()=>{this.$_showFrameLocked=!1})),this.$emit("update:shown",!0))},hide({event:t=null,skipDelay:e=!1,skipAiming:n=!1}={}){var u;if(!this.$_hideInProgress){if(this.shownChildren.size>0){this.$_pendingHide=!0;return}if(!n&&this.hasPopperShowTriggerHover&&this.$_isAimingPopper()){this.parentPopper&&(this.parentPopper.lockedChild=this,clearTimeout(this.parentPopper.lockedChildTimer),this.parentPopper.lockedChildTimer=setTimeout(()=>{this.parentPopper.lockedChild===this&&(this.parentPopper.lockedChild.hide({skipDelay:e}),this.parentPopper.lockedChild=null)},1e3));return}((u=this.parentPopper)==null?void 0:u.lockedChild)===this&&(this.parentPopper.lockedChild=null),this.$_pendingHide=!1,this.$_scheduleHide(t,e),this.$emit("hide"),this.$emit("update:shown",!1)}},init(){this.$_isDisposed&&(this.$_isDisposed=!1,this.isMounted=!1,this.$_events=[],this.$_preventShow=!1,this.$_referenceNode=this.referenceNode(),this.$_targetNodes=this.targetNodes().filter(t=>t.nodeType===t.ELEMENT_NODE),this.$_popperNode=this.popperNode(),this.$_innerNode=this.$_popperNode.querySelector(".v-popper__inner"),this.$_arrowNode=this.$_popperNode.querySelector(".v-popper__arrow-container"),this.$_swapTargetAttrs("title","data-original-title"),this.$_detachPopperNode(),this.triggers.length&&this.$_addEventListeners(),this.shown&&this.show())},dispose(){this.$_isDisposed||(this.$_isDisposed=!0,this.$_removeEventListeners(),this.hide({skipDelay:!0}),this.$_detachPopperNode(),this.isMounted=!1,this.isShown=!1,this.$_updateParentShownChildren(!1),this.$_swapTargetAttrs("data-original-title","title"),this.$emit("dispose"))},async onResize(){this.isShown&&(await this.$_computePosition(),this.$emit("resize"))},async $_computePosition(){var t;if(this.$_isDisposed||this.positioningDisabled)return;const e={strategy:this.strategy,middleware:[]};(this.distance||this.skidding)&&e.middleware.push(z0({mainAxis:this.distance,crossAxis:this.skidding}));const n=this.placement.startsWith("auto");if(n?e.middleware.push(N0({alignment:(t=this.placement.split("-")[1])!=null?t:""})):e.placement=this.placement,this.preventOverflow&&(this.shift&&e.middleware.push($0({padding:this.overflowPadding,boundary:this.boundary,crossAxis:this.shiftCrossAxis})),!n&&this.flip&&e.middleware.push(R0({padding:this.overflowPadding,boundary:this.boundary}))),e.middleware.push(x0({element:this.$_arrowNode,padding:this.arrowPadding})),this.arrowOverflow&&e.middleware.push({name:"arrowOverflow",fn:({placement:o,rects:a,middlewareData:r})=>{let c;const{centerOffset:d}=r.arrow;return o.startsWith("top")||o.startsWith("bottom")?c=Math.abs(d)>a.reference.width/2:c=Math.abs(d)>a.reference.height/2,{data:{overflow:c}}}}),this.autoMinSize||this.autoSize){const o=this.autoSize?this.autoSize:this.autoMinSize?"min":null;e.middleware.push({name:"autoSize",fn:({rects:a,placement:r,middlewareData:c})=>{var d;if((d=c.autoSize)!=null&&d.skip)return{};let p,v;return r.startsWith("top")||r.startsWith("bottom")?p=a.reference.width:v=a.reference.height,this.$_innerNode.style[o==="min"?"minWidth":o==="max"?"maxWidth":"width"]=p!=null?`${p}px`:null,this.$_innerNode.style[o==="min"?"minHeight":o==="max"?"maxHeight":"height"]=v!=null?`${v}px`:null,{data:{skip:!0},reset:{rects:!0}}}})}(this.autoMaxSize||this.autoBoundaryMaxSize)&&(this.$_innerNode.style.maxWidth=null,this.$_innerNode.style.maxHeight=null,e.middleware.push(I0({boundary:this.boundary,padding:this.overflowPadding,apply:({width:o,height:a})=>{this.$_innerNode.style.maxWidth=o!=null?`${o}px`:null,this.$_innerNode.style.maxHeight=a!=null?`${a}px`:null}})));const u=await Q0(this.$_referenceNode,this.$_popperNode,e);Object.assign(this.result,{x:u.x,y:u.y,placement:u.placement,strategy:u.strategy,arrow:It(It({},u.middlewareData.arrow),u.middlewareData.arrowOverflow)})},$_scheduleShow(t=null,e=!1){if(this.$_updateParentShownChildren(!0),this.$_hideInProgress=!1,clearTimeout(this.$_scheduleTimer),Ht&&this.instantMove&&Ht.instantMove&&Ht!==this.parentPopper){Ht.$_applyHide(!0),this.$_applyShow(!0);return}e?this.$_applyShow():this.$_scheduleTimer=setTimeout(this.$_applyShow.bind(this),this.$_computeDelay("show"))},$_scheduleHide(t=null,e=!1){if(this.shownChildren.size>0){this.$_pendingHide=!0;return}this.$_updateParentShownChildren(!1),this.$_hideInProgress=!0,clearTimeout(this.$_scheduleTimer),this.isShown&&(Ht=this),e?this.$_applyHide():this.$_scheduleTimer=setTimeout(this.$_applyHide.bind(this),this.$_computeDelay("hide"))},$_computeDelay(t){const e=this.delay;return parseInt(e&&e[t]||e||0)},async $_applyShow(t=!1){clearTimeout(this.$_disposeTimer),clearTimeout(this.$_scheduleTimer),this.skipTransition=t,!this.isShown&&(this.$_ensureTeleport(),await tu(),await this.$_computePosition(),await this.$_applyShowEffect(),this.positioningDisabled||this.$_registerEventListeners([...kn(this.$_referenceNode),...kn(this.$_popperNode)],"scroll",()=>{this.$_computePosition()}))},async $_applyShowEffect(){if(this.$_hideInProgress)return;if(this.computeTransformOrigin){const e=this.$_referenceNode.getBoundingClientRect(),n=this.$_popperNode.querySelector(".v-popper__wrapper"),u=n.parentNode.getBoundingClientRect(),o=e.x+e.width/2-(u.left+n.offsetLeft),a=e.y+e.height/2-(u.top+n.offsetTop);this.result.transformOrigin=`${o}px ${a}px`}this.isShown=!0,this.$_applyAttrsToTarget({"aria-describedby":this.popperId,"data-popper-shown":""});const t=this.showGroup;if(t){let e;for(let n=0;n0){this.$_pendingHide=!0,this.$_hideInProgress=!1;return}if(clearTimeout(this.$_scheduleTimer),!this.isShown)return;this.skipTransition=t,Mi(dt,this),dt.length===0&&document.body.classList.remove("v-popper--some-open");for(const n of Li(this.theme)){const u=ji(n);Mi(u,this),u.length===0&&document.body.classList.remove(`v-popper--some-open--${n}`)}Ht===this&&(Ht=null),this.isShown=!1,this.$_applyAttrsToTarget({"aria-describedby":void 0,"data-popper-shown":void 0}),clearTimeout(this.$_disposeTimer);const e=Ce(this.theme,"disposeTimeout");e!==null&&(this.$_disposeTimer=setTimeout(()=>{this.$_popperNode&&(this.$_detachPopperNode(),this.isMounted=!1)},e)),this.$_removeEventListeners("scroll"),this.$emit("apply-hide"),this.classes.showFrom=!1,this.classes.showTo=!1,this.classes.hideFrom=!0,this.classes.hideTo=!1,await tu(),this.classes.hideFrom=!1,this.classes.hideTo=!0},$_autoShowHide(){this.shown?this.show():this.hide()},$_ensureTeleport(){if(this.$_isDisposed)return;let t=this.container;if(typeof t=="string"?t=window.document.querySelector(t):t===!1&&(t=this.$_targetNodes[0].parentNode),!t)throw new Error("No container for popover: "+this.container);t.appendChild(this.$_popperNode),this.isMounted=!0},$_addEventListeners(){const t=n=>{this.isShown&&!this.$_hideInProgress||(n.usedByTooltip=!0,!this.$_preventShow&&this.show({event:n}))};this.$_registerTriggerListeners(this.$_targetNodes,$i,this.triggers,this.showTriggers,t),this.$_registerTriggerListeners([this.$_popperNode],$i,this.popperTriggers,this.popperShowTriggers,t);const e=n=>u=>{u.usedByTooltip||this.hide({event:u,skipAiming:n})};this.$_registerTriggerListeners(this.$_targetNodes,Ii,this.triggers,this.hideTriggers,e(!1)),this.$_registerTriggerListeners([this.$_popperNode],Ii,this.popperTriggers,this.popperHideTriggers,e(!0))},$_registerEventListeners(t,e,n){this.$_events.push({targetNodes:t,eventType:e,handler:n}),t.forEach(u=>u.addEventListener(e,n,ne?{passive:!0}:void 0))},$_registerTriggerListeners(t,e,n,u,o){let a=n;u!=null&&(a=typeof u=="function"?u(a):u),a.forEach(r=>{const c=e[r];c&&this.$_registerEventListeners(t,c,o)})},$_removeEventListeners(t){const e=[];this.$_events.forEach(n=>{const{targetNodes:u,eventType:o,handler:a}=n;!t||t===o?u.forEach(r=>r.removeEventListener(o,a)):e.push(n)}),this.$_events=e},$_refreshListeners(){this.$_isDisposed||(this.$_removeEventListeners(),this.$_addEventListeners())},$_handleGlobalClose(t,e=!1){this.$_showFrameLocked||(this.hide({event:t}),t.closePopover?this.$emit("close-directive"):this.$emit("auto-hide"),e&&(this.$_preventShow=!0,setTimeout(()=>{this.$_preventShow=!1},300)))},$_detachPopperNode(){this.$_popperNode.parentNode&&this.$_popperNode.parentNode.removeChild(this.$_popperNode)},$_swapTargetAttrs(t,e){for(const n of this.$_targetNodes){const u=n.getAttribute(t);u&&(n.removeAttribute(t),n.setAttribute(e,u))}},$_applyAttrsToTarget(t){for(const e of this.$_targetNodes)for(const n in t){const u=t[n];u==null?e.removeAttribute(n):e.setAttribute(n,u)}},$_updateParentShownChildren(t){let e=this.parentPopper;for(;e;)t?e.shownChildren.add(this.randomId):(e.shownChildren.delete(this.randomId),e.$_pendingHide&&e.hide()),e=e.parentPopper},$_isAimingPopper(){const t=this.$el.getBoundingClientRect();if(Oe>=t.left&&Oe<=t.right&&Re>=t.top&&Re<=t.bottom){const e=this.$_popperNode.getBoundingClientRect(),n=Oe-Nt,u=Re-Ot,o=e.left+e.width/2-Nt+(e.top+e.height/2)-Ot+e.width+e.height,a=Nt+n*o,r=Ot+u*o;return Xe(Nt,Ot,a,r,e.left,e.top,e.left,e.bottom)||Xe(Nt,Ot,a,r,e.left,e.top,e.right,e.top)||Xe(Nt,Ot,a,r,e.right,e.top,e.right,e.bottom)||Xe(Nt,Ot,a,r,e.left,e.bottom,e.right,e.bottom)}return!1}},render(){return this.$scopedSlots.default(this.slotData)[0]}});typeof document<"u"&&typeof window<"u"&&(Ca?(document.addEventListener("touchstart",Gi,ne?{passive:!0,capture:!0}:!0),document.addEventListener("touchend",av,ne?{passive:!0,capture:!0}:!0)):(window.addEventListener("mousedown",Gi,!0),window.addEventListener("click",ov,!0)),window.addEventListener("resize",lv));function Gi(t){for(let e=0;e=0;u--){const o=dt[u];try{const a=o.$_containsGlobalTarget=sv(o,t);o.$_pendingHide=!1,requestAnimationFrame(()=>{if(o.$_pendingHide=!1,!n[o.randomId]&&Vi(o,a,t)){if(o.$_handleGlobalClose(t,e),!t.closeAllPopover&&t.closePopover&&a){let c=o.parentPopper;for(;c;)n[c.randomId]=!0,c=c.parentPopper;return}let r=o.parentPopper;for(;r&&Vi(r,r.$_containsGlobalTarget,t);)r.$_handleGlobalClose(t,e),r=r.parentPopper}})}catch{}}}function sv(t,e){const n=t.popperNode();return t.$_mouseDownContains||n.contains(e.target)}function Vi(t,e,n){return n.closeAllPopover||n.closePopover&&e||rv(t,n)&&!e}function rv(t,e){if(typeof t.autoHide=="function"){const n=t.autoHide(e);return t.lastAutoHide=n,n}return t.autoHide}function lv(t){for(let e=0;e{Nt=Oe,Ot=Re,Oe=t.clientX,Re=t.clientY},ne?{passive:!0}:void 0);function Xe(t,e,n,u,o,a,r,c){const d=((r-o)*(e-a)-(c-a)*(t-o))/((c-a)*(n-t)-(r-o)*(u-e)),p=((n-t)*(e-a)-(u-e)*(t-o))/((c-a)*(n-t)-(r-o)*(u-e));return d>=0&&d<=1&&p>=0&&p<=1}function vv(){var t=window.navigator.userAgent,e=t.indexOf("MSIE ");if(e>0)return parseInt(t.substring(e+5,t.indexOf(".",e)),10);var n=t.indexOf("Trident/");if(n>0){var u=t.indexOf("rv:");return parseInt(t.substring(u+3,t.indexOf(".",u)),10)}var o=t.indexOf("Edge/");return o>0?parseInt(t.substring(o+5,t.indexOf(".",o)),10):-1}var ln;function Bu(){Bu.init||(Bu.init=!0,ln=vv()!==-1)}var cv={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},mounted:function(){var t=this;Bu(),this.$nextTick(function(){t._w=t.$el.offsetWidth,t._h=t.$el.offsetHeight,t.emitOnMount&&t.emitSize()});var e=document.createElement("object");this._resizeObject=e,e.setAttribute("aria-hidden","true"),e.setAttribute("tabindex",-1),e.onload=this.addResizeHandlers,e.type="text/html",ln&&this.$el.appendChild(e),e.data="about:blank",ln||this.$el.appendChild(e)},beforeDestroy:function(){this.removeResizeHandlers()},methods:{compareAndNotify:function(){(!this.ignoreWidth&&this._w!==this.$el.offsetWidth||!this.ignoreHeight&&this._h!==this.$el.offsetHeight)&&(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitSize())},emitSize:function(){this.$emit("notify",{width:this._w,height:this._h})},addResizeHandlers:function(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers:function(){this._resizeObject&&this._resizeObject.onload&&(!ln&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null)}}};function dv(t,e,n,u,o,a,r,c,d,p){var v=typeof n=="function"?n.options:n;return t&&t.render&&(v.render=t.render,v.staticRenderFns=t.staticRenderFns,v._compiled=!0),v._scopeId=u,n}var pv=cv,ba=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"resize-observer",attrs:{tabindex:"-1"}})},hv=[];ba._withStripped=!0;var fv=void 0,gv="data-v-8859cc6c",xu=dv({render:ba,staticRenderFns:hv},fv,pv,gv);function mv(t){t.component("resize-observer",xu),t.component("ResizeObserver",xu)}var Cv={version:"1.0.1",install:mv},Qe=null;typeof window<"u"?Qe=window.Vue:typeof Qt<"u"&&(Qe=Qt.Vue),Qe&&Qe.use(Cv);var Aa={computed:{themeClass(){return iv(this.theme)}}},yv={name:"VPopperContent",components:{ResizeObserver:xu},mixins:[Aa],props:{popperId:String,theme:String,shown:Boolean,mounted:Boolean,skipTransition:Boolean,autoHide:Boolean,handleResize:Boolean,classes:Object,result:Object},methods:{toPx(t){return t!=null&&!isNaN(t)?`${t}px`:null}}},Ev=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{ref:"popover",staticClass:"v-popper__popper",class:[t.themeClass,t.classes.popperClass,{"v-popper__popper--shown":t.shown,"v-popper__popper--hidden":!t.shown,"v-popper__popper--show-from":t.classes.showFrom,"v-popper__popper--show-to":t.classes.showTo,"v-popper__popper--hide-from":t.classes.hideFrom,"v-popper__popper--hide-to":t.classes.hideTo,"v-popper__popper--skip-transition":t.skipTransition,"v-popper__popper--arrow-overflow":t.result&&t.result.arrow.overflow,"v-popper__popper--no-positioning":!t.result}],style:t.result?{position:t.result.strategy,transform:"translate3d("+Math.round(t.result.x)+"px,"+Math.round(t.result.y)+"px,0)"}:void 0,attrs:{id:t.popperId,"aria-hidden":t.shown?"false":"true",tabindex:t.autoHide?0:void 0,"data-popper-placement":t.result?t.result.placement:void 0},on:{keyup:function(u){if(!u.type.indexOf("key")&&t._k(u.keyCode,"esc",27,u.key,["Esc","Escape"]))return null;t.autoHide&&t.$emit("hide")}}},[n("div",{staticClass:"v-popper__backdrop",on:{click:function(u){t.autoHide&&t.$emit("hide")}}}),n("div",{staticClass:"v-popper__wrapper",style:t.result?{transformOrigin:t.result.transformOrigin}:void 0},[n("div",{ref:"inner",staticClass:"v-popper__inner"},[t.mounted?[n("div",[t._t("default")],2),t.handleResize?n("ResizeObserver",{on:{notify:function(u){return t.$emit("resize",u)}}}):t._e()]:t._e()],2),n("div",{ref:"arrow",staticClass:"v-popper__arrow-container",style:t.result?{left:t.toPx(t.result.arrow.x),top:t.toPx(t.result.arrow.y)}:void 0},[n("div",{staticClass:"v-popper__arrow-outer"}),n("div",{staticClass:"v-popper__arrow-inner"})])])])},kv=[];function Ae(t,e,n,u,o,a,r,c){var d=typeof t=="function"?t.options:t;e&&(d.render=e,d.staticRenderFns=n,d._compiled=!0);var p;if(o&&(p=o),p)if(d.functional){d._injectStyles=p;var v=d.render;d.render=function(y,g){return p.call(g),v(y,g)}}else{var f=d.beforeCreate;d.beforeCreate=f?[].concat(f,p):[p]}return{exports:t,options:d}}const Hi={};var bv=Ae(yv,Ev,kv,!1,Av);function Av(t){for(let e in Hi)this[e]=Hi[e]}var wa=function(){return bv.exports}(),Ku={methods:{show(...t){return this.$refs.popper.show(...t)},hide(...t){return this.$refs.popper.hide(...t)},dispose(...t){return this.$refs.popper.dispose(...t)},onResize(...t){return this.$refs.popper.onResize(...t)}}},wv={name:"VPopperWrapper",components:{Popper:Ea(),PopperContent:wa},mixins:[Ku,Aa],inheritAttrs:!1,props:{theme:{type:String,default(){return this.$options.vPopperTheme}}},methods:{getTargetNodes(){return Array.from(this.$refs.reference.children).filter(t=>t!==this.$refs.popperContent.$el)}}},Bv=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("Popper",t._g(t._b({ref:"popper",attrs:{theme:t.theme,"target-nodes":t.getTargetNodes,"reference-node":function(){return t.$refs.reference},"popper-node":function(){return t.$refs.popperContent.$el}},scopedSlots:t._u([{key:"default",fn:function(u){var o=u.popperId,a=u.isShown,r=u.shouldMountContent,c=u.skipTransition,d=u.autoHide,p=u.show,v=u.hide,f=u.handleResize,y=u.onResize,g=u.classes,w=u.result;return[n("div",{ref:"reference",staticClass:"v-popper",class:[t.themeClass,{"v-popper--shown":a}]},[t._t("default",null,{shown:a,show:p,hide:v}),n("PopperContent",{ref:"popperContent",attrs:{"popper-id":o,theme:t.theme,shown:a,mounted:r,"skip-transition":c,"auto-hide":d,"handle-resize":f,classes:g,result:w},on:{hide:v,resize:y}},[t._t("popper",null,{shown:a,hide:v})],2)],2)]}}],null,!0)},"Popper",t.$attrs,!1),t.$listeners))},xv=[];const Wi={};var _v=Ae(wv,Bv,xv,!1,Sv);function Sv(t){for(let e in Wi)this[e]=Wi[e]}var qu=function(){return _v.exports}(),Dv=jn(It({},qu),{name:"VDropdown",vPopperTheme:"dropdown"});let Fv,Pv;const Ki={};var Nv=Ae(Dv,Fv,Pv,!1,Ov);function Ov(t){for(let e in Ki)this[e]=Ki[e]}var _u=function(){return Nv.exports}(),Rv=jn(It({},qu),{name:"VMenu",vPopperTheme:"menu"});let Tv,zv;const qi={};var Lv=Ae(Rv,Tv,zv,!1,$v);function $v(t){for(let e in qi)this[e]=qi[e]}var Zi=function(){return Lv.exports}(),Iv=jn(It({},qu),{name:"VTooltip",vPopperTheme:"tooltip"});let Mv,Uv;const Yi={};var jv=Ae(Iv,Mv,Uv,!1,Gv);function Gv(t){for(let e in Yi)this[e]=Yi[e]}var Ji=function(){return jv.exports}(),Vv={name:"VTooltipDirective",components:{Popper:Ea(),PopperContent:wa},mixins:[Ku],inheritAttrs:!1,props:{theme:{type:String,default:"tooltip"},html:{type:Boolean,default(){return Ce(this.theme,"html")}},content:{type:[String,Number,Function],default:null},loadingContent:{type:String,default(){return Ce(this.theme,"loadingContent")}}},data(){return{asyncContent:null}},computed:{isContentAsync(){return typeof this.content=="function"},loading(){return this.isContentAsync&&this.asyncContent==null},finalContent(){return this.isContentAsync?this.loading?this.loadingContent:this.asyncContent:this.content}},watch:{content:{handler(){this.fetchContent(!0)},immediate:!0},async finalContent(t){await this.$nextTick(),this.$refs.popper.onResize()}},created(){this.$_fetchId=0},methods:{fetchContent(t){if(typeof this.content=="function"&&this.$_isShown&&(t||!this.$_loading&&this.asyncContent==null)){this.asyncContent=null,this.$_loading=!0;const e=++this.$_fetchId,n=this.content(this);n.then?n.then(u=>this.onResult(e,u)):this.onResult(e,n)}},onResult(t,e){t===this.$_fetchId&&(this.$_loading=!1,this.asyncContent=e)},onShow(){this.$_isShown=!0,this.fetchContent()},onHide(){this.$_isShown=!1}}},Hv=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("Popper",t._g(t._b({ref:"popper",attrs:{theme:t.theme,"popper-node":function(){return t.$refs.popperContent.$el}},on:{"apply-show":t.onShow,"apply-hide":t.onHide},scopedSlots:t._u([{key:"default",fn:function(u){var o=u.popperId,a=u.isShown,r=u.shouldMountContent,c=u.skipTransition,d=u.autoHide,p=u.hide,v=u.handleResize,f=u.onResize,y=u.classes,g=u.result;return[n("PopperContent",{ref:"popperContent",class:{"v-popper--tooltip-loading":t.loading},attrs:{"popper-id":o,theme:t.theme,shown:a,mounted:r,"skip-transition":c,"auto-hide":d,"handle-resize":v,classes:y,result:g},on:{hide:p,resize:f}},[t.html?n("div",{domProps:{innerHTML:t._s(t.finalContent)}}):n("div",{domProps:{textContent:t._s(t.finalContent)}})])]}}])},"Popper",t.$attrs,!1),t.$listeners))},Wv=[];const Xi={};var Kv=Ae(Vv,Hv,Wv,!1,qv);function qv(t){for(let e in Xi)this[e]=Xi[e]}var Zv=function(){return Kv.exports}();const Ba="v-popper--has-tooltip";function Yv(t,e){let n=t.placement;if(!n&&e)for(const u of ya)e[u]&&(n=u);return n||(n=Ce(t.theme||"tooltip","placement")),n}function xa(t,e,n){let u;const o=typeof e;return o==="string"?u={content:e}:e&&o==="object"?u=e:u={content:!1},u.placement=Yv(u,n),u.targetNodes=()=>[t],u.referenceNode=()=>t,u}function Jv(t,e,n){const u=xa(t,e,n),o=t.$_popper=new ye({mixins:[Ku],data(){return{options:u}},render(r){const c=this.options,{theme:d,html:p,content:v,loadingContent:f}=c,y=uv(c,["theme","html","content","loadingContent"]);return r(Zv,{props:{theme:d,html:p,content:v,loadingContent:f},attrs:y,ref:"popper"})},devtools:{hide:!0}}),a=document.createElement("div");return document.body.appendChild(a),o.$mount(a),t.classList&&t.classList.add(Ba),o}function _a(t){t.$_popper&&(t.$_popper.$destroy(),delete t.$_popper,delete t.$_popperOldShown),t.classList&&t.classList.remove(Ba)}function Qi(t,{value:e,oldValue:n,modifiers:u}){const o=xa(t,e,u);if(!o.content||Ce(o.theme||"tooltip","disabled"))_a(t);else{let a;t.$_popper?(a=t.$_popper,a.options=o):a=Jv(t,e,u),typeof e.shown<"u"&&e.shown!==t.$_popperOldShown&&(t.$_popperOldShown=e.shown,e.shown?a.show():a.hide())}}var Xv={bind:Qi,update:Qi,unbind(t){_a(t)}};function to(t){t.addEventListener("click",Sa),t.addEventListener("touchstart",Da,ne?{passive:!0}:!1)}function eo(t){t.removeEventListener("click",Sa),t.removeEventListener("touchstart",Da),t.removeEventListener("touchend",Fa),t.removeEventListener("touchcancel",Pa)}function Sa(t){const e=t.currentTarget;t.closePopover=!e.$_vclosepopover_touch,t.closeAllPopover=e.$_closePopoverModifiers&&!!e.$_closePopoverModifiers.all}function Da(t){if(t.changedTouches.length===1){const e=t.currentTarget;e.$_vclosepopover_touch=!0;const n=t.changedTouches[0];e.$_vclosepopover_touchPoint=n,e.addEventListener("touchend",Fa),e.addEventListener("touchcancel",Pa)}}function Fa(t){const e=t.currentTarget;if(e.$_vclosepopover_touch=!1,t.changedTouches.length===1){const n=t.changedTouches[0],u=e.$_vclosepopover_touchPoint;t.closePopover=Math.abs(n.screenY-u.screenY)<20&&Math.abs(n.screenX-u.screenX)<20,t.closeAllPopover=e.$_closePopoverModifiers&&!!e.$_closePopoverModifiers.all}}function Pa(t){const e=t.currentTarget;e.$_vclosepopover_touch=!1}var Qv={bind(t,{value:e,modifiers:n}){t.$_closePopoverModifiers=n,(typeof e>"u"||e)&&to(t)},update(t,{value:e,oldValue:n,modifiers:u}){t.$_closePopoverModifiers=u,e!==n&&(typeof e>"u"||e?to(t):eo(t))},unbind(t){eo(t)}};const tc=_u;function ec(t,e={}){t.$_vTooltipInstalled||(t.$_vTooltipInstalled=!0,ma(wt,e),t.directive("tooltip",Xv),t.directive("close-popper",Qv),t.component("v-tooltip",Ji),t.component("VTooltip",Ji),t.component("v-dropdown",_u),t.component("VDropdown",_u),t.component("v-menu",Zi),t.component("VMenu",Zi))}const nc={version:"1.0.0-beta.19",install:ec,options:wt};let tn=null;typeof window<"u"?tn=window.Vue:typeof Qt<"u"&&(tn=Qt.Vue),tn&&tn.use(nc);var Na=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],An=Na.join(","),Oa=typeof Element>"u",ue=Oa?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,wn=!Oa&&Element.prototype.getRootNode?function(t){var e;return t==null||(e=t.getRootNode)===null||e===void 0?void 0:e.call(t)}:function(t){return t?.ownerDocument},Bn=function t(e,n){var u;n===void 0&&(n=!0);var o=e==null||(u=e.getAttribute)===null||u===void 0?void 0:u.call(e,"inert"),a=o===""||o==="true",r=a||n&&e&&t(e.parentNode);return r},uc=function(t){var e,n=t==null||(e=t.getAttribute)===null||e===void 0?void 0:e.call(t,"contenteditable");return n===""||n==="true"},Ra=function(t,e,n){if(Bn(t))return[];var u=Array.prototype.slice.apply(t.querySelectorAll(An));return e&&ue.call(t,An)&&u.unshift(t),u=u.filter(n),u},Ta=function t(e,n,u){for(var o=[],a=Array.from(e);a.length;){var r=a.shift();if(!Bn(r,!1))if(r.tagName==="SLOT"){var c=r.assignedElements(),d=c.length?c:r.children,p=t(d,!0,u);u.flatten?o.push.apply(o,p):o.push({scopeParent:r,candidates:p})}else{var v=ue.call(r,An);v&&u.filter(r)&&(n||!e.includes(r))&&o.push(r);var f=r.shadowRoot||typeof u.getShadowRoot=="function"&&u.getShadowRoot(r),y=!Bn(f,!1)&&(!u.shadowRootFilter||u.shadowRootFilter(r));if(f&&y){var g=t(f===!0?r.children:f.children,!0,u);u.flatten?o.push.apply(o,g):o.push({scopeParent:r,candidates:g})}else a.unshift.apply(a,r.children)}}return o},za=function(t){return!isNaN(parseInt(t.getAttribute("tabindex"),10))},qt=function(t){if(!t)throw new Error("No node provided");return t.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(t.tagName)||uc(t))&&!za(t)?0:t.tabIndex},ic=function(t,e){var n=qt(t);return n<0&&e&&!za(t)?0:n},oc=function(t,e){return t.tabIndex===e.tabIndex?t.documentOrder-e.documentOrder:t.tabIndex-e.tabIndex},La=function(t){return t.tagName==="INPUT"},ac=function(t){return La(t)&&t.type==="hidden"},sc=function(t){var e=t.tagName==="DETAILS"&&Array.prototype.slice.apply(t.children).some(function(n){return n.tagName==="SUMMARY"});return e},rc=function(t,e){for(var n=0;nsummary:first-of-type"),a=o?t.parentElement:t;if(ue.call(a,"details:not([open]) *"))return!0;if(!n||n==="full"||n==="legacy-full"){if(typeof u=="function"){for(var r=t;t;){var c=t.parentElement,d=wn(t);if(c&&!c.shadowRoot&&u(c)===!0)return no(t);t.assignedSlot?t=t.assignedSlot:!c&&d!==t.ownerDocument?t=d.host:t=c}t=r}if(dc(t))return!t.getClientRects().length;if(n!=="legacy-full")return!0}else if(n==="non-zero-area")return no(t);return!1},hc=function(t){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(t.tagName))for(var e=t.parentElement;e;){if(e.tagName==="FIELDSET"&&e.disabled){for(var n=0;n=0)},gc=function t(e){var n=[],u=[];return e.forEach(function(o,a){var r=!!o.scopeParent,c=r?o.scopeParent:o,d=ic(c,r),p=r?t(o.candidates):c;d===0?r?n.push.apply(n,p):n.push(c):u.push({documentOrder:a,tabIndex:d,item:o,isScope:r,content:p})}),u.sort(oc).reduce(function(o,a){return a.isScope?o.push.apply(o,a.content):o.push(a.content),o},[]).concat(n)},mc=function(t,e){e=e||{};var n;return e.getShadowRoot?n=Ta([t],e.includeContainer,{filter:Su.bind(null,e),flatten:!1,getShadowRoot:e.getShadowRoot,shadowRootFilter:fc}):n=Ra(t,e.includeContainer,Su.bind(null,e)),gc(n)},Cc=function(t,e){e=e||{};var n;return e.getShadowRoot?n=Ta([t],e.includeContainer,{filter:xn.bind(null,e),flatten:!0,getShadowRoot:e.getShadowRoot}):n=Ra(t,e.includeContainer,xn.bind(null,e)),n},ve=function(t,e){if(e=e||{},!t)throw new Error("No node provided");return ue.call(t,An)===!1?!1:Su(e,t)},yc=Na.concat("iframe").join(","),nu=function(t,e){if(e=e||{},!t)throw new Error("No node provided");return ue.call(t,yc)===!1?!1:xn(e,t)};function uo(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);e&&(u=u.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,u)}return n}function io(t){for(var e=1;e0){var n=t[t.length-1];n!==e&&n.pause()}var u=t.indexOf(e);u===-1||t.splice(u,1),t.push(e)},deactivateTrap:function(t,e){var n=t.indexOf(e);n!==-1&&t.splice(n,1),t.length>0&&t[t.length-1].unpause()}},Ac=function(t){return t.tagName&&t.tagName.toLowerCase()==="input"&&typeof t.select=="function"},wc=function(t){return t?.key==="Escape"||t?.key==="Esc"||t?.keyCode===27},Te=function(t){return t?.key==="Tab"||t?.keyCode===9},Bc=function(t){return Te(t)&&!t.shiftKey},xc=function(t){return Te(t)&&t.shiftKey},ao=function(t){return setTimeout(t,0)},so=function(t,e){var n=-1;return t.every(function(u,o){return e(u)?(n=o,!1):!0}),n},Se=function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),u=1;u1?F-1:0),T=1;T=0)b=n.activeElement;else{var A=a.tabbableGroups[0],F=A&&A.firstTabbableNode;b=F||p("fallbackFocus")}if(!b)throw new Error("Your focus-trap needs to have at least one focusable element");return b},f=function(){if(a.containerGroups=a.containers.map(function(b){var A=mc(b,o.tabbableOptions),F=Cc(b,o.tabbableOptions),R=A.length>0?A[0]:void 0,T=A.length>0?A[A.length-1]:void 0,H=F.find(function(K){return ve(K)}),Z=F.slice().reverse().find(function(K){return ve(K)}),tt=!!A.find(function(K){return qt(K)>0});return{container:b,tabbableNodes:A,focusableNodes:F,posTabIndexesFound:tt,firstTabbableNode:R,lastTabbableNode:T,firstDomTabbableNode:H,lastDomTabbableNode:Z,nextTabbableNode:function(K){var Ft=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Vt=A.indexOf(K);return Vt<0?Ft?F.slice(F.indexOf(K)+1).find(function(ct){return ve(ct)}):F.slice(0,F.indexOf(K)).reverse().find(function(ct){return ve(ct)}):A[Vt+(Ft?1:-1)]}}}),a.tabbableGroups=a.containerGroups.filter(function(b){return b.tabbableNodes.length>0}),a.tabbableGroups.length<=0&&!p("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(a.containerGroups.find(function(b){return b.posTabIndexesFound})&&a.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},y=function b(A){var F=A.activeElement;if(F)return F.shadowRoot&&F.shadowRoot.activeElement!==null?b(F.shadowRoot):F},g=function b(A){if(A!==!1&&A!==y(document)){if(!A||!A.focus){b(v());return}A.focus({preventScroll:!!o.preventScroll}),a.mostRecentlyFocusedNode=A,Ac(A)&&A.select()}},w=function(b){var A=p("setReturnFocus",b);return A||(A===!1?!1:b)},k=function(b){var A=b.target,F=b.event,R=b.isBackward,T=R===void 0?!1:R;A=A||en(F),f();var H=null;if(a.tabbableGroups.length>0){var Z=d(A,F),tt=Z>=0?a.containerGroups[Z]:void 0;if(Z<0)T?H=a.tabbableGroups[a.tabbableGroups.length-1].lastTabbableNode:H=a.tabbableGroups[0].firstTabbableNode;else if(T){var K=so(a.tabbableGroups,function(q){var Q=q.firstTabbableNode;return A===Q});if(K<0&&(tt.container===A||nu(A,o.tabbableOptions)&&!ve(A,o.tabbableOptions)&&!tt.nextTabbableNode(A,!1))&&(K=Z),K>=0){var Ft=K===0?a.tabbableGroups.length-1:K-1,Vt=a.tabbableGroups[Ft];H=qt(A)>=0?Vt.lastTabbableNode:Vt.lastDomTabbableNode}else Te(F)||(H=tt.nextTabbableNode(A,!1))}else{var ct=so(a.tabbableGroups,function(q){var Q=q.lastTabbableNode;return A===Q});if(ct<0&&(tt.container===A||nu(A,o.tabbableOptions)&&!ve(A,o.tabbableOptions)&&!tt.nextTabbableNode(A))&&(ct=Z),ct>=0){var Gn=ct===a.tabbableGroups.length-1?0:ct+1,We=a.tabbableGroups[Gn];H=qt(A)>=0?We.firstTabbableNode:We.firstDomTabbableNode}else Te(F)||(H=tt.nextTabbableNode(A))}}else H=p("fallbackFocus");return H},x=function(b){var A=en(b);if(!(d(A,b)>=0)){if(Se(o.clickOutsideDeactivates,b)){r.deactivate({returnFocus:o.returnFocusOnDeactivate});return}Se(o.allowOutsideClick,b)||b.preventDefault()}},D=function(b){var A=en(b),F=d(A,b)>=0;if(F||A instanceof Document)F&&(a.mostRecentlyFocusedNode=A);else{b.stopImmediatePropagation();var R,T=!0;if(a.mostRecentlyFocusedNode)if(qt(a.mostRecentlyFocusedNode)>0){var H=d(a.mostRecentlyFocusedNode),Z=a.containerGroups[H].tabbableNodes;if(Z.length>0){var tt=Z.findIndex(function(K){return K===a.mostRecentlyFocusedNode});tt>=0&&(o.isKeyForward(a.recentNavEvent)?tt+1=0&&(R=Z[tt-1],T=!1))}}else a.containerGroups.some(function(K){return K.tabbableNodes.some(function(Ft){return qt(Ft)>0})})||(T=!1);else T=!1;T&&(R=k({target:a.mostRecentlyFocusedNode,isBackward:o.isKeyBackward(a.recentNavEvent)})),g(R||a.mostRecentlyFocusedNode||v())}a.recentNavEvent=void 0},_=function(b){var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;a.recentNavEvent=b;var F=k({event:b,isBackward:A});F&&(Te(b)&&b.preventDefault(),g(F))},S=function(b){if(wc(b)&&Se(o.escapeDeactivates,b)!==!1){b.preventDefault(),r.deactivate();return}(o.isKeyForward(b)||o.isKeyBackward(b))&&_(b,o.isKeyBackward(b))},N=function(b){var A=en(b);d(A,b)>=0||Se(o.clickOutsideDeactivates,b)||Se(o.allowOutsideClick,b)||(b.preventDefault(),b.stopImmediatePropagation())},$=function(){if(a.active)return oo.activateTrap(u,r),a.delayInitialFocusTimer=o.delayInitialFocus?ao(function(){g(v())}):g(v()),n.addEventListener("focusin",D,!0),n.addEventListener("mousedown",x,{capture:!0,passive:!1}),n.addEventListener("touchstart",x,{capture:!0,passive:!1}),n.addEventListener("click",N,{capture:!0,passive:!1}),n.addEventListener("keydown",S,{capture:!0,passive:!1}),r},M=function(){if(a.active)return n.removeEventListener("focusin",D,!0),n.removeEventListener("mousedown",x,!0),n.removeEventListener("touchstart",x,!0),n.removeEventListener("click",N,!0),n.removeEventListener("keydown",S,!0),r},Y=function(b){var A=b.some(function(F){var R=Array.from(F.removedNodes);return R.some(function(T){return T===a.mostRecentlyFocusedNode})});A&&g(v())},P=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(Y):void 0,L=function(){P&&(P.disconnect(),a.active&&!a.paused&&a.containers.map(function(b){P.observe(b,{subtree:!0,childList:!0})}))};return r={get active(){return a.active},get paused(){return a.paused},activate:function(b){if(a.active)return this;var A=c(b,"onActivate"),F=c(b,"onPostActivate"),R=c(b,"checkCanFocusTrap");R||f(),a.active=!0,a.paused=!1,a.nodeFocusedBeforeActivation=n.activeElement,A?.();var T=function(){R&&f(),$(),L(),F?.()};return R?(R(a.containers.concat()).then(T,T),this):(T(),this)},deactivate:function(b){if(!a.active)return this;var A=io({onDeactivate:o.onDeactivate,onPostDeactivate:o.onPostDeactivate,checkCanReturnFocus:o.checkCanReturnFocus},b);clearTimeout(a.delayInitialFocusTimer),a.delayInitialFocusTimer=void 0,M(),a.active=!1,a.paused=!1,L(),oo.deactivateTrap(u,r);var F=c(A,"onDeactivate"),R=c(A,"onPostDeactivate"),T=c(A,"checkCanReturnFocus"),H=c(A,"returnFocus","returnFocusOnDeactivate");F?.();var Z=function(){ao(function(){H&&g(w(a.nodeFocusedBeforeActivation)),R?.()})};return H&&T?(T(w(a.nodeFocusedBeforeActivation)).then(Z,Z),this):(Z(),this)},pause:function(b){if(a.paused||!a.active)return this;var A=c(b,"onPause"),F=c(b,"onPostPause");return a.paused=!0,A?.(),M(),L(),F?.(),this},unpause:function(b){if(!a.paused||!a.active)return this;var A=c(b,"onUnpause"),F=c(b,"onPostUnpause");return a.paused=!1,A?.(),f(),$(),L(),F?.(),this},updateContainerElements:function(b){var A=[].concat(b).filter(Boolean);return a.containers=A.map(function(F){return typeof F=="string"?n.querySelector(F):F}),a.active&&f(),L(),this}},r.updateContainerElements(t),r};function _n(){return window._nc_focus_trap??=[],window._nc_focus_trap}function Sc(){let t=[];return{pause(){t=[..._n()];for(const e of t)e.pause()},unpause(){for(const e of t)e.unpause();t=[]}}}const Dc=Ya({name:"NcPopoverTriggerProvider",provide(){return{"NcPopover:trigger:shown":()=>this.shown,"NcPopover:trigger:attrs":()=>this.triggerAttrs}},props:{shown:{type:Boolean,required:!0},popupRole:{type:String,default:void 0}},computed:{triggerAttrs(){return{"aria-haspopup":this.popupRole,"aria-expanded":this.shown.toString()}}},render(){return this.$scopedSlots.default?.({attrs:this.triggerAttrs})}}),Fc=null,Pc=null;var Nc=X(Dc,Fc,Pc,!1,null,null);const Oc=Nc.exports,Rc={name:"NcPopover",components:{Dropdown:tc,NcPopoverTriggerProvider:Oc},inheritAttrs:!1,props:{shown:{type:Boolean,default:!1},popupRole:{type:String,default:void 0,validator:t=>["menu","listbox","tree","grid","dialog","true"].includes(t)},popoverBaseClass:{type:String,default:""},focusTrap:{type:Boolean,default:!0},noFocusTrap:{type:Boolean,default:!1},setReturnFocus:{default:void 0,type:[HTMLElement,SVGElement,String,Boolean,Function]}},emits:["after-show","after-hide","update:shown"],data(){return{internalShown:this.shown}},watch:{shown(t){this.internalShown=t},internalShown(t){this.$emit("update:shown",t)}},mounted(){this.checkTriggerA11y()},beforeDestroy(){this.clearFocusTrap(),this.clearEscapeStopPropagation()},methods:{checkTriggerA11y(){window.OC?.debug&&(this.getPopoverTriggerContainerElement().querySelector("[aria-expanded]")||ye.util.warn("It looks like you are using a custom button as a or other popover #trigger. If you are not using as a trigger, you need to bind attrs from the #trigger slot props to your custom button. See docs for an example."))},removeFloatingVueAriaDescribedBy(){const t=this.getPopoverTriggerContainerElement().querySelectorAll("[data-popper-shown]");for(const e of t)e.removeAttribute("aria-describedby")},getPopoverContentElement(){return this.$refs.popover?.$refs.popperContent?.$el},getPopoverTriggerContainerElement(){return this.$refs.popover.$refs.reference},async useFocusTrap(){if(await this.$nextTick(),this.noFocusTrap||!this.focusTrap)return;const t=this.getPopoverContentElement();t.tabIndex=-1,t&&(this.$focusTrap=$a(t,{escapeDeactivates:!1,allowOutsideClick:!0,setReturnFocus:this.setReturnFocus,trapStack:_n(),fallBackFocus:t}),this.$focusTrap.activate())},clearFocusTrap(t={}){try{this.$focusTrap?.deactivate(t),this.$focusTrap=null}catch(e){console.warn(e)}},addEscapeStopPropagation(){this.getPopoverContentElement()?.addEventListener("keydown",this.stopKeydownEscapeHandler)},clearEscapeStopPropagation(){this.getPopoverContentElement()?.removeEventListener("keydown",this.stopKeydownEscapeHandler)},stopKeydownEscapeHandler(t){t.type==="keydown"&&t.key==="Escape"&&t.stopPropagation()},async afterShow(){this.getPopoverContentElement().addEventListener("transitionend",()=>{this.$emit("after-show")},{once:!0,passive:!0}),this.removeFloatingVueAriaDescribedBy(),await this.$nextTick(),await this.useFocusTrap(),this.addEscapeStopPropagation()},afterHide(){this.getPopoverContentElement().addEventListener("transitionend",()=>{this.$emit("after-hide")},{once:!0,passive:!0}),this.clearFocusTrap(),this.clearEscapeStopPropagation()}}};var Tc=function(){var t=this,e=t._self._c;return e("Dropdown",t._g(t._b({ref:"popover",attrs:{distance:10,"arrow-padding":10,"no-auto-focus":!0,"popper-class":t.popoverBaseClass,shown:t.internalShown},on:{"update:shown":function(n){t.internalShown=n},"apply-show":t.afterShow,"apply-hide":t.afterHide},scopedSlots:t._u([{key:"popper",fn:function(n){return[t._t("default",null,null,n)]}}],null,!0)},"Dropdown",t.$attrs,!1),t.$listeners),[e("NcPopoverTriggerProvider",{attrs:{shown:t.internalShown,"popup-role":t.popupRole},scopedSlots:t._u([{key:"default",fn:function(n){return[t._t("trigger",null,null,n)]}}],null,!0)})],1)},zc=[],Lc=X(Rc,Tc,zc,!1,null,null);const $c=Lc.exports,Zu=t=>Math.random().toString(36).replace(/[^a-z]+/g,"").slice(0,t||5);function Ic(t,e={}){const n=Sc();Ja(t,()=>{Bt(e.disabled)||(Bt(t)?n.pause():n.unpause())}),Xa(()=>{n.unpause()})}const Mc={name:"DotsHorizontalIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Uc=function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon dots-horizontal-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(n){return t.$emit("click",n)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},jc=[],Gc=X(Mc,Uc,jc,!1,null,null);const Vc=Gc.exports;Fu(cs);const Hc=".focusable",Wc={name:"NcActions",components:{NcButton:po,NcPopover:$c},provide(){return{"NcActions:isSemanticMenu":uu(()=>this.actionsMenuSemanticType==="menu")}},props:{open:{type:Boolean,default:!1},manualOpen:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},forceName:{type:Boolean,default:!1},menuName:{type:String,default:null},forceSemanticType:{type:String,default:null,validator(t){return["dialog","menu","expanded","tooltip"].includes(t)}},primary:{type:Boolean,default:!1},type:{type:String,validator(t){return["primary","secondary","tertiary","tertiary-no-background","tertiary-on-primary","error","warning","success"].includes(t)},default:null},defaultIcon:{type:String,default:""},ariaLabel:{type:String,default:Rt("Actions")},ariaHidden:{type:Boolean,default:null},placement:{type:String,default:"bottom"},boundariesElement:{type:Element,default:()=>document.querySelector("#content-vue")??document.querySelector("body")},container:{type:[String,Object,Element,Boolean],default:"body"},disabled:{type:Boolean,default:!1},inline:{type:Number,default:0},variant:{type:String,validator(t){return["primary","secondary","tertiary","tertiary-no-background","tertiary-on-primary","error","warning","success"].includes(t)},default:null}},emits:["click","blur","focus","close","closed","open","opened","update:open"],setup(t){const e=`menu-${Zu()}`,n=`trigger-${e}`,u=Qa(),{top:o,bottom:a}=Fi(u),{top:r,bottom:c}=Fi(ts(t,"boundariesElement")),{height:d}=m0(),p=uu(()=>Math.max(Math.min(o.value-84,o.value-r.value),Math.min(d.value-a.value-34,c.value-a.value)));return{triggerButton:u,maxMenuHeight:p,randomId:e,triggerRandomId:n}},data(){return{opened:this.open,focusIndex:0,actionsMenuSemanticType:"unknown"}},computed:{triggerButtonVariant(){return(this.type??this.variant)||(this.primary?"primary":this.menuName?"secondary":"tertiary")},config(){return{menu:{popupRole:"menu",withArrowNavigation:!0,withTabNavigation:!1,withFocusTrap:!1,triggerA11yAttr:{"aria-controls":this.opened?this.randomId:null},popoverContainerA11yAttrs:{},popoverUlA11yAttrs:{"aria-labelledby":this.triggerRandomId,id:this.randomId,role:"menu"}},expanded:{popupRole:void 0,withArrowNavigation:!1,withTabNavigation:!0,withFocusTrap:!1,triggerA11yAttr:{},popoverContainerA11yAttrs:{},popoverUlA11yAttrs:{}},dialog:{popupRole:"dialog",withArrowNavigation:!1,withTabNavigation:!0,withFocusTrap:!0,triggerA11yAttr:{"aria-controls":this.opened?this.randomId:null},popoverContainerA11yAttrs:{id:this.randomId,role:"dialog","aria-labelledby":this.triggerRandomId,"aria-modal":"true"},popoverUlA11yAttrs:{}},tooltip:{popupRole:void 0,withArrowNavigation:!1,withTabNavigation:!1,withFocusTrap:!1,triggerA11yAttr:{},popoverContainerA11yAttrs:{},popoverUlA11yAttrs:{}},unknown:{popupRole:void 0,role:void 0,withArrowNavigation:!0,withTabNavigation:!1,withFocusTrap:!0,triggerA11yAttr:{},popoverContainerA11yAttrs:{},popoverUlA11yAttrs:{"aria-labelledby":this.triggerRandomId}}}[this.actionsMenuSemanticType]}},watch:{open(t){t!==this.opened&&(this.opened=t)},opened(){this.opened?document.body.addEventListener("keydown",this.handleEscapePressed):document.body.removeEventListener("keydown",this.handleEscapePressed)}},created(){Ic(()=>this.opened,{disabled:()=>this.config.withFocusTrap})},methods:{getActionName(t){return t?.componentOptions?.Ctor?.extendOptions?.name??t?.componentOptions?.tag},isValidSingleAction(t){return["NcActionButton","NcActionLink","NcActionRouter"].includes(this.getActionName(t))},isIconUrl(t){try{return!!new URL(t,t.startsWith("/")?window.location.origin:void 0)}catch{return!1}},openMenu(t){this.opened||(this.opened=!0,this.$emit("update:open",!0),this.$emit("open"))},async closeMenu(t=!0){this.opened&&(await this.$nextTick(),this.opened=!1,this.$refs.popover?.clearFocusTrap({returnFocus:t}),this.$emit("update:open",!1),this.$emit("close"),this.focusIndex=0,t&&this.$refs.triggerButton?.$el.focus())},onClosed(){this.$emit("closed")},onOpened(){this.$nextTick(()=>{this.focusFirstAction(null),this.resizePopover(),this.$emit("opened")})},resizePopover(){const t=this.$refs.menu.closest(".v-popper__inner");if(this.$refs.menu.clientHeight>this.maxMenuHeight){let e=0,n=0;for(const u of this.$refs.menuList.children){if(e+u.clientHeight/2>this.maxMenuHeight){t.style.height=`${e-n/2}px`;break}n=u.clientHeight,e+=n}}else t.style.height="fit-content"},getCurrentActiveMenuItemElement(){return this.$refs.menu.querySelector("li.active")},getFocusableMenuItemElements(){return this.$refs.menu.querySelectorAll(Hc)},onKeydown(t){if(t.key==="Tab"){if(this.config.withFocusTrap)return;if(!this.config.withTabNavigation){this.closeMenu(!0);return}t.preventDefault();const e=this.getFocusableMenuItemElements(),n=[...e].indexOf(document.activeElement);if(n===-1)return;const u=t.shiftKey?n-1:n+1;(u<0||u===e.length)&&this.closeMenu(!0),this.focusIndex=u,this.focusAction();return}this.config.withArrowNavigation&&(t.key==="ArrowUp"&&this.focusPreviousAction(t),t.key==="ArrowDown"&&this.focusNextAction(t),t.key==="PageUp"&&this.focusFirstAction(t),t.key==="PageDown"&&this.focusLastAction(t)),this.handleEscapePressed(t)},onTriggerKeydown(t){t.key==="Escape"&&this.actionsMenuSemanticType==="tooltip"&&this.closeMenu()},handleEscapePressed(t){t.key==="Escape"&&(this.closeMenu(),t.preventDefault())},removeCurrentActive(){const t=this.$refs.menu.querySelector("li.active");t&&t.classList.remove("active")},focusAction(){const t=this.getFocusableMenuItemElements()[this.focusIndex];if(t){this.removeCurrentActive();const e=t.closest("li.action");t.focus(),e&&e.classList.add("active")}},focusPreviousAction(t){this.opened&&(this.focusIndex===0?this.focusLastAction(t):(this.preventIfEvent(t),this.focusIndex=this.focusIndex-1),this.focusAction())},focusNextAction(t){if(this.opened){const e=this.getFocusableMenuItemElements().length-1;this.focusIndex===e?this.focusFirstAction(t):(this.preventIfEvent(t),this.focusIndex=this.focusIndex+1),this.focusAction()}},focusFirstAction(t){if(this.opened){this.preventIfEvent(t);const e=[...this.getFocusableMenuItemElements()].findIndex(n=>n.getAttribute("aria-checked")==="true"&&n.getAttribute("role")==="menuitemradio");this.focusIndex=e>-1?e:0,this.focusAction()}},focusLastAction(t){this.opened&&(this.preventIfEvent(t),this.focusIndex=this.getFocusableMenuItemElements().length-1,this.focusAction())},preventIfEvent(t){t&&(t.preventDefault(),t.stopPropagation())},onFocus(t){this.$emit("focus",t)},onBlur(t){this.$emit("blur",t),this.actionsMenuSemanticType==="tooltip"&&this.$refs.menu&&this.getFocusableMenuItemElements().length===0&&this.closeMenu(!1)},onClick(t){this.$emit("click",t)}},render(t){const e=(this.$slots.default||[]).filter(c=>this.getActionName(c));if(e.length===0)return;let n=e.filter(this.isValidSingleAction);this.forceMenu&&n.length>0&&this.inline>0&&(ye.util.warn("Specifying forceMenu will ignore any inline actions rendering."),n=[]);const u=n.slice(0,this.inline),o=e.filter(c=>!u.includes(c));if(this.forceSemanticType)this.actionsMenuSemanticType=this.forceSemanticType;else{const c=["NcActionInput","NcActionTextEditable"],d=["NcActionButton","NcActionButtonGroup","NcActionCheckbox","NcActionRadio"],p=["NcActionLink","NcActionRouter"],v=o.some(g=>c.includes(this.getActionName(g))),f=o.some(g=>d.includes(this.getActionName(g))),y=o.some(g=>p.includes(this.getActionName(g)));v?this.actionsMenuSemanticType="dialog":f?this.actionsMenuSemanticType="menu":y?this.actionsMenuSemanticType="expanded":e.filter(g=>this.getActionName(g).startsWith("NcAction")).length===e.length?this.actionsMenuSemanticType="tooltip":this.actionsMenuSemanticType="unknown"}const a=c=>{const d=c?.componentOptions?.propsData?.icon,p=c?.data?.scopedSlots?.icon()?.[0]??(this.isIconUrl(d)?t("img",{class:"action-item__menutoggle__icon",attrs:{src:d,alt:""}}):t("span",{class:["icon",d]})),v=c?.data?.attrs||{},f=c?.componentOptions?.listeners?.click,y=c?.componentOptions?.children?.[0]?.text?.trim?.(),g=c?.componentOptions?.propsData?.ariaLabel||y,w=this.forceName?y:"";let k=c?.componentOptions?.propsData?.title;this.forceName||k||(k=y);const x={...c?.componentOptions?.propsData??{}},D=["submit","reset"].includes(x.type)?x.modelValue:"button";return delete x.modelValue,delete x.type,t("NcButton",{class:["action-item action-item--single",c?.data?.staticClass,c?.data?.class],attrs:{...v,"aria-label":g,title:k},ref:c?.data?.ref,props:{...x,disabled:this.disabled||c?.componentOptions?.propsData?.disabled,pressed:c?.componentOptions?.propsData?.modelValue,type:D,variant:(this.type??this.variant)||(w?"secondary":"tertiary")},on:{focus:this.onFocus,blur:this.onBlur,"update:pressed":c?.componentOptions?.listeners?.["update:modelValue"]??(()=>{}),...!!f&&{click:_=>{f&&f(_)}}}},[t("template",{slot:"icon"},[p]),w])},r=c=>{const d=this.$slots.icon?.[0]||(this.defaultIcon?t("span",{class:["icon",this.defaultIcon]}):t(Vc,{props:{size:20}}));return t("NcPopover",{ref:"popover",props:{delay:0,handleResize:!0,shown:this.opened,placement:this.placement,boundary:this.boundariesElement,container:this.container,popoverBaseClass:"action-item__popper",popupRole:this.config.popupRole,setReturnFocus:this.config.withFocusTrap?this.$refs.triggerButton?.$el:null,focusTrap:this.config.withFocusTrap},attrs:{delay:0,handleResize:!0,shown:this.opened,placement:this.placement,boundary:this.boundariesElement,container:this.container,...this.manualOpen&&{triggers:[]}},on:{show:this.openMenu,"after-show":this.onOpened,hide:this.closeMenu,"after-hide":this.onClosed}},[t("NcButton",{class:"action-item__menutoggle",props:{variant:this.triggerButtonVariant,disabled:this.disabled},slot:"trigger",ref:"triggerButton",attrs:{id:this.triggerRandomId,"aria-label":this.menuName?null:this.ariaLabel,...this.config.triggerA11yAttr},on:{focus:this.onFocus,blur:this.onBlur,click:this.onClick,keydown:this.onTriggerKeydown}},[t("template",{slot:"icon"},[d]),this.menuName]),t("div",{class:{open:this.opened},attrs:{tabindex:"-1",...this.config.popoverContainerA11yAttrs},on:{keydown:this.onKeydown},ref:"menu"},[t("ul",{attrs:{tabindex:"-1",...this.config.popoverUlA11yAttrs},ref:"menuList"},[c])])])};return e.length===1&&n.length===1&&!this.forceMenu?a(e[0]):(this.$nextTick(()=>{this.opened&&this.$refs.menu&&(this.resizePopover(),(this.$refs.menu.querySelector("li.active")||[]).length===0&&this.focusFirstAction())}),u.length>0&&this.inline>0?t("div",{class:["action-items",`action-item--${this.triggerButtonVariant}`]},[...u.map(a),o.length>0?t("div",{class:["action-item",{"action-item--open":this.opened}]},[r(o)]):null]):t("div",{class:["action-item action-item--default-popover",`action-item--${this.triggerButtonVariant}`,{"action-item--open":this.opened}]},[r(e)]))}},Kc=null,qc=null;var Zc=X(Wc,Kc,qc,!1,null,"d11b605b");const Yc=Zc.exports,Jc={name:"CloseIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Xc=function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon close-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(n){return t.$emit("click",n)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},Qc=[],td=X(Jc,Xc,Qc,!1,null,null);const ed=td.exports;function nd(t,e,n=!1){const u=es().proxy;return n&&u.$props[t]===void 0&&u.$props.modelValue===void 0&&ye.util.warn(`Missing required prop: "modelValue" or old "${t}"`),uu({get(){return u.$props[t]!==void 0?u.$props[t]:u.$props.modelValue},set(o){u.$emit("update:modelValue",o),u.$emit("update:model-value",o),u.$emit(e,o)}})}const ud=t=>{t.mounted?Array.isArray(t.mounted)||(t.mounted=[t.mounted]):t.mounted=[],t.mounted.push(function(){this.$el.setAttribute("data-v-b77647a","")})};var id="M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z",od="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z";Fu(ds,ps);function ad(t,e){let n,u,o=e,a;this.start=function(){a=!0,u=new Date,n=setTimeout(t,o)},this.pause=function(){a=!1,clearTimeout(n),o-=new Date-u},this.clear=function(){a=!1,clearTimeout(n),o=0},this.getTimeLeft=function(){return a&&(this.pause(),this.start()),o},this.getStateRunning=function(){return a},this.start()}const sd={name:"PauseIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var rd=function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon pause-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(n){return t.$emit("click",n)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M14,19H18V5H14M6,19H10V5H6V19Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},ld=[],vd=X(sd,rd,ld,!1,null,null);const cd=vd.exports,dd={name:"PlayIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var pd=function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon play-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(n){return t.$emit("click",n)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M8,5.14V19.14L19,12.14L8,5.14Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},hd=[],fd=X(dd,pd,hd,!1,null,null);const gd=fd.exports,Yu={name:"NcModal",components:{Close:ed,Pause:cd,Play:gd,NcActions:Yc,NcButton:po,NcIconSvgWrapper:bs},props:{name:{type:String,default:""},hasPrevious:{type:Boolean,default:!1},hasNext:{type:Boolean,default:!1},outTransition:{type:Boolean,default:!1},enableSlideshow:{type:Boolean,default:!1},slideshowDelay:{type:Number,default:5e3},slideshowPaused:{type:Boolean,default:!1},enableSwipe:{type:Boolean,default:!0},disableSwipe:{type:Boolean,default:!1},spreadNavigation:{type:Boolean,default:!1},size:{type:String,default:"normal",validator:t=>["small","normal","large","full"].includes(t)},noClose:{type:Boolean,default:!1},canClose:{type:Boolean,default:!0},closeOnClickOutside:{type:Boolean,default:!0},dark:{type:Boolean,default:!1},lightBackdrop:{type:Boolean,default:!1},container:{type:[String,null],default:"body"},closeButtonContained:{type:Boolean,default:!0},additionalTrapElements:{type:Array,default:()=>[]},inlineActions:{type:Number,default:0},show:{type:Boolean,default:void 0},labelId:{type:String,default:""},setReturnFocus:{default:void 0,type:[HTMLElement,SVGElement,String,Boolean]}},emits:["previous","next","close","update:show"],setup(){return{mdiChevronLeft:id,mdiChevronRight:od}},data(){return{mc:null,playing:!1,slideshowTimeout:null,focusTrap:null,externalFocusTrapStack:[],randId:Zu(),internalShow:!0}},computed:{cssSlideshowDelay(){return`${this.slideshowDelay}ms`},forceDarkBackdrop(){return!this.noClose&&this.canClose&&!this.closeButtonContained||this.hasNext||this.hasPrevious||this.modalName!==""||!!this.$slots.actions},modalName(){return this.name.trim()},modalLabelId(){return this.labelId||`modal-name-${this.randId}`},showModal(){return this.show===void 0?this.internalShow:this.show},modalTransitionName(){return`modal-${this.outTransition?"out":"in"}`},playPauseName(){return this.playing?Rt("Pause slideshow"):Rt("Start slideshow")},closeButtonAriaLabel(){return Rt("Close")},prevButtonAriaLabel(){return Rt("Previous")},nextButtonAriaLabel(){return Rt("Next")}},watch:{slideshowPaused(t){this.slideshowTimeout&&(t?this.slideshowTimeout.pause():this.slideshowTimeout.start())},additionalTrapElements(t){if(this.focusTrap){const e=this.$refs.mask;this.focusTrap.updateContainerElements([e,...t])}}},beforeMount(){window.addEventListener("keydown",this.handleKeydown)},beforeDestroy(){window.removeEventListener("keydown",this.handleKeydown),this.mc.stop()},mounted(){!this.name&&!this.labelId&&ye.util.warn("[NcModal] You need either set the name or set a `labelId` for accessibility."),this.useFocusTrap(),this.mc=f0(this.$refs.mask,{onSwipeEnd:this.handleSwipe}),this.container&&(this.container==="body"?document.body.insertBefore(this.$el,document.body.lastChild):document.querySelector(this.container).appendChild(this.$el))},destroyed(){this.clearFocusTrap(),this.$el.remove()},methods:{t:Rt,previous(t){this.hasPrevious&&(t&&this.resetSlideshow(),this.$emit("previous",t))},next(t){this.hasNext&&(t&&this.resetSlideshow(),this.$emit("next",t))},close(t){!this.noClose&&this.canClose&&(this.internalShow=!1,this.$emit("update:show",!1),setTimeout(()=>{this.$emit("close",t)},300))},handleClickModalWrapper(t){this.closeOnClickOutside&&this.close(t)},handleKeydown(t){if(t.key==="Escape"){const n=_n();return n.length>0&&n[n.length-1]!==this.focusTrap?void 0:this.close(t)}const e={ArrowLeft:this.previous,ArrowRight:this.next};if(e[t.key])return document.activeElement&&!this.$el.contains(document.activeElement)?void 0:e[t.key](t)},handleSwipe(t,e){this.enableSwipe&&!this.disableSwipe&&(e==="left"?this.next(t):e==="right"&&this.previous(t))},togglePlayPause(){this.playing=!this.playing,this.playing?this.handleSlideshow():this.clearSlideshowTimeout()},resetSlideshow(){this.playing=!this.playing,this.clearSlideshowTimeout(),this.$nextTick(function(){this.togglePlayPause()})},handleSlideshow(){this.playing=!0,this.hasNext?this.slideshowTimeout=new ad(()=>{this.next(),this.handleSlideshow()},this.slideshowDelay):(this.playing=!1,this.clearSlideshowTimeout())},clearSlideshowTimeout(){this.slideshowTimeout&&this.slideshowTimeout.clear()},async useFocusTrap(){if(!this.showModal||this.focusTrap)return;const t=this.$refs.mask;await this.$nextTick();const e={allowOutsideClick:!0,fallbackFocus:t,trapStack:_n(),escapeDeactivates:!1,setReturnFocus:this.setReturnFocus};this.externalFocusTrapStack=[...e.trapStack];for(const n of this.externalFocusTrapStack)n.deactivate();this.focusTrap=$a([t,...this.additionalTrapElements],e),this.focusTrap.activate()},clearFocusTrap(){if(this.focusTrap){this.focusTrap?.deactivate(),this.focusTrap=null;for(const t of this.externalFocusTrapStack)t.activate();this.externalFocusTrapStack=[]}}}},ro=()=>{vo((t,e)=>({"189d6f6a":t.cssSlideshowDelay}))},lo=Yu.setup;Yu.setup=lo?(t,e)=>(ro(),lo(t,e)):ro;const md=Yu;var Cd=function(){var t=this,e=t._self._c;return e("transition",{attrs:{name:"fade",appear:""},on:{"after-enter":t.useFocusTrap,"before-leave":t.clearFocusTrap}},[e("div",{directives:[{name:"show",rawName:"v-show",value:t.showModal,expression:"showModal"}],ref:"mask",staticClass:"modal-mask",class:{"modal-mask--opaque":t.dark||t.forceDarkBackdrop,"modal-mask--light":t.lightBackdrop},attrs:{role:"dialog","aria-modal":"true","aria-labelledby":t.modalLabelId,"aria-describedby":"modal-description-"+t.randId,tabindex:"-1"}},[e("transition",{attrs:{name:"fade-visibility",appear:""}},[e("div",{staticClass:"modal-header",attrs:{"data-theme-light":t.lightBackdrop,"data-theme-dark":!t.lightBackdrop}},[t.modalName?e("h2",{staticClass:"modal-header__name",attrs:{id:"modal-name-"+t.randId}},[t._v(" "+t._s(t.modalName)+" ")]):t._e(),e("div",{staticClass:"icons-menu"},[t.hasNext&&t.enableSlideshow?e("button",{staticClass:"play-pause-icons",class:{"play-pause-icons--paused":t.slideshowPaused},attrs:{title:t.playPauseName,type:"button"},on:{click:t.togglePlayPause}},[t.playing?e("Pause",{staticClass:"play-pause-icons__pause",attrs:{size:20}}):e("Play",{staticClass:"play-pause-icons__play",attrs:{size:20}}),e("span",{staticClass:"hidden-visually"},[t._v(" "+t._s(t.playPauseName)+" ")]),t.playing?e("svg",{staticClass:"progress-ring",attrs:{height:"50",width:"50"}},[e("circle",{staticClass:"progress-ring__circle",attrs:{stroke:"white","stroke-width":"2",fill:"transparent",r:"15",cx:"25",cy:"25"}})]):t._e()],1):t._e(),e("NcActions",{staticClass:"header-actions",attrs:{inline:t.inlineActions}},[t._t("actions")],2),!t.noClose&&t.canClose&&!t.closeButtonContained?e("NcButton",{staticClass:"header-close",attrs:{"aria-label":t.closeButtonAriaLabel,variant:"tertiary"},on:{click:t.close},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Close",{attrs:{size:20}})]},proxy:!0}],null,!1,2121748766)}):t._e()],1)])]),e("transition",{attrs:{name:t.modalTransitionName,appear:""}},[e("div",{directives:[{name:"show",rawName:"v-show",value:t.showModal,expression:"showModal"}],staticClass:"modal-wrapper",class:[`modal-wrapper--${t.size}`,{"modal-wrapper--spread-navigation":t.spreadNavigation}],on:{mousedown:function(n){return n.target!==n.currentTarget?null:t.handleClickModalWrapper.apply(null,arguments)}}},[e("transition",{attrs:{name:"fade-visibility",appear:""}},[e("NcButton",{directives:[{name:"show",rawName:"v-show",value:t.hasPrevious,expression:"hasPrevious"}],staticClass:"prev",attrs:{"aria-label":t.prevButtonAriaLabel,variant:"tertiary-no-background"},on:{click:t.previous},scopedSlots:t._u([{key:"icon",fn:function(){return[e("NcIconSvgWrapper",{attrs:{directional:"",path:t.mdiChevronLeft,size:40}})]},proxy:!0}])})],1),e("div",{staticClass:"modal-container",attrs:{id:"modal-description-"+t.randId}},[e("div",{staticClass:"modal-container__content"},[t._t("default")],2),!t.noClose&&t.canClose&&t.closeButtonContained?e("NcButton",{staticClass:"modal-container__close",attrs:{"aria-label":t.closeButtonAriaLabel,variant:"tertiary"},on:{click:t.close},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Close",{attrs:{size:20}})]},proxy:!0}],null,!1,2121748766)}):t._e()],1),e("transition",{attrs:{name:"fade-visibility",appear:""}},[e("NcButton",{directives:[{name:"show",rawName:"v-show",value:t.hasNext,expression:"hasNext"}],staticClass:"next",attrs:{"aria-label":t.nextButtonAriaLabel,variant:"tertiary-no-background"},on:{click:t.next},scopedSlots:t._u([{key:"icon",fn:function(){return[e("NcIconSvgWrapper",{attrs:{directional:"",path:t.mdiChevronRight,size:40}})]},proxy:!0}])})],1)],1)])],1)])},yd=[],Ed=X(md,Cd,yd,!1,null,"0fc6c354");const kd=Ed.exports;ud(kd),Fu();const bd={name:"CheckboxBlankOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Ad=function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon checkbox-blank-outline-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(n){return t.$emit("click",n)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M19,5V19H5V5H19Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},wd=[],Bd=X(bd,Ad,wd,!1,null,null);const xd=Bd.exports,_d={name:"MinusBoxIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Sd=function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon minus-box-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(n){return t.$emit("click",n)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M17,13H7V11H17M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},Dd=[],Fd=X(_d,Sd,Dd,!1,null,null);const Pd=Fd.exports,Nd={name:"CheckboxMarkedIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Od=function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon checkbox-marked-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(n){return t.$emit("click",n)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},Rd=[],Td=X(Nd,Od,Rd,!1,null,null);const zd=Td.exports,Ld={name:"RadioboxMarkedIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var $d=function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon radiobox-marked-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(n){return t.$emit("click",n)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12A5,5 0 0,0 12,7Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},Id=[],Md=X(Ld,$d,Id,!1,null,null);const Ud=Md.exports,jd={name:"RadioboxBlankIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Gd=function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon radiobox-blank-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(n){return t.$emit("click",n)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},Vd=[],Hd=X(jd,Gd,Vd,!1,null,null);const Wd=Hd.exports,Kd={name:"ToggleSwitchOffIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var qd=function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon toggle-switch-off-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(n){return t.$emit("click",n)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M17,7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7M7,15A3,3 0 0,1 4,12A3,3 0 0,1 7,9A3,3 0 0,1 10,12A3,3 0 0,1 7,15Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},Zd=[],Yd=X(Kd,qd,Zd,!1,null,null);const Jd=Yd.exports,Xd={name:"ToggleSwitchIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Qd=function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon toggle-switch-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(n){return t.$emit("click",n)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M17,7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7M17,15A3,3 0 0,1 14,12A3,3 0 0,1 17,9A3,3 0 0,1 20,12A3,3 0 0,1 17,15Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},tp=[],ep=X(Xd,Qd,tp,!1,null,null);const np=ep.exports,de="checkbox",pe="radio",zt="switch",ze="button",up={name:"NcCheckboxContent",components:{NcLoadingIcon:b0},props:{iconClass:{type:[String,Object],default:null},textClass:{type:[String,Object],default:null},type:{type:String,default:"checkbox",validator:t=>[de,pe,zt,ze].includes(t)},buttonVariant:{type:Boolean,default:!1},isChecked:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},size:{type:Number,default:24}},computed:{isButtonType(){return this.type===ze},checkboxRadioIconElement(){return this.type===pe?this.isChecked?Ud:Wd:this.type===zt?this.isChecked?np:Jd:this.indeterminate?Pd:this.isChecked?zd:xd}}};var ip=function(){var t=this,e=t._self._c;return e("span",{staticClass:"checkbox-content",class:{["checkbox-content-"+t.type]:!0,"checkbox-content--button-variant":t.buttonVariant,"checkbox-content--has-text":!!t.$slots.default}},[e("span",{class:{"checkbox-content__icon":!0,"checkbox-content__icon--checked":t.isChecked,[t.iconClass]:!0},attrs:{"aria-hidden":!0,inert:""}},[t._t("icon",function(){return[t.loading?e("NcLoadingIcon"):t.buttonVariant?t._e():e(t.checkboxRadioIconElement,{tag:"component",attrs:{size:t.size}})]},{checked:t.isChecked,loading:t.loading})],2),t.$slots.default?e("span",{class:["checkbox-content__text",t.textClass]},[t._t("default")],2):t._e()])},op=[],ap=X(up,ip,op,!1,null,"18de8bed");const sp=ap.exports,rp={name:"NcCheckboxRadioSwitch",components:{NcCheckboxContent:sp},inheritAttrs:!1,model:{prop:"modelValue",event:"update:modelValue"},props:{id:{type:String,default:()=>"checkbox-radio-switch-"+Zu(),validator:t=>t.trim()!==""},wrapperId:{type:String,default:null},name:{type:String,default:null},ariaLabel:{type:String,default:""},type:{type:String,default:"checkbox",validator:t=>[de,pe,zt,ze].includes(t)},buttonVariant:{type:Boolean,default:!1},buttonVariantGrouped:{type:String,default:"no",validator:t=>["no","vertical","horizontal"].includes(t)},checked:{type:[Boolean,Array,String],default:void 0},modelValue:{type:[Boolean,Array,String],default:!1},value:{type:String,default:null},disabled:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1},required:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},wrapperElement:{type:String,default:null}},emits:["update:checked","update:modelValue","update:model-value"],setup(){return{model:nd("checked","update:checked")}},computed:{dataAttrs(){return Object.fromEntries(Object.entries(this.$attrs).filter(([t])=>t.startsWith("data-")))},nonDataAttrs(){return Object.fromEntries(Object.entries(this.$attrs).filter(([t])=>!t.startsWith("data-")))},isButtonType(){return this.type===ze},computedWrapperElement(){return this.isButtonType?"button":this.wrapperElement!==null?this.wrapperElement:"span"},listeners(){return this.isButtonType?{click:this.onToggle}:{change:this.onToggle}},size(){return this.type===zt?36:24},cssVars(){return{"--icon-size":this.size+"px","--icon-height":(this.type===zt?16:this.size)+"px"}},inputType(){return[de,pe,ze].includes(this.type)?this.type:de},isChecked(){return this.value!==null?Array.isArray(this.model)?[...this.model].indexOf(this.value)>-1:this.model===this.value:this.model===!0},hasIndeterminate(){return[de,pe].includes(this.inputType)}},mounted(){if(this.name&&this.type===de&&!Array.isArray(this.model))throw new Error("When using groups of checkboxes, the updated value will be an array.");if(this.name&&this.type===zt)throw new Error("Switches are not made to be used for data sets. Please use checkboxes instead.");if(typeof this.model!="boolean"&&this.type===zt)throw new Error("Switches can only be used with boolean as checked prop.")},methods:{t:Rt,n:vs,onToggle(t){if(this.disabled||t.target.tagName.toLowerCase()==="a")return;if(this.type===pe){this.model=this.value;return}if(this.type===zt){this.model=!this.isChecked;return}if(typeof this.model=="boolean"){this.model=!this.model;return}const e=this.getInputsSet().filter(n=>n.checked).map(n=>n.value);e.includes(this.value)?this.model=e.filter(n=>n!==this.value):this.model=[...e,this.value]},getInputsSet(){return[...document.getElementsByName(this.name)]}}};var lp=function(){var t=this,e=t._self._c;return e(t.computedWrapperElement,t._g(t._b({tag:"component",staticClass:"checkbox-radio-switch",class:{["checkbox-radio-switch-"+t.type]:t.type,"checkbox-radio-switch--checked":t.isChecked,"checkbox-radio-switch--disabled":t.disabled,"checkbox-radio-switch--indeterminate":t.hasIndeterminate?t.indeterminate:!1,"checkbox-radio-switch--button-variant":t.buttonVariant,"checkbox-radio-switch--button-variant-v-grouped":t.buttonVariant&&t.buttonVariantGrouped==="vertical","checkbox-radio-switch--button-variant-h-grouped":t.buttonVariant&&t.buttonVariantGrouped==="horizontal","button-vue":t.isButtonType},style:t.cssVars,attrs:{id:t.wrapperId,"aria-label":t.isButtonType&&t.ariaLabel?t.ariaLabel:void 0,type:t.isButtonType?"button":null}},"component",t.isButtonType?t.$attrs:t.dataAttrs,!1),t.isButtonType?t.listeners:null),[t.isButtonType?t._e():e("input",t._g(t._b({staticClass:"checkbox-radio-switch__input",attrs:{id:t.id,"aria-labelledby":!t.isButtonType&&!t.ariaLabel?`${t.id}-label`:null,"aria-label":t.ariaLabel||void 0,disabled:t.disabled,type:t.inputType,required:t.required,name:t.name},domProps:{value:t.value,checked:t.isChecked,indeterminate:t.hasIndeterminate?t.indeterminate:null}},"input",t.nonDataAttrs,!1),t.listeners)),e("NcCheckboxContent",{staticClass:"checkbox-radio-switch__content",attrs:{id:t.isButtonType?void 0:`${t.id}-label`,"icon-class":"checkbox-radio-switch__icon","text-class":"checkbox-radio-switch__text",type:t.type,indeterminate:t.hasIndeterminate?t.indeterminate:!1,"button-variant":t.buttonVariant,"is-checked":t.isChecked,loading:t.loading,size:t.size},nativeOn:{click:function(n){return t.onToggle.apply(null,arguments)}},scopedSlots:t._u([{key:"icon",fn:function(){return[t._t("icon")]},proxy:!0}],null,!0)},[t._t("default")],2)],1)},vp=[],cp=X(rp,lp,vp,!1,null,"22cdd229");const lh=cp.exports;export{kp as $,ls as A,Rp as B,ed as C,Ep as D,Up as E,mp as F,Zu as G,os as H,Du as I,yp as J,Vc as K,gp as L,Tp as M,bs as N,Ap as O,nd as P,wp as Q,Sp as R,Cp as S,fp as T,$p as U,zp as V,Dp as W,Lp as X,Op as Y,ds as Z,is as _,Rt as a,sh as a0,rh as a1,$c as a2,po as b,jp as c,Pp as d,b0 as e,xe as f,W as g,Bp as h,mc as i,$a as j,_n as k,oh as l,bp as m,X as n,ah as o,xp as p,Mp as q,Fu as r,_p as s,Np as t,f0 as u,hp as v,Yc as w,Ip as x,lh as y,Fp as z}; -//# sourceMappingURL=NcCheckboxRadioSwitch-Di9rSADK-CehrbmLY.chunk.mjs.map +`+o):n.stack=o}catch{}}throw n}}_request(t,e){typeof t=="string"?(e=e||{},e.url=t):e=t||{},e=te(this.defaults,e);const{transitional:n,paramsSerializer:u,headers:o}=e;n!==void 0&&an.assertOptions(n,{silentJSONParsing:Ct.transitional(Ct.boolean),forcedJSONParsing:Ct.transitional(Ct.boolean),clarifyTimeoutError:Ct.transitional(Ct.boolean)},!1),u!=null&&(C.isFunction(u)?e.paramsSerializer={serialize:u}:an.assertOptions(u,{encode:Ct.function,serialize:Ct.function},!0)),e.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?e.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:e.allowAbsoluteUrls=!0),an.assertOptions(e,{baseUrl:Ct.spelling("baseURL"),withXsrfToken:Ct.spelling("withXSRFToken")},!0),e.method=(e.method||this.defaults.method||"get").toLowerCase();let a=o&&C.merge(o.common,o[e.method]);o&&C.forEach(["delete","get","head","post","put","patch","common"],g=>{delete o[g]}),e.headers=at.concat(a,o);const r=[];let c=!0;this.interceptors.request.forEach(function(g){typeof g.runWhen=="function"&&g.runWhen(e)===!1||(c=c&&g.synchronous,r.unshift(g.fulfilled,g.rejected))});const d=[];this.interceptors.response.forEach(function(g){d.push(g.fulfilled,g.rejected)});let p,v=0,f;if(!c){const g=[Ai.bind(this),void 0];for(g.unshift.apply(g,r),g.push.apply(g,d),f=g.length,p=Promise.resolve(e);v{if(!u._listeners)return;let a=u._listeners.length;for(;a-- >0;)u._listeners[a](o);u._listeners=null}),this.promise.then=o=>{let a;const r=new Promise(c=>{u.subscribe(c),a=c}).then(o);return r.cancel=function(){u.unsubscribe(a)},r},e(function(o,a,r){u.reason||(u.reason=new ke(o,a,r),n(u.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const n=this._listeners.indexOf(e);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const e=new AbortController,n=u=>{e.abort(u)};return this.subscribe(n),e.signal.unsubscribe=()=>this.unsubscribe(n),e.signal}static source(){let e;return{token:new To(function(n){e=n}),cancel:e}}};function ol(t){return function(e){return t.apply(null,e)}}function al(t){return C.isObject(t)&&t.isAxiosError===!0}const cu={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(cu).forEach(([t,e])=>{cu[e]=t});function zo(t){const e=new Yt(t),n=ho(Yt.prototype.request,e);return C.extend(n,Yt.prototype,e,{allOwnKeys:!0}),C.extend(n,e,null,{allOwnKeys:!0}),n.create=function(u){return zo(te(t,u))},n}const W=zo(Ge);W.Axios=Yt,W.CanceledError=ke,W.CancelToken=il,W.isCancel=_o,W.VERSION=Ro,W.toFormData=Pn,W.AxiosError=O,W.Cancel=W.CanceledError,W.all=function(t){return Promise.all(t)},W.spread=ol,W.isAxiosError=al,W.mergeConfig=te,W.AxiosHeaders=at,W.formToJSON=t=>xo(C.isHTMLForm(t)?new FormData(t):t),W.getAdapter=Oo.getAdapter,W.HttpStatusCode=cu,W.default=W;const{Axios:Gp,AxiosError:Vp,CanceledError:Hp,isCancel:Wp,CancelToken:Kp,VERSION:qp,all:Zp,Cancel:Yp,isAxiosError:Jp,spread:Xp,toFormData:Qp,AxiosHeaders:th,HttpStatusCode:eh,formToJSON:nh,getAdapter:uh,mergeConfig:ih}=W,Bi=Symbol("csrf-retry"),sl=t=>async e=>{var n;const{config:u,response:o,request:a}=e,r=a?.responseURL;if(o?.status===412&&((n=o?.data)==null?void 0:n.message)==="CSRF check failed"&&u[Bi]===void 0){console.warn("Request to ".concat(r," failed because of a CSRF mismatch. Fetching a new token"));const{data:{token:c}}=await t.get(is("/csrftoken"));return console.debug("New request token ".concat(c," fetched")),t.defaults.headers.requesttoken=c,t({...u,headers:{...u.headers,requesttoken:c},[Bi]:!0})}return Promise.reject(e)},qe=Symbol("retryDelay"),rl=t=>async e=>{var n;const{config:u,response:o,request:a}=e,r=a?.responseURL,c=o?.status,d=o?.headers;if(c===503&&d["x-nextcloud-maintenance-mode"]==="1"&&u.retryIfMaintenanceMode&&(!u[qe]||u[qe]<=32)){const p=((n=u[qe])!=null?n:1)*2;return console.warn("Request to ".concat(r," failed because of maintenance mode. Retrying in ").concat(p,"s")),await new Promise(v=>{setTimeout(v,p*1e3)}),t({...u,[qe]:p})}return Promise.reject(e)},ll=async t=>{var e;const{config:n,response:u,request:o}=t,a=o?.responseURL;return u?.status===401&&((e=u?.data)==null?void 0:e.message)==="Current user is not logged in"&&n.reloadExpiredSession&&window?.location&&(console.error("Request to ".concat(a," failed because the user session expired. Reloading the page …")),window.location.reload()),Promise.reject(t)};var xi;const Lo=W.create({headers:{requesttoken:(xi=ns())!=null?xi:"","X-Requested-With":"XMLHttpRequest"}}),xe=Object.assign(Lo,{CancelToken:W.CancelToken,isCancel:W.isCancel});xe.interceptors.response.use(t=>t,sl(xe)),xe.interceptors.response.use(t=>t,rl(xe)),xe.interceptors.response.use(t=>t,ll),us(t=>{Lo.defaults.headers.requesttoken=t});function oh(t,e,n){const u=document.querySelector(`#initial-state-${t}-${e}`);if(u===null){if(n!==void 0)return n;throw new Error(`Could not find initial state ${e} of ${t}`)}try{return JSON.parse(atob(u.value))}catch{throw new Error(`Could not parse initial state ${e} of ${t}`)}}function vl(t){const e=Object.create(null);for(const n of t.split(","))e[n]=1;return n=>n in e}const Tu={},sn=()=>{},$o=Object.assign,cl=Object.prototype.hasOwnProperty,du=(t,e)=>cl.call(t,e),pt=Array.isArray,De=t=>On(t)==="[object Map]",dl=t=>On(t)==="[object Set]",Mt=t=>typeof t=="function",pl=t=>typeof t=="string",Ve=t=>typeof t=="symbol",be=t=>t!==null&&typeof t=="object",hl=t=>(be(t)||Mt(t))&&Mt(t.then)&&Mt(t.catch),fl=Object.prototype.toString,On=t=>fl.call(t),gl=t=>On(t).slice(8,-1),ml=t=>On(t)==="[object Object]",zu=t=>pl(t)&&t!=="NaN"&&t[0]!=="-"&&""+parseInt(t,10)===t,Ut=(t,e)=>!Object.is(t,e);let _i;const pu=()=>_i||(_i=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof Qt<"u"?Qt:{});let j;const Jn=new WeakSet;class Cl{constructor(e){this.fn=e,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Jn.has(this)&&(Jn.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Mo(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Si(this),Uo(this);const e=j,n=ht;j=this,ht=!0;try{return this.fn()}finally{jo(this),j=e,ht=n,this.flags&=-3}}stop(){if(this.flags&1){for(let e=this.deps;e;e=e.nextDep)Iu(e);this.deps=this.depsTail=void 0,Si(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Jn.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){hu(this)&&this.run()}get dirty(){return hu(this)}}let Io=0,Fe,Pe;function Mo(t,e=!1){if(t.flags|=8,e){t.next=Pe,Pe=t;return}t.next=Fe,Fe=t}function Lu(){Io++}function $u(){if(--Io>0)return;if(Pe){let e=Pe;for(Pe=void 0;e;){const n=e.next;e.next=void 0,e.flags&=-9,e=n}}let t;for(;Fe;){let e=Fe;for(Fe=void 0;e;){const n=e.next;if(e.next=void 0,e.flags&=-9,e.flags&1)try{e.trigger()}catch(u){t||(t=u)}e=n}}if(t)throw t}function Uo(t){for(let e=t.deps;e;e=e.nextDep)e.version=-1,e.prevActiveLink=e.dep.activeLink,e.dep.activeLink=e}function jo(t){let e,n=t.depsTail,u=n;for(;u;){const o=u.prevDep;u.version===-1?(u===n&&(n=o),Iu(u),yl(u)):e=u,u.dep.activeLink=u.prevActiveLink,u.prevActiveLink=void 0,u=o}t.deps=e,t.depsTail=n}function hu(t){for(let e=t.deps;e;e=e.nextDep)if(e.dep.version!==e.version||e.dep.computed&&(Go(e.dep.computed)||e.dep.version!==e.version))return!0;return!!t._dirty}function Go(t){if(t.flags&4&&!(t.flags&16)||(t.flags&=-17,t.globalVersion===$e))return;t.globalVersion=$e;const e=t.dep;if(t.flags|=2,e.version>0&&!t.isSSR&&t.deps&&!hu(t)){t.flags&=-3;return}const n=j,u=ht;j=t,ht=!0;try{Uo(t);const o=t.fn(t._value);(e.version===0||Ut(o,t._value))&&(t._value=o,e.version++)}catch(o){throw e.version++,o}finally{j=n,ht=u,jo(t),t.flags&=-3}}function Iu(t,e=!1){const{dep:n,prevSub:u,nextSub:o}=t;if(u&&(u.nextSub=o,t.prevSub=void 0),o&&(o.prevSub=u,t.nextSub=void 0),n.subs===t&&(n.subs=u,!u&&n.computed)){n.computed.flags&=-5;for(let a=n.computed.deps;a;a=a.nextDep)Iu(a,!0)}!e&&!--n.sc&&n.map&&n.map.delete(n.key)}function yl(t){const{prevDep:e,nextDep:n}=t;e&&(e.nextDep=n,t.prevDep=void 0),n&&(n.prevDep=e,t.nextDep=void 0)}let ht=!0;const Vo=[];function Rn(){Vo.push(ht),ht=!1}function Tn(){const t=Vo.pop();ht=t===void 0?!0:t}function Si(t){const{cleanup:e}=t;if(t.cleanup=void 0,e){const n=j;j=void 0;try{e()}finally{j=n}}}let $e=0;class El{constructor(e,n){this.sub=e,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Mu{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0}track(e){if(!j||!ht||j===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==j)n=this.activeLink=new El(j,this),j.deps?(n.prevDep=j.depsTail,j.depsTail.nextDep=n,j.depsTail=n):j.deps=j.depsTail=n,Ho(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const u=n.nextDep;u.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=u),n.prevDep=j.depsTail,n.nextDep=void 0,j.depsTail.nextDep=n,j.depsTail=n,j.deps===n&&(j.deps=u)}return n}trigger(e){this.version++,$e++,this.notify(e)}notify(e){Lu();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{$u()}}}function Ho(t){if(t.dep.sc++,t.sub.flags&4){const e=t.dep.computed;if(e&&!t.dep.subs){e.flags|=20;for(let u=e.deps;u;u=u.nextDep)Ho(u)}const n=t.dep.subs;n!==t&&(t.prevSub=n,n&&(n.nextSub=t)),t.dep.subs=t}}const fu=new WeakMap,Jt=Symbol(""),gu=Symbol(""),Ie=Symbol("");function ot(t,e,n){if(ht&&j){let u=fu.get(t);u||fu.set(t,u=new Map);let o=u.get(n);o||(u.set(n,o=new Mu),o.map=u,o.key=n),o.track()}}function Lt(t,e,n,u,o,a){const r=fu.get(t);if(!r){$e++;return}const c=d=>{d&&d.trigger()};if(Lu(),e==="clear")r.forEach(c);else{const d=pt(t),p=d&&zu(n);if(d&&n==="length"){const v=Number(u);r.forEach((f,y)=>{(y==="length"||y===Ie||!Ve(y)&&y>=v)&&c(f)})}else switch((n!==void 0||r.has(void 0))&&c(r.get(n)),p&&c(r.get(Ie)),e){case"add":d?p&&c(r.get("length")):(c(r.get(Jt)),De(t)&&c(r.get(gu)));break;case"delete":d||(c(r.get(Jt)),De(t)&&c(r.get(gu)));break;case"set":De(t)&&c(r.get(Jt));break}}$u()}function le(t){const e=I(t);return e===t?e:(ot(e,"iterate",Ie),ft(t)?e:e.map(it))}function Uu(t){return ot(t=I(t),"iterate",Ie),t}const kl={__proto__:null,[Symbol.iterator](){return Xn(this,Symbol.iterator,it)},concat(...t){return le(this).concat(...t.map(e=>pt(e)?le(e):e))},entries(){return Xn(this,"entries",t=>(t[1]=it(t[1]),t))},every(t,e){return kt(this,"every",t,e,void 0,arguments)},filter(t,e){return kt(this,"filter",t,e,n=>n.map(it),arguments)},find(t,e){return kt(this,"find",t,e,it,arguments)},findIndex(t,e){return kt(this,"findIndex",t,e,void 0,arguments)},findLast(t,e){return kt(this,"findLast",t,e,it,arguments)},findLastIndex(t,e){return kt(this,"findLastIndex",t,e,void 0,arguments)},forEach(t,e){return kt(this,"forEach",t,e,void 0,arguments)},includes(...t){return Qn(this,"includes",t)},indexOf(...t){return Qn(this,"indexOf",t)},join(t){return le(this).join(t)},lastIndexOf(...t){return Qn(this,"lastIndexOf",t)},map(t,e){return kt(this,"map",t,e,void 0,arguments)},pop(){return _e(this,"pop")},push(...t){return _e(this,"push",t)},reduce(t,...e){return Di(this,"reduce",t,e)},reduceRight(t,...e){return Di(this,"reduceRight",t,e)},shift(){return _e(this,"shift")},some(t,e){return kt(this,"some",t,e,void 0,arguments)},splice(...t){return _e(this,"splice",t)},toReversed(){return le(this).toReversed()},toSorted(t){return le(this).toSorted(t)},toSpliced(...t){return le(this).toSpliced(...t)},unshift(...t){return _e(this,"unshift",t)},values(){return Xn(this,"values",it)}};function Xn(t,e,n){const u=Uu(t),o=u[e]();return u!==t&&!ft(t)&&(o._next=o.next,o.next=()=>{const a=o._next();return a.value&&(a.value=n(a.value)),a}),o}const bl=Array.prototype;function kt(t,e,n,u,o,a){const r=Uu(t),c=r!==t&&!ft(t),d=r[e];if(d!==bl[e]){const f=d.apply(t,a);return c?it(f):f}let p=n;r!==t&&(c?p=function(f,y){return n.call(this,it(f),y,t)}:n.length>2&&(p=function(f,y){return n.call(this,f,y,t)}));const v=d.call(r,p,u);return c&&o?o(v):v}function Di(t,e,n,u){const o=Uu(t);let a=n;return o!==t&&(ft(t)?n.length>3&&(a=function(r,c,d){return n.call(this,r,c,d,t)}):a=function(r,c,d){return n.call(this,r,it(c),d,t)}),o[e](a,...u)}function Qn(t,e,n){const u=I(t);ot(u,"iterate",Ie);const o=u[e](...n);return(o===-1||o===!1)&&Ll(n[0])?(n[0]=I(n[0]),u[e](...n)):o}function _e(t,e,n=[]){Rn(),Lu();const u=I(t)[e].apply(t,n);return $u(),Tn(),u}const Al=vl("__proto__,__v_isRef,__isVue"),Wo=new Set(Object.getOwnPropertyNames(Symbol).filter(t=>t!=="arguments"&&t!=="caller").map(t=>Symbol[t]).filter(Ve));function wl(t){Ve(t)||(t=String(t));const e=I(this);return ot(e,"has",t),e.hasOwnProperty(t)}class Ko{constructor(e=!1,n=!1){this._isReadonly=e,this._isShallow=n}get(e,n,u){if(n==="__v_skip")return e.__v_skip;const o=this._isReadonly,a=this._isShallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return a;if(n==="__v_raw")return u===(o?a?Rl:Yo:a?Ol:Zo).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(u)?e:void 0;const r=pt(e);if(!o){let d;if(r&&(d=kl[n]))return d;if(n==="hasOwnProperty")return wl}const c=Reflect.get(e,n,Et(e)?e:u);return(Ve(n)?Wo.has(n):Al(n))||(o||ot(e,"get",n),a)?c:Et(c)?r&&zu(n)?c:c.value:be(c)?o?Jo(c):fn(c):c}}class Bl extends Ko{constructor(e=!1){super(!1,e)}set(e,n,u,o){let a=e[n];if(!this._isShallow){const d=ee(a);if(!ft(u)&&!ee(u)&&(a=I(a),u=I(u)),!pt(e)&&Et(a)&&!Et(u))return d?!1:(a.value=u,!0)}const r=pt(e)&&zu(n)?Number(n)t,Ze=t=>Reflect.getPrototypeOf(t);function Dl(t,e,n){return function(...u){const o=this.__v_raw,a=I(o),r=De(a),c=t==="entries"||t===Symbol.iterator&&r,d=t==="keys"&&r,p=o[t](...u),v=n?mu:e?Cu:it;return!e&&ot(a,"iterate",d?gu:Jt),{next(){const{value:f,done:y}=p.next();return y?{value:f,done:y}:{value:c?[v(f[0]),v(f[1])]:v(f),done:y}},[Symbol.iterator](){return this}}}}function Ye(t){return function(...e){return t==="delete"?!1:t==="clear"?void 0:this}}function Fl(t,e){const n={get(u){const o=this.__v_raw,a=I(o),r=I(u);t||(Ut(u,r)&&ot(a,"get",u),ot(a,"get",r));const{has:c}=Ze(a),d=e?mu:t?Cu:it;if(c.call(a,u))return d(o.get(u));if(c.call(a,r))return d(o.get(r));o!==a&&o.get(u)},get size(){const u=this.__v_raw;return!t&&ot(I(u),"iterate",Jt),Reflect.get(u,"size",u)},has(u){const o=this.__v_raw,a=I(o),r=I(u);return t||(Ut(u,r)&&ot(a,"has",u),ot(a,"has",r)),u===r?o.has(u):o.has(u)||o.has(r)},forEach(u,o){const a=this,r=a.__v_raw,c=I(r),d=e?mu:t?Cu:it;return!t&&ot(c,"iterate",Jt),r.forEach((p,v)=>u.call(o,d(p),d(v),a))}};return $o(n,t?{add:Ye("add"),set:Ye("set"),delete:Ye("delete"),clear:Ye("clear")}:{add(u){!e&&!ft(u)&&!ee(u)&&(u=I(u));const o=I(this);return Ze(o).has.call(o,u)||(o.add(u),Lt(o,"add",u,u)),this},set(u,o){!e&&!ft(o)&&!ee(o)&&(o=I(o));const a=I(this),{has:r,get:c}=Ze(a);let d=r.call(a,u);d||(u=I(u),d=r.call(a,u));const p=c.call(a,u);return a.set(u,o),d?Ut(o,p)&&Lt(a,"set",u,o):Lt(a,"add",u,o),this},delete(u){const o=I(this),{has:a,get:r}=Ze(o);let c=a.call(o,u);c||(u=I(u),c=a.call(o,u)),r&&r.call(o,u);const d=o.delete(u);return c&&Lt(o,"delete",u,void 0),d},clear(){const u=I(this),o=u.size!==0,a=u.clear();return o&&Lt(u,"clear",void 0,void 0),a}}),["keys","values","entries",Symbol.iterator].forEach(u=>{n[u]=Dl(u,t,e)}),n}function qo(t,e){const n=Fl(t,e);return(u,o,a)=>o==="__v_isReactive"?!t:o==="__v_isReadonly"?t:o==="__v_raw"?u:Reflect.get(du(n,o)&&o in u?n:u,o,a)}const Pl={get:qo(!1,!1)},Nl={get:qo(!0,!1)},Zo=new WeakMap,Ol=new WeakMap,Yo=new WeakMap,Rl=new WeakMap;function Tl(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function zl(t){return t.__v_skip||!Object.isExtensible(t)?0:Tl(gl(t))}function fn(t){return ee(t)?t:Xo(t,!1,_l,Pl,Zo)}function Jo(t){return Xo(t,!0,Sl,Nl,Yo)}function Xo(t,e,n,u,o){if(!be(t)||t.__v_raw&&!(e&&t.__v_isReactive))return t;const a=o.get(t);if(a)return a;const r=zl(t);if(r===0)return t;const c=new Proxy(t,r===2?u:n);return o.set(t,c),c}function rn(t){return ee(t)?rn(t.__v_raw):!!(t&&t.__v_isReactive)}function ee(t){return!!(t&&t.__v_isReadonly)}function ft(t){return!!(t&&t.__v_isShallow)}function Ll(t){return t?!!t.__v_raw:!1}function I(t){const e=t&&t.__v_raw;return e?I(e):t}const it=t=>be(t)?fn(t):t,Cu=t=>be(t)?Jo(t):t;function Et(t){return t?t.__v_isRef===!0:!1}function nt(t){return $l(t,!1)}function $l(t,e){return Et(t)?t:new Il(t,e)}class Il{constructor(e,n){this.dep=new Mu,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?e:I(e),this._value=n?e:it(e),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(e){const n=this._rawValue,u=this.__v_isShallow||ft(e)||ee(e);e=u?e:I(e),Ut(e,n)&&(this._rawValue=e,this._value=u?e:it(e),this.dep.trigger())}}function Ml(t){return Et(t)?t.value:t}class Ul{constructor(e,n,u){this.fn=e,this.setter=n,this._value=void 0,this.dep=new Mu(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=$e-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=u}notify(){if(this.flags|=16,!(this.flags&8)&&j!==this)return Mo(this,!0),!0}get value(){const e=this.dep.track();return Go(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}function jl(t,e,n=!1){let u,o;return Mt(t)?u=t:(u=t.get,o=t.set),new Ul(u,o,n)}const Je={},gn=new WeakMap;let Wt;function Gl(t,e=!1,n=Wt){if(n){let u=gn.get(n);u||gn.set(n,u=[]),u.push(t)}}function Vl(t,e,n=Tu){const{immediate:u,deep:o,once:a,scheduler:r,augmentJob:c,call:d}=n,p=S=>o?S:ft(S)||o===!1||o===0?$t(S,1):$t(S);let v,f,y,g,w=!1,k=!1;if(Et(t)?(f=()=>t.value,w=ft(t)):rn(t)?(f=()=>p(t),w=!0):pt(t)?(k=!0,w=t.some(S=>rn(S)||ft(S)),f=()=>t.map(S=>{if(Et(S))return S.value;if(rn(S))return p(S);if(Mt(S))return d?d(S,2):S()})):Mt(t)?e?f=d?()=>d(t,2):t:f=()=>{if(y){Rn();try{y()}finally{Tn()}}const S=Wt;Wt=v;try{return d?d(t,3,[g]):t(g)}finally{Wt=S}}:f=sn,e&&o){const S=f,N=o===!0?1/0:o;f=()=>$t(S(),N)}const x=()=>{v.stop()};if(a&&e){const S=e;e=(...N)=>{S(...N),x()}}let D=k?new Array(t.length).fill(Je):Je;const _=S=>{if(!(!(v.flags&1)||!v.dirty&&!S))if(e){const N=v.run();if(o||w||(k?N.some(($,M)=>Ut($,D[M])):Ut(N,D))){y&&y();const $=Wt;Wt=v;try{const M=[N,D===Je?void 0:k&&D[0]===Je?[]:D,g];d?d(e,3,M):e(...M),D=N}finally{Wt=$}}}else v.run()};return c&&c(_),v=new Cl(f),v.scheduler=r?()=>r(_,!1):_,g=S=>Gl(S,!1,v),y=v.onStop=()=>{const S=gn.get(v);if(S){if(d)d(S,4);else for(const N of S)N();gn.delete(v)}},e?u?_(!0):D=v.run():r?r(_.bind(null,!0),!0):v.run(),x.pause=v.pause.bind(v),x.resume=v.resume.bind(v),x.stop=x,x}function $t(t,e=1/0,n){if(e<=0||!be(t)||t.__v_skip||(n=n||new Set,n.has(t)))return t;if(n.add(t),e--,Et(t))$t(t.value,e,n);else if(pt(t))for(let u=0;u{$t(u,e,n)});else if(ml(t)){for(const u in t)$t(t[u],e,n);for(const u of Object.getOwnPropertySymbols(t))Object.prototype.propertyIsEnumerable.call(t,u)&&$t(t[u],e,n)}return t}function ju(t,e,n,u){try{return u?t(...u):t()}catch(o){Qo(o,e,n)}}function Gu(t,e,n,u){if(Mt(t)){const o=ju(t,e,n,u);return o&&hl(o)&&o.catch(a=>{Qo(a,e,n)}),o}if(pt(t)){const o=[];for(let a=0;a>>1,o=vt[u],a=Me(o);a=Me(n)?vt.push(t):vt.splice(Kl(e),0,t),t.flags|=1,ea()}}function ea(){mn||(mn=ta.then(na))}function Zl(t){pt(t)?he.push(...t):Tt&&t.id===-1?Tt.splice(ce+1,0,t):t.flags&1||(he.push(t),t.flags|=1),ea()}function Yl(t){if(he.length){const e=[...new Set(he)].sort((n,u)=>Me(n)-Me(u));if(he.length=0,Tt){Tt.push(...e);return}for(Tt=e,ce=0;cet.id==null?t.flags&2?-1:1/0:t.id;function na(t){try{for(bt=0;bt{Rn();const c=a0(n),d=Gu(e,n,t,r);return c(),Tn(),d});return u?o.unshift(a):o.push(a),a}}const Xl=t=>(e,n=oe)=>{(!Ue||t==="sp")&&Jl(t,(...u)=>e(...u),n)},ia=Xl("m");let Ql=null;function t0(t,e,n=!1){const u=oe||ua;if(u||Ql){const o=u?u.parent==null?u.vnode.appContext&&u.vnode.appContext.provides:u.parent.provides:void 0;if(o&&t in o)return o[t];if(arguments.length>1)return n&&Mt(e)?e.call(u&&u.proxy):e}}const e0=o0,n0=Symbol.for("v-scx"),u0=()=>t0(n0);function i0(t,e){return oa(t,null,e)}function ie(t,e,n){return oa(t,e,n)}function oa(t,e,n=Tu){const{immediate:u,deep:o,flush:a,once:r}=n,c=$o({},n),d=e&&u||!e&&a!=="post";let p;if(Ue){if(a==="sync"){const g=u0();p=g.__watcherHandles||(g.__watcherHandles=[])}else if(!d){const g=()=>{};return g.stop=sn,g.resume=sn,g.pause=sn,g}}const v=oe;c.call=(g,w,k)=>Gu(g,v,w,k);let f=!1;a==="post"?c.scheduler=g=>{e0(g,v&&v.suspense)}:a!=="sync"&&(f=!0,c.scheduler=(g,w)=>{w?g():ql(g)}),c.augmentJob=g=>{e&&(g.flags|=4),f&&(g.flags|=2,v&&(g.id=v.uid,g.i=v))};const y=Vl(t,e,c);return Ue&&(p?p.push(y):d&&y()),y}function o0(t,e){e&&e.pendingBranch?pt(t)?e.effects.push(...t):e.effects.push(t):Zl(t)}let oe=null;const aa=()=>oe||ua;let yu;{const t=pu(),e=(n,u)=>{let o;return(o=t[n])||(o=t[n]=[]),o.push(u),a=>{o.length>1?o.forEach(r=>r(a)):o[0](a)}};yu=e("__VUE_INSTANCE_SETTERS__",n=>oe=n),e("__VUE_SSR_SETTERS__",n=>Ue=n)}const a0=t=>{const e=oe;return yu(t),t.scope.on(),()=>{t.scope.off(),yu(e)}};let Ue=!1;const At=(t,e)=>jl(t,e,Ue);function Bt(t){return typeof t=="function"?t():Ml(t)}const s0=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const sa=t=>t!=null,r0=Object.prototype.toString,l0=t=>r0.call(t)==="[object Object]",fe=()=>{};function v0(t){return aa()}function Vu(t,e=!0,n){v0()?ia(t,n):e?t():Wl(t)}const St=s0?window:void 0;function st(t){var e;const n=Bt(t);return(e=n?.$el)!=null?e:n}function Xt(...t){let e,n,u,o;if(typeof t[0]=="string"||Array.isArray(t[0])?([n,u,o]=t,e=St):[e,n,u,o]=t,!e)return fe;Array.isArray(n)||(n=[n]),Array.isArray(u)||(u=[u]);const a=[],r=()=>{a.forEach(p=>p()),a.length=0},c=(p,v,f,y)=>(p.addEventListener(v,f,y),()=>p.removeEventListener(v,f,y)),d=ie(()=>[st(e),Bt(o)],([p,v])=>{if(r(),!p)return;const f=l0(v)?{...v}:v;a.push(...n.flatMap(y=>u.map(g=>c(p,y,g,f))))},{immediate:!0,flush:"post"});return()=>{d(),r()}}function c0(t){return typeof t=="function"?t:typeof t=="string"?e=>e.key===t:Array.isArray(t)?e=>t.includes(e.key):()=>!0}function ah(...t){let e,n,u={};t.length===3?(e=t[0],n=t[1],u=t[2]):t.length===2?typeof t[1]=="object"?(e=!0,n=t[0],u=t[1]):(e=t[0],n=t[1]):(e=!0,n=t[0]);const{target:o=St,eventName:a="keydown",passive:r=!1,dedupe:c=!1}=u,d=c0(e);return Xt(o,a,p=>{p.repeat&&Bt(c)||d(p)&&n(p)},r)}function d0(){const t=nt(!1),e=aa();return e&&ia(()=>{t.value=!0},e),t}function zn(t){const e=d0();return At(()=>(e.value,!!t()))}function p0(t,e,n={}){const{window:u=St,...o}=n;let a;const r=zn(()=>u&&"MutationObserver"in u),c=()=>{a&&(a.disconnect(),a=void 0)},d=At(()=>{const v=Bt(t),f=(Array.isArray(v)?v:[v]).map(st).filter(sa);return new Set(f)}),p=ie(()=>d.value,v=>{c(),r.value&&v.size&&(a=new MutationObserver(e),v.forEach(f=>a.observe(f,o)))},{immediate:!0,flush:"post"});return{isSupported:r,stop:()=>{p(),c()},takeRecords:()=>a?.takeRecords()}}function h0(t,e={}){const{window:n=St}=e,u=zn(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let o;const a=nt(!1),r=d=>{a.value=d.matches},c=()=>{o&&("removeEventListener"in o?o.removeEventListener("change",r):o.removeListener(r))};return i0(()=>{u.value&&(c(),o=n.matchMedia(Bt(t)),"addEventListener"in o?o.addEventListener("change",r):o.addListener(r),a.value=o.matches)}),a}function ra(t,e,n={}){const{window:u=St,...o}=n;let a;const r=zn(()=>u&&"ResizeObserver"in u),c=()=>{a&&(a.disconnect(),a=void 0)},d=At(()=>{const v=Bt(t);return Array.isArray(v)?v.map(f=>st(f)):[st(v)]}),p=ie(d,v=>{if(c(),r.value&&u){a=new ResizeObserver(e);for(const f of v)f&&a.observe(f,o)}},{immediate:!0,flush:"post"});return{isSupported:r,stop:()=>{c(),p()}}}function Fi(t,e={}){const{reset:n=!0,windowResize:u=!0,windowScroll:o=!0,immediate:a=!0,updateTiming:r="sync"}=e,c=nt(0),d=nt(0),p=nt(0),v=nt(0),f=nt(0),y=nt(0),g=nt(0),w=nt(0);function k(){const D=st(t);if(!D){n&&(c.value=0,d.value=0,p.value=0,v.value=0,f.value=0,y.value=0,g.value=0,w.value=0);return}const _=D.getBoundingClientRect();c.value=_.height,d.value=_.bottom,p.value=_.left,v.value=_.right,f.value=_.top,y.value=_.width,g.value=_.x,w.value=_.y}function x(){r==="sync"?k():r==="next-frame"&&requestAnimationFrame(()=>k())}return ra(t,x),ie(()=>st(t),D=>!D&&x()),p0(t,x,{attributeFilter:["style","class"]}),o&&Xt("scroll",x,{capture:!0,passive:!0}),u&&Xt("resize",x,{passive:!0}),Vu(()=>{a&&x()}),{height:c,bottom:d,left:p,right:v,top:f,width:y,x:g,y:w,update:x}}function sh(t,e={width:0,height:0},n={}){const{window:u=St,box:o="content-box"}=n,a=At(()=>{var f,y;return(y=(f=st(t))==null?void 0:f.namespaceURI)==null?void 0:y.includes("svg")}),r=nt(e.width),c=nt(e.height),{stop:d}=ra(t,([f])=>{const y=o==="border-box"?f.borderBoxSize:o==="content-box"?f.contentBoxSize:f.devicePixelContentBoxSize;if(u&&a.value){const g=st(t);if(g){const w=g.getBoundingClientRect();r.value=w.width,c.value=w.height}}else if(y){const g=Array.isArray(y)?y:[y];r.value=g.reduce((w,{inlineSize:k})=>w+k,0),c.value=g.reduce((w,{blockSize:k})=>w+k,0)}else r.value=f.contentRect.width,c.value=f.contentRect.height},n);Vu(()=>{const f=st(t);f&&(r.value="offsetWidth"in f?f.offsetWidth:e.width,c.value="offsetHeight"in f?f.offsetHeight:e.height)});const p=ie(()=>st(t),f=>{r.value=f?e.width:0,c.value=f?e.height:0});function v(){d(),p()}return{width:r,height:c,stop:v}}function rh(t,e,n={}){const{root:u,rootMargin:o="0px",threshold:a=0,window:r=St,immediate:c=!0}=n,d=zn(()=>r&&"IntersectionObserver"in r),p=At(()=>{const g=Bt(t);return(Array.isArray(g)?g:[g]).map(st).filter(sa)});let v=fe;const f=nt(c),y=d.value?ie(()=>[p.value,st(u),f.value],([g,w])=>{if(v(),!f.value||!g.length)return;const k=new IntersectionObserver(e,{root:st(w),rootMargin:o,threshold:a});g.forEach(x=>x&&k.observe(x)),v=()=>{k.disconnect(),v=fe}},{immediate:c,flush:"post"}):fe;return{isSupported:d,isActive:f,pause(){v(),f.value=!1},resume(){f.value=!0},stop:()=>{v(),y(),f.value=!1}}}function f0(t,e={}){const{threshold:n=50,onSwipe:u,onSwipeEnd:o,onSwipeStart:a,passive:r=!0,window:c=St}=e,d=fn({x:0,y:0}),p=fn({x:0,y:0}),v=At(()=>d.x-p.x),f=At(()=>d.y-p.y),{max:y,abs:g}=Math,w=At(()=>y(g(v.value),g(f.value))>=n),k=nt(!1),x=At(()=>w.value?g(v.value)>g(f.value)?v.value>0?"left":"right":f.value>0?"up":"down":"none"),D=P=>[P.touches[0].clientX,P.touches[0].clientY],_=(P,L)=>{d.x=P,d.y=L},S=(P,L)=>{p.x=P,p.y=L};let N;const $=g0(c?.document);r?N=$?{passive:!0}:{capture:!1}:N=$?{passive:!1,capture:!0}:{capture:!0};const M=P=>{k.value&&o?.(P,x.value),k.value=!1},Y=[Xt(t,"touchstart",P=>{if(P.touches.length!==1)return;const[L,b]=D(P);_(L,b),S(L,b),a?.(P)},N),Xt(t,"touchmove",P=>{if(P.touches.length!==1)return;const[L,b]=D(P);S(L,b),N.capture&&!N.passive&&Math.abs(v.value)>Math.abs(f.value)&&P.preventDefault(),!k.value&&w.value&&(k.value=!0),k.value&&u?.(P)},N),Xt(t,["touchend","touchcancel"],M,N)];return{isPassiveEventSupported:$,isSwiping:k,direction:x,coordsStart:d,coordsEnd:p,lengthX:v,lengthY:f,stop:()=>Y.forEach(P=>P())}}function g0(t){if(!t)return!1;let e=!1;const n={get passive(){return e=!0,!1}};return t.addEventListener("x",fe,n),t.removeEventListener("x",fe),e}function m0(t={}){const{window:e=St,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:u=Number.POSITIVE_INFINITY,listenOrientation:o=!0,includeScrollbar:a=!0,type:r="inner"}=t,c=nt(n),d=nt(u),p=()=>{e&&(r==="outer"?(c.value=e.outerWidth,d.value=e.outerHeight):a?(c.value=e.innerWidth,d.value=e.innerHeight):(c.value=e.document.documentElement.clientWidth,d.value=e.document.documentElement.clientHeight))};if(p(),Vu(p),Xt("resize",p,{passive:!0}),o){const v=h0("(orientation: portrait)");ie(v,()=>p())}return{width:c,height:d}}const C0={name:"NcLoadingIcon",props:{size:{type:Number,default:20},appearance:{type:String,validator(t){return["auto","light","dark"].includes(t)},default:"auto"},name:{type:String,default:""}},computed:{colors(){const t=["#777","#CCC"];return this.appearance==="light"?t:this.appearance==="dark"?t.reverse():["var(--color-loading-light)","var(--color-loading-dark)"]}}};var y0=function(){var t=this,e=t._self._c;return e("span",{staticClass:"material-design-icon loading-icon",attrs:{"aria-label":t.name,role:"img"}},[e("svg",{attrs:{width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{fill:t.colors[0],d:"M12,4V2A10,10 0 1,0 22,12H20A8,8 0 1,1 12,4Z"}}),e("path",{attrs:{fill:t.colors[1],d:"M12,4V2A10,10 0 0,1 22,12H20A8,8 0 0,0 12,4Z"}},[t.name?e("title",[t._v(t._s(t.name))]):t._e()])])])},E0=[],k0=X(C0,y0,E0,!1,null,"551209a3");const b0=k0.exports;function Dt(t){return t.split("-")[0]}function ge(t){return t.split("-")[1]}function He(t){return["top","bottom"].includes(Dt(t))?"x":"y"}function Hu(t){return t==="y"?"height":"width"}function Pi(t){let{reference:e,floating:n,placement:u}=t;const o=e.x+e.width/2-n.width/2,a=e.y+e.height/2-n.height/2;let r;switch(Dt(u)){case"top":r={x:o,y:e.y-n.height};break;case"bottom":r={x:o,y:e.y+e.height};break;case"right":r={x:e.x+e.width,y:a};break;case"left":r={x:e.x-n.width,y:a};break;default:r={x:e.x,y:e.y}}const c=He(u),d=Hu(c);switch(ge(u)){case"start":r[c]=r[c]-(e[d]/2-n[d]/2);break;case"end":r[c]=r[c]+(e[d]/2-n[d]/2);break}return r}const A0=async(t,e,n)=>{const{placement:u="bottom",strategy:o="absolute",middleware:a=[],platform:r}=n;let c=await r.getElementRects({reference:t,floating:e,strategy:o}),{x:d,y:p}=Pi({...c,placement:u}),v=u,f={};for(let y=0;y({name:"arrow",options:t,async fn(e){const{element:n,padding:u=0}=t??{},{x:o,y:a,placement:r,rects:c,platform:d}=e;if(n==null)return{};const p=la(u),v={x:o,y:a},f=Dt(r),y=He(f),g=Hu(y),w=await d.getDimensions({element:n}),k=y==="y"?"top":"left",x=y==="y"?"bottom":"right",D=c.reference[g]+c.reference[y]-v[y]-c.floating[g],_=v[y]-c.reference[y],S=await d.getOffsetParent({element:n}),N=S?y==="y"?S.clientHeight||0:S.clientWidth||0:0,$=D/2-_/2,M=p[k],Y=N-w[g]-p[x],P=N/2-w[g]/2+$,L=ku(M,P,Y);return{data:{[y]:L,centerOffset:P-L}}}}),_0={left:"right",right:"left",bottom:"top",top:"bottom"};function Cn(t){return t.replace(/left|right|bottom|top/g,e=>_0[e])}function va(t,e){const n=ge(t)==="start",u=He(t),o=Hu(u);let a=u==="x"?n?"right":"left":n?"bottom":"top";return e.reference[o]>e.floating[o]&&(a=Cn(a)),{main:a,cross:Cn(a)}}const S0={start:"end",end:"start"};function bu(t){return t.replace(/start|end/g,e=>S0[e])}const D0=["top","right","bottom","left"],F0=D0.reduce((t,e)=>t.concat(e,e+"-start",e+"-end"),[]);function P0(t,e,n){return(t?[...n.filter(u=>ge(u)===t),...n.filter(u=>ge(u)!==t)]:n.filter(u=>Dt(u)===u)).filter(u=>t?ge(u)===t||(e?bu(u)!==u:!1):!0)}const N0=function(t){return t===void 0&&(t={}),{name:"autoPlacement",options:t,async fn(e){var n,u,o,a,r,c;const{x:d,y:p,rects:v,middlewareData:f,placement:y}=e,{alignment:g=null,allowedPlacements:w=F0,autoAlignment:k=!0,...x}=t;if((n=f.autoPlacement)!=null&&n.skip)return{};const D=P0(g,k,w),_=await Ln(e,x),S=(u=(o=f.autoPlacement)==null?void 0:o.index)!=null?u:0,N=D[S],{main:$,cross:M}=va(N,v);if(y!==N)return{x:d,y:p,reset:{placement:D[0]}};const Y=[_[Dt(N)],_[$],_[M]],P=[...(a=(r=f.autoPlacement)==null?void 0:r.overflows)!=null?a:[],{placement:N,overflows:Y}],L=D[S+1];if(L)return{data:{index:S+1,overflows:P},reset:{placement:L}};const b=P.slice().sort((F,R)=>F.overflows[0]-R.overflows[0]),A=(c=b.find(F=>{let{overflows:R}=F;return R.every(T=>T<=0)}))==null?void 0:c.placement;return{data:{skip:!0},reset:{placement:A??b[0].placement}}}}};function O0(t){const e=Cn(t);return[bu(t),e,bu(e)]}const R0=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(e){var n,u;const{placement:o,middlewareData:a,rects:r,initialPlacement:c}=e;if((n=a.flip)!=null&&n.skip)return{};const{mainAxis:d=!0,crossAxis:p=!0,fallbackPlacements:v,fallbackStrategy:f="bestFit",flipAlignment:y=!0,...g}=t,w=Dt(o),k=v||(w===c||!y?[Cn(c)]:O0(c)),x=[c,...k],D=await Ln(e,g),_=[];let S=((u=a.flip)==null?void 0:u.overflows)||[];if(d&&_.push(D[w]),p){const{main:Y,cross:P}=va(o,r);_.push(D[Y],D[P])}if(S=[...S,{placement:o,overflows:_}],!_.every(Y=>Y<=0)){var N,$;const Y=((N=($=a.flip)==null?void 0:$.index)!=null?N:0)+1,P=x[Y];if(P)return{data:{index:Y,overflows:S},reset:{placement:P}};let L="bottom";switch(f){case"bestFit":{var M;const b=(M=S.slice().sort((A,F)=>A.overflows.filter(R=>R>0).reduce((R,T)=>R+T,0)-F.overflows.filter(R=>R>0).reduce((R,T)=>R+T,0))[0])==null?void 0:M.placement;b&&(L=b);break}case"initialPlacement":L=c;break}return{data:{skip:!0},reset:{placement:L}}}return{}}}};function T0(t){let{placement:e,rects:n,value:u}=t;const o=Dt(e),a=["left","top"].includes(o)?-1:1,r=typeof u=="function"?u({...n,placement:e}):u,{mainAxis:c,crossAxis:d}=typeof r=="number"?{mainAxis:r,crossAxis:0}:{mainAxis:0,crossAxis:0,...r};return He(o)==="x"?{x:d,y:c*a}:{x:c*a,y:d}}const z0=function(t){return t===void 0&&(t=0),{name:"offset",options:t,fn(e){const{x:n,y:u,placement:o,rects:a}=e,r=T0({placement:o,rects:a,value:t});return{x:n+r.x,y:u+r.y,data:r}}}};function L0(t){return t==="x"?"y":"x"}const $0=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(e){const{x:n,y:u,placement:o}=e,{mainAxis:a=!0,crossAxis:r=!1,limiter:c={fn:x=>{let{x:D,y:_}=x;return{x:D,y:_}}},...d}=t,p={x:n,y:u},v=await Ln(e,d),f=He(Dt(o)),y=L0(f);let g=p[f],w=p[y];if(a){const x=f==="y"?"top":"left",D=f==="y"?"bottom":"right",_=g+v[x],S=g-v[D];g=ku(_,g,S)}if(r){const x=y==="y"?"top":"left",D=y==="y"?"bottom":"right",_=w+v[x],S=w-v[D];w=ku(_,w,S)}const k=c.fn({...e,[f]:g,[y]:w});return{...k,data:{x:k.x-n,y:k.y-u}}}}},I0=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(e){var n;const{placement:u,rects:o,middlewareData:a}=e,{apply:r,...c}=t;if((n=a.size)!=null&&n.skip)return{};const d=await Ln(e,c),p=Dt(u),v=ge(u)==="end";let f,y;p==="top"||p==="bottom"?(f=p,y=v?"left":"right"):(y=p,f=v?"top":"bottom");const g=Kt(d.left,0),w=Kt(d.right,0),k=Kt(d.top,0),x=Kt(d.bottom,0),D={height:o.floating.height-(["left","right"].includes(u)?2*(k!==0||x!==0?k+x:Kt(d.top,d.bottom)):d[f]),width:o.floating.width-(["top","bottom"].includes(u)?2*(g!==0||w!==0?g+w:Kt(d.left,d.right)):d[y])};return r?.({...D,...o}),{data:{skip:!0},reset:{rects:!0}}}}};function Wu(t){return t?.toString()==="[object Window]"}function jt(t){if(t==null)return window;if(!Wu(t)){const e=t.ownerDocument;return e&&e.defaultView||window}return t}function $n(t){return jt(t).getComputedStyle(t)}function xt(t){return Wu(t)?"":t?(t.nodeName||"").toLowerCase():""}function _t(t){return t instanceof jt(t).HTMLElement}function yn(t){return t instanceof jt(t).Element}function M0(t){return t instanceof jt(t).Node}function ca(t){const e=jt(t).ShadowRoot;return t instanceof e||t instanceof ShadowRoot}function In(t){const{overflow:e,overflowX:n,overflowY:u}=$n(t);return/auto|scroll|overlay|hidden/.test(e+u+n)}function U0(t){return["table","td","th"].includes(xt(t))}function da(t){const e=navigator.userAgent.toLowerCase().includes("firefox"),n=$n(t);return n.transform!=="none"||n.perspective!=="none"||n.contain==="paint"||["transform","perspective"].includes(n.willChange)||e&&n.willChange==="filter"||e&&(n.filter?n.filter!=="none":!1)}const Ni=Math.min,Ne=Math.max,En=Math.round;function me(t,e){e===void 0&&(e=!1);const n=t.getBoundingClientRect();let u=1,o=1;return e&&_t(t)&&(u=t.offsetWidth>0&&En(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&En(n.height)/t.offsetHeight||1),{width:n.width/u,height:n.height/o,top:n.top/o,right:n.right/u,bottom:n.bottom/o,left:n.left/u,x:n.left/u,y:n.top/o}}function Gt(t){return((M0(t)?t.ownerDocument:t.document)||window.document).documentElement}function Mn(t){return Wu(t)?{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}:{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}function pa(t){return me(Gt(t)).left+Mn(t).scrollLeft}function j0(t){const e=me(t);return En(e.width)!==t.offsetWidth||En(e.height)!==t.offsetHeight}function G0(t,e,n){const u=_t(e),o=Gt(e),a=me(t,u&&j0(e));let r={scrollLeft:0,scrollTop:0};const c={x:0,y:0};if(u||!u&&n!=="fixed")if((xt(e)!=="body"||In(o))&&(r=Mn(e)),_t(e)){const d=me(e,!0);c.x=d.x+e.clientLeft,c.y=d.y+e.clientTop}else o&&(c.x=pa(o));return{x:a.left+r.scrollLeft-c.x,y:a.top+r.scrollTop-c.y,width:a.width,height:a.height}}function Un(t){return xt(t)==="html"?t:t.assignedSlot||t.parentNode||(ca(t)?t.host:null)||Gt(t)}function Oi(t){return!_t(t)||getComputedStyle(t).position==="fixed"?null:t.offsetParent}function V0(t){let e=Un(t);for(;_t(e)&&!["html","body"].includes(xt(e));){if(da(e))return e;e=e.parentNode}return null}function Au(t){const e=jt(t);let n=Oi(t);for(;n&&U0(n)&&getComputedStyle(n).position==="static";)n=Oi(n);return n&&(xt(n)==="html"||xt(n)==="body"&&getComputedStyle(n).position==="static"&&!da(n))?e:n||V0(t)||e}function Ri(t){return{width:t.offsetWidth,height:t.offsetHeight}}function H0(t){let{rect:e,offsetParent:n,strategy:u}=t;const o=_t(n),a=Gt(n);if(n===a)return e;let r={scrollLeft:0,scrollTop:0};const c={x:0,y:0};if((o||!o&&u!=="fixed")&&((xt(n)!=="body"||In(a))&&(r=Mn(n)),_t(n))){const d=me(n,!0);c.x=d.x+n.clientLeft,c.y=d.y+n.clientTop}return{...e,x:e.x-r.scrollLeft+c.x,y:e.y-r.scrollTop+c.y}}function W0(t){const e=jt(t),n=Gt(t),u=e.visualViewport;let o=n.clientWidth,a=n.clientHeight,r=0,c=0;return u&&(o=u.width,a=u.height,Math.abs(e.innerWidth/u.scale-u.width)<.01&&(r=u.offsetLeft,c=u.offsetTop)),{width:o,height:a,x:r,y:c}}function K0(t){var e;const n=Gt(t),u=Mn(t),o=(e=t.ownerDocument)==null?void 0:e.body,a=Ne(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),r=Ne(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0);let c=-u.scrollLeft+pa(t);const d=-u.scrollTop;return $n(o||n).direction==="rtl"&&(c+=Ne(n.clientWidth,o?o.clientWidth:0)-a),{width:a,height:r,x:c,y:d}}function ha(t){return["html","body","#document"].includes(xt(t))?t.ownerDocument.body:_t(t)&&In(t)?t:ha(Un(t))}function kn(t,e){var n;e===void 0&&(e=[]);const u=ha(t),o=u===((n=t.ownerDocument)==null?void 0:n.body),a=jt(u),r=o?[a].concat(a.visualViewport||[],In(u)?u:[]):u,c=e.concat(r);return o?c:c.concat(kn(Un(r)))}function q0(t,e){const n=e.getRootNode==null?void 0:e.getRootNode();if(t.contains(e))return!0;if(n&&ca(n)){let u=e;do{if(u&&t===u)return!0;u=u.parentNode||u.host}while(u)}return!1}function Z0(t){const e=me(t),n=e.top+t.clientTop,u=e.left+t.clientLeft;return{top:n,left:u,x:u,y:n,right:u+t.clientWidth,bottom:n+t.clientHeight,width:t.clientWidth,height:t.clientHeight}}function Ti(t,e){return e==="viewport"?Eu(W0(t)):yn(e)?Z0(e):Eu(K0(Gt(t)))}function Y0(t){const e=kn(Un(t)),n=["absolute","fixed"].includes($n(t).position)&&_t(t)?Au(t):t;return yn(n)?e.filter(u=>yn(u)&&q0(u,n)&&xt(u)!=="body"):[]}function J0(t){let{element:e,boundary:n,rootBoundary:u}=t;const o=[...n==="clippingParents"?Y0(e):[].concat(n),u],a=o[0],r=o.reduce((c,d)=>{const p=Ti(e,d);return c.top=Ne(p.top,c.top),c.right=Ni(p.right,c.right),c.bottom=Ni(p.bottom,c.bottom),c.left=Ne(p.left,c.left),c},Ti(e,a));return r.width=r.right-r.left,r.height=r.bottom-r.top,r.x=r.left,r.y=r.top,r}const X0={getElementRects:t=>{let{reference:e,floating:n,strategy:u}=t;return{reference:G0(e,Au(n),u),floating:{...Ri(n),x:0,y:0}}},convertOffsetParentRelativeRectToViewportRelativeRect:t=>H0(t),getOffsetParent:t=>{let{element:e}=t;return Au(e)},isElement:t=>yn(t),getDocumentElement:t=>{let{element:e}=t;return Gt(e)},getClippingClientRect:t=>J0(t),getDimensions:t=>{let{element:e}=t;return Ri(e)},getClientRects:t=>{let{element:e}=t;return e.getClientRects()}},Q0=(t,e,n)=>A0(t,e,{platform:X0,...n});var tv=Object.defineProperty,ev=Object.defineProperties,nv=Object.getOwnPropertyDescriptors,bn=Object.getOwnPropertySymbols,fa=Object.prototype.hasOwnProperty,ga=Object.prototype.propertyIsEnumerable,zi=(t,e,n)=>e in t?tv(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,It=(t,e)=>{for(var n in e||(e={}))fa.call(e,n)&&zi(t,n,e[n]);if(bn)for(var n of bn(e))ga.call(e,n)&&zi(t,n,e[n]);return t},jn=(t,e)=>ev(t,nv(e)),uv=(t,e)=>{var n={};for(var u in t)fa.call(t,u)&&e.indexOf(u)<0&&(n[u]=t[u]);if(t!=null&&bn)for(var u of bn(t))e.indexOf(u)<0&&ga.call(t,u)&&(n[u]=t[u]);return n};function ma(t,e){for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(typeof e[n]=="object"&&t[n]?ma(t[n],e[n]):t[n]=e[n])}const wt={disabled:!1,distance:5,skidding:0,container:"body",boundary:void 0,instantMove:!1,disposeTimeout:5e3,popperTriggers:[],strategy:"absolute",preventOverflow:!0,flip:!0,shift:!0,overflowPadding:0,arrowPadding:0,arrowOverflow:!0,themes:{tooltip:{placement:"top",triggers:["hover","focus","touch"],hideTriggers:t=>[...t,"click"],delay:{show:200,hide:0},handleResize:!1,html:!1,loadingContent:"..."},dropdown:{placement:"bottom",triggers:["click"],delay:0,handleResize:!0,autoHide:!0},menu:{$extend:"dropdown",triggers:["hover","focus"],popperTriggers:["hover","focus"],delay:{show:0,hide:400}}}};function Ce(t,e){let n=wt.themes[t]||{},u;do u=n[e],typeof u>"u"?n.$extend?n=wt.themes[n.$extend]||{}:(n=null,u=wt[e]):n=null;while(n);return u}function iv(t){const e=[t];let n=wt.themes[t]||{};do n.$extend&&!n.$resetCss?(e.push(n.$extend),n=wt.themes[n.$extend]||{}):n=null;while(n);return e.map(u=>`v-popper--theme-${u}`)}function Li(t){const e=[t];let n=wt.themes[t]||{};do n.$extend?(e.push(n.$extend),n=wt.themes[n.$extend]||{}):n=null;while(n);return e}let ne=!1;if(typeof window<"u"){ne=!1;try{const t=Object.defineProperty({},"passive",{get(){ne=!0}});window.addEventListener("test",null,t)}catch{}}let Ca=!1;typeof window<"u"&&typeof navigator<"u"&&(Ca=/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream);const ya=["auto","top","bottom","left","right"].reduce((t,e)=>t.concat([e,`${e}-start`,`${e}-end`]),[]),$i={hover:"mouseenter",focus:"focus",click:"click",touch:"touchstart"},Ii={hover:"mouseleave",focus:"blur",click:"click",touch:"touchend"};function Mi(t,e){const n=t.indexOf(e);n!==-1&&t.splice(n,1)}function tu(){return new Promise(t=>requestAnimationFrame(()=>{requestAnimationFrame(t)}))}const dt=[];let Ht=null;const Ui={};function ji(t){let e=Ui[t];return e||(e=Ui[t]=[]),e}let wu=function(){};typeof window<"u"&&(wu=window.Element);function z(t){return function(){const e=this.$props;return Ce(e.theme,t)}}const eu="__floating-vue__popper";var Ea=()=>({name:"VPopper",props:{theme:{type:String,required:!0},targetNodes:{type:Function,required:!0},referenceNode:{type:Function,required:!0},popperNode:{type:Function,required:!0},shown:{type:Boolean,default:!1},showGroup:{type:String,default:null},ariaId:{default:null},disabled:{type:Boolean,default:z("disabled")},positioningDisabled:{type:Boolean,default:z("positioningDisabled")},placement:{type:String,default:z("placement"),validator:t=>ya.includes(t)},delay:{type:[String,Number,Object],default:z("delay")},distance:{type:[Number,String],default:z("distance")},skidding:{type:[Number,String],default:z("skidding")},triggers:{type:Array,default:z("triggers")},showTriggers:{type:[Array,Function],default:z("showTriggers")},hideTriggers:{type:[Array,Function],default:z("hideTriggers")},popperTriggers:{type:Array,default:z("popperTriggers")},popperShowTriggers:{type:[Array,Function],default:z("popperShowTriggers")},popperHideTriggers:{type:[Array,Function],default:z("popperHideTriggers")},container:{type:[String,Object,wu,Boolean],default:z("container")},boundary:{type:[String,wu],default:z("boundary")},strategy:{type:String,validator:t=>["absolute","fixed"].includes(t),default:z("strategy")},autoHide:{type:[Boolean,Function],default:z("autoHide")},handleResize:{type:Boolean,default:z("handleResize")},instantMove:{type:Boolean,default:z("instantMove")},eagerMount:{type:Boolean,default:z("eagerMount")},popperClass:{type:[String,Array,Object],default:z("popperClass")},computeTransformOrigin:{type:Boolean,default:z("computeTransformOrigin")},autoMinSize:{type:Boolean,default:z("autoMinSize")},autoSize:{type:[Boolean,String],default:z("autoSize")},autoMaxSize:{type:Boolean,default:z("autoMaxSize")},autoBoundaryMaxSize:{type:Boolean,default:z("autoBoundaryMaxSize")},preventOverflow:{type:Boolean,default:z("preventOverflow")},overflowPadding:{type:[Number,String],default:z("overflowPadding")},arrowPadding:{type:[Number,String],default:z("arrowPadding")},arrowOverflow:{type:Boolean,default:z("arrowOverflow")},flip:{type:Boolean,default:z("flip")},shift:{type:Boolean,default:z("shift")},shiftCrossAxis:{type:Boolean,default:z("shiftCrossAxis")},noAutoFocus:{type:Boolean,default:z("noAutoFocus")}},provide(){return{[eu]:{parentPopper:this}}},inject:{[eu]:{default:null}},data(){return{isShown:!1,isMounted:!1,skipTransition:!1,classes:{showFrom:!1,showTo:!1,hideFrom:!1,hideTo:!0},result:{x:0,y:0,placement:"",strategy:this.strategy,arrow:{x:0,y:0,centerOffset:0},transformOrigin:null},shownChildren:new Set,lastAutoHide:!0}},computed:{popperId(){return this.ariaId!=null?this.ariaId:this.randomId},shouldMountContent(){return this.eagerMount||this.isMounted},slotData(){return{popperId:this.popperId,isShown:this.isShown,shouldMountContent:this.shouldMountContent,skipTransition:this.skipTransition,autoHide:typeof this.autoHide=="function"?this.lastAutoHide:this.autoHide,show:this.show,hide:this.hide,handleResize:this.handleResize,onResize:this.onResize,classes:jn(It({},this.classes),{popperClass:this.popperClass}),result:this.positioningDisabled?null:this.result}},parentPopper(){var t;return(t=this[eu])==null?void 0:t.parentPopper},hasPopperShowTriggerHover(){var t,e;return((t=this.popperTriggers)==null?void 0:t.includes("hover"))||((e=this.popperShowTriggers)==null?void 0:e.includes("hover"))}},watch:It(It({shown:"$_autoShowHide",disabled(t){t?this.dispose():this.init()},async container(){this.isShown&&(this.$_ensureTeleport(),await this.$_computePosition())}},["triggers","positioningDisabled"].reduce((t,e)=>(t[e]="$_refreshListeners",t),{})),["placement","distance","skidding","boundary","strategy","overflowPadding","arrowPadding","preventOverflow","shift","shiftCrossAxis","flip"].reduce((t,e)=>(t[e]="$_computePosition",t),{})),created(){this.$_isDisposed=!0,this.randomId=`popper_${[Math.random(),Date.now()].map(t=>t.toString(36).substring(2,10)).join("_")}`,this.autoMinSize&&console.warn('[floating-vue] `autoMinSize` option is deprecated. Use `autoSize="min"` instead.'),this.autoMaxSize&&console.warn("[floating-vue] `autoMaxSize` option is deprecated. Use `autoBoundaryMaxSize` instead.")},mounted(){this.init(),this.$_detachPopperNode()},activated(){this.$_autoShowHide()},deactivated(){this.hide()},beforeDestroy(){this.dispose()},methods:{show({event:t=null,skipDelay:e=!1,force:n=!1}={}){var u,o;(u=this.parentPopper)!=null&&u.lockedChild&&this.parentPopper.lockedChild!==this||(this.$_pendingHide=!1,(n||!this.disabled)&&(((o=this.parentPopper)==null?void 0:o.lockedChild)===this&&(this.parentPopper.lockedChild=null),this.$_scheduleShow(t,e),this.$emit("show"),this.$_showFrameLocked=!0,requestAnimationFrame(()=>{this.$_showFrameLocked=!1})),this.$emit("update:shown",!0))},hide({event:t=null,skipDelay:e=!1,skipAiming:n=!1}={}){var u;if(!this.$_hideInProgress){if(this.shownChildren.size>0){this.$_pendingHide=!0;return}if(!n&&this.hasPopperShowTriggerHover&&this.$_isAimingPopper()){this.parentPopper&&(this.parentPopper.lockedChild=this,clearTimeout(this.parentPopper.lockedChildTimer),this.parentPopper.lockedChildTimer=setTimeout(()=>{this.parentPopper.lockedChild===this&&(this.parentPopper.lockedChild.hide({skipDelay:e}),this.parentPopper.lockedChild=null)},1e3));return}((u=this.parentPopper)==null?void 0:u.lockedChild)===this&&(this.parentPopper.lockedChild=null),this.$_pendingHide=!1,this.$_scheduleHide(t,e),this.$emit("hide"),this.$emit("update:shown",!1)}},init(){this.$_isDisposed&&(this.$_isDisposed=!1,this.isMounted=!1,this.$_events=[],this.$_preventShow=!1,this.$_referenceNode=this.referenceNode(),this.$_targetNodes=this.targetNodes().filter(t=>t.nodeType===t.ELEMENT_NODE),this.$_popperNode=this.popperNode(),this.$_innerNode=this.$_popperNode.querySelector(".v-popper__inner"),this.$_arrowNode=this.$_popperNode.querySelector(".v-popper__arrow-container"),this.$_swapTargetAttrs("title","data-original-title"),this.$_detachPopperNode(),this.triggers.length&&this.$_addEventListeners(),this.shown&&this.show())},dispose(){this.$_isDisposed||(this.$_isDisposed=!0,this.$_removeEventListeners(),this.hide({skipDelay:!0}),this.$_detachPopperNode(),this.isMounted=!1,this.isShown=!1,this.$_updateParentShownChildren(!1),this.$_swapTargetAttrs("data-original-title","title"),this.$emit("dispose"))},async onResize(){this.isShown&&(await this.$_computePosition(),this.$emit("resize"))},async $_computePosition(){var t;if(this.$_isDisposed||this.positioningDisabled)return;const e={strategy:this.strategy,middleware:[]};(this.distance||this.skidding)&&e.middleware.push(z0({mainAxis:this.distance,crossAxis:this.skidding}));const n=this.placement.startsWith("auto");if(n?e.middleware.push(N0({alignment:(t=this.placement.split("-")[1])!=null?t:""})):e.placement=this.placement,this.preventOverflow&&(this.shift&&e.middleware.push($0({padding:this.overflowPadding,boundary:this.boundary,crossAxis:this.shiftCrossAxis})),!n&&this.flip&&e.middleware.push(R0({padding:this.overflowPadding,boundary:this.boundary}))),e.middleware.push(x0({element:this.$_arrowNode,padding:this.arrowPadding})),this.arrowOverflow&&e.middleware.push({name:"arrowOverflow",fn:({placement:o,rects:a,middlewareData:r})=>{let c;const{centerOffset:d}=r.arrow;return o.startsWith("top")||o.startsWith("bottom")?c=Math.abs(d)>a.reference.width/2:c=Math.abs(d)>a.reference.height/2,{data:{overflow:c}}}}),this.autoMinSize||this.autoSize){const o=this.autoSize?this.autoSize:this.autoMinSize?"min":null;e.middleware.push({name:"autoSize",fn:({rects:a,placement:r,middlewareData:c})=>{var d;if((d=c.autoSize)!=null&&d.skip)return{};let p,v;return r.startsWith("top")||r.startsWith("bottom")?p=a.reference.width:v=a.reference.height,this.$_innerNode.style[o==="min"?"minWidth":o==="max"?"maxWidth":"width"]=p!=null?`${p}px`:null,this.$_innerNode.style[o==="min"?"minHeight":o==="max"?"maxHeight":"height"]=v!=null?`${v}px`:null,{data:{skip:!0},reset:{rects:!0}}}})}(this.autoMaxSize||this.autoBoundaryMaxSize)&&(this.$_innerNode.style.maxWidth=null,this.$_innerNode.style.maxHeight=null,e.middleware.push(I0({boundary:this.boundary,padding:this.overflowPadding,apply:({width:o,height:a})=>{this.$_innerNode.style.maxWidth=o!=null?`${o}px`:null,this.$_innerNode.style.maxHeight=a!=null?`${a}px`:null}})));const u=await Q0(this.$_referenceNode,this.$_popperNode,e);Object.assign(this.result,{x:u.x,y:u.y,placement:u.placement,strategy:u.strategy,arrow:It(It({},u.middlewareData.arrow),u.middlewareData.arrowOverflow)})},$_scheduleShow(t=null,e=!1){if(this.$_updateParentShownChildren(!0),this.$_hideInProgress=!1,clearTimeout(this.$_scheduleTimer),Ht&&this.instantMove&&Ht.instantMove&&Ht!==this.parentPopper){Ht.$_applyHide(!0),this.$_applyShow(!0);return}e?this.$_applyShow():this.$_scheduleTimer=setTimeout(this.$_applyShow.bind(this),this.$_computeDelay("show"))},$_scheduleHide(t=null,e=!1){if(this.shownChildren.size>0){this.$_pendingHide=!0;return}this.$_updateParentShownChildren(!1),this.$_hideInProgress=!0,clearTimeout(this.$_scheduleTimer),this.isShown&&(Ht=this),e?this.$_applyHide():this.$_scheduleTimer=setTimeout(this.$_applyHide.bind(this),this.$_computeDelay("hide"))},$_computeDelay(t){const e=this.delay;return parseInt(e&&e[t]||e||0)},async $_applyShow(t=!1){clearTimeout(this.$_disposeTimer),clearTimeout(this.$_scheduleTimer),this.skipTransition=t,!this.isShown&&(this.$_ensureTeleport(),await tu(),await this.$_computePosition(),await this.$_applyShowEffect(),this.positioningDisabled||this.$_registerEventListeners([...kn(this.$_referenceNode),...kn(this.$_popperNode)],"scroll",()=>{this.$_computePosition()}))},async $_applyShowEffect(){if(this.$_hideInProgress)return;if(this.computeTransformOrigin){const e=this.$_referenceNode.getBoundingClientRect(),n=this.$_popperNode.querySelector(".v-popper__wrapper"),u=n.parentNode.getBoundingClientRect(),o=e.x+e.width/2-(u.left+n.offsetLeft),a=e.y+e.height/2-(u.top+n.offsetTop);this.result.transformOrigin=`${o}px ${a}px`}this.isShown=!0,this.$_applyAttrsToTarget({"aria-describedby":this.popperId,"data-popper-shown":""});const t=this.showGroup;if(t){let e;for(let n=0;n0){this.$_pendingHide=!0,this.$_hideInProgress=!1;return}if(clearTimeout(this.$_scheduleTimer),!this.isShown)return;this.skipTransition=t,Mi(dt,this),dt.length===0&&document.body.classList.remove("v-popper--some-open");for(const n of Li(this.theme)){const u=ji(n);Mi(u,this),u.length===0&&document.body.classList.remove(`v-popper--some-open--${n}`)}Ht===this&&(Ht=null),this.isShown=!1,this.$_applyAttrsToTarget({"aria-describedby":void 0,"data-popper-shown":void 0}),clearTimeout(this.$_disposeTimer);const e=Ce(this.theme,"disposeTimeout");e!==null&&(this.$_disposeTimer=setTimeout(()=>{this.$_popperNode&&(this.$_detachPopperNode(),this.isMounted=!1)},e)),this.$_removeEventListeners("scroll"),this.$emit("apply-hide"),this.classes.showFrom=!1,this.classes.showTo=!1,this.classes.hideFrom=!0,this.classes.hideTo=!1,await tu(),this.classes.hideFrom=!1,this.classes.hideTo=!0},$_autoShowHide(){this.shown?this.show():this.hide()},$_ensureTeleport(){if(this.$_isDisposed)return;let t=this.container;if(typeof t=="string"?t=window.document.querySelector(t):t===!1&&(t=this.$_targetNodes[0].parentNode),!t)throw new Error("No container for popover: "+this.container);t.appendChild(this.$_popperNode),this.isMounted=!0},$_addEventListeners(){const t=n=>{this.isShown&&!this.$_hideInProgress||(n.usedByTooltip=!0,!this.$_preventShow&&this.show({event:n}))};this.$_registerTriggerListeners(this.$_targetNodes,$i,this.triggers,this.showTriggers,t),this.$_registerTriggerListeners([this.$_popperNode],$i,this.popperTriggers,this.popperShowTriggers,t);const e=n=>u=>{u.usedByTooltip||this.hide({event:u,skipAiming:n})};this.$_registerTriggerListeners(this.$_targetNodes,Ii,this.triggers,this.hideTriggers,e(!1)),this.$_registerTriggerListeners([this.$_popperNode],Ii,this.popperTriggers,this.popperHideTriggers,e(!0))},$_registerEventListeners(t,e,n){this.$_events.push({targetNodes:t,eventType:e,handler:n}),t.forEach(u=>u.addEventListener(e,n,ne?{passive:!0}:void 0))},$_registerTriggerListeners(t,e,n,u,o){let a=n;u!=null&&(a=typeof u=="function"?u(a):u),a.forEach(r=>{const c=e[r];c&&this.$_registerEventListeners(t,c,o)})},$_removeEventListeners(t){const e=[];this.$_events.forEach(n=>{const{targetNodes:u,eventType:o,handler:a}=n;!t||t===o?u.forEach(r=>r.removeEventListener(o,a)):e.push(n)}),this.$_events=e},$_refreshListeners(){this.$_isDisposed||(this.$_removeEventListeners(),this.$_addEventListeners())},$_handleGlobalClose(t,e=!1){this.$_showFrameLocked||(this.hide({event:t}),t.closePopover?this.$emit("close-directive"):this.$emit("auto-hide"),e&&(this.$_preventShow=!0,setTimeout(()=>{this.$_preventShow=!1},300)))},$_detachPopperNode(){this.$_popperNode.parentNode&&this.$_popperNode.parentNode.removeChild(this.$_popperNode)},$_swapTargetAttrs(t,e){for(const n of this.$_targetNodes){const u=n.getAttribute(t);u&&(n.removeAttribute(t),n.setAttribute(e,u))}},$_applyAttrsToTarget(t){for(const e of this.$_targetNodes)for(const n in t){const u=t[n];u==null?e.removeAttribute(n):e.setAttribute(n,u)}},$_updateParentShownChildren(t){let e=this.parentPopper;for(;e;)t?e.shownChildren.add(this.randomId):(e.shownChildren.delete(this.randomId),e.$_pendingHide&&e.hide()),e=e.parentPopper},$_isAimingPopper(){const t=this.$el.getBoundingClientRect();if(Oe>=t.left&&Oe<=t.right&&Re>=t.top&&Re<=t.bottom){const e=this.$_popperNode.getBoundingClientRect(),n=Oe-Nt,u=Re-Ot,o=e.left+e.width/2-Nt+(e.top+e.height/2)-Ot+e.width+e.height,a=Nt+n*o,r=Ot+u*o;return Xe(Nt,Ot,a,r,e.left,e.top,e.left,e.bottom)||Xe(Nt,Ot,a,r,e.left,e.top,e.right,e.top)||Xe(Nt,Ot,a,r,e.right,e.top,e.right,e.bottom)||Xe(Nt,Ot,a,r,e.left,e.bottom,e.right,e.bottom)}return!1}},render(){return this.$scopedSlots.default(this.slotData)[0]}});typeof document<"u"&&typeof window<"u"&&(Ca?(document.addEventListener("touchstart",Gi,ne?{passive:!0,capture:!0}:!0),document.addEventListener("touchend",av,ne?{passive:!0,capture:!0}:!0)):(window.addEventListener("mousedown",Gi,!0),window.addEventListener("click",ov,!0)),window.addEventListener("resize",lv));function Gi(t){for(let e=0;e=0;u--){const o=dt[u];try{const a=o.$_containsGlobalTarget=sv(o,t);o.$_pendingHide=!1,requestAnimationFrame(()=>{if(o.$_pendingHide=!1,!n[o.randomId]&&Vi(o,a,t)){if(o.$_handleGlobalClose(t,e),!t.closeAllPopover&&t.closePopover&&a){let c=o.parentPopper;for(;c;)n[c.randomId]=!0,c=c.parentPopper;return}let r=o.parentPopper;for(;r&&Vi(r,r.$_containsGlobalTarget,t);)r.$_handleGlobalClose(t,e),r=r.parentPopper}})}catch{}}}function sv(t,e){const n=t.popperNode();return t.$_mouseDownContains||n.contains(e.target)}function Vi(t,e,n){return n.closeAllPopover||n.closePopover&&e||rv(t,n)&&!e}function rv(t,e){if(typeof t.autoHide=="function"){const n=t.autoHide(e);return t.lastAutoHide=n,n}return t.autoHide}function lv(t){for(let e=0;e{Nt=Oe,Ot=Re,Oe=t.clientX,Re=t.clientY},ne?{passive:!0}:void 0);function Xe(t,e,n,u,o,a,r,c){const d=((r-o)*(e-a)-(c-a)*(t-o))/((c-a)*(n-t)-(r-o)*(u-e)),p=((n-t)*(e-a)-(u-e)*(t-o))/((c-a)*(n-t)-(r-o)*(u-e));return d>=0&&d<=1&&p>=0&&p<=1}function vv(){var t=window.navigator.userAgent,e=t.indexOf("MSIE ");if(e>0)return parseInt(t.substring(e+5,t.indexOf(".",e)),10);var n=t.indexOf("Trident/");if(n>0){var u=t.indexOf("rv:");return parseInt(t.substring(u+3,t.indexOf(".",u)),10)}var o=t.indexOf("Edge/");return o>0?parseInt(t.substring(o+5,t.indexOf(".",o)),10):-1}var ln;function Bu(){Bu.init||(Bu.init=!0,ln=vv()!==-1)}var cv={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},mounted:function(){var t=this;Bu(),this.$nextTick(function(){t._w=t.$el.offsetWidth,t._h=t.$el.offsetHeight,t.emitOnMount&&t.emitSize()});var e=document.createElement("object");this._resizeObject=e,e.setAttribute("aria-hidden","true"),e.setAttribute("tabindex",-1),e.onload=this.addResizeHandlers,e.type="text/html",ln&&this.$el.appendChild(e),e.data="about:blank",ln||this.$el.appendChild(e)},beforeDestroy:function(){this.removeResizeHandlers()},methods:{compareAndNotify:function(){(!this.ignoreWidth&&this._w!==this.$el.offsetWidth||!this.ignoreHeight&&this._h!==this.$el.offsetHeight)&&(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitSize())},emitSize:function(){this.$emit("notify",{width:this._w,height:this._h})},addResizeHandlers:function(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers:function(){this._resizeObject&&this._resizeObject.onload&&(!ln&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null)}}};function dv(t,e,n,u,o,a,r,c,d,p){var v=typeof n=="function"?n.options:n;return t&&t.render&&(v.render=t.render,v.staticRenderFns=t.staticRenderFns,v._compiled=!0),v._scopeId=u,n}var pv=cv,ba=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"resize-observer",attrs:{tabindex:"-1"}})},hv=[];ba._withStripped=!0;var fv=void 0,gv="data-v-8859cc6c",xu=dv({render:ba,staticRenderFns:hv},fv,pv,gv);function mv(t){t.component("resize-observer",xu),t.component("ResizeObserver",xu)}var Cv={version:"1.0.1",install:mv},Qe=null;typeof window<"u"?Qe=window.Vue:typeof Qt<"u"&&(Qe=Qt.Vue),Qe&&Qe.use(Cv);var Aa={computed:{themeClass(){return iv(this.theme)}}},yv={name:"VPopperContent",components:{ResizeObserver:xu},mixins:[Aa],props:{popperId:String,theme:String,shown:Boolean,mounted:Boolean,skipTransition:Boolean,autoHide:Boolean,handleResize:Boolean,classes:Object,result:Object},methods:{toPx(t){return t!=null&&!isNaN(t)?`${t}px`:null}}},Ev=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{ref:"popover",staticClass:"v-popper__popper",class:[t.themeClass,t.classes.popperClass,{"v-popper__popper--shown":t.shown,"v-popper__popper--hidden":!t.shown,"v-popper__popper--show-from":t.classes.showFrom,"v-popper__popper--show-to":t.classes.showTo,"v-popper__popper--hide-from":t.classes.hideFrom,"v-popper__popper--hide-to":t.classes.hideTo,"v-popper__popper--skip-transition":t.skipTransition,"v-popper__popper--arrow-overflow":t.result&&t.result.arrow.overflow,"v-popper__popper--no-positioning":!t.result}],style:t.result?{position:t.result.strategy,transform:"translate3d("+Math.round(t.result.x)+"px,"+Math.round(t.result.y)+"px,0)"}:void 0,attrs:{id:t.popperId,"aria-hidden":t.shown?"false":"true",tabindex:t.autoHide?0:void 0,"data-popper-placement":t.result?t.result.placement:void 0},on:{keyup:function(u){if(!u.type.indexOf("key")&&t._k(u.keyCode,"esc",27,u.key,["Esc","Escape"]))return null;t.autoHide&&t.$emit("hide")}}},[n("div",{staticClass:"v-popper__backdrop",on:{click:function(u){t.autoHide&&t.$emit("hide")}}}),n("div",{staticClass:"v-popper__wrapper",style:t.result?{transformOrigin:t.result.transformOrigin}:void 0},[n("div",{ref:"inner",staticClass:"v-popper__inner"},[t.mounted?[n("div",[t._t("default")],2),t.handleResize?n("ResizeObserver",{on:{notify:function(u){return t.$emit("resize",u)}}}):t._e()]:t._e()],2),n("div",{ref:"arrow",staticClass:"v-popper__arrow-container",style:t.result?{left:t.toPx(t.result.arrow.x),top:t.toPx(t.result.arrow.y)}:void 0},[n("div",{staticClass:"v-popper__arrow-outer"}),n("div",{staticClass:"v-popper__arrow-inner"})])])])},kv=[];function Ae(t,e,n,u,o,a,r,c){var d=typeof t=="function"?t.options:t;e&&(d.render=e,d.staticRenderFns=n,d._compiled=!0);var p;if(o&&(p=o),p)if(d.functional){d._injectStyles=p;var v=d.render;d.render=function(y,g){return p.call(g),v(y,g)}}else{var f=d.beforeCreate;d.beforeCreate=f?[].concat(f,p):[p]}return{exports:t,options:d}}const Hi={};var bv=Ae(yv,Ev,kv,!1,Av);function Av(t){for(let e in Hi)this[e]=Hi[e]}var wa=function(){return bv.exports}(),Ku={methods:{show(...t){return this.$refs.popper.show(...t)},hide(...t){return this.$refs.popper.hide(...t)},dispose(...t){return this.$refs.popper.dispose(...t)},onResize(...t){return this.$refs.popper.onResize(...t)}}},wv={name:"VPopperWrapper",components:{Popper:Ea(),PopperContent:wa},mixins:[Ku,Aa],inheritAttrs:!1,props:{theme:{type:String,default(){return this.$options.vPopperTheme}}},methods:{getTargetNodes(){return Array.from(this.$refs.reference.children).filter(t=>t!==this.$refs.popperContent.$el)}}},Bv=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("Popper",t._g(t._b({ref:"popper",attrs:{theme:t.theme,"target-nodes":t.getTargetNodes,"reference-node":function(){return t.$refs.reference},"popper-node":function(){return t.$refs.popperContent.$el}},scopedSlots:t._u([{key:"default",fn:function(u){var o=u.popperId,a=u.isShown,r=u.shouldMountContent,c=u.skipTransition,d=u.autoHide,p=u.show,v=u.hide,f=u.handleResize,y=u.onResize,g=u.classes,w=u.result;return[n("div",{ref:"reference",staticClass:"v-popper",class:[t.themeClass,{"v-popper--shown":a}]},[t._t("default",null,{shown:a,show:p,hide:v}),n("PopperContent",{ref:"popperContent",attrs:{"popper-id":o,theme:t.theme,shown:a,mounted:r,"skip-transition":c,"auto-hide":d,"handle-resize":f,classes:g,result:w},on:{hide:v,resize:y}},[t._t("popper",null,{shown:a,hide:v})],2)],2)]}}],null,!0)},"Popper",t.$attrs,!1),t.$listeners))},xv=[];const Wi={};var _v=Ae(wv,Bv,xv,!1,Sv);function Sv(t){for(let e in Wi)this[e]=Wi[e]}var qu=function(){return _v.exports}(),Dv=jn(It({},qu),{name:"VDropdown",vPopperTheme:"dropdown"});let Fv,Pv;const Ki={};var Nv=Ae(Dv,Fv,Pv,!1,Ov);function Ov(t){for(let e in Ki)this[e]=Ki[e]}var _u=function(){return Nv.exports}(),Rv=jn(It({},qu),{name:"VMenu",vPopperTheme:"menu"});let Tv,zv;const qi={};var Lv=Ae(Rv,Tv,zv,!1,$v);function $v(t){for(let e in qi)this[e]=qi[e]}var Zi=function(){return Lv.exports}(),Iv=jn(It({},qu),{name:"VTooltip",vPopperTheme:"tooltip"});let Mv,Uv;const Yi={};var jv=Ae(Iv,Mv,Uv,!1,Gv);function Gv(t){for(let e in Yi)this[e]=Yi[e]}var Ji=function(){return jv.exports}(),Vv={name:"VTooltipDirective",components:{Popper:Ea(),PopperContent:wa},mixins:[Ku],inheritAttrs:!1,props:{theme:{type:String,default:"tooltip"},html:{type:Boolean,default(){return Ce(this.theme,"html")}},content:{type:[String,Number,Function],default:null},loadingContent:{type:String,default(){return Ce(this.theme,"loadingContent")}}},data(){return{asyncContent:null}},computed:{isContentAsync(){return typeof this.content=="function"},loading(){return this.isContentAsync&&this.asyncContent==null},finalContent(){return this.isContentAsync?this.loading?this.loadingContent:this.asyncContent:this.content}},watch:{content:{handler(){this.fetchContent(!0)},immediate:!0},async finalContent(t){await this.$nextTick(),this.$refs.popper.onResize()}},created(){this.$_fetchId=0},methods:{fetchContent(t){if(typeof this.content=="function"&&this.$_isShown&&(t||!this.$_loading&&this.asyncContent==null)){this.asyncContent=null,this.$_loading=!0;const e=++this.$_fetchId,n=this.content(this);n.then?n.then(u=>this.onResult(e,u)):this.onResult(e,n)}},onResult(t,e){t===this.$_fetchId&&(this.$_loading=!1,this.asyncContent=e)},onShow(){this.$_isShown=!0,this.fetchContent()},onHide(){this.$_isShown=!1}}},Hv=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("Popper",t._g(t._b({ref:"popper",attrs:{theme:t.theme,"popper-node":function(){return t.$refs.popperContent.$el}},on:{"apply-show":t.onShow,"apply-hide":t.onHide},scopedSlots:t._u([{key:"default",fn:function(u){var o=u.popperId,a=u.isShown,r=u.shouldMountContent,c=u.skipTransition,d=u.autoHide,p=u.hide,v=u.handleResize,f=u.onResize,y=u.classes,g=u.result;return[n("PopperContent",{ref:"popperContent",class:{"v-popper--tooltip-loading":t.loading},attrs:{"popper-id":o,theme:t.theme,shown:a,mounted:r,"skip-transition":c,"auto-hide":d,"handle-resize":v,classes:y,result:g},on:{hide:p,resize:f}},[t.html?n("div",{domProps:{innerHTML:t._s(t.finalContent)}}):n("div",{domProps:{textContent:t._s(t.finalContent)}})])]}}])},"Popper",t.$attrs,!1),t.$listeners))},Wv=[];const Xi={};var Kv=Ae(Vv,Hv,Wv,!1,qv);function qv(t){for(let e in Xi)this[e]=Xi[e]}var Zv=function(){return Kv.exports}();const Ba="v-popper--has-tooltip";function Yv(t,e){let n=t.placement;if(!n&&e)for(const u of ya)e[u]&&(n=u);return n||(n=Ce(t.theme||"tooltip","placement")),n}function xa(t,e,n){let u;const o=typeof e;return o==="string"?u={content:e}:e&&o==="object"?u=e:u={content:!1},u.placement=Yv(u,n),u.targetNodes=()=>[t],u.referenceNode=()=>t,u}function Jv(t,e,n){const u=xa(t,e,n),o=t.$_popper=new ye({mixins:[Ku],data(){return{options:u}},render(r){const c=this.options,{theme:d,html:p,content:v,loadingContent:f}=c,y=uv(c,["theme","html","content","loadingContent"]);return r(Zv,{props:{theme:d,html:p,content:v,loadingContent:f},attrs:y,ref:"popper"})},devtools:{hide:!0}}),a=document.createElement("div");return document.body.appendChild(a),o.$mount(a),t.classList&&t.classList.add(Ba),o}function _a(t){t.$_popper&&(t.$_popper.$destroy(),delete t.$_popper,delete t.$_popperOldShown),t.classList&&t.classList.remove(Ba)}function Qi(t,{value:e,oldValue:n,modifiers:u}){const o=xa(t,e,u);if(!o.content||Ce(o.theme||"tooltip","disabled"))_a(t);else{let a;t.$_popper?(a=t.$_popper,a.options=o):a=Jv(t,e,u),typeof e.shown<"u"&&e.shown!==t.$_popperOldShown&&(t.$_popperOldShown=e.shown,e.shown?a.show():a.hide())}}var Xv={bind:Qi,update:Qi,unbind(t){_a(t)}};function to(t){t.addEventListener("click",Sa),t.addEventListener("touchstart",Da,ne?{passive:!0}:!1)}function eo(t){t.removeEventListener("click",Sa),t.removeEventListener("touchstart",Da),t.removeEventListener("touchend",Fa),t.removeEventListener("touchcancel",Pa)}function Sa(t){const e=t.currentTarget;t.closePopover=!e.$_vclosepopover_touch,t.closeAllPopover=e.$_closePopoverModifiers&&!!e.$_closePopoverModifiers.all}function Da(t){if(t.changedTouches.length===1){const e=t.currentTarget;e.$_vclosepopover_touch=!0;const n=t.changedTouches[0];e.$_vclosepopover_touchPoint=n,e.addEventListener("touchend",Fa),e.addEventListener("touchcancel",Pa)}}function Fa(t){const e=t.currentTarget;if(e.$_vclosepopover_touch=!1,t.changedTouches.length===1){const n=t.changedTouches[0],u=e.$_vclosepopover_touchPoint;t.closePopover=Math.abs(n.screenY-u.screenY)<20&&Math.abs(n.screenX-u.screenX)<20,t.closeAllPopover=e.$_closePopoverModifiers&&!!e.$_closePopoverModifiers.all}}function Pa(t){const e=t.currentTarget;e.$_vclosepopover_touch=!1}var Qv={bind(t,{value:e,modifiers:n}){t.$_closePopoverModifiers=n,(typeof e>"u"||e)&&to(t)},update(t,{value:e,oldValue:n,modifiers:u}){t.$_closePopoverModifiers=u,e!==n&&(typeof e>"u"||e?to(t):eo(t))},unbind(t){eo(t)}};const tc=_u;function ec(t,e={}){t.$_vTooltipInstalled||(t.$_vTooltipInstalled=!0,ma(wt,e),t.directive("tooltip",Xv),t.directive("close-popper",Qv),t.component("v-tooltip",Ji),t.component("VTooltip",Ji),t.component("v-dropdown",_u),t.component("VDropdown",_u),t.component("v-menu",Zi),t.component("VMenu",Zi))}const nc={version:"1.0.0-beta.19",install:ec,options:wt};let tn=null;typeof window<"u"?tn=window.Vue:typeof Qt<"u"&&(tn=Qt.Vue),tn&&tn.use(nc);var Na=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],An=Na.join(","),Oa=typeof Element>"u",ue=Oa?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,wn=!Oa&&Element.prototype.getRootNode?function(t){var e;return t==null||(e=t.getRootNode)===null||e===void 0?void 0:e.call(t)}:function(t){return t?.ownerDocument},Bn=function t(e,n){var u;n===void 0&&(n=!0);var o=e==null||(u=e.getAttribute)===null||u===void 0?void 0:u.call(e,"inert"),a=o===""||o==="true",r=a||n&&e&&t(e.parentNode);return r},uc=function(t){var e,n=t==null||(e=t.getAttribute)===null||e===void 0?void 0:e.call(t,"contenteditable");return n===""||n==="true"},Ra=function(t,e,n){if(Bn(t))return[];var u=Array.prototype.slice.apply(t.querySelectorAll(An));return e&&ue.call(t,An)&&u.unshift(t),u=u.filter(n),u},Ta=function t(e,n,u){for(var o=[],a=Array.from(e);a.length;){var r=a.shift();if(!Bn(r,!1))if(r.tagName==="SLOT"){var c=r.assignedElements(),d=c.length?c:r.children,p=t(d,!0,u);u.flatten?o.push.apply(o,p):o.push({scopeParent:r,candidates:p})}else{var v=ue.call(r,An);v&&u.filter(r)&&(n||!e.includes(r))&&o.push(r);var f=r.shadowRoot||typeof u.getShadowRoot=="function"&&u.getShadowRoot(r),y=!Bn(f,!1)&&(!u.shadowRootFilter||u.shadowRootFilter(r));if(f&&y){var g=t(f===!0?r.children:f.children,!0,u);u.flatten?o.push.apply(o,g):o.push({scopeParent:r,candidates:g})}else a.unshift.apply(a,r.children)}}return o},za=function(t){return!isNaN(parseInt(t.getAttribute("tabindex"),10))},qt=function(t){if(!t)throw new Error("No node provided");return t.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(t.tagName)||uc(t))&&!za(t)?0:t.tabIndex},ic=function(t,e){var n=qt(t);return n<0&&e&&!za(t)?0:n},oc=function(t,e){return t.tabIndex===e.tabIndex?t.documentOrder-e.documentOrder:t.tabIndex-e.tabIndex},La=function(t){return t.tagName==="INPUT"},ac=function(t){return La(t)&&t.type==="hidden"},sc=function(t){var e=t.tagName==="DETAILS"&&Array.prototype.slice.apply(t.children).some(function(n){return n.tagName==="SUMMARY"});return e},rc=function(t,e){for(var n=0;nsummary:first-of-type"),a=o?t.parentElement:t;if(ue.call(a,"details:not([open]) *"))return!0;if(!n||n==="full"||n==="legacy-full"){if(typeof u=="function"){for(var r=t;t;){var c=t.parentElement,d=wn(t);if(c&&!c.shadowRoot&&u(c)===!0)return no(t);t.assignedSlot?t=t.assignedSlot:!c&&d!==t.ownerDocument?t=d.host:t=c}t=r}if(dc(t))return!t.getClientRects().length;if(n!=="legacy-full")return!0}else if(n==="non-zero-area")return no(t);return!1},hc=function(t){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(t.tagName))for(var e=t.parentElement;e;){if(e.tagName==="FIELDSET"&&e.disabled){for(var n=0;n=0)},gc=function t(e){var n=[],u=[];return e.forEach(function(o,a){var r=!!o.scopeParent,c=r?o.scopeParent:o,d=ic(c,r),p=r?t(o.candidates):c;d===0?r?n.push.apply(n,p):n.push(c):u.push({documentOrder:a,tabIndex:d,item:o,isScope:r,content:p})}),u.sort(oc).reduce(function(o,a){return a.isScope?o.push.apply(o,a.content):o.push(a.content),o},[]).concat(n)},mc=function(t,e){e=e||{};var n;return e.getShadowRoot?n=Ta([t],e.includeContainer,{filter:Su.bind(null,e),flatten:!1,getShadowRoot:e.getShadowRoot,shadowRootFilter:fc}):n=Ra(t,e.includeContainer,Su.bind(null,e)),gc(n)},Cc=function(t,e){e=e||{};var n;return e.getShadowRoot?n=Ta([t],e.includeContainer,{filter:xn.bind(null,e),flatten:!0,getShadowRoot:e.getShadowRoot}):n=Ra(t,e.includeContainer,xn.bind(null,e)),n},ve=function(t,e){if(e=e||{},!t)throw new Error("No node provided");return ue.call(t,An)===!1?!1:Su(e,t)},yc=Na.concat("iframe").join(","),nu=function(t,e){if(e=e||{},!t)throw new Error("No node provided");return ue.call(t,yc)===!1?!1:xn(e,t)};function uo(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);e&&(u=u.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,u)}return n}function io(t){for(var e=1;e0){var n=t[t.length-1];n!==e&&n.pause()}var u=t.indexOf(e);u===-1||t.splice(u,1),t.push(e)},deactivateTrap:function(t,e){var n=t.indexOf(e);n!==-1&&t.splice(n,1),t.length>0&&t[t.length-1].unpause()}},Ac=function(t){return t.tagName&&t.tagName.toLowerCase()==="input"&&typeof t.select=="function"},wc=function(t){return t?.key==="Escape"||t?.key==="Esc"||t?.keyCode===27},Te=function(t){return t?.key==="Tab"||t?.keyCode===9},Bc=function(t){return Te(t)&&!t.shiftKey},xc=function(t){return Te(t)&&t.shiftKey},ao=function(t){return setTimeout(t,0)},so=function(t,e){var n=-1;return t.every(function(u,o){return e(u)?(n=o,!1):!0}),n},Se=function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),u=1;u1?F-1:0),T=1;T=0)b=n.activeElement;else{var A=a.tabbableGroups[0],F=A&&A.firstTabbableNode;b=F||p("fallbackFocus")}if(!b)throw new Error("Your focus-trap needs to have at least one focusable element");return b},f=function(){if(a.containerGroups=a.containers.map(function(b){var A=mc(b,o.tabbableOptions),F=Cc(b,o.tabbableOptions),R=A.length>0?A[0]:void 0,T=A.length>0?A[A.length-1]:void 0,H=F.find(function(K){return ve(K)}),Z=F.slice().reverse().find(function(K){return ve(K)}),tt=!!A.find(function(K){return qt(K)>0});return{container:b,tabbableNodes:A,focusableNodes:F,posTabIndexesFound:tt,firstTabbableNode:R,lastTabbableNode:T,firstDomTabbableNode:H,lastDomTabbableNode:Z,nextTabbableNode:function(K){var Ft=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Vt=A.indexOf(K);return Vt<0?Ft?F.slice(F.indexOf(K)+1).find(function(ct){return ve(ct)}):F.slice(0,F.indexOf(K)).reverse().find(function(ct){return ve(ct)}):A[Vt+(Ft?1:-1)]}}}),a.tabbableGroups=a.containerGroups.filter(function(b){return b.tabbableNodes.length>0}),a.tabbableGroups.length<=0&&!p("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(a.containerGroups.find(function(b){return b.posTabIndexesFound})&&a.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},y=function b(A){var F=A.activeElement;if(F)return F.shadowRoot&&F.shadowRoot.activeElement!==null?b(F.shadowRoot):F},g=function b(A){if(A!==!1&&A!==y(document)){if(!A||!A.focus){b(v());return}A.focus({preventScroll:!!o.preventScroll}),a.mostRecentlyFocusedNode=A,Ac(A)&&A.select()}},w=function(b){var A=p("setReturnFocus",b);return A||(A===!1?!1:b)},k=function(b){var A=b.target,F=b.event,R=b.isBackward,T=R===void 0?!1:R;A=A||en(F),f();var H=null;if(a.tabbableGroups.length>0){var Z=d(A,F),tt=Z>=0?a.containerGroups[Z]:void 0;if(Z<0)T?H=a.tabbableGroups[a.tabbableGroups.length-1].lastTabbableNode:H=a.tabbableGroups[0].firstTabbableNode;else if(T){var K=so(a.tabbableGroups,function(q){var Q=q.firstTabbableNode;return A===Q});if(K<0&&(tt.container===A||nu(A,o.tabbableOptions)&&!ve(A,o.tabbableOptions)&&!tt.nextTabbableNode(A,!1))&&(K=Z),K>=0){var Ft=K===0?a.tabbableGroups.length-1:K-1,Vt=a.tabbableGroups[Ft];H=qt(A)>=0?Vt.lastTabbableNode:Vt.lastDomTabbableNode}else Te(F)||(H=tt.nextTabbableNode(A,!1))}else{var ct=so(a.tabbableGroups,function(q){var Q=q.lastTabbableNode;return A===Q});if(ct<0&&(tt.container===A||nu(A,o.tabbableOptions)&&!ve(A,o.tabbableOptions)&&!tt.nextTabbableNode(A))&&(ct=Z),ct>=0){var Gn=ct===a.tabbableGroups.length-1?0:ct+1,We=a.tabbableGroups[Gn];H=qt(A)>=0?We.firstTabbableNode:We.firstDomTabbableNode}else Te(F)||(H=tt.nextTabbableNode(A))}}else H=p("fallbackFocus");return H},x=function(b){var A=en(b);if(!(d(A,b)>=0)){if(Se(o.clickOutsideDeactivates,b)){r.deactivate({returnFocus:o.returnFocusOnDeactivate});return}Se(o.allowOutsideClick,b)||b.preventDefault()}},D=function(b){var A=en(b),F=d(A,b)>=0;if(F||A instanceof Document)F&&(a.mostRecentlyFocusedNode=A);else{b.stopImmediatePropagation();var R,T=!0;if(a.mostRecentlyFocusedNode)if(qt(a.mostRecentlyFocusedNode)>0){var H=d(a.mostRecentlyFocusedNode),Z=a.containerGroups[H].tabbableNodes;if(Z.length>0){var tt=Z.findIndex(function(K){return K===a.mostRecentlyFocusedNode});tt>=0&&(o.isKeyForward(a.recentNavEvent)?tt+1=0&&(R=Z[tt-1],T=!1))}}else a.containerGroups.some(function(K){return K.tabbableNodes.some(function(Ft){return qt(Ft)>0})})||(T=!1);else T=!1;T&&(R=k({target:a.mostRecentlyFocusedNode,isBackward:o.isKeyBackward(a.recentNavEvent)})),g(R||a.mostRecentlyFocusedNode||v())}a.recentNavEvent=void 0},_=function(b){var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;a.recentNavEvent=b;var F=k({event:b,isBackward:A});F&&(Te(b)&&b.preventDefault(),g(F))},S=function(b){if(wc(b)&&Se(o.escapeDeactivates,b)!==!1){b.preventDefault(),r.deactivate();return}(o.isKeyForward(b)||o.isKeyBackward(b))&&_(b,o.isKeyBackward(b))},N=function(b){var A=en(b);d(A,b)>=0||Se(o.clickOutsideDeactivates,b)||Se(o.allowOutsideClick,b)||(b.preventDefault(),b.stopImmediatePropagation())},$=function(){if(a.active)return oo.activateTrap(u,r),a.delayInitialFocusTimer=o.delayInitialFocus?ao(function(){g(v())}):g(v()),n.addEventListener("focusin",D,!0),n.addEventListener("mousedown",x,{capture:!0,passive:!1}),n.addEventListener("touchstart",x,{capture:!0,passive:!1}),n.addEventListener("click",N,{capture:!0,passive:!1}),n.addEventListener("keydown",S,{capture:!0,passive:!1}),r},M=function(){if(a.active)return n.removeEventListener("focusin",D,!0),n.removeEventListener("mousedown",x,!0),n.removeEventListener("touchstart",x,!0),n.removeEventListener("click",N,!0),n.removeEventListener("keydown",S,!0),r},Y=function(b){var A=b.some(function(F){var R=Array.from(F.removedNodes);return R.some(function(T){return T===a.mostRecentlyFocusedNode})});A&&g(v())},P=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(Y):void 0,L=function(){P&&(P.disconnect(),a.active&&!a.paused&&a.containers.map(function(b){P.observe(b,{subtree:!0,childList:!0})}))};return r={get active(){return a.active},get paused(){return a.paused},activate:function(b){if(a.active)return this;var A=c(b,"onActivate"),F=c(b,"onPostActivate"),R=c(b,"checkCanFocusTrap");R||f(),a.active=!0,a.paused=!1,a.nodeFocusedBeforeActivation=n.activeElement,A?.();var T=function(){R&&f(),$(),L(),F?.()};return R?(R(a.containers.concat()).then(T,T),this):(T(),this)},deactivate:function(b){if(!a.active)return this;var A=io({onDeactivate:o.onDeactivate,onPostDeactivate:o.onPostDeactivate,checkCanReturnFocus:o.checkCanReturnFocus},b);clearTimeout(a.delayInitialFocusTimer),a.delayInitialFocusTimer=void 0,M(),a.active=!1,a.paused=!1,L(),oo.deactivateTrap(u,r);var F=c(A,"onDeactivate"),R=c(A,"onPostDeactivate"),T=c(A,"checkCanReturnFocus"),H=c(A,"returnFocus","returnFocusOnDeactivate");F?.();var Z=function(){ao(function(){H&&g(w(a.nodeFocusedBeforeActivation)),R?.()})};return H&&T?(T(w(a.nodeFocusedBeforeActivation)).then(Z,Z),this):(Z(),this)},pause:function(b){if(a.paused||!a.active)return this;var A=c(b,"onPause"),F=c(b,"onPostPause");return a.paused=!0,A?.(),M(),L(),F?.(),this},unpause:function(b){if(!a.paused||!a.active)return this;var A=c(b,"onUnpause"),F=c(b,"onPostUnpause");return a.paused=!1,A?.(),f(),$(),L(),F?.(),this},updateContainerElements:function(b){var A=[].concat(b).filter(Boolean);return a.containers=A.map(function(F){return typeof F=="string"?n.querySelector(F):F}),a.active&&f(),L(),this}},r.updateContainerElements(t),r};function _n(){return window._nc_focus_trap??=[],window._nc_focus_trap}function Sc(){let t=[];return{pause(){t=[..._n()];for(const e of t)e.pause()},unpause(){for(const e of t)e.unpause();t=[]}}}const Dc=Ya({name:"NcPopoverTriggerProvider",provide(){return{"NcPopover:trigger:shown":()=>this.shown,"NcPopover:trigger:attrs":()=>this.triggerAttrs}},props:{shown:{type:Boolean,required:!0},popupRole:{type:String,default:void 0}},computed:{triggerAttrs(){return{"aria-haspopup":this.popupRole,"aria-expanded":this.shown.toString()}}},render(){return this.$scopedSlots.default?.({attrs:this.triggerAttrs})}}),Fc=null,Pc=null;var Nc=X(Dc,Fc,Pc,!1,null,null);const Oc=Nc.exports,Rc={name:"NcPopover",components:{Dropdown:tc,NcPopoverTriggerProvider:Oc},inheritAttrs:!1,props:{shown:{type:Boolean,default:!1},popupRole:{type:String,default:void 0,validator:t=>["menu","listbox","tree","grid","dialog","true"].includes(t)},popoverBaseClass:{type:String,default:""},focusTrap:{type:Boolean,default:!0},noFocusTrap:{type:Boolean,default:!1},setReturnFocus:{default:void 0,type:[HTMLElement,SVGElement,String,Boolean,Function]}},emits:["after-show","after-hide","update:shown"],data(){return{internalShown:this.shown}},watch:{shown(t){this.internalShown=t},internalShown(t){this.$emit("update:shown",t)}},mounted(){this.checkTriggerA11y()},beforeDestroy(){this.clearFocusTrap(),this.clearEscapeStopPropagation()},methods:{checkTriggerA11y(){window.OC?.debug&&(this.getPopoverTriggerContainerElement().querySelector("[aria-expanded]")||ye.util.warn("It looks like you are using a custom button as a or other popover #trigger. If you are not using as a trigger, you need to bind attrs from the #trigger slot props to your custom button. See docs for an example."))},removeFloatingVueAriaDescribedBy(){const t=this.getPopoverTriggerContainerElement().querySelectorAll("[data-popper-shown]");for(const e of t)e.removeAttribute("aria-describedby")},getPopoverContentElement(){return this.$refs.popover?.$refs.popperContent?.$el},getPopoverTriggerContainerElement(){return this.$refs.popover.$refs.reference},async useFocusTrap(){if(await this.$nextTick(),this.noFocusTrap||!this.focusTrap)return;const t=this.getPopoverContentElement();t.tabIndex=-1,t&&(this.$focusTrap=$a(t,{escapeDeactivates:!1,allowOutsideClick:!0,setReturnFocus:this.setReturnFocus,trapStack:_n(),fallBackFocus:t}),this.$focusTrap.activate())},clearFocusTrap(t={}){try{this.$focusTrap?.deactivate(t),this.$focusTrap=null}catch(e){console.warn(e)}},addEscapeStopPropagation(){this.getPopoverContentElement()?.addEventListener("keydown",this.stopKeydownEscapeHandler)},clearEscapeStopPropagation(){this.getPopoverContentElement()?.removeEventListener("keydown",this.stopKeydownEscapeHandler)},stopKeydownEscapeHandler(t){t.type==="keydown"&&t.key==="Escape"&&t.stopPropagation()},async afterShow(){this.getPopoverContentElement().addEventListener("transitionend",()=>{this.$emit("after-show")},{once:!0,passive:!0}),this.removeFloatingVueAriaDescribedBy(),await this.$nextTick(),await this.useFocusTrap(),this.addEscapeStopPropagation()},afterHide(){this.getPopoverContentElement().addEventListener("transitionend",()=>{this.$emit("after-hide")},{once:!0,passive:!0}),this.clearFocusTrap(),this.clearEscapeStopPropagation()}}};var Tc=function(){var t=this,e=t._self._c;return e("Dropdown",t._g(t._b({ref:"popover",attrs:{distance:10,"arrow-padding":10,"no-auto-focus":!0,"popper-class":t.popoverBaseClass,shown:t.internalShown},on:{"update:shown":function(n){t.internalShown=n},"apply-show":t.afterShow,"apply-hide":t.afterHide},scopedSlots:t._u([{key:"popper",fn:function(n){return[t._t("default",null,null,n)]}}],null,!0)},"Dropdown",t.$attrs,!1),t.$listeners),[e("NcPopoverTriggerProvider",{attrs:{shown:t.internalShown,"popup-role":t.popupRole},scopedSlots:t._u([{key:"default",fn:function(n){return[t._t("trigger",null,null,n)]}}],null,!0)})],1)},zc=[],Lc=X(Rc,Tc,zc,!1,null,null);const $c=Lc.exports,Zu=t=>Math.random().toString(36).replace(/[^a-z]+/g,"").slice(0,t||5);function Ic(t,e={}){const n=Sc();Ja(t,()=>{Bt(e.disabled)||(Bt(t)?n.pause():n.unpause())}),Xa(()=>{n.unpause()})}const Mc={name:"DotsHorizontalIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Uc=function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon dots-horizontal-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(n){return t.$emit("click",n)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},jc=[],Gc=X(Mc,Uc,jc,!1,null,null);const Vc=Gc.exports;Fu(cs);const Hc=".focusable",Wc={name:"NcActions",components:{NcButton:po,NcPopover:$c},provide(){return{"NcActions:isSemanticMenu":uu(()=>this.actionsMenuSemanticType==="menu")}},props:{open:{type:Boolean,default:!1},manualOpen:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},forceName:{type:Boolean,default:!1},menuName:{type:String,default:null},forceSemanticType:{type:String,default:null,validator(t){return["dialog","menu","expanded","tooltip"].includes(t)}},primary:{type:Boolean,default:!1},type:{type:String,validator(t){return["primary","secondary","tertiary","tertiary-no-background","tertiary-on-primary","error","warning","success"].includes(t)},default:null},defaultIcon:{type:String,default:""},ariaLabel:{type:String,default:Rt("Actions")},ariaHidden:{type:Boolean,default:null},placement:{type:String,default:"bottom"},boundariesElement:{type:Element,default:()=>document.querySelector("#content-vue")??document.querySelector("body")},container:{type:[String,Object,Element,Boolean],default:"body"},disabled:{type:Boolean,default:!1},inline:{type:Number,default:0},variant:{type:String,validator(t){return["primary","secondary","tertiary","tertiary-no-background","tertiary-on-primary","error","warning","success"].includes(t)},default:null}},emits:["click","blur","focus","close","closed","open","opened","update:open"],setup(t){const e=`menu-${Zu()}`,n=`trigger-${e}`,u=Qa(),{top:o,bottom:a}=Fi(u),{top:r,bottom:c}=Fi(ts(t,"boundariesElement")),{height:d}=m0(),p=uu(()=>Math.max(Math.min(o.value-84,o.value-r.value),Math.min(d.value-a.value-34,c.value-a.value)));return{triggerButton:u,maxMenuHeight:p,randomId:e,triggerRandomId:n}},data(){return{opened:this.open,focusIndex:0,actionsMenuSemanticType:"unknown"}},computed:{triggerButtonVariant(){return(this.type??this.variant)||(this.primary?"primary":this.menuName?"secondary":"tertiary")},config(){return{menu:{popupRole:"menu",withArrowNavigation:!0,withTabNavigation:!1,withFocusTrap:!1,triggerA11yAttr:{"aria-controls":this.opened?this.randomId:null},popoverContainerA11yAttrs:{},popoverUlA11yAttrs:{"aria-labelledby":this.triggerRandomId,id:this.randomId,role:"menu"}},expanded:{popupRole:void 0,withArrowNavigation:!1,withTabNavigation:!0,withFocusTrap:!1,triggerA11yAttr:{},popoverContainerA11yAttrs:{},popoverUlA11yAttrs:{}},dialog:{popupRole:"dialog",withArrowNavigation:!1,withTabNavigation:!0,withFocusTrap:!0,triggerA11yAttr:{"aria-controls":this.opened?this.randomId:null},popoverContainerA11yAttrs:{id:this.randomId,role:"dialog","aria-labelledby":this.triggerRandomId,"aria-modal":"true"},popoverUlA11yAttrs:{}},tooltip:{popupRole:void 0,withArrowNavigation:!1,withTabNavigation:!1,withFocusTrap:!1,triggerA11yAttr:{},popoverContainerA11yAttrs:{},popoverUlA11yAttrs:{}},unknown:{popupRole:void 0,role:void 0,withArrowNavigation:!0,withTabNavigation:!1,withFocusTrap:!0,triggerA11yAttr:{},popoverContainerA11yAttrs:{},popoverUlA11yAttrs:{"aria-labelledby":this.triggerRandomId}}}[this.actionsMenuSemanticType]}},watch:{open(t){t!==this.opened&&(this.opened=t)},opened(){this.opened?document.body.addEventListener("keydown",this.handleEscapePressed):document.body.removeEventListener("keydown",this.handleEscapePressed)}},created(){Ic(()=>this.opened,{disabled:()=>this.config.withFocusTrap})},methods:{getActionName(t){return t?.componentOptions?.Ctor?.extendOptions?.name??t?.componentOptions?.tag},isValidSingleAction(t){return["NcActionButton","NcActionLink","NcActionRouter"].includes(this.getActionName(t))},isIconUrl(t){try{return!!new URL(t,t.startsWith("/")?window.location.origin:void 0)}catch{return!1}},openMenu(t){this.opened||(this.opened=!0,this.$emit("update:open",!0),this.$emit("open"))},async closeMenu(t=!0){this.opened&&(await this.$nextTick(),this.opened=!1,this.$refs.popover?.clearFocusTrap({returnFocus:t}),this.$emit("update:open",!1),this.$emit("close"),this.focusIndex=0,t&&this.$refs.triggerButton?.$el.focus())},onClosed(){this.$emit("closed")},onOpened(){this.$nextTick(()=>{this.focusFirstAction(null),this.resizePopover(),this.$emit("opened")})},resizePopover(){const t=this.$refs.menu.closest(".v-popper__inner");if(this.$refs.menu.clientHeight>this.maxMenuHeight){let e=0,n=0;for(const u of this.$refs.menuList.children){if(e+u.clientHeight/2>this.maxMenuHeight){t.style.height=`${e-n/2}px`;break}n=u.clientHeight,e+=n}}else t.style.height="fit-content"},getCurrentActiveMenuItemElement(){return this.$refs.menu.querySelector("li.active")},getFocusableMenuItemElements(){return this.$refs.menu.querySelectorAll(Hc)},onKeydown(t){if(t.key==="Tab"){if(this.config.withFocusTrap)return;if(!this.config.withTabNavigation){this.closeMenu(!0);return}t.preventDefault();const e=this.getFocusableMenuItemElements(),n=[...e].indexOf(document.activeElement);if(n===-1)return;const u=t.shiftKey?n-1:n+1;(u<0||u===e.length)&&this.closeMenu(!0),this.focusIndex=u,this.focusAction();return}this.config.withArrowNavigation&&(t.key==="ArrowUp"&&this.focusPreviousAction(t),t.key==="ArrowDown"&&this.focusNextAction(t),t.key==="PageUp"&&this.focusFirstAction(t),t.key==="PageDown"&&this.focusLastAction(t)),this.handleEscapePressed(t)},onTriggerKeydown(t){t.key==="Escape"&&this.actionsMenuSemanticType==="tooltip"&&this.closeMenu()},handleEscapePressed(t){t.key==="Escape"&&(this.closeMenu(),t.preventDefault())},removeCurrentActive(){const t=this.$refs.menu.querySelector("li.active");t&&t.classList.remove("active")},focusAction(){const t=this.getFocusableMenuItemElements()[this.focusIndex];if(t){this.removeCurrentActive();const e=t.closest("li.action");t.focus(),e&&e.classList.add("active")}},focusPreviousAction(t){this.opened&&(this.focusIndex===0?this.focusLastAction(t):(this.preventIfEvent(t),this.focusIndex=this.focusIndex-1),this.focusAction())},focusNextAction(t){if(this.opened){const e=this.getFocusableMenuItemElements().length-1;this.focusIndex===e?this.focusFirstAction(t):(this.preventIfEvent(t),this.focusIndex=this.focusIndex+1),this.focusAction()}},focusFirstAction(t){if(this.opened){this.preventIfEvent(t);const e=[...this.getFocusableMenuItemElements()].findIndex(n=>n.getAttribute("aria-checked")==="true"&&n.getAttribute("role")==="menuitemradio");this.focusIndex=e>-1?e:0,this.focusAction()}},focusLastAction(t){this.opened&&(this.preventIfEvent(t),this.focusIndex=this.getFocusableMenuItemElements().length-1,this.focusAction())},preventIfEvent(t){t&&(t.preventDefault(),t.stopPropagation())},onFocus(t){this.$emit("focus",t)},onBlur(t){this.$emit("blur",t),this.actionsMenuSemanticType==="tooltip"&&this.$refs.menu&&this.getFocusableMenuItemElements().length===0&&this.closeMenu(!1)},onClick(t){this.$emit("click",t)}},render(t){const e=(this.$slots.default||[]).filter(c=>this.getActionName(c));if(e.length===0)return;let n=e.filter(this.isValidSingleAction);this.forceMenu&&n.length>0&&this.inline>0&&(ye.util.warn("Specifying forceMenu will ignore any inline actions rendering."),n=[]);const u=n.slice(0,this.inline),o=e.filter(c=>!u.includes(c));if(this.forceSemanticType)this.actionsMenuSemanticType=this.forceSemanticType;else{const c=["NcActionInput","NcActionTextEditable"],d=["NcActionButton","NcActionButtonGroup","NcActionCheckbox","NcActionRadio"],p=["NcActionLink","NcActionRouter"],v=o.some(g=>c.includes(this.getActionName(g))),f=o.some(g=>d.includes(this.getActionName(g))),y=o.some(g=>p.includes(this.getActionName(g)));v?this.actionsMenuSemanticType="dialog":f?this.actionsMenuSemanticType="menu":y?this.actionsMenuSemanticType="expanded":e.filter(g=>this.getActionName(g).startsWith("NcAction")).length===e.length?this.actionsMenuSemanticType="tooltip":this.actionsMenuSemanticType="unknown"}const a=c=>{const d=c?.componentOptions?.propsData?.icon,p=c?.data?.scopedSlots?.icon()?.[0]??(this.isIconUrl(d)?t("img",{class:"action-item__menutoggle__icon",attrs:{src:d,alt:""}}):t("span",{class:["icon",d]})),v=c?.data?.attrs||{},f=c?.componentOptions?.listeners?.click,y=c?.componentOptions?.children?.[0]?.text?.trim?.(),g=c?.componentOptions?.propsData?.ariaLabel||y,w=this.forceName?y:"";let k=c?.componentOptions?.propsData?.title;this.forceName||k||(k=y);const x={...c?.componentOptions?.propsData??{}},D=["submit","reset"].includes(x.type)?x.modelValue:"button";return delete x.modelValue,delete x.type,t("NcButton",{class:["action-item action-item--single",c?.data?.staticClass,c?.data?.class],attrs:{...v,"aria-label":g,title:k},ref:c?.data?.ref,props:{...x,disabled:this.disabled||c?.componentOptions?.propsData?.disabled,pressed:c?.componentOptions?.propsData?.modelValue,type:D,variant:(this.type??this.variant)||(w?"secondary":"tertiary")},on:{focus:this.onFocus,blur:this.onBlur,"update:pressed":c?.componentOptions?.listeners?.["update:modelValue"]??(()=>{}),...!!f&&{click:_=>{f&&f(_)}}}},[t("template",{slot:"icon"},[p]),w])},r=c=>{const d=this.$slots.icon?.[0]||(this.defaultIcon?t("span",{class:["icon",this.defaultIcon]}):t(Vc,{props:{size:20}}));return t("NcPopover",{ref:"popover",props:{delay:0,handleResize:!0,shown:this.opened,placement:this.placement,boundary:this.boundariesElement,container:this.container,popoverBaseClass:"action-item__popper",popupRole:this.config.popupRole,setReturnFocus:this.config.withFocusTrap?this.$refs.triggerButton?.$el:null,focusTrap:this.config.withFocusTrap},attrs:{delay:0,handleResize:!0,shown:this.opened,placement:this.placement,boundary:this.boundariesElement,container:this.container,...this.manualOpen&&{triggers:[]}},on:{show:this.openMenu,"after-show":this.onOpened,hide:this.closeMenu,"after-hide":this.onClosed}},[t("NcButton",{class:"action-item__menutoggle",props:{variant:this.triggerButtonVariant,disabled:this.disabled},slot:"trigger",ref:"triggerButton",attrs:{id:this.triggerRandomId,"aria-label":this.menuName?null:this.ariaLabel,...this.config.triggerA11yAttr},on:{focus:this.onFocus,blur:this.onBlur,click:this.onClick,keydown:this.onTriggerKeydown}},[t("template",{slot:"icon"},[d]),this.menuName]),t("div",{class:{open:this.opened},attrs:{tabindex:"-1",...this.config.popoverContainerA11yAttrs},on:{keydown:this.onKeydown},ref:"menu"},[t("ul",{attrs:{tabindex:"-1",...this.config.popoverUlA11yAttrs},ref:"menuList"},[c])])])};return e.length===1&&n.length===1&&!this.forceMenu?a(e[0]):(this.$nextTick(()=>{this.opened&&this.$refs.menu&&(this.resizePopover(),(this.$refs.menu.querySelector("li.active")||[]).length===0&&this.focusFirstAction())}),u.length>0&&this.inline>0?t("div",{class:["action-items",`action-item--${this.triggerButtonVariant}`]},[...u.map(a),o.length>0?t("div",{class:["action-item",{"action-item--open":this.opened}]},[r(o)]):null]):t("div",{class:["action-item action-item--default-popover",`action-item--${this.triggerButtonVariant}`,{"action-item--open":this.opened}]},[r(e)]))}},Kc=null,qc=null;var Zc=X(Wc,Kc,qc,!1,null,"d11b605b");const Yc=Zc.exports;var lh="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z",Jc="M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z",Xc="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z";const Qc={name:"CloseIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var td=function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon close-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(n){return t.$emit("click",n)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},ed=[],nd=X(Qc,td,ed,!1,null,null);const ud=nd.exports;function id(t,e,n=!1){const u=es().proxy;return n&&u.$props[t]===void 0&&u.$props.modelValue===void 0&&ye.util.warn(`Missing required prop: "modelValue" or old "${t}"`),uu({get(){return u.$props[t]!==void 0?u.$props[t]:u.$props.modelValue},set(o){u.$emit("update:modelValue",o),u.$emit("update:model-value",o),u.$emit(e,o)}})}const od=t=>{t.mounted?Array.isArray(t.mounted)||(t.mounted=[t.mounted]):t.mounted=[],t.mounted.push(function(){this.$el.setAttribute("data-v-6d5f1cd","")})};Fu(ds,ps);function ad(t,e){let n,u,o=e,a;this.start=function(){a=!0,u=new Date,n=setTimeout(t,o)},this.pause=function(){a=!1,clearTimeout(n),o-=new Date-u},this.clear=function(){a=!1,clearTimeout(n),o=0},this.getTimeLeft=function(){return a&&(this.pause(),this.start()),o},this.getStateRunning=function(){return a},this.start()}const sd={name:"PauseIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var rd=function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon pause-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(n){return t.$emit("click",n)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M14,19H18V5H14M6,19H10V5H6V19Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},ld=[],vd=X(sd,rd,ld,!1,null,null);const cd=vd.exports,dd={name:"PlayIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var pd=function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon play-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(n){return t.$emit("click",n)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M8,5.14V19.14L19,12.14L8,5.14Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},hd=[],fd=X(dd,pd,hd,!1,null,null);const gd=fd.exports,Yu={name:"NcModal",components:{Close:ud,Pause:cd,Play:gd,NcActions:Yc,NcButton:po,NcIconSvgWrapper:bs},props:{name:{type:String,default:""},hasPrevious:{type:Boolean,default:!1},hasNext:{type:Boolean,default:!1},outTransition:{type:Boolean,default:!1},enableSlideshow:{type:Boolean,default:!1},slideshowDelay:{type:Number,default:5e3},slideshowPaused:{type:Boolean,default:!1},enableSwipe:{type:Boolean,default:!0},disableSwipe:{type:Boolean,default:!1},spreadNavigation:{type:Boolean,default:!1},size:{type:String,default:"normal",validator:t=>["small","normal","large","full"].includes(t)},noClose:{type:Boolean,default:!1},canClose:{type:Boolean,default:!0},closeOnClickOutside:{type:Boolean,default:!0},dark:{type:Boolean,default:!1},lightBackdrop:{type:Boolean,default:!1},container:{type:[String,null],default:"body"},closeButtonContained:{type:Boolean,default:!0},additionalTrapElements:{type:Array,default:()=>[]},inlineActions:{type:Number,default:0},show:{type:Boolean,default:void 0},labelId:{type:String,default:""},setReturnFocus:{default:void 0,type:[HTMLElement,SVGElement,String,Boolean]}},emits:["previous","next","close","update:show"],setup(){return{mdiChevronLeft:Jc,mdiChevronRight:Xc}},data(){return{mc:null,playing:!1,slideshowTimeout:null,focusTrap:null,externalFocusTrapStack:[],randId:Zu(),internalShow:!0}},computed:{cssSlideshowDelay(){return`${this.slideshowDelay}ms`},forceDarkBackdrop(){return!this.noClose&&this.canClose&&!this.closeButtonContained||this.hasNext||this.hasPrevious||this.modalName!==""||!!this.$slots.actions},modalName(){return this.name.trim()},modalLabelId(){return this.labelId||`modal-name-${this.randId}`},showModal(){return this.show===void 0?this.internalShow:this.show},modalTransitionName(){return`modal-${this.outTransition?"out":"in"}`},playPauseName(){return this.playing?Rt("Pause slideshow"):Rt("Start slideshow")},closeButtonAriaLabel(){return Rt("Close")},prevButtonAriaLabel(){return Rt("Previous")},nextButtonAriaLabel(){return Rt("Next")}},watch:{slideshowPaused(t){this.slideshowTimeout&&(t?this.slideshowTimeout.pause():this.slideshowTimeout.start())},additionalTrapElements(t){if(this.focusTrap){const e=this.$refs.mask;this.focusTrap.updateContainerElements([e,...t])}}},beforeMount(){window.addEventListener("keydown",this.handleKeydown)},beforeDestroy(){window.removeEventListener("keydown",this.handleKeydown),this.mc.stop()},mounted(){!this.name&&!this.labelId&&ye.util.warn("[NcModal] You need either set the name or set a `labelId` for accessibility."),this.useFocusTrap(),this.mc=f0(this.$refs.mask,{onSwipeEnd:this.handleSwipe}),this.container&&(this.container==="body"?document.body.insertBefore(this.$el,document.body.lastChild):document.querySelector(this.container).appendChild(this.$el))},destroyed(){this.clearFocusTrap(),this.$el.remove()},methods:{t:Rt,previous(t){this.hasPrevious&&(t&&this.resetSlideshow(),this.$emit("previous",t))},next(t){this.hasNext&&(t&&this.resetSlideshow(),this.$emit("next",t))},close(t){!this.noClose&&this.canClose&&(this.internalShow=!1,this.$emit("update:show",!1),setTimeout(()=>{this.$emit("close",t)},300))},handleClickModalWrapper(t){this.closeOnClickOutside&&this.close(t)},handleKeydown(t){if(t.key==="Escape"){const n=_n();return n.length>0&&n[n.length-1]!==this.focusTrap?void 0:this.close(t)}const e={ArrowLeft:this.previous,ArrowRight:this.next};if(e[t.key])return document.activeElement&&!this.$el.contains(document.activeElement)?void 0:e[t.key](t)},handleSwipe(t,e){this.enableSwipe&&!this.disableSwipe&&(e==="left"?this.next(t):e==="right"&&this.previous(t))},togglePlayPause(){this.playing=!this.playing,this.playing?this.handleSlideshow():this.clearSlideshowTimeout()},resetSlideshow(){this.playing=!this.playing,this.clearSlideshowTimeout(),this.$nextTick(function(){this.togglePlayPause()})},handleSlideshow(){this.playing=!0,this.hasNext?this.slideshowTimeout=new ad(()=>{this.next(),this.handleSlideshow()},this.slideshowDelay):(this.playing=!1,this.clearSlideshowTimeout())},clearSlideshowTimeout(){this.slideshowTimeout&&this.slideshowTimeout.clear()},async useFocusTrap(){if(!this.showModal||this.focusTrap)return;const t=this.$refs.mask;await this.$nextTick();const e={allowOutsideClick:!0,fallbackFocus:t,trapStack:_n(),escapeDeactivates:!1,setReturnFocus:this.setReturnFocus};this.externalFocusTrapStack=[...e.trapStack];for(const n of this.externalFocusTrapStack)n.deactivate();this.focusTrap=$a([t,...this.additionalTrapElements],e),this.focusTrap.activate()},clearFocusTrap(){if(this.focusTrap){this.focusTrap?.deactivate(),this.focusTrap=null;for(const t of this.externalFocusTrapStack)t.activate();this.externalFocusTrapStack=[]}}}},ro=()=>{vo((t,e)=>({"189d6f6a":t.cssSlideshowDelay}))},lo=Yu.setup;Yu.setup=lo?(t,e)=>(ro(),lo(t,e)):ro;const md=Yu;var Cd=function(){var t=this,e=t._self._c;return e("transition",{attrs:{name:"fade",appear:""},on:{"after-enter":t.useFocusTrap,"before-leave":t.clearFocusTrap}},[e("div",{directives:[{name:"show",rawName:"v-show",value:t.showModal,expression:"showModal"}],ref:"mask",staticClass:"modal-mask",class:{"modal-mask--opaque":t.dark||t.forceDarkBackdrop,"modal-mask--light":t.lightBackdrop},attrs:{role:"dialog","aria-modal":"true","aria-labelledby":t.modalLabelId,"aria-describedby":"modal-description-"+t.randId,tabindex:"-1"}},[e("transition",{attrs:{name:"fade-visibility",appear:""}},[e("div",{staticClass:"modal-header",attrs:{"data-theme-light":t.lightBackdrop,"data-theme-dark":!t.lightBackdrop}},[t.modalName?e("h2",{staticClass:"modal-header__name",attrs:{id:"modal-name-"+t.randId}},[t._v(" "+t._s(t.modalName)+" ")]):t._e(),e("div",{staticClass:"icons-menu"},[t.hasNext&&t.enableSlideshow?e("button",{staticClass:"play-pause-icons",class:{"play-pause-icons--paused":t.slideshowPaused},attrs:{title:t.playPauseName,type:"button"},on:{click:t.togglePlayPause}},[t.playing?e("Pause",{staticClass:"play-pause-icons__pause",attrs:{size:20}}):e("Play",{staticClass:"play-pause-icons__play",attrs:{size:20}}),e("span",{staticClass:"hidden-visually"},[t._v(" "+t._s(t.playPauseName)+" ")]),t.playing?e("svg",{staticClass:"progress-ring",attrs:{height:"50",width:"50"}},[e("circle",{staticClass:"progress-ring__circle",attrs:{stroke:"white","stroke-width":"2",fill:"transparent",r:"15",cx:"25",cy:"25"}})]):t._e()],1):t._e(),e("NcActions",{staticClass:"header-actions",attrs:{inline:t.inlineActions}},[t._t("actions")],2),!t.noClose&&t.canClose&&!t.closeButtonContained?e("NcButton",{staticClass:"header-close",attrs:{"aria-label":t.closeButtonAriaLabel,variant:"tertiary"},on:{click:t.close},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Close",{attrs:{size:20}})]},proxy:!0}],null,!1,2121748766)}):t._e()],1)])]),e("transition",{attrs:{name:t.modalTransitionName,appear:""}},[e("div",{directives:[{name:"show",rawName:"v-show",value:t.showModal,expression:"showModal"}],staticClass:"modal-wrapper",class:[`modal-wrapper--${t.size}`,{"modal-wrapper--spread-navigation":t.spreadNavigation}],on:{mousedown:function(n){return n.target!==n.currentTarget?null:t.handleClickModalWrapper.apply(null,arguments)}}},[e("transition",{attrs:{name:"fade-visibility",appear:""}},[e("NcButton",{directives:[{name:"show",rawName:"v-show",value:t.hasPrevious,expression:"hasPrevious"}],staticClass:"prev",attrs:{"aria-label":t.prevButtonAriaLabel,variant:"tertiary-no-background"},on:{click:t.previous},scopedSlots:t._u([{key:"icon",fn:function(){return[e("NcIconSvgWrapper",{attrs:{directional:"",path:t.mdiChevronLeft,size:40}})]},proxy:!0}])})],1),e("div",{staticClass:"modal-container",attrs:{id:"modal-description-"+t.randId}},[e("div",{staticClass:"modal-container__content"},[t._t("default")],2),!t.noClose&&t.canClose&&t.closeButtonContained?e("NcButton",{staticClass:"modal-container__close",attrs:{"aria-label":t.closeButtonAriaLabel,variant:"tertiary"},on:{click:t.close},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Close",{attrs:{size:20}})]},proxy:!0}],null,!1,2121748766)}):t._e()],1),e("transition",{attrs:{name:"fade-visibility",appear:""}},[e("NcButton",{directives:[{name:"show",rawName:"v-show",value:t.hasNext,expression:"hasNext"}],staticClass:"next",attrs:{"aria-label":t.nextButtonAriaLabel,variant:"tertiary-no-background"},on:{click:t.next},scopedSlots:t._u([{key:"icon",fn:function(){return[e("NcIconSvgWrapper",{attrs:{directional:"",path:t.mdiChevronRight,size:40}})]},proxy:!0}])})],1)],1)])],1)])},yd=[],Ed=X(md,Cd,yd,!1,null,"0fc6c354");const kd=Ed.exports;od(kd),Fu();const bd={name:"CheckboxBlankOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Ad=function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon checkbox-blank-outline-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(n){return t.$emit("click",n)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M19,5V19H5V5H19Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},wd=[],Bd=X(bd,Ad,wd,!1,null,null);const xd=Bd.exports,_d={name:"MinusBoxIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Sd=function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon minus-box-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(n){return t.$emit("click",n)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M17,13H7V11H17M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},Dd=[],Fd=X(_d,Sd,Dd,!1,null,null);const Pd=Fd.exports,Nd={name:"CheckboxMarkedIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Od=function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon checkbox-marked-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(n){return t.$emit("click",n)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},Rd=[],Td=X(Nd,Od,Rd,!1,null,null);const zd=Td.exports,Ld={name:"RadioboxMarkedIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var $d=function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon radiobox-marked-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(n){return t.$emit("click",n)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12A5,5 0 0,0 12,7Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},Id=[],Md=X(Ld,$d,Id,!1,null,null);const Ud=Md.exports,jd={name:"RadioboxBlankIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Gd=function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon radiobox-blank-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(n){return t.$emit("click",n)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},Vd=[],Hd=X(jd,Gd,Vd,!1,null,null);const Wd=Hd.exports,Kd={name:"ToggleSwitchOffIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var qd=function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon toggle-switch-off-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(n){return t.$emit("click",n)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M17,7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7M7,15A3,3 0 0,1 4,12A3,3 0 0,1 7,9A3,3 0 0,1 10,12A3,3 0 0,1 7,15Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},Zd=[],Yd=X(Kd,qd,Zd,!1,null,null);const Jd=Yd.exports,Xd={name:"ToggleSwitchIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Qd=function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon toggle-switch-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(n){return t.$emit("click",n)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M17,7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7M17,15A3,3 0 0,1 14,12A3,3 0 0,1 17,9A3,3 0 0,1 20,12A3,3 0 0,1 17,15Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},tp=[],ep=X(Xd,Qd,tp,!1,null,null);const np=ep.exports,de="checkbox",pe="radio",zt="switch",ze="button",up={name:"NcCheckboxContent",components:{NcLoadingIcon:b0},props:{iconClass:{type:[String,Object],default:null},textClass:{type:[String,Object],default:null},type:{type:String,default:"checkbox",validator:t=>[de,pe,zt,ze].includes(t)},buttonVariant:{type:Boolean,default:!1},isChecked:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},size:{type:Number,default:24}},computed:{isButtonType(){return this.type===ze},checkboxRadioIconElement(){return this.type===pe?this.isChecked?Ud:Wd:this.type===zt?this.isChecked?np:Jd:this.indeterminate?Pd:this.isChecked?zd:xd}}};var ip=function(){var t=this,e=t._self._c;return e("span",{staticClass:"checkbox-content",class:{["checkbox-content-"+t.type]:!0,"checkbox-content--button-variant":t.buttonVariant,"checkbox-content--has-text":!!t.$slots.default}},[e("span",{class:{"checkbox-content__icon":!0,"checkbox-content__icon--checked":t.isChecked,[t.iconClass]:!0},attrs:{"aria-hidden":!0,inert:""}},[t._t("icon",function(){return[t.loading?e("NcLoadingIcon"):t.buttonVariant?t._e():e(t.checkboxRadioIconElement,{tag:"component",attrs:{size:t.size}})]},{checked:t.isChecked,loading:t.loading})],2),t.$slots.default?e("span",{class:["checkbox-content__text",t.textClass]},[t._t("default")],2):t._e()])},op=[],ap=X(up,ip,op,!1,null,"18de8bed");const sp=ap.exports,rp={name:"NcCheckboxRadioSwitch",components:{NcCheckboxContent:sp},inheritAttrs:!1,model:{prop:"modelValue",event:"update:modelValue"},props:{id:{type:String,default:()=>"checkbox-radio-switch-"+Zu(),validator:t=>t.trim()!==""},wrapperId:{type:String,default:null},name:{type:String,default:null},ariaLabel:{type:String,default:""},type:{type:String,default:"checkbox",validator:t=>[de,pe,zt,ze].includes(t)},buttonVariant:{type:Boolean,default:!1},buttonVariantGrouped:{type:String,default:"no",validator:t=>["no","vertical","horizontal"].includes(t)},checked:{type:[Boolean,Array,String],default:void 0},modelValue:{type:[Boolean,Array,String],default:!1},value:{type:String,default:null},disabled:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1},required:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},wrapperElement:{type:String,default:null}},emits:["update:checked","update:modelValue","update:model-value"],setup(){return{model:id("checked","update:checked")}},computed:{dataAttrs(){return Object.fromEntries(Object.entries(this.$attrs).filter(([t])=>t.startsWith("data-")))},nonDataAttrs(){return Object.fromEntries(Object.entries(this.$attrs).filter(([t])=>!t.startsWith("data-")))},isButtonType(){return this.type===ze},computedWrapperElement(){return this.isButtonType?"button":this.wrapperElement!==null?this.wrapperElement:"span"},listeners(){return this.isButtonType?{click:this.onToggle}:{change:this.onToggle}},size(){return this.type===zt?36:24},cssVars(){return{"--icon-size":this.size+"px","--icon-height":(this.type===zt?16:this.size)+"px"}},inputType(){return[de,pe,ze].includes(this.type)?this.type:de},isChecked(){return this.value!==null?Array.isArray(this.model)?[...this.model].indexOf(this.value)>-1:this.model===this.value:this.model===!0},hasIndeterminate(){return[de,pe].includes(this.inputType)}},mounted(){if(this.name&&this.type===de&&!Array.isArray(this.model))throw new Error("When using groups of checkboxes, the updated value will be an array.");if(this.name&&this.type===zt)throw new Error("Switches are not made to be used for data sets. Please use checkboxes instead.");if(typeof this.model!="boolean"&&this.type===zt)throw new Error("Switches can only be used with boolean as checked prop.")},methods:{t:Rt,n:vs,onToggle(t){if(this.disabled||t.target.tagName.toLowerCase()==="a")return;if(this.type===pe){this.model=this.value;return}if(this.type===zt){this.model=!this.isChecked;return}if(typeof this.model=="boolean"){this.model=!this.model;return}const e=this.getInputsSet().filter(n=>n.checked).map(n=>n.value);e.includes(this.value)?this.model=e.filter(n=>n!==this.value):this.model=[...e,this.value]},getInputsSet(){return[...document.getElementsByName(this.name)]}}};var lp=function(){var t=this,e=t._self._c;return e(t.computedWrapperElement,t._g(t._b({tag:"component",staticClass:"checkbox-radio-switch",class:{["checkbox-radio-switch-"+t.type]:t.type,"checkbox-radio-switch--checked":t.isChecked,"checkbox-radio-switch--disabled":t.disabled,"checkbox-radio-switch--indeterminate":t.hasIndeterminate?t.indeterminate:!1,"checkbox-radio-switch--button-variant":t.buttonVariant,"checkbox-radio-switch--button-variant-v-grouped":t.buttonVariant&&t.buttonVariantGrouped==="vertical","checkbox-radio-switch--button-variant-h-grouped":t.buttonVariant&&t.buttonVariantGrouped==="horizontal","button-vue":t.isButtonType},style:t.cssVars,attrs:{id:t.wrapperId,"aria-label":t.isButtonType&&t.ariaLabel?t.ariaLabel:void 0,type:t.isButtonType?"button":null}},"component",t.isButtonType?t.$attrs:t.dataAttrs,!1),t.isButtonType?t.listeners:null),[t.isButtonType?t._e():e("input",t._g(t._b({staticClass:"checkbox-radio-switch__input",attrs:{id:t.id,"aria-labelledby":!t.isButtonType&&!t.ariaLabel?`${t.id}-label`:null,"aria-label":t.ariaLabel||void 0,disabled:t.disabled,type:t.inputType,required:t.required,name:t.name},domProps:{value:t.value,checked:t.isChecked,indeterminate:t.hasIndeterminate?t.indeterminate:null}},"input",t.nonDataAttrs,!1),t.listeners)),e("NcCheckboxContent",{staticClass:"checkbox-radio-switch__content",attrs:{id:t.isButtonType?void 0:`${t.id}-label`,"icon-class":"checkbox-radio-switch__icon","text-class":"checkbox-radio-switch__text",type:t.type,indeterminate:t.hasIndeterminate?t.indeterminate:!1,"button-variant":t.buttonVariant,"is-checked":t.isChecked,loading:t.loading,size:t.size},nativeOn:{click:function(n){return t.onToggle.apply(null,arguments)}},scopedSlots:t._u([{key:"icon",fn:function(){return[t._t("icon")]},proxy:!0}],null,!0)},[t._t("default")],2)],1)},vp=[],cp=X(rp,lp,vp,!1,null,"22cdd229");const vh=cp.exports;export{Op as $,ls as A,Rp as B,ud as C,Xc as D,lh as E,Ep as F,Zu as G,Up as H,mp as I,os as J,Du as K,yp as L,Vc as M,bs as N,gp as O,Tp as P,Ap as Q,id as R,wp as S,Sp as T,Cp as U,fp as V,$p as W,zp as X,Dp as Y,Lp as Z,is as _,Rt as a,ds as a0,kp as a1,sh as a2,rh as a3,$c as a4,po as b,jp as c,Pp as d,b0 as e,xe as f,W as g,Bp as h,mc as i,$a as j,_n as k,oh as l,bp as m,X as n,ah as o,xp as p,Mp as q,Fu as r,_p as s,Np as t,f0 as u,hp as v,Yc as w,Ip as x,vh as y,Fp as z}; +//# sourceMappingURL=NcCheckboxRadioSwitch-VeztTzpz-H8x3F-aj.chunk.mjs.map diff --git a/js/NcCheckboxRadioSwitch-Di9rSADK-CehrbmLY.chunk.mjs.map b/js/NcCheckboxRadioSwitch-VeztTzpz-H8x3F-aj.chunk.mjs.map similarity index 77% rename from js/NcCheckboxRadioSwitch-Di9rSADK-CehrbmLY.chunk.mjs.map rename to js/NcCheckboxRadioSwitch-VeztTzpz-H8x3F-aj.chunk.mjs.map index acf1f0308..cce8de90a 100644 --- a/js/NcCheckboxRadioSwitch-Di9rSADK-CehrbmLY.chunk.mjs.map +++ b/js/NcCheckboxRadioSwitch-VeztTzpz-H8x3F-aj.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"NcCheckboxRadioSwitch-Di9rSADK-CehrbmLY.chunk.mjs","sources":["../node_modules/@nextcloud/router/dist/index.mjs","../node_modules/@nextcloud/l10n/dist/gettext.mjs","../node_modules/@nextcloud/vue/dist/chunks/_l10n-Dt0m9Fxw.mjs","../node_modules/@nextcloud/vue/dist/chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs","../node_modules/@nextcloud/vue/dist/Components/NcButton.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcIconSvgWrapper-Cb-cPj1R.mjs","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/vite-plugin-node-polyfills/shims/buffer/dist/index.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/common/utils.js","../node_modules/axios/lib/platform/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/helpers/throttle.js","../node_modules/axios/lib/helpers/progressEventReducer.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/helpers/resolveConfig.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/helpers/composeSignals.js","../node_modules/axios/lib/helpers/trackStream.js","../node_modules/axios/lib/adapters/fetch.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/axios/lib/axios.js","../node_modules/axios/index.js","../node_modules/@nextcloud/axios/dist/index.mjs","../node_modules/@nextcloud/initial-state/dist/index.mjs","../node_modules/@vue/shared/dist/shared.esm-bundler.js","../node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","../node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","../node_modules/@nextcloud/vue/node_modules/@vueuse/shared/index.mjs","../node_modules/@nextcloud/vue/node_modules/@vueuse/core/index.mjs","../node_modules/@nextcloud/vue/dist/Components/NcLoadingIcon.mjs","../node_modules/floating-vue/node_modules/@floating-ui/core/dist/floating-ui.core.esm.js","../node_modules/floating-vue/node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js","../node_modules/floating-vue/dist/floating-vue.es.js","../node_modules/tabbable/dist/index.esm.js","../node_modules/focus-trap/dist/focus-trap.esm.js","../node_modules/@nextcloud/vue/dist/chunks/focusTrap-DmkaYJTC.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcPopover-kYsewfff.mjs","../node_modules/@nextcloud/vue/dist/chunks/GenRandomId-CMooMQt0.mjs","../node_modules/@nextcloud/vue/dist/chunks/useTrapStackControl-b3A_383w.mjs","../node_modules/@nextcloud/vue/dist/chunks/DotsHorizontal-C6LNsw4N.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcActions-DEZO46mP.mjs","../node_modules/@nextcloud/vue/dist/chunks/Close-BtLPUSdO.mjs","../node_modules/@nextcloud/vue/dist/chunks/useModelMigration-EhAWvqDD.mjs","../node_modules/@nextcloud/vue/dist/chunks/ScopeComponent-FtC2zEqX.mjs","../node_modules/@nextcloud/vue/dist/chunks/mdi-CZJxQPz6.mjs","../node_modules/@nextcloud/vue/dist/Components/NcModal.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcCheckboxRadioSwitch-Di9rSADK.mjs"],"sourcesContent":["const R = (n, e) => d(n, \"\", e), g = (n) => \"/remote.php/\" + n, U = (n, e) => {\n var o;\n return ((o = e == null ? void 0 : e.baseURL) != null ? o : w()) + g(n);\n}, v = (n, e, o) => {\n var c;\n const i = Object.assign({\n ocsVersion: 2\n }, o || {}).ocsVersion === 1 ? 1 : 2;\n return ((c = o == null ? void 0 : o.baseURL) != null ? c : w()) + \"/ocs/v\" + i + \".php\" + u(n, e, o);\n}, u = (n, e, o) => {\n const c = Object.assign({\n escape: !0\n }, o || {}), r = function(i, s) {\n return s = s || {}, i.replace(\n /{([^{}]*)}/g,\n function(l, t) {\n const a = s[t];\n return c.escape ? encodeURIComponent(typeof a == \"string\" || typeof a == \"number\" ? a.toString() : l) : typeof a == \"string\" || typeof a == \"number\" ? a.toString() : l;\n }\n );\n };\n return n.charAt(0) !== \"/\" && (n = \"/\" + n), r(n, e || {});\n}, _ = (n, e, o) => {\n var c, r, i;\n const s = Object.assign({\n noRewrite: !1\n }, o || {}), l = (c = o == null ? void 0 : o.baseURL) != null ? c : f();\n return ((i = (r = window == null ? void 0 : window.OC) == null ? void 0 : r.config) == null ? void 0 : i.modRewriteWorking) === !0 && !s.noRewrite ? l + u(n, e, o) : l + \"/index.php\" + u(n, e, o);\n}, h = (n, e) => e.includes(\".\") ? d(n, \"img\", e) : d(n, \"img\", \"\".concat(e, \".svg\")), d = (n, e, o) => {\n var c, r, i;\n const s = (i = (r = (c = window == null ? void 0 : window.OC) == null ? void 0 : c.coreApps) == null ? void 0 : r.includes(n)) != null ? i : !1, l = o.slice(-3) === \"php\";\n let t = f();\n return l && !s ? (t += \"/index.php/apps/\".concat(n), e && (t += \"/\".concat(encodeURI(e))), o !== \"index.php\" && (t += \"/\".concat(o))) : !l && !s ? (t = b(n), e && (t += \"/\".concat(e, \"/\")), t.at(-1) !== \"/\" && (t += \"/\"), t += o) : ((n === \"settings\" || n === \"core\" || n === \"search\") && e === \"ajax\" && (t += \"/index.php\"), n && (t += \"/\".concat(n)), e && (t += \"/\".concat(e)), t += \"/\".concat(o)), t;\n}, w = () => window.location.protocol + \"//\" + window.location.host + f();\nfunction f() {\n let n = window._oc_webroot;\n if (typeof n > \"u\") {\n n = location.pathname;\n const e = n.indexOf(\"/index.php/\");\n if (e !== -1)\n n = n.slice(0, e);\n else {\n const o = n.indexOf(\"/\", 1);\n n = n.slice(0, o > 0 ? o : void 0);\n }\n }\n return n;\n}\nfunction b(n) {\n var e, o;\n return (o = ((e = window._oc_appswebroots) != null ? e : {})[n]) != null ? o : \"\";\n}\nexport {\n d as generateFilePath,\n v as generateOcsUrl,\n U as generateRemoteUrl,\n _ as generateUrl,\n b as getAppRootUrl,\n w as getBaseUrl,\n f as getRootUrl,\n h as imagePath,\n R as linkTo\n};\n","import { b as getLanguage, d as getPlural, t as translate, c as translatePlural } from \"./chunks/translation-CD_FiYBO.mjs\";\n/*!\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\nclass GettextBuilder {\n debug = false;\n language = \"en\";\n translations = {};\n setLanguage(language) {\n this.language = language;\n return this;\n }\n /**\n * Try to detect locale from context with `en` as fallback value\n * This only works within a Nextcloud page context.\n *\n * @deprecated use `detectLanguage` instead.\n */\n detectLocale() {\n return this.detectLanguage();\n }\n /**\n * Try to detect locale from context with `en` as fallback value.\n * This only works within a Nextcloud page context.\n */\n detectLanguage() {\n return this.setLanguage(getLanguage().replace(\"-\", \"_\"));\n }\n addTranslation(language, data) {\n this.translations[language] = data;\n return this;\n }\n enableDebugMode() {\n this.debug = true;\n return this;\n }\n build() {\n if (this.debug) {\n console.debug(`Creating gettext instance for language ${this.language}`);\n }\n const translations = Object.values(this.translations[this.language]?.translations[\"\"] ?? {}).map(({ msgid, msgid_plural: msgidPlural, msgstr }) => {\n if (msgidPlural !== void 0) {\n return [`_${msgid}_::_${msgidPlural}_`, msgstr];\n }\n return [msgid, msgstr[0]];\n });\n const bundle = {\n pluralFunction: (n) => getPlural(n, this.language),\n translations: Object.fromEntries(translations)\n };\n return new GettextWrapper(bundle);\n }\n}\nclass GettextWrapper {\n constructor(bundle) {\n this.bundle = bundle;\n }\n /**\n * Get translated string (singular form), optionally with placeholders\n *\n * @param original original string to translate\n * @param placeholders map of placeholder key to value\n */\n gettext(original, placeholders = {}) {\n return translate(\"\", original, placeholders, void 0, { bundle: this.bundle });\n }\n /**\n * Get translated string with plural forms\n *\n * @param singular Singular text form\n * @param plural Plural text form to be used if `count` requires it\n * @param count The number to insert into the text\n * @param placeholders optional map of placeholder key to value\n */\n ngettext(singular, plural, count, placeholders = {}) {\n return translatePlural(\"\", singular, plural, count, placeholders, { bundle: this.bundle });\n }\n}\nfunction getGettextBuilder() {\n return new GettextBuilder();\n}\nexport {\n getGettextBuilder\n};\n","import { getLanguage } from \"@nextcloud/l10n\";\nimport { getGettextBuilder } from \"@nextcloud/l10n/gettext\";\nconst builder = getGettextBuilder().setLanguage(getLanguage());\nlet gettext = builder.build();\nconst n = (...args) => gettext.ngettext(...args);\nconst t = (...args) => gettext.gettext(...args);\nfunction register(...chunks) {\n for (const chunk of chunks) {\n if (!chunk.registered) {\n for (const { l: language, t: translations } of chunk) {\n if (language !== getLanguage() || !translations) {\n continue;\n }\n const decompressed = Object.fromEntries(\n Object.entries(translations).map(([id, value]) => [\n id,\n {\n msgid: id,\n msgid_plural: value.p,\n msgstr: value.v\n }\n ])\n );\n gettext = builder.addTranslation(getLanguage(), {\n translations: {\n \"\": {\n ...gettext.bundle.translations?.[\"\"] ?? {},\n ...decompressed\n }\n }\n }).build();\n }\n chunk.registered = true;\n }\n }\n}\nconst t0 = [{ \"l\": \"af\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (مقيد)\"] }, \"Select a tag\": { \"v\": [\"اختر وسم\"] } } }, { \"l\": \"ast\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (restrinxóse)\"] }, \"Select a tag\": { \"v\": [\"Seleicionar una etiqueta\"] } } }, { \"l\": \"az\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (bevennet)\"] }, \"Select a tag\": { \"v\": [\"Choaz ur c'hlav\"] } } }, { \"l\": \"bs\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (restringit)\"] }, \"Select a tag\": { \"v\": [\"Seleccioneu una etiqueta\"] } } }, { \"l\": \"cs\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (omezené)\"] }, \"Select a tag\": { \"v\": [\"Vybrat štítek\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (omezené)\"] }, \"Select a tag\": { \"v\": [\"Vybrat štítek\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (begrænset)\"] }, \"Select a tag\": { \"v\": [\"Vælg et mærke\"] } } }, { \"l\": \"de\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (eingeschränkt)\"] }, \"Select a tag\": { \"v\": [\"Schlagwort auswählen\"] } } }, { \"l\": \"de_DE\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (eingeschränkt)\"] }, \"Select a tag\": { \"v\": [\"Schlagwort auswählen\"] } } }, { \"l\": \"el\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (περιορισμένο)\"] }, \"Select a tag\": { \"v\": [\"Επιλογή ετικέτας\"] } } }, { \"l\": \"en_GB\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (restricted)\"] }, \"Select a tag\": { \"v\": [\"Select a tag\"] } } }, { \"l\": \"eo\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (limigita)\"] }, \"Select a tag\": { \"v\": [\"Elektu etikedon\"] } } }, { \"l\": \"es\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (restringido)\"] }, \"Select a tag\": { \"v\": [\"Seleccione una etiqueta\"] } } }, { \"l\": \"es_419\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (restringido)\"] }, \"Select a tag\": { \"v\": [\"Elija una etiqueta\"] } } }, { \"l\": \"es_CL\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (restricted)\"] }, \"Select a tag\": { \"v\": [\"Seleccionar una etiqueta\"] } } }, { \"l\": \"es_GT\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (restringido)\"] }, \"Select a tag\": { \"v\": [\"Seleccionar una etiqueta\"] } } }, { \"l\": \"es_NI\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (piiratud)\"] }, \"Select a tag\": { \"v\": [\"Vali silt\"] } } }, { \"l\": \"eu\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (mugatua)\"] }, \"Select a tag\": { \"v\": [\"Hautatu etiketa bat\"] } } }, { \"l\": \"fa\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} محدود شده\"] }, \"Select a tag\": { \"v\": [\"انتخاب یک برچسب\"] } } }, { \"l\": \"fi\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (rajoitettu)\"] }, \"Select a tag\": { \"v\": [\"Valitse tunniste\"] } } }, { \"l\": \"fo\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (restreint)\"] }, \"Select a tag\": { \"v\": [\"Sélectionnez une balise\"] } } }, { \"l\": \"ga\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (srianta)\"] }, \"Select a tag\": { \"v\": [\"Roghnaigh clib\"] } } }, { \"l\": \"gd\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (restrinxido)\"] }, \"Select a tag\": { \"v\": [\"Seleccione unha etiqueta\"] } } }, { \"l\": \"he\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (מוגבל)\"] }, \"Select a tag\": { \"v\": [\"בחירת תגית\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (korlátozott)\"] }, \"Select a tag\": { \"v\": [\"Válasszon címkét\"] } } }, { \"l\": \"hy\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (dibatasi)\"] }, \"Select a tag\": { \"v\": [\"Pilih tag\"] } } }, { \"l\": \"ig\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (takmarkað)\"] }, \"Select a tag\": { \"v\": [\"Veldu merki\"] } } }, { \"l\": \"it\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (limitato)\"] }, \"Select a tag\": { \"v\": [\"Seleziona un'etichetta\"] } } }, { \"l\": \"ja\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (制限付)\"] }, \"Select a tag\": { \"v\": [\"タグを選択\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (制限付)\"] }, \"Select a tag\": { \"v\": [\"タグを選択\"] } } }, { \"l\": \"ka\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag}(제한)\"] }, \"Select a tag\": { \"v\": [\"태그 선택\"] } } }, { \"l\": \"la\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (apribota)\"] }, \"Select a tag\": { \"v\": [\"Pasirinkti žymę\"] } } }, { \"l\": \"lv\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (ierobežots)\"] }, \"Select a tag\": { \"v\": [\"Izvēlēties birku\"] } } }, { \"l\": \"mk\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (ограничено)\"] }, \"Select a tag\": { \"v\": [\"Избери ознака\"] } } }, { \"l\": \"mn\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (ကန့်သတ်)\"] }, \"Select a tag\": { \"v\": [\"tag ရွေးချယ်ရန်\"] } } }, { \"l\": \"nb\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (beskyttet)\"] }, \"Select a tag\": { \"v\": [\"Velg en merkelapp\"] } } }, { \"l\": \"ne\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (beperkt)\"] }, \"Select a tag\": { \"v\": [\"Selecteer een label\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (limit)\"] }, \"Select a tag\": { \"v\": [\"Seleccionar una etiqueta\"] } } }, { \"l\": \"pl\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (ograniczona)\"] }, \"Select a tag\": { \"v\": [\"Wybierz etykietę\"] } } }, { \"l\": \"ps\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (restrito) \"] }, \"Select a tag\": { \"v\": [\"Selecionar uma etiqueta\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (restrito)\"] }, \"Select a tag\": { \"v\": [\"Selecionar uma etiqueta\"] } } }, { \"l\": \"ro\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (restricționat)\"] }, \"Select a tag\": { \"v\": [\"Selectați o etichetă\"] } } }, { \"l\": \"ru\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (ограниченное)\"] }, \"Select a tag\": { \"v\": [\"Выберите метку\"] } } }, { \"l\": \"sc\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (obmedzený)\"] }, \"Select a tag\": { \"v\": [\"Vybrať štítok\"] } } }, { \"l\": \"sl\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (omejeno)\"] }, \"Select a tag\": { \"v\": [\"Izbor oznake\"] } } }, { \"l\": \"sq\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (ограничено)\"] }, \"Select a tag\": { \"v\": [\"Изаберите ознаку\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (begränsad)\"] }, \"Select a tag\": { \"v\": [\"Välj en tag\"] } } }, { \"l\": \"sw\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (kısıtlı)\"] }, \"Select a tag\": { \"v\": [\"Bir etiket seçin\"] } } }, { \"l\": \"ug\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (обмежений)\"] }, \"Select a tag\": { \"v\": [\"Виберіть позначку\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (cheklangan)\"] }, \"Select a tag\": { \"v\": [\"Teg tanlang\"] } } }, { \"l\": \"vi\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (受限)\"] }, \"Select a tag\": { \"v\": [\"选择一个标签\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag} (受限)\"] }, \"Select a tag\": { \"v\": [\"選擇標籤\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"{tag}(受限)\"] }, \"Select a tag\": { \"v\": [\"選擇標籤\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"{tag} (restricted)\": { \"v\": [\"\"] }, \"Select a tag\": { \"v\": [\"\"] } } }];\nconst t1 = [{ \"l\": \"af\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"لون بالقيمة الست عشرية {hex}\"] }, \"Back\": { \"v\": [\"عودة\"] }, \"Choose\": { \"v\": [\"إختَر\"] }, \"Color picker\": { \"v\": [\"لاقط الألوان\"] }, \"More options\": { \"v\": [\"خيارات أخرى ...\"] } } }, { \"l\": \"ast\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"Un color con un valor HEX {hex}\"] }, \"Back\": { \"v\": [\"Atrás\"] }, \"Choose\": { \"v\": [\"Escoyer\"] }, \"Color picker\": { \"v\": [\"Selector de colores\"] }, \"More options\": { \"v\": [\"Más opciones\"] } } }, { \"l\": \"az\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"Dibab\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"bs\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"Tria\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"cs\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"Barva vyjádřená HEX hodnotou {hex}\"] }, \"Back\": { \"v\": [\"Zpět\"] }, \"Choose\": { \"v\": [\"Zvolit\"] }, \"Color picker\": { \"v\": [\"Výběr barev\"] }, \"More options\": { \"v\": [\"Další volby\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"Barva vyjádřená HEX hodnotou {hex}\"] }, \"Back\": { \"v\": [\"Zpět\"] }, \"Choose\": { \"v\": [\"Zvolit\"] }, \"Color picker\": { \"v\": [\"Výběr barev\"] }, \"More options\": { \"v\": [\"Další volby\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"En farve med en HEX-værdi {hex}\"] }, \"Back\": { \"v\": [\"Tilbage\"] }, \"Choose\": { \"v\": [\"Vælg\"] }, \"Color picker\": { \"v\": [\"Farvevælger\"] }, \"More options\": { \"v\": [\"Flere muligheder\"] } } }, { \"l\": \"de\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"Eine Farbe mit einem HEX-Wert {hex}\"] }, \"Back\": { \"v\": [\"Zurück\"] }, \"Choose\": { \"v\": [\"Auswählen\"] }, \"Color picker\": { \"v\": [\"Farbauswahl\"] }, \"More options\": { \"v\": [\"Weitere Optionen\"] } } }, { \"l\": \"de_DE\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"Eine Farbe mit einem HEX-Wert {hex}\"] }, \"Back\": { \"v\": [\"Zurück\"] }, \"Choose\": { \"v\": [\"Auswählen\"] }, \"Color picker\": { \"v\": [\"Farbauswahl\"] }, \"More options\": { \"v\": [\"Mehr Optionen\"] } } }, { \"l\": \"el\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"Ένα χρώμα με τιμή HEX {hex}\"] }, \"Back\": { \"v\": [\"Επιστροφή\"] }, \"Choose\": { \"v\": [\"Επιλογή\"] }, \"Color picker\": { \"v\": [\"Επιλογέας χρώματος\"] }, \"More options\": { \"v\": [\"Περισσότερες επιλογές\"] } } }, { \"l\": \"en_GB\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"A colour with a HEX value {hex}\"] }, \"Back\": { \"v\": [\"Back\"] }, \"Choose\": { \"v\": [\"Choose\"] }, \"Color picker\": { \"v\": [\"Colour picker\"] }, \"More options\": { \"v\": [\"More options\"] } } }, { \"l\": \"eo\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"Elektu\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"es\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"Un color con un valor HEX {hex}\"] }, \"Back\": { \"v\": [\"Atrás\"] }, \"Choose\": { \"v\": [\"Escoger\"] }, \"Color picker\": { \"v\": [\"Selector de color\"] }, \"More options\": { \"v\": [\"Más opciones\"] } } }, { \"l\": \"es_419\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"Un color con valor HEX {hex}\"] }, \"Back\": { \"v\": [\"Atrás\"] }, \"Choose\": { \"v\": [\"Elegir\"] }, \"Color picker\": { \"v\": [\"Selector de color\"] }, \"More options\": { \"v\": [\"Más opciones\"] } } }, { \"l\": \"es_CL\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"Back\": { \"v\": [\"Atrás\"] }, \"Choose\": { \"v\": [\"Elegir\"] }, \"More options\": { \"v\": [\"Más opciones\"] } } }, { \"l\": \"es_GT\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"Un color con valor HEX {hex}\"] }, \"Back\": { \"v\": [\"Atrás\"] }, \"Choose\": { \"v\": [\"Elegir\"] }, \"Color picker\": { \"v\": [\"Selector de color\"] }, \"More options\": { \"v\": [\"Más opciones\"] } } }, { \"l\": \"es_NI\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"Värv hexi väärtusega {hex}\"] }, \"Back\": { \"v\": [\"Tagasi\"] }, \"Choose\": { \"v\": [\"Tee valik\"] }, \"Color picker\": { \"v\": [\"Värvivalija\"] }, \"More options\": { \"v\": [\"Rohkem valikuid\"] } } }, { \"l\": \"eu\", \"t\": { \"Back\": { \"v\": [\"Atzera\"] }, \"Choose\": { \"v\": [\"Aukeratu\"] }, \"More options\": { \"v\": [\"Aukera gehiago\"] } } }, { \"l\": \"fa\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"رنگی با مقدار مبنای هشت {hex}\"] }, \"Back\": { \"v\": [\"بازگشت\"] }, \"Choose\": { \"v\": [\"انتخاب کنید\"] }, \"Color picker\": { \"v\": [\"انتخاب‌گر رنگ\"] }, \"More options\": { \"v\": [\"گزینه‌های بیشتر\"] } } }, { \"l\": \"fi\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"Väri heksa-arvolla {hex}\"] }, \"Back\": { \"v\": [\"Takaisin\"] }, \"Choose\": { \"v\": [\"Valitse\"] }, \"Color picker\": { \"v\": [\"Värivalitsin\"] }, \"More options\": { \"v\": [\"Lisää vaihtoehtoja\"] } } }, { \"l\": \"fo\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"Une couleur de valeur HEX {hex}\"] }, \"Back\": { \"v\": [\"Retour\"] }, \"Choose\": { \"v\": [\"Choisir\"] }, \"Color picker\": { \"v\": [\"Sélecteur de couleurs\"] }, \"More options\": { \"v\": [\"Plus d'options\"] } } }, { \"l\": \"ga\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"Dath le luach HEX {hex}\"] }, \"Back\": { \"v\": [\"Ar ais\"] }, \"Choose\": { \"v\": [\"Roghnaigh\"] }, \"Color picker\": { \"v\": [\"Roghnóir dathanna\"] }, \"More options\": { \"v\": [\"Tuilleadh roghanna\"] } } }, { \"l\": \"gd\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"Unha cor cun valor HEX {hex}\"] }, \"Back\": { \"v\": [\"Atrás\"] }, \"Choose\": { \"v\": [\"Escoller\"] }, \"Color picker\": { \"v\": [\"Selector de cores\"] }, \"More options\": { \"v\": [\"Máis opcións\"] } } }, { \"l\": \"he\", \"t\": { \"Back\": { \"v\": [\"חזרה\"] }, \"Choose\": { \"v\": [\"בחירה\"] }, \"More options\": { \"v\": [\"אפשרויות נוספות\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"Válassszon\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"hy\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"Warna dengan nilai HEX {hex}\"] }, \"Back\": { \"v\": [\"Kembali\"] }, \"Choose\": { \"v\": [\"Pilih\"] }, \"More options\": { \"v\": [\"Opsi lainnya\"] } } }, { \"l\": \"ig\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"Litur með HEX-gildi {hex}\"] }, \"Back\": { \"v\": [\"Til baka\"] }, \"Choose\": { \"v\": [\"Velja\"] }, \"Color picker\": { \"v\": [\"Litaplokkari\"] }, \"More options\": { \"v\": [\"Fleiri valkostir\"] } } }, { \"l\": \"it\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"Un colore con un valore HEX {hex}\"] }, \"Back\": { \"v\": [\"Indietro\"] }, \"Choose\": { \"v\": [\"Scegli\"] }, \"More options\": { \"v\": [\"Altre opzioni\"] } } }, { \"l\": \"ja\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\" HEX値 {hex} を持つ色\"] }, \"Back\": { \"v\": [\"戻る\"] }, \"Choose\": { \"v\": [\"選択\"] }, \"Color picker\": { \"v\": [\"カラーピッカー\"] }, \"More options\": { \"v\": [\"他のオプション\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\" HEX値 {hex} を持つ色\"] }, \"Back\": { \"v\": [\"戻る\"] }, \"Choose\": { \"v\": [\"選択\"] }, \"Color picker\": { \"v\": [\"カラーピッカー\"] }, \"More options\": { \"v\": [\"他のオプション\"] } } }, { \"l\": \"ka\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"HEX 값이 {hex}인 색상\"] }, \"Back\": { \"v\": [\"뒤로\"] }, \"Choose\": { \"v\": [\"선택\"] }, \"Color picker\": { \"v\": [\"색상 선택기\"] }, \"More options\": { \"v\": [\"옵션 더 보기\"] } } }, { \"l\": \"la\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"Pasirinkti\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"lv\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"Izvēlēties\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"mk\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"Избери\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"mn\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"ရွေးချယ်ရန်\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"nb\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"En farge med en HEX-verdi {hex}\"] }, \"Back\": { \"v\": [\"Tilbake\"] }, \"Choose\": { \"v\": [\"Velg\"] }, \"Color picker\": { \"v\": [\"Fargevelger\"] }, \"More options\": { \"v\": [\"Flere alternativer\"] } } }, { \"l\": \"ne\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"Een kleur met een HEX-waarde {hex}\"] }, \"Back\": { \"v\": [\"Terug\"] }, \"Choose\": { \"v\": [\"Kies\"] }, \"Color picker\": { \"v\": [\"Kleurkiezer\"] }, \"More options\": { \"v\": [\"Meer opties\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"Causir\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"pl\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"Kolor o wartości HEX {hex}\"] }, \"Back\": { \"v\": [\"Wstecz\"] }, \"Choose\": { \"v\": [\"Wybierz\"] }, \"Color picker\": { \"v\": [\"Wybierz kolor\"] }, \"More options\": { \"v\": [\"Więcej opcji\"] } } }, { \"l\": \"ps\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"Uma cor com valor HEX {hex}\"] }, \"Back\": { \"v\": [\"Voltar\"] }, \"Choose\": { \"v\": [\"Escolher\"] }, \"Color picker\": { \"v\": [\"Seletor de cores\"] }, \"More options\": { \"v\": [\"Mais opções\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"Uma cor com o valor HEX {hex}\"] }, \"Back\": { \"v\": [\"Anterior\"] }, \"Choose\": { \"v\": [\"Escolher\"] }, \"Color picker\": { \"v\": [\"seletor de cores\"] }, \"More options\": { \"v\": [\"Mais opções\"] } } }, { \"l\": \"ro\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"O culoare în HEX value {hex}\"] }, \"Back\": { \"v\": [\"Înapoi\"] }, \"Choose\": { \"v\": [\"Alegeți\"] }, \"More options\": { \"v\": [\"Mai multe opțiuni\"] } } }, { \"l\": \"ru\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"Цвет в HEX {hex}\"] }, \"Back\": { \"v\": [\"Назад\"] }, \"Choose\": { \"v\": [\"Выберите\"] }, \"Color picker\": { \"v\": [\"Выбор цвета\"] }, \"More options\": { \"v\": [\"Больше опций\"] } } }, { \"l\": \"sc\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"Farba s hodnotou HEX {hex}\"] }, \"Back\": { \"v\": [\"Späť\"] }, \"Choose\": { \"v\": [\"Vybrať\"] }, \"Color picker\": { \"v\": [\"Výber farby\"] }, \"More options\": { \"v\": [\"Viac možností\"] } } }, { \"l\": \"sl\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"Izbor\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"sq\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"Боја са HEX вредности {hex}\"] }, \"Back\": { \"v\": [\"Назад\"] }, \"Choose\": { \"v\": [\"Изаберите\"] }, \"Color picker\": { \"v\": [\"Бирач боје\"] }, \"More options\": { \"v\": [\"Још опција\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"En färg med ett HEX-värde {hex}\"] }, \"Back\": { \"v\": [\"Tillbaka\"] }, \"Choose\": { \"v\": [\"Välj\"] }, \"Color picker\": { \"v\": [\"Färgväljare\"] }, \"More options\": { \"v\": [\"Fler alternativ\"] } } }, { \"l\": \"sw\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"{hex} onaltılık değeri ile bir renk \"] }, \"Back\": { \"v\": [\"Geri\"] }, \"Choose\": { \"v\": [\"Seçin\"] }, \"Color picker\": { \"v\": [\"Renk seçici\"] }, \"More options\": { \"v\": [\"Diğer seçenekler\"] } } }, { \"l\": \"ug\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"Колір у форматі HEX {hex}\"] }, \"Back\": { \"v\": [\"Назад\"] }, \"Choose\": { \"v\": [\"Виберіть\"] }, \"Color picker\": { \"v\": [\"Вибір кольору\"] }, \"More options\": { \"v\": [\"Більше об'єктів\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"HEX qiymatiga ega rang {hex}\"] }, \"Back\": { \"v\": [\"Orqaga\"] }, \"Choose\": { \"v\": [\"Tanlang\"] }, \"Color picker\": { \"v\": [\"Rang tanlagich\"] }, \"More options\": { \"v\": [\"Boshqa variantlar\"] } } }, { \"l\": \"vi\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"以16进制 {hex} 表示的颜色为\"] }, \"Back\": { \"v\": [\"返回\"] }, \"Choose\": { \"v\": [\"选择\"] }, \"Color picker\": { \"v\": [\"颜色拾取器\"] }, \"More options\": { \"v\": [\"更多选项\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"A color with a HEX value {hex}\": { \"v\": [\"具有 HEX 值 {hex}的顏色 \"] }, \"Back\": { \"v\": [\"返回\"] }, \"Choose\": { \"v\": [\"選擇\"] }, \"Color picker\": { \"v\": [\"顏色選擇器\"] }, \"More options\": { \"v\": [\"更多選項\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"Back\": { \"v\": [\"返回\"] }, \"Choose\": { \"v\": [\"選擇\"] }, \"More options\": { \"v\": [\"更多選項\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"Back\": { \"v\": [\"\"] }, \"Choose\": { \"v\": [\"\"] }, \"More options\": { \"v\": [\"\"] } } }];\nconst t2 = [{ \"l\": \"af\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"a few seconds ago\": { \"v\": [\"منذ عدة ثوانٍ\"] }, \"sec. ago\": { \"v\": [\"ثانية مضت\"] }, \"seconds ago\": { \"v\": [\"ثوانٍ مضت\"] } } }, { \"l\": \"ast\", \"t\": { \"a few seconds ago\": { \"v\": [\"hai unos segundos\"] }, \"sec. ago\": { \"v\": [\"hai segs\"] }, \"seconds ago\": { \"v\": [\"hai segundos\"] } } }, { \"l\": \"az\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"bs\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"cs\", \"t\": { \"a few seconds ago\": { \"v\": [\"před několika sekundami\"] }, \"sec. ago\": { \"v\": [\"sek. před\"] }, \"seconds ago\": { \"v\": [\"sekund předtím\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"a few seconds ago\": { \"v\": [\"před několika sekundami\"] }, \"sec. ago\": { \"v\": [\"sek. před\"] }, \"seconds ago\": { \"v\": [\"sekund předtím\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"a few seconds ago\": { \"v\": [\"et par sekunder siden\"] }, \"sec. ago\": { \"v\": [\"sek. siden\"] }, \"seconds ago\": { \"v\": [\"sekunder siden\"] } } }, { \"l\": \"de\", \"t\": { \"a few seconds ago\": { \"v\": [\"vor ein paar Sekunden\"] }, \"sec. ago\": { \"v\": [\"Sek. zuvor\"] }, \"seconds ago\": { \"v\": [\"Sekunden zuvor\"] } } }, { \"l\": \"de_DE\", \"t\": { \"a few seconds ago\": { \"v\": [\"vor ein paar Sekunden\"] }, \"sec. ago\": { \"v\": [\"Sek. zuvor\"] }, \"seconds ago\": { \"v\": [\"Sekunden zuvor\"] } } }, { \"l\": \"el\", \"t\": { \"a few seconds ago\": { \"v\": [\"πριν λίγα δευτερόλεπτα\"] }, \"sec. ago\": { \"v\": [\"δευτ. πριν\"] }, \"seconds ago\": { \"v\": [\"δευτερόλεπτα πριν\"] } } }, { \"l\": \"en_GB\", \"t\": { \"a few seconds ago\": { \"v\": [\"a few seconds ago\"] }, \"sec. ago\": { \"v\": [\"sec. ago\"] }, \"seconds ago\": { \"v\": [\"seconds ago\"] } } }, { \"l\": \"eo\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"es\", \"t\": { \"a few seconds ago\": { \"v\": [\"hace unos pocos segundos\"] }, \"sec. ago\": { \"v\": [\"hace segundos\"] }, \"seconds ago\": { \"v\": [\"segundos atrás\"] } } }, { \"l\": \"es_419\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"a few seconds ago\": { \"v\": [\"hace unos segundos\"] }, \"sec. ago\": { \"v\": [\"seg. atrás\"] }, \"seconds ago\": { \"v\": [\"segundos atrás\"] } } }, { \"l\": \"es_CL\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"a few seconds ago\": { \"v\": [\"hace unos segundos\"] }, \"sec. ago\": { \"v\": [\"hace segundos\"] }, \"seconds ago\": { \"v\": [\"Segundos atrás\"] } } }, { \"l\": \"es_GT\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"a few seconds ago\": { \"v\": [\"hace unos segundos\"] }, \"sec. ago\": { \"v\": [\"seg. atrás\"] }, \"seconds ago\": { \"v\": [\"segundos atrás\"] } } }, { \"l\": \"es_NI\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"a few seconds ago\": { \"v\": [\"mõni sekund tagasi\"] }, \"sec. ago\": { \"v\": [\"sek. tagasi\"] }, \"seconds ago\": { \"v\": [\"sekundit tagasi\"] } } }, { \"l\": \"eu\", \"t\": { \"a few seconds ago\": { \"v\": [\"duela segundo batzuk\"] }, \"sec. ago\": { \"v\": [\"duela seg.\"] }, \"seconds ago\": { \"v\": [\"duela segundo\"] } } }, { \"l\": \"fa\", \"t\": { \"a few seconds ago\": { \"v\": [\"چند ثانیه پیش\"] }, \"sec. ago\": { \"v\": [\"چند ثانیه پیش\"] }, \"seconds ago\": { \"v\": [\"چند ثانیه پیش\"] } } }, { \"l\": \"fi\", \"t\": { \"a few seconds ago\": { \"v\": [\"muutamia sekunteja sitten\"] }, \"sec. ago\": { \"v\": [\"sek. sitten\"] }, \"seconds ago\": { \"v\": [\"sekunteja sitten\"] } } }, { \"l\": \"fo\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"a few seconds ago\": { \"v\": [\"il y a quelques instants\"] }, \"sec. ago\": { \"v\": [\"il y a sec.\"] }, \"seconds ago\": { \"v\": [\"il y a quelques secondes\"] } } }, { \"l\": \"ga\", \"t\": { \"a few seconds ago\": { \"v\": [\"cúpla soicind ó shin\"] }, \"sec. ago\": { \"v\": [\"soic. ó shin\"] }, \"seconds ago\": { \"v\": [\"soicind ó shin\"] } } }, { \"l\": \"gd\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"a few seconds ago\": { \"v\": [\"hai uns segundos\"] }, \"sec. ago\": { \"v\": [\"segs. atrás\"] }, \"seconds ago\": { \"v\": [\"segundos atrás\"] } } }, { \"l\": \"he\", \"t\": { \"a few seconds ago\": { \"v\": [\"לפני מספר שניות\"] }, \"sec. ago\": { \"v\": [\"לפני מספר שניות\"] }, \"seconds ago\": { \"v\": [\"לפני מס׳ שניות\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"hy\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"a few seconds ago\": { \"v\": [\"beberapa detik yang lalu\"] }, \"sec. ago\": { \"v\": [\"dtk. yang lalu\"] }, \"seconds ago\": { \"v\": [\"beberapa detik lalu\"] } } }, { \"l\": \"ig\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"a few seconds ago\": { \"v\": [\"fyrir örfáum sekúndum síðan\"] }, \"sec. ago\": { \"v\": [\"sek. síðan\"] }, \"seconds ago\": { \"v\": [\"sekúndum síðan\"] } } }, { \"l\": \"it\", \"t\": { \"a few seconds ago\": { \"v\": [\"pochi secondi fa\"] }, \"sec. ago\": { \"v\": [\"sec. fa\"] }, \"seconds ago\": { \"v\": [\"secondi fa\"] } } }, { \"l\": \"ja\", \"t\": { \"a few seconds ago\": { \"v\": [\"数秒前\"] }, \"sec. ago\": { \"v\": [\"秒前\"] }, \"seconds ago\": { \"v\": [\"数秒前\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"a few seconds ago\": { \"v\": [\"数秒前\"] }, \"sec. ago\": { \"v\": [\"秒前\"] }, \"seconds ago\": { \"v\": [\"数秒前\"] } } }, { \"l\": \"ka\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"a few seconds ago\": { \"v\": [\"방금 전\"] }, \"sec. ago\": { \"v\": [\"몇 초 전\"] }, \"seconds ago\": { \"v\": [\"초 전\"] } } }, { \"l\": \"la\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"lv\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"mk\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"mn\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"nb\", \"t\": { \"a few seconds ago\": { \"v\": [\"noen få sekunder siden\"] }, \"sec. ago\": { \"v\": [\"sek. siden\"] }, \"seconds ago\": { \"v\": [\"sekunder siden\"] } } }, { \"l\": \"ne\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"a few seconds ago\": { \"v\": [\"enkele seconden terug\"] }, \"sec. ago\": { \"v\": [\"sec. geleden\"] }, \"seconds ago\": { \"v\": [\"seconden geleden\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"pl\", \"t\": { \"a few seconds ago\": { \"v\": [\"kilka sekund temu\"] }, \"sec. ago\": { \"v\": [\"sek. temu\"] }, \"seconds ago\": { \"v\": [\"sekund temu\"] } } }, { \"l\": \"ps\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"a few seconds ago\": { \"v\": [\"alguns segundos atrás\"] }, \"sec. ago\": { \"v\": [\"seg. atrás\"] }, \"seconds ago\": { \"v\": [\"segundos atrás\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"a few seconds ago\": { \"v\": [\"há alguns segundos\"] }, \"sec. ago\": { \"v\": [\"seg. atrás\"] }, \"seconds ago\": { \"v\": [\"segundos atrás\"] } } }, { \"l\": \"ro\", \"t\": { \"a few seconds ago\": { \"v\": [\"acum câteva secunde\"] }, \"sec. ago\": { \"v\": [\"sec. în urmă\"] }, \"seconds ago\": { \"v\": [\"secunde în urmă\"] } } }, { \"l\": \"ru\", \"t\": { \"a few seconds ago\": { \"v\": [\"несколько секунд назад\"] }, \"sec. ago\": { \"v\": [\"сек. назад\"] }, \"seconds ago\": { \"v\": [\"секунд назад\"] } } }, { \"l\": \"sc\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"a few seconds ago\": { \"v\": [\"pred chvíľou\"] }, \"sec. ago\": { \"v\": [\"pred pár sekundami\"] }, \"seconds ago\": { \"v\": [\"pred sekundami\"] } } }, { \"l\": \"sl\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"sq\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"a few seconds ago\": { \"v\": [\"пре неколико секунди\"] }, \"sec. ago\": { \"v\": [\"сек. раније\"] }, \"seconds ago\": { \"v\": [\"секунди раније\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"a few seconds ago\": { \"v\": [\"några sekunder sedan\"] }, \"sec. ago\": { \"v\": [\"sek. sedan\"] }, \"seconds ago\": { \"v\": [\"sekunder sedan\"] } } }, { \"l\": \"sw\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"a few seconds ago\": { \"v\": [\"birkaç saniye önce\"] }, \"sec. ago\": { \"v\": [\"sn. önce\"] }, \"seconds ago\": { \"v\": [\"saniye önce\"] } } }, { \"l\": \"ug\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"a few seconds ago\": { \"v\": [\"декілька секунд тому\"] }, \"sec. ago\": { \"v\": [\"с тому\"] }, \"seconds ago\": { \"v\": [\"с тому\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"a few seconds ago\": { \"v\": [\"bir necha soniya oldin\"] }, \"sec. ago\": { \"v\": [\"sek. oldin\"] }, \"seconds ago\": { \"v\": [\"soniyalar oldin\"] } } }, { \"l\": \"vi\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"a few seconds ago\": { \"v\": [\"几秒前\"] }, \"sec. ago\": { \"v\": [\"几秒前\"] }, \"seconds ago\": { \"v\": [\"几秒前\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"a few seconds ago\": { \"v\": [\"幾秒前\"] }, \"sec. ago\": { \"v\": [\"秒前\"] }, \"seconds ago\": { \"v\": [\"秒前\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"a few seconds ago\": { \"v\": [\"幾秒前\"] }, \"sec. ago\": { \"v\": [\"秒前\"] }, \"seconds ago\": { \"v\": [\"秒前\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"a few seconds ago\": { \"v\": [\"\"] }, \"sec. ago\": { \"v\": [\"\"] }, \"seconds ago\": { \"v\": [\"\"] } } }];\nconst t3 = [{ \"l\": \"af\", \"t\": {} }, { \"l\": \"ar\", \"t\": { \"Acapulco\": { \"v\": [\"بازلائي مطفي\"] }, \"Blue Violet\": { \"v\": [\"بنفسجي مشعشع\"] }, \"Boston Blue\": { \"v\": [\"سماوي مطفي\"] }, \"Deluge\": { \"v\": [\"بنفسجي مطفي\"] }, \"Feldspar\": { \"v\": [\"وردي صخري\"] }, \"Gold\": { \"v\": [\"ذهبي\"] }, \"Mariner\": { \"v\": [\"أزرق بحري\"] }, \"Nextcloud blue\": { \"v\": [\"أزرق نكست كلاود\"] }, \"Olivine\": { \"v\": [\"زيتي\"] }, \"Purple\": { \"v\": [\"بنفسجي\"] }, \"Rosy brown\": { \"v\": [\"بُنِّي زهري\"] }, \"Whiskey\": { \"v\": [\"نبيذي\"] } } }, { \"l\": \"ast\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulcu\"] }, \"Blue Violet\": { \"v\": [\"Viola azulao\"] }, \"Boston Blue\": { \"v\": [\"Azul Boston\"] }, \"Deluge\": { \"v\": [\"Deluge\"] }, \"Feldspar\": { \"v\": [\"Feldspar\"] }, \"Gold\": { \"v\": [\"Oru\"] }, \"Mariner\": { \"v\": [\"Marineru\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud azul\"] }, \"Olivine\": { \"v\": [\"Olivina\"] }, \"Purple\": { \"v\": [\"Moráu\"] }, \"Rosy brown\": { \"v\": [\"Marrón arrosao\"] }, \"Whiskey\": { \"v\": [\"Whiskey\"] } } }, { \"l\": \"az\", \"t\": {} }, { \"l\": \"be\", \"t\": {} }, { \"l\": \"bg\", \"t\": {} }, { \"l\": \"bn_BD\", \"t\": {} }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"bs\", \"t\": {} }, { \"l\": \"ca\", \"t\": {} }, { \"l\": \"cs\", \"t\": { \"Acapulco\": { \"v\": [\"Akapulko\"] }, \"Blue Violet\": { \"v\": [\"Modrofialová\"] }, \"Boston Blue\": { \"v\": [\"Bostonská modrá\"] }, \"Deluge\": { \"v\": [\"Deluge\"] }, \"Feldspar\": { \"v\": [\"Živicová\"] }, \"Gold\": { \"v\": [\"Zlatá\"] }, \"Mariner\": { \"v\": [\"Námořnická\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud modrá\"] }, \"Olivine\": { \"v\": [\"Olivínová\"] }, \"Purple\": { \"v\": [\"Fialová\"] }, \"Rosy brown\": { \"v\": [\"Růžovohnědá\"] }, \"Whiskey\": { \"v\": [\"Whisky\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"Acapulco\": { \"v\": [\"Akapulko\"] }, \"Blue Violet\": { \"v\": [\"Modrofialová\"] }, \"Boston Blue\": { \"v\": [\"Bostonská modrá\"] }, \"Deluge\": { \"v\": [\"Deluge\"] }, \"Feldspar\": { \"v\": [\"Živicová\"] }, \"Gold\": { \"v\": [\"Zlatá\"] }, \"Mariner\": { \"v\": [\"Námořnická\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud modrá\"] }, \"Olivine\": { \"v\": [\"Olivínová\"] }, \"Purple\": { \"v\": [\"Fialová\"] }, \"Rosy brown\": { \"v\": [\"Růžovohnědá\"] }, \"Whiskey\": { \"v\": [\"Whisky\"] } } }, { \"l\": \"cy_GB\", \"t\": {} }, { \"l\": \"da\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Blue Violet\": { \"v\": [\"Blue Violet\"] }, \"Boston Blue\": { \"v\": [\"Boston Blue\"] }, \"Deluge\": { \"v\": [\"Deluge\"] }, \"Feldspar\": { \"v\": [\"Feldspar\"] }, \"Gold\": { \"v\": [\"Guld\"] }, \"Mariner\": { \"v\": [\"Mariner\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud blue\"] }, \"Olivine\": { \"v\": [\"Olivine\"] }, \"Purple\": { \"v\": [\"Lilla\"] }, \"Rosy brown\": { \"v\": [\"Rosy brown\"] }, \"Whiskey\": { \"v\": [\"Whiskey\"] } } }, { \"l\": \"de\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Blue Violet\": { \"v\": [\"Blau Violett\"] }, \"Boston Blue\": { \"v\": [\"Boston-Blau\"] }, \"Deluge\": { \"v\": [\"Sintflut\"] }, \"Feldspar\": { \"v\": [\"Feldspat\"] }, \"Gold\": { \"v\": [\"Gold\"] }, \"Mariner\": { \"v\": [\"Seemann\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud Blau\"] }, \"Olivine\": { \"v\": [\"Olivin\"] }, \"Purple\": { \"v\": [\"Lila\"] }, \"Rosy brown\": { \"v\": [\"Rosiges Braun\"] }, \"Whiskey\": { \"v\": [\"Whiskey\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Blue Violet\": { \"v\": [\"Blau Violett\"] }, \"Boston Blue\": { \"v\": [\"Boston-Blau\"] }, \"Deluge\": { \"v\": [\"Sintflut\"] }, \"Feldspar\": { \"v\": [\"Feldspat\"] }, \"Gold\": { \"v\": [\"Gold\"] }, \"Mariner\": { \"v\": [\"Seemann\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud Blau\"] }, \"Olivine\": { \"v\": [\"Olivin\"] }, \"Purple\": { \"v\": [\"Lila\"] }, \"Rosy brown\": { \"v\": [\"Rosiges Braun\"] }, \"Whiskey\": { \"v\": [\"Whiskey\"] } } }, { \"l\": \"el\", \"t\": { \"Acapulco\": { \"v\": [\"Ακαπούλκο\"] }, \"Blue Violet\": { \"v\": [\"Μπλε Βιολέτ\"] }, \"Boston Blue\": { \"v\": [\"Μπλε Βοστώνης\"] }, \"Deluge\": { \"v\": [\"Deluge\"] }, \"Feldspar\": { \"v\": [\"Feldspar\"] }, \"Gold\": { \"v\": [\"Χρυσό\"] }, \"Mariner\": { \"v\": [\"Mariner\"] }, \"Nextcloud blue\": { \"v\": [\"Μπλε Nextcloud\"] }, \"Olivine\": { \"v\": [\"Olivine\"] }, \"Purple\": { \"v\": [\"Μωβ\"] }, \"Rosy brown\": { \"v\": [\"Ροζ καφέ\"] }, \"Whiskey\": { \"v\": [\"Ουίσκι\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Blue Violet\": { \"v\": [\"Blue Violet\"] }, \"Boston Blue\": { \"v\": [\"Boston Blue\"] }, \"Deluge\": { \"v\": [\"Deluge\"] }, \"Feldspar\": { \"v\": [\"Feldspar\"] }, \"Gold\": { \"v\": [\"Gold\"] }, \"Mariner\": { \"v\": [\"Mariner\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud blue\"] }, \"Olivine\": { \"v\": [\"Olivine\"] }, \"Purple\": { \"v\": [\"Purple\"] }, \"Rosy brown\": { \"v\": [\"Rosy brown\"] }, \"Whiskey\": { \"v\": [\"Whiskey\"] } } }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Blue Violet\": { \"v\": [\"Violeta Azul\"] }, \"Boston Blue\": { \"v\": [\"Azul Boston\"] }, \"Deluge\": { \"v\": [\"Diluvio\"] }, \"Feldspar\": { \"v\": [\"Feldespato\"] }, \"Gold\": { \"v\": [\"Oro\"] }, \"Mariner\": { \"v\": [\"Marinero\"] }, \"Nextcloud blue\": { \"v\": [\"Azul Nextcloud\"] }, \"Olivine\": { \"v\": [\"Olivino\"] }, \"Purple\": { \"v\": [\"Púrpura\"] }, \"Rosy brown\": { \"v\": [\"Marrón rosáceo\"] }, \"Whiskey\": { \"v\": [\"Whiskey\"] } } }, { \"l\": \"es_419\", \"t\": {} }, { \"l\": \"es_AR\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Blue Violet\": { \"v\": [\"Violeta Azul\"] }, \"Boston Blue\": { \"v\": [\"Azul Boston\"] }, \"Deluge\": { \"v\": [\"Diluvio\"] }, \"Feldspar\": { \"v\": [\"Feldespato\"] }, \"Gold\": { \"v\": [\"Oro\"] }, \"Mariner\": { \"v\": [\"Marinero\"] }, \"Nextcloud blue\": { \"v\": [\"Azul Nextcloud\"] }, \"Olivine\": { \"v\": [\"Olivino\"] }, \"Purple\": { \"v\": [\"Púrpura\"] }, \"Rosy brown\": { \"v\": [\"Marrón rosáceo\"] }, \"Whiskey\": { \"v\": [\"Whiskey\"] } } }, { \"l\": \"es_CL\", \"t\": {} }, { \"l\": \"es_CO\", \"t\": {} }, { \"l\": \"es_CR\", \"t\": {} }, { \"l\": \"es_DO\", \"t\": {} }, { \"l\": \"es_EC\", \"t\": {} }, { \"l\": \"es_GT\", \"t\": {} }, { \"l\": \"es_HN\", \"t\": {} }, { \"l\": \"es_MX\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Blue Violet\": { \"v\": [\"Violeta Azul\"] }, \"Boston Blue\": { \"v\": [\"Azul Boston\"] }, \"Deluge\": { \"v\": [\"Diluvio\"] }, \"Feldspar\": { \"v\": [\"Feldespato\"] }, \"Gold\": { \"v\": [\"Oro\"] }, \"Mariner\": { \"v\": [\"Marinero\"] }, \"Nextcloud blue\": { \"v\": [\"Azul Nextcloud\"] }, \"Olivine\": { \"v\": [\"Olivino\"] }, \"Purple\": { \"v\": [\"Púrpura\"] }, \"Rosy brown\": { \"v\": [\"Marrón rosáceo\"] }, \"Whiskey\": { \"v\": [\"Whiskey\"] } } }, { \"l\": \"es_NI\", \"t\": {} }, { \"l\": \"es_PA\", \"t\": {} }, { \"l\": \"es_PE\", \"t\": {} }, { \"l\": \"es_PR\", \"t\": {} }, { \"l\": \"es_PY\", \"t\": {} }, { \"l\": \"es_SV\", \"t\": {} }, { \"l\": \"es_UY\", \"t\": {} }, { \"l\": \"et_EE\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco meresinine\"] }, \"Blue Violet\": { \"v\": [\"Sinakasvioletne\"] }, \"Boston Blue\": { \"v\": [\"Bostoni rohekassinine\"] }, \"Deluge\": { \"v\": [\"Tulvavee lilla\"] }, \"Feldspar\": { \"v\": [\"Põlevkivipruun\"] }, \"Gold\": { \"v\": [\"Kuldne\"] }, \"Mariner\": { \"v\": [\"Meresinine\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloudi sinine\"] }, \"Olivine\": { \"v\": [\"Oliiviroheline\"] }, \"Purple\": { \"v\": [\"Purpurpunane\"] }, \"Rosy brown\": { \"v\": [\"Roosikarva pruun\"] }, \"Whiskey\": { \"v\": [\"Viskikarva kollakaspruun\"] } } }, { \"l\": \"eu\", \"t\": {} }, { \"l\": \"fa\", \"t\": { \"Acapulco\": { \"v\": [\"آکاپولکو\"] }, \"Blue Violet\": { \"v\": [\"بنفش آبی\"] }, \"Boston Blue\": { \"v\": [\"آبی بوستونی\"] }, \"Deluge\": { \"v\": [\"سیل\"] }, \"Feldspar\": { \"v\": [\"فلدسپات\"] }, \"Gold\": { \"v\": [\"طلا\"] }, \"Mariner\": { \"v\": [\"مارینر\"] }, \"Nextcloud blue\": { \"v\": [\"نکس کلود آبی\"] }, \"Olivine\": { \"v\": [\"الیوین\"] }, \"Purple\": { \"v\": [\"بنفش\"] }, \"Rosy brown\": { \"v\": [\"قهوه‌ای رز\"] }, \"Whiskey\": { \"v\": [\"ویسکی\"] } } }, { \"l\": \"fi\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Blue Violet\": { \"v\": [\"Sinivioletti\"] }, \"Boston Blue\": { \"v\": [\"Bostoninsininen\"] }, \"Deluge\": { \"v\": [\"Tulva\"] }, \"Feldspar\": { \"v\": [\"Feldspar\"] }, \"Gold\": { \"v\": [\"Kulta\"] }, \"Mariner\": { \"v\": [\"Merenkulkija\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloudin sininen\"] }, \"Olivine\": { \"v\": [\"Oliviini\"] }, \"Purple\": { \"v\": [\"Purppura\"] }, \"Rosy brown\": { \"v\": [\"Ruusunruskea\"] }, \"Whiskey\": { \"v\": [\"Viski\"] } } }, { \"l\": \"fo\", \"t\": {} }, { \"l\": \"fr\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Blue Violet\": { \"v\": [\"Bleu violet\"] }, \"Boston Blue\": { \"v\": [\"Bleu de Boston\"] }, \"Deluge\": { \"v\": [\"Deluge\"] }, \"Feldspar\": { \"v\": [\"Feldspar\"] }, \"Gold\": { \"v\": [\"Doré\"] }, \"Mariner\": { \"v\": [\"Mariner\"] }, \"Nextcloud blue\": { \"v\": [\"Bleu Nextcloud\"] }, \"Olivine\": { \"v\": [\"Olivine\"] }, \"Purple\": { \"v\": [\"Violet\"] }, \"Rosy brown\": { \"v\": [\"Brun rosé\"] }, \"Whiskey\": { \"v\": [\"Whiskey\"] } } }, { \"l\": \"ga\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Blue Violet\": { \"v\": [\"Gorm Violet\"] }, \"Boston Blue\": { \"v\": [\"Bostún Gorm\"] }, \"Deluge\": { \"v\": [\"Díle\"] }, \"Feldspar\": { \"v\": [\"Feldspar\"] }, \"Gold\": { \"v\": [\"Óir\"] }, \"Mariner\": { \"v\": [\"Mairnéalach\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud gorm\"] }, \"Olivine\": { \"v\": [\"Olaivín\"] }, \"Purple\": { \"v\": [\"Corcra\"] }, \"Rosy brown\": { \"v\": [\"Rosach donn\"] }, \"Whiskey\": { \"v\": [\"Fuisce\"] } } }, { \"l\": \"gd\", \"t\": {} }, { \"l\": \"gl\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Blue Violet\": { \"v\": [\"Azul violeta\"] }, \"Boston Blue\": { \"v\": [\"Azul Boston\"] }, \"Deluge\": { \"v\": [\"Diluvio\"] }, \"Feldspar\": { \"v\": [\"Feldespato\"] }, \"Gold\": { \"v\": [\"Ouro\"] }, \"Mariner\": { \"v\": [\"Marino\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud azul\"] }, \"Olivine\": { \"v\": [\"Olivina\"] }, \"Purple\": { \"v\": [\"Púrpura\"] }, \"Rosy brown\": { \"v\": [\"Pardo rosado\"] }, \"Whiskey\": { \"v\": [\"Whisky\"] } } }, { \"l\": \"he\", \"t\": {} }, { \"l\": \"hi_IN\", \"t\": {} }, { \"l\": \"hr\", \"t\": {} }, { \"l\": \"hsb\", \"t\": {} }, { \"l\": \"hu\", \"t\": {} }, { \"l\": \"hy\", \"t\": {} }, { \"l\": \"ia\", \"t\": {} }, { \"l\": \"id\", \"t\": { \"Gold\": { \"v\": [\"Emas\"] }, \"Nextcloud blue\": { \"v\": [\"Biru Nextcloud\"] }, \"Purple\": { \"v\": [\"Ungu\"] } } }, { \"l\": \"ig\", \"t\": {} }, { \"l\": \"is\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Blue Violet\": { \"v\": [\"Bláklukka\"] }, \"Boston Blue\": { \"v\": [\"Bostonblátt\"] }, \"Deluge\": { \"v\": [\"Fjólublátt\"] }, \"Feldspar\": { \"v\": [\"Feldspat\"] }, \"Gold\": { \"v\": [\"Gull\"] }, \"Mariner\": { \"v\": [\"Sjóarablátt\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud blátt\"] }, \"Olivine\": { \"v\": [\"Ólivín\"] }, \"Purple\": { \"v\": [\"Purpurablátt\"] }, \"Rosy brown\": { \"v\": [\"Rósabrúnt\"] }, \"Whiskey\": { \"v\": [\"Viský\"] } } }, { \"l\": \"it\", \"t\": { \"Gold\": { \"v\": [\"Oro\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud blue\"] }, \"Purple\": { \"v\": [\"Viola\"] } } }, { \"l\": \"ja\", \"t\": { \"Acapulco\": { \"v\": [\"アカプルコ\"] }, \"Blue Violet\": { \"v\": [\"ブルーバイオレット\"] }, \"Boston Blue\": { \"v\": [\"ボストンブルー\"] }, \"Deluge\": { \"v\": [\"豪雨\"] }, \"Feldspar\": { \"v\": [\"長石\"] }, \"Gold\": { \"v\": [\"黄金\"] }, \"Mariner\": { \"v\": [\"船乗り\"] }, \"Nextcloud blue\": { \"v\": [\"ネクストクラウド・ブルー\"] }, \"Olivine\": { \"v\": [\"カンラン石\"] }, \"Purple\": { \"v\": [\"紫色\"] }, \"Rosy brown\": { \"v\": [\"バラ色\"] }, \"Whiskey\": { \"v\": [\"ウイスキー\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"Acapulco\": { \"v\": [\"アカプルコ\"] }, \"Blue Violet\": { \"v\": [\"ブルーバイオレット\"] }, \"Boston Blue\": { \"v\": [\"ボストンブルー\"] }, \"Deluge\": { \"v\": [\"豪雨\"] }, \"Feldspar\": { \"v\": [\"長石\"] }, \"Gold\": { \"v\": [\"黄金\"] }, \"Mariner\": { \"v\": [\"船乗り\"] }, \"Nextcloud blue\": { \"v\": [\"ネクストクラウド・ブルー\"] }, \"Olivine\": { \"v\": [\"カンラン石\"] }, \"Purple\": { \"v\": [\"紫色\"] }, \"Rosy brown\": { \"v\": [\"バラ色\"] }, \"Whiskey\": { \"v\": [\"ウイスキー\"] } } }, { \"l\": \"ka\", \"t\": {} }, { \"l\": \"ka_GE\", \"t\": {} }, { \"l\": \"kab\", \"t\": {} }, { \"l\": \"kk\", \"t\": {} }, { \"l\": \"km\", \"t\": {} }, { \"l\": \"kn\", \"t\": {} }, { \"l\": \"ko\", \"t\": { \"Acapulco\": { \"v\": [\"아카풀코\"] }, \"Blue Violet\": { \"v\": [\"푸른 보라\"] }, \"Boston Blue\": { \"v\": [\"보스턴 블루\"] }, \"Deluge\": { \"v\": [\"폭우\"] }, \"Feldspar\": { \"v\": [\"장석\"] }, \"Gold\": { \"v\": [\"금\"] }, \"Mariner\": { \"v\": [\"뱃사람\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud 파랑\"] }, \"Olivine\": { \"v\": [\"감람석\"] }, \"Purple\": { \"v\": [\"보라\"] }, \"Rosy brown\": { \"v\": [\"로지 브라운\"] }, \"Whiskey\": { \"v\": [\"위스키\"] } } }, { \"l\": \"la\", \"t\": {} }, { \"l\": \"lb\", \"t\": {} }, { \"l\": \"lo\", \"t\": {} }, { \"l\": \"lt_LT\", \"t\": {} }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": {} }, { \"l\": \"mn\", \"t\": {} }, { \"l\": \"mr\", \"t\": {} }, { \"l\": \"ms_MY\", \"t\": {} }, { \"l\": \"my\", \"t\": {} }, { \"l\": \"nb\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Blue Violet\": { \"v\": [\"Blå fiolett\"] }, \"Boston Blue\": { \"v\": [\"Boston blå\"] }, \"Deluge\": { \"v\": [\"Syndflod\"] }, \"Feldspar\": { \"v\": [\"Feltspat\"] }, \"Gold\": { \"v\": [\"Gull\"] }, \"Mariner\": { \"v\": [\"Mariner\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud-blå\"] }, \"Olivine\": { \"v\": [\"Olivin\"] }, \"Purple\": { \"v\": [\"Lilla\"] }, \"Rosy brown\": { \"v\": [\"Rosenrød brun\"] }, \"Whiskey\": { \"v\": [\"Whiskey\"] } } }, { \"l\": \"ne\", \"t\": {} }, { \"l\": \"nl\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Blue Violet\": { \"v\": [\"Blauw Paars\"] }, \"Boston Blue\": { \"v\": [\"Boston Blauw\"] }, \"Deluge\": { \"v\": [\"Deluge\"] }, \"Feldspar\": { \"v\": [\"Veldspaat\"] }, \"Gold\": { \"v\": [\"Goud\"] }, \"Mariner\": { \"v\": [\"Marine blauw\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud blauw\"] }, \"Olivine\": { \"v\": [\"Olivijn\"] }, \"Purple\": { \"v\": [\"Paars\"] }, \"Rosy brown\": { \"v\": [\"Rozig bruin\"] }, \"Whiskey\": { \"v\": [\"Whiskey\"] } } }, { \"l\": \"nn_NO\", \"t\": {} }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Blue Violet\": { \"v\": [\"Niebieski fiolet\"] }, \"Boston Blue\": { \"v\": [\"Błękit Bostonu\"] }, \"Deluge\": { \"v\": [\"Potop\"] }, \"Feldspar\": { \"v\": [\"Skaleń\"] }, \"Gold\": { \"v\": [\"Złote\"] }, \"Mariner\": { \"v\": [\"Marynarz\"] }, \"Nextcloud blue\": { \"v\": [\"Niebieskie Nextcloud\"] }, \"Olivine\": { \"v\": [\"Oliwin\"] }, \"Purple\": { \"v\": [\"Fioletowy\"] }, \"Rosy brown\": { \"v\": [\"Różowy brąz\"] }, \"Whiskey\": { \"v\": [\"Whisky\"] } } }, { \"l\": \"ps\", \"t\": {} }, { \"l\": \"pt_BR\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Blue Violet\": { \"v\": [\"Violeta Azul\"] }, \"Boston Blue\": { \"v\": [\"Azul Boston\"] }, \"Deluge\": { \"v\": [\"Dilúvio\"] }, \"Feldspar\": { \"v\": [\"Feldspato\"] }, \"Gold\": { \"v\": [\"Ouro\"] }, \"Mariner\": { \"v\": [\"Marinheiro\"] }, \"Nextcloud blue\": { \"v\": [\"azul Nextcloud\"] }, \"Olivine\": { \"v\": [\"Olivina\"] }, \"Purple\": { \"v\": [\"Roxo\"] }, \"Rosy brown\": { \"v\": [\"Castanho rosado\"] }, \"Whiskey\": { \"v\": [\"Uísque\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Blue Violet\": { \"v\": [\"Azul violeta\"] }, \"Boston Blue\": { \"v\": [\"Azul Boston\"] }, \"Deluge\": { \"v\": [\"Deluge\"] }, \"Feldspar\": { \"v\": [\"Feldspar\"] }, \"Gold\": { \"v\": [\"Ouro\"] }, \"Mariner\": { \"v\": [\"Mariner\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud azul\"] }, \"Olivine\": { \"v\": [\"Olivine\"] }, \"Purple\": { \"v\": [\"Púrpura\"] }, \"Rosy brown\": { \"v\": [\"Castanho rosado\"] }, \"Whiskey\": { \"v\": [\"Whiskey\"] } } }, { \"l\": \"ro\", \"t\": { \"Gold\": { \"v\": [\"Aur\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud albastru\"] }, \"Purple\": { \"v\": [\"Purpuriu\"] } } }, { \"l\": \"ru\", \"t\": { \"Acapulco\": { \"v\": [\"Акапулько\"] }, \"Blue Violet\": { \"v\": [\"Синий фиолет\"] }, \"Boston Blue\": { \"v\": [\"Синий Бостон\"] }, \"Deluge\": { \"v\": [\"Перламутрово-фиолетовый\"] }, \"Feldspar\": { \"v\": [\"Античная латунь\"] }, \"Gold\": { \"v\": [\"Золотой\"] }, \"Mariner\": { \"v\": [\"Морской\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud голубой\"] }, \"Olivine\": { \"v\": [\" Оливковый\"] }, \"Purple\": { \"v\": [\"Фиолетовый\"] }, \"Rosy brown\": { \"v\": [\"Розово-коричневый\"] }, \"Whiskey\": { \"v\": [\"Виски\"] } } }, { \"l\": \"sc\", \"t\": {} }, { \"l\": \"si\", \"t\": {} }, { \"l\": \"sk\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Blue Violet\": { \"v\": [\"Modro fialová\"] }, \"Boston Blue\": { \"v\": [\"Bostonská modrá\"] }, \"Deluge\": { \"v\": [\"Deluge\"] }, \"Feldspar\": { \"v\": [\"Živec\"] }, \"Gold\": { \"v\": [\"Zlatá\"] }, \"Mariner\": { \"v\": [\"Námorník\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud modrá\"] }, \"Olivine\": { \"v\": [\"Olivová\"] }, \"Purple\": { \"v\": [\"Fialová\"] }, \"Rosy brown\": { \"v\": [\"Ružovo hnedá\"] }, \"Whiskey\": { \"v\": [\"Whisky\"] } } }, { \"l\": \"sl\", \"t\": {} }, { \"l\": \"sq\", \"t\": {} }, { \"l\": \"sr\", \"t\": { \"Acapulco\": { \"v\": [\"Акапулко\"] }, \"Blue Violet\": { \"v\": [\"Плаво љубичаста\"] }, \"Boston Blue\": { \"v\": [\"Бостон плава\"] }, \"Deluge\": { \"v\": [\"Поплава\"] }, \"Feldspar\": { \"v\": [\"Фелдспар\"] }, \"Gold\": { \"v\": [\"Злато\"] }, \"Mariner\": { \"v\": [\"Морнар\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud плава\"] }, \"Olivine\": { \"v\": [\"Маслинаста\"] }, \"Purple\": { \"v\": [\"Пурпурна\"] }, \"Rosy brown\": { \"v\": [\"Роси браон\"] }, \"Whiskey\": { \"v\": [\"Виски\"] } } }, { \"l\": \"sr@latin\", \"t\": {} }, { \"l\": \"sv\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Blue Violet\": { \"v\": [\"Blåviolett\"] }, \"Boston Blue\": { \"v\": [\"Bostonblå\"] }, \"Deluge\": { \"v\": [\"Skyfallsblå\"] }, \"Feldspar\": { \"v\": [\"Feldspat\"] }, \"Gold\": { \"v\": [\"Guld\"] }, \"Mariner\": { \"v\": [\"Marinblå\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud-blå\"] }, \"Olivine\": { \"v\": [\"Olivin\"] }, \"Purple\": { \"v\": [\"Lila\"] }, \"Rosy brown\": { \"v\": [\"Rosabrun\"] }, \"Whiskey\": { \"v\": [\"Whisky\"] } } }, { \"l\": \"sw\", \"t\": {} }, { \"l\": \"ta\", \"t\": {} }, { \"l\": \"th\", \"t\": {} }, { \"l\": \"tk\", \"t\": {} }, { \"l\": \"tr\", \"t\": { \"Acapulco\": { \"v\": [\"Akapulko\"] }, \"Blue Violet\": { \"v\": [\"Mavi mor\"] }, \"Boston Blue\": { \"v\": [\"Boston mavisi\"] }, \"Deluge\": { \"v\": [\"Sel\"] }, \"Feldspar\": { \"v\": [\"Feldispat\"] }, \"Gold\": { \"v\": [\"Altın\"] }, \"Mariner\": { \"v\": [\"Denizci\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud mavi\"] }, \"Olivine\": { \"v\": [\"Zeytinlik\"] }, \"Purple\": { \"v\": [\"Mor\"] }, \"Rosy brown\": { \"v\": [\"Kırmızımsı kahverengi\"] }, \"Whiskey\": { \"v\": [\"Viski\"] } } }, { \"l\": \"ug\", \"t\": {} }, { \"l\": \"uk\", \"t\": { \"Acapulco\": { \"v\": [\"Акапулько\"] }, \"Blue Violet\": { \"v\": [\"Блакитна фіалка\"] }, \"Boston Blue\": { \"v\": [\"Бостонський синій\"] }, \"Deluge\": { \"v\": [\"Злива\"] }, \"Feldspar\": { \"v\": [\"Польові шпати\"] }, \"Gold\": { \"v\": [\"Золотий\"] }, \"Mariner\": { \"v\": [\"Морський\"] }, \"Nextcloud blue\": { \"v\": [\"Блакитний Nextcloud\"] }, \"Olivine\": { \"v\": [\"Олива\"] }, \"Purple\": { \"v\": [\"Фіолетовий\"] }, \"Rosy brown\": { \"v\": [\"Темно-рожевий\"] }, \"Whiskey\": { \"v\": [\"Кола\"] } } }, { \"l\": \"ur_PK\", \"t\": {} }, { \"l\": \"uz\", \"t\": { \"Acapulco\": { \"v\": [\"Akapulko\"] }, \"Blue Violet\": { \"v\": [\"Moviy binafsha\"] }, \"Boston Blue\": { \"v\": [\"Boston ko'k\"] }, \"Deluge\": { \"v\": [\"To'fon\"] }, \"Feldspar\": { \"v\": [\"Feldspar\"] }, \"Gold\": { \"v\": [\"Oltin\"] }, \"Mariner\": { \"v\": [\"Dengizchi\"] }, \"Nextcloud blue\": { \"v\": [\"Ko'k Nextcloud \"] }, \"Olivine\": { \"v\": [\"Olivine\"] }, \"Purple\": { \"v\": [\"Binafsha\"] }, \"Rosy brown\": { \"v\": [\"Qizil jigarrang\"] }, \"Whiskey\": { \"v\": [\"Whiskey\"] } } }, { \"l\": \"vi\", \"t\": {} }, { \"l\": \"zh_CN\", \"t\": { \"Acapulco\": { \"v\": [\"Acapulco\"] }, \"Blue Violet\": { \"v\": [\"瓦罗兰特蓝\"] }, \"Boston Blue\": { \"v\": [\"波士顿蓝\"] }, \"Deluge\": { \"v\": [\"洪水色\"] }, \"Feldspar\": { \"v\": [\"长石\"] }, \"Gold\": { \"v\": [\"金色\"] }, \"Mariner\": { \"v\": [\"水手\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud 蓝\"] }, \"Olivine\": { \"v\": [\"橄榄石色\"] }, \"Purple\": { \"v\": [\"紫色\"] }, \"Rosy brown\": { \"v\": [\"玫瑰棕色\"] }, \"Whiskey\": { \"v\": [\"威士忌\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Acapulco\": { \"v\": [\"阿卡普爾科\"] }, \"Blue Violet\": { \"v\": [\"藍紫色\"] }, \"Boston Blue\": { \"v\": [\"波士頓藍\"] }, \"Deluge\": { \"v\": [\"大洪水\"] }, \"Feldspar\": { \"v\": [\"長石\"] }, \"Gold\": { \"v\": [\"Gold\"] }, \"Mariner\": { \"v\": [\"海軍藍\"] }, \"Nextcloud blue\": { \"v\": [\"Nextcloud 藍色\"] }, \"Olivine\": { \"v\": [\"橄欖石色\"] }, \"Purple\": { \"v\": [\"紫色\"] }, \"Rosy brown\": { \"v\": [\"玫瑰棕色\"] }, \"Whiskey\": { \"v\": [\"威士忌\"] } } }, { \"l\": \"zh_TW\", \"t\": {} }, { \"l\": \"zu_ZA\", \"t\": {} }];\nconst t4 = [{ \"l\": \"af\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"Actions\": { \"v\": [\"إجراءات\"] } } }, { \"l\": \"ast\", \"t\": { \"Actions\": { \"v\": [\"Aiciones\"] } } }, { \"l\": \"az\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"Actions\": { \"v\": [\"Oberioù\"] } } }, { \"l\": \"bs\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"Actions\": { \"v\": [\"Accions\"] } } }, { \"l\": \"cs\", \"t\": { \"Actions\": { \"v\": [\"Akce\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"Actions\": { \"v\": [\"Akce\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"Actions\": { \"v\": [\"Handlinger\"] } } }, { \"l\": \"de\", \"t\": { \"Actions\": { \"v\": [\"Aktionen\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Actions\": { \"v\": [\"Aktionen\"] } } }, { \"l\": \"el\", \"t\": { \"Actions\": { \"v\": [\"Ενέργειες\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Actions\": { \"v\": [\"Actions\"] } } }, { \"l\": \"eo\", \"t\": { \"Actions\": { \"v\": [\"Agoj\"] } } }, { \"l\": \"es\", \"t\": { \"Actions\": { \"v\": [\"Acciones\"] } } }, { \"l\": \"es_419\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"Actions\": { \"v\": [\"Acciones\"] } } }, { \"l\": \"es_CL\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"Actions\": { \"v\": [\"Acciones\"] } } }, { \"l\": \"es_GT\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"Actions\": { \"v\": [\"Acciones\"] } } }, { \"l\": \"es_NI\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"Actions\": { \"v\": [\"Tegevus\"] } } }, { \"l\": \"eu\", \"t\": { \"Actions\": { \"v\": [\"Ekintzak\"] } } }, { \"l\": \"fa\", \"t\": { \"Actions\": { \"v\": [\"کنش‌ها\"] } } }, { \"l\": \"fi\", \"t\": { \"Actions\": { \"v\": [\"Toiminnot\"] } } }, { \"l\": \"fo\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"Actions\": { \"v\": [\"Actions\"] } } }, { \"l\": \"ga\", \"t\": { \"Actions\": { \"v\": [\"Gníomhartha\"] } } }, { \"l\": \"gd\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"Actions\": { \"v\": [\"Accións\"] } } }, { \"l\": \"he\", \"t\": { \"Actions\": { \"v\": [\"פעולות\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"Actions\": { \"v\": [\"Műveletek\"] } } }, { \"l\": \"hy\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"Actions\": { \"v\": [\"Tindakan\"] } } }, { \"l\": \"ig\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"Actions\": { \"v\": [\"Aðgerðir\"] } } }, { \"l\": \"it\", \"t\": { \"Actions\": { \"v\": [\"Azioni\"] } } }, { \"l\": \"ja\", \"t\": { \"Actions\": { \"v\": [\"操作\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"Actions\": { \"v\": [\"操作\"] } } }, { \"l\": \"ka\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"Actions\": { \"v\": [\"동작\"] } } }, { \"l\": \"la\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"Actions\": { \"v\": [\"Veiksmai\"] } } }, { \"l\": \"lv\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"mk\", \"t\": { \"Actions\": { \"v\": [\"Акции\"] } } }, { \"l\": \"mn\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"Actions\": { \"v\": [\"လုပ်ဆောင်ချက်များ\"] } } }, { \"l\": \"nb\", \"t\": { \"Actions\": { \"v\": [\"Handlinger\"] } } }, { \"l\": \"ne\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"Actions\": { \"v\": [\"Acties\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"Actions\": { \"v\": [\"Accions\"] } } }, { \"l\": \"pl\", \"t\": { \"Actions\": { \"v\": [\"Działania\"] } } }, { \"l\": \"ps\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"Actions\": { \"v\": [\"Ações\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Actions\": { \"v\": [\"Ações\"] } } }, { \"l\": \"ro\", \"t\": { \"Actions\": { \"v\": [\"Acțiuni\"] } } }, { \"l\": \"ru\", \"t\": { \"Actions\": { \"v\": [\"Действия \"] } } }, { \"l\": \"sc\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"Actions\": { \"v\": [\"Akcie\"] } } }, { \"l\": \"sl\", \"t\": { \"Actions\": { \"v\": [\"Dejanja\"] } } }, { \"l\": \"sq\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"Actions\": { \"v\": [\"Радње\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"Actions\": { \"v\": [\"Åtgärder\"] } } }, { \"l\": \"sw\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"Actions\": { \"v\": [\"İşlemler\"] } } }, { \"l\": \"ug\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"Actions\": { \"v\": [\"Дії\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"Actions\": { \"v\": [\"Harakatlar\"] } } }, { \"l\": \"vi\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"Actions\": { \"v\": [\"行为\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Actions\": { \"v\": [\"動作\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"Actions\": { \"v\": [\"動作\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"Actions\": { \"v\": [\"\"] } } }];\nconst t5 = [{ \"l\": \"af\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"Activities\": { \"v\": [\"سجل الأنشطة\"] }, \"Animals & Nature\": { \"v\": [\"الحيوانات والطبيعة\"] }, \"Custom\": { \"v\": [\"مُخصَّص\"] }, \"Dark skin tone\": { \"v\": [\"أسمر البُشرة\"] }, \"Emoji picker\": { \"v\": [\"لاقط الإيموجي\"] }, \"Flags\": { \"v\": [\"الأعلام\"] }, \"Food & Drink\": { \"v\": [\"الطعام والشراب\"] }, \"Frequently used\": { \"v\": [\"شائعة الاستعمال\"] }, \"Light skin tone\": { \"v\": [\"فاتح البُشرة\"] }, \"Medium dark skin tone\": { \"v\": [\"بشرة متوسطة الاسمرار\"] }, \"Medium light skin tone\": { \"v\": [\"بشرة متوسطة البياض\"] }, \"Medium skin tone\": { \"v\": [\"بشرة وسطية اللون\"] }, \"Neutral skin color\": { \"v\": [\"لون بُشرة طبيعي\"] }, \"Objects\": { \"v\": [\"أشياء\"] }, \"People & Body\": { \"v\": [\"أشخاص و أجسام\"] }, \"Pick an emoji\": { \"v\": [\"إختَر رمز إيموجي emoji\"] }, \"Search emoji\": { \"v\": [\"البحث عن إيموجي emoji\"] }, \"Search results\": { \"v\": [\"نتائج البحث\"] }, \"Selected\": { \"v\": [\"محدّدة\"] }, \"Skin tone\": { \"v\": [\"لون البُشرة\"] }, \"Smileys & Emotion\": { \"v\": [\"وجوهٌ ضاحكة و مشاعر\"] }, \"Symbols\": { \"v\": [\"رموز\"] }, \"Travel & Places\": { \"v\": [\"سفر و أماكن\"] } } }, { \"l\": \"ast\", \"t\": { \"Activities\": { \"v\": [\"Actividaes\"] }, \"Animals & Nature\": { \"v\": [\"Animales y natura\"] }, \"Custom\": { \"v\": [\"Personalizar\"] }, \"Dark skin tone\": { \"v\": [\"Tonu d'aspeutu escuru\"] }, \"Emoji picker\": { \"v\": [\"Selector de fustaxes\"] }, \"Flags\": { \"v\": [\"Banderes\"] }, \"Food & Drink\": { \"v\": [\"Cómida y bébora\"] }, \"Frequently used\": { \"v\": [\"D'usu frecuente\"] }, \"Light skin tone\": { \"v\": [\"Tonu d'aspeutu claru\"] }, \"Medium dark skin tone\": { \"v\": [\"Tonu d'aspeutu medio escuru\"] }, \"Medium light skin tone\": { \"v\": [\"Tonu d'aspeutu medio claru\"] }, \"Medium skin tone\": { \"v\": [\"Tonu d'aspeutu mediu\"] }, \"Neutral skin color\": { \"v\": [\"Color d'aspeutu neutral\"] }, \"Objects\": { \"v\": [\"Oxetos\"] }, \"People & Body\": { \"v\": [\"Persones y cuerpu\"] }, \"Pick an emoji\": { \"v\": [\"Escueyi un fustaxe\"] }, \"Search emoji\": { \"v\": [\"Buscar nos fustaxes\"] }, \"Search results\": { \"v\": [\"Resultaos de la busca\"] }, \"Selected\": { \"v\": [\"Na seleición\"] }, \"Skin tone\": { \"v\": [\"Tonu d'aspeutu\"] }, \"Smileys & Emotion\": { \"v\": [\"Sorrises y emociones\"] }, \"Symbols\": { \"v\": [\"Símbolos\"] }, \"Travel & Places\": { \"v\": [\"Viaxes y llugares\"] } } }, { \"l\": \"az\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"Activities\": { \"v\": [\"Oberiantizoù\"] }, \"Animals & Nature\": { \"v\": [\"Loened & Natur\"] }, \"Custom\": { \"v\": [\"Personelañ\"] }, \"Flags\": { \"v\": [\"Bannieloù\"] }, \"Food & Drink\": { \"v\": [\"Boued & Evajoù\"] }, \"Frequently used\": { \"v\": [\"Implijet alies\"] }, \"Objects\": { \"v\": [\"Traoù\"] }, \"People & Body\": { \"v\": [\"Tud & Korf\"] }, \"Pick an emoji\": { \"v\": [\"Choaz un emoji\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"Disoc'hoù an enklask\"] }, \"Smileys & Emotion\": { \"v\": [\"Smileyioù & Fromoù\"] }, \"Symbols\": { \"v\": [\"Arouezioù\"] }, \"Travel & Places\": { \"v\": [\"Beaj & Lec'hioù\"] } } }, { \"l\": \"bs\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"Activities\": { \"v\": [\"Activitats\"] }, \"Animals & Nature\": { \"v\": [\"Animals i natura\"] }, \"Custom\": { \"v\": [\"Personalitzat\"] }, \"Flags\": { \"v\": [\"Marques\"] }, \"Food & Drink\": { \"v\": [\"Menjar i begudes\"] }, \"Frequently used\": { \"v\": [\"Utilitzats recentment\"] }, \"Objects\": { \"v\": [\"Objectes\"] }, \"People & Body\": { \"v\": [\"Persones i cos\"] }, \"Pick an emoji\": { \"v\": [\"Trieu un emoji\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"Resultats de cerca\"] }, \"Smileys & Emotion\": { \"v\": [\"Cares i emocions\"] }, \"Symbols\": { \"v\": [\"Símbols\"] }, \"Travel & Places\": { \"v\": [\"Viatges i llocs\"] } } }, { \"l\": \"cs\", \"t\": { \"Activities\": { \"v\": [\"Aktivity\"] }, \"Animals & Nature\": { \"v\": [\"Zvířata a příroda\"] }, \"Custom\": { \"v\": [\"Uživatelsky určené\"] }, \"Dark skin tone\": { \"v\": [\"Tmavý tělový tón\"] }, \"Emoji picker\": { \"v\": [\"Výběr emotikon\"] }, \"Flags\": { \"v\": [\"Příznaky\"] }, \"Food & Drink\": { \"v\": [\"Jídlo a pití\"] }, \"Frequently used\": { \"v\": [\"Často používané\"] }, \"Light skin tone\": { \"v\": [\"Světlý tělový tón\"] }, \"Medium dark skin tone\": { \"v\": [\"Středně tmavý tělový tón\"] }, \"Medium light skin tone\": { \"v\": [\"Středně světlý tělový tón\"] }, \"Medium skin tone\": { \"v\": [\"Střední tělový tón\"] }, \"Neutral skin color\": { \"v\": [\"Neutřální tělová barva\"] }, \"Objects\": { \"v\": [\"Objekty\"] }, \"People & Body\": { \"v\": [\"Lidé a tělo\"] }, \"Pick an emoji\": { \"v\": [\"Vybrat emoji\"] }, \"Search emoji\": { \"v\": [\"Hledat emoji\"] }, \"Search results\": { \"v\": [\"Výsledky hledání\"] }, \"Selected\": { \"v\": [\"Vybráno\"] }, \"Skin tone\": { \"v\": [\"Tělový tón\"] }, \"Smileys & Emotion\": { \"v\": [\"Úsměvy a emoce\"] }, \"Symbols\": { \"v\": [\"Symboly\"] }, \"Travel & Places\": { \"v\": [\"Cestování a místa\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"Activities\": { \"v\": [\"Aktivity\"] }, \"Animals & Nature\": { \"v\": [\"Zvířata a příroda\"] }, \"Custom\": { \"v\": [\"Uživatelsky určené\"] }, \"Dark skin tone\": { \"v\": [\"Tmavý tělový tón\"] }, \"Emoji picker\": { \"v\": [\"Výběr emotikon\"] }, \"Flags\": { \"v\": [\"Příznaky\"] }, \"Food & Drink\": { \"v\": [\"Jídlo a pití\"] }, \"Frequently used\": { \"v\": [\"Často používané\"] }, \"Light skin tone\": { \"v\": [\"Světlý tělový tón\"] }, \"Medium dark skin tone\": { \"v\": [\"Středně tmavý tělový tón\"] }, \"Medium light skin tone\": { \"v\": [\"Středně světlý tělový tón\"] }, \"Medium skin tone\": { \"v\": [\"Střední tělový tón\"] }, \"Neutral skin color\": { \"v\": [\"Neutřální tělová barva\"] }, \"Objects\": { \"v\": [\"Objekty\"] }, \"People & Body\": { \"v\": [\"Lidé a tělo\"] }, \"Pick an emoji\": { \"v\": [\"Vybrat emoji\"] }, \"Search emoji\": { \"v\": [\"Hledat emoji\"] }, \"Search results\": { \"v\": [\"Výsledky hledání\"] }, \"Selected\": { \"v\": [\"Vybráno\"] }, \"Skin tone\": { \"v\": [\"Tělový tón\"] }, \"Smileys & Emotion\": { \"v\": [\"Úsměvy a emoce\"] }, \"Symbols\": { \"v\": [\"Symboly\"] }, \"Travel & Places\": { \"v\": [\"Cestování a místa\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"Activities\": { \"v\": [\"Aktiviteter\"] }, \"Animals & Nature\": { \"v\": [\"Dyr & Natur\"] }, \"Custom\": { \"v\": [\"Brugerdefineret\"] }, \"Dark skin tone\": { \"v\": [\"Mørk skin tone\"] }, \"Emoji picker\": { \"v\": [\"Emoji vælger\"] }, \"Flags\": { \"v\": [\"Flag\"] }, \"Food & Drink\": { \"v\": [\"Mad & Drikke\"] }, \"Frequently used\": { \"v\": [\"Ofte brugt\"] }, \"Light skin tone\": { \"v\": [\"Lys skin tone\"] }, \"Medium dark skin tone\": { \"v\": [\"Medium mørk skin tone\"] }, \"Medium light skin tone\": { \"v\": [\"Medium lys skin tone\"] }, \"Medium skin tone\": { \"v\": [\"Medium skin tone\"] }, \"Neutral skin color\": { \"v\": [\"Neutral skin color\"] }, \"Objects\": { \"v\": [\"Objekter\"] }, \"People & Body\": { \"v\": [\"Mennesker & Menneskekroppen\"] }, \"Pick an emoji\": { \"v\": [\"Vælg en emoji\"] }, \"Search emoji\": { \"v\": [\"Søg emoji\"] }, \"Search results\": { \"v\": [\"Søgeresultater\"] }, \"Selected\": { \"v\": [\"Valgt\"] }, \"Skin tone\": { \"v\": [\"Skin tone\"] }, \"Smileys & Emotion\": { \"v\": [\"Smileys & Emotion\"] }, \"Symbols\": { \"v\": [\"Symboler\"] }, \"Travel & Places\": { \"v\": [\"Rejser & Rejsemål\"] } } }, { \"l\": \"de\", \"t\": { \"Activities\": { \"v\": [\"Aktivitäten\"] }, \"Animals & Nature\": { \"v\": [\"Tiere & Natur\"] }, \"Custom\": { \"v\": [\"Benutzerdefiniert\"] }, \"Dark skin tone\": { \"v\": [\"Dunkler Hautfarbton\"] }, \"Emoji picker\": { \"v\": [\"Emoji-Auswahl\"] }, \"Flags\": { \"v\": [\"Flaggen\"] }, \"Food & Drink\": { \"v\": [\"Essen & Trinken\"] }, \"Frequently used\": { \"v\": [\"Häufig verwendet\"] }, \"Light skin tone\": { \"v\": [\"Heller Hautfarbton\"] }, \"Medium dark skin tone\": { \"v\": [\"Mitteldunkler Hautfarbton\"] }, \"Medium light skin tone\": { \"v\": [\"Mittelheller Hautfarbton\"] }, \"Medium skin tone\": { \"v\": [\"Mittlerer Hautfarbton\"] }, \"Neutral skin color\": { \"v\": [\"Neutraler Hautfarbton\"] }, \"Objects\": { \"v\": [\"Objekte\"] }, \"People & Body\": { \"v\": [\"Menschen & Körper\"] }, \"Pick an emoji\": { \"v\": [\"Ein Emoji auswählen\"] }, \"Search emoji\": { \"v\": [\"Emoji suchen\"] }, \"Search results\": { \"v\": [\"Suchergebnisse\"] }, \"Selected\": { \"v\": [\"Ausgewählt\"] }, \"Skin tone\": { \"v\": [\"Hautfarbton\"] }, \"Smileys & Emotion\": { \"v\": [\"Smileys & Emotionen\"] }, \"Symbols\": { \"v\": [\"Symbole\"] }, \"Travel & Places\": { \"v\": [\"Reisen & Orte\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Activities\": { \"v\": [\"Aktivitäten\"] }, \"Animals & Nature\": { \"v\": [\"Tiere & Natur\"] }, \"Custom\": { \"v\": [\"Benutzerdefiniert\"] }, \"Dark skin tone\": { \"v\": [\"Dunkler Hautfarbton\"] }, \"Emoji picker\": { \"v\": [\"Emoji-Auswahl\"] }, \"Flags\": { \"v\": [\"Flaggen\"] }, \"Food & Drink\": { \"v\": [\"Essen & Trinken\"] }, \"Frequently used\": { \"v\": [\"Häufig verwendet\"] }, \"Light skin tone\": { \"v\": [\"Heller Hautfarbton\"] }, \"Medium dark skin tone\": { \"v\": [\"Mitteldunkler Hautfarbton\"] }, \"Medium light skin tone\": { \"v\": [\"Mittelheller Hautfarbton\"] }, \"Medium skin tone\": { \"v\": [\"Mittlerer Hautfarbton\"] }, \"Neutral skin color\": { \"v\": [\"Neutraler Hautfarbton\"] }, \"Objects\": { \"v\": [\"Objekte\"] }, \"People & Body\": { \"v\": [\"Menschen & Körper\"] }, \"Pick an emoji\": { \"v\": [\"Ein Emoji auswählen\"] }, \"Search emoji\": { \"v\": [\"Emoji suchen\"] }, \"Search results\": { \"v\": [\"Suchergebnisse\"] }, \"Selected\": { \"v\": [\"Ausgewählt\"] }, \"Skin tone\": { \"v\": [\"Hautfarbton\"] }, \"Smileys & Emotion\": { \"v\": [\"Smileys & Emotionen\"] }, \"Symbols\": { \"v\": [\"Symbole\"] }, \"Travel & Places\": { \"v\": [\"Reisen & Orte\"] } } }, { \"l\": \"el\", \"t\": { \"Activities\": { \"v\": [\"Δραστηριότητες\"] }, \"Animals & Nature\": { \"v\": [\"Ζώα & Φύση\"] }, \"Custom\": { \"v\": [\"Προσαρμογή\"] }, \"Dark skin tone\": { \"v\": [\"Σκούρο θέμα\"] }, \"Emoji picker\": { \"v\": [\"Επιλογέας emoji\"] }, \"Flags\": { \"v\": [\"Σημαίες\"] }, \"Food & Drink\": { \"v\": [\"Φαγητό & Ποτό\"] }, \"Frequently used\": { \"v\": [\"Συχνά χρησιμοποιούμενο\"] }, \"Light skin tone\": { \"v\": [\"Ανοιχτό θέμα\"] }, \"Medium dark skin tone\": { \"v\": [\"Μέτριο σκούρο θέμα\"] }, \"Medium light skin tone\": { \"v\": [\"Μέτριο ανοιχτό θέμα\"] }, \"Medium skin tone\": { \"v\": [\"Μέτριος τόνος θέματος\"] }, \"Neutral skin color\": { \"v\": [\"Ουδέτερο χρώμα θέματος\"] }, \"Objects\": { \"v\": [\"Αντικείμενα\"] }, \"People & Body\": { \"v\": [\"Άνθρωποι & Σώμα\"] }, \"Pick an emoji\": { \"v\": [\"Επιλέξτε ένα emoji\"] }, \"Search emoji\": { \"v\": [\"Αναζήτηση emoji\"] }, \"Search results\": { \"v\": [\"Αποτελέσματα αναζήτησης\"] }, \"Selected\": { \"v\": [\"Επιλεγμένο\"] }, \"Skin tone\": { \"v\": [\"Τόνος δέρματος\"] }, \"Smileys & Emotion\": { \"v\": [\"Φατσούλες & Συναίσθημα\"] }, \"Symbols\": { \"v\": [\"Σύμβολα\"] }, \"Travel & Places\": { \"v\": [\"Ταξίδια & Τοποθεσίες\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Activities\": { \"v\": [\"Activities\"] }, \"Animals & Nature\": { \"v\": [\"Animals & Nature\"] }, \"Custom\": { \"v\": [\"Custom\"] }, \"Dark skin tone\": { \"v\": [\"Dark skin tone\"] }, \"Emoji picker\": { \"v\": [\"Emoji picker\"] }, \"Flags\": { \"v\": [\"Flags\"] }, \"Food & Drink\": { \"v\": [\"Food & Drink\"] }, \"Frequently used\": { \"v\": [\"Frequently used\"] }, \"Light skin tone\": { \"v\": [\"Light skin tone\"] }, \"Medium dark skin tone\": { \"v\": [\"Medium dark skin tone\"] }, \"Medium light skin tone\": { \"v\": [\"Medium light skin tone\"] }, \"Medium skin tone\": { \"v\": [\"Medium skin tone\"] }, \"Neutral skin color\": { \"v\": [\"Neutral skin colour\"] }, \"Objects\": { \"v\": [\"Objects\"] }, \"People & Body\": { \"v\": [\"People & Body\"] }, \"Pick an emoji\": { \"v\": [\"Pick an emoji\"] }, \"Search emoji\": { \"v\": [\"Search emoji\"] }, \"Search results\": { \"v\": [\"Search results\"] }, \"Selected\": { \"v\": [\"Selected\"] }, \"Skin tone\": { \"v\": [\"Skin tone\"] }, \"Smileys & Emotion\": { \"v\": [\"Smileys & Emotion\"] }, \"Symbols\": { \"v\": [\"Symbols\"] }, \"Travel & Places\": { \"v\": [\"Travel & Places\"] } } }, { \"l\": \"eo\", \"t\": { \"Activities\": { \"v\": [\"Aktiveco\"] }, \"Animals & Nature\": { \"v\": [\"Bestoj & Naturo\"] }, \"Custom\": { \"v\": [\"Propra\"] }, \"Flags\": { \"v\": [\"Flagoj\"] }, \"Food & Drink\": { \"v\": [\"Manĝaĵo & Trinkaĵo\"] }, \"Frequently used\": { \"v\": [\"Ofte uzataj\"] }, \"Objects\": { \"v\": [\"Objektoj\"] }, \"People & Body\": { \"v\": [\"Homoj & Korpo\"] }, \"Pick an emoji\": { \"v\": [\"Elekti emoĝion \"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"Serĉrezultoj\"] }, \"Smileys & Emotion\": { \"v\": [\"Ridoj kaj Emocioj\"] }, \"Symbols\": { \"v\": [\"Signoj\"] }, \"Travel & Places\": { \"v\": [\"Vojaĵoj & Lokoj\"] } } }, { \"l\": \"es\", \"t\": { \"Activities\": { \"v\": [\"Actividades\"] }, \"Animals & Nature\": { \"v\": [\"Animales y naturaleza\"] }, \"Custom\": { \"v\": [\"Personalizado\"] }, \"Dark skin tone\": { \"v\": [\"Tono de piel obscuro\"] }, \"Emoji picker\": { \"v\": [\"Selector de emojis\"] }, \"Flags\": { \"v\": [\"Banderas\"] }, \"Food & Drink\": { \"v\": [\"Comida y bebida\"] }, \"Frequently used\": { \"v\": [\"Usado con frecuencia\"] }, \"Light skin tone\": { \"v\": [\"Tono de piel claro\"] }, \"Medium dark skin tone\": { \"v\": [\"Tono de piel medio oscuro\"] }, \"Medium light skin tone\": { \"v\": [\"Tono de piel medio claro\"] }, \"Medium skin tone\": { \"v\": [\"Tono de piel medio\"] }, \"Neutral skin color\": { \"v\": [\"Color de piel neutral\"] }, \"Objects\": { \"v\": [\"Objetos\"] }, \"People & Body\": { \"v\": [\"Personas y Cuerpo\"] }, \"Pick an emoji\": { \"v\": [\"Elegir un emoji\"] }, \"Search emoji\": { \"v\": [\"Buscar emoji\"] }, \"Search results\": { \"v\": [\"Resultados de la búsqueda\"] }, \"Selected\": { \"v\": [\"Seleccionado\"] }, \"Skin tone\": { \"v\": [\"Tono de piel\"] }, \"Smileys & Emotion\": { \"v\": [\"Smileys y emoticonos\"] }, \"Symbols\": { \"v\": [\"Símbolos\"] }, \"Travel & Places\": { \"v\": [\"Viajes y lugares\"] } } }, { \"l\": \"es_419\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"Activities\": { \"v\": [\"Actividades\"] }, \"Animals & Nature\": { \"v\": [\"Animales y Naturaleza\"] }, \"Custom\": { \"v\": [\"Personalizado\"] }, \"Dark skin tone\": { \"v\": [\"Tono de piel oscuro\"] }, \"Emoji picker\": { \"v\": [\"Selector de emojis\"] }, \"Flags\": { \"v\": [\"Marcas\"] }, \"Food & Drink\": { \"v\": [\"Comida y Bebida\"] }, \"Frequently used\": { \"v\": [\"Usados frecuentemente\"] }, \"Light skin tone\": { \"v\": [\"Tono de piel claro\"] }, \"Medium dark skin tone\": { \"v\": [\"Tono de piel medio oscuro\"] }, \"Medium light skin tone\": { \"v\": [\"Tono de piel medio claro\"] }, \"Medium skin tone\": { \"v\": [\"Tono de piel medio\"] }, \"Neutral skin color\": { \"v\": [\"Color de piel neutral\"] }, \"Objects\": { \"v\": [\"Objetos\"] }, \"People & Body\": { \"v\": [\"Personas y Cuerpo\"] }, \"Pick an emoji\": { \"v\": [\"Elija un emoji\"] }, \"Search emoji\": { \"v\": [\"Buscar emoji\"] }, \"Search results\": { \"v\": [\"Resultados de la búsqueda\"] }, \"Selected\": { \"v\": [\"Seleccionado\"] }, \"Skin tone\": { \"v\": [\"Tono de piel\"] }, \"Smileys & Emotion\": { \"v\": [\"Caritas y Emociones\"] }, \"Symbols\": { \"v\": [\"Símbolos\"] }, \"Travel & Places\": { \"v\": [\"Viajes y Lugares\"] } } }, { \"l\": \"es_CL\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"Activities\": { \"v\": [\"Actividades\"] }, \"Animals & Nature\": { \"v\": [\"Animales y Naturaleza\"] }, \"Custom\": { \"v\": [\"Personalizado\"] }, \"Flags\": { \"v\": [\"Marcas\"] }, \"Food & Drink\": { \"v\": [\"Comida y Bebida\"] }, \"Frequently used\": { \"v\": [\"Frecuentemente utilizado\"] }, \"Objects\": { \"v\": [\"Objetos\"] }, \"People & Body\": { \"v\": [\"Personas y Cuerpo\"] }, \"Pick an emoji\": { \"v\": [\"Seleccionar un emoji\"] }, \"Search emoji\": { \"v\": [\"Buscar emoji\"] }, \"Search results\": { \"v\": [\"Resultados de búsqueda\"] }, \"Selected\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"Caritas y Emociones\"] }, \"Symbols\": { \"v\": [\"Símbolos\"] }, \"Travel & Places\": { \"v\": [\"Viajes y Lugares\"] } } }, { \"l\": \"es_GT\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"Activities\": { \"v\": [\"Actividades\"] }, \"Animals & Nature\": { \"v\": [\"Animales y naturaleza\"] }, \"Custom\": { \"v\": [\"Personalizado\"] }, \"Dark skin tone\": { \"v\": [\"Tono de piel oscuro\"] }, \"Emoji picker\": { \"v\": [\"Selector de emojis\"] }, \"Flags\": { \"v\": [\"Banderas\"] }, \"Food & Drink\": { \"v\": [\"Comida y Bebida\"] }, \"Frequently used\": { \"v\": [\"Usado frecuentemente\"] }, \"Light skin tone\": { \"v\": [\"Tono de piel claro\"] }, \"Medium dark skin tone\": { \"v\": [\"Tono de piel medio oscuro\"] }, \"Medium light skin tone\": { \"v\": [\"Tono de piel medio claro\"] }, \"Medium skin tone\": { \"v\": [\"Tono de piel medio\"] }, \"Neutral skin color\": { \"v\": [\"Color de piel neutral\"] }, \"Objects\": { \"v\": [\"Objetos\"] }, \"People & Body\": { \"v\": [\"Personas y cuerpos\"] }, \"Pick an emoji\": { \"v\": [\"Seleccionar un emoji\"] }, \"Search emoji\": { \"v\": [\"Buscar emoji\"] }, \"Search results\": { \"v\": [\"Resultados de la búsqueda\"] }, \"Selected\": { \"v\": [\"Seleccionado\"] }, \"Skin tone\": { \"v\": [\"Tono de piel\"] }, \"Smileys & Emotion\": { \"v\": [\"Caritas y Emociones\"] }, \"Symbols\": { \"v\": [\"Símbolos\"] }, \"Travel & Places\": { \"v\": [\"Viajes y lugares\"] } } }, { \"l\": \"es_NI\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"Activities\": { \"v\": [\"Tegevused\"] }, \"Animals & Nature\": { \"v\": [\"Loomad ja loodus\"] }, \"Custom\": { \"v\": [\"Kohanda\"] }, \"Dark skin tone\": { \"v\": [\"Kesta tume toon\"] }, \"Emoji picker\": { \"v\": [\"Emojide valija\"] }, \"Flags\": { \"v\": [\"Lipud\"] }, \"Food & Drink\": { \"v\": [\"Söök ja jook\"] }, \"Frequently used\": { \"v\": [\"Sageli kasutatud\"] }, \"Light skin tone\": { \"v\": [\"Kesta hele toon\"] }, \"Medium dark skin tone\": { \"v\": [\"Kesta keskmiselt tume toon\"] }, \"Medium light skin tone\": { \"v\": [\"Kesta keskmiselt hele toon\"] }, \"Medium skin tone\": { \"v\": [\"Kesta keskmine toon\"] }, \"Neutral skin color\": { \"v\": [\"Kesta neutraalne toon\"] }, \"Objects\": { \"v\": [\"Objektid\"] }, \"People & Body\": { \"v\": [\"Inimesed ja keha\"] }, \"Pick an emoji\": { \"v\": [\"Vali emoji\"] }, \"Search emoji\": { \"v\": [\"Otsi emojit\"] }, \"Search results\": { \"v\": [\"Otsi tulemustest\"] }, \"Selected\": { \"v\": [\"Valitud\"] }, \"Skin tone\": { \"v\": [\"Kesta toon\"] }, \"Smileys & Emotion\": { \"v\": [\"Smailid ja emotsioonid\"] }, \"Symbols\": { \"v\": [\"Sümbolid\"] }, \"Travel & Places\": { \"v\": [\"Reisimine ja kohad\"] } } }, { \"l\": \"eu\", \"t\": { \"Activities\": { \"v\": [\"Jarduerak\"] }, \"Animals & Nature\": { \"v\": [\"Animaliak eta Natura\"] }, \"Custom\": { \"v\": [\"Pertsonalizatua\"] }, \"Flags\": { \"v\": [\"Banderak\"] }, \"Food & Drink\": { \"v\": [\"Janaria eta edariak\"] }, \"Frequently used\": { \"v\": [\"Askotan erabilia\"] }, \"Objects\": { \"v\": [\"Objektuak\"] }, \"People & Body\": { \"v\": [\"Jendea eta gorputza\"] }, \"Pick an emoji\": { \"v\": [\"Hautatu emoji bat\"] }, \"Search emoji\": { \"v\": [\"Bilatu emojiak\"] }, \"Search results\": { \"v\": [\"Bilaketa emaitzak\"] }, \"Selected\": { \"v\": [\"Hautatuta\"] }, \"Smileys & Emotion\": { \"v\": [\"Smileyak eta emozioa\"] }, \"Symbols\": { \"v\": [\"Sinboloak\"] }, \"Travel & Places\": { \"v\": [\"Bidaiak eta lekuak\"] } } }, { \"l\": \"fa\", \"t\": { \"Activities\": { \"v\": [\"فعالیت‌ها\"] }, \"Animals & Nature\": { \"v\": [\"حیوانات و طبیعت\"] }, \"Custom\": { \"v\": [\"سفارشی\"] }, \"Dark skin tone\": { \"v\": [\"رنگ پوسته تیره\"] }, \"Emoji picker\": { \"v\": [\"انتخاب‌گر شکلک\"] }, \"Flags\": { \"v\": [\"پرچم‌ها\"] }, \"Food & Drink\": { \"v\": [\"غذا و نوشیدنی\"] }, \"Frequently used\": { \"v\": [\"پرکاربرد\"] }, \"Light skin tone\": { \"v\": [\"رنگ پوسته روشن\"] }, \"Medium dark skin tone\": { \"v\": [\"رنگ پوسته تیره متوسط\"] }, \"Medium light skin tone\": { \"v\": [\"رنگ پوسته روشن متوسط\"] }, \"Medium skin tone\": { \"v\": [\"رنگ پوسته متوسط\"] }, \"Neutral skin color\": { \"v\": [\"رنگ پوسته خنثی\"] }, \"Objects\": { \"v\": [\"اشیاء\"] }, \"People & Body\": { \"v\": [\"مردم و بدن\"] }, \"Pick an emoji\": { \"v\": [\"انتخاب شکلک\"] }, \"Search emoji\": { \"v\": [\"جستجوی شکلک\"] }, \"Search results\": { \"v\": [\"نتایج جستجو\"] }, \"Selected\": { \"v\": [\"انتخاب شده\"] }, \"Skin tone\": { \"v\": [\"رنگ پوسته\"] }, \"Smileys & Emotion\": { \"v\": [\"شکلک‌ها و احساسات\"] }, \"Symbols\": { \"v\": [\"نمادها\"] }, \"Travel & Places\": { \"v\": [\"سفر و مکان‌ها\"] } } }, { \"l\": \"fi\", \"t\": { \"Activities\": { \"v\": [\"Aktiviteetit\"] }, \"Animals & Nature\": { \"v\": [\"Eläimet & luonto\"] }, \"Custom\": { \"v\": [\"Mukautettu\"] }, \"Dark skin tone\": { \"v\": [\"Tumma ihonväri\"] }, \"Emoji picker\": { \"v\": [\"Emojivalitsin\"] }, \"Flags\": { \"v\": [\"Liput\"] }, \"Food & Drink\": { \"v\": [\"Ruoka & juoma\"] }, \"Frequently used\": { \"v\": [\"Usein käytetyt\"] }, \"Light skin tone\": { \"v\": [\"Vaalea ihonväri\"] }, \"Medium dark skin tone\": { \"v\": [\"Keskitumma ihonväri\"] }, \"Medium light skin tone\": { \"v\": [\"Keskivaalea ihonväri\"] }, \"Medium skin tone\": { \"v\": [\"Keskimääräinen ihonväri\"] }, \"Neutral skin color\": { \"v\": [\"Neutraali ihonväri\"] }, \"Objects\": { \"v\": [\"Esineet & asiat\"] }, \"People & Body\": { \"v\": [\"Ihmiset & keho\"] }, \"Pick an emoji\": { \"v\": [\"Valitse emoji\"] }, \"Search emoji\": { \"v\": [\"Etsi emojia\"] }, \"Search results\": { \"v\": [\"Hakutulokset\"] }, \"Selected\": { \"v\": [\"Valittu\"] }, \"Skin tone\": { \"v\": [\"Ihonväri\"] }, \"Smileys & Emotion\": { \"v\": [\"Hymiöt & tunteet\"] }, \"Symbols\": { \"v\": [\"Symbolit\"] }, \"Travel & Places\": { \"v\": [\"Matkustus & kohteet\"] } } }, { \"l\": \"fo\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"Activities\": { \"v\": [\"Activités\"] }, \"Animals & Nature\": { \"v\": [\"Animaux & Nature\"] }, \"Custom\": { \"v\": [\"Personnalisé\"] }, \"Dark skin tone\": { \"v\": [\"Teint foncé\"] }, \"Emoji picker\": { \"v\": [\"Sélecteur d'émojis\"] }, \"Flags\": { \"v\": [\"Drapeaux\"] }, \"Food & Drink\": { \"v\": [\"Nourriture & Boissons\"] }, \"Frequently used\": { \"v\": [\"Utilisés fréquemment\"] }, \"Light skin tone\": { \"v\": [\"Teint clair\"] }, \"Medium dark skin tone\": { \"v\": [\"Teint moyennement foncé\"] }, \"Medium light skin tone\": { \"v\": [\"Teint moyen clair\"] }, \"Medium skin tone\": { \"v\": [\"Teint moyen\"] }, \"Neutral skin color\": { \"v\": [\"Teint neutre\"] }, \"Objects\": { \"v\": [\"Objets\"] }, \"People & Body\": { \"v\": [\"Personnes & Corps\"] }, \"Pick an emoji\": { \"v\": [\"Choisissez un émoji\"] }, \"Search emoji\": { \"v\": [\"Rechercher un emoji\"] }, \"Search results\": { \"v\": [\"Résultats de recherche\"] }, \"Selected\": { \"v\": [\"sélectionné\"] }, \"Skin tone\": { \"v\": [\"Teint de peau\"] }, \"Smileys & Emotion\": { \"v\": [\"Smileys & Émotions\"] }, \"Symbols\": { \"v\": [\"Symboles\"] }, \"Travel & Places\": { \"v\": [\"Voyage & Lieux\"] } } }, { \"l\": \"ga\", \"t\": { \"Activities\": { \"v\": [\"Gníomhaíochtaí\"] }, \"Animals & Nature\": { \"v\": [\"Ainmhithe & Dúlra\"] }, \"Custom\": { \"v\": [\"Saincheaptha\"] }, \"Dark skin tone\": { \"v\": [\"Ton craiceann dorcha\"] }, \"Emoji picker\": { \"v\": [\"Roghnóir Emoji\"] }, \"Flags\": { \"v\": [\"Bratacha\"] }, \"Food & Drink\": { \"v\": [\"Bia & Deoch\"] }, \"Frequently used\": { \"v\": [\"Úsáidtear go minic\"] }, \"Light skin tone\": { \"v\": [\"Ton craiceann éadrom\"] }, \"Medium dark skin tone\": { \"v\": [\"Ton craiceann meánach dorcha\"] }, \"Medium light skin tone\": { \"v\": [\"Ton craiceann meánach éadrom\"] }, \"Medium skin tone\": { \"v\": [\"Ton craiceann meánach\"] }, \"Neutral skin color\": { \"v\": [\"Dath craiceann neodrach\"] }, \"Objects\": { \"v\": [\"Réada\"] }, \"People & Body\": { \"v\": [\"Daoine & Corp\"] }, \"Pick an emoji\": { \"v\": [\"Roghnaigh emoji\"] }, \"Search emoji\": { \"v\": [\"Cuardaigh emoji\"] }, \"Search results\": { \"v\": [\"Torthaí cuardaigh\"] }, \"Selected\": { \"v\": [\"Roghnaithe\"] }, \"Skin tone\": { \"v\": [\"Ton craicinn\"] }, \"Smileys & Emotion\": { \"v\": [\"Smileys & Mothúchán\"] }, \"Symbols\": { \"v\": [\"Siombailí\"] }, \"Travel & Places\": { \"v\": [\"Taisteal & Áiteanna\"] } } }, { \"l\": \"gd\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"Activities\": { \"v\": [\"Actividades\"] }, \"Animals & Nature\": { \"v\": [\"Animais e natureza\"] }, \"Custom\": { \"v\": [\"Personalizado\"] }, \"Dark skin tone\": { \"v\": [\"Ton de pel escuro\"] }, \"Emoji picker\": { \"v\": [\"Selector de «emojis»\"] }, \"Flags\": { \"v\": [\"Bandeiras\"] }, \"Food & Drink\": { \"v\": [\"Comida e bebida\"] }, \"Frequently used\": { \"v\": [\"Usado con frecuencia\"] }, \"Light skin tone\": { \"v\": [\"Ton de pel claro\"] }, \"Medium dark skin tone\": { \"v\": [\"Ton de pel medio escuro\"] }, \"Medium light skin tone\": { \"v\": [\"Ton de pel medio claro\"] }, \"Medium skin tone\": { \"v\": [\"Ton de pel medio\"] }, \"Neutral skin color\": { \"v\": [\"Cor de pel neutra\"] }, \"Objects\": { \"v\": [\"Obxectos\"] }, \"People & Body\": { \"v\": [\"Persoas e corpo\"] }, \"Pick an emoji\": { \"v\": [\"Escolla un «emoji»\"] }, \"Search emoji\": { \"v\": [\"Buscar «emoji»\"] }, \"Search results\": { \"v\": [\"Resultados da busca\"] }, \"Selected\": { \"v\": [\"Seleccionado\"] }, \"Skin tone\": { \"v\": [\"Ton de pel\"] }, \"Smileys & Emotion\": { \"v\": [\"Sorrisos e emocións\"] }, \"Symbols\": { \"v\": [\"Símbolos\"] }, \"Travel & Places\": { \"v\": [\"Viaxes e lugares\"] } } }, { \"l\": \"he\", \"t\": { \"Activities\": { \"v\": [\"פעילויות\"] }, \"Animals & Nature\": { \"v\": [\"חיות וטבע\"] }, \"Custom\": { \"v\": [\"בהתאמה אישית\"] }, \"Flags\": { \"v\": [\"דגלים\"] }, \"Food & Drink\": { \"v\": [\"מזון ומשקאות\"] }, \"Frequently used\": { \"v\": [\"בשימוש תדיר\"] }, \"Objects\": { \"v\": [\"חפצים\"] }, \"People & Body\": { \"v\": [\"אנשים וגוף\"] }, \"Pick an emoji\": { \"v\": [\"נא לבחור אמוג׳י\"] }, \"Search emoji\": { \"v\": [\"חיפוש אמוג׳י\"] }, \"Search results\": { \"v\": [\"תוצאות חיפוש\"] }, \"Selected\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"חייכנים ורגשונים\"] }, \"Symbols\": { \"v\": [\"סמלים\"] }, \"Travel & Places\": { \"v\": [\"טיולים ומקומות\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"Activities\": { \"v\": [\"Tevékenységek\"] }, \"Animals & Nature\": { \"v\": [\"Állatok és természet\"] }, \"Custom\": { \"v\": [\"Egyéni\"] }, \"Flags\": { \"v\": [\"Zászlók\"] }, \"Food & Drink\": { \"v\": [\"Étel és ital\"] }, \"Frequently used\": { \"v\": [\"Gyakran használt\"] }, \"Objects\": { \"v\": [\"Tárgyak\"] }, \"People & Body\": { \"v\": [\"Emberek és test\"] }, \"Pick an emoji\": { \"v\": [\"Válasszon egy emodzsit\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"Találatok\"] }, \"Smileys & Emotion\": { \"v\": [\"Mosolyok és érzelmek\"] }, \"Symbols\": { \"v\": [\"Szimbólumok\"] }, \"Travel & Places\": { \"v\": [\"Utazás és helyek\"] } } }, { \"l\": \"hy\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"Activities\": { \"v\": [\"Aktivitas\"] }, \"Animals & Nature\": { \"v\": [\"Satwa dan Alam\"] }, \"Custom\": { \"v\": [\"Khusus\"] }, \"Flags\": { \"v\": [\"Tanda\"] }, \"Food & Drink\": { \"v\": [\"Makanan dan Minuman\"] }, \"Frequently used\": { \"v\": [\"Sering digunakan\"] }, \"Objects\": { \"v\": [\"Objek\"] }, \"People & Body\": { \"v\": [\"Orang & Badan\"] }, \"Pick an emoji\": { \"v\": [\"Pilih emoji\"] }, \"Search emoji\": { \"v\": [\"Cari emoji\"] }, \"Search results\": { \"v\": [\"Hasil pencarian\"] }, \"Selected\": { \"v\": [\"Dipilih\"] }, \"Smileys & Emotion\": { \"v\": [\"Senyuman & Perasaan\"] }, \"Symbols\": { \"v\": [\"Simbol\"] }, \"Travel & Places\": { \"v\": [\"Perjalanan & Tempat\"] } } }, { \"l\": \"ig\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"Activities\": { \"v\": [\"Aðgerðir\"] }, \"Animals & Nature\": { \"v\": [\"Dýr og náttúra\"] }, \"Custom\": { \"v\": [\"Sérsniðið\"] }, \"Dark skin tone\": { \"v\": [\"Dökkur húðlitur\"] }, \"Emoji picker\": { \"v\": [\"Emoji-táknmyndaval\"] }, \"Flags\": { \"v\": [\"Flögg\"] }, \"Food & Drink\": { \"v\": [\"Matur og drykkur\"] }, \"Frequently used\": { \"v\": [\"Oftast notað\"] }, \"Light skin tone\": { \"v\": [\"Ljós húðlitur\"] }, \"Medium dark skin tone\": { \"v\": [\"Meðaldökkur húðlitur\"] }, \"Medium light skin tone\": { \"v\": [\"Meðalljós húðlitur\"] }, \"Medium skin tone\": { \"v\": [\"Meðaltónn húðar\"] }, \"Neutral skin color\": { \"v\": [\"Hlutlaus húðlitur\"] }, \"Objects\": { \"v\": [\"Hlutir\"] }, \"People & Body\": { \"v\": [\"Fólk og líkami\"] }, \"Pick an emoji\": { \"v\": [\"Veldu tjáningartákn\"] }, \"Search emoji\": { \"v\": [\"Leita að tjáningartákni\"] }, \"Search results\": { \"v\": [\"Leitarniðurstöður\"] }, \"Selected\": { \"v\": [\"Valið\"] }, \"Skin tone\": { \"v\": [\"Húðlitur\"] }, \"Smileys & Emotion\": { \"v\": [\"Broskallar og tilfinningar\"] }, \"Symbols\": { \"v\": [\"Tákn\"] }, \"Travel & Places\": { \"v\": [\"Staðir og ferðalög\"] } } }, { \"l\": \"it\", \"t\": { \"Activities\": { \"v\": [\"Attività\"] }, \"Animals & Nature\": { \"v\": [\"Animali e natura\"] }, \"Custom\": { \"v\": [\"Personalizzato\"] }, \"Flags\": { \"v\": [\"Bandiere\"] }, \"Food & Drink\": { \"v\": [\"Cibo e bevande\"] }, \"Frequently used\": { \"v\": [\"Usati di frequente\"] }, \"Objects\": { \"v\": [\"Oggetti\"] }, \"People & Body\": { \"v\": [\"Persone e corpo\"] }, \"Pick an emoji\": { \"v\": [\"Scegli un emoji\"] }, \"Search emoji\": { \"v\": [\"Ricerca emoji\"] }, \"Search results\": { \"v\": [\"Risultati di ricerca\"] }, \"Selected\": { \"v\": [\"Selezionato\"] }, \"Smileys & Emotion\": { \"v\": [\"Faccine ed emozioni\"] }, \"Symbols\": { \"v\": [\"Simboli\"] }, \"Travel & Places\": { \"v\": [\"Viaggi e luoghi\"] } } }, { \"l\": \"ja\", \"t\": { \"Activities\": { \"v\": [\"アクティビティ\"] }, \"Animals & Nature\": { \"v\": [\"動物と自然\"] }, \"Custom\": { \"v\": [\"カスタム\"] }, \"Dark skin tone\": { \"v\": [\"暗い肌のトーン\"] }, \"Emoji picker\": { \"v\": [\"絵文字ピッカー\"] }, \"Flags\": { \"v\": [\"国旗\"] }, \"Food & Drink\": { \"v\": [\"食べ物と飲み物\"] }, \"Frequently used\": { \"v\": [\"よく使うもの\"] }, \"Light skin tone\": { \"v\": [\"明るい肌のトーン\"] }, \"Medium dark skin tone\": { \"v\": [\"やや暗い肌のトーン\"] }, \"Medium light skin tone\": { \"v\": [\"やや明るい肌のトーン\"] }, \"Medium skin tone\": { \"v\": [\"中間の肌のトーン\"] }, \"Neutral skin color\": { \"v\": [\"ニュートラルな肌の色\"] }, \"Objects\": { \"v\": [\"物\"] }, \"People & Body\": { \"v\": [\"様々な人と体の部位\"] }, \"Pick an emoji\": { \"v\": [\"絵文字を選択\"] }, \"Search emoji\": { \"v\": [\"絵文字を検索\"] }, \"Search results\": { \"v\": [\"検索結果\"] }, \"Selected\": { \"v\": [\"選択済み\"] }, \"Skin tone\": { \"v\": [\"肌のトーン\"] }, \"Smileys & Emotion\": { \"v\": [\"感情表現\"] }, \"Symbols\": { \"v\": [\"記号\"] }, \"Travel & Places\": { \"v\": [\"旅行と場所\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"Activities\": { \"v\": [\"アクティビティ\"] }, \"Animals & Nature\": { \"v\": [\"動物と自然\"] }, \"Custom\": { \"v\": [\"カスタム\"] }, \"Dark skin tone\": { \"v\": [\"暗い肌のトーン\"] }, \"Emoji picker\": { \"v\": [\"絵文字ピッカー\"] }, \"Flags\": { \"v\": [\"国旗\"] }, \"Food & Drink\": { \"v\": [\"食べ物と飲み物\"] }, \"Frequently used\": { \"v\": [\"よく使うもの\"] }, \"Light skin tone\": { \"v\": [\"明るい肌のトーン\"] }, \"Medium dark skin tone\": { \"v\": [\"やや暗い肌のトーン\"] }, \"Medium light skin tone\": { \"v\": [\"やや明るい肌のトーン\"] }, \"Medium skin tone\": { \"v\": [\"中間の肌のトーン\"] }, \"Neutral skin color\": { \"v\": [\"ニュートラルな肌の色\"] }, \"Objects\": { \"v\": [\"物\"] }, \"People & Body\": { \"v\": [\"様々な人と体の部位\"] }, \"Pick an emoji\": { \"v\": [\"絵文字を選択\"] }, \"Search emoji\": { \"v\": [\"絵文字を検索\"] }, \"Search results\": { \"v\": [\"検索結果\"] }, \"Selected\": { \"v\": [\"選択済み\"] }, \"Skin tone\": { \"v\": [\"肌のトーン\"] }, \"Smileys & Emotion\": { \"v\": [\"感情表現\"] }, \"Symbols\": { \"v\": [\"記号\"] }, \"Travel & Places\": { \"v\": [\"旅行と場所\"] } } }, { \"l\": \"ka\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"Activities\": { \"v\": [\"활동\"] }, \"Animals & Nature\": { \"v\": [\"동물 & 자연\"] }, \"Custom\": { \"v\": [\"맞춤 설정\"] }, \"Dark skin tone\": { \"v\": [\"어두운 피부 톤\"] }, \"Emoji picker\": { \"v\": [\"이모지 선택기\"] }, \"Flags\": { \"v\": [\"깃발\"] }, \"Food & Drink\": { \"v\": [\"음식 & 음료\"] }, \"Frequently used\": { \"v\": [\"자주 쓰임\"] }, \"Light skin tone\": { \"v\": [\"밝은 피부 톤\"] }, \"Medium dark skin tone\": { \"v\": [\"약간 어두운 피부 톤\"] }, \"Medium light skin tone\": { \"v\": [\"약간 밝은 피부 톤\"] }, \"Medium skin tone\": { \"v\": [\"중간 피부 톤\"] }, \"Neutral skin color\": { \"v\": [\"중성적 피부 톤\"] }, \"Objects\": { \"v\": [\"물체\"] }, \"People & Body\": { \"v\": [\"사람 & 신체\"] }, \"Pick an emoji\": { \"v\": [\"이모지 선택\"] }, \"Search emoji\": { \"v\": [\"이모지 검색\"] }, \"Search results\": { \"v\": [\"검색 결과\"] }, \"Selected\": { \"v\": [\"선택됨\"] }, \"Skin tone\": { \"v\": [\"피부 톤\"] }, \"Smileys & Emotion\": { \"v\": [\"스마일리 & 이모티콘\"] }, \"Symbols\": { \"v\": [\"기호\"] }, \"Travel & Places\": { \"v\": [\"여행 & 장소\"] } } }, { \"l\": \"la\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"Activities\": { \"v\": [\"Veiklos\"] }, \"Animals & Nature\": { \"v\": [\"Gyvūnai ir gamta\"] }, \"Custom\": { \"v\": [\"Tinkinti\"] }, \"Flags\": { \"v\": [\"Vėliavos\"] }, \"Food & Drink\": { \"v\": [\"Maistas ir gėrimai\"] }, \"Frequently used\": { \"v\": [\"Dažniausiai naudoti\"] }, \"Objects\": { \"v\": [\"Objektai\"] }, \"People & Body\": { \"v\": [\"Žmonės ir kūnas\"] }, \"Pick an emoji\": { \"v\": [\"Pasirinkti jaustuką\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"Paieškos rezultatai\"] }, \"Smileys & Emotion\": { \"v\": [\"Šypsenos ir emocijos\"] }, \"Symbols\": { \"v\": [\"Simboliai\"] }, \"Travel & Places\": { \"v\": [\"Kelionės ir vietos\"] } } }, { \"l\": \"lv\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"mk\", \"t\": { \"Activities\": { \"v\": [\"Активности\"] }, \"Animals & Nature\": { \"v\": [\"Животни & Природа\"] }, \"Custom\": { \"v\": [\"Прилагодени\"] }, \"Flags\": { \"v\": [\"Знамиња\"] }, \"Food & Drink\": { \"v\": [\"Храна & Пијалоци\"] }, \"Frequently used\": { \"v\": [\"Најчесто користени\"] }, \"Objects\": { \"v\": [\"Објекти\"] }, \"People & Body\": { \"v\": [\"Луѓе & Тело\"] }, \"Pick an emoji\": { \"v\": [\"Избери емотикон\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"Резултати од барувањето\"] }, \"Smileys & Emotion\": { \"v\": [\"Смешковци & Емотикони\"] }, \"Symbols\": { \"v\": [\"Симболи\"] }, \"Travel & Places\": { \"v\": [\"Патувања & Места\"] } } }, { \"l\": \"mn\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"Activities\": { \"v\": [\"ပြုလုပ်ဆောင်တာများ\"] }, \"Animals & Nature\": { \"v\": [\"တိရစ္ဆာန်များနှင့် သဘာဝ\"] }, \"Custom\": { \"v\": [\"အလိုကျချိန်ညှိမှု\"] }, \"Flags\": { \"v\": [\"အလံများ\"] }, \"Food & Drink\": { \"v\": [\"အစားအသောက်\"] }, \"Frequently used\": { \"v\": [\"မကြာခဏအသုံးပြုသော\"] }, \"Objects\": { \"v\": [\"အရာဝတ္ထုများ\"] }, \"People & Body\": { \"v\": [\"လူပုဂ္ဂိုလ်များနှင့် ခန္ဓာကိုယ်\"] }, \"Pick an emoji\": { \"v\": [\"အီမိုဂျီရွေးရန်\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"ရှာဖွေမှု ရလဒ်များ\"] }, \"Smileys & Emotion\": { \"v\": [\"စမိုင်လီများနှင့် အီမိုရှင်း\"] }, \"Symbols\": { \"v\": [\"သင်္ကေတများ\"] }, \"Travel & Places\": { \"v\": [\"ခရီးသွားလာခြင်းနှင့် နေရာများ\"] } } }, { \"l\": \"nb\", \"t\": { \"Activities\": { \"v\": [\"Aktiviteter\"] }, \"Animals & Nature\": { \"v\": [\"Dyr og natur\"] }, \"Custom\": { \"v\": [\"Tilpasset\"] }, \"Dark skin tone\": { \"v\": [\"Mørk hudtone\"] }, \"Emoji picker\": { \"v\": [\"Emoji-velger\"] }, \"Flags\": { \"v\": [\"Flagg\"] }, \"Food & Drink\": { \"v\": [\"Mat og drikke\"] }, \"Frequently used\": { \"v\": [\"Ofte brukt\"] }, \"Light skin tone\": { \"v\": [\"Lys hudtone\"] }, \"Medium dark skin tone\": { \"v\": [\"Middels mørk hudtone\"] }, \"Medium light skin tone\": { \"v\": [\"Middels lys hudtone\"] }, \"Medium skin tone\": { \"v\": [\"Middels hudtone\"] }, \"Neutral skin color\": { \"v\": [\"Nøytral hudfarge\"] }, \"Objects\": { \"v\": [\"Objekter\"] }, \"People & Body\": { \"v\": [\"Mennesker og kropp\"] }, \"Pick an emoji\": { \"v\": [\"Velg en emoji\"] }, \"Search emoji\": { \"v\": [\"Søk emoji\"] }, \"Search results\": { \"v\": [\"Søkeresultater\"] }, \"Selected\": { \"v\": [\"Valgt\"] }, \"Skin tone\": { \"v\": [\"Hudtone\"] }, \"Smileys & Emotion\": { \"v\": [\"Smilefjes og følelser\"] }, \"Symbols\": { \"v\": [\"Symboler\"] }, \"Travel & Places\": { \"v\": [\"Reise og steder\"] } } }, { \"l\": \"ne\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"Activities\": { \"v\": [\"Activiteiten\"] }, \"Animals & Nature\": { \"v\": [\"Dieren & Natuur\"] }, \"Custom\": { \"v\": [\"Aangepast\"] }, \"Dark skin tone\": { \"v\": [\"Donkere tint\"] }, \"Emoji picker\": { \"v\": [\"Emoji-kiezer\"] }, \"Flags\": { \"v\": [\"Vlaggen\"] }, \"Food & Drink\": { \"v\": [\"Eten & Drinken\"] }, \"Frequently used\": { \"v\": [\"Vaak gebruikt\"] }, \"Light skin tone\": { \"v\": [\"Lichte tint\"] }, \"Medium dark skin tone\": { \"v\": [\"Gemiddelde donkere tint\"] }, \"Medium light skin tone\": { \"v\": [\"Gemiddeld lichte tint\"] }, \"Medium skin tone\": { \"v\": [\"Gemiddelde tint\"] }, \"Neutral skin color\": { \"v\": [\"Neutrale tint\"] }, \"Objects\": { \"v\": [\"Objecten\"] }, \"People & Body\": { \"v\": [\"Mensen & Lichaam\"] }, \"Pick an emoji\": { \"v\": [\"Kies een emoji\"] }, \"Search emoji\": { \"v\": [\"Zoek emoji\"] }, \"Search results\": { \"v\": [\"Zoekresultaten\"] }, \"Selected\": { \"v\": [\"Geselecteerd\"] }, \"Skin tone\": { \"v\": [\"Tint van de schil\"] }, \"Smileys & Emotion\": { \"v\": [\"Smileys & Emotie\"] }, \"Symbols\": { \"v\": [\"Symbolen\"] }, \"Travel & Places\": { \"v\": [\"Reizen & Plaatsen\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"pl\", \"t\": { \"Activities\": { \"v\": [\"Aktywność\"] }, \"Animals & Nature\": { \"v\": [\"Zwierzęta i natura\"] }, \"Custom\": { \"v\": [\"Zwyczajne\"] }, \"Dark skin tone\": { \"v\": [\"Ciemna tonacja\"] }, \"Emoji picker\": { \"v\": [\"Wybierz Emoji\"] }, \"Flags\": { \"v\": [\"Flagi\"] }, \"Food & Drink\": { \"v\": [\"Jedzenie i picie\"] }, \"Frequently used\": { \"v\": [\"Często używane\"] }, \"Light skin tone\": { \"v\": [\"Jasny odcień skóry\"] }, \"Medium dark skin tone\": { \"v\": [\"Średnio ciemny odcień skóry\"] }, \"Medium light skin tone\": { \"v\": [\"Średnio jasny odcień skóry\"] }, \"Medium skin tone\": { \"v\": [\"Średni odcień skóry\"] }, \"Neutral skin color\": { \"v\": [\"Neutralny kolor skróry\"] }, \"Objects\": { \"v\": [\"Obiekty\"] }, \"People & Body\": { \"v\": [\"Ludzie i ciało\"] }, \"Pick an emoji\": { \"v\": [\"Wybierz emoji\"] }, \"Search emoji\": { \"v\": [\"Szukaj emoji\"] }, \"Search results\": { \"v\": [\"Wyniki wyszukiwania\"] }, \"Selected\": { \"v\": [\"Wybrane\"] }, \"Skin tone\": { \"v\": [\"Kolor skóry\"] }, \"Smileys & Emotion\": { \"v\": [\"Buźki i emotikony\"] }, \"Symbols\": { \"v\": [\"Symbole\"] }, \"Travel & Places\": { \"v\": [\"Podróże i miejsca\"] } } }, { \"l\": \"ps\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"Activities\": { \"v\": [\"Atividades\"] }, \"Animals & Nature\": { \"v\": [\"Animais & Natureza\"] }, \"Custom\": { \"v\": [\"Personalizado\"] }, \"Dark skin tone\": { \"v\": [\"Tom de pele escuro\"] }, \"Emoji picker\": { \"v\": [\"Seletor de emoji\"] }, \"Flags\": { \"v\": [\"Bandeiras\"] }, \"Food & Drink\": { \"v\": [\"Comida & Bebida\"] }, \"Frequently used\": { \"v\": [\"Mais usados\"] }, \"Light skin tone\": { \"v\": [\"Tome de pele claro\"] }, \"Medium dark skin tone\": { \"v\": [\"Tom de pele meio escuro\"] }, \"Medium light skin tone\": { \"v\": [\"Tom de pele meio claro\"] }, \"Medium skin tone\": { \"v\": [\"Tom de pele médio\"] }, \"Neutral skin color\": { \"v\": [\"Tom de pele neutro\"] }, \"Objects\": { \"v\": [\"Objetos\"] }, \"People & Body\": { \"v\": [\"Pessoas & Corpo\"] }, \"Pick an emoji\": { \"v\": [\"Escolha um emoji\"] }, \"Search emoji\": { \"v\": [\"Pesquisar emoji\"] }, \"Search results\": { \"v\": [\"Resultados da pesquisa\"] }, \"Selected\": { \"v\": [\"Selecionado\"] }, \"Skin tone\": { \"v\": [\"Tom de pele\"] }, \"Smileys & Emotion\": { \"v\": [\"Smiles & Emoções\"] }, \"Symbols\": { \"v\": [\"Símbolos\"] }, \"Travel & Places\": { \"v\": [\"Viagem & Lugares\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Activities\": { \"v\": [\"Atividades\"] }, \"Animals & Nature\": { \"v\": [\"Animais e Natureza\"] }, \"Custom\": { \"v\": [\"Personalizado\"] }, \"Dark skin tone\": { \"v\": [\"Tom de pele escuro\"] }, \"Emoji picker\": { \"v\": [\"seletor de emoji\"] }, \"Flags\": { \"v\": [\"Bandeiras\"] }, \"Food & Drink\": { \"v\": [\"Comida e Bebida\"] }, \"Frequently used\": { \"v\": [\"Mais utilizados\"] }, \"Light skin tone\": { \"v\": [\"Tom de pele claro\"] }, \"Medium dark skin tone\": { \"v\": [\"Tom de pele escuro médio\"] }, \"Medium light skin tone\": { \"v\": [\"Tom de pele claro médio\"] }, \"Medium skin tone\": { \"v\": [\"Tom de pele médio\"] }, \"Neutral skin color\": { \"v\": [\"Cor de pele neutra\"] }, \"Objects\": { \"v\": [\"Objetos\"] }, \"People & Body\": { \"v\": [\"Pessoas e Corpo\"] }, \"Pick an emoji\": { \"v\": [\"Escolha um emoji\"] }, \"Search emoji\": { \"v\": [\"Pesquisar emoji\"] }, \"Search results\": { \"v\": [\"Resultados da pesquisa\"] }, \"Selected\": { \"v\": [\"Selecionado\"] }, \"Skin tone\": { \"v\": [\"Tom de pele\"] }, \"Smileys & Emotion\": { \"v\": [\"Sorrisos e Emoções\"] }, \"Symbols\": { \"v\": [\"Símbolos\"] }, \"Travel & Places\": { \"v\": [\"Viagens e Lugares\"] } } }, { \"l\": \"ro\", \"t\": { \"Activities\": { \"v\": [\"Activități\"] }, \"Animals & Nature\": { \"v\": [\"Animale și natură\"] }, \"Custom\": { \"v\": [\"Personalizat\"] }, \"Flags\": { \"v\": [\"Marcaje\"] }, \"Food & Drink\": { \"v\": [\"Alimente și băuturi\"] }, \"Frequently used\": { \"v\": [\"Utilizate frecvent\"] }, \"Objects\": { \"v\": [\"Obiecte\"] }, \"People & Body\": { \"v\": [\"Oameni și corp\"] }, \"Pick an emoji\": { \"v\": [\"Alege un emoji\"] }, \"Search emoji\": { \"v\": [\"Căutare emoji\"] }, \"Search results\": { \"v\": [\"Rezultatele căutării\"] }, \"Selected\": { \"v\": [\"Selectat\"] }, \"Smileys & Emotion\": { \"v\": [\"Zâmbete și emoții\"] }, \"Symbols\": { \"v\": [\"Simboluri\"] }, \"Travel & Places\": { \"v\": [\"Călătorii și locuri\"] } } }, { \"l\": \"ru\", \"t\": { \"Activities\": { \"v\": [\"События\"] }, \"Animals & Nature\": { \"v\": [\"Животные и природа \"] }, \"Custom\": { \"v\": [\"Пользовательское\"] }, \"Dark skin tone\": { \"v\": [\"Темный оттенок\"] }, \"Emoji picker\": { \"v\": [\"Подборщик эмодзи\"] }, \"Flags\": { \"v\": [\"Флаги\"] }, \"Food & Drink\": { \"v\": [\"Еда, напиток\"] }, \"Frequently used\": { \"v\": [\"Часто используемый\"] }, \"Light skin tone\": { \"v\": [\"Светлый оттенок\"] }, \"Medium dark skin tone\": { \"v\": [\"Средний темный оттенок\"] }, \"Medium light skin tone\": { \"v\": [\"Средний светлый оттенок\"] }, \"Medium skin tone\": { \"v\": [\"Средний оттенок\"] }, \"Neutral skin color\": { \"v\": [\"Нейтральный оттенок\"] }, \"Objects\": { \"v\": [\"Объекты\"] }, \"People & Body\": { \"v\": [\"Люди и тело\"] }, \"Pick an emoji\": { \"v\": [\"Выберите эмодзи\"] }, \"Search emoji\": { \"v\": [\"Поиск эмодзи\"] }, \"Search results\": { \"v\": [\"Результаты поиска\"] }, \"Selected\": { \"v\": [\"Выбрано\"] }, \"Skin tone\": { \"v\": [\"Оттенок скина\"] }, \"Smileys & Emotion\": { \"v\": [\"Смайлики и эмоции\"] }, \"Symbols\": { \"v\": [\"Символы\"] }, \"Travel & Places\": { \"v\": [\"Путешествия и места\"] } } }, { \"l\": \"sc\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"Activities\": { \"v\": [\"Aktivity\"] }, \"Animals & Nature\": { \"v\": [\"Zvieratá a príroda\"] }, \"Custom\": { \"v\": [\"Vlastné\"] }, \"Dark skin tone\": { \"v\": [\"Tmavý vzhľad\"] }, \"Emoji picker\": { \"v\": [\"Výber emodži\"] }, \"Flags\": { \"v\": [\"Vlajky\"] }, \"Food & Drink\": { \"v\": [\"Jedlo a nápoje\"] }, \"Frequently used\": { \"v\": [\"Často používané\"] }, \"Light skin tone\": { \"v\": [\"Svetlý vzhľad\"] }, \"Medium dark skin tone\": { \"v\": [\"Stredne tmavý vzhľad\"] }, \"Medium light skin tone\": { \"v\": [\"Stredne svetlý vzhľad\"] }, \"Medium skin tone\": { \"v\": [\"Stredný vzhľad\"] }, \"Neutral skin color\": { \"v\": [\"Neutrálny vzhľad\"] }, \"Objects\": { \"v\": [\"Objekty\"] }, \"People & Body\": { \"v\": [\"Ľudia a telo\"] }, \"Pick an emoji\": { \"v\": [\"Vybrať emodži\"] }, \"Search emoji\": { \"v\": [\"Vyhľadať emoji\"] }, \"Search results\": { \"v\": [\"Výsledky vyhľadávania\"] }, \"Selected\": { \"v\": [\"Vybraný\"] }, \"Skin tone\": { \"v\": [\"Vzhľad\"] }, \"Smileys & Emotion\": { \"v\": [\"Smajlíky a emócie\"] }, \"Symbols\": { \"v\": [\"Symboly\"] }, \"Travel & Places\": { \"v\": [\"Cestovanie a miesta\"] } } }, { \"l\": \"sl\", \"t\": { \"Activities\": { \"v\": [\"Dejavnosti\"] }, \"Animals & Nature\": { \"v\": [\"Živali in Narava\"] }, \"Custom\": { \"v\": [\"Po meri\"] }, \"Flags\": { \"v\": [\"Zastavice\"] }, \"Food & Drink\": { \"v\": [\"Hrana in Pijača\"] }, \"Frequently used\": { \"v\": [\"Pogostost uporabe\"] }, \"Objects\": { \"v\": [\"Predmeti\"] }, \"People & Body\": { \"v\": [\"Ljudje in Telo\"] }, \"Pick an emoji\": { \"v\": [\"Izbor izrazne ikone\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"Zadetki iskanja\"] }, \"Smileys & Emotion\": { \"v\": [\"Izrazne ikone\"] }, \"Symbols\": { \"v\": [\"Simboli\"] }, \"Travel & Places\": { \"v\": [\"Potovanja in Kraji\"] } } }, { \"l\": \"sq\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"Activities\": { \"v\": [\"Активности\"] }, \"Animals & Nature\": { \"v\": [\"Животиње и природа\"] }, \"Custom\": { \"v\": [\"Произвољно\"] }, \"Dark skin tone\": { \"v\": [\"Тамни тен коже\"] }, \"Emoji picker\": { \"v\": [\"Бирач емођија\"] }, \"Flags\": { \"v\": [\"Заставе\"] }, \"Food & Drink\": { \"v\": [\"Храна и пиће\"] }, \"Frequently used\": { \"v\": [\"Често коришћено\"] }, \"Light skin tone\": { \"v\": [\"Светли тен коже\"] }, \"Medium dark skin tone\": { \"v\": [\"Средње тамни тен коже\"] }, \"Medium light skin tone\": { \"v\": [\"Средње светли тен коже\"] }, \"Medium skin tone\": { \"v\": [\"Средњи тен коже\"] }, \"Neutral skin color\": { \"v\": [\"Неутрална боја коже\"] }, \"Objects\": { \"v\": [\"Предмети\"] }, \"People & Body\": { \"v\": [\"Људи и тело\"] }, \"Pick an emoji\": { \"v\": [\"Изаберите емођи\"] }, \"Search emoji\": { \"v\": [\"Претражи емођи\"] }, \"Search results\": { \"v\": [\"Резултати претраге\"] }, \"Selected\": { \"v\": [\"Изабрано\"] }, \"Skin tone\": { \"v\": [\"Тен коже\"] }, \"Smileys & Emotion\": { \"v\": [\"Смајлији и емоције\"] }, \"Symbols\": { \"v\": [\"Симболи\"] }, \"Travel & Places\": { \"v\": [\"Путовање и места\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"Activities\": { \"v\": [\"Aktiviteter\"] }, \"Animals & Nature\": { \"v\": [\"Djur & Natur\"] }, \"Custom\": { \"v\": [\"Anpassad\"] }, \"Dark skin tone\": { \"v\": [\"Mörk hudton\"] }, \"Emoji picker\": { \"v\": [\"Emoji-väljare\"] }, \"Flags\": { \"v\": [\"Flaggor\"] }, \"Food & Drink\": { \"v\": [\"Mat & Dryck\"] }, \"Frequently used\": { \"v\": [\"Används ofta\"] }, \"Light skin tone\": { \"v\": [\"Ljus hudton\"] }, \"Medium dark skin tone\": { \"v\": [\"Medium mörk hudton\"] }, \"Medium light skin tone\": { \"v\": [\"Medium ljus hudton\"] }, \"Medium skin tone\": { \"v\": [\"Medium hudton\"] }, \"Neutral skin color\": { \"v\": [\"Neutral hudfärg\"] }, \"Objects\": { \"v\": [\"Objekt\"] }, \"People & Body\": { \"v\": [\"Kropp & Själ\"] }, \"Pick an emoji\": { \"v\": [\"Välj en emoji\"] }, \"Search emoji\": { \"v\": [\"Sök emoji\"] }, \"Search results\": { \"v\": [\"Sökresultat\"] }, \"Selected\": { \"v\": [\"Vald\"] }, \"Skin tone\": { \"v\": [\"Hudton\"] }, \"Smileys & Emotion\": { \"v\": [\"Selfies & Känslor\"] }, \"Symbols\": { \"v\": [\"Symboler\"] }, \"Travel & Places\": { \"v\": [\"Resor & Sevärdigheter\"] } } }, { \"l\": \"sw\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"Activities\": { \"v\": [\"Etkinlikler\"] }, \"Animals & Nature\": { \"v\": [\"Hayvanlar ve Doğa\"] }, \"Custom\": { \"v\": [\"Özel\"] }, \"Dark skin tone\": { \"v\": [\"Koyu deri rengi\"] }, \"Emoji picker\": { \"v\": [\"Emoji seçici\"] }, \"Flags\": { \"v\": [\"Bayraklar\"] }, \"Food & Drink\": { \"v\": [\"Yeme ve içme\"] }, \"Frequently used\": { \"v\": [\"Sık kullanılanlar\"] }, \"Light skin tone\": { \"v\": [\"Açık deri rengi\"] }, \"Medium dark skin tone\": { \"v\": [\"Orta koyu deri rengi\"] }, \"Medium light skin tone\": { \"v\": [\"Orta açık deri rengi\"] }, \"Medium skin tone\": { \"v\": [\"Orta deri rengi\"] }, \"Neutral skin color\": { \"v\": [\"Nötr deri rengi\"] }, \"Objects\": { \"v\": [\"Nesneler\"] }, \"People & Body\": { \"v\": [\"İnsanlar ve beden\"] }, \"Pick an emoji\": { \"v\": [\"Bir emoji seçin\"] }, \"Search emoji\": { \"v\": [\"Emoji ara\"] }, \"Search results\": { \"v\": [\"Arama sonuçları\"] }, \"Selected\": { \"v\": [\"Seçilmiş\"] }, \"Skin tone\": { \"v\": [\"Deri rengi\"] }, \"Smileys & Emotion\": { \"v\": [\"İfadeler ve duygular\"] }, \"Symbols\": { \"v\": [\"Simgeler\"] }, \"Travel & Places\": { \"v\": [\"Gezi ve yerler\"] } } }, { \"l\": \"ug\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"Activities\": { \"v\": [\"Діяльність\"] }, \"Animals & Nature\": { \"v\": [\"Тварини та природа\"] }, \"Custom\": { \"v\": [\"Власне\"] }, \"Dark skin tone\": { \"v\": [\"Смаглявий\"] }, \"Emoji picker\": { \"v\": [\"Вибір емоційки\"] }, \"Flags\": { \"v\": [\"Прапори\"] }, \"Food & Drink\": { \"v\": [\"Їжа та напої\"] }, \"Frequently used\": { \"v\": [\"Найчастіші\"] }, \"Light skin tone\": { \"v\": [\"Світла шкіра\"] }, \"Medium dark skin tone\": { \"v\": [\"Какао\"] }, \"Medium light skin tone\": { \"v\": [\"Лате\"] }, \"Medium skin tone\": { \"v\": [\"Середній колір шкіри\"] }, \"Neutral skin color\": { \"v\": [\"Нейтральний колір шкіри\"] }, \"Objects\": { \"v\": [\"Об'єкти\"] }, \"People & Body\": { \"v\": [\"Люди та жести\"] }, \"Pick an emoji\": { \"v\": [\"Виберіть емоційку\"] }, \"Search emoji\": { \"v\": [\"Шукати емоційки\"] }, \"Search results\": { \"v\": [\"Результати пошуку\"] }, \"Selected\": { \"v\": [\"Вибрано\"] }, \"Skin tone\": { \"v\": [\"Колір шкіри\"] }, \"Smileys & Emotion\": { \"v\": [\"Смайли та емоції\"] }, \"Symbols\": { \"v\": [\"Символи\"] }, \"Travel & Places\": { \"v\": [\"Поїздки та місця\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"Activities\": { \"v\": [\"Faolliklar\"] }, \"Animals & Nature\": { \"v\": [\"Hayvonlar va Tabiat\"] }, \"Custom\": { \"v\": [\"Moslashtirilgan\"] }, \"Dark skin tone\": { \"v\": [\"Qora rangdagi qoplama\"] }, \"Emoji picker\": { \"v\": [\"Emoji tanlagich\"] }, \"Flags\": { \"v\": [\"Bayroqlar\"] }, \"Food & Drink\": { \"v\": [\"Oziq-ovqat va ichimliklar\"] }, \"Frequently used\": { \"v\": [\"Tez-tez ishlatiladi\"] }, \"Light skin tone\": { \"v\": [\"Yorug` rangdagi qoplama\"] }, \"Medium dark skin tone\": { \"v\": [\"O`rtacha qorong`u rangdagi qoplama\"] }, \"Medium light skin tone\": { \"v\": [\"O`rtacha yorug`lik rangdagi qoplama\"] }, \"Medium skin tone\": { \"v\": [\"O`rtacha rangdagi qoplama\"] }, \"Neutral skin color\": { \"v\": [\"Neytral rang\"] }, \"Objects\": { \"v\": [\"Obyekt\"] }, \"People & Body\": { \"v\": [\"Odamlar va Tana\"] }, \"Pick an emoji\": { \"v\": [\"Emojini tanlang\"] }, \"Search emoji\": { \"v\": [\"Emoji qidirish\"] }, \"Search results\": { \"v\": [\"Qidiruv natijalari\"] }, \"Selected\": { \"v\": [\"Tanlangan\"] }, \"Skin tone\": { \"v\": [\"Odatiy rangdagi qoplama\"] }, \"Smileys & Emotion\": { \"v\": [\"Smayllar va Hissiyotlar\"] }, \"Symbols\": { \"v\": [\"Belgilar\"] }, \"Travel & Places\": { \"v\": [\"Sayohat va Joylar\"] } } }, { \"l\": \"vi\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"Activities\": { \"v\": [\"活动\"] }, \"Animals & Nature\": { \"v\": [\"动物 & 自然\"] }, \"Custom\": { \"v\": [\"自定义\"] }, \"Dark skin tone\": { \"v\": [\"深色皮肤\"] }, \"Emoji picker\": { \"v\": [\"表情拾取器\"] }, \"Flags\": { \"v\": [\"旗帜\"] }, \"Food & Drink\": { \"v\": [\"食物 & 饮品\"] }, \"Frequently used\": { \"v\": [\"经常使用\"] }, \"Light skin tone\": { \"v\": [\"浅色皮肤\"] }, \"Medium dark skin tone\": { \"v\": [\"中等深色皮肤\"] }, \"Medium light skin tone\": { \"v\": [\"中等浅色皮肤\"] }, \"Medium skin tone\": { \"v\": [\"中等皮肤\"] }, \"Neutral skin color\": { \"v\": [\"中性皮肤颜色\"] }, \"Objects\": { \"v\": [\"物体\"] }, \"People & Body\": { \"v\": [\"人 & 身体\"] }, \"Pick an emoji\": { \"v\": [\"选择一个表情\"] }, \"Search emoji\": { \"v\": [\"搜索表情\"] }, \"Search results\": { \"v\": [\"搜索结果\"] }, \"Selected\": { \"v\": [\"选择\"] }, \"Skin tone\": { \"v\": [\"皮肤\"] }, \"Smileys & Emotion\": { \"v\": [\"笑脸 & 情感\"] }, \"Symbols\": { \"v\": [\"符号\"] }, \"Travel & Places\": { \"v\": [\"旅游 & 地点\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Activities\": { \"v\": [\"活動\"] }, \"Animals & Nature\": { \"v\": [\"動物與自然\"] }, \"Custom\": { \"v\": [\"自定義\"] }, \"Dark skin tone\": { \"v\": [\"深膚色\"] }, \"Emoji picker\": { \"v\": [\"表情符號選擇器\"] }, \"Flags\": { \"v\": [\"旗幟\"] }, \"Food & Drink\": { \"v\": [\"食物與飲料\"] }, \"Frequently used\": { \"v\": [\"經常使用\"] }, \"Light skin tone\": { \"v\": [\"淺膚色\"] }, \"Medium dark skin tone\": { \"v\": [\"中等深膚色\"] }, \"Medium light skin tone\": { \"v\": [\"中等淺膚色\"] }, \"Medium skin tone\": { \"v\": [\"中等膚色\"] }, \"Neutral skin color\": { \"v\": [\"中性色膚色\"] }, \"Objects\": { \"v\": [\"物件\"] }, \"People & Body\": { \"v\": [\"人物\"] }, \"Pick an emoji\": { \"v\": [\"選擇表情符號\"] }, \"Search emoji\": { \"v\": [\"搜尋表情符號\"] }, \"Search results\": { \"v\": [\"搜尋結果\"] }, \"Selected\": { \"v\": [\"已選\"] }, \"Skin tone\": { \"v\": [\"膚色\"] }, \"Smileys & Emotion\": { \"v\": [\"表情\"] }, \"Symbols\": { \"v\": [\"標誌\"] }, \"Travel & Places\": { \"v\": [\"旅遊與景點\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"Activities\": { \"v\": [\"活動\"] }, \"Animals & Nature\": { \"v\": [\"動物與自然\"] }, \"Custom\": { \"v\": [\"自定義\"] }, \"Flags\": { \"v\": [\"旗幟\"] }, \"Food & Drink\": { \"v\": [\"食物與飲料\"] }, \"Frequently used\": { \"v\": [\"最近使用\"] }, \"Objects\": { \"v\": [\"物件\"] }, \"People & Body\": { \"v\": [\"人物\"] }, \"Pick an emoji\": { \"v\": [\"選擇表情符號\"] }, \"Search emoji\": { \"v\": [\"搜尋表情符號\"] }, \"Search results\": { \"v\": [\"搜尋結果\"] }, \"Selected\": { \"v\": [\"已選取\"] }, \"Smileys & Emotion\": { \"v\": [\"表情\"] }, \"Symbols\": { \"v\": [\"標誌\"] }, \"Travel & Places\": { \"v\": [\"旅遊與景點\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"Activities\": { \"v\": [\"\"] }, \"Animals & Nature\": { \"v\": [\"\"] }, \"Custom\": { \"v\": [\"\"] }, \"Flags\": { \"v\": [\"\"] }, \"Food & Drink\": { \"v\": [\"\"] }, \"Frequently used\": { \"v\": [\"\"] }, \"Objects\": { \"v\": [\"\"] }, \"People & Body\": { \"v\": [\"\"] }, \"Pick an emoji\": { \"v\": [\"\"] }, \"Search emoji\": { \"v\": [\"\"] }, \"Search results\": { \"v\": [\"\"] }, \"Smileys & Emotion\": { \"v\": [\"\"] }, \"Symbols\": { \"v\": [\"\"] }, \"Travel & Places\": { \"v\": [\"\"] } } }];\nconst t6 = [{ \"l\": \"af\", \"t\": {} }, { \"l\": \"ar\", \"t\": { \"Add to a project\": { \"v\": [\"أضف إلى مشروع\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"ربط عناصر بمشروع لتسهيل العثور عليها\"] }, \"Failed to add the item to the project\": { \"v\": [\"تعذر ربط عنصر بمشروع\"] }, \"Failed to create a project\": { \"v\": [\"تعذر إنشاء مشروع\"] }, \"Failed to rename the project\": { \"v\": [\"تعذّر تغيير اسم المشروع\"] }, \"Type to search for existing projects\": { \"v\": [\"أكتُب للبحث في المشاريع الموجودة\"] } } }, { \"l\": \"ast\", \"t\": {} }, { \"l\": \"az\", \"t\": {} }, { \"l\": \"be\", \"t\": {} }, { \"l\": \"bg\", \"t\": {} }, { \"l\": \"bn_BD\", \"t\": {} }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"bs\", \"t\": {} }, { \"l\": \"ca\", \"t\": {} }, { \"l\": \"cs\", \"t\": { \"Add to a project\": { \"v\": [\"Přidat do projektu\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Připojte položky k projektu, čímž budou snáze dohledatelné\"] }, \"Failed to add the item to the project\": { \"v\": [\"Položku se nepodařilo přidat do projektu\"] }, \"Failed to create a project\": { \"v\": [\"Projekt se nepodařilo vytvořit\"] }, \"Failed to rename the project\": { \"v\": [\"Projekt se nepodařilo přejmenovat\"] }, \"Type to search for existing projects\": { \"v\": [\"Psaním vyhledávejte existující projekty\"] } } }, { \"l\": \"cs_CZ\", \"t\": {} }, { \"l\": \"cy_GB\", \"t\": {} }, { \"l\": \"da\", \"t\": { \"Add to a project\": { \"v\": [\"Tilføj til et projekt\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Forbind elementer til et projekt for at gøre dem nemmere at finde\"] }, \"Failed to add the item to the project\": { \"v\": [\"Kunne ikke føje elementet til projektet\"] }, \"Failed to create a project\": { \"v\": [\"Kunne ikke oprette et projekt\"] }, \"Failed to rename the project\": { \"v\": [\"Projektet kunne ikke omdøbes\"] }, \"Type to search for existing projects\": { \"v\": [\"Skriv for at søge efter eksisterende projekter\"] } } }, { \"l\": \"de\", \"t\": { \"Add to a project\": { \"v\": [\"Einem Projekt hinzufügen\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Verbinde Elemente mit einem Projekt, um sie leichter zu finden\"] }, \"Failed to add the item to the project\": { \"v\": [\"Das Element konnte nicht zum Projekt hinzugefügt werden\"] }, \"Failed to create a project\": { \"v\": [\"Fehler beim Erstellen eines Projektes\"] }, \"Failed to rename the project\": { \"v\": [\"Fehler beim Umbenennen eines Projektes\"] }, \"Type to search for existing projects\": { \"v\": [\"Tippen, um nach vorhandenen Projekten zu suchen\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Add to a project\": { \"v\": [\"Einem Projekt hinzufügen\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Verbinden Sie Elemente mit einem Projekt, um sie leichter zu finden\"] }, \"Failed to add the item to the project\": { \"v\": [\"Das Element konnte nicht zum Projekt hinzugefügt werden\"] }, \"Failed to create a project\": { \"v\": [\"Fehler beim Erstellen eines Projektes\"] }, \"Failed to rename the project\": { \"v\": [\"Fehler beim Umbenennen eines Projektes\"] }, \"Type to search for existing projects\": { \"v\": [\"Tippen, um nach vorhandenen Projekten zu suchen\"] } } }, { \"l\": \"el\", \"t\": { \"Add to a project\": { \"v\": [\"Προσθήκη σε ένα έργο\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Συνδέστε αντικείμενα σε ένα έργο για να τα βρίσκετε πιο εύκολα\"] }, \"Failed to add the item to the project\": { \"v\": [\"Αποτυχία προσθήκης του αντικειμένου στο έργο\"] }, \"Failed to create a project\": { \"v\": [\"Αποτυχία δημιουργίας έργου\"] }, \"Failed to rename the project\": { \"v\": [\"Αποτυχία μετονομασίας του έργου\"] }, \"Type to search for existing projects\": { \"v\": [\"Πληκτρολογήστε για αναζήτηση υπαρχόντων έργων\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Add to a project\": { \"v\": [\"Add to a project\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Connect items to a project to make them easier to find\"] }, \"Failed to add the item to the project\": { \"v\": [\"Failed to add the item to the project\"] }, \"Failed to create a project\": { \"v\": [\"Failed to create a project\"] }, \"Failed to rename the project\": { \"v\": [\"Failed to rename the project\"] }, \"Type to search for existing projects\": { \"v\": [\"Type to search for existing projects\"] } } }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": {} }, { \"l\": \"es_419\", \"t\": {} }, { \"l\": \"es_AR\", \"t\": { \"Add to a project\": { \"v\": [\"Agregar a un proyecto\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Conecte items a un proyecto para hacerlos más fáciles de encontrar\"] }, \"Failed to add the item to the project\": { \"v\": [\"No se pudo agregar el elemento al proyecto\"] }, \"Failed to create a project\": { \"v\": [\"No se pudo crear un proyecto\"] }, \"Failed to rename the project\": { \"v\": [\"No se pudo renombrar el proyecto\"] }, \"Type to search for existing projects\": { \"v\": [\"Escriba para buscar proyectos existentes\"] } } }, { \"l\": \"es_CL\", \"t\": {} }, { \"l\": \"es_CO\", \"t\": {} }, { \"l\": \"es_CR\", \"t\": {} }, { \"l\": \"es_DO\", \"t\": {} }, { \"l\": \"es_EC\", \"t\": {} }, { \"l\": \"es_GT\", \"t\": {} }, { \"l\": \"es_HN\", \"t\": {} }, { \"l\": \"es_MX\", \"t\": { \"Add to a project\": { \"v\": [\"Agregar a un proyecto\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Conecte elementos a un proyecto para hacerlos más fáciles de encontrar\"] }, \"Failed to add the item to the project\": { \"v\": [\"No se pudo agregar el elemento al proyecto\"] }, \"Failed to create a project\": { \"v\": [\"No se pudo crear el proyecto\"] }, \"Failed to rename the project\": { \"v\": [\"No se pudo renombrar el proyecto\"] }, \"Type to search for existing projects\": { \"v\": [\"Escriba para buscar proyectos existentes\"] } } }, { \"l\": \"es_NI\", \"t\": {} }, { \"l\": \"es_PA\", \"t\": {} }, { \"l\": \"es_PE\", \"t\": {} }, { \"l\": \"es_PR\", \"t\": {} }, { \"l\": \"es_PY\", \"t\": {} }, { \"l\": \"es_SV\", \"t\": {} }, { \"l\": \"es_UY\", \"t\": {} }, { \"l\": \"et_EE\", \"t\": { \"Add to a project\": { \"v\": [\"Lisa projekti\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Selleks, et objekte oleks lihtsam leida, seo nad projektiga\"] }, \"Failed to add the item to the project\": { \"v\": [\"Objekti lisamine projekti ei õnnestunud\"] }, \"Failed to create a project\": { \"v\": [\"Projekti loomine ei õnnestunud\"] }, \"Failed to rename the project\": { \"v\": [\"Projekti nime muutmine ei õnnestunud\"] }, \"Type to search for existing projects\": { \"v\": [\"Olemasolevate projektide otsimiseks kirjuta\"] } } }, { \"l\": \"eu\", \"t\": {} }, { \"l\": \"fa\", \"t\": { \"Add to a project\": { \"v\": [\"افزودن به پروژه\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"برای پیدا کردن راحت‌تر، مواردی را به پروژه متصل کنید\"] }, \"Failed to add the item to the project\": { \"v\": [\"موارد به پروژه اضافه نشد\"] }, \"Failed to create a project\": { \"v\": [\"ایجاد پروژه نامؤفق بود\"] }, \"Failed to rename the project\": { \"v\": [\"تغییر نام پروژه انجام نشد\"] }, \"Type to search for existing projects\": { \"v\": [\"برای جستجوی پروژه‌های موجود تایپ کنید\"] } } }, { \"l\": \"fi\", \"t\": { \"Add to a project\": { \"v\": [\"Lisää projektiin\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Yhdistä kohteet projektiin, jotta ne olisivat helpompia löytää\"] }, \"Failed to add the item to the project\": { \"v\": [\"Kohteiden lisääminen projektiin epäonnistui\"] }, \"Failed to create a project\": { \"v\": [\"Projektin luominen epäonnistui\"] }, \"Failed to rename the project\": { \"v\": [\"Projektin nimeäminen epäonnistui\"] }, \"Type to search for existing projects\": { \"v\": [\"Kirjoita etsiäksesi olemassaolevia projekteja\"] } } }, { \"l\": \"fo\", \"t\": {} }, { \"l\": \"fr\", \"t\": { \"Add to a project\": { \"v\": [\"Ajouter à un projet\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Connectez des éléments à un projet pour les retrouver plus facilement\"] }, \"Failed to add the item to the project\": { \"v\": [\"Impossible d'ajouter l'élément au projet\"] }, \"Failed to create a project\": { \"v\": [\"Impossible de créer un projet\"] }, \"Failed to rename the project\": { \"v\": [\"Impossible de renommer le projet\"] }, \"Type to search for existing projects\": { \"v\": [\"Tapez pour rechercher des projets existants\"] } } }, { \"l\": \"ga\", \"t\": { \"Add to a project\": { \"v\": [\"Cuir le tionscadal\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Ceangail míreanna le tionscadal chun iad a dhéanamh níos éasca iad a aimsiú\"] }, \"Failed to add the item to the project\": { \"v\": [\"Theip ar an mír a chur leis an tionscadal\"] }, \"Failed to create a project\": { \"v\": [\"Theip ar thionscadal a chruthú\"] }, \"Failed to rename the project\": { \"v\": [\"Theip ar an tionscadal a athainmniú\"] }, \"Type to search for existing projects\": { \"v\": [\"Clóscríobh chun tionscadail atá ann cheana a chuardach\"] } } }, { \"l\": \"gd\", \"t\": {} }, { \"l\": \"gl\", \"t\": { \"Add to a project\": { \"v\": [\"Engadir a un proxecto\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Conectar elementos a un proxecto para facelos máis doados de atopar\"] }, \"Failed to add the item to the project\": { \"v\": [\"Produciuse un fallo ao engadir o elemento ao proxecto\"] }, \"Failed to create a project\": { \"v\": [\"Produciuse un fallo ao crear un proxecto\"] }, \"Failed to rename the project\": { \"v\": [\"Produciuse un fallo ao cambiarlle o nome ao proxecto\"] }, \"Type to search for existing projects\": { \"v\": [\"Escriba para buscar proxectos existentes\"] } } }, { \"l\": \"he\", \"t\": {} }, { \"l\": \"hi_IN\", \"t\": {} }, { \"l\": \"hr\", \"t\": {} }, { \"l\": \"hsb\", \"t\": {} }, { \"l\": \"hu\", \"t\": {} }, { \"l\": \"hy\", \"t\": {} }, { \"l\": \"ia\", \"t\": {} }, { \"l\": \"id\", \"t\": {} }, { \"l\": \"ig\", \"t\": {} }, { \"l\": \"is\", \"t\": { \"Add to a project\": { \"v\": [\"Bæta við verkefni\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Tengdu atriði við verkefni til að gera einfaldara að finna þau\"] }, \"Failed to add the item to the project\": { \"v\": [\"Mistókst að bæta atriðinu í verkefnið\"] }, \"Failed to create a project\": { \"v\": [\"Mistókst að útbúa verkefni\"] }, \"Failed to rename the project\": { \"v\": [\"Mistókst að endurnefna verkefnið\"] }, \"Type to search for existing projects\": { \"v\": [\"Skrifaðu hér til að leita að fyrirliggjandi verkefnum\"] } } }, { \"l\": \"it\", \"t\": {} }, { \"l\": \"ja\", \"t\": { \"Add to a project\": { \"v\": [\"プロジェクトに追加する\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"項目をプロジェクトに接続して検索しやすくする\"] }, \"Failed to add the item to the project\": { \"v\": [\"プロジェクトへのアイテムの追加に失敗しました\"] }, \"Failed to create a project\": { \"v\": [\"プロジェクトの作成に失敗しました\"] }, \"Failed to rename the project\": { \"v\": [\"プロジェクトの名前変更に失敗しました\"] }, \"Type to search for existing projects\": { \"v\": [\"既存のプロジェクトを検索するために入力します\"] } } }, { \"l\": \"ja_JP\", \"t\": {} }, { \"l\": \"ka\", \"t\": {} }, { \"l\": \"ka_GE\", \"t\": {} }, { \"l\": \"kab\", \"t\": {} }, { \"l\": \"kk\", \"t\": {} }, { \"l\": \"km\", \"t\": {} }, { \"l\": \"kn\", \"t\": {} }, { \"l\": \"ko\", \"t\": { \"Add to a project\": { \"v\": [\"프로젝트에 추가\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"항목을 더 쉽게 찾을 수 있도록 프로젝트에 연결하세요.\"] }, \"Failed to add the item to the project\": { \"v\": [\"항목을 프로젝트에 추가하는 데 실패함\"] }, \"Failed to create a project\": { \"v\": [\"프로젝트를 만드는 데 실패함\"] }, \"Failed to rename the project\": { \"v\": [\"프로젝트의 이름을 바꾸는 데 실패함\"] }, \"Type to search for existing projects\": { \"v\": [\"입력하여 프로젝트를 검색\"] } } }, { \"l\": \"la\", \"t\": {} }, { \"l\": \"lb\", \"t\": {} }, { \"l\": \"lo\", \"t\": {} }, { \"l\": \"lt_LT\", \"t\": {} }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": {} }, { \"l\": \"mn\", \"t\": {} }, { \"l\": \"mr\", \"t\": {} }, { \"l\": \"ms_MY\", \"t\": {} }, { \"l\": \"my\", \"t\": {} }, { \"l\": \"nb\", \"t\": { \"Add to a project\": { \"v\": [\"Legge til i et prosjekt\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Koble elementer til et prosjekt for å gjøre det enklere å finne dem\"] }, \"Failed to add the item to the project\": { \"v\": [\"Kan ikke legge til elementet i prosjektet\"] }, \"Failed to create a project\": { \"v\": [\"Kan ikke opprette et prosjekt\"] }, \"Failed to rename the project\": { \"v\": [\"Kunne ikke gi prosjektet nytt navn\"] }, \"Type to search for existing projects\": { \"v\": [\"Skriv for å søke for eksisterende prosjekter\"] } } }, { \"l\": \"ne\", \"t\": {} }, { \"l\": \"nl\", \"t\": { \"Add to a project\": { \"v\": [\"Toevoegen aan een project\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Vebind items aan een project zodat ze eenvoudiger te vinden zijn\"] }, \"Failed to add the item to the project\": { \"v\": [\"Toevoegen van item aan project mislukt\"] }, \"Failed to create a project\": { \"v\": [\"Aanmaken project mislukt\"] }, \"Failed to rename the project\": { \"v\": [\"Hernoemen project mislukt\"] }, \"Type to search for existing projects\": { \"v\": [\"Type om naar bestaande projecten te zoeken\"] } } }, { \"l\": \"nn_NO\", \"t\": {} }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"Add to a project\": { \"v\": [\"Dodaj do projektu\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Połącz elementy z projektem, aby ułatwić ich znalezienie\"] }, \"Failed to add the item to the project\": { \"v\": [\"Nie udało się dodać elementu do projektu\"] }, \"Failed to create a project\": { \"v\": [\"Nie udało się utworzyć projektu\"] }, \"Failed to rename the project\": { \"v\": [\"Nie udało się zmienić nazwy projektu\"] }, \"Type to search for existing projects\": { \"v\": [\"Wpisz, aby wyszukać istniejące projekty\"] } } }, { \"l\": \"ps\", \"t\": {} }, { \"l\": \"pt_BR\", \"t\": { \"Add to a project\": { \"v\": [\"Adicionar a um projeto\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Conectar itens a um projeto para encontrá-los mais facilmente\"] }, \"Failed to add the item to the project\": { \"v\": [\"Falha ao adicionar itens ao projeto\"] }, \"Failed to create a project\": { \"v\": [\"Falha ao criar um projeto\"] }, \"Failed to rename the project\": { \"v\": [\"Falha ao renomear o projeto\"] }, \"Type to search for existing projects\": { \"v\": [\"Digite para pesquisar por projetos existentes\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Add to a project\": { \"v\": [\"Adicionar a um projeto\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Ligar itens a um projeto para serem mais facilmente encontrados\"] }, \"Failed to add the item to the project\": { \"v\": [\"Não foi possível adicionar item ao projeto\"] }, \"Failed to create a project\": { \"v\": [\"Não foi possível criar um projeto\"] }, \"Failed to rename the project\": { \"v\": [\"Não foi possível alterar o nome do projeto\"] }, \"Type to search for existing projects\": { \"v\": [\"Digite para procurar projetos existentes\"] } } }, { \"l\": \"ro\", \"t\": {} }, { \"l\": \"ru\", \"t\": { \"Add to a project\": { \"v\": [\"Добавить в проект\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Подключайте элементы к проекту, чтобы их было легче найти\"] }, \"Failed to add the item to the project\": { \"v\": [\"Не удалось добавить элемент в проект\"] }, \"Failed to create a project\": { \"v\": [\"Не удалось создать проект\"] }, \"Failed to rename the project\": { \"v\": [\"Не удалось переименовать проект\"] }, \"Type to search for existing projects\": { \"v\": [\"Введите для поиска существующих проектов\"] } } }, { \"l\": \"sc\", \"t\": {} }, { \"l\": \"si\", \"t\": {} }, { \"l\": \"sk\", \"t\": { \"Add to a project\": { \"v\": [\"Pridať do projektu\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Pridať položky do projektu pre jednoduchšie vyhľadávanie\"] }, \"Failed to add the item to the project\": { \"v\": [\"Nepodarilo sa pridať položku do projektu\"] }, \"Failed to create a project\": { \"v\": [\"Nepodarilo sa vytvoriť projekt\"] }, \"Failed to rename the project\": { \"v\": [\"Nepodarilo sa premenovať projekt\"] }, \"Type to search for existing projects\": { \"v\": [\"Začnite písať pre vyhľadávanie v existujúcich projektoch\"] } } }, { \"l\": \"sl\", \"t\": {} }, { \"l\": \"sq\", \"t\": {} }, { \"l\": \"sr\", \"t\": { \"Add to a project\": { \"v\": [\"Додај у пројекат\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Повезује ставке у пројекат како би се лакше пронашле\"] }, \"Failed to add the item to the project\": { \"v\": [\"Није успело додавање ставке у пројекат\"] }, \"Failed to create a project\": { \"v\": [\"Није успело креирање пројекта\"] }, \"Failed to rename the project\": { \"v\": [\"Није успела промена имена пројекта\"] }, \"Type to search for existing projects\": { \"v\": [\"Куцајте да претражите постојеће пројекте\"] } } }, { \"l\": \"sr@latin\", \"t\": {} }, { \"l\": \"sv\", \"t\": { \"Add to a project\": { \"v\": [\"Lägg till i ett projekt\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Anslut objekt till ett projekt för att göra dem lättare att hitta\"] }, \"Failed to add the item to the project\": { \"v\": [\"Det gick inte att lägga till objektet i projektet\"] }, \"Failed to create a project\": { \"v\": [\"Det gick inte att skapa ett projekt\"] }, \"Failed to rename the project\": { \"v\": [\"Kunde inte byta namn på projektet\"] }, \"Type to search for existing projects\": { \"v\": [\"Skriv för att söka efter befintliga projekt\"] } } }, { \"l\": \"sw\", \"t\": {} }, { \"l\": \"ta\", \"t\": {} }, { \"l\": \"th\", \"t\": {} }, { \"l\": \"tk\", \"t\": {} }, { \"l\": \"tr\", \"t\": { \"Add to a project\": { \"v\": [\"Bir projeye ekle\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Ögeleri daha kolay bulmak için bir proje ile ilişkilendirin\"] }, \"Failed to add the item to the project\": { \"v\": [\"Öge projeye eklenemedi\"] }, \"Failed to create a project\": { \"v\": [\"Bir proje oluşturulamadı\"] }, \"Failed to rename the project\": { \"v\": [\"Proje yeniden adlandırılamadı\"] }, \"Type to search for existing projects\": { \"v\": [\"Var olan projeleri aramak için yazmaya başlayın\"] } } }, { \"l\": \"ug\", \"t\": {} }, { \"l\": \"uk\", \"t\": { \"Add to a project\": { \"v\": [\"Додати др проєкту\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Приєднайте ресурси до проєкту для швидшого пошуку\"] }, \"Failed to add the item to the project\": { \"v\": [\"Не вдалося приєднати ресурс до проєкту\"] }, \"Failed to create a project\": { \"v\": [\"Не вдалося створити проєкт\"] }, \"Failed to rename the project\": { \"v\": [\"Не вдалося перейменувати проєкт\"] }, \"Type to search for existing projects\": { \"v\": [\"Почніть вводити, щоб знайти проєкт\"] } } }, { \"l\": \"ur_PK\", \"t\": {} }, { \"l\": \"uz\", \"t\": { \"Add to a project\": { \"v\": [\"Loyihaga qo'shish\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"Elementlarni topishni osonlashtirish uchun ularni loyihaga ulang\"] }, \"Failed to add the item to the project\": { \"v\": [\"Ob'ektni loyihaga qo'shib bo'lmadi\"] }, \"Failed to create a project\": { \"v\": [\"Loyiha yaratib bo‘lmadi\"] }, \"Failed to rename the project\": { \"v\": [\"Loyiha nomini o‘zgartirib bo‘lmadi\"] }, \"Type to search for existing projects\": { \"v\": [\"Mavjud loyihalarni qidirish uchun kiriting\"] } } }, { \"l\": \"vi\", \"t\": {} }, { \"l\": \"zh_CN\", \"t\": { \"Add to a project\": { \"v\": [\"添加至一个项目\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"将条目连接至一个项目以易于查找\"] }, \"Failed to add the item to the project\": { \"v\": [\"添加条目至项目失败\"] }, \"Failed to create a project\": { \"v\": [\"创建项目失败\"] }, \"Failed to rename the project\": { \"v\": [\"重命名项目失败\"] }, \"Type to search for existing projects\": { \"v\": [\"输入以搜索现存项目\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Add to a project\": { \"v\": [\"添加到方案中\"] }, \"Connect items to a project to make them easier to find\": { \"v\": [\"將項目連接到方案中,以便更容易找到。\"] }, \"Failed to add the item to the project\": { \"v\": [\"無法將項目添加到方案中\"] }, \"Failed to create a project\": { \"v\": [\"無法創建方案\"] }, \"Failed to rename the project\": { \"v\": [\"無法重命名方案\"] }, \"Type to search for existing projects\": { \"v\": [\"輸入以搜索現有方案\"] } } }, { \"l\": \"zh_TW\", \"t\": {} }, { \"l\": \"zu_ZA\", \"t\": {} }];\nconst t7 = [{ \"l\": \"af\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"Any link\": { \"v\": [\"أيَّ رابط\"] } } }, { \"l\": \"ast\", \"t\": { \"Any link\": { \"v\": [\"Cualesquier enllaz\"] } } }, { \"l\": \"az\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"bs\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"cs\", \"t\": { \"Any link\": { \"v\": [\"Jakýkoli odkaz\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"Any link\": { \"v\": [\"Jakýkoli odkaz\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"Any link\": { \"v\": [\"Ethvert link\"] } } }, { \"l\": \"de\", \"t\": { \"Any link\": { \"v\": [\"Irgendein Link\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Any link\": { \"v\": [\"Irgendein Link\"] } } }, { \"l\": \"el\", \"t\": { \"Any link\": { \"v\": [\"Οποιοσδήποτε σύνδεσμος\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Any link\": { \"v\": [\"Any link\"] } } }, { \"l\": \"eo\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"es\", \"t\": { \"Any link\": { \"v\": [\"Cualquier enlace\"] } } }, { \"l\": \"es_419\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"Any link\": { \"v\": [\"Cualquier enlace\"] } } }, { \"l\": \"es_CL\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"Any link\": { \"v\": [\"Cualquier enlace\"] } } }, { \"l\": \"es_GT\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"Any link\": { \"v\": [\"Cualquier enlace\"] } } }, { \"l\": \"es_NI\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"Any link\": { \"v\": [\"Mistahes link\"] } } }, { \"l\": \"eu\", \"t\": { \"Any link\": { \"v\": [\"Edozein esteka\"] } } }, { \"l\": \"fa\", \"t\": { \"Any link\": { \"v\": [\"هر پیوندی\"] } } }, { \"l\": \"fi\", \"t\": { \"Any link\": { \"v\": [\"Mikä tahansa linkki\"] } } }, { \"l\": \"fo\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"Any link\": { \"v\": [\"N'importe quel lien\"] } } }, { \"l\": \"ga\", \"t\": { \"Any link\": { \"v\": [\"Aon nasc\"] } } }, { \"l\": \"gd\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"Any link\": { \"v\": [\"Calquera ligazón\"] } } }, { \"l\": \"he\", \"t\": { \"Any link\": { \"v\": [\"קישור כלשהו\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"hy\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"Any link\": { \"v\": [\"Semua tautan\"] } } }, { \"l\": \"ig\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"Any link\": { \"v\": [\"Einhver tengill\"] } } }, { \"l\": \"it\", \"t\": { \"Any link\": { \"v\": [\"Qualsiasi link\"] } } }, { \"l\": \"ja\", \"t\": { \"Any link\": { \"v\": [\"任意のリンク\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"Any link\": { \"v\": [\"任意のリンク\"] } } }, { \"l\": \"ka\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"Any link\": { \"v\": [\"아무 링크\"] } } }, { \"l\": \"la\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"lv\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"mk\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"mn\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"nb\", \"t\": { \"Any link\": { \"v\": [\"Enhver lenke\"] } } }, { \"l\": \"ne\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"Any link\": { \"v\": [\"Elke link\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"pl\", \"t\": { \"Any link\": { \"v\": [\"Dowolny link\"] } } }, { \"l\": \"ps\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"Any link\": { \"v\": [\"Qualquer link\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Any link\": { \"v\": [\"Qualquer hiperligação\"] } } }, { \"l\": \"ro\", \"t\": { \"Any link\": { \"v\": [\"Orice link\"] } } }, { \"l\": \"ru\", \"t\": { \"Any link\": { \"v\": [\"Любая ссылка\"] } } }, { \"l\": \"sc\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"Any link\": { \"v\": [\"Akýkoľvek odkaz\"] } } }, { \"l\": \"sl\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"sq\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"Any link\": { \"v\": [\"Било који линк\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"Any link\": { \"v\": [\"Vilken länk som helst\"] } } }, { \"l\": \"sw\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"Any link\": { \"v\": [\"Herhangi bir bağlantı\"] } } }, { \"l\": \"ug\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"Any link\": { \"v\": [\"Будь-яке посилання\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"Any link\": { \"v\": [\"Har qanday havola\"] } } }, { \"l\": \"vi\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"Any link\": { \"v\": [\"任何链接\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Any link\": { \"v\": [\"任何連結\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"Any link\": { \"v\": [\"任何連結\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"Any link\": { \"v\": [\"\"] } } }];\nconst t8 = [{ \"l\": \"af\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"أيّ مادة تمت مشاركتها مع نفس المجموعة من الأشخاص سيتم عرضها هنا\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"خطأ في الحصول على الموارد ذات الصلة. يرجى الاتصال بمشرف النظام عندك إذا كان لديك أيّ أسئلة.\"] }, \"Related resources\": { \"v\": [\"مصادر ذات صلة\"] } } }, { \"l\": \"ast\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Equí va apaecer tolo que compartas col mesmu grupu de persones\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Hebo un error al consiguir los recursos rellacionaos. Ponte en contautu col alministrador del sistema si tienes dalguna entruga.\"] }, \"Related resources\": { \"v\": [\"Recursos rellacionao\"] } } }, { \"l\": \"az\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"bs\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Qualsevol cosa compartida amb el mateix grup de persones es mostrarà aquí\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"Recursos relacionats\"] } } }, { \"l\": \"cs\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Cokoli nasdíleného stejné skupině lidí se zobrazí zde\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Chyba při získávání souvisejících prostředků. Pokud máte jakékoli dotazy, obraťte se na správce vámi využívaného systému.\"] }, \"Related resources\": { \"v\": [\"Související prostředky\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Cokoli nasdíleného stejné skupině lidí se zobrazí zde\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Chyba při získávání souvisejících prostředků. Pokud máte jakékoli dotazy, obraťte se na správce vámi využívaného systému.\"] }, \"Related resources\": { \"v\": [\"Související prostředky\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Alt der deles med samme gruppe af personer vil vises her\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Fejl ved hentning af relaterede ressourcer. Kontakt venligst din systemadministrator, hvis du har spørgsmål.\"] }, \"Related resources\": { \"v\": [\"Relaterede emner\"] } } }, { \"l\": \"de\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Alles, das mit derselben Gruppe von Personen geteilt wird, wird hier angezeigt\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Fehler beim Abrufen verwandter Ressourcen. Bei Fragen wende dich bitte an deinen Systemadministrator.\"] }, \"Related resources\": { \"v\": [\"Verwandte Ressourcen\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Alles, das mit derselben Gruppe von Personen geteilt wird, wird hier angezeigt\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Fehler beim Abrufen verwandter Ressourcen. Bei Fragen wenden Sie sich bitte an Ihre Systemadministration.\"] }, \"Related resources\": { \"v\": [\"Verwandte Ressourcen\"] } } }, { \"l\": \"el\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Οτιδήποτε μοιράζεται με την ίδια ομάδα ατόμων θα εμφανίζεται εδώ\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Σφάλμα λήψης σχετικών πόρων. Παρακαλούμε επικοινωνήστε με τον διαχειριστή του συστήματός σας εάν έχετε οποιεσδήποτε ερωτήσεις.\"] }, \"Related resources\": { \"v\": [\"Σχετικοί πόροι\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Anything shared with the same group of people will show up here\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Error getting related resources. Please contact your system administrator if you have any questions.\"] }, \"Related resources\": { \"v\": [\"Related resources\"] } } }, { \"l\": \"eo\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"es\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Cualquier cosa que esté compartida con el mismo grupo de personas se mostrará aquí\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Error al obtener recursos relacionados. Por favor, contacte a su administrador del sistema si tiene alguna pregunta.\"] }, \"Related resources\": { \"v\": [\"Recursos relacionados\"] } } }, { \"l\": \"es_419\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Cualquier cosa compartida con el mismo grupo de personas aparecerá aquí.\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Error al obtener recursos relacionados. Por favor, contacte a su administrador del sistema si tiene alguna pregunta.\"] }, \"Related resources\": { \"v\": [\"Recursos relacionados\"] } } }, { \"l\": \"es_CL\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Cualquier cosa compartida con el mismo grupo de personas aparecerá aquí.\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Error al obtener recursos relacionados. Por favor, contacta a tu administrador del sistema si tienes alguna pregunta.\"] }, \"Related resources\": { \"v\": [\"Recursos relacionados\"] } } }, { \"l\": \"es_GT\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Todo lo que se comparta con el mismo grupo de personas se mostrará aquí\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Error al obtener recursos relacionados. Por favor contacte al administrador si tiene alguna pregunta.\"] }, \"Related resources\": { \"v\": [\"Recursos relacionados\"] } } }, { \"l\": \"es_NI\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Kõik, mida jagatakse sama grupi inimestega, kuvatakse siin.\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Viga seotud ressursside saamisel. Küsimuste korral võtke ühendust oma süsteemiadministraatoriga.\"] }, \"Related resources\": { \"v\": [\"Seotud ressursid\"] } } }, { \"l\": \"eu\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Pertsona-talde berarekin partekatutako edozer agertuko da hemen\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Errore bat gertatu da erlazionatutako baliabideak eskuratzean. Jarri harremanetan zure sistemaren administratzailearekin galderarik baduzu.\"] }, \"Related resources\": { \"v\": [\"Erlazionatutako baliabideak\"] } } }, { \"l\": \"fa\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"هر چیزی که با گروه مشابهی هم‌رسانی شود در این قسمت نمایش می‌یابد\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"خطا در دریافت منابع مرتبط. لطفاً در صورت داشتن هر گونه سؤال با مدیر سیستم خود تماس بگیرید.\"] }, \"Related resources\": { \"v\": [\"منابع مرتبط\"] } } }, { \"l\": \"fi\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Kaikki saman ryhmän kesken jaettu näkyy tässä\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Virhe resurssien haussa. Ota yhteyttä järjestelmän ylläpitäjään, mikäli sinulla on kysyttävää.\"] }, \"Related resources\": { \"v\": [\"Liittyvät resurssit\"] } } }, { \"l\": \"fo\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Tout ce qui est partagé avec le même groupe de personnes apparaîtra ici\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Erreur lors de la récupération des ressources liées. Contactez votre administrateur système pour répondre à vos éventuelles questions.\"] }, \"Related resources\": { \"v\": [\"Ressources liées\"] } } }, { \"l\": \"ga\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Taispeánfar aon rud a roinntear leis an ngrúpa céanna daoine anseo\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Earráid agus acmhainní gaolmhara á bhfáil. Déan teagmháil le riarthóir do chórais má tá aon cheist agat.\"] }, \"Related resources\": { \"v\": [\"Acmhainní gaolmhara\"] } } }, { \"l\": \"gd\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Todo o que se comparta co mesmo grupo de persoas aparecerá aquí\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Produciuse un erro ao obter os recursos relacionados. Póñase en contacto coa administración do seu sistema se ten algunha dúbida.\"] }, \"Related resources\": { \"v\": [\"Recursos relacionados\"] } } }, { \"l\": \"he\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"כל מה שמשותף עם אותה קבוצת האנשים יופיע כאן\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"שגיאה בקבלת המשאבים הקשורים. נא ליצור קשר עם הנהלת המערכת אם יש לך שאלות.\"] }, \"Related resources\": { \"v\": [\"משאבים קשורים\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Minden, amit ugyanazzal a csoporttal oszt meg, itt fog megjelenni\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"Kapcsolódó erőforrások\"] } } }, { \"l\": \"hy\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Apa pun yang dibagikan dengan grup orang yang sama akan muncul di sini\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Kesalahan saat mengambil sumber daya terkait. Hubungi administrator sistem Anda jika ada pertanyaan.\"] }, \"Related resources\": { \"v\": [\"Sumber daya terkait\"] } } }, { \"l\": \"ig\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Allt sem deilt er með sama hópi fólks mun birtast hér\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Villa við að sækja tengd tilföng. Hafðu samband við kerfisstjórann þinn ef þú ert með einhverjar spurningar.\"] }, \"Related resources\": { \"v\": [\"Tengd tilföng\"] } } }, { \"l\": \"it\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Tutto ciò che è stato condiviso con lo stesso gruppo di persone viene visualizzato qui\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Errore nell'ottenere le risorse correlate. Per qualsiasi domanda, contattare l'amministratore di sistema.\"] }, \"Related resources\": { \"v\": [\"Risorse correlate\"] } } }, { \"l\": \"ja\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"同じグループで共有しているものは、全てここに表示されます\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"関連リソースの取得エラー。ご不明な点がございましたら、システム管理者にお問い合わせください。\"] }, \"Related resources\": { \"v\": [\"関連リソース\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"同じグループで共有しているものは、全てここに表示されます\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"関連リソースの取得エラー。ご不明な点がございましたら、システム管理者にお問い合わせください。\"] }, \"Related resources\": { \"v\": [\"関連リソース\"] } } }, { \"l\": \"ka\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"같은 그룹의 사용자와 공유된 모든 것들이 이곳에 나타납니다.\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"관련 리소스를 가져오는 중 오류가 발생했습니다. 궁금한 것이 있는 경우 시스템 관리자에게 연락해 주세요.\"] }, \"Related resources\": { \"v\": [\"관련 리소스\"] } } }, { \"l\": \"la\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"lv\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"mk\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"mn\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"nb\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Alt som er delt med den samme gruppen vil vises her\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Feil ved henting av relaterte ressurser. Kontakt systemansvarlig hvis du har spørsmål.\"] }, \"Related resources\": { \"v\": [\"Relaterte ressurser\"] } } }, { \"l\": \"ne\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Alles dat gedeeld is met dezelfde groep mensen zal hier getoond worden\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Fout bij het verkrijgen van resources. Neem a.u.b. contact op met uw systeembeheerder als u vragen heeft.\"] }, \"Related resources\": { \"v\": [\"Gerelateerde bronnen\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"pl\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Tutaj pojawi się wszystko, co zostało udostępnione tej samej grupie osób\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Błąd podczas pobierania powiązanych zasobów. Jeśli masz jakiekolwiek pytania, skontaktuj się z administratorem systemu.\"] }, \"Related resources\": { \"v\": [\"Powiązane zasoby\"] } } }, { \"l\": \"ps\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Qualquer coisa compartilhada com o mesmo grupo de pessoas aparecerá aqui\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Erro ao obter recursos relacionados. Por favor entre em contato com o administrador do sistema se tiver alguma dúvida.\"] }, \"Related resources\": { \"v\": [\"Recursos relacionados\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Qualquer coisa partilhada com o mesmo grupo de pessoas irá aparecer aqui\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Erro ao obter os recursos relacionados. Por favor, contacte o administrador do sistema se tiver quaisquer perguntas.\"] }, \"Related resources\": { \"v\": [\"Recursos relacionados\"] } } }, { \"l\": \"ro\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Tot ceea ce este partajat cu același grup de persoane va fi afișat aici\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Eroare la preluarea resurselor adiționale. Vă rugăm să contactați administratorul pentru întrebări.\"] }, \"Related resources\": { \"v\": [\"Resurse legate\"] } } }, { \"l\": \"ru\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Всё, чем поделились с той же группой людей, будет отображаться здесь\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Ошибка при получении связанных ресурсов. Если у вас есть какие-либо вопросы, обратитесь к системному администратору.\"] }, \"Related resources\": { \"v\": [\"Связанные ресурсы\"] } } }, { \"l\": \"sc\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Tu sa zobrazí čokoľvek zdieľané s rovnakou skupinou ľudí\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Chyba pri získavaní súvisiacich zdrojov. V prípade otázok kontaktujte prosím svojho systemového administrátora.\"] }, \"Related resources\": { \"v\": [\"Súvisiace zdroje\"] } } }, { \"l\": \"sl\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"Povezani viri\"] } } }, { \"l\": \"sq\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Све што се дели са истом групом људи ће се појавити овде\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Грешка код прибављања везаних ресурса. Молимо вас да се обратите администратору ако имате питања.\"] }, \"Related resources\": { \"v\": [\"Повезани ресурси\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Något som delats med samma grupp av personer kommer att visas här\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Det gick inte att hämta relaterade resurser. Kontakta din systemadministratör om du har några frågor.\"] }, \"Related resources\": { \"v\": [\"Relaterade resurser\"] } } }, { \"l\": \"sw\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Aynı kişi grubu ile paylaşılan herşey burada görüntülenir\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"İlgili kaynaklara ulaşılırken sorun çıktı. Herhangi bir sorunuz varsa lütfen sistem yöneticiniz ile görüşün \"] }, \"Related resources\": { \"v\": [\"İlgili kaynaklar\"] } } }, { \"l\": \"ug\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Будь-що доступне для цієї же групи людей буде показано тут\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Помилка під час отримання пов'язаних ресурсів. Будь ласка, сконтактуйте з системним адміністратором, якщо у вас виникли запитання.\"] }, \"Related resources\": { \"v\": [\"Пов'язані ресурси\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"Xuddi shu guruhdagi odamlarga ulashilgan hamma narsa shu yerda chiqadi\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"Tegishli manbalarni olishda xatolik yuz berdi. Savollaringiz bo'lsa, tizim administratoriga murojaat qiling.\"] }, \"Related resources\": { \"v\": [\"Tegishli manbalar\"] } } }, { \"l\": \"vi\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"与同组用户分享的所有内容都会显示于此\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"获取相关资源出现错误。如果你有任何问题,请联系系统管理员。\"] }, \"Related resources\": { \"v\": [\"相关资源\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"與同一組人共享的任何內容都會顯示在此處\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"取得相關資源時發生錯誤。如果有任何問題,請聯絡系統管理員。\"] }, \"Related resources\": { \"v\": [\"相關資源\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"與相同群組分享的所有內容都會顯示於此\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"取得相關資源時發生錯誤。如果有任何問題,請聯絡系統管理員。\"] }, \"Related resources\": { \"v\": [\"相關資源\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"Anything shared with the same group of people will show up here\": { \"v\": [\"\"] }, \"Error getting related resources. Please contact your system administrator if you have any questions.\": { \"v\": [\"\"] }, \"Related resources\": { \"v\": [\"\"] } } }];\nconst t9 = [{ \"l\": \"af\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"صورة الملف الشخصي الرمزية لــ {displayName} \"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"صورة الملف الشخصي الرمزية لــ {displayName}، {status}\"] } } }, { \"l\": \"ast\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar de: {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar de: {displayName}, {status}\"] } } }, { \"l\": \"az\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"bs\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar de {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar de {displayName}, {status}\"] } } }, { \"l\": \"cs\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Zástupný obrázek uživatele {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Zástupný obrázek uživatele {displayName}, {status}\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Zástupný obrázek uživatele {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Zástupný obrázek uživatele {displayName}, {status}\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar af {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar af {displayName}, {status}\"] } } }, { \"l\": \"de\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar von {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar von {displayName}, {status}\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar von {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar von {displayName}, {status}\"] } } }, { \"l\": \"el\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Άβαταρ του {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Άβαταρ του {displayName}, {status}\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar of {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar of {displayName}, {status}\"] } } }, { \"l\": \"eo\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"es\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar de {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar de {displayName}, {status}\"] } } }, { \"l\": \"es_419\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar de {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar de {displayName}, {status}\"] } } }, { \"l\": \"es_CL\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar de {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar de {displayName}, {status}\"] } } }, { \"l\": \"es_GT\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar de {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar de {displayName}, {status}\"] } } }, { \"l\": \"es_NI\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar {displayName}, {status}\"] } } }, { \"l\": \"eu\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"{displayName}-(e)n irudia\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"{displayName} -(e)n irudia, {status}\"] } } }, { \"l\": \"fa\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"آواتار {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"آواتار {displayName} ، {status}\"] } } }, { \"l\": \"fi\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"{displayName}n avatar\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"{displayName}n avatar, {status}\"] } } }, { \"l\": \"fo\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar de {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar de {displayName}, {status}\"] } } }, { \"l\": \"ga\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar de {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar de {displayName}, {status}\"] } } }, { \"l\": \"gd\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar de {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar de {displayName}, {status}\"] } } }, { \"l\": \"he\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"תמונה ייצוגית של {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"תמונה ייצוגית של {displayName}, {status}\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"{displayName} profilképe\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"{displayName} profilképe, {status}\"] } } }, { \"l\": \"hy\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar {displayName}, {status}\"] } } }, { \"l\": \"ig\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Auðkennismynd fyrir {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Auðkennismynd fyrir {displayName}, {status}\"] } } }, { \"l\": \"it\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar di {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar di {displayName}, {status}\"] } } }, { \"l\": \"ja\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"{displayName} のアバター\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"{displayName}, {status} のアバター\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"{displayName} のアバター\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"{displayName}, {status} のアバター\"] } } }, { \"l\": \"ka\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"{displayName}님의 아바타\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"{displayName}, {status}님의 아바타\"] } } }, { \"l\": \"la\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"lv\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"mk\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Аватар на {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Аватар на {displayName}, {status}\"] } } }, { \"l\": \"mn\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"{displayName} ၏ ကိုယ်ပွား\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"nb\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avataren til {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"{displayName}'s avatar, {status}\"] } } }, { \"l\": \"ne\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar van {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar van {displayName}, {status}\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"pl\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Awatar {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Awatar {displayName}, {status}\"] } } }, { \"l\": \"ps\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar de {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar de {displayName}, {status}\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar de {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar de {displayName}, {status}\"] } } }, { \"l\": \"ro\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatarul lui {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatarul lui {displayName}, {status}\"] } } }, { \"l\": \"ru\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Аватар {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Фотография {displayName}, {status}\"] } } }, { \"l\": \"sc\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Avatar {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar {displayName}, {status}\"] } } }, { \"l\": \"sl\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Podoba {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Prikazna slika {displayName}, {status}\"] } } }, { \"l\": \"sq\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Аватар за {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Avatar za {displayName}, {status}\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"{displayName}s avatar\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"{displayName}s avatar, {status}\"] } } }, { \"l\": \"sw\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"{displayName} avatarı\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"{displayName}, {status} avatarı\"] } } }, { \"l\": \"ug\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"Аватар {displayName}\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"Аватар {displayName}, {status}\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\" {displayName}Avatari\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"{displayName}, {status} Avatari\"] } } }, { \"l\": \"vi\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"{displayName}的头像\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"{displayName}的头像,{status}\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"{displayName} 的頭像\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"{displayName} 的頭像,{status}\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"{displayName} 的大頭照\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"{displayName}, {status} 的大頭照\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"Avatar of {displayName}\": { \"v\": [\"\"] }, \"Avatar of {displayName}, {status}\": { \"v\": [\"\"] } } }];\nconst t10 = [{ \"l\": \"af\", \"t\": {} }, { \"l\": \"ar\", \"t\": { \"away\": { \"v\": [\"غير موجود\"] }, \"busy\": { \"v\": [\"مشغول\"] }, \"do not disturb\": { \"v\": [\"يُرجى عدم الإزعاج\"] }, \"invisible\": { \"v\": [\"غير مرئي\"] }, \"offline\": { \"v\": [\"غير متصل\"] }, \"online\": { \"v\": [\"متصل\"] } } }, { \"l\": \"ast\", \"t\": { \"away\": { \"v\": [\"ausente\"] }, \"busy\": { \"v\": [\"ocupáu\"] }, \"do not disturb\": { \"v\": [\"nun molestar\"] }, \"invisible\": { \"v\": [\"invisible\"] }, \"offline\": { \"v\": [\"desconectáu\"] }, \"online\": { \"v\": [\"en llinia\"] } } }, { \"l\": \"az\", \"t\": {} }, { \"l\": \"be\", \"t\": {} }, { \"l\": \"bg\", \"t\": {} }, { \"l\": \"bn_BD\", \"t\": {} }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"bs\", \"t\": {} }, { \"l\": \"ca\", \"t\": {} }, { \"l\": \"cs\", \"t\": { \"away\": { \"v\": [\"pryč\"] }, \"busy\": { \"v\": [\"zaneprádněn(a)\"] }, \"do not disturb\": { \"v\": [\"nerušit\"] }, \"invisible\": { \"v\": [\"neviditelné\"] }, \"offline\": { \"v\": [\"offline\"] }, \"online\": { \"v\": [\"online\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"away\": { \"v\": [\"pryč\"] }, \"busy\": { \"v\": [\"zaneprádněn(a)\"] }, \"do not disturb\": { \"v\": [\"nerušit\"] }, \"invisible\": { \"v\": [\"neviditelné\"] }, \"offline\": { \"v\": [\"offline\"] }, \"online\": { \"v\": [\"online\"] } } }, { \"l\": \"cy_GB\", \"t\": {} }, { \"l\": \"da\", \"t\": { \"away\": { \"v\": [\"væk\"] }, \"busy\": { \"v\": [\"optaget\"] }, \"do not disturb\": { \"v\": [\"forstyr ikke\"] }, \"invisible\": { \"v\": [\"usynlig\"] }, \"offline\": { \"v\": [\"offline\"] }, \"online\": { \"v\": [\"online\"] } } }, { \"l\": \"de\", \"t\": { \"away\": { \"v\": [\"Abwesend\"] }, \"busy\": { \"v\": [\"Beschäftigt\"] }, \"do not disturb\": { \"v\": [\"Bitte nicht stören\"] }, \"invisible\": { \"v\": [\"Unsichtbar\"] }, \"offline\": { \"v\": [\"Offline\"] }, \"online\": { \"v\": [\"Online\"] } } }, { \"l\": \"de_DE\", \"t\": { \"away\": { \"v\": [\"Abwesend\"] }, \"busy\": { \"v\": [\"Beschäftigt\"] }, \"do not disturb\": { \"v\": [\"Bitte nicht stören\"] }, \"invisible\": { \"v\": [\"Unsichtbar\"] }, \"offline\": { \"v\": [\"Offline\"] }, \"online\": { \"v\": [\"Online\"] } } }, { \"l\": \"el\", \"t\": { \"away\": { \"v\": [\"μακριά\"] }, \"busy\": { \"v\": [\"απασχολημένος\"] }, \"do not disturb\": { \"v\": [\"μην ενοχλείτε\"] }, \"invisible\": { \"v\": [\"αόρατο\"] }, \"offline\": { \"v\": [\"εκτός σύνδεσης\"] }, \"online\": { \"v\": [\"συνδεδεμένος\"] } } }, { \"l\": \"en_GB\", \"t\": { \"away\": { \"v\": [\"away\"] }, \"busy\": { \"v\": [\"busy\"] }, \"do not disturb\": { \"v\": [\"do not disturb\"] }, \"invisible\": { \"v\": [\"invisible\"] }, \"offline\": { \"v\": [\"offline\"] }, \"online\": { \"v\": [\"online\"] } } }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": { \"away\": { \"v\": [\"ausente\"] }, \"busy\": { \"v\": [\"ocupado\"] }, \"do not disturb\": { \"v\": [\"no molestar\"] }, \"invisible\": { \"v\": [\"invisible\"] }, \"offline\": { \"v\": [\"fuera de línea\"] }, \"online\": { \"v\": [\"en línea\"] } } }, { \"l\": \"es_419\", \"t\": {} }, { \"l\": \"es_AR\", \"t\": { \"away\": { \"v\": [\"ausente\"] }, \"busy\": { \"v\": [\"ocupado\"] }, \"do not disturb\": { \"v\": [\"no molestar\"] }, \"invisible\": { \"v\": [\"invisible\"] }, \"offline\": { \"v\": [\"desconectado\"] }, \"online\": { \"v\": [\"en línea\"] } } }, { \"l\": \"es_CL\", \"t\": {} }, { \"l\": \"es_CO\", \"t\": {} }, { \"l\": \"es_CR\", \"t\": {} }, { \"l\": \"es_DO\", \"t\": {} }, { \"l\": \"es_EC\", \"t\": {} }, { \"l\": \"es_GT\", \"t\": {} }, { \"l\": \"es_HN\", \"t\": {} }, { \"l\": \"es_MX\", \"t\": { \"away\": { \"v\": [\"ausente\"] }, \"busy\": { \"v\": [\"ocupado\"] }, \"do not disturb\": { \"v\": [\"no molestar\"] }, \"invisible\": { \"v\": [\"invisible\"] }, \"offline\": { \"v\": [\"fuera de línea\"] }, \"online\": { \"v\": [\"en línea\"] } } }, { \"l\": \"es_NI\", \"t\": {} }, { \"l\": \"es_PA\", \"t\": {} }, { \"l\": \"es_PE\", \"t\": {} }, { \"l\": \"es_PR\", \"t\": {} }, { \"l\": \"es_PY\", \"t\": {} }, { \"l\": \"es_SV\", \"t\": {} }, { \"l\": \"es_UY\", \"t\": {} }, { \"l\": \"et_EE\", \"t\": { \"away\": { \"v\": [\"eemal\"] }, \"busy\": { \"v\": [\"hõivatud\"] }, \"do not disturb\": { \"v\": [\"ära sega\"] }, \"invisible\": { \"v\": [\"nähtamatu\"] }, \"offline\": { \"v\": [\"pole võrgus\"] }, \"online\": { \"v\": [\"võrgus\"] } } }, { \"l\": \"eu\", \"t\": {} }, { \"l\": \"fa\", \"t\": { \"away\": { \"v\": [\"دور از دستگاه\"] }, \"busy\": { \"v\": [\"مشغول\"] }, \"do not disturb\": { \"v\": [\"مزاحم نشوید\"] }, \"invisible\": { \"v\": [\"مخفی\"] }, \"offline\": { \"v\": [\"برون‌خط\"] }, \"online\": { \"v\": [\"برخط\"] } } }, { \"l\": \"fi\", \"t\": { \"away\": { \"v\": [\"poissa\"] }, \"busy\": { \"v\": [\"varattu\"] }, \"do not disturb\": { \"v\": [\"älä häiritse\"] }, \"invisible\": { \"v\": [\"näkymätön\"] }, \"offline\": { \"v\": [\"ei linjalla\"] }, \"online\": { \"v\": [\"linjalla\"] } } }, { \"l\": \"fo\", \"t\": {} }, { \"l\": \"fr\", \"t\": { \"away\": { \"v\": [\"absent\"] }, \"busy\": { \"v\": [\"occupé\"] }, \"do not disturb\": { \"v\": [\"ne pas déranger\"] }, \"invisible\": { \"v\": [\"invisible\"] }, \"offline\": { \"v\": [\"hors ligne\"] }, \"online\": { \"v\": [\"en ligne\"] } } }, { \"l\": \"ga\", \"t\": { \"away\": { \"v\": [\"ar shiúl\"] }, \"busy\": { \"v\": [\"gnóthach\"] }, \"do not disturb\": { \"v\": [\"ná cur as\"] }, \"invisible\": { \"v\": [\"dofheicthe\"] }, \"offline\": { \"v\": [\"as líne\"] }, \"online\": { \"v\": [\"ar líne\"] } } }, { \"l\": \"gd\", \"t\": {} }, { \"l\": \"gl\", \"t\": { \"away\": { \"v\": [\"ausente\"] }, \"busy\": { \"v\": [\"ocupado\"] }, \"do not disturb\": { \"v\": [\"non molestar\"] }, \"invisible\": { \"v\": [\"invisíbel\"] }, \"offline\": { \"v\": [\"desconectado\"] }, \"online\": { \"v\": [\"conectado\"] } } }, { \"l\": \"he\", \"t\": {} }, { \"l\": \"hi_IN\", \"t\": {} }, { \"l\": \"hr\", \"t\": {} }, { \"l\": \"hsb\", \"t\": {} }, { \"l\": \"hu\", \"t\": {} }, { \"l\": \"hy\", \"t\": {} }, { \"l\": \"ia\", \"t\": {} }, { \"l\": \"id\", \"t\": { \"away\": { \"v\": [\"tidak tersedia\"] }, \"do not disturb\": { \"v\": [\"jangan ganggu\"] }, \"offline\": { \"v\": [\"luring\"] }, \"online\": { \"v\": [\"daring\"] } } }, { \"l\": \"ig\", \"t\": {} }, { \"l\": \"is\", \"t\": { \"away\": { \"v\": [\"í burtu\"] }, \"busy\": { \"v\": [\"upptekin/n\"] }, \"do not disturb\": { \"v\": [\"ekki ónáða\"] }, \"invisible\": { \"v\": [\"ósýnilegt\"] }, \"offline\": { \"v\": [\"ónettengt\"] }, \"online\": { \"v\": [\"nettengt\"] } } }, { \"l\": \"it\", \"t\": { \"away\": { \"v\": [\"via\"] }, \"do not disturb\": { \"v\": [\"non disturbare\"] }, \"offline\": { \"v\": [\"offline\"] }, \"online\": { \"v\": [\"online\"] } } }, { \"l\": \"ja\", \"t\": { \"away\": { \"v\": [\"離れる\"] }, \"busy\": { \"v\": [\"ビジー\"] }, \"do not disturb\": { \"v\": [\"邪魔をしないでください\"] }, \"invisible\": { \"v\": [\"不可視\"] }, \"offline\": { \"v\": [\"オフライン\"] }, \"online\": { \"v\": [\"オンライン\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"away\": { \"v\": [\"離れる\"] }, \"busy\": { \"v\": [\"ビジー\"] }, \"do not disturb\": { \"v\": [\"邪魔をしないでください\"] }, \"invisible\": { \"v\": [\"不可視\"] }, \"offline\": { \"v\": [\"オフライン\"] }, \"online\": { \"v\": [\"オンライン\"] } } }, { \"l\": \"ka\", \"t\": {} }, { \"l\": \"ka_GE\", \"t\": {} }, { \"l\": \"kab\", \"t\": {} }, { \"l\": \"kk\", \"t\": {} }, { \"l\": \"km\", \"t\": {} }, { \"l\": \"kn\", \"t\": {} }, { \"l\": \"ko\", \"t\": { \"away\": { \"v\": [\"자리 비움\"] }, \"busy\": { \"v\": [\"바쁨\"] }, \"do not disturb\": { \"v\": [\"방해 금지\"] }, \"invisible\": { \"v\": [\"보이지 않음\"] }, \"offline\": { \"v\": [\"오프라인\"] }, \"online\": { \"v\": [\"온라인\"] } } }, { \"l\": \"la\", \"t\": {} }, { \"l\": \"lb\", \"t\": {} }, { \"l\": \"lo\", \"t\": {} }, { \"l\": \"lt_LT\", \"t\": {} }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": {} }, { \"l\": \"mn\", \"t\": {} }, { \"l\": \"mr\", \"t\": {} }, { \"l\": \"ms_MY\", \"t\": {} }, { \"l\": \"my\", \"t\": {} }, { \"l\": \"nb\", \"t\": { \"away\": { \"v\": [\"borte\"] }, \"busy\": { \"v\": [\"opptatt\"] }, \"do not disturb\": { \"v\": [\"ikke forstyrr\"] }, \"invisible\": { \"v\": [\"usynlig\"] }, \"offline\": { \"v\": [\"frakoblet\"] }, \"online\": { \"v\": [\"tilkoblet\"] } } }, { \"l\": \"ne\", \"t\": {} }, { \"l\": \"nl\", \"t\": { \"away\": { \"v\": [\"weg\"] }, \"busy\": { \"v\": [\"bezig\"] }, \"do not disturb\": { \"v\": [\"niet storen\"] }, \"invisible\": { \"v\": [\"Onzichtbaar\"] }, \"offline\": { \"v\": [\"offline\"] }, \"online\": { \"v\": [\"online\"] } } }, { \"l\": \"nn_NO\", \"t\": {} }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"away\": { \"v\": [\"stąd\"] }, \"busy\": { \"v\": [\"zajęty\"] }, \"do not disturb\": { \"v\": [\"nie przeszkadzać\"] }, \"invisible\": { \"v\": [\"niewidzialny\"] }, \"offline\": { \"v\": [\"offline\"] }, \"online\": { \"v\": [\"online\"] } } }, { \"l\": \"ps\", \"t\": {} }, { \"l\": \"pt_BR\", \"t\": { \"away\": { \"v\": [\"ausente\"] }, \"busy\": { \"v\": [\"ocupado\"] }, \"do not disturb\": { \"v\": [\"não perturbe\"] }, \"invisible\": { \"v\": [\"invisível\"] }, \"offline\": { \"v\": [\"desligada\"] }, \"online\": { \"v\": [\"ligado\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"away\": { \"v\": [\"longe\"] }, \"busy\": { \"v\": [\"ocupado\"] }, \"do not disturb\": { \"v\": [\"não incomodar\"] }, \"invisible\": { \"v\": [\"invisível\"] }, \"offline\": { \"v\": [\"offline\"] }, \"online\": { \"v\": [\"online\"] } } }, { \"l\": \"ro\", \"t\": { \"away\": { \"v\": [\"plecat\"] }, \"do not disturb\": { \"v\": [\"nu deranjați\"] }, \"offline\": { \"v\": [\"deconectat\"] }, \"online\": { \"v\": [\"online\"] } } }, { \"l\": \"ru\", \"t\": { \"away\": { \"v\": [\"отсутствие\"] }, \"busy\": { \"v\": [\"занятый\"] }, \"do not disturb\": { \"v\": [\"не беспокоить\"] }, \"invisible\": { \"v\": [\"невидимый\"] }, \"offline\": { \"v\": [\"офлайн\"] }, \"online\": { \"v\": [\"онлайн\"] } } }, { \"l\": \"sc\", \"t\": {} }, { \"l\": \"si\", \"t\": {} }, { \"l\": \"sk\", \"t\": { \"away\": { \"v\": [\"neprítomný\"] }, \"busy\": { \"v\": [\"zaneprázdnený\"] }, \"do not disturb\": { \"v\": [\"nerušiť\"] }, \"invisible\": { \"v\": [\"neviditeľný\"] }, \"offline\": { \"v\": [\"Odpojený - offline\"] }, \"online\": { \"v\": [\"Pripojený - online\"] } } }, { \"l\": \"sl\", \"t\": {} }, { \"l\": \"sq\", \"t\": {} }, { \"l\": \"sr\", \"t\": { \"away\": { \"v\": [\"одсутан\"] }, \"busy\": { \"v\": [\"заузет\"] }, \"do not disturb\": { \"v\": [\"не узнемиравај\"] }, \"invisible\": { \"v\": [\"невидљиво\"] }, \"offline\": { \"v\": [\"ван мреже\"] }, \"online\": { \"v\": [\"на мрежи\"] } } }, { \"l\": \"sr@latin\", \"t\": {} }, { \"l\": \"sv\", \"t\": { \"away\": { \"v\": [\"borta\"] }, \"busy\": { \"v\": [\"upptagen\"] }, \"do not disturb\": { \"v\": [\"stör ej\"] }, \"invisible\": { \"v\": [\"osynlig\"] }, \"offline\": { \"v\": [\"offline\"] }, \"online\": { \"v\": [\"online\"] } } }, { \"l\": \"sw\", \"t\": {} }, { \"l\": \"ta\", \"t\": {} }, { \"l\": \"th\", \"t\": {} }, { \"l\": \"tk\", \"t\": {} }, { \"l\": \"tr\", \"t\": { \"away\": { \"v\": [\"Uzakta\"] }, \"busy\": { \"v\": [\"meşgul\"] }, \"do not disturb\": { \"v\": [\"Rahatsız etmeyin\"] }, \"invisible\": { \"v\": [\"görünmez\"] }, \"offline\": { \"v\": [\"Çevrim dışı\"] }, \"online\": { \"v\": [\"Çevrim içi\"] } } }, { \"l\": \"ug\", \"t\": {} }, { \"l\": \"uk\", \"t\": { \"away\": { \"v\": [\"відсутній\"] }, \"busy\": { \"v\": [\"зайнято\"] }, \"do not disturb\": { \"v\": [\"не турбувати\"] }, \"invisible\": { \"v\": [\"Невидимий\"] }, \"offline\": { \"v\": [\"не в мережі\"] }, \"online\": { \"v\": [\"в мережі\"] } } }, { \"l\": \"ur_PK\", \"t\": {} }, { \"l\": \"uz\", \"t\": { \"away\": { \"v\": [\"uzoqda\"] }, \"busy\": { \"v\": [\"band\"] }, \"do not disturb\": { \"v\": [\"bezovta qilmang\"] }, \"invisible\": { \"v\": [\"ko'rinmas\"] }, \"offline\": { \"v\": [\"offline\"] }, \"online\": { \"v\": [\"online\"] } } }, { \"l\": \"vi\", \"t\": {} }, { \"l\": \"zh_CN\", \"t\": { \"away\": { \"v\": [\"离开\"] }, \"busy\": { \"v\": [\"繁忙\"] }, \"do not disturb\": { \"v\": [\"请勿打扰\"] }, \"invisible\": { \"v\": [\"隐藏的\"] }, \"offline\": { \"v\": [\"离线\"] }, \"online\": { \"v\": [\"在线\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"away\": { \"v\": [\"離開\"] }, \"busy\": { \"v\": [\"忙碌\"] }, \"do not disturb\": { \"v\": [\"請勿打擾\"] }, \"invisible\": { \"v\": [\"隐藏的\"] }, \"offline\": { \"v\": [\"離線\"] }, \"online\": { \"v\": [\"在線\"] } } }, { \"l\": \"zh_TW\", \"t\": {} }, { \"l\": \"zu_ZA\", \"t\": {} }];\nconst t11 = [{ \"l\": \"af\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"Back to provider selection\": { \"v\": [\"عودة إلى اختيار المزوّد\"] }, \"Close Smart Picker\": { \"v\": [\"إغلاق المحدد الذكي\"] }, \"Smart Picker\": { \"v\": [\"اللاقط الذكي smart picker\"] } } }, { \"l\": \"ast\", \"t\": { \"Back to provider selection\": { \"v\": [\"Volver a la seleición de fornidores\"] }, \"Close Smart Picker\": { \"v\": [\"Zarrar la seleición intelixente\"] }, \"Smart Picker\": { \"v\": [\"Selector intelixente\"] } } }, { \"l\": \"az\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"bs\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"cs\", \"t\": { \"Back to provider selection\": { \"v\": [\"Zpět na výběr poskytovatele\"] }, \"Close Smart Picker\": { \"v\": [\"Zavřít inteligentní výběr\"] }, \"Smart Picker\": { \"v\": [\"Inteligentní výběr\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"Back to provider selection\": { \"v\": [\"Zpět na výběr poskytovatele\"] }, \"Close Smart Picker\": { \"v\": [\"Zavřít inteligentní výběr\"] }, \"Smart Picker\": { \"v\": [\"Inteligentní výběr\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"Back to provider selection\": { \"v\": [\"Tilbage til udbydervalg\"] }, \"Close Smart Picker\": { \"v\": [\"Luk Smart Vælger\"] }, \"Smart Picker\": { \"v\": [\"Smart Vælger\"] } } }, { \"l\": \"de\", \"t\": { \"Back to provider selection\": { \"v\": [\"Zurück zur Anbieterauswahl\"] }, \"Close Smart Picker\": { \"v\": [\"Smart Picker schließen\"] }, \"Smart Picker\": { \"v\": [\"Smart Picker\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Back to provider selection\": { \"v\": [\"Zurück zur Anbieterauswahl\"] }, \"Close Smart Picker\": { \"v\": [\"Smart Picker schließen\"] }, \"Smart Picker\": { \"v\": [\"Smart Picker\"] } } }, { \"l\": \"el\", \"t\": { \"Back to provider selection\": { \"v\": [\"Επιστροφή στην επιλογή παρόχου\"] }, \"Close Smart Picker\": { \"v\": [\"Κλείσιμο Έξυπνης Επιλογής\"] }, \"Smart Picker\": { \"v\": [\"Έξυπνη Επιλογή\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Back to provider selection\": { \"v\": [\"Back to provider selection\"] }, \"Close Smart Picker\": { \"v\": [\"Close Smart Picker\"] }, \"Smart Picker\": { \"v\": [\"Smart Picker\"] } } }, { \"l\": \"eo\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"es\", \"t\": { \"Back to provider selection\": { \"v\": [\"Volver a la selección de proveedor\"] }, \"Close Smart Picker\": { \"v\": [\"Cerrar selector inteligente\"] }, \"Smart Picker\": { \"v\": [\"Selector inteligente\"] } } }, { \"l\": \"es_419\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"Back to provider selection\": { \"v\": [\"Volver a la selección de proveedor\"] }, \"Close Smart Picker\": { \"v\": [\"Cerrar selector inteligente\"] }, \"Smart Picker\": { \"v\": [\"Selector inteligente\"] } } }, { \"l\": \"es_CL\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"Back to provider selection\": { \"v\": [\"Volver a la selección de proveedor\"] }, \"Close Smart Picker\": { \"v\": [\"Cerrar selector inteligente\"] }, \"Smart Picker\": { \"v\": [\"Selector inteligente\"] } } }, { \"l\": \"es_GT\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"Back to provider selection\": { \"v\": [\"Volver a la selección de proveedor\"] }, \"Close Smart Picker\": { \"v\": [\"Cerrar selector inteligente\"] }, \"Smart Picker\": { \"v\": [\"Selector inteligente\"] } } }, { \"l\": \"es_NI\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"Back to provider selection\": { \"v\": [\"Tagasi teenusepakkuja valiku juurde\"] }, \"Close Smart Picker\": { \"v\": [\"Sulge nutikas valija\"] }, \"Smart Picker\": { \"v\": [\"Nutikas valija\"] } } }, { \"l\": \"eu\", \"t\": { \"Back to provider selection\": { \"v\": [\"Itzuli hornitzaileen hautapenera\"] }, \"Close Smart Picker\": { \"v\": [\"Itxi hautatzaile adimenduna\"] }, \"Smart Picker\": { \"v\": [\"Hautatzaile adimenduna\"] } } }, { \"l\": \"fa\", \"t\": { \"Back to provider selection\": { \"v\": [\"بازگشت به انتخاب ارائه دهنده\"] }, \"Close Smart Picker\": { \"v\": [\"بستن انتخاب‌گر هوشمند\"] }, \"Smart Picker\": { \"v\": [\"انتخابگر هوشمند\"] } } }, { \"l\": \"fi\", \"t\": { \"Back to provider selection\": { \"v\": [\"Takaisin toimittajavalintaan\"] }, \"Close Smart Picker\": { \"v\": [\"Sulje älykas valitsin\"] }, \"Smart Picker\": { \"v\": [\"Älykäs valitsin\"] } } }, { \"l\": \"fo\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"Back to provider selection\": { \"v\": [\"Revenir à la sélection du fournisseur\"] }, \"Close Smart Picker\": { \"v\": [\"Fermer le sélecteur intelligent\"] }, \"Smart Picker\": { \"v\": [\"Sélecteur intelligent\"] } } }, { \"l\": \"ga\", \"t\": { \"Back to provider selection\": { \"v\": [\"Ar ais go roghnú soláthróra\"] }, \"Close Smart Picker\": { \"v\": [\"Dún Piocálaí Cliste\"] }, \"Smart Picker\": { \"v\": [\"Roghnóir Cliste\"] } } }, { \"l\": \"gd\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"Back to provider selection\": { \"v\": [\"Volver á selección do provedor\"] }, \"Close Smart Picker\": { \"v\": [\"Pechar o Selector intelixente\"] }, \"Smart Picker\": { \"v\": [\"Selector intelixente\"] } } }, { \"l\": \"he\", \"t\": { \"Back to provider selection\": { \"v\": [\"חזרה לבחירת ספק\"] }, \"Close Smart Picker\": { \"v\": [\"סגירת הבורר החכם\"] }, \"Smart Picker\": { \"v\": [\"בורר חכם\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"hy\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"Back to provider selection\": { \"v\": [\"Kembali ke pemilihan penyedia\"] }, \"Close Smart Picker\": { \"v\": [\"Tutup Pemilih Cerdas\"] }, \"Smart Picker\": { \"v\": [\"Pemilih Cerdas\"] } } }, { \"l\": \"ig\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"Back to provider selection\": { \"v\": [\"Til baka í val á þjónustuveitu\"] }, \"Close Smart Picker\": { \"v\": [\"Loka snjall-veljara\"] }, \"Smart Picker\": { \"v\": [\"Snjall-veljari\"] } } }, { \"l\": \"it\", \"t\": { \"Back to provider selection\": { \"v\": [\"Torna alla selezione del provider\"] }, \"Close Smart Picker\": { \"v\": [\"Chiudere lo Smart Picker\"] }, \"Smart Picker\": { \"v\": [\"Picker intelligente\"] } } }, { \"l\": \"ja\", \"t\": { \"Back to provider selection\": { \"v\": [\"プロバイダーの選択に戻る\"] }, \"Close Smart Picker\": { \"v\": [\"スマートピッカーを閉じる\"] }, \"Smart Picker\": { \"v\": [\"スマートピッカー\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"Back to provider selection\": { \"v\": [\"プロバイダーの選択に戻る\"] }, \"Close Smart Picker\": { \"v\": [\"スマートピッカーを閉じる\"] }, \"Smart Picker\": { \"v\": [\"スマートピッカー\"] } } }, { \"l\": \"ka\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"Back to provider selection\": { \"v\": [\"제공자 선택으로 돌아가기\"] }, \"Close Smart Picker\": { \"v\": [\"스마트 선택기 닫기\"] }, \"Smart Picker\": { \"v\": [\"스마트 선택기\"] } } }, { \"l\": \"la\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"lv\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"mk\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"mn\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"nb\", \"t\": { \"Back to provider selection\": { \"v\": [\"Tilbake til leverandørvalg\"] }, \"Close Smart Picker\": { \"v\": [\"Lukk Smart Velger\"] }, \"Smart Picker\": { \"v\": [\"Smart Velger\"] } } }, { \"l\": \"ne\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"Back to provider selection\": { \"v\": [\"Terug naar provider selectie\"] }, \"Close Smart Picker\": { \"v\": [\"Sluit Slimme Kiezer\"] }, \"Smart Picker\": { \"v\": [\"Slimme Kiezer\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"pl\", \"t\": { \"Back to provider selection\": { \"v\": [\"Powrót do wyboru dostawcy\"] }, \"Close Smart Picker\": { \"v\": [\"Zamknij inteligentny selektor\"] }, \"Smart Picker\": { \"v\": [\"Inteligentne wybieranie\"] } } }, { \"l\": \"ps\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"Back to provider selection\": { \"v\": [\"Voltar para seleção de provedor\"] }, \"Close Smart Picker\": { \"v\": [\"Fechar Seletor Inteligente\"] }, \"Smart Picker\": { \"v\": [\"Seletor Inteligente\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Back to provider selection\": { \"v\": [\"Voltar à seleção de fornecedor\"] }, \"Close Smart Picker\": { \"v\": ['Fechar \"Smart Picker\"'] }, \"Smart Picker\": { \"v\": [\"Smart Picker\"] } } }, { \"l\": \"ro\", \"t\": { \"Back to provider selection\": { \"v\": [\"Înapoi la selecția providerului\"] }, \"Close Smart Picker\": { \"v\": [\"Închide Smart Picker\"] }, \"Smart Picker\": { \"v\": [\"Smart Picker\"] } } }, { \"l\": \"ru\", \"t\": { \"Back to provider selection\": { \"v\": [\"Вернуться к выбору провайдера\"] }, \"Close Smart Picker\": { \"v\": [\"Закрыть интеллектуальный выбор\"] }, \"Smart Picker\": { \"v\": [\"Умный выбор\"] } } }, { \"l\": \"sc\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"Back to provider selection\": { \"v\": [\"Späť na výber poskytovateľa\"] }, \"Close Smart Picker\": { \"v\": [\"Zavrieť inteligentný výber\"] }, \"Smart Picker\": { \"v\": [\"Inteligentný výber\"] } } }, { \"l\": \"sl\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"sq\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"Back to provider selection\": { \"v\": [\"Назад на избор пружаоца\"] }, \"Close Smart Picker\": { \"v\": [\"Затвори паметни бирач\"] }, \"Smart Picker\": { \"v\": [\"Паметни бирач\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"Back to provider selection\": { \"v\": [\"Tillbaka till leverantörsval\"] }, \"Close Smart Picker\": { \"v\": [\"Stäng Smart Picker\"] }, \"Smart Picker\": { \"v\": [\"Smart Picker\"] } } }, { \"l\": \"sw\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"Back to provider selection\": { \"v\": [\"Sağlayıcı seçimine dön\"] }, \"Close Smart Picker\": { \"v\": [\"Akıllı seçimi kapat\"] }, \"Smart Picker\": { \"v\": [\"Akıllı seçim\"] } } }, { \"l\": \"ug\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"Back to provider selection\": { \"v\": [\"Назад до вибору постачальника\"] }, \"Close Smart Picker\": { \"v\": [\"Закрити асистент вибору\"] }, \"Smart Picker\": { \"v\": [\"Асистент вибору\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"Back to provider selection\": { \"v\": [\"Provayder tanloviga qaytish\"] }, \"Close Smart Picker\": { \"v\": [\"Smart Picker-ni yoping\"] }, \"Smart Picker\": { \"v\": [\"Aqlli tanlovchi\"] } } }, { \"l\": \"vi\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"Back to provider selection\": { \"v\": [\"返回至提供者选择列表\"] }, \"Close Smart Picker\": { \"v\": [\"关闭智能拾取器\"] }, \"Smart Picker\": { \"v\": [\"智能拾取器\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Back to provider selection\": { \"v\": [\"回到提供者選擇\"] }, \"Close Smart Picker\": { \"v\": [\"關閉 Smart Picker\"] }, \"Smart Picker\": { \"v\": [\"Smart Picker\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"Back to provider selection\": { \"v\": [\"回到提供者選擇\"] }, \"Close Smart Picker\": { \"v\": [\"關閉智慧型挑選器\"] }, \"Smart Picker\": { \"v\": [\"智慧型挑選器\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"Back to provider selection\": { \"v\": [\"\"] }, \"Close Smart Picker\": { \"v\": [\"\"] }, \"Smart Picker\": { \"v\": [\"\"] } } }];\nconst t12 = [{ \"l\": \"af\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"Cancel changes\": { \"v\": [\"إلغاء التغييرات\"] }, \"Confirm changes\": { \"v\": [\"تأكيد التغييرات\"] } } }, { \"l\": \"ast\", \"t\": { \"Cancel changes\": { \"v\": [\"Encaboxar los cambeos\"] }, \"Confirm changes\": { \"v\": [\"Confirmar los cambeos\"] } } }, { \"l\": \"az\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"bs\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"Cancel changes\": { \"v\": [\"Cancel·la els canvis\"] }, \"Confirm changes\": { \"v\": [\"Confirmeu els canvis\"] } } }, { \"l\": \"cs\", \"t\": { \"Cancel changes\": { \"v\": [\"Zrušit změny\"] }, \"Confirm changes\": { \"v\": [\"Potvrdit změny\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"Cancel changes\": { \"v\": [\"Zrušit změny\"] }, \"Confirm changes\": { \"v\": [\"Potvrdit změny\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"Cancel changes\": { \"v\": [\"Annuller ændringer\"] }, \"Confirm changes\": { \"v\": [\"Bekræft ændringer\"] } } }, { \"l\": \"de\", \"t\": { \"Cancel changes\": { \"v\": [\"Änderungen verwerfen\"] }, \"Confirm changes\": { \"v\": [\"Änderungen bestätigen\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Cancel changes\": { \"v\": [\"Änderungen verwerfen\"] }, \"Confirm changes\": { \"v\": [\"Änderungen bestätigen\"] } } }, { \"l\": \"el\", \"t\": { \"Cancel changes\": { \"v\": [\"Ακύρωση αλλαγών\"] }, \"Confirm changes\": { \"v\": [\"Επιβεβαίωση αλλαγών\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Cancel changes\": { \"v\": [\"Cancel changes\"] }, \"Confirm changes\": { \"v\": [\"Confirm changes\"] } } }, { \"l\": \"eo\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"es\", \"t\": { \"Cancel changes\": { \"v\": [\"Cancelar cambios\"] }, \"Confirm changes\": { \"v\": [\"Confirmar cambios\"] } } }, { \"l\": \"es_419\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"Cancel changes\": { \"v\": [\"Cancelar cambios\"] }, \"Confirm changes\": { \"v\": [\"Confirmar cambios\"] } } }, { \"l\": \"es_CL\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"Cancel changes\": { \"v\": [\"Cancelar cambios\"] }, \"Confirm changes\": { \"v\": [\"Confirmar cambios\"] } } }, { \"l\": \"es_GT\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"Cancel changes\": { \"v\": [\"Cancelar cambios\"] }, \"Confirm changes\": { \"v\": [\"Confirmar cambios\"] } } }, { \"l\": \"es_NI\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"Cancel changes\": { \"v\": [\"Tühista muudatused\"] }, \"Confirm changes\": { \"v\": [\"Kinnitage muudatused\"] } } }, { \"l\": \"eu\", \"t\": { \"Cancel changes\": { \"v\": [\"Ezeztatu aldaketak\"] }, \"Confirm changes\": { \"v\": [\"Baieztatu aldaketak\"] } } }, { \"l\": \"fa\", \"t\": { \"Cancel changes\": { \"v\": [\"لغو تغییرات\"] }, \"Confirm changes\": { \"v\": [\"تایید تغییرات\"] } } }, { \"l\": \"fi\", \"t\": { \"Cancel changes\": { \"v\": [\"Peruuta muutokset\"] }, \"Confirm changes\": { \"v\": [\"Vahvista muutokset\"] } } }, { \"l\": \"fo\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"Cancel changes\": { \"v\": [\"Annuler les modifications\"] }, \"Confirm changes\": { \"v\": [\"Confirmer les modifications\"] } } }, { \"l\": \"ga\", \"t\": { \"Cancel changes\": { \"v\": [\"Cealaigh athruithe\"] }, \"Confirm changes\": { \"v\": [\"Deimhnigh na hathruithe\"] } } }, { \"l\": \"gd\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"Cancel changes\": { \"v\": [\"Cancelar os cambios\"] }, \"Confirm changes\": { \"v\": [\"Confirma os cambios\"] } } }, { \"l\": \"he\", \"t\": { \"Cancel changes\": { \"v\": [\"ביטול שינויים\"] }, \"Confirm changes\": { \"v\": [\"אישור השינויים\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"Cancel changes\": { \"v\": [\"Változtatások elvetése\"] }, \"Confirm changes\": { \"v\": [\"Változtatások megerősítése\"] } } }, { \"l\": \"hy\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"Cancel changes\": { \"v\": [\"Batalkan perubahan\"] }, \"Confirm changes\": { \"v\": [\"Konfirmasikan perubahan\"] } } }, { \"l\": \"ig\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"Cancel changes\": { \"v\": [\"Hætta við breytingar\"] }, \"Confirm changes\": { \"v\": [\"Staðfesta breytingar\"] } } }, { \"l\": \"it\", \"t\": { \"Cancel changes\": { \"v\": [\"Annulla modifiche\"] }, \"Confirm changes\": { \"v\": [\"Conferma modifiche\"] } } }, { \"l\": \"ja\", \"t\": { \"Cancel changes\": { \"v\": [\"変更をキャンセル\"] }, \"Confirm changes\": { \"v\": [\"変更を承認\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"Cancel changes\": { \"v\": [\"変更をキャンセル\"] }, \"Confirm changes\": { \"v\": [\"変更を承認\"] } } }, { \"l\": \"ka\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"Cancel changes\": { \"v\": [\"변경 취소\"] }, \"Confirm changes\": { \"v\": [\"변경 사항 확인\"] } } }, { \"l\": \"la\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"lv\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"mk\", \"t\": { \"Cancel changes\": { \"v\": [\"Откажи ги промените\"] }, \"Confirm changes\": { \"v\": [\"Потврди ги промените\"] } } }, { \"l\": \"mn\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"Cancel changes\": { \"v\": [\"ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်\"] }, \"Confirm changes\": { \"v\": [\"ပြောင်းလဲမှုများ အတည်ပြုရန်\"] } } }, { \"l\": \"nb\", \"t\": { \"Cancel changes\": { \"v\": [\"Avbryt endringer\"] }, \"Confirm changes\": { \"v\": [\"Bekreft endringer\"] } } }, { \"l\": \"ne\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"Cancel changes\": { \"v\": [\"Wijzigingen annuleren\"] }, \"Confirm changes\": { \"v\": [\"Wijzigingen bevestigen\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"pl\", \"t\": { \"Cancel changes\": { \"v\": [\"Anuluj zmiany\"] }, \"Confirm changes\": { \"v\": [\"Potwierdź zmiany\"] } } }, { \"l\": \"ps\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"Cancel changes\": { \"v\": [\"Cancelar alterações\"] }, \"Confirm changes\": { \"v\": [\"Confirmar alterações\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Cancel changes\": { \"v\": [\"Cancelar alterações\"] }, \"Confirm changes\": { \"v\": [\"Confirmar alterações\"] } } }, { \"l\": \"ro\", \"t\": { \"Cancel changes\": { \"v\": [\"Anulează modificările\"] }, \"Confirm changes\": { \"v\": [\"Confirmați modificările\"] } } }, { \"l\": \"ru\", \"t\": { \"Cancel changes\": { \"v\": [\"Отменить изменения\"] }, \"Confirm changes\": { \"v\": [\"Подтвердить изменения\"] } } }, { \"l\": \"sc\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"Cancel changes\": { \"v\": [\"Zrušiť zmeny\"] }, \"Confirm changes\": { \"v\": [\"Potvrdiť zmeny\"] } } }, { \"l\": \"sl\", \"t\": { \"Cancel changes\": { \"v\": [\"Prekliči spremembe\"] }, \"Confirm changes\": { \"v\": [\"Potrdi spremembe\"] } } }, { \"l\": \"sq\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"Cancel changes\": { \"v\": [\"Откажи измене\"] }, \"Confirm changes\": { \"v\": [\"Потврдите измене\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"Cancel changes\": { \"v\": [\"Avbryt ändringar\"] }, \"Confirm changes\": { \"v\": [\"Bekräfta ändringar\"] } } }, { \"l\": \"sw\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"Cancel changes\": { \"v\": [\"Değişiklikleri iptal et\"] }, \"Confirm changes\": { \"v\": [\"Değişiklikleri onayla\"] } } }, { \"l\": \"ug\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"Cancel changes\": { \"v\": [\"Скасувати зміни\"] }, \"Confirm changes\": { \"v\": [\"Підтвердити зміни\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"Cancel changes\": { \"v\": [\"O'zgarishlarni bekor qilish\"] }, \"Confirm changes\": { \"v\": [\"O'zgarishlarni tasdiqlang\"] } } }, { \"l\": \"vi\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"Cancel changes\": { \"v\": [\"取消更改\"] }, \"Confirm changes\": { \"v\": [\"确认更改\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Cancel changes\": { \"v\": [\"取消更改\"] }, \"Confirm changes\": { \"v\": [\"確認更改\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"Cancel changes\": { \"v\": [\"取消變更\"] }, \"Confirm changes\": { \"v\": [\"確認變更\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"Cancel changes\": { \"v\": [\"\"] }, \"Confirm changes\": { \"v\": [\"\"] } } }];\nconst t13 = [{ \"l\": \"af\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"Change name\": { \"v\": [\"تغيير الاسم\"] }, \"Close sidebar\": { \"v\": [\"قفل الشريط الجانبي\"] }, \"Favorite\": { \"v\": [\"المفضلة\"] }, \"Open sidebar\": { \"v\": [\"إفتَح الشريط الجانبي\"] } } }, { \"l\": \"ast\", \"t\": { \"Change name\": { \"v\": [\"Camudar el nome\"] }, \"Close sidebar\": { \"v\": [\"Zarrar la barra llateral\"] }, \"Favorite\": { \"v\": [\"Favoritu\"] }, \"Open sidebar\": { \"v\": [\"Abrir la barra llateral\"] } } }, { \"l\": \"az\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"bs\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"Tancar la barra lateral\"] }, \"Favorite\": { \"v\": [\"Preferit\"] } } }, { \"l\": \"cs\", \"t\": { \"Change name\": { \"v\": [\"Změnit název\"] }, \"Close sidebar\": { \"v\": [\"Zavřít postranní panel\"] }, \"Favorite\": { \"v\": [\"Oblíbené\"] }, \"Open sidebar\": { \"v\": [\"Otevřít postranní panel\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"Change name\": { \"v\": [\"Změnit název\"] }, \"Close sidebar\": { \"v\": [\"Zavřít postranní panel\"] }, \"Favorite\": { \"v\": [\"Oblíbené\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"Change name\": { \"v\": [\"Ændre navn\"] }, \"Close sidebar\": { \"v\": [\"Luk sidepanel\"] }, \"Favorite\": { \"v\": [\"Favorit\"] }, \"Open sidebar\": { \"v\": [\"Åbn sidepanel\"] } } }, { \"l\": \"de\", \"t\": { \"Change name\": { \"v\": [\"Namen ändern\"] }, \"Close sidebar\": { \"v\": [\"Seitenleiste schließen\"] }, \"Favorite\": { \"v\": [\"Favorit\"] }, \"Open sidebar\": { \"v\": [\"Seitenleiste öffnen\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Change name\": { \"v\": [\"Namen ändern\"] }, \"Close sidebar\": { \"v\": [\"Seitenleiste schließen\"] }, \"Favorite\": { \"v\": [\"Favorit\"] }, \"Open sidebar\": { \"v\": [\"Seitenleiste öffnen\"] } } }, { \"l\": \"el\", \"t\": { \"Change name\": { \"v\": [\"Αλλαγή ονόματος\"] }, \"Close sidebar\": { \"v\": [\"Κλείσιμο πλευρικής μπάρας\"] }, \"Favorite\": { \"v\": [\"Αγαπημένα\"] }, \"Open sidebar\": { \"v\": [\"Άνοιγμα πλευρικής μπάρας\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Change name\": { \"v\": [\"Change name\"] }, \"Close sidebar\": { \"v\": [\"Close sidebar\"] }, \"Favorite\": { \"v\": [\"Favourite\"] }, \"Open sidebar\": { \"v\": [\"Open sidebar\"] } } }, { \"l\": \"eo\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"es\", \"t\": { \"Change name\": { \"v\": [\"Cambiar nombre\"] }, \"Close sidebar\": { \"v\": [\"Cerrar barra lateral\"] }, \"Favorite\": { \"v\": [\"Favorito\"] }, \"Open sidebar\": { \"v\": [\"Abrir barra lateral\"] } } }, { \"l\": \"es_419\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"Change name\": { \"v\": [\"Cambiar nombre\"] }, \"Close sidebar\": { \"v\": [\"Cerrar barra lateral\"] }, \"Favorite\": { \"v\": [\"Favorito\"] }, \"Open sidebar\": { \"v\": [\"Abrir barra lateral\"] } } }, { \"l\": \"es_CL\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"Change name\": { \"v\": [\"Cambiar nombre\"] }, \"Close sidebar\": { \"v\": [\"Cerrar barra lateral\"] }, \"Favorite\": { \"v\": [\"Favorito\"] } } }, { \"l\": \"es_GT\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"Change name\": { \"v\": [\"Cambiar nombre\"] }, \"Close sidebar\": { \"v\": [\"Cerrar barra lateral\"] }, \"Favorite\": { \"v\": [\"Favorito\"] }, \"Open sidebar\": { \"v\": [\"Abrir barra lateral\"] } } }, { \"l\": \"es_NI\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"Change name\": { \"v\": [\"Muuda nime\"] }, \"Close sidebar\": { \"v\": [\"Sulge külgriba\"] }, \"Favorite\": { \"v\": [\"Lemmik\"] }, \"Open sidebar\": { \"v\": [\"Ava külgriba\"] } } }, { \"l\": \"eu\", \"t\": { \"Change name\": { \"v\": [\"Aldatu izena\"] }, \"Close sidebar\": { \"v\": [\"Itxi albo-barra\"] }, \"Favorite\": { \"v\": [\"Gogokoa\"] } } }, { \"l\": \"fa\", \"t\": { \"Change name\": { \"v\": [\"تغییر نام\"] }, \"Close sidebar\": { \"v\": [\"بستن نوار کناری\"] }, \"Favorite\": { \"v\": [\"مورد علاقه\"] }, \"Open sidebar\": { \"v\": [\"باز کردن نوار کنار\"] } } }, { \"l\": \"fi\", \"t\": { \"Change name\": { \"v\": [\"Vaihda nimi\"] }, \"Close sidebar\": { \"v\": [\"Sulje sivupalkki\"] }, \"Favorite\": { \"v\": [\"Suosikki\"] }, \"Open sidebar\": { \"v\": [\"Avaa sivupalkki\"] } } }, { \"l\": \"fo\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"Change name\": { \"v\": [\"Modifier le nom\"] }, \"Close sidebar\": { \"v\": [\"Fermer la barre latérale\"] }, \"Favorite\": { \"v\": [\"Favori\"] }, \"Open sidebar\": { \"v\": [\"Ouvrir la barre latérale\"] } } }, { \"l\": \"ga\", \"t\": { \"Change name\": { \"v\": [\"Athrú ainm\"] }, \"Close sidebar\": { \"v\": [\"Dún barra taoibh\"] }, \"Favorite\": { \"v\": [\"is fearr leat\"] }, \"Open sidebar\": { \"v\": [\"Oscail barra taoibh\"] } } }, { \"l\": \"gd\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"Change name\": { \"v\": [\"Cambiar o nome\"] }, \"Close sidebar\": { \"v\": [\"Pechar a barra lateral\"] }, \"Favorite\": { \"v\": [\"Favorito\"] }, \"Open sidebar\": { \"v\": [\"Abrir a barra lateral\"] } } }, { \"l\": \"he\", \"t\": { \"Change name\": { \"v\": [\"החלפת שם\"] }, \"Close sidebar\": { \"v\": [\"סגירת סרגל הצד\"] }, \"Favorite\": { \"v\": [\"למועדפים\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"Oldalsáv bezárása\"] }, \"Favorite\": { \"v\": [\"Kedvenc\"] } } }, { \"l\": \"hy\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"Change name\": { \"v\": [\"Ubah nama\"] }, \"Close sidebar\": { \"v\": [\"Tutup bilah sisi\"] }, \"Favorite\": { \"v\": [\"Favorit\"] } } }, { \"l\": \"ig\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"Change name\": { \"v\": [\"Breyta nafni\"] }, \"Close sidebar\": { \"v\": [\"Loka hliðarstiku\"] }, \"Favorite\": { \"v\": [\"Eftirlæti\"] }, \"Open sidebar\": { \"v\": [\"Opna hliðarspjald\"] } } }, { \"l\": \"it\", \"t\": { \"Change name\": { \"v\": [\"Cambia nome\"] }, \"Close sidebar\": { \"v\": [\"Chiudi la barra laterale\"] }, \"Favorite\": { \"v\": [\"Preferito\"] } } }, { \"l\": \"ja\", \"t\": { \"Change name\": { \"v\": [\"名前の変更\"] }, \"Close sidebar\": { \"v\": [\"サイドバーを閉じる\"] }, \"Favorite\": { \"v\": [\"お気に入り\"] }, \"Open sidebar\": { \"v\": [\"サイドバーを開く\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"Change name\": { \"v\": [\"名前の変更\"] }, \"Close sidebar\": { \"v\": [\"サイドバーを閉じる\"] }, \"Favorite\": { \"v\": [\"お気に入り\"] }, \"Open sidebar\": { \"v\": [\"サイドバーを開く\"] } } }, { \"l\": \"ka\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"Change name\": { \"v\": [\"이름 변경\"] }, \"Close sidebar\": { \"v\": [\"사이드바 닫기\"] }, \"Favorite\": { \"v\": [\"즐겨찾기\"] }, \"Open sidebar\": { \"v\": [\"사이드바 열기\"] } } }, { \"l\": \"la\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"lv\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"mk\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"Фаворити\"] } } }, { \"l\": \"mn\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"nb\", \"t\": { \"Change name\": { \"v\": [\"Endre navn\"] }, \"Close sidebar\": { \"v\": [\"Lukk sidepanel\"] }, \"Favorite\": { \"v\": [\"Favoritt\"] }, \"Open sidebar\": { \"v\": [\"Åpne sidefelt\"] } } }, { \"l\": \"ne\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"Change name\": { \"v\": [\"Verander naam\"] }, \"Close sidebar\": { \"v\": [\"Sluit sidebar\"] }, \"Favorite\": { \"v\": [\"Favoriet\"] }, \"Open sidebar\": { \"v\": [\"Open sidebar\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"pl\", \"t\": { \"Change name\": { \"v\": [\"Zmień nazwę\"] }, \"Close sidebar\": { \"v\": [\"Zamknij pasek boczny\"] }, \"Favorite\": { \"v\": [\"Ulubiony\"] }, \"Open sidebar\": { \"v\": [\"Otwórz pasek boczny\"] } } }, { \"l\": \"ps\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"Change name\": { \"v\": [\"Mudar nome\"] }, \"Close sidebar\": { \"v\": [\"Fechar barra lateral\"] }, \"Favorite\": { \"v\": [\"Favorito\"] }, \"Open sidebar\": { \"v\": [\"Abrir barra lateral\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Change name\": { \"v\": [\"Alterar nome\"] }, \"Close sidebar\": { \"v\": [\"Fechar barra lateral\"] }, \"Favorite\": { \"v\": [\"Favorito\"] }, \"Open sidebar\": { \"v\": [\"Abrir barra lateral\"] } } }, { \"l\": \"ro\", \"t\": { \"Change name\": { \"v\": [\"Modifică numele\"] }, \"Close sidebar\": { \"v\": [\"Închide bara laterală\"] }, \"Favorite\": { \"v\": [\"Favorit\"] } } }, { \"l\": \"ru\", \"t\": { \"Change name\": { \"v\": [\"Изменить имя\"] }, \"Close sidebar\": { \"v\": [\"Закрыть сайдбар\"] }, \"Favorite\": { \"v\": [\"Избранное\"] }, \"Open sidebar\": { \"v\": [\"Открыть боковую панель\"] } } }, { \"l\": \"sc\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"Change name\": { \"v\": [\"Zmeniť názov\"] }, \"Close sidebar\": { \"v\": [\"Zavrieť bočný panel\"] }, \"Favorite\": { \"v\": [\"Obľúbené\"] }, \"Open sidebar\": { \"v\": [\"Otvoriť bočný panel\"] } } }, { \"l\": \"sl\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"Zapri stransko vrstico\"] }, \"Favorite\": { \"v\": [\"Priljubljeno\"] } } }, { \"l\": \"sq\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"Change name\": { \"v\": [\"Измени назив\"] }, \"Close sidebar\": { \"v\": [\"Затвори бочну траку\"] }, \"Favorite\": { \"v\": [\"Омиљени\"] }, \"Open sidebar\": { \"v\": [\"Отвори бочну траку\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"Change name\": { \"v\": [\"Ändra namn\"] }, \"Close sidebar\": { \"v\": [\"Stäng sidofältet\"] }, \"Favorite\": { \"v\": [\"Favorit\"] }, \"Open sidebar\": { \"v\": [\"Öppna sidofältet\"] } } }, { \"l\": \"sw\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"Change name\": { \"v\": [\"Adı değiştir\"] }, \"Close sidebar\": { \"v\": [\"Yan çubuğu kapat\"] }, \"Favorite\": { \"v\": [\"Sık kullanılanlara ekle\"] }, \"Open sidebar\": { \"v\": [\"Yan çubuğu aç\"] } } }, { \"l\": \"ug\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"Change name\": { \"v\": [\"Змінити назву\"] }, \"Close sidebar\": { \"v\": [\"Закрити бічну панель\"] }, \"Favorite\": { \"v\": [\"Із зірочкою\"] }, \"Open sidebar\": { \"v\": [\"Бокове меню\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"Change name\": { \"v\": [\"Ismni o'zgartirish\"] }, \"Close sidebar\": { \"v\": [\"Yon panelni yoping\"] }, \"Favorite\": { \"v\": [\"Tanlangan\"] }, \"Open sidebar\": { \"v\": [\"Yon panelni oching\"] } } }, { \"l\": \"vi\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"Change name\": { \"v\": [\"修改名称\"] }, \"Close sidebar\": { \"v\": [\"关闭侧边栏\"] }, \"Favorite\": { \"v\": [\"喜爱\"] }, \"Open sidebar\": { \"v\": [\"打开侧边栏\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Change name\": { \"v\": [\"更改名稱\"] }, \"Close sidebar\": { \"v\": [\"關閉側邊欄\"] }, \"Favorite\": { \"v\": [\"喜愛\"] }, \"Open sidebar\": { \"v\": [\"打開側邊欄\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"Change name\": { \"v\": [\"變更名稱\"] }, \"Close sidebar\": { \"v\": [\"關閉側邊欄\"] }, \"Favorite\": { \"v\": [\"最愛\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"Change name\": { \"v\": [\"\"] }, \"Close sidebar\": { \"v\": [\"\"] }, \"Favorite\": { \"v\": [\"\"] } } }];\nconst t14 = [{ \"l\": \"af\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"Clear search\": { \"v\": [\"محو البحث\"] } } }, { \"l\": \"ast\", \"t\": { \"Clear search\": { \"v\": [\"Borrar la busca\"] } } }, { \"l\": \"az\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"bs\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"cs\", \"t\": { \"Clear search\": { \"v\": [\"Vyčistit vyhledávání\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"Clear search\": { \"v\": [\"Vyčistit vyhledávání\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"Clear search\": { \"v\": [\"Ryd søgning\"] } } }, { \"l\": \"de\", \"t\": { \"Clear search\": { \"v\": [\"Suche leeren\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Clear search\": { \"v\": [\"Suche leeren\"] } } }, { \"l\": \"el\", \"t\": { \"Clear search\": { \"v\": [\"Εκκαθάριση αναζήτησης\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Clear search\": { \"v\": [\"Clear search\"] } } }, { \"l\": \"eo\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"es\", \"t\": { \"Clear search\": { \"v\": [\"Limpiar búsqueda\"] } } }, { \"l\": \"es_419\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"Clear search\": { \"v\": [\"Limpiar búsqueda\"] } } }, { \"l\": \"es_CL\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"Clear search\": { \"v\": [\"Limpiar búsqueda\"] } } }, { \"l\": \"es_GT\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"Clear search\": { \"v\": [\"Limpiar búsqueda\"] } } }, { \"l\": \"es_NI\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"Clear search\": { \"v\": [\"Tühjenda otsing\"] } } }, { \"l\": \"eu\", \"t\": { \"Clear search\": { \"v\": [\"Garbitu bilaketa\"] } } }, { \"l\": \"fa\", \"t\": { \"Clear search\": { \"v\": [\"پاک کردن جستجو\"] } } }, { \"l\": \"fi\", \"t\": { \"Clear search\": { \"v\": [\"Tyhjennä haku\"] } } }, { \"l\": \"fo\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"Clear search\": { \"v\": [\"Effacer la recherche\"] } } }, { \"l\": \"ga\", \"t\": { \"Clear search\": { \"v\": [\"Glan cuardach\"] } } }, { \"l\": \"gd\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"Clear search\": { \"v\": [\"Limpar a busca\"] } } }, { \"l\": \"he\", \"t\": { \"Clear search\": { \"v\": [\"פינוי חיפוש\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"hy\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"Clear search\": { \"v\": [\"Bersihkan pencarian\"] } } }, { \"l\": \"ig\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"Clear search\": { \"v\": [\"Hreinsa leit\"] } } }, { \"l\": \"it\", \"t\": { \"Clear search\": { \"v\": [\"online\"] } } }, { \"l\": \"ja\", \"t\": { \"Clear search\": { \"v\": [\"検索をクリア\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"Clear search\": { \"v\": [\"検索をクリア\"] } } }, { \"l\": \"ka\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"Clear search\": { \"v\": [\"검색 지우기\"] } } }, { \"l\": \"la\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"lv\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"mk\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"mn\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"nb\", \"t\": { \"Clear search\": { \"v\": [\"Tøm søk\"] } } }, { \"l\": \"ne\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"Clear search\": { \"v\": [\"Wis zoekopdracht\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"pl\", \"t\": { \"Clear search\": { \"v\": [\"Wyczyść wyszukiwanie\"] } } }, { \"l\": \"ps\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"Clear search\": { \"v\": [\"Limpar pesquisa\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Clear search\": { \"v\": [\"Limpar pesquisa\"] } } }, { \"l\": \"ro\", \"t\": { \"Clear search\": { \"v\": [\"Șterge căutarea\"] } } }, { \"l\": \"ru\", \"t\": { \"Clear search\": { \"v\": [\"Очистить поиск\"] } } }, { \"l\": \"sc\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"Clear search\": { \"v\": [\"Vymazať vyhľadávanie\"] } } }, { \"l\": \"sl\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"sq\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"Clear search\": { \"v\": [\"Обриши претрагу\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"Clear search\": { \"v\": [\"Rensa sökning\"] } } }, { \"l\": \"sw\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"Clear search\": { \"v\": [\"Aramayı temizle\"] } } }, { \"l\": \"ug\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"Clear search\": { \"v\": [\"Очистити пошук\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"Clear search\": { \"v\": [\"Qidiruvni tozalash\"] } } }, { \"l\": \"vi\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"Clear search\": { \"v\": [\"清除搜索\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Clear search\": { \"v\": [\"清除搜索\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"Clear search\": { \"v\": [\"清除搜尋\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"Clear search\": { \"v\": [\"\"] } } }];\nconst t15 = [{ \"l\": \"af\", \"t\": {} }, { \"l\": \"ar\", \"t\": { \"Clear selected\": { \"v\": [\"محو المحدّد\"] }, \"Deselect {option}\": { \"v\": [\"إلغاء تحديد {option}\"] }, \"Options\": { \"v\": [\"خيارات\"] } } }, { \"l\": \"ast\", \"t\": { \"Clear selected\": { \"v\": [\"Borrar lo seleicionao\"] }, \"Deselect {option}\": { \"v\": [\"Deseleicionar «{option}»\"] }, \"Options\": { \"v\": [\"Opciones\"] } } }, { \"l\": \"az\", \"t\": {} }, { \"l\": \"be\", \"t\": {} }, { \"l\": \"bg\", \"t\": {} }, { \"l\": \"bn_BD\", \"t\": {} }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"bs\", \"t\": {} }, { \"l\": \"ca\", \"t\": {} }, { \"l\": \"cs\", \"t\": { \"Clear selected\": { \"v\": [\"Vyčistit vybrané\"] }, \"Deselect {option}\": { \"v\": [\"Zrušit výběr {option}\"] }, \"Options\": { \"v\": [\"Možnosti\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"Clear selected\": { \"v\": [\"Vyčistit vybrané\"] }, \"Deselect {option}\": { \"v\": [\"Zrušit výběr {option}\"] }, \"Options\": { \"v\": [\"Možnosti\"] } } }, { \"l\": \"cy_GB\", \"t\": {} }, { \"l\": \"da\", \"t\": { \"Clear selected\": { \"v\": [\"Ryd valgt\"] }, \"Deselect {option}\": { \"v\": [\"Fravælg {option}\"] }, \"Options\": { \"v\": [\"Indstillinger\"] } } }, { \"l\": \"de\", \"t\": { \"Clear selected\": { \"v\": [\"Auswahl leeren\"] }, \"Deselect {option}\": { \"v\": [\"{option} abwählen\"] }, \"Options\": { \"v\": [\"Optionen\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Clear selected\": { \"v\": [\"Auswahl leeren\"] }, \"Deselect {option}\": { \"v\": [\"{option} abwählen\"] }, \"Options\": { \"v\": [\"Optionen\"] } } }, { \"l\": \"el\", \"t\": { \"Clear selected\": { \"v\": [\"Εκκαθάριση επιλογής\"] }, \"Deselect {option}\": { \"v\": [\"Αποεπιλογή {option}\"] }, \"Options\": { \"v\": [\"Επιλογές\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Clear selected\": { \"v\": [\"Clear selected\"] }, \"Deselect {option}\": { \"v\": [\"Deselect {option}\"] }, \"Options\": { \"v\": [\"Options\"] } } }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": { \"Clear selected\": { \"v\": [\"Limpiar selección\"] }, \"Deselect {option}\": { \"v\": [\"Deseleccionar {option}\"] }, \"Options\": { \"v\": [\"Opciones\"] } } }, { \"l\": \"es_419\", \"t\": {} }, { \"l\": \"es_AR\", \"t\": { \"Clear selected\": { \"v\": [\"Limpiar selección\"] }, \"Deselect {option}\": { \"v\": [\"Deseleccionar {option}\"] }, \"Options\": { \"v\": [\"Opciones\"] } } }, { \"l\": \"es_CL\", \"t\": {} }, { \"l\": \"es_CO\", \"t\": {} }, { \"l\": \"es_CR\", \"t\": {} }, { \"l\": \"es_DO\", \"t\": {} }, { \"l\": \"es_EC\", \"t\": {} }, { \"l\": \"es_GT\", \"t\": {} }, { \"l\": \"es_HN\", \"t\": {} }, { \"l\": \"es_MX\", \"t\": { \"Clear selected\": { \"v\": [\"Limpiar selección\"] }, \"Deselect {option}\": { \"v\": [\"Deseleccionar {option}\"] }, \"Options\": { \"v\": [\"Opciones\"] } } }, { \"l\": \"es_NI\", \"t\": {} }, { \"l\": \"es_PA\", \"t\": {} }, { \"l\": \"es_PE\", \"t\": {} }, { \"l\": \"es_PR\", \"t\": {} }, { \"l\": \"es_PY\", \"t\": {} }, { \"l\": \"es_SV\", \"t\": {} }, { \"l\": \"es_UY\", \"t\": {} }, { \"l\": \"et_EE\", \"t\": { \"Clear selected\": { \"v\": [\"Tühjenad valik\"] }, \"Deselect {option}\": { \"v\": [\"Eemalda {option} valik\"] }, \"Options\": { \"v\": [\"Valikud\"] } } }, { \"l\": \"eu\", \"t\": {} }, { \"l\": \"fa\", \"t\": { \"Clear selected\": { \"v\": [\"پاک کردن مورد انتخاب شده\"] }, \"Deselect {option}\": { \"v\": [\"لغو انتخاب {option}\"] }, \"Options\": { \"v\": [\"گزینه‌ها\"] } } }, { \"l\": \"fi\", \"t\": { \"Clear selected\": { \"v\": [\"Tyhjennä valitut\"] }, \"Deselect {option}\": { \"v\": [\"Poista valinta {option}\"] }, \"Options\": { \"v\": [\"Valinnat\"] } } }, { \"l\": \"fo\", \"t\": {} }, { \"l\": \"fr\", \"t\": { \"Clear selected\": { \"v\": [\"Vider la sélection\"] }, \"Deselect {option}\": { \"v\": [\"Désélectionner {option}\"] }, \"Options\": { \"v\": [\"Options\"] } } }, { \"l\": \"ga\", \"t\": { \"Clear selected\": { \"v\": [\"Glan roghnaithe\"] }, \"Deselect {option}\": { \"v\": [\"Díroghnaigh {option}\"] }, \"Options\": { \"v\": [\"Roghanna\"] } } }, { \"l\": \"gd\", \"t\": {} }, { \"l\": \"gl\", \"t\": { \"Clear selected\": { \"v\": [\"Limpar o seleccionado\"] }, \"Deselect {option}\": { \"v\": [\"Desmarcar {opción}\"] }, \"Options\": { \"v\": [\"Opcións\"] } } }, { \"l\": \"he\", \"t\": {} }, { \"l\": \"hi_IN\", \"t\": {} }, { \"l\": \"hr\", \"t\": {} }, { \"l\": \"hsb\", \"t\": {} }, { \"l\": \"hu\", \"t\": {} }, { \"l\": \"hy\", \"t\": {} }, { \"l\": \"ia\", \"t\": {} }, { \"l\": \"id\", \"t\": { \"Clear selected\": { \"v\": [\"Hapus terpilih\"] }, \"Deselect {option}\": { \"v\": [\"Batalkan pemilihan {option}\"] } } }, { \"l\": \"ig\", \"t\": {} }, { \"l\": \"is\", \"t\": { \"Clear selected\": { \"v\": [\"Hreinsa valið\"] }, \"Deselect {option}\": { \"v\": [\"Afvelja {option}\"] }, \"Options\": { \"v\": [\"Valkostir\"] } } }, { \"l\": \"it\", \"t\": { \"Clear selected\": { \"v\": [\"Cancella selezionati\"] }, \"Deselect {option}\": { \"v\": [\"Deselezionare {option}\"] } } }, { \"l\": \"ja\", \"t\": { \"Clear selected\": { \"v\": [\"選択を解除\"] }, \"Deselect {option}\": { \"v\": [\"{option} の選択を解除\"] }, \"Options\": { \"v\": [\"オプション\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"Clear selected\": { \"v\": [\"選択を解除\"] }, \"Deselect {option}\": { \"v\": [\"{option} の選択を解除\"] }, \"Options\": { \"v\": [\"オプション\"] } } }, { \"l\": \"ka\", \"t\": {} }, { \"l\": \"ka_GE\", \"t\": {} }, { \"l\": \"kab\", \"t\": {} }, { \"l\": \"kk\", \"t\": {} }, { \"l\": \"km\", \"t\": {} }, { \"l\": \"kn\", \"t\": {} }, { \"l\": \"ko\", \"t\": { \"Clear selected\": { \"v\": [\"선택 항목 지우기\"] }, \"Deselect {option}\": { \"v\": [\"{option} 선택 해제\"] }, \"Options\": { \"v\": [\"옵션\"] } } }, { \"l\": \"la\", \"t\": {} }, { \"l\": \"lb\", \"t\": {} }, { \"l\": \"lo\", \"t\": {} }, { \"l\": \"lt_LT\", \"t\": {} }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": {} }, { \"l\": \"mn\", \"t\": {} }, { \"l\": \"mr\", \"t\": {} }, { \"l\": \"ms_MY\", \"t\": {} }, { \"l\": \"my\", \"t\": {} }, { \"l\": \"nb\", \"t\": { \"Clear selected\": { \"v\": [\"Tøm merket\"] }, \"Deselect {option}\": { \"v\": [\"Opphev valg {option}\"] }, \"Options\": { \"v\": [\"Alternativer\"] } } }, { \"l\": \"ne\", \"t\": {} }, { \"l\": \"nl\", \"t\": { \"Clear selected\": { \"v\": [\"Selectie wissen\"] }, \"Deselect {option}\": { \"v\": [\"Deselecteer {optie}\"] }, \"Options\": { \"v\": [\"Opties\"] } } }, { \"l\": \"nn_NO\", \"t\": {} }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"Clear selected\": { \"v\": [\"Wyczyść wybrane\"] }, \"Deselect {option}\": { \"v\": [\"Odznacz {option}\"] }, \"Options\": { \"v\": [\"Opcje\"] } } }, { \"l\": \"ps\", \"t\": {} }, { \"l\": \"pt_BR\", \"t\": { \"Clear selected\": { \"v\": [\"Limpar selecionados\"] }, \"Deselect {option}\": { \"v\": [\"Desmacar {option}\"] }, \"Options\": { \"v\": [\"Opções\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Clear selected\": { \"v\": [\"Limpeza selecionada\"] }, \"Deselect {option}\": { \"v\": [\"Desmarcar {option}\"] }, \"Options\": { \"v\": [\"Opções\"] } } }, { \"l\": \"ro\", \"t\": { \"Clear selected\": { \"v\": [\"Șterge selecția\"] }, \"Deselect {option}\": { \"v\": [\"Deselctează {option}\"] } } }, { \"l\": \"ru\", \"t\": { \"Clear selected\": { \"v\": [\"Очистить выбранный\"] }, \"Deselect {option}\": { \"v\": [\"Отменить выбор {option}\"] }, \"Options\": { \"v\": [\"Варианты\"] } } }, { \"l\": \"sc\", \"t\": {} }, { \"l\": \"si\", \"t\": {} }, { \"l\": \"sk\", \"t\": { \"Clear selected\": { \"v\": [\"Vymazať vybraté\"] }, \"Deselect {option}\": { \"v\": [\"Zrušiť výber {option}\"] }, \"Options\": { \"v\": [\"možnosti\"] } } }, { \"l\": \"sl\", \"t\": {} }, { \"l\": \"sq\", \"t\": {} }, { \"l\": \"sr\", \"t\": { \"Clear selected\": { \"v\": [\"Обриши изабрано\"] }, \"Deselect {option}\": { \"v\": [\"Уклони избор {option}\"] }, \"Options\": { \"v\": [\"Опције\"] } } }, { \"l\": \"sr@latin\", \"t\": {} }, { \"l\": \"sv\", \"t\": { \"Clear selected\": { \"v\": [\"Rensa val\"] }, \"Deselect {option}\": { \"v\": [\"Avmarkera {option}\"] }, \"Options\": { \"v\": [\"Alternativ\"] } } }, { \"l\": \"sw\", \"t\": {} }, { \"l\": \"ta\", \"t\": {} }, { \"l\": \"th\", \"t\": {} }, { \"l\": \"tk\", \"t\": {} }, { \"l\": \"tr\", \"t\": { \"Clear selected\": { \"v\": [\"Seçilmişleri temizle\"] }, \"Deselect {option}\": { \"v\": [\"{option} bırak\"] }, \"Options\": { \"v\": [\"Seçenekler\"] } } }, { \"l\": \"ug\", \"t\": {} }, { \"l\": \"uk\", \"t\": { \"Clear selected\": { \"v\": [\"Очистити вибране\"] }, \"Deselect {option}\": { \"v\": [\"Зняти вибір {option}\"] }, \"Options\": { \"v\": [\"Параметри\"] } } }, { \"l\": \"ur_PK\", \"t\": {} }, { \"l\": \"uz\", \"t\": { \"Clear selected\": { \"v\": [\"Tanlanganni tozalash\"] }, \"Deselect {option}\": { \"v\": [\"{option}tanlovni bekor qiling\"] }, \"Options\": { \"v\": [\"Variantlar\"] } } }, { \"l\": \"vi\", \"t\": {} }, { \"l\": \"zh_CN\", \"t\": { \"Clear selected\": { \"v\": [\"清除所选\"] }, \"Deselect {option}\": { \"v\": [\"取消选择 {option}\"] }, \"Options\": { \"v\": [\"选项\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Clear selected\": { \"v\": [\"清除所選項目\"] }, \"Deselect {option}\": { \"v\": [\"取消選擇 {option}\"] }, \"Options\": { \"v\": [\"選項\"] } } }, { \"l\": \"zh_TW\", \"t\": {} }, { \"l\": \"zu_ZA\", \"t\": {} }];\nconst t16 = [{ \"l\": \"af\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"Clear text\": { \"v\": [\"محو النص\"] }, \"Save changes\": { \"v\": [\"حفظ التغييرات\"] } } }, { \"l\": \"ast\", \"t\": { \"Clear text\": { \"v\": [\"Borrar el testu\"] }, \"Save changes\": { \"v\": [\"Guardar los cambeos\"] } } }, { \"l\": \"az\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"bs\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"Clear text\": { \"v\": [\"Netejar text\"] } } }, { \"l\": \"cs\", \"t\": { \"Clear text\": { \"v\": [\"Čitelný text\"] }, \"Save changes\": { \"v\": [\"Uložit změny\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"Clear text\": { \"v\": [\"Čitelný text\"] }, \"Save changes\": { \"v\": [\"Uložit změny\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"Clear text\": { \"v\": [\"Ryd tekst\"] }, \"Save changes\": { \"v\": [\"Gem ændringer\"] } } }, { \"l\": \"de\", \"t\": { \"Clear text\": { \"v\": [\"Klartext\"] }, \"Save changes\": { \"v\": [\"Änderungen speichern\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Clear text\": { \"v\": [\"Klartext\"] }, \"Save changes\": { \"v\": [\"Änderungen speichern\"] } } }, { \"l\": \"el\", \"t\": { \"Clear text\": { \"v\": [\"Εκκαθάριση κειμένου\"] }, \"Save changes\": { \"v\": [\"Αποθήκευση αλλαγών\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Clear text\": { \"v\": [\"Clear text\"] }, \"Save changes\": { \"v\": [\"Save changes\"] } } }, { \"l\": \"eo\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"es\", \"t\": { \"Clear text\": { \"v\": [\"Limpiar texto\"] }, \"Save changes\": { \"v\": [\"Guardar cambios\"] } } }, { \"l\": \"es_419\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"Clear text\": { \"v\": [\"Limpiar texto\"] }, \"Save changes\": { \"v\": [\"Guardar cambios\"] } } }, { \"l\": \"es_CL\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"Clear text\": { \"v\": [\"Limpiar texto\"] } } }, { \"l\": \"es_GT\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"Clear text\": { \"v\": [\"Limpiar texto\"] }, \"Save changes\": { \"v\": [\"Guardar cambios\"] } } }, { \"l\": \"es_NI\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"Clear text\": { \"v\": [\"Kustuta tekst\"] }, \"Save changes\": { \"v\": [\"Salvesta muudatused\"] } } }, { \"l\": \"eu\", \"t\": { \"Clear text\": { \"v\": [\"Garbitu testua\"] } } }, { \"l\": \"fa\", \"t\": { \"Clear text\": { \"v\": [\"پاک کردن متن\"] }, \"Save changes\": { \"v\": [\"ذخیرهٔ تغییرات\"] } } }, { \"l\": \"fi\", \"t\": { \"Clear text\": { \"v\": [\"Tyhjennä teksti\"] }, \"Save changes\": { \"v\": [\"Tallenna muutokset\"] } } }, { \"l\": \"fo\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"Clear text\": { \"v\": [\"Effacer le texte\"] }, \"Save changes\": { \"v\": [\"Sauvegarder les changements\"] } } }, { \"l\": \"ga\", \"t\": { \"Clear text\": { \"v\": [\"Glan téacs\"] }, \"Save changes\": { \"v\": [\"Sabháil na hathruithe\"] } } }, { \"l\": \"gd\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"Clear text\": { \"v\": [\"Limpar o texto\"] }, \"Save changes\": { \"v\": [\"Gardar os cambios\"] } } }, { \"l\": \"he\", \"t\": { \"Clear text\": { \"v\": [\"פינוי טקסט\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"Clear text\": { \"v\": [\"Szöveg törlése\"] } } }, { \"l\": \"hy\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"Clear text\": { \"v\": [\"Bersihkan teks\"] }, \"Save changes\": { \"v\": [\"Simpan perubahan\"] } } }, { \"l\": \"ig\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"Clear text\": { \"v\": [\"Hreinsa texta\"] }, \"Save changes\": { \"v\": [\"Vista breytingar\"] } } }, { \"l\": \"it\", \"t\": { \"Clear text\": { \"v\": [\"Cancella il testo\"] }, \"Save changes\": { \"v\": [\"Salva le modifiche\"] } } }, { \"l\": \"ja\", \"t\": { \"Clear text\": { \"v\": [\"テキストをクリア\"] }, \"Save changes\": { \"v\": [\"変更を保存\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"Clear text\": { \"v\": [\"テキストをクリア\"] }, \"Save changes\": { \"v\": [\"変更を保存\"] } } }, { \"l\": \"ka\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"Clear text\": { \"v\": [\"텍스트 지우기\"] }, \"Save changes\": { \"v\": [\"변경 사항 저장\"] } } }, { \"l\": \"la\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"lv\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"mk\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"mn\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"nb\", \"t\": { \"Clear text\": { \"v\": [\"Fjern tekst\"] }, \"Save changes\": { \"v\": [\"Lagre endringer\"] } } }, { \"l\": \"ne\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"Clear text\": { \"v\": [\"Wis tekst\"] }, \"Save changes\": { \"v\": [\"Wijzigingen opslaan\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"pl\", \"t\": { \"Clear text\": { \"v\": [\"Wyczyść tekst\"] }, \"Save changes\": { \"v\": [\"Zapisz zmiany\"] } } }, { \"l\": \"ps\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"Clear text\": { \"v\": [\"Limpar texto\"] }, \"Save changes\": { \"v\": [\"Salvar alterações\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Clear text\": { \"v\": [\"Limpar texto\"] }, \"Save changes\": { \"v\": [\"Gravar alterações\"] } } }, { \"l\": \"ro\", \"t\": { \"Clear text\": { \"v\": [\"Șterge textul\"] }, \"Save changes\": { \"v\": [\"Salvează modificările\"] } } }, { \"l\": \"ru\", \"t\": { \"Clear text\": { \"v\": [\"Очистить текст\"] }, \"Save changes\": { \"v\": [\"Сохранить изменения\"] } } }, { \"l\": \"sc\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"Clear text\": { \"v\": [\"Vamazať text\"] }, \"Save changes\": { \"v\": [\"Uložiť zmeny\"] } } }, { \"l\": \"sl\", \"t\": { \"Clear text\": { \"v\": [\"Počisti besedilo\"] } } }, { \"l\": \"sq\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"Clear text\": { \"v\": [\"Обриши текст\"] }, \"Save changes\": { \"v\": [\"Сачувај измене\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"Clear text\": { \"v\": [\"Ta bort text\"] }, \"Save changes\": { \"v\": [\"Spara ändringar\"] } } }, { \"l\": \"sw\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"Clear text\": { \"v\": [\"Metni temizle\"] }, \"Save changes\": { \"v\": [\"Değişiklikleri kaydet\"] } } }, { \"l\": \"ug\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"Clear text\": { \"v\": [\"Очистити текст\"] }, \"Save changes\": { \"v\": [\"Зберегти зміни\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"Clear text\": { \"v\": [\"Matnni tozalash\"] }, \"Save changes\": { \"v\": [\"O'zgarishlarni saqlang\"] } } }, { \"l\": \"vi\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"Clear text\": { \"v\": [\"清除文本\"] }, \"Save changes\": { \"v\": [\"保存修改\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Clear text\": { \"v\": [\"清除文本\"] }, \"Save changes\": { \"v\": [\"保存更改\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"Clear text\": { \"v\": [\"清除文字\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"Clear text\": { \"v\": [\"\"] } } }];\nconst t17 = [{ \"l\": \"af\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"Close\": { \"v\": [\"إغلاق\"] } } }, { \"l\": \"ast\", \"t\": { \"Close\": { \"v\": [\"Zarrar\"] } } }, { \"l\": \"az\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"Close\": { \"v\": [\"Serriñ\"] } } }, { \"l\": \"bs\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"Close\": { \"v\": [\"Tanca\"] } } }, { \"l\": \"cs\", \"t\": { \"Close\": { \"v\": [\"Zavřít\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"Close\": { \"v\": [\"Zavřít\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"Close\": { \"v\": [\"Luk\"] } } }, { \"l\": \"de\", \"t\": { \"Close\": { \"v\": [\"Schließen\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Close\": { \"v\": [\"Schließen\"] } } }, { \"l\": \"el\", \"t\": { \"Close\": { \"v\": [\"Κλείσιμο\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Close\": { \"v\": [\"Close\"] } } }, { \"l\": \"eo\", \"t\": { \"Close\": { \"v\": [\"Fermu\"] } } }, { \"l\": \"es\", \"t\": { \"Close\": { \"v\": [\"Cerrar\"] } } }, { \"l\": \"es_419\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"Close\": { \"v\": [\"Cerrar\"] } } }, { \"l\": \"es_CL\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"Close\": { \"v\": [\"Cerrar\"] } } }, { \"l\": \"es_GT\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"Close\": { \"v\": [\"Cerrar\"] } } }, { \"l\": \"es_NI\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"Close\": { \"v\": [\"Sulge\"] } } }, { \"l\": \"eu\", \"t\": { \"Close\": { \"v\": [\"Itxi\"] } } }, { \"l\": \"fa\", \"t\": { \"Close\": { \"v\": [\"بستن\"] } } }, { \"l\": \"fi\", \"t\": { \"Close\": { \"v\": [\"Sulje\"] } } }, { \"l\": \"fo\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"Close\": { \"v\": [\"Fermer\"] } } }, { \"l\": \"ga\", \"t\": { \"Close\": { \"v\": [\"Dún\"] } } }, { \"l\": \"gd\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"Close\": { \"v\": [\"Pechar\"] } } }, { \"l\": \"he\", \"t\": { \"Close\": { \"v\": [\"סגירה\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"Close\": { \"v\": [\"Bezárás\"] } } }, { \"l\": \"hy\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"Close\": { \"v\": [\"Tutup\"] } } }, { \"l\": \"ig\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"Close\": { \"v\": [\"Loka\"] } } }, { \"l\": \"it\", \"t\": { \"Close\": { \"v\": [\"Chiudi\"] } } }, { \"l\": \"ja\", \"t\": { \"Close\": { \"v\": [\"閉じる\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"Close\": { \"v\": [\"閉じる\"] } } }, { \"l\": \"ka\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"Close\": { \"v\": [\"닫기\"] } } }, { \"l\": \"la\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"Close\": { \"v\": [\"Užverti\"] } } }, { \"l\": \"lv\", \"t\": { \"Close\": { \"v\": [\"Aizvērt\"] } } }, { \"l\": \"mk\", \"t\": { \"Close\": { \"v\": [\"Затвори\"] } } }, { \"l\": \"mn\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"Close\": { \"v\": [\"ပိတ်ရန်\"] } } }, { \"l\": \"nb\", \"t\": { \"Close\": { \"v\": [\"Lukk\"] } } }, { \"l\": \"ne\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"Close\": { \"v\": [\"Sluiten\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"Close\": { \"v\": [\"Tampar\"] } } }, { \"l\": \"pl\", \"t\": { \"Close\": { \"v\": [\"Zamknij\"] } } }, { \"l\": \"ps\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"Close\": { \"v\": [\"Fechar\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Close\": { \"v\": [\"Fechar\"] } } }, { \"l\": \"ro\", \"t\": { \"Close\": { \"v\": [\"Închideți\"] } } }, { \"l\": \"ru\", \"t\": { \"Close\": { \"v\": [\"Закрыть\"] } } }, { \"l\": \"sc\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"Close\": { \"v\": [\"Zavrieť\"] } } }, { \"l\": \"sl\", \"t\": { \"Close\": { \"v\": [\"Zapri\"] } } }, { \"l\": \"sq\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"Close\": { \"v\": [\"Затвори\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"Close\": { \"v\": [\"Stäng\"] } } }, { \"l\": \"sw\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"Close\": { \"v\": [\"Kapat\"] } } }, { \"l\": \"ug\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"Close\": { \"v\": [\"Закрити\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"Close\": { \"v\": [\"Yopish\"] } } }, { \"l\": \"vi\", \"t\": { \"Close\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"Close\": { \"v\": [\"关闭\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Close\": { \"v\": [\"關閉\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"Close\": { \"v\": [\"關閉\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"Close\": { \"v\": [\"\"] } } }];\nconst t18 = [{ \"l\": \"af\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"Close navigation\": { \"v\": [\"إغلاق التصفح\"] }, \"Open navigation {shortcut}\": { \"v\": [\"إفتَح المتصفح {shortcut}\"] } } }, { \"l\": \"ast\", \"t\": { \"Close navigation\": { \"v\": [\"Zarrar la navegación\"] } } }, { \"l\": \"az\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"bs\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"Close navigation\": { \"v\": [\"Tanca la navegació\"] } } }, { \"l\": \"cs\", \"t\": { \"Close navigation\": { \"v\": [\"Zavřít navigaci\"] }, \"Open navigation {shortcut}\": { \"v\": [\"Otevřít navigaci {shortcut}\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"Close navigation\": { \"v\": [\"Zavřít navigaci\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"Close navigation\": { \"v\": [\"Luk navigation\"] }, \"Open navigation {shortcut}\": { \"v\": [\"Åbn navigation {shortcut}\"] } } }, { \"l\": \"de\", \"t\": { \"Close navigation\": { \"v\": [\"Navigation schließen\"] }, \"Open navigation {shortcut}\": { \"v\": [\"Navigation öffnen {shortcut}\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Close navigation\": { \"v\": [\"Navigation schließen\"] }, \"Open navigation {shortcut}\": { \"v\": [\"Navigation öffnen {shortcut}\"] } } }, { \"l\": \"el\", \"t\": { \"Close navigation\": { \"v\": [\"Κλείσιμο πλοήγησης\"] }, \"Open navigation {shortcut}\": { \"v\": [\"Άνοιγμα πλοήγησης {shortcut}\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Close navigation\": { \"v\": [\"Close navigation\"] }, \"Open navigation {shortcut}\": { \"v\": [\"Open navigation {shortcut}\"] } } }, { \"l\": \"eo\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"es\", \"t\": { \"Close navigation\": { \"v\": [\"Cerrar navegación\"] } } }, { \"l\": \"es_419\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"Close navigation\": { \"v\": [\"Cerrar navegación\"] } } }, { \"l\": \"es_CL\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"Close navigation\": { \"v\": [\"Cerrar navegación\"] } } }, { \"l\": \"es_GT\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"Close navigation\": { \"v\": [\"Cerrar navegación\"] } } }, { \"l\": \"es_NI\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"Close navigation\": { \"v\": [\"Sulge navigatsioon\"] }, \"Open navigation {shortcut}\": { \"v\": [\"Ava valik {shortcut}\"] } } }, { \"l\": \"eu\", \"t\": { \"Close navigation\": { \"v\": [\"Itxi nabigazioa\"] } } }, { \"l\": \"fa\", \"t\": { \"Close navigation\": { \"v\": [\"بستن بخش ناوبری\"] } } }, { \"l\": \"fi\", \"t\": { \"Close navigation\": { \"v\": [\"Sulje navigaatio\"] }, \"Open navigation {shortcut}\": { \"v\": [\"Avaa navigaatio {shortcut}\"] } } }, { \"l\": \"fo\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"Close navigation\": { \"v\": [\"Fermer la navigation\"] }, \"Open navigation {shortcut}\": { \"v\": [\"Ouvrir la navigation {shortcut}\"] } } }, { \"l\": \"ga\", \"t\": { \"Close navigation\": { \"v\": [\"Dún nascleanúint\"] }, \"Open navigation {shortcut}\": { \"v\": [\"Oscail nascleanúint {shortcut}\"] } } }, { \"l\": \"gd\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"Close navigation\": { \"v\": [\"Pechar a navegación\"] }, \"Open navigation {shortcut}\": { \"v\": [\"Abrir a navegación {shortcut}\"] } } }, { \"l\": \"he\", \"t\": { \"Close navigation\": { \"v\": [\"סגירת הניווט\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"Close navigation\": { \"v\": [\"Navigáció bezárása\"] } } }, { \"l\": \"hy\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"Close navigation\": { \"v\": [\"Tutup navigasi\"] } } }, { \"l\": \"ig\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"Close navigation\": { \"v\": [\"Loka leiðsagnarsleða\"] }, \"Open navigation {shortcut}\": { \"v\": [\"Opna flakkstýringu {shortcut}\"] } } }, { \"l\": \"it\", \"t\": { \"Close navigation\": { \"v\": [\"Chiudi la navigazione\"] } } }, { \"l\": \"ja\", \"t\": { \"Close navigation\": { \"v\": [\"ナビゲーションを閉じる\"] }, \"Open navigation {shortcut}\": { \"v\": [\"ナビゲーションを開く {shortcut}\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"Close navigation\": { \"v\": [\"ナビゲーションを閉じる\"] } } }, { \"l\": \"ka\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"Close navigation\": { \"v\": [\"탐색 닫기\"] }, \"Open navigation {shortcut}\": { \"v\": [\"{shortcut} 탐색 열기\"] } } }, { \"l\": \"la\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"lv\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"mk\", \"t\": { \"Close navigation\": { \"v\": [\"Затвори навигација\"] } } }, { \"l\": \"mn\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"nb\", \"t\": { \"Close navigation\": { \"v\": [\"Lukk navigasjon\"] } } }, { \"l\": \"ne\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"Close navigation\": { \"v\": [\"Navigatie sluiten\"] }, \"Open navigation {shortcut}\": { \"v\": [\"Navigatie openen {shortcut}\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"pl\", \"t\": { \"Close navigation\": { \"v\": [\"Zamknij nawigację\"] }, \"Open navigation {shortcut}\": { \"v\": [\"Otwórz nawigację {shortcut}\"] } } }, { \"l\": \"ps\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"Close navigation\": { \"v\": [\"Fechar navegação\"] }, \"Open navigation {shortcut}\": { \"v\": [\"Abrir navegação {shortcut}\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Close navigation\": { \"v\": [\"Fechar navegação\"] }, \"Open navigation {shortcut}\": { \"v\": [\"Abrir navegação {shortcut}\"] } } }, { \"l\": \"ro\", \"t\": { \"Close navigation\": { \"v\": [\"Închideți navigarea\"] } } }, { \"l\": \"ru\", \"t\": { \"Close navigation\": { \"v\": [\"Закрыть навигацию\"] }, \"Open navigation {shortcut}\": { \"v\": [\"Открыть навигацию {shortcut}\"] } } }, { \"l\": \"sc\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"Close navigation\": { \"v\": [\"Zavrieť navigáciu\"] }, \"Open navigation {shortcut}\": { \"v\": [\"Otvoriť navigáciu {shortcut}\"] } } }, { \"l\": \"sl\", \"t\": { \"Close navigation\": { \"v\": [\"Zapri krmarjenje\"] } } }, { \"l\": \"sq\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"Close navigation\": { \"v\": [\"Затвори навигацију\"] }, \"Open navigation {shortcut}\": { \"v\": [\"Отвори навигацију {shortcut}\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"Close navigation\": { \"v\": [\"Stäng navigering\"] }, \"Open navigation {shortcut}\": { \"v\": [\"Öppna navigering {shortcut}\"] } } }, { \"l\": \"sw\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"Close navigation\": { \"v\": [\"Gezinmeyi kapat\"] }, \"Open navigation {shortcut}\": { \"v\": [\"Gezinmeyi aç {shortcut}\"] } } }, { \"l\": \"ug\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"Close navigation\": { \"v\": [\"Закрити навігацію\"] }, \"Open navigation {shortcut}\": { \"v\": [\"Відкрити навігацію {shortcut}\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"Close navigation\": { \"v\": [\"Navigatsiyani yopish\"] }, \"Open navigation {shortcut}\": { \"v\": [\" {shortcut} navigatsiyani oching\"] } } }, { \"l\": \"vi\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"Close navigation\": { \"v\": [\"关闭导航\"] }, \"Open navigation {shortcut}\": { \"v\": [\"打开导览{shortcut}\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Close navigation\": { \"v\": [\"關閉導航\"] }, \"Open navigation {shortcut}\": { \"v\": [\"開啟導航 {shortcut}\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"Close navigation\": { \"v\": [\"關閉導航\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"Close navigation\": { \"v\": [\"\"] } } }];\nconst t19 = [{ \"l\": \"af\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"Collapse menu\": { \"v\": [\"طي القائمة\"] }, \"Open menu\": { \"v\": [\"إفتَح القائمة\"] } } }, { \"l\": \"ast\", \"t\": { \"Collapse menu\": { \"v\": [\"Recoyer el menú\"] }, \"Open menu\": { \"v\": [\"Abrir le menú\"] } } }, { \"l\": \"az\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"bs\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"cs\", \"t\": { \"Collapse menu\": { \"v\": [\"Sbalit nabídku\"] }, \"Open menu\": { \"v\": [\"Otevřít nabídku\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"Collapse menu\": { \"v\": [\"Sbalit nabídku\"] }, \"Open menu\": { \"v\": [\"Otevřít nabídku\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"Collapse menu\": { \"v\": [\"Skjul menuen\"] }, \"Open menu\": { \"v\": [\"Åben menu\"] } } }, { \"l\": \"de\", \"t\": { \"Collapse menu\": { \"v\": [\"Menü einklappen\"] }, \"Open menu\": { \"v\": [\"Menü öffnen\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Collapse menu\": { \"v\": [\"Menü einklappen\"] }, \"Open menu\": { \"v\": [\"Menü öffnen\"] } } }, { \"l\": \"el\", \"t\": { \"Collapse menu\": { \"v\": [\"Σύμπτυξη μενού\"] }, \"Open menu\": { \"v\": [\"Άνοιγμα μενού\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Collapse menu\": { \"v\": [\"Collapse menu\"] }, \"Open menu\": { \"v\": [\"Open menu\"] } } }, { \"l\": \"eo\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"es\", \"t\": { \"Collapse menu\": { \"v\": [\"Ocultar menú\"] }, \"Open menu\": { \"v\": [\"Abrir menú\"] } } }, { \"l\": \"es_419\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"Collapse menu\": { \"v\": [\"Ocultar menú\"] }, \"Open menu\": { \"v\": [\"Abrir menú\"] } } }, { \"l\": \"es_CL\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"Collapse menu\": { \"v\": [\"Ocultar menú\"] }, \"Open menu\": { \"v\": [\"Abrir menú\"] } } }, { \"l\": \"es_GT\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"Collapse menu\": { \"v\": [\"Ocultar menú\"] }, \"Open menu\": { \"v\": [\"Abrir menú\"] } } }, { \"l\": \"es_NI\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"Collapse menu\": { \"v\": [\"Menüü kokkuklappimine\"] }, \"Open menu\": { \"v\": [\"Ava menüü\"] } } }, { \"l\": \"eu\", \"t\": { \"Collapse menu\": { \"v\": [\"Tolestu menua\"] }, \"Open menu\": { \"v\": [\"Ireki menua\"] } } }, { \"l\": \"fa\", \"t\": { \"Collapse menu\": { \"v\": [\"بستن فهرست\"] }, \"Open menu\": { \"v\": [\"باز کردن فهرست\"] } } }, { \"l\": \"fi\", \"t\": { \"Collapse menu\": { \"v\": [\"Supista valikko\"] }, \"Open menu\": { \"v\": [\"Avaa valikko\"] } } }, { \"l\": \"fo\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"Collapse menu\": { \"v\": [\"Réduire le menu\"] }, \"Open menu\": { \"v\": [\"Ouvrir le menu\"] } } }, { \"l\": \"ga\", \"t\": { \"Collapse menu\": { \"v\": [\"Roghchlár Laghdaigh\"] }, \"Open menu\": { \"v\": [\"Roghchlár a oscailt\"] } } }, { \"l\": \"gd\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"Collapse menu\": { \"v\": [\"Contraer o menú\"] }, \"Open menu\": { \"v\": [\"Abrir o menú\"] } } }, { \"l\": \"he\", \"t\": { \"Collapse menu\": { \"v\": [\"צמצום התפריט\"] }, \"Open menu\": { \"v\": [\"פתיחת תפריט\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"hy\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"Collapse menu\": { \"v\": [\"Ciutkan menu\"] }, \"Open menu\": { \"v\": [\"Buka menu\"] } } }, { \"l\": \"ig\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"Collapse menu\": { \"v\": [\"Fella valmynd saman\"] }, \"Open menu\": { \"v\": [\"Opna valmynd\"] } } }, { \"l\": \"it\", \"t\": { \"Collapse menu\": { \"v\": [\"Chiudi Menu\"] }, \"Open menu\": { \"v\": [\"Apri il menu\"] } } }, { \"l\": \"ja\", \"t\": { \"Collapse menu\": { \"v\": [\"メニューの折りたたみ\"] }, \"Open menu\": { \"v\": [\"メニューを開く\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"Collapse menu\": { \"v\": [\"メニューの折りたたみ\"] }, \"Open menu\": { \"v\": [\"メニューを開く\"] } } }, { \"l\": \"ka\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"Collapse menu\": { \"v\": [\"메뉴 접기\"] }, \"Open menu\": { \"v\": [\"메뉴 열기\"] } } }, { \"l\": \"la\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"lv\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"mk\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"mn\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"nb\", \"t\": { \"Collapse menu\": { \"v\": [\"Skjul meny\"] }, \"Open menu\": { \"v\": [\"Åpne meny\"] } } }, { \"l\": \"ne\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"Collapse menu\": { \"v\": [\"Klap menu in\"] }, \"Open menu\": { \"v\": [\"Open menu\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"pl\", \"t\": { \"Collapse menu\": { \"v\": [\"Zwiń menu\"] }, \"Open menu\": { \"v\": [\"Otwórz menu\"] } } }, { \"l\": \"ps\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"Collapse menu\": { \"v\": [\"Recolher menu\"] }, \"Open menu\": { \"v\": [\"Abrir menu\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Collapse menu\": { \"v\": [\"Ocultar menu\"] }, \"Open menu\": { \"v\": [\"Abrir menu\"] } } }, { \"l\": \"ro\", \"t\": { \"Collapse menu\": { \"v\": [\"Restrânge meniul\"] }, \"Open menu\": { \"v\": [\"Deschide meniul\"] } } }, { \"l\": \"ru\", \"t\": { \"Collapse menu\": { \"v\": [\"Свернуть меню\"] }, \"Open menu\": { \"v\": [\"Открыть меню\"] } } }, { \"l\": \"sc\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"Collapse menu\": { \"v\": [\"Zbaliť menu\"] }, \"Open menu\": { \"v\": [\"Otvoriť menu\"] } } }, { \"l\": \"sl\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"sq\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"Collapse menu\": { \"v\": [\"Сажми мени\"] }, \"Open menu\": { \"v\": [\"Отвори мени\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"Collapse menu\": { \"v\": [\"Dölj menyn\"] }, \"Open menu\": { \"v\": [\"Öppna menyn\"] } } }, { \"l\": \"sw\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"Collapse menu\": { \"v\": [\"Menüyü daralt\"] }, \"Open menu\": { \"v\": [\"Menüyü aç\"] } } }, { \"l\": \"ug\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"Collapse menu\": { \"v\": [\"Згорнути меню\"] }, \"Open menu\": { \"v\": [\"Відкрити меню\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"Collapse menu\": { \"v\": [\"Menyuni yig‘ish\"] }, \"Open menu\": { \"v\": [\"Menyuni oching\"] } } }, { \"l\": \"vi\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"Collapse menu\": { \"v\": [\"收起菜单\"] }, \"Open menu\": { \"v\": [\"打开菜单\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Collapse menu\": { \"v\": [\"折疊選單\"] }, \"Open menu\": { \"v\": [\"開啟選單\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"Collapse menu\": { \"v\": [\"折疊選單\"] }, \"Open menu\": { \"v\": [\"開啟選單\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"Collapse menu\": { \"v\": [\"\"] }, \"Open menu\": { \"v\": [\"\"] } } }];\nconst t20 = [{ \"l\": \"af\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"Edit item\": { \"v\": [\"تعديل عنصر\"] } } }, { \"l\": \"ast\", \"t\": { \"Edit item\": { \"v\": [\"Editar l'elementu\"] } } }, { \"l\": \"az\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"bs\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"Edit item\": { \"v\": [\"Edita l'element\"] } } }, { \"l\": \"cs\", \"t\": { \"Edit item\": { \"v\": [\"Upravit položku\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"Edit item\": { \"v\": [\"Upravit položku\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"Edit item\": { \"v\": [\"Rediger emne\"] } } }, { \"l\": \"de\", \"t\": { \"Edit item\": { \"v\": [\"Objekt bearbeiten\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Edit item\": { \"v\": [\"Element bearbeiten\"] } } }, { \"l\": \"el\", \"t\": { \"Edit item\": { \"v\": [\"Επεξεργασία αντικειμένου\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Edit item\": { \"v\": [\"Edit item\"] } } }, { \"l\": \"eo\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"es\", \"t\": { \"Edit item\": { \"v\": [\"Editar elemento\"] } } }, { \"l\": \"es_419\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"Edit item\": { \"v\": [\"Editar elemento\"] } } }, { \"l\": \"es_CL\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"Edit item\": { \"v\": [\"Editar elemento\"] } } }, { \"l\": \"es_GT\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"Edit item\": { \"v\": [\"Editar elemento\"] } } }, { \"l\": \"es_NI\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"Edit item\": { \"v\": [\"Muuda objekti\"] } } }, { \"l\": \"eu\", \"t\": { \"Edit item\": { \"v\": [\"Editatu elementua\"] } } }, { \"l\": \"fa\", \"t\": { \"Edit item\": { \"v\": [\"ویرایش مورد\"] } } }, { \"l\": \"fi\", \"t\": { \"Edit item\": { \"v\": [\"Muokkaa kohdetta\"] } } }, { \"l\": \"fo\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"Edit item\": { \"v\": [\"Éditer l'élément\"] } } }, { \"l\": \"ga\", \"t\": { \"Edit item\": { \"v\": [\"Cuir mír in eagar\"] } } }, { \"l\": \"gd\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"Edit item\": { \"v\": [\"Editar o elemento\"] } } }, { \"l\": \"he\", \"t\": { \"Edit item\": { \"v\": [\"עריכת פריט\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"Edit item\": { \"v\": [\"Elem szerkesztése\"] } } }, { \"l\": \"hy\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"Edit item\": { \"v\": [\"Edit item\"] } } }, { \"l\": \"ig\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"Edit item\": { \"v\": [\"Breyta atriði\"] } } }, { \"l\": \"it\", \"t\": { \"Edit item\": { \"v\": [\"Modifica l'elemento\"] } } }, { \"l\": \"ja\", \"t\": { \"Edit item\": { \"v\": [\"編集\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"Edit item\": { \"v\": [\"編集\"] } } }, { \"l\": \"ka\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"Edit item\": { \"v\": [\"항목 수정\"] } } }, { \"l\": \"la\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"lv\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"mk\", \"t\": { \"Edit item\": { \"v\": [\"Уреди\"] } } }, { \"l\": \"mn\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"nb\", \"t\": { \"Edit item\": { \"v\": [\"Rediger\"] } } }, { \"l\": \"ne\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"Edit item\": { \"v\": [\"Item bewerken\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"pl\", \"t\": { \"Edit item\": { \"v\": [\"Edytuj element\"] } } }, { \"l\": \"ps\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"Edit item\": { \"v\": [\"Editar item\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Edit item\": { \"v\": [\"Editar item\"] } } }, { \"l\": \"ro\", \"t\": { \"Edit item\": { \"v\": [\"Editați elementul\"] } } }, { \"l\": \"ru\", \"t\": { \"Edit item\": { \"v\": [\"Изменить элемент\"] } } }, { \"l\": \"sc\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"Edit item\": { \"v\": [\"Upraviť položku\"] } } }, { \"l\": \"sl\", \"t\": { \"Edit item\": { \"v\": [\"Uredi predmet\"] } } }, { \"l\": \"sq\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"Edit item\": { \"v\": [\"Уреди ставку\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"Edit item\": { \"v\": [\"Redigera objekt\"] } } }, { \"l\": \"sw\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"Edit item\": { \"v\": [\"Ögeyi düzenle\"] } } }, { \"l\": \"ug\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"Edit item\": { \"v\": [\"Редагувати елемент\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"Edit item\": { \"v\": [\"Elementni tahrirlash\"] } } }, { \"l\": \"vi\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"Edit item\": { \"v\": [\"编辑项目\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Edit item\": { \"v\": [\"編輯項目\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"Edit item\": { \"v\": [\"編輯項目\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"Edit item\": { \"v\": [\"\"] } } }];\nconst t21 = [{ \"l\": \"af\", \"t\": {} }, { \"l\": \"ar\", \"t\": { \"Enable interactive view\": { \"v\": [\"تمكين المنظور التفاعلي\"] } } }, { \"l\": \"ast\", \"t\": { \"Enable interactive view\": { \"v\": [\"Activar la vista interactiva\"] } } }, { \"l\": \"az\", \"t\": {} }, { \"l\": \"be\", \"t\": {} }, { \"l\": \"bg\", \"t\": {} }, { \"l\": \"bn_BD\", \"t\": {} }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"bs\", \"t\": {} }, { \"l\": \"ca\", \"t\": {} }, { \"l\": \"cs\", \"t\": { \"Enable interactive view\": { \"v\": [\"Zapnout interaktivní zobrazení\"] } } }, { \"l\": \"cs_CZ\", \"t\": {} }, { \"l\": \"cy_GB\", \"t\": {} }, { \"l\": \"da\", \"t\": { \"Enable interactive view\": { \"v\": [\"Aktiver interaktiv visning\"] } } }, { \"l\": \"de\", \"t\": { \"Enable interactive view\": { \"v\": [\"Die interaktive Ansicht aktivieren\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Enable interactive view\": { \"v\": [\"Die interaktive Ansicht aktivieren\"] } } }, { \"l\": \"el\", \"t\": { \"Enable interactive view\": { \"v\": [\"Ενεργοποίηση διαδραστικής προβολής\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Enable interactive view\": { \"v\": [\"Enable interactive view\"] } } }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": { \"Enable interactive view\": { \"v\": [\"Habilitar vista interactiva\"] } } }, { \"l\": \"es_419\", \"t\": {} }, { \"l\": \"es_AR\", \"t\": { \"Enable interactive view\": { \"v\": [\"Habilitar vista interactiva\"] } } }, { \"l\": \"es_CL\", \"t\": {} }, { \"l\": \"es_CO\", \"t\": {} }, { \"l\": \"es_CR\", \"t\": {} }, { \"l\": \"es_DO\", \"t\": {} }, { \"l\": \"es_EC\", \"t\": {} }, { \"l\": \"es_GT\", \"t\": {} }, { \"l\": \"es_HN\", \"t\": {} }, { \"l\": \"es_MX\", \"t\": { \"Enable interactive view\": { \"v\": [\"Habilitar vista interactiva\"] } } }, { \"l\": \"es_NI\", \"t\": {} }, { \"l\": \"es_PA\", \"t\": {} }, { \"l\": \"es_PE\", \"t\": {} }, { \"l\": \"es_PR\", \"t\": {} }, { \"l\": \"es_PY\", \"t\": {} }, { \"l\": \"es_SV\", \"t\": {} }, { \"l\": \"es_UY\", \"t\": {} }, { \"l\": \"et_EE\", \"t\": { \"Enable interactive view\": { \"v\": [\"Lülita interaktiivne vaade sisse\"] } } }, { \"l\": \"eu\", \"t\": {} }, { \"l\": \"fa\", \"t\": { \"Enable interactive view\": { \"v\": [\"فعال‌سازی نمای تعاملی\"] } } }, { \"l\": \"fi\", \"t\": { \"Enable interactive view\": { \"v\": [\"Näytä vuorovaikutteinen näkymä\"] } } }, { \"l\": \"fo\", \"t\": {} }, { \"l\": \"fr\", \"t\": { \"Enable interactive view\": { \"v\": [\"Activer la vue interactive\"] } } }, { \"l\": \"ga\", \"t\": { \"Enable interactive view\": { \"v\": [\"Cumasaigh amharc idirghníomhach\"] } } }, { \"l\": \"gd\", \"t\": {} }, { \"l\": \"gl\", \"t\": { \"Enable interactive view\": { \"v\": [\"Activar a vista interactiva\"] } } }, { \"l\": \"he\", \"t\": {} }, { \"l\": \"hi_IN\", \"t\": {} }, { \"l\": \"hr\", \"t\": {} }, { \"l\": \"hsb\", \"t\": {} }, { \"l\": \"hu\", \"t\": {} }, { \"l\": \"hy\", \"t\": {} }, { \"l\": \"ia\", \"t\": {} }, { \"l\": \"id\", \"t\": {} }, { \"l\": \"ig\", \"t\": {} }, { \"l\": \"is\", \"t\": { \"Enable interactive view\": { \"v\": [\"Virkja gagnvirka sýn\"] } } }, { \"l\": \"it\", \"t\": {} }, { \"l\": \"ja\", \"t\": { \"Enable interactive view\": { \"v\": [\"インタラクティブ・ビューを有効にする\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"Enable interactive view\": { \"v\": [\"インタラクティブ・ビューを有効にする\"] } } }, { \"l\": \"ka\", \"t\": {} }, { \"l\": \"ka_GE\", \"t\": {} }, { \"l\": \"kab\", \"t\": {} }, { \"l\": \"kk\", \"t\": {} }, { \"l\": \"km\", \"t\": {} }, { \"l\": \"kn\", \"t\": {} }, { \"l\": \"ko\", \"t\": { \"Enable interactive view\": { \"v\": [\"대화형 보기 활성화\"] } } }, { \"l\": \"la\", \"t\": {} }, { \"l\": \"lb\", \"t\": {} }, { \"l\": \"lo\", \"t\": {} }, { \"l\": \"lt_LT\", \"t\": {} }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": {} }, { \"l\": \"mn\", \"t\": {} }, { \"l\": \"mr\", \"t\": {} }, { \"l\": \"ms_MY\", \"t\": {} }, { \"l\": \"my\", \"t\": {} }, { \"l\": \"nb\", \"t\": { \"Enable interactive view\": { \"v\": [\"Aktiver interaktiv visning\"] } } }, { \"l\": \"ne\", \"t\": {} }, { \"l\": \"nl\", \"t\": { \"Enable interactive view\": { \"v\": [\"Interactieve weergave inschakelen\"] } } }, { \"l\": \"nn_NO\", \"t\": {} }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"Enable interactive view\": { \"v\": [\"Włącz widok interaktywny\"] } } }, { \"l\": \"ps\", \"t\": {} }, { \"l\": \"pt_BR\", \"t\": { \"Enable interactive view\": { \"v\": [\"Ativar visualização interativa\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Enable interactive view\": { \"v\": [\"Ativar vista interativa\"] } } }, { \"l\": \"ro\", \"t\": {} }, { \"l\": \"ru\", \"t\": { \"Enable interactive view\": { \"v\": [\"Включить интерактивный просмотр\"] } } }, { \"l\": \"sc\", \"t\": {} }, { \"l\": \"si\", \"t\": {} }, { \"l\": \"sk\", \"t\": { \"Enable interactive view\": { \"v\": [\"Povoliť interaktívny pohľad\"] } } }, { \"l\": \"sl\", \"t\": {} }, { \"l\": \"sq\", \"t\": {} }, { \"l\": \"sr\", \"t\": { \"Enable interactive view\": { \"v\": [\"Укључи интерактивни приказ\"] } } }, { \"l\": \"sr@latin\", \"t\": {} }, { \"l\": \"sv\", \"t\": { \"Enable interactive view\": { \"v\": [\"Aktivera interaktiv vy\"] } } }, { \"l\": \"sw\", \"t\": {} }, { \"l\": \"ta\", \"t\": {} }, { \"l\": \"th\", \"t\": {} }, { \"l\": \"tk\", \"t\": {} }, { \"l\": \"tr\", \"t\": { \"Enable interactive view\": { \"v\": [\"Etkileşimli görünümü aç\"] } } }, { \"l\": \"ug\", \"t\": {} }, { \"l\": \"uk\", \"t\": { \"Enable interactive view\": { \"v\": [\"Увімкнути інтерактивний перегляд\"] } } }, { \"l\": \"ur_PK\", \"t\": {} }, { \"l\": \"uz\", \"t\": { \"Enable interactive view\": { \"v\": [\"Interaktiv ko'rinishni yoqing\"] } } }, { \"l\": \"vi\", \"t\": {} }, { \"l\": \"zh_CN\", \"t\": { \"Enable interactive view\": { \"v\": [\"启用交互视窗\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Enable interactive view\": { \"v\": [\"啟用互動視圖\"] } } }, { \"l\": \"zh_TW\", \"t\": {} }, { \"l\": \"zu_ZA\", \"t\": {} }];\nconst t22 = [{ \"l\": \"af\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"Enter link\": { \"v\": [\"أدخِل الرابط\"] } } }, { \"l\": \"ast\", \"t\": { \"Enter link\": { \"v\": [\"Introducir l'enllaz\"] } } }, { \"l\": \"az\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"bs\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"cs\", \"t\": { \"Enter link\": { \"v\": [\"Zadat odkaz\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"Enter link\": { \"v\": [\"Zadat odkaz\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"Enter link\": { \"v\": [\"Indtast link\"] } } }, { \"l\": \"de\", \"t\": { \"Enter link\": { \"v\": [\"Link eingeben\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Enter link\": { \"v\": [\"Link eingeben\"] } } }, { \"l\": \"el\", \"t\": { \"Enter link\": { \"v\": [\"Εισάγετε σύνδεσμο\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Enter link\": { \"v\": [\"Enter link\"] } } }, { \"l\": \"eo\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"es\", \"t\": { \"Enter link\": { \"v\": [\"Ingrese enlace\"] } } }, { \"l\": \"es_419\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"Enter link\": { \"v\": [\"Ingresar enlace\"] } } }, { \"l\": \"es_CL\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"Enter link\": { \"v\": [\"Ingresar enlace\"] } } }, { \"l\": \"es_GT\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"Enter link\": { \"v\": [\"Ingresar enlace\"] } } }, { \"l\": \"es_NI\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"Enter link\": { \"v\": [\"Sisesta link\"] } } }, { \"l\": \"eu\", \"t\": { \"Enter link\": { \"v\": [\"Sartu esteka\"] } } }, { \"l\": \"fa\", \"t\": { \"Enter link\": { \"v\": [\"لینک را وارد کنید\"] } } }, { \"l\": \"fi\", \"t\": { \"Enter link\": { \"v\": [\"Kirjoita linkki\"] } } }, { \"l\": \"fo\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"Enter link\": { \"v\": [\"Saisissez le lien\"] } } }, { \"l\": \"ga\", \"t\": { \"Enter link\": { \"v\": [\"Cuir isteach nasc\"] } } }, { \"l\": \"gd\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"Enter link\": { \"v\": [\"Introducir a ligazón\"] } } }, { \"l\": \"he\", \"t\": { \"Enter link\": { \"v\": [\"מילוי קישור\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"hy\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"Enter link\": { \"v\": [\"Masukkan tautan\"] } } }, { \"l\": \"ig\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"Enter link\": { \"v\": [\"Settu inn tengil\"] } } }, { \"l\": \"it\", \"t\": { \"Enter link\": { \"v\": [\"Inserire il link\"] } } }, { \"l\": \"ja\", \"t\": { \"Enter link\": { \"v\": [\"リンクを入力する\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"Enter link\": { \"v\": [\"リンクを入力する\"] } } }, { \"l\": \"ka\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"Enter link\": { \"v\": [\"링크 입력\"] } } }, { \"l\": \"la\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"lv\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"mk\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"mn\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"nb\", \"t\": { \"Enter link\": { \"v\": [\"Skriv inn lenken\"] } } }, { \"l\": \"ne\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"Enter link\": { \"v\": [\"Voer link in\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"pl\", \"t\": { \"Enter link\": { \"v\": [\"Wprowadź link\"] } } }, { \"l\": \"ps\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"Enter link\": { \"v\": [\"Insira o link\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Enter link\": { \"v\": [\"Inserir hiperligação\"] } } }, { \"l\": \"ro\", \"t\": { \"Enter link\": { \"v\": [\"Introduceți link-ul\"] } } }, { \"l\": \"ru\", \"t\": { \"Enter link\": { \"v\": [\"Введите ссылку\"] } } }, { \"l\": \"sc\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"Enter link\": { \"v\": [\"Vložiť link\"] } } }, { \"l\": \"sl\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"sq\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"Enter link\": { \"v\": [\"Унесите линк\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"Enter link\": { \"v\": [\"Ange länk\"] } } }, { \"l\": \"sw\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"Enter link\": { \"v\": [\"Bağlantıyı yazın\"] } } }, { \"l\": \"ug\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"Enter link\": { \"v\": [\"Зазначте посилання\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"Enter link\": { \"v\": [\"Havolani kiriting\"] } } }, { \"l\": \"vi\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"Enter link\": { \"v\": [\"输入链接\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Enter link\": { \"v\": [\"輸入連結\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"Enter link\": { \"v\": [\"輸入連結\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"Enter link\": { \"v\": [\"\"] } } }];\nconst t23 = [{ \"l\": \"af\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"External documentation for {name}\": { \"v\": [\"التوثيق الخارجي لـ {name}\"] } } }, { \"l\": \"ast\", \"t\": { \"External documentation for {name}\": { \"v\": [\"Documentación esterna pa: {name}\"] } } }, { \"l\": \"az\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"bs\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"cs\", \"t\": { \"External documentation for {name}\": { \"v\": [\"Externí dokumentace pro {name}\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"External documentation for {name}\": { \"v\": [\"Externí dokumentace pro {name}\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"External documentation for {name}\": { \"v\": [\"Ekstern dokumentation for {name}\"] } } }, { \"l\": \"de\", \"t\": { \"External documentation for {name}\": { \"v\": [\"Externe Dokumentation für {name}\"] } } }, { \"l\": \"de_DE\", \"t\": { \"External documentation for {name}\": { \"v\": [\"Externe Dokumentation für {name}\"] } } }, { \"l\": \"el\", \"t\": { \"External documentation for {name}\": { \"v\": [\"Εξωτερική τεκμηρίωση για {name}\"] } } }, { \"l\": \"en_GB\", \"t\": { \"External documentation for {name}\": { \"v\": [\"External documentation for {name}\"] } } }, { \"l\": \"eo\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"es\", \"t\": { \"External documentation for {name}\": { \"v\": [\"Documentación externa para {name}\"] } } }, { \"l\": \"es_419\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"External documentation for {name}\": { \"v\": [\"Documentación externa para {name}\"] } } }, { \"l\": \"es_CL\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"External documentation for {name}\": { \"v\": [\"Documentación externa para {name}\"] } } }, { \"l\": \"es_GT\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"External documentation for {name}\": { \"v\": [\"Documentación externa para {name}\"] } } }, { \"l\": \"es_NI\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"External documentation for {name}\": { \"v\": [\"Väline dokumentatsioon {nimi}\"] } } }, { \"l\": \"eu\", \"t\": { \"External documentation for {name}\": { \"v\": [\"{name}-ren kanpoko dokumentazioa\"] } } }, { \"l\": \"fa\", \"t\": { \"External documentation for {name}\": { \"v\": [\"اسناد بیرونی برای {name}\"] } } }, { \"l\": \"fi\", \"t\": { \"External documentation for {name}\": { \"v\": [\"Ulkoinen dokumentaatio {name}lle\"] } } }, { \"l\": \"fo\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"External documentation for {name}\": { \"v\": [\"Documentation externe pour {name}\"] } } }, { \"l\": \"ga\", \"t\": { \"External documentation for {name}\": { \"v\": [\"Doiciméadúchán seachtrach le haghaidh {name}\"] } } }, { \"l\": \"gd\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"External documentation for {name}\": { \"v\": [\"Documentación externa para {name}\"] } } }, { \"l\": \"he\", \"t\": { \"External documentation for {name}\": { \"v\": [\"תיעוד חיצוני עבור {name}\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"hy\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"External documentation for {name}\": { \"v\": [\"Dokumentasi eksternal untuk {name}\"] } } }, { \"l\": \"ig\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"External documentation for {name}\": { \"v\": [\"Utanaðkomandi leiðbeiningar fyrir {name}\"] } } }, { \"l\": \"it\", \"t\": { \"External documentation for {name}\": { \"v\": [\"Documentazione esterna per {name}\"] } } }, { \"l\": \"ja\", \"t\": { \"External documentation for {name}\": { \"v\": [\"{name} の外部ドキュメント\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"External documentation for {name}\": { \"v\": [\"{name} の外部ドキュメント\"] } } }, { \"l\": \"ka\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"External documentation for {name}\": { \"v\": [\"{name}의 외부 문서\"] } } }, { \"l\": \"la\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"lv\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"mk\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"mn\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"nb\", \"t\": { \"External documentation for {name}\": { \"v\": [\"Ekstern dokumentasjon for {name}\"] } } }, { \"l\": \"ne\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"External documentation for {name}\": { \"v\": [\"Externe documentatie voor {name}\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"pl\", \"t\": { \"External documentation for {name}\": { \"v\": [\"Dokumentacja zewnętrzna dla {name}\"] } } }, { \"l\": \"ps\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"External documentation for {name}\": { \"v\": [\"Documentação externa para {name}\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"External documentation for {name}\": { \"v\": [\"Documentação externa para {name}\"] } } }, { \"l\": \"ro\", \"t\": { \"External documentation for {name}\": { \"v\": [\"Documentație externă pentru {name}\"] } } }, { \"l\": \"ru\", \"t\": { \"External documentation for {name}\": { \"v\": [\"Внешняя документация для {name}\"] } } }, { \"l\": \"sc\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"External documentation for {name}\": { \"v\": [\"Externá dokumentácia pre {name}\"] } } }, { \"l\": \"sl\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"sq\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"External documentation for {name}\": { \"v\": [\"Спољна документација за {name}\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"External documentation for {name}\": { \"v\": [\"Extern dokumentation för {name}\"] } } }, { \"l\": \"sw\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"External documentation for {name}\": { \"v\": [\"{name} için dış belgeler\"] } } }, { \"l\": \"ug\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"External documentation for {name}\": { \"v\": [\"Зовнішня документація для {name}\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"External documentation for {name}\": { \"v\": [\"{name}uchun tashqi hujjatlar\"] } } }, { \"l\": \"vi\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"External documentation for {name}\": { \"v\": [\"{name} 的外部文档\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"External documentation for {name}\": { \"v\": [\"{name} 的外部文件\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"External documentation for {name}\": { \"v\": [\"{name} 的外部文件\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"External documentation for {name}\": { \"v\": [\"\"] } } }];\nconst t24 = [{ \"l\": \"af\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"Global\": { \"v\": [\"شامل\"] } } }, { \"l\": \"ast\", \"t\": { \"Global\": { \"v\": [\"Global\"] } } }, { \"l\": \"az\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"bs\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"Global\": { \"v\": [\"Global\"] } } }, { \"l\": \"cs\", \"t\": { \"Global\": { \"v\": [\"Globální\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"Global\": { \"v\": [\"Globální\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"Global\": { \"v\": [\"Global\"] } } }, { \"l\": \"de\", \"t\": { \"Global\": { \"v\": [\"Global\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Global\": { \"v\": [\"Global\"] } } }, { \"l\": \"el\", \"t\": { \"Global\": { \"v\": [\"Καθολικό\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Global\": { \"v\": [\"Global\"] } } }, { \"l\": \"eo\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"es\", \"t\": { \"Global\": { \"v\": [\"Global\"] } } }, { \"l\": \"es_419\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"Global\": { \"v\": [\"Global\"] } } }, { \"l\": \"es_CL\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"Global\": { \"v\": [\"Global\"] } } }, { \"l\": \"es_GT\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"Global\": { \"v\": [\"Global\"] } } }, { \"l\": \"es_NI\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"Global\": { \"v\": [\"Globaalne\"] } } }, { \"l\": \"eu\", \"t\": { \"Global\": { \"v\": [\"Globala\"] } } }, { \"l\": \"fa\", \"t\": { \"Global\": { \"v\": [\"سراسری\"] } } }, { \"l\": \"fi\", \"t\": { \"Global\": { \"v\": [\"Globaali\"] } } }, { \"l\": \"fo\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"Global\": { \"v\": [\"Global\"] } } }, { \"l\": \"ga\", \"t\": { \"Global\": { \"v\": [\"Domhanda\"] } } }, { \"l\": \"gd\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"Global\": { \"v\": [\"Global\"] } } }, { \"l\": \"he\", \"t\": { \"Global\": { \"v\": [\"כללי\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"Global\": { \"v\": [\"Globális\"] } } }, { \"l\": \"hy\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"Global\": { \"v\": [\"Global\"] } } }, { \"l\": \"ig\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"Global\": { \"v\": [\"Almennt\"] } } }, { \"l\": \"it\", \"t\": { \"Global\": { \"v\": [\"Globale\"] } } }, { \"l\": \"ja\", \"t\": { \"Global\": { \"v\": [\"全体\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"Global\": { \"v\": [\"全体\"] } } }, { \"l\": \"ka\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"Global\": { \"v\": [\"글로벌\"] } } }, { \"l\": \"la\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"lv\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"mk\", \"t\": { \"Global\": { \"v\": [\"Глобално\"] } } }, { \"l\": \"mn\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"Global\": { \"v\": [\"ကမ္ဘာလုံးဆိုင်ရာ\"] } } }, { \"l\": \"nb\", \"t\": { \"Global\": { \"v\": [\"Global\"] } } }, { \"l\": \"ne\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"Global\": { \"v\": [\"Globaal\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"pl\", \"t\": { \"Global\": { \"v\": [\"Globalnie\"] } } }, { \"l\": \"ps\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"Global\": { \"v\": [\"Global\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Global\": { \"v\": [\"Global\"] } } }, { \"l\": \"ro\", \"t\": { \"Global\": { \"v\": [\"Global\"] } } }, { \"l\": \"ru\", \"t\": { \"Global\": { \"v\": [\"Глобальный\"] } } }, { \"l\": \"sc\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"Global\": { \"v\": [\"Globálne\"] } } }, { \"l\": \"sl\", \"t\": { \"Global\": { \"v\": [\"Splošno\"] } } }, { \"l\": \"sq\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"Global\": { \"v\": [\"Глобално\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"Global\": { \"v\": [\"Global\"] } } }, { \"l\": \"sw\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"Global\": { \"v\": [\"Evrensel\"] } } }, { \"l\": \"ug\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"Global\": { \"v\": [\"Глобальний\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"Global\": { \"v\": [\"Global\"] } } }, { \"l\": \"vi\", \"t\": { \"Global\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"Global\": { \"v\": [\"全局\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Global\": { \"v\": [\"全球的\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"Global\": { \"v\": [\"全域\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"Global\": { \"v\": [\"\"] } } }];\nconst t25 = [{ \"l\": \"af\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"Go back to the list\": { \"v\": [\"عودة إلى القائمة\"] } } }, { \"l\": \"ast\", \"t\": { \"Go back to the list\": { \"v\": [\"Volver a la llista\"] } } }, { \"l\": \"az\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"bs\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"Go back to the list\": { \"v\": [\"Torna a la llista\"] } } }, { \"l\": \"cs\", \"t\": { \"Go back to the list\": { \"v\": [\"Jít zpět na seznam\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"Go back to the list\": { \"v\": [\"Jít zpět na seznam\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"Go back to the list\": { \"v\": [\"Tilbage til listen\"] } } }, { \"l\": \"de\", \"t\": { \"Go back to the list\": { \"v\": [\"Zurück zur Liste\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Go back to the list\": { \"v\": [\"Zurück zur Liste\"] } } }, { \"l\": \"el\", \"t\": { \"Go back to the list\": { \"v\": [\"Επιστροφή στην αρχική λίστα\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Go back to the list\": { \"v\": [\"Go back to the list\"] } } }, { \"l\": \"eo\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"es\", \"t\": { \"Go back to the list\": { \"v\": [\"Volver a la lista\"] } } }, { \"l\": \"es_419\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"Go back to the list\": { \"v\": [\"Volver a la lista\"] } } }, { \"l\": \"es_CL\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"Go back to the list\": { \"v\": [\"Volver a la lista\"] } } }, { \"l\": \"es_GT\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"Go back to the list\": { \"v\": [\"Regresar a la lista\"] } } }, { \"l\": \"es_NI\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"Go back to the list\": { \"v\": [\"Tagasi nimekirja juurde\"] } } }, { \"l\": \"eu\", \"t\": { \"Go back to the list\": { \"v\": [\"Bueltatu zerrendara\"] } } }, { \"l\": \"fa\", \"t\": { \"Go back to the list\": { \"v\": [\"برگشت به لیست\"] } } }, { \"l\": \"fi\", \"t\": { \"Go back to the list\": { \"v\": [\"Takaisin listaan\"] } } }, { \"l\": \"fo\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"Go back to the list\": { \"v\": [\"Retourner à la liste\"] } } }, { \"l\": \"ga\", \"t\": { \"Go back to the list\": { \"v\": [\"Téigh ar ais go dtí an liosta\"] } } }, { \"l\": \"gd\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"Go back to the list\": { \"v\": [\"Volver á lista\"] } } }, { \"l\": \"he\", \"t\": { \"Go back to the list\": { \"v\": [\"חזרה לרשימה\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"Go back to the list\": { \"v\": [\"Ugrás vissza a listához\"] } } }, { \"l\": \"hy\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"Go back to the list\": { \"v\": [\"Kembali ke daftar\"] } } }, { \"l\": \"ig\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"Go back to the list\": { \"v\": [\"Fara til baka í listann\"] } } }, { \"l\": \"it\", \"t\": { \"Go back to the list\": { \"v\": [\"Torna all'elenco\"] } } }, { \"l\": \"ja\", \"t\": { \"Go back to the list\": { \"v\": [\"リストに戻る\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"Go back to the list\": { \"v\": [\"リストに戻る\"] } } }, { \"l\": \"ka\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"Go back to the list\": { \"v\": [\"목록으로 돌아가기\"] } } }, { \"l\": \"la\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"lv\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"mk\", \"t\": { \"Go back to the list\": { \"v\": [\"Врати се на листата\"] } } }, { \"l\": \"mn\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"nb\", \"t\": { \"Go back to the list\": { \"v\": [\"Gå tilbake til listen\"] } } }, { \"l\": \"ne\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"Go back to the list\": { \"v\": [\"Ga terug naar de lijst\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"pl\", \"t\": { \"Go back to the list\": { \"v\": [\"Powrót do listy\"] } } }, { \"l\": \"ps\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"Go back to the list\": { \"v\": [\"Voltar para a lista\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Go back to the list\": { \"v\": [\"Voltar para a lista\"] } } }, { \"l\": \"ro\", \"t\": { \"Go back to the list\": { \"v\": [\"Întoarceți-vă la listă\"] } } }, { \"l\": \"ru\", \"t\": { \"Go back to the list\": { \"v\": [\"Вернуться к списку\"] } } }, { \"l\": \"sc\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"Go back to the list\": { \"v\": [\"Späť na zoznam\"] } } }, { \"l\": \"sl\", \"t\": { \"Go back to the list\": { \"v\": [\"Vrni se na seznam\"] } } }, { \"l\": \"sq\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"Go back to the list\": { \"v\": [\"Назад на листу\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"Go back to the list\": { \"v\": [\"Gå tillbaka till listan\"] } } }, { \"l\": \"sw\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"Go back to the list\": { \"v\": [\"Listeye dön\"] } } }, { \"l\": \"ug\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"Go back to the list\": { \"v\": [\"Повернутися до списку\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"Go back to the list\": { \"v\": [\"Ro'yxatga qayting\"] } } }, { \"l\": \"vi\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"Go back to the list\": { \"v\": [\"返回至列表\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Go back to the list\": { \"v\": [\"返回清單\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"Go back to the list\": { \"v\": [\"回到清單\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"Go back to the list\": { \"v\": [\"\"] } } }];\nconst t26 = [{ \"l\": \"af\", \"t\": {} }, { \"l\": \"ar\", \"t\": { \"Hide details\": { \"v\": [\"أخفِ التفاصيل\"] }, \"Rename project\": { \"v\": [\"تغيير اسم المشروع\"] }, \"Show details\": { \"v\": [\"أظهِر التفاصيل\"] } } }, { \"l\": \"ast\", \"t\": {} }, { \"l\": \"az\", \"t\": {} }, { \"l\": \"be\", \"t\": {} }, { \"l\": \"bg\", \"t\": {} }, { \"l\": \"bn_BD\", \"t\": {} }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"bs\", \"t\": {} }, { \"l\": \"ca\", \"t\": {} }, { \"l\": \"cs\", \"t\": { \"Hide details\": { \"v\": [\"Skrýt podrobnosti\"] }, \"Rename project\": { \"v\": [\"Přejmenovat projekt\"] }, \"Show details\": { \"v\": [\"Zobrazit podrobnosti\"] } } }, { \"l\": \"cs_CZ\", \"t\": {} }, { \"l\": \"cy_GB\", \"t\": {} }, { \"l\": \"da\", \"t\": { \"Hide details\": { \"v\": [\"Skjul detaljer\"] }, \"Rename project\": { \"v\": [\"Omdøb projekt\"] }, \"Show details\": { \"v\": [\"Vis detaljer\"] } } }, { \"l\": \"de\", \"t\": { \"Hide details\": { \"v\": [\"Details ausblenden\"] }, \"Rename project\": { \"v\": [\"Projekt umbenennen\"] }, \"Show details\": { \"v\": [\"Details anzeigen\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Hide details\": { \"v\": [\"Details ausblenden\"] }, \"Rename project\": { \"v\": [\"Projekt umbenennen\"] }, \"Show details\": { \"v\": [\"Details anzeigen\"] } } }, { \"l\": \"el\", \"t\": { \"Hide details\": { \"v\": [\"Απόκρυψη λεπτομερειών\"] }, \"Rename project\": { \"v\": [\"Μετονομασία έργου\"] }, \"Show details\": { \"v\": [\"Εμφάνιση λεπτομερειών\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Hide details\": { \"v\": [\"Hide details\"] }, \"Rename project\": { \"v\": [\"Rename project\"] }, \"Show details\": { \"v\": [\"Show details\"] } } }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": {} }, { \"l\": \"es_419\", \"t\": {} }, { \"l\": \"es_AR\", \"t\": { \"Hide details\": { \"v\": [\"Ocultar detalles\"] }, \"Rename project\": { \"v\": [\"Renombrar proyecto\"] }, \"Show details\": { \"v\": [\"Mostrar detalles\"] } } }, { \"l\": \"es_CL\", \"t\": {} }, { \"l\": \"es_CO\", \"t\": {} }, { \"l\": \"es_CR\", \"t\": {} }, { \"l\": \"es_DO\", \"t\": {} }, { \"l\": \"es_EC\", \"t\": {} }, { \"l\": \"es_GT\", \"t\": {} }, { \"l\": \"es_HN\", \"t\": {} }, { \"l\": \"es_MX\", \"t\": { \"Hide details\": { \"v\": [\"Ocultar detalles\"] }, \"Rename project\": { \"v\": [\"Renombrar proyecto\"] }, \"Show details\": { \"v\": [\"Mostrar detalles\"] } } }, { \"l\": \"es_NI\", \"t\": {} }, { \"l\": \"es_PA\", \"t\": {} }, { \"l\": \"es_PE\", \"t\": {} }, { \"l\": \"es_PR\", \"t\": {} }, { \"l\": \"es_PY\", \"t\": {} }, { \"l\": \"es_SV\", \"t\": {} }, { \"l\": \"es_UY\", \"t\": {} }, { \"l\": \"et_EE\", \"t\": { \"Hide details\": { \"v\": [\"Peida üksikasjad\"] }, \"Rename project\": { \"v\": [\"Muuda projekti nime\"] }, \"Show details\": { \"v\": [\"Näita üksikasju\"] } } }, { \"l\": \"eu\", \"t\": {} }, { \"l\": \"fa\", \"t\": { \"Hide details\": { \"v\": [\"پنهان کردن جزئیات\"] }, \"Rename project\": { \"v\": [\"تغییر نام پروژه\"] }, \"Show details\": { \"v\": [\"نمایش جزئیات\"] } } }, { \"l\": \"fi\", \"t\": { \"Hide details\": { \"v\": [\"Piilota yksityiskohdat\"] }, \"Rename project\": { \"v\": [\"Nimeä projekti\"] }, \"Show details\": { \"v\": [\"Näytä yksityiskohdat\"] } } }, { \"l\": \"fo\", \"t\": {} }, { \"l\": \"fr\", \"t\": { \"Hide details\": { \"v\": [\"Masquer les détails\"] }, \"Rename project\": { \"v\": [\"Renommer le projet\"] }, \"Show details\": { \"v\": [\"Afficher les détails\"] } } }, { \"l\": \"ga\", \"t\": { \"Hide details\": { \"v\": [\"Folaigh sonraí\"] }, \"Rename project\": { \"v\": [\"Athainmnigh an tionscadal\"] }, \"Show details\": { \"v\": [\"Taispeáin sonraí\"] } } }, { \"l\": \"gd\", \"t\": {} }, { \"l\": \"gl\", \"t\": { \"Hide details\": { \"v\": [\"Agochar os detalles\"] }, \"Rename project\": { \"v\": [\"Cambiar o nome do proxecto\"] }, \"Show details\": { \"v\": [\"Amosar os detalles\"] } } }, { \"l\": \"he\", \"t\": {} }, { \"l\": \"hi_IN\", \"t\": {} }, { \"l\": \"hr\", \"t\": {} }, { \"l\": \"hsb\", \"t\": {} }, { \"l\": \"hu\", \"t\": {} }, { \"l\": \"hy\", \"t\": {} }, { \"l\": \"ia\", \"t\": {} }, { \"l\": \"id\", \"t\": {} }, { \"l\": \"ig\", \"t\": {} }, { \"l\": \"is\", \"t\": { \"Hide details\": { \"v\": [\"Fela nánari upplýsingar\"] }, \"Rename project\": { \"v\": [\"Endurnefna verkefni\"] }, \"Show details\": { \"v\": [\"Birta nánari upplýsingar\"] } } }, { \"l\": \"it\", \"t\": {} }, { \"l\": \"ja\", \"t\": { \"Hide details\": { \"v\": [\"詳細を非表示\"] }, \"Rename project\": { \"v\": [\"プロジェクト名を変更\"] }, \"Show details\": { \"v\": [\"詳細の表示\"] } } }, { \"l\": \"ja_JP\", \"t\": {} }, { \"l\": \"ka\", \"t\": {} }, { \"l\": \"ka_GE\", \"t\": {} }, { \"l\": \"kab\", \"t\": {} }, { \"l\": \"kk\", \"t\": {} }, { \"l\": \"km\", \"t\": {} }, { \"l\": \"kn\", \"t\": {} }, { \"l\": \"ko\", \"t\": { \"Hide details\": { \"v\": [\"세부 사항 숨기기\"] }, \"Rename project\": { \"v\": [\"프로젝트 이름 변경\"] }, \"Show details\": { \"v\": [\"세부 사항 보기\"] } } }, { \"l\": \"la\", \"t\": {} }, { \"l\": \"lb\", \"t\": {} }, { \"l\": \"lo\", \"t\": {} }, { \"l\": \"lt_LT\", \"t\": {} }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": {} }, { \"l\": \"mn\", \"t\": {} }, { \"l\": \"mr\", \"t\": {} }, { \"l\": \"ms_MY\", \"t\": {} }, { \"l\": \"my\", \"t\": {} }, { \"l\": \"nb\", \"t\": { \"Hide details\": { \"v\": [\"Skjul detaljer\"] }, \"Rename project\": { \"v\": [\"Gi prosjekt nytt navn\"] }, \"Show details\": { \"v\": [\"Vis detaljer\"] } } }, { \"l\": \"ne\", \"t\": {} }, { \"l\": \"nl\", \"t\": { \"Hide details\": { \"v\": [\"Details verbergen\"] }, \"Rename project\": { \"v\": [\"Hernoem project\"] }, \"Show details\": { \"v\": [\"Toon details\"] } } }, { \"l\": \"nn_NO\", \"t\": {} }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"Hide details\": { \"v\": [\"Ukryj szczegóły\"] }, \"Rename project\": { \"v\": [\"Zmień nazwę projektu\"] }, \"Show details\": { \"v\": [\"Pokaż szczegóły\"] } } }, { \"l\": \"ps\", \"t\": {} }, { \"l\": \"pt_BR\", \"t\": { \"Hide details\": { \"v\": [\"Ocultar detalhes\"] }, \"Rename project\": { \"v\": [\"Renomear projeto\"] }, \"Show details\": { \"v\": [\"Mostrar detalhes\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Hide details\": { \"v\": [\"Ocultar detalhes\"] }, \"Rename project\": { \"v\": [\"Alterar nome do projeto\"] }, \"Show details\": { \"v\": [\"Ver detalhes\"] } } }, { \"l\": \"ro\", \"t\": {} }, { \"l\": \"ru\", \"t\": { \"Hide details\": { \"v\": [\"Скрыть подробности\"] }, \"Rename project\": { \"v\": [\"Переименовать проект\"] }, \"Show details\": { \"v\": [\"Показать детали\"] } } }, { \"l\": \"sc\", \"t\": {} }, { \"l\": \"si\", \"t\": {} }, { \"l\": \"sk\", \"t\": { \"Hide details\": { \"v\": [\"Skryť detaily\"] }, \"Rename project\": { \"v\": [\"Premenovať projekt\"] }, \"Show details\": { \"v\": [\"Zobraziť detaily\"] } } }, { \"l\": \"sl\", \"t\": {} }, { \"l\": \"sq\", \"t\": {} }, { \"l\": \"sr\", \"t\": { \"Hide details\": { \"v\": [\"Сакриј детаље\"] }, \"Rename project\": { \"v\": [\"Промени име пројекта\"] }, \"Show details\": { \"v\": [\"Прикажи детаље\"] } } }, { \"l\": \"sr@latin\", \"t\": {} }, { \"l\": \"sv\", \"t\": { \"Hide details\": { \"v\": [\"Göm detaljer\"] }, \"Rename project\": { \"v\": [\"Byt namn på projektet\"] }, \"Show details\": { \"v\": [\"Visa detaljer\"] } } }, { \"l\": \"sw\", \"t\": {} }, { \"l\": \"ta\", \"t\": {} }, { \"l\": \"th\", \"t\": {} }, { \"l\": \"tk\", \"t\": {} }, { \"l\": \"tr\", \"t\": { \"Hide details\": { \"v\": [\"Ayrıntıları gizle\"] }, \"Rename project\": { \"v\": [\"Projeyi yeniden adlandır\"] }, \"Show details\": { \"v\": [\"Ayrıntıları görüntüle\"] } } }, { \"l\": \"ug\", \"t\": {} }, { \"l\": \"uk\", \"t\": { \"Hide details\": { \"v\": [\"Сховати деталі\"] }, \"Rename project\": { \"v\": [\"Перейменувати проєкт\"] }, \"Show details\": { \"v\": [\"Показати деталі\"] } } }, { \"l\": \"ur_PK\", \"t\": {} }, { \"l\": \"uz\", \"t\": { \"Hide details\": { \"v\": [\"Tafsilotlarni yashirish\"] }, \"Rename project\": { \"v\": [\"Loyiha nomini o'zgartirish\"] }, \"Show details\": { \"v\": [\"Tafsilotlarni ko'rsatish\"] } } }, { \"l\": \"vi\", \"t\": {} }, { \"l\": \"zh_CN\", \"t\": { \"Hide details\": { \"v\": [\"隐藏细节\"] }, \"Rename project\": { \"v\": [\"重命名项目\"] }, \"Show details\": { \"v\": [\"显示细节\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Hide details\": { \"v\": [\"隱藏詳情\"] }, \"Rename project\": { \"v\": [\"重命名方案\"] }, \"Show details\": { \"v\": [\"顯示詳情\"] } } }, { \"l\": \"zh_TW\", \"t\": {} }, { \"l\": \"zu_ZA\", \"t\": {} }];\nconst t27 = [{ \"l\": \"af\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"Hide password\": { \"v\": [\"إخفاء كلمة المرور\"] }, \"Password is secure\": { \"v\": [\"كلمة المرور آمنة\"] }, \"Show password\": { \"v\": [\"أظهِر كلمة المرور\"] } } }, { \"l\": \"ast\", \"t\": { \"Hide password\": { \"v\": [\"Anubrir la contraseña\"] }, \"Password is secure\": { \"v\": [\"La contraseña ye segura\"] }, \"Show password\": { \"v\": [\"Amosar la contraseña\"] } } }, { \"l\": \"az\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"bs\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"Hide password\": { \"v\": [\"Amagar contrasenya\"] }, \"Password is secure\": { \"v\": [\"Contrasenya segura
\"] }, \"Show password\": { \"v\": [\"Mostrar contrasenya\"] } } }, { \"l\": \"cs\", \"t\": { \"Hide password\": { \"v\": [\"Skrýt heslo\"] }, \"Password is secure\": { \"v\": [\"Heslo je bezpečné\"] }, \"Show password\": { \"v\": [\"Zobrazit heslo\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"Hide password\": { \"v\": [\"Skrýt heslo\"] }, \"Password is secure\": { \"v\": [\"Heslo je bezpečné\"] }, \"Show password\": { \"v\": [\"Zobrazit heslo\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"Hide password\": { \"v\": [\"Skjul kodeord\"] }, \"Password is secure\": { \"v\": [\"Kodeordet er sikkert\"] }, \"Show password\": { \"v\": [\"Vis kodeord\"] } } }, { \"l\": \"de\", \"t\": { \"Hide password\": { \"v\": [\"Passwort verbergen\"] }, \"Password is secure\": { \"v\": [\"Passwort ist sicher\"] }, \"Show password\": { \"v\": [\"Passwort anzeigen\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Hide password\": { \"v\": [\"Passwort verbergen\"] }, \"Password is secure\": { \"v\": [\"Passwort ist sicher\"] }, \"Show password\": { \"v\": [\"Passwort anzeigen\"] } } }, { \"l\": \"el\", \"t\": { \"Hide password\": { \"v\": [\"Απόκρυψη συνθηματικού\"] }, \"Password is secure\": { \"v\": [\"Το συνθηματικό είναι ασφαλές\"] }, \"Show password\": { \"v\": [\"Εμφάνιση κωδικού πρόσβασης\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Hide password\": { \"v\": [\"Hide password\"] }, \"Password is secure\": { \"v\": [\"Password is secure\"] }, \"Show password\": { \"v\": [\"Show password\"] } } }, { \"l\": \"eo\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"es\", \"t\": { \"Hide password\": { \"v\": [\"Ocultar contraseña\"] }, \"Password is secure\": { \"v\": [\"La contraseña es segura\"] }, \"Show password\": { \"v\": [\"Mostrar contraseña\"] } } }, { \"l\": \"es_419\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"Hide password\": { \"v\": [\"Ocultar contraseña\"] }, \"Password is secure\": { \"v\": [\"La contraseña es segura\"] }, \"Show password\": { \"v\": [\"Mostrar contraseña\"] } } }, { \"l\": \"es_CL\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"Hide password\": { \"v\": [\"Ocultar contraseña\"] }, \"Password is secure\": { \"v\": [\"La contraseña es segura\"] }, \"Show password\": { \"v\": [\"Mostrar contraseña\"] } } }, { \"l\": \"es_GT\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"Hide password\": { \"v\": [\"Ocultar contraseña\"] }, \"Password is secure\": { \"v\": [\"La contraseña es segura\"] }, \"Show password\": { \"v\": [\"Mostrar contraseña\"] } } }, { \"l\": \"es_NI\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"Hide password\": { \"v\": [\"Peida salasõna\"] }, \"Password is secure\": { \"v\": [\"Salasõna on turvaline\"] }, \"Show password\": { \"v\": [\"Näita salasõna\"] } } }, { \"l\": \"eu\", \"t\": { \"Hide password\": { \"v\": [\"Ezkutatu pasahitza\"] }, \"Password is secure\": { \"v\": [\"Pasahitza segurua da\"] }, \"Show password\": { \"v\": [\"Erakutsi pasahitza\"] } } }, { \"l\": \"fa\", \"t\": { \"Hide password\": { \"v\": [\"پنهان کردن رمز عبور\"] }, \"Password is secure\": { \"v\": [\"گذرواژه امن است\"] }, \"Show password\": { \"v\": [\"نمایش گذرواژه\"] } } }, { \"l\": \"fi\", \"t\": { \"Hide password\": { \"v\": [\"Piilota salasana\"] }, \"Password is secure\": { \"v\": [\"Salasana on turvallinen\"] }, \"Show password\": { \"v\": [\"Näytä salasana\"] } } }, { \"l\": \"fo\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"Hide password\": { \"v\": [\"Cacher le mot de passe\"] }, \"Password is secure\": { \"v\": [\"Le mot de passe est sécurisé\"] }, \"Show password\": { \"v\": [\"Afficher le mot de passe\"] } } }, { \"l\": \"ga\", \"t\": { \"Hide password\": { \"v\": [\"Folaigh pasfhocal\"] }, \"Password is secure\": { \"v\": [\"Tá pasfhocal slán\"] }, \"Show password\": { \"v\": [\"Taispeáin pasfhocal\"] } } }, { \"l\": \"gd\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"Hide password\": { \"v\": [\"Agochar o contrasinal\"] }, \"Password is secure\": { \"v\": [\"O contrasinal é seguro\"] }, \"Show password\": { \"v\": [\"Amosar o contrasinal\"] } } }, { \"l\": \"he\", \"t\": { \"Hide password\": { \"v\": [\"הסתרת סיסמה\"] }, \"Password is secure\": { \"v\": [\"הסיסמה מאובטחת\"] }, \"Show password\": { \"v\": [\"הצגת סיסמה\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"Hide password\": { \"v\": [\"Jelszó elrejtése\"] }, \"Password is secure\": { \"v\": [\"A jelszó biztonságos\"] }, \"Show password\": { \"v\": [\"Jelszó megjelenítése\"] } } }, { \"l\": \"hy\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"Hide password\": { \"v\": [\"Sembunyikan sandi\"] }, \"Password is secure\": { \"v\": [\"Kata sandi sudah aman\"] }, \"Show password\": { \"v\": [\"Tampilkan sandi\"] } } }, { \"l\": \"ig\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"Hide password\": { \"v\": [\"Fela lykilorð\"] }, \"Password is secure\": { \"v\": [\"Lykilorðið er öruggt\"] }, \"Show password\": { \"v\": [\"Birta lykilorð\"] } } }, { \"l\": \"it\", \"t\": { \"Hide password\": { \"v\": [\"Nascondi la password\"] }, \"Password is secure\": { \"v\": [\"La password è sicura\"] }, \"Show password\": { \"v\": [\"Mostra la password\"] } } }, { \"l\": \"ja\", \"t\": { \"Hide password\": { \"v\": [\"パスワードを非表示\"] }, \"Password is secure\": { \"v\": [\"パスワードは保護されています\"] }, \"Show password\": { \"v\": [\"パスワードを表示\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"Hide password\": { \"v\": [\"パスワードを非表示\"] }, \"Password is secure\": { \"v\": [\"パスワードは保護されています\"] }, \"Show password\": { \"v\": [\"パスワードを表示\"] } } }, { \"l\": \"ka\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"Hide password\": { \"v\": [\"암호 숨기기\"] }, \"Password is secure\": { \"v\": [\"암호가 안전합니다.\"] }, \"Show password\": { \"v\": [\"암호 표시\"] } } }, { \"l\": \"la\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"lv\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"mk\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"mn\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"nb\", \"t\": { \"Hide password\": { \"v\": [\"Skjul passord\"] }, \"Password is secure\": { \"v\": [\"Passordet er sikkert\"] }, \"Show password\": { \"v\": [\"Vis passord\"] } } }, { \"l\": \"ne\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"Hide password\": { \"v\": [\"Verberg wachtwoord\"] }, \"Password is secure\": { \"v\": [\"Wachtwoord is veilig\"] }, \"Show password\": { \"v\": [\"Toon wachtwoord\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"pl\", \"t\": { \"Hide password\": { \"v\": [\"Ukryj hasło\"] }, \"Password is secure\": { \"v\": [\"Hasło jest bezpieczne\"] }, \"Show password\": { \"v\": [\"Pokaż hasło\"] } } }, { \"l\": \"ps\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"Hide password\": { \"v\": [\"Ocultar senha\"] }, \"Password is secure\": { \"v\": [\"A senha é segura\"] }, \"Show password\": { \"v\": [\"Mostrar senha\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Hide password\": { \"v\": [\"Ocultar palavra-passe\"] }, \"Password is secure\": { \"v\": [\"A palavra-passe é segura\"] }, \"Show password\": { \"v\": [\"Mostrar palavra-passe\"] } } }, { \"l\": \"ro\", \"t\": { \"Hide password\": { \"v\": [\"Ascunde parola\"] }, \"Password is secure\": { \"v\": [\"Parola este sigură\"] }, \"Show password\": { \"v\": [\"Arată parola\"] } } }, { \"l\": \"ru\", \"t\": { \"Hide password\": { \"v\": [\"Скрыть пароль\"] }, \"Password is secure\": { \"v\": [\"Пароль надежный\"] }, \"Show password\": { \"v\": [\"Показать пароль\"] } } }, { \"l\": \"sc\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"Hide password\": { \"v\": [\"Skryť heslo\"] }, \"Password is secure\": { \"v\": [\"Heslo je bezpečné\"] }, \"Show password\": { \"v\": [\"Zobraziť heslo\"] } } }, { \"l\": \"sl\", \"t\": { \"Hide password\": { \"v\": [\"Skrij geslo\"] }, \"Password is secure\": { \"v\": [\"Geslo je varno\"] }, \"Show password\": { \"v\": [\"Pokaži geslo\"] } } }, { \"l\": \"sq\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"Hide password\": { \"v\": [\"Сакриј лозинку\"] }, \"Password is secure\": { \"v\": [\"Лозинка је безбедна\"] }, \"Show password\": { \"v\": [\"Прикажи лозинку\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"Hide password\": { \"v\": [\"Göm lösenordet\"] }, \"Password is secure\": { \"v\": [\"Lössenordet är säkert\"] }, \"Show password\": { \"v\": [\"Visa lössenordet\"] } } }, { \"l\": \"sw\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"Hide password\": { \"v\": [\"Parolayı gizle\"] }, \"Password is secure\": { \"v\": [\"Parola güvenli\"] }, \"Show password\": { \"v\": [\"Parolayı görüntüle\"] } } }, { \"l\": \"ug\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"Hide password\": { \"v\": [\"Приховати пароль\"] }, \"Password is secure\": { \"v\": [\"Пароль безпечний\"] }, \"Show password\": { \"v\": [\"Показати пароль\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"Hide password\": { \"v\": [\"Parolni yashirish\"] }, \"Password is secure\": { \"v\": [\"Parol xavfsiz\"] }, \"Show password\": { \"v\": [\"Parolni ko'rsatish\"] } } }, { \"l\": \"vi\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"Hide password\": { \"v\": [\"隐藏密码\"] }, \"Password is secure\": { \"v\": [\"密码安全\"] }, \"Show password\": { \"v\": [\"显示密码\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Hide password\": { \"v\": [\"隱藏密碼\"] }, \"Password is secure\": { \"v\": [\"密碼是安全的\"] }, \"Show password\": { \"v\": [\"顯示密碼\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"Hide password\": { \"v\": [\"隱藏密碼\"] }, \"Password is secure\": { \"v\": [\"密碼安全\"] }, \"Show password\": { \"v\": [\"顯示密碼\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"Hide password\": { \"v\": [\"\"] }, \"Password is secure\": { \"v\": [\"\"] }, \"Show password\": { \"v\": [\"\"] } } }];\nconst t28 = [{ \"l\": \"af\", \"t\": {} }, { \"l\": \"ar\", \"t\": { \"Keyboard navigation help\": { \"v\": [\"مساعدة في التنقل باستعمال لوحة المفاتيح\"] }, \"Skip to app navigation\": { \"v\": [\"تجاوَز إلى التنقل في التطبيق\"] }, \"Skip to main content\": { \"v\": [\"تجاوَز إلى المحتوى الرئيسي\"] } } }, { \"l\": \"ast\", \"t\": { \"Keyboard navigation help\": { \"v\": [\"Ayuda de la navegación pente'l tecláu\"] }, \"Skip to app navigation\": { \"v\": [\"Dir a la navegación d'aplicaciones\"] }, \"Skip to main content\": { \"v\": [\"Dir al conteníu principal\"] } } }, { \"l\": \"az\", \"t\": {} }, { \"l\": \"be\", \"t\": {} }, { \"l\": \"bg\", \"t\": {} }, { \"l\": \"bn_BD\", \"t\": {} }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"bs\", \"t\": {} }, { \"l\": \"ca\", \"t\": {} }, { \"l\": \"cs\", \"t\": { \"Keyboard navigation help\": { \"v\": [\"Nápověda pro pohyb pomocí klávesnice\"] }, \"Skip to app navigation\": { \"v\": [\"Přeskočit na navigaci aplikace\"] }, \"Skip to main content\": { \"v\": [\"Přeskočit na hlavní obsah\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"Keyboard navigation help\": { \"v\": [\"Nápověda pro pohyb pomocí klávesnice\"] }, \"Skip to app navigation\": { \"v\": [\"Přeskočit na navigaci aplikace\"] }, \"Skip to main content\": { \"v\": [\"Přeskočit na hlavní obsah\"] } } }, { \"l\": \"cy_GB\", \"t\": {} }, { \"l\": \"da\", \"t\": { \"Keyboard navigation help\": { \"v\": [\"Hjælp til tastaturnavigation\"] }, \"Skip to app navigation\": { \"v\": [\"Spring til app navigation\"] }, \"Skip to main content\": { \"v\": [\"Spring til hovedindhold\"] } } }, { \"l\": \"de\", \"t\": { \"Keyboard navigation help\": { \"v\": [\"Tastatur-Navigationshilfe\"] }, \"Skip to app navigation\": { \"v\": [\"Zur App-Navigation springen\"] }, \"Skip to main content\": { \"v\": [\"Zum Hauptinhalt springen\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Keyboard navigation help\": { \"v\": [\"Tastatur-Navigationshilfe\"] }, \"Skip to app navigation\": { \"v\": [\"Zur App-Navigation springen\"] }, \"Skip to main content\": { \"v\": [\"Zum Hauptinhalt springen\"] } } }, { \"l\": \"el\", \"t\": { \"Keyboard navigation help\": { \"v\": [\"Βοήθεια πλοήγησης με πληκτρολόγιο\"] }, \"Skip to app navigation\": { \"v\": [\"Μετάβαση στην πλοήγηση της εφαρμογής\"] }, \"Skip to main content\": { \"v\": [\"Μετάβαση στο κύριο περιεχόμενο\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Keyboard navigation help\": { \"v\": [\"Keyboard navigation help\"] }, \"Skip to app navigation\": { \"v\": [\"Skip to app navigation\"] }, \"Skip to main content\": { \"v\": [\"Skip to main content\"] } } }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": { \"Keyboard navigation help\": { \"v\": [\"Ayuda de navegación del teclado\"] }, \"Skip to app navigation\": { \"v\": [\"Saltar a la navegación de apps\"] }, \"Skip to main content\": { \"v\": [\"Saltar al contenido principal\"] } } }, { \"l\": \"es_419\", \"t\": {} }, { \"l\": \"es_AR\", \"t\": { \"Keyboard navigation help\": { \"v\": [\"Ayuda de navegación del teclado\"] }, \"Skip to app navigation\": { \"v\": [\"Saltar a la navegación de app\"] }, \"Skip to main content\": { \"v\": [\"Saltar al contenido principal\"] } } }, { \"l\": \"es_CL\", \"t\": {} }, { \"l\": \"es_CO\", \"t\": {} }, { \"l\": \"es_CR\", \"t\": {} }, { \"l\": \"es_DO\", \"t\": {} }, { \"l\": \"es_EC\", \"t\": {} }, { \"l\": \"es_GT\", \"t\": {} }, { \"l\": \"es_HN\", \"t\": {} }, { \"l\": \"es_MX\", \"t\": { \"Keyboard navigation help\": { \"v\": [\"Ayuda de navegación del teclado\"] }, \"Skip to app navigation\": { \"v\": [\"Saltar a la navegación de app\"] }, \"Skip to main content\": { \"v\": [\"Saltar al contenido principal\"] } } }, { \"l\": \"es_NI\", \"t\": {} }, { \"l\": \"es_PA\", \"t\": {} }, { \"l\": \"es_PE\", \"t\": {} }, { \"l\": \"es_PR\", \"t\": {} }, { \"l\": \"es_PY\", \"t\": {} }, { \"l\": \"es_SV\", \"t\": {} }, { \"l\": \"es_UY\", \"t\": {} }, { \"l\": \"et_EE\", \"t\": { \"Keyboard navigation help\": { \"v\": [\"Klahvistiku kasutuse abiteave\"] }, \"Skip to app navigation\": { \"v\": [\"Suundu rakenduses liikumise valikute juurde\"] }, \"Skip to main content\": { \"v\": [\"Suundu põhisisu juurde\"] } } }, { \"l\": \"eu\", \"t\": {} }, { \"l\": \"fa\", \"t\": { \"Keyboard navigation help\": { \"v\": [\"راهنمای ناوبری صفحه کلید\"] }, \"Skip to app navigation\": { \"v\": [\"رفتن به پیمایش برنامه\"] }, \"Skip to main content\": { \"v\": [\"رفتن به محتوای اصلی\"] } } }, { \"l\": \"fi\", \"t\": { \"Keyboard navigation help\": { \"v\": [\"Näppäimistönavigoinnin ohje\"] }, \"Skip to app navigation\": { \"v\": [\"Siirry sovelluksen navigaatioon\"] }, \"Skip to main content\": { \"v\": [\"Siirry pääsisältöön\"] } } }, { \"l\": \"fo\", \"t\": {} }, { \"l\": \"fr\", \"t\": { \"Keyboard navigation help\": { \"v\": [\"Aide à la navigation du clavier\"] }, \"Skip to app navigation\": { \"v\": [\"Passer à l'app navigation\"] }, \"Skip to main content\": { \"v\": [\"Passer au contenu principal\"] } } }, { \"l\": \"ga\", \"t\": { \"Keyboard navigation help\": { \"v\": [\"Cabhair le nascleanúint méarchláir\"] }, \"Skip to app navigation\": { \"v\": [\"Téigh ar aghaidh chuig nascleanúint aip\"] }, \"Skip to main content\": { \"v\": [\"Téigh ar aghaidh chuig an bpríomhábhar\"] } } }, { \"l\": \"gd\", \"t\": {} }, { \"l\": \"gl\", \"t\": { \"Keyboard navigation help\": { \"v\": [\"Axuda á navegación co teclado\"] }, \"Skip to app navigation\": { \"v\": [\"Ir á navegación da aplicación\"] }, \"Skip to main content\": { \"v\": [\"Ir ao contido principal\"] } } }, { \"l\": \"he\", \"t\": {} }, { \"l\": \"hi_IN\", \"t\": {} }, { \"l\": \"hr\", \"t\": {} }, { \"l\": \"hsb\", \"t\": {} }, { \"l\": \"hu\", \"t\": {} }, { \"l\": \"hy\", \"t\": {} }, { \"l\": \"ia\", \"t\": {} }, { \"l\": \"id\", \"t\": {} }, { \"l\": \"ig\", \"t\": {} }, { \"l\": \"is\", \"t\": { \"Keyboard navigation help\": { \"v\": [\"Aðstoð við rötun á lyklaborði\"] }, \"Skip to app navigation\": { \"v\": [\"Sleppa og fara í flakk innan forrits\"] }, \"Skip to main content\": { \"v\": [\"Sleppa og fara í meginefni\"] } } }, { \"l\": \"it\", \"t\": {} }, { \"l\": \"ja\", \"t\": { \"Keyboard navigation help\": { \"v\": [\"キーボード・ナビゲーション・ヘルプ\"] }, \"Skip to app navigation\": { \"v\": [\"アプリのナビゲーションへ移動\"] }, \"Skip to main content\": { \"v\": [\"メインコンテンツへ移動\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"Keyboard navigation help\": { \"v\": [\"キーボード・ナビゲーション・ヘルプ\"] }, \"Skip to app navigation\": { \"v\": [\"アプリのナビゲーションへ移動\"] }, \"Skip to main content\": { \"v\": [\"メインコンテンツへ移動\"] } } }, { \"l\": \"ka\", \"t\": {} }, { \"l\": \"ka_GE\", \"t\": {} }, { \"l\": \"kab\", \"t\": {} }, { \"l\": \"kk\", \"t\": {} }, { \"l\": \"km\", \"t\": {} }, { \"l\": \"kn\", \"t\": {} }, { \"l\": \"ko\", \"t\": { \"Keyboard navigation help\": { \"v\": [\"키보드 탐색 도움말\"] }, \"Skip to app navigation\": { \"v\": [\"앱 탐색으로 건너뛰기\"] }, \"Skip to main content\": { \"v\": [\"본 내용으로 건너뛰기\"] } } }, { \"l\": \"la\", \"t\": {} }, { \"l\": \"lb\", \"t\": {} }, { \"l\": \"lo\", \"t\": {} }, { \"l\": \"lt_LT\", \"t\": {} }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": {} }, { \"l\": \"mn\", \"t\": {} }, { \"l\": \"mr\", \"t\": {} }, { \"l\": \"ms_MY\", \"t\": {} }, { \"l\": \"my\", \"t\": {} }, { \"l\": \"nb\", \"t\": { \"Keyboard navigation help\": { \"v\": [\"Hjelp for tastaturnavigering\"] }, \"Skip to app navigation\": { \"v\": [\"Hopp til appnavigering\"] }, \"Skip to main content\": { \"v\": [\"Hopp til hovedinnhold\"] } } }, { \"l\": \"ne\", \"t\": {} }, { \"l\": \"nl\", \"t\": { \"Keyboard navigation help\": { \"v\": [\"Hulp voor toetsenbordnavigatie\"] }, \"Skip to app navigation\": { \"v\": [\"Doorgaan naar app-navigatie\"] }, \"Skip to main content\": { \"v\": [\"Naar hoofdinhoud gaan\"] } } }, { \"l\": \"nn_NO\", \"t\": {} }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"Keyboard navigation help\": { \"v\": [\"Pomoc w nawigacji za pomocą klawiatury\"] }, \"Skip to app navigation\": { \"v\": [\"Przewiń do nawigacji\"] }, \"Skip to main content\": { \"v\": [\"Przewiń do głównych treści\"] } } }, { \"l\": \"ps\", \"t\": {} }, { \"l\": \"pt_BR\", \"t\": { \"Keyboard navigation help\": { \"v\": [\"Ajuda para navegação pelo teclado\"] }, \"Skip to app navigation\": { \"v\": [\"Ir para navegação\"] }, \"Skip to main content\": { \"v\": [\"Ir para conteúdo principal\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Keyboard navigation help\": { \"v\": [\"Ajuda à navegação no teclado\"] }, \"Skip to app navigation\": { \"v\": [\"Saltar para navegação da app\"] }, \"Skip to main content\": { \"v\": [\"Saltar para conteúdo principal\"] } } }, { \"l\": \"ro\", \"t\": {} }, { \"l\": \"ru\", \"t\": { \"Keyboard navigation help\": { \"v\": [\"Справка по навигации с помощью клавиатуры\"] }, \"Skip to app navigation\": { \"v\": [\"Перейти к навигации по приложению\"] }, \"Skip to main content\": { \"v\": [\"Перейти к основному содержанию\"] } } }, { \"l\": \"sc\", \"t\": {} }, { \"l\": \"si\", \"t\": {} }, { \"l\": \"sk\", \"t\": { \"Keyboard navigation help\": { \"v\": [\"Pomoc pri navigácii pomocou klávesnice\"] }, \"Skip to app navigation\": { \"v\": [\"Preskočiť na navigáciu v aplikácii\"] }, \"Skip to main content\": { \"v\": [\"Preskočiť na hlavný obsah\"] } } }, { \"l\": \"sl\", \"t\": {} }, { \"l\": \"sq\", \"t\": {} }, { \"l\": \"sr\", \"t\": { \"Keyboard navigation help\": { \"v\": [\"Помоћ за навигацију тастатуром\"] }, \"Skip to app navigation\": { \"v\": [\"Прескочи на навигацију апликацијом\"] }, \"Skip to main content\": { \"v\": [\"Прескочи на главни садржај\"] } } }, { \"l\": \"sr@latin\", \"t\": {} }, { \"l\": \"sv\", \"t\": { \"Keyboard navigation help\": { \"v\": [\"Hjälp med tangentbordsnavigering\"] }, \"Skip to app navigation\": { \"v\": [\"Hoppa till appnavigering\"] }, \"Skip to main content\": { \"v\": [\"Hoppa till huvudinnehåll\"] } } }, { \"l\": \"sw\", \"t\": {} }, { \"l\": \"ta\", \"t\": {} }, { \"l\": \"th\", \"t\": {} }, { \"l\": \"tk\", \"t\": {} }, { \"l\": \"tr\", \"t\": { \"Keyboard navigation help\": { \"v\": [\"Klavye ile gezinme yardımı\"] }, \"Skip to app navigation\": { \"v\": [\"Uygulama gezinmesine git\"] }, \"Skip to main content\": { \"v\": [\"Ana içeriğe git\"] } } }, { \"l\": \"ug\", \"t\": {} }, { \"l\": \"uk\", \"t\": { \"Keyboard navigation help\": { \"v\": [\"Допомога з навігацією клавішами\"] }, \"Skip to app navigation\": { \"v\": [\"Пропустити навігацію по застосунках\"] }, \"Skip to main content\": { \"v\": [\"Перейти одразу до головного вмісту\"] } } }, { \"l\": \"ur_PK\", \"t\": {} }, { \"l\": \"uz\", \"t\": { \"Keyboard navigation help\": { \"v\": [\"Klaviatura navigatsiyasi yordami\"] }, \"Skip to app navigation\": { \"v\": [\"Ilova navigatsiyasiga oʻtish\"] }, \"Skip to main content\": { \"v\": [\"Asosiy tarkibga o'tish\"] } } }, { \"l\": \"vi\", \"t\": {} }, { \"l\": \"zh_CN\", \"t\": { \"Keyboard navigation help\": { \"v\": [\"键盘导航栏帮助\"] }, \"Skip to app navigation\": { \"v\": [\"跳转至应用程序导航页\"] }, \"Skip to main content\": { \"v\": [\"跳转至主要内容\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Keyboard navigation help\": { \"v\": [\"鍵盤導航幫助\"] }, \"Skip to app navigation\": { \"v\": [\"跳至應用程式導航\"] }, \"Skip to main content\": { \"v\": [\"跳至主要內容\"] } } }, { \"l\": \"zh_TW\", \"t\": {} }, { \"l\": \"zu_ZA\", \"t\": {} }];\nconst t29 = [{ \"l\": \"af\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { 'Load more \"{options}\"': { \"v\": ['تحميل المزيد من \"{options}\" '] }, \"Raw link {options}\": { \"v\": [\" الرابط الخام raw link ـ {options}\"] }, \"Start typing to search\": { \"v\": [\"إبدإ كتابة مفردات البحث\"] } } }, { \"l\": \"ast\", \"t\": { 'Load more \"{options}\"': { \"v\": [\"Cargar más «{options}»\"] }, \"Raw link {options}\": { \"v\": [\"Enllaz en bruto {optiones}\"] }, \"Start typing to search\": { \"v\": [\"Comienza a escribir pa buscar\"] } } }, { \"l\": \"az\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"bs\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"cs\", \"t\": { 'Load more \"{options}\"': { \"v\": [\"Načíst další „{options}“\"] }, \"Raw link {options}\": { \"v\": [\"Holý odkaz {options}\"] }, \"Start typing to search\": { \"v\": [\"Vyhledávejte psaním\"] } } }, { \"l\": \"cs_CZ\", \"t\": { 'Load more \"{options}\"': { \"v\": [\"Načíst další „{options}“\"] }, \"Raw link {options}\": { \"v\": [\"Holý odkaz {options}\"] }, \"Start typing to search\": { \"v\": [\"Vyhledávejte psaním\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Indlæs flere \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Rå link {options}\"] }, \"Start typing to search\": { \"v\": [\"Begynd at skrive for at søge\"] } } }, { \"l\": \"de\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Weitere \"{options}\" laden'] }, \"Raw link {options}\": { \"v\": [\"Unverarbeiteter Link {Optionen}\"] }, \"Start typing to search\": { \"v\": [\"Mit der Eingabe beginnen, um zu suchen\"] } } }, { \"l\": \"de_DE\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Weitere \"{options}\" laden'] }, \"Raw link {options}\": { \"v\": [\"Unverarbeiteter Link {Optionen}\"] }, \"Start typing to search\": { \"v\": [\"Mit der Eingabe beginnen, um zu suchen\"] } } }, { \"l\": \"el\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Φόρτωση περισσότερων \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Ακατέργαστος σύνδεσμος {options}\"] }, \"Start typing to search\": { \"v\": [\"Ξεκινήστε να πληκτρολογείτε για αναζήτηση\"] } } }, { \"l\": \"en_GB\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Load more \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Raw link {options}\"] }, \"Start typing to search\": { \"v\": [\"Start typing to search\"] } } }, { \"l\": \"eo\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"es\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Cargar más \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Enlace directo {options}\"] }, \"Start typing to search\": { \"v\": [\"Comience a escribir para buscar\"] } } }, { \"l\": \"es_419\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Cargar más \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Enlace directo {options}\"] }, \"Start typing to search\": { \"v\": [\"Comience a escribir para buscar\"] } } }, { \"l\": \"es_CL\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { 'Load more \"{options}\"': { \"v\": [\"\"] }, \"Raw link {options}\": { \"v\": [\"Enlace directo {options}\"] }, \"Start typing to search\": { \"v\": [\"Comienza a escribir para buscar\"] } } }, { \"l\": \"es_GT\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Cargar más \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Enlace directo {options}\"] }, \"Start typing to search\": { \"v\": [\"Comience a escribir para buscar\"] } } }, { \"l\": \"es_NI\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Laadi rohkem \"{valikud}\"'] }, \"Raw link {options}\": { \"v\": [\"Raw link {valikud}\"] }, \"Start typing to search\": { \"v\": [\"Alusta otsinguks sisestamist\"] } } }, { \"l\": \"eu\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Kargatu \"{options}\" gehiago'] }, \"Raw link {options}\": { \"v\": [\"Formaturik gabeko esteka {aukerak}\"] }, \"Start typing to search\": { \"v\": [\"Hasi idazten bilatzeko\"] } } }, { \"l\": \"fa\", \"t\": { 'Load more \"{options}\"': { \"v\": ['بارگذاری بیشتر \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"پیوند خام {options}\"] }, \"Start typing to search\": { \"v\": [\"برای جستجو تایپ کنید\"] } } }, { \"l\": \"fi\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Lataa lisää \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Raaka linkki {options}\"] }, \"Start typing to search\": { \"v\": [\"Aloita kirjoittaminen hakeaksesi\"] } } }, { \"l\": \"fo\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { 'Load more \"{options}\"': { \"v\": [`Charger d'avantage \"{options}\"`] }, \"Raw link {options}\": { \"v\": [\"Lien brut {options}\"] }, \"Start typing to search\": { \"v\": [\"Commencez à écrire pour rechercher\"] } } }, { \"l\": \"ga\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Luchtaigh tuilleadh \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Nasc amh {roghanna}\"] }, \"Start typing to search\": { \"v\": [\"Tosaigh ag clóscríobh chun cuardach a dhéanamh\"] } } }, { \"l\": \"gd\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { 'Load more \"{options}\"': { \"v\": [\"Cargar máis «{options}»\"] }, \"Raw link {options}\": { \"v\": [\"Ligazón sen procesar {options}\"] }, \"Start typing to search\": { \"v\": [\"Comece a escribir para buscar\"] } } }, { \"l\": \"he\", \"t\": { 'Load more \"{options}\"': { \"v\": [\"\"] }, \"Raw link {options}\": { \"v\": [\"קישור גולמי {options}\"] }, \"Start typing to search\": { \"v\": [\"התחלת הקלדה מחפשת\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"hy\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Muat \"{options}\" lainnya'] }, \"Raw link {options}\": { \"v\": [\"Tautan mentah {options}\"] }, \"Start typing to search\": { \"v\": [\"Ketik untuk mulai mencari\"] } } }, { \"l\": \"ig\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Hlaða inn fleiri \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Hrár tengill {options}\"] }, \"Start typing to search\": { \"v\": [\"Byrjaðu að skrifa til að leita\"] } } }, { \"l\": \"it\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Carica più \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Raw link {options}\"] }, \"Start typing to search\": { \"v\": [\"Iniziare a digitare per effettuare la ricerca\"] } } }, { \"l\": \"ja\", \"t\": { 'Load more \"{options}\"': { \"v\": ['\"{options}\" をもっと読み込む'] }, \"Raw link {options}\": { \"v\": [\"未加工のリンク {options}\"] }, \"Start typing to search\": { \"v\": [\"入力を開始して検索します\"] } } }, { \"l\": \"ja_JP\", \"t\": { 'Load more \"{options}\"': { \"v\": ['\"{options}\" をもっと読み込む'] }, \"Raw link {options}\": { \"v\": [\"未加工のリンク {options}\"] }, \"Start typing to search\": { \"v\": [\"入力を開始して検索します\"] } } }, { \"l\": \"ka\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { 'Load more \"{options}\"': { \"v\": ['\"{options}\" 더 불러오기'] }, \"Raw link {options}\": { \"v\": [\"{options} 원본 링크\"] }, \"Start typing to search\": { \"v\": [\"입력하여 검색\"] } } }, { \"l\": \"la\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"lv\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"mk\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"mn\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"nb\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Last inn flere \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Rå lenke {options}\"] }, \"Start typing to search\": { \"v\": [\"Start å skrive for å søke\"] } } }, { \"l\": \"ne\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Laad meer \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Basis link {options}\"] }, \"Start typing to search\": { \"v\": [\"Start met typen om te zoeken\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"pl\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Załaduj więcej \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Surowy odnośnik {options}\"] }, \"Start typing to search\": { \"v\": [\"Zacznij pisać, aby wyszukać\"] } } }, { \"l\": \"ps\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Carregar mais \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Link bruto {options}\"] }, \"Start typing to search\": { \"v\": [\"Comece a digitar para pesquisar\"] } } }, { \"l\": \"pt_PT\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Carregar mais \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Link inicial {options}\"] }, \"Start typing to search\": { \"v\": [\"Comece a digitar para pesquisar\"] } } }, { \"l\": \"ro\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Încarcă mai multe \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Link brut {options}\"] }, \"Start typing to search\": { \"v\": [\"Tastați pentru căutare\"] } } }, { \"l\": \"ru\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Загрузить больше \"{options}\"\"'] }, \"Raw link {options}\": { \"v\": [\"Необработанная ссылка {options}\"] }, \"Start typing to search\": { \"v\": [\"Начните вводить текст для поиска\"] } } }, { \"l\": \"sc\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Načítať viac \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Raw odkaz {options}\"] }, \"Start typing to search\": { \"v\": [\"Začnite písať pre vyhľadávanie\"] } } }, { \"l\": \"sl\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"sq\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { 'Load more \"{options}\"': { \"v\": [\"Учитај још „{options}”\"] }, \"Raw link {options}\": { \"v\": [\"Сирови линк {options}\"] }, \"Start typing to search\": { \"v\": [\"Покрените претрагу куцањем\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Ladda fler \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Oformaterad länk {options}\"] }, \"Start typing to search\": { \"v\": [\"Börja skriva för att söka\"] } } }, { \"l\": \"sw\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Diğer \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Ham bağlantı {options}\"] }, \"Start typing to search\": { \"v\": [\"Aramak için yazmaya başlayın\"] } } }, { \"l\": \"ug\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { 'Load more \"{options}\"': { \"v\": ['Завантажити більше \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"Пряме посилання {options}\"] }, \"Start typing to search\": { \"v\": [\"Почніть вводити для пошуку\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { 'Load more \"{options}\"': { \"v\": [`Ko'proq yuklash \"{options}\"`] }, \"Raw link {options}\": { \"v\": [\" {options}satr havolasi\"] }, \"Start typing to search\": { \"v\": [\"Qidirish uchun yozishni boshlang\"] } } }, { \"l\": \"vi\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { 'Load more \"{options}\"': { \"v\": [\"加载更多 “{options}”\"] }, \"Raw link {options}\": { \"v\": [\"原始链接 {options}\"] }, \"Start typing to search\": { \"v\": [\"开始输入以进行搜索\"] } } }, { \"l\": \"zh_HK\", \"t\": { 'Load more \"{options}\"': { \"v\": ['載入更多 \"{options}\"'] }, \"Raw link {options}\": { \"v\": [\"原始連結 {options}\"] }, \"Start typing to search\": { \"v\": [\"開始輸入以進行搜尋\"] } } }, { \"l\": \"zh_TW\", \"t\": { 'Load more \"{options}\"': { \"v\": [\"載入更多「{options}」\"] }, \"Raw link {options}\": { \"v\": [\"原始連結 {options}\"] }, \"Start typing to search\": { \"v\": [\"開始輸入以進行搜尋\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"Raw link {options}\": { \"v\": [\"\"] }, \"Start typing to search\": { \"v\": [\"\"] } } }];\nconst t30 = [{ \"l\": \"af\", \"t\": {} }, { \"l\": \"ar\", \"t\": { \"Loading …\": { \"v\": [\"التحميل جارٍ ...\"] } } }, { \"l\": \"ast\", \"t\": {} }, { \"l\": \"az\", \"t\": {} }, { \"l\": \"be\", \"t\": {} }, { \"l\": \"bg\", \"t\": {} }, { \"l\": \"bn_BD\", \"t\": {} }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"bs\", \"t\": {} }, { \"l\": \"ca\", \"t\": {} }, { \"l\": \"cs\", \"t\": { \"Loading …\": { \"v\": [\"Načítání…\"] } } }, { \"l\": \"cs_CZ\", \"t\": {} }, { \"l\": \"cy_GB\", \"t\": {} }, { \"l\": \"da\", \"t\": { \"Loading …\": { \"v\": [\"Indlæser…\"] } } }, { \"l\": \"de\", \"t\": { \"Loading …\": { \"v\": [\"Wird geladen …\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Loading …\": { \"v\": [\"Wird geladen …\"] } } }, { \"l\": \"el\", \"t\": { \"Loading …\": { \"v\": [\"Φόρτωση …\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Loading …\": { \"v\": [\"Loading …\"] } } }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": {} }, { \"l\": \"es_419\", \"t\": {} }, { \"l\": \"es_AR\", \"t\": {} }, { \"l\": \"es_CL\", \"t\": {} }, { \"l\": \"es_CO\", \"t\": {} }, { \"l\": \"es_CR\", \"t\": {} }, { \"l\": \"es_DO\", \"t\": {} }, { \"l\": \"es_EC\", \"t\": {} }, { \"l\": \"es_GT\", \"t\": {} }, { \"l\": \"es_HN\", \"t\": {} }, { \"l\": \"es_MX\", \"t\": {} }, { \"l\": \"es_NI\", \"t\": {} }, { \"l\": \"es_PA\", \"t\": {} }, { \"l\": \"es_PE\", \"t\": {} }, { \"l\": \"es_PR\", \"t\": {} }, { \"l\": \"es_PY\", \"t\": {} }, { \"l\": \"es_SV\", \"t\": {} }, { \"l\": \"es_UY\", \"t\": {} }, { \"l\": \"et_EE\", \"t\": { \"Loading …\": { \"v\": [\"Laadin…\"] } } }, { \"l\": \"eu\", \"t\": {} }, { \"l\": \"fa\", \"t\": { \"Loading …\": { \"v\": [\"در حال بارگذاری ...\"] } } }, { \"l\": \"fi\", \"t\": { \"Loading …\": { \"v\": [\"Ladataan ...\"] } } }, { \"l\": \"fo\", \"t\": {} }, { \"l\": \"fr\", \"t\": { \"Loading …\": { \"v\": [\"Chargement …\"] } } }, { \"l\": \"ga\", \"t\": { \"Loading …\": { \"v\": [\"Á lódáil…\"] } } }, { \"l\": \"gd\", \"t\": {} }, { \"l\": \"gl\", \"t\": { \"Loading …\": { \"v\": [\"Cargando…\"] } } }, { \"l\": \"he\", \"t\": {} }, { \"l\": \"hi_IN\", \"t\": {} }, { \"l\": \"hr\", \"t\": {} }, { \"l\": \"hsb\", \"t\": {} }, { \"l\": \"hu\", \"t\": {} }, { \"l\": \"hy\", \"t\": {} }, { \"l\": \"ia\", \"t\": {} }, { \"l\": \"id\", \"t\": {} }, { \"l\": \"ig\", \"t\": {} }, { \"l\": \"is\", \"t\": { \"Loading …\": { \"v\": [\"Hleð inn …\"] } } }, { \"l\": \"it\", \"t\": {} }, { \"l\": \"ja\", \"t\": { \"Loading …\": { \"v\": [\"読み込み中 …\"] } } }, { \"l\": \"ja_JP\", \"t\": {} }, { \"l\": \"ka\", \"t\": {} }, { \"l\": \"ka_GE\", \"t\": {} }, { \"l\": \"kab\", \"t\": {} }, { \"l\": \"kk\", \"t\": {} }, { \"l\": \"km\", \"t\": {} }, { \"l\": \"kn\", \"t\": {} }, { \"l\": \"ko\", \"t\": { \"Loading …\": { \"v\": [\"불러오는 중...\"] } } }, { \"l\": \"la\", \"t\": {} }, { \"l\": \"lb\", \"t\": {} }, { \"l\": \"lo\", \"t\": {} }, { \"l\": \"lt_LT\", \"t\": {} }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": {} }, { \"l\": \"mn\", \"t\": {} }, { \"l\": \"mr\", \"t\": {} }, { \"l\": \"ms_MY\", \"t\": {} }, { \"l\": \"my\", \"t\": {} }, { \"l\": \"nb\", \"t\": { \"Loading …\": { \"v\": [\"Laster inn...\"] } } }, { \"l\": \"ne\", \"t\": {} }, { \"l\": \"nl\", \"t\": { \"Loading …\": { \"v\": [\"Laden ...\"] } } }, { \"l\": \"nn_NO\", \"t\": {} }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"Loading …\": { \"v\": [\"Wczytywanie…\"] } } }, { \"l\": \"ps\", \"t\": {} }, { \"l\": \"pt_BR\", \"t\": { \"Loading …\": { \"v\": [\"Carregando …\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Loading …\": { \"v\": [\"A carregar...\"] } } }, { \"l\": \"ro\", \"t\": {} }, { \"l\": \"ru\", \"t\": { \"Loading …\": { \"v\": [\"Загрузка ...\"] } } }, { \"l\": \"sc\", \"t\": {} }, { \"l\": \"si\", \"t\": {} }, { \"l\": \"sk\", \"t\": { \"Loading …\": { \"v\": [\"Nahrávam ...\"] } } }, { \"l\": \"sl\", \"t\": {} }, { \"l\": \"sq\", \"t\": {} }, { \"l\": \"sr\", \"t\": { \"Loading …\": { \"v\": [\"Учитава се…\"] } } }, { \"l\": \"sr@latin\", \"t\": {} }, { \"l\": \"sv\", \"t\": { \"Loading …\": { \"v\": [\"Laddar ...\"] } } }, { \"l\": \"sw\", \"t\": {} }, { \"l\": \"ta\", \"t\": {} }, { \"l\": \"th\", \"t\": {} }, { \"l\": \"tk\", \"t\": {} }, { \"l\": \"tr\", \"t\": { \"Loading …\": { \"v\": [\"Yükleniyor…\"] } } }, { \"l\": \"ug\", \"t\": {} }, { \"l\": \"uk\", \"t\": { \"Loading …\": { \"v\": [\"Завантаження ...\"] } } }, { \"l\": \"ur_PK\", \"t\": {} }, { \"l\": \"uz\", \"t\": { \"Loading …\": { \"v\": [\"Yuklanmoqda...\"] } } }, { \"l\": \"vi\", \"t\": {} }, { \"l\": \"zh_CN\", \"t\": { \"Loading …\": { \"v\": [\"加载中...\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Loading …\": { \"v\": [\"加載中 …\"] } } }, { \"l\": \"zh_TW\", \"t\": {} }, { \"l\": \"zu_ZA\", \"t\": {} }];\nconst t31 = [{ \"l\": \"af\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"No link provider found\": { \"v\": [\"لا يوجد أيّ مزود روابط link provider\"] }, \"Write a message …\": { \"v\": [\"أكتب رسالة ...\"] } } }, { \"l\": \"ast\", \"t\": { \"No link provider found\": { \"v\": [\"Nun s'atopó nengún fornidor d'enllaces\"] }, \"Write a message …\": { \"v\": [\"Escribi un mensaxe…\"] } } }, { \"l\": \"az\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"bs\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"cs\", \"t\": { \"No link provider found\": { \"v\": [\"Nenalezen žádný poskytovatel odkazů\"] }, \"Write a message …\": { \"v\": [\"Napsat zprávu…\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"No link provider found\": { \"v\": [\"Nenalezen žádný poskytovatel odkazů\"] }, \"Write a message …\": { \"v\": [\"Napsat zprávu…\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"No link provider found\": { \"v\": [\"Ingen linkudbyder fundet\"] }, \"Write a message …\": { \"v\": [\"Skriv en besked ...\"] } } }, { \"l\": \"de\", \"t\": { \"No link provider found\": { \"v\": [\"Kein Linkanbieter gefunden\"] }, \"Write a message …\": { \"v\": [\"Nachricht schreiben …\"] } } }, { \"l\": \"de_DE\", \"t\": { \"No link provider found\": { \"v\": [\"Kein Linkanbieter gefunden\"] }, \"Write a message …\": { \"v\": [\"Nachricht schreiben …\"] } } }, { \"l\": \"el\", \"t\": { \"No link provider found\": { \"v\": [\"Δεν βρέθηκε πάροχος συνδέσμου\"] }, \"Write a message …\": { \"v\": [\"Γράψτε ένα μήνυμα …\"] } } }, { \"l\": \"en_GB\", \"t\": { \"No link provider found\": { \"v\": [\"No link provider found\"] }, \"Write a message …\": { \"v\": [\"Write a message …\"] } } }, { \"l\": \"eo\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"es\", \"t\": { \"No link provider found\": { \"v\": [\"No se encontró ningún proveedor de enlaces\"] }, \"Write a message …\": { \"v\": [\"Escriba un mensaje ...\"] } } }, { \"l\": \"es_419\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"No link provider found\": { \"v\": [\"No se encontró ningún proveedor de enlaces\"] }, \"Write a message …\": { \"v\": [\"Escriba un mensaje ...\"] } } }, { \"l\": \"es_CL\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"No link provider found\": { \"v\": [\"No se encontró ningún proveedor de enlaces\"] }, \"Write a message …\": { \"v\": [\"\"] } } }, { \"l\": \"es_GT\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"No link provider found\": { \"v\": [\"No se encontró ningún proveedor de enlaces\"] }, \"Write a message …\": { \"v\": [\"Escriba un mensaje ...\"] } } }, { \"l\": \"es_NI\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"No link provider found\": { \"v\": [\"Lingi pakkujat ei leitud\"] }, \"Write a message …\": { \"v\": [\"Kirjuta sõnum…\"] } } }, { \"l\": \"eu\", \"t\": { \"No link provider found\": { \"v\": [\"Ez da aurkitu esteka-hornitzailerik\"] }, \"Write a message …\": { \"v\": [\"Idatzi mezu bat…\"] } } }, { \"l\": \"fa\", \"t\": { \"No link provider found\": { \"v\": [\"هیچ ارائه‌دهنده پیوندی یافت نشد\"] }, \"Write a message …\": { \"v\": [\"یک پیام بنویسید ...\"] } } }, { \"l\": \"fi\", \"t\": { \"No link provider found\": { \"v\": [\"Linkin tarjoajia ei löydetty\"] }, \"Write a message …\": { \"v\": [\"Kirjoita viesti…\"] } } }, { \"l\": \"fo\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"No link provider found\": { \"v\": [\"Aucun fournisseur de lien trouvé\"] }, \"Write a message …\": { \"v\": [\"Ecrire un message...\"] } } }, { \"l\": \"ga\", \"t\": { \"No link provider found\": { \"v\": [\"Níor aimsíodh aon soláthraí naisc\"] }, \"Write a message …\": { \"v\": [\"Scríobh teachtaireacht…\"] } } }, { \"l\": \"gd\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"No link provider found\": { \"v\": [\"Non se atopou ningún provedor de ligazóns\"] }, \"Write a message …\": { \"v\": [\"Escribir unha mensaxe…\"] } } }, { \"l\": \"he\", \"t\": { \"No link provider found\": { \"v\": [\"לא נמצא ספק קישורים\"] }, \"Write a message …\": { \"v\": [\"\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"hy\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"No link provider found\": { \"v\": [\"Tidak ada penyedia tautan yang ditemukan\"] }, \"Write a message …\": { \"v\": [\"Tulis pesan ...\"] } } }, { \"l\": \"ig\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"No link provider found\": { \"v\": [\"Engin tenglaveita fannst\"] }, \"Write a message …\": { \"v\": [\"Skrifaðu skilaboð …\"] } } }, { \"l\": \"it\", \"t\": { \"No link provider found\": { \"v\": [\"Nessun fornitore di link trovato\"] }, \"Write a message …\": { \"v\": [\"Scrivi un messaggio ...\"] } } }, { \"l\": \"ja\", \"t\": { \"No link provider found\": { \"v\": [\"リンクプロバイダーが見つかりません\"] }, \"Write a message …\": { \"v\": [\"メッセージを書く ...\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"No link provider found\": { \"v\": [\"リンクプロバイダーが見つかりません\"] }, \"Write a message …\": { \"v\": [\"メッセージを書く ...\"] } } }, { \"l\": \"ka\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"No link provider found\": { \"v\": [\"링크 제공자 없음\"] }, \"Write a message …\": { \"v\": [\"메시지 작성...\"] } } }, { \"l\": \"la\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"lv\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"mk\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"mn\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"nb\", \"t\": { \"No link provider found\": { \"v\": [\"Finner ingen lenkeleverandør\"] }, \"Write a message …\": { \"v\": [\"Skriv en melding...\"] } } }, { \"l\": \"ne\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"No link provider found\": { \"v\": [\"Geen link provider gevonden\"] }, \"Write a message …\": { \"v\": [\"Schrijf een bericht...\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"pl\", \"t\": { \"No link provider found\": { \"v\": [\"Nie znaleziono dostawcy linków\"] }, \"Write a message …\": { \"v\": [\"Napisz wiadomość…\"] } } }, { \"l\": \"ps\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"No link provider found\": { \"v\": [\"Nenhum provedor de link encontrado\"] }, \"Write a message …\": { \"v\": [\"Escreve uma mensagem …\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"No link provider found\": { \"v\": [\"Nenhum fornecedor de link encontrado\"] }, \"Write a message …\": { \"v\": [\"Escreva uma mensagem...\"] } } }, { \"l\": \"ro\", \"t\": { \"No link provider found\": { \"v\": [\"Nu s-a găsit un provider pentru linkuri\"] }, \"Write a message …\": { \"v\": [\"Scrieți un mesaj ...\"] } } }, { \"l\": \"ru\", \"t\": { \"No link provider found\": { \"v\": [\"Поставщик ссылок не найден\"] }, \"Write a message …\": { \"v\": [\"Напиши сообщение …\"] } } }, { \"l\": \"sc\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"No link provider found\": { \"v\": [\"Žiaden odkaz poskytovateľa nebol nájdený\"] }, \"Write a message …\": { \"v\": [\"Napíšte správu…\"] } } }, { \"l\": \"sl\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"sq\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"No link provider found\": { \"v\": [\"Није пронађен ниједан пружалац линка\"] }, \"Write a message …\": { \"v\": [\"Напишите поруку…\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"No link provider found\": { \"v\": [\"Ingen länkleverantör hittades\"] }, \"Write a message …\": { \"v\": [\"Skriv ett meddelande …\"] } } }, { \"l\": \"sw\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"No link provider found\": { \"v\": [\"Bağlantı sağlayıcısı bulunamadı\"] }, \"Write a message …\": { \"v\": [\"Bir ileti yazın…\"] } } }, { \"l\": \"ug\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"No link provider found\": { \"v\": [\"Не наведено посилання\"] }, \"Write a message …\": { \"v\": [\"Написати повідомлення ...\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"No link provider found\": { \"v\": [\"Hech qanday havola provayderi topilmadi\"] }, \"Write a message …\": { \"v\": [\"Xabar yozish…\"] } } }, { \"l\": \"vi\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"No link provider found\": { \"v\": [\"未找到任何链接提供者\"] }, \"Write a message …\": { \"v\": [\"编写信息 ...\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"No link provider found\": { \"v\": [\"找不到連結提供者\"] }, \"Write a message …\": { \"v\": [\"編寫訊息 …\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"No link provider found\": { \"v\": [\"找不到連結提供者\"] }, \"Write a message …\": { \"v\": [\"編寫訊息……\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"No link provider found\": { \"v\": [\"\"] } } }];\nconst t32 = [{ \"l\": \"af\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"More items …\": { \"v\": [\"عناصر أخرى ...\"] } } }, { \"l\": \"ast\", \"t\": { \"More items …\": { \"v\": [\"Más elementos…\"] } } }, { \"l\": \"az\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"bs\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"More items …\": { \"v\": [\"Més artícles...\"] } } }, { \"l\": \"cs\", \"t\": { \"More items …\": { \"v\": [\"Další položky…\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"More items …\": { \"v\": [\"Další položky…\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"More items …\": { \"v\": [\"Mere ...\"] } } }, { \"l\": \"de\", \"t\": { \"More items …\": { \"v\": [\"Weitere Elemente …\"] } } }, { \"l\": \"de_DE\", \"t\": { \"More items …\": { \"v\": [\"Weitere Elemente …\"] } } }, { \"l\": \"el\", \"t\": { \"More items …\": { \"v\": [\"Περισσότερα στοιχεία …\"] } } }, { \"l\": \"en_GB\", \"t\": { \"More items …\": { \"v\": [\"More items …\"] } } }, { \"l\": \"eo\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"es\", \"t\": { \"More items …\": { \"v\": [\"Más ítems ...\"] } } }, { \"l\": \"es_419\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"More items …\": { \"v\": [\"Más elementos...\"] } } }, { \"l\": \"es_CL\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"More items …\": { \"v\": [\"Más elementos...\"] } } }, { \"l\": \"es_GT\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"More items …\": { \"v\": [\"Más Elementos ...\"] } } }, { \"l\": \"es_NI\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"More items …\": { \"v\": [\"Rohkem objekte ...\"] } } }, { \"l\": \"eu\", \"t\": { \"More items …\": { \"v\": [\"Elementu gehiago …\"] } } }, { \"l\": \"fa\", \"t\": { \"More items …\": { \"v\": [\"موارد بیشتر ...\"] } } }, { \"l\": \"fi\", \"t\": { \"More items …\": { \"v\": [\"Lisää kohteita…\"] } } }, { \"l\": \"fo\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"More items …\": { \"v\": [\"Plus d'éléments...\"] } } }, { \"l\": \"ga\", \"t\": { \"More items …\": { \"v\": [\"Tuilleadh earraí…\"] } } }, { \"l\": \"gd\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"More items …\": { \"v\": [\"Máis elementos…\"] } } }, { \"l\": \"he\", \"t\": { \"More items …\": { \"v\": [\"פריטים נוספים…\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"More items …\": { \"v\": [\"További elemek...\"] } } }, { \"l\": \"hy\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"More items …\": { \"v\": [\"Item lainnya…\"] } } }, { \"l\": \"ig\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"More items …\": { \"v\": [\"Fleiri atriði …\"] } } }, { \"l\": \"it\", \"t\": { \"More items …\": { \"v\": [\"Più elementi ...\"] } } }, { \"l\": \"ja\", \"t\": { \"More items …\": { \"v\": [\"他のアイテム\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"More items …\": { \"v\": [\"他のアイテム\"] } } }, { \"l\": \"ka\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"More items …\": { \"v\": [\"항목 더 보기...\"] } } }, { \"l\": \"la\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"lv\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"mk\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"mn\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"nb\", \"t\": { \"More items …\": { \"v\": [\"Flere gjenstander...\"] } } }, { \"l\": \"ne\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"More items …\": { \"v\": [\"Meer items...\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"pl\", \"t\": { \"More items …\": { \"v\": [\"Więcej pozycji…\"] } } }, { \"l\": \"ps\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"More items …\": { \"v\": [\"Mais itens …\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"More items …\": { \"v\": [\"Mais itens…\"] } } }, { \"l\": \"ro\", \"t\": { \"More items …\": { \"v\": [\"Mai multe articole ...\"] } } }, { \"l\": \"ru\", \"t\": { \"More items …\": { \"v\": [\"Больше элементов...\"] } } }, { \"l\": \"sc\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"More items …\": { \"v\": [\"Viac položiek...\"] } } }, { \"l\": \"sl\", \"t\": { \"More items …\": { \"v\": [\"Več predmetov ...\"] } } }, { \"l\": \"sq\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"More items …\": { \"v\": [\"Још ставки...\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"More items …\": { \"v\": [\"Fler objekt …\"] } } }, { \"l\": \"sw\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"More items …\": { \"v\": [\"Diğer ögeler…\"] } } }, { \"l\": \"ug\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"More items …\": { \"v\": [\"Більше об'єктів...\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"More items …\": { \"v\": [\"Ko`proq tafsilotlar...\"] } } }, { \"l\": \"vi\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"More items …\": { \"v\": [\"更多项目…\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"More items …\": { \"v\": [\"更多項目 …\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"More items …\": { \"v\": [\"更多項目……\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"More items …\": { \"v\": [\"\"] } } }];\nconst t33 = [{ \"l\": \"af\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"Next\": { \"v\": [\"التالي\"] }, \"Pause slideshow\": { \"v\": [\"تجميد عرض الشرائح\"] }, \"Previous\": { \"v\": [\"السابق\"] }, \"Start slideshow\": { \"v\": [\"إبدإ العرض\"] } } }, { \"l\": \"ast\", \"t\": { \"Next\": { \"v\": [\"Siguiente\"] }, \"Pause slideshow\": { \"v\": [\"Posar la presentación de diapositives\"] }, \"Previous\": { \"v\": [\"Anterior\"] }, \"Start slideshow\": { \"v\": [\"Aniciar la presentación de diapositives\"] } } }, { \"l\": \"az\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"Next\": { \"v\": [\"Da heul\"] }, \"Pause slideshow\": { \"v\": [\"Arsav an diaporama\"] }, \"Previous\": { \"v\": [\"A-raok\"] }, \"Start slideshow\": { \"v\": [\"Kregiñ an diaporama\"] } } }, { \"l\": \"bs\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"Next\": { \"v\": [\"Següent\"] }, \"Pause slideshow\": { \"v\": [\"Atura la presentació\"] }, \"Previous\": { \"v\": [\"Anterior\"] }, \"Start slideshow\": { \"v\": [\"Inicia la presentació\"] } } }, { \"l\": \"cs\", \"t\": { \"Next\": { \"v\": [\"Následující\"] }, \"Pause slideshow\": { \"v\": [\"Pozastavit prezentaci\"] }, \"Previous\": { \"v\": [\"Předchozí\"] }, \"Start slideshow\": { \"v\": [\"Spustit prezentaci\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"Next\": { \"v\": [\"Následující\"] }, \"Pause slideshow\": { \"v\": [\"Pozastavit prezentaci\"] }, \"Previous\": { \"v\": [\"Předchozí\"] }, \"Start slideshow\": { \"v\": [\"Spustit prezentaci\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"Next\": { \"v\": [\"Videre\"] }, \"Pause slideshow\": { \"v\": [\"Suspender fremvisning\"] }, \"Previous\": { \"v\": [\"Forrige\"] }, \"Start slideshow\": { \"v\": [\"Start fremvisning\"] } } }, { \"l\": \"de\", \"t\": { \"Next\": { \"v\": [\"Weiter\"] }, \"Pause slideshow\": { \"v\": [\"Diashow pausieren\"] }, \"Previous\": { \"v\": [\"Vorherige\"] }, \"Start slideshow\": { \"v\": [\"Diashow starten\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Next\": { \"v\": [\"Weiter\"] }, \"Pause slideshow\": { \"v\": [\"Diashow pausieren\"] }, \"Previous\": { \"v\": [\"Vorherige\"] }, \"Start slideshow\": { \"v\": [\"Diashow starten\"] } } }, { \"l\": \"el\", \"t\": { \"Next\": { \"v\": [\"Επόμενο\"] }, \"Pause slideshow\": { \"v\": [\"Παύση προβολής διαφανειών\"] }, \"Previous\": { \"v\": [\"Προηγούμενο\"] }, \"Start slideshow\": { \"v\": [\"Έναρξη προβολής διαφανειών\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Next\": { \"v\": [\"Next\"] }, \"Pause slideshow\": { \"v\": [\"Pause slideshow\"] }, \"Previous\": { \"v\": [\"Previous\"] }, \"Start slideshow\": { \"v\": [\"Start slideshow\"] } } }, { \"l\": \"eo\", \"t\": { \"Next\": { \"v\": [\"Sekva\"] }, \"Pause slideshow\": { \"v\": [\"Payzi bildprezenton\"] }, \"Previous\": { \"v\": [\"Antaŭa\"] }, \"Start slideshow\": { \"v\": [\"Komenci bildprezenton\"] } } }, { \"l\": \"es\", \"t\": { \"Next\": { \"v\": [\"Siguiente\"] }, \"Pause slideshow\": { \"v\": [\"Pausar la presentación \"] }, \"Previous\": { \"v\": [\"Anterior\"] }, \"Start slideshow\": { \"v\": [\"Iniciar la presentación\"] } } }, { \"l\": \"es_419\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"Next\": { \"v\": [\"Siguiente\"] }, \"Pause slideshow\": { \"v\": [\"Pausar la presentación \"] }, \"Previous\": { \"v\": [\"Anterior\"] }, \"Start slideshow\": { \"v\": [\"Iniciar la presentación\"] } } }, { \"l\": \"es_CL\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"Next\": { \"v\": [\"Siguiente\"] }, \"Pause slideshow\": { \"v\": [\"Pausar presentación de diapositivas\"] }, \"Previous\": { \"v\": [\"Anterior\"] }, \"Start slideshow\": { \"v\": [\"Iniciar presentación de diapositivas\"] } } }, { \"l\": \"es_GT\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"Next\": { \"v\": [\"Siguiente\"] }, \"Pause slideshow\": { \"v\": [\"Pausar presentación de diapositivas\"] }, \"Previous\": { \"v\": [\"Anterior\"] }, \"Start slideshow\": { \"v\": [\"Iniciar presentación de diapositivas\"] } } }, { \"l\": \"es_NI\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"Next\": { \"v\": [\"Edasi\"] }, \"Pause slideshow\": { \"v\": [\"Slaidiesitluse paus\"] }, \"Previous\": { \"v\": [\"Eelmine\"] }, \"Start slideshow\": { \"v\": [\"Alusta slaidiesitust\"] } } }, { \"l\": \"eu\", \"t\": { \"Next\": { \"v\": [\"Hurrengoa\"] }, \"Pause slideshow\": { \"v\": [\"Pausatu diaporama\"] }, \"Previous\": { \"v\": [\"Aurrekoa\"] }, \"Start slideshow\": { \"v\": [\"Hasi diaporama\"] } } }, { \"l\": \"fa\", \"t\": { \"Next\": { \"v\": [\"بعدی\"] }, \"Pause slideshow\": { \"v\": [\"توقف نمایش اسلاید\"] }, \"Previous\": { \"v\": [\"قبلی\"] }, \"Start slideshow\": { \"v\": [\"شروع نمایش اسلاید\"] } } }, { \"l\": \"fi\", \"t\": { \"Next\": { \"v\": [\"Seuraava\"] }, \"Pause slideshow\": { \"v\": [\"Keskeytä diaesitys\"] }, \"Previous\": { \"v\": [\"Edellinen\"] }, \"Start slideshow\": { \"v\": [\"Aloita diaesitys\"] } } }, { \"l\": \"fo\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"Next\": { \"v\": [\"Suivant\"] }, \"Pause slideshow\": { \"v\": [\"Mettre le diaporama en pause\"] }, \"Previous\": { \"v\": [\"Précédent\"] }, \"Start slideshow\": { \"v\": [\"Démarrer le diaporama\"] } } }, { \"l\": \"ga\", \"t\": { \"Next\": { \"v\": [\"Ar aghaidh\"] }, \"Pause slideshow\": { \"v\": [\"Cuir taispeántas sleamhnán ar sos\"] }, \"Previous\": { \"v\": [\"Roimhe Seo\"] }, \"Start slideshow\": { \"v\": [\"Tosaigh taispeántas sleamhnán\"] } } }, { \"l\": \"gd\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"Next\": { \"v\": [\"Seguinte\"] }, \"Pause slideshow\": { \"v\": [\"Pausar o diaporama\"] }, \"Previous\": { \"v\": [\"Anterir\"] }, \"Start slideshow\": { \"v\": [\"Iniciar o diaporama\"] } } }, { \"l\": \"he\", \"t\": { \"Next\": { \"v\": [\"הבא\"] }, \"Pause slideshow\": { \"v\": [\"השהיית מצגת\"] }, \"Previous\": { \"v\": [\"הקודם\"] }, \"Start slideshow\": { \"v\": [\"התחלת המצגת\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"Next\": { \"v\": [\"Következő\"] }, \"Pause slideshow\": { \"v\": [\"Diavetítés szüneteltetése\"] }, \"Previous\": { \"v\": [\"Előző\"] }, \"Start slideshow\": { \"v\": [\"Diavetítés indítása\"] } } }, { \"l\": \"hy\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"Next\": { \"v\": [\"Selanjutnya\"] }, \"Pause slideshow\": { \"v\": [\"Jeda tayangan slide\"] }, \"Previous\": { \"v\": [\"Sebelumnya\"] }, \"Start slideshow\": { \"v\": [\"Mulai salindia\"] } } }, { \"l\": \"ig\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"Next\": { \"v\": [\"Næsta\"] }, \"Pause slideshow\": { \"v\": [\"Gera hlé á skyggnusýningu\"] }, \"Previous\": { \"v\": [\"Fyrri\"] }, \"Start slideshow\": { \"v\": [\"Byrja skyggnusýningu\"] } } }, { \"l\": \"it\", \"t\": { \"Next\": { \"v\": [\"Successivo\"] }, \"Pause slideshow\": { \"v\": [\"Presentazione in pausa\"] }, \"Previous\": { \"v\": [\"Precedente\"] }, \"Start slideshow\": { \"v\": [\"Avvia presentazione\"] } } }, { \"l\": \"ja\", \"t\": { \"Next\": { \"v\": [\"次\"] }, \"Pause slideshow\": { \"v\": [\"スライドショーを一時停止\"] }, \"Previous\": { \"v\": [\"前\"] }, \"Start slideshow\": { \"v\": [\"スライドショーを開始\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"Next\": { \"v\": [\"次\"] }, \"Pause slideshow\": { \"v\": [\"スライドショーを一時停止\"] }, \"Previous\": { \"v\": [\"前\"] }, \"Start slideshow\": { \"v\": [\"スライドショーを開始\"] } } }, { \"l\": \"ka\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"Next\": { \"v\": [\"다음\"] }, \"Pause slideshow\": { \"v\": [\"슬라이드쇼 일시정지\"] }, \"Previous\": { \"v\": [\"이전\"] }, \"Start slideshow\": { \"v\": [\"슬라이드쇼 시작\"] } } }, { \"l\": \"la\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"Next\": { \"v\": [\"Kitas\"] }, \"Pause slideshow\": { \"v\": [\"Pristabdyti skaidrių rodymą\"] }, \"Previous\": { \"v\": [\"Ankstesnis\"] }, \"Start slideshow\": { \"v\": [\"Pradėti skaidrių rodymą\"] } } }, { \"l\": \"lv\", \"t\": { \"Next\": { \"v\": [\"Nākamais\"] }, \"Pause slideshow\": { \"v\": [\"Pauzēt slaidrādi\"] }, \"Previous\": { \"v\": [\"Iepriekšējais\"] }, \"Start slideshow\": { \"v\": [\"Sākt slaidrādi\"] } } }, { \"l\": \"mk\", \"t\": { \"Next\": { \"v\": [\"Следно\"] }, \"Pause slideshow\": { \"v\": [\"Пузирај слајдшоу\"] }, \"Previous\": { \"v\": [\"Предходно\"] }, \"Start slideshow\": { \"v\": [\"Стартувај слајдшоу\"] } } }, { \"l\": \"mn\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"Next\": { \"v\": [\"နောက်သို့ဆက်ရန်\"] }, \"Pause slideshow\": { \"v\": [\"စလိုက်ရှိုး ခေတ္တရပ်ရန်\"] }, \"Previous\": { \"v\": [\"ယခင်\"] }, \"Start slideshow\": { \"v\": [\"စလိုက်ရှိုးအား စတင်ရန်\"] } } }, { \"l\": \"nb\", \"t\": { \"Next\": { \"v\": [\"Neste\"] }, \"Pause slideshow\": { \"v\": [\"Pause lysbildefremvisning\"] }, \"Previous\": { \"v\": [\"Forrige\"] }, \"Start slideshow\": { \"v\": [\"Start lysbildefremvisning\"] } } }, { \"l\": \"ne\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"Next\": { \"v\": [\"Volgende\"] }, \"Pause slideshow\": { \"v\": [\"Pauzeer diavoorstelling\"] }, \"Previous\": { \"v\": [\"Vorige\"] }, \"Start slideshow\": { \"v\": [\"Start diavoorstelling\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"Next\": { \"v\": [\"Seguent\"] }, \"Pause slideshow\": { \"v\": [\"Metre en pausa lo diaporama\"] }, \"Previous\": { \"v\": [\"Precedent\"] }, \"Start slideshow\": { \"v\": [\"Lançar lo diaporama\"] } } }, { \"l\": \"pl\", \"t\": { \"Next\": { \"v\": [\"Następny\"] }, \"Pause slideshow\": { \"v\": [\"Wstrzymaj pokaz slajdów\"] }, \"Previous\": { \"v\": [\"Poprzedni\"] }, \"Start slideshow\": { \"v\": [\"Rozpocznij pokaz slajdów\"] } } }, { \"l\": \"ps\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"Next\": { \"v\": [\"Próximo\"] }, \"Pause slideshow\": { \"v\": [\"Pausar apresentação de slides\"] }, \"Previous\": { \"v\": [\"Anterior\"] }, \"Start slideshow\": { \"v\": [\"Iniciar apresentação de slides\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Next\": { \"v\": [\"Seguinte\"] }, \"Pause slideshow\": { \"v\": [\"Pausar diaporama\"] }, \"Previous\": { \"v\": [\"Anterior\"] }, \"Start slideshow\": { \"v\": [\"Iniciar diaporama\"] } } }, { \"l\": \"ro\", \"t\": { \"Next\": { \"v\": [\"Următorul\"] }, \"Pause slideshow\": { \"v\": [\"Pauză prezentare de diapozitive\"] }, \"Previous\": { \"v\": [\"Anterior\"] }, \"Start slideshow\": { \"v\": [\"Începeți prezentarea de diapozitive\"] } } }, { \"l\": \"ru\", \"t\": { \"Next\": { \"v\": [\"Следующее\"] }, \"Pause slideshow\": { \"v\": [\"Приостановить показ слйдов\"] }, \"Previous\": { \"v\": [\"Предыдущее\"] }, \"Start slideshow\": { \"v\": [\"Начать показ слайдов\"] } } }, { \"l\": \"sc\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"Next\": { \"v\": [\"Ďalej\"] }, \"Pause slideshow\": { \"v\": [\"Pozastaviť prezentáciu\"] }, \"Previous\": { \"v\": [\"Predchádzajúce\"] }, \"Start slideshow\": { \"v\": [\"Začať prezentáciu\"] } } }, { \"l\": \"sl\", \"t\": { \"Next\": { \"v\": [\"Naslednji\"] }, \"Pause slideshow\": { \"v\": [\"Ustavi predstavitev\"] }, \"Previous\": { \"v\": [\"Predhodni\"] }, \"Start slideshow\": { \"v\": [\"Začni predstavitev\"] } } }, { \"l\": \"sq\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"Next\": { \"v\": [\"Следеће\"] }, \"Pause slideshow\": { \"v\": [\"Паузирај слајд шоу\"] }, \"Previous\": { \"v\": [\"Претходно\"] }, \"Start slideshow\": { \"v\": [\"Покрени слајд шоу\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"Next\": { \"v\": [\"Nästa\"] }, \"Pause slideshow\": { \"v\": [\"Pausa bildspelet\"] }, \"Previous\": { \"v\": [\"Föregående\"] }, \"Start slideshow\": { \"v\": [\"Starta bildspelet\"] } } }, { \"l\": \"sw\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"Next\": { \"v\": [\"Sonraki\"] }, \"Pause slideshow\": { \"v\": [\"Slayt sunumunu duraklat\"] }, \"Previous\": { \"v\": [\"Önceki\"] }, \"Start slideshow\": { \"v\": [\"Slayt sunumunu başlat\"] } } }, { \"l\": \"ug\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"Next\": { \"v\": [\"Вперед\"] }, \"Pause slideshow\": { \"v\": [\"Пауза у показі слайдів\"] }, \"Previous\": { \"v\": [\"Назад\"] }, \"Start slideshow\": { \"v\": [\"Почати показ слайдів\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"Next\": { \"v\": [\"Keyingi\"] }, \"Pause slideshow\": { \"v\": [\"Slayd-shouni to'xtatib turish\"] }, \"Previous\": { \"v\": [\"Oldingi\"] }, \"Start slideshow\": { \"v\": [\"Slayd-shouni boshlash\"] } } }, { \"l\": \"vi\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"Next\": { \"v\": [\"下一个\"] }, \"Pause slideshow\": { \"v\": [\"暂停幻灯片\"] }, \"Previous\": { \"v\": [\"上一个\"] }, \"Start slideshow\": { \"v\": [\"开始幻灯片\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Next\": { \"v\": [\"下一個\"] }, \"Pause slideshow\": { \"v\": [\"暫停幻燈片\"] }, \"Previous\": { \"v\": [\"上一個\"] }, \"Start slideshow\": { \"v\": [\"開始幻燈片\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"Next\": { \"v\": [\"下一個\"] }, \"Pause slideshow\": { \"v\": [\"暫停幻燈片\"] }, \"Previous\": { \"v\": [\"上一個\"] }, \"Start slideshow\": { \"v\": [\"開始幻燈片\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"Next\": { \"v\": [\"\"] }, \"Pause slideshow\": { \"v\": [\"\"] }, \"Previous\": { \"v\": [\"\"] }, \"Start slideshow\": { \"v\": [\"\"] } } }];\nconst t34 = [{ \"l\": \"af\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"No emoji found\": { \"v\": [\"لم يتم العثور على أي إيموجي emoji\"] } } }, { \"l\": \"ast\", \"t\": { \"No emoji found\": { \"v\": [\"Nun s'atopó nengún fustaxe\"] } } }, { \"l\": \"az\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"No emoji found\": { \"v\": [\"Emoji ebet kavet\"] } } }, { \"l\": \"bs\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"No emoji found\": { \"v\": [\"No s'ha trobat cap emoji\"] } } }, { \"l\": \"cs\", \"t\": { \"No emoji found\": { \"v\": [\"Nenalezeno žádné emoji\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"No emoji found\": { \"v\": [\"Nenalezeno žádné emoji\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"No emoji found\": { \"v\": [\"Ingen emoji fundet\"] } } }, { \"l\": \"de\", \"t\": { \"No emoji found\": { \"v\": [\"Kein Emoji gefunden\"] } } }, { \"l\": \"de_DE\", \"t\": { \"No emoji found\": { \"v\": [\"Kein Emoji gefunden\"] } } }, { \"l\": \"el\", \"t\": { \"No emoji found\": { \"v\": [\"Δεν βρέθηκε emoji\"] } } }, { \"l\": \"en_GB\", \"t\": { \"No emoji found\": { \"v\": [\"No emoji found\"] } } }, { \"l\": \"eo\", \"t\": { \"No emoji found\": { \"v\": [\"La emoĝio forestas\"] } } }, { \"l\": \"es\", \"t\": { \"No emoji found\": { \"v\": [\"No se encontró ningún emoji\"] } } }, { \"l\": \"es_419\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"No emoji found\": { \"v\": [\"No se encontró ningún emoji\"] } } }, { \"l\": \"es_CL\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"No emoji found\": { \"v\": [\"No se encontró ningún emoji\"] } } }, { \"l\": \"es_GT\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"No emoji found\": { \"v\": [\"No se encontró ningún emoji\"] } } }, { \"l\": \"es_NI\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"No emoji found\": { \"v\": [\"Emojit ei leitud\"] } } }, { \"l\": \"eu\", \"t\": { \"No emoji found\": { \"v\": [\"Ez da emojirik aurkitu\"] } } }, { \"l\": \"fa\", \"t\": { \"No emoji found\": { \"v\": [\"هیچ شکلکی یافت نشد\"] } } }, { \"l\": \"fi\", \"t\": { \"No emoji found\": { \"v\": [\"Emojia ei löytynyt\"] } } }, { \"l\": \"fo\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"No emoji found\": { \"v\": [\"Pas d’émoji trouvé\"] } } }, { \"l\": \"ga\", \"t\": { \"No emoji found\": { \"v\": [\"Níor aimsíodh emoji\"] } } }, { \"l\": \"gd\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"No emoji found\": { \"v\": [\"Non se atopou ningún «emoji»\"] } } }, { \"l\": \"he\", \"t\": { \"No emoji found\": { \"v\": [\"לא נמצא אמוג׳י\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"No emoji found\": { \"v\": [\"Nem található emodzsi\"] } } }, { \"l\": \"hy\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"No emoji found\": { \"v\": [\"Tidak ada emoji yang ditemukan\"] } } }, { \"l\": \"ig\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"No emoji found\": { \"v\": [\"Ekkert tjáningartákn fannst\"] } } }, { \"l\": \"it\", \"t\": { \"No emoji found\": { \"v\": [\"Nessun emoji trovato\"] } } }, { \"l\": \"ja\", \"t\": { \"No emoji found\": { \"v\": [\"絵文字が見つかりません\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"No emoji found\": { \"v\": [\"絵文字が見つかりません\"] } } }, { \"l\": \"ka\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"No emoji found\": { \"v\": [\"이모지 없음\"] } } }, { \"l\": \"la\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"No emoji found\": { \"v\": [\"Nerasta jaustukų\"] } } }, { \"l\": \"lv\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"mk\", \"t\": { \"No emoji found\": { \"v\": [\"Не се пронајдени емотикони\"] } } }, { \"l\": \"mn\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"No emoji found\": { \"v\": [\"အီမိုဂျီ ရှာဖွေမတွေ့နိုင်ပါ\"] } } }, { \"l\": \"nb\", \"t\": { \"No emoji found\": { \"v\": [\"Fant ingen emoji\"] } } }, { \"l\": \"ne\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"No emoji found\": { \"v\": [\"Geen emoji gevonden\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"pl\", \"t\": { \"No emoji found\": { \"v\": [\"Nie znaleziono emoji\"] } } }, { \"l\": \"ps\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"No emoji found\": { \"v\": [\"Nenhum emoji encontrado\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"No emoji found\": { \"v\": [\"Nenhum emoji encontrado\"] } } }, { \"l\": \"ro\", \"t\": { \"No emoji found\": { \"v\": [\"Nu s-a găsit niciun emoji\"] } } }, { \"l\": \"ru\", \"t\": { \"No emoji found\": { \"v\": [\"Эмодзи не найдено\"] } } }, { \"l\": \"sc\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"No emoji found\": { \"v\": [\"Nenašli sa žiadne emodži\"] } } }, { \"l\": \"sl\", \"t\": { \"No emoji found\": { \"v\": [\"Ni najdenih izraznih ikon\"] } } }, { \"l\": \"sq\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"No emoji found\": { \"v\": [\"Није пронађен ниједан емођи\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"No emoji found\": { \"v\": [\"Hittade inga emojis\"] } } }, { \"l\": \"sw\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"No emoji found\": { \"v\": [\"Herhangi bir emoji bulunamadı\"] } } }, { \"l\": \"ug\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"No emoji found\": { \"v\": [\"Емоційки відсутні\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"No emoji found\": { \"v\": [\"Hech qanday emoji topilmadi\"] } } }, { \"l\": \"vi\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"No emoji found\": { \"v\": [\"表情未找到\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"No emoji found\": { \"v\": [\"未找到表情符號\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"No emoji found\": { \"v\": [\"未找到表情符號\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"No emoji found\": { \"v\": [\"\"] } } }];\nconst t35 = [{ \"l\": \"af\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"No results\": { \"v\": [\"ليس هناك أية نتيجة\"] } } }, { \"l\": \"ast\", \"t\": { \"No results\": { \"v\": [\"Nun hai nengún resultáu\"] } } }, { \"l\": \"az\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"No results\": { \"v\": [\"Disoc'h ebet\"] } } }, { \"l\": \"bs\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"No results\": { \"v\": [\"Sense resultats\"] } } }, { \"l\": \"cs\", \"t\": { \"No results\": { \"v\": [\"Nic nenalezeno\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"No results\": { \"v\": [\"Nic nenalezeno\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"No results\": { \"v\": [\"Ingen resultater\"] } } }, { \"l\": \"de\", \"t\": { \"No results\": { \"v\": [\"Keine Ergebnisse\"] } } }, { \"l\": \"de_DE\", \"t\": { \"No results\": { \"v\": [\"Keine Ergebnisse\"] } } }, { \"l\": \"el\", \"t\": { \"No results\": { \"v\": [\"Κανένα αποτέλεσμα\"] } } }, { \"l\": \"en_GB\", \"t\": { \"No results\": { \"v\": [\"No results\"] } } }, { \"l\": \"eo\", \"t\": { \"No results\": { \"v\": [\"La rezulto forestas\"] } } }, { \"l\": \"es\", \"t\": { \"No results\": { \"v\": [\" Ningún resultado\"] } } }, { \"l\": \"es_419\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"No results\": { \"v\": [\"Sin resultados\"] } } }, { \"l\": \"es_CL\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"No results\": { \"v\": [\"Sin resultados\"] } } }, { \"l\": \"es_GT\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"No results\": { \"v\": [\"Sin resultados\"] } } }, { \"l\": \"es_NI\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"No results\": { \"v\": [\"Tulemusi pole\"] } } }, { \"l\": \"eu\", \"t\": { \"No results\": { \"v\": [\"Emaitzarik ez\"] } } }, { \"l\": \"fa\", \"t\": { \"No results\": { \"v\": [\"بدون هیچ نتیجه‌ای\"] } } }, { \"l\": \"fi\", \"t\": { \"No results\": { \"v\": [\"Ei tuloksia\"] } } }, { \"l\": \"fo\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"No results\": { \"v\": [\"Aucun résultat\"] } } }, { \"l\": \"ga\", \"t\": { \"No results\": { \"v\": [\"Gan torthaí\"] } } }, { \"l\": \"gd\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"No results\": { \"v\": [\"Sen resultados\"] } } }, { \"l\": \"he\", \"t\": { \"No results\": { \"v\": [\"אין תוצאות\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"No results\": { \"v\": [\"Nincs találat\"] } } }, { \"l\": \"hy\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"No results\": { \"v\": [\"Tidak ada hasil\"] } } }, { \"l\": \"ig\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"No results\": { \"v\": [\"Engar niðurstöður\"] } } }, { \"l\": \"it\", \"t\": { \"No results\": { \"v\": [\"Nessun risultato\"] } } }, { \"l\": \"ja\", \"t\": { \"No results\": { \"v\": [\"結果無し\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"No results\": { \"v\": [\"結果無し\"] } } }, { \"l\": \"ka\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"No results\": { \"v\": [\"결과 없음\"] } } }, { \"l\": \"la\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"No results\": { \"v\": [\"Nėra rezultatų\"] } } }, { \"l\": \"lv\", \"t\": { \"No results\": { \"v\": [\"Nav rezultātu\"] } } }, { \"l\": \"mk\", \"t\": { \"No results\": { \"v\": [\"Нема резултати\"] } } }, { \"l\": \"mn\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"No results\": { \"v\": [\"ရလဒ်မရှိပါ\"] } } }, { \"l\": \"nb\", \"t\": { \"No results\": { \"v\": [\"Ingen resultater\"] } } }, { \"l\": \"ne\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"No results\": { \"v\": [\"Geen resultaten\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"No results\": { \"v\": [\"Cap de resultat\"] } } }, { \"l\": \"pl\", \"t\": { \"No results\": { \"v\": [\"Brak wyników\"] } } }, { \"l\": \"ps\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"No results\": { \"v\": [\"Sem resultados\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"No results\": { \"v\": [\"Sem resultados\"] } } }, { \"l\": \"ro\", \"t\": { \"No results\": { \"v\": [\"Nu există rezultate\"] } } }, { \"l\": \"ru\", \"t\": { \"No results\": { \"v\": [\"Результаты отсуствуют\"] } } }, { \"l\": \"sc\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"No results\": { \"v\": [\"Žiadne výsledky\"] } } }, { \"l\": \"sl\", \"t\": { \"No results\": { \"v\": [\"Ni zadetkov\"] } } }, { \"l\": \"sq\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"No results\": { \"v\": [\"Нема резултата\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"No results\": { \"v\": [\"Inga resultat\"] } } }, { \"l\": \"sw\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"No results\": { \"v\": [\"Herhangi bir sonuç bulunamadı\"] } } }, { \"l\": \"ug\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"No results\": { \"v\": [\"Відсутні результати\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"No results\": { \"v\": [\"Natija yoʻq\"] } } }, { \"l\": \"vi\", \"t\": { \"No results\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"No results\": { \"v\": [\"无结果\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"No results\": { \"v\": [\"無結果\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"No results\": { \"v\": [\"無結果\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"No results\": { \"v\": [\"\"] } } }];\nconst t36 = [{ \"l\": \"af\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['إفتَح الرابط إلى \"{resourceName}\"'] } } }, { \"l\": \"ast\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"Abrir l'enllaz a «{resourceName}»\"] } } }, { \"l\": \"az\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"bs\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"cs\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"Otevřít odkaz na „{resourceName}“\"] } } }, { \"l\": \"cs_CZ\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"Otevřít odkaz na „{resourceName}“\"] } } }, { \"l\": \"cy_GB\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Åbn link til \"{resourceName}\"'] } } }, { \"l\": \"de\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Link zu \"{resourceName}“ öffnen'] } } }, { \"l\": \"de_DE\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Link zu \"{resourceName}“ öffnen'] } } }, { \"l\": \"el\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Άνοιγμα συνδέσμου για \"{resourceName}\"'] } } }, { \"l\": \"en_GB\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Open link to \"{resourceName}\"'] } } }, { \"l\": \"eo\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"es\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Abrir enlace a \"{resourceName}\"'] } } }, { \"l\": \"es_419\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Abrir enlace a \"{resourceName}\"'] } } }, { \"l\": \"es_CL\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Abrir enlace a \"{resourceName}\"'] } } }, { \"l\": \"es_GT\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Abrir enlace a \"{resourceName}\"'] } } }, { \"l\": \"es_NI\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Ava link \"{resourceName}\"'] } } }, { \"l\": \"eu\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Ireki \"{resourceName}\" esteka'] } } }, { \"l\": \"fa\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"باز کردن پیوند به «{resourceName}»\"] } } }, { \"l\": \"fi\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Avaa linkki \"{resourceName}\"'] } } }, { \"l\": \"fo\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Ouvrir le lien vers \"{resourceName}\"'] } } }, { \"l\": \"ga\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Oscail nasc chuig \"{resourceName}\"'] } } }, { \"l\": \"gd\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"Abrir a ligazón a «{resourceName}»\"] } } }, { \"l\": \"he\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"פתיחת קישור אל „{resourceName}”\"] } } }, { \"l\": \"hi_IN\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"hy\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Buka tautan ke \"{resourceName}\"'] } } }, { \"l\": \"ig\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Opna tengil í \"{resourceName}\"'] } } }, { \"l\": \"it\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Apri il link a \"{resourceName}\"'] } } }, { \"l\": \"ja\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['\"{resourceName}\" へのリンクを開く'] } } }, { \"l\": \"ja_JP\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['\"{resourceName}\" へのリンクを開く'] } } }, { \"l\": \"ka\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['\"{resourceName}\"의 링크 열기'] } } }, { \"l\": \"la\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"lv\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"mk\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"mn\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"nb\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Åpne lenken til \"{resourceName}\"'] } } }, { \"l\": \"ne\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Open link naar \"{resourceName}\"'] } } }, { \"l\": \"nn_NO\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"pl\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Otwórz link do \"{resourceName}\"'] } } }, { \"l\": \"ps\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Abrir o link para \"{resourceName}\"'] } } }, { \"l\": \"pt_PT\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Abrir link para \"{resourceName}\"'] } } }, { \"l\": \"ro\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Deschide linkul la \"{resourceName}\"'] } } }, { \"l\": \"ru\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Открыть ссылку на \"{resourceName}\"'] } } }, { \"l\": \"sc\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Otvoriť link v \"{resourceName}\"'] } } }, { \"l\": \"sl\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"sq\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"Отвори линк на „{resourceName}”\"] } } }, { \"l\": \"sr@latin\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Öppna länken till \"{resourceName}\"'] } } }, { \"l\": \"sw\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"{resourceName} bağlantısını aç\"] } } }, { \"l\": \"ug\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": ['Відкрити посилання на \"{resourceName}\"'] } } }, { \"l\": \"ur_PK\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [' \"{resourceName}\" ga havolani ochish'] } } }, { \"l\": \"vi\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"打开 “{resourceName}” 的链接\"] } } }, { \"l\": \"zh_HK\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"開啟到「{resourceName}」的連結\"] } } }, { \"l\": \"zh_TW\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"開啟到「{resourceName}」的連結\"] } } }, { \"l\": \"zu_ZA\", \"t\": { 'Open link to \"{resourceName}\"': { \"v\": [\"\"] } } }];\nconst t37 = [{ \"l\": \"af\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"Pick a date\": { \"v\": [\"إختَر التاريخ\"] }, \"Pick a date and a time\": { \"v\": [\"إختَر التاريخ و الوقت\"] }, \"Pick a month\": { \"v\": [\"إختَر الشهر\"] }, \"Pick a time\": { \"v\": [\"إختَر الوقت\"] }, \"Pick a week\": { \"v\": [\"إختَر الأسبوع\"] }, \"Pick a year\": { \"v\": [\"إختَر السنة\"] }, \"Please select a time zone:\": { \"v\": [\"الرجاء تحديد المنطقة الزمنية:\"] } } }, { \"l\": \"ast\", \"t\": { \"Pick a date\": { \"v\": [\"Escueyi una data\"] }, \"Pick a date and a time\": { \"v\": [\"Escueyi una data y hora\"] }, \"Pick a month\": { \"v\": [\"Escueyi un mes\"] }, \"Pick a time\": { \"v\": [\"Escueyi una hora\"] }, \"Pick a week\": { \"v\": [\"Escueyi una selmana\"] }, \"Pick a year\": { \"v\": [\"Escueyi un añu\"] }, \"Please select a time zone:\": { \"v\": [\"Seleiciona un fusu horariu:\"] } } }, { \"l\": \"az\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"bs\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"Seleccioneu una zona horària:\"] } } }, { \"l\": \"cs\", \"t\": { \"Pick a date\": { \"v\": [\"Vybrat datum\"] }, \"Pick a date and a time\": { \"v\": [\"Vybrat datum a čas\"] }, \"Pick a month\": { \"v\": [\"Vybrat měsíc\"] }, \"Pick a time\": { \"v\": [\"Vybrat čas\"] }, \"Pick a week\": { \"v\": [\"Vybrat týden\"] }, \"Pick a year\": { \"v\": [\"Vybrat rok\"] }, \"Please select a time zone:\": { \"v\": [\"Vyberte časovou zónu:\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"Pick a date\": { \"v\": [\"Vybrat datum\"] }, \"Pick a date and a time\": { \"v\": [\"Vybrat datum a čas\"] }, \"Pick a month\": { \"v\": [\"Vybrat měsíc\"] }, \"Pick a time\": { \"v\": [\"Vybrat čas\"] }, \"Pick a week\": { \"v\": [\"Vybrat týden\"] }, \"Pick a year\": { \"v\": [\"Vybrat rok\"] }, \"Please select a time zone:\": { \"v\": [\"Vyberte časovou zónu:\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"Pick a date\": { \"v\": [\"Vælg en dato\"] }, \"Pick a date and a time\": { \"v\": [\"Vælg en dato og tidspunkt\"] }, \"Pick a month\": { \"v\": [\"Vælg en måned\"] }, \"Pick a time\": { \"v\": [\"Vælg et tidspunkt\"] }, \"Pick a week\": { \"v\": [\"Vælg en uge\"] }, \"Pick a year\": { \"v\": [\"Vælg et år\"] }, \"Please select a time zone:\": { \"v\": [\"Vælg venligst en tidszone:\"] } } }, { \"l\": \"de\", \"t\": { \"Pick a date\": { \"v\": [\"Ein Datum auswählen\"] }, \"Pick a date and a time\": { \"v\": [\"Datum und Uhrzeit auswählen\"] }, \"Pick a month\": { \"v\": [\"Einen Monat auswählen\"] }, \"Pick a time\": { \"v\": [\"Eine Uhrzeit auswählen\"] }, \"Pick a week\": { \"v\": [\"Eine Woche auswählen\"] }, \"Pick a year\": { \"v\": [\"Ein Jahr auswählen\"] }, \"Please select a time zone:\": { \"v\": [\"Bitte eine Zeitzone auswählen:\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Pick a date\": { \"v\": [\"Ein Datum auswählen\"] }, \"Pick a date and a time\": { \"v\": [\"Datum und Uhrzeit auswählen\"] }, \"Pick a month\": { \"v\": [\"Einen Monat auswählen\"] }, \"Pick a time\": { \"v\": [\"Eine Uhrzeit auswählen\"] }, \"Pick a week\": { \"v\": [\"Eine Woche auswählen\"] }, \"Pick a year\": { \"v\": [\"Ein Jahr auswählen\"] }, \"Please select a time zone:\": { \"v\": [\"Bitte eine Zeitzone auswählen:\"] } } }, { \"l\": \"el\", \"t\": { \"Pick a date\": { \"v\": [\"Επιλέξτε ημερομηνία\"] }, \"Pick a date and a time\": { \"v\": [\"Επιλέξτε ημερομηνία και ώρα\"] }, \"Pick a month\": { \"v\": [\"Επιλέξτε μήνα\"] }, \"Pick a time\": { \"v\": [\"Επιλέξτε ώρα\"] }, \"Pick a week\": { \"v\": [\"Επιλέξτε εβδομάδα\"] }, \"Pick a year\": { \"v\": [\"Επιλέξτε έτος\"] }, \"Please select a time zone:\": { \"v\": [\"Παρακαλούμε επιλέξτε μια ζώνη ώρας:\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Pick a date\": { \"v\": [\"Pick a date\"] }, \"Pick a date and a time\": { \"v\": [\"Pick a date and a time\"] }, \"Pick a month\": { \"v\": [\"Pick a month\"] }, \"Pick a time\": { \"v\": [\"Pick a time\"] }, \"Pick a week\": { \"v\": [\"Pick a week\"] }, \"Pick a year\": { \"v\": [\"Pick a year\"] }, \"Please select a time zone:\": { \"v\": [\"Please select a time zone:\"] } } }, { \"l\": \"eo\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"es\", \"t\": { \"Pick a date\": { \"v\": [\"Seleccione una fecha\"] }, \"Pick a date and a time\": { \"v\": [\"Seleccione una fecha y hora\"] }, \"Pick a month\": { \"v\": [\"Seleccione un mes\"] }, \"Pick a time\": { \"v\": [\"Seleccione una hora\"] }, \"Pick a week\": { \"v\": [\"Seleccione una semana\"] }, \"Pick a year\": { \"v\": [\"Seleccione un año\"] }, \"Please select a time zone:\": { \"v\": [\"Por favor elija un huso horario:\"] } } }, { \"l\": \"es_419\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"Pick a date\": { \"v\": [\"Elija una fecha\"] }, \"Pick a date and a time\": { \"v\": [\"Elija una fecha y hora\"] }, \"Pick a month\": { \"v\": [\"Elija un mes\"] }, \"Pick a time\": { \"v\": [\"Elija una hora\"] }, \"Pick a week\": { \"v\": [\"Elija una semana\"] }, \"Pick a year\": { \"v\": [\"Elija un año\"] }, \"Please select a time zone:\": { \"v\": [\"Por favor, elija una zona horaria:\"] } } }, { \"l\": \"es_CL\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"Pick a date\": { \"v\": [\"Seleccionar una fecha\"] }, \"Pick a date and a time\": { \"v\": [\"Seleccionar una fecha y una hora\"] }, \"Pick a month\": { \"v\": [\"Seleccionar un mes\"] }, \"Pick a time\": { \"v\": [\"Seleccionar una semana\"] }, \"Pick a week\": { \"v\": [\"Seleccionar una semana\"] }, \"Pick a year\": { \"v\": [\"Seleccionar un año\"] }, \"Please select a time zone:\": { \"v\": [\"Por favor, selecciona una zona horaria:\"] } } }, { \"l\": \"es_GT\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"Pick a date\": { \"v\": [\"Seleccionar una fecha\"] }, \"Pick a date and a time\": { \"v\": [\"Seleccionar una fecha y hora\"] }, \"Pick a month\": { \"v\": [\"Seleccionar un mes\"] }, \"Pick a time\": { \"v\": [\"Seleccionar una hora\"] }, \"Pick a week\": { \"v\": [\"Seleccionar una semana\"] }, \"Pick a year\": { \"v\": [\"Seleccionar un año\"] }, \"Please select a time zone:\": { \"v\": [\"Por favor seleccione una zona horaria:\"] } } }, { \"l\": \"es_NI\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"Pick a date\": { \"v\": [\"Vali kuupäev\"] }, \"Pick a date and a time\": { \"v\": [\"Vali kuupäev ja kellaaeg\"] }, \"Pick a month\": { \"v\": [\"Vali kuu\"] }, \"Pick a time\": { \"v\": [\"Vali kellaaeg\"] }, \"Pick a week\": { \"v\": [\"Vali nädal\"] }, \"Pick a year\": { \"v\": [\"Vali aasta\"] }, \"Please select a time zone:\": { \"v\": [\"Vali ajatsoon\"] } } }, { \"l\": \"eu\", \"t\": { \"Pick a date\": { \"v\": [\"Aukeratu data bat\"] }, \"Pick a date and a time\": { \"v\": [\"Aukeratu data eta ordu bat\"] }, \"Pick a month\": { \"v\": [\"Aukeratu hilabete bat\"] }, \"Pick a time\": { \"v\": [\"Aukeratu ordu bat\"] }, \"Pick a week\": { \"v\": [\"Aukeratu aste bat\"] }, \"Pick a year\": { \"v\": [\"Aukeratu urte bat\"] }, \"Please select a time zone:\": { \"v\": [\"Mesedez hautatu ordu-zona bat:\"] } } }, { \"l\": \"fa\", \"t\": { \"Pick a date\": { \"v\": [\"انتخاب تاریخ\"] }, \"Pick a date and a time\": { \"v\": [\"انتخاب تاریخ و زمان\"] }, \"Pick a month\": { \"v\": [\"انتخاب ماه\"] }, \"Pick a time\": { \"v\": [\"انتخاب زمان\"] }, \"Pick a week\": { \"v\": [\"انتخاب هفته\"] }, \"Pick a year\": { \"v\": [\"انتخاب سال\"] }, \"Please select a time zone:\": { \"v\": [\"لطفا یک منطقهٔ زمانی را انتخاب کنید:\"] } } }, { \"l\": \"fi\", \"t\": { \"Pick a date\": { \"v\": [\"Valitse päivä\"] }, \"Pick a date and a time\": { \"v\": [\"Valitse päivä ja kellonaika\"] }, \"Pick a month\": { \"v\": [\"Valitse kuukausi\"] }, \"Pick a time\": { \"v\": [\"Valitse kellonaika\"] }, \"Pick a week\": { \"v\": [\"Valitse viikko\"] }, \"Pick a year\": { \"v\": [\"Valitse vuosi\"] }, \"Please select a time zone:\": { \"v\": [\"Valitse aikavyöhyke:\"] } } }, { \"l\": \"fo\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"Pick a date\": { \"v\": [\"Sélectionner une date\"] }, \"Pick a date and a time\": { \"v\": [\"Sélectionner une date et une heure\"] }, \"Pick a month\": { \"v\": [\"Sélectionner un mois\"] }, \"Pick a time\": { \"v\": [\"Sélectionner une heure\"] }, \"Pick a week\": { \"v\": [\"Sélectionner une semaine\"] }, \"Pick a year\": { \"v\": [\"Sélectionner une année\"] }, \"Please select a time zone:\": { \"v\": [\"Sélectionnez un fuseau horaire : \"] } } }, { \"l\": \"ga\", \"t\": { \"Pick a date\": { \"v\": [\"Roghnaigh dáta\"] }, \"Pick a date and a time\": { \"v\": [\"Roghnaigh dáta agus am\"] }, \"Pick a month\": { \"v\": [\"Roghnaigh mí\"] }, \"Pick a time\": { \"v\": [\"Roghnaigh am\"] }, \"Pick a week\": { \"v\": [\"Roghnaigh seachtain\"] }, \"Pick a year\": { \"v\": [\"Roghnaigh bliain\"] }, \"Please select a time zone:\": { \"v\": [\"Roghnaigh crios ama le do thoil:\"] } } }, { \"l\": \"gd\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"Pick a date\": { \"v\": [\"Escolla unha data\"] }, \"Pick a date and a time\": { \"v\": [\"Escolle unha data e unha hora\"] }, \"Pick a month\": { \"v\": [\"Escolla un mes\"] }, \"Pick a time\": { \"v\": [\"Escolla unha hora\"] }, \"Pick a week\": { \"v\": [\"Escolla unha semana\"] }, \"Pick a year\": { \"v\": [\"Escolla un ano\"] }, \"Please select a time zone:\": { \"v\": [\"Escolla un fuso horario:\"] } } }, { \"l\": \"he\", \"t\": { \"Pick a date\": { \"v\": [\"נא לבחור תאריך\"] }, \"Pick a date and a time\": { \"v\": [\"נא לבחור תאריך ושעה\"] }, \"Pick a month\": { \"v\": [\"נא לבחור חודש\"] }, \"Pick a time\": { \"v\": [\"נא לבחור שעה\"] }, \"Pick a week\": { \"v\": [\"נא לבחור שבוע\"] }, \"Pick a year\": { \"v\": [\"נא לבחור שנה\"] }, \"Please select a time zone:\": { \"v\": [\"נא לבחור אזור זמן:\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"Válasszon időzónát:\"] } } }, { \"l\": \"hy\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"Pick a date\": { \"v\": [\"Pilih tanggal\"] }, \"Pick a date and a time\": { \"v\": [\"Pilih tanggal dan waktu\"] }, \"Pick a month\": { \"v\": [\"Pilih bulan\"] }, \"Pick a time\": { \"v\": [\"Pilih waktu\"] }, \"Pick a week\": { \"v\": [\"Pilih pekan\"] }, \"Pick a year\": { \"v\": [\"Pilih tahun\"] }, \"Please select a time zone:\": { \"v\": [\"Mohon pilih zona waktu\"] } } }, { \"l\": \"ig\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"Pick a date\": { \"v\": [\"Veldu dagsetningu\"] }, \"Pick a date and a time\": { \"v\": [\"Veldu dagsetningu og tíma\"] }, \"Pick a month\": { \"v\": [\"Veldu mánuð\"] }, \"Pick a time\": { \"v\": [\"Veldu tíma\"] }, \"Pick a week\": { \"v\": [\"Veldu viku\"] }, \"Pick a year\": { \"v\": [\"Veldu ár\"] }, \"Please select a time zone:\": { \"v\": [\"Veldu tímabelti:\"] } } }, { \"l\": \"it\", \"t\": { \"Pick a date\": { \"v\": [\"Scegli una data\"] }, \"Pick a date and a time\": { \"v\": [\"Scegli una data e un orario\"] }, \"Pick a month\": { \"v\": [\"Scegli un mese\"] }, \"Pick a time\": { \"v\": [\"Scegli un momento\"] }, \"Pick a week\": { \"v\": [\"Scegli una settimana\"] }, \"Pick a year\": { \"v\": [\"Scegli un anno\"] }, \"Please select a time zone:\": { \"v\": [\"Si prega di selezionare un fuso orario:\"] } } }, { \"l\": \"ja\", \"t\": { \"Pick a date\": { \"v\": [\"日付を選択してください\"] }, \"Pick a date and a time\": { \"v\": [\"日付と時刻を選択してください\"] }, \"Pick a month\": { \"v\": [\"月を選択してください\"] }, \"Pick a time\": { \"v\": [\"時間を選択してください\"] }, \"Pick a week\": { \"v\": [\"週を選択してください\"] }, \"Pick a year\": { \"v\": [\"年を選択してください\"] }, \"Please select a time zone:\": { \"v\": [\"タイムゾーンを選んで下さい:\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"Pick a date\": { \"v\": [\"日付を選択してください\"] }, \"Pick a date and a time\": { \"v\": [\"日付と時刻を選択してください\"] }, \"Pick a month\": { \"v\": [\"月を選択してください\"] }, \"Pick a time\": { \"v\": [\"時間を選択してください\"] }, \"Pick a week\": { \"v\": [\"週を選択してください\"] }, \"Pick a year\": { \"v\": [\"年を選択してください\"] }, \"Please select a time zone:\": { \"v\": [\"タイムゾーンを選んで下さい:\"] } } }, { \"l\": \"ka\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"Pick a date\": { \"v\": [\"날짜 선택\"] }, \"Pick a date and a time\": { \"v\": [\"날짜와 시간 선택\"] }, \"Pick a month\": { \"v\": [\"달 선택\"] }, \"Pick a time\": { \"v\": [\"시간 선택\"] }, \"Pick a week\": { \"v\": [\"주 선택\"] }, \"Pick a year\": { \"v\": [\"연도 선택\"] }, \"Please select a time zone:\": { \"v\": [\"시간대를 선택하세요:\"] } } }, { \"l\": \"la\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"lv\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"mk\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"Изберете временска зона:\"] } } }, { \"l\": \"mn\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"ဒေသစံတော်ချိန် ရွေးချယ်ပေးပါ\"] } } }, { \"l\": \"nb\", \"t\": { \"Pick a date\": { \"v\": [\"Velg en dato\"] }, \"Pick a date and a time\": { \"v\": [\"Velg en dato og et tidspunkt\"] }, \"Pick a month\": { \"v\": [\"Velg en måned\"] }, \"Pick a time\": { \"v\": [\"Velg et tidspunkt\"] }, \"Pick a week\": { \"v\": [\"Velg en uke\"] }, \"Pick a year\": { \"v\": [\"Velg et år\"] }, \"Please select a time zone:\": { \"v\": [\"Vennligst velg tidssone\"] } } }, { \"l\": \"ne\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"Pick a date\": { \"v\": [\"Selecteer een datum\"] }, \"Pick a date and a time\": { \"v\": [\"Selecteer een datum en tijd\"] }, \"Pick a month\": { \"v\": [\"Selecteer een maand\"] }, \"Pick a time\": { \"v\": [\"Selecteer een tijd\"] }, \"Pick a week\": { \"v\": [\"Selecteer een week\"] }, \"Pick a year\": { \"v\": [\"Selecteer een jaar\"] }, \"Please select a time zone:\": { \"v\": [\"Selecteer een tijdzone:\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"pl\", \"t\": { \"Pick a date\": { \"v\": [\"Wybierz datę\"] }, \"Pick a date and a time\": { \"v\": [\"Wybierz datę i godzinę\"] }, \"Pick a month\": { \"v\": [\"Wybierz miesiąc\"] }, \"Pick a time\": { \"v\": [\"Wybierz czas\"] }, \"Pick a week\": { \"v\": [\"Wybierz tydzień\"] }, \"Pick a year\": { \"v\": [\"Wybierz rok\"] }, \"Please select a time zone:\": { \"v\": [\"Wybierz strefę czasową:\"] } } }, { \"l\": \"ps\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"Pick a date\": { \"v\": [\"Escolha uma data\"] }, \"Pick a date and a time\": { \"v\": [\"Escolha uma data e um horário\"] }, \"Pick a month\": { \"v\": [\"Escolha um mês\"] }, \"Pick a time\": { \"v\": [\"Escolha um horário\"] }, \"Pick a week\": { \"v\": [\"Escolha uma semana\"] }, \"Pick a year\": { \"v\": [\"Escolha um ano\"] }, \"Please select a time zone:\": { \"v\": [\"Selecione um fuso horário: \"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Pick a date\": { \"v\": [\"Escolha uma data\"] }, \"Pick a date and a time\": { \"v\": [\"Escolha uma data e uma hora\"] }, \"Pick a month\": { \"v\": [\"Escolha um mês\"] }, \"Pick a time\": { \"v\": [\"Escolha uma hora\"] }, \"Pick a week\": { \"v\": [\"Escolha uma semana\"] }, \"Pick a year\": { \"v\": [\"Escolha um ano\"] }, \"Please select a time zone:\": { \"v\": [\"Por favor, selecione um fuso horário: \"] } } }, { \"l\": \"ro\", \"t\": { \"Pick a date\": { \"v\": [\"Selectați o dată\"] }, \"Pick a date and a time\": { \"v\": [\"Selectați data și timpul\"] }, \"Pick a month\": { \"v\": [\"Selectați o lună\"] }, \"Pick a time\": { \"v\": [\"Selectați timpul\"] }, \"Pick a week\": { \"v\": [\"Selectați o săptămână\"] }, \"Pick a year\": { \"v\": [\"Selectați anul\"] }, \"Please select a time zone:\": { \"v\": [\"Vă rugăm să selectați un fus orar:\"] } } }, { \"l\": \"ru\", \"t\": { \"Pick a date\": { \"v\": [\"Выберите дату\"] }, \"Pick a date and a time\": { \"v\": [\"Выберите дату и время\"] }, \"Pick a month\": { \"v\": [\"Выберите месяц\"] }, \"Pick a time\": { \"v\": [\"Выберите время\"] }, \"Pick a week\": { \"v\": [\"Выберите неделю\"] }, \"Pick a year\": { \"v\": [\"Выберите год\"] }, \"Please select a time zone:\": { \"v\": [\"Пожалуйста, выберите часовой пояс:\"] } } }, { \"l\": \"sc\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"Pick a date\": { \"v\": [\"Vybrať dátum\"] }, \"Pick a date and a time\": { \"v\": [\"Vybrať dátum a čas\"] }, \"Pick a month\": { \"v\": [\"Vybrať mesiac\"] }, \"Pick a time\": { \"v\": [\"Vybrať čas\"] }, \"Pick a week\": { \"v\": [\"Vybrať týždeň\"] }, \"Pick a year\": { \"v\": [\"Vybrať rok\"] }, \"Please select a time zone:\": { \"v\": [\"Prosím vyberte časovú zónu:\"] } } }, { \"l\": \"sl\", \"t\": { \"Pick a date\": { \"v\": [\"Izbor datuma\"] }, \"Pick a date and a time\": { \"v\": [\"Izbor datuma in časa\"] }, \"Pick a month\": { \"v\": [\"Izbor meseca\"] }, \"Pick a time\": { \"v\": [\"Izbor časa\"] }, \"Pick a week\": { \"v\": [\"Izbor tedna\"] }, \"Pick a year\": { \"v\": [\"Izbor leta\"] }, \"Please select a time zone:\": { \"v\": [\"Izbor časovnega pasu:\"] } } }, { \"l\": \"sq\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"Pick a date\": { \"v\": [\"Изаберите датум\"] }, \"Pick a date and a time\": { \"v\": [\"Изаберите датум и време\"] }, \"Pick a month\": { \"v\": [\"Изаберите месец\"] }, \"Pick a time\": { \"v\": [\"Изаберите време\"] }, \"Pick a week\": { \"v\": [\"Изаберите недељу\"] }, \"Pick a year\": { \"v\": [\"Изаберите годину\"] }, \"Please select a time zone:\": { \"v\": [\"Молимо вас да изаберете временску зону:\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"Pick a date\": { \"v\": [\"Välj datum\"] }, \"Pick a date and a time\": { \"v\": [\"Välj datum och tid\"] }, \"Pick a month\": { \"v\": [\"Välj månad\"] }, \"Pick a time\": { \"v\": [\"Välj tid\"] }, \"Pick a week\": { \"v\": [\"Välj vecka\"] }, \"Pick a year\": { \"v\": [\"Välj år\"] }, \"Please select a time zone:\": { \"v\": [\"Välj tidszon:\"] } } }, { \"l\": \"sw\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"Pick a date\": { \"v\": [\"Bir tarih seçin\"] }, \"Pick a date and a time\": { \"v\": [\"Bir tarih ve saat seçin\"] }, \"Pick a month\": { \"v\": [\"Bir ay seçin\"] }, \"Pick a time\": { \"v\": [\"Bir saat seçin\"] }, \"Pick a week\": { \"v\": [\"Bir hafta seçin\"] }, \"Pick a year\": { \"v\": [\"Bir yıl seçin\"] }, \"Please select a time zone:\": { \"v\": [\"Lütfen bir saat dilimi seçin:\"] } } }, { \"l\": \"ug\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"Pick a date\": { \"v\": [\"Вибрати дату\"] }, \"Pick a date and a time\": { \"v\": [\"Виберіть дату та час\"] }, \"Pick a month\": { \"v\": [\"Виберіть місяць\"] }, \"Pick a time\": { \"v\": [\"Виберіть час\"] }, \"Pick a week\": { \"v\": [\"Виберіть тиждень\"] }, \"Pick a year\": { \"v\": [\"Виберіть рік\"] }, \"Please select a time zone:\": { \"v\": [\"Виберіть часовий пояс:\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"Pick a date\": { \"v\": [\"Sana tanlang\"] }, \"Pick a date and a time\": { \"v\": [\"Sana va vaqtni tanlang\"] }, \"Pick a month\": { \"v\": [\"Oyni tanlang\"] }, \"Pick a time\": { \"v\": [\"Vaqtni tanlang\"] }, \"Pick a week\": { \"v\": [\"Haftani tanlang\"] }, \"Pick a year\": { \"v\": [\"Yilni tanlang\"] }, \"Please select a time zone:\": { \"v\": [\"Vaqt mintaqasini tanlang:\"] } } }, { \"l\": \"vi\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"Pick a date\": { \"v\": [\"选择日期\"] }, \"Pick a date and a time\": { \"v\": [\"选择日期和时间\"] }, \"Pick a month\": { \"v\": [\"选择月份\"] }, \"Pick a time\": { \"v\": [\"选择时间\"] }, \"Pick a week\": { \"v\": [\"选择星期\"] }, \"Pick a year\": { \"v\": [\"选择年份\"] }, \"Please select a time zone:\": { \"v\": [\"请选择一个时区:\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Pick a date\": { \"v\": [\"挑選日期\"] }, \"Pick a date and a time\": { \"v\": [\"挑選日期與時間\"] }, \"Pick a month\": { \"v\": [\"挑選月份\"] }, \"Pick a time\": { \"v\": [\"挑選時間\"] }, \"Pick a week\": { \"v\": [\"挑選星期\"] }, \"Pick a year\": { \"v\": [\"挑選年份\"] }, \"Please select a time zone:\": { \"v\": [\"請選擇時區:\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"Pick a date\": { \"v\": [\"挑選日期\"] }, \"Pick a date and a time\": { \"v\": [\"挑選日期與時間\"] }, \"Pick a month\": { \"v\": [\"挑選月份\"] }, \"Pick a time\": { \"v\": [\"挑選時間\"] }, \"Pick a week\": { \"v\": [\"挑選星期\"] }, \"Pick a year\": { \"v\": [\"挑選年份\"] }, \"Please select a time zone:\": { \"v\": [\"請選取時區:\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"Pick a date\": { \"v\": [\"\"] }, \"Pick a date and a time\": { \"v\": [\"\"] }, \"Pick a month\": { \"v\": [\"\"] }, \"Pick a time\": { \"v\": [\"\"] }, \"Pick a week\": { \"v\": [\"\"] }, \"Pick a year\": { \"v\": [\"\"] }, \"Please select a time zone:\": { \"v\": [\"\"] } } }];\nconst t38 = [{ \"l\": \"af\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"Provider icon\": { \"v\": [\"أيقونة المزوّد\"] } } }, { \"l\": \"ast\", \"t\": { \"Provider icon\": { \"v\": [\"Iconu del fornidor\"] } } }, { \"l\": \"az\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"bs\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"cs\", \"t\": { \"Provider icon\": { \"v\": [\"Ikona poskytovatele\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"Provider icon\": { \"v\": [\"Ikona poskytovatele\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"Provider icon\": { \"v\": [\"Udbyder ikon\"] } } }, { \"l\": \"de\", \"t\": { \"Provider icon\": { \"v\": [\"Anbietersymbol\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Provider icon\": { \"v\": [\"Anbietersymbol\"] } } }, { \"l\": \"el\", \"t\": { \"Provider icon\": { \"v\": [\"Εικονίδιο παρόχου\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Provider icon\": { \"v\": [\"Provider icon\"] } } }, { \"l\": \"eo\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"es\", \"t\": { \"Provider icon\": { \"v\": [\"Ícono del proveedor\"] } } }, { \"l\": \"es_419\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"Provider icon\": { \"v\": [\"Ícono del proveedor\"] } } }, { \"l\": \"es_CL\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"Provider icon\": { \"v\": [\"Ícono del proveedor\"] } } }, { \"l\": \"es_GT\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"Provider icon\": { \"v\": [\"Ícono del proveedor\"] } } }, { \"l\": \"es_NI\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"Provider icon\": { \"v\": [\"Teenusepakkuja ikoon\"] } } }, { \"l\": \"eu\", \"t\": { \"Provider icon\": { \"v\": [\"Hornitzailearen ikonoa\"] } } }, { \"l\": \"fa\", \"t\": { \"Provider icon\": { \"v\": [\"آیکون ارائه دهنده\"] } } }, { \"l\": \"fi\", \"t\": { \"Provider icon\": { \"v\": [\"Palveluntarjoajan kuvake\"] } } }, { \"l\": \"fo\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"Provider icon\": { \"v\": [\"Icône du fournisseur\"] } } }, { \"l\": \"ga\", \"t\": { \"Provider icon\": { \"v\": [\"Deilbhín soláthraí\"] } } }, { \"l\": \"gd\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"Provider icon\": { \"v\": [\"Icona do provedor\"] } } }, { \"l\": \"he\", \"t\": { \"Provider icon\": { \"v\": [\"סמל ספק\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"hy\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"Provider icon\": { \"v\": [\"Ikon penyedia\"] } } }, { \"l\": \"ig\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"Provider icon\": { \"v\": [\"Táknmynd þjónustuveitu\"] } } }, { \"l\": \"it\", \"t\": { \"Provider icon\": { \"v\": [\"Icona del provider\"] } } }, { \"l\": \"ja\", \"t\": { \"Provider icon\": { \"v\": [\"プロバイダーのアイコン\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"Provider icon\": { \"v\": [\"プロバイダーのアイコン\"] } } }, { \"l\": \"ka\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"Provider icon\": { \"v\": [\"제공자 아이콘\"] } } }, { \"l\": \"la\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"lv\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"mk\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"mn\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"nb\", \"t\": { \"Provider icon\": { \"v\": [\"Leverandørikon\"] } } }, { \"l\": \"ne\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"Provider icon\": { \"v\": [\"Provider icoon\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"pl\", \"t\": { \"Provider icon\": { \"v\": [\"Dostawca ikony\"] } } }, { \"l\": \"ps\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"Provider icon\": { \"v\": [\"Ícone do provedor\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Provider icon\": { \"v\": [\"Ícone do fornecedor\"] } } }, { \"l\": \"ro\", \"t\": { \"Provider icon\": { \"v\": [\"Provider pentru icon\"] } } }, { \"l\": \"ru\", \"t\": { \"Provider icon\": { \"v\": [\"Значок поставщика\"] } } }, { \"l\": \"sc\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"Provider icon\": { \"v\": [\"Ikonka poskytovateľa\"] } } }, { \"l\": \"sl\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"sq\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"Provider icon\": { \"v\": [\"Икона пружаоца\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"Provider icon\": { \"v\": [\"Leverantörsikon\"] } } }, { \"l\": \"sw\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"Provider icon\": { \"v\": [\"Sağlayıcı simgesi\"] } } }, { \"l\": \"ug\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"Provider icon\": { \"v\": [\"Піктограма постачальника\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"Provider icon\": { \"v\": [\"Provayder belgisi\"] } } }, { \"l\": \"vi\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"Provider icon\": { \"v\": [\"提供者图标\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Provider icon\": { \"v\": [\"提供者圖示\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"Provider icon\": { \"v\": [\"提供者圖示\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"Provider icon\": { \"v\": [\"\"] } } }];\nconst t39 = [{ \"l\": \"af\", \"t\": {} }, { \"l\": \"ar\", \"t\": { \"Related team resources\": { \"v\": [\"موارد للفريق ذات صلة\"] }, \"View team\": { \"v\": [\"عرض الفريق\"] } } }, { \"l\": \"ast\", \"t\": { \"Related team resources\": { \"v\": [\"Recursos rellacionaos colos equipos\"] }, \"View team\": { \"v\": [\"Ver l'equipu\"] } } }, { \"l\": \"az\", \"t\": {} }, { \"l\": \"be\", \"t\": {} }, { \"l\": \"bg\", \"t\": {} }, { \"l\": \"bn_BD\", \"t\": {} }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"bs\", \"t\": {} }, { \"l\": \"ca\", \"t\": {} }, { \"l\": \"cs\", \"t\": { \"Related team resources\": { \"v\": [\"Související prostředky kolektivu\"] }, \"View team\": { \"v\": [\"Zobrazit kolektiv\"] } } }, { \"l\": \"cs_CZ\", \"t\": {} }, { \"l\": \"cy_GB\", \"t\": {} }, { \"l\": \"da\", \"t\": { \"Related team resources\": { \"v\": [\"Relaterede teamressourcer\"] }, \"View team\": { \"v\": [\"Se teamet\"] } } }, { \"l\": \"de\", \"t\": { \"Related team resources\": { \"v\": [\"Verwandte Team-Ressourcen\"] }, \"View team\": { \"v\": [\"Team anzeigen\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Related team resources\": { \"v\": [\"Verwandte Team-Ressourcen\"] }, \"View team\": { \"v\": [\"Team anzeigen\"] } } }, { \"l\": \"el\", \"t\": { \"Related team resources\": { \"v\": [\"Σχετικοί πόροι ομάδας\"] }, \"View team\": { \"v\": [\"Προβολή ομάδας\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Related team resources\": { \"v\": [\"Related team resources\"] }, \"View team\": { \"v\": [\"View team\"] } } }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": { \"Related team resources\": { \"v\": [\"Recursos de equipo relacionados\"] }, \"View team\": { \"v\": [\"Ver equipo\"] } } }, { \"l\": \"es_419\", \"t\": {} }, { \"l\": \"es_AR\", \"t\": { \"Related team resources\": { \"v\": [\"Recursos de equipo relacionados\"] }, \"View team\": { \"v\": [\"Ver equipo\"] } } }, { \"l\": \"es_CL\", \"t\": {} }, { \"l\": \"es_CO\", \"t\": {} }, { \"l\": \"es_CR\", \"t\": {} }, { \"l\": \"es_DO\", \"t\": {} }, { \"l\": \"es_EC\", \"t\": {} }, { \"l\": \"es_GT\", \"t\": {} }, { \"l\": \"es_HN\", \"t\": {} }, { \"l\": \"es_MX\", \"t\": { \"Related team resources\": { \"v\": [\"Recursos de equipo relacionados\"] }, \"View team\": { \"v\": [\"Ver equipo\"] } } }, { \"l\": \"es_NI\", \"t\": {} }, { \"l\": \"es_PA\", \"t\": {} }, { \"l\": \"es_PE\", \"t\": {} }, { \"l\": \"es_PR\", \"t\": {} }, { \"l\": \"es_PY\", \"t\": {} }, { \"l\": \"es_SV\", \"t\": {} }, { \"l\": \"es_UY\", \"t\": {} }, { \"l\": \"et_EE\", \"t\": { \"Related team resources\": { \"v\": [\"Tiimi seotud ressursid\"] }, \"View team\": { \"v\": [\"Vaata tiimi\"] } } }, { \"l\": \"eu\", \"t\": {} }, { \"l\": \"fa\", \"t\": { \"Related team resources\": { \"v\": [\"منابع تیمی مرتبط\"] }, \"View team\": { \"v\": [\"مشاهده گروه\"] } } }, { \"l\": \"fi\", \"t\": { \"Related team resources\": { \"v\": [\"Liittyvät tiimiresurssit\"] }, \"View team\": { \"v\": [\"Näytä tiimi\"] } } }, { \"l\": \"fo\", \"t\": {} }, { \"l\": \"fr\", \"t\": { \"Related team resources\": { \"v\": [\"Ressources d'équipe associées\"] }, \"View team\": { \"v\": [\"Voir l'équipe\"] } } }, { \"l\": \"ga\", \"t\": { \"Related team resources\": { \"v\": [\"Acmhainní foirne gaolmhara\"] }, \"View team\": { \"v\": [\"Féach ar an bhfoireann\"] } } }, { \"l\": \"gd\", \"t\": {} }, { \"l\": \"gl\", \"t\": { \"Related team resources\": { \"v\": [\"Recursos de equipo relacionados\"] }, \"View team\": { \"v\": [\"Ver o equipo\"] } } }, { \"l\": \"he\", \"t\": {} }, { \"l\": \"hi_IN\", \"t\": {} }, { \"l\": \"hr\", \"t\": {} }, { \"l\": \"hsb\", \"t\": {} }, { \"l\": \"hu\", \"t\": {} }, { \"l\": \"hy\", \"t\": {} }, { \"l\": \"ia\", \"t\": {} }, { \"l\": \"id\", \"t\": {} }, { \"l\": \"ig\", \"t\": {} }, { \"l\": \"is\", \"t\": { \"Related team resources\": { \"v\": [\"Tengd tilföng teymis\"] }, \"View team\": { \"v\": [\"Skoða teymi\"] } } }, { \"l\": \"it\", \"t\": {} }, { \"l\": \"ja\", \"t\": { \"Related team resources\": { \"v\": [\"チームの関連リソース\"] }, \"View team\": { \"v\": [\"チームを表示\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"Related team resources\": { \"v\": [\"チームの関連リソース\"] }, \"View team\": { \"v\": [\"チームを表示\"] } } }, { \"l\": \"ka\", \"t\": {} }, { \"l\": \"ka_GE\", \"t\": {} }, { \"l\": \"kab\", \"t\": {} }, { \"l\": \"kk\", \"t\": {} }, { \"l\": \"km\", \"t\": {} }, { \"l\": \"kn\", \"t\": {} }, { \"l\": \"ko\", \"t\": { \"Related team resources\": { \"v\": [\"관련 팀 리소스\"] }, \"View team\": { \"v\": [\"팀 보기\"] } } }, { \"l\": \"la\", \"t\": {} }, { \"l\": \"lb\", \"t\": {} }, { \"l\": \"lo\", \"t\": {} }, { \"l\": \"lt_LT\", \"t\": {} }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": {} }, { \"l\": \"mn\", \"t\": {} }, { \"l\": \"mr\", \"t\": {} }, { \"l\": \"ms_MY\", \"t\": {} }, { \"l\": \"my\", \"t\": {} }, { \"l\": \"nb\", \"t\": { \"Related team resources\": { \"v\": [\"Relaterte lagressurser\"] }, \"View team\": { \"v\": [\"Se lag\"] } } }, { \"l\": \"ne\", \"t\": {} }, { \"l\": \"nl\", \"t\": { \"Related team resources\": { \"v\": [\"Verwante teambronnen\"] }, \"View team\": { \"v\": [\"Team bekijken\"] } } }, { \"l\": \"nn_NO\", \"t\": {} }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"Related team resources\": { \"v\": [\"Powiązane zasoby grupowe\"] }, \"View team\": { \"v\": [\"Zobacz grupę\"] } } }, { \"l\": \"ps\", \"t\": {} }, { \"l\": \"pt_BR\", \"t\": { \"Related team resources\": { \"v\": [\"Recursos de equipe relacionados\"] }, \"View team\": { \"v\": [\"Ver equipe\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Related team resources\": { \"v\": [\"Recursos relacionados com a equipa\"] }, \"View team\": { \"v\": [\"Ver equipa\"] } } }, { \"l\": \"ro\", \"t\": {} }, { \"l\": \"ru\", \"t\": { \"Related team resources\": { \"v\": [\"Связанные командные ресурсы\"] }, \"View team\": { \"v\": [\"Просмотр команды\"] } } }, { \"l\": \"sc\", \"t\": {} }, { \"l\": \"si\", \"t\": {} }, { \"l\": \"sk\", \"t\": { \"Related team resources\": { \"v\": [\"Súvisiace tímové zdroje\"] }, \"View team\": { \"v\": [\"Zobraziť tím\"] } } }, { \"l\": \"sl\", \"t\": {} }, { \"l\": \"sq\", \"t\": {} }, { \"l\": \"sr\", \"t\": { \"Related team resources\": { \"v\": [\"Повезани тимски ресурси\"] }, \"View team\": { \"v\": [\"Прикажи тим\"] } } }, { \"l\": \"sr@latin\", \"t\": {} }, { \"l\": \"sv\", \"t\": { \"Related team resources\": { \"v\": [\"Relaterade teamresurser\"] }, \"View team\": { \"v\": [\"Visa team\"] } } }, { \"l\": \"sw\", \"t\": {} }, { \"l\": \"ta\", \"t\": {} }, { \"l\": \"th\", \"t\": {} }, { \"l\": \"tk\", \"t\": {} }, { \"l\": \"tr\", \"t\": { \"Related team resources\": { \"v\": [\"İlgili takım kaynakları\"] }, \"View team\": { \"v\": [\"Takımı görüntüle\"] } } }, { \"l\": \"ug\", \"t\": {} }, { \"l\": \"uk\", \"t\": { \"Related team resources\": { \"v\": [\"Пов'язані ресурси команди\"] }, \"View team\": { \"v\": [\"Переглянути команду\"] } } }, { \"l\": \"ur_PK\", \"t\": {} }, { \"l\": \"uz\", \"t\": { \"Related team resources\": { \"v\": [\"Tegishli jamoa resurslari\"] }, \"View team\": { \"v\": [\"Jamoani ko'rish\"] } } }, { \"l\": \"vi\", \"t\": {} }, { \"l\": \"zh_CN\", \"t\": { \"Related team resources\": { \"v\": [\"相关团队资源\"] }, \"View team\": { \"v\": [\"查看团队\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Related team resources\": { \"v\": [\"相關團隊資源\"] }, \"View team\": { \"v\": [\"查看團隊\"] } } }, { \"l\": \"zh_TW\", \"t\": {} }, { \"l\": \"zu_ZA\", \"t\": {} }];\nconst t40 = [{ \"l\": \"af\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"Search\": { \"v\": [\"بحث\"] } } }, { \"l\": \"ast\", \"t\": { \"Search\": { \"v\": [\"Buscar\"] } } }, { \"l\": \"az\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"Search\": { \"v\": [\"Klask\"] } } }, { \"l\": \"bs\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"Search\": { \"v\": [\"Cerca\"] } } }, { \"l\": \"cs\", \"t\": { \"Search\": { \"v\": [\"Hledat\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"Search\": { \"v\": [\"Hledat\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"Search\": { \"v\": [\"Søg\"] } } }, { \"l\": \"de\", \"t\": { \"Search\": { \"v\": [\"Suche\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Search\": { \"v\": [\"Suche\"] } } }, { \"l\": \"el\", \"t\": { \"Search\": { \"v\": [\"Αναζήτηση\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Search\": { \"v\": [\"Search\"] } } }, { \"l\": \"eo\", \"t\": { \"Search\": { \"v\": [\"Serĉi\"] } } }, { \"l\": \"es\", \"t\": { \"Search\": { \"v\": [\"Buscar\"] } } }, { \"l\": \"es_419\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"Search\": { \"v\": [\"Buscar\"] } } }, { \"l\": \"es_CL\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"Search\": { \"v\": [\"Buscar\"] } } }, { \"l\": \"es_GT\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"Search\": { \"v\": [\"Buscar\"] } } }, { \"l\": \"es_NI\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"Search\": { \"v\": [\"Otsing\"] } } }, { \"l\": \"eu\", \"t\": { \"Search\": { \"v\": [\"Bilatu\"] } } }, { \"l\": \"fa\", \"t\": { \"Search\": { \"v\": [\"جستجو\"] } } }, { \"l\": \"fi\", \"t\": { \"Search\": { \"v\": [\"Etsi\"] } } }, { \"l\": \"fo\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"Search\": { \"v\": [\"Chercher\"] } } }, { \"l\": \"ga\", \"t\": { \"Search\": { \"v\": [\"Cuardach\"] } } }, { \"l\": \"gd\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"Search\": { \"v\": [\"Buscar\"] } } }, { \"l\": \"he\", \"t\": { \"Search\": { \"v\": [\"חיפוש\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"Search\": { \"v\": [\"Keresés\"] } } }, { \"l\": \"hy\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"Search\": { \"v\": [\"Cari\"] } } }, { \"l\": \"ig\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"Search\": { \"v\": [\"Leita\"] } } }, { \"l\": \"it\", \"t\": { \"Search\": { \"v\": [\"Cerca\"] } } }, { \"l\": \"ja\", \"t\": { \"Search\": { \"v\": [\"検索\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"Search\": { \"v\": [\"検索\"] } } }, { \"l\": \"ka\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"Search\": { \"v\": [\"검색\"] } } }, { \"l\": \"la\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"Search\": { \"v\": [\"Ieškoti\"] } } }, { \"l\": \"lv\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"mk\", \"t\": { \"Search\": { \"v\": [\"Барај\"] } } }, { \"l\": \"mn\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"Search\": { \"v\": [\"ရှာဖွေရန်\"] } } }, { \"l\": \"nb\", \"t\": { \"Search\": { \"v\": [\"Søk\"] } } }, { \"l\": \"ne\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"Search\": { \"v\": [\"Zoeken\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"pl\", \"t\": { \"Search\": { \"v\": [\"Szukaj\"] } } }, { \"l\": \"ps\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"Search\": { \"v\": [\"Pesquisar\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Search\": { \"v\": [\"Pesquisar\"] } } }, { \"l\": \"ro\", \"t\": { \"Search\": { \"v\": [\"Căutare\"] } } }, { \"l\": \"ru\", \"t\": { \"Search\": { \"v\": [\"Поиск\"] } } }, { \"l\": \"sc\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"Search\": { \"v\": [\"Hľadať\"] } } }, { \"l\": \"sl\", \"t\": { \"Search\": { \"v\": [\"Iskanje\"] } } }, { \"l\": \"sq\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"Search\": { \"v\": [\"Претражи\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"Search\": { \"v\": [\"Sök\"] } } }, { \"l\": \"sw\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"Search\": { \"v\": [\"Arama\"] } } }, { \"l\": \"ug\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"Search\": { \"v\": [\"Пошук\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"Search\": { \"v\": [\"Qidiruv\"] } } }, { \"l\": \"vi\", \"t\": { \"Search\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"Search\": { \"v\": [\"搜索\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Search\": { \"v\": [\"搜尋\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"Search\": { \"v\": [\"搜尋\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"Search\": { \"v\": [\"\"] } } }];\nconst t41 = [{ \"l\": \"af\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"Search for time zone\": { \"v\": [\"البحث عن منطقة زمنية\"] }, \"Type to search time zone\": { \"v\": [\"أكتُب للبحث عن منطقة زمنية\"] } } }, { \"l\": \"ast\", \"t\": { \"Search for time zone\": { \"v\": [\"Buscar fusos horarios\"] }, \"Type to search time zone\": { \"v\": [\"Escribi pa buscar un fusu horariu\"] } } }, { \"l\": \"az\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"bs\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"Type to search time zone\": { \"v\": [\"Escriviu per cercar la zona horària\"] } } }, { \"l\": \"cs\", \"t\": { \"Search for time zone\": { \"v\": [\"Vyhledat časové pásmo\"] }, \"Type to search time zone\": { \"v\": [\"Psaním vyhledejte časovou zónu\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"Search for time zone\": { \"v\": [\"Vyhledat časové pásmo\"] }, \"Type to search time zone\": { \"v\": [\"Psaním vyhledejte časovou zónu\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"Search for time zone\": { \"v\": [\"Søg efter tidszone\"] }, \"Type to search time zone\": { \"v\": [\"Indtast for at søge efter tidszone\"] } } }, { \"l\": \"de\", \"t\": { \"Search for time zone\": { \"v\": [\"Nach Zeitzone suchen\"] }, \"Type to search time zone\": { \"v\": [\"Tippen, um eine Zeitzone zu suchen\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Search for time zone\": { \"v\": [\"Nach Zeitzone suchen\"] }, \"Type to search time zone\": { \"v\": [\"Tippen, um eine Zeitzone zu suchen\"] } } }, { \"l\": \"el\", \"t\": { \"Search for time zone\": { \"v\": [\"Αναζήτηση ζώνης ώρας\"] }, \"Type to search time zone\": { \"v\": [\"Πληκτρολογήστε για αναζήτηση ζώνης ώρας\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Search for time zone\": { \"v\": [\"Search for time zone\"] }, \"Type to search time zone\": { \"v\": [\"Type to search time zone\"] } } }, { \"l\": \"eo\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"es\", \"t\": { \"Search for time zone\": { \"v\": [\"Buscar huso horario\"] }, \"Type to search time zone\": { \"v\": [\"Escriba para buscar un huso horario\"] } } }, { \"l\": \"es_419\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"Search for time zone\": { \"v\": [\"Buscar zona horaria\"] }, \"Type to search time zone\": { \"v\": [\"Escriba para buscar la zona horaria\"] } } }, { \"l\": \"es_CL\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"Type to search time zone\": { \"v\": [\"Escribe para buscar la zona horaria\"] } } }, { \"l\": \"es_GT\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"Search for time zone\": { \"v\": [\"Buscar zona horaria\"] }, \"Type to search time zone\": { \"v\": [\"Escriba para buscar la zona horaria\"] } } }, { \"l\": \"es_NI\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"Search for time zone\": { \"v\": [\"Otsi ajavööndit\"] }, \"Type to search time zone\": { \"v\": [\"Kirjuta, et otsida ajavööndit\"] } } }, { \"l\": \"eu\", \"t\": { \"Type to search time zone\": { \"v\": [\"Idatzi ordu-zona bat bilatzeko\"] } } }, { \"l\": \"fa\", \"t\": { \"Search for time zone\": { \"v\": [\"جستجو برای منطقهٔ زمانی\"] }, \"Type to search time zone\": { \"v\": [\"برای جستجوی منطقه زمانی تایپ کنید\"] } } }, { \"l\": \"fi\", \"t\": { \"Search for time zone\": { \"v\": [\"Etsi aikavyöhykettä\"] }, \"Type to search time zone\": { \"v\": [\"Kirjoita etsiäksesi aikavyöhykettä\"] } } }, { \"l\": \"fo\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"Search for time zone\": { \"v\": [\"Rechercher le fuseau horaire\"] }, \"Type to search time zone\": { \"v\": [\"Saisissez les premiers lettres pour rechercher un fuseau horaire\"] } } }, { \"l\": \"ga\", \"t\": { \"Search for time zone\": { \"v\": [\"Cuardaigh crios ama\"] }, \"Type to search time zone\": { \"v\": [\"Clóscríobh chun crios ama a chuardach\"] } } }, { \"l\": \"gd\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"Search for time zone\": { \"v\": [\"Buscar por fuso horario\"] }, \"Type to search time zone\": { \"v\": [\"Escriba para buscar o fuso horario\"] } } }, { \"l\": \"he\", \"t\": { \"Type to search time zone\": { \"v\": [\"יש להקליד כדי לחפש אזור זמן\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"Type to search time zone\": { \"v\": [\"Gépeljen az időzóna kereséséhez\"] } } }, { \"l\": \"hy\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"Search for time zone\": { \"v\": [\"Cari zona waktu\"] }, \"Type to search time zone\": { \"v\": [\"Ketik untuk mencari zona waktu\"] } } }, { \"l\": \"ig\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"Search for time zone\": { \"v\": [\"Leita að tímabelti\"] }, \"Type to search time zone\": { \"v\": [\"Skrifaðu til að leita að tímabelti\"] } } }, { \"l\": \"it\", \"t\": { \"Search for time zone\": { \"v\": [\"Ricerca del fuso orario\"] }, \"Type to search time zone\": { \"v\": [\"Digita per cercare un fuso orario\"] } } }, { \"l\": \"ja\", \"t\": { \"Search for time zone\": { \"v\": [\"タイムゾーンを検索\"] }, \"Type to search time zone\": { \"v\": [\"タイムゾーン検索のため入力してください\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"Search for time zone\": { \"v\": [\"タイムゾーンを検索\"] }, \"Type to search time zone\": { \"v\": [\"タイムゾーン検索のため入力してください\"] } } }, { \"l\": \"ka\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"Search for time zone\": { \"v\": [\"시간대 검색\"] }, \"Type to search time zone\": { \"v\": [\"입력하여 시간대를 검색\"] } } }, { \"l\": \"la\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"lv\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"mk\", \"t\": { \"Type to search time zone\": { \"v\": [\"Напишете за да пребарате временска зона\"] } } }, { \"l\": \"mn\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"Type to search time zone\": { \"v\": [\"ဒေသစံတော်ချိန်များ ရှာဖွေရန် စာရိုက်ပါ\"] } } }, { \"l\": \"nb\", \"t\": { \"Search for time zone\": { \"v\": [\"Søk etter tidssone\"] }, \"Type to search time zone\": { \"v\": [\"Tast for å søke etter tidssone\"] } } }, { \"l\": \"ne\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"Search for time zone\": { \"v\": [\"Zoeken naar tijdzone\"] }, \"Type to search time zone\": { \"v\": [\"Type om een tijdzone te zoeken\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"pl\", \"t\": { \"Search for time zone\": { \"v\": [\"Szukaj strefy czasowej\"] }, \"Type to search time zone\": { \"v\": [\"Wpisz, aby wyszukać strefę czasową\"] } } }, { \"l\": \"ps\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"Search for time zone\": { \"v\": [\"Pesquisar fuso horário\"] }, \"Type to search time zone\": { \"v\": [\"Digite para pesquisar o fuso horário \"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Search for time zone\": { \"v\": [\"Pesquisar fuso horário\"] }, \"Type to search time zone\": { \"v\": [\"Digite para pesquisar o fuso horário \"] } } }, { \"l\": \"ro\", \"t\": { \"Search for time zone\": { \"v\": [\"Căutare zonă de timp\"] }, \"Type to search time zone\": { \"v\": [\"Tastați pentru a căuta fusul orar\"] } } }, { \"l\": \"ru\", \"t\": { \"Search for time zone\": { \"v\": [\"Поиск часового пояса\"] }, \"Type to search time zone\": { \"v\": [\"Введите для поиска часового пояса\"] } } }, { \"l\": \"sc\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"Search for time zone\": { \"v\": [\"Vyhľadať časové pásmo\"] }, \"Type to search time zone\": { \"v\": [\"Začníte písať pre vyhľadávanie časovej zóny\"] } } }, { \"l\": \"sl\", \"t\": { \"Type to search time zone\": { \"v\": [\"Vpišite niz za iskanje časovnega pasu\"] } } }, { \"l\": \"sq\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"Search for time zone\": { \"v\": [\"Претрага временске зоне\"] }, \"Type to search time zone\": { \"v\": [\"Куцајте да претражите временске зоне\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"Search for time zone\": { \"v\": [\"Sök efter tidszon\"] }, \"Type to search time zone\": { \"v\": [\"Skriv för att välja tidszon\"] } } }, { \"l\": \"sw\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"Search for time zone\": { \"v\": [\"Saat dilimi ara\"] }, \"Type to search time zone\": { \"v\": [\"Saat dilimi aramak için yazmaya başlayın\"] } } }, { \"l\": \"ug\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"Search for time zone\": { \"v\": [\"Шукати часові зони\"] }, \"Type to search time zone\": { \"v\": [\"Введіть для пошуку часовий пояс\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"Search for time zone\": { \"v\": [\"Vaqt mintaqasini qidiring\"] }, \"Type to search time zone\": { \"v\": [\"Vaqt mintaqasini qidirish uchun kiriting\"] } } }, { \"l\": \"vi\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"Search for time zone\": { \"v\": [\"搜索时区\"] }, \"Type to search time zone\": { \"v\": [\"打字以搜索时区\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Search for time zone\": { \"v\": [\"搜索時區\"] }, \"Type to search time zone\": { \"v\": [\"鍵入以搜索時區\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"Type to search time zone\": { \"v\": [\"輸入以搜尋時區\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"Type to search time zone\": { \"v\": [\"\"] } } }];\nconst t42 = [{ \"l\": \"af\", \"t\": {} }, { \"l\": \"ar\", \"t\": { \"Search…\": { \"v\": [\"بحث ...\"] } } }, { \"l\": \"ast\", \"t\": {} }, { \"l\": \"az\", \"t\": {} }, { \"l\": \"be\", \"t\": {} }, { \"l\": \"bg\", \"t\": {} }, { \"l\": \"bn_BD\", \"t\": {} }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"bs\", \"t\": {} }, { \"l\": \"ca\", \"t\": {} }, { \"l\": \"cs\", \"t\": { \"Search…\": { \"v\": [\"Hledat…\"] } } }, { \"l\": \"cs_CZ\", \"t\": {} }, { \"l\": \"cy_GB\", \"t\": {} }, { \"l\": \"da\", \"t\": { \"Search…\": { \"v\": [\"Søg…\"] } } }, { \"l\": \"de\", \"t\": { \"Search…\": { \"v\": [\"Suche…\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Search…\": { \"v\": [\"Suche…\"] } } }, { \"l\": \"el\", \"t\": { \"Search…\": { \"v\": [\"Αναζήτηση…\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Search…\": { \"v\": [\"Search…\"] } } }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": {} }, { \"l\": \"es_419\", \"t\": {} }, { \"l\": \"es_AR\", \"t\": { \"Search…\": { \"v\": [\"Buscar...\"] } } }, { \"l\": \"es_CL\", \"t\": {} }, { \"l\": \"es_CO\", \"t\": {} }, { \"l\": \"es_CR\", \"t\": {} }, { \"l\": \"es_DO\", \"t\": {} }, { \"l\": \"es_EC\", \"t\": {} }, { \"l\": \"es_GT\", \"t\": {} }, { \"l\": \"es_HN\", \"t\": {} }, { \"l\": \"es_MX\", \"t\": { \"Search…\": { \"v\": [\"Buscar...\"] } } }, { \"l\": \"es_NI\", \"t\": {} }, { \"l\": \"es_PA\", \"t\": {} }, { \"l\": \"es_PE\", \"t\": {} }, { \"l\": \"es_PR\", \"t\": {} }, { \"l\": \"es_PY\", \"t\": {} }, { \"l\": \"es_SV\", \"t\": {} }, { \"l\": \"es_UY\", \"t\": {} }, { \"l\": \"et_EE\", \"t\": { \"Search…\": { \"v\": [\"Otsi…\"] } } }, { \"l\": \"eu\", \"t\": {} }, { \"l\": \"fa\", \"t\": { \"Search…\": { \"v\": [\"جستجو...\"] } } }, { \"l\": \"fi\", \"t\": { \"Search…\": { \"v\": [\"Hae...\"] } } }, { \"l\": \"fo\", \"t\": {} }, { \"l\": \"fr\", \"t\": { \"Search…\": { \"v\": [\"Rechercher…\"] } } }, { \"l\": \"ga\", \"t\": { \"Search…\": { \"v\": [\"Cuardaigh…\"] } } }, { \"l\": \"gd\", \"t\": {} }, { \"l\": \"gl\", \"t\": { \"Search…\": { \"v\": [\"Buscar…\"] } } }, { \"l\": \"he\", \"t\": {} }, { \"l\": \"hi_IN\", \"t\": {} }, { \"l\": \"hr\", \"t\": {} }, { \"l\": \"hsb\", \"t\": {} }, { \"l\": \"hu\", \"t\": {} }, { \"l\": \"hy\", \"t\": {} }, { \"l\": \"ia\", \"t\": {} }, { \"l\": \"id\", \"t\": {} }, { \"l\": \"ig\", \"t\": {} }, { \"l\": \"is\", \"t\": { \"Search…\": { \"v\": [\"Leita…\"] } } }, { \"l\": \"it\", \"t\": {} }, { \"l\": \"ja\", \"t\": { \"Search…\": { \"v\": [\"検索…\"] } } }, { \"l\": \"ja_JP\", \"t\": {} }, { \"l\": \"ka\", \"t\": {} }, { \"l\": \"ka_GE\", \"t\": {} }, { \"l\": \"kab\", \"t\": {} }, { \"l\": \"kk\", \"t\": {} }, { \"l\": \"km\", \"t\": {} }, { \"l\": \"kn\", \"t\": {} }, { \"l\": \"ko\", \"t\": { \"Search…\": { \"v\": [\"검색...\"] } } }, { \"l\": \"la\", \"t\": {} }, { \"l\": \"lb\", \"t\": {} }, { \"l\": \"lo\", \"t\": {} }, { \"l\": \"lt_LT\", \"t\": {} }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": {} }, { \"l\": \"mn\", \"t\": {} }, { \"l\": \"mr\", \"t\": {} }, { \"l\": \"ms_MY\", \"t\": {} }, { \"l\": \"my\", \"t\": {} }, { \"l\": \"nb\", \"t\": { \"Search…\": { \"v\": [\"Søk...\"] } } }, { \"l\": \"ne\", \"t\": {} }, { \"l\": \"nl\", \"t\": { \"Search…\": { \"v\": [\"Zoeken ...\"] } } }, { \"l\": \"nn_NO\", \"t\": {} }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"Search…\": { \"v\": [\"Szukaj…\"] } } }, { \"l\": \"ps\", \"t\": {} }, { \"l\": \"pt_BR\", \"t\": { \"Search…\": { \"v\": [\"Pesquisar…\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Search…\": { \"v\": [\"Procurar...\"] } } }, { \"l\": \"ro\", \"t\": {} }, { \"l\": \"ru\", \"t\": { \"Search…\": { \"v\": [\"Поиск...\"] } } }, { \"l\": \"sc\", \"t\": {} }, { \"l\": \"si\", \"t\": {} }, { \"l\": \"sk\", \"t\": { \"Search…\": { \"v\": [\"Vyhľadať...\"] } } }, { \"l\": \"sl\", \"t\": {} }, { \"l\": \"sq\", \"t\": {} }, { \"l\": \"sr\", \"t\": { \"Search…\": { \"v\": [\"Претражи…\"] } } }, { \"l\": \"sr@latin\", \"t\": {} }, { \"l\": \"sv\", \"t\": { \"Search…\": { \"v\": [\"Sök...\"] } } }, { \"l\": \"sw\", \"t\": {} }, { \"l\": \"ta\", \"t\": {} }, { \"l\": \"th\", \"t\": {} }, { \"l\": \"tk\", \"t\": {} }, { \"l\": \"tr\", \"t\": { \"Search…\": { \"v\": [\"Ara…\"] } } }, { \"l\": \"ug\", \"t\": {} }, { \"l\": \"uk\", \"t\": { \"Search…\": { \"v\": [\"Пошук...\"] } } }, { \"l\": \"ur_PK\", \"t\": {} }, { \"l\": \"uz\", \"t\": { \"Search…\": { \"v\": [\"Qidiruv…\"] } } }, { \"l\": \"vi\", \"t\": {} }, { \"l\": \"zh_CN\", \"t\": { \"Search…\": { \"v\": [\"搜索...\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Search…\": { \"v\": [\"搜尋 ...\"] } } }, { \"l\": \"zh_TW\", \"t\": {} }, { \"l\": \"zu_ZA\", \"t\": {} }];\nconst t43 = [{ \"l\": \"af\", \"t\": {} }, { \"l\": \"ar\", \"t\": {} }, { \"l\": \"ast\", \"t\": {} }, { \"l\": \"az\", \"t\": {} }, { \"l\": \"be\", \"t\": {} }, { \"l\": \"bg\", \"t\": {} }, { \"l\": \"bn_BD\", \"t\": {} }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"bs\", \"t\": {} }, { \"l\": \"ca\", \"t\": {} }, { \"l\": \"cs\", \"t\": {} }, { \"l\": \"cs_CZ\", \"t\": {} }, { \"l\": \"cy_GB\", \"t\": {} }, { \"l\": \"da\", \"t\": {} }, { \"l\": \"de\", \"t\": {} }, { \"l\": \"de_DE\", \"t\": {} }, { \"l\": \"el\", \"t\": {} }, { \"l\": \"en_GB\", \"t\": {} }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": {} }, { \"l\": \"es_419\", \"t\": {} }, { \"l\": \"es_AR\", \"t\": {} }, { \"l\": \"es_CL\", \"t\": {} }, { \"l\": \"es_CO\", \"t\": {} }, { \"l\": \"es_CR\", \"t\": {} }, { \"l\": \"es_DO\", \"t\": {} }, { \"l\": \"es_EC\", \"t\": {} }, { \"l\": \"es_GT\", \"t\": {} }, { \"l\": \"es_HN\", \"t\": {} }, { \"l\": \"es_MX\", \"t\": {} }, { \"l\": \"es_NI\", \"t\": {} }, { \"l\": \"es_PA\", \"t\": {} }, { \"l\": \"es_PE\", \"t\": {} }, { \"l\": \"es_PR\", \"t\": {} }, { \"l\": \"es_PY\", \"t\": {} }, { \"l\": \"es_SV\", \"t\": {} }, { \"l\": \"es_UY\", \"t\": {} }, { \"l\": \"et_EE\", \"t\": {} }, { \"l\": \"eu\", \"t\": {} }, { \"l\": \"fa\", \"t\": {} }, { \"l\": \"fi\", \"t\": {} }, { \"l\": \"fo\", \"t\": {} }, { \"l\": \"fr\", \"t\": {} }, { \"l\": \"ga\", \"t\": {} }, { \"l\": \"gd\", \"t\": {} }, { \"l\": \"gl\", \"t\": {} }, { \"l\": \"he\", \"t\": {} }, { \"l\": \"hi_IN\", \"t\": {} }, { \"l\": \"hr\", \"t\": {} }, { \"l\": \"hsb\", \"t\": {} }, { \"l\": \"hu\", \"t\": {} }, { \"l\": \"hy\", \"t\": {} }, { \"l\": \"ia\", \"t\": {} }, { \"l\": \"id\", \"t\": {} }, { \"l\": \"ig\", \"t\": {} }, { \"l\": \"is\", \"t\": {} }, { \"l\": \"it\", \"t\": {} }, { \"l\": \"ja\", \"t\": {} }, { \"l\": \"ja_JP\", \"t\": {} }, { \"l\": \"ka\", \"t\": {} }, { \"l\": \"ka_GE\", \"t\": {} }, { \"l\": \"kab\", \"t\": {} }, { \"l\": \"kk\", \"t\": {} }, { \"l\": \"km\", \"t\": {} }, { \"l\": \"kn\", \"t\": {} }, { \"l\": \"ko\", \"t\": {} }, { \"l\": \"la\", \"t\": {} }, { \"l\": \"lb\", \"t\": {} }, { \"l\": \"lo\", \"t\": {} }, { \"l\": \"lt_LT\", \"t\": {} }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": {} }, { \"l\": \"mn\", \"t\": {} }, { \"l\": \"mr\", \"t\": {} }, { \"l\": \"ms_MY\", \"t\": {} }, { \"l\": \"my\", \"t\": {} }, { \"l\": \"nb\", \"t\": {} }, { \"l\": \"ne\", \"t\": {} }, { \"l\": \"nl\", \"t\": {} }, { \"l\": \"nn_NO\", \"t\": {} }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": {} }, { \"l\": \"ps\", \"t\": {} }, { \"l\": \"pt_BR\", \"t\": {} }, { \"l\": \"pt_PT\", \"t\": {} }, { \"l\": \"ro\", \"t\": {} }, { \"l\": \"ru\", \"t\": {} }, { \"l\": \"sc\", \"t\": {} }, { \"l\": \"si\", \"t\": {} }, { \"l\": \"sk\", \"t\": {} }, { \"l\": \"sl\", \"t\": {} }, { \"l\": \"sq\", \"t\": {} }, { \"l\": \"sr\", \"t\": {} }, { \"l\": \"sr@latin\", \"t\": {} }, { \"l\": \"sv\", \"t\": {} }, { \"l\": \"sw\", \"t\": {} }, { \"l\": \"ta\", \"t\": {} }, { \"l\": \"th\", \"t\": {} }, { \"l\": \"tk\", \"t\": {} }, { \"l\": \"tr\", \"t\": {} }, { \"l\": \"ug\", \"t\": {} }, { \"l\": \"uk\", \"t\": {} }, { \"l\": \"ur_PK\", \"t\": {} }, { \"l\": \"uz\", \"t\": {} }, { \"l\": \"vi\", \"t\": {} }, { \"l\": \"zh_CN\", \"t\": {} }, { \"l\": \"zh_HK\", \"t\": {} }, { \"l\": \"zh_TW\", \"t\": {} }, { \"l\": \"zu_ZA\", \"t\": {} }];\nconst t44 = [{ \"l\": \"af\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"Select provider\": { \"v\": [\"اختر مزود\"] } } }, { \"l\": \"ast\", \"t\": { \"Select provider\": { \"v\": [\"Seleicionar el fornidor\"] } } }, { \"l\": \"az\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"bs\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"cs\", \"t\": { \"Select provider\": { \"v\": [\"Vybrat poskytovatele\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"Select provider\": { \"v\": [\"Vybrat poskytovatele\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"Select provider\": { \"v\": [\"Vælg udbyder\"] } } }, { \"l\": \"de\", \"t\": { \"Select provider\": { \"v\": [\"Anbieter auswählen\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Select provider\": { \"v\": [\"Anbieter auswählen\"] } } }, { \"l\": \"el\", \"t\": { \"Select provider\": { \"v\": [\"Επιλογή παρόχου\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Select provider\": { \"v\": [\"Select provider\"] } } }, { \"l\": \"eo\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"es\", \"t\": { \"Select provider\": { \"v\": [\"Seleccione proveedor\"] } } }, { \"l\": \"es_419\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"Select provider\": { \"v\": [\"Elija proveedor\"] } } }, { \"l\": \"es_CL\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"Select provider\": { \"v\": [\"Seleccionar proveedor\"] } } }, { \"l\": \"es_GT\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"Select provider\": { \"v\": [\"Seleccionar proveedor\"] } } }, { \"l\": \"es_NI\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"Select provider\": { \"v\": [\"Vali teenuspakkuja\"] } } }, { \"l\": \"eu\", \"t\": { \"Select provider\": { \"v\": [\"Hautatu hornitzailea\"] } } }, { \"l\": \"fa\", \"t\": { \"Select provider\": { \"v\": [\"ارائه دهنده را انتخاب کنید\"] } } }, { \"l\": \"fi\", \"t\": { \"Select provider\": { \"v\": [\"Valitse tarjoaja\"] } } }, { \"l\": \"fo\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"Select provider\": { \"v\": [\"Sélectionner un fournisseur\"] } } }, { \"l\": \"ga\", \"t\": { \"Select provider\": { \"v\": [\"Roghnaigh soláthraí\"] } } }, { \"l\": \"gd\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"Select provider\": { \"v\": [\"Seleccionar provedor\"] } } }, { \"l\": \"he\", \"t\": { \"Select provider\": { \"v\": [\"בחירת ספק\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"hy\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"Select provider\": { \"v\": [\"Pilih penyedia\"] } } }, { \"l\": \"ig\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"Select provider\": { \"v\": [\"Veldu þjónustuveitu\"] } } }, { \"l\": \"it\", \"t\": { \"Select provider\": { \"v\": [\"Selezionare il provider\"] } } }, { \"l\": \"ja\", \"t\": { \"Select provider\": { \"v\": [\"プロバイダーを選択\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"Select provider\": { \"v\": [\"プロバイダーを選択\"] } } }, { \"l\": \"ka\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"Select provider\": { \"v\": [\"제공자 선택\"] } } }, { \"l\": \"la\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"lv\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"mk\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"mn\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"nb\", \"t\": { \"Select provider\": { \"v\": [\"Velg leverandør\"] } } }, { \"l\": \"ne\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"Select provider\": { \"v\": [\"Selecteer provider\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"pl\", \"t\": { \"Select provider\": { \"v\": [\"Wybierz dostawcę\"] } } }, { \"l\": \"ps\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"Select provider\": { \"v\": [\"Selecionar provedor\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Select provider\": { \"v\": [\"Selecionar fornecedor\"] } } }, { \"l\": \"ro\", \"t\": { \"Select provider\": { \"v\": [\"Selectați providerul\"] } } }, { \"l\": \"ru\", \"t\": { \"Select provider\": { \"v\": [\"Выбрать поставщика\"] } } }, { \"l\": \"sc\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"Select provider\": { \"v\": [\"Vybrať poskytovateľa\"] } } }, { \"l\": \"sl\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"sq\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"Select provider\": { \"v\": [\"Изаберите пружаоца\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"Select provider\": { \"v\": [\"Välj leverantör\"] } } }, { \"l\": \"sw\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"Select provider\": { \"v\": [\"Sağlayıcı seçin\"] } } }, { \"l\": \"ug\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"Select provider\": { \"v\": [\"Виберіть постачальника\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"Select provider\": { \"v\": [\"Provayderni tanlang\"] } } }, { \"l\": \"vi\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"Select provider\": { \"v\": [\"选择提供者\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Select provider\": { \"v\": [\"選擇提供者\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"Select provider\": { \"v\": [\"選取提供者\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"Select provider\": { \"v\": [\"\"] } } }];\nconst t45 = [{ \"l\": \"af\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"Settings\": { \"v\": [\"الإعدادات\"] } } }, { \"l\": \"ast\", \"t\": { \"Settings\": { \"v\": [\"Configuración\"] } } }, { \"l\": \"az\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"Settings\": { \"v\": [\"Arventennoù\"] } } }, { \"l\": \"bs\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"Settings\": { \"v\": [\"Paràmetres\"] } } }, { \"l\": \"cs\", \"t\": { \"Settings\": { \"v\": [\"Nastavení\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"Settings\": { \"v\": [\"Nastavení\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"Settings\": { \"v\": [\"Indstillinger\"] } } }, { \"l\": \"de\", \"t\": { \"Settings\": { \"v\": [\"Einstellungen\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Settings\": { \"v\": [\"Einstellungen\"] } } }, { \"l\": \"el\", \"t\": { \"Settings\": { \"v\": [\"Ρυθμίσεις\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Settings\": { \"v\": [\"Settings\"] } } }, { \"l\": \"eo\", \"t\": { \"Settings\": { \"v\": [\"Agordo\"] } } }, { \"l\": \"es\", \"t\": { \"Settings\": { \"v\": [\"Ajustes\"] } } }, { \"l\": \"es_419\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"Settings\": { \"v\": [\"Configuraciones\"] } } }, { \"l\": \"es_CL\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"Settings\": { \"v\": [\"Configuraciones\"] } } }, { \"l\": \"es_GT\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"Settings\": { \"v\": [\"Configuración\"] } } }, { \"l\": \"es_NI\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"Settings\": { \"v\": [\"Seadistused\"] } } }, { \"l\": \"eu\", \"t\": { \"Settings\": { \"v\": [\"Ezarpenak\"] } } }, { \"l\": \"fa\", \"t\": { \"Settings\": { \"v\": [\"تنظیمات\"] } } }, { \"l\": \"fi\", \"t\": { \"Settings\": { \"v\": [\"Asetukset\"] } } }, { \"l\": \"fo\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"Settings\": { \"v\": [\"Paramètres\"] } } }, { \"l\": \"ga\", \"t\": { \"Settings\": { \"v\": [\"Socruithe\"] } } }, { \"l\": \"gd\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"Settings\": { \"v\": [\"Axustes\"] } } }, { \"l\": \"he\", \"t\": { \"Settings\": { \"v\": [\"הגדרות\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"Settings\": { \"v\": [\"Beállítások\"] } } }, { \"l\": \"hy\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"Settings\": { \"v\": [\"Pengaturan\"] } } }, { \"l\": \"ig\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"Settings\": { \"v\": [\"Stillingar\"] } } }, { \"l\": \"it\", \"t\": { \"Settings\": { \"v\": [\"Impostazioni\"] } } }, { \"l\": \"ja\", \"t\": { \"Settings\": { \"v\": [\"設定\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"Settings\": { \"v\": [\"設定\"] } } }, { \"l\": \"ka\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"Settings\": { \"v\": [\"선택\"] } } }, { \"l\": \"la\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"Settings\": { \"v\": [\"Nustatymai\"] } } }, { \"l\": \"lv\", \"t\": { \"Settings\": { \"v\": [\"Iestatījumi\"] } } }, { \"l\": \"mk\", \"t\": { \"Settings\": { \"v\": [\"Параметри\"] } } }, { \"l\": \"mn\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"Settings\": { \"v\": [\"ချိန်ညှိချက်များ\"] } } }, { \"l\": \"nb\", \"t\": { \"Settings\": { \"v\": [\"Innstillinger\"] } } }, { \"l\": \"ne\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"Settings\": { \"v\": [\"Instellingen\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"Settings\": { \"v\": [\"Paramètres\"] } } }, { \"l\": \"pl\", \"t\": { \"Settings\": { \"v\": [\"Ustawienia\"] } } }, { \"l\": \"ps\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"Settings\": { \"v\": [\"Configurações\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Settings\": { \"v\": [\"Definições\"] } } }, { \"l\": \"ro\", \"t\": { \"Settings\": { \"v\": [\"Setări\"] } } }, { \"l\": \"ru\", \"t\": { \"Settings\": { \"v\": [\"Параметры\"] } } }, { \"l\": \"sc\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"Settings\": { \"v\": [\"Nastavenia\"] } } }, { \"l\": \"sl\", \"t\": { \"Settings\": { \"v\": [\"Nastavitve\"] } } }, { \"l\": \"sq\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"Settings\": { \"v\": [\"Поставке\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"Settings\": { \"v\": [\"Inställningar\"] } } }, { \"l\": \"sw\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"Settings\": { \"v\": [\"Ayarlar\"] } } }, { \"l\": \"ug\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"Settings\": { \"v\": [\"Налаштування\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"Settings\": { \"v\": [\"Sozlamalar\"] } } }, { \"l\": \"vi\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"Settings\": { \"v\": [\"设置\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Settings\": { \"v\": [\"設定\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"Settings\": { \"v\": [\"設定\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"Settings\": { \"v\": [\"\"] } } }];\nconst t46 = [{ \"l\": \"af\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"Settings navigation\": { \"v\": [\"إعدادات التّصفُّح\"] } } }, { \"l\": \"ast\", \"t\": { \"Settings navigation\": { \"v\": [\"Navegación pela configuración\"] } } }, { \"l\": \"az\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"bs\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"Settings navigation\": { \"v\": [\"Navegació d'opcions\"] } } }, { \"l\": \"cs\", \"t\": { \"Settings navigation\": { \"v\": [\"Pohyb po nastavení\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"Settings navigation\": { \"v\": [\"Pohyb po nastavení\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"Settings navigation\": { \"v\": [\"Naviger i indstillinger\"] } } }, { \"l\": \"de\", \"t\": { \"Settings navigation\": { \"v\": [\"Einstellungen für die Navigation\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Settings navigation\": { \"v\": [\"Einstellungen für die Navigation\"] } } }, { \"l\": \"el\", \"t\": { \"Settings navigation\": { \"v\": [\"Πλοήγηση ρυθμίσεων\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Settings navigation\": { \"v\": [\"Settings navigation\"] } } }, { \"l\": \"eo\", \"t\": { \"Settings navigation\": { \"v\": [\"Agorda navigado\"] } } }, { \"l\": \"es\", \"t\": { \"Settings navigation\": { \"v\": [\"Navegación de ajustes\"] } } }, { \"l\": \"es_419\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"Settings navigation\": { \"v\": [\"Navegación de configuraciones\"] } } }, { \"l\": \"es_CL\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"Settings navigation\": { \"v\": [\"Navegación de configuraciones\"] } } }, { \"l\": \"es_GT\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"Settings navigation\": { \"v\": [\"Navegación por ajustes\"] } } }, { \"l\": \"es_NI\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"Settings navigation\": { \"v\": [\"Seadistuste navigatsioon\"] } } }, { \"l\": \"eu\", \"t\": { \"Settings navigation\": { \"v\": [\"Nabigazio ezarpenak\"] } } }, { \"l\": \"fa\", \"t\": { \"Settings navigation\": { \"v\": [\"ناوبری تنظیمات\"] } } }, { \"l\": \"fi\", \"t\": { \"Settings navigation\": { \"v\": [\"Asetusten navigointi\"] } } }, { \"l\": \"fo\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"Settings navigation\": { \"v\": [\"Navigation dans les paramètres\"] } } }, { \"l\": \"ga\", \"t\": { \"Settings navigation\": { \"v\": [\"Nascleanúint socruithe\"] } } }, { \"l\": \"gd\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"Settings navigation\": { \"v\": [\"Navegación polos axustes\"] } } }, { \"l\": \"he\", \"t\": { \"Settings navigation\": { \"v\": [\"ניווט בהגדרות\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"Settings navigation\": { \"v\": [\"Navigáció a beállításokban\"] } } }, { \"l\": \"hy\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"Settings navigation\": { \"v\": [\"Navigasi pengaturan\"] } } }, { \"l\": \"ig\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"Settings navigation\": { \"v\": [\"Flakk um stillingar\"] } } }, { \"l\": \"it\", \"t\": { \"Settings navigation\": { \"v\": [\"Navigazione delle impostazioni\"] } } }, { \"l\": \"ja\", \"t\": { \"Settings navigation\": { \"v\": [\"ナビゲーション設定\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"Settings navigation\": { \"v\": [\"ナビゲーション設定\"] } } }, { \"l\": \"ka\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"Settings navigation\": { \"v\": [\"세팅 탐색\"] } } }, { \"l\": \"la\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"Settings navigation\": { \"v\": [\"Naršymas nustatymuose\"] } } }, { \"l\": \"lv\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"mk\", \"t\": { \"Settings navigation\": { \"v\": [\"Параметри за навигација\"] } } }, { \"l\": \"mn\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"Settings navigation\": { \"v\": [\"ချိန်ညှိချက်အညွှန်း\"] } } }, { \"l\": \"nb\", \"t\": { \"Settings navigation\": { \"v\": [\"Navigasjonsinstillinger\"] } } }, { \"l\": \"ne\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"Settings navigation\": { \"v\": [\"Instellingen navigatie\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"pl\", \"t\": { \"Settings navigation\": { \"v\": [\"Ustawienia nawigacji\"] } } }, { \"l\": \"ps\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"Settings navigation\": { \"v\": [\"Navegação de configurações\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Settings navigation\": { \"v\": [\"Navegação de configurações\"] } } }, { \"l\": \"ro\", \"t\": { \"Settings navigation\": { \"v\": [\"Navigare setări\"] } } }, { \"l\": \"ru\", \"t\": { \"Settings navigation\": { \"v\": [\"Навигация по настройкам\"] } } }, { \"l\": \"sc\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"Settings navigation\": { \"v\": [\"Navigácia v nastaveniach\"] } } }, { \"l\": \"sl\", \"t\": { \"Settings navigation\": { \"v\": [\"Krmarjenje nastavitev\"] } } }, { \"l\": \"sq\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"Settings navigation\": { \"v\": [\"Кретање по подешавањима\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"Settings navigation\": { \"v\": [\"Inställningsmeny\"] } } }, { \"l\": \"sw\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"Settings navigation\": { \"v\": [\"Gezinme ayarları\"] } } }, { \"l\": \"ug\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"Settings navigation\": { \"v\": [\"Навігація у налаштуваннях\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"Settings navigation\": { \"v\": [\"Sozlamalar navigatsiyasi\"] } } }, { \"l\": \"vi\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"Settings navigation\": { \"v\": [\"设置向导\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Settings navigation\": { \"v\": [\"設定值導覽\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"Settings navigation\": { \"v\": [\"設定值導覽\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"Settings navigation\": { \"v\": [\"\"] } } }];\nconst t47 = [{ \"l\": \"af\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"Submit\": { \"v\": [\"إرسال\"] } } }, { \"l\": \"ast\", \"t\": { \"Submit\": { \"v\": [\"Unviar\"] } } }, { \"l\": \"az\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"bs\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"Submit\": { \"v\": [\"Envia\"] } } }, { \"l\": \"cs\", \"t\": { \"Submit\": { \"v\": [\"Odeslat\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"Submit\": { \"v\": [\"Odeslat\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"Submit\": { \"v\": [\"Send\"] } } }, { \"l\": \"de\", \"t\": { \"Submit\": { \"v\": [\"Einreichen\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Submit\": { \"v\": [\"Einreichen\"] } } }, { \"l\": \"el\", \"t\": { \"Submit\": { \"v\": [\"Υποβολή\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Submit\": { \"v\": [\"Submit\"] } } }, { \"l\": \"eo\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"es\", \"t\": { \"Submit\": { \"v\": [\"Enviar\"] } } }, { \"l\": \"es_419\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"Submit\": { \"v\": [\"Enviar\"] } } }, { \"l\": \"es_CL\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"Submit\": { \"v\": [\"Enviar\"] } } }, { \"l\": \"es_GT\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"Submit\": { \"v\": [\"Enviar\"] } } }, { \"l\": \"es_NI\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"Submit\": { \"v\": [\"Saada\"] } } }, { \"l\": \"eu\", \"t\": { \"Submit\": { \"v\": [\"Bidali\"] } } }, { \"l\": \"fa\", \"t\": { \"Submit\": { \"v\": [\"ارسال\"] } } }, { \"l\": \"fi\", \"t\": { \"Submit\": { \"v\": [\"Lähetä\"] } } }, { \"l\": \"fo\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"Submit\": { \"v\": [\"Valider\"] } } }, { \"l\": \"ga\", \"t\": { \"Submit\": { \"v\": [\"Cuir isteach\"] } } }, { \"l\": \"gd\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"Submit\": { \"v\": [\"Enviar\"] } } }, { \"l\": \"he\", \"t\": { \"Submit\": { \"v\": [\"הגשה\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"Submit\": { \"v\": [\"Beküldés\"] } } }, { \"l\": \"hy\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"Submit\": { \"v\": [\"Kirimkan\"] } } }, { \"l\": \"ig\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"Submit\": { \"v\": [\"Senda inn\"] } } }, { \"l\": \"it\", \"t\": { \"Submit\": { \"v\": [\"Invia\"] } } }, { \"l\": \"ja\", \"t\": { \"Submit\": { \"v\": [\"提出\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"Submit\": { \"v\": [\"提出\"] } } }, { \"l\": \"ka\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"Submit\": { \"v\": [\"제출\"] } } }, { \"l\": \"la\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"Submit\": { \"v\": [\"Pateikti\"] } } }, { \"l\": \"lv\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"mk\", \"t\": { \"Submit\": { \"v\": [\"Испрати\"] } } }, { \"l\": \"mn\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"Submit\": { \"v\": [\"တင်သွင်းရန်\"] } } }, { \"l\": \"nb\", \"t\": { \"Submit\": { \"v\": [\"Send\"] } } }, { \"l\": \"ne\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"Submit\": { \"v\": [\"Verwerken\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"pl\", \"t\": { \"Submit\": { \"v\": [\"Wyślij\"] } } }, { \"l\": \"ps\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"Submit\": { \"v\": [\"Enviar\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Submit\": { \"v\": [\"Submeter\"] } } }, { \"l\": \"ro\", \"t\": { \"Submit\": { \"v\": [\"Trimiteți\"] } } }, { \"l\": \"ru\", \"t\": { \"Submit\": { \"v\": [\"Утвердить\"] } } }, { \"l\": \"sc\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"Submit\": { \"v\": [\"Odoslať\"] } } }, { \"l\": \"sl\", \"t\": { \"Submit\": { \"v\": [\"Pošlji\"] } } }, { \"l\": \"sq\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"Submit\": { \"v\": [\"Поднеси\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"Submit\": { \"v\": [\"Skicka\"] } } }, { \"l\": \"sw\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"Submit\": { \"v\": [\"Gönder\"] } } }, { \"l\": \"ug\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"Submit\": { \"v\": [\"Надіслати\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"Submit\": { \"v\": [\"Yuborish\"] } } }, { \"l\": \"vi\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"Submit\": { \"v\": [\"提交\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Submit\": { \"v\": [\"提交\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"Submit\": { \"v\": [\"遞交\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"Submit\": { \"v\": [\"\"] } } }];\nconst t48 = [{ \"l\": \"af\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"Unable to search the group\": { \"v\": [\"تعذّر البحث في المجموعة\"] } } }, { \"l\": \"ast\", \"t\": { \"Unable to search the group\": { \"v\": [\"Nun ye posible buscar el grupu\"] } } }, { \"l\": \"az\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"Unable to search the group\": { \"v\": [\"Dibosupl eo klask ar strollad\"] } } }, { \"l\": \"bs\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"Unable to search the group\": { \"v\": [\"No es pot cercar el grup\"] } } }, { \"l\": \"cs\", \"t\": { \"Unable to search the group\": { \"v\": [\"Nedaří se hledat skupinu\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"Unable to search the group\": { \"v\": [\"Nedaří se hledat skupinu\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"Unable to search the group\": { \"v\": [\"Kan ikke søge på denne gruppe\"] } } }, { \"l\": \"de\", \"t\": { \"Unable to search the group\": { \"v\": [\"Die Gruppe kann nicht durchsucht werden\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Unable to search the group\": { \"v\": [\"Die Gruppe kann nicht durchsucht werden\"] } } }, { \"l\": \"el\", \"t\": { \"Unable to search the group\": { \"v\": [\"Δεν είναι δυνατή η αναζήτηση της ομάδας\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Unable to search the group\": { \"v\": [\"Unable to search the group\"] } } }, { \"l\": \"eo\", \"t\": { \"Unable to search the group\": { \"v\": [\"Ne eblas serĉi en la grupo\"] } } }, { \"l\": \"es\", \"t\": { \"Unable to search the group\": { \"v\": [\"No es posible buscar en el grupo\"] } } }, { \"l\": \"es_419\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"Unable to search the group\": { \"v\": [\"No se puede buscar el grupo\"] } } }, { \"l\": \"es_CL\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"Unable to search the group\": { \"v\": [\"No se puede buscar en el grupo\"] } } }, { \"l\": \"es_GT\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"Unable to search the group\": { \"v\": [\"No fue posible buscar en el grupo\"] } } }, { \"l\": \"es_NI\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"Unable to search the group\": { \"v\": [\"Gruppi ei ole võimalik otsida\"] } } }, { \"l\": \"eu\", \"t\": { \"Unable to search the group\": { \"v\": [\"Ezin izan da taldea bilatu\"] } } }, { \"l\": \"fa\", \"t\": { \"Unable to search the group\": { \"v\": [\"امکان جستجوی گروه وجود ندارد\"] } } }, { \"l\": \"fi\", \"t\": { \"Unable to search the group\": { \"v\": [\"Ryhmää ei voi hakea\"] } } }, { \"l\": \"fo\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"Unable to search the group\": { \"v\": [\"Impossible de chercher le groupe\"] } } }, { \"l\": \"ga\", \"t\": { \"Unable to search the group\": { \"v\": [\"Ní féidir an grúpa a chuardach\"] } } }, { \"l\": \"gd\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"Unable to search the group\": { \"v\": [\"Non foi posíbel buscar o grupo\"] } } }, { \"l\": \"he\", \"t\": { \"Unable to search the group\": { \"v\": [\"לא ניתן לחפש בקבוצה\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"Unable to search the group\": { \"v\": [\"A csoport nem kereshető\"] } } }, { \"l\": \"hy\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"Unable to search the group\": { \"v\": [\"Tidak dapat mencari dalam grup\"] } } }, { \"l\": \"ig\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"Unable to search the group\": { \"v\": [\"Get ekki leitað í hópnum\"] } } }, { \"l\": \"it\", \"t\": { \"Unable to search the group\": { \"v\": [\"Impossibile cercare il gruppo\"] } } }, { \"l\": \"ja\", \"t\": { \"Unable to search the group\": { \"v\": [\"グループを検索できません\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"Unable to search the group\": { \"v\": [\"グループを検索できません\"] } } }, { \"l\": \"ka\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"Unable to search the group\": { \"v\": [\"그룹을 검색할 수 없음\"] } } }, { \"l\": \"la\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"Unable to search the group\": { \"v\": [\"Nepavyko atlikti paiešką grupėje\"] } } }, { \"l\": \"lv\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"mk\", \"t\": { \"Unable to search the group\": { \"v\": [\"Неможе да се принајде групата\"] } } }, { \"l\": \"mn\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"Unable to search the group\": { \"v\": [\"အဖွဲ့အား ရှာဖွေ၍ မရနိုင်ပါ\"] } } }, { \"l\": \"nb\", \"t\": { \"Unable to search the group\": { \"v\": [\"Kunne ikke søke i gruppen\"] } } }, { \"l\": \"ne\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"Unable to search the group\": { \"v\": [\"Kan niet zoeken in de groep\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"pl\", \"t\": { \"Unable to search the group\": { \"v\": [\"Nie można przeszukać grupy\"] } } }, { \"l\": \"ps\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"Unable to search the group\": { \"v\": [\"Não foi possível pesquisar o grupo\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Unable to search the group\": { \"v\": [\"Não é possível pesquisar o grupo\"] } } }, { \"l\": \"ro\", \"t\": { \"Unable to search the group\": { \"v\": [\"Imposibilitatea de a căuta în grup\"] } } }, { \"l\": \"ru\", \"t\": { \"Unable to search the group\": { \"v\": [\"Невозможно найти группу\"] } } }, { \"l\": \"sc\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"Unable to search the group\": { \"v\": [\"Skupinu sa nepodarilo nájsť\"] } } }, { \"l\": \"sl\", \"t\": { \"Unable to search the group\": { \"v\": [\"Ni mogoče iskati po skupini\"] } } }, { \"l\": \"sq\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"Unable to search the group\": { \"v\": [\"Група не може да се претражи\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"Unable to search the group\": { \"v\": [\"Kunde inte söka i gruppen\"] } } }, { \"l\": \"sw\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"Unable to search the group\": { \"v\": [\"Grupta arama yapılamadı\"] } } }, { \"l\": \"ug\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"Unable to search the group\": { \"v\": [\"Неможливо шукати в групі\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"Unable to search the group\": { \"v\": [\"Guruhni qidirish imkonsiz\"] } } }, { \"l\": \"vi\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"Unable to search the group\": { \"v\": [\"无法搜索分组\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Unable to search the group\": { \"v\": [\"無法搜尋群組\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"Unable to search the group\": { \"v\": [\"無法搜尋群組\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"Unable to search the group\": { \"v\": [\"\"] } } }];\nconst t49 = [{ \"l\": \"af\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"ar\", \"t\": { \"Undo changes\": { \"v\": [\"تراجَع عن التغييرات\"] } } }, { \"l\": \"ast\", \"t\": { \"Undo changes\": { \"v\": [\"Desfacer los cambeos\"] } } }, { \"l\": \"az\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"be\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"bg\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"bn_BD\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"br\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"bs\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"ca\", \"t\": { \"Undo changes\": { \"v\": [\"Desfés els canvis\"] } } }, { \"l\": \"cs\", \"t\": { \"Undo changes\": { \"v\": [\"Vzít změny zpět\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"Undo changes\": { \"v\": [\"Vzít změny zpět\"] } } }, { \"l\": \"cy_GB\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"da\", \"t\": { \"Undo changes\": { \"v\": [\"Fortryd ændringer\"] } } }, { \"l\": \"de\", \"t\": { \"Undo changes\": { \"v\": [\"Änderungen rückgängig machen\"] } } }, { \"l\": \"de_DE\", \"t\": { \"Undo changes\": { \"v\": [\"Änderungen rückgängig machen\"] } } }, { \"l\": \"el\", \"t\": { \"Undo changes\": { \"v\": [\"Αναίρεση Αλλαγών\"] } } }, { \"l\": \"en_GB\", \"t\": { \"Undo changes\": { \"v\": [\"Undo changes\"] } } }, { \"l\": \"eo\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"es\", \"t\": { \"Undo changes\": { \"v\": [\"Deshacer cambios\"] } } }, { \"l\": \"es_419\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"es_AR\", \"t\": { \"Undo changes\": { \"v\": [\"Deshacer cambios\"] } } }, { \"l\": \"es_CL\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"es_CO\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"es_CR\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"es_DO\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"es_EC\", \"t\": { \"Undo changes\": { \"v\": [\"Deshacer cambios\"] } } }, { \"l\": \"es_GT\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"es_HN\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"es_MX\", \"t\": { \"Undo changes\": { \"v\": [\"Deshacer cambios\"] } } }, { \"l\": \"es_NI\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"es_PA\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"es_PE\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"es_PR\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"es_PY\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"es_SV\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"es_UY\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"et_EE\", \"t\": { \"Undo changes\": { \"v\": [\"Pööra muudatused tagasi\"] } } }, { \"l\": \"eu\", \"t\": { \"Undo changes\": { \"v\": [\"Aldaketak desegin\"] } } }, { \"l\": \"fa\", \"t\": { \"Undo changes\": { \"v\": [\"لغو تغییرات\"] } } }, { \"l\": \"fi\", \"t\": { \"Undo changes\": { \"v\": [\"Kumoa muutokset\"] } } }, { \"l\": \"fo\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"fr\", \"t\": { \"Undo changes\": { \"v\": [\"Annuler les changements\"] } } }, { \"l\": \"ga\", \"t\": { \"Undo changes\": { \"v\": [\"Cealaigh athruithe\"] } } }, { \"l\": \"gd\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"gl\", \"t\": { \"Undo changes\": { \"v\": [\"Desfacer os cambios\"] } } }, { \"l\": \"he\", \"t\": { \"Undo changes\": { \"v\": [\"ביטול שינויים\"] } } }, { \"l\": \"hi_IN\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"hr\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"hsb\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"hu\", \"t\": { \"Undo changes\": { \"v\": [\"Változtatások visszavonása\"] } } }, { \"l\": \"hy\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"ia\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"id\", \"t\": { \"Undo changes\": { \"v\": [\"Urungkan perubahan\"] } } }, { \"l\": \"ig\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"is\", \"t\": { \"Undo changes\": { \"v\": [\"Afturkalla breytingar\"] } } }, { \"l\": \"it\", \"t\": { \"Undo changes\": { \"v\": [\"Cancella i cambiamenti\"] } } }, { \"l\": \"ja\", \"t\": { \"Undo changes\": { \"v\": [\"変更を取り消し\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"Undo changes\": { \"v\": [\"変更を取り消し\"] } } }, { \"l\": \"ka\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"ka_GE\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"kab\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"kk\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"km\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"kn\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"ko\", \"t\": { \"Undo changes\": { \"v\": [\"변경 되돌리기\"] } } }, { \"l\": \"la\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"lb\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"lo\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"lt_LT\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"lv\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"mk\", \"t\": { \"Undo changes\": { \"v\": [\"Врати ги промените\"] } } }, { \"l\": \"mn\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"mr\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"ms_MY\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"my\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"nb\", \"t\": { \"Undo changes\": { \"v\": [\"Tilbakestill endringer\"] } } }, { \"l\": \"ne\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"nl\", \"t\": { \"Undo changes\": { \"v\": [\"Wijzigingen ongedaan maken\"] } } }, { \"l\": \"nn_NO\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"oc\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"pl\", \"t\": { \"Undo changes\": { \"v\": [\"Cofnij zmiany\"] } } }, { \"l\": \"ps\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"pt_BR\", \"t\": { \"Undo changes\": { \"v\": [\"Desfazer modificações\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"Undo changes\": { \"v\": [\"Anular alterações\"] } } }, { \"l\": \"ro\", \"t\": { \"Undo changes\": { \"v\": [\"Anularea modificărilor\"] } } }, { \"l\": \"ru\", \"t\": { \"Undo changes\": { \"v\": [\"Отменить изменения\"] } } }, { \"l\": \"sc\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"si\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"sk\", \"t\": { \"Undo changes\": { \"v\": [\"Vrátiť zmeny\"] } } }, { \"l\": \"sl\", \"t\": { \"Undo changes\": { \"v\": [\"Razveljavi spremembe\"] } } }, { \"l\": \"sq\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"sr\", \"t\": { \"Undo changes\": { \"v\": [\"Поништи измене\"] } } }, { \"l\": \"sr@latin\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"sv\", \"t\": { \"Undo changes\": { \"v\": [\"Ångra ändringar\"] } } }, { \"l\": \"sw\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"ta\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"th\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"tk\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"tr\", \"t\": { \"Undo changes\": { \"v\": [\"Değişiklikleri geri al\"] } } }, { \"l\": \"ug\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"uk\", \"t\": { \"Undo changes\": { \"v\": [\"Скасувати зміни\"] } } }, { \"l\": \"ur_PK\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"uz\", \"t\": { \"Undo changes\": { \"v\": [\"O'zgarishlarni bekor qilish\"] } } }, { \"l\": \"vi\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }, { \"l\": \"zh_CN\", \"t\": { \"Undo changes\": { \"v\": [\"撤销更改\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"Undo changes\": { \"v\": [\"取消更改\"] } } }, { \"l\": \"zh_TW\", \"t\": { \"Undo changes\": { \"v\": [\"還原變更\"] } } }, { \"l\": \"zu_ZA\", \"t\": { \"Undo changes\": { \"v\": [\"\"] } } }];\nconst t50 = [{ \"l\": \"af\", \"t\": {} }, { \"l\": \"ar\", \"t\": { \"User status: {status}\": { \"v\": [\"حالة المستخدِم: {status}\"] } } }, { \"l\": \"ast\", \"t\": { \"User status: {status}\": { \"v\": [\"Estáu del usuariu: {status}\"] } } }, { \"l\": \"az\", \"t\": {} }, { \"l\": \"be\", \"t\": {} }, { \"l\": \"bg\", \"t\": {} }, { \"l\": \"bn_BD\", \"t\": {} }, { \"l\": \"br\", \"t\": {} }, { \"l\": \"bs\", \"t\": {} }, { \"l\": \"ca\", \"t\": {} }, { \"l\": \"cs\", \"t\": { \"User status: {status}\": { \"v\": [\"Stav uživatele: {status}\"] } } }, { \"l\": \"cs_CZ\", \"t\": { \"User status: {status}\": { \"v\": [\"Stav uživatele: {status}\"] } } }, { \"l\": \"cy_GB\", \"t\": {} }, { \"l\": \"da\", \"t\": { \"User status: {status}\": { \"v\": [\"Brugerstatus: {status}\"] } } }, { \"l\": \"de\", \"t\": { \"User status: {status}\": { \"v\": [\"Benutzerstatus: {status}\"] } } }, { \"l\": \"de_DE\", \"t\": { \"User status: {status}\": { \"v\": [\"Benutzerstatus: {status}\"] } } }, { \"l\": \"el\", \"t\": { \"User status: {status}\": { \"v\": [\"Κατάσταση χρήστη: {status}\"] } } }, { \"l\": \"en_GB\", \"t\": { \"User status: {status}\": { \"v\": [\"User status: {status}\"] } } }, { \"l\": \"eo\", \"t\": {} }, { \"l\": \"es\", \"t\": { \"User status: {status}\": { \"v\": [\"Estatus del usuario: {status}\"] } } }, { \"l\": \"es_419\", \"t\": {} }, { \"l\": \"es_AR\", \"t\": { \"User status: {status}\": { \"v\": [\"Estado del usuario: {status}\"] } } }, { \"l\": \"es_CL\", \"t\": {} }, { \"l\": \"es_CO\", \"t\": {} }, { \"l\": \"es_CR\", \"t\": {} }, { \"l\": \"es_DO\", \"t\": {} }, { \"l\": \"es_EC\", \"t\": {} }, { \"l\": \"es_GT\", \"t\": {} }, { \"l\": \"es_HN\", \"t\": {} }, { \"l\": \"es_MX\", \"t\": { \"User status: {status}\": { \"v\": [\"Estado del usuario: {status}\"] } } }, { \"l\": \"es_NI\", \"t\": {} }, { \"l\": \"es_PA\", \"t\": {} }, { \"l\": \"es_PE\", \"t\": {} }, { \"l\": \"es_PR\", \"t\": {} }, { \"l\": \"es_PY\", \"t\": {} }, { \"l\": \"es_SV\", \"t\": {} }, { \"l\": \"es_UY\", \"t\": {} }, { \"l\": \"et_EE\", \"t\": { \"User status: {status}\": { \"v\": [\"Kasutaja olek: {status}\"] } } }, { \"l\": \"eu\", \"t\": {} }, { \"l\": \"fa\", \"t\": { \"User status: {status}\": { \"v\": [\"وضعیت کاربر: {status}\"] } } }, { \"l\": \"fi\", \"t\": { \"User status: {status}\": { \"v\": [\"Käyttäjän tila: {status}\"] } } }, { \"l\": \"fo\", \"t\": {} }, { \"l\": \"fr\", \"t\": { \"User status: {status}\": { \"v\": [\"Statut de l'utilisateur : {status}\"] } } }, { \"l\": \"ga\", \"t\": { \"User status: {status}\": { \"v\": [\"Stádas úsáideora: {status}\"] } } }, { \"l\": \"gd\", \"t\": {} }, { \"l\": \"gl\", \"t\": { \"User status: {status}\": { \"v\": [\"Estado do usuario: {status}\"] } } }, { \"l\": \"he\", \"t\": {} }, { \"l\": \"hi_IN\", \"t\": {} }, { \"l\": \"hr\", \"t\": {} }, { \"l\": \"hsb\", \"t\": {} }, { \"l\": \"hu\", \"t\": {} }, { \"l\": \"hy\", \"t\": {} }, { \"l\": \"ia\", \"t\": {} }, { \"l\": \"id\", \"t\": { \"User status: {status}\": { \"v\": [\"Status pengguna: {status}\"] } } }, { \"l\": \"ig\", \"t\": {} }, { \"l\": \"is\", \"t\": { \"User status: {status}\": { \"v\": [\"Staða notanda: {status}\"] } } }, { \"l\": \"it\", \"t\": { \"User status: {status}\": { \"v\": [\"Stato dell'utente: {status}\"] } } }, { \"l\": \"ja\", \"t\": { \"User status: {status}\": { \"v\": [\"ユーザのステータス: {status}\"] } } }, { \"l\": \"ja_JP\", \"t\": { \"User status: {status}\": { \"v\": [\"ユーザのステータス: {status}\"] } } }, { \"l\": \"ka\", \"t\": {} }, { \"l\": \"ka_GE\", \"t\": {} }, { \"l\": \"kab\", \"t\": {} }, { \"l\": \"kk\", \"t\": {} }, { \"l\": \"km\", \"t\": {} }, { \"l\": \"kn\", \"t\": {} }, { \"l\": \"ko\", \"t\": { \"User status: {status}\": { \"v\": [\"사용자 상태: {status}\"] } } }, { \"l\": \"la\", \"t\": {} }, { \"l\": \"lb\", \"t\": {} }, { \"l\": \"lo\", \"t\": {} }, { \"l\": \"lt_LT\", \"t\": {} }, { \"l\": \"lv\", \"t\": {} }, { \"l\": \"mk\", \"t\": {} }, { \"l\": \"mn\", \"t\": {} }, { \"l\": \"mr\", \"t\": {} }, { \"l\": \"ms_MY\", \"t\": {} }, { \"l\": \"my\", \"t\": {} }, { \"l\": \"nb\", \"t\": { \"User status: {status}\": { \"v\": [\"Brukerstatus: {status}\"] } } }, { \"l\": \"ne\", \"t\": {} }, { \"l\": \"nl\", \"t\": { \"User status: {status}\": { \"v\": [\"Gebruikers status: {status}\"] } } }, { \"l\": \"nn_NO\", \"t\": {} }, { \"l\": \"oc\", \"t\": {} }, { \"l\": \"pl\", \"t\": { \"User status: {status}\": { \"v\": [\"Status użytkownika: {status}\"] } } }, { \"l\": \"ps\", \"t\": {} }, { \"l\": \"pt_BR\", \"t\": { \"User status: {status}\": { \"v\": [\"Status do usuário: {status}\"] } } }, { \"l\": \"pt_PT\", \"t\": { \"User status: {status}\": { \"v\": [\"Estado do utilizador: {status}\"] } } }, { \"l\": \"ro\", \"t\": { \"User status: {status}\": { \"v\": [\"Status utilizator: {status}\"] } } }, { \"l\": \"ru\", \"t\": { \"User status: {status}\": { \"v\": [\"Статус пользователя: {status}\"] } } }, { \"l\": \"sc\", \"t\": {} }, { \"l\": \"si\", \"t\": {} }, { \"l\": \"sk\", \"t\": { \"User status: {status}\": { \"v\": [\"Stav užívateľa: {status}\"] } } }, { \"l\": \"sl\", \"t\": {} }, { \"l\": \"sq\", \"t\": {} }, { \"l\": \"sr\", \"t\": { \"User status: {status}\": { \"v\": [\"Статус корисника: {status}\"] } } }, { \"l\": \"sr@latin\", \"t\": {} }, { \"l\": \"sv\", \"t\": { \"User status: {status}\": { \"v\": [\"Användarstatus: {status}\"] } } }, { \"l\": \"sw\", \"t\": {} }, { \"l\": \"ta\", \"t\": {} }, { \"l\": \"th\", \"t\": {} }, { \"l\": \"tk\", \"t\": {} }, { \"l\": \"tr\", \"t\": { \"User status: {status}\": { \"v\": [\"Kullanıcı durumu: {status}\"] } } }, { \"l\": \"ug\", \"t\": {} }, { \"l\": \"uk\", \"t\": { \"User status: {status}\": { \"v\": [\"Статус користувача: {status}\"] } } }, { \"l\": \"ur_PK\", \"t\": {} }, { \"l\": \"uz\", \"t\": { \"User status: {status}\": { \"v\": [\"Foydalanuvchi holati: {status}\"] } } }, { \"l\": \"vi\", \"t\": {} }, { \"l\": \"zh_CN\", \"t\": { \"User status: {status}\": { \"v\": [\"用户状态:{status}\"] } } }, { \"l\": \"zh_HK\", \"t\": { \"User status: {status}\": { \"v\": [\"用戶狀態:{status}\"] } } }, { \"l\": \"zh_TW\", \"t\": {} }, { \"l\": \"zu_ZA\", \"t\": {} }];\nexport {\n t11 as $,\n t27 as A,\n t40 as B,\n t34 as C,\n t5 as D,\n t18 as E,\n t25 as F,\n t31 as G,\n n as H,\n t28 as I,\n t33 as J,\n t37 as K,\n t6 as L,\n t26 as M,\n t19 as N,\n t20 as O,\n t10 as P,\n t50 as Q,\n t13 as R,\n t39 as S,\n t36 as T,\n t8 as U,\n t21 as V,\n t7 as W,\n t44 as X,\n t38 as Y,\n t22 as Z,\n t29 as _,\n t as a,\n t30 as b,\n t35 as c,\n t15 as d,\n t49 as e,\n t16 as f,\n t48 as g,\n t47 as h,\n t43 as i,\n t0 as j,\n t1 as k,\n t2 as l,\n t32 as m,\n t17 as n,\n t46 as o,\n t42 as p,\n t14 as q,\n register as r,\n t12 as s,\n t3 as t,\n t9 as u,\n t4 as v,\n t23 as w,\n t45 as x,\n t24 as y,\n t41 as z\n};\n//# sourceMappingURL=_l10n-Dt0m9Fxw.mjs.map\n","function normalizeComponent(scriptExports, render, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier, shadowMode) {\n var options = typeof scriptExports === \"function\" ? scriptExports.options : scriptExports;\n if (render) {\n options.render = render;\n options.staticRenderFns = staticRenderFns;\n options._compiled = true;\n }\n if (scopeId) {\n options._scopeId = \"data-v-\" + scopeId;\n }\n var hook;\n if (injectStyles) {\n hook = injectStyles;\n }\n if (hook) {\n if (options.functional) {\n options._injectStyles = hook;\n var originalRender = options.render;\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n return {\n exports: scriptExports,\n options\n };\n}\nexport {\n normalizeComponent as n\n};\n//# sourceMappingURL=_plugin-vue2_normalizer-DU4iP6Vu.mjs.map\n","import '../assets/NcButton-DnNZaEy_.css';\nimport { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcButton\",\n inject: {\n getNcPopoverTriggerAttrs: {\n from: \"NcPopover:trigger:attrs\",\n default: () => () => ({})\n }\n },\n props: {\n /**\n * Set the text and icon alignment\n *\n * @default 'center'\n */\n alignment: {\n type: String,\n default: \"center\",\n validator: (alignment) => [\"start\", \"start-reverse\", \"center\", \"center-reverse\", \"end\", \"end-reverse\"].includes(alignment)\n },\n /**\n * Toggles the disabled state of the button on and off.\n */\n disabled: {\n type: Boolean,\n default: false\n },\n /**\n * Specify the button size\n * Accepted values: `'small'`, `'normal'` (default), `'large'`\n */\n size: {\n type: String,\n default: \"normal\",\n validator(value) {\n return [\"small\", \"normal\", \"large\"].includes(value);\n }\n },\n /**\n * Specifies the HTML button type.\n * Accepted values: submit, reset, button.\n *\n * For legacy reasons this can also be used to set the variant of the button (color schema).\n * This is discouraged but the accepted values are:\n * primary, secondary, tertiary, tertiary-no-background, tertiary-on-primary, error, warning, success.\n *\n * @default 'secondary' (will change with v9)\n * @deprecated The behavior will change in v9 to only allow the native HTML button types - use `variant` instead for setting the appearance of the button.\n */\n type: {\n type: String,\n validator(value) {\n return [\"primary\", \"secondary\", \"tertiary\", \"tertiary-no-background\", \"tertiary-on-primary\", \"error\", \"warning\", \"success\"].includes(value) || [\"submit\", \"reset\", \"button\"].includes(value);\n },\n default: \"secondary\"\n },\n /**\n * Specifies the button native type\n * Accepted values: submit, reset, button. If left empty,\n * the default \"button\" type will be used.\n *\n * @deprecated use `type` instead - will be removed with v9\n */\n nativeType: {\n type: String,\n validator(value) {\n return [\"submit\", \"reset\", \"button\"].indexOf(value) !== -1;\n },\n default: \"button\"\n },\n /**\n * Specifies whether the button should span all the available width.\n * By default, buttons span the whole width of the container.\n */\n wide: {\n type: Boolean,\n default: false\n },\n /**\n * Always try to provide an aria-label to your button. Make it more\n * specific than the button's name by provide some more context. E.g. if\n * the name of the button is \"send\" in the Mail app, the aria label could\n * be \"Send email\".\n */\n ariaLabel: {\n type: String,\n default: null\n },\n /**\n * Providing the href attribute turns the button component into an `a`\n * element.\n */\n href: {\n type: String,\n default: null\n },\n /**\n * Target for the `a` element if `href` is set.\n */\n target: {\n type: String,\n default: \"_self\"\n },\n /**\n * Providing the download attribute with href downloads file when clicking.\n */\n download: {\n type: String,\n default: null\n },\n /**\n * Providing the to attribute turns the button component into a `router-link`\n * element. Takes precedence over the href attribute.\n */\n to: {\n type: [String, Object],\n default: null\n },\n /**\n * Pass in `true` if you want the matching behaviour of `router-link` to\n * be non-inclusive: https://router.vuejs.org/api/#exact\n */\n exact: {\n type: Boolean,\n default: false\n },\n /**\n * @deprecated To be removed in @nextcloud/vue 9. Migration guide: remove ariaHidden prop from NcAction* components.\n * @todo Add a check in @nextcloud/vue 9 that this prop is not provided,\n * otherwise root element will inherit incorrect aria-hidden.\n */\n ariaHidden: {\n type: Boolean,\n default: null\n },\n /**\n * The pressed state of the button if it has a checked state\n * This will add the `aria-pressed` attribute and for the button to have the primary style in checked state.\n *\n * Pressed state is not supported for links\n */\n pressed: {\n type: Boolean,\n default: null\n },\n /**\n * Specifies the button variant.\n *\n * Accepted values: primary, secondary, tertiary, tertiary-no-background, tertiary-on-primary, error, warning, success.\n *\n * @default 'secondary'\n * @since 8.24.0\n */\n variant: {\n type: String,\n validator(value) {\n return [\"primary\", \"secondary\", \"tertiary\", \"tertiary-no-background\", \"tertiary-on-primary\", \"error\", \"warning\", \"success\"].includes(value);\n },\n default: \"secondary\"\n }\n },\n emits: [\"update:pressed\", \"click\"],\n computed: {\n /**\n * The real type to be used for the button, enforces `primary` for pressed state and, if stateful button, any other type for not pressed state\n * Otherwise the type property is used.\n */\n realVariant() {\n if (this.pressed) {\n return \"primary\";\n }\n if (this.pressed === false && (this.type === \"primary\" || this.variant === \"primary\")) {\n return \"secondary\";\n }\n if (this.type !== \"secondary\" && [\"primary\", \"tertiary\", \"tertiary-no-background\", \"tertiary-on-primary\", \"error\", \"warning\", \"success\"].includes(this.type)) {\n return this.type;\n }\n return this.variant;\n },\n /**\n * The HTML button type\n */\n realType() {\n if (typeof this.pressed === \"boolean\") {\n return \"button\";\n }\n if (this.nativeType !== \"button\") {\n return this.nativeType;\n }\n if ([\"primary\", \"secondary\", \"tertiary\", \"tertiary-no-background\", \"tertiary-on-primary\", \"error\", \"warning\", \"success\"].includes(this.type)) {\n return this.nativeType;\n }\n return this.type;\n },\n /**\n * The flexbox alignment of the button content\n */\n flexAlignment() {\n return this.alignment.split(\"-\")[0];\n },\n /**\n * If the button content should be reversed (icon on the end)\n */\n isReverseAligned() {\n return this.alignment.includes(\"-\");\n },\n ncPopoverTriggerAttrs() {\n return this.getNcPopoverTriggerAttrs();\n }\n },\n /**\n * The render function to display the component\n *\n * @param {Function} h The function to create VNodes\n * @return {object|undefined} The created VNode\n */\n render(h) {\n const hasText = !!this.$slots.default;\n const hasIcon = this.$slots?.icon;\n if (!hasText && !this.ariaLabel) {\n console.warn(\n \"You need to fill either the text or the ariaLabel props in the button component.\",\n {\n text: this.$slots.default?.[0]?.text,\n ariaLabel: this.ariaLabel\n },\n this\n );\n }\n const isLink = this.to || this.href;\n const hasPressed = !isLink && typeof this.pressed === \"boolean\";\n const renderButton = ({ href, navigate, isActive, isExactActive } = {}) => h(\n isLink ? \"a\" : \"button\",\n {\n class: [\n \"button-vue\",\n `button-vue--size-${this.size}`,\n {\n \"button-vue--icon-only\": hasIcon && !hasText,\n \"button-vue--text-only\": hasText && !hasIcon,\n \"button-vue--icon-and-text\": hasIcon && hasText,\n [`button-vue--vue-${this.realVariant}`]: this.realVariant,\n \"button-vue--wide\": this.wide,\n [`button-vue--${this.flexAlignment}`]: this.flexAlignment !== \"center\",\n \"button-vue--reverse\": this.isReverseAligned,\n active: isActive,\n \"router-link-exact-active\": isExactActive\n }\n ],\n attrs: {\n \"aria-label\": this.ariaLabel,\n \"aria-pressed\": hasPressed ? this.pressed.toString() : void 0,\n disabled: this.disabled,\n type: isLink ? null : this.realType,\n role: isLink ? \"button\" : null,\n href: this.to ? href : this.href || null,\n target: isLink ? this.target || \"_self\" : null,\n rel: isLink ? \"nofollow noreferrer noopener\" : null,\n download: !this.to && this.href && this.download ? this.download : null,\n // If this button is used as a popover trigger, we need to apply trigger attrs, e.g. aria attributes\n ...this.ncPopoverTriggerAttrs,\n // Inherit all the component attrs\n ...this.$attrs\n },\n on: {\n ...this.$listeners,\n click: ($event) => {\n if (hasPressed) {\n this.$emit(\"update:pressed\", !this.pressed);\n }\n this.$emit(\"click\", $event);\n navigate?.($event);\n }\n }\n },\n [\n h(\"span\", { class: \"button-vue__wrapper\" }, [\n hasIcon ? h(\n \"span\",\n {\n class: \"button-vue__icon\",\n attrs: {\n \"aria-hidden\": \"true\"\n }\n },\n [this.$slots.icon]\n ) : null,\n hasText ? h(\"span\", { class: \"button-vue__text\" }, [this.$slots.default]) : null\n ])\n ]\n );\n if (this.to) {\n return h(\"router-link\", {\n props: {\n custom: true,\n to: this.to,\n exact: this.exact\n },\n scopedSlots: {\n default: renderButton\n }\n });\n }\n return renderButton();\n }\n};\nconst _sfc_render = null;\nconst _sfc_staticRenderFns = null;\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"3f8e123a\"\n);\nconst NcButton = __component__.exports;\nexport {\n NcButton as default\n};\n//# sourceMappingURL=NcButton.mjs.map\n","import '../assets/NcIconSvgWrapper-DX_XWpAs.css';\nimport Vue, { useCssVars } from \"vue\";\nimport DOMPurify from \"dompurify\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst __default__ = {\n name: \"NcIconSvgWrapper\",\n props: {\n /**\n * Make the icon directional, meaning it is langauge direction aware.\n * If the icon is placed in a right-to-left context it will be mirrored vertically.\n */\n directional: {\n type: Boolean,\n default: false\n },\n /**\n * Set if the icon should be used as inline content e.g. within text.\n * By default the icon is made a block element for use inside `icon`-slots.\n */\n inline: {\n type: Boolean,\n default: false\n },\n /**\n * Raw SVG string to render\n */\n svg: {\n type: String,\n default: \"\"\n },\n /**\n * Label of the icon, used in aria-label\n */\n name: {\n type: String,\n default: \"\"\n },\n /**\n * Raw SVG path to render. Takes precedence over the SVG string in the `svg` prop.\n */\n path: {\n type: String,\n default: \"\"\n },\n /**\n * Size of the icon to show. Only use if not using within an icon slot.\n * Defaults to 20px which is the Nextcloud icon size for all icon slots.\n * @default 20\n */\n size: {\n type: [Number, String],\n default: 20,\n validator: (value) => typeof value === \"number\" || value === \"auto\"\n }\n },\n computed: {\n /**\n * Icon size used in CSS\n */\n iconSize() {\n return typeof this.size === \"number\" ? `${this.size}px` : this.size;\n },\n cleanSvg() {\n if (!this.svg || this.path) {\n return;\n }\n const svg = DOMPurify.sanitize(this.svg);\n const svgDocument = new DOMParser().parseFromString(svg, \"image/svg+xml\");\n if (svgDocument.querySelector(\"parsererror\")) {\n Vue.util.warn(\"SVG is not valid\");\n return \"\";\n }\n if (svgDocument.documentElement.id) {\n svgDocument.documentElement.removeAttribute(\"id\");\n }\n return svgDocument.documentElement.outerHTML;\n }\n }\n};\nconst __injectCSSVars__ = () => {\n useCssVars((_vm, _setup) => ({\n \"adec40c8\": _vm.iconSize\n }));\n};\nconst __setup__ = __default__.setup;\n__default__.setup = __setup__ ? (props, ctx) => {\n __injectCSSVars__();\n return __setup__(props, ctx);\n} : __injectCSSVars__;\nconst _sfc_main = __default__;\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", { staticClass: \"icon-vue\", class: {\n \"icon-vue--directional\": _vm.directional,\n \"icon-vue--inline\": _vm.inline\n }, attrs: { \"aria-hidden\": _vm.name ? void 0 : \"true\", \"aria-label\": _vm.name || void 0, \"role\": \"img\" } }, [!_vm.cleanSvg ? _c(\"svg\", { attrs: { \"viewBox\": \"0 0 24 24\", \"xmlns\": \"http://www.w3.org/2000/svg\" } }, [_c(\"path\", { attrs: { \"d\": _vm.path } })]) : _c(\"span\", { domProps: { \"innerHTML\": _vm._s(_vm.cleanSvg) } })]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"a4f5b92e\"\n);\nconst NcIconSvgWrapper = __component__.exports;\nexport {\n NcIconSvgWrapper as N\n};\n//# sourceMappingURL=NcIconSvgWrapper-Cb-cPj1R.mjs.map\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap\n};\n","var buffer = {};\n\nvar base64Js = {};\n\nbase64Js.byteLength = byteLength;\nbase64Js.toByteArray = toByteArray;\nbase64Js.fromByteArray = fromByteArray;\n\nvar lookup = [];\nvar revLookup = [];\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array;\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i];\n revLookup[code.charCodeAt(i)] = i;\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62;\nrevLookup['_'.charCodeAt(0)] = 63;\n\nfunction getLens (b64) {\n var len = b64.length;\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=');\n if (validLen === -1) validLen = len;\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4);\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp;\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n\n var curByte = 0;\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen;\n\n var i;\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)];\n arr[curByte++] = (tmp >> 16) & 0xFF;\n arr[curByte++] = (tmp >> 8) & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4);\n arr[curByte++] = tmp & 0xFF;\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2);\n arr[curByte++] = (tmp >> 8) & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp;\n var output = [];\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF);\n output.push(tripletToBase64(tmp));\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp;\n var len = uint8.length;\n var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes\n var parts = [];\n var maxChunkLength = 16383; // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)));\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1];\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n );\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1];\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n );\n }\n\n return parts.join('')\n}\n\nvar ieee754 = {};\n\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\n\nieee754.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m;\n var eLen = (nBytes * 8) - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = -7;\n var i = isLE ? (nBytes - 1) : 0;\n var d = isLE ? -1 : 1;\n var s = buffer[offset + i];\n\n i += d;\n\n e = s & ((1 << (-nBits)) - 1);\n s >>= (-nBits);\n nBits += eLen;\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1);\n e >>= (-nBits);\n nBits += mLen;\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen);\n e = e - eBias;\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n};\n\nieee754.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c;\n var eLen = (nBytes * 8) - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0);\n var i = isLE ? 0 : (nBytes - 1);\n var d = isLE ? 1 : -1;\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0;\n\n value = Math.abs(value);\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0;\n e = eMax;\n } else {\n e = Math.floor(Math.log(value) / Math.LN2);\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * Math.pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n e = 0;\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m;\n eLen += mLen;\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128;\n};\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n(function (exports) {\n\n\tconst base64 = base64Js;\n\tconst ieee754$1 = ieee754;\n\tconst customInspectSymbol =\n\t (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n\t ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n\t : null;\n\n\texports.Buffer = Buffer;\n\texports.SlowBuffer = SlowBuffer;\n\texports.INSPECT_MAX_BYTES = 50;\n\n\tconst K_MAX_LENGTH = 0x7fffffff;\n\texports.kMaxLength = K_MAX_LENGTH;\n\tconst { Uint8Array: GlobalUint8Array, ArrayBuffer: GlobalArrayBuffer, SharedArrayBuffer: GlobalSharedArrayBuffer } = globalThis;\n\n\t/**\n\t * If `Buffer.TYPED_ARRAY_SUPPORT`:\n\t * === true Use Uint8Array implementation (fastest)\n\t * === false Print warning and recommend using `buffer` v4.x which has an Object\n\t * implementation (most compatible, even IE6)\n\t *\n\t * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n\t * Opera 11.6+, iOS 4.2+.\n\t *\n\t * We report that the browser does not support typed arrays if the are not subclassable\n\t * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n\t * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n\t * for __proto__ and has a buggy typed array implementation.\n\t */\n\tBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport();\n\n\tif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n\t typeof console.error === 'function') {\n\t console.error(\n\t 'This browser lacks typed array (Uint8Array) support which is required by ' +\n\t '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n\t );\n\t}\n\n\tfunction typedArraySupport () {\n\t // Can typed array instances can be augmented?\n\t try {\n\t const arr = new GlobalUint8Array(1);\n\t const proto = { foo: function () { return 42 } };\n\t Object.setPrototypeOf(proto, GlobalUint8Array.prototype);\n\t Object.setPrototypeOf(arr, proto);\n\t return arr.foo() === 42\n\t } catch (e) {\n\t return false\n\t }\n\t}\n\n\tObject.defineProperty(Buffer.prototype, 'parent', {\n\t enumerable: true,\n\t get: function () {\n\t if (!Buffer.isBuffer(this)) return undefined\n\t return this.buffer\n\t }\n\t});\n\n\tObject.defineProperty(Buffer.prototype, 'offset', {\n\t enumerable: true,\n\t get: function () {\n\t if (!Buffer.isBuffer(this)) return undefined\n\t return this.byteOffset\n\t }\n\t});\n\n\tfunction createBuffer (length) {\n\t if (length > K_MAX_LENGTH) {\n\t throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n\t }\n\t // Return an augmented `Uint8Array` instance\n\t const buf = new GlobalUint8Array(length);\n\t Object.setPrototypeOf(buf, Buffer.prototype);\n\t return buf\n\t}\n\n\t/**\n\t * The Buffer constructor returns instances of `Uint8Array` that have their\n\t * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n\t * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n\t * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n\t * returns a single octet.\n\t *\n\t * The `Uint8Array` prototype remains unmodified.\n\t */\n\n\tfunction Buffer (arg, encodingOrOffset, length) {\n\t // Common case.\n\t if (typeof arg === 'number') {\n\t if (typeof encodingOrOffset === 'string') {\n\t throw new TypeError(\n\t 'The \"string\" argument must be of type string. Received type number'\n\t )\n\t }\n\t return allocUnsafe(arg)\n\t }\n\t return from(arg, encodingOrOffset, length)\n\t}\n\n\tBuffer.poolSize = 8192; // not used by this implementation\n\n\tfunction from (value, encodingOrOffset, length) {\n\t if (typeof value === 'string') {\n\t return fromString(value, encodingOrOffset)\n\t }\n\n\t if (GlobalArrayBuffer.isView(value)) {\n\t return fromArrayView(value)\n\t }\n\n\t if (value == null) {\n\t throw new TypeError(\n\t 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n\t 'or Array-like Object. Received type ' + (typeof value)\n\t )\n\t }\n\n\t if (isInstance(value, GlobalArrayBuffer) ||\n\t (value && isInstance(value.buffer, GlobalArrayBuffer))) {\n\t return fromArrayBuffer(value, encodingOrOffset, length)\n\t }\n\n\t if (typeof GlobalSharedArrayBuffer !== 'undefined' &&\n\t (isInstance(value, GlobalSharedArrayBuffer) ||\n\t (value && isInstance(value.buffer, GlobalSharedArrayBuffer)))) {\n\t return fromArrayBuffer(value, encodingOrOffset, length)\n\t }\n\n\t if (typeof value === 'number') {\n\t throw new TypeError(\n\t 'The \"value\" argument must not be of type number. Received type number'\n\t )\n\t }\n\n\t const valueOf = value.valueOf && value.valueOf();\n\t if (valueOf != null && valueOf !== value) {\n\t return Buffer.from(valueOf, encodingOrOffset, length)\n\t }\n\n\t const b = fromObject(value);\n\t if (b) return b\n\n\t if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n\t typeof value[Symbol.toPrimitive] === 'function') {\n\t return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n\t }\n\n\t throw new TypeError(\n\t 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n\t 'or Array-like Object. Received type ' + (typeof value)\n\t )\n\t}\n\n\t/**\n\t * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n\t * if value is a number.\n\t * Buffer.from(str[, encoding])\n\t * Buffer.from(array)\n\t * Buffer.from(buffer)\n\t * Buffer.from(arrayBuffer[, byteOffset[, length]])\n\t **/\n\tBuffer.from = function (value, encodingOrOffset, length) {\n\t return from(value, encodingOrOffset, length)\n\t};\n\n\t// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n\t// https://github.com/feross/buffer/pull/148\n\tObject.setPrototypeOf(Buffer.prototype, GlobalUint8Array.prototype);\n\tObject.setPrototypeOf(Buffer, GlobalUint8Array);\n\n\tfunction assertSize (size) {\n\t if (typeof size !== 'number') {\n\t throw new TypeError('\"size\" argument must be of type number')\n\t } else if (size < 0) {\n\t throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n\t }\n\t}\n\n\tfunction alloc (size, fill, encoding) {\n\t assertSize(size);\n\t if (size <= 0) {\n\t return createBuffer(size)\n\t }\n\t if (fill !== undefined) {\n\t // Only pay attention to encoding if it's a string. This\n\t // prevents accidentally sending in a number that would\n\t // be interpreted as a start offset.\n\t return typeof encoding === 'string'\n\t ? createBuffer(size).fill(fill, encoding)\n\t : createBuffer(size).fill(fill)\n\t }\n\t return createBuffer(size)\n\t}\n\n\t/**\n\t * Creates a new filled Buffer instance.\n\t * alloc(size[, fill[, encoding]])\n\t **/\n\tBuffer.alloc = function (size, fill, encoding) {\n\t return alloc(size, fill, encoding)\n\t};\n\n\tfunction allocUnsafe (size) {\n\t assertSize(size);\n\t return createBuffer(size < 0 ? 0 : checked(size) | 0)\n\t}\n\n\t/**\n\t * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n\t * */\n\tBuffer.allocUnsafe = function (size) {\n\t return allocUnsafe(size)\n\t};\n\t/**\n\t * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n\t */\n\tBuffer.allocUnsafeSlow = function (size) {\n\t return allocUnsafe(size)\n\t};\n\n\tfunction fromString (string, encoding) {\n\t if (typeof encoding !== 'string' || encoding === '') {\n\t encoding = 'utf8';\n\t }\n\n\t if (!Buffer.isEncoding(encoding)) {\n\t throw new TypeError('Unknown encoding: ' + encoding)\n\t }\n\n\t const length = byteLength(string, encoding) | 0;\n\t let buf = createBuffer(length);\n\n\t const actual = buf.write(string, encoding);\n\n\t if (actual !== length) {\n\t // Writing a hex string, for example, that contains invalid characters will\n\t // cause everything after the first invalid character to be ignored. (e.g.\n\t // 'abxxcd' will be treated as 'ab')\n\t buf = buf.slice(0, actual);\n\t }\n\n\t return buf\n\t}\n\n\tfunction fromArrayLike (array) {\n\t const length = array.length < 0 ? 0 : checked(array.length) | 0;\n\t const buf = createBuffer(length);\n\t for (let i = 0; i < length; i += 1) {\n\t buf[i] = array[i] & 255;\n\t }\n\t return buf\n\t}\n\n\tfunction fromArrayView (arrayView) {\n\t if (isInstance(arrayView, GlobalUint8Array)) {\n\t const copy = new GlobalUint8Array(arrayView);\n\t return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n\t }\n\t return fromArrayLike(arrayView)\n\t}\n\n\tfunction fromArrayBuffer (array, byteOffset, length) {\n\t if (byteOffset < 0 || array.byteLength < byteOffset) {\n\t throw new RangeError('\"offset\" is outside of buffer bounds')\n\t }\n\n\t if (array.byteLength < byteOffset + (length || 0)) {\n\t throw new RangeError('\"length\" is outside of buffer bounds')\n\t }\n\n\t let buf;\n\t if (byteOffset === undefined && length === undefined) {\n\t buf = new GlobalUint8Array(array);\n\t } else if (length === undefined) {\n\t buf = new GlobalUint8Array(array, byteOffset);\n\t } else {\n\t buf = new GlobalUint8Array(array, byteOffset, length);\n\t }\n\n\t // Return an augmented `Uint8Array` instance\n\t Object.setPrototypeOf(buf, Buffer.prototype);\n\n\t return buf\n\t}\n\n\tfunction fromObject (obj) {\n\t if (Buffer.isBuffer(obj)) {\n\t const len = checked(obj.length) | 0;\n\t const buf = createBuffer(len);\n\n\t if (buf.length === 0) {\n\t return buf\n\t }\n\n\t obj.copy(buf, 0, 0, len);\n\t return buf\n\t }\n\n\t if (obj.length !== undefined) {\n\t if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n\t return createBuffer(0)\n\t }\n\t return fromArrayLike(obj)\n\t }\n\n\t if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n\t return fromArrayLike(obj.data)\n\t }\n\t}\n\n\tfunction checked (length) {\n\t // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n\t // length is NaN (which is otherwise coerced to zero.)\n\t if (length >= K_MAX_LENGTH) {\n\t throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n\t 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n\t }\n\t return length | 0\n\t}\n\n\tfunction SlowBuffer (length) {\n\t if (+length != length) { // eslint-disable-line eqeqeq\n\t length = 0;\n\t }\n\t return Buffer.alloc(+length)\n\t}\n\n\tBuffer.isBuffer = function isBuffer (b) {\n\t return b != null && b._isBuffer === true &&\n\t b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n\t};\n\n\tBuffer.compare = function compare (a, b) {\n\t if (isInstance(a, GlobalUint8Array)) a = Buffer.from(a, a.offset, a.byteLength);\n\t if (isInstance(b, GlobalUint8Array)) b = Buffer.from(b, b.offset, b.byteLength);\n\t if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n\t throw new TypeError(\n\t 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n\t )\n\t }\n\n\t if (a === b) return 0\n\n\t let x = a.length;\n\t let y = b.length;\n\n\t for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n\t if (a[i] !== b[i]) {\n\t x = a[i];\n\t y = b[i];\n\t break\n\t }\n\t }\n\n\t if (x < y) return -1\n\t if (y < x) return 1\n\t return 0\n\t};\n\n\tBuffer.isEncoding = function isEncoding (encoding) {\n\t switch (String(encoding).toLowerCase()) {\n\t case 'hex':\n\t case 'utf8':\n\t case 'utf-8':\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t case 'base64':\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return true\n\t default:\n\t return false\n\t }\n\t};\n\n\tBuffer.concat = function concat (list, length) {\n\t if (!Array.isArray(list)) {\n\t throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t }\n\n\t if (list.length === 0) {\n\t return Buffer.alloc(0)\n\t }\n\n\t let i;\n\t if (length === undefined) {\n\t length = 0;\n\t for (i = 0; i < list.length; ++i) {\n\t length += list[i].length;\n\t }\n\t }\n\n\t const buffer = Buffer.allocUnsafe(length);\n\t let pos = 0;\n\t for (i = 0; i < list.length; ++i) {\n\t let buf = list[i];\n\t if (isInstance(buf, GlobalUint8Array)) {\n\t if (pos + buf.length > buffer.length) {\n\t if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf);\n\t buf.copy(buffer, pos);\n\t } else {\n\t GlobalUint8Array.prototype.set.call(\n\t buffer,\n\t buf,\n\t pos\n\t );\n\t }\n\t } else if (!Buffer.isBuffer(buf)) {\n\t throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t } else {\n\t buf.copy(buffer, pos);\n\t }\n\t pos += buf.length;\n\t }\n\t return buffer\n\t};\n\n\tfunction byteLength (string, encoding) {\n\t if (Buffer.isBuffer(string)) {\n\t return string.length\n\t }\n\t if (GlobalArrayBuffer.isView(string) || isInstance(string, GlobalArrayBuffer)) {\n\t return string.byteLength\n\t }\n\t if (typeof string !== 'string') {\n\t throw new TypeError(\n\t 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n\t 'Received type ' + typeof string\n\t )\n\t }\n\n\t const len = string.length;\n\t const mustMatch = (arguments.length > 2 && arguments[2] === true);\n\t if (!mustMatch && len === 0) return 0\n\n\t // Use a for loop to avoid recursion\n\t let loweredCase = false;\n\t for (;;) {\n\t switch (encoding) {\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t return len\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8ToBytes(string).length\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return len * 2\n\t case 'hex':\n\t return len >>> 1\n\t case 'base64':\n\t return base64ToBytes(string).length\n\t default:\n\t if (loweredCase) {\n\t return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n\t }\n\t encoding = ('' + encoding).toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t}\n\tBuffer.byteLength = byteLength;\n\n\tfunction slowToString (encoding, start, end) {\n\t let loweredCase = false;\n\n\t // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n\t // property of a typed array.\n\n\t // This behaves neither like String nor Uint8Array in that we set start/end\n\t // to their upper/lower bounds if the value passed is out of range.\n\t // undefined is handled specially as per ECMA-262 6th Edition,\n\t // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n\t if (start === undefined || start < 0) {\n\t start = 0;\n\t }\n\t // Return early if start > this.length. Done here to prevent potential uint32\n\t // coercion fail below.\n\t if (start > this.length) {\n\t return ''\n\t }\n\n\t if (end === undefined || end > this.length) {\n\t end = this.length;\n\t }\n\n\t if (end <= 0) {\n\t return ''\n\t }\n\n\t // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n\t end >>>= 0;\n\t start >>>= 0;\n\n\t if (end <= start) {\n\t return ''\n\t }\n\n\t if (!encoding) encoding = 'utf8';\n\n\t while (true) {\n\t switch (encoding) {\n\t case 'hex':\n\t return hexSlice(this, start, end)\n\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8Slice(this, start, end)\n\n\t case 'ascii':\n\t return asciiSlice(this, start, end)\n\n\t case 'latin1':\n\t case 'binary':\n\t return latin1Slice(this, start, end)\n\n\t case 'base64':\n\t return base64Slice(this, start, end)\n\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return utf16leSlice(this, start, end)\n\n\t default:\n\t if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n\t encoding = (encoding + '').toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t}\n\n\t// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n\t// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n\t// reliably in a browserify context because there could be multiple different\n\t// copies of the 'buffer' package in use. This method works even for Buffer\n\t// instances that were created from another copy of the `buffer` package.\n\t// See: https://github.com/feross/buffer/issues/154\n\tBuffer.prototype._isBuffer = true;\n\n\tfunction swap (b, n, m) {\n\t const i = b[n];\n\t b[n] = b[m];\n\t b[m] = i;\n\t}\n\n\tBuffer.prototype.swap16 = function swap16 () {\n\t const len = this.length;\n\t if (len % 2 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 16-bits')\n\t }\n\t for (let i = 0; i < len; i += 2) {\n\t swap(this, i, i + 1);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.swap32 = function swap32 () {\n\t const len = this.length;\n\t if (len % 4 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 32-bits')\n\t }\n\t for (let i = 0; i < len; i += 4) {\n\t swap(this, i, i + 3);\n\t swap(this, i + 1, i + 2);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.swap64 = function swap64 () {\n\t const len = this.length;\n\t if (len % 8 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 64-bits')\n\t }\n\t for (let i = 0; i < len; i += 8) {\n\t swap(this, i, i + 7);\n\t swap(this, i + 1, i + 6);\n\t swap(this, i + 2, i + 5);\n\t swap(this, i + 3, i + 4);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.toString = function toString () {\n\t const length = this.length;\n\t if (length === 0) return ''\n\t if (arguments.length === 0) return utf8Slice(this, 0, length)\n\t return slowToString.apply(this, arguments)\n\t};\n\n\tBuffer.prototype.toLocaleString = Buffer.prototype.toString;\n\n\tBuffer.prototype.equals = function equals (b) {\n\t if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n\t if (this === b) return true\n\t return Buffer.compare(this, b) === 0\n\t};\n\n\tBuffer.prototype.inspect = function inspect () {\n\t let str = '';\n\t const max = exports.INSPECT_MAX_BYTES;\n\t str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim();\n\t if (this.length > max) str += ' ... ';\n\t return ''\n\t};\n\tif (customInspectSymbol) {\n\t Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect;\n\t}\n\n\tBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n\t if (isInstance(target, GlobalUint8Array)) {\n\t target = Buffer.from(target, target.offset, target.byteLength);\n\t }\n\t if (!Buffer.isBuffer(target)) {\n\t throw new TypeError(\n\t 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n\t 'Received type ' + (typeof target)\n\t )\n\t }\n\n\t if (start === undefined) {\n\t start = 0;\n\t }\n\t if (end === undefined) {\n\t end = target ? target.length : 0;\n\t }\n\t if (thisStart === undefined) {\n\t thisStart = 0;\n\t }\n\t if (thisEnd === undefined) {\n\t thisEnd = this.length;\n\t }\n\n\t if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n\t throw new RangeError('out of range index')\n\t }\n\n\t if (thisStart >= thisEnd && start >= end) {\n\t return 0\n\t }\n\t if (thisStart >= thisEnd) {\n\t return -1\n\t }\n\t if (start >= end) {\n\t return 1\n\t }\n\n\t start >>>= 0;\n\t end >>>= 0;\n\t thisStart >>>= 0;\n\t thisEnd >>>= 0;\n\n\t if (this === target) return 0\n\n\t let x = thisEnd - thisStart;\n\t let y = end - start;\n\t const len = Math.min(x, y);\n\n\t const thisCopy = this.slice(thisStart, thisEnd);\n\t const targetCopy = target.slice(start, end);\n\n\t for (let i = 0; i < len; ++i) {\n\t if (thisCopy[i] !== targetCopy[i]) {\n\t x = thisCopy[i];\n\t y = targetCopy[i];\n\t break\n\t }\n\t }\n\n\t if (x < y) return -1\n\t if (y < x) return 1\n\t return 0\n\t};\n\n\t// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n\t// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n\t//\n\t// Arguments:\n\t// - buffer - a Buffer to search\n\t// - val - a string, Buffer, or number\n\t// - byteOffset - an index into `buffer`; will be clamped to an int32\n\t// - encoding - an optional encoding, relevant is val is a string\n\t// - dir - true for indexOf, false for lastIndexOf\n\tfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n\t // Empty buffer means no match\n\t if (buffer.length === 0) return -1\n\n\t // Normalize byteOffset\n\t if (typeof byteOffset === 'string') {\n\t encoding = byteOffset;\n\t byteOffset = 0;\n\t } else if (byteOffset > 0x7fffffff) {\n\t byteOffset = 0x7fffffff;\n\t } else if (byteOffset < -0x80000000) {\n\t byteOffset = -0x80000000;\n\t }\n\t byteOffset = +byteOffset; // Coerce to Number.\n\t if (numberIsNaN(byteOffset)) {\n\t // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n\t byteOffset = dir ? 0 : (buffer.length - 1);\n\t }\n\n\t // Normalize byteOffset: negative offsets start from the end of the buffer\n\t if (byteOffset < 0) byteOffset = buffer.length + byteOffset;\n\t if (byteOffset >= buffer.length) {\n\t if (dir) return -1\n\t else byteOffset = buffer.length - 1;\n\t } else if (byteOffset < 0) {\n\t if (dir) byteOffset = 0;\n\t else return -1\n\t }\n\n\t // Normalize val\n\t if (typeof val === 'string') {\n\t val = Buffer.from(val, encoding);\n\t }\n\n\t // Finally, search either indexOf (if dir is true) or lastIndexOf\n\t if (Buffer.isBuffer(val)) {\n\t // Special case: looking for empty string/buffer always fails\n\t if (val.length === 0) {\n\t return -1\n\t }\n\t return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n\t } else if (typeof val === 'number') {\n\t val = val & 0xFF; // Search for a byte value [0-255]\n\t if (typeof GlobalUint8Array.prototype.indexOf === 'function') {\n\t if (dir) {\n\t return GlobalUint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n\t } else {\n\t return GlobalUint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n\t }\n\t }\n\t return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n\t }\n\n\t throw new TypeError('val must be string, number or Buffer')\n\t}\n\n\tfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n\t let indexSize = 1;\n\t let arrLength = arr.length;\n\t let valLength = val.length;\n\n\t if (encoding !== undefined) {\n\t encoding = String(encoding).toLowerCase();\n\t if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n\t encoding === 'utf16le' || encoding === 'utf-16le') {\n\t if (arr.length < 2 || val.length < 2) {\n\t return -1\n\t }\n\t indexSize = 2;\n\t arrLength /= 2;\n\t valLength /= 2;\n\t byteOffset /= 2;\n\t }\n\t }\n\n\t function read (buf, i) {\n\t if (indexSize === 1) {\n\t return buf[i]\n\t } else {\n\t return buf.readUInt16BE(i * indexSize)\n\t }\n\t }\n\n\t let i;\n\t if (dir) {\n\t let foundIndex = -1;\n\t for (i = byteOffset; i < arrLength; i++) {\n\t if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n\t if (foundIndex === -1) foundIndex = i;\n\t if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n\t } else {\n\t if (foundIndex !== -1) i -= i - foundIndex;\n\t foundIndex = -1;\n\t }\n\t }\n\t } else {\n\t if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;\n\t for (i = byteOffset; i >= 0; i--) {\n\t let found = true;\n\t for (let j = 0; j < valLength; j++) {\n\t if (read(arr, i + j) !== read(val, j)) {\n\t found = false;\n\t break\n\t }\n\t }\n\t if (found) return i\n\t }\n\t }\n\n\t return -1\n\t}\n\n\tBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n\t return this.indexOf(val, byteOffset, encoding) !== -1\n\t};\n\n\tBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n\t return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n\t};\n\n\tBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n\t return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n\t};\n\n\tfunction hexWrite (buf, string, offset, length) {\n\t offset = Number(offset) || 0;\n\t const remaining = buf.length - offset;\n\t if (!length) {\n\t length = remaining;\n\t } else {\n\t length = Number(length);\n\t if (length > remaining) {\n\t length = remaining;\n\t }\n\t }\n\n\t const strLen = string.length;\n\n\t if (length > strLen / 2) {\n\t length = strLen / 2;\n\t }\n\t let i;\n\t for (i = 0; i < length; ++i) {\n\t const parsed = parseInt(string.substr(i * 2, 2), 16);\n\t if (numberIsNaN(parsed)) return i\n\t buf[offset + i] = parsed;\n\t }\n\t return i\n\t}\n\n\tfunction utf8Write (buf, string, offset, length) {\n\t return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\n\tfunction asciiWrite (buf, string, offset, length) {\n\t return blitBuffer(asciiToBytes(string), buf, offset, length)\n\t}\n\n\tfunction base64Write (buf, string, offset, length) {\n\t return blitBuffer(base64ToBytes(string), buf, offset, length)\n\t}\n\n\tfunction ucs2Write (buf, string, offset, length) {\n\t return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\n\tBuffer.prototype.write = function write (string, offset, length, encoding) {\n\t // Buffer#write(string)\n\t if (offset === undefined) {\n\t encoding = 'utf8';\n\t length = this.length;\n\t offset = 0;\n\t // Buffer#write(string, encoding)\n\t } else if (length === undefined && typeof offset === 'string') {\n\t encoding = offset;\n\t length = this.length;\n\t offset = 0;\n\t // Buffer#write(string, offset[, length][, encoding])\n\t } else if (isFinite(offset)) {\n\t offset = offset >>> 0;\n\t if (isFinite(length)) {\n\t length = length >>> 0;\n\t if (encoding === undefined) encoding = 'utf8';\n\t } else {\n\t encoding = length;\n\t length = undefined;\n\t }\n\t } else {\n\t throw new Error(\n\t 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n\t )\n\t }\n\n\t const remaining = this.length - offset;\n\t if (length === undefined || length > remaining) length = remaining;\n\n\t if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n\t throw new RangeError('Attempt to write outside buffer bounds')\n\t }\n\n\t if (!encoding) encoding = 'utf8';\n\n\t let loweredCase = false;\n\t for (;;) {\n\t switch (encoding) {\n\t case 'hex':\n\t return hexWrite(this, string, offset, length)\n\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8Write(this, string, offset, length)\n\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t return asciiWrite(this, string, offset, length)\n\n\t case 'base64':\n\t // Warning: maxLength not taken into account in base64Write\n\t return base64Write(this, string, offset, length)\n\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return ucs2Write(this, string, offset, length)\n\n\t default:\n\t if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n\t encoding = ('' + encoding).toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t};\n\n\tBuffer.prototype.toJSON = function toJSON () {\n\t return {\n\t type: 'Buffer',\n\t data: Array.prototype.slice.call(this._arr || this, 0)\n\t }\n\t};\n\n\tfunction base64Slice (buf, start, end) {\n\t if (start === 0 && end === buf.length) {\n\t return base64.fromByteArray(buf)\n\t } else {\n\t return base64.fromByteArray(buf.slice(start, end))\n\t }\n\t}\n\n\tfunction utf8Slice (buf, start, end) {\n\t end = Math.min(buf.length, end);\n\t const res = [];\n\n\t let i = start;\n\t while (i < end) {\n\t const firstByte = buf[i];\n\t let codePoint = null;\n\t let bytesPerSequence = (firstByte > 0xEF)\n\t ? 4\n\t : (firstByte > 0xDF)\n\t ? 3\n\t : (firstByte > 0xBF)\n\t ? 2\n\t : 1;\n\n\t if (i + bytesPerSequence <= end) {\n\t let secondByte, thirdByte, fourthByte, tempCodePoint;\n\n\t switch (bytesPerSequence) {\n\t case 1:\n\t if (firstByte < 0x80) {\n\t codePoint = firstByte;\n\t }\n\t break\n\t case 2:\n\t secondByte = buf[i + 1];\n\t if ((secondByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F);\n\t if (tempCodePoint > 0x7F) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t break\n\t case 3:\n\t secondByte = buf[i + 1];\n\t thirdByte = buf[i + 2];\n\t if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F);\n\t if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t break\n\t case 4:\n\t secondByte = buf[i + 1];\n\t thirdByte = buf[i + 2];\n\t fourthByte = buf[i + 3];\n\t if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F);\n\t if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t }\n\t }\n\n\t if (codePoint === null) {\n\t // we did not generate a valid codePoint so insert a\n\t // replacement char (U+FFFD) and advance only 1 byte\n\t codePoint = 0xFFFD;\n\t bytesPerSequence = 1;\n\t } else if (codePoint > 0xFFFF) {\n\t // encode to utf16 (surrogate pair dance)\n\t codePoint -= 0x10000;\n\t res.push(codePoint >>> 10 & 0x3FF | 0xD800);\n\t codePoint = 0xDC00 | codePoint & 0x3FF;\n\t }\n\n\t res.push(codePoint);\n\t i += bytesPerSequence;\n\t }\n\n\t return decodeCodePointsArray(res)\n\t}\n\n\t// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n\t// the lowest limit is Chrome, with 0x10000 args.\n\t// We go 1 magnitude less, for safety\n\tconst MAX_ARGUMENTS_LENGTH = 0x1000;\n\n\tfunction decodeCodePointsArray (codePoints) {\n\t const len = codePoints.length;\n\t if (len <= MAX_ARGUMENTS_LENGTH) {\n\t return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n\t }\n\n\t // Decode in chunks to avoid \"call stack size exceeded\".\n\t let res = '';\n\t let i = 0;\n\t while (i < len) {\n\t res += String.fromCharCode.apply(\n\t String,\n\t codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n\t );\n\t }\n\t return res\n\t}\n\n\tfunction asciiSlice (buf, start, end) {\n\t let ret = '';\n\t end = Math.min(buf.length, end);\n\n\t for (let i = start; i < end; ++i) {\n\t ret += String.fromCharCode(buf[i] & 0x7F);\n\t }\n\t return ret\n\t}\n\n\tfunction latin1Slice (buf, start, end) {\n\t let ret = '';\n\t end = Math.min(buf.length, end);\n\n\t for (let i = start; i < end; ++i) {\n\t ret += String.fromCharCode(buf[i]);\n\t }\n\t return ret\n\t}\n\n\tfunction hexSlice (buf, start, end) {\n\t const len = buf.length;\n\n\t if (!start || start < 0) start = 0;\n\t if (!end || end < 0 || end > len) end = len;\n\n\t let out = '';\n\t for (let i = start; i < end; ++i) {\n\t out += hexSliceLookupTable[buf[i]];\n\t }\n\t return out\n\t}\n\n\tfunction utf16leSlice (buf, start, end) {\n\t const bytes = buf.slice(start, end);\n\t let res = '';\n\t // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n\t for (let i = 0; i < bytes.length - 1; i += 2) {\n\t res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256));\n\t }\n\t return res\n\t}\n\n\tBuffer.prototype.slice = function slice (start, end) {\n\t const len = this.length;\n\t start = ~~start;\n\t end = end === undefined ? len : ~~end;\n\n\t if (start < 0) {\n\t start += len;\n\t if (start < 0) start = 0;\n\t } else if (start > len) {\n\t start = len;\n\t }\n\n\t if (end < 0) {\n\t end += len;\n\t if (end < 0) end = 0;\n\t } else if (end > len) {\n\t end = len;\n\t }\n\n\t if (end < start) end = start;\n\n\t const newBuf = this.subarray(start, end);\n\t // Return an augmented `Uint8Array` instance\n\t Object.setPrototypeOf(newBuf, Buffer.prototype);\n\n\t return newBuf\n\t};\n\n\t/*\n\t * Need to make sure that buffer isn't trying to write out of bounds.\n\t */\n\tfunction checkOffset (offset, ext, length) {\n\t if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n\t if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n\t}\n\n\tBuffer.prototype.readUintLE =\n\tBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t let val = this[offset];\n\t let mul = 1;\n\t let i = 0;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t val += this[offset + i] * mul;\n\t }\n\n\t return val\n\t};\n\n\tBuffer.prototype.readUintBE =\n\tBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t checkOffset(offset, byteLength, this.length);\n\t }\n\n\t let val = this[offset + --byteLength];\n\t let mul = 1;\n\t while (byteLength > 0 && (mul *= 0x100)) {\n\t val += this[offset + --byteLength] * mul;\n\t }\n\n\t return val\n\t};\n\n\tBuffer.prototype.readUint8 =\n\tBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 1, this.length);\n\t return this[offset]\n\t};\n\n\tBuffer.prototype.readUint16LE =\n\tBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t return this[offset] | (this[offset + 1] << 8)\n\t};\n\n\tBuffer.prototype.readUint16BE =\n\tBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t return (this[offset] << 8) | this[offset + 1]\n\t};\n\n\tBuffer.prototype.readUint32LE =\n\tBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return ((this[offset]) |\n\t (this[offset + 1] << 8) |\n\t (this[offset + 2] << 16)) +\n\t (this[offset + 3] * 0x1000000)\n\t};\n\n\tBuffer.prototype.readUint32BE =\n\tBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset] * 0x1000000) +\n\t ((this[offset + 1] << 16) |\n\t (this[offset + 2] << 8) |\n\t this[offset + 3])\n\t};\n\n\tBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const lo = first +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 24;\n\n\t const hi = this[++offset] +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset] * 2 ** 16 +\n\t last * 2 ** 24;\n\n\t return BigInt(lo) + (BigInt(hi) << BigInt(32))\n\t});\n\n\tBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const hi = first * 2 ** 24 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset];\n\n\t const lo = this[++offset] * 2 ** 24 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t last;\n\n\t return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n\t});\n\n\tBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t let val = this[offset];\n\t let mul = 1;\n\t let i = 0;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t val += this[offset + i] * mul;\n\t }\n\t mul *= 0x80;\n\n\t if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n\t return val\n\t};\n\n\tBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t let i = byteLength;\n\t let mul = 1;\n\t let val = this[offset + --i];\n\t while (i > 0 && (mul *= 0x100)) {\n\t val += this[offset + --i] * mul;\n\t }\n\t mul *= 0x80;\n\n\t if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n\t return val\n\t};\n\n\tBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 1, this.length);\n\t if (!(this[offset] & 0x80)) return (this[offset])\n\t return ((0xff - this[offset] + 1) * -1)\n\t};\n\n\tBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t const val = this[offset] | (this[offset + 1] << 8);\n\t return (val & 0x8000) ? val | 0xFFFF0000 : val\n\t};\n\n\tBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t const val = this[offset + 1] | (this[offset] << 8);\n\t return (val & 0x8000) ? val | 0xFFFF0000 : val\n\t};\n\n\tBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset]) |\n\t (this[offset + 1] << 8) |\n\t (this[offset + 2] << 16) |\n\t (this[offset + 3] << 24)\n\t};\n\n\tBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset] << 24) |\n\t (this[offset + 1] << 16) |\n\t (this[offset + 2] << 8) |\n\t (this[offset + 3])\n\t};\n\n\tBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const val = this[offset + 4] +\n\t this[offset + 5] * 2 ** 8 +\n\t this[offset + 6] * 2 ** 16 +\n\t (last << 24); // Overflow\n\n\t return (BigInt(val) << BigInt(32)) +\n\t BigInt(first +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 24)\n\t});\n\n\tBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const val = (first << 24) + // Overflow\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset];\n\n\t return (BigInt(val) << BigInt(32)) +\n\t BigInt(this[++offset] * 2 ** 24 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t last)\n\t});\n\n\tBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t return ieee754$1.read(this, offset, true, 23, 4)\n\t};\n\n\tBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t return ieee754$1.read(this, offset, false, 23, 4)\n\t};\n\n\tBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 8, this.length);\n\t return ieee754$1.read(this, offset, true, 52, 8)\n\t};\n\n\tBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 8, this.length);\n\t return ieee754$1.read(this, offset, false, 52, 8)\n\t};\n\n\tfunction checkInt (buf, value, offset, ext, max, min) {\n\t if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n\t if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n\t if (offset + ext > buf.length) throw new RangeError('Index out of range')\n\t}\n\n\tBuffer.prototype.writeUintLE =\n\tBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n\t checkInt(this, value, offset, byteLength, maxBytes, 0);\n\t }\n\n\t let mul = 1;\n\t let i = 0;\n\t this[offset] = value & 0xFF;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t this[offset + i] = (value / mul) & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeUintBE =\n\tBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n\t checkInt(this, value, offset, byteLength, maxBytes, 0);\n\t }\n\n\t let i = byteLength - 1;\n\t let mul = 1;\n\t this[offset + i] = value & 0xFF;\n\t while (--i >= 0 && (mul *= 0x100)) {\n\t this[offset + i] = (value / mul) & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeUint8 =\n\tBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0);\n\t this[offset] = (value & 0xff);\n\t return offset + 1\n\t};\n\n\tBuffer.prototype.writeUint16LE =\n\tBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeUint16BE =\n\tBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\t this[offset] = (value >>> 8);\n\t this[offset + 1] = (value & 0xff);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeUint32LE =\n\tBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\t this[offset + 3] = (value >>> 24);\n\t this[offset + 2] = (value >>> 16);\n\t this[offset + 1] = (value >>> 8);\n\t this[offset] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeUint32BE =\n\tBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\t this[offset] = (value >>> 24);\n\t this[offset + 1] = (value >>> 16);\n\t this[offset + 2] = (value >>> 8);\n\t this[offset + 3] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n\t checkIntBI(value, min, max, buf, offset, 7);\n\n\t let lo = Number(value & BigInt(0xffffffff));\n\t buf[offset++] = lo;\n\t lo = lo >> 8;\n\t buf[offset++] = lo;\n\t lo = lo >> 8;\n\t buf[offset++] = lo;\n\t lo = lo >> 8;\n\t buf[offset++] = lo;\n\t let hi = Number(value >> BigInt(32) & BigInt(0xffffffff));\n\t buf[offset++] = hi;\n\t hi = hi >> 8;\n\t buf[offset++] = hi;\n\t hi = hi >> 8;\n\t buf[offset++] = hi;\n\t hi = hi >> 8;\n\t buf[offset++] = hi;\n\t return offset\n\t}\n\n\tfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n\t checkIntBI(value, min, max, buf, offset, 7);\n\n\t let lo = Number(value & BigInt(0xffffffff));\n\t buf[offset + 7] = lo;\n\t lo = lo >> 8;\n\t buf[offset + 6] = lo;\n\t lo = lo >> 8;\n\t buf[offset + 5] = lo;\n\t lo = lo >> 8;\n\t buf[offset + 4] = lo;\n\t let hi = Number(value >> BigInt(32) & BigInt(0xffffffff));\n\t buf[offset + 3] = hi;\n\t hi = hi >> 8;\n\t buf[offset + 2] = hi;\n\t hi = hi >> 8;\n\t buf[offset + 1] = hi;\n\t hi = hi >> 8;\n\t buf[offset] = hi;\n\t return offset + 8\n\t}\n\n\tBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n\t return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n\t});\n\n\tBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n\t return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n\t});\n\n\tBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t const limit = Math.pow(2, (8 * byteLength) - 1);\n\n\t checkInt(this, value, offset, byteLength, limit - 1, -limit);\n\t }\n\n\t let i = 0;\n\t let mul = 1;\n\t let sub = 0;\n\t this[offset] = value & 0xFF;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n\t sub = 1;\n\t }\n\t this[offset + i] = ((value / mul) >> 0) - sub & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t const limit = Math.pow(2, (8 * byteLength) - 1);\n\n\t checkInt(this, value, offset, byteLength, limit - 1, -limit);\n\t }\n\n\t let i = byteLength - 1;\n\t let mul = 1;\n\t let sub = 0;\n\t this[offset + i] = value & 0xFF;\n\t while (--i >= 0 && (mul *= 0x100)) {\n\t if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n\t sub = 1;\n\t }\n\t this[offset + i] = ((value / mul) >> 0) - sub & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80);\n\t if (value < 0) value = 0xff + value + 1;\n\t this[offset] = (value & 0xff);\n\t return offset + 1\n\t};\n\n\tBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\t this[offset] = (value >>> 8);\n\t this[offset + 1] = (value & 0xff);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t this[offset + 2] = (value >>> 16);\n\t this[offset + 3] = (value >>> 24);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\t if (value < 0) value = 0xffffffff + value + 1;\n\t this[offset] = (value >>> 24);\n\t this[offset + 1] = (value >>> 16);\n\t this[offset + 2] = (value >>> 8);\n\t this[offset + 3] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n\t return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n\t});\n\n\tBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n\t return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n\t});\n\n\tfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n\t if (offset + ext > buf.length) throw new RangeError('Index out of range')\n\t if (offset < 0) throw new RangeError('Index out of range')\n\t}\n\n\tfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t checkIEEE754(buf, value, offset, 4);\n\t }\n\t ieee754$1.write(buf, value, offset, littleEndian, 23, 4);\n\t return offset + 4\n\t}\n\n\tBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n\t return writeFloat(this, value, offset, true, noAssert)\n\t};\n\n\tBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n\t return writeFloat(this, value, offset, false, noAssert)\n\t};\n\n\tfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t checkIEEE754(buf, value, offset, 8);\n\t }\n\t ieee754$1.write(buf, value, offset, littleEndian, 52, 8);\n\t return offset + 8\n\t}\n\n\tBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n\t return writeDouble(this, value, offset, true, noAssert)\n\t};\n\n\tBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n\t return writeDouble(this, value, offset, false, noAssert)\n\t};\n\n\t// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\n\tBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n\t if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n\t if (!start) start = 0;\n\t if (!end && end !== 0) end = this.length;\n\t if (targetStart >= target.length) targetStart = target.length;\n\t if (!targetStart) targetStart = 0;\n\t if (end > 0 && end < start) end = start;\n\n\t // Copy 0 bytes; we're done\n\t if (end === start) return 0\n\t if (target.length === 0 || this.length === 0) return 0\n\n\t // Fatal error conditions\n\t if (targetStart < 0) {\n\t throw new RangeError('targetStart out of bounds')\n\t }\n\t if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n\t if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n\t // Are we oob?\n\t if (end > this.length) end = this.length;\n\t if (target.length - targetStart < end - start) {\n\t end = target.length - targetStart + start;\n\t }\n\n\t const len = end - start;\n\n\t if (this === target && typeof GlobalUint8Array.prototype.copyWithin === 'function') {\n\t // Use built-in when available, missing from IE11\n\t this.copyWithin(targetStart, start, end);\n\t } else {\n\t GlobalUint8Array.prototype.set.call(\n\t target,\n\t this.subarray(start, end),\n\t targetStart\n\t );\n\t }\n\n\t return len\n\t};\n\n\t// Usage:\n\t// buffer.fill(number[, offset[, end]])\n\t// buffer.fill(buffer[, offset[, end]])\n\t// buffer.fill(string[, offset[, end]][, encoding])\n\tBuffer.prototype.fill = function fill (val, start, end, encoding) {\n\t // Handle string cases:\n\t if (typeof val === 'string') {\n\t if (typeof start === 'string') {\n\t encoding = start;\n\t start = 0;\n\t end = this.length;\n\t } else if (typeof end === 'string') {\n\t encoding = end;\n\t end = this.length;\n\t }\n\t if (encoding !== undefined && typeof encoding !== 'string') {\n\t throw new TypeError('encoding must be a string')\n\t }\n\t if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n\t throw new TypeError('Unknown encoding: ' + encoding)\n\t }\n\t if (val.length === 1) {\n\t const code = val.charCodeAt(0);\n\t if ((encoding === 'utf8' && code < 128) ||\n\t encoding === 'latin1') {\n\t // Fast path: If `val` fits into a single byte, use that numeric value.\n\t val = code;\n\t }\n\t }\n\t } else if (typeof val === 'number') {\n\t val = val & 255;\n\t } else if (typeof val === 'boolean') {\n\t val = Number(val);\n\t }\n\n\t // Invalid ranges are not set to a default, so can range check early.\n\t if (start < 0 || this.length < start || this.length < end) {\n\t throw new RangeError('Out of range index')\n\t }\n\n\t if (end <= start) {\n\t return this\n\t }\n\n\t start = start >>> 0;\n\t end = end === undefined ? this.length : end >>> 0;\n\n\t if (!val) val = 0;\n\n\t let i;\n\t if (typeof val === 'number') {\n\t for (i = start; i < end; ++i) {\n\t this[i] = val;\n\t }\n\t } else {\n\t const bytes = Buffer.isBuffer(val)\n\t ? val\n\t : Buffer.from(val, encoding);\n\t const len = bytes.length;\n\t if (len === 0) {\n\t throw new TypeError('The value \"' + val +\n\t '\" is invalid for argument \"value\"')\n\t }\n\t for (i = 0; i < end - start; ++i) {\n\t this[i + start] = bytes[i % len];\n\t }\n\t }\n\n\t return this\n\t};\n\n\t// CUSTOM ERRORS\n\t// =============\n\n\t// Simplified versions from Node, changed for Buffer-only usage\n\tconst errors = {};\n\tfunction E (sym, getMessage, Base) {\n\t errors[sym] = class NodeError extends Base {\n\t constructor () {\n\t super();\n\n\t Object.defineProperty(this, 'message', {\n\t value: getMessage.apply(this, arguments),\n\t writable: true,\n\t configurable: true\n\t });\n\n\t // Add the error code to the name to include it in the stack trace.\n\t this.name = `${this.name} [${sym}]`;\n\t // Access the stack to generate the error message including the error code\n\t // from the name.\n\t this.stack; // eslint-disable-line no-unused-expressions\n\t // Reset the name to the actual name.\n\t delete this.name;\n\t }\n\n\t get code () {\n\t return sym\n\t }\n\n\t set code (value) {\n\t Object.defineProperty(this, 'code', {\n\t configurable: true,\n\t enumerable: true,\n\t value,\n\t writable: true\n\t });\n\t }\n\n\t toString () {\n\t return `${this.name} [${sym}]: ${this.message}`\n\t }\n\t };\n\t}\n\n\tE('ERR_BUFFER_OUT_OF_BOUNDS',\n\t function (name) {\n\t if (name) {\n\t return `${name} is outside of buffer bounds`\n\t }\n\n\t return 'Attempt to access memory outside buffer bounds'\n\t }, RangeError);\n\tE('ERR_INVALID_ARG_TYPE',\n\t function (name, actual) {\n\t return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n\t }, TypeError);\n\tE('ERR_OUT_OF_RANGE',\n\t function (str, range, input) {\n\t let msg = `The value of \"${str}\" is out of range.`;\n\t let received = input;\n\t if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n\t received = addNumericalSeparator(String(input));\n\t } else if (typeof input === 'bigint') {\n\t received = String(input);\n\t if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n\t received = addNumericalSeparator(received);\n\t }\n\t received += 'n';\n\t }\n\t msg += ` It must be ${range}. Received ${received}`;\n\t return msg\n\t }, RangeError);\n\n\tfunction addNumericalSeparator (val) {\n\t let res = '';\n\t let i = val.length;\n\t const start = val[0] === '-' ? 1 : 0;\n\t for (; i >= start + 4; i -= 3) {\n\t res = `_${val.slice(i - 3, i)}${res}`;\n\t }\n\t return `${val.slice(0, i)}${res}`\n\t}\n\n\t// CHECK FUNCTIONS\n\t// ===============\n\n\tfunction checkBounds (buf, offset, byteLength) {\n\t validateNumber(offset, 'offset');\n\t if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n\t boundsError(offset, buf.length - (byteLength + 1));\n\t }\n\t}\n\n\tfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n\t if (value > max || value < min) {\n\t const n = typeof min === 'bigint' ? 'n' : '';\n\t let range;\n\t if (byteLength > 3) {\n\t if (min === 0 || min === BigInt(0)) {\n\t range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`;\n\t } else {\n\t range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n\t `${(byteLength + 1) * 8 - 1}${n}`;\n\t }\n\t } else {\n\t range = `>= ${min}${n} and <= ${max}${n}`;\n\t }\n\t throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n\t }\n\t checkBounds(buf, offset, byteLength);\n\t}\n\n\tfunction validateNumber (value, name) {\n\t if (typeof value !== 'number') {\n\t throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n\t }\n\t}\n\n\tfunction boundsError (value, length, type) {\n\t if (Math.floor(value) !== value) {\n\t validateNumber(value, type);\n\t throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n\t }\n\n\t if (length < 0) {\n\t throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n\t }\n\n\t throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n\t `>= ${type ? 1 : 0} and <= ${length}`,\n\t value)\n\t}\n\n\t// HELPER FUNCTIONS\n\t// ================\n\n\tconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\n\n\tfunction base64clean (str) {\n\t // Node takes equal signs as end of the Base64 encoding\n\t str = str.split('=')[0];\n\t // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n\t str = str.trim().replace(INVALID_BASE64_RE, '');\n\t // Node converts strings with length < 2 to ''\n\t if (str.length < 2) return ''\n\t // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n\t while (str.length % 4 !== 0) {\n\t str = str + '=';\n\t }\n\t return str\n\t}\n\n\tfunction utf8ToBytes (string, units) {\n\t units = units || Infinity;\n\t let codePoint;\n\t const length = string.length;\n\t let leadSurrogate = null;\n\t const bytes = [];\n\n\t for (let i = 0; i < length; ++i) {\n\t codePoint = string.charCodeAt(i);\n\n\t // is surrogate component\n\t if (codePoint > 0xD7FF && codePoint < 0xE000) {\n\t // last char was a lead\n\t if (!leadSurrogate) {\n\t // no lead yet\n\t if (codePoint > 0xDBFF) {\n\t // unexpected trail\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t continue\n\t } else if (i + 1 === length) {\n\t // unpaired lead\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t continue\n\t }\n\n\t // valid lead\n\t leadSurrogate = codePoint;\n\n\t continue\n\t }\n\n\t // 2 leads in a row\n\t if (codePoint < 0xDC00) {\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t leadSurrogate = codePoint;\n\t continue\n\t }\n\n\t // valid surrogate pair\n\t codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;\n\t } else if (leadSurrogate) {\n\t // valid bmp char, but last char was a lead\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t }\n\n\t leadSurrogate = null;\n\n\t // encode utf8\n\t if (codePoint < 0x80) {\n\t if ((units -= 1) < 0) break\n\t bytes.push(codePoint);\n\t } else if (codePoint < 0x800) {\n\t if ((units -= 2) < 0) break\n\t bytes.push(\n\t codePoint >> 0x6 | 0xC0,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else if (codePoint < 0x10000) {\n\t if ((units -= 3) < 0) break\n\t bytes.push(\n\t codePoint >> 0xC | 0xE0,\n\t codePoint >> 0x6 & 0x3F | 0x80,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else if (codePoint < 0x110000) {\n\t if ((units -= 4) < 0) break\n\t bytes.push(\n\t codePoint >> 0x12 | 0xF0,\n\t codePoint >> 0xC & 0x3F | 0x80,\n\t codePoint >> 0x6 & 0x3F | 0x80,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else {\n\t throw new Error('Invalid code point')\n\t }\n\t }\n\n\t return bytes\n\t}\n\n\tfunction asciiToBytes (str) {\n\t const byteArray = [];\n\t for (let i = 0; i < str.length; ++i) {\n\t // Node's code seems to be doing this and not & 0x7F..\n\t byteArray.push(str.charCodeAt(i) & 0xFF);\n\t }\n\t return byteArray\n\t}\n\n\tfunction utf16leToBytes (str, units) {\n\t let c, hi, lo;\n\t const byteArray = [];\n\t for (let i = 0; i < str.length; ++i) {\n\t if ((units -= 2) < 0) break\n\n\t c = str.charCodeAt(i);\n\t hi = c >> 8;\n\t lo = c % 256;\n\t byteArray.push(lo);\n\t byteArray.push(hi);\n\t }\n\n\t return byteArray\n\t}\n\n\tfunction base64ToBytes (str) {\n\t return base64.toByteArray(base64clean(str))\n\t}\n\n\tfunction blitBuffer (src, dst, offset, length) {\n\t let i;\n\t for (i = 0; i < length; ++i) {\n\t if ((i + offset >= dst.length) || (i >= src.length)) break\n\t dst[i + offset] = src[i];\n\t }\n\t return i\n\t}\n\n\t// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n\t// the `instanceof` check but they should be treated as of that type.\n\t// See: https://github.com/feross/buffer/issues/166\n\tfunction isInstance (obj, type) {\n\t return obj instanceof type ||\n\t (obj != null && obj.constructor != null && obj.constructor.name != null &&\n\t obj.constructor.name === type.name)\n\t}\n\tfunction numberIsNaN (obj) {\n\t // For IE11 support\n\t return obj !== obj // eslint-disable-line no-self-compare\n\t}\n\n\t// Create lookup table for `toString('hex')`\n\t// See: https://github.com/feross/buffer/issues/219\n\tconst hexSliceLookupTable = (function () {\n\t const alphabet = '0123456789abcdef';\n\t const table = new Array(256);\n\t for (let i = 0; i < 16; ++i) {\n\t const i16 = i * 16;\n\t for (let j = 0; j < 16; ++j) {\n\t table[i16 + j] = alphabet[i] + alphabet[j];\n\t }\n\t }\n\t return table\n\t})();\n\n\t// Return not function with Error if BigInt not supported\n\tfunction defineBigIntMethod (fn) {\n\t return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n\t}\n\n\tfunction BufferBigIntNotDefined () {\n\t throw new Error('BigInt not supported')\n\t} \n} (buffer));\n\nconst Buffer = buffer.Buffer;\n\nconst Blob = buffer.Blob;\nconst BlobOptions = buffer.BlobOptions;\nconst Buffer$1 = buffer.Buffer;\nconst File = buffer.File;\nconst FileOptions = buffer.FileOptions;\nconst INSPECT_MAX_BYTES = buffer.INSPECT_MAX_BYTES;\nconst SlowBuffer = buffer.SlowBuffer;\nconst TranscodeEncoding = buffer.TranscodeEncoding;\nconst atob = buffer.atob;\nconst btoa = buffer.btoa;\nconst constants = buffer.constants;\nconst isAscii = buffer.isAscii;\nconst isUtf8 = buffer.isUtf8;\nconst kMaxLength = buffer.kMaxLength;\nconst kStringMaxLength = buffer.kStringMaxLength;\nconst resolveObjectURL = buffer.resolveObjectURL;\nconst transcode = buffer.transcode;\nexport { Blob, BlobOptions, Buffer$1 as Buffer, File, FileOptions, INSPECT_MAX_BYTES, SlowBuffer, TranscodeEncoding, atob, btoa, constants, Buffer as default, isAscii, isUtf8, kMaxLength, kStringMaxLength, resolveObjectURL, transcode };\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n if (utils.isFunction(options)) {\n options = {\n serialize: options\n };\n } \n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn.apply(null, args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n})(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {\n let isRelativeUrl = !isAbsoluteURL(requestedURL);\n if (baseURL && isRelativeUrl || allowAbsoluteUrls == false) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, prop , caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop , caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop , caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b , prop) => mergeDeepProperties(headersToObject(a), headersToObject(b),prop, true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = \"credentials\" in Request.prototype;\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.8.3\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n }\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.allowAbsoluteUrls\n if (config.allowAbsoluteUrls !== undefined) {\n // do nothing\n } else if (this.defaults.allowAbsoluteUrls !== undefined) {\n config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;\n } else {\n config.allowAbsoluteUrls = true;\n }\n\n validator.assertOptions(config, {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken')\n }, true);\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n}\n","import Axios from \"axios\";\nimport { isAxiosError, isCancel } from \"axios\";\nimport { getRequestToken, onRequestTokenUpdate } from \"@nextcloud/auth\";\nimport { generateUrl } from \"@nextcloud/router\";\nconst RETRY_KEY = Symbol(\"csrf-retry\");\nconst onError$2 = (axios) => async (error) => {\n var _a2;\n const { config, response, request } = error;\n const responseURL = request == null ? void 0 : request.responseURL;\n const status = response == null ? void 0 : response.status;\n if (status === 412 && ((_a2 = response == null ? void 0 : response.data) == null ? void 0 : _a2.message) === \"CSRF check failed\" && config[RETRY_KEY] === void 0) {\n console.warn(\"Request to \".concat(responseURL, \" failed because of a CSRF mismatch. Fetching a new token\"));\n const { data: { token } } = await axios.get(generateUrl(\"/csrftoken\"));\n console.debug(\"New request token \".concat(token, \" fetched\"));\n axios.defaults.headers.requesttoken = token;\n return axios({\n ...config,\n headers: {\n ...config.headers,\n requesttoken: token\n },\n [RETRY_KEY]: true\n });\n }\n return Promise.reject(error);\n};\nconst RETRY_DELAY_KEY = Symbol(\"retryDelay\");\nconst onError$1 = (axios) => async (error) => {\n var _a2;\n const { config, response, request } = error;\n const responseURL = request == null ? void 0 : request.responseURL;\n const status = response == null ? void 0 : response.status;\n const headers = response == null ? void 0 : response.headers;\n if (status === 503 && headers[\"x-nextcloud-maintenance-mode\"] === \"1\" && config.retryIfMaintenanceMode && (!config[RETRY_DELAY_KEY] || config[RETRY_DELAY_KEY] <= 32)) {\n const retryDelay = ((_a2 = config[RETRY_DELAY_KEY]) != null ? _a2 : 1) * 2;\n console.warn(\"Request to \".concat(responseURL, \" failed because of maintenance mode. Retrying in \").concat(retryDelay, \"s\"));\n await new Promise((resolve) => {\n setTimeout(resolve, retryDelay * 1e3);\n });\n return axios({\n ...config,\n [RETRY_DELAY_KEY]: retryDelay\n });\n }\n return Promise.reject(error);\n};\nconst onError = async (error) => {\n var _a2;\n const { config, response, request } = error;\n const responseURL = request == null ? void 0 : request.responseURL;\n const status = response == null ? void 0 : response.status;\n if (status === 401 && ((_a2 = response == null ? void 0 : response.data) == null ? void 0 : _a2.message) === \"Current user is not logged in\" && config.reloadExpiredSession && (window == null ? void 0 : window.location)) {\n console.error(\"Request to \".concat(responseURL, \" failed because the user session expired. Reloading the page …\"));\n window.location.reload();\n }\n return Promise.reject(error);\n};\nvar _a;\nconst client = Axios.create({\n headers: {\n requesttoken: (_a = getRequestToken()) != null ? _a : \"\",\n \"X-Requested-With\": \"XMLHttpRequest\"\n }\n});\nconst cancelableClient = Object.assign(client, {\n CancelToken: Axios.CancelToken,\n isCancel: Axios.isCancel\n});\ncancelableClient.interceptors.response.use((r) => r, onError$2(cancelableClient));\ncancelableClient.interceptors.response.use((r) => r, onError$1(cancelableClient));\ncancelableClient.interceptors.response.use((r) => r, onError);\nonRequestTokenUpdate((token) => {\n client.defaults.headers.requesttoken = token;\n});\nexport {\n cancelableClient as default,\n isAxiosError,\n isCancel\n};\n","function loadState(app, key, fallback) {\n const elem = document.querySelector(`#initial-state-${app}-${key}`);\n if (elem === null) {\n if (fallback !== void 0) {\n return fallback;\n }\n throw new Error(`Could not find initial state ${key} of ${app}`);\n }\n try {\n return JSON.parse(atob(elem.value));\n } catch (e) {\n throw new Error(`Could not parse initial state ${key} of ${app}`);\n }\n}\nexport {\n loadState\n};\n","/**\n* @vue/shared v3.5.13\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction makeMap(str) {\n const map = /* @__PURE__ */ Object.create(null);\n for (const key of str.split(\",\")) map[key] = 1;\n return (val) => val in map;\n}\n\nconst EMPTY_OBJ = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze({}) : {};\nconst EMPTY_ARR = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze([]) : [];\nconst NOOP = () => {\n};\nconst NO = () => false;\nconst isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter\n(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);\nconst isModelListener = (key) => key.startsWith(\"onUpdate:\");\nconst extend = Object.assign;\nconst remove = (arr, el) => {\n const i = arr.indexOf(el);\n if (i > -1) {\n arr.splice(i, 1);\n }\n};\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst isArray = Array.isArray;\nconst isMap = (val) => toTypeString(val) === \"[object Map]\";\nconst isSet = (val) => toTypeString(val) === \"[object Set]\";\nconst isDate = (val) => toTypeString(val) === \"[object Date]\";\nconst isRegExp = (val) => toTypeString(val) === \"[object RegExp]\";\nconst isFunction = (val) => typeof val === \"function\";\nconst isString = (val) => typeof val === \"string\";\nconst isSymbol = (val) => typeof val === \"symbol\";\nconst isObject = (val) => val !== null && typeof val === \"object\";\nconst isPromise = (val) => {\n return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst toRawType = (value) => {\n return toTypeString(value).slice(8, -1);\n};\nconst isPlainObject = (val) => toTypeString(val) === \"[object Object]\";\nconst isIntegerKey = (key) => isString(key) && key !== \"NaN\" && key[0] !== \"-\" && \"\" + parseInt(key, 10) === key;\nconst isReservedProp = /* @__PURE__ */ makeMap(\n // the leading comma is intentional so empty string \"\" is also included\n \",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"\n);\nconst isBuiltInDirective = /* @__PURE__ */ makeMap(\n \"bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo\"\n);\nconst cacheStringFunction = (fn) => {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n};\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction(\n (str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n }\n);\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction(\n (str) => str.replace(hyphenateRE, \"-$1\").toLowerCase()\n);\nconst capitalize = cacheStringFunction((str) => {\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\nconst toHandlerKey = cacheStringFunction(\n (str) => {\n const s = str ? `on${capitalize(str)}` : ``;\n return s;\n }\n);\nconst hasChanged = (value, oldValue) => !Object.is(value, oldValue);\nconst invokeArrayFns = (fns, ...arg) => {\n for (let i = 0; i < fns.length; i++) {\n fns[i](...arg);\n }\n};\nconst def = (obj, key, value, writable = false) => {\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: false,\n writable,\n value\n });\n};\nconst looseToNumber = (val) => {\n const n = parseFloat(val);\n return isNaN(n) ? val : n;\n};\nconst toNumber = (val) => {\n const n = isString(val) ? Number(val) : NaN;\n return isNaN(n) ? val : n;\n};\nlet _globalThis;\nconst getGlobalThis = () => {\n return _globalThis || (_globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : {});\n};\nconst identRE = /^[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*$/;\nfunction genPropsAccessExp(name) {\n return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`;\n}\nfunction genCacheKey(source, options) {\n return source + JSON.stringify(\n options,\n (_, val) => typeof val === \"function\" ? val.toString() : val\n );\n}\n\nconst PatchFlags = {\n \"TEXT\": 1,\n \"1\": \"TEXT\",\n \"CLASS\": 2,\n \"2\": \"CLASS\",\n \"STYLE\": 4,\n \"4\": \"STYLE\",\n \"PROPS\": 8,\n \"8\": \"PROPS\",\n \"FULL_PROPS\": 16,\n \"16\": \"FULL_PROPS\",\n \"NEED_HYDRATION\": 32,\n \"32\": \"NEED_HYDRATION\",\n \"STABLE_FRAGMENT\": 64,\n \"64\": \"STABLE_FRAGMENT\",\n \"KEYED_FRAGMENT\": 128,\n \"128\": \"KEYED_FRAGMENT\",\n \"UNKEYED_FRAGMENT\": 256,\n \"256\": \"UNKEYED_FRAGMENT\",\n \"NEED_PATCH\": 512,\n \"512\": \"NEED_PATCH\",\n \"DYNAMIC_SLOTS\": 1024,\n \"1024\": \"DYNAMIC_SLOTS\",\n \"DEV_ROOT_FRAGMENT\": 2048,\n \"2048\": \"DEV_ROOT_FRAGMENT\",\n \"CACHED\": -1,\n \"-1\": \"CACHED\",\n \"BAIL\": -2,\n \"-2\": \"BAIL\"\n};\nconst PatchFlagNames = {\n [1]: `TEXT`,\n [2]: `CLASS`,\n [4]: `STYLE`,\n [8]: `PROPS`,\n [16]: `FULL_PROPS`,\n [32]: `NEED_HYDRATION`,\n [64]: `STABLE_FRAGMENT`,\n [128]: `KEYED_FRAGMENT`,\n [256]: `UNKEYED_FRAGMENT`,\n [512]: `NEED_PATCH`,\n [1024]: `DYNAMIC_SLOTS`,\n [2048]: `DEV_ROOT_FRAGMENT`,\n [-1]: `HOISTED`,\n [-2]: `BAIL`\n};\n\nconst ShapeFlags = {\n \"ELEMENT\": 1,\n \"1\": \"ELEMENT\",\n \"FUNCTIONAL_COMPONENT\": 2,\n \"2\": \"FUNCTIONAL_COMPONENT\",\n \"STATEFUL_COMPONENT\": 4,\n \"4\": \"STATEFUL_COMPONENT\",\n \"TEXT_CHILDREN\": 8,\n \"8\": \"TEXT_CHILDREN\",\n \"ARRAY_CHILDREN\": 16,\n \"16\": \"ARRAY_CHILDREN\",\n \"SLOTS_CHILDREN\": 32,\n \"32\": \"SLOTS_CHILDREN\",\n \"TELEPORT\": 64,\n \"64\": \"TELEPORT\",\n \"SUSPENSE\": 128,\n \"128\": \"SUSPENSE\",\n \"COMPONENT_SHOULD_KEEP_ALIVE\": 256,\n \"256\": \"COMPONENT_SHOULD_KEEP_ALIVE\",\n \"COMPONENT_KEPT_ALIVE\": 512,\n \"512\": \"COMPONENT_KEPT_ALIVE\",\n \"COMPONENT\": 6,\n \"6\": \"COMPONENT\"\n};\n\nconst SlotFlags = {\n \"STABLE\": 1,\n \"1\": \"STABLE\",\n \"DYNAMIC\": 2,\n \"2\": \"DYNAMIC\",\n \"FORWARDED\": 3,\n \"3\": \"FORWARDED\"\n};\nconst slotFlagsText = {\n [1]: \"STABLE\",\n [2]: \"DYNAMIC\",\n [3]: \"FORWARDED\"\n};\n\nconst GLOBALS_ALLOWED = \"Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol\";\nconst isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED);\nconst isGloballyWhitelisted = isGloballyAllowed;\n\nconst range = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n start = Math.max(0, Math.min(start, source.length));\n end = Math.max(0, Math.min(end, source.length));\n if (start > end) return \"\";\n let lines = source.split(/(\\r?\\n)/);\n const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);\n lines = lines.filter((_, idx) => idx % 2 === 0);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0);\n if (count >= start) {\n for (let j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length) continue;\n const line = j + 1;\n res.push(\n `${line}${\" \".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`\n );\n const lineLength = lines[j].length;\n const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0;\n if (j === i) {\n const pad = start - (count - (lineLength + newLineSeqLength));\n const length = Math.max(\n 1,\n end > count ? lineLength - pad : end - start\n );\n res.push(` | ` + \" \".repeat(pad) + \"^\".repeat(length));\n } else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + \"^\".repeat(length));\n }\n count += lineLength + newLineSeqLength;\n }\n }\n break;\n }\n }\n return res.join(\"\\n\");\n}\n\nfunction normalizeStyle(value) {\n if (isArray(value)) {\n const res = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);\n if (normalized) {\n for (const key in normalized) {\n res[key] = normalized[key];\n }\n }\n }\n return res;\n } else if (isString(value) || isObject(value)) {\n return value;\n }\n}\nconst listDelimiterRE = /;(?![^(]*\\))/g;\nconst propertyDelimiterRE = /:([^]+)/;\nconst styleCommentRE = /\\/\\*[^]*?\\*\\//g;\nfunction parseStringStyle(cssText) {\n const ret = {};\n cssText.replace(styleCommentRE, \"\").split(listDelimiterRE).forEach((item) => {\n if (item) {\n const tmp = item.split(propertyDelimiterRE);\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return ret;\n}\nfunction stringifyStyle(styles) {\n if (!styles) return \"\";\n if (isString(styles)) return styles;\n let ret = \"\";\n for (const key in styles) {\n const value = styles[key];\n if (isString(value) || typeof value === \"number\") {\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\n ret += `${normalizedKey}:${value};`;\n }\n }\n return ret;\n}\nfunction normalizeClass(value) {\n let res = \"\";\n if (isString(value)) {\n res = value;\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const normalized = normalizeClass(value[i]);\n if (normalized) {\n res += normalized + \" \";\n }\n }\n } else if (isObject(value)) {\n for (const name in value) {\n if (value[name]) {\n res += name + \" \";\n }\n }\n }\n return res.trim();\n}\nfunction normalizeProps(props) {\n if (!props) return null;\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (style) {\n props.style = normalizeStyle(style);\n }\n return props;\n}\n\nconst HTML_TAGS = \"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot\";\nconst SVG_TAGS = \"svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view\";\nconst MATH_TAGS = \"annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics\";\nconst VOID_TAGS = \"area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr\";\nconst isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);\nconst isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);\nconst isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);\nconst isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);\n\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\nconst isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);\nconst isBooleanAttr = /* @__PURE__ */ makeMap(\n specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`\n);\nfunction includeBooleanAttr(value) {\n return !!value || value === \"\";\n}\nconst unsafeAttrCharRE = /[>/=\"'\\u0009\\u000a\\u000c\\u0020]/;\nconst attrValidationCache = {};\nfunction isSSRSafeAttrName(name) {\n if (attrValidationCache.hasOwnProperty(name)) {\n return attrValidationCache[name];\n }\n const isUnsafe = unsafeAttrCharRE.test(name);\n if (isUnsafe) {\n console.error(`unsafe attribute name: ${name}`);\n }\n return attrValidationCache[name] = !isUnsafe;\n}\nconst propsToAttrMap = {\n acceptCharset: \"accept-charset\",\n className: \"class\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\"\n};\nconst isKnownHtmlAttr = /* @__PURE__ */ makeMap(\n `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`\n);\nconst isKnownSvgAttr = /* @__PURE__ */ makeMap(\n `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`\n);\nconst isKnownMathMLAttr = /* @__PURE__ */ makeMap(\n `accent,accentunder,actiontype,align,alignmentscope,altimg,altimg-height,altimg-valign,altimg-width,alttext,bevelled,close,columnsalign,columnlines,columnspan,denomalign,depth,dir,display,displaystyle,encoding,equalcolumns,equalrows,fence,fontstyle,fontweight,form,frame,framespacing,groupalign,height,href,id,indentalign,indentalignfirst,indentalignlast,indentshift,indentshiftfirst,indentshiftlast,indextype,justify,largetop,largeop,lquote,lspace,mathbackground,mathcolor,mathsize,mathvariant,maxsize,minlabelspacing,mode,other,overflow,position,rowalign,rowlines,rowspan,rquote,rspace,scriptlevel,scriptminsize,scriptsizemultiplier,selection,separator,separators,shift,side,src,stackalign,stretchy,subscriptshift,superscriptshift,symmetric,voffset,width,widths,xlink:href,xlink:show,xlink:type,xmlns`\n);\nfunction isRenderableAttrValue(value) {\n if (value == null) {\n return false;\n }\n const type = typeof value;\n return type === \"string\" || type === \"number\" || type === \"boolean\";\n}\n\nconst escapeRE = /[\"'&<>]/;\nfunction escapeHtml(string) {\n const str = \"\" + string;\n const match = escapeRE.exec(str);\n if (!match) {\n return str;\n }\n let html = \"\";\n let escaped;\n let index;\n let lastIndex = 0;\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n escaped = \""\";\n break;\n case 38:\n escaped = \"&\";\n break;\n case 39:\n escaped = \"'\";\n break;\n case 60:\n escaped = \"<\";\n break;\n case 62:\n escaped = \">\";\n break;\n default:\n continue;\n }\n if (lastIndex !== index) {\n html += str.slice(lastIndex, index);\n }\n lastIndex = index + 1;\n html += escaped;\n }\n return lastIndex !== index ? html + str.slice(lastIndex, index) : html;\n}\nconst commentStripRE = /^-?>||--!>|?@[\\\\\\]^`{|}~]/g;\nfunction getEscapedCssVarName(key, doubleEscape) {\n return key.replace(\n cssVarNameEscapeSymbolsRE,\n (s) => doubleEscape ? s === '\"' ? '\\\\\\\\\\\\\"' : `\\\\\\\\${s}` : `\\\\${s}`\n );\n}\n\nfunction looseCompareArrays(a, b) {\n if (a.length !== b.length) return false;\n let equal = true;\n for (let i = 0; equal && i < a.length; i++) {\n equal = looseEqual(a[i], b[i]);\n }\n return equal;\n}\nfunction looseEqual(a, b) {\n if (a === b) return true;\n let aValidType = isDate(a);\n let bValidType = isDate(b);\n if (aValidType || bValidType) {\n return aValidType && bValidType ? a.getTime() === b.getTime() : false;\n }\n aValidType = isSymbol(a);\n bValidType = isSymbol(b);\n if (aValidType || bValidType) {\n return a === b;\n }\n aValidType = isArray(a);\n bValidType = isArray(b);\n if (aValidType || bValidType) {\n return aValidType && bValidType ? looseCompareArrays(a, b) : false;\n }\n aValidType = isObject(a);\n bValidType = isObject(b);\n if (aValidType || bValidType) {\n if (!aValidType || !bValidType) {\n return false;\n }\n const aKeysCount = Object.keys(a).length;\n const bKeysCount = Object.keys(b).length;\n if (aKeysCount !== bKeysCount) {\n return false;\n }\n for (const key in a) {\n const aHasKey = a.hasOwnProperty(key);\n const bHasKey = b.hasOwnProperty(key);\n if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) {\n return false;\n }\n }\n }\n return String(a) === String(b);\n}\nfunction looseIndexOf(arr, val) {\n return arr.findIndex((item) => looseEqual(item, val));\n}\n\nconst isRef = (val) => {\n return !!(val && val[\"__v_isRef\"] === true);\n};\nconst toDisplayString = (val) => {\n return isString(val) ? val : val == null ? \"\" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? isRef(val) ? toDisplayString(val.value) : JSON.stringify(val, replacer, 2) : String(val);\n};\nconst replacer = (_key, val) => {\n if (isRef(val)) {\n return replacer(_key, val.value);\n } else if (isMap(val)) {\n return {\n [`Map(${val.size})`]: [...val.entries()].reduce(\n (entries, [key, val2], i) => {\n entries[stringifySymbol(key, i) + \" =>\"] = val2;\n return entries;\n },\n {}\n )\n };\n } else if (isSet(val)) {\n return {\n [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v))\n };\n } else if (isSymbol(val)) {\n return stringifySymbol(val);\n } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\n return String(val);\n }\n return val;\n};\nconst stringifySymbol = (v, i = \"\") => {\n var _a;\n return (\n // Symbol.description in es2019+ so we need to cast here to pass\n // the lib: es2016 check\n isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v\n );\n};\n\nexport { EMPTY_ARR, EMPTY_OBJ, NO, NOOP, PatchFlagNames, PatchFlags, ShapeFlags, SlotFlags, camelize, capitalize, cssVarNameEscapeSymbolsRE, def, escapeHtml, escapeHtmlComment, extend, genCacheKey, genPropsAccessExp, generateCodeFrame, getEscapedCssVarName, getGlobalThis, hasChanged, hasOwn, hyphenate, includeBooleanAttr, invokeArrayFns, isArray, isBooleanAttr, isBuiltInDirective, isDate, isFunction, isGloballyAllowed, isGloballyWhitelisted, isHTMLTag, isIntegerKey, isKnownHtmlAttr, isKnownMathMLAttr, isKnownSvgAttr, isMap, isMathMLTag, isModelListener, isObject, isOn, isPlainObject, isPromise, isRegExp, isRenderableAttrValue, isReservedProp, isSSRSafeAttrName, isSVGTag, isSet, isSpecialBooleanAttr, isString, isSymbol, isVoidTag, looseEqual, looseIndexOf, looseToNumber, makeMap, normalizeClass, normalizeProps, normalizeStyle, objectToString, parseStringStyle, propsToAttrMap, remove, slotFlagsText, stringifyStyle, toDisplayString, toHandlerKey, toNumber, toRawType, toTypeString };\n","/**\n* @vue/reactivity v3.5.13\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { hasChanged, extend, isArray, isIntegerKey, isSymbol, isMap, hasOwn, isObject, makeMap, toRawType, capitalize, def, isFunction, EMPTY_OBJ, isSet, isPlainObject, NOOP, remove } from '@vue/shared';\n\nfunction warn(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this._isPaused = false;\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\n this\n ) - 1;\n }\n }\n get active() {\n return this._active;\n }\n pause() {\n if (this._active) {\n this._isPaused = true;\n let i, l;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].pause();\n }\n }\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].pause();\n }\n }\n }\n /**\n * Resumes the effect scope, including all child scopes and effects.\n */\n resume() {\n if (this._active) {\n if (this._isPaused) {\n this._isPaused = false;\n let i, l;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].resume();\n }\n }\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].resume();\n }\n }\n }\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n } finally {\n activeEffectScope = currentEffectScope;\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n activeEffectScope = this;\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n activeEffectScope = this.parent;\n }\n stop(fromParent) {\n if (this._active) {\n this._active = false;\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n this.effects.length = 0;\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n this.cleanups.length = 0;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n this.scopes.length = 0;\n }\n if (!this.detached && this.parent && !fromParent) {\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = void 0;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn, failSilently = false) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\n );\n }\n}\n\nlet activeSub;\nconst EffectFlags = {\n \"ACTIVE\": 1,\n \"1\": \"ACTIVE\",\n \"RUNNING\": 2,\n \"2\": \"RUNNING\",\n \"TRACKING\": 4,\n \"4\": \"TRACKING\",\n \"NOTIFIED\": 8,\n \"8\": \"NOTIFIED\",\n \"DIRTY\": 16,\n \"16\": \"DIRTY\",\n \"ALLOW_RECURSE\": 32,\n \"32\": \"ALLOW_RECURSE\",\n \"PAUSED\": 64,\n \"64\": \"PAUSED\"\n};\nconst pausedQueueEffects = /* @__PURE__ */ new WeakSet();\nclass ReactiveEffect {\n constructor(fn) {\n this.fn = fn;\n /**\n * @internal\n */\n this.deps = void 0;\n /**\n * @internal\n */\n this.depsTail = void 0;\n /**\n * @internal\n */\n this.flags = 1 | 4;\n /**\n * @internal\n */\n this.next = void 0;\n /**\n * @internal\n */\n this.cleanup = void 0;\n this.scheduler = void 0;\n if (activeEffectScope && activeEffectScope.active) {\n activeEffectScope.effects.push(this);\n }\n }\n pause() {\n this.flags |= 64;\n }\n resume() {\n if (this.flags & 64) {\n this.flags &= ~64;\n if (pausedQueueEffects.has(this)) {\n pausedQueueEffects.delete(this);\n this.trigger();\n }\n }\n }\n /**\n * @internal\n */\n notify() {\n if (this.flags & 2 && !(this.flags & 32)) {\n return;\n }\n if (!(this.flags & 8)) {\n batch(this);\n }\n }\n run() {\n if (!(this.flags & 1)) {\n return this.fn();\n }\n this.flags |= 2;\n cleanupEffect(this);\n prepareDeps(this);\n const prevEffect = activeSub;\n const prevShouldTrack = shouldTrack;\n activeSub = this;\n shouldTrack = true;\n try {\n return this.fn();\n } finally {\n if (!!(process.env.NODE_ENV !== \"production\") && activeSub !== this) {\n warn(\n \"Active effect was not restored correctly - this is likely a Vue internal bug.\"\n );\n }\n cleanupDeps(this);\n activeSub = prevEffect;\n shouldTrack = prevShouldTrack;\n this.flags &= ~2;\n }\n }\n stop() {\n if (this.flags & 1) {\n for (let link = this.deps; link; link = link.nextDep) {\n removeSub(link);\n }\n this.deps = this.depsTail = void 0;\n cleanupEffect(this);\n this.onStop && this.onStop();\n this.flags &= ~1;\n }\n }\n trigger() {\n if (this.flags & 64) {\n pausedQueueEffects.add(this);\n } else if (this.scheduler) {\n this.scheduler();\n } else {\n this.runIfDirty();\n }\n }\n /**\n * @internal\n */\n runIfDirty() {\n if (isDirty(this)) {\n this.run();\n }\n }\n get dirty() {\n return isDirty(this);\n }\n}\nlet batchDepth = 0;\nlet batchedSub;\nlet batchedComputed;\nfunction batch(sub, isComputed = false) {\n sub.flags |= 8;\n if (isComputed) {\n sub.next = batchedComputed;\n batchedComputed = sub;\n return;\n }\n sub.next = batchedSub;\n batchedSub = sub;\n}\nfunction startBatch() {\n batchDepth++;\n}\nfunction endBatch() {\n if (--batchDepth > 0) {\n return;\n }\n if (batchedComputed) {\n let e = batchedComputed;\n batchedComputed = void 0;\n while (e) {\n const next = e.next;\n e.next = void 0;\n e.flags &= ~8;\n e = next;\n }\n }\n let error;\n while (batchedSub) {\n let e = batchedSub;\n batchedSub = void 0;\n while (e) {\n const next = e.next;\n e.next = void 0;\n e.flags &= ~8;\n if (e.flags & 1) {\n try {\n ;\n e.trigger();\n } catch (err) {\n if (!error) error = err;\n }\n }\n e = next;\n }\n }\n if (error) throw error;\n}\nfunction prepareDeps(sub) {\n for (let link = sub.deps; link; link = link.nextDep) {\n link.version = -1;\n link.prevActiveLink = link.dep.activeLink;\n link.dep.activeLink = link;\n }\n}\nfunction cleanupDeps(sub) {\n let head;\n let tail = sub.depsTail;\n let link = tail;\n while (link) {\n const prev = link.prevDep;\n if (link.version === -1) {\n if (link === tail) tail = prev;\n removeSub(link);\n removeDep(link);\n } else {\n head = link;\n }\n link.dep.activeLink = link.prevActiveLink;\n link.prevActiveLink = void 0;\n link = prev;\n }\n sub.deps = head;\n sub.depsTail = tail;\n}\nfunction isDirty(sub) {\n for (let link = sub.deps; link; link = link.nextDep) {\n if (link.dep.version !== link.version || link.dep.computed && (refreshComputed(link.dep.computed) || link.dep.version !== link.version)) {\n return true;\n }\n }\n if (sub._dirty) {\n return true;\n }\n return false;\n}\nfunction refreshComputed(computed) {\n if (computed.flags & 4 && !(computed.flags & 16)) {\n return;\n }\n computed.flags &= ~16;\n if (computed.globalVersion === globalVersion) {\n return;\n }\n computed.globalVersion = globalVersion;\n const dep = computed.dep;\n computed.flags |= 2;\n if (dep.version > 0 && !computed.isSSR && computed.deps && !isDirty(computed)) {\n computed.flags &= ~2;\n return;\n }\n const prevSub = activeSub;\n const prevShouldTrack = shouldTrack;\n activeSub = computed;\n shouldTrack = true;\n try {\n prepareDeps(computed);\n const value = computed.fn(computed._value);\n if (dep.version === 0 || hasChanged(value, computed._value)) {\n computed._value = value;\n dep.version++;\n }\n } catch (err) {\n dep.version++;\n throw err;\n } finally {\n activeSub = prevSub;\n shouldTrack = prevShouldTrack;\n cleanupDeps(computed);\n computed.flags &= ~2;\n }\n}\nfunction removeSub(link, soft = false) {\n const { dep, prevSub, nextSub } = link;\n if (prevSub) {\n prevSub.nextSub = nextSub;\n link.prevSub = void 0;\n }\n if (nextSub) {\n nextSub.prevSub = prevSub;\n link.nextSub = void 0;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && dep.subsHead === link) {\n dep.subsHead = nextSub;\n }\n if (dep.subs === link) {\n dep.subs = prevSub;\n if (!prevSub && dep.computed) {\n dep.computed.flags &= ~4;\n for (let l = dep.computed.deps; l; l = l.nextDep) {\n removeSub(l, true);\n }\n }\n }\n if (!soft && !--dep.sc && dep.map) {\n dep.map.delete(dep.key);\n }\n}\nfunction removeDep(link) {\n const { prevDep, nextDep } = link;\n if (prevDep) {\n prevDep.nextDep = nextDep;\n link.prevDep = void 0;\n }\n if (nextDep) {\n nextDep.prevDep = prevDep;\n link.nextDep = void 0;\n }\n}\nfunction effect(fn, options) {\n if (fn.effect instanceof ReactiveEffect) {\n fn = fn.effect.fn;\n }\n const e = new ReactiveEffect(fn);\n if (options) {\n extend(e, options);\n }\n try {\n e.run();\n } catch (err) {\n e.stop();\n throw err;\n }\n const runner = e.run.bind(e);\n runner.effect = e;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n}\nfunction onEffectCleanup(fn, failSilently = false) {\n if (activeSub instanceof ReactiveEffect) {\n activeSub.cleanup = fn;\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onEffectCleanup() was called when there was no active effect to associate with.`\n );\n }\n}\nfunction cleanupEffect(e) {\n const { cleanup } = e;\n e.cleanup = void 0;\n if (cleanup) {\n const prevSub = activeSub;\n activeSub = void 0;\n try {\n cleanup();\n } finally {\n activeSub = prevSub;\n }\n }\n}\n\nlet globalVersion = 0;\nclass Link {\n constructor(sub, dep) {\n this.sub = sub;\n this.dep = dep;\n this.version = dep.version;\n this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0;\n }\n}\nclass Dep {\n constructor(computed) {\n this.computed = computed;\n this.version = 0;\n /**\n * Link between this dep and the current active effect\n */\n this.activeLink = void 0;\n /**\n * Doubly linked list representing the subscribing effects (tail)\n */\n this.subs = void 0;\n /**\n * For object property deps cleanup\n */\n this.map = void 0;\n this.key = void 0;\n /**\n * Subscriber counter\n */\n this.sc = 0;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.subsHead = void 0;\n }\n }\n track(debugInfo) {\n if (!activeSub || !shouldTrack || activeSub === this.computed) {\n return;\n }\n let link = this.activeLink;\n if (link === void 0 || link.sub !== activeSub) {\n link = this.activeLink = new Link(activeSub, this);\n if (!activeSub.deps) {\n activeSub.deps = activeSub.depsTail = link;\n } else {\n link.prevDep = activeSub.depsTail;\n activeSub.depsTail.nextDep = link;\n activeSub.depsTail = link;\n }\n addSub(link);\n } else if (link.version === -1) {\n link.version = this.version;\n if (link.nextDep) {\n const next = link.nextDep;\n next.prevDep = link.prevDep;\n if (link.prevDep) {\n link.prevDep.nextDep = next;\n }\n link.prevDep = activeSub.depsTail;\n link.nextDep = void 0;\n activeSub.depsTail.nextDep = link;\n activeSub.depsTail = link;\n if (activeSub.deps === link) {\n activeSub.deps = next;\n }\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") && activeSub.onTrack) {\n activeSub.onTrack(\n extend(\n {\n effect: activeSub\n },\n debugInfo\n )\n );\n }\n return link;\n }\n trigger(debugInfo) {\n this.version++;\n globalVersion++;\n this.notify(debugInfo);\n }\n notify(debugInfo) {\n startBatch();\n try {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n for (let head = this.subsHead; head; head = head.nextSub) {\n if (head.sub.onTrigger && !(head.sub.flags & 8)) {\n head.sub.onTrigger(\n extend(\n {\n effect: head.sub\n },\n debugInfo\n )\n );\n }\n }\n }\n for (let link = this.subs; link; link = link.prevSub) {\n if (link.sub.notify()) {\n ;\n link.sub.dep.notify();\n }\n }\n } finally {\n endBatch();\n }\n }\n}\nfunction addSub(link) {\n link.dep.sc++;\n if (link.sub.flags & 4) {\n const computed = link.dep.computed;\n if (computed && !link.dep.subs) {\n computed.flags |= 4 | 16;\n for (let l = computed.deps; l; l = l.nextDep) {\n addSub(l);\n }\n }\n const currentTail = link.dep.subs;\n if (currentTail !== link) {\n link.prevSub = currentTail;\n if (currentTail) currentTail.nextSub = link;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && link.dep.subsHead === void 0) {\n link.dep.subsHead = link;\n }\n link.dep.subs = link;\n }\n}\nconst targetMap = /* @__PURE__ */ new WeakMap();\nconst ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Object iterate\" : \"\"\n);\nconst MAP_KEY_ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Map keys iterate\" : \"\"\n);\nconst ARRAY_ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Array iterate\" : \"\"\n);\nfunction track(target, type, key) {\n if (shouldTrack && activeSub) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = new Dep());\n dep.map = depsMap;\n dep.key = key;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n dep.track({\n target,\n type,\n key\n });\n } else {\n dep.track();\n }\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n globalVersion++;\n return;\n }\n const run = (dep) => {\n if (dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n dep.trigger({\n target,\n type,\n key,\n newValue,\n oldValue,\n oldTarget\n });\n } else {\n dep.trigger();\n }\n }\n };\n startBatch();\n if (type === \"clear\") {\n depsMap.forEach(run);\n } else {\n const targetIsArray = isArray(target);\n const isArrayIndex = targetIsArray && isIntegerKey(key);\n if (targetIsArray && key === \"length\") {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || key2 === ARRAY_ITERATE_KEY || !isSymbol(key2) && key2 >= newLength) {\n run(dep);\n }\n });\n } else {\n if (key !== void 0 || depsMap.has(void 0)) {\n run(depsMap.get(key));\n }\n if (isArrayIndex) {\n run(depsMap.get(ARRAY_ITERATE_KEY));\n }\n switch (type) {\n case \"add\":\n if (!targetIsArray) {\n run(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n run(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (isArrayIndex) {\n run(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!targetIsArray) {\n run(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n run(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (isMap(target)) {\n run(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n }\n endBatch();\n}\nfunction getDepFromReactive(object, key) {\n const depMap = targetMap.get(object);\n return depMap && depMap.get(key);\n}\n\nfunction reactiveReadArray(array) {\n const raw = toRaw(array);\n if (raw === array) return raw;\n track(raw, \"iterate\", ARRAY_ITERATE_KEY);\n return isShallow(array) ? raw : raw.map(toReactive);\n}\nfunction shallowReadArray(arr) {\n track(arr = toRaw(arr), \"iterate\", ARRAY_ITERATE_KEY);\n return arr;\n}\nconst arrayInstrumentations = {\n __proto__: null,\n [Symbol.iterator]() {\n return iterator(this, Symbol.iterator, toReactive);\n },\n concat(...args) {\n return reactiveReadArray(this).concat(\n ...args.map((x) => isArray(x) ? reactiveReadArray(x) : x)\n );\n },\n entries() {\n return iterator(this, \"entries\", (value) => {\n value[1] = toReactive(value[1]);\n return value;\n });\n },\n every(fn, thisArg) {\n return apply(this, \"every\", fn, thisArg, void 0, arguments);\n },\n filter(fn, thisArg) {\n return apply(this, \"filter\", fn, thisArg, (v) => v.map(toReactive), arguments);\n },\n find(fn, thisArg) {\n return apply(this, \"find\", fn, thisArg, toReactive, arguments);\n },\n findIndex(fn, thisArg) {\n return apply(this, \"findIndex\", fn, thisArg, void 0, arguments);\n },\n findLast(fn, thisArg) {\n return apply(this, \"findLast\", fn, thisArg, toReactive, arguments);\n },\n findLastIndex(fn, thisArg) {\n return apply(this, \"findLastIndex\", fn, thisArg, void 0, arguments);\n },\n // flat, flatMap could benefit from ARRAY_ITERATE but are not straight-forward to implement\n forEach(fn, thisArg) {\n return apply(this, \"forEach\", fn, thisArg, void 0, arguments);\n },\n includes(...args) {\n return searchProxy(this, \"includes\", args);\n },\n indexOf(...args) {\n return searchProxy(this, \"indexOf\", args);\n },\n join(separator) {\n return reactiveReadArray(this).join(separator);\n },\n // keys() iterator only reads `length`, no optimisation required\n lastIndexOf(...args) {\n return searchProxy(this, \"lastIndexOf\", args);\n },\n map(fn, thisArg) {\n return apply(this, \"map\", fn, thisArg, void 0, arguments);\n },\n pop() {\n return noTracking(this, \"pop\");\n },\n push(...args) {\n return noTracking(this, \"push\", args);\n },\n reduce(fn, ...args) {\n return reduce(this, \"reduce\", fn, args);\n },\n reduceRight(fn, ...args) {\n return reduce(this, \"reduceRight\", fn, args);\n },\n shift() {\n return noTracking(this, \"shift\");\n },\n // slice could use ARRAY_ITERATE but also seems to beg for range tracking\n some(fn, thisArg) {\n return apply(this, \"some\", fn, thisArg, void 0, arguments);\n },\n splice(...args) {\n return noTracking(this, \"splice\", args);\n },\n toReversed() {\n return reactiveReadArray(this).toReversed();\n },\n toSorted(comparer) {\n return reactiveReadArray(this).toSorted(comparer);\n },\n toSpliced(...args) {\n return reactiveReadArray(this).toSpliced(...args);\n },\n unshift(...args) {\n return noTracking(this, \"unshift\", args);\n },\n values() {\n return iterator(this, \"values\", toReactive);\n }\n};\nfunction iterator(self, method, wrapValue) {\n const arr = shallowReadArray(self);\n const iter = arr[method]();\n if (arr !== self && !isShallow(self)) {\n iter._next = iter.next;\n iter.next = () => {\n const result = iter._next();\n if (result.value) {\n result.value = wrapValue(result.value);\n }\n return result;\n };\n }\n return iter;\n}\nconst arrayProto = Array.prototype;\nfunction apply(self, method, fn, thisArg, wrappedRetFn, args) {\n const arr = shallowReadArray(self);\n const needsWrap = arr !== self && !isShallow(self);\n const methodFn = arr[method];\n if (methodFn !== arrayProto[method]) {\n const result2 = methodFn.apply(self, args);\n return needsWrap ? toReactive(result2) : result2;\n }\n let wrappedFn = fn;\n if (arr !== self) {\n if (needsWrap) {\n wrappedFn = function(item, index) {\n return fn.call(this, toReactive(item), index, self);\n };\n } else if (fn.length > 2) {\n wrappedFn = function(item, index) {\n return fn.call(this, item, index, self);\n };\n }\n }\n const result = methodFn.call(arr, wrappedFn, thisArg);\n return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result;\n}\nfunction reduce(self, method, fn, args) {\n const arr = shallowReadArray(self);\n let wrappedFn = fn;\n if (arr !== self) {\n if (!isShallow(self)) {\n wrappedFn = function(acc, item, index) {\n return fn.call(this, acc, toReactive(item), index, self);\n };\n } else if (fn.length > 3) {\n wrappedFn = function(acc, item, index) {\n return fn.call(this, acc, item, index, self);\n };\n }\n }\n return arr[method](wrappedFn, ...args);\n}\nfunction searchProxy(self, method, args) {\n const arr = toRaw(self);\n track(arr, \"iterate\", ARRAY_ITERATE_KEY);\n const res = arr[method](...args);\n if ((res === -1 || res === false) && isProxy(args[0])) {\n args[0] = toRaw(args[0]);\n return arr[method](...args);\n }\n return res;\n}\nfunction noTracking(self, method, args = []) {\n pauseTracking();\n startBatch();\n const res = toRaw(self)[method].apply(self, args);\n endBatch();\n resetTracking();\n return res;\n}\n\nconst isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(isSymbol)\n);\nfunction hasOwnProperty(key) {\n if (!isSymbol(key)) key = String(key);\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nclass BaseReactiveHandler {\n constructor(_isReadonly = false, _isShallow = false) {\n this._isReadonly = _isReadonly;\n this._isShallow = _isShallow;\n }\n get(target, key, receiver) {\n if (key === \"__v_skip\") return target[\"__v_skip\"];\n const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return isShallow2;\n } else if (key === \"__v_raw\") {\n if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype\n // this means the receiver is a user proxy of the reactive proxy\n Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {\n return target;\n }\n return;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly2) {\n let fn;\n if (targetIsArray && (fn = arrayInstrumentations[key])) {\n return fn;\n }\n if (key === \"hasOwnProperty\") {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(\n target,\n key,\n // if this is a proxy wrapping a ref, return methods using the raw ref\n // as receiver so that we don't have to call `toRaw` on the ref in all\n // its class methods\n isRef(target) ? target : receiver\n );\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (isShallow2) {\n return res;\n }\n if (isRef(res)) {\n return targetIsArray && isIntegerKey(key) ? res : res.value;\n }\n if (isObject(res)) {\n return isReadonly2 ? readonly(res) : reactive(res);\n }\n return res;\n }\n}\nclass MutableReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(false, isShallow2);\n }\n set(target, key, value, receiver) {\n let oldValue = target[key];\n if (!this._isShallow) {\n const isOldValueReadonly = isReadonly(oldValue);\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n if (isOldValueReadonly) {\n return false;\n } else {\n oldValue.value = value;\n return true;\n }\n }\n }\n const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);\n const result = Reflect.set(\n target,\n key,\n value,\n isRef(target) ? target : receiver\n );\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n }\n deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n }\n has(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n }\n ownKeys(target) {\n track(\n target,\n \"iterate\",\n isArray(target) ? \"length\" : ITERATE_KEY\n );\n return Reflect.ownKeys(target);\n }\n}\nclass ReadonlyReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(true, isShallow2);\n }\n set(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n deleteProperty(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n}\nconst mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();\nconst readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();\nconst shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(true);\nconst shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction createIterableMethod(method, isReadonly2, isShallow2) {\n return function(...args) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive;\n !isReadonly2 && track(\n rawTarget,\n \"iterate\",\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\n );\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done ? { value, done } : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function(...args) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n warn(\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\n toRaw(this)\n );\n }\n return type === \"delete\" ? false : type === \"clear\" ? void 0 : this;\n };\n}\nfunction createInstrumentations(readonly, shallow) {\n const instrumentations = {\n get(key) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!readonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"get\", key);\n }\n track(rawTarget, \"get\", rawKey);\n }\n const { has } = getProto(rawTarget);\n const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive;\n if (has.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n },\n get size() {\n const target = this[\"__v_raw\"];\n !readonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\n return Reflect.get(target, \"size\", target);\n },\n has(key) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!readonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"has\", key);\n }\n track(rawTarget, \"has\", rawKey);\n }\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n },\n forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive;\n !readonly && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n }\n };\n extend(\n instrumentations,\n readonly ? {\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\")\n } : {\n add(value) {\n if (!shallow && !isShallow(value) && !isReadonly(value)) {\n value = toRaw(value);\n }\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\", value, value);\n }\n return this;\n },\n set(key, value) {\n if (!shallow && !isShallow(value) && !isReadonly(value)) {\n value = toRaw(value);\n }\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n },\n delete(key) {\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get ? get.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n },\n clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = !!(process.env.NODE_ENV !== \"production\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\n const result = target.clear();\n if (hadItems) {\n trigger(\n target,\n \"clear\",\n void 0,\n void 0,\n oldTarget\n );\n }\n return result;\n }\n }\n );\n const iteratorMethods = [\n \"keys\",\n \"values\",\n \"entries\",\n Symbol.iterator\n ];\n iteratorMethods.forEach((method) => {\n instrumentations[method] = createIterableMethod(method, readonly, shallow);\n });\n return instrumentations;\n}\nfunction createInstrumentationGetter(isReadonly2, shallow) {\n const instrumentations = createInstrumentations(isReadonly2, shallow);\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\n key,\n receiver\n );\n };\n}\nconst mutableCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has.call(target, rawKey)) {\n const type = toRawType(target);\n warn(\n `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`\n );\n }\n}\n\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1 /* COMMON */;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2 /* COLLECTION */;\n default:\n return 0 /* INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));\n}\nfunction reactive(target) {\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(\n target,\n false,\n mutableHandlers,\n mutableCollectionHandlers,\n reactiveMap\n );\n}\nfunction shallowReactive(target) {\n return createReactiveObject(\n target,\n false,\n shallowReactiveHandlers,\n shallowCollectionHandlers,\n shallowReactiveMap\n );\n}\nfunction readonly(target) {\n return createReactiveObject(\n target,\n true,\n readonlyHandlers,\n readonlyCollectionHandlers,\n readonlyMap\n );\n}\nfunction shallowReadonly(target) {\n return createReactiveObject(\n target,\n true,\n shallowReadonlyHandlers,\n shallowReadonlyCollectionHandlers,\n shallowReadonlyMap\n );\n}\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `value cannot be made ${isReadonly2 ? \"readonly\" : \"reactive\"}: ${String(\n target\n )}`\n );\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const targetType = getTargetType(target);\n if (targetType === 0 /* INVALID */) {\n return target;\n }\n const proxy = new Proxy(\n target,\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\n );\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\"]);\n}\nfunction isProxy(value) {\n return value ? !!value[\"__v_raw\"] : false;\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n if (!hasOwn(value, \"__v_skip\") && Object.isExtensible(value)) {\n def(value, \"__v_skip\", true);\n }\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nfunction isRef(r) {\n return r ? r[\"__v_isRef\"] === true : false;\n}\nfunction ref(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, isShallow2) {\n this.dep = new Dep();\n this[\"__v_isRef\"] = true;\n this[\"__v_isShallow\"] = false;\n this._rawValue = isShallow2 ? value : toRaw(value);\n this._value = isShallow2 ? value : toReactive(value);\n this[\"__v_isShallow\"] = isShallow2;\n }\n get value() {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.dep.track({\n target: this,\n type: \"get\",\n key: \"value\"\n });\n } else {\n this.dep.track();\n }\n return this._value;\n }\n set value(newValue) {\n const oldValue = this._rawValue;\n const useDirectValue = this[\"__v_isShallow\"] || isShallow(newValue) || isReadonly(newValue);\n newValue = useDirectValue ? newValue : toRaw(newValue);\n if (hasChanged(newValue, oldValue)) {\n this._rawValue = newValue;\n this._value = useDirectValue ? newValue : toReactive(newValue);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.dep.trigger({\n target: this,\n type: \"set\",\n key: \"value\",\n newValue,\n oldValue\n });\n } else {\n this.dep.trigger();\n }\n }\n }\n}\nfunction triggerRef(ref2) {\n if (ref2.dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n ref2.dep.trigger({\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: ref2._value\n });\n } else {\n ref2.dep.trigger();\n }\n }\n}\nfunction unref(ref2) {\n return isRef(ref2) ? ref2.value : ref2;\n}\nfunction toValue(source) {\n return isFunction(source) ? source() : unref(source);\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => key === \"__v_raw\" ? target : unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this[\"__v_isRef\"] = true;\n this._value = void 0;\n const dep = this.dep = new Dep();\n const { get, set } = factory(dep.track.bind(dep), dep.trigger.bind(dep));\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._value = this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\nfunction toRefs(object) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isProxy(object)) {\n warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = propertyToRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this[\"__v_isRef\"] = true;\n this._value = void 0;\n }\n get value() {\n const val = this._object[this._key];\n return this._value = val === void 0 ? this._defaultValue : val;\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(toRaw(this._object), this._key);\n }\n}\nclass GetterRefImpl {\n constructor(_getter) {\n this._getter = _getter;\n this[\"__v_isRef\"] = true;\n this[\"__v_isReadonly\"] = true;\n this._value = void 0;\n }\n get value() {\n return this._value = this._getter();\n }\n}\nfunction toRef(source, key, defaultValue) {\n if (isRef(source)) {\n return source;\n } else if (isFunction(source)) {\n return new GetterRefImpl(source);\n } else if (isObject(source) && arguments.length > 1) {\n return propertyToRef(source, key, defaultValue);\n } else {\n return ref(source);\n }\n}\nfunction propertyToRef(source, key, defaultValue) {\n const val = source[key];\n return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);\n}\n\nclass ComputedRefImpl {\n constructor(fn, setter, isSSR) {\n this.fn = fn;\n this.setter = setter;\n /**\n * @internal\n */\n this._value = void 0;\n /**\n * @internal\n */\n this.dep = new Dep(this);\n /**\n * @internal\n */\n this.__v_isRef = true;\n // TODO isolatedDeclarations \"__v_isReadonly\"\n // A computed is also a subscriber that tracks other deps\n /**\n * @internal\n */\n this.deps = void 0;\n /**\n * @internal\n */\n this.depsTail = void 0;\n /**\n * @internal\n */\n this.flags = 16;\n /**\n * @internal\n */\n this.globalVersion = globalVersion - 1;\n /**\n * @internal\n */\n this.next = void 0;\n // for backwards compat\n this.effect = this;\n this[\"__v_isReadonly\"] = !setter;\n this.isSSR = isSSR;\n }\n /**\n * @internal\n */\n notify() {\n this.flags |= 16;\n if (!(this.flags & 8) && // avoid infinite self recursion\n activeSub !== this) {\n batch(this, true);\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\")) ;\n }\n get value() {\n const link = !!(process.env.NODE_ENV !== \"production\") ? this.dep.track({\n target: this,\n type: \"get\",\n key: \"value\"\n }) : this.dep.track();\n refreshComputed(this);\n if (link) {\n link.version = this.dep.version;\n }\n return this._value;\n }\n set value(newValue) {\n if (this.setter) {\n this.setter(newValue);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\"Write operation failed: computed value is readonly\");\n }\n }\n}\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n if (isFunction(getterOrOptions)) {\n getter = getterOrOptions;\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, isSSR);\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\n cRef.onTrack = debugOptions.onTrack;\n cRef.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nconst TrackOpTypes = {\n \"GET\": \"get\",\n \"HAS\": \"has\",\n \"ITERATE\": \"iterate\"\n};\nconst TriggerOpTypes = {\n \"SET\": \"set\",\n \"ADD\": \"add\",\n \"DELETE\": \"delete\",\n \"CLEAR\": \"clear\"\n};\nconst ReactiveFlags = {\n \"SKIP\": \"__v_skip\",\n \"IS_REACTIVE\": \"__v_isReactive\",\n \"IS_READONLY\": \"__v_isReadonly\",\n \"IS_SHALLOW\": \"__v_isShallow\",\n \"RAW\": \"__v_raw\",\n \"IS_REF\": \"__v_isRef\"\n};\n\nconst WatchErrorCodes = {\n \"WATCH_GETTER\": 2,\n \"2\": \"WATCH_GETTER\",\n \"WATCH_CALLBACK\": 3,\n \"3\": \"WATCH_CALLBACK\",\n \"WATCH_CLEANUP\": 4,\n \"4\": \"WATCH_CLEANUP\"\n};\nconst INITIAL_WATCHER_VALUE = {};\nconst cleanupMap = /* @__PURE__ */ new WeakMap();\nlet activeWatcher = void 0;\nfunction getCurrentWatcher() {\n return activeWatcher;\n}\nfunction onWatcherCleanup(cleanupFn, failSilently = false, owner = activeWatcher) {\n if (owner) {\n let cleanups = cleanupMap.get(owner);\n if (!cleanups) cleanupMap.set(owner, cleanups = []);\n cleanups.push(cleanupFn);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onWatcherCleanup() was called when there was no active watcher to associate with.`\n );\n }\n}\nfunction watch(source, cb, options = EMPTY_OBJ) {\n const { immediate, deep, once, scheduler, augmentJob, call } = options;\n const warnInvalidSource = (s) => {\n (options.onWarn || warn)(\n `Invalid watch source: `,\n s,\n `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`\n );\n };\n const reactiveGetter = (source2) => {\n if (deep) return source2;\n if (isShallow(source2) || deep === false || deep === 0)\n return traverse(source2, 1);\n return traverse(source2);\n };\n let effect;\n let getter;\n let cleanup;\n let boundCleanup;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow(source);\n } else if (isReactive(source)) {\n getter = () => reactiveGetter(source);\n forceTrigger = true;\n } else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some((s) => isReactive(s) || isShallow(s));\n getter = () => source.map((s) => {\n if (isRef(s)) {\n return s.value;\n } else if (isReactive(s)) {\n return reactiveGetter(s);\n } else if (isFunction(s)) {\n return call ? call(s, 2) : s();\n } else {\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\n }\n });\n } else if (isFunction(source)) {\n if (cb) {\n getter = call ? () => call(source, 2) : source;\n } else {\n getter = () => {\n if (cleanup) {\n pauseTracking();\n try {\n cleanup();\n } finally {\n resetTracking();\n }\n }\n const currentEffect = activeWatcher;\n activeWatcher = effect;\n try {\n return call ? call(source, 3, [boundCleanup]) : source(boundCleanup);\n } finally {\n activeWatcher = currentEffect;\n }\n };\n }\n } else {\n getter = NOOP;\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n const depth = deep === true ? Infinity : deep;\n getter = () => traverse(baseGetter(), depth);\n }\n const scope = getCurrentScope();\n const watchHandle = () => {\n effect.stop();\n if (scope && scope.active) {\n remove(scope.effects, effect);\n }\n };\n if (once && cb) {\n const _cb = cb;\n cb = (...args) => {\n _cb(...args);\n watchHandle();\n };\n }\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n const job = (immediateFirstRun) => {\n if (!(effect.flags & 1) || !effect.dirty && !immediateFirstRun) {\n return;\n }\n if (cb) {\n const newValue = effect.run();\n if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue))) {\n if (cleanup) {\n cleanup();\n }\n const currentWatcher = activeWatcher;\n activeWatcher = effect;\n try {\n const args = [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,\n boundCleanup\n ];\n call ? call(cb, 3, args) : (\n // @ts-expect-error\n cb(...args)\n );\n oldValue = newValue;\n } finally {\n activeWatcher = currentWatcher;\n }\n }\n } else {\n effect.run();\n }\n };\n if (augmentJob) {\n augmentJob(job);\n }\n effect = new ReactiveEffect(getter);\n effect.scheduler = scheduler ? () => scheduler(job, false) : job;\n boundCleanup = (fn) => onWatcherCleanup(fn, false, effect);\n cleanup = effect.onStop = () => {\n const cleanups = cleanupMap.get(effect);\n if (cleanups) {\n if (call) {\n call(cleanups, 4);\n } else {\n for (const cleanup2 of cleanups) cleanup2();\n }\n cleanupMap.delete(effect);\n }\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = options.onTrack;\n effect.onTrigger = options.onTrigger;\n }\n if (cb) {\n if (immediate) {\n job(true);\n } else {\n oldValue = effect.run();\n }\n } else if (scheduler) {\n scheduler(job.bind(null, true), true);\n } else {\n effect.run();\n }\n watchHandle.pause = effect.pause.bind(effect);\n watchHandle.resume = effect.resume.bind(effect);\n watchHandle.stop = watchHandle;\n return watchHandle;\n}\nfunction traverse(value, depth = Infinity, seen) {\n if (depth <= 0 || !isObject(value) || value[\"__v_skip\"]) {\n return value;\n }\n seen = seen || /* @__PURE__ */ new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n depth--;\n if (isRef(value)) {\n traverse(value.value, depth, seen);\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], depth, seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, depth, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], depth, seen);\n }\n for (const key of Object.getOwnPropertySymbols(value)) {\n if (Object.prototype.propertyIsEnumerable.call(value, key)) {\n traverse(value[key], depth, seen);\n }\n }\n }\n return value;\n}\n\nexport { ARRAY_ITERATE_KEY, EffectFlags, EffectScope, ITERATE_KEY, MAP_KEY_ITERATE_KEY, ReactiveEffect, ReactiveFlags, TrackOpTypes, TriggerOpTypes, WatchErrorCodes, computed, customRef, effect, effectScope, enableTracking, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onEffectCleanup, onScopeDispose, onWatcherCleanup, pauseTracking, proxyRefs, reactive, reactiveReadArray, readonly, ref, resetTracking, shallowReactive, shallowReadArray, shallowReadonly, shallowRef, stop, toRaw, toReactive, toReadonly, toRef, toRefs, toValue, track, traverse, trigger, triggerRef, unref, watch };\n","/**\n* @vue/runtime-core v3.5.13\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { pauseTracking, resetTracking, isRef, toRaw, traverse, shallowRef, readonly, isReactive, ref, isShallow, shallowReadArray, toReactive, shallowReadonly, track, reactive, shallowReactive, trigger, ReactiveEffect, watch as watch$1, customRef, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1, isReadonly } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, TrackOpTypes, TriggerOpTypes, customRef, effect, effectScope, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, onWatcherCleanup, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, EMPTY_OBJ, NOOP, getGlobalThis, extend, isBuiltInDirective, hasOwn, remove, def, isOn, isReservedProp, normalizeClass, stringifyStyle, normalizeStyle, isKnownSvgAttr, isBooleanAttr, isKnownHtmlAttr, includeBooleanAttr, isRenderableAttrValue, getEscapedCssVarName, isObject, isRegExp, invokeArrayFns, toHandlerKey, capitalize, camelize, isSymbol, isGloballyAllowed, NO, hyphenate, EMPTY_ARR, toRawType, makeMap, hasChanged, looseToNumber, isModelListener, toNumber } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nlet isWarning = false;\nfunction warn$1(msg, ...args) {\n if (isWarning) return;\n isWarning = true;\n pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(\n appWarnHandler,\n instance,\n 11,\n [\n // eslint-disable-next-line no-restricted-syntax\n msg + args.map((a) => {\n var _a, _b;\n return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a);\n }).join(\"\"),\n instance && instance.proxy,\n trace.map(\n ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`\n ).join(\"\\n\"),\n trace\n ]\n );\n } else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n if (trace.length && // avoid spamming console during tests\n true) {\n warnArgs.push(`\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n resetTracking();\n isWarning = false;\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n } else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...i === 0 ? [] : [`\n`], ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(\n vnode.component,\n vnode.type,\n isRoot\n )}`;\n const close = `>` + postfix;\n return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];\n}\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach((key) => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n } else if (typeof value === \"number\" || typeof value === \"boolean\" || value == null) {\n return raw ? value : [`${key}=${value}`];\n } else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n } else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n } else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\nfunction assertNumber(val, type) {\n if (!!!(process.env.NODE_ENV !== \"production\")) return;\n if (val === void 0) {\n return;\n } else if (typeof val !== \"number\") {\n warn$1(`${type} is not a valid number - got ${JSON.stringify(val)}.`);\n } else if (isNaN(val)) {\n warn$1(`${type} is NaN - the duration expression might be incorrect.`);\n }\n}\n\nconst ErrorCodes = {\n \"SETUP_FUNCTION\": 0,\n \"0\": \"SETUP_FUNCTION\",\n \"RENDER_FUNCTION\": 1,\n \"1\": \"RENDER_FUNCTION\",\n \"NATIVE_EVENT_HANDLER\": 5,\n \"5\": \"NATIVE_EVENT_HANDLER\",\n \"COMPONENT_EVENT_HANDLER\": 6,\n \"6\": \"COMPONENT_EVENT_HANDLER\",\n \"VNODE_HOOK\": 7,\n \"7\": \"VNODE_HOOK\",\n \"DIRECTIVE_HOOK\": 8,\n \"8\": \"DIRECTIVE_HOOK\",\n \"TRANSITION_HOOK\": 9,\n \"9\": \"TRANSITION_HOOK\",\n \"APP_ERROR_HANDLER\": 10,\n \"10\": \"APP_ERROR_HANDLER\",\n \"APP_WARN_HANDLER\": 11,\n \"11\": \"APP_WARN_HANDLER\",\n \"FUNCTION_REF\": 12,\n \"12\": \"FUNCTION_REF\",\n \"ASYNC_COMPONENT_LOADER\": 13,\n \"13\": \"ASYNC_COMPONENT_LOADER\",\n \"SCHEDULER\": 14,\n \"14\": \"SCHEDULER\",\n \"COMPONENT_UPDATE\": 15,\n \"15\": \"COMPONENT_UPDATE\",\n \"APP_UNMOUNT_CLEANUP\": 16,\n \"16\": \"APP_UNMOUNT_CLEANUP\"\n};\nconst ErrorTypeStrings$1 = {\n [\"sp\"]: \"serverPrefetch hook\",\n [\"bc\"]: \"beforeCreate hook\",\n [\"c\"]: \"created hook\",\n [\"bm\"]: \"beforeMount hook\",\n [\"m\"]: \"mounted hook\",\n [\"bu\"]: \"beforeUpdate hook\",\n [\"u\"]: \"updated\",\n [\"bum\"]: \"beforeUnmount hook\",\n [\"um\"]: \"unmounted hook\",\n [\"a\"]: \"activated hook\",\n [\"da\"]: \"deactivated hook\",\n [\"ec\"]: \"errorCaptured hook\",\n [\"rtc\"]: \"renderTracked hook\",\n [\"rtg\"]: \"renderTriggered hook\",\n [0]: \"setup function\",\n [1]: \"render function\",\n [2]: \"watcher getter\",\n [3]: \"watcher callback\",\n [4]: \"watcher cleanup function\",\n [5]: \"native event handler\",\n [6]: \"component event handler\",\n [7]: \"vnode hook\",\n [8]: \"directive hook\",\n [9]: \"transition hook\",\n [10]: \"app errorHandler\",\n [11]: \"app warnHandler\",\n [12]: \"ref function\",\n [13]: \"async component loader\",\n [14]: \"scheduler flush\",\n [15]: \"component update\",\n [16]: \"app unmount cleanup function\"\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n try {\n return args ? fn(...args) : fn();\n } catch (err) {\n handleError(err, instance, type);\n }\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && isPromise(res)) {\n res.catch((err) => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n if (isArray(fn)) {\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `Invalid value type passed to callWithAsyncErrorHandling(): ${typeof fn}`\n );\n }\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n const { errorHandler, throwUnhandledErrorInProduction } = instance && instance.appContext.config || EMPTY_OBJ;\n if (instance) {\n let cur = instance.parent;\n const exposedInstance = instance.proxy;\n const errorInfo = !!(process.env.NODE_ENV !== \"production\") ? ErrorTypeStrings$1[type] : `https://vuejs.org/error-reference/#runtime-${type}`;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n if (errorHandler) {\n pauseTracking();\n callWithErrorHandling(errorHandler, null, 10, [\n err,\n exposedInstance,\n errorInfo\n ]);\n resetTracking();\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev, throwUnhandledErrorInProduction);\n}\nfunction logError(err, type, contextVNode, throwInDev = true, throwInProd = false) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const info = ErrorTypeStrings$1[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n if (throwInDev) {\n throw err;\n } else {\n console.error(err);\n }\n } else if (throwInProd) {\n throw err;\n } else {\n console.error(err);\n }\n}\n\nconst queue = [];\nlet flushIndex = -1;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /* @__PURE__ */ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\nfunction findInsertionIndex(id) {\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = start + end >>> 1;\n const middleJob = queue[middle];\n const middleJobId = getId(middleJob);\n if (middleJobId < id || middleJobId === id && middleJob.flags & 2) {\n start = middle + 1;\n } else {\n end = middle;\n }\n }\n return start;\n}\nfunction queueJob(job) {\n if (!(job.flags & 1)) {\n const jobId = getId(job);\n const lastJob = queue[queue.length - 1];\n if (!lastJob || // fast path when the job id is larger than the tail\n !(job.flags & 2) && jobId >= getId(lastJob)) {\n queue.push(job);\n } else {\n queue.splice(findInsertionIndex(jobId), 0, job);\n }\n job.flags |= 1;\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!currentFlushPromise) {\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (activePostFlushCbs && cb.id === -1) {\n activePostFlushCbs.splice(postFlushIndex + 1, 0, cb);\n } else if (!(cb.flags & 1)) {\n pendingPostFlushCbs.push(cb);\n cb.flags |= 1;\n }\n } else {\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(instance, seen, i = flushIndex + 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.flags & 2) {\n if (instance && cb.id !== instance.uid) {\n continue;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n if (cb.flags & 4) {\n cb.flags &= ~1;\n }\n cb();\n if (!(cb.flags & 4)) {\n cb.flags &= ~1;\n }\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)].sort(\n (a, b) => getId(a) - getId(b)\n );\n pendingPostFlushCbs.length = 0;\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n const cb = activePostFlushCbs[postFlushIndex];\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n if (cb.flags & 4) {\n cb.flags &= ~1;\n }\n if (!(cb.flags & 8)) cb();\n cb.flags &= ~1;\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id;\nfunction flushJobs(seen) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n const check = !!(process.env.NODE_ENV !== \"production\") ? (job) => checkRecursiveUpdates(seen, job) : NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && !(job.flags & 8)) {\n if (!!(process.env.NODE_ENV !== \"production\") && check(job)) {\n continue;\n }\n if (job.flags & 4) {\n job.flags &= ~1;\n }\n callWithErrorHandling(\n job,\n job.i,\n job.i ? 15 : 14\n );\n if (!(job.flags & 4)) {\n job.flags &= ~1;\n }\n }\n }\n } finally {\n for (; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job) {\n job.flags &= ~1;\n }\n }\n flushIndex = -1;\n queue.length = 0;\n flushPostFlushCbs(seen);\n currentFlushPromise = null;\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n const count = seen.get(fn) || 0;\n if (count > RECURSION_LIMIT) {\n const instance = fn.i;\n const componentName = instance && getComponentName(instance.type);\n handleError(\n `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,\n null,\n 10\n );\n return true;\n }\n seen.set(fn, count + 1);\n return false;\n}\n\nlet isHmrUpdating = false;\nconst hmrDirtyComponents = /* @__PURE__ */ new Map();\nif (!!(process.env.NODE_ENV !== \"production\")) {\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\n createRecord: tryWrap(createRecord),\n rerender: tryWrap(rerender),\n reload: tryWrap(reload)\n };\n}\nconst map = /* @__PURE__ */ new Map();\nfunction registerHMR(instance) {\n const id = instance.type.__hmrId;\n let record = map.get(id);\n if (!record) {\n createRecord(id, instance.type);\n record = map.get(id);\n }\n record.instances.add(instance);\n}\nfunction unregisterHMR(instance) {\n map.get(instance.type.__hmrId).instances.delete(instance);\n}\nfunction createRecord(id, initialDef) {\n if (map.has(id)) {\n return false;\n }\n map.set(id, {\n initialDef: normalizeClassComponent(initialDef),\n instances: /* @__PURE__ */ new Set()\n });\n return true;\n}\nfunction normalizeClassComponent(component) {\n return isClassComponent(component) ? component.__vccOpts : component;\n}\nfunction rerender(id, newRender) {\n const record = map.get(id);\n if (!record) {\n return;\n }\n record.initialDef.render = newRender;\n [...record.instances].forEach((instance) => {\n if (newRender) {\n instance.render = newRender;\n normalizeClassComponent(instance.type).render = newRender;\n }\n instance.renderCache = [];\n isHmrUpdating = true;\n instance.update();\n isHmrUpdating = false;\n });\n}\nfunction reload(id, newComp) {\n const record = map.get(id);\n if (!record) return;\n newComp = normalizeClassComponent(newComp);\n updateComponentDef(record.initialDef, newComp);\n const instances = [...record.instances];\n for (let i = 0; i < instances.length; i++) {\n const instance = instances[i];\n const oldComp = normalizeClassComponent(instance.type);\n let dirtyInstances = hmrDirtyComponents.get(oldComp);\n if (!dirtyInstances) {\n if (oldComp !== record.initialDef) {\n updateComponentDef(oldComp, newComp);\n }\n hmrDirtyComponents.set(oldComp, dirtyInstances = /* @__PURE__ */ new Set());\n }\n dirtyInstances.add(instance);\n instance.appContext.propsCache.delete(instance.type);\n instance.appContext.emitsCache.delete(instance.type);\n instance.appContext.optionsCache.delete(instance.type);\n if (instance.ceReload) {\n dirtyInstances.add(instance);\n instance.ceReload(newComp.styles);\n dirtyInstances.delete(instance);\n } else if (instance.parent) {\n queueJob(() => {\n isHmrUpdating = true;\n instance.parent.update();\n isHmrUpdating = false;\n dirtyInstances.delete(instance);\n });\n } else if (instance.appContext.reload) {\n instance.appContext.reload();\n } else if (typeof window !== \"undefined\") {\n window.location.reload();\n } else {\n console.warn(\n \"[HMR] Root or manually mounted instance modified. Full reload required.\"\n );\n }\n if (instance.root.ce && instance !== instance.root) {\n instance.root.ce._removeChildStyle(oldComp);\n }\n }\n queuePostFlushCb(() => {\n hmrDirtyComponents.clear();\n });\n}\nfunction updateComponentDef(oldComp, newComp) {\n extend(oldComp, newComp);\n for (const key in oldComp) {\n if (key !== \"__file\" && !(key in newComp)) {\n delete oldComp[key];\n }\n }\n}\nfunction tryWrap(fn) {\n return (id, arg) => {\n try {\n return fn(id, arg);\n } catch (e) {\n console.error(e);\n console.warn(\n `[HMR] Something went wrong during Vue component hot-reload. Full reload required.`\n );\n }\n };\n}\n\nlet devtools$1;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools$1) {\n devtools$1.emit(event, ...args);\n } else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook$1(hook, target) {\n var _a, _b;\n devtools$1 = hook;\n if (devtools$1) {\n devtools$1.enabled = true;\n buffer.forEach(({ event, args }) => devtools$1.emit(event, ...args));\n buffer = [];\n } else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== \"undefined\" && // some envs mock window but not fully\n window.HTMLElement && // also exclude jsdom\n // eslint-disable-next-line no-restricted-syntax\n !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes(\"jsdom\"))\n ) {\n const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];\n replay.push((newHook) => {\n setDevtoolsHook$1(newHook, target);\n });\n setTimeout(() => {\n if (!devtools$1) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3e3);\n } else {\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nfunction devtoolsUnmountApp(app) {\n emit$1(\"app:unmount\" /* APP_UNMOUNT */, app);\n}\nconst devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(\"component:added\" /* COMPONENT_ADDED */);\nconst devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:removed\" /* COMPONENT_REMOVED */\n);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools$1 && typeof devtools$1.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\n !devtools$1.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(\n hook,\n component.appContext.app,\n component.uid,\n component.parent ? component.parent.uid : void 0,\n component\n );\n };\n}\nconst devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(\"perf:start\" /* PERFORMANCE_START */);\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\"perf:end\" /* PERFORMANCE_END */);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\n \"component:emit\" /* COMPONENT_EMIT */,\n component.appContext.app,\n component,\n event,\n params\n );\n}\n\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = instance && instance.type.__scopeId || null;\n return prev;\n}\nfunction pushScopeId(id) {\n currentScopeId = id;\n}\nfunction popScopeId() {\n currentScopeId = null;\n}\nconst withScopeId = (_id) => withCtx;\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {\n if (!ctx) return fn;\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n } finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n renderFnWithContext._n = true;\n renderFnWithContext._c = true;\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\nfunction validateDirectiveName(name) {\n if (isBuiltInDirective(name)) {\n warn$1(\"Do not use built-in directive ids as custom directive id: \" + name);\n }\n}\nfunction withDirectives(vnode, directives) {\n if (currentRenderingInstance === null) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`withDirectives can only be used inside render functions.`);\n return vnode;\n }\n const instance = getComponentPublicInstance(currentRenderingInstance);\n const bindings = vnode.dirs || (vnode.dirs = []);\n for (let i = 0; i < directives.length; i++) {\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\n if (dir) {\n if (isFunction(dir)) {\n dir = {\n mounted: dir,\n updated: dir\n };\n }\n if (dir.deep) {\n traverse(value);\n }\n bindings.push({\n dir,\n instance,\n value,\n oldValue: void 0,\n arg,\n modifiers\n });\n }\n }\n return vnode;\n}\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\n const bindings = vnode.dirs;\n const oldBindings = prevVNode && prevVNode.dirs;\n for (let i = 0; i < bindings.length; i++) {\n const binding = bindings[i];\n if (oldBindings) {\n binding.oldValue = oldBindings[i].value;\n }\n let hook = binding.dir[name];\n if (hook) {\n pauseTracking();\n callWithAsyncErrorHandling(hook, instance, 8, [\n vnode.el,\n binding,\n vnode,\n prevVNode\n ]);\n resetTracking();\n }\n }\n}\n\nconst TeleportEndKey = Symbol(\"_vte\");\nconst isTeleport = (type) => type.__isTeleport;\nconst isTeleportDisabled = (props) => props && (props.disabled || props.disabled === \"\");\nconst isTeleportDeferred = (props) => props && (props.defer || props.defer === \"\");\nconst isTargetSVG = (target) => typeof SVGElement !== \"undefined\" && target instanceof SVGElement;\nconst isTargetMathML = (target) => typeof MathMLElement === \"function\" && target instanceof MathMLElement;\nconst resolveTarget = (props, select) => {\n const targetSelector = props && props.to;\n if (isString(targetSelector)) {\n if (!select) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `Current renderer does not support string target for Teleports. (missing querySelector renderer option)`\n );\n return null;\n } else {\n const target = select(targetSelector);\n if (!!(process.env.NODE_ENV !== \"production\") && !target && !isTeleportDisabled(props)) {\n warn$1(\n `Failed to locate Teleport target with selector \"${targetSelector}\". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.`\n );\n }\n return target;\n }\n } else {\n if (!!(process.env.NODE_ENV !== \"production\") && !targetSelector && !isTeleportDisabled(props)) {\n warn$1(`Invalid Teleport target: ${targetSelector}`);\n }\n return targetSelector;\n }\n};\nconst TeleportImpl = {\n name: \"Teleport\",\n __isTeleport: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals) {\n const {\n mc: mountChildren,\n pc: patchChildren,\n pbc: patchBlockChildren,\n o: { insert, querySelector, createText, createComment }\n } = internals;\n const disabled = isTeleportDisabled(n2.props);\n let { shapeFlag, children, dynamicChildren } = n2;\n if (!!(process.env.NODE_ENV !== \"production\") && isHmrUpdating) {\n optimized = false;\n dynamicChildren = null;\n }\n if (n1 == null) {\n const placeholder = n2.el = !!(process.env.NODE_ENV !== \"production\") ? createComment(\"teleport start\") : createText(\"\");\n const mainAnchor = n2.anchor = !!(process.env.NODE_ENV !== \"production\") ? createComment(\"teleport end\") : createText(\"\");\n insert(placeholder, container, anchor);\n insert(mainAnchor, container, anchor);\n const mount = (container2, anchor2) => {\n if (shapeFlag & 16) {\n if (parentComponent && parentComponent.isCE) {\n parentComponent.ce._teleportTarget = container2;\n }\n mountChildren(\n children,\n container2,\n anchor2,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n }\n };\n const mountToTarget = () => {\n const target = n2.target = resolveTarget(n2.props, querySelector);\n const targetAnchor = prepareAnchor(target, n2, createText, insert);\n if (target) {\n if (namespace !== \"svg\" && isTargetSVG(target)) {\n namespace = \"svg\";\n } else if (namespace !== \"mathml\" && isTargetMathML(target)) {\n namespace = \"mathml\";\n }\n if (!disabled) {\n mount(target, targetAnchor);\n updateCssVars(n2, false);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && !disabled) {\n warn$1(\n \"Invalid Teleport target on mount:\",\n target,\n `(${typeof target})`\n );\n }\n };\n if (disabled) {\n mount(container, mainAnchor);\n updateCssVars(n2, true);\n }\n if (isTeleportDeferred(n2.props)) {\n queuePostRenderEffect(() => {\n mountToTarget();\n n2.el.__isMounted = true;\n }, parentSuspense);\n } else {\n mountToTarget();\n }\n } else {\n if (isTeleportDeferred(n2.props) && !n1.el.__isMounted) {\n queuePostRenderEffect(() => {\n TeleportImpl.process(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized,\n internals\n );\n delete n1.el.__isMounted;\n }, parentSuspense);\n return;\n }\n n2.el = n1.el;\n n2.targetStart = n1.targetStart;\n const mainAnchor = n2.anchor = n1.anchor;\n const target = n2.target = n1.target;\n const targetAnchor = n2.targetAnchor = n1.targetAnchor;\n const wasDisabled = isTeleportDisabled(n1.props);\n const currentContainer = wasDisabled ? container : target;\n const currentAnchor = wasDisabled ? mainAnchor : targetAnchor;\n if (namespace === \"svg\" || isTargetSVG(target)) {\n namespace = \"svg\";\n } else if (namespace === \"mathml\" || isTargetMathML(target)) {\n namespace = \"mathml\";\n }\n if (dynamicChildren) {\n patchBlockChildren(\n n1.dynamicChildren,\n dynamicChildren,\n currentContainer,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds\n );\n traverseStaticChildren(n1, n2, true);\n } else if (!optimized) {\n patchChildren(\n n1,\n n2,\n currentContainer,\n currentAnchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n false\n );\n }\n if (disabled) {\n if (!wasDisabled) {\n moveTeleport(\n n2,\n container,\n mainAnchor,\n internals,\n 1\n );\n } else {\n if (n2.props && n1.props && n2.props.to !== n1.props.to) {\n n2.props.to = n1.props.to;\n }\n }\n } else {\n if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) {\n const nextTarget = n2.target = resolveTarget(\n n2.props,\n querySelector\n );\n if (nextTarget) {\n moveTeleport(\n n2,\n nextTarget,\n null,\n internals,\n 0\n );\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n \"Invalid Teleport target on update:\",\n target,\n `(${typeof target})`\n );\n }\n } else if (wasDisabled) {\n moveTeleport(\n n2,\n target,\n targetAnchor,\n internals,\n 1\n );\n }\n }\n updateCssVars(n2, disabled);\n }\n },\n remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) {\n const {\n shapeFlag,\n children,\n anchor,\n targetStart,\n targetAnchor,\n target,\n props\n } = vnode;\n if (target) {\n hostRemove(targetStart);\n hostRemove(targetAnchor);\n }\n doRemove && hostRemove(anchor);\n if (shapeFlag & 16) {\n const shouldRemove = doRemove || !isTeleportDisabled(props);\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n unmount(\n child,\n parentComponent,\n parentSuspense,\n shouldRemove,\n !!child.dynamicChildren\n );\n }\n }\n },\n move: moveTeleport,\n hydrate: hydrateTeleport\n};\nfunction moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2) {\n if (moveType === 0) {\n insert(vnode.targetAnchor, container, parentAnchor);\n }\n const { el, anchor, shapeFlag, children, props } = vnode;\n const isReorder = moveType === 2;\n if (isReorder) {\n insert(el, container, parentAnchor);\n }\n if (!isReorder || isTeleportDisabled(props)) {\n if (shapeFlag & 16) {\n for (let i = 0; i < children.length; i++) {\n move(\n children[i],\n container,\n parentAnchor,\n 2\n );\n }\n }\n }\n if (isReorder) {\n insert(anchor, container, parentAnchor);\n }\n}\nfunction hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {\n o: { nextSibling, parentNode, querySelector, insert, createText }\n}, hydrateChildren) {\n const target = vnode.target = resolveTarget(\n vnode.props,\n querySelector\n );\n if (target) {\n const disabled = isTeleportDisabled(vnode.props);\n const targetNode = target._lpa || target.firstChild;\n if (vnode.shapeFlag & 16) {\n if (disabled) {\n vnode.anchor = hydrateChildren(\n nextSibling(node),\n vnode,\n parentNode(node),\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n vnode.targetStart = targetNode;\n vnode.targetAnchor = targetNode && nextSibling(targetNode);\n } else {\n vnode.anchor = nextSibling(node);\n let targetAnchor = targetNode;\n while (targetAnchor) {\n if (targetAnchor && targetAnchor.nodeType === 8) {\n if (targetAnchor.data === \"teleport start anchor\") {\n vnode.targetStart = targetAnchor;\n } else if (targetAnchor.data === \"teleport anchor\") {\n vnode.targetAnchor = targetAnchor;\n target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);\n break;\n }\n }\n targetAnchor = nextSibling(targetAnchor);\n }\n if (!vnode.targetAnchor) {\n prepareAnchor(target, vnode, createText, insert);\n }\n hydrateChildren(\n targetNode && nextSibling(targetNode),\n vnode,\n target,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n }\n updateCssVars(vnode, disabled);\n }\n return vnode.anchor && nextSibling(vnode.anchor);\n}\nconst Teleport = TeleportImpl;\nfunction updateCssVars(vnode, isDisabled) {\n const ctx = vnode.ctx;\n if (ctx && ctx.ut) {\n let node, anchor;\n if (isDisabled) {\n node = vnode.el;\n anchor = vnode.anchor;\n } else {\n node = vnode.targetStart;\n anchor = vnode.targetAnchor;\n }\n while (node && node !== anchor) {\n if (node.nodeType === 1) node.setAttribute(\"data-v-owner\", ctx.uid);\n node = node.nextSibling;\n }\n ctx.ut();\n }\n}\nfunction prepareAnchor(target, vnode, createText, insert) {\n const targetStart = vnode.targetStart = createText(\"\");\n const targetAnchor = vnode.targetAnchor = createText(\"\");\n targetStart[TeleportEndKey] = targetAnchor;\n if (target) {\n insert(targetStart, target);\n insert(targetAnchor, target);\n }\n return targetAnchor;\n}\n\nconst leaveCbKey = Symbol(\"_leaveCb\");\nconst enterCbKey = Symbol(\"_enterCb\");\nfunction useTransitionState() {\n const state = {\n isMounted: false,\n isLeaving: false,\n isUnmounting: false,\n leavingVNodes: /* @__PURE__ */ new Map()\n };\n onMounted(() => {\n state.isMounted = true;\n });\n onBeforeUnmount(() => {\n state.isUnmounting = true;\n });\n return state;\n}\nconst TransitionHookValidator = [Function, Array];\nconst BaseTransitionPropsValidators = {\n mode: String,\n appear: Boolean,\n persisted: Boolean,\n // enter\n onBeforeEnter: TransitionHookValidator,\n onEnter: TransitionHookValidator,\n onAfterEnter: TransitionHookValidator,\n onEnterCancelled: TransitionHookValidator,\n // leave\n onBeforeLeave: TransitionHookValidator,\n onLeave: TransitionHookValidator,\n onAfterLeave: TransitionHookValidator,\n onLeaveCancelled: TransitionHookValidator,\n // appear\n onBeforeAppear: TransitionHookValidator,\n onAppear: TransitionHookValidator,\n onAfterAppear: TransitionHookValidator,\n onAppearCancelled: TransitionHookValidator\n};\nconst recursiveGetSubtree = (instance) => {\n const subTree = instance.subTree;\n return subTree.component ? recursiveGetSubtree(subTree.component) : subTree;\n};\nconst BaseTransitionImpl = {\n name: `BaseTransition`,\n props: BaseTransitionPropsValidators,\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n return () => {\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\n if (!children || !children.length) {\n return;\n }\n const child = findNonCommentChild(children);\n const rawProps = toRaw(props);\n const { mode } = rawProps;\n if (!!(process.env.NODE_ENV !== \"production\") && mode && mode !== \"in-out\" && mode !== \"out-in\" && mode !== \"default\") {\n warn$1(`invalid mode: ${mode}`);\n }\n if (state.isLeaving) {\n return emptyPlaceholder(child);\n }\n const innerChild = getInnerChild$1(child);\n if (!innerChild) {\n return emptyPlaceholder(child);\n }\n let enterHooks = resolveTransitionHooks(\n innerChild,\n rawProps,\n state,\n instance,\n // #11061, ensure enterHooks is fresh after clone\n (hooks) => enterHooks = hooks\n );\n if (innerChild.type !== Comment) {\n setTransitionHooks(innerChild, enterHooks);\n }\n let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree);\n if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild) && recursiveGetSubtree(instance).type !== Comment) {\n let leavingHooks = resolveTransitionHooks(\n oldInnerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(oldInnerChild, leavingHooks);\n if (mode === \"out-in\" && innerChild.type !== Comment) {\n state.isLeaving = true;\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n if (!(instance.job.flags & 8)) {\n instance.update();\n }\n delete leavingHooks.afterLeave;\n oldInnerChild = void 0;\n };\n return emptyPlaceholder(child);\n } else if (mode === \"in-out\" && innerChild.type !== Comment) {\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\n const leavingVNodesCache = getLeavingNodesForType(\n state,\n oldInnerChild\n );\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\n el[leaveCbKey] = () => {\n earlyRemove();\n el[leaveCbKey] = void 0;\n delete enterHooks.delayedLeave;\n oldInnerChild = void 0;\n };\n enterHooks.delayedLeave = () => {\n delayedLeave();\n delete enterHooks.delayedLeave;\n oldInnerChild = void 0;\n };\n };\n } else {\n oldInnerChild = void 0;\n }\n } else if (oldInnerChild) {\n oldInnerChild = void 0;\n }\n return child;\n };\n }\n};\nfunction findNonCommentChild(children) {\n let child = children[0];\n if (children.length > 1) {\n let hasFound = false;\n for (const c of children) {\n if (c.type !== Comment) {\n if (!!(process.env.NODE_ENV !== \"production\") && hasFound) {\n warn$1(\n \" can only be used on a single element or component. Use for lists.\"\n );\n break;\n }\n child = c;\n hasFound = true;\n if (!!!(process.env.NODE_ENV !== \"production\")) break;\n }\n }\n }\n return child;\n}\nconst BaseTransition = BaseTransitionImpl;\nfunction getLeavingNodesForType(state, vnode) {\n const { leavingVNodes } = state;\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\n if (!leavingVNodesCache) {\n leavingVNodesCache = /* @__PURE__ */ Object.create(null);\n leavingVNodes.set(vnode.type, leavingVNodesCache);\n }\n return leavingVNodesCache;\n}\nfunction resolveTransitionHooks(vnode, props, state, instance, postClone) {\n const {\n appear,\n mode,\n persisted = false,\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onEnterCancelled,\n onBeforeLeave,\n onLeave,\n onAfterLeave,\n onLeaveCancelled,\n onBeforeAppear,\n onAppear,\n onAfterAppear,\n onAppearCancelled\n } = props;\n const key = String(vnode.key);\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\n const callHook = (hook, args) => {\n hook && callWithAsyncErrorHandling(\n hook,\n instance,\n 9,\n args\n );\n };\n const callAsyncHook = (hook, args) => {\n const done = args[1];\n callHook(hook, args);\n if (isArray(hook)) {\n if (hook.every((hook2) => hook2.length <= 1)) done();\n } else if (hook.length <= 1) {\n done();\n }\n };\n const hooks = {\n mode,\n persisted,\n beforeEnter(el) {\n let hook = onBeforeEnter;\n if (!state.isMounted) {\n if (appear) {\n hook = onBeforeAppear || onBeforeEnter;\n } else {\n return;\n }\n }\n if (el[leaveCbKey]) {\n el[leaveCbKey](\n true\n /* cancelled */\n );\n }\n const leavingVNode = leavingVNodesCache[key];\n if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) {\n leavingVNode.el[leaveCbKey]();\n }\n callHook(hook, [el]);\n },\n enter(el) {\n let hook = onEnter;\n let afterHook = onAfterEnter;\n let cancelHook = onEnterCancelled;\n if (!state.isMounted) {\n if (appear) {\n hook = onAppear || onEnter;\n afterHook = onAfterAppear || onAfterEnter;\n cancelHook = onAppearCancelled || onEnterCancelled;\n } else {\n return;\n }\n }\n let called = false;\n const done = el[enterCbKey] = (cancelled) => {\n if (called) return;\n called = true;\n if (cancelled) {\n callHook(cancelHook, [el]);\n } else {\n callHook(afterHook, [el]);\n }\n if (hooks.delayedLeave) {\n hooks.delayedLeave();\n }\n el[enterCbKey] = void 0;\n };\n if (hook) {\n callAsyncHook(hook, [el, done]);\n } else {\n done();\n }\n },\n leave(el, remove) {\n const key2 = String(vnode.key);\n if (el[enterCbKey]) {\n el[enterCbKey](\n true\n /* cancelled */\n );\n }\n if (state.isUnmounting) {\n return remove();\n }\n callHook(onBeforeLeave, [el]);\n let called = false;\n const done = el[leaveCbKey] = (cancelled) => {\n if (called) return;\n called = true;\n remove();\n if (cancelled) {\n callHook(onLeaveCancelled, [el]);\n } else {\n callHook(onAfterLeave, [el]);\n }\n el[leaveCbKey] = void 0;\n if (leavingVNodesCache[key2] === vnode) {\n delete leavingVNodesCache[key2];\n }\n };\n leavingVNodesCache[key2] = vnode;\n if (onLeave) {\n callAsyncHook(onLeave, [el, done]);\n } else {\n done();\n }\n },\n clone(vnode2) {\n const hooks2 = resolveTransitionHooks(\n vnode2,\n props,\n state,\n instance,\n postClone\n );\n if (postClone) postClone(hooks2);\n return hooks2;\n }\n };\n return hooks;\n}\nfunction emptyPlaceholder(vnode) {\n if (isKeepAlive(vnode)) {\n vnode = cloneVNode(vnode);\n vnode.children = null;\n return vnode;\n }\n}\nfunction getInnerChild$1(vnode) {\n if (!isKeepAlive(vnode)) {\n if (isTeleport(vnode.type) && vnode.children) {\n return findNonCommentChild(vnode.children);\n }\n return vnode;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && vnode.component) {\n return vnode.component.subTree;\n }\n const { shapeFlag, children } = vnode;\n if (children) {\n if (shapeFlag & 16) {\n return children[0];\n }\n if (shapeFlag & 32 && isFunction(children.default)) {\n return children.default();\n }\n }\n}\nfunction setTransitionHooks(vnode, hooks) {\n if (vnode.shapeFlag & 6 && vnode.component) {\n vnode.transition = hooks;\n setTransitionHooks(vnode.component.subTree, hooks);\n } else if (vnode.shapeFlag & 128) {\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\n } else {\n vnode.transition = hooks;\n }\n}\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\n let ret = [];\n let keyedFragmentCount = 0;\n for (let i = 0; i < children.length; i++) {\n let child = children[i];\n const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i);\n if (child.type === Fragment) {\n if (child.patchFlag & 128) keyedFragmentCount++;\n ret = ret.concat(\n getTransitionRawChildren(child.children, keepComment, key)\n );\n } else if (keepComment || child.type !== Comment) {\n ret.push(key != null ? cloneVNode(child, { key }) : child);\n }\n }\n if (keyedFragmentCount > 1) {\n for (let i = 0; i < ret.length; i++) {\n ret[i].patchFlag = -2;\n }\n }\n return ret;\n}\n\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineComponent(options, extraOptions) {\n return isFunction(options) ? (\n // #8236: extend call and options.name access are considered side-effects\n // by Rollup, so we have to wrap it in a pure-annotated IIFE.\n /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()\n ) : options;\n}\n\nfunction useId() {\n const i = getCurrentInstance();\n if (i) {\n return (i.appContext.config.idPrefix || \"v\") + \"-\" + i.ids[0] + i.ids[1]++;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `useId() is called when there is no active component instance to be associated with.`\n );\n }\n return \"\";\n}\nfunction markAsyncBoundary(instance) {\n instance.ids = [instance.ids[0] + instance.ids[2]++ + \"-\", 0, 0];\n}\n\nconst knownTemplateRefs = /* @__PURE__ */ new WeakSet();\nfunction useTemplateRef(key) {\n const i = getCurrentInstance();\n const r = shallowRef(null);\n if (i) {\n const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs;\n let desc;\n if (!!(process.env.NODE_ENV !== \"production\") && (desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable) {\n warn$1(`useTemplateRef('${key}') already exists.`);\n } else {\n Object.defineProperty(refs, key, {\n enumerable: true,\n get: () => r.value,\n set: (val) => r.value = val\n });\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `useTemplateRef() is called when there is no active component instance to be associated with.`\n );\n }\n const ret = !!(process.env.NODE_ENV !== \"production\") ? readonly(r) : r;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n knownTemplateRefs.add(ret);\n }\n return ret;\n}\n\nfunction setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {\n if (isArray(rawRef)) {\n rawRef.forEach(\n (r, i) => setRef(\n r,\n oldRawRef && (isArray(oldRawRef) ? oldRawRef[i] : oldRawRef),\n parentSuspense,\n vnode,\n isUnmount\n )\n );\n return;\n }\n if (isAsyncWrapper(vnode) && !isUnmount) {\n if (vnode.shapeFlag & 512 && vnode.type.__asyncResolved && vnode.component.subTree.component) {\n setRef(rawRef, oldRawRef, parentSuspense, vnode.component.subTree);\n }\n return;\n }\n const refValue = vnode.shapeFlag & 4 ? getComponentPublicInstance(vnode.component) : vnode.el;\n const value = isUnmount ? null : refValue;\n const { i: owner, r: ref } = rawRef;\n if (!!(process.env.NODE_ENV !== \"production\") && !owner) {\n warn$1(\n `Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.`\n );\n return;\n }\n const oldRef = oldRawRef && oldRawRef.r;\n const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs;\n const setupState = owner.setupState;\n const rawSetupState = toRaw(setupState);\n const canSetSetupRef = setupState === EMPTY_OBJ ? () => false : (key) => {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (hasOwn(rawSetupState, key) && !isRef(rawSetupState[key])) {\n warn$1(\n `Template ref \"${key}\" used on a non-ref value. It will not work in the production build.`\n );\n }\n if (knownTemplateRefs.has(rawSetupState[key])) {\n return false;\n }\n }\n return hasOwn(rawSetupState, key);\n };\n if (oldRef != null && oldRef !== ref) {\n if (isString(oldRef)) {\n refs[oldRef] = null;\n if (canSetSetupRef(oldRef)) {\n setupState[oldRef] = null;\n }\n } else if (isRef(oldRef)) {\n oldRef.value = null;\n }\n }\n if (isFunction(ref)) {\n callWithErrorHandling(ref, owner, 12, [value, refs]);\n } else {\n const _isString = isString(ref);\n const _isRef = isRef(ref);\n if (_isString || _isRef) {\n const doSet = () => {\n if (rawRef.f) {\n const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : ref.value;\n if (isUnmount) {\n isArray(existing) && remove(existing, refValue);\n } else {\n if (!isArray(existing)) {\n if (_isString) {\n refs[ref] = [refValue];\n if (canSetSetupRef(ref)) {\n setupState[ref] = refs[ref];\n }\n } else {\n ref.value = [refValue];\n if (rawRef.k) refs[rawRef.k] = ref.value;\n }\n } else if (!existing.includes(refValue)) {\n existing.push(refValue);\n }\n }\n } else if (_isString) {\n refs[ref] = value;\n if (canSetSetupRef(ref)) {\n setupState[ref] = value;\n }\n } else if (_isRef) {\n ref.value = value;\n if (rawRef.k) refs[rawRef.k] = value;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid template ref type:\", ref, `(${typeof ref})`);\n }\n };\n if (value) {\n doSet.id = -1;\n queuePostRenderEffect(doSet, parentSuspense);\n } else {\n doSet();\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid template ref type:\", ref, `(${typeof ref})`);\n }\n }\n}\n\nlet hasLoggedMismatchError = false;\nconst logMismatchError = () => {\n if (hasLoggedMismatchError) {\n return;\n }\n console.error(\"Hydration completed but contains mismatches.\");\n hasLoggedMismatchError = true;\n};\nconst isSVGContainer = (container) => container.namespaceURI.includes(\"svg\") && container.tagName !== \"foreignObject\";\nconst isMathMLContainer = (container) => container.namespaceURI.includes(\"MathML\");\nconst getContainerType = (container) => {\n if (container.nodeType !== 1) return void 0;\n if (isSVGContainer(container)) return \"svg\";\n if (isMathMLContainer(container)) return \"mathml\";\n return void 0;\n};\nconst isComment = (node) => node.nodeType === 8;\nfunction createHydrationFunctions(rendererInternals) {\n const {\n mt: mountComponent,\n p: patch,\n o: {\n patchProp,\n createText,\n nextSibling,\n parentNode,\n remove,\n insert,\n createComment\n }\n } = rendererInternals;\n const hydrate = (vnode, container) => {\n if (!container.hasChildNodes()) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Attempting to hydrate existing markup but container is empty. Performing full mount instead.`\n );\n patch(null, vnode, container);\n flushPostFlushCbs();\n container._vnode = vnode;\n return;\n }\n hydrateNode(container.firstChild, vnode, null, null, null);\n flushPostFlushCbs();\n container._vnode = vnode;\n };\n const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => {\n optimized = optimized || !!vnode.dynamicChildren;\n const isFragmentStart = isComment(node) && node.data === \"[\";\n const onMismatch = () => handleMismatch(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n isFragmentStart\n );\n const { type, ref, shapeFlag, patchFlag } = vnode;\n let domType = node.nodeType;\n vnode.el = node;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n def(node, \"__vnode\", vnode, true);\n def(node, \"__vueParentComponent\", parentComponent, true);\n }\n if (patchFlag === -2) {\n optimized = false;\n vnode.dynamicChildren = null;\n }\n let nextNode = null;\n switch (type) {\n case Text:\n if (domType !== 3) {\n if (vnode.children === \"\") {\n insert(vnode.el = createText(\"\"), parentNode(node), node);\n nextNode = node;\n } else {\n nextNode = onMismatch();\n }\n } else {\n if (node.data !== vnode.children) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration text mismatch in`,\n node.parentNode,\n `\n - rendered on server: ${JSON.stringify(\n node.data\n )}\n - expected on client: ${JSON.stringify(vnode.children)}`\n );\n logMismatchError();\n node.data = vnode.children;\n }\n nextNode = nextSibling(node);\n }\n break;\n case Comment:\n if (isTemplateNode(node)) {\n nextNode = nextSibling(node);\n replaceNode(\n vnode.el = node.content.firstChild,\n node,\n parentComponent\n );\n } else if (domType !== 8 || isFragmentStart) {\n nextNode = onMismatch();\n } else {\n nextNode = nextSibling(node);\n }\n break;\n case Static:\n if (isFragmentStart) {\n node = nextSibling(node);\n domType = node.nodeType;\n }\n if (domType === 1 || domType === 3) {\n nextNode = node;\n const needToAdoptContent = !vnode.children.length;\n for (let i = 0; i < vnode.staticCount; i++) {\n if (needToAdoptContent)\n vnode.children += nextNode.nodeType === 1 ? nextNode.outerHTML : nextNode.data;\n if (i === vnode.staticCount - 1) {\n vnode.anchor = nextNode;\n }\n nextNode = nextSibling(nextNode);\n }\n return isFragmentStart ? nextSibling(nextNode) : nextNode;\n } else {\n onMismatch();\n }\n break;\n case Fragment:\n if (!isFragmentStart) {\n nextNode = onMismatch();\n } else {\n nextNode = hydrateFragment(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n break;\n default:\n if (shapeFlag & 1) {\n if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode(node)) {\n nextNode = onMismatch();\n } else {\n nextNode = hydrateElement(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n } else if (shapeFlag & 6) {\n vnode.slotScopeIds = slotScopeIds;\n const container = parentNode(node);\n if (isFragmentStart) {\n nextNode = locateClosingAnchor(node);\n } else if (isComment(node) && node.data === \"teleport start\") {\n nextNode = locateClosingAnchor(node, node.data, \"teleport end\");\n } else {\n nextNode = nextSibling(node);\n }\n mountComponent(\n vnode,\n container,\n null,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n optimized\n );\n if (isAsyncWrapper(vnode) && !vnode.type.__asyncResolved) {\n let subTree;\n if (isFragmentStart) {\n subTree = createVNode(Fragment);\n subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild;\n } else {\n subTree = node.nodeType === 3 ? createTextVNode(\"\") : createVNode(\"div\");\n }\n subTree.el = node;\n vnode.component.subTree = subTree;\n }\n } else if (shapeFlag & 64) {\n if (domType !== 8) {\n nextNode = onMismatch();\n } else {\n nextNode = vnode.type.hydrate(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized,\n rendererInternals,\n hydrateChildren\n );\n }\n } else if (shapeFlag & 128) {\n nextNode = vnode.type.hydrate(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n getContainerType(parentNode(node)),\n slotScopeIds,\n optimized,\n rendererInternals,\n hydrateNode\n );\n } else if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) {\n warn$1(\"Invalid HostVNode type:\", type, `(${typeof type})`);\n }\n }\n if (ref != null) {\n setRef(ref, null, parentSuspense, vnode);\n }\n return nextNode;\n };\n const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!vnode.dynamicChildren;\n const { type, props, patchFlag, shapeFlag, dirs, transition } = vnode;\n const forcePatch = type === \"input\" || type === \"option\";\n if (!!(process.env.NODE_ENV !== \"production\") || forcePatch || patchFlag !== -1) {\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"created\");\n }\n let needCallTransitionHooks = false;\n if (isTemplateNode(el)) {\n needCallTransitionHooks = needTransition(\n null,\n // no need check parentSuspense in hydration\n transition\n ) && parentComponent && parentComponent.vnode.props && parentComponent.vnode.props.appear;\n const content = el.content.firstChild;\n if (needCallTransitionHooks) {\n transition.beforeEnter(content);\n }\n replaceNode(content, el, parentComponent);\n vnode.el = el = content;\n }\n if (shapeFlag & 16 && // skip if element has innerHTML / textContent\n !(props && (props.innerHTML || props.textContent))) {\n let next = hydrateChildren(\n el.firstChild,\n vnode,\n el,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n let hasWarned = false;\n while (next) {\n if (!isMismatchAllowed(el, 1 /* CHILDREN */)) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {\n warn$1(\n `Hydration children mismatch on`,\n el,\n `\nServer rendered element contains more child nodes than client vdom.`\n );\n hasWarned = true;\n }\n logMismatchError();\n }\n const cur = next;\n next = next.nextSibling;\n remove(cur);\n }\n } else if (shapeFlag & 8) {\n let clientText = vnode.children;\n if (clientText[0] === \"\\n\" && (el.tagName === \"PRE\" || el.tagName === \"TEXTAREA\")) {\n clientText = clientText.slice(1);\n }\n if (el.textContent !== clientText) {\n if (!isMismatchAllowed(el, 0 /* TEXT */)) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration text content mismatch on`,\n el,\n `\n - rendered on server: ${el.textContent}\n - expected on client: ${vnode.children}`\n );\n logMismatchError();\n }\n el.textContent = vnode.children;\n }\n }\n if (props) {\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ || forcePatch || !optimized || patchFlag & (16 | 32)) {\n const isCustomElement = el.tagName.includes(\"-\");\n for (const key in props) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && // #11189 skip if this node has directives that have created hooks\n // as it could have mutated the DOM in any possible way\n !(dirs && dirs.some((d) => d.dir.created)) && propHasMismatch(el, key, props[key], vnode, parentComponent)) {\n logMismatchError();\n }\n if (forcePatch && (key.endsWith(\"value\") || key === \"indeterminate\") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers\n key[0] === \".\" || isCustomElement) {\n patchProp(el, key, null, props[key], void 0, parentComponent);\n }\n }\n } else if (props.onClick) {\n patchProp(\n el,\n \"onClick\",\n null,\n props.onClick,\n void 0,\n parentComponent\n );\n } else if (patchFlag & 4 && isReactive(props.style)) {\n for (const key in props.style) props.style[key];\n }\n }\n let vnodeHooks;\n if (vnodeHooks = props && props.onVnodeBeforeMount) {\n invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n }\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"beforeMount\");\n }\n if ((vnodeHooks = props && props.onVnodeMounted) || dirs || needCallTransitionHooks) {\n queueEffectWithSuspense(() => {\n vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n needCallTransitionHooks && transition.enter(el);\n dirs && invokeDirectiveHook(vnode, null, parentComponent, \"mounted\");\n }, parentSuspense);\n }\n }\n return el.nextSibling;\n };\n const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!parentVNode.dynamicChildren;\n const children = parentVNode.children;\n const l = children.length;\n let hasWarned = false;\n for (let i = 0; i < l; i++) {\n const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]);\n const isText = vnode.type === Text;\n if (node) {\n if (isText && !optimized) {\n if (i + 1 < l && normalizeVNode(children[i + 1]).type === Text) {\n insert(\n createText(\n node.data.slice(vnode.children.length)\n ),\n container,\n nextSibling(node)\n );\n node.data = vnode.children;\n }\n }\n node = hydrateNode(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n } else if (isText && !vnode.children) {\n insert(vnode.el = createText(\"\"), container);\n } else {\n if (!isMismatchAllowed(container, 1 /* CHILDREN */)) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {\n warn$1(\n `Hydration children mismatch on`,\n container,\n `\nServer rendered element contains fewer child nodes than client vdom.`\n );\n hasWarned = true;\n }\n logMismatchError();\n }\n patch(\n null,\n vnode,\n container,\n null,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n slotScopeIds\n );\n }\n }\n return node;\n };\n const hydrateFragment = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n const { slotScopeIds: fragmentSlotScopeIds } = vnode;\n if (fragmentSlotScopeIds) {\n slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds;\n }\n const container = parentNode(node);\n const next = hydrateChildren(\n nextSibling(node),\n vnode,\n container,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n if (next && isComment(next) && next.data === \"]\") {\n return nextSibling(vnode.anchor = next);\n } else {\n logMismatchError();\n insert(vnode.anchor = createComment(`]`), container, next);\n return next;\n }\n };\n const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {\n if (!isMismatchAllowed(node.parentElement, 1 /* CHILDREN */)) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration node mismatch:\n- rendered on server:`,\n node,\n node.nodeType === 3 ? `(text)` : isComment(node) && node.data === \"[\" ? `(start of fragment)` : ``,\n `\n- expected on client:`,\n vnode.type\n );\n logMismatchError();\n }\n vnode.el = null;\n if (isFragment) {\n const end = locateClosingAnchor(node);\n while (true) {\n const next2 = nextSibling(node);\n if (next2 && next2 !== end) {\n remove(next2);\n } else {\n break;\n }\n }\n }\n const next = nextSibling(node);\n const container = parentNode(node);\n remove(node);\n patch(\n null,\n vnode,\n container,\n next,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n slotScopeIds\n );\n if (parentComponent) {\n parentComponent.vnode.el = vnode.el;\n updateHOCHostEl(parentComponent, vnode.el);\n }\n return next;\n };\n const locateClosingAnchor = (node, open = \"[\", close = \"]\") => {\n let match = 0;\n while (node) {\n node = nextSibling(node);\n if (node && isComment(node)) {\n if (node.data === open) match++;\n if (node.data === close) {\n if (match === 0) {\n return nextSibling(node);\n } else {\n match--;\n }\n }\n }\n }\n return node;\n };\n const replaceNode = (newNode, oldNode, parentComponent) => {\n const parentNode2 = oldNode.parentNode;\n if (parentNode2) {\n parentNode2.replaceChild(newNode, oldNode);\n }\n let parent = parentComponent;\n while (parent) {\n if (parent.vnode.el === oldNode) {\n parent.vnode.el = parent.subTree.el = newNode;\n }\n parent = parent.parent;\n }\n };\n const isTemplateNode = (node) => {\n return node.nodeType === 1 && node.tagName === \"TEMPLATE\";\n };\n return [hydrate, hydrateNode];\n}\nfunction propHasMismatch(el, key, clientValue, vnode, instance) {\n let mismatchType;\n let mismatchKey;\n let actual;\n let expected;\n if (key === \"class\") {\n actual = el.getAttribute(\"class\");\n expected = normalizeClass(clientValue);\n if (!isSetEqual(toClassSet(actual || \"\"), toClassSet(expected))) {\n mismatchType = 2 /* CLASS */;\n mismatchKey = `class`;\n }\n } else if (key === \"style\") {\n actual = el.getAttribute(\"style\") || \"\";\n expected = isString(clientValue) ? clientValue : stringifyStyle(normalizeStyle(clientValue));\n const actualMap = toStyleMap(actual);\n const expectedMap = toStyleMap(expected);\n if (vnode.dirs) {\n for (const { dir, value } of vnode.dirs) {\n if (dir.name === \"show\" && !value) {\n expectedMap.set(\"display\", \"none\");\n }\n }\n }\n if (instance) {\n resolveCssVars(instance, vnode, expectedMap);\n }\n if (!isMapEqual(actualMap, expectedMap)) {\n mismatchType = 3 /* STYLE */;\n mismatchKey = \"style\";\n }\n } else if (el instanceof SVGElement && isKnownSvgAttr(key) || el instanceof HTMLElement && (isBooleanAttr(key) || isKnownHtmlAttr(key))) {\n if (isBooleanAttr(key)) {\n actual = el.hasAttribute(key);\n expected = includeBooleanAttr(clientValue);\n } else if (clientValue == null) {\n actual = el.hasAttribute(key);\n expected = false;\n } else {\n if (el.hasAttribute(key)) {\n actual = el.getAttribute(key);\n } else if (key === \"value\" && el.tagName === \"TEXTAREA\") {\n actual = el.value;\n } else {\n actual = false;\n }\n expected = isRenderableAttrValue(clientValue) ? String(clientValue) : false;\n }\n if (actual !== expected) {\n mismatchType = 4 /* ATTRIBUTE */;\n mismatchKey = key;\n }\n }\n if (mismatchType != null && !isMismatchAllowed(el, mismatchType)) {\n const format = (v) => v === false ? `(not rendered)` : `${mismatchKey}=\"${v}\"`;\n const preSegment = `Hydration ${MismatchTypeString[mismatchType]} mismatch on`;\n const postSegment = `\n - rendered on server: ${format(actual)}\n - expected on client: ${format(expected)}\n Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead.\n You should fix the source of the mismatch.`;\n {\n warn$1(preSegment, el, postSegment);\n }\n return true;\n }\n return false;\n}\nfunction toClassSet(str) {\n return new Set(str.trim().split(/\\s+/));\n}\nfunction isSetEqual(a, b) {\n if (a.size !== b.size) {\n return false;\n }\n for (const s of a) {\n if (!b.has(s)) {\n return false;\n }\n }\n return true;\n}\nfunction toStyleMap(str) {\n const styleMap = /* @__PURE__ */ new Map();\n for (const item of str.split(\";\")) {\n let [key, value] = item.split(\":\");\n key = key.trim();\n value = value && value.trim();\n if (key && value) {\n styleMap.set(key, value);\n }\n }\n return styleMap;\n}\nfunction isMapEqual(a, b) {\n if (a.size !== b.size) {\n return false;\n }\n for (const [key, value] of a) {\n if (value !== b.get(key)) {\n return false;\n }\n }\n return true;\n}\nfunction resolveCssVars(instance, vnode, expectedMap) {\n const root = instance.subTree;\n if (instance.getCssVars && (vnode === root || root && root.type === Fragment && root.children.includes(vnode))) {\n const cssVars = instance.getCssVars();\n for (const key in cssVars) {\n expectedMap.set(\n `--${getEscapedCssVarName(key, false)}`,\n String(cssVars[key])\n );\n }\n }\n if (vnode === root && instance.parent) {\n resolveCssVars(instance.parent, instance.vnode, expectedMap);\n }\n}\nconst allowMismatchAttr = \"data-allow-mismatch\";\nconst MismatchTypeString = {\n [0 /* TEXT */]: \"text\",\n [1 /* CHILDREN */]: \"children\",\n [2 /* CLASS */]: \"class\",\n [3 /* STYLE */]: \"style\",\n [4 /* ATTRIBUTE */]: \"attribute\"\n};\nfunction isMismatchAllowed(el, allowedType) {\n if (allowedType === 0 /* TEXT */ || allowedType === 1 /* CHILDREN */) {\n while (el && !el.hasAttribute(allowMismatchAttr)) {\n el = el.parentElement;\n }\n }\n const allowedAttr = el && el.getAttribute(allowMismatchAttr);\n if (allowedAttr == null) {\n return false;\n } else if (allowedAttr === \"\") {\n return true;\n } else {\n const list = allowedAttr.split(\",\");\n if (allowedType === 0 /* TEXT */ && list.includes(\"children\")) {\n return true;\n }\n return allowedAttr.split(\",\").includes(MismatchTypeString[allowedType]);\n }\n}\n\nconst requestIdleCallback = getGlobalThis().requestIdleCallback || ((cb) => setTimeout(cb, 1));\nconst cancelIdleCallback = getGlobalThis().cancelIdleCallback || ((id) => clearTimeout(id));\nconst hydrateOnIdle = (timeout = 1e4) => (hydrate) => {\n const id = requestIdleCallback(hydrate, { timeout });\n return () => cancelIdleCallback(id);\n};\nfunction elementIsVisibleInViewport(el) {\n const { top, left, bottom, right } = el.getBoundingClientRect();\n const { innerHeight, innerWidth } = window;\n return (top > 0 && top < innerHeight || bottom > 0 && bottom < innerHeight) && (left > 0 && left < innerWidth || right > 0 && right < innerWidth);\n}\nconst hydrateOnVisible = (opts) => (hydrate, forEach) => {\n const ob = new IntersectionObserver((entries) => {\n for (const e of entries) {\n if (!e.isIntersecting) continue;\n ob.disconnect();\n hydrate();\n break;\n }\n }, opts);\n forEach((el) => {\n if (!(el instanceof Element)) return;\n if (elementIsVisibleInViewport(el)) {\n hydrate();\n ob.disconnect();\n return false;\n }\n ob.observe(el);\n });\n return () => ob.disconnect();\n};\nconst hydrateOnMediaQuery = (query) => (hydrate) => {\n if (query) {\n const mql = matchMedia(query);\n if (mql.matches) {\n hydrate();\n } else {\n mql.addEventListener(\"change\", hydrate, { once: true });\n return () => mql.removeEventListener(\"change\", hydrate);\n }\n }\n};\nconst hydrateOnInteraction = (interactions = []) => (hydrate, forEach) => {\n if (isString(interactions)) interactions = [interactions];\n let hasHydrated = false;\n const doHydrate = (e) => {\n if (!hasHydrated) {\n hasHydrated = true;\n teardown();\n hydrate();\n e.target.dispatchEvent(new e.constructor(e.type, e));\n }\n };\n const teardown = () => {\n forEach((el) => {\n for (const i of interactions) {\n el.removeEventListener(i, doHydrate);\n }\n });\n };\n forEach((el) => {\n for (const i of interactions) {\n el.addEventListener(i, doHydrate, { once: true });\n }\n });\n return teardown;\n};\nfunction forEachElement(node, cb) {\n if (isComment(node) && node.data === \"[\") {\n let depth = 1;\n let next = node.nextSibling;\n while (next) {\n if (next.nodeType === 1) {\n const result = cb(next);\n if (result === false) {\n break;\n }\n } else if (isComment(next)) {\n if (next.data === \"]\") {\n if (--depth === 0) break;\n } else if (next.data === \"[\") {\n depth++;\n }\n }\n next = next.nextSibling;\n }\n } else {\n cb(node);\n }\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineAsyncComponent(source) {\n if (isFunction(source)) {\n source = { loader: source };\n }\n const {\n loader,\n loadingComponent,\n errorComponent,\n delay = 200,\n hydrate: hydrateStrategy,\n timeout,\n // undefined = never times out\n suspensible = true,\n onError: userOnError\n } = source;\n let pendingRequest = null;\n let resolvedComp;\n let retries = 0;\n const retry = () => {\n retries++;\n pendingRequest = null;\n return load();\n };\n const load = () => {\n let thisRequest;\n return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => {\n err = err instanceof Error ? err : new Error(String(err));\n if (userOnError) {\n return new Promise((resolve, reject) => {\n const userRetry = () => resolve(retry());\n const userFail = () => reject(err);\n userOnError(err, userRetry, userFail, retries + 1);\n });\n } else {\n throw err;\n }\n }).then((comp) => {\n if (thisRequest !== pendingRequest && pendingRequest) {\n return pendingRequest;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !comp) {\n warn$1(\n `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`\n );\n }\n if (comp && (comp.__esModule || comp[Symbol.toStringTag] === \"Module\")) {\n comp = comp.default;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && comp && !isObject(comp) && !isFunction(comp)) {\n throw new Error(`Invalid async component load result: ${comp}`);\n }\n resolvedComp = comp;\n return comp;\n }));\n };\n return defineComponent({\n name: \"AsyncComponentWrapper\",\n __asyncLoader: load,\n __asyncHydrate(el, instance, hydrate) {\n const doHydrate = hydrateStrategy ? () => {\n const teardown = hydrateStrategy(\n hydrate,\n (cb) => forEachElement(el, cb)\n );\n if (teardown) {\n (instance.bum || (instance.bum = [])).push(teardown);\n }\n } : hydrate;\n if (resolvedComp) {\n doHydrate();\n } else {\n load().then(() => !instance.isUnmounted && doHydrate());\n }\n },\n get __asyncResolved() {\n return resolvedComp;\n },\n setup() {\n const instance = currentInstance;\n markAsyncBoundary(instance);\n if (resolvedComp) {\n return () => createInnerComp(resolvedComp, instance);\n }\n const onError = (err) => {\n pendingRequest = null;\n handleError(\n err,\n instance,\n 13,\n !errorComponent\n );\n };\n if (suspensible && instance.suspense || isInSSRComponentSetup) {\n return load().then((comp) => {\n return () => createInnerComp(comp, instance);\n }).catch((err) => {\n onError(err);\n return () => errorComponent ? createVNode(errorComponent, {\n error: err\n }) : null;\n });\n }\n const loaded = ref(false);\n const error = ref();\n const delayed = ref(!!delay);\n if (delay) {\n setTimeout(() => {\n delayed.value = false;\n }, delay);\n }\n if (timeout != null) {\n setTimeout(() => {\n if (!loaded.value && !error.value) {\n const err = new Error(\n `Async component timed out after ${timeout}ms.`\n );\n onError(err);\n error.value = err;\n }\n }, timeout);\n }\n load().then(() => {\n loaded.value = true;\n if (instance.parent && isKeepAlive(instance.parent.vnode)) {\n instance.parent.update();\n }\n }).catch((err) => {\n onError(err);\n error.value = err;\n });\n return () => {\n if (loaded.value && resolvedComp) {\n return createInnerComp(resolvedComp, instance);\n } else if (error.value && errorComponent) {\n return createVNode(errorComponent, {\n error: error.value\n });\n } else if (loadingComponent && !delayed.value) {\n return createVNode(loadingComponent);\n }\n };\n }\n });\n}\nfunction createInnerComp(comp, parent) {\n const { ref: ref2, props, children, ce } = parent.vnode;\n const vnode = createVNode(comp, props, children);\n vnode.ref = ref2;\n vnode.ce = ce;\n delete parent.vnode.ce;\n return vnode;\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\nconst KeepAliveImpl = {\n name: `KeepAlive`,\n // Marker for special handling inside the renderer. We are not using a ===\n // check directly on KeepAlive in the renderer, because importing it directly\n // would prevent it from being tree-shaken.\n __isKeepAlive: true,\n props: {\n include: [String, RegExp, Array],\n exclude: [String, RegExp, Array],\n max: [String, Number]\n },\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const sharedContext = instance.ctx;\n if (!sharedContext.renderer) {\n return () => {\n const children = slots.default && slots.default();\n return children && children.length === 1 ? children[0] : children;\n };\n }\n const cache = /* @__PURE__ */ new Map();\n const keys = /* @__PURE__ */ new Set();\n let current = null;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n instance.__v_cache = cache;\n }\n const parentSuspense = instance.suspense;\n const {\n renderer: {\n p: patch,\n m: move,\n um: _unmount,\n o: { createElement }\n }\n } = sharedContext;\n const storageContainer = createElement(\"div\");\n sharedContext.activate = (vnode, container, anchor, namespace, optimized) => {\n const instance2 = vnode.component;\n move(vnode, container, anchor, 0, parentSuspense);\n patch(\n instance2.vnode,\n vnode,\n container,\n anchor,\n instance2,\n parentSuspense,\n namespace,\n vnode.slotScopeIds,\n optimized\n );\n queuePostRenderEffect(() => {\n instance2.isDeactivated = false;\n if (instance2.a) {\n invokeArrayFns(instance2.a);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n sharedContext.deactivate = (vnode) => {\n const instance2 = vnode.component;\n invalidateMount(instance2.m);\n invalidateMount(instance2.a);\n move(vnode, storageContainer, null, 1, parentSuspense);\n queuePostRenderEffect(() => {\n if (instance2.da) {\n invokeArrayFns(instance2.da);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n instance2.isDeactivated = true;\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n function unmount(vnode) {\n resetShapeFlag(vnode);\n _unmount(vnode, instance, parentSuspense, true);\n }\n function pruneCache(filter) {\n cache.forEach((vnode, key) => {\n const name = getComponentName(vnode.type);\n if (name && !filter(name)) {\n pruneCacheEntry(key);\n }\n });\n }\n function pruneCacheEntry(key) {\n const cached = cache.get(key);\n if (cached && (!current || !isSameVNodeType(cached, current))) {\n unmount(cached);\n } else if (current) {\n resetShapeFlag(current);\n }\n cache.delete(key);\n keys.delete(key);\n }\n watch(\n () => [props.include, props.exclude],\n ([include, exclude]) => {\n include && pruneCache((name) => matches(include, name));\n exclude && pruneCache((name) => !matches(exclude, name));\n },\n // prune post-render after `current` has been updated\n { flush: \"post\", deep: true }\n );\n let pendingCacheKey = null;\n const cacheSubtree = () => {\n if (pendingCacheKey != null) {\n if (isSuspense(instance.subTree.type)) {\n queuePostRenderEffect(() => {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }, instance.subTree.suspense);\n } else {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }\n }\n };\n onMounted(cacheSubtree);\n onUpdated(cacheSubtree);\n onBeforeUnmount(() => {\n cache.forEach((cached) => {\n const { subTree, suspense } = instance;\n const vnode = getInnerChild(subTree);\n if (cached.type === vnode.type && cached.key === vnode.key) {\n resetShapeFlag(vnode);\n const da = vnode.component.da;\n da && queuePostRenderEffect(da, suspense);\n return;\n }\n unmount(cached);\n });\n });\n return () => {\n pendingCacheKey = null;\n if (!slots.default) {\n return current = null;\n }\n const children = slots.default();\n const rawVNode = children[0];\n if (children.length > 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`KeepAlive should contain exactly one component child.`);\n }\n current = null;\n return children;\n } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) {\n current = null;\n return rawVNode;\n }\n let vnode = getInnerChild(rawVNode);\n if (vnode.type === Comment) {\n current = null;\n return vnode;\n }\n const comp = vnode.type;\n const name = getComponentName(\n isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp\n );\n const { include, exclude, max } = props;\n if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {\n vnode.shapeFlag &= ~256;\n current = vnode;\n return rawVNode;\n }\n const key = vnode.key == null ? comp : vnode.key;\n const cachedVNode = cache.get(key);\n if (vnode.el) {\n vnode = cloneVNode(vnode);\n if (rawVNode.shapeFlag & 128) {\n rawVNode.ssContent = vnode;\n }\n }\n pendingCacheKey = key;\n if (cachedVNode) {\n vnode.el = cachedVNode.el;\n vnode.component = cachedVNode.component;\n if (vnode.transition) {\n setTransitionHooks(vnode, vnode.transition);\n }\n vnode.shapeFlag |= 512;\n keys.delete(key);\n keys.add(key);\n } else {\n keys.add(key);\n if (max && keys.size > parseInt(max, 10)) {\n pruneCacheEntry(keys.values().next().value);\n }\n }\n vnode.shapeFlag |= 256;\n current = vnode;\n return isSuspense(rawVNode.type) ? rawVNode : vnode;\n };\n }\n};\nconst KeepAlive = KeepAliveImpl;\nfunction matches(pattern, name) {\n if (isArray(pattern)) {\n return pattern.some((p) => matches(p, name));\n } else if (isString(pattern)) {\n return pattern.split(\",\").includes(name);\n } else if (isRegExp(pattern)) {\n pattern.lastIndex = 0;\n return pattern.test(name);\n }\n return false;\n}\nfunction onActivated(hook, target) {\n registerKeepAliveHook(hook, \"a\", target);\n}\nfunction onDeactivated(hook, target) {\n registerKeepAliveHook(hook, \"da\", target);\n}\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\n const wrappedHook = hook.__wdc || (hook.__wdc = () => {\n let current = target;\n while (current) {\n if (current.isDeactivated) {\n return;\n }\n current = current.parent;\n }\n return hook();\n });\n injectHook(type, wrappedHook, target);\n if (target) {\n let current = target.parent;\n while (current && current.parent) {\n if (isKeepAlive(current.parent.vnode)) {\n injectToKeepAliveRoot(wrappedHook, type, target, current);\n }\n current = current.parent;\n }\n }\n}\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\n const injected = injectHook(\n type,\n hook,\n keepAliveRoot,\n true\n /* prepend */\n );\n onUnmounted(() => {\n remove(keepAliveRoot[type], injected);\n }, target);\n}\nfunction resetShapeFlag(vnode) {\n vnode.shapeFlag &= ~256;\n vnode.shapeFlag &= ~512;\n}\nfunction getInnerChild(vnode) {\n return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\n if (target) {\n const hooks = target[type] || (target[type] = []);\n const wrappedHook = hook.__weh || (hook.__weh = (...args) => {\n pauseTracking();\n const reset = setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n reset();\n resetTracking();\n return res;\n });\n if (prepend) {\n hooks.unshift(wrappedHook);\n } else {\n hooks.push(wrappedHook);\n }\n return wrappedHook;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n const apiName = toHandlerKey(ErrorTypeStrings$1[type].replace(/ hook$/, \"\"));\n warn$1(\n `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (` If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` )\n );\n }\n}\nconst createHook = (lifecycle) => (hook, target = currentInstance) => {\n if (!isInSSRComponentSetup || lifecycle === \"sp\") {\n injectHook(lifecycle, (...args) => hook(...args), target);\n }\n};\nconst onBeforeMount = createHook(\"bm\");\nconst onMounted = createHook(\"m\");\nconst onBeforeUpdate = createHook(\n \"bu\"\n);\nconst onUpdated = createHook(\"u\");\nconst onBeforeUnmount = createHook(\n \"bum\"\n);\nconst onUnmounted = createHook(\"um\");\nconst onServerPrefetch = createHook(\n \"sp\"\n);\nconst onRenderTriggered = createHook(\"rtg\");\nconst onRenderTracked = createHook(\"rtc\");\nfunction onErrorCaptured(hook, target = currentInstance) {\n injectHook(\"ec\", hook, target);\n}\n\nconst COMPONENTS = \"components\";\nconst DIRECTIVES = \"directives\";\nfunction resolveComponent(name, maybeSelfReference) {\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\n}\nconst NULL_DYNAMIC_COMPONENT = Symbol.for(\"v-ndc\");\nfunction resolveDynamicComponent(component) {\n if (isString(component)) {\n return resolveAsset(COMPONENTS, component, false) || component;\n } else {\n return component || NULL_DYNAMIC_COMPONENT;\n }\n}\nfunction resolveDirective(name) {\n return resolveAsset(DIRECTIVES, name);\n}\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\n const instance = currentRenderingInstance || currentInstance;\n if (instance) {\n const Component = instance.type;\n if (type === COMPONENTS) {\n const selfName = getComponentName(\n Component,\n false\n );\n if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {\n return Component;\n }\n }\n const res = (\n // local registration\n // check instance[type] first which is resolved for options API\n resolve(instance[type] || Component[type], name) || // global registration\n resolve(instance.appContext[type], name)\n );\n if (!res && maybeSelfReference) {\n return Component;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && warnMissing && !res) {\n const extra = type === COMPONENTS ? `\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;\n warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\n }\n return res;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`\n );\n }\n}\nfunction resolve(registry, name) {\n return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);\n}\n\nfunction renderList(source, renderItem, cache, index) {\n let ret;\n const cached = cache && cache[index];\n const sourceIsArray = isArray(source);\n if (sourceIsArray || isString(source)) {\n const sourceIsReactiveArray = sourceIsArray && isReactive(source);\n let needsWrap = false;\n if (sourceIsReactiveArray) {\n needsWrap = !isShallow(source);\n source = shallowReadArray(source);\n }\n ret = new Array(source.length);\n for (let i = 0, l = source.length; i < l; i++) {\n ret[i] = renderItem(\n needsWrap ? toReactive(source[i]) : source[i],\n i,\n void 0,\n cached && cached[i]\n );\n }\n } else if (typeof source === \"number\") {\n if (!!(process.env.NODE_ENV !== \"production\") && !Number.isInteger(source)) {\n warn$1(`The v-for range expect an integer value but got ${source}.`);\n }\n ret = new Array(source);\n for (let i = 0; i < source; i++) {\n ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);\n }\n } else if (isObject(source)) {\n if (source[Symbol.iterator]) {\n ret = Array.from(\n source,\n (item, i) => renderItem(item, i, void 0, cached && cached[i])\n );\n } else {\n const keys = Object.keys(source);\n ret = new Array(keys.length);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n ret[i] = renderItem(source[key], key, i, cached && cached[i]);\n }\n }\n } else {\n ret = [];\n }\n if (cache) {\n cache[index] = ret;\n }\n return ret;\n}\n\nfunction createSlots(slots, dynamicSlots) {\n for (let i = 0; i < dynamicSlots.length; i++) {\n const slot = dynamicSlots[i];\n if (isArray(slot)) {\n for (let j = 0; j < slot.length; j++) {\n slots[slot[j].name] = slot[j].fn;\n }\n } else if (slot) {\n slots[slot.name] = slot.key ? (...args) => {\n const res = slot.fn(...args);\n if (res) res.key = slot.key;\n return res;\n } : slot.fn;\n }\n }\n return slots;\n}\n\nfunction renderSlot(slots, name, props = {}, fallback, noSlotted) {\n if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) {\n if (name !== \"default\") props.name = name;\n return openBlock(), createBlock(\n Fragment,\n null,\n [createVNode(\"slot\", props, fallback && fallback())],\n 64\n );\n }\n let slot = slots[name];\n if (!!(process.env.NODE_ENV !== \"production\") && slot && slot.length > 1) {\n warn$1(\n `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.`\n );\n slot = () => [];\n }\n if (slot && slot._c) {\n slot._d = false;\n }\n openBlock();\n const validSlotContent = slot && ensureValidVNode(slot(props));\n const slotKey = props.key || // slot content array of a dynamic conditional slot may have a branch\n // key attached in the `createSlots` helper, respect that\n validSlotContent && validSlotContent.key;\n const rendered = createBlock(\n Fragment,\n {\n key: (slotKey && !isSymbol(slotKey) ? slotKey : `_${name}`) + // #7256 force differentiate fallback content from actual content\n (!validSlotContent && fallback ? \"_fb\" : \"\")\n },\n validSlotContent || (fallback ? fallback() : []),\n validSlotContent && slots._ === 1 ? 64 : -2\n );\n if (!noSlotted && rendered.scopeId) {\n rendered.slotScopeIds = [rendered.scopeId + \"-s\"];\n }\n if (slot && slot._c) {\n slot._d = true;\n }\n return rendered;\n}\nfunction ensureValidVNode(vnodes) {\n return vnodes.some((child) => {\n if (!isVNode(child)) return true;\n if (child.type === Comment) return false;\n if (child.type === Fragment && !ensureValidVNode(child.children))\n return false;\n return true;\n }) ? vnodes : null;\n}\n\nfunction toHandlers(obj, preserveCaseIfNecessary) {\n const ret = {};\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(obj)) {\n warn$1(`v-on with no argument expects an object value.`);\n return ret;\n }\n for (const key in obj) {\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];\n }\n return ret;\n}\n\nconst getPublicInstance = (i) => {\n if (!i) return null;\n if (isStatefulComponent(i)) return getComponentPublicInstance(i);\n return getPublicInstance(i.parent);\n};\nconst publicPropertiesMap = (\n // Move PURE marker to new line to workaround compiler discarding it\n // due to type annotation\n /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {\n $: (i) => i,\n $el: (i) => i.vnode.el,\n $data: (i) => i.data,\n $props: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.props) : i.props,\n $attrs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.attrs) : i.attrs,\n $slots: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.slots) : i.slots,\n $refs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.refs) : i.refs,\n $parent: (i) => getPublicInstance(i.parent),\n $root: (i) => getPublicInstance(i.root),\n $host: (i) => i.ce,\n $emit: (i) => i.emit,\n $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type,\n $forceUpdate: (i) => i.f || (i.f = () => {\n queueJob(i.update);\n }),\n $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)),\n $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP\n })\n);\nconst isReservedPrefix = (key) => key === \"_\" || key === \"$\";\nconst hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);\nconst PublicInstanceProxyHandlers = {\n get({ _: instance }, key) {\n if (key === \"__v_skip\") {\n return true;\n }\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\n if (!!(process.env.NODE_ENV !== \"production\") && key === \"__isVue\") {\n return true;\n }\n let normalizedProps;\n if (key[0] !== \"$\") {\n const n = accessCache[key];\n if (n !== void 0) {\n switch (n) {\n case 1 /* SETUP */:\n return setupState[key];\n case 2 /* DATA */:\n return data[key];\n case 4 /* CONTEXT */:\n return ctx[key];\n case 3 /* PROPS */:\n return props[key];\n }\n } else if (hasSetupBinding(setupState, key)) {\n accessCache[key] = 1 /* SETUP */;\n return setupState[key];\n } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {\n accessCache[key] = 2 /* DATA */;\n return data[key];\n } else if (\n // only cache other properties when instance has declared (thus stable)\n // props\n (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)\n ) {\n accessCache[key] = 3 /* PROPS */;\n return props[key];\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {\n accessCache[key] = 0 /* OTHER */;\n }\n }\n const publicGetter = publicPropertiesMap[key];\n let cssModule, globalProperties;\n if (publicGetter) {\n if (key === \"$attrs\") {\n track(instance.attrs, \"get\", \"\");\n !!(process.env.NODE_ENV !== \"production\") && markAttrsAccessed();\n } else if (!!(process.env.NODE_ENV !== \"production\") && key === \"$slots\") {\n track(instance, \"get\", key);\n }\n return publicGetter(instance);\n } else if (\n // css module (injected by vue-loader)\n (cssModule = type.__cssModules) && (cssModule = cssModule[key])\n ) {\n return cssModule;\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (\n // global properties\n globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)\n ) {\n {\n return globalProperties[key];\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading\n // to infinite warning loop\n key.indexOf(\"__v\") !== 0)) {\n if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {\n warn$1(\n `Property ${JSON.stringify(\n key\n )} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`\n );\n } else if (instance === currentRenderingInstance) {\n warn$1(\n `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`\n );\n }\n }\n },\n set({ _: instance }, key, value) {\n const { data, setupState, ctx } = instance;\n if (hasSetupBinding(setupState, key)) {\n setupState[key] = value;\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup && hasOwn(setupState, key)) {\n warn$1(`Cannot mutate \n\n\n","export default \"\"","import Vue from 'vue'\nimport { getCurrentInstance } from 'vue'\n\nvar isVue2 = true\nvar isVue3 = false\nvar Vue2 = Vue\nvar warn = Vue.util.warn\n\nfunction install() {}\n\n// createApp polyfill\nexport function createApp(rootComponent, rootProps) {\n var vm\n var provide = {}\n var app = {\n config: Vue.config,\n use: Vue.use.bind(Vue),\n mixin: Vue.mixin.bind(Vue),\n component: Vue.component.bind(Vue),\n provide: function (key, value) {\n provide[key] = value\n return this\n },\n directive: function (name, dir) {\n if (dir) {\n Vue.directive(name, dir)\n return app\n } else {\n return Vue.directive(name)\n }\n },\n mount: function (el, hydrating) {\n if (!vm) {\n vm = new Vue(Object.assign({ propsData: rootProps }, rootComponent, { provide: Object.assign(provide, rootComponent.provide) }))\n vm.$mount(el, hydrating)\n return vm\n } else {\n return vm\n }\n },\n unmount: function () {\n if (vm) {\n vm.$destroy()\n vm = undefined\n }\n },\n }\n return app\n}\n\nexport {\n Vue,\n Vue2,\n isVue2,\n isVue3,\n install,\n warn\n}\n\n// Vue 3 components mock\nfunction createMockComponent(name) {\n return {\n setup() {\n throw new Error('[vue-demi] ' + name + ' is not supported in Vue 2. It\\'s provided to avoid compiler errors.')\n }\n }\n}\nexport var Fragment = /*#__PURE__*/ createMockComponent('Fragment')\nexport var Transition = /*#__PURE__*/ createMockComponent('Transition')\nexport var TransitionGroup = /*#__PURE__*/ createMockComponent('TransitionGroup')\nexport var Teleport = /*#__PURE__*/ createMockComponent('Teleport')\nexport var Suspense = /*#__PURE__*/ createMockComponent('Suspense')\nexport var KeepAlive = /*#__PURE__*/ createMockComponent('KeepAlive')\n\nexport * from 'vue'\n\n// Not implemented https://github.com/vuejs/core/pull/8111, falls back to getCurrentInstance()\nexport function hasInjectionContext() {\n return !!getCurrentInstance()\n}\n","import { shallowRef, watchEffect, readonly, ref, watch, customRef, getCurrentScope, onScopeDispose, effectScope, getCurrentInstance, provide, inject, isVue3, version, isRef, unref, computed, reactive, toRefs as toRefs$1, toRef as toRef$1, isVue2, set as set$1, onBeforeMount, nextTick, onBeforeUnmount, onMounted, onUnmounted, isReactive } from 'vue-demi';\n\nfunction computedEager(fn, options) {\n var _a;\n const result = shallowRef();\n watchEffect(() => {\n result.value = fn();\n }, {\n ...options,\n flush: (_a = options == null ? void 0 : options.flush) != null ? _a : \"sync\"\n });\n return readonly(result);\n}\n\nfunction computedWithControl(source, fn) {\n let v = void 0;\n let track;\n let trigger;\n const dirty = ref(true);\n const update = () => {\n dirty.value = true;\n trigger();\n };\n watch(source, update, { flush: \"sync\" });\n const get = typeof fn === \"function\" ? fn : fn.get;\n const set = typeof fn === \"function\" ? void 0 : fn.set;\n const result = customRef((_track, _trigger) => {\n track = _track;\n trigger = _trigger;\n return {\n get() {\n if (dirty.value) {\n v = get();\n dirty.value = false;\n }\n track();\n return v;\n },\n set(v2) {\n set == null ? void 0 : set(v2);\n }\n };\n });\n if (Object.isExtensible(result))\n result.trigger = update;\n return result;\n}\n\nfunction tryOnScopeDispose(fn) {\n if (getCurrentScope()) {\n onScopeDispose(fn);\n return true;\n }\n return false;\n}\n\nfunction createEventHook() {\n const fns = /* @__PURE__ */ new Set();\n const off = (fn) => {\n fns.delete(fn);\n };\n const on = (fn) => {\n fns.add(fn);\n const offFn = () => off(fn);\n tryOnScopeDispose(offFn);\n return {\n off: offFn\n };\n };\n const trigger = (...args) => {\n return Promise.all(Array.from(fns).map((fn) => fn(...args)));\n };\n return {\n on,\n off,\n trigger\n };\n}\n\nfunction createGlobalState(stateFactory) {\n let initialized = false;\n let state;\n const scope = effectScope(true);\n return (...args) => {\n if (!initialized) {\n state = scope.run(() => stateFactory(...args));\n initialized = true;\n }\n return state;\n };\n}\n\nconst localProvidedStateMap = /* @__PURE__ */ new WeakMap();\n\nconst provideLocal = (key, value) => {\n var _a;\n const instance = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy;\n if (instance == null)\n throw new Error(\"provideLocal must be called in setup\");\n if (!localProvidedStateMap.has(instance))\n localProvidedStateMap.set(instance, /* @__PURE__ */ Object.create(null));\n const localProvidedState = localProvidedStateMap.get(instance);\n localProvidedState[key] = value;\n provide(key, value);\n};\n\nconst injectLocal = (...args) => {\n var _a;\n const key = args[0];\n const instance = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy;\n if (instance == null)\n throw new Error(\"injectLocal must be called in setup\");\n if (localProvidedStateMap.has(instance) && key in localProvidedStateMap.get(instance))\n return localProvidedStateMap.get(instance)[key];\n return inject(...args);\n};\n\nfunction createInjectionState(composable, options) {\n const key = (options == null ? void 0 : options.injectionKey) || Symbol(composable.name || \"InjectionState\");\n const useProvidingState = (...args) => {\n const state = composable(...args);\n provideLocal(key, state);\n return state;\n };\n const useInjectedState = () => injectLocal(key);\n return [useProvidingState, useInjectedState];\n}\n\nfunction createSharedComposable(composable) {\n let subscribers = 0;\n let state;\n let scope;\n const dispose = () => {\n subscribers -= 1;\n if (scope && subscribers <= 0) {\n scope.stop();\n state = void 0;\n scope = void 0;\n }\n };\n return (...args) => {\n subscribers += 1;\n if (!state) {\n scope = effectScope(true);\n state = scope.run(() => composable(...args));\n }\n tryOnScopeDispose(dispose);\n return state;\n };\n}\n\nfunction extendRef(ref, extend, { enumerable = false, unwrap = true } = {}) {\n if (!isVue3 && !version.startsWith(\"2.7.\")) {\n if (process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] extendRef only works in Vue 2.7 or above.\");\n return;\n }\n for (const [key, value] of Object.entries(extend)) {\n if (key === \"value\")\n continue;\n if (isRef(value) && unwrap) {\n Object.defineProperty(ref, key, {\n get() {\n return value.value;\n },\n set(v) {\n value.value = v;\n },\n enumerable\n });\n } else {\n Object.defineProperty(ref, key, { value, enumerable });\n }\n }\n return ref;\n}\n\nfunction get(obj, key) {\n if (key == null)\n return unref(obj);\n return unref(obj)[key];\n}\n\nfunction isDefined(v) {\n return unref(v) != null;\n}\n\nfunction makeDestructurable(obj, arr) {\n if (typeof Symbol !== \"undefined\") {\n const clone = { ...obj };\n Object.defineProperty(clone, Symbol.iterator, {\n enumerable: false,\n value() {\n let index = 0;\n return {\n next: () => ({\n value: arr[index++],\n done: index > arr.length\n })\n };\n }\n });\n return clone;\n } else {\n return Object.assign([...arr], obj);\n }\n}\n\nfunction toValue(r) {\n return typeof r === \"function\" ? r() : unref(r);\n}\nconst resolveUnref = toValue;\n\nfunction reactify(fn, options) {\n const unrefFn = (options == null ? void 0 : options.computedGetter) === false ? unref : toValue;\n return function(...args) {\n return computed(() => fn.apply(this, args.map((i) => unrefFn(i))));\n };\n}\n\nfunction reactifyObject(obj, optionsOrKeys = {}) {\n let keys = [];\n let options;\n if (Array.isArray(optionsOrKeys)) {\n keys = optionsOrKeys;\n } else {\n options = optionsOrKeys;\n const { includeOwnProperties = true } = optionsOrKeys;\n keys.push(...Object.keys(obj));\n if (includeOwnProperties)\n keys.push(...Object.getOwnPropertyNames(obj));\n }\n return Object.fromEntries(\n keys.map((key) => {\n const value = obj[key];\n return [\n key,\n typeof value === \"function\" ? reactify(value.bind(obj), options) : value\n ];\n })\n );\n}\n\nfunction toReactive(objectRef) {\n if (!isRef(objectRef))\n return reactive(objectRef);\n const proxy = new Proxy({}, {\n get(_, p, receiver) {\n return unref(Reflect.get(objectRef.value, p, receiver));\n },\n set(_, p, value) {\n if (isRef(objectRef.value[p]) && !isRef(value))\n objectRef.value[p].value = value;\n else\n objectRef.value[p] = value;\n return true;\n },\n deleteProperty(_, p) {\n return Reflect.deleteProperty(objectRef.value, p);\n },\n has(_, p) {\n return Reflect.has(objectRef.value, p);\n },\n ownKeys() {\n return Object.keys(objectRef.value);\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true\n };\n }\n });\n return reactive(proxy);\n}\n\nfunction reactiveComputed(fn) {\n return toReactive(computed(fn));\n}\n\nfunction reactiveOmit(obj, ...keys) {\n const flatKeys = keys.flat();\n const predicate = flatKeys[0];\n return reactiveComputed(() => typeof predicate === \"function\" ? Object.fromEntries(Object.entries(toRefs$1(obj)).filter(([k, v]) => !predicate(toValue(v), k))) : Object.fromEntries(Object.entries(toRefs$1(obj)).filter((e) => !flatKeys.includes(e[0]))));\n}\n\nconst isClient = typeof window !== \"undefined\" && typeof document !== \"undefined\";\nconst isWorker = typeof WorkerGlobalScope !== \"undefined\" && globalThis instanceof WorkerGlobalScope;\nconst isDef = (val) => typeof val !== \"undefined\";\nconst notNullish = (val) => val != null;\nconst assert = (condition, ...infos) => {\n if (!condition)\n console.warn(...infos);\n};\nconst toString = Object.prototype.toString;\nconst isObject = (val) => toString.call(val) === \"[object Object]\";\nconst now = () => Date.now();\nconst timestamp = () => +Date.now();\nconst clamp = (n, min, max) => Math.min(max, Math.max(min, n));\nconst noop = () => {\n};\nconst rand = (min, max) => {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min + 1)) + min;\n};\nconst hasOwn = (val, key) => Object.prototype.hasOwnProperty.call(val, key);\nconst isIOS = /* @__PURE__ */ getIsIOS();\nfunction getIsIOS() {\n var _a, _b;\n return isClient && ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent) && (/iP(ad|hone|od)/.test(window.navigator.userAgent) || ((_b = window == null ? void 0 : window.navigator) == null ? void 0 : _b.maxTouchPoints) > 2 && /iPad|Macintosh/.test(window == null ? void 0 : window.navigator.userAgent));\n}\n\nfunction createFilterWrapper(filter, fn) {\n function wrapper(...args) {\n return new Promise((resolve, reject) => {\n Promise.resolve(filter(() => fn.apply(this, args), { fn, thisArg: this, args })).then(resolve).catch(reject);\n });\n }\n return wrapper;\n}\nconst bypassFilter = (invoke) => {\n return invoke();\n};\nfunction debounceFilter(ms, options = {}) {\n let timer;\n let maxTimer;\n let lastRejector = noop;\n const _clearTimeout = (timer2) => {\n clearTimeout(timer2);\n lastRejector();\n lastRejector = noop;\n };\n const filter = (invoke) => {\n const duration = toValue(ms);\n const maxDuration = toValue(options.maxWait);\n if (timer)\n _clearTimeout(timer);\n if (duration <= 0 || maxDuration !== void 0 && maxDuration <= 0) {\n if (maxTimer) {\n _clearTimeout(maxTimer);\n maxTimer = null;\n }\n return Promise.resolve(invoke());\n }\n return new Promise((resolve, reject) => {\n lastRejector = options.rejectOnCancel ? reject : resolve;\n if (maxDuration && !maxTimer) {\n maxTimer = setTimeout(() => {\n if (timer)\n _clearTimeout(timer);\n maxTimer = null;\n resolve(invoke());\n }, maxDuration);\n }\n timer = setTimeout(() => {\n if (maxTimer)\n _clearTimeout(maxTimer);\n maxTimer = null;\n resolve(invoke());\n }, duration);\n });\n };\n return filter;\n}\nfunction throttleFilter(...args) {\n let lastExec = 0;\n let timer;\n let isLeading = true;\n let lastRejector = noop;\n let lastValue;\n let ms;\n let trailing;\n let leading;\n let rejectOnCancel;\n if (!isRef(args[0]) && typeof args[0] === \"object\")\n ({ delay: ms, trailing = true, leading = true, rejectOnCancel = false } = args[0]);\n else\n [ms, trailing = true, leading = true, rejectOnCancel = false] = args;\n const clear = () => {\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n lastRejector();\n lastRejector = noop;\n }\n };\n const filter = (_invoke) => {\n const duration = toValue(ms);\n const elapsed = Date.now() - lastExec;\n const invoke = () => {\n return lastValue = _invoke();\n };\n clear();\n if (duration <= 0) {\n lastExec = Date.now();\n return invoke();\n }\n if (elapsed > duration && (leading || !isLeading)) {\n lastExec = Date.now();\n invoke();\n } else if (trailing) {\n lastValue = new Promise((resolve, reject) => {\n lastRejector = rejectOnCancel ? reject : resolve;\n timer = setTimeout(() => {\n lastExec = Date.now();\n isLeading = true;\n resolve(invoke());\n clear();\n }, Math.max(0, duration - elapsed));\n });\n }\n if (!leading && !timer)\n timer = setTimeout(() => isLeading = true, duration);\n isLeading = false;\n return lastValue;\n };\n return filter;\n}\nfunction pausableFilter(extendFilter = bypassFilter) {\n const isActive = ref(true);\n function pause() {\n isActive.value = false;\n }\n function resume() {\n isActive.value = true;\n }\n const eventFilter = (...args) => {\n if (isActive.value)\n extendFilter(...args);\n };\n return { isActive: readonly(isActive), pause, resume, eventFilter };\n}\n\nconst directiveHooks = {\n mounted: isVue3 ? \"mounted\" : \"inserted\",\n updated: isVue3 ? \"updated\" : \"componentUpdated\",\n unmounted: isVue3 ? \"unmounted\" : \"unbind\"\n};\n\nfunction cacheStringFunction(fn) {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n}\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, \"-$1\").toLowerCase());\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction((str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n});\n\nfunction promiseTimeout(ms, throwOnTimeout = false, reason = \"Timeout\") {\n return new Promise((resolve, reject) => {\n if (throwOnTimeout)\n setTimeout(() => reject(reason), ms);\n else\n setTimeout(resolve, ms);\n });\n}\nfunction identity(arg) {\n return arg;\n}\nfunction createSingletonPromise(fn) {\n let _promise;\n function wrapper() {\n if (!_promise)\n _promise = fn();\n return _promise;\n }\n wrapper.reset = async () => {\n const _prev = _promise;\n _promise = void 0;\n if (_prev)\n await _prev;\n };\n return wrapper;\n}\nfunction invoke(fn) {\n return fn();\n}\nfunction containsProp(obj, ...props) {\n return props.some((k) => k in obj);\n}\nfunction increaseWithUnit(target, delta) {\n var _a;\n if (typeof target === \"number\")\n return target + delta;\n const value = ((_a = target.match(/^-?[0-9]+\\.?[0-9]*/)) == null ? void 0 : _a[0]) || \"\";\n const unit = target.slice(value.length);\n const result = Number.parseFloat(value) + delta;\n if (Number.isNaN(result))\n return target;\n return result + unit;\n}\nfunction objectPick(obj, keys, omitUndefined = false) {\n return keys.reduce((n, k) => {\n if (k in obj) {\n if (!omitUndefined || obj[k] !== void 0)\n n[k] = obj[k];\n }\n return n;\n }, {});\n}\nfunction objectOmit(obj, keys, omitUndefined = false) {\n return Object.fromEntries(Object.entries(obj).filter(([key, value]) => {\n return (!omitUndefined || value !== void 0) && !keys.includes(key);\n }));\n}\nfunction objectEntries(obj) {\n return Object.entries(obj);\n}\nfunction getLifeCycleTarget(target) {\n return target || getCurrentInstance();\n}\n\nfunction toRef(...args) {\n if (args.length !== 1)\n return toRef$1(...args);\n const r = args[0];\n return typeof r === \"function\" ? readonly(customRef(() => ({ get: r, set: noop }))) : ref(r);\n}\nconst resolveRef = toRef;\n\nfunction reactivePick(obj, ...keys) {\n const flatKeys = keys.flat();\n const predicate = flatKeys[0];\n return reactiveComputed(() => typeof predicate === \"function\" ? Object.fromEntries(Object.entries(toRefs$1(obj)).filter(([k, v]) => predicate(toValue(v), k))) : Object.fromEntries(flatKeys.map((k) => [k, toRef(obj, k)])));\n}\n\nfunction refAutoReset(defaultValue, afterMs = 1e4) {\n return customRef((track, trigger) => {\n let value = toValue(defaultValue);\n let timer;\n const resetAfter = () => setTimeout(() => {\n value = toValue(defaultValue);\n trigger();\n }, toValue(afterMs));\n tryOnScopeDispose(() => {\n clearTimeout(timer);\n });\n return {\n get() {\n track();\n return value;\n },\n set(newValue) {\n value = newValue;\n trigger();\n clearTimeout(timer);\n timer = resetAfter();\n }\n };\n });\n}\n\nfunction useDebounceFn(fn, ms = 200, options = {}) {\n return createFilterWrapper(\n debounceFilter(ms, options),\n fn\n );\n}\n\nfunction refDebounced(value, ms = 200, options = {}) {\n const debounced = ref(value.value);\n const updater = useDebounceFn(() => {\n debounced.value = value.value;\n }, ms, options);\n watch(value, () => updater());\n return debounced;\n}\n\nfunction refDefault(source, defaultValue) {\n return computed({\n get() {\n var _a;\n return (_a = source.value) != null ? _a : defaultValue;\n },\n set(value) {\n source.value = value;\n }\n });\n}\n\nfunction useThrottleFn(fn, ms = 200, trailing = false, leading = true, rejectOnCancel = false) {\n return createFilterWrapper(\n throttleFilter(ms, trailing, leading, rejectOnCancel),\n fn\n );\n}\n\nfunction refThrottled(value, delay = 200, trailing = true, leading = true) {\n if (delay <= 0)\n return value;\n const throttled = ref(value.value);\n const updater = useThrottleFn(() => {\n throttled.value = value.value;\n }, delay, trailing, leading);\n watch(value, () => updater());\n return throttled;\n}\n\nfunction refWithControl(initial, options = {}) {\n let source = initial;\n let track;\n let trigger;\n const ref = customRef((_track, _trigger) => {\n track = _track;\n trigger = _trigger;\n return {\n get() {\n return get();\n },\n set(v) {\n set(v);\n }\n };\n });\n function get(tracking = true) {\n if (tracking)\n track();\n return source;\n }\n function set(value, triggering = true) {\n var _a, _b;\n if (value === source)\n return;\n const old = source;\n if (((_a = options.onBeforeChange) == null ? void 0 : _a.call(options, value, old)) === false)\n return;\n source = value;\n (_b = options.onChanged) == null ? void 0 : _b.call(options, value, old);\n if (triggering)\n trigger();\n }\n const untrackedGet = () => get(false);\n const silentSet = (v) => set(v, false);\n const peek = () => get(false);\n const lay = (v) => set(v, false);\n return extendRef(\n ref,\n {\n get,\n set,\n untrackedGet,\n silentSet,\n peek,\n lay\n },\n { enumerable: true }\n );\n}\nconst controlledRef = refWithControl;\n\nfunction set(...args) {\n if (args.length === 2) {\n const [ref, value] = args;\n ref.value = value;\n }\n if (args.length === 3) {\n if (isVue2) {\n set$1(...args);\n } else {\n const [target, key, value] = args;\n target[key] = value;\n }\n }\n}\n\nfunction watchWithFilter(source, cb, options = {}) {\n const {\n eventFilter = bypassFilter,\n ...watchOptions\n } = options;\n return watch(\n source,\n createFilterWrapper(\n eventFilter,\n cb\n ),\n watchOptions\n );\n}\n\nfunction watchPausable(source, cb, options = {}) {\n const {\n eventFilter: filter,\n ...watchOptions\n } = options;\n const { eventFilter, pause, resume, isActive } = pausableFilter(filter);\n const stop = watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter\n }\n );\n return { stop, pause, resume, isActive };\n}\n\nfunction syncRef(left, right, ...[options]) {\n const {\n flush = \"sync\",\n deep = false,\n immediate = true,\n direction = \"both\",\n transform = {}\n } = options || {};\n const watchers = [];\n const transformLTR = \"ltr\" in transform && transform.ltr || ((v) => v);\n const transformRTL = \"rtl\" in transform && transform.rtl || ((v) => v);\n if (direction === \"both\" || direction === \"ltr\") {\n watchers.push(watchPausable(\n left,\n (newValue) => {\n watchers.forEach((w) => w.pause());\n right.value = transformLTR(newValue);\n watchers.forEach((w) => w.resume());\n },\n { flush, deep, immediate }\n ));\n }\n if (direction === \"both\" || direction === \"rtl\") {\n watchers.push(watchPausable(\n right,\n (newValue) => {\n watchers.forEach((w) => w.pause());\n left.value = transformRTL(newValue);\n watchers.forEach((w) => w.resume());\n },\n { flush, deep, immediate }\n ));\n }\n const stop = () => {\n watchers.forEach((w) => w.stop());\n };\n return stop;\n}\n\nfunction syncRefs(source, targets, options = {}) {\n const {\n flush = \"sync\",\n deep = false,\n immediate = true\n } = options;\n if (!Array.isArray(targets))\n targets = [targets];\n return watch(\n source,\n (newValue) => targets.forEach((target) => target.value = newValue),\n { flush, deep, immediate }\n );\n}\n\nfunction toRefs(objectRef, options = {}) {\n if (!isRef(objectRef))\n return toRefs$1(objectRef);\n const result = Array.isArray(objectRef.value) ? Array.from({ length: objectRef.value.length }) : {};\n for (const key in objectRef.value) {\n result[key] = customRef(() => ({\n get() {\n return objectRef.value[key];\n },\n set(v) {\n var _a;\n const replaceRef = (_a = toValue(options.replaceRef)) != null ? _a : true;\n if (replaceRef) {\n if (Array.isArray(objectRef.value)) {\n const copy = [...objectRef.value];\n copy[key] = v;\n objectRef.value = copy;\n } else {\n const newObject = { ...objectRef.value, [key]: v };\n Object.setPrototypeOf(newObject, Object.getPrototypeOf(objectRef.value));\n objectRef.value = newObject;\n }\n } else {\n objectRef.value[key] = v;\n }\n }\n }));\n }\n return result;\n}\n\nfunction tryOnBeforeMount(fn, sync = true, target) {\n const instance = getLifeCycleTarget(target);\n if (instance)\n onBeforeMount(fn, target);\n else if (sync)\n fn();\n else\n nextTick(fn);\n}\n\nfunction tryOnBeforeUnmount(fn, target) {\n const instance = getLifeCycleTarget(target);\n if (instance)\n onBeforeUnmount(fn, target);\n}\n\nfunction tryOnMounted(fn, sync = true, target) {\n const instance = getLifeCycleTarget();\n if (instance)\n onMounted(fn, target);\n else if (sync)\n fn();\n else\n nextTick(fn);\n}\n\nfunction tryOnUnmounted(fn, target) {\n const instance = getLifeCycleTarget(target);\n if (instance)\n onUnmounted(fn, target);\n}\n\nfunction createUntil(r, isNot = false) {\n function toMatch(condition, { flush = \"sync\", deep = false, timeout, throwOnTimeout } = {}) {\n let stop = null;\n const watcher = new Promise((resolve) => {\n stop = watch(\n r,\n (v) => {\n if (condition(v) !== isNot) {\n stop == null ? void 0 : stop();\n resolve(v);\n }\n },\n {\n flush,\n deep,\n immediate: true\n }\n );\n });\n const promises = [watcher];\n if (timeout != null) {\n promises.push(\n promiseTimeout(timeout, throwOnTimeout).then(() => toValue(r)).finally(() => stop == null ? void 0 : stop())\n );\n }\n return Promise.race(promises);\n }\n function toBe(value, options) {\n if (!isRef(value))\n return toMatch((v) => v === value, options);\n const { flush = \"sync\", deep = false, timeout, throwOnTimeout } = options != null ? options : {};\n let stop = null;\n const watcher = new Promise((resolve) => {\n stop = watch(\n [r, value],\n ([v1, v2]) => {\n if (isNot !== (v1 === v2)) {\n stop == null ? void 0 : stop();\n resolve(v1);\n }\n },\n {\n flush,\n deep,\n immediate: true\n }\n );\n });\n const promises = [watcher];\n if (timeout != null) {\n promises.push(\n promiseTimeout(timeout, throwOnTimeout).then(() => toValue(r)).finally(() => {\n stop == null ? void 0 : stop();\n return toValue(r);\n })\n );\n }\n return Promise.race(promises);\n }\n function toBeTruthy(options) {\n return toMatch((v) => Boolean(v), options);\n }\n function toBeNull(options) {\n return toBe(null, options);\n }\n function toBeUndefined(options) {\n return toBe(void 0, options);\n }\n function toBeNaN(options) {\n return toMatch(Number.isNaN, options);\n }\n function toContains(value, options) {\n return toMatch((v) => {\n const array = Array.from(v);\n return array.includes(value) || array.includes(toValue(value));\n }, options);\n }\n function changed(options) {\n return changedTimes(1, options);\n }\n function changedTimes(n = 1, options) {\n let count = -1;\n return toMatch(() => {\n count += 1;\n return count >= n;\n }, options);\n }\n if (Array.isArray(toValue(r))) {\n const instance = {\n toMatch,\n toContains,\n changed,\n changedTimes,\n get not() {\n return createUntil(r, !isNot);\n }\n };\n return instance;\n } else {\n const instance = {\n toMatch,\n toBe,\n toBeTruthy,\n toBeNull,\n toBeNaN,\n toBeUndefined,\n changed,\n changedTimes,\n get not() {\n return createUntil(r, !isNot);\n }\n };\n return instance;\n }\n}\nfunction until(r) {\n return createUntil(r);\n}\n\nfunction defaultComparator(value, othVal) {\n return value === othVal;\n}\nfunction useArrayDifference(...args) {\n var _a;\n const list = args[0];\n const values = args[1];\n let compareFn = (_a = args[2]) != null ? _a : defaultComparator;\n if (typeof compareFn === \"string\") {\n const key = compareFn;\n compareFn = (value, othVal) => value[key] === othVal[key];\n }\n return computed(() => toValue(list).filter((x) => toValue(values).findIndex((y) => compareFn(x, y)) === -1));\n}\n\nfunction useArrayEvery(list, fn) {\n return computed(() => toValue(list).every((element, index, array) => fn(toValue(element), index, array)));\n}\n\nfunction useArrayFilter(list, fn) {\n return computed(() => toValue(list).map((i) => toValue(i)).filter(fn));\n}\n\nfunction useArrayFind(list, fn) {\n return computed(() => toValue(\n toValue(list).find((element, index, array) => fn(toValue(element), index, array))\n ));\n}\n\nfunction useArrayFindIndex(list, fn) {\n return computed(() => toValue(list).findIndex((element, index, array) => fn(toValue(element), index, array)));\n}\n\nfunction findLast(arr, cb) {\n let index = arr.length;\n while (index-- > 0) {\n if (cb(arr[index], index, arr))\n return arr[index];\n }\n return void 0;\n}\nfunction useArrayFindLast(list, fn) {\n return computed(() => toValue(\n !Array.prototype.findLast ? findLast(toValue(list), (element, index, array) => fn(toValue(element), index, array)) : toValue(list).findLast((element, index, array) => fn(toValue(element), index, array))\n ));\n}\n\nfunction isArrayIncludesOptions(obj) {\n return isObject(obj) && containsProp(obj, \"formIndex\", \"comparator\");\n}\nfunction useArrayIncludes(...args) {\n var _a;\n const list = args[0];\n const value = args[1];\n let comparator = args[2];\n let formIndex = 0;\n if (isArrayIncludesOptions(comparator)) {\n formIndex = (_a = comparator.fromIndex) != null ? _a : 0;\n comparator = comparator.comparator;\n }\n if (typeof comparator === \"string\") {\n const key = comparator;\n comparator = (element, value2) => element[key] === toValue(value2);\n }\n comparator = comparator != null ? comparator : (element, value2) => element === toValue(value2);\n return computed(() => toValue(list).slice(formIndex).some((element, index, array) => comparator(\n toValue(element),\n toValue(value),\n index,\n toValue(array)\n )));\n}\n\nfunction useArrayJoin(list, separator) {\n return computed(() => toValue(list).map((i) => toValue(i)).join(toValue(separator)));\n}\n\nfunction useArrayMap(list, fn) {\n return computed(() => toValue(list).map((i) => toValue(i)).map(fn));\n}\n\nfunction useArrayReduce(list, reducer, ...args) {\n const reduceCallback = (sum, value, index) => reducer(toValue(sum), toValue(value), index);\n return computed(() => {\n const resolved = toValue(list);\n return args.length ? resolved.reduce(reduceCallback, toValue(args[0])) : resolved.reduce(reduceCallback);\n });\n}\n\nfunction useArraySome(list, fn) {\n return computed(() => toValue(list).some((element, index, array) => fn(toValue(element), index, array)));\n}\n\nfunction uniq(array) {\n return Array.from(new Set(array));\n}\nfunction uniqueElementsBy(array, fn) {\n return array.reduce((acc, v) => {\n if (!acc.some((x) => fn(v, x, array)))\n acc.push(v);\n return acc;\n }, []);\n}\nfunction useArrayUnique(list, compareFn) {\n return computed(() => {\n const resolvedList = toValue(list).map((element) => toValue(element));\n return compareFn ? uniqueElementsBy(resolvedList, compareFn) : uniq(resolvedList);\n });\n}\n\nfunction useCounter(initialValue = 0, options = {}) {\n let _initialValue = unref(initialValue);\n const count = ref(initialValue);\n const {\n max = Number.POSITIVE_INFINITY,\n min = Number.NEGATIVE_INFINITY\n } = options;\n const inc = (delta = 1) => count.value = Math.max(Math.min(max, count.value + delta), min);\n const dec = (delta = 1) => count.value = Math.min(Math.max(min, count.value - delta), max);\n const get = () => count.value;\n const set = (val) => count.value = Math.max(min, Math.min(max, val));\n const reset = (val = _initialValue) => {\n _initialValue = val;\n return set(val);\n };\n return { count, inc, dec, get, set, reset };\n}\n\nconst REGEX_PARSE = /^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/;\nconst REGEX_FORMAT = /[YMDHhms]o|\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|SSS/g;\nfunction defaultMeridiem(hours, minutes, isLowercase, hasPeriod) {\n let m = hours < 12 ? \"AM\" : \"PM\";\n if (hasPeriod)\n m = m.split(\"\").reduce((acc, curr) => acc += `${curr}.`, \"\");\n return isLowercase ? m.toLowerCase() : m;\n}\nfunction formatOrdinal(num) {\n const suffixes = [\"th\", \"st\", \"nd\", \"rd\"];\n const v = num % 100;\n return num + (suffixes[(v - 20) % 10] || suffixes[v] || suffixes[0]);\n}\nfunction formatDate(date, formatStr, options = {}) {\n var _a;\n const years = date.getFullYear();\n const month = date.getMonth();\n const days = date.getDate();\n const hours = date.getHours();\n const minutes = date.getMinutes();\n const seconds = date.getSeconds();\n const milliseconds = date.getMilliseconds();\n const day = date.getDay();\n const meridiem = (_a = options.customMeridiem) != null ? _a : defaultMeridiem;\n const matches = {\n Yo: () => formatOrdinal(years),\n YY: () => String(years).slice(-2),\n YYYY: () => years,\n M: () => month + 1,\n Mo: () => formatOrdinal(month + 1),\n MM: () => `${month + 1}`.padStart(2, \"0\"),\n MMM: () => date.toLocaleDateString(options.locales, { month: \"short\" }),\n MMMM: () => date.toLocaleDateString(options.locales, { month: \"long\" }),\n D: () => String(days),\n Do: () => formatOrdinal(days),\n DD: () => `${days}`.padStart(2, \"0\"),\n H: () => String(hours),\n Ho: () => formatOrdinal(hours),\n HH: () => `${hours}`.padStart(2, \"0\"),\n h: () => `${hours % 12 || 12}`.padStart(1, \"0\"),\n ho: () => formatOrdinal(hours % 12 || 12),\n hh: () => `${hours % 12 || 12}`.padStart(2, \"0\"),\n m: () => String(minutes),\n mo: () => formatOrdinal(minutes),\n mm: () => `${minutes}`.padStart(2, \"0\"),\n s: () => String(seconds),\n so: () => formatOrdinal(seconds),\n ss: () => `${seconds}`.padStart(2, \"0\"),\n SSS: () => `${milliseconds}`.padStart(3, \"0\"),\n d: () => day,\n dd: () => date.toLocaleDateString(options.locales, { weekday: \"narrow\" }),\n ddd: () => date.toLocaleDateString(options.locales, { weekday: \"short\" }),\n dddd: () => date.toLocaleDateString(options.locales, { weekday: \"long\" }),\n A: () => meridiem(hours, minutes),\n AA: () => meridiem(hours, minutes, false, true),\n a: () => meridiem(hours, minutes, true),\n aa: () => meridiem(hours, minutes, true, true)\n };\n return formatStr.replace(REGEX_FORMAT, (match, $1) => {\n var _a2, _b;\n return (_b = $1 != null ? $1 : (_a2 = matches[match]) == null ? void 0 : _a2.call(matches)) != null ? _b : match;\n });\n}\nfunction normalizeDate(date) {\n if (date === null)\n return new Date(Number.NaN);\n if (date === void 0)\n return /* @__PURE__ */ new Date();\n if (date instanceof Date)\n return new Date(date);\n if (typeof date === \"string\" && !/Z$/i.test(date)) {\n const d = date.match(REGEX_PARSE);\n if (d) {\n const m = d[2] - 1 || 0;\n const ms = (d[7] || \"0\").substring(0, 3);\n return new Date(d[1], m, d[3] || 1, d[4] || 0, d[5] || 0, d[6] || 0, ms);\n }\n }\n return new Date(date);\n}\nfunction useDateFormat(date, formatStr = \"HH:mm:ss\", options = {}) {\n return computed(() => formatDate(normalizeDate(toValue(date)), toValue(formatStr), options));\n}\n\nfunction useIntervalFn(cb, interval = 1e3, options = {}) {\n const {\n immediate = true,\n immediateCallback = false\n } = options;\n let timer = null;\n const isActive = ref(false);\n function clean() {\n if (timer) {\n clearInterval(timer);\n timer = null;\n }\n }\n function pause() {\n isActive.value = false;\n clean();\n }\n function resume() {\n const intervalValue = toValue(interval);\n if (intervalValue <= 0)\n return;\n isActive.value = true;\n if (immediateCallback)\n cb();\n clean();\n timer = setInterval(cb, intervalValue);\n }\n if (immediate && isClient)\n resume();\n if (isRef(interval) || typeof interval === \"function\") {\n const stopWatch = watch(interval, () => {\n if (isActive.value && isClient)\n resume();\n });\n tryOnScopeDispose(stopWatch);\n }\n tryOnScopeDispose(pause);\n return {\n isActive,\n pause,\n resume\n };\n}\n\nfunction useInterval(interval = 1e3, options = {}) {\n const {\n controls: exposeControls = false,\n immediate = true,\n callback\n } = options;\n const counter = ref(0);\n const update = () => counter.value += 1;\n const reset = () => {\n counter.value = 0;\n };\n const controls = useIntervalFn(\n callback ? () => {\n update();\n callback(counter.value);\n } : update,\n interval,\n { immediate }\n );\n if (exposeControls) {\n return {\n counter,\n reset,\n ...controls\n };\n } else {\n return counter;\n }\n}\n\nfunction useLastChanged(source, options = {}) {\n var _a;\n const ms = ref((_a = options.initialValue) != null ? _a : null);\n watch(\n source,\n () => ms.value = timestamp(),\n options\n );\n return ms;\n}\n\nfunction useTimeoutFn(cb, interval, options = {}) {\n const {\n immediate = true\n } = options;\n const isPending = ref(false);\n let timer = null;\n function clear() {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n }\n function stop() {\n isPending.value = false;\n clear();\n }\n function start(...args) {\n clear();\n isPending.value = true;\n timer = setTimeout(() => {\n isPending.value = false;\n timer = null;\n cb(...args);\n }, toValue(interval));\n }\n if (immediate) {\n isPending.value = true;\n if (isClient)\n start();\n }\n tryOnScopeDispose(stop);\n return {\n isPending: readonly(isPending),\n start,\n stop\n };\n}\n\nfunction useTimeout(interval = 1e3, options = {}) {\n const {\n controls: exposeControls = false,\n callback\n } = options;\n const controls = useTimeoutFn(\n callback != null ? callback : noop,\n interval,\n options\n );\n const ready = computed(() => !controls.isPending.value);\n if (exposeControls) {\n return {\n ready,\n ...controls\n };\n } else {\n return ready;\n }\n}\n\nfunction useToNumber(value, options = {}) {\n const {\n method = \"parseFloat\",\n radix,\n nanToZero\n } = options;\n return computed(() => {\n let resolved = toValue(value);\n if (typeof resolved === \"string\")\n resolved = Number[method](resolved, radix);\n if (nanToZero && Number.isNaN(resolved))\n resolved = 0;\n return resolved;\n });\n}\n\nfunction useToString(value) {\n return computed(() => `${toValue(value)}`);\n}\n\nfunction useToggle(initialValue = false, options = {}) {\n const {\n truthyValue = true,\n falsyValue = false\n } = options;\n const valueIsRef = isRef(initialValue);\n const _value = ref(initialValue);\n function toggle(value) {\n if (arguments.length) {\n _value.value = value;\n return _value.value;\n } else {\n const truthy = toValue(truthyValue);\n _value.value = _value.value === truthy ? toValue(falsyValue) : truthy;\n return _value.value;\n }\n }\n if (valueIsRef)\n return toggle;\n else\n return [_value, toggle];\n}\n\nfunction watchArray(source, cb, options) {\n let oldList = (options == null ? void 0 : options.immediate) ? [] : [...source instanceof Function ? source() : Array.isArray(source) ? source : toValue(source)];\n return watch(source, (newList, _, onCleanup) => {\n const oldListRemains = Array.from({ length: oldList.length });\n const added = [];\n for (const obj of newList) {\n let found = false;\n for (let i = 0; i < oldList.length; i++) {\n if (!oldListRemains[i] && obj === oldList[i]) {\n oldListRemains[i] = true;\n found = true;\n break;\n }\n }\n if (!found)\n added.push(obj);\n }\n const removed = oldList.filter((_2, i) => !oldListRemains[i]);\n cb(newList, oldList, added, removed, onCleanup);\n oldList = [...newList];\n }, options);\n}\n\nfunction watchAtMost(source, cb, options) {\n const {\n count,\n ...watchOptions\n } = options;\n const current = ref(0);\n const stop = watchWithFilter(\n source,\n (...args) => {\n current.value += 1;\n if (current.value >= toValue(count))\n nextTick(() => stop());\n cb(...args);\n },\n watchOptions\n );\n return { count: current, stop };\n}\n\nfunction watchDebounced(source, cb, options = {}) {\n const {\n debounce = 0,\n maxWait = void 0,\n ...watchOptions\n } = options;\n return watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter: debounceFilter(debounce, { maxWait })\n }\n );\n}\n\nfunction watchDeep(source, cb, options) {\n return watch(\n source,\n cb,\n {\n ...options,\n deep: true\n }\n );\n}\n\nfunction watchIgnorable(source, cb, options = {}) {\n const {\n eventFilter = bypassFilter,\n ...watchOptions\n } = options;\n const filteredCb = createFilterWrapper(\n eventFilter,\n cb\n );\n let ignoreUpdates;\n let ignorePrevAsyncUpdates;\n let stop;\n if (watchOptions.flush === \"sync\") {\n const ignore = ref(false);\n ignorePrevAsyncUpdates = () => {\n };\n ignoreUpdates = (updater) => {\n ignore.value = true;\n updater();\n ignore.value = false;\n };\n stop = watch(\n source,\n (...args) => {\n if (!ignore.value)\n filteredCb(...args);\n },\n watchOptions\n );\n } else {\n const disposables = [];\n const ignoreCounter = ref(0);\n const syncCounter = ref(0);\n ignorePrevAsyncUpdates = () => {\n ignoreCounter.value = syncCounter.value;\n };\n disposables.push(\n watch(\n source,\n () => {\n syncCounter.value++;\n },\n { ...watchOptions, flush: \"sync\" }\n )\n );\n ignoreUpdates = (updater) => {\n const syncCounterPrev = syncCounter.value;\n updater();\n ignoreCounter.value += syncCounter.value - syncCounterPrev;\n };\n disposables.push(\n watch(\n source,\n (...args) => {\n const ignore = ignoreCounter.value > 0 && ignoreCounter.value === syncCounter.value;\n ignoreCounter.value = 0;\n syncCounter.value = 0;\n if (ignore)\n return;\n filteredCb(...args);\n },\n watchOptions\n )\n );\n stop = () => {\n disposables.forEach((fn) => fn());\n };\n }\n return { stop, ignoreUpdates, ignorePrevAsyncUpdates };\n}\n\nfunction watchImmediate(source, cb, options) {\n return watch(\n source,\n cb,\n {\n ...options,\n immediate: true\n }\n );\n}\n\nfunction watchOnce(source, cb, options) {\n const stop = watch(source, (...args) => {\n nextTick(() => stop());\n return cb(...args);\n }, options);\n return stop;\n}\n\nfunction watchThrottled(source, cb, options = {}) {\n const {\n throttle = 0,\n trailing = true,\n leading = true,\n ...watchOptions\n } = options;\n return watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter: throttleFilter(throttle, trailing, leading)\n }\n );\n}\n\nfunction watchTriggerable(source, cb, options = {}) {\n let cleanupFn;\n function onEffect() {\n if (!cleanupFn)\n return;\n const fn = cleanupFn;\n cleanupFn = void 0;\n fn();\n }\n function onCleanup(callback) {\n cleanupFn = callback;\n }\n const _cb = (value, oldValue) => {\n onEffect();\n return cb(value, oldValue, onCleanup);\n };\n const res = watchIgnorable(source, _cb, options);\n const { ignoreUpdates } = res;\n const trigger = () => {\n let res2;\n ignoreUpdates(() => {\n res2 = _cb(getWatchSources(source), getOldValue(source));\n });\n return res2;\n };\n return {\n ...res,\n trigger\n };\n}\nfunction getWatchSources(sources) {\n if (isReactive(sources))\n return sources;\n if (Array.isArray(sources))\n return sources.map((item) => toValue(item));\n return toValue(sources);\n}\nfunction getOldValue(source) {\n return Array.isArray(source) ? source.map(() => void 0) : void 0;\n}\n\nfunction whenever(source, cb, options) {\n const stop = watch(\n source,\n (v, ov, onInvalidate) => {\n if (v) {\n if (options == null ? void 0 : options.once)\n nextTick(() => stop());\n cb(v, ov, onInvalidate);\n }\n },\n {\n ...options,\n once: false\n }\n );\n return stop;\n}\n\nexport { assert, refAutoReset as autoResetRef, bypassFilter, camelize, clamp, computedEager, computedWithControl, containsProp, computedWithControl as controlledComputed, controlledRef, createEventHook, createFilterWrapper, createGlobalState, createInjectionState, reactify as createReactiveFn, createSharedComposable, createSingletonPromise, debounceFilter, refDebounced as debouncedRef, watchDebounced as debouncedWatch, directiveHooks, computedEager as eagerComputed, extendRef, formatDate, get, getLifeCycleTarget, hasOwn, hyphenate, identity, watchIgnorable as ignorableWatch, increaseWithUnit, injectLocal, invoke, isClient, isDef, isDefined, isIOS, isObject, isWorker, makeDestructurable, noop, normalizeDate, notNullish, now, objectEntries, objectOmit, objectPick, pausableFilter, watchPausable as pausableWatch, promiseTimeout, provideLocal, rand, reactify, reactifyObject, reactiveComputed, reactiveOmit, reactivePick, refAutoReset, refDebounced, refDefault, refThrottled, refWithControl, resolveRef, resolveUnref, set, syncRef, syncRefs, throttleFilter, refThrottled as throttledRef, watchThrottled as throttledWatch, timestamp, toReactive, toRef, toRefs, toValue, tryOnBeforeMount, tryOnBeforeUnmount, tryOnMounted, tryOnScopeDispose, tryOnUnmounted, until, useArrayDifference, useArrayEvery, useArrayFilter, useArrayFind, useArrayFindIndex, useArrayFindLast, useArrayIncludes, useArrayJoin, useArrayMap, useArrayReduce, useArraySome, useArrayUnique, useCounter, useDateFormat, refDebounced as useDebounce, useDebounceFn, useInterval, useIntervalFn, useLastChanged, refThrottled as useThrottle, useThrottleFn, useTimeout, useTimeoutFn, useToNumber, useToString, useToggle, watchArray, watchAtMost, watchDebounced, watchDeep, watchIgnorable, watchImmediate, watchOnce, watchPausable, watchThrottled, watchTriggerable, watchWithFilter, whenever };\n","import Vue from 'vue'\nimport { getCurrentInstance } from 'vue'\n\nvar isVue2 = true\nvar isVue3 = false\nvar Vue2 = Vue\nvar warn = Vue.util.warn\n\nfunction install() {}\n\n// createApp polyfill\nexport function createApp(rootComponent, rootProps) {\n var vm\n var provide = {}\n var app = {\n config: Vue.config,\n use: Vue.use.bind(Vue),\n mixin: Vue.mixin.bind(Vue),\n component: Vue.component.bind(Vue),\n provide: function (key, value) {\n provide[key] = value\n return this\n },\n directive: function (name, dir) {\n if (dir) {\n Vue.directive(name, dir)\n return app\n } else {\n return Vue.directive(name)\n }\n },\n mount: function (el, hydrating) {\n if (!vm) {\n vm = new Vue(Object.assign({ propsData: rootProps }, rootComponent, { provide: Object.assign(provide, rootComponent.provide) }))\n vm.$mount(el, hydrating)\n return vm\n } else {\n return vm\n }\n },\n unmount: function () {\n if (vm) {\n vm.$destroy()\n vm = undefined\n }\n },\n }\n return app\n}\n\nexport {\n Vue,\n Vue2,\n isVue2,\n isVue3,\n install,\n warn\n}\n\n// Vue 3 components mock\nfunction createMockComponent(name) {\n return {\n setup() {\n throw new Error('[vue-demi] ' + name + ' is not supported in Vue 2. It\\'s provided to avoid compiler errors.')\n }\n }\n}\nexport var Fragment = /*#__PURE__*/ createMockComponent('Fragment')\nexport var Transition = /*#__PURE__*/ createMockComponent('Transition')\nexport var TransitionGroup = /*#__PURE__*/ createMockComponent('TransitionGroup')\nexport var Teleport = /*#__PURE__*/ createMockComponent('Teleport')\nexport var Suspense = /*#__PURE__*/ createMockComponent('Suspense')\nexport var KeepAlive = /*#__PURE__*/ createMockComponent('KeepAlive')\n\nexport * from 'vue'\n\n// Not implemented https://github.com/vuejs/core/pull/8111, falls back to getCurrentInstance()\nexport function hasInjectionContext() {\n return !!getCurrentInstance()\n}\n","import { noop, makeDestructurable, camelize, toValue, isClient, isObject, tryOnScopeDispose, isIOS, tryOnMounted, objectOmit, promiseTimeout, until, increaseWithUnit, objectEntries, createSingletonPromise, useTimeoutFn, pausableWatch, toRef, createEventHook, notNullish, computedWithControl, timestamp, pausableFilter, watchIgnorable, debounceFilter, createFilterWrapper, bypassFilter, toRefs, useIntervalFn, containsProp, hasOwn, throttleFilter, useDebounceFn, useThrottleFn, clamp, syncRef, objectPick, tryOnUnmounted, watchWithFilter, tryOnBeforeUnmount, identity, isDef, isWorker } from '@vueuse/shared';\nexport * from '@vueuse/shared';\nimport { isRef, ref, shallowRef, watchEffect, computed, inject, isVue3, version, defineComponent, h, TransitionGroup, shallowReactive, Fragment, watch, getCurrentInstance, customRef, onUpdated, onMounted, isVue2, readonly, nextTick, reactive, markRaw, unref, getCurrentScope, set, del, isReadonly, onBeforeUpdate } from 'vue-demi';\n\nfunction computedAsync(evaluationCallback, initialState, optionsOrRef) {\n let options;\n if (isRef(optionsOrRef)) {\n options = {\n evaluating: optionsOrRef\n };\n } else {\n options = optionsOrRef || {};\n }\n const {\n lazy = false,\n evaluating = void 0,\n shallow = true,\n onError = noop\n } = options;\n const started = ref(!lazy);\n const current = shallow ? shallowRef(initialState) : ref(initialState);\n let counter = 0;\n watchEffect(async (onInvalidate) => {\n if (!started.value)\n return;\n counter++;\n const counterAtBeginning = counter;\n let hasFinished = false;\n if (evaluating) {\n Promise.resolve().then(() => {\n evaluating.value = true;\n });\n }\n try {\n const result = await evaluationCallback((cancelCallback) => {\n onInvalidate(() => {\n if (evaluating)\n evaluating.value = false;\n if (!hasFinished)\n cancelCallback();\n });\n });\n if (counterAtBeginning === counter)\n current.value = result;\n } catch (e) {\n onError(e);\n } finally {\n if (evaluating && counterAtBeginning === counter)\n evaluating.value = false;\n hasFinished = true;\n }\n });\n if (lazy) {\n return computed(() => {\n started.value = true;\n return current.value;\n });\n } else {\n return current;\n }\n}\n\nfunction computedInject(key, options, defaultSource, treatDefaultAsFactory) {\n let source = inject(key);\n if (defaultSource)\n source = inject(key, defaultSource);\n if (treatDefaultAsFactory)\n source = inject(key, defaultSource, treatDefaultAsFactory);\n if (typeof options === \"function\") {\n return computed((ctx) => options(source, ctx));\n } else {\n return computed({\n get: (ctx) => options.get(source, ctx),\n set: options.set\n });\n }\n}\n\nfunction createReusableTemplate(options = {}) {\n if (!isVue3 && !version.startsWith(\"2.7.\")) {\n if (process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] createReusableTemplate only works in Vue 2.7 or above.\");\n return;\n }\n const {\n inheritAttrs = true\n } = options;\n const render = shallowRef();\n const define = /* #__PURE__ */ defineComponent({\n setup(_, { slots }) {\n return () => {\n render.value = slots.default;\n };\n }\n });\n const reuse = /* #__PURE__ */ defineComponent({\n inheritAttrs,\n setup(_, { attrs, slots }) {\n return () => {\n var _a;\n if (!render.value && process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] Failed to find the definition of reusable template\");\n const vnode = (_a = render.value) == null ? void 0 : _a.call(render, { ...keysToCamelKebabCase(attrs), $slots: slots });\n return inheritAttrs && (vnode == null ? void 0 : vnode.length) === 1 ? vnode[0] : vnode;\n };\n }\n });\n return makeDestructurable(\n { define, reuse },\n [define, reuse]\n );\n}\nfunction keysToCamelKebabCase(obj) {\n const newObj = {};\n for (const key in obj)\n newObj[camelize(key)] = obj[key];\n return newObj;\n}\n\nfunction createTemplatePromise(options = {}) {\n if (!isVue3) {\n if (process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] createTemplatePromise only works in Vue 3 or above.\");\n return;\n }\n let index = 0;\n const instances = ref([]);\n function create(...args) {\n const props = shallowReactive({\n key: index++,\n args,\n promise: void 0,\n resolve: () => {\n },\n reject: () => {\n },\n isResolving: false,\n options\n });\n instances.value.push(props);\n props.promise = new Promise((_resolve, _reject) => {\n props.resolve = (v) => {\n props.isResolving = true;\n return _resolve(v);\n };\n props.reject = _reject;\n }).finally(() => {\n props.promise = void 0;\n const index2 = instances.value.indexOf(props);\n if (index2 !== -1)\n instances.value.splice(index2, 1);\n });\n return props.promise;\n }\n function start(...args) {\n if (options.singleton && instances.value.length > 0)\n return instances.value[0].promise;\n return create(...args);\n }\n const component = /* #__PURE__ */ defineComponent((_, { slots }) => {\n const renderList = () => instances.value.map((props) => {\n var _a;\n return h(Fragment, { key: props.key }, (_a = slots.default) == null ? void 0 : _a.call(slots, props));\n });\n if (options.transition)\n return () => h(TransitionGroup, options.transition, renderList);\n return renderList;\n });\n component.start = start;\n return component;\n}\n\nfunction createUnrefFn(fn) {\n return function(...args) {\n return fn.apply(this, args.map((i) => toValue(i)));\n };\n}\n\nfunction unrefElement(elRef) {\n var _a;\n const plain = toValue(elRef);\n return (_a = plain == null ? void 0 : plain.$el) != null ? _a : plain;\n}\n\nconst defaultWindow = isClient ? window : void 0;\nconst defaultDocument = isClient ? window.document : void 0;\nconst defaultNavigator = isClient ? window.navigator : void 0;\nconst defaultLocation = isClient ? window.location : void 0;\n\nfunction useEventListener(...args) {\n let target;\n let events;\n let listeners;\n let options;\n if (typeof args[0] === \"string\" || Array.isArray(args[0])) {\n [events, listeners, options] = args;\n target = defaultWindow;\n } else {\n [target, events, listeners, options] = args;\n }\n if (!target)\n return noop;\n if (!Array.isArray(events))\n events = [events];\n if (!Array.isArray(listeners))\n listeners = [listeners];\n const cleanups = [];\n const cleanup = () => {\n cleanups.forEach((fn) => fn());\n cleanups.length = 0;\n };\n const register = (el, event, listener, options2) => {\n el.addEventListener(event, listener, options2);\n return () => el.removeEventListener(event, listener, options2);\n };\n const stopWatch = watch(\n () => [unrefElement(target), toValue(options)],\n ([el, options2]) => {\n cleanup();\n if (!el)\n return;\n const optionsClone = isObject(options2) ? { ...options2 } : options2;\n cleanups.push(\n ...events.flatMap((event) => {\n return listeners.map((listener) => register(el, event, listener, optionsClone));\n })\n );\n },\n { immediate: true, flush: \"post\" }\n );\n const stop = () => {\n stopWatch();\n cleanup();\n };\n tryOnScopeDispose(stop);\n return stop;\n}\n\nlet _iOSWorkaround = false;\nfunction onClickOutside(target, handler, options = {}) {\n const { window = defaultWindow, ignore = [], capture = true, detectIframe = false } = options;\n if (!window)\n return noop;\n if (isIOS && !_iOSWorkaround) {\n _iOSWorkaround = true;\n Array.from(window.document.body.children).forEach((el) => el.addEventListener(\"click\", noop));\n window.document.documentElement.addEventListener(\"click\", noop);\n }\n let shouldListen = true;\n const shouldIgnore = (event) => {\n return ignore.some((target2) => {\n if (typeof target2 === \"string\") {\n return Array.from(window.document.querySelectorAll(target2)).some((el) => el === event.target || event.composedPath().includes(el));\n } else {\n const el = unrefElement(target2);\n return el && (event.target === el || event.composedPath().includes(el));\n }\n });\n };\n const listener = (event) => {\n const el = unrefElement(target);\n if (!el || el === event.target || event.composedPath().includes(el))\n return;\n if (event.detail === 0)\n shouldListen = !shouldIgnore(event);\n if (!shouldListen) {\n shouldListen = true;\n return;\n }\n handler(event);\n };\n const cleanup = [\n useEventListener(window, \"click\", listener, { passive: true, capture }),\n useEventListener(window, \"pointerdown\", (e) => {\n const el = unrefElement(target);\n shouldListen = !shouldIgnore(e) && !!(el && !e.composedPath().includes(el));\n }, { passive: true }),\n detectIframe && useEventListener(window, \"blur\", (event) => {\n setTimeout(() => {\n var _a;\n const el = unrefElement(target);\n if (((_a = window.document.activeElement) == null ? void 0 : _a.tagName) === \"IFRAME\" && !(el == null ? void 0 : el.contains(window.document.activeElement)))\n handler(event);\n }, 0);\n })\n ].filter(Boolean);\n const stop = () => cleanup.forEach((fn) => fn());\n return stop;\n}\n\nfunction createKeyPredicate(keyFilter) {\n if (typeof keyFilter === \"function\")\n return keyFilter;\n else if (typeof keyFilter === \"string\")\n return (event) => event.key === keyFilter;\n else if (Array.isArray(keyFilter))\n return (event) => keyFilter.includes(event.key);\n return () => true;\n}\nfunction onKeyStroke(...args) {\n let key;\n let handler;\n let options = {};\n if (args.length === 3) {\n key = args[0];\n handler = args[1];\n options = args[2];\n } else if (args.length === 2) {\n if (typeof args[1] === \"object\") {\n key = true;\n handler = args[0];\n options = args[1];\n } else {\n key = args[0];\n handler = args[1];\n }\n } else {\n key = true;\n handler = args[0];\n }\n const {\n target = defaultWindow,\n eventName = \"keydown\",\n passive = false,\n dedupe = false\n } = options;\n const predicate = createKeyPredicate(key);\n const listener = (e) => {\n if (e.repeat && toValue(dedupe))\n return;\n if (predicate(e))\n handler(e);\n };\n return useEventListener(target, eventName, listener, passive);\n}\nfunction onKeyDown(key, handler, options = {}) {\n return onKeyStroke(key, handler, { ...options, eventName: \"keydown\" });\n}\nfunction onKeyPressed(key, handler, options = {}) {\n return onKeyStroke(key, handler, { ...options, eventName: \"keypress\" });\n}\nfunction onKeyUp(key, handler, options = {}) {\n return onKeyStroke(key, handler, { ...options, eventName: \"keyup\" });\n}\n\nconst DEFAULT_DELAY = 500;\nconst DEFAULT_THRESHOLD = 10;\nfunction onLongPress(target, handler, options) {\n var _a, _b;\n const elementRef = computed(() => unrefElement(target));\n let timeout;\n let posStart;\n function clear() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = void 0;\n }\n posStart = void 0;\n }\n function onDown(ev) {\n var _a2, _b2, _c, _d;\n if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value)\n return;\n clear();\n if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent)\n ev.preventDefault();\n if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop)\n ev.stopPropagation();\n posStart = {\n x: ev.x,\n y: ev.y\n };\n timeout = setTimeout(\n () => handler(ev),\n (_d = options == null ? void 0 : options.delay) != null ? _d : DEFAULT_DELAY\n );\n }\n function onMove(ev) {\n var _a2, _b2, _c, _d;\n if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value)\n return;\n if (!posStart || (options == null ? void 0 : options.distanceThreshold) === false)\n return;\n if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent)\n ev.preventDefault();\n if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop)\n ev.stopPropagation();\n const dx = ev.x - posStart.x;\n const dy = ev.y - posStart.y;\n const distance = Math.sqrt(dx * dx + dy * dy);\n if (distance >= ((_d = options == null ? void 0 : options.distanceThreshold) != null ? _d : DEFAULT_THRESHOLD))\n clear();\n }\n const listenerOptions = {\n capture: (_a = options == null ? void 0 : options.modifiers) == null ? void 0 : _a.capture,\n once: (_b = options == null ? void 0 : options.modifiers) == null ? void 0 : _b.once\n };\n const cleanup = [\n useEventListener(elementRef, \"pointerdown\", onDown, listenerOptions),\n useEventListener(elementRef, \"pointermove\", onMove, listenerOptions),\n useEventListener(elementRef, [\"pointerup\", \"pointerleave\"], clear, listenerOptions)\n ];\n const stop = () => cleanup.forEach((fn) => fn());\n return stop;\n}\n\nfunction isFocusedElementEditable() {\n const { activeElement, body } = document;\n if (!activeElement)\n return false;\n if (activeElement === body)\n return false;\n switch (activeElement.tagName) {\n case \"INPUT\":\n case \"TEXTAREA\":\n return true;\n }\n return activeElement.hasAttribute(\"contenteditable\");\n}\nfunction isTypedCharValid({\n keyCode,\n metaKey,\n ctrlKey,\n altKey\n}) {\n if (metaKey || ctrlKey || altKey)\n return false;\n if (keyCode >= 48 && keyCode <= 57)\n return true;\n if (keyCode >= 65 && keyCode <= 90)\n return true;\n if (keyCode >= 97 && keyCode <= 122)\n return true;\n return false;\n}\nfunction onStartTyping(callback, options = {}) {\n const { document: document2 = defaultDocument } = options;\n const keydown = (event) => {\n !isFocusedElementEditable() && isTypedCharValid(event) && callback(event);\n };\n if (document2)\n useEventListener(document2, \"keydown\", keydown, { passive: true });\n}\n\nfunction templateRef(key, initialValue = null) {\n const instance = getCurrentInstance();\n let _trigger = () => {\n };\n const element = customRef((track, trigger) => {\n _trigger = trigger;\n return {\n get() {\n var _a, _b;\n track();\n return (_b = (_a = instance == null ? void 0 : instance.proxy) == null ? void 0 : _a.$refs[key]) != null ? _b : initialValue;\n },\n set() {\n }\n };\n });\n tryOnMounted(_trigger);\n onUpdated(_trigger);\n return element;\n}\n\nfunction useActiveElement(options = {}) {\n var _a;\n const {\n window = defaultWindow,\n deep = true\n } = options;\n const document = (_a = options.document) != null ? _a : window == null ? void 0 : window.document;\n const getDeepActiveElement = () => {\n var _a2;\n let element = document == null ? void 0 : document.activeElement;\n if (deep) {\n while (element == null ? void 0 : element.shadowRoot)\n element = (_a2 = element == null ? void 0 : element.shadowRoot) == null ? void 0 : _a2.activeElement;\n }\n return element;\n };\n const activeElement = ref();\n const trigger = () => {\n activeElement.value = getDeepActiveElement();\n };\n if (window) {\n useEventListener(window, \"blur\", (event) => {\n if (event.relatedTarget !== null)\n return;\n trigger();\n }, true);\n useEventListener(window, \"focus\", trigger, true);\n }\n trigger();\n return activeElement;\n}\n\nfunction useMounted() {\n const isMounted = ref(false);\n const instance = getCurrentInstance();\n if (instance) {\n onMounted(() => {\n isMounted.value = true;\n }, isVue2 ? null : instance);\n }\n return isMounted;\n}\n\nfunction useSupported(callback) {\n const isMounted = useMounted();\n return computed(() => {\n isMounted.value;\n return Boolean(callback());\n });\n}\n\nfunction useRafFn(fn, options = {}) {\n const {\n immediate = true,\n fpsLimit = void 0,\n window = defaultWindow\n } = options;\n const isActive = ref(false);\n const intervalLimit = fpsLimit ? 1e3 / fpsLimit : null;\n let previousFrameTimestamp = 0;\n let rafId = null;\n function loop(timestamp) {\n if (!isActive.value || !window)\n return;\n if (!previousFrameTimestamp)\n previousFrameTimestamp = timestamp;\n const delta = timestamp - previousFrameTimestamp;\n if (intervalLimit && delta < intervalLimit) {\n rafId = window.requestAnimationFrame(loop);\n return;\n }\n previousFrameTimestamp = timestamp;\n fn({ delta, timestamp });\n rafId = window.requestAnimationFrame(loop);\n }\n function resume() {\n if (!isActive.value && window) {\n isActive.value = true;\n previousFrameTimestamp = 0;\n rafId = window.requestAnimationFrame(loop);\n }\n }\n function pause() {\n isActive.value = false;\n if (rafId != null && window) {\n window.cancelAnimationFrame(rafId);\n rafId = null;\n }\n }\n if (immediate)\n resume();\n tryOnScopeDispose(pause);\n return {\n isActive: readonly(isActive),\n pause,\n resume\n };\n}\n\nfunction useAnimate(target, keyframes, options) {\n let config;\n let animateOptions;\n if (isObject(options)) {\n config = options;\n animateOptions = objectOmit(options, [\"window\", \"immediate\", \"commitStyles\", \"persist\", \"onReady\", \"onError\"]);\n } else {\n config = { duration: options };\n animateOptions = options;\n }\n const {\n window = defaultWindow,\n immediate = true,\n commitStyles,\n persist,\n playbackRate: _playbackRate = 1,\n onReady,\n onError = (e) => {\n console.error(e);\n }\n } = config;\n const isSupported = useSupported(() => window && HTMLElement && \"animate\" in HTMLElement.prototype);\n const animate = shallowRef(void 0);\n const store = shallowReactive({\n startTime: null,\n currentTime: null,\n timeline: null,\n playbackRate: _playbackRate,\n pending: false,\n playState: immediate ? \"idle\" : \"paused\",\n replaceState: \"active\"\n });\n const pending = computed(() => store.pending);\n const playState = computed(() => store.playState);\n const replaceState = computed(() => store.replaceState);\n const startTime = computed({\n get() {\n return store.startTime;\n },\n set(value) {\n store.startTime = value;\n if (animate.value)\n animate.value.startTime = value;\n }\n });\n const currentTime = computed({\n get() {\n return store.currentTime;\n },\n set(value) {\n store.currentTime = value;\n if (animate.value) {\n animate.value.currentTime = value;\n syncResume();\n }\n }\n });\n const timeline = computed({\n get() {\n return store.timeline;\n },\n set(value) {\n store.timeline = value;\n if (animate.value)\n animate.value.timeline = value;\n }\n });\n const playbackRate = computed({\n get() {\n return store.playbackRate;\n },\n set(value) {\n store.playbackRate = value;\n if (animate.value)\n animate.value.playbackRate = value;\n }\n });\n const play = () => {\n if (animate.value) {\n try {\n animate.value.play();\n syncResume();\n } catch (e) {\n syncPause();\n onError(e);\n }\n } else {\n update();\n }\n };\n const pause = () => {\n var _a;\n try {\n (_a = animate.value) == null ? void 0 : _a.pause();\n syncPause();\n } catch (e) {\n onError(e);\n }\n };\n const reverse = () => {\n var _a;\n !animate.value && update();\n try {\n (_a = animate.value) == null ? void 0 : _a.reverse();\n syncResume();\n } catch (e) {\n syncPause();\n onError(e);\n }\n };\n const finish = () => {\n var _a;\n try {\n (_a = animate.value) == null ? void 0 : _a.finish();\n syncPause();\n } catch (e) {\n onError(e);\n }\n };\n const cancel = () => {\n var _a;\n try {\n (_a = animate.value) == null ? void 0 : _a.cancel();\n syncPause();\n } catch (e) {\n onError(e);\n }\n };\n watch(() => unrefElement(target), (el) => {\n el && update();\n });\n watch(() => keyframes, (value) => {\n !animate.value && update();\n if (!unrefElement(target) && animate.value) {\n animate.value.effect = new KeyframeEffect(\n unrefElement(target),\n toValue(value),\n animateOptions\n );\n }\n }, { deep: true });\n tryOnMounted(() => {\n nextTick(() => update(true));\n });\n tryOnScopeDispose(cancel);\n function update(init) {\n const el = unrefElement(target);\n if (!isSupported.value || !el)\n return;\n if (!animate.value)\n animate.value = el.animate(toValue(keyframes), animateOptions);\n if (commitStyles)\n animate.value.commitStyles();\n if (persist)\n animate.value.persist();\n if (_playbackRate !== 1)\n animate.value.playbackRate = _playbackRate;\n if (init && !immediate)\n animate.value.pause();\n else\n syncResume();\n onReady == null ? void 0 : onReady(animate.value);\n }\n useEventListener(animate, [\"cancel\", \"finish\", \"remove\"], syncPause);\n const { resume: resumeRef, pause: pauseRef } = useRafFn(() => {\n if (!animate.value)\n return;\n store.pending = animate.value.pending;\n store.playState = animate.value.playState;\n store.replaceState = animate.value.replaceState;\n store.startTime = animate.value.startTime;\n store.currentTime = animate.value.currentTime;\n store.timeline = animate.value.timeline;\n store.playbackRate = animate.value.playbackRate;\n }, { immediate: false });\n function syncResume() {\n if (isSupported.value)\n resumeRef();\n }\n function syncPause() {\n if (isSupported.value && window)\n window.requestAnimationFrame(pauseRef);\n }\n return {\n isSupported,\n animate,\n // actions\n play,\n pause,\n reverse,\n finish,\n cancel,\n // state\n pending,\n playState,\n replaceState,\n startTime,\n currentTime,\n timeline,\n playbackRate\n };\n}\n\nfunction useAsyncQueue(tasks, options) {\n const {\n interrupt = true,\n onError = noop,\n onFinished = noop,\n signal\n } = options || {};\n const promiseState = {\n aborted: \"aborted\",\n fulfilled: \"fulfilled\",\n pending: \"pending\",\n rejected: \"rejected\"\n };\n const initialResult = Array.from(Array.from({ length: tasks.length }), () => ({ state: promiseState.pending, data: null }));\n const result = reactive(initialResult);\n const activeIndex = ref(-1);\n if (!tasks || tasks.length === 0) {\n onFinished();\n return {\n activeIndex,\n result\n };\n }\n function updateResult(state, res) {\n activeIndex.value++;\n result[activeIndex.value].data = res;\n result[activeIndex.value].state = state;\n }\n tasks.reduce((prev, curr) => {\n return prev.then((prevRes) => {\n var _a;\n if (signal == null ? void 0 : signal.aborted) {\n updateResult(promiseState.aborted, new Error(\"aborted\"));\n return;\n }\n if (((_a = result[activeIndex.value]) == null ? void 0 : _a.state) === promiseState.rejected && interrupt) {\n onFinished();\n return;\n }\n const done = curr(prevRes).then((currentRes) => {\n updateResult(promiseState.fulfilled, currentRes);\n activeIndex.value === tasks.length - 1 && onFinished();\n return currentRes;\n });\n if (!signal)\n return done;\n return Promise.race([done, whenAborted(signal)]);\n }).catch((e) => {\n if (signal == null ? void 0 : signal.aborted) {\n updateResult(promiseState.aborted, e);\n return e;\n }\n updateResult(promiseState.rejected, e);\n onError();\n return e;\n });\n }, Promise.resolve());\n return {\n activeIndex,\n result\n };\n}\nfunction whenAborted(signal) {\n return new Promise((resolve, reject) => {\n const error = new Error(\"aborted\");\n if (signal.aborted)\n reject(error);\n else\n signal.addEventListener(\"abort\", () => reject(error), { once: true });\n });\n}\n\nfunction useAsyncState(promise, initialState, options) {\n const {\n immediate = true,\n delay = 0,\n onError = noop,\n onSuccess = noop,\n resetOnExecute = true,\n shallow = true,\n throwError\n } = options != null ? options : {};\n const state = shallow ? shallowRef(initialState) : ref(initialState);\n const isReady = ref(false);\n const isLoading = ref(false);\n const error = shallowRef(void 0);\n async function execute(delay2 = 0, ...args) {\n if (resetOnExecute)\n state.value = initialState;\n error.value = void 0;\n isReady.value = false;\n isLoading.value = true;\n if (delay2 > 0)\n await promiseTimeout(delay2);\n const _promise = typeof promise === \"function\" ? promise(...args) : promise;\n try {\n const data = await _promise;\n state.value = data;\n isReady.value = true;\n onSuccess(data);\n } catch (e) {\n error.value = e;\n onError(e);\n if (throwError)\n throw e;\n } finally {\n isLoading.value = false;\n }\n return state.value;\n }\n if (immediate)\n execute(delay);\n const shell = {\n state,\n isReady,\n isLoading,\n error,\n execute\n };\n function waitUntilIsLoaded() {\n return new Promise((resolve, reject) => {\n until(isLoading).toBe(false).then(() => resolve(shell)).catch(reject);\n });\n }\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilIsLoaded().then(onFulfilled, onRejected);\n }\n };\n}\n\nconst defaults = {\n array: (v) => JSON.stringify(v),\n object: (v) => JSON.stringify(v),\n set: (v) => JSON.stringify(Array.from(v)),\n map: (v) => JSON.stringify(Object.fromEntries(v)),\n null: () => \"\"\n};\nfunction getDefaultSerialization(target) {\n if (!target)\n return defaults.null;\n if (target instanceof Map)\n return defaults.map;\n else if (target instanceof Set)\n return defaults.set;\n else if (Array.isArray(target))\n return defaults.array;\n else\n return defaults.object;\n}\n\nfunction useBase64(target, options) {\n const base64 = ref(\"\");\n const promise = ref();\n function execute() {\n if (!isClient)\n return;\n promise.value = new Promise((resolve, reject) => {\n try {\n const _target = toValue(target);\n if (_target == null) {\n resolve(\"\");\n } else if (typeof _target === \"string\") {\n resolve(blobToBase64(new Blob([_target], { type: \"text/plain\" })));\n } else if (_target instanceof Blob) {\n resolve(blobToBase64(_target));\n } else if (_target instanceof ArrayBuffer) {\n resolve(window.btoa(String.fromCharCode(...new Uint8Array(_target))));\n } else if (_target instanceof HTMLCanvasElement) {\n resolve(_target.toDataURL(options == null ? void 0 : options.type, options == null ? void 0 : options.quality));\n } else if (_target instanceof HTMLImageElement) {\n const img = _target.cloneNode(false);\n img.crossOrigin = \"Anonymous\";\n imgLoaded(img).then(() => {\n const canvas = document.createElement(\"canvas\");\n const ctx = canvas.getContext(\"2d\");\n canvas.width = img.width;\n canvas.height = img.height;\n ctx.drawImage(img, 0, 0, canvas.width, canvas.height);\n resolve(canvas.toDataURL(options == null ? void 0 : options.type, options == null ? void 0 : options.quality));\n }).catch(reject);\n } else if (typeof _target === \"object\") {\n const _serializeFn = (options == null ? void 0 : options.serializer) || getDefaultSerialization(_target);\n const serialized = _serializeFn(_target);\n return resolve(blobToBase64(new Blob([serialized], { type: \"application/json\" })));\n } else {\n reject(new Error(\"target is unsupported types\"));\n }\n } catch (error) {\n reject(error);\n }\n });\n promise.value.then((res) => base64.value = res);\n return promise.value;\n }\n if (isRef(target) || typeof target === \"function\")\n watch(target, execute, { immediate: true });\n else\n execute();\n return {\n base64,\n promise,\n execute\n };\n}\nfunction imgLoaded(img) {\n return new Promise((resolve, reject) => {\n if (!img.complete) {\n img.onload = () => {\n resolve();\n };\n img.onerror = reject;\n } else {\n resolve();\n }\n });\n}\nfunction blobToBase64(blob) {\n return new Promise((resolve, reject) => {\n const fr = new FileReader();\n fr.onload = (e) => {\n resolve(e.target.result);\n };\n fr.onerror = reject;\n fr.readAsDataURL(blob);\n });\n}\n\nfunction useBattery(options = {}) {\n const { navigator = defaultNavigator } = options;\n const events = [\"chargingchange\", \"chargingtimechange\", \"dischargingtimechange\", \"levelchange\"];\n const isSupported = useSupported(() => navigator && \"getBattery\" in navigator && typeof navigator.getBattery === \"function\");\n const charging = ref(false);\n const chargingTime = ref(0);\n const dischargingTime = ref(0);\n const level = ref(1);\n let battery;\n function updateBatteryInfo() {\n charging.value = this.charging;\n chargingTime.value = this.chargingTime || 0;\n dischargingTime.value = this.dischargingTime || 0;\n level.value = this.level;\n }\n if (isSupported.value) {\n navigator.getBattery().then((_battery) => {\n battery = _battery;\n updateBatteryInfo.call(battery);\n useEventListener(battery, events, updateBatteryInfo, { passive: true });\n });\n }\n return {\n isSupported,\n charging,\n chargingTime,\n dischargingTime,\n level\n };\n}\n\nfunction useBluetooth(options) {\n let {\n acceptAllDevices = false\n } = options || {};\n const {\n filters = void 0,\n optionalServices = void 0,\n navigator = defaultNavigator\n } = options || {};\n const isSupported = useSupported(() => navigator && \"bluetooth\" in navigator);\n const device = shallowRef(void 0);\n const error = shallowRef(null);\n watch(device, () => {\n connectToBluetoothGATTServer();\n });\n async function requestDevice() {\n if (!isSupported.value)\n return;\n error.value = null;\n if (filters && filters.length > 0)\n acceptAllDevices = false;\n try {\n device.value = await (navigator == null ? void 0 : navigator.bluetooth.requestDevice({\n acceptAllDevices,\n filters,\n optionalServices\n }));\n } catch (err) {\n error.value = err;\n }\n }\n const server = ref();\n const isConnected = computed(() => {\n var _a;\n return ((_a = server.value) == null ? void 0 : _a.connected) || false;\n });\n async function connectToBluetoothGATTServer() {\n error.value = null;\n if (device.value && device.value.gatt) {\n device.value.addEventListener(\"gattserverdisconnected\", () => {\n });\n try {\n server.value = await device.value.gatt.connect();\n } catch (err) {\n error.value = err;\n }\n }\n }\n tryOnMounted(() => {\n var _a;\n if (device.value)\n (_a = device.value.gatt) == null ? void 0 : _a.connect();\n });\n tryOnScopeDispose(() => {\n var _a;\n if (device.value)\n (_a = device.value.gatt) == null ? void 0 : _a.disconnect();\n });\n return {\n isSupported,\n isConnected,\n // Device:\n device,\n requestDevice,\n // Server:\n server,\n // Errors:\n error\n };\n}\n\nfunction useMediaQuery(query, options = {}) {\n const { window = defaultWindow } = options;\n const isSupported = useSupported(() => window && \"matchMedia\" in window && typeof window.matchMedia === \"function\");\n let mediaQuery;\n const matches = ref(false);\n const handler = (event) => {\n matches.value = event.matches;\n };\n const cleanup = () => {\n if (!mediaQuery)\n return;\n if (\"removeEventListener\" in mediaQuery)\n mediaQuery.removeEventListener(\"change\", handler);\n else\n mediaQuery.removeListener(handler);\n };\n const stopWatch = watchEffect(() => {\n if (!isSupported.value)\n return;\n cleanup();\n mediaQuery = window.matchMedia(toValue(query));\n if (\"addEventListener\" in mediaQuery)\n mediaQuery.addEventListener(\"change\", handler);\n else\n mediaQuery.addListener(handler);\n matches.value = mediaQuery.matches;\n });\n tryOnScopeDispose(() => {\n stopWatch();\n cleanup();\n mediaQuery = void 0;\n });\n return matches;\n}\n\nconst breakpointsTailwind = {\n \"sm\": 640,\n \"md\": 768,\n \"lg\": 1024,\n \"xl\": 1280,\n \"2xl\": 1536\n};\nconst breakpointsBootstrapV5 = {\n xs: 0,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1400\n};\nconst breakpointsVuetifyV2 = {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1264,\n xl: 1904\n};\nconst breakpointsVuetifyV3 = {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920,\n xxl: 2560\n};\nconst breakpointsVuetify = breakpointsVuetifyV2;\nconst breakpointsAntDesign = {\n xs: 480,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1600\n};\nconst breakpointsQuasar = {\n xs: 0,\n sm: 600,\n md: 1024,\n lg: 1440,\n xl: 1920\n};\nconst breakpointsSematic = {\n mobileS: 320,\n mobileM: 375,\n mobileL: 425,\n tablet: 768,\n laptop: 1024,\n laptopL: 1440,\n desktop4K: 2560\n};\nconst breakpointsMasterCss = {\n \"3xs\": 360,\n \"2xs\": 480,\n \"xs\": 600,\n \"sm\": 768,\n \"md\": 1024,\n \"lg\": 1280,\n \"xl\": 1440,\n \"2xl\": 1600,\n \"3xl\": 1920,\n \"4xl\": 2560\n};\nconst breakpointsPrimeFlex = {\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200\n};\n\nfunction useBreakpoints(breakpoints, options = {}) {\n function getValue(k, delta) {\n let v = toValue(breakpoints[toValue(k)]);\n if (delta != null)\n v = increaseWithUnit(v, delta);\n if (typeof v === \"number\")\n v = `${v}px`;\n return v;\n }\n const { window = defaultWindow, strategy = \"min-width\" } = options;\n function match(query) {\n if (!window)\n return false;\n return window.matchMedia(query).matches;\n }\n const greaterOrEqual = (k) => {\n return useMediaQuery(() => `(min-width: ${getValue(k)})`, options);\n };\n const smallerOrEqual = (k) => {\n return useMediaQuery(() => `(max-width: ${getValue(k)})`, options);\n };\n const shortcutMethods = Object.keys(breakpoints).reduce((shortcuts, k) => {\n Object.defineProperty(shortcuts, k, {\n get: () => strategy === \"min-width\" ? greaterOrEqual(k) : smallerOrEqual(k),\n enumerable: true,\n configurable: true\n });\n return shortcuts;\n }, {});\n function current() {\n const points = Object.keys(breakpoints).map((i) => [i, greaterOrEqual(i)]);\n return computed(() => points.filter(([, v]) => v.value).map(([k]) => k));\n }\n return Object.assign(shortcutMethods, {\n greaterOrEqual,\n smallerOrEqual,\n greater(k) {\n return useMediaQuery(() => `(min-width: ${getValue(k, 0.1)})`, options);\n },\n smaller(k) {\n return useMediaQuery(() => `(max-width: ${getValue(k, -0.1)})`, options);\n },\n between(a, b) {\n return useMediaQuery(() => `(min-width: ${getValue(a)}) and (max-width: ${getValue(b, -0.1)})`, options);\n },\n isGreater(k) {\n return match(`(min-width: ${getValue(k, 0.1)})`);\n },\n isGreaterOrEqual(k) {\n return match(`(min-width: ${getValue(k)})`);\n },\n isSmaller(k) {\n return match(`(max-width: ${getValue(k, -0.1)})`);\n },\n isSmallerOrEqual(k) {\n return match(`(max-width: ${getValue(k)})`);\n },\n isInBetween(a, b) {\n return match(`(min-width: ${getValue(a)}) and (max-width: ${getValue(b, -0.1)})`);\n },\n current,\n active() {\n const bps = current();\n return computed(() => bps.value.length === 0 ? \"\" : bps.value.at(-1));\n }\n });\n}\n\nfunction useBroadcastChannel(options) {\n const {\n name,\n window = defaultWindow\n } = options;\n const isSupported = useSupported(() => window && \"BroadcastChannel\" in window);\n const isClosed = ref(false);\n const channel = ref();\n const data = ref();\n const error = shallowRef(null);\n const post = (data2) => {\n if (channel.value)\n channel.value.postMessage(data2);\n };\n const close = () => {\n if (channel.value)\n channel.value.close();\n isClosed.value = true;\n };\n if (isSupported.value) {\n tryOnMounted(() => {\n error.value = null;\n channel.value = new BroadcastChannel(name);\n channel.value.addEventListener(\"message\", (e) => {\n data.value = e.data;\n }, { passive: true });\n channel.value.addEventListener(\"messageerror\", (e) => {\n error.value = e;\n }, { passive: true });\n channel.value.addEventListener(\"close\", () => {\n isClosed.value = true;\n });\n });\n }\n tryOnScopeDispose(() => {\n close();\n });\n return {\n isSupported,\n channel,\n data,\n post,\n close,\n error,\n isClosed\n };\n}\n\nconst WRITABLE_PROPERTIES = [\n \"hash\",\n \"host\",\n \"hostname\",\n \"href\",\n \"pathname\",\n \"port\",\n \"protocol\",\n \"search\"\n];\nfunction useBrowserLocation(options = {}) {\n const { window = defaultWindow } = options;\n const refs = Object.fromEntries(\n WRITABLE_PROPERTIES.map((key) => [key, ref()])\n );\n for (const [key, ref2] of objectEntries(refs)) {\n watch(ref2, (value) => {\n if (!(window == null ? void 0 : window.location) || window.location[key] === value)\n return;\n window.location[key] = value;\n });\n }\n const buildState = (trigger) => {\n var _a;\n const { state: state2, length } = (window == null ? void 0 : window.history) || {};\n const { origin } = (window == null ? void 0 : window.location) || {};\n for (const key of WRITABLE_PROPERTIES)\n refs[key].value = (_a = window == null ? void 0 : window.location) == null ? void 0 : _a[key];\n return reactive({\n trigger,\n state: state2,\n length,\n origin,\n ...refs\n });\n };\n const state = ref(buildState(\"load\"));\n if (window) {\n useEventListener(window, \"popstate\", () => state.value = buildState(\"popstate\"), { passive: true });\n useEventListener(window, \"hashchange\", () => state.value = buildState(\"hashchange\"), { passive: true });\n }\n return state;\n}\n\nfunction useCached(refValue, comparator = (a, b) => a === b, watchOptions) {\n const cachedValue = ref(refValue.value);\n watch(() => refValue.value, (value) => {\n if (!comparator(value, cachedValue.value))\n cachedValue.value = value;\n }, watchOptions);\n return cachedValue;\n}\n\nfunction usePermission(permissionDesc, options = {}) {\n const {\n controls = false,\n navigator = defaultNavigator\n } = options;\n const isSupported = useSupported(() => navigator && \"permissions\" in navigator);\n let permissionStatus;\n const desc = typeof permissionDesc === \"string\" ? { name: permissionDesc } : permissionDesc;\n const state = ref();\n const onChange = () => {\n if (permissionStatus)\n state.value = permissionStatus.state;\n };\n const query = createSingletonPromise(async () => {\n if (!isSupported.value)\n return;\n if (!permissionStatus) {\n try {\n permissionStatus = await navigator.permissions.query(desc);\n useEventListener(permissionStatus, \"change\", onChange);\n onChange();\n } catch (e) {\n state.value = \"prompt\";\n }\n }\n return permissionStatus;\n });\n query();\n if (controls) {\n return {\n state,\n isSupported,\n query\n };\n } else {\n return state;\n }\n}\n\nfunction useClipboard(options = {}) {\n const {\n navigator = defaultNavigator,\n read = false,\n source,\n copiedDuring = 1500,\n legacy = false\n } = options;\n const isClipboardApiSupported = useSupported(() => navigator && \"clipboard\" in navigator);\n const permissionRead = usePermission(\"clipboard-read\");\n const permissionWrite = usePermission(\"clipboard-write\");\n const isSupported = computed(() => isClipboardApiSupported.value || legacy);\n const text = ref(\"\");\n const copied = ref(false);\n const timeout = useTimeoutFn(() => copied.value = false, copiedDuring);\n function updateText() {\n if (isClipboardApiSupported.value && isAllowed(permissionRead.value)) {\n navigator.clipboard.readText().then((value) => {\n text.value = value;\n });\n } else {\n text.value = legacyRead();\n }\n }\n if (isSupported.value && read)\n useEventListener([\"copy\", \"cut\"], updateText);\n async function copy(value = toValue(source)) {\n if (isSupported.value && value != null) {\n if (isClipboardApiSupported.value && isAllowed(permissionWrite.value))\n await navigator.clipboard.writeText(value);\n else\n legacyCopy(value);\n text.value = value;\n copied.value = true;\n timeout.start();\n }\n }\n function legacyCopy(value) {\n const ta = document.createElement(\"textarea\");\n ta.value = value != null ? value : \"\";\n ta.style.position = \"absolute\";\n ta.style.opacity = \"0\";\n document.body.appendChild(ta);\n ta.select();\n document.execCommand(\"copy\");\n ta.remove();\n }\n function legacyRead() {\n var _a, _b, _c;\n return (_c = (_b = (_a = document == null ? void 0 : document.getSelection) == null ? void 0 : _a.call(document)) == null ? void 0 : _b.toString()) != null ? _c : \"\";\n }\n function isAllowed(status) {\n return status === \"granted\" || status === \"prompt\";\n }\n return {\n isSupported,\n text,\n copied,\n copy\n };\n}\n\nfunction useClipboardItems(options = {}) {\n const {\n navigator = defaultNavigator,\n read = false,\n source,\n copiedDuring = 1500\n } = options;\n const isSupported = useSupported(() => navigator && \"clipboard\" in navigator);\n const content = ref([]);\n const copied = ref(false);\n const timeout = useTimeoutFn(() => copied.value = false, copiedDuring);\n function updateContent() {\n if (isSupported.value) {\n navigator.clipboard.read().then((items) => {\n content.value = items;\n });\n }\n }\n if (isSupported.value && read)\n useEventListener([\"copy\", \"cut\"], updateContent);\n async function copy(value = toValue(source)) {\n if (isSupported.value && value != null) {\n await navigator.clipboard.write(value);\n content.value = value;\n copied.value = true;\n timeout.start();\n }\n }\n return {\n isSupported,\n content,\n copied,\n copy\n };\n}\n\nfunction cloneFnJSON(source) {\n return JSON.parse(JSON.stringify(source));\n}\nfunction useCloned(source, options = {}) {\n const cloned = ref({});\n const {\n manual,\n clone = cloneFnJSON,\n // watch options\n deep = true,\n immediate = true\n } = options;\n function sync() {\n cloned.value = clone(toValue(source));\n }\n if (!manual && (isRef(source) || typeof source === \"function\")) {\n watch(source, sync, {\n ...options,\n deep,\n immediate\n });\n } else {\n sync();\n }\n return { cloned, sync };\n}\n\nconst _global = typeof globalThis !== \"undefined\" ? globalThis : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : {};\nconst globalKey = \"__vueuse_ssr_handlers__\";\nconst handlers = /* @__PURE__ */ getHandlers();\nfunction getHandlers() {\n if (!(globalKey in _global))\n _global[globalKey] = _global[globalKey] || {};\n return _global[globalKey];\n}\nfunction getSSRHandler(key, fallback) {\n return handlers[key] || fallback;\n}\nfunction setSSRHandler(key, fn) {\n handlers[key] = fn;\n}\n\nfunction guessSerializerType(rawInit) {\n return rawInit == null ? \"any\" : rawInit instanceof Set ? \"set\" : rawInit instanceof Map ? \"map\" : rawInit instanceof Date ? \"date\" : typeof rawInit === \"boolean\" ? \"boolean\" : typeof rawInit === \"string\" ? \"string\" : typeof rawInit === \"object\" ? \"object\" : !Number.isNaN(rawInit) ? \"number\" : \"any\";\n}\n\nconst StorageSerializers = {\n boolean: {\n read: (v) => v === \"true\",\n write: (v) => String(v)\n },\n object: {\n read: (v) => JSON.parse(v),\n write: (v) => JSON.stringify(v)\n },\n number: {\n read: (v) => Number.parseFloat(v),\n write: (v) => String(v)\n },\n any: {\n read: (v) => v,\n write: (v) => String(v)\n },\n string: {\n read: (v) => v,\n write: (v) => String(v)\n },\n map: {\n read: (v) => new Map(JSON.parse(v)),\n write: (v) => JSON.stringify(Array.from(v.entries()))\n },\n set: {\n read: (v) => new Set(JSON.parse(v)),\n write: (v) => JSON.stringify(Array.from(v))\n },\n date: {\n read: (v) => new Date(v),\n write: (v) => v.toISOString()\n }\n};\nconst customStorageEventName = \"vueuse-storage\";\nfunction useStorage(key, defaults, storage, options = {}) {\n var _a;\n const {\n flush = \"pre\",\n deep = true,\n listenToStorageChanges = true,\n writeDefaults = true,\n mergeDefaults = false,\n shallow,\n window = defaultWindow,\n eventFilter,\n onError = (e) => {\n console.error(e);\n },\n initOnMounted\n } = options;\n const data = (shallow ? shallowRef : ref)(typeof defaults === \"function\" ? defaults() : defaults);\n if (!storage) {\n try {\n storage = getSSRHandler(\"getDefaultStorage\", () => {\n var _a2;\n return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage;\n })();\n } catch (e) {\n onError(e);\n }\n }\n if (!storage)\n return data;\n const rawInit = toValue(defaults);\n const type = guessSerializerType(rawInit);\n const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type];\n const { pause: pauseWatch, resume: resumeWatch } = pausableWatch(\n data,\n () => write(data.value),\n { flush, deep, eventFilter }\n );\n if (window && listenToStorageChanges) {\n tryOnMounted(() => {\n useEventListener(window, \"storage\", update);\n useEventListener(window, customStorageEventName, updateFromCustomEvent);\n if (initOnMounted)\n update();\n });\n }\n if (!initOnMounted)\n update();\n function dispatchWriteEvent(oldValue, newValue) {\n if (window) {\n window.dispatchEvent(new CustomEvent(customStorageEventName, {\n detail: {\n key,\n oldValue,\n newValue,\n storageArea: storage\n }\n }));\n }\n }\n function write(v) {\n try {\n const oldValue = storage.getItem(key);\n if (v == null) {\n dispatchWriteEvent(oldValue, null);\n storage.removeItem(key);\n } else {\n const serialized = serializer.write(v);\n if (oldValue !== serialized) {\n storage.setItem(key, serialized);\n dispatchWriteEvent(oldValue, serialized);\n }\n }\n } catch (e) {\n onError(e);\n }\n }\n function read(event) {\n const rawValue = event ? event.newValue : storage.getItem(key);\n if (rawValue == null) {\n if (writeDefaults && rawInit != null)\n storage.setItem(key, serializer.write(rawInit));\n return rawInit;\n } else if (!event && mergeDefaults) {\n const value = serializer.read(rawValue);\n if (typeof mergeDefaults === \"function\")\n return mergeDefaults(value, rawInit);\n else if (type === \"object\" && !Array.isArray(value))\n return { ...rawInit, ...value };\n return value;\n } else if (typeof rawValue !== \"string\") {\n return rawValue;\n } else {\n return serializer.read(rawValue);\n }\n }\n function update(event) {\n if (event && event.storageArea !== storage)\n return;\n if (event && event.key == null) {\n data.value = rawInit;\n return;\n }\n if (event && event.key !== key)\n return;\n pauseWatch();\n try {\n if ((event == null ? void 0 : event.newValue) !== serializer.write(data.value))\n data.value = read(event);\n } catch (e) {\n onError(e);\n } finally {\n if (event)\n nextTick(resumeWatch);\n else\n resumeWatch();\n }\n }\n function updateFromCustomEvent(event) {\n update(event.detail);\n }\n return data;\n}\n\nfunction usePreferredDark(options) {\n return useMediaQuery(\"(prefers-color-scheme: dark)\", options);\n}\n\nfunction useColorMode(options = {}) {\n const {\n selector = \"html\",\n attribute = \"class\",\n initialValue = \"auto\",\n window = defaultWindow,\n storage,\n storageKey = \"vueuse-color-scheme\",\n listenToStorageChanges = true,\n storageRef,\n emitAuto,\n disableTransition = true\n } = options;\n const modes = {\n auto: \"\",\n light: \"light\",\n dark: \"dark\",\n ...options.modes || {}\n };\n const preferredDark = usePreferredDark({ window });\n const system = computed(() => preferredDark.value ? \"dark\" : \"light\");\n const store = storageRef || (storageKey == null ? toRef(initialValue) : useStorage(storageKey, initialValue, storage, { window, listenToStorageChanges }));\n const state = computed(() => store.value === \"auto\" ? system.value : store.value);\n const updateHTMLAttrs = getSSRHandler(\n \"updateHTMLAttrs\",\n (selector2, attribute2, value) => {\n const el = typeof selector2 === \"string\" ? window == null ? void 0 : window.document.querySelector(selector2) : unrefElement(selector2);\n if (!el)\n return;\n let style;\n if (disableTransition) {\n style = window.document.createElement(\"style\");\n const styleString = \"*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}\";\n style.appendChild(document.createTextNode(styleString));\n window.document.head.appendChild(style);\n }\n if (attribute2 === \"class\") {\n const current = value.split(/\\s/g);\n Object.values(modes).flatMap((i) => (i || \"\").split(/\\s/g)).filter(Boolean).forEach((v) => {\n if (current.includes(v))\n el.classList.add(v);\n else\n el.classList.remove(v);\n });\n } else {\n el.setAttribute(attribute2, value);\n }\n if (disableTransition) {\n window.getComputedStyle(style).opacity;\n document.head.removeChild(style);\n }\n }\n );\n function defaultOnChanged(mode) {\n var _a;\n updateHTMLAttrs(selector, attribute, (_a = modes[mode]) != null ? _a : mode);\n }\n function onChanged(mode) {\n if (options.onChanged)\n options.onChanged(mode, defaultOnChanged);\n else\n defaultOnChanged(mode);\n }\n watch(state, onChanged, { flush: \"post\", immediate: true });\n tryOnMounted(() => onChanged(state.value));\n const auto = computed({\n get() {\n return emitAuto ? store.value : state.value;\n },\n set(v) {\n store.value = v;\n }\n });\n try {\n return Object.assign(auto, { store, system, state });\n } catch (e) {\n return auto;\n }\n}\n\nfunction useConfirmDialog(revealed = ref(false)) {\n const confirmHook = createEventHook();\n const cancelHook = createEventHook();\n const revealHook = createEventHook();\n let _resolve = noop;\n const reveal = (data) => {\n revealHook.trigger(data);\n revealed.value = true;\n return new Promise((resolve) => {\n _resolve = resolve;\n });\n };\n const confirm = (data) => {\n revealed.value = false;\n confirmHook.trigger(data);\n _resolve({ data, isCanceled: false });\n };\n const cancel = (data) => {\n revealed.value = false;\n cancelHook.trigger(data);\n _resolve({ data, isCanceled: true });\n };\n return {\n isRevealed: computed(() => revealed.value),\n reveal,\n confirm,\n cancel,\n onReveal: revealHook.on,\n onConfirm: confirmHook.on,\n onCancel: cancelHook.on\n };\n}\n\nfunction useMutationObserver(target, callback, options = {}) {\n const { window = defaultWindow, ...mutationOptions } = options;\n let observer;\n const isSupported = useSupported(() => window && \"MutationObserver\" in window);\n const cleanup = () => {\n if (observer) {\n observer.disconnect();\n observer = void 0;\n }\n };\n const targets = computed(() => {\n const value = toValue(target);\n const items = (Array.isArray(value) ? value : [value]).map(unrefElement).filter(notNullish);\n return new Set(items);\n });\n const stopWatch = watch(\n () => targets.value,\n (targets2) => {\n cleanup();\n if (isSupported.value && window && targets2.size) {\n observer = new MutationObserver(callback);\n targets2.forEach((el) => observer.observe(el, mutationOptions));\n }\n },\n { immediate: true, flush: \"post\" }\n );\n const takeRecords = () => {\n return observer == null ? void 0 : observer.takeRecords();\n };\n const stop = () => {\n cleanup();\n stopWatch();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop,\n takeRecords\n };\n}\n\nfunction useCssVar(prop, target, options = {}) {\n const { window = defaultWindow, initialValue = \"\", observe = false } = options;\n const variable = ref(initialValue);\n const elRef = computed(() => {\n var _a;\n return unrefElement(target) || ((_a = window == null ? void 0 : window.document) == null ? void 0 : _a.documentElement);\n });\n function updateCssVar() {\n var _a;\n const key = toValue(prop);\n const el = toValue(elRef);\n if (el && window) {\n const value = (_a = window.getComputedStyle(el).getPropertyValue(key)) == null ? void 0 : _a.trim();\n variable.value = value || initialValue;\n }\n }\n if (observe) {\n useMutationObserver(elRef, updateCssVar, {\n attributeFilter: [\"style\", \"class\"],\n window\n });\n }\n watch(\n [elRef, () => toValue(prop)],\n updateCssVar,\n { immediate: true }\n );\n watch(\n variable,\n (val) => {\n var _a;\n if ((_a = elRef.value) == null ? void 0 : _a.style)\n elRef.value.style.setProperty(toValue(prop), val);\n }\n );\n return variable;\n}\n\nfunction useCurrentElement(rootComponent) {\n const vm = getCurrentInstance();\n const currentElement = computedWithControl(\n () => null,\n () => rootComponent ? unrefElement(rootComponent) : vm.proxy.$el\n );\n onUpdated(currentElement.trigger);\n onMounted(currentElement.trigger);\n return currentElement;\n}\n\nfunction useCycleList(list, options) {\n const state = shallowRef(getInitialValue());\n const listRef = toRef(list);\n const index = computed({\n get() {\n var _a;\n const targetList = listRef.value;\n let index2 = (options == null ? void 0 : options.getIndexOf) ? options.getIndexOf(state.value, targetList) : targetList.indexOf(state.value);\n if (index2 < 0)\n index2 = (_a = options == null ? void 0 : options.fallbackIndex) != null ? _a : 0;\n return index2;\n },\n set(v) {\n set(v);\n }\n });\n function set(i) {\n const targetList = listRef.value;\n const length = targetList.length;\n const index2 = (i % length + length) % length;\n const value = targetList[index2];\n state.value = value;\n return value;\n }\n function shift(delta = 1) {\n return set(index.value + delta);\n }\n function next(n = 1) {\n return shift(n);\n }\n function prev(n = 1) {\n return shift(-n);\n }\n function getInitialValue() {\n var _a, _b;\n return (_b = toValue((_a = options == null ? void 0 : options.initialValue) != null ? _a : toValue(list)[0])) != null ? _b : void 0;\n }\n watch(listRef, () => set(index.value));\n return {\n state,\n index,\n next,\n prev,\n go: set\n };\n}\n\nfunction useDark(options = {}) {\n const {\n valueDark = \"dark\",\n valueLight = \"\",\n window = defaultWindow\n } = options;\n const mode = useColorMode({\n ...options,\n onChanged: (mode2, defaultHandler) => {\n var _a;\n if (options.onChanged)\n (_a = options.onChanged) == null ? void 0 : _a.call(options, mode2 === \"dark\", defaultHandler, mode2);\n else\n defaultHandler(mode2);\n },\n modes: {\n dark: valueDark,\n light: valueLight\n }\n });\n const system = computed(() => {\n if (mode.system) {\n return mode.system.value;\n } else {\n const preferredDark = usePreferredDark({ window });\n return preferredDark.value ? \"dark\" : \"light\";\n }\n });\n const isDark = computed({\n get() {\n return mode.value === \"dark\";\n },\n set(v) {\n const modeVal = v ? \"dark\" : \"light\";\n if (system.value === modeVal)\n mode.value = \"auto\";\n else\n mode.value = modeVal;\n }\n });\n return isDark;\n}\n\nfunction fnBypass(v) {\n return v;\n}\nfunction fnSetSource(source, value) {\n return source.value = value;\n}\nfunction defaultDump(clone) {\n return clone ? typeof clone === \"function\" ? clone : cloneFnJSON : fnBypass;\n}\nfunction defaultParse(clone) {\n return clone ? typeof clone === \"function\" ? clone : cloneFnJSON : fnBypass;\n}\nfunction useManualRefHistory(source, options = {}) {\n const {\n clone = false,\n dump = defaultDump(clone),\n parse = defaultParse(clone),\n setSource = fnSetSource\n } = options;\n function _createHistoryRecord() {\n return markRaw({\n snapshot: dump(source.value),\n timestamp: timestamp()\n });\n }\n const last = ref(_createHistoryRecord());\n const undoStack = ref([]);\n const redoStack = ref([]);\n const _setSource = (record) => {\n setSource(source, parse(record.snapshot));\n last.value = record;\n };\n const commit = () => {\n undoStack.value.unshift(last.value);\n last.value = _createHistoryRecord();\n if (options.capacity && undoStack.value.length > options.capacity)\n undoStack.value.splice(options.capacity, Number.POSITIVE_INFINITY);\n if (redoStack.value.length)\n redoStack.value.splice(0, redoStack.value.length);\n };\n const clear = () => {\n undoStack.value.splice(0, undoStack.value.length);\n redoStack.value.splice(0, redoStack.value.length);\n };\n const undo = () => {\n const state = undoStack.value.shift();\n if (state) {\n redoStack.value.unshift(last.value);\n _setSource(state);\n }\n };\n const redo = () => {\n const state = redoStack.value.shift();\n if (state) {\n undoStack.value.unshift(last.value);\n _setSource(state);\n }\n };\n const reset = () => {\n _setSource(last.value);\n };\n const history = computed(() => [last.value, ...undoStack.value]);\n const canUndo = computed(() => undoStack.value.length > 0);\n const canRedo = computed(() => redoStack.value.length > 0);\n return {\n source,\n undoStack,\n redoStack,\n last,\n history,\n canUndo,\n canRedo,\n clear,\n commit,\n reset,\n undo,\n redo\n };\n}\n\nfunction useRefHistory(source, options = {}) {\n const {\n deep = false,\n flush = \"pre\",\n eventFilter\n } = options;\n const {\n eventFilter: composedFilter,\n pause,\n resume: resumeTracking,\n isActive: isTracking\n } = pausableFilter(eventFilter);\n const {\n ignoreUpdates,\n ignorePrevAsyncUpdates,\n stop\n } = watchIgnorable(\n source,\n commit,\n { deep, flush, eventFilter: composedFilter }\n );\n function setSource(source2, value) {\n ignorePrevAsyncUpdates();\n ignoreUpdates(() => {\n source2.value = value;\n });\n }\n const manualHistory = useManualRefHistory(source, { ...options, clone: options.clone || deep, setSource });\n const { clear, commit: manualCommit } = manualHistory;\n function commit() {\n ignorePrevAsyncUpdates();\n manualCommit();\n }\n function resume(commitNow) {\n resumeTracking();\n if (commitNow)\n commit();\n }\n function batch(fn) {\n let canceled = false;\n const cancel = () => canceled = true;\n ignoreUpdates(() => {\n fn(cancel);\n });\n if (!canceled)\n commit();\n }\n function dispose() {\n stop();\n clear();\n }\n return {\n ...manualHistory,\n isTracking,\n pause,\n resume,\n commit,\n batch,\n dispose\n };\n}\n\nfunction useDebouncedRefHistory(source, options = {}) {\n const filter = options.debounce ? debounceFilter(options.debounce) : void 0;\n const history = useRefHistory(source, { ...options, eventFilter: filter });\n return {\n ...history\n };\n}\n\nfunction useDeviceMotion(options = {}) {\n const {\n window = defaultWindow,\n eventFilter = bypassFilter\n } = options;\n const acceleration = ref({ x: null, y: null, z: null });\n const rotationRate = ref({ alpha: null, beta: null, gamma: null });\n const interval = ref(0);\n const accelerationIncludingGravity = ref({\n x: null,\n y: null,\n z: null\n });\n if (window) {\n const onDeviceMotion = createFilterWrapper(\n eventFilter,\n (event) => {\n acceleration.value = event.acceleration;\n accelerationIncludingGravity.value = event.accelerationIncludingGravity;\n rotationRate.value = event.rotationRate;\n interval.value = event.interval;\n }\n );\n useEventListener(window, \"devicemotion\", onDeviceMotion);\n }\n return {\n acceleration,\n accelerationIncludingGravity,\n rotationRate,\n interval\n };\n}\n\nfunction useDeviceOrientation(options = {}) {\n const { window = defaultWindow } = options;\n const isSupported = useSupported(() => window && \"DeviceOrientationEvent\" in window);\n const isAbsolute = ref(false);\n const alpha = ref(null);\n const beta = ref(null);\n const gamma = ref(null);\n if (window && isSupported.value) {\n useEventListener(window, \"deviceorientation\", (event) => {\n isAbsolute.value = event.absolute;\n alpha.value = event.alpha;\n beta.value = event.beta;\n gamma.value = event.gamma;\n });\n }\n return {\n isSupported,\n isAbsolute,\n alpha,\n beta,\n gamma\n };\n}\n\nfunction useDevicePixelRatio(options = {}) {\n const {\n window = defaultWindow\n } = options;\n const pixelRatio = ref(1);\n if (window) {\n let observe2 = function() {\n pixelRatio.value = window.devicePixelRatio;\n cleanup2();\n media = window.matchMedia(`(resolution: ${pixelRatio.value}dppx)`);\n media.addEventListener(\"change\", observe2, { once: true });\n }, cleanup2 = function() {\n media == null ? void 0 : media.removeEventListener(\"change\", observe2);\n };\n let media;\n observe2();\n tryOnScopeDispose(cleanup2);\n }\n return { pixelRatio };\n}\n\nfunction useDevicesList(options = {}) {\n const {\n navigator = defaultNavigator,\n requestPermissions = false,\n constraints = { audio: true, video: true },\n onUpdated\n } = options;\n const devices = ref([]);\n const videoInputs = computed(() => devices.value.filter((i) => i.kind === \"videoinput\"));\n const audioInputs = computed(() => devices.value.filter((i) => i.kind === \"audioinput\"));\n const audioOutputs = computed(() => devices.value.filter((i) => i.kind === \"audiooutput\"));\n const isSupported = useSupported(() => navigator && navigator.mediaDevices && navigator.mediaDevices.enumerateDevices);\n const permissionGranted = ref(false);\n let stream;\n async function update() {\n if (!isSupported.value)\n return;\n devices.value = await navigator.mediaDevices.enumerateDevices();\n onUpdated == null ? void 0 : onUpdated(devices.value);\n if (stream) {\n stream.getTracks().forEach((t) => t.stop());\n stream = null;\n }\n }\n async function ensurePermissions() {\n if (!isSupported.value)\n return false;\n if (permissionGranted.value)\n return true;\n const { state, query } = usePermission(\"camera\", { controls: true });\n await query();\n if (state.value !== \"granted\") {\n stream = await navigator.mediaDevices.getUserMedia(constraints);\n update();\n permissionGranted.value = true;\n } else {\n permissionGranted.value = true;\n }\n return permissionGranted.value;\n }\n if (isSupported.value) {\n if (requestPermissions)\n ensurePermissions();\n useEventListener(navigator.mediaDevices, \"devicechange\", update);\n update();\n }\n return {\n devices,\n ensurePermissions,\n permissionGranted,\n videoInputs,\n audioInputs,\n audioOutputs,\n isSupported\n };\n}\n\nfunction useDisplayMedia(options = {}) {\n var _a;\n const enabled = ref((_a = options.enabled) != null ? _a : false);\n const video = options.video;\n const audio = options.audio;\n const { navigator = defaultNavigator } = options;\n const isSupported = useSupported(() => {\n var _a2;\n return (_a2 = navigator == null ? void 0 : navigator.mediaDevices) == null ? void 0 : _a2.getDisplayMedia;\n });\n const constraint = { audio, video };\n const stream = shallowRef();\n async function _start() {\n if (!isSupported.value || stream.value)\n return;\n stream.value = await navigator.mediaDevices.getDisplayMedia(constraint);\n return stream.value;\n }\n async function _stop() {\n var _a2;\n (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach((t) => t.stop());\n stream.value = void 0;\n }\n function stop() {\n _stop();\n enabled.value = false;\n }\n async function start() {\n await _start();\n if (stream.value)\n enabled.value = true;\n return stream.value;\n }\n watch(\n enabled,\n (v) => {\n if (v)\n _start();\n else\n _stop();\n },\n { immediate: true }\n );\n return {\n isSupported,\n stream,\n start,\n stop,\n enabled\n };\n}\n\nfunction useDocumentVisibility(options = {}) {\n const { document = defaultDocument } = options;\n if (!document)\n return ref(\"visible\");\n const visibility = ref(document.visibilityState);\n useEventListener(document, \"visibilitychange\", () => {\n visibility.value = document.visibilityState;\n });\n return visibility;\n}\n\nfunction useDraggable(target, options = {}) {\n var _a, _b;\n const {\n pointerTypes,\n preventDefault,\n stopPropagation,\n exact,\n onMove,\n onEnd,\n onStart,\n initialValue,\n axis = \"both\",\n draggingElement = defaultWindow,\n containerElement,\n handle: draggingHandle = target\n } = options;\n const position = ref(\n (_a = toValue(initialValue)) != null ? _a : { x: 0, y: 0 }\n );\n const pressedDelta = ref();\n const filterEvent = (e) => {\n if (pointerTypes)\n return pointerTypes.includes(e.pointerType);\n return true;\n };\n const handleEvent = (e) => {\n if (toValue(preventDefault))\n e.preventDefault();\n if (toValue(stopPropagation))\n e.stopPropagation();\n };\n const start = (e) => {\n var _a2;\n if (toValue(options.disabled) || !filterEvent(e))\n return;\n if (toValue(exact) && e.target !== toValue(target))\n return;\n const container = toValue(containerElement);\n const containerRect = (_a2 = container == null ? void 0 : container.getBoundingClientRect) == null ? void 0 : _a2.call(container);\n const targetRect = toValue(target).getBoundingClientRect();\n const pos = {\n x: e.clientX - (container ? targetRect.left - containerRect.left + container.scrollLeft : targetRect.left),\n y: e.clientY - (container ? targetRect.top - containerRect.top + container.scrollTop : targetRect.top)\n };\n if ((onStart == null ? void 0 : onStart(pos, e)) === false)\n return;\n pressedDelta.value = pos;\n handleEvent(e);\n };\n const move = (e) => {\n if (toValue(options.disabled) || !filterEvent(e))\n return;\n if (!pressedDelta.value)\n return;\n const container = toValue(containerElement);\n const targetRect = toValue(target).getBoundingClientRect();\n let { x, y } = position.value;\n if (axis === \"x\" || axis === \"both\") {\n x = e.clientX - pressedDelta.value.x;\n if (container)\n x = Math.min(Math.max(0, x), container.scrollWidth - targetRect.width);\n }\n if (axis === \"y\" || axis === \"both\") {\n y = e.clientY - pressedDelta.value.y;\n if (container)\n y = Math.min(Math.max(0, y), container.scrollHeight - targetRect.height);\n }\n position.value = {\n x,\n y\n };\n onMove == null ? void 0 : onMove(position.value, e);\n handleEvent(e);\n };\n const end = (e) => {\n if (toValue(options.disabled) || !filterEvent(e))\n return;\n if (!pressedDelta.value)\n return;\n pressedDelta.value = void 0;\n onEnd == null ? void 0 : onEnd(position.value, e);\n handleEvent(e);\n };\n if (isClient) {\n const config = { capture: (_b = options.capture) != null ? _b : true };\n useEventListener(draggingHandle, \"pointerdown\", start, config);\n useEventListener(draggingElement, \"pointermove\", move, config);\n useEventListener(draggingElement, \"pointerup\", end, config);\n }\n return {\n ...toRefs(position),\n position,\n isDragging: computed(() => !!pressedDelta.value),\n style: computed(\n () => `left:${position.value.x}px;top:${position.value.y}px;`\n )\n };\n}\n\nfunction useDropZone(target, options = {}) {\n const isOverDropZone = ref(false);\n const files = shallowRef(null);\n let counter = 0;\n let isDataTypeIncluded = true;\n if (isClient) {\n const _options = typeof options === \"function\" ? { onDrop: options } : options;\n const getFiles = (event) => {\n var _a, _b;\n const list = Array.from((_b = (_a = event.dataTransfer) == null ? void 0 : _a.files) != null ? _b : []);\n return files.value = list.length === 0 ? null : list;\n };\n useEventListener(target, \"dragenter\", (event) => {\n var _a, _b;\n const types = Array.from(((_a = event == null ? void 0 : event.dataTransfer) == null ? void 0 : _a.items) || []).map((i) => i.kind === \"file\" ? i.type : null).filter(notNullish);\n if (_options.dataTypes && event.dataTransfer) {\n const dataTypes = unref(_options.dataTypes);\n isDataTypeIncluded = typeof dataTypes === \"function\" ? dataTypes(types) : dataTypes ? dataTypes.some((item) => types.includes(item)) : true;\n if (!isDataTypeIncluded)\n return;\n }\n event.preventDefault();\n counter += 1;\n isOverDropZone.value = true;\n (_b = _options.onEnter) == null ? void 0 : _b.call(_options, getFiles(event), event);\n });\n useEventListener(target, \"dragover\", (event) => {\n var _a;\n if (!isDataTypeIncluded)\n return;\n event.preventDefault();\n (_a = _options.onOver) == null ? void 0 : _a.call(_options, getFiles(event), event);\n });\n useEventListener(target, \"dragleave\", (event) => {\n var _a;\n if (!isDataTypeIncluded)\n return;\n event.preventDefault();\n counter -= 1;\n if (counter === 0)\n isOverDropZone.value = false;\n (_a = _options.onLeave) == null ? void 0 : _a.call(_options, getFiles(event), event);\n });\n useEventListener(target, \"drop\", (event) => {\n var _a;\n event.preventDefault();\n counter = 0;\n isOverDropZone.value = false;\n (_a = _options.onDrop) == null ? void 0 : _a.call(_options, getFiles(event), event);\n });\n }\n return {\n files,\n isOverDropZone\n };\n}\n\nfunction useResizeObserver(target, callback, options = {}) {\n const { window = defaultWindow, ...observerOptions } = options;\n let observer;\n const isSupported = useSupported(() => window && \"ResizeObserver\" in window);\n const cleanup = () => {\n if (observer) {\n observer.disconnect();\n observer = void 0;\n }\n };\n const targets = computed(() => Array.isArray(target) ? target.map((el) => unrefElement(el)) : [unrefElement(target)]);\n const stopWatch = watch(\n targets,\n (els) => {\n cleanup();\n if (isSupported.value && window) {\n observer = new ResizeObserver(callback);\n for (const _el of els)\n _el && observer.observe(_el, observerOptions);\n }\n },\n { immediate: true, flush: \"post\" }\n );\n const stop = () => {\n cleanup();\n stopWatch();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop\n };\n}\n\nfunction useElementBounding(target, options = {}) {\n const {\n reset = true,\n windowResize = true,\n windowScroll = true,\n immediate = true\n } = options;\n const height = ref(0);\n const bottom = ref(0);\n const left = ref(0);\n const right = ref(0);\n const top = ref(0);\n const width = ref(0);\n const x = ref(0);\n const y = ref(0);\n function update() {\n const el = unrefElement(target);\n if (!el) {\n if (reset) {\n height.value = 0;\n bottom.value = 0;\n left.value = 0;\n right.value = 0;\n top.value = 0;\n width.value = 0;\n x.value = 0;\n y.value = 0;\n }\n return;\n }\n const rect = el.getBoundingClientRect();\n height.value = rect.height;\n bottom.value = rect.bottom;\n left.value = rect.left;\n right.value = rect.right;\n top.value = rect.top;\n width.value = rect.width;\n x.value = rect.x;\n y.value = rect.y;\n }\n useResizeObserver(target, update);\n watch(() => unrefElement(target), (ele) => !ele && update());\n useMutationObserver(target, update, {\n attributeFilter: [\"style\", \"class\"]\n });\n if (windowScroll)\n useEventListener(\"scroll\", update, { capture: true, passive: true });\n if (windowResize)\n useEventListener(\"resize\", update, { passive: true });\n tryOnMounted(() => {\n if (immediate)\n update();\n });\n return {\n height,\n bottom,\n left,\n right,\n top,\n width,\n x,\n y,\n update\n };\n}\n\nfunction useElementByPoint(options) {\n const {\n x,\n y,\n document = defaultDocument,\n multiple,\n interval = \"requestAnimationFrame\",\n immediate = true\n } = options;\n const isSupported = useSupported(() => {\n if (toValue(multiple))\n return document && \"elementsFromPoint\" in document;\n return document && \"elementFromPoint\" in document;\n });\n const element = ref(null);\n const cb = () => {\n var _a, _b;\n element.value = toValue(multiple) ? (_a = document == null ? void 0 : document.elementsFromPoint(toValue(x), toValue(y))) != null ? _a : [] : (_b = document == null ? void 0 : document.elementFromPoint(toValue(x), toValue(y))) != null ? _b : null;\n };\n const controls = interval === \"requestAnimationFrame\" ? useRafFn(cb, { immediate }) : useIntervalFn(cb, interval, { immediate });\n return {\n isSupported,\n element,\n ...controls\n };\n}\n\nfunction useElementHover(el, options = {}) {\n const {\n delayEnter = 0,\n delayLeave = 0,\n window = defaultWindow\n } = options;\n const isHovered = ref(false);\n let timer;\n const toggle = (entering) => {\n const delay = entering ? delayEnter : delayLeave;\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n }\n if (delay)\n timer = setTimeout(() => isHovered.value = entering, delay);\n else\n isHovered.value = entering;\n };\n if (!window)\n return isHovered;\n useEventListener(el, \"mouseenter\", () => toggle(true), { passive: true });\n useEventListener(el, \"mouseleave\", () => toggle(false), { passive: true });\n return isHovered;\n}\n\nfunction useElementSize(target, initialSize = { width: 0, height: 0 }, options = {}) {\n const { window = defaultWindow, box = \"content-box\" } = options;\n const isSVG = computed(() => {\n var _a, _b;\n return (_b = (_a = unrefElement(target)) == null ? void 0 : _a.namespaceURI) == null ? void 0 : _b.includes(\"svg\");\n });\n const width = ref(initialSize.width);\n const height = ref(initialSize.height);\n const { stop: stop1 } = useResizeObserver(\n target,\n ([entry]) => {\n const boxSize = box === \"border-box\" ? entry.borderBoxSize : box === \"content-box\" ? entry.contentBoxSize : entry.devicePixelContentBoxSize;\n if (window && isSVG.value) {\n const $elem = unrefElement(target);\n if ($elem) {\n const styles = window.getComputedStyle($elem);\n width.value = Number.parseFloat(styles.width);\n height.value = Number.parseFloat(styles.height);\n }\n } else {\n if (boxSize) {\n const formatBoxSize = Array.isArray(boxSize) ? boxSize : [boxSize];\n width.value = formatBoxSize.reduce((acc, { inlineSize }) => acc + inlineSize, 0);\n height.value = formatBoxSize.reduce((acc, { blockSize }) => acc + blockSize, 0);\n } else {\n width.value = entry.contentRect.width;\n height.value = entry.contentRect.height;\n }\n }\n },\n options\n );\n tryOnMounted(() => {\n const ele = unrefElement(target);\n if (ele) {\n width.value = \"offsetWidth\" in ele ? ele.offsetWidth : initialSize.width;\n height.value = \"offsetHeight\" in ele ? ele.offsetHeight : initialSize.height;\n }\n });\n const stop2 = watch(\n () => unrefElement(target),\n (ele) => {\n width.value = ele ? initialSize.width : 0;\n height.value = ele ? initialSize.height : 0;\n }\n );\n function stop() {\n stop1();\n stop2();\n }\n return {\n width,\n height,\n stop\n };\n}\n\nfunction useIntersectionObserver(target, callback, options = {}) {\n const {\n root,\n rootMargin = \"0px\",\n threshold = 0.1,\n window = defaultWindow,\n immediate = true\n } = options;\n const isSupported = useSupported(() => window && \"IntersectionObserver\" in window);\n const targets = computed(() => {\n const _target = toValue(target);\n return (Array.isArray(_target) ? _target : [_target]).map(unrefElement).filter(notNullish);\n });\n let cleanup = noop;\n const isActive = ref(immediate);\n const stopWatch = isSupported.value ? watch(\n () => [targets.value, unrefElement(root), isActive.value],\n ([targets2, root2]) => {\n cleanup();\n if (!isActive.value)\n return;\n if (!targets2.length)\n return;\n const observer = new IntersectionObserver(\n callback,\n {\n root: unrefElement(root2),\n rootMargin,\n threshold\n }\n );\n targets2.forEach((el) => el && observer.observe(el));\n cleanup = () => {\n observer.disconnect();\n cleanup = noop;\n };\n },\n { immediate, flush: \"post\" }\n ) : noop;\n const stop = () => {\n cleanup();\n stopWatch();\n isActive.value = false;\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n isActive,\n pause() {\n cleanup();\n isActive.value = false;\n },\n resume() {\n isActive.value = true;\n },\n stop\n };\n}\n\nfunction useElementVisibility(element, options = {}) {\n const { window = defaultWindow, scrollTarget, threshold = 0 } = options;\n const elementIsVisible = ref(false);\n useIntersectionObserver(\n element,\n (intersectionObserverEntries) => {\n let isIntersecting = elementIsVisible.value;\n let latestTime = 0;\n for (const entry of intersectionObserverEntries) {\n if (entry.time >= latestTime) {\n latestTime = entry.time;\n isIntersecting = entry.isIntersecting;\n }\n }\n elementIsVisible.value = isIntersecting;\n },\n {\n root: scrollTarget,\n window,\n threshold\n }\n );\n return elementIsVisible;\n}\n\nconst events = /* @__PURE__ */ new Map();\n\nfunction useEventBus(key) {\n const scope = getCurrentScope();\n function on(listener) {\n var _a;\n const listeners = events.get(key) || /* @__PURE__ */ new Set();\n listeners.add(listener);\n events.set(key, listeners);\n const _off = () => off(listener);\n (_a = scope == null ? void 0 : scope.cleanups) == null ? void 0 : _a.push(_off);\n return _off;\n }\n function once(listener) {\n function _listener(...args) {\n off(_listener);\n listener(...args);\n }\n return on(_listener);\n }\n function off(listener) {\n const listeners = events.get(key);\n if (!listeners)\n return;\n listeners.delete(listener);\n if (!listeners.size)\n reset();\n }\n function reset() {\n events.delete(key);\n }\n function emit(event, payload) {\n var _a;\n (_a = events.get(key)) == null ? void 0 : _a.forEach((v) => v(event, payload));\n }\n return { on, once, off, emit, reset };\n}\n\nfunction resolveNestedOptions$1(options) {\n if (options === true)\n return {};\n return options;\n}\nfunction useEventSource(url, events = [], options = {}) {\n const event = ref(null);\n const data = ref(null);\n const status = ref(\"CONNECTING\");\n const eventSource = ref(null);\n const error = shallowRef(null);\n const urlRef = toRef(url);\n let explicitlyClosed = false;\n let retried = 0;\n const {\n withCredentials = false,\n immediate = true\n } = options;\n const close = () => {\n if (isClient && eventSource.value) {\n eventSource.value.close();\n eventSource.value = null;\n status.value = \"CLOSED\";\n explicitlyClosed = true;\n }\n };\n const _init = () => {\n if (explicitlyClosed || typeof urlRef.value === \"undefined\")\n return;\n const es = new EventSource(urlRef.value, { withCredentials });\n status.value = \"CONNECTING\";\n eventSource.value = es;\n es.onopen = () => {\n status.value = \"OPEN\";\n error.value = null;\n };\n es.onerror = (e) => {\n status.value = \"CLOSED\";\n error.value = e;\n if (es.readyState === 2 && !explicitlyClosed && options.autoReconnect) {\n es.close();\n const {\n retries = -1,\n delay = 1e3,\n onFailed\n } = resolveNestedOptions$1(options.autoReconnect);\n retried += 1;\n if (typeof retries === \"number\" && (retries < 0 || retried < retries))\n setTimeout(_init, delay);\n else if (typeof retries === \"function\" && retries())\n setTimeout(_init, delay);\n else\n onFailed == null ? void 0 : onFailed();\n }\n };\n es.onmessage = (e) => {\n event.value = null;\n data.value = e.data;\n };\n for (const event_name of events) {\n useEventListener(es, event_name, (e) => {\n event.value = event_name;\n data.value = e.data || null;\n });\n }\n };\n const open = () => {\n if (!isClient)\n return;\n close();\n explicitlyClosed = false;\n retried = 0;\n _init();\n };\n if (immediate)\n watch(urlRef, open, { immediate: true });\n tryOnScopeDispose(close);\n return {\n eventSource,\n event,\n data,\n status,\n error,\n open,\n close\n };\n}\n\nfunction useEyeDropper(options = {}) {\n const { initialValue = \"\" } = options;\n const isSupported = useSupported(() => typeof window !== \"undefined\" && \"EyeDropper\" in window);\n const sRGBHex = ref(initialValue);\n async function open(openOptions) {\n if (!isSupported.value)\n return;\n const eyeDropper = new window.EyeDropper();\n const result = await eyeDropper.open(openOptions);\n sRGBHex.value = result.sRGBHex;\n return result;\n }\n return { isSupported, sRGBHex, open };\n}\n\nfunction useFavicon(newIcon = null, options = {}) {\n const {\n baseUrl = \"\",\n rel = \"icon\",\n document = defaultDocument\n } = options;\n const favicon = toRef(newIcon);\n const applyIcon = (icon) => {\n const elements = document == null ? void 0 : document.head.querySelectorAll(`link[rel*=\"${rel}\"]`);\n if (!elements || elements.length === 0) {\n const link = document == null ? void 0 : document.createElement(\"link\");\n if (link) {\n link.rel = rel;\n link.href = `${baseUrl}${icon}`;\n link.type = `image/${icon.split(\".\").pop()}`;\n document == null ? void 0 : document.head.append(link);\n }\n return;\n }\n elements == null ? void 0 : elements.forEach((el) => el.href = `${baseUrl}${icon}`);\n };\n watch(\n favicon,\n (i, o) => {\n if (typeof i === \"string\" && i !== o)\n applyIcon(i);\n },\n { immediate: true }\n );\n return favicon;\n}\n\nconst payloadMapping = {\n json: \"application/json\",\n text: \"text/plain\"\n};\nfunction isFetchOptions(obj) {\n return obj && containsProp(obj, \"immediate\", \"refetch\", \"initialData\", \"timeout\", \"beforeFetch\", \"afterFetch\", \"onFetchError\", \"fetch\", \"updateDataOnError\");\n}\nfunction isAbsoluteURL(url) {\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\nfunction headersToObject(headers) {\n if (typeof Headers !== \"undefined\" && headers instanceof Headers)\n return Object.fromEntries(headers.entries());\n return headers;\n}\nfunction combineCallbacks(combination, ...callbacks) {\n if (combination === \"overwrite\") {\n return async (ctx) => {\n const callback = callbacks[callbacks.length - 1];\n if (callback)\n return { ...ctx, ...await callback(ctx) };\n return ctx;\n };\n } else {\n return async (ctx) => {\n for (const callback of callbacks) {\n if (callback)\n ctx = { ...ctx, ...await callback(ctx) };\n }\n return ctx;\n };\n }\n}\nfunction createFetch(config = {}) {\n const _combination = config.combination || \"chain\";\n const _options = config.options || {};\n const _fetchOptions = config.fetchOptions || {};\n function useFactoryFetch(url, ...args) {\n const computedUrl = computed(() => {\n const baseUrl = toValue(config.baseUrl);\n const targetUrl = toValue(url);\n return baseUrl && !isAbsoluteURL(targetUrl) ? joinPaths(baseUrl, targetUrl) : targetUrl;\n });\n let options = _options;\n let fetchOptions = _fetchOptions;\n if (args.length > 0) {\n if (isFetchOptions(args[0])) {\n options = {\n ...options,\n ...args[0],\n beforeFetch: combineCallbacks(_combination, _options.beforeFetch, args[0].beforeFetch),\n afterFetch: combineCallbacks(_combination, _options.afterFetch, args[0].afterFetch),\n onFetchError: combineCallbacks(_combination, _options.onFetchError, args[0].onFetchError)\n };\n } else {\n fetchOptions = {\n ...fetchOptions,\n ...args[0],\n headers: {\n ...headersToObject(fetchOptions.headers) || {},\n ...headersToObject(args[0].headers) || {}\n }\n };\n }\n }\n if (args.length > 1 && isFetchOptions(args[1])) {\n options = {\n ...options,\n ...args[1],\n beforeFetch: combineCallbacks(_combination, _options.beforeFetch, args[1].beforeFetch),\n afterFetch: combineCallbacks(_combination, _options.afterFetch, args[1].afterFetch),\n onFetchError: combineCallbacks(_combination, _options.onFetchError, args[1].onFetchError)\n };\n }\n return useFetch(computedUrl, fetchOptions, options);\n }\n return useFactoryFetch;\n}\nfunction useFetch(url, ...args) {\n var _a;\n const supportsAbort = typeof AbortController === \"function\";\n let fetchOptions = {};\n let options = {\n immediate: true,\n refetch: false,\n timeout: 0,\n updateDataOnError: false\n };\n const config = {\n method: \"GET\",\n type: \"text\",\n payload: void 0\n };\n if (args.length > 0) {\n if (isFetchOptions(args[0]))\n options = { ...options, ...args[0] };\n else\n fetchOptions = args[0];\n }\n if (args.length > 1) {\n if (isFetchOptions(args[1]))\n options = { ...options, ...args[1] };\n }\n const {\n fetch = (_a = defaultWindow) == null ? void 0 : _a.fetch,\n initialData,\n timeout\n } = options;\n const responseEvent = createEventHook();\n const errorEvent = createEventHook();\n const finallyEvent = createEventHook();\n const isFinished = ref(false);\n const isFetching = ref(false);\n const aborted = ref(false);\n const statusCode = ref(null);\n const response = shallowRef(null);\n const error = shallowRef(null);\n const data = shallowRef(initialData || null);\n const canAbort = computed(() => supportsAbort && isFetching.value);\n let controller;\n let timer;\n const abort = () => {\n if (supportsAbort) {\n controller == null ? void 0 : controller.abort();\n controller = new AbortController();\n controller.signal.onabort = () => aborted.value = true;\n fetchOptions = {\n ...fetchOptions,\n signal: controller.signal\n };\n }\n };\n const loading = (isLoading) => {\n isFetching.value = isLoading;\n isFinished.value = !isLoading;\n };\n if (timeout)\n timer = useTimeoutFn(abort, timeout, { immediate: false });\n let executeCounter = 0;\n const execute = async (throwOnFailed = false) => {\n var _a2, _b;\n abort();\n loading(true);\n error.value = null;\n statusCode.value = null;\n aborted.value = false;\n executeCounter += 1;\n const currentExecuteCounter = executeCounter;\n const defaultFetchOptions = {\n method: config.method,\n headers: {}\n };\n if (config.payload) {\n const headers = headersToObject(defaultFetchOptions.headers);\n const payload = toValue(config.payload);\n if (!config.payloadType && payload && Object.getPrototypeOf(payload) === Object.prototype && !(payload instanceof FormData))\n config.payloadType = \"json\";\n if (config.payloadType)\n headers[\"Content-Type\"] = (_a2 = payloadMapping[config.payloadType]) != null ? _a2 : config.payloadType;\n defaultFetchOptions.body = config.payloadType === \"json\" ? JSON.stringify(payload) : payload;\n }\n let isCanceled = false;\n const context = {\n url: toValue(url),\n options: {\n ...defaultFetchOptions,\n ...fetchOptions\n },\n cancel: () => {\n isCanceled = true;\n }\n };\n if (options.beforeFetch)\n Object.assign(context, await options.beforeFetch(context));\n if (isCanceled || !fetch) {\n loading(false);\n return Promise.resolve(null);\n }\n let responseData = null;\n if (timer)\n timer.start();\n return fetch(\n context.url,\n {\n ...defaultFetchOptions,\n ...context.options,\n headers: {\n ...headersToObject(defaultFetchOptions.headers),\n ...headersToObject((_b = context.options) == null ? void 0 : _b.headers)\n }\n }\n ).then(async (fetchResponse) => {\n response.value = fetchResponse;\n statusCode.value = fetchResponse.status;\n responseData = await fetchResponse.clone()[config.type]();\n if (!fetchResponse.ok) {\n data.value = initialData || null;\n throw new Error(fetchResponse.statusText);\n }\n if (options.afterFetch) {\n ({ data: responseData } = await options.afterFetch({\n data: responseData,\n response: fetchResponse\n }));\n }\n data.value = responseData;\n responseEvent.trigger(fetchResponse);\n return fetchResponse;\n }).catch(async (fetchError) => {\n let errorData = fetchError.message || fetchError.name;\n if (options.onFetchError) {\n ({ error: errorData, data: responseData } = await options.onFetchError({\n data: responseData,\n error: fetchError,\n response: response.value\n }));\n }\n error.value = errorData;\n if (options.updateDataOnError)\n data.value = responseData;\n errorEvent.trigger(fetchError);\n if (throwOnFailed)\n throw fetchError;\n return null;\n }).finally(() => {\n if (currentExecuteCounter === executeCounter)\n loading(false);\n if (timer)\n timer.stop();\n finallyEvent.trigger(null);\n });\n };\n const refetch = toRef(options.refetch);\n watch(\n [\n refetch,\n toRef(url)\n ],\n ([refetch2]) => refetch2 && execute(),\n { deep: true }\n );\n const shell = {\n isFinished: readonly(isFinished),\n isFetching: readonly(isFetching),\n statusCode,\n response,\n error,\n data,\n canAbort,\n aborted,\n abort,\n execute,\n onFetchResponse: responseEvent.on,\n onFetchError: errorEvent.on,\n onFetchFinally: finallyEvent.on,\n // method\n get: setMethod(\"GET\"),\n put: setMethod(\"PUT\"),\n post: setMethod(\"POST\"),\n delete: setMethod(\"DELETE\"),\n patch: setMethod(\"PATCH\"),\n head: setMethod(\"HEAD\"),\n options: setMethod(\"OPTIONS\"),\n // type\n json: setType(\"json\"),\n text: setType(\"text\"),\n blob: setType(\"blob\"),\n arrayBuffer: setType(\"arrayBuffer\"),\n formData: setType(\"formData\")\n };\n function setMethod(method) {\n return (payload, payloadType) => {\n if (!isFetching.value) {\n config.method = method;\n config.payload = payload;\n config.payloadType = payloadType;\n if (isRef(config.payload)) {\n watch(\n [\n refetch,\n toRef(config.payload)\n ],\n ([refetch2]) => refetch2 && execute(),\n { deep: true }\n );\n }\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilFinished().then(onFulfilled, onRejected);\n }\n };\n }\n return void 0;\n };\n }\n function waitUntilFinished() {\n return new Promise((resolve, reject) => {\n until(isFinished).toBe(true).then(() => resolve(shell)).catch((error2) => reject(error2));\n });\n }\n function setType(type) {\n return () => {\n if (!isFetching.value) {\n config.type = type;\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilFinished().then(onFulfilled, onRejected);\n }\n };\n }\n return void 0;\n };\n }\n if (options.immediate)\n Promise.resolve().then(() => execute());\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilFinished().then(onFulfilled, onRejected);\n }\n };\n}\nfunction joinPaths(start, end) {\n if (!start.endsWith(\"/\") && !end.startsWith(\"/\"))\n return `${start}/${end}`;\n return `${start}${end}`;\n}\n\nconst DEFAULT_OPTIONS = {\n multiple: true,\n accept: \"*\",\n reset: false,\n directory: false\n};\nfunction useFileDialog(options = {}) {\n const {\n document = defaultDocument\n } = options;\n const files = ref(null);\n const { on: onChange, trigger } = createEventHook();\n let input;\n if (document) {\n input = document.createElement(\"input\");\n input.type = \"file\";\n input.onchange = (event) => {\n const result = event.target;\n files.value = result.files;\n trigger(files.value);\n };\n }\n const reset = () => {\n files.value = null;\n if (input) {\n input.value = \"\";\n trigger(null);\n }\n };\n const open = (localOptions) => {\n if (!input)\n return;\n const _options = {\n ...DEFAULT_OPTIONS,\n ...options,\n ...localOptions\n };\n input.multiple = _options.multiple;\n input.accept = _options.accept;\n input.webkitdirectory = _options.directory;\n if (hasOwn(_options, \"capture\"))\n input.capture = _options.capture;\n if (_options.reset)\n reset();\n input.click();\n };\n return {\n files: readonly(files),\n open,\n reset,\n onChange\n };\n}\n\nfunction useFileSystemAccess(options = {}) {\n const {\n window: _window = defaultWindow,\n dataType = \"Text\"\n } = options;\n const window = _window;\n const isSupported = useSupported(() => window && \"showSaveFilePicker\" in window && \"showOpenFilePicker\" in window);\n const fileHandle = ref();\n const data = ref();\n const file = ref();\n const fileName = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.name) != null ? _b : \"\";\n });\n const fileMIME = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.type) != null ? _b : \"\";\n });\n const fileSize = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.size) != null ? _b : 0;\n });\n const fileLastModified = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.lastModified) != null ? _b : 0;\n });\n async function open(_options = {}) {\n if (!isSupported.value)\n return;\n const [handle] = await window.showOpenFilePicker({ ...toValue(options), ..._options });\n fileHandle.value = handle;\n await updateData();\n }\n async function create(_options = {}) {\n if (!isSupported.value)\n return;\n fileHandle.value = await window.showSaveFilePicker({ ...options, ..._options });\n data.value = void 0;\n await updateData();\n }\n async function save(_options = {}) {\n if (!isSupported.value)\n return;\n if (!fileHandle.value)\n return saveAs(_options);\n if (data.value) {\n const writableStream = await fileHandle.value.createWritable();\n await writableStream.write(data.value);\n await writableStream.close();\n }\n await updateFile();\n }\n async function saveAs(_options = {}) {\n if (!isSupported.value)\n return;\n fileHandle.value = await window.showSaveFilePicker({ ...options, ..._options });\n if (data.value) {\n const writableStream = await fileHandle.value.createWritable();\n await writableStream.write(data.value);\n await writableStream.close();\n }\n await updateFile();\n }\n async function updateFile() {\n var _a;\n file.value = await ((_a = fileHandle.value) == null ? void 0 : _a.getFile());\n }\n async function updateData() {\n var _a, _b;\n await updateFile();\n const type = toValue(dataType);\n if (type === \"Text\")\n data.value = await ((_a = file.value) == null ? void 0 : _a.text());\n else if (type === \"ArrayBuffer\")\n data.value = await ((_b = file.value) == null ? void 0 : _b.arrayBuffer());\n else if (type === \"Blob\")\n data.value = file.value;\n }\n watch(() => toValue(dataType), updateData);\n return {\n isSupported,\n data,\n file,\n fileName,\n fileMIME,\n fileSize,\n fileLastModified,\n open,\n create,\n save,\n saveAs,\n updateData\n };\n}\n\nfunction useFocus(target, options = {}) {\n const { initialValue = false, focusVisible = false } = options;\n const innerFocused = ref(false);\n const targetElement = computed(() => unrefElement(target));\n useEventListener(targetElement, \"focus\", (event) => {\n var _a, _b;\n if (!focusVisible || ((_b = (_a = event.target).matches) == null ? void 0 : _b.call(_a, \":focus-visible\")))\n innerFocused.value = true;\n });\n useEventListener(targetElement, \"blur\", () => innerFocused.value = false);\n const focused = computed({\n get: () => innerFocused.value,\n set(value) {\n var _a, _b;\n if (!value && innerFocused.value)\n (_a = targetElement.value) == null ? void 0 : _a.blur();\n else if (value && !innerFocused.value)\n (_b = targetElement.value) == null ? void 0 : _b.focus();\n }\n });\n watch(\n targetElement,\n () => {\n focused.value = initialValue;\n },\n { immediate: true, flush: \"post\" }\n );\n return { focused };\n}\n\nfunction useFocusWithin(target, options = {}) {\n const activeElement = useActiveElement(options);\n const targetElement = computed(() => unrefElement(target));\n const focused = computed(() => targetElement.value && activeElement.value ? targetElement.value.contains(activeElement.value) : false);\n return { focused };\n}\n\nfunction useFps(options) {\n var _a;\n const fps = ref(0);\n if (typeof performance === \"undefined\")\n return fps;\n const every = (_a = options == null ? void 0 : options.every) != null ? _a : 10;\n let last = performance.now();\n let ticks = 0;\n useRafFn(() => {\n ticks += 1;\n if (ticks >= every) {\n const now = performance.now();\n const diff = now - last;\n fps.value = Math.round(1e3 / (diff / ticks));\n last = now;\n ticks = 0;\n }\n });\n return fps;\n}\n\nconst eventHandlers = [\n \"fullscreenchange\",\n \"webkitfullscreenchange\",\n \"webkitendfullscreen\",\n \"mozfullscreenchange\",\n \"MSFullscreenChange\"\n];\nfunction useFullscreen(target, options = {}) {\n const {\n document = defaultDocument,\n autoExit = false\n } = options;\n const targetRef = computed(() => {\n var _a;\n return (_a = unrefElement(target)) != null ? _a : document == null ? void 0 : document.querySelector(\"html\");\n });\n const isFullscreen = ref(false);\n const requestMethod = computed(() => {\n return [\n \"requestFullscreen\",\n \"webkitRequestFullscreen\",\n \"webkitEnterFullscreen\",\n \"webkitEnterFullScreen\",\n \"webkitRequestFullScreen\",\n \"mozRequestFullScreen\",\n \"msRequestFullscreen\"\n ].find((m) => document && m in document || targetRef.value && m in targetRef.value);\n });\n const exitMethod = computed(() => {\n return [\n \"exitFullscreen\",\n \"webkitExitFullscreen\",\n \"webkitExitFullScreen\",\n \"webkitCancelFullScreen\",\n \"mozCancelFullScreen\",\n \"msExitFullscreen\"\n ].find((m) => document && m in document || targetRef.value && m in targetRef.value);\n });\n const fullscreenEnabled = computed(() => {\n return [\n \"fullScreen\",\n \"webkitIsFullScreen\",\n \"webkitDisplayingFullscreen\",\n \"mozFullScreen\",\n \"msFullscreenElement\"\n ].find((m) => document && m in document || targetRef.value && m in targetRef.value);\n });\n const fullscreenElementMethod = [\n \"fullscreenElement\",\n \"webkitFullscreenElement\",\n \"mozFullScreenElement\",\n \"msFullscreenElement\"\n ].find((m) => document && m in document);\n const isSupported = useSupported(() => targetRef.value && document && requestMethod.value !== void 0 && exitMethod.value !== void 0 && fullscreenEnabled.value !== void 0);\n const isCurrentElementFullScreen = () => {\n if (fullscreenElementMethod)\n return (document == null ? void 0 : document[fullscreenElementMethod]) === targetRef.value;\n return false;\n };\n const isElementFullScreen = () => {\n if (fullscreenEnabled.value) {\n if (document && document[fullscreenEnabled.value] != null) {\n return document[fullscreenEnabled.value];\n } else {\n const target2 = targetRef.value;\n if ((target2 == null ? void 0 : target2[fullscreenEnabled.value]) != null) {\n return Boolean(target2[fullscreenEnabled.value]);\n }\n }\n }\n return false;\n };\n async function exit() {\n if (!isSupported.value || !isFullscreen.value)\n return;\n if (exitMethod.value) {\n if ((document == null ? void 0 : document[exitMethod.value]) != null) {\n await document[exitMethod.value]();\n } else {\n const target2 = targetRef.value;\n if ((target2 == null ? void 0 : target2[exitMethod.value]) != null)\n await target2[exitMethod.value]();\n }\n }\n isFullscreen.value = false;\n }\n async function enter() {\n if (!isSupported.value || isFullscreen.value)\n return;\n if (isElementFullScreen())\n await exit();\n const target2 = targetRef.value;\n if (requestMethod.value && (target2 == null ? void 0 : target2[requestMethod.value]) != null) {\n await target2[requestMethod.value]();\n isFullscreen.value = true;\n }\n }\n async function toggle() {\n await (isFullscreen.value ? exit() : enter());\n }\n const handlerCallback = () => {\n const isElementFullScreenValue = isElementFullScreen();\n if (!isElementFullScreenValue || isElementFullScreenValue && isCurrentElementFullScreen())\n isFullscreen.value = isElementFullScreenValue;\n };\n useEventListener(document, eventHandlers, handlerCallback, false);\n useEventListener(() => unrefElement(targetRef), eventHandlers, handlerCallback, false);\n if (autoExit)\n tryOnScopeDispose(exit);\n return {\n isSupported,\n isFullscreen,\n enter,\n exit,\n toggle\n };\n}\n\nfunction mapGamepadToXbox360Controller(gamepad) {\n return computed(() => {\n if (gamepad.value) {\n return {\n buttons: {\n a: gamepad.value.buttons[0],\n b: gamepad.value.buttons[1],\n x: gamepad.value.buttons[2],\n y: gamepad.value.buttons[3]\n },\n bumper: {\n left: gamepad.value.buttons[4],\n right: gamepad.value.buttons[5]\n },\n triggers: {\n left: gamepad.value.buttons[6],\n right: gamepad.value.buttons[7]\n },\n stick: {\n left: {\n horizontal: gamepad.value.axes[0],\n vertical: gamepad.value.axes[1],\n button: gamepad.value.buttons[10]\n },\n right: {\n horizontal: gamepad.value.axes[2],\n vertical: gamepad.value.axes[3],\n button: gamepad.value.buttons[11]\n }\n },\n dpad: {\n up: gamepad.value.buttons[12],\n down: gamepad.value.buttons[13],\n left: gamepad.value.buttons[14],\n right: gamepad.value.buttons[15]\n },\n back: gamepad.value.buttons[8],\n start: gamepad.value.buttons[9]\n };\n }\n return null;\n });\n}\nfunction useGamepad(options = {}) {\n const {\n navigator = defaultNavigator\n } = options;\n const isSupported = useSupported(() => navigator && \"getGamepads\" in navigator);\n const gamepads = ref([]);\n const onConnectedHook = createEventHook();\n const onDisconnectedHook = createEventHook();\n const stateFromGamepad = (gamepad) => {\n const hapticActuators = [];\n const vibrationActuator = \"vibrationActuator\" in gamepad ? gamepad.vibrationActuator : null;\n if (vibrationActuator)\n hapticActuators.push(vibrationActuator);\n if (gamepad.hapticActuators)\n hapticActuators.push(...gamepad.hapticActuators);\n return {\n ...gamepad,\n id: gamepad.id,\n hapticActuators,\n axes: gamepad.axes.map((axes) => axes),\n buttons: gamepad.buttons.map((button) => ({ pressed: button.pressed, touched: button.touched, value: button.value })),\n index: gamepad.index\n };\n };\n const updateGamepadState = () => {\n const _gamepads = (navigator == null ? void 0 : navigator.getGamepads()) || [];\n for (const gamepad of _gamepads) {\n if (gamepad && gamepads.value[gamepad.index])\n gamepads.value[gamepad.index] = stateFromGamepad(gamepad);\n }\n };\n const { isActive, pause, resume } = useRafFn(updateGamepadState);\n const onGamepadConnected = (gamepad) => {\n if (!gamepads.value.some(({ index }) => index === gamepad.index)) {\n gamepads.value.push(stateFromGamepad(gamepad));\n onConnectedHook.trigger(gamepad.index);\n }\n resume();\n };\n const onGamepadDisconnected = (gamepad) => {\n gamepads.value = gamepads.value.filter((x) => x.index !== gamepad.index);\n onDisconnectedHook.trigger(gamepad.index);\n };\n useEventListener(\"gamepadconnected\", (e) => onGamepadConnected(e.gamepad));\n useEventListener(\"gamepaddisconnected\", (e) => onGamepadDisconnected(e.gamepad));\n tryOnMounted(() => {\n const _gamepads = (navigator == null ? void 0 : navigator.getGamepads()) || [];\n for (const gamepad of _gamepads) {\n if (gamepad && gamepads.value[gamepad.index])\n onGamepadConnected(gamepad);\n }\n });\n pause();\n return {\n isSupported,\n onConnected: onConnectedHook.on,\n onDisconnected: onDisconnectedHook.on,\n gamepads,\n pause,\n resume,\n isActive\n };\n}\n\nfunction useGeolocation(options = {}) {\n const {\n enableHighAccuracy = true,\n maximumAge = 3e4,\n timeout = 27e3,\n navigator = defaultNavigator,\n immediate = true\n } = options;\n const isSupported = useSupported(() => navigator && \"geolocation\" in navigator);\n const locatedAt = ref(null);\n const error = shallowRef(null);\n const coords = ref({\n accuracy: 0,\n latitude: Number.POSITIVE_INFINITY,\n longitude: Number.POSITIVE_INFINITY,\n altitude: null,\n altitudeAccuracy: null,\n heading: null,\n speed: null\n });\n function updatePosition(position) {\n locatedAt.value = position.timestamp;\n coords.value = position.coords;\n error.value = null;\n }\n let watcher;\n function resume() {\n if (isSupported.value) {\n watcher = navigator.geolocation.watchPosition(\n updatePosition,\n (err) => error.value = err,\n {\n enableHighAccuracy,\n maximumAge,\n timeout\n }\n );\n }\n }\n if (immediate)\n resume();\n function pause() {\n if (watcher && navigator)\n navigator.geolocation.clearWatch(watcher);\n }\n tryOnScopeDispose(() => {\n pause();\n });\n return {\n isSupported,\n coords,\n locatedAt,\n error,\n resume,\n pause\n };\n}\n\nconst defaultEvents$1 = [\"mousemove\", \"mousedown\", \"resize\", \"keydown\", \"touchstart\", \"wheel\"];\nconst oneMinute = 6e4;\nfunction useIdle(timeout = oneMinute, options = {}) {\n const {\n initialState = false,\n listenForVisibilityChange = true,\n events = defaultEvents$1,\n window = defaultWindow,\n eventFilter = throttleFilter(50)\n } = options;\n const idle = ref(initialState);\n const lastActive = ref(timestamp());\n let timer;\n const reset = () => {\n idle.value = false;\n clearTimeout(timer);\n timer = setTimeout(() => idle.value = true, timeout);\n };\n const onEvent = createFilterWrapper(\n eventFilter,\n () => {\n lastActive.value = timestamp();\n reset();\n }\n );\n if (window) {\n const document = window.document;\n for (const event of events)\n useEventListener(window, event, onEvent, { passive: true });\n if (listenForVisibilityChange) {\n useEventListener(document, \"visibilitychange\", () => {\n if (!document.hidden)\n onEvent();\n });\n }\n reset();\n }\n return {\n idle,\n lastActive,\n reset\n };\n}\n\nasync function loadImage(options) {\n return new Promise((resolve, reject) => {\n const img = new Image();\n const { src, srcset, sizes, class: clazz, loading, crossorigin, referrerPolicy } = options;\n img.src = src;\n if (srcset)\n img.srcset = srcset;\n if (sizes)\n img.sizes = sizes;\n if (clazz)\n img.className = clazz;\n if (loading)\n img.loading = loading;\n if (crossorigin)\n img.crossOrigin = crossorigin;\n if (referrerPolicy)\n img.referrerPolicy = referrerPolicy;\n img.onload = () => resolve(img);\n img.onerror = reject;\n });\n}\nfunction useImage(options, asyncStateOptions = {}) {\n const state = useAsyncState(\n () => loadImage(toValue(options)),\n void 0,\n {\n resetOnExecute: true,\n ...asyncStateOptions\n }\n );\n watch(\n () => toValue(options),\n () => state.execute(asyncStateOptions.delay),\n { deep: true }\n );\n return state;\n}\n\nconst ARRIVED_STATE_THRESHOLD_PIXELS = 1;\nfunction useScroll(element, options = {}) {\n const {\n throttle = 0,\n idle = 200,\n onStop = noop,\n onScroll = noop,\n offset = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n },\n eventListenerOptions = {\n capture: false,\n passive: true\n },\n behavior = \"auto\",\n window = defaultWindow,\n onError = (e) => {\n console.error(e);\n }\n } = options;\n const internalX = ref(0);\n const internalY = ref(0);\n const x = computed({\n get() {\n return internalX.value;\n },\n set(x2) {\n scrollTo(x2, void 0);\n }\n });\n const y = computed({\n get() {\n return internalY.value;\n },\n set(y2) {\n scrollTo(void 0, y2);\n }\n });\n function scrollTo(_x, _y) {\n var _a, _b, _c;\n if (!window)\n return;\n const _element = toValue(element);\n if (!_element)\n return;\n (_c = _element instanceof Document ? window.document.body : _element) == null ? void 0 : _c.scrollTo({\n top: (_a = toValue(_y)) != null ? _a : y.value,\n left: (_b = toValue(_x)) != null ? _b : x.value,\n behavior: toValue(behavior)\n });\n }\n const isScrolling = ref(false);\n const arrivedState = reactive({\n left: true,\n right: false,\n top: true,\n bottom: false\n });\n const directions = reactive({\n left: false,\n right: false,\n top: false,\n bottom: false\n });\n const onScrollEnd = (e) => {\n if (!isScrolling.value)\n return;\n isScrolling.value = false;\n directions.left = false;\n directions.right = false;\n directions.top = false;\n directions.bottom = false;\n onStop(e);\n };\n const onScrollEndDebounced = useDebounceFn(onScrollEnd, throttle + idle);\n const setArrivedState = (target) => {\n var _a;\n if (!window)\n return;\n const el = ((_a = target == null ? void 0 : target.document) == null ? void 0 : _a.documentElement) || (target == null ? void 0 : target.documentElement) || unrefElement(target);\n const { display, flexDirection } = getComputedStyle(el);\n const scrollLeft = el.scrollLeft;\n directions.left = scrollLeft < internalX.value;\n directions.right = scrollLeft > internalX.value;\n const left = Math.abs(scrollLeft) <= (offset.left || 0);\n const right = Math.abs(scrollLeft) + el.clientWidth >= el.scrollWidth - (offset.right || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n if (display === \"flex\" && flexDirection === \"row-reverse\") {\n arrivedState.left = right;\n arrivedState.right = left;\n } else {\n arrivedState.left = left;\n arrivedState.right = right;\n }\n internalX.value = scrollLeft;\n let scrollTop = el.scrollTop;\n if (target === window.document && !scrollTop)\n scrollTop = window.document.body.scrollTop;\n directions.top = scrollTop < internalY.value;\n directions.bottom = scrollTop > internalY.value;\n const top = Math.abs(scrollTop) <= (offset.top || 0);\n const bottom = Math.abs(scrollTop) + el.clientHeight >= el.scrollHeight - (offset.bottom || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n if (display === \"flex\" && flexDirection === \"column-reverse\") {\n arrivedState.top = bottom;\n arrivedState.bottom = top;\n } else {\n arrivedState.top = top;\n arrivedState.bottom = bottom;\n }\n internalY.value = scrollTop;\n };\n const onScrollHandler = (e) => {\n var _a;\n if (!window)\n return;\n const eventTarget = (_a = e.target.documentElement) != null ? _a : e.target;\n setArrivedState(eventTarget);\n isScrolling.value = true;\n onScrollEndDebounced(e);\n onScroll(e);\n };\n useEventListener(\n element,\n \"scroll\",\n throttle ? useThrottleFn(onScrollHandler, throttle, true, false) : onScrollHandler,\n eventListenerOptions\n );\n tryOnMounted(() => {\n try {\n const _element = toValue(element);\n if (!_element)\n return;\n setArrivedState(_element);\n } catch (e) {\n onError(e);\n }\n });\n useEventListener(\n element,\n \"scrollend\",\n onScrollEnd,\n eventListenerOptions\n );\n return {\n x,\n y,\n isScrolling,\n arrivedState,\n directions,\n measure() {\n const _element = toValue(element);\n if (window && _element)\n setArrivedState(_element);\n }\n };\n}\n\nfunction resolveElement(el) {\n if (typeof Window !== \"undefined\" && el instanceof Window)\n return el.document.documentElement;\n if (typeof Document !== \"undefined\" && el instanceof Document)\n return el.documentElement;\n return el;\n}\n\nfunction useInfiniteScroll(element, onLoadMore, options = {}) {\n var _a;\n const {\n direction = \"bottom\",\n interval = 100,\n canLoadMore = () => true\n } = options;\n const state = reactive(useScroll(\n element,\n {\n ...options,\n offset: {\n [direction]: (_a = options.distance) != null ? _a : 0,\n ...options.offset\n }\n }\n ));\n const promise = ref();\n const isLoading = computed(() => !!promise.value);\n const observedElement = computed(() => {\n return resolveElement(toValue(element));\n });\n const isElementVisible = useElementVisibility(observedElement);\n function checkAndLoad() {\n state.measure();\n if (!observedElement.value || !isElementVisible.value || !canLoadMore(observedElement.value))\n return;\n const { scrollHeight, clientHeight, scrollWidth, clientWidth } = observedElement.value;\n const isNarrower = direction === \"bottom\" || direction === \"top\" ? scrollHeight <= clientHeight : scrollWidth <= clientWidth;\n if (state.arrivedState[direction] || isNarrower) {\n if (!promise.value) {\n promise.value = Promise.all([\n onLoadMore(state),\n new Promise((resolve) => setTimeout(resolve, interval))\n ]).finally(() => {\n promise.value = null;\n nextTick(() => checkAndLoad());\n });\n }\n }\n }\n watch(\n () => [state.arrivedState[direction], isElementVisible.value],\n checkAndLoad,\n { immediate: true }\n );\n return {\n isLoading\n };\n}\n\nconst defaultEvents = [\"mousedown\", \"mouseup\", \"keydown\", \"keyup\"];\nfunction useKeyModifier(modifier, options = {}) {\n const {\n events = defaultEvents,\n document = defaultDocument,\n initial = null\n } = options;\n const state = ref(initial);\n if (document) {\n events.forEach((listenerEvent) => {\n useEventListener(document, listenerEvent, (evt) => {\n if (typeof evt.getModifierState === \"function\")\n state.value = evt.getModifierState(modifier);\n });\n });\n }\n return state;\n}\n\nfunction useLocalStorage(key, initialValue, options = {}) {\n const { window = defaultWindow } = options;\n return useStorage(key, initialValue, window == null ? void 0 : window.localStorage, options);\n}\n\nconst DefaultMagicKeysAliasMap = {\n ctrl: \"control\",\n command: \"meta\",\n cmd: \"meta\",\n option: \"alt\",\n up: \"arrowup\",\n down: \"arrowdown\",\n left: \"arrowleft\",\n right: \"arrowright\"\n};\n\nfunction useMagicKeys(options = {}) {\n const {\n reactive: useReactive = false,\n target = defaultWindow,\n aliasMap = DefaultMagicKeysAliasMap,\n passive = true,\n onEventFired = noop\n } = options;\n const current = reactive(/* @__PURE__ */ new Set());\n const obj = {\n toJSON() {\n return {};\n },\n current\n };\n const refs = useReactive ? reactive(obj) : obj;\n const metaDeps = /* @__PURE__ */ new Set();\n const usedKeys = /* @__PURE__ */ new Set();\n function setRefs(key, value) {\n if (key in refs) {\n if (useReactive)\n refs[key] = value;\n else\n refs[key].value = value;\n }\n }\n function reset() {\n current.clear();\n for (const key of usedKeys)\n setRefs(key, false);\n }\n function updateRefs(e, value) {\n var _a, _b;\n const key = (_a = e.key) == null ? void 0 : _a.toLowerCase();\n const code = (_b = e.code) == null ? void 0 : _b.toLowerCase();\n const values = [code, key].filter(Boolean);\n if (key) {\n if (value)\n current.add(key);\n else\n current.delete(key);\n }\n for (const key2 of values) {\n usedKeys.add(key2);\n setRefs(key2, value);\n }\n if (key === \"meta\" && !value) {\n metaDeps.forEach((key2) => {\n current.delete(key2);\n setRefs(key2, false);\n });\n metaDeps.clear();\n } else if (typeof e.getModifierState === \"function\" && e.getModifierState(\"Meta\") && value) {\n [...current, ...values].forEach((key2) => metaDeps.add(key2));\n }\n }\n useEventListener(target, \"keydown\", (e) => {\n updateRefs(e, true);\n return onEventFired(e);\n }, { passive });\n useEventListener(target, \"keyup\", (e) => {\n updateRefs(e, false);\n return onEventFired(e);\n }, { passive });\n useEventListener(\"blur\", reset, { passive: true });\n useEventListener(\"focus\", reset, { passive: true });\n const proxy = new Proxy(\n refs,\n {\n get(target2, prop, rec) {\n if (typeof prop !== \"string\")\n return Reflect.get(target2, prop, rec);\n prop = prop.toLowerCase();\n if (prop in aliasMap)\n prop = aliasMap[prop];\n if (!(prop in refs)) {\n if (/[+_-]/.test(prop)) {\n const keys = prop.split(/[+_-]/g).map((i) => i.trim());\n refs[prop] = computed(() => keys.every((key) => toValue(proxy[key])));\n } else {\n refs[prop] = ref(false);\n }\n }\n const r = Reflect.get(target2, prop, rec);\n return useReactive ? toValue(r) : r;\n }\n }\n );\n return proxy;\n}\n\nfunction usingElRef(source, cb) {\n if (toValue(source))\n cb(toValue(source));\n}\nfunction timeRangeToArray(timeRanges) {\n let ranges = [];\n for (let i = 0; i < timeRanges.length; ++i)\n ranges = [...ranges, [timeRanges.start(i), timeRanges.end(i)]];\n return ranges;\n}\nfunction tracksToArray(tracks) {\n return Array.from(tracks).map(({ label, kind, language, mode, activeCues, cues, inBandMetadataTrackDispatchType }, id) => ({ id, label, kind, language, mode, activeCues, cues, inBandMetadataTrackDispatchType }));\n}\nconst defaultOptions = {\n src: \"\",\n tracks: []\n};\nfunction useMediaControls(target, options = {}) {\n options = {\n ...defaultOptions,\n ...options\n };\n const {\n document = defaultDocument\n } = options;\n const currentTime = ref(0);\n const duration = ref(0);\n const seeking = ref(false);\n const volume = ref(1);\n const waiting = ref(false);\n const ended = ref(false);\n const playing = ref(false);\n const rate = ref(1);\n const stalled = ref(false);\n const buffered = ref([]);\n const tracks = ref([]);\n const selectedTrack = ref(-1);\n const isPictureInPicture = ref(false);\n const muted = ref(false);\n const supportsPictureInPicture = document && \"pictureInPictureEnabled\" in document;\n const sourceErrorEvent = createEventHook();\n const disableTrack = (track) => {\n usingElRef(target, (el) => {\n if (track) {\n const id = typeof track === \"number\" ? track : track.id;\n el.textTracks[id].mode = \"disabled\";\n } else {\n for (let i = 0; i < el.textTracks.length; ++i)\n el.textTracks[i].mode = \"disabled\";\n }\n selectedTrack.value = -1;\n });\n };\n const enableTrack = (track, disableTracks = true) => {\n usingElRef(target, (el) => {\n const id = typeof track === \"number\" ? track : track.id;\n if (disableTracks)\n disableTrack();\n el.textTracks[id].mode = \"showing\";\n selectedTrack.value = id;\n });\n };\n const togglePictureInPicture = () => {\n return new Promise((resolve, reject) => {\n usingElRef(target, async (el) => {\n if (supportsPictureInPicture) {\n if (!isPictureInPicture.value) {\n el.requestPictureInPicture().then(resolve).catch(reject);\n } else {\n document.exitPictureInPicture().then(resolve).catch(reject);\n }\n }\n });\n });\n };\n watchEffect(() => {\n if (!document)\n return;\n const el = toValue(target);\n if (!el)\n return;\n const src = toValue(options.src);\n let sources = [];\n if (!src)\n return;\n if (typeof src === \"string\")\n sources = [{ src }];\n else if (Array.isArray(src))\n sources = src;\n else if (isObject(src))\n sources = [src];\n el.querySelectorAll(\"source\").forEach((e) => {\n e.removeEventListener(\"error\", sourceErrorEvent.trigger);\n e.remove();\n });\n sources.forEach(({ src: src2, type }) => {\n const source = document.createElement(\"source\");\n source.setAttribute(\"src\", src2);\n source.setAttribute(\"type\", type || \"\");\n source.addEventListener(\"error\", sourceErrorEvent.trigger);\n el.appendChild(source);\n });\n el.load();\n });\n tryOnScopeDispose(() => {\n const el = toValue(target);\n if (!el)\n return;\n el.querySelectorAll(\"source\").forEach((e) => e.removeEventListener(\"error\", sourceErrorEvent.trigger));\n });\n watch([target, volume], () => {\n const el = toValue(target);\n if (!el)\n return;\n el.volume = volume.value;\n });\n watch([target, muted], () => {\n const el = toValue(target);\n if (!el)\n return;\n el.muted = muted.value;\n });\n watch([target, rate], () => {\n const el = toValue(target);\n if (!el)\n return;\n el.playbackRate = rate.value;\n });\n watchEffect(() => {\n if (!document)\n return;\n const textTracks = toValue(options.tracks);\n const el = toValue(target);\n if (!textTracks || !textTracks.length || !el)\n return;\n el.querySelectorAll(\"track\").forEach((e) => e.remove());\n textTracks.forEach(({ default: isDefault, kind, label, src, srcLang }, i) => {\n const track = document.createElement(\"track\");\n track.default = isDefault || false;\n track.kind = kind;\n track.label = label;\n track.src = src;\n track.srclang = srcLang;\n if (track.default)\n selectedTrack.value = i;\n el.appendChild(track);\n });\n });\n const { ignoreUpdates: ignoreCurrentTimeUpdates } = watchIgnorable(currentTime, (time) => {\n const el = toValue(target);\n if (!el)\n return;\n el.currentTime = time;\n });\n const { ignoreUpdates: ignorePlayingUpdates } = watchIgnorable(playing, (isPlaying) => {\n const el = toValue(target);\n if (!el)\n return;\n isPlaying ? el.play() : el.pause();\n });\n useEventListener(target, \"timeupdate\", () => ignoreCurrentTimeUpdates(() => currentTime.value = toValue(target).currentTime));\n useEventListener(target, \"durationchange\", () => duration.value = toValue(target).duration);\n useEventListener(target, \"progress\", () => buffered.value = timeRangeToArray(toValue(target).buffered));\n useEventListener(target, \"seeking\", () => seeking.value = true);\n useEventListener(target, \"seeked\", () => seeking.value = false);\n useEventListener(target, [\"waiting\", \"loadstart\"], () => {\n waiting.value = true;\n ignorePlayingUpdates(() => playing.value = false);\n });\n useEventListener(target, \"loadeddata\", () => waiting.value = false);\n useEventListener(target, \"playing\", () => {\n waiting.value = false;\n ended.value = false;\n ignorePlayingUpdates(() => playing.value = true);\n });\n useEventListener(target, \"ratechange\", () => rate.value = toValue(target).playbackRate);\n useEventListener(target, \"stalled\", () => stalled.value = true);\n useEventListener(target, \"ended\", () => ended.value = true);\n useEventListener(target, \"pause\", () => ignorePlayingUpdates(() => playing.value = false));\n useEventListener(target, \"play\", () => ignorePlayingUpdates(() => playing.value = true));\n useEventListener(target, \"enterpictureinpicture\", () => isPictureInPicture.value = true);\n useEventListener(target, \"leavepictureinpicture\", () => isPictureInPicture.value = false);\n useEventListener(target, \"volumechange\", () => {\n const el = toValue(target);\n if (!el)\n return;\n volume.value = el.volume;\n muted.value = el.muted;\n });\n const listeners = [];\n const stop = watch([target], () => {\n const el = toValue(target);\n if (!el)\n return;\n stop();\n listeners[0] = useEventListener(el.textTracks, \"addtrack\", () => tracks.value = tracksToArray(el.textTracks));\n listeners[1] = useEventListener(el.textTracks, \"removetrack\", () => tracks.value = tracksToArray(el.textTracks));\n listeners[2] = useEventListener(el.textTracks, \"change\", () => tracks.value = tracksToArray(el.textTracks));\n });\n tryOnScopeDispose(() => listeners.forEach((listener) => listener()));\n return {\n currentTime,\n duration,\n waiting,\n seeking,\n ended,\n stalled,\n buffered,\n playing,\n rate,\n // Volume\n volume,\n muted,\n // Tracks\n tracks,\n selectedTrack,\n enableTrack,\n disableTrack,\n // Picture in Picture\n supportsPictureInPicture,\n togglePictureInPicture,\n isPictureInPicture,\n // Events\n onSourceError: sourceErrorEvent.on\n };\n}\n\nfunction getMapVue2Compat() {\n const data = shallowReactive({});\n return {\n get: (key) => data[key],\n set: (key, value) => set(data, key, value),\n has: (key) => hasOwn(data, key),\n delete: (key) => del(data, key),\n clear: () => {\n Object.keys(data).forEach((key) => {\n del(data, key);\n });\n }\n };\n}\nfunction useMemoize(resolver, options) {\n const initCache = () => {\n if (options == null ? void 0 : options.cache)\n return shallowReactive(options.cache);\n if (isVue2)\n return getMapVue2Compat();\n return shallowReactive(/* @__PURE__ */ new Map());\n };\n const cache = initCache();\n const generateKey = (...args) => (options == null ? void 0 : options.getKey) ? options.getKey(...args) : JSON.stringify(args);\n const _loadData = (key, ...args) => {\n cache.set(key, resolver(...args));\n return cache.get(key);\n };\n const loadData = (...args) => _loadData(generateKey(...args), ...args);\n const deleteData = (...args) => {\n cache.delete(generateKey(...args));\n };\n const clearData = () => {\n cache.clear();\n };\n const memoized = (...args) => {\n const key = generateKey(...args);\n if (cache.has(key))\n return cache.get(key);\n return _loadData(key, ...args);\n };\n memoized.load = loadData;\n memoized.delete = deleteData;\n memoized.clear = clearData;\n memoized.generateKey = generateKey;\n memoized.cache = cache;\n return memoized;\n}\n\nfunction useMemory(options = {}) {\n const memory = ref();\n const isSupported = useSupported(() => typeof performance !== \"undefined\" && \"memory\" in performance);\n if (isSupported.value) {\n const { interval = 1e3 } = options;\n useIntervalFn(() => {\n memory.value = performance.memory;\n }, interval, { immediate: options.immediate, immediateCallback: options.immediateCallback });\n }\n return { isSupported, memory };\n}\n\nconst UseMouseBuiltinExtractors = {\n page: (event) => [event.pageX, event.pageY],\n client: (event) => [event.clientX, event.clientY],\n screen: (event) => [event.screenX, event.screenY],\n movement: (event) => event instanceof Touch ? null : [event.movementX, event.movementY]\n};\nfunction useMouse(options = {}) {\n const {\n type = \"page\",\n touch = true,\n resetOnTouchEnds = false,\n initialValue = { x: 0, y: 0 },\n window = defaultWindow,\n target = window,\n scroll = true,\n eventFilter\n } = options;\n let _prevMouseEvent = null;\n const x = ref(initialValue.x);\n const y = ref(initialValue.y);\n const sourceType = ref(null);\n const extractor = typeof type === \"function\" ? type : UseMouseBuiltinExtractors[type];\n const mouseHandler = (event) => {\n const result = extractor(event);\n _prevMouseEvent = event;\n if (result) {\n [x.value, y.value] = result;\n sourceType.value = \"mouse\";\n }\n };\n const touchHandler = (event) => {\n if (event.touches.length > 0) {\n const result = extractor(event.touches[0]);\n if (result) {\n [x.value, y.value] = result;\n sourceType.value = \"touch\";\n }\n }\n };\n const scrollHandler = () => {\n if (!_prevMouseEvent || !window)\n return;\n const pos = extractor(_prevMouseEvent);\n if (_prevMouseEvent instanceof MouseEvent && pos) {\n x.value = pos[0] + window.scrollX;\n y.value = pos[1] + window.scrollY;\n }\n };\n const reset = () => {\n x.value = initialValue.x;\n y.value = initialValue.y;\n };\n const mouseHandlerWrapper = eventFilter ? (event) => eventFilter(() => mouseHandler(event), {}) : (event) => mouseHandler(event);\n const touchHandlerWrapper = eventFilter ? (event) => eventFilter(() => touchHandler(event), {}) : (event) => touchHandler(event);\n const scrollHandlerWrapper = eventFilter ? () => eventFilter(() => scrollHandler(), {}) : () => scrollHandler();\n if (target) {\n const listenerOptions = { passive: true };\n useEventListener(target, [\"mousemove\", \"dragover\"], mouseHandlerWrapper, listenerOptions);\n if (touch && type !== \"movement\") {\n useEventListener(target, [\"touchstart\", \"touchmove\"], touchHandlerWrapper, listenerOptions);\n if (resetOnTouchEnds)\n useEventListener(target, \"touchend\", reset, listenerOptions);\n }\n if (scroll && type === \"page\")\n useEventListener(window, \"scroll\", scrollHandlerWrapper, { passive: true });\n }\n return {\n x,\n y,\n sourceType\n };\n}\n\nfunction useMouseInElement(target, options = {}) {\n const {\n handleOutside = true,\n window = defaultWindow\n } = options;\n const type = options.type || \"page\";\n const { x, y, sourceType } = useMouse(options);\n const targetRef = ref(target != null ? target : window == null ? void 0 : window.document.body);\n const elementX = ref(0);\n const elementY = ref(0);\n const elementPositionX = ref(0);\n const elementPositionY = ref(0);\n const elementHeight = ref(0);\n const elementWidth = ref(0);\n const isOutside = ref(true);\n let stop = () => {\n };\n if (window) {\n stop = watch(\n [targetRef, x, y],\n () => {\n const el = unrefElement(targetRef);\n if (!el)\n return;\n const {\n left,\n top,\n width,\n height\n } = el.getBoundingClientRect();\n elementPositionX.value = left + (type === \"page\" ? window.pageXOffset : 0);\n elementPositionY.value = top + (type === \"page\" ? window.pageYOffset : 0);\n elementHeight.value = height;\n elementWidth.value = width;\n const elX = x.value - elementPositionX.value;\n const elY = y.value - elementPositionY.value;\n isOutside.value = width === 0 || height === 0 || elX < 0 || elY < 0 || elX > width || elY > height;\n if (handleOutside || !isOutside.value) {\n elementX.value = elX;\n elementY.value = elY;\n }\n },\n { immediate: true }\n );\n useEventListener(document, \"mouseleave\", () => {\n isOutside.value = true;\n });\n }\n return {\n x,\n y,\n sourceType,\n elementX,\n elementY,\n elementPositionX,\n elementPositionY,\n elementHeight,\n elementWidth,\n isOutside,\n stop\n };\n}\n\nfunction useMousePressed(options = {}) {\n const {\n touch = true,\n drag = true,\n capture = false,\n initialValue = false,\n window = defaultWindow\n } = options;\n const pressed = ref(initialValue);\n const sourceType = ref(null);\n if (!window) {\n return {\n pressed,\n sourceType\n };\n }\n const onPressed = (srcType) => () => {\n pressed.value = true;\n sourceType.value = srcType;\n };\n const onReleased = () => {\n pressed.value = false;\n sourceType.value = null;\n };\n const target = computed(() => unrefElement(options.target) || window);\n useEventListener(target, \"mousedown\", onPressed(\"mouse\"), { passive: true, capture });\n useEventListener(window, \"mouseleave\", onReleased, { passive: true, capture });\n useEventListener(window, \"mouseup\", onReleased, { passive: true, capture });\n if (drag) {\n useEventListener(target, \"dragstart\", onPressed(\"mouse\"), { passive: true, capture });\n useEventListener(window, \"drop\", onReleased, { passive: true, capture });\n useEventListener(window, \"dragend\", onReleased, { passive: true, capture });\n }\n if (touch) {\n useEventListener(target, \"touchstart\", onPressed(\"touch\"), { passive: true, capture });\n useEventListener(window, \"touchend\", onReleased, { passive: true, capture });\n useEventListener(window, \"touchcancel\", onReleased, { passive: true, capture });\n }\n return {\n pressed,\n sourceType\n };\n}\n\nfunction useNavigatorLanguage(options = {}) {\n const { window = defaultWindow } = options;\n const navigator = window == null ? void 0 : window.navigator;\n const isSupported = useSupported(() => navigator && \"language\" in navigator);\n const language = ref(navigator == null ? void 0 : navigator.language);\n useEventListener(window, \"languagechange\", () => {\n if (navigator)\n language.value = navigator.language;\n });\n return {\n isSupported,\n language\n };\n}\n\nfunction useNetwork(options = {}) {\n const { window = defaultWindow } = options;\n const navigator = window == null ? void 0 : window.navigator;\n const isSupported = useSupported(() => navigator && \"connection\" in navigator);\n const isOnline = ref(true);\n const saveData = ref(false);\n const offlineAt = ref(void 0);\n const onlineAt = ref(void 0);\n const downlink = ref(void 0);\n const downlinkMax = ref(void 0);\n const rtt = ref(void 0);\n const effectiveType = ref(void 0);\n const type = ref(\"unknown\");\n const connection = isSupported.value && navigator.connection;\n function updateNetworkInformation() {\n if (!navigator)\n return;\n isOnline.value = navigator.onLine;\n offlineAt.value = isOnline.value ? void 0 : Date.now();\n onlineAt.value = isOnline.value ? Date.now() : void 0;\n if (connection) {\n downlink.value = connection.downlink;\n downlinkMax.value = connection.downlinkMax;\n effectiveType.value = connection.effectiveType;\n rtt.value = connection.rtt;\n saveData.value = connection.saveData;\n type.value = connection.type;\n }\n }\n if (window) {\n useEventListener(window, \"offline\", () => {\n isOnline.value = false;\n offlineAt.value = Date.now();\n });\n useEventListener(window, \"online\", () => {\n isOnline.value = true;\n onlineAt.value = Date.now();\n });\n }\n if (connection)\n useEventListener(connection, \"change\", updateNetworkInformation, false);\n updateNetworkInformation();\n return {\n isSupported,\n isOnline,\n saveData,\n offlineAt,\n onlineAt,\n downlink,\n downlinkMax,\n effectiveType,\n rtt,\n type\n };\n}\n\nfunction useNow(options = {}) {\n const {\n controls: exposeControls = false,\n interval = \"requestAnimationFrame\"\n } = options;\n const now = ref(/* @__PURE__ */ new Date());\n const update = () => now.value = /* @__PURE__ */ new Date();\n const controls = interval === \"requestAnimationFrame\" ? useRafFn(update, { immediate: true }) : useIntervalFn(update, interval, { immediate: true });\n if (exposeControls) {\n return {\n now,\n ...controls\n };\n } else {\n return now;\n }\n}\n\nfunction useObjectUrl(object) {\n const url = ref();\n const release = () => {\n if (url.value)\n URL.revokeObjectURL(url.value);\n url.value = void 0;\n };\n watch(\n () => toValue(object),\n (newObject) => {\n release();\n if (newObject)\n url.value = URL.createObjectURL(newObject);\n },\n { immediate: true }\n );\n tryOnScopeDispose(release);\n return readonly(url);\n}\n\nfunction useClamp(value, min, max) {\n if (typeof value === \"function\" || isReadonly(value))\n return computed(() => clamp(toValue(value), toValue(min), toValue(max)));\n const _value = ref(value);\n return computed({\n get() {\n return _value.value = clamp(_value.value, toValue(min), toValue(max));\n },\n set(value2) {\n _value.value = clamp(value2, toValue(min), toValue(max));\n }\n });\n}\n\nfunction useOffsetPagination(options) {\n const {\n total = Number.POSITIVE_INFINITY,\n pageSize = 10,\n page = 1,\n onPageChange = noop,\n onPageSizeChange = noop,\n onPageCountChange = noop\n } = options;\n const currentPageSize = useClamp(pageSize, 1, Number.POSITIVE_INFINITY);\n const pageCount = computed(() => Math.max(\n 1,\n Math.ceil(toValue(total) / toValue(currentPageSize))\n ));\n const currentPage = useClamp(page, 1, pageCount);\n const isFirstPage = computed(() => currentPage.value === 1);\n const isLastPage = computed(() => currentPage.value === pageCount.value);\n if (isRef(page)) {\n syncRef(page, currentPage, {\n direction: isReadonly(page) ? \"ltr\" : \"both\"\n });\n }\n if (isRef(pageSize)) {\n syncRef(pageSize, currentPageSize, {\n direction: isReadonly(pageSize) ? \"ltr\" : \"both\"\n });\n }\n function prev() {\n currentPage.value--;\n }\n function next() {\n currentPage.value++;\n }\n const returnValue = {\n currentPage,\n currentPageSize,\n pageCount,\n isFirstPage,\n isLastPage,\n prev,\n next\n };\n watch(currentPage, () => {\n onPageChange(reactive(returnValue));\n });\n watch(currentPageSize, () => {\n onPageSizeChange(reactive(returnValue));\n });\n watch(pageCount, () => {\n onPageCountChange(reactive(returnValue));\n });\n return returnValue;\n}\n\nfunction useOnline(options = {}) {\n const { isOnline } = useNetwork(options);\n return isOnline;\n}\n\nfunction usePageLeave(options = {}) {\n const { window = defaultWindow } = options;\n const isLeft = ref(false);\n const handler = (event) => {\n if (!window)\n return;\n event = event || window.event;\n const from = event.relatedTarget || event.toElement;\n isLeft.value = !from;\n };\n if (window) {\n useEventListener(window, \"mouseout\", handler, { passive: true });\n useEventListener(window.document, \"mouseleave\", handler, { passive: true });\n useEventListener(window.document, \"mouseenter\", handler, { passive: true });\n }\n return isLeft;\n}\n\nfunction useScreenOrientation(options = {}) {\n const {\n window = defaultWindow\n } = options;\n const isSupported = useSupported(() => window && \"screen\" in window && \"orientation\" in window.screen);\n const screenOrientation = isSupported.value ? window.screen.orientation : {};\n const orientation = ref(screenOrientation.type);\n const angle = ref(screenOrientation.angle || 0);\n if (isSupported.value) {\n useEventListener(window, \"orientationchange\", () => {\n orientation.value = screenOrientation.type;\n angle.value = screenOrientation.angle;\n });\n }\n const lockOrientation = (type) => {\n if (isSupported.value && typeof screenOrientation.lock === \"function\")\n return screenOrientation.lock(type);\n return Promise.reject(new Error(\"Not supported\"));\n };\n const unlockOrientation = () => {\n if (isSupported.value && typeof screenOrientation.unlock === \"function\")\n screenOrientation.unlock();\n };\n return {\n isSupported,\n orientation,\n angle,\n lockOrientation,\n unlockOrientation\n };\n}\n\nfunction useParallax(target, options = {}) {\n const {\n deviceOrientationTiltAdjust = (i) => i,\n deviceOrientationRollAdjust = (i) => i,\n mouseTiltAdjust = (i) => i,\n mouseRollAdjust = (i) => i,\n window = defaultWindow\n } = options;\n const orientation = reactive(useDeviceOrientation({ window }));\n const screenOrientation = reactive(useScreenOrientation({ window }));\n const {\n elementX: x,\n elementY: y,\n elementWidth: width,\n elementHeight: height\n } = useMouseInElement(target, { handleOutside: false, window });\n const source = computed(() => {\n if (orientation.isSupported && (orientation.alpha != null && orientation.alpha !== 0 || orientation.gamma != null && orientation.gamma !== 0))\n return \"deviceOrientation\";\n return \"mouse\";\n });\n const roll = computed(() => {\n if (source.value === \"deviceOrientation\") {\n let value;\n switch (screenOrientation.orientation) {\n case \"landscape-primary\":\n value = orientation.gamma / 90;\n break;\n case \"landscape-secondary\":\n value = -orientation.gamma / 90;\n break;\n case \"portrait-primary\":\n value = -orientation.beta / 90;\n break;\n case \"portrait-secondary\":\n value = orientation.beta / 90;\n break;\n default:\n value = -orientation.beta / 90;\n }\n return deviceOrientationRollAdjust(value);\n } else {\n const value = -(y.value - height.value / 2) / height.value;\n return mouseRollAdjust(value);\n }\n });\n const tilt = computed(() => {\n if (source.value === \"deviceOrientation\") {\n let value;\n switch (screenOrientation.orientation) {\n case \"landscape-primary\":\n value = orientation.beta / 90;\n break;\n case \"landscape-secondary\":\n value = -orientation.beta / 90;\n break;\n case \"portrait-primary\":\n value = orientation.gamma / 90;\n break;\n case \"portrait-secondary\":\n value = -orientation.gamma / 90;\n break;\n default:\n value = orientation.gamma / 90;\n }\n return deviceOrientationTiltAdjust(value);\n } else {\n const value = (x.value - width.value / 2) / width.value;\n return mouseTiltAdjust(value);\n }\n });\n return { roll, tilt, source };\n}\n\nfunction useParentElement(element = useCurrentElement()) {\n const parentElement = shallowRef();\n const update = () => {\n const el = unrefElement(element);\n if (el)\n parentElement.value = el.parentElement;\n };\n tryOnMounted(update);\n watch(() => toValue(element), update);\n return parentElement;\n}\n\nfunction usePerformanceObserver(options, callback) {\n const {\n window = defaultWindow,\n immediate = true,\n ...performanceOptions\n } = options;\n const isSupported = useSupported(() => window && \"PerformanceObserver\" in window);\n let observer;\n const stop = () => {\n observer == null ? void 0 : observer.disconnect();\n };\n const start = () => {\n if (isSupported.value) {\n stop();\n observer = new PerformanceObserver(callback);\n observer.observe(performanceOptions);\n }\n };\n tryOnScopeDispose(stop);\n if (immediate)\n start();\n return {\n isSupported,\n start,\n stop\n };\n}\n\nconst defaultState = {\n x: 0,\n y: 0,\n pointerId: 0,\n pressure: 0,\n tiltX: 0,\n tiltY: 0,\n width: 0,\n height: 0,\n twist: 0,\n pointerType: null\n};\nconst keys = /* @__PURE__ */ Object.keys(defaultState);\nfunction usePointer(options = {}) {\n const {\n target = defaultWindow\n } = options;\n const isInside = ref(false);\n const state = ref(options.initialValue || {});\n Object.assign(state.value, defaultState, state.value);\n const handler = (event) => {\n isInside.value = true;\n if (options.pointerTypes && !options.pointerTypes.includes(event.pointerType))\n return;\n state.value = objectPick(event, keys, false);\n };\n if (target) {\n const listenerOptions = { passive: true };\n useEventListener(target, [\"pointerdown\", \"pointermove\", \"pointerup\"], handler, listenerOptions);\n useEventListener(target, \"pointerleave\", () => isInside.value = false, listenerOptions);\n }\n return {\n ...toRefs(state),\n isInside\n };\n}\n\nfunction usePointerLock(target, options = {}) {\n const { document = defaultDocument } = options;\n const isSupported = useSupported(() => document && \"pointerLockElement\" in document);\n const element = ref();\n const triggerElement = ref();\n let targetElement;\n if (isSupported.value) {\n useEventListener(document, \"pointerlockchange\", () => {\n var _a;\n const currentElement = (_a = document.pointerLockElement) != null ? _a : element.value;\n if (targetElement && currentElement === targetElement) {\n element.value = document.pointerLockElement;\n if (!element.value)\n targetElement = triggerElement.value = null;\n }\n });\n useEventListener(document, \"pointerlockerror\", () => {\n var _a;\n const currentElement = (_a = document.pointerLockElement) != null ? _a : element.value;\n if (targetElement && currentElement === targetElement) {\n const action = document.pointerLockElement ? \"release\" : \"acquire\";\n throw new Error(`Failed to ${action} pointer lock.`);\n }\n });\n }\n async function lock(e) {\n var _a;\n if (!isSupported.value)\n throw new Error(\"Pointer Lock API is not supported by your browser.\");\n triggerElement.value = e instanceof Event ? e.currentTarget : null;\n targetElement = e instanceof Event ? (_a = unrefElement(target)) != null ? _a : triggerElement.value : unrefElement(e);\n if (!targetElement)\n throw new Error(\"Target element undefined.\");\n targetElement.requestPointerLock();\n return await until(element).toBe(targetElement);\n }\n async function unlock() {\n if (!element.value)\n return false;\n document.exitPointerLock();\n await until(element).toBeNull();\n return true;\n }\n return {\n isSupported,\n element,\n triggerElement,\n lock,\n unlock\n };\n}\n\nfunction usePointerSwipe(target, options = {}) {\n const targetRef = toRef(target);\n const {\n threshold = 50,\n onSwipe,\n onSwipeEnd,\n onSwipeStart,\n disableTextSelect = false\n } = options;\n const posStart = reactive({ x: 0, y: 0 });\n const updatePosStart = (x, y) => {\n posStart.x = x;\n posStart.y = y;\n };\n const posEnd = reactive({ x: 0, y: 0 });\n const updatePosEnd = (x, y) => {\n posEnd.x = x;\n posEnd.y = y;\n };\n const distanceX = computed(() => posStart.x - posEnd.x);\n const distanceY = computed(() => posStart.y - posEnd.y);\n const { max, abs } = Math;\n const isThresholdExceeded = computed(() => max(abs(distanceX.value), abs(distanceY.value)) >= threshold);\n const isSwiping = ref(false);\n const isPointerDown = ref(false);\n const direction = computed(() => {\n if (!isThresholdExceeded.value)\n return \"none\";\n if (abs(distanceX.value) > abs(distanceY.value)) {\n return distanceX.value > 0 ? \"left\" : \"right\";\n } else {\n return distanceY.value > 0 ? \"up\" : \"down\";\n }\n });\n const eventIsAllowed = (e) => {\n var _a, _b, _c;\n const isReleasingButton = e.buttons === 0;\n const isPrimaryButton = e.buttons === 1;\n return (_c = (_b = (_a = options.pointerTypes) == null ? void 0 : _a.includes(e.pointerType)) != null ? _b : isReleasingButton || isPrimaryButton) != null ? _c : true;\n };\n const stops = [\n useEventListener(target, \"pointerdown\", (e) => {\n if (!eventIsAllowed(e))\n return;\n isPointerDown.value = true;\n const eventTarget = e.target;\n eventTarget == null ? void 0 : eventTarget.setPointerCapture(e.pointerId);\n const { clientX: x, clientY: y } = e;\n updatePosStart(x, y);\n updatePosEnd(x, y);\n onSwipeStart == null ? void 0 : onSwipeStart(e);\n }),\n useEventListener(target, \"pointermove\", (e) => {\n if (!eventIsAllowed(e))\n return;\n if (!isPointerDown.value)\n return;\n const { clientX: x, clientY: y } = e;\n updatePosEnd(x, y);\n if (!isSwiping.value && isThresholdExceeded.value)\n isSwiping.value = true;\n if (isSwiping.value)\n onSwipe == null ? void 0 : onSwipe(e);\n }),\n useEventListener(target, \"pointerup\", (e) => {\n if (!eventIsAllowed(e))\n return;\n if (isSwiping.value)\n onSwipeEnd == null ? void 0 : onSwipeEnd(e, direction.value);\n isPointerDown.value = false;\n isSwiping.value = false;\n })\n ];\n tryOnMounted(() => {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n (_b = (_a = targetRef.value) == null ? void 0 : _a.style) == null ? void 0 : _b.setProperty(\"touch-action\", \"none\");\n if (disableTextSelect) {\n (_d = (_c = targetRef.value) == null ? void 0 : _c.style) == null ? void 0 : _d.setProperty(\"-webkit-user-select\", \"none\");\n (_f = (_e = targetRef.value) == null ? void 0 : _e.style) == null ? void 0 : _f.setProperty(\"-ms-user-select\", \"none\");\n (_h = (_g = targetRef.value) == null ? void 0 : _g.style) == null ? void 0 : _h.setProperty(\"user-select\", \"none\");\n }\n });\n const stop = () => stops.forEach((s) => s());\n return {\n isSwiping: readonly(isSwiping),\n direction: readonly(direction),\n posStart: readonly(posStart),\n posEnd: readonly(posEnd),\n distanceX,\n distanceY,\n stop\n };\n}\n\nfunction usePreferredColorScheme(options) {\n const isLight = useMediaQuery(\"(prefers-color-scheme: light)\", options);\n const isDark = useMediaQuery(\"(prefers-color-scheme: dark)\", options);\n return computed(() => {\n if (isDark.value)\n return \"dark\";\n if (isLight.value)\n return \"light\";\n return \"no-preference\";\n });\n}\n\nfunction usePreferredContrast(options) {\n const isMore = useMediaQuery(\"(prefers-contrast: more)\", options);\n const isLess = useMediaQuery(\"(prefers-contrast: less)\", options);\n const isCustom = useMediaQuery(\"(prefers-contrast: custom)\", options);\n return computed(() => {\n if (isMore.value)\n return \"more\";\n if (isLess.value)\n return \"less\";\n if (isCustom.value)\n return \"custom\";\n return \"no-preference\";\n });\n}\n\nfunction usePreferredLanguages(options = {}) {\n const { window = defaultWindow } = options;\n if (!window)\n return ref([\"en\"]);\n const navigator = window.navigator;\n const value = ref(navigator.languages);\n useEventListener(window, \"languagechange\", () => {\n value.value = navigator.languages;\n });\n return value;\n}\n\nfunction usePreferredReducedMotion(options) {\n const isReduced = useMediaQuery(\"(prefers-reduced-motion: reduce)\", options);\n return computed(() => {\n if (isReduced.value)\n return \"reduce\";\n return \"no-preference\";\n });\n}\n\nfunction usePrevious(value, initialValue) {\n const previous = shallowRef(initialValue);\n watch(\n toRef(value),\n (_, oldValue) => {\n previous.value = oldValue;\n },\n { flush: \"sync\" }\n );\n return readonly(previous);\n}\n\nconst topVarName = \"--vueuse-safe-area-top\";\nconst rightVarName = \"--vueuse-safe-area-right\";\nconst bottomVarName = \"--vueuse-safe-area-bottom\";\nconst leftVarName = \"--vueuse-safe-area-left\";\nfunction useScreenSafeArea() {\n const top = ref(\"\");\n const right = ref(\"\");\n const bottom = ref(\"\");\n const left = ref(\"\");\n if (isClient) {\n const topCssVar = useCssVar(topVarName);\n const rightCssVar = useCssVar(rightVarName);\n const bottomCssVar = useCssVar(bottomVarName);\n const leftCssVar = useCssVar(leftVarName);\n topCssVar.value = \"env(safe-area-inset-top, 0px)\";\n rightCssVar.value = \"env(safe-area-inset-right, 0px)\";\n bottomCssVar.value = \"env(safe-area-inset-bottom, 0px)\";\n leftCssVar.value = \"env(safe-area-inset-left, 0px)\";\n update();\n useEventListener(\"resize\", useDebounceFn(update));\n }\n function update() {\n top.value = getValue(topVarName);\n right.value = getValue(rightVarName);\n bottom.value = getValue(bottomVarName);\n left.value = getValue(leftVarName);\n }\n return {\n top,\n right,\n bottom,\n left,\n update\n };\n}\nfunction getValue(position) {\n return getComputedStyle(document.documentElement).getPropertyValue(position);\n}\n\nfunction useScriptTag(src, onLoaded = noop, options = {}) {\n const {\n immediate = true,\n manual = false,\n type = \"text/javascript\",\n async = true,\n crossOrigin,\n referrerPolicy,\n noModule,\n defer,\n document = defaultDocument,\n attrs = {}\n } = options;\n const scriptTag = ref(null);\n let _promise = null;\n const loadScript = (waitForScriptLoad) => new Promise((resolve, reject) => {\n const resolveWithElement = (el2) => {\n scriptTag.value = el2;\n resolve(el2);\n return el2;\n };\n if (!document) {\n resolve(false);\n return;\n }\n let shouldAppend = false;\n let el = document.querySelector(`script[src=\"${toValue(src)}\"]`);\n if (!el) {\n el = document.createElement(\"script\");\n el.type = type;\n el.async = async;\n el.src = toValue(src);\n if (defer)\n el.defer = defer;\n if (crossOrigin)\n el.crossOrigin = crossOrigin;\n if (noModule)\n el.noModule = noModule;\n if (referrerPolicy)\n el.referrerPolicy = referrerPolicy;\n Object.entries(attrs).forEach(([name, value]) => el == null ? void 0 : el.setAttribute(name, value));\n shouldAppend = true;\n } else if (el.hasAttribute(\"data-loaded\")) {\n resolveWithElement(el);\n }\n el.addEventListener(\"error\", (event) => reject(event));\n el.addEventListener(\"abort\", (event) => reject(event));\n el.addEventListener(\"load\", () => {\n el.setAttribute(\"data-loaded\", \"true\");\n onLoaded(el);\n resolveWithElement(el);\n });\n if (shouldAppend)\n el = document.head.appendChild(el);\n if (!waitForScriptLoad)\n resolveWithElement(el);\n });\n const load = (waitForScriptLoad = true) => {\n if (!_promise)\n _promise = loadScript(waitForScriptLoad);\n return _promise;\n };\n const unload = () => {\n if (!document)\n return;\n _promise = null;\n if (scriptTag.value)\n scriptTag.value = null;\n const el = document.querySelector(`script[src=\"${toValue(src)}\"]`);\n if (el)\n document.head.removeChild(el);\n };\n if (immediate && !manual)\n tryOnMounted(load);\n if (!manual)\n tryOnUnmounted(unload);\n return { scriptTag, load, unload };\n}\n\nfunction checkOverflowScroll(ele) {\n const style = window.getComputedStyle(ele);\n if (style.overflowX === \"scroll\" || style.overflowY === \"scroll\" || style.overflowX === \"auto\" && ele.clientWidth < ele.scrollWidth || style.overflowY === \"auto\" && ele.clientHeight < ele.scrollHeight) {\n return true;\n } else {\n const parent = ele.parentNode;\n if (!parent || parent.tagName === \"BODY\")\n return false;\n return checkOverflowScroll(parent);\n }\n}\nfunction preventDefault(rawEvent) {\n const e = rawEvent || window.event;\n const _target = e.target;\n if (checkOverflowScroll(_target))\n return false;\n if (e.touches.length > 1)\n return true;\n if (e.preventDefault)\n e.preventDefault();\n return false;\n}\nconst elInitialOverflow = /* @__PURE__ */ new WeakMap();\nfunction useScrollLock(element, initialState = false) {\n const isLocked = ref(initialState);\n let stopTouchMoveListener = null;\n watch(toRef(element), (el) => {\n const target = resolveElement(toValue(el));\n if (target) {\n const ele = target;\n if (!elInitialOverflow.get(ele))\n elInitialOverflow.set(ele, ele.style.overflow);\n if (isLocked.value)\n ele.style.overflow = \"hidden\";\n }\n }, {\n immediate: true\n });\n const lock = () => {\n const el = resolveElement(toValue(element));\n if (!el || isLocked.value)\n return;\n if (isIOS) {\n stopTouchMoveListener = useEventListener(\n el,\n \"touchmove\",\n (e) => {\n preventDefault(e);\n },\n { passive: false }\n );\n }\n el.style.overflow = \"hidden\";\n isLocked.value = true;\n };\n const unlock = () => {\n var _a;\n const el = resolveElement(toValue(element));\n if (!el || !isLocked.value)\n return;\n isIOS && (stopTouchMoveListener == null ? void 0 : stopTouchMoveListener());\n el.style.overflow = (_a = elInitialOverflow.get(el)) != null ? _a : \"\";\n elInitialOverflow.delete(el);\n isLocked.value = false;\n };\n tryOnScopeDispose(unlock);\n return computed({\n get() {\n return isLocked.value;\n },\n set(v) {\n if (v)\n lock();\n else\n unlock();\n }\n });\n}\n\nfunction useSessionStorage(key, initialValue, options = {}) {\n const { window = defaultWindow } = options;\n return useStorage(key, initialValue, window == null ? void 0 : window.sessionStorage, options);\n}\n\nfunction useShare(shareOptions = {}, options = {}) {\n const { navigator = defaultNavigator } = options;\n const _navigator = navigator;\n const isSupported = useSupported(() => _navigator && \"canShare\" in _navigator);\n const share = async (overrideOptions = {}) => {\n if (isSupported.value) {\n const data = {\n ...toValue(shareOptions),\n ...toValue(overrideOptions)\n };\n let granted = true;\n if (data.files && _navigator.canShare)\n granted = _navigator.canShare({ files: data.files });\n if (granted)\n return _navigator.share(data);\n }\n };\n return {\n isSupported,\n share\n };\n}\n\nconst defaultSortFn = (source, compareFn) => source.sort(compareFn);\nconst defaultCompare = (a, b) => a - b;\nfunction useSorted(...args) {\n var _a, _b, _c, _d;\n const [source] = args;\n let compareFn = defaultCompare;\n let options = {};\n if (args.length === 2) {\n if (typeof args[1] === \"object\") {\n options = args[1];\n compareFn = (_a = options.compareFn) != null ? _a : defaultCompare;\n } else {\n compareFn = (_b = args[1]) != null ? _b : defaultCompare;\n }\n } else if (args.length > 2) {\n compareFn = (_c = args[1]) != null ? _c : defaultCompare;\n options = (_d = args[2]) != null ? _d : {};\n }\n const {\n dirty = false,\n sortFn = defaultSortFn\n } = options;\n if (!dirty)\n return computed(() => sortFn([...toValue(source)], compareFn));\n watchEffect(() => {\n const result = sortFn(toValue(source), compareFn);\n if (isRef(source))\n source.value = result;\n else\n source.splice(0, source.length, ...result);\n });\n return source;\n}\n\nfunction useSpeechRecognition(options = {}) {\n const {\n interimResults = true,\n continuous = true,\n window = defaultWindow\n } = options;\n const lang = toRef(options.lang || \"en-US\");\n const isListening = ref(false);\n const isFinal = ref(false);\n const result = ref(\"\");\n const error = shallowRef(void 0);\n const toggle = (value = !isListening.value) => {\n isListening.value = value;\n };\n const start = () => {\n isListening.value = true;\n };\n const stop = () => {\n isListening.value = false;\n };\n const SpeechRecognition = window && (window.SpeechRecognition || window.webkitSpeechRecognition);\n const isSupported = useSupported(() => SpeechRecognition);\n let recognition;\n if (isSupported.value) {\n recognition = new SpeechRecognition();\n recognition.continuous = continuous;\n recognition.interimResults = interimResults;\n recognition.lang = toValue(lang);\n recognition.onstart = () => {\n isFinal.value = false;\n };\n watch(lang, (lang2) => {\n if (recognition && !isListening.value)\n recognition.lang = lang2;\n });\n recognition.onresult = (event) => {\n const transcript = Array.from(event.results).map((result2) => {\n isFinal.value = result2.isFinal;\n return result2[0];\n }).map((result2) => result2.transcript).join(\"\");\n result.value = transcript;\n error.value = void 0;\n };\n recognition.onerror = (event) => {\n error.value = event;\n };\n recognition.onend = () => {\n isListening.value = false;\n recognition.lang = toValue(lang);\n };\n watch(isListening, () => {\n if (isListening.value)\n recognition.start();\n else\n recognition.stop();\n });\n }\n tryOnScopeDispose(() => {\n isListening.value = false;\n });\n return {\n isSupported,\n isListening,\n isFinal,\n recognition,\n result,\n error,\n toggle,\n start,\n stop\n };\n}\n\nfunction useSpeechSynthesis(text, options = {}) {\n const {\n pitch = 1,\n rate = 1,\n volume = 1,\n window = defaultWindow\n } = options;\n const synth = window && window.speechSynthesis;\n const isSupported = useSupported(() => synth);\n const isPlaying = ref(false);\n const status = ref(\"init\");\n const spokenText = toRef(text || \"\");\n const lang = toRef(options.lang || \"en-US\");\n const error = shallowRef(void 0);\n const toggle = (value = !isPlaying.value) => {\n isPlaying.value = value;\n };\n const bindEventsForUtterance = (utterance2) => {\n utterance2.lang = toValue(lang);\n utterance2.voice = toValue(options.voice) || null;\n utterance2.pitch = toValue(pitch);\n utterance2.rate = toValue(rate);\n utterance2.volume = volume;\n utterance2.onstart = () => {\n isPlaying.value = true;\n status.value = \"play\";\n };\n utterance2.onpause = () => {\n isPlaying.value = false;\n status.value = \"pause\";\n };\n utterance2.onresume = () => {\n isPlaying.value = true;\n status.value = \"play\";\n };\n utterance2.onend = () => {\n isPlaying.value = false;\n status.value = \"end\";\n };\n utterance2.onerror = (event) => {\n error.value = event;\n };\n };\n const utterance = computed(() => {\n isPlaying.value = false;\n status.value = \"init\";\n const newUtterance = new SpeechSynthesisUtterance(spokenText.value);\n bindEventsForUtterance(newUtterance);\n return newUtterance;\n });\n const speak = () => {\n synth.cancel();\n utterance && synth.speak(utterance.value);\n };\n const stop = () => {\n synth.cancel();\n isPlaying.value = false;\n };\n if (isSupported.value) {\n bindEventsForUtterance(utterance.value);\n watch(lang, (lang2) => {\n if (utterance.value && !isPlaying.value)\n utterance.value.lang = lang2;\n });\n if (options.voice) {\n watch(options.voice, () => {\n synth.cancel();\n });\n }\n watch(isPlaying, () => {\n if (isPlaying.value)\n synth.resume();\n else\n synth.pause();\n });\n }\n tryOnScopeDispose(() => {\n isPlaying.value = false;\n });\n return {\n isSupported,\n isPlaying,\n status,\n utterance,\n error,\n stop,\n toggle,\n speak\n };\n}\n\nfunction useStepper(steps, initialStep) {\n const stepsRef = ref(steps);\n const stepNames = computed(() => Array.isArray(stepsRef.value) ? stepsRef.value : Object.keys(stepsRef.value));\n const index = ref(stepNames.value.indexOf(initialStep != null ? initialStep : stepNames.value[0]));\n const current = computed(() => at(index.value));\n const isFirst = computed(() => index.value === 0);\n const isLast = computed(() => index.value === stepNames.value.length - 1);\n const next = computed(() => stepNames.value[index.value + 1]);\n const previous = computed(() => stepNames.value[index.value - 1]);\n function at(index2) {\n if (Array.isArray(stepsRef.value))\n return stepsRef.value[index2];\n return stepsRef.value[stepNames.value[index2]];\n }\n function get(step) {\n if (!stepNames.value.includes(step))\n return;\n return at(stepNames.value.indexOf(step));\n }\n function goTo(step) {\n if (stepNames.value.includes(step))\n index.value = stepNames.value.indexOf(step);\n }\n function goToNext() {\n if (isLast.value)\n return;\n index.value++;\n }\n function goToPrevious() {\n if (isFirst.value)\n return;\n index.value--;\n }\n function goBackTo(step) {\n if (isAfter(step))\n goTo(step);\n }\n function isNext(step) {\n return stepNames.value.indexOf(step) === index.value + 1;\n }\n function isPrevious(step) {\n return stepNames.value.indexOf(step) === index.value - 1;\n }\n function isCurrent(step) {\n return stepNames.value.indexOf(step) === index.value;\n }\n function isBefore(step) {\n return index.value < stepNames.value.indexOf(step);\n }\n function isAfter(step) {\n return index.value > stepNames.value.indexOf(step);\n }\n return {\n steps: stepsRef,\n stepNames,\n index,\n current,\n next,\n previous,\n isFirst,\n isLast,\n at,\n get,\n goTo,\n goToNext,\n goToPrevious,\n goBackTo,\n isNext,\n isPrevious,\n isCurrent,\n isBefore,\n isAfter\n };\n}\n\nfunction useStorageAsync(key, initialValue, storage, options = {}) {\n var _a;\n const {\n flush = \"pre\",\n deep = true,\n listenToStorageChanges = true,\n writeDefaults = true,\n mergeDefaults = false,\n shallow,\n window = defaultWindow,\n eventFilter,\n onError = (e) => {\n console.error(e);\n }\n } = options;\n const rawInit = toValue(initialValue);\n const type = guessSerializerType(rawInit);\n const data = (shallow ? shallowRef : ref)(initialValue);\n const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type];\n if (!storage) {\n try {\n storage = getSSRHandler(\"getDefaultStorageAsync\", () => {\n var _a2;\n return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage;\n })();\n } catch (e) {\n onError(e);\n }\n }\n async function read(event) {\n if (!storage || event && event.key !== key)\n return;\n try {\n const rawValue = event ? event.newValue : await storage.getItem(key);\n if (rawValue == null) {\n data.value = rawInit;\n if (writeDefaults && rawInit !== null)\n await storage.setItem(key, await serializer.write(rawInit));\n } else if (mergeDefaults) {\n const value = await serializer.read(rawValue);\n if (typeof mergeDefaults === \"function\")\n data.value = mergeDefaults(value, rawInit);\n else if (type === \"object\" && !Array.isArray(value))\n data.value = { ...rawInit, ...value };\n else\n data.value = value;\n } else {\n data.value = await serializer.read(rawValue);\n }\n } catch (e) {\n onError(e);\n }\n }\n read();\n if (window && listenToStorageChanges)\n useEventListener(window, \"storage\", (e) => Promise.resolve().then(() => read(e)));\n if (storage) {\n watchWithFilter(\n data,\n async () => {\n try {\n if (data.value == null)\n await storage.removeItem(key);\n else\n await storage.setItem(key, await serializer.write(data.value));\n } catch (e) {\n onError(e);\n }\n },\n {\n flush,\n deep,\n eventFilter\n }\n );\n }\n return data;\n}\n\nlet _id = 0;\nfunction useStyleTag(css, options = {}) {\n const isLoaded = ref(false);\n const {\n document = defaultDocument,\n immediate = true,\n manual = false,\n id = `vueuse_styletag_${++_id}`\n } = options;\n const cssRef = ref(css);\n let stop = () => {\n };\n const load = () => {\n if (!document)\n return;\n const el = document.getElementById(id) || document.createElement(\"style\");\n if (!el.isConnected) {\n el.id = id;\n if (options.media)\n el.media = options.media;\n document.head.appendChild(el);\n }\n if (isLoaded.value)\n return;\n stop = watch(\n cssRef,\n (value) => {\n el.textContent = value;\n },\n { immediate: true }\n );\n isLoaded.value = true;\n };\n const unload = () => {\n if (!document || !isLoaded.value)\n return;\n stop();\n document.head.removeChild(document.getElementById(id));\n isLoaded.value = false;\n };\n if (immediate && !manual)\n tryOnMounted(load);\n if (!manual)\n tryOnScopeDispose(unload);\n return {\n id,\n css: cssRef,\n unload,\n load,\n isLoaded: readonly(isLoaded)\n };\n}\n\nfunction useSwipe(target, options = {}) {\n const {\n threshold = 50,\n onSwipe,\n onSwipeEnd,\n onSwipeStart,\n passive = true,\n window = defaultWindow\n } = options;\n const coordsStart = reactive({ x: 0, y: 0 });\n const coordsEnd = reactive({ x: 0, y: 0 });\n const diffX = computed(() => coordsStart.x - coordsEnd.x);\n const diffY = computed(() => coordsStart.y - coordsEnd.y);\n const { max, abs } = Math;\n const isThresholdExceeded = computed(() => max(abs(diffX.value), abs(diffY.value)) >= threshold);\n const isSwiping = ref(false);\n const direction = computed(() => {\n if (!isThresholdExceeded.value)\n return \"none\";\n if (abs(diffX.value) > abs(diffY.value)) {\n return diffX.value > 0 ? \"left\" : \"right\";\n } else {\n return diffY.value > 0 ? \"up\" : \"down\";\n }\n });\n const getTouchEventCoords = (e) => [e.touches[0].clientX, e.touches[0].clientY];\n const updateCoordsStart = (x, y) => {\n coordsStart.x = x;\n coordsStart.y = y;\n };\n const updateCoordsEnd = (x, y) => {\n coordsEnd.x = x;\n coordsEnd.y = y;\n };\n let listenerOptions;\n const isPassiveEventSupported = checkPassiveEventSupport(window == null ? void 0 : window.document);\n if (!passive)\n listenerOptions = isPassiveEventSupported ? { passive: false, capture: true } : { capture: true };\n else\n listenerOptions = isPassiveEventSupported ? { passive: true } : { capture: false };\n const onTouchEnd = (e) => {\n if (isSwiping.value)\n onSwipeEnd == null ? void 0 : onSwipeEnd(e, direction.value);\n isSwiping.value = false;\n };\n const stops = [\n useEventListener(target, \"touchstart\", (e) => {\n if (e.touches.length !== 1)\n return;\n if (listenerOptions.capture && !listenerOptions.passive)\n e.preventDefault();\n const [x, y] = getTouchEventCoords(e);\n updateCoordsStart(x, y);\n updateCoordsEnd(x, y);\n onSwipeStart == null ? void 0 : onSwipeStart(e);\n }, listenerOptions),\n useEventListener(target, \"touchmove\", (e) => {\n if (e.touches.length !== 1)\n return;\n const [x, y] = getTouchEventCoords(e);\n updateCoordsEnd(x, y);\n if (!isSwiping.value && isThresholdExceeded.value)\n isSwiping.value = true;\n if (isSwiping.value)\n onSwipe == null ? void 0 : onSwipe(e);\n }, listenerOptions),\n useEventListener(target, [\"touchend\", \"touchcancel\"], onTouchEnd, listenerOptions)\n ];\n const stop = () => stops.forEach((s) => s());\n return {\n isPassiveEventSupported,\n isSwiping,\n direction,\n coordsStart,\n coordsEnd,\n lengthX: diffX,\n lengthY: diffY,\n stop\n };\n}\nfunction checkPassiveEventSupport(document) {\n if (!document)\n return false;\n let supportsPassive = false;\n const optionsBlock = {\n get passive() {\n supportsPassive = true;\n return false;\n }\n };\n document.addEventListener(\"x\", noop, optionsBlock);\n document.removeEventListener(\"x\", noop);\n return supportsPassive;\n}\n\nfunction useTemplateRefsList() {\n const refs = ref([]);\n refs.value.set = (el) => {\n if (el)\n refs.value.push(el);\n };\n onBeforeUpdate(() => {\n refs.value.length = 0;\n });\n return refs;\n}\n\nfunction useTextDirection(options = {}) {\n const {\n document = defaultDocument,\n selector = \"html\",\n observe = false,\n initialValue = \"ltr\"\n } = options;\n function getValue() {\n var _a, _b;\n return (_b = (_a = document == null ? void 0 : document.querySelector(selector)) == null ? void 0 : _a.getAttribute(\"dir\")) != null ? _b : initialValue;\n }\n const dir = ref(getValue());\n tryOnMounted(() => dir.value = getValue());\n if (observe && document) {\n useMutationObserver(\n document.querySelector(selector),\n () => dir.value = getValue(),\n { attributes: true }\n );\n }\n return computed({\n get() {\n return dir.value;\n },\n set(v) {\n var _a, _b;\n dir.value = v;\n if (!document)\n return;\n if (dir.value)\n (_a = document.querySelector(selector)) == null ? void 0 : _a.setAttribute(\"dir\", dir.value);\n else\n (_b = document.querySelector(selector)) == null ? void 0 : _b.removeAttribute(\"dir\");\n }\n });\n}\n\nfunction getRangesFromSelection(selection) {\n var _a;\n const rangeCount = (_a = selection.rangeCount) != null ? _a : 0;\n return Array.from({ length: rangeCount }, (_, i) => selection.getRangeAt(i));\n}\nfunction useTextSelection(options = {}) {\n const {\n window = defaultWindow\n } = options;\n const selection = ref(null);\n const text = computed(() => {\n var _a, _b;\n return (_b = (_a = selection.value) == null ? void 0 : _a.toString()) != null ? _b : \"\";\n });\n const ranges = computed(() => selection.value ? getRangesFromSelection(selection.value) : []);\n const rects = computed(() => ranges.value.map((range) => range.getBoundingClientRect()));\n function onSelectionChange() {\n selection.value = null;\n if (window)\n selection.value = window.getSelection();\n }\n if (window)\n useEventListener(window.document, \"selectionchange\", onSelectionChange);\n return {\n text,\n rects,\n ranges,\n selection\n };\n}\n\nfunction useTextareaAutosize(options) {\n var _a;\n const textarea = ref(options == null ? void 0 : options.element);\n const input = ref(options == null ? void 0 : options.input);\n const styleProp = (_a = options == null ? void 0 : options.styleProp) != null ? _a : \"height\";\n const textareaScrollHeight = ref(1);\n function triggerResize() {\n var _a2, _b;\n if (!textarea.value)\n return;\n let height = \"\";\n textarea.value.style[styleProp] = \"1px\";\n textareaScrollHeight.value = (_a2 = textarea.value) == null ? void 0 : _a2.scrollHeight;\n if (options == null ? void 0 : options.styleTarget)\n toValue(options.styleTarget).style[styleProp] = `${textareaScrollHeight.value}px`;\n else\n height = `${textareaScrollHeight.value}px`;\n textarea.value.style[styleProp] = height;\n (_b = options == null ? void 0 : options.onResize) == null ? void 0 : _b.call(options);\n }\n watch([input, textarea], () => nextTick(triggerResize), { immediate: true });\n useResizeObserver(textarea, () => triggerResize());\n if (options == null ? void 0 : options.watch)\n watch(options.watch, triggerResize, { immediate: true, deep: true });\n return {\n textarea,\n input,\n triggerResize\n };\n}\n\nfunction useThrottledRefHistory(source, options = {}) {\n const { throttle = 200, trailing = true } = options;\n const filter = throttleFilter(throttle, trailing);\n const history = useRefHistory(source, { ...options, eventFilter: filter });\n return {\n ...history\n };\n}\n\nconst DEFAULT_UNITS = [\n { max: 6e4, value: 1e3, name: \"second\" },\n { max: 276e4, value: 6e4, name: \"minute\" },\n { max: 72e6, value: 36e5, name: \"hour\" },\n { max: 5184e5, value: 864e5, name: \"day\" },\n { max: 24192e5, value: 6048e5, name: \"week\" },\n { max: 28512e6, value: 2592e6, name: \"month\" },\n { max: Number.POSITIVE_INFINITY, value: 31536e6, name: \"year\" }\n];\nconst DEFAULT_MESSAGES = {\n justNow: \"just now\",\n past: (n) => n.match(/\\d/) ? `${n} ago` : n,\n future: (n) => n.match(/\\d/) ? `in ${n}` : n,\n month: (n, past) => n === 1 ? past ? \"last month\" : \"next month\" : `${n} month${n > 1 ? \"s\" : \"\"}`,\n year: (n, past) => n === 1 ? past ? \"last year\" : \"next year\" : `${n} year${n > 1 ? \"s\" : \"\"}`,\n day: (n, past) => n === 1 ? past ? \"yesterday\" : \"tomorrow\" : `${n} day${n > 1 ? \"s\" : \"\"}`,\n week: (n, past) => n === 1 ? past ? \"last week\" : \"next week\" : `${n} week${n > 1 ? \"s\" : \"\"}`,\n hour: (n) => `${n} hour${n > 1 ? \"s\" : \"\"}`,\n minute: (n) => `${n} minute${n > 1 ? \"s\" : \"\"}`,\n second: (n) => `${n} second${n > 1 ? \"s\" : \"\"}`,\n invalid: \"\"\n};\nfunction DEFAULT_FORMATTER(date) {\n return date.toISOString().slice(0, 10);\n}\nfunction useTimeAgo(time, options = {}) {\n const {\n controls: exposeControls = false,\n updateInterval = 3e4\n } = options;\n const { now, ...controls } = useNow({ interval: updateInterval, controls: true });\n const timeAgo = computed(() => formatTimeAgo(new Date(toValue(time)), options, toValue(now)));\n if (exposeControls) {\n return {\n timeAgo,\n ...controls\n };\n } else {\n return timeAgo;\n }\n}\nfunction formatTimeAgo(from, options = {}, now = Date.now()) {\n var _a;\n const {\n max,\n messages = DEFAULT_MESSAGES,\n fullDateFormatter = DEFAULT_FORMATTER,\n units = DEFAULT_UNITS,\n showSecond = false,\n rounding = \"round\"\n } = options;\n const roundFn = typeof rounding === \"number\" ? (n) => +n.toFixed(rounding) : Math[rounding];\n const diff = +now - +from;\n const absDiff = Math.abs(diff);\n function getValue(diff2, unit) {\n return roundFn(Math.abs(diff2) / unit.value);\n }\n function format(diff2, unit) {\n const val = getValue(diff2, unit);\n const past = diff2 > 0;\n const str = applyFormat(unit.name, val, past);\n return applyFormat(past ? \"past\" : \"future\", str, past);\n }\n function applyFormat(name, val, isPast) {\n const formatter = messages[name];\n if (typeof formatter === \"function\")\n return formatter(val, isPast);\n return formatter.replace(\"{0}\", val.toString());\n }\n if (absDiff < 6e4 && !showSecond)\n return messages.justNow;\n if (typeof max === \"number\" && absDiff > max)\n return fullDateFormatter(new Date(from));\n if (typeof max === \"string\") {\n const unitMax = (_a = units.find((i) => i.name === max)) == null ? void 0 : _a.max;\n if (unitMax && absDiff > unitMax)\n return fullDateFormatter(new Date(from));\n }\n for (const [idx, unit] of units.entries()) {\n const val = getValue(diff, unit);\n if (val <= 0 && units[idx - 1])\n return format(diff, units[idx - 1]);\n if (absDiff < unit.max)\n return format(diff, unit);\n }\n return messages.invalid;\n}\n\nfunction useTimeoutPoll(fn, interval, timeoutPollOptions) {\n const { start } = useTimeoutFn(loop, interval, { immediate: false });\n const isActive = ref(false);\n async function loop() {\n if (!isActive.value)\n return;\n await fn();\n start();\n }\n function resume() {\n if (!isActive.value) {\n isActive.value = true;\n loop();\n }\n }\n function pause() {\n isActive.value = false;\n }\n if (timeoutPollOptions == null ? void 0 : timeoutPollOptions.immediate)\n resume();\n tryOnScopeDispose(pause);\n return {\n isActive,\n pause,\n resume\n };\n}\n\nfunction useTimestamp(options = {}) {\n const {\n controls: exposeControls = false,\n offset = 0,\n immediate = true,\n interval = \"requestAnimationFrame\",\n callback\n } = options;\n const ts = ref(timestamp() + offset);\n const update = () => ts.value = timestamp() + offset;\n const cb = callback ? () => {\n update();\n callback(ts.value);\n } : update;\n const controls = interval === \"requestAnimationFrame\" ? useRafFn(cb, { immediate }) : useIntervalFn(cb, interval, { immediate });\n if (exposeControls) {\n return {\n timestamp: ts,\n ...controls\n };\n } else {\n return ts;\n }\n}\n\nfunction useTitle(newTitle = null, options = {}) {\n var _a, _b, _c;\n const {\n document = defaultDocument,\n restoreOnUnmount = (t) => t\n } = options;\n const originalTitle = (_a = document == null ? void 0 : document.title) != null ? _a : \"\";\n const title = toRef((_b = newTitle != null ? newTitle : document == null ? void 0 : document.title) != null ? _b : null);\n const isReadonly = newTitle && typeof newTitle === \"function\";\n function format(t) {\n if (!(\"titleTemplate\" in options))\n return t;\n const template = options.titleTemplate || \"%s\";\n return typeof template === \"function\" ? template(t) : toValue(template).replace(/%s/g, t);\n }\n watch(\n title,\n (t, o) => {\n if (t !== o && document)\n document.title = format(typeof t === \"string\" ? t : \"\");\n },\n { immediate: true }\n );\n if (options.observe && !options.titleTemplate && document && !isReadonly) {\n useMutationObserver(\n (_c = document.head) == null ? void 0 : _c.querySelector(\"title\"),\n () => {\n if (document && document.title !== title.value)\n title.value = format(document.title);\n },\n { childList: true }\n );\n }\n tryOnBeforeUnmount(() => {\n if (restoreOnUnmount) {\n const restoredTitle = restoreOnUnmount(originalTitle, title.value || \"\");\n if (restoredTitle != null && document)\n document.title = restoredTitle;\n }\n });\n return title;\n}\n\nconst _TransitionPresets = {\n easeInSine: [0.12, 0, 0.39, 0],\n easeOutSine: [0.61, 1, 0.88, 1],\n easeInOutSine: [0.37, 0, 0.63, 1],\n easeInQuad: [0.11, 0, 0.5, 0],\n easeOutQuad: [0.5, 1, 0.89, 1],\n easeInOutQuad: [0.45, 0, 0.55, 1],\n easeInCubic: [0.32, 0, 0.67, 0],\n easeOutCubic: [0.33, 1, 0.68, 1],\n easeInOutCubic: [0.65, 0, 0.35, 1],\n easeInQuart: [0.5, 0, 0.75, 0],\n easeOutQuart: [0.25, 1, 0.5, 1],\n easeInOutQuart: [0.76, 0, 0.24, 1],\n easeInQuint: [0.64, 0, 0.78, 0],\n easeOutQuint: [0.22, 1, 0.36, 1],\n easeInOutQuint: [0.83, 0, 0.17, 1],\n easeInExpo: [0.7, 0, 0.84, 0],\n easeOutExpo: [0.16, 1, 0.3, 1],\n easeInOutExpo: [0.87, 0, 0.13, 1],\n easeInCirc: [0.55, 0, 1, 0.45],\n easeOutCirc: [0, 0.55, 0.45, 1],\n easeInOutCirc: [0.85, 0, 0.15, 1],\n easeInBack: [0.36, 0, 0.66, -0.56],\n easeOutBack: [0.34, 1.56, 0.64, 1],\n easeInOutBack: [0.68, -0.6, 0.32, 1.6]\n};\nconst TransitionPresets = /* @__PURE__ */ Object.assign({}, { linear: identity }, _TransitionPresets);\nfunction createEasingFunction([p0, p1, p2, p3]) {\n const a = (a1, a2) => 1 - 3 * a2 + 3 * a1;\n const b = (a1, a2) => 3 * a2 - 6 * a1;\n const c = (a1) => 3 * a1;\n const calcBezier = (t, a1, a2) => ((a(a1, a2) * t + b(a1, a2)) * t + c(a1)) * t;\n const getSlope = (t, a1, a2) => 3 * a(a1, a2) * t * t + 2 * b(a1, a2) * t + c(a1);\n const getTforX = (x) => {\n let aGuessT = x;\n for (let i = 0; i < 4; ++i) {\n const currentSlope = getSlope(aGuessT, p0, p2);\n if (currentSlope === 0)\n return aGuessT;\n const currentX = calcBezier(aGuessT, p0, p2) - x;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n };\n return (x) => p0 === p1 && p2 === p3 ? x : calcBezier(getTforX(x), p1, p3);\n}\nfunction lerp(a, b, alpha) {\n return a + alpha * (b - a);\n}\nfunction toVec(t) {\n return (typeof t === \"number\" ? [t] : t) || [];\n}\nfunction executeTransition(source, from, to, options = {}) {\n var _a, _b;\n const fromVal = toValue(from);\n const toVal = toValue(to);\n const v1 = toVec(fromVal);\n const v2 = toVec(toVal);\n const duration = (_a = toValue(options.duration)) != null ? _a : 1e3;\n const startedAt = Date.now();\n const endAt = Date.now() + duration;\n const trans = typeof options.transition === \"function\" ? options.transition : (_b = toValue(options.transition)) != null ? _b : identity;\n const ease = typeof trans === \"function\" ? trans : createEasingFunction(trans);\n return new Promise((resolve) => {\n source.value = fromVal;\n const tick = () => {\n var _a2;\n if ((_a2 = options.abort) == null ? void 0 : _a2.call(options)) {\n resolve();\n return;\n }\n const now = Date.now();\n const alpha = ease((now - startedAt) / duration);\n const arr = toVec(source.value).map((n, i) => lerp(v1[i], v2[i], alpha));\n if (Array.isArray(source.value))\n source.value = arr.map((n, i) => {\n var _a3, _b2;\n return lerp((_a3 = v1[i]) != null ? _a3 : 0, (_b2 = v2[i]) != null ? _b2 : 0, alpha);\n });\n else if (typeof source.value === \"number\")\n source.value = arr[0];\n if (now < endAt) {\n requestAnimationFrame(tick);\n } else {\n source.value = toVal;\n resolve();\n }\n };\n tick();\n });\n}\nfunction useTransition(source, options = {}) {\n let currentId = 0;\n const sourceVal = () => {\n const v = toValue(source);\n return typeof v === \"number\" ? v : v.map(toValue);\n };\n const outputRef = ref(sourceVal());\n watch(sourceVal, async (to) => {\n var _a, _b;\n if (toValue(options.disabled))\n return;\n const id = ++currentId;\n if (options.delay)\n await promiseTimeout(toValue(options.delay));\n if (id !== currentId)\n return;\n const toVal = Array.isArray(to) ? to.map(toValue) : toValue(to);\n (_a = options.onStarted) == null ? void 0 : _a.call(options);\n await executeTransition(outputRef, outputRef.value, toVal, {\n ...options,\n abort: () => {\n var _a2;\n return id !== currentId || ((_a2 = options.abort) == null ? void 0 : _a2.call(options));\n }\n });\n (_b = options.onFinished) == null ? void 0 : _b.call(options);\n }, { deep: true });\n watch(() => toValue(options.disabled), (disabled) => {\n if (disabled) {\n currentId++;\n outputRef.value = sourceVal();\n }\n });\n tryOnScopeDispose(() => {\n currentId++;\n });\n return computed(() => toValue(options.disabled) ? sourceVal() : outputRef.value);\n}\n\nfunction useUrlSearchParams(mode = \"history\", options = {}) {\n const {\n initialValue = {},\n removeNullishValues = true,\n removeFalsyValues = false,\n write: enableWrite = true,\n window = defaultWindow\n } = options;\n if (!window)\n return reactive(initialValue);\n const state = reactive({});\n function getRawParams() {\n if (mode === \"history\") {\n return window.location.search || \"\";\n } else if (mode === \"hash\") {\n const hash = window.location.hash || \"\";\n const index = hash.indexOf(\"?\");\n return index > 0 ? hash.slice(index) : \"\";\n } else {\n return (window.location.hash || \"\").replace(/^#/, \"\");\n }\n }\n function constructQuery(params) {\n const stringified = params.toString();\n if (mode === \"history\")\n return `${stringified ? `?${stringified}` : \"\"}${window.location.hash || \"\"}`;\n if (mode === \"hash-params\")\n return `${window.location.search || \"\"}${stringified ? `#${stringified}` : \"\"}`;\n const hash = window.location.hash || \"#\";\n const index = hash.indexOf(\"?\");\n if (index > 0)\n return `${hash.slice(0, index)}${stringified ? `?${stringified}` : \"\"}`;\n return `${hash}${stringified ? `?${stringified}` : \"\"}`;\n }\n function read() {\n return new URLSearchParams(getRawParams());\n }\n function updateState(params) {\n const unusedKeys = new Set(Object.keys(state));\n for (const key of params.keys()) {\n const paramsForKey = params.getAll(key);\n state[key] = paramsForKey.length > 1 ? paramsForKey : params.get(key) || \"\";\n unusedKeys.delete(key);\n }\n Array.from(unusedKeys).forEach((key) => delete state[key]);\n }\n const { pause, resume } = pausableWatch(\n state,\n () => {\n const params = new URLSearchParams(\"\");\n Object.keys(state).forEach((key) => {\n const mapEntry = state[key];\n if (Array.isArray(mapEntry))\n mapEntry.forEach((value) => params.append(key, value));\n else if (removeNullishValues && mapEntry == null)\n params.delete(key);\n else if (removeFalsyValues && !mapEntry)\n params.delete(key);\n else\n params.set(key, mapEntry);\n });\n write(params);\n },\n { deep: true }\n );\n function write(params, shouldUpdate) {\n pause();\n if (shouldUpdate)\n updateState(params);\n window.history.replaceState(\n window.history.state,\n window.document.title,\n window.location.pathname + constructQuery(params)\n );\n resume();\n }\n function onChanged() {\n if (!enableWrite)\n return;\n write(read(), true);\n }\n useEventListener(window, \"popstate\", onChanged, false);\n if (mode !== \"history\")\n useEventListener(window, \"hashchange\", onChanged, false);\n const initial = read();\n if (initial.keys().next().value)\n updateState(initial);\n else\n Object.assign(state, initialValue);\n return state;\n}\n\nfunction useUserMedia(options = {}) {\n var _a, _b;\n const enabled = ref((_a = options.enabled) != null ? _a : false);\n const autoSwitch = ref((_b = options.autoSwitch) != null ? _b : true);\n const constraints = ref(options.constraints);\n const { navigator = defaultNavigator } = options;\n const isSupported = useSupported(() => {\n var _a2;\n return (_a2 = navigator == null ? void 0 : navigator.mediaDevices) == null ? void 0 : _a2.getUserMedia;\n });\n const stream = shallowRef();\n function getDeviceOptions(type) {\n switch (type) {\n case \"video\": {\n if (constraints.value)\n return constraints.value.video || false;\n break;\n }\n case \"audio\": {\n if (constraints.value)\n return constraints.value.audio || false;\n break;\n }\n }\n }\n async function _start() {\n if (!isSupported.value || stream.value)\n return;\n stream.value = await navigator.mediaDevices.getUserMedia({\n video: getDeviceOptions(\"video\"),\n audio: getDeviceOptions(\"audio\")\n });\n return stream.value;\n }\n function _stop() {\n var _a2;\n (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach((t) => t.stop());\n stream.value = void 0;\n }\n function stop() {\n _stop();\n enabled.value = false;\n }\n async function start() {\n await _start();\n if (stream.value)\n enabled.value = true;\n return stream.value;\n }\n async function restart() {\n _stop();\n return await start();\n }\n watch(\n enabled,\n (v) => {\n if (v)\n _start();\n else\n _stop();\n },\n { immediate: true }\n );\n watch(\n constraints,\n () => {\n if (autoSwitch.value && stream.value)\n restart();\n },\n { immediate: true }\n );\n tryOnScopeDispose(() => {\n stop();\n });\n return {\n isSupported,\n stream,\n start,\n stop,\n restart,\n constraints,\n enabled,\n autoSwitch\n };\n}\n\nfunction useVModel(props, key, emit, options = {}) {\n var _a, _b, _c, _d, _e;\n const {\n clone = false,\n passive = false,\n eventName,\n deep = false,\n defaultValue,\n shouldEmit\n } = options;\n const vm = getCurrentInstance();\n const _emit = emit || (vm == null ? void 0 : vm.emit) || ((_a = vm == null ? void 0 : vm.$emit) == null ? void 0 : _a.bind(vm)) || ((_c = (_b = vm == null ? void 0 : vm.proxy) == null ? void 0 : _b.$emit) == null ? void 0 : _c.bind(vm == null ? void 0 : vm.proxy));\n let event = eventName;\n if (!key) {\n if (isVue2) {\n const modelOptions = (_e = (_d = vm == null ? void 0 : vm.proxy) == null ? void 0 : _d.$options) == null ? void 0 : _e.model;\n key = (modelOptions == null ? void 0 : modelOptions.value) || \"value\";\n if (!eventName)\n event = (modelOptions == null ? void 0 : modelOptions.event) || \"input\";\n } else {\n key = \"modelValue\";\n }\n }\n event = event || `update:${key.toString()}`;\n const cloneFn = (val) => !clone ? val : typeof clone === \"function\" ? clone(val) : cloneFnJSON(val);\n const getValue = () => isDef(props[key]) ? cloneFn(props[key]) : defaultValue;\n const triggerEmit = (value) => {\n if (shouldEmit) {\n if (shouldEmit(value))\n _emit(event, value);\n } else {\n _emit(event, value);\n }\n };\n if (passive) {\n const initialValue = getValue();\n const proxy = ref(initialValue);\n let isUpdating = false;\n watch(\n () => props[key],\n (v) => {\n if (!isUpdating) {\n isUpdating = true;\n proxy.value = cloneFn(v);\n nextTick(() => isUpdating = false);\n }\n }\n );\n watch(\n proxy,\n (v) => {\n if (!isUpdating && (v !== props[key] || deep))\n triggerEmit(v);\n },\n { deep }\n );\n return proxy;\n } else {\n return computed({\n get() {\n return getValue();\n },\n set(value) {\n triggerEmit(value);\n }\n });\n }\n}\n\nfunction useVModels(props, emit, options = {}) {\n const ret = {};\n for (const key in props) {\n ret[key] = useVModel(\n props,\n key,\n emit,\n options\n );\n }\n return ret;\n}\n\nfunction useVibrate(options) {\n const {\n pattern = [],\n interval = 0,\n navigator = defaultNavigator\n } = options || {};\n const isSupported = useSupported(() => typeof navigator !== \"undefined\" && \"vibrate\" in navigator);\n const patternRef = toRef(pattern);\n let intervalControls;\n const vibrate = (pattern2 = patternRef.value) => {\n if (isSupported.value)\n navigator.vibrate(pattern2);\n };\n const stop = () => {\n if (isSupported.value)\n navigator.vibrate(0);\n intervalControls == null ? void 0 : intervalControls.pause();\n };\n if (interval > 0) {\n intervalControls = useIntervalFn(\n vibrate,\n interval,\n {\n immediate: false,\n immediateCallback: false\n }\n );\n }\n return {\n isSupported,\n pattern,\n intervalControls,\n vibrate,\n stop\n };\n}\n\nfunction useVirtualList(list, options) {\n const { containerStyle, wrapperProps, scrollTo, calculateRange, currentList, containerRef } = \"itemHeight\" in options ? useVerticalVirtualList(options, list) : useHorizontalVirtualList(options, list);\n return {\n list: currentList,\n scrollTo,\n containerProps: {\n ref: containerRef,\n onScroll: () => {\n calculateRange();\n },\n style: containerStyle\n },\n wrapperProps\n };\n}\nfunction useVirtualListResources(list) {\n const containerRef = ref(null);\n const size = useElementSize(containerRef);\n const currentList = ref([]);\n const source = shallowRef(list);\n const state = ref({ start: 0, end: 10 });\n return { state, source, currentList, size, containerRef };\n}\nfunction createGetViewCapacity(state, source, itemSize) {\n return (containerSize) => {\n if (typeof itemSize === \"number\")\n return Math.ceil(containerSize / itemSize);\n const { start = 0 } = state.value;\n let sum = 0;\n let capacity = 0;\n for (let i = start; i < source.value.length; i++) {\n const size = itemSize(i);\n sum += size;\n capacity = i;\n if (sum > containerSize)\n break;\n }\n return capacity - start;\n };\n}\nfunction createGetOffset(source, itemSize) {\n return (scrollDirection) => {\n if (typeof itemSize === \"number\")\n return Math.floor(scrollDirection / itemSize) + 1;\n let sum = 0;\n let offset = 0;\n for (let i = 0; i < source.value.length; i++) {\n const size = itemSize(i);\n sum += size;\n if (sum >= scrollDirection) {\n offset = i;\n break;\n }\n }\n return offset + 1;\n };\n}\nfunction createCalculateRange(type, overscan, getOffset, getViewCapacity, { containerRef, state, currentList, source }) {\n return () => {\n const element = containerRef.value;\n if (element) {\n const offset = getOffset(type === \"vertical\" ? element.scrollTop : element.scrollLeft);\n const viewCapacity = getViewCapacity(type === \"vertical\" ? element.clientHeight : element.clientWidth);\n const from = offset - overscan;\n const to = offset + viewCapacity + overscan;\n state.value = {\n start: from < 0 ? 0 : from,\n end: to > source.value.length ? source.value.length : to\n };\n currentList.value = source.value.slice(state.value.start, state.value.end).map((ele, index) => ({\n data: ele,\n index: index + state.value.start\n }));\n }\n };\n}\nfunction createGetDistance(itemSize, source) {\n return (index) => {\n if (typeof itemSize === \"number\") {\n const size2 = index * itemSize;\n return size2;\n }\n const size = source.value.slice(0, index).reduce((sum, _, i) => sum + itemSize(i), 0);\n return size;\n };\n}\nfunction useWatchForSizes(size, list, calculateRange) {\n watch([size.width, size.height, list], () => {\n calculateRange();\n });\n}\nfunction createComputedTotalSize(itemSize, source) {\n return computed(() => {\n if (typeof itemSize === \"number\")\n return source.value.length * itemSize;\n return source.value.reduce((sum, _, index) => sum + itemSize(index), 0);\n });\n}\nconst scrollToDictionaryForElementScrollKey = {\n horizontal: \"scrollLeft\",\n vertical: \"scrollTop\"\n};\nfunction createScrollTo(type, calculateRange, getDistance, containerRef) {\n return (index) => {\n if (containerRef.value) {\n containerRef.value[scrollToDictionaryForElementScrollKey[type]] = getDistance(index);\n calculateRange();\n }\n };\n}\nfunction useHorizontalVirtualList(options, list) {\n const resources = useVirtualListResources(list);\n const { state, source, currentList, size, containerRef } = resources;\n const containerStyle = { overflowX: \"auto\" };\n const { itemWidth, overscan = 5 } = options;\n const getViewCapacity = createGetViewCapacity(state, source, itemWidth);\n const getOffset = createGetOffset(source, itemWidth);\n const calculateRange = createCalculateRange(\"horizontal\", overscan, getOffset, getViewCapacity, resources);\n const getDistanceLeft = createGetDistance(itemWidth, source);\n const offsetLeft = computed(() => getDistanceLeft(state.value.start));\n const totalWidth = createComputedTotalSize(itemWidth, source);\n useWatchForSizes(size, list, calculateRange);\n const scrollTo = createScrollTo(\"horizontal\", calculateRange, getDistanceLeft, containerRef);\n const wrapperProps = computed(() => {\n return {\n style: {\n height: \"100%\",\n width: `${totalWidth.value - offsetLeft.value}px`,\n marginLeft: `${offsetLeft.value}px`,\n display: \"flex\"\n }\n };\n });\n return {\n scrollTo,\n calculateRange,\n wrapperProps,\n containerStyle,\n currentList,\n containerRef\n };\n}\nfunction useVerticalVirtualList(options, list) {\n const resources = useVirtualListResources(list);\n const { state, source, currentList, size, containerRef } = resources;\n const containerStyle = { overflowY: \"auto\" };\n const { itemHeight, overscan = 5 } = options;\n const getViewCapacity = createGetViewCapacity(state, source, itemHeight);\n const getOffset = createGetOffset(source, itemHeight);\n const calculateRange = createCalculateRange(\"vertical\", overscan, getOffset, getViewCapacity, resources);\n const getDistanceTop = createGetDistance(itemHeight, source);\n const offsetTop = computed(() => getDistanceTop(state.value.start));\n const totalHeight = createComputedTotalSize(itemHeight, source);\n useWatchForSizes(size, list, calculateRange);\n const scrollTo = createScrollTo(\"vertical\", calculateRange, getDistanceTop, containerRef);\n const wrapperProps = computed(() => {\n return {\n style: {\n width: \"100%\",\n height: `${totalHeight.value - offsetTop.value}px`,\n marginTop: `${offsetTop.value}px`\n }\n };\n });\n return {\n calculateRange,\n scrollTo,\n containerStyle,\n wrapperProps,\n currentList,\n containerRef\n };\n}\n\nfunction useWakeLock(options = {}) {\n const {\n navigator = defaultNavigator,\n document = defaultDocument\n } = options;\n let wakeLock;\n const isSupported = useSupported(() => navigator && \"wakeLock\" in navigator);\n const isActive = ref(false);\n async function onVisibilityChange() {\n if (!isSupported.value || !wakeLock)\n return;\n if (document && document.visibilityState === \"visible\")\n wakeLock = await navigator.wakeLock.request(\"screen\");\n isActive.value = !wakeLock.released;\n }\n if (document)\n useEventListener(document, \"visibilitychange\", onVisibilityChange, { passive: true });\n async function request(type) {\n if (!isSupported.value)\n return;\n wakeLock = await navigator.wakeLock.request(type);\n isActive.value = !wakeLock.released;\n }\n async function release() {\n if (!isSupported.value || !wakeLock)\n return;\n await wakeLock.release();\n isActive.value = !wakeLock.released;\n wakeLock = null;\n }\n return {\n isSupported,\n isActive,\n request,\n release\n };\n}\n\nfunction useWebNotification(options = {}) {\n const {\n window = defaultWindow,\n requestPermissions: _requestForPermissions = true\n } = options;\n const defaultWebNotificationOptions = options;\n const isSupported = useSupported(() => !!window && \"Notification\" in window);\n const permissionGranted = ref(isSupported.value && \"permission\" in Notification && Notification.permission === \"granted\");\n const notification = ref(null);\n const ensurePermissions = async () => {\n if (!isSupported.value)\n return;\n if (!permissionGranted.value && Notification.permission !== \"denied\") {\n const result = await Notification.requestPermission();\n if (result === \"granted\")\n permissionGranted.value = true;\n }\n return permissionGranted.value;\n };\n const { on: onClick, trigger: clickTrigger } = createEventHook();\n const { on: onShow, trigger: showTrigger } = createEventHook();\n const { on: onError, trigger: errorTrigger } = createEventHook();\n const { on: onClose, trigger: closeTrigger } = createEventHook();\n const show = async (overrides) => {\n if (!isSupported.value || !permissionGranted.value)\n return;\n const options2 = Object.assign({}, defaultWebNotificationOptions, overrides);\n notification.value = new Notification(options2.title || \"\", options2);\n notification.value.onclick = clickTrigger;\n notification.value.onshow = showTrigger;\n notification.value.onerror = errorTrigger;\n notification.value.onclose = closeTrigger;\n return notification.value;\n };\n const close = () => {\n if (notification.value)\n notification.value.close();\n notification.value = null;\n };\n if (_requestForPermissions)\n tryOnMounted(ensurePermissions);\n tryOnScopeDispose(close);\n if (isSupported.value && window) {\n const document = window.document;\n useEventListener(document, \"visibilitychange\", (e) => {\n e.preventDefault();\n if (document.visibilityState === \"visible\") {\n close();\n }\n });\n }\n return {\n isSupported,\n notification,\n ensurePermissions,\n permissionGranted,\n show,\n close,\n onClick,\n onShow,\n onError,\n onClose\n };\n}\n\nconst DEFAULT_PING_MESSAGE = \"ping\";\nfunction resolveNestedOptions(options) {\n if (options === true)\n return {};\n return options;\n}\nfunction useWebSocket(url, options = {}) {\n const {\n onConnected,\n onDisconnected,\n onError,\n onMessage,\n immediate = true,\n autoClose = true,\n protocols = []\n } = options;\n const data = ref(null);\n const status = ref(\"CLOSED\");\n const wsRef = ref();\n const urlRef = toRef(url);\n let heartbeatPause;\n let heartbeatResume;\n let explicitlyClosed = false;\n let retried = 0;\n let bufferedData = [];\n let pongTimeoutWait;\n const _sendBuffer = () => {\n if (bufferedData.length && wsRef.value && status.value === \"OPEN\") {\n for (const buffer of bufferedData)\n wsRef.value.send(buffer);\n bufferedData = [];\n }\n };\n const resetHeartbeat = () => {\n clearTimeout(pongTimeoutWait);\n pongTimeoutWait = void 0;\n };\n const close = (code = 1e3, reason) => {\n if (!isClient || !wsRef.value)\n return;\n explicitlyClosed = true;\n resetHeartbeat();\n heartbeatPause == null ? void 0 : heartbeatPause();\n wsRef.value.close(code, reason);\n wsRef.value = void 0;\n };\n const send = (data2, useBuffer = true) => {\n if (!wsRef.value || status.value !== \"OPEN\") {\n if (useBuffer)\n bufferedData.push(data2);\n return false;\n }\n _sendBuffer();\n wsRef.value.send(data2);\n return true;\n };\n const _init = () => {\n if (explicitlyClosed || typeof urlRef.value === \"undefined\")\n return;\n const ws = new WebSocket(urlRef.value, protocols);\n wsRef.value = ws;\n status.value = \"CONNECTING\";\n ws.onopen = () => {\n status.value = \"OPEN\";\n onConnected == null ? void 0 : onConnected(ws);\n heartbeatResume == null ? void 0 : heartbeatResume();\n _sendBuffer();\n };\n ws.onclose = (ev) => {\n status.value = \"CLOSED\";\n onDisconnected == null ? void 0 : onDisconnected(ws, ev);\n if (!explicitlyClosed && options.autoReconnect) {\n const {\n retries = -1,\n delay = 1e3,\n onFailed\n } = resolveNestedOptions(options.autoReconnect);\n retried += 1;\n if (typeof retries === \"number\" && (retries < 0 || retried < retries))\n setTimeout(_init, delay);\n else if (typeof retries === \"function\" && retries())\n setTimeout(_init, delay);\n else\n onFailed == null ? void 0 : onFailed();\n }\n };\n ws.onerror = (e) => {\n onError == null ? void 0 : onError(ws, e);\n };\n ws.onmessage = (e) => {\n if (options.heartbeat) {\n resetHeartbeat();\n const {\n message = DEFAULT_PING_MESSAGE\n } = resolveNestedOptions(options.heartbeat);\n if (e.data === message)\n return;\n }\n data.value = e.data;\n onMessage == null ? void 0 : onMessage(ws, e);\n };\n };\n if (options.heartbeat) {\n const {\n message = DEFAULT_PING_MESSAGE,\n interval = 1e3,\n pongTimeout = 1e3\n } = resolveNestedOptions(options.heartbeat);\n const { pause, resume } = useIntervalFn(\n () => {\n send(message, false);\n if (pongTimeoutWait != null)\n return;\n pongTimeoutWait = setTimeout(() => {\n close();\n explicitlyClosed = false;\n }, pongTimeout);\n },\n interval,\n { immediate: false }\n );\n heartbeatPause = pause;\n heartbeatResume = resume;\n }\n if (autoClose) {\n if (isClient)\n useEventListener(\"beforeunload\", () => close());\n tryOnScopeDispose(close);\n }\n const open = () => {\n if (!isClient && !isWorker)\n return;\n close();\n explicitlyClosed = false;\n retried = 0;\n _init();\n };\n if (immediate)\n open();\n return {\n data,\n status,\n close,\n send,\n open,\n ws: wsRef\n };\n}\n\nfunction useWebWorker(arg0, workerOptions, options) {\n const {\n window = defaultWindow\n } = options != null ? options : {};\n const data = ref(null);\n const worker = shallowRef();\n const post = (...args) => {\n if (!worker.value)\n return;\n worker.value.postMessage(...args);\n };\n const terminate = function terminate2() {\n if (!worker.value)\n return;\n worker.value.terminate();\n };\n if (window) {\n if (typeof arg0 === \"string\")\n worker.value = new Worker(arg0, workerOptions);\n else if (typeof arg0 === \"function\")\n worker.value = arg0();\n else\n worker.value = arg0;\n worker.value.onmessage = (e) => {\n data.value = e.data;\n };\n tryOnScopeDispose(() => {\n if (worker.value)\n worker.value.terminate();\n });\n }\n return {\n data,\n post,\n terminate,\n worker\n };\n}\n\nfunction jobRunner(userFunc) {\n return (e) => {\n const userFuncArgs = e.data[0];\n return Promise.resolve(userFunc.apply(void 0, userFuncArgs)).then((result) => {\n postMessage([\"SUCCESS\", result]);\n }).catch((error) => {\n postMessage([\"ERROR\", error]);\n });\n };\n}\n\nfunction depsParser(deps) {\n if (deps.length === 0)\n return \"\";\n const depsString = deps.map((dep) => `'${dep}'`).toString();\n return `importScripts(${depsString})`;\n}\n\nfunction createWorkerBlobUrl(fn, deps) {\n const blobCode = `${depsParser(deps)}; onmessage=(${jobRunner})(${fn})`;\n const blob = new Blob([blobCode], { type: \"text/javascript\" });\n const url = URL.createObjectURL(blob);\n return url;\n}\n\nfunction useWebWorkerFn(fn, options = {}) {\n const {\n dependencies = [],\n timeout,\n window = defaultWindow\n } = options;\n const worker = ref();\n const workerStatus = ref(\"PENDING\");\n const promise = ref({});\n const timeoutId = ref();\n const workerTerminate = (status = \"PENDING\") => {\n if (worker.value && worker.value._url && window) {\n worker.value.terminate();\n URL.revokeObjectURL(worker.value._url);\n promise.value = {};\n worker.value = void 0;\n window.clearTimeout(timeoutId.value);\n workerStatus.value = status;\n }\n };\n workerTerminate();\n tryOnScopeDispose(workerTerminate);\n const generateWorker = () => {\n const blobUrl = createWorkerBlobUrl(fn, dependencies);\n const newWorker = new Worker(blobUrl);\n newWorker._url = blobUrl;\n newWorker.onmessage = (e) => {\n const { resolve = () => {\n }, reject = () => {\n } } = promise.value;\n const [status, result] = e.data;\n switch (status) {\n case \"SUCCESS\":\n resolve(result);\n workerTerminate(status);\n break;\n default:\n reject(result);\n workerTerminate(\"ERROR\");\n break;\n }\n };\n newWorker.onerror = (e) => {\n const { reject = () => {\n } } = promise.value;\n e.preventDefault();\n reject(e);\n workerTerminate(\"ERROR\");\n };\n if (timeout) {\n timeoutId.value = setTimeout(\n () => workerTerminate(\"TIMEOUT_EXPIRED\"),\n timeout\n );\n }\n return newWorker;\n };\n const callWorker = (...fnArgs) => new Promise((resolve, reject) => {\n promise.value = {\n resolve,\n reject\n };\n worker.value && worker.value.postMessage([[...fnArgs]]);\n workerStatus.value = \"RUNNING\";\n });\n const workerFn = (...fnArgs) => {\n if (workerStatus.value === \"RUNNING\") {\n console.error(\n \"[useWebWorkerFn] You can only run one instance of the worker at a time.\"\n );\n return Promise.reject();\n }\n worker.value = generateWorker();\n return callWorker(...fnArgs);\n };\n return {\n workerFn,\n workerStatus,\n workerTerminate\n };\n}\n\nfunction useWindowFocus(options = {}) {\n const { window = defaultWindow } = options;\n if (!window)\n return ref(false);\n const focused = ref(window.document.hasFocus());\n useEventListener(window, \"blur\", () => {\n focused.value = false;\n });\n useEventListener(window, \"focus\", () => {\n focused.value = true;\n });\n return focused;\n}\n\nfunction useWindowScroll(options = {}) {\n const { window = defaultWindow, behavior = \"auto\" } = options;\n if (!window) {\n return {\n x: ref(0),\n y: ref(0)\n };\n }\n const internalX = ref(window.scrollX);\n const internalY = ref(window.scrollY);\n const x = computed({\n get() {\n return internalX.value;\n },\n set(x2) {\n scrollTo({ left: x2, behavior });\n }\n });\n const y = computed({\n get() {\n return internalY.value;\n },\n set(y2) {\n scrollTo({ top: y2, behavior });\n }\n });\n useEventListener(\n window,\n \"scroll\",\n () => {\n internalX.value = window.scrollX;\n internalY.value = window.scrollY;\n },\n {\n capture: false,\n passive: true\n }\n );\n return { x, y };\n}\n\nfunction useWindowSize(options = {}) {\n const {\n window = defaultWindow,\n initialWidth = Number.POSITIVE_INFINITY,\n initialHeight = Number.POSITIVE_INFINITY,\n listenOrientation = true,\n includeScrollbar = true\n } = options;\n const width = ref(initialWidth);\n const height = ref(initialHeight);\n const update = () => {\n if (window) {\n if (includeScrollbar) {\n width.value = window.innerWidth;\n height.value = window.innerHeight;\n } else {\n width.value = window.document.documentElement.clientWidth;\n height.value = window.document.documentElement.clientHeight;\n }\n }\n };\n update();\n tryOnMounted(update);\n useEventListener(\"resize\", update, { passive: true });\n if (listenOrientation) {\n const matches = useMediaQuery(\"(orientation: portrait)\");\n watch(matches, () => update());\n }\n return { width, height };\n}\n\nexport { DefaultMagicKeysAliasMap, StorageSerializers, TransitionPresets, computedAsync as asyncComputed, breakpointsAntDesign, breakpointsBootstrapV5, breakpointsMasterCss, breakpointsPrimeFlex, breakpointsQuasar, breakpointsSematic, breakpointsTailwind, breakpointsVuetify, breakpointsVuetifyV2, breakpointsVuetifyV3, cloneFnJSON, computedAsync, computedInject, createFetch, createReusableTemplate, createTemplatePromise, createUnrefFn, customStorageEventName, defaultDocument, defaultLocation, defaultNavigator, defaultWindow, executeTransition, formatTimeAgo, getSSRHandler, mapGamepadToXbox360Controller, onClickOutside, onKeyDown, onKeyPressed, onKeyStroke, onKeyUp, onLongPress, onStartTyping, setSSRHandler, templateRef, unrefElement, useActiveElement, useAnimate, useAsyncQueue, useAsyncState, useBase64, useBattery, useBluetooth, useBreakpoints, useBroadcastChannel, useBrowserLocation, useCached, useClipboard, useClipboardItems, useCloned, useColorMode, useConfirmDialog, useCssVar, useCurrentElement, useCycleList, useDark, useDebouncedRefHistory, useDeviceMotion, useDeviceOrientation, useDevicePixelRatio, useDevicesList, useDisplayMedia, useDocumentVisibility, useDraggable, useDropZone, useElementBounding, useElementByPoint, useElementHover, useElementSize, useElementVisibility, useEventBus, useEventListener, useEventSource, useEyeDropper, useFavicon, useFetch, useFileDialog, useFileSystemAccess, useFocus, useFocusWithin, useFps, useFullscreen, useGamepad, useGeolocation, useIdle, useImage, useInfiniteScroll, useIntersectionObserver, useKeyModifier, useLocalStorage, useMagicKeys, useManualRefHistory, useMediaControls, useMediaQuery, useMemoize, useMemory, useMounted, useMouse, useMouseInElement, useMousePressed, useMutationObserver, useNavigatorLanguage, useNetwork, useNow, useObjectUrl, useOffsetPagination, useOnline, usePageLeave, useParallax, useParentElement, usePerformanceObserver, usePermission, usePointer, usePointerLock, usePointerSwipe, usePreferredColorScheme, usePreferredContrast, usePreferredDark, usePreferredLanguages, usePreferredReducedMotion, usePrevious, useRafFn, useRefHistory, useResizeObserver, useScreenOrientation, useScreenSafeArea, useScriptTag, useScroll, useScrollLock, useSessionStorage, useShare, useSorted, useSpeechRecognition, useSpeechSynthesis, useStepper, useStorage, useStorageAsync, useStyleTag, useSupported, useSwipe, useTemplateRefsList, useTextDirection, useTextSelection, useTextareaAutosize, useThrottledRefHistory, useTimeAgo, useTimeoutPoll, useTimestamp, useTitle, useTransition, useUrlSearchParams, useUserMedia, useVModel, useVModels, useVibrate, useVirtualList, useWakeLock, useWebNotification, useWebSocket, useWebWorker, useWebWorkerFn, useWindowFocus, useWindowScroll, useWindowSize };\n","/*!\n * vue-router v3.6.5\n * (c) 2022 Evan You\n * @license MIT\n */\nimport { getCurrentInstance, effectScope, shallowReactive, onUnmounted, computed, unref } from 'vue';\n\n// dev only warn if no current instance\n\nfunction throwNoCurrentInstance (method) {\n if (!getCurrentInstance()) {\n throw new Error(\n (\"[vue-router]: Missing current instance. \" + method + \"() must be called inside \n\n\n","import { onKeyStroke } from \"@vueuse/core\";\nconst disableKeyboardShortcuts = window.OCP?.Accessibility?.disableKeyboardShortcuts?.();\nconst isMac = /mac|ipad|iphone|darwin/i.test(navigator.userAgent);\nfunction shouldIgnoreEvent(event) {\n if (event.target instanceof HTMLInputElement || event.target instanceof HTMLTextAreaElement || event.target instanceof HTMLSelectElement || event.target?.isContentEditable) {\n return true;\n }\n return document.getElementsByClassName(\"modal-mask\").length !== 0;\n}\nconst eventHandler = (callback, options) => (event) => {\n const ctrlKeyPressed = isMac ? event.metaKey : event.ctrlKey;\n if (ctrlKeyPressed !== Boolean(options.ctrl)) {\n return;\n } else if (event.altKey !== Boolean(options.alt)) {\n return;\n } else if (options.shift !== void 0 && event.shiftKey !== Boolean(options.shift)) {\n return;\n } else if (shouldIgnoreEvent(event)) {\n return;\n }\n if (options.prevent) {\n event.preventDefault();\n }\n if (options.stop) {\n event.stopPropagation();\n }\n callback(event);\n};\nfunction useHotKey(keysOrFilter, callback = () => {\n}, options = {}) {\n if (disableKeyboardShortcuts) {\n return () => {\n };\n }\n const validateKeyEvent = (event, key) => {\n if (options.caseSensitive) {\n return event.key === key;\n }\n return event.key.toLowerCase() === key.toLowerCase();\n };\n const keyFilter = (event) => {\n if (typeof keysOrFilter === \"function\") {\n return keysOrFilter(event);\n } else if (typeof keysOrFilter === \"string\") {\n return validateKeyEvent(event, keysOrFilter);\n } else if (Array.isArray(keysOrFilter)) {\n return keysOrFilter.some((key) => validateKeyEvent(event, key));\n } else {\n return true;\n }\n };\n const stopKeyDown = onKeyStroke(keyFilter, eventHandler(callback, options), {\n eventName: \"keydown\",\n dedupe: true,\n passive: !options.prevent\n });\n const stopKeyUp = options.push ? onKeyStroke(keyFilter, eventHandler(callback, options), {\n eventName: \"keyup\",\n passive: !options.prevent\n }) : () => {\n };\n return () => {\n stopKeyDown();\n stopKeyUp();\n };\n}\nexport {\n useHotKey\n};\n//# sourceMappingURL=useHotKey.mjs.map\n","import '../assets/NcAppNavigationList-DnKj0-Zq.css';\nimport { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcAppNavigationList\"\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"ul\", { staticClass: \"app-navigation-list\" }, [_vm._t(\"default\")], 2);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"058e6060\"\n);\nconst NcAppNavigationList = __component__.exports;\nexport {\n NcAppNavigationList as default\n};\n//# sourceMappingURL=NcAppNavigationList.mjs.map\n","import '../assets/NcAppNavigationToggle-C5IMygw1.css';\nimport NcButton from \"../Components/NcButton.mjs\";\nimport { r as register, E as t18, a as t } from \"./_l10n-Dt0m9Fxw.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nregister(t18);\nconst _sfc_main$2 = {\n name: \"MenuIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$2 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon menu-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$2 = [];\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$2,\n _sfc_render$2,\n _sfc_staticRenderFns$2,\n false,\n null,\n null\n);\nconst MenuIcon = __component__$2.exports;\nconst _sfc_main$1 = {\n name: \"MenuOpenIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$1 = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon menu-open-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M21,15.61L19.59,17L14.58,12L19.59,7L21,8.39L17.44,12L21,15.61M3,6H16V8H3V6M3,13V11H13V13H3M3,18V16H16V18H3Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n null\n);\nconst MenuOpenIcon = __component__$1.exports;\nconst disableKeyboardShortcuts = window.OCP?.Accessibility?.disableKeyboardShortcuts?.();\nconst _sfc_main = {\n name: \"NcAppNavigationToggle\",\n components: {\n NcButton,\n MenuIcon,\n MenuOpenIcon\n },\n props: {\n /**\n * Tracks whether the toggle has been clicked or not.\n * If it has been clicked, switches between the different MenuIcons\n * and emits a boolean indicating its opened status\n */\n open: {\n type: Boolean,\n required: true\n }\n },\n emits: [\"update:open\"],\n setup() {\n return { disableKeyboardShortcuts };\n },\n computed: {\n label() {\n return this.open ? t(\"Close navigation\") : t(\"Open navigation {shortcut}\", { shortcut: disableKeyboardShortcuts ? \"\" : \"[n]\" }).trim();\n }\n },\n methods: {\n /**\n * Once the toggle has been clicked, emits the toggle status\n * so parent components can gauge the status of the navigation button\n */\n toggleNavigation() {\n this.$emit(\"update:open\", !this.open);\n }\n }\n};\nvar _sfc_render = function render3() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"app-navigation-toggle-wrapper\" }, [_c(\"NcButton\", { staticClass: \"app-navigation-toggle\", attrs: { \"aria-controls\": \"app-navigation-vue\", \"aria-expanded\": _vm.open ? \"true\" : \"false\", \"aria-keyshortcuts\": _vm.disableKeyboardShortcuts ? \"\" : \"n\", \"aria-label\": _vm.label, \"title\": _vm.label, \"variant\": \"tertiary\" }, on: { \"click\": _vm.toggleNavigation }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm.open ? _c(\"MenuOpenIcon\", { attrs: { \"size\": 20 } }) : _c(\"MenuIcon\", { attrs: { \"size\": 20 } })];\n }, proxy: true }]) })], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"f7da2749\"\n);\nconst NcAppNavigationToggle = __component__.exports;\nexport {\n NcAppNavigationToggle as N\n};\n//# sourceMappingURL=NcAppNavigationToggle-CjPJB2s3.mjs.map\n","import '../assets/NcAppNavigation-DfTQlVGB.css';\nimport { createFocusTrap } from \"focus-trap\";\nimport { emit, unsubscribe, subscribe } from \"@nextcloud/event-bus\";\nimport { tabbable } from \"tabbable\";\nimport Vue from \"vue\";\nimport { g as getTrapStack } from \"./focusTrap-DmkaYJTC.mjs\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nimport { useHotKey } from \"../Composables/useHotKey.mjs\";\nimport { useIsMobile } from \"../Composables/useIsMobile.mjs\";\nimport NcAppNavigationList from \"../Components/NcAppNavigationList.mjs\";\nimport { N as NcAppNavigationToggle } from \"./NcAppNavigationToggle-CjPJB2s3.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcAppNavigation\",\n components: {\n NcAppNavigationList,\n NcAppNavigationToggle\n },\n // Injected from NcContent\n inject: {\n setHasAppNavigation: {\n default: () => () => Vue.util.warn(\"NcAppNavigation is not mounted inside NcContent, this is probably an error.\"),\n from: \"NcContent:setHasAppNavigation\"\n }\n },\n props: {\n /**\n * The aria label to describe the navigation\n */\n ariaLabel: {\n type: String,\n default: \"\"\n },\n /**\n * aria-labelledby attribute to describe the navigation\n */\n ariaLabelledby: {\n type: String,\n default: \"\"\n }\n },\n setup() {\n return {\n isMobile: useIsMobile()\n };\n },\n data() {\n return {\n open: !this.isMobile,\n focusTrap: null\n };\n },\n watch: {\n isMobile() {\n this.open = !this.isMobile;\n this.toggleFocusTrap();\n },\n open() {\n this.toggleFocusTrap();\n }\n },\n mounted() {\n this.setHasAppNavigation(true);\n subscribe(\"toggle-navigation\", this.toggleNavigationByEventBus);\n emit(\"navigation-toggled\", {\n open: this.open\n });\n this.focusTrap = createFocusTrap(this.$refs.appNavigationContainer, {\n allowOutsideClick: true,\n fallbackFocus: this.$refs.appNavigationContainer,\n trapStack: getTrapStack(),\n escapeDeactivates: false\n });\n this.toggleFocusTrap();\n useHotKey(\"n\", this.onKeyDown, {\n prevent: true,\n stop: true\n });\n },\n unmounted() {\n this.setHasAppNavigation(false);\n unsubscribe(\"toggle-navigation\", this.toggleNavigationByEventBus);\n this.focusTrap.deactivate();\n },\n methods: {\n /**\n * Toggle the navigation\n *\n * @param {boolean} [state] set the state instead of inverting the current one\n */\n async toggleNavigation(state) {\n if (this.open === state) {\n emit(\"navigation-toggled\", {\n open: this.open\n });\n return;\n }\n this.open = typeof state === \"undefined\" ? !this.open : state;\n const bodyStyles = getComputedStyle(document.body);\n const animationLength = parseInt(bodyStyles.getPropertyValue(\"--animation-quick\")) || 100;\n if (this.open) {\n await this.$nextTick();\n this.focusFirstElement();\n }\n setTimeout(() => {\n emit(\"navigation-toggled\", {\n open: this.open\n });\n }, 1.5 * animationLength);\n },\n toggleNavigationByEventBus({ open }) {\n this.toggleNavigation(open);\n },\n /**\n * Activate focus trap if it is currently needed, otherwise deactivate\n */\n toggleFocusTrap() {\n if (this.isMobile && this.open) {\n this.focusTrap.activate();\n } else {\n this.focusTrap.deactivate();\n }\n },\n handleEsc() {\n if (this.isMobile && this.open) {\n this.toggleNavigation(false);\n }\n },\n focusFirstElement() {\n const element = tabbable(this.$refs.appNavigationContainer)[0];\n if (element) {\n element.focus();\n logger.debug(\"Focusing first element in the navigation\", { element });\n }\n },\n onKeyDown(event) {\n if (event.key === \"n\") {\n if (!this.open) {\n this.toggleNavigation(true);\n return;\n }\n if (this.isFocusWithinNavigation()) {\n this.toggleNavigation(false);\n }\n }\n },\n isFocusWithinNavigation() {\n const activeElement = document.activeElement;\n return this.$refs.appNavigationContainer?.contains(activeElement);\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { ref: \"appNavigationContainer\", staticClass: \"app-navigation\", class: { \"app-navigation--close\": !_vm.open } }, [_c(\"nav\", { staticClass: \"app-navigation__content\", attrs: { \"id\": \"app-navigation-vue\", \"aria-hidden\": _vm.open ? \"false\" : \"true\", \"aria-label\": _vm.ariaLabel || void 0, \"aria-labelledby\": _vm.ariaLabelledby || void 0, \"inert\": !_vm.open || void 0 }, on: { \"keydown\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) return null;\n return _vm.handleEsc.apply(null, arguments);\n } } }, [_c(\"div\", { staticClass: \"app-navigation__search\" }, [_vm._t(\"search\")], 2), _c(\"div\", { staticClass: \"app-navigation__body\", class: { \"app-navigation__body--no-list\": !_vm.$scopedSlots.list } }, [_vm._t(\"default\")], 2), _vm.$scopedSlots.list ? _c(\"NcAppNavigationList\", { staticClass: \"app-navigation__list\" }, [_vm._t(\"list\")], 2) : _vm._e(), _vm._t(\"footer\")], 2), _c(\"NcAppNavigationToggle\", { attrs: { \"open\": _vm.open }, on: { \"update:open\": _vm.toggleNavigation } })], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"e8d5a9e1\"\n);\nconst NcAppNavigation = __component__.exports;\nexport {\n NcAppNavigation as N\n};\n//# sourceMappingURL=NcAppNavigation-H8Gvbq5E.mjs.map\n","import { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcVNodes\",\n props: {\n /**\n * The vnodes to render\n */\n vnodes: {\n type: [Array, Object],\n default: null\n }\n },\n /**\n * The render function to display the component\n *\n * @param {Function} h The function to create VNodes\n * @return {object} The created VNode\n */\n render(h) {\n return this.vnodes || this.$slots?.default || this.$scopedSlots?.default?.();\n }\n};\nconst _sfc_render = null;\nconst _sfc_staticRenderFns = null;\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst NcVNodes = __component__.exports;\nexport {\n NcVNodes as default\n};\n//# sourceMappingURL=NcVNodes.mjs.map\n","import { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"ChevronUpIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon chevron-up-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst ChevronUp = __component__.exports;\nexport {\n ChevronUp as C\n};\n//# sourceMappingURL=ChevronUp-C7Dy9Bph.mjs.map\n","import '../assets/NcInputConfirmCancel-BanazdhC.css';\nimport { r as register, s as t12, a as t } from \"./_l10n-Dt0m9Fxw.mjs\";\nimport { A as ArrowRight } from \"./ArrowRight-CY2b9hgN.mjs\";\nimport { C as Close } from \"./Close-BtLPUSdO.mjs\";\nimport NcButton from \"../Components/NcButton.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nregister(t12);\nconst _sfc_main = {\n name: \"NcInputConfirmCancel\",\n components: {\n NcButton,\n ArrowRight,\n Close\n },\n props: {\n /**\n * If this element is used on a primary element set to true for primary styling.\n */\n primary: {\n default: false,\n type: Boolean\n },\n placeholder: {\n default: \"\",\n type: String\n },\n value: {\n default: \"\",\n type: String\n }\n },\n emits: [\n \"input\",\n \"confirm\",\n \"cancel\"\n ],\n data() {\n return {\n labelConfirm: t(\"Confirm changes\"),\n labelCancel: t(\"Cancel changes\")\n };\n },\n computed: {\n valueModel: {\n get() {\n return this.value;\n },\n set(newValue) {\n this.$emit(\"input\", newValue);\n }\n }\n },\n methods: {\n confirm() {\n this.$emit(\"confirm\");\n },\n cancel() {\n this.$emit(\"cancel\");\n },\n focusInput() {\n this.$refs.input.focus();\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"app-navigation-input-confirm\" }, [_c(\"form\", { on: { \"submit\": function($event) {\n $event.preventDefault();\n return _vm.confirm.apply(null, arguments);\n }, \"keydown\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) return null;\n if ($event.ctrlKey || $event.shiftKey || $event.altKey || $event.metaKey) return null;\n $event.stopPropagation();\n $event.preventDefault();\n return _vm.cancel.apply(null, arguments);\n }, \"click\": function($event) {\n $event.stopPropagation();\n $event.preventDefault();\n } } }, [_c(\"input\", { directives: [{ name: \"model\", rawName: \"v-model\", value: _vm.valueModel, expression: \"valueModel\" }], ref: \"input\", staticClass: \"app-navigation-input-confirm__input\", attrs: { \"type\": \"text\", \"placeholder\": _vm.placeholder }, domProps: { \"value\": _vm.valueModel }, on: { \"input\": function($event) {\n if ($event.target.composing) return;\n _vm.valueModel = $event.target.value;\n } } }), _c(\"NcButton\", { attrs: { \"aria-label\": _vm.labelConfirm, \"type\": \"submit\", \"variant\": \"primary\" }, on: { \"click\": function($event) {\n $event.stopPropagation();\n $event.preventDefault();\n return _vm.confirm.apply(null, arguments);\n } }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"ArrowRight\", { attrs: { \"size\": 20 } })];\n }, proxy: true }]) }), _c(\"NcButton\", { attrs: { \"aria-label\": _vm.labelCancel, \"type\": \"reset\", \"variant\": _vm.primary ? \"primary\" : \"tertiary\" }, on: { \"click\": function($event) {\n $event.stopPropagation();\n $event.preventDefault();\n return _vm.cancel.apply(null, arguments);\n } }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"Close\", { attrs: { \"size\": 20 } })];\n }, proxy: true }]) })], 1)]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"ac67c789\"\n);\nconst NcInputConfirmCancel = __component__.exports;\nexport {\n NcInputConfirmCancel as N\n};\n//# sourceMappingURL=NcInputConfirmCancel-CacBXLGS.mjs.map\n","import '../assets/NcAppNavigationItem-CdT6ce8-.css';\nimport { N as NcActions } from \"./NcActions-DEZO46mP.mjs\";\nimport { N as NcActionButton } from \"./NcActionButton-Gpv56vuS.mjs\";\nimport NcLoadingIcon from \"../Components/NcLoadingIcon.mjs\";\nimport NcVNodes from \"../Components/NcVNodes.mjs\";\nimport NcButton from \"../Components/NcButton.mjs\";\nimport { r as register, N as t19, a as t, e as t49, O as t20 } from \"./_l10n-Dt0m9Fxw.mjs\";\nimport { C as ChevronDown } from \"./ChevronDown-DFQfzh63.mjs\";\nimport { C as ChevronUp } from \"./ChevronUp-C7Dy9Bph.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { useIsMobile } from \"../Composables/useIsMobile.mjs\";\nimport { N as NcInputConfirmCancel } from \"./NcInputConfirmCancel-CacBXLGS.mjs\";\nimport { G as GenRandomId } from \"./GenRandomId-CMooMQt0.mjs\";\nregister(t19);\nconst _sfc_main$3 = {\n name: \"NcAppNavigationIconCollapsible\",\n components: {\n NcButton,\n ChevronDown,\n ChevronUp\n },\n props: {\n open: {\n type: Boolean,\n default: true\n }\n },\n emits: [\"click\"],\n computed: {\n labelButton() {\n return this.open ? t(\"Collapse menu\") : t(\"Open menu\");\n }\n },\n methods: {\n onClick(e) {\n this.$emit(\"click\", e);\n }\n }\n};\nvar _sfc_render$3 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"NcButton\", { staticClass: \"icon-collapse\", class: { \"icon-collapse--open\": _vm.open }, attrs: { \"aria-label\": _vm.labelButton, \"variant\": \"tertiary\" }, on: { \"click\": _vm.onClick }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm.open ? _c(\"ChevronUp\", { attrs: { \"size\": 20 } }) : _c(\"ChevronDown\", { attrs: { \"size\": 20 } })];\n }, proxy: true }]) });\n};\nvar _sfc_staticRenderFns$3 = [];\nvar __component__$3 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$3,\n _sfc_render$3,\n _sfc_staticRenderFns$3,\n false,\n null,\n \"607590bd\"\n);\nconst NcAppNavigationIconCollapsible = __component__$3.exports;\nregister(t20, t49);\nconst _sfc_main$2 = {\n name: \"PencilIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$2 = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon pencil-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$2 = [];\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$2,\n _sfc_render$2,\n _sfc_staticRenderFns$2,\n false,\n null,\n null\n);\nconst Pencil = __component__$2.exports;\nconst _sfc_main$1 = {\n name: \"UndoIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$1 = function render3() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon undo-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M12.5,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n null\n);\nconst Undo = __component__$1.exports;\nconst _sfc_main = {\n name: \"NcAppNavigationItem\",\n components: {\n NcActions,\n NcActionButton,\n NcAppNavigationIconCollapsible,\n NcInputConfirmCancel,\n NcLoadingIcon,\n NcVNodes,\n Pencil,\n Undo\n },\n props: {\n /**\n * If you are not using vue-router you can use the property to set this item as the active navigation entry.\n * When using vue-router and the `to` property this is set automatically.\n */\n active: {\n type: Boolean,\n default: false\n },\n /**\n * The main text content of the entry.\n */\n name: {\n type: String,\n required: true\n },\n /**\n * The title attribute of the element.\n */\n title: {\n type: String,\n default: null\n },\n /**\n * id attribute of the list item element\n */\n id: {\n type: String,\n default: () => \"app-navigation-item-\" + GenRandomId(),\n validator: (id) => id.trim() !== \"\"\n },\n /**\n * Refers to the icon on the left, this prop accepts a class\n * like 'icon-category-enabled'.\n */\n icon: {\n type: String,\n default: \"\"\n },\n /**\n * Displays a loading animated icon on the left of the element\n * instead of the icon.\n */\n loading: {\n type: Boolean,\n default: false\n },\n /**\n * Passing in a route will make the root element of this\n * component a `` that points to that route.\n * By leaving this blank, the root element will be a `
  • `.\n */\n to: {\n type: [String, Object],\n default: null\n },\n /**\n * A direct link. This will be used as the `href` attribute.\n * This will ignore any `to` prop being defined.\n */\n href: {\n type: String,\n default: null\n },\n /**\n * Pass in `true` if you want the matching behaviour to\n * be non-inclusive: https://router.vuejs.org/api/#exact\n */\n exact: {\n type: Boolean,\n default: false\n },\n /**\n * Gives the possibility to collapse the children elements into the\n * parent element (true) or expands the children elements (false).\n */\n allowCollapse: {\n type: Boolean,\n default: false\n },\n /**\n * Makes the name of the item editable by providing an `ActionButton`\n * component that toggles a form\n */\n editable: {\n type: Boolean,\n default: false\n },\n /**\n * Only for 'editable' items, sets label for the edit action button.\n */\n editLabel: {\n type: String,\n default: \"\"\n },\n /**\n * Only for items in 'editable' mode, sets the placeholder text for the editing form.\n */\n editPlaceholder: {\n type: String,\n default: \"\"\n },\n /**\n * Pins the item to the bottom left area, above the settings. Do not\n * place 'non-pinned' `AppnavigationItem` components below `pinned`\n * ones.\n */\n pinned: {\n type: Boolean,\n default: false\n },\n /**\n * Puts the item in the 'undo' state.\n */\n undo: {\n type: Boolean,\n default: false\n },\n /**\n * The navigation collapsible state (synced)\n */\n open: {\n type: Boolean,\n default: false\n },\n /**\n * The actions menu open state (synced)\n */\n menuOpen: {\n type: Boolean,\n default: false\n },\n /**\n * Force the actions to display in a three dot menu\n */\n forceMenu: {\n type: Boolean,\n default: false\n },\n /**\n * The action's menu default icon\n */\n menuIcon: {\n type: String,\n default: void 0\n },\n /**\n * The action's menu direction\n */\n menuPlacement: {\n type: String,\n default: \"bottom\"\n },\n /**\n * Entry aria details\n */\n ariaDescription: {\n type: String,\n default: null\n },\n /**\n * To be used only when the elements in the actions menu are very important\n */\n forceDisplayActions: {\n type: Boolean,\n default: false\n },\n /**\n * Number of action items outside the menu\n */\n inlineActions: {\n type: Number,\n default: 0\n }\n },\n emits: [\n \"update:menuOpen\",\n \"update:open\",\n \"update:name\",\n \"click\",\n \"undo\"\n ],\n setup() {\n return {\n isMobile: useIsMobile()\n };\n },\n data() {\n return {\n editingValue: \"\",\n opened: this.open,\n // Collapsible state\n editingActive: false,\n /**\n * Tracks the open state of the actions menu\n */\n menuOpenLocalValue: false,\n focused: false,\n actionsBoundariesElement: void 0\n };\n },\n computed: {\n isRouterLink() {\n return this.to && !this.href;\n },\n // Checks if the component is already a children of another\n // instance of AppNavigationItem\n canHaveChildren() {\n if (this.$parent.$options._componentTag === \"AppNavigationItem\") {\n return false;\n } else {\n return true;\n }\n },\n hasUtils() {\n if (this.$scopedSlots.actions || this.$scopedSlots.counter || this.editable || this.undo) {\n return true;\n }\n return false;\n },\n editButtonAriaLabel() {\n return this.editLabel ? this.editLabel : t(\"Edit item\");\n },\n undoButtonAriaLabel() {\n return t(\"Undo changes\");\n }\n },\n watch: {\n open(newVal) {\n this.opened = newVal;\n }\n },\n mounted() {\n this.actionsBoundariesElement = document.querySelector(\"#content-vue\") || void 0;\n },\n methods: {\n // sync opened menu state with prop\n onMenuToggle(state) {\n this.$emit(\"update:menuOpen\", state);\n this.menuOpenLocalValue = state;\n },\n // toggle the collapsible state\n toggleCollapse() {\n this.opened = !this.opened;\n this.$emit(\"update:open\", this.opened);\n },\n /**\n * Handle link click\n *\n * @param {PointerEvent} event - Native click event\n * @param {Function} [navigate] - VueRouter link's navigate if any\n * @param {string} [routerLinkHref] - VueRouter link's href\n */\n onClick(event, navigate, routerLinkHref) {\n this.$emit(\"click\", event);\n if (event.metaKey || event.altKey || event.ctrlKey || event.shiftKey) {\n return;\n }\n if (routerLinkHref) {\n navigate?.(event);\n event.preventDefault();\n }\n },\n // Edition methods\n handleEdit() {\n this.editingValue = this.name;\n this.editingActive = true;\n this.onMenuToggle(false);\n this.$nextTick(() => {\n this.$refs.editingInput.focusInput();\n });\n },\n cancelEditing() {\n this.editingActive = false;\n },\n handleEditingDone() {\n this.$emit(\"update:name\", this.editingValue);\n this.editingValue = \"\";\n this.editingActive = false;\n },\n // Undo methods\n handleUndo() {\n this.$emit(\"undo\");\n },\n /**\n * Does this item have children and is collapsing allowed via the prop?\n *\n * @return {boolean} True, if the item can be collapsed\n */\n isCollapsible() {\n return this.allowCollapse && !!this.$scopedSlots.default;\n },\n /**\n * Show actions upon focus\n */\n handleFocus() {\n this.focused = true;\n },\n handleBlur() {\n this.focused = false;\n },\n /**\n * This method checks if the root element of the component is focused and\n * if that's the case it focuses the actions button if available\n *\n * @param {Event} e the keydown event\n */\n handleTab(e) {\n if (!this.$refs.actions) {\n return;\n }\n if (this.focused) {\n e.preventDefault();\n this.$refs.actions.$refs.triggerButton.$el.focus();\n this.focused = false;\n } else {\n this.$refs.actions.$refs.triggerButton.$el.blur();\n }\n },\n /**\n * Is this an external link\n *\n * @param {string} href The link to check\n * @return {boolean} Whether it is external or not\n */\n isExternal(href) {\n return href && href.match(/[a-z]+:\\/\\//i);\n }\n }\n};\nvar _sfc_render = function render4() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"li\", { staticClass: \"app-navigation-entry-wrapper\", class: {\n \"app-navigation-entry--opened\": _vm.opened,\n \"app-navigation-entry--pinned\": _vm.pinned,\n \"app-navigation-entry--collapsible\": _vm.isCollapsible()\n }, attrs: { \"id\": _vm.id } }, [_c(_vm.isRouterLink ? \"router-link\" : \"NcVNodes\", { tag: \"component\", attrs: { \"custom\": _vm.isRouterLink ? true : false, \"to\": _vm.to, \"exact\": _vm.isRouterLink ? _vm.exact : null }, scopedSlots: _vm._u([{ key: \"default\", fn: function({ href: routerLinkHref, navigate, isActive }) {\n return [_c(\"div\", { staticClass: \"app-navigation-entry\", class: {\n \"app-navigation-entry--editing\": _vm.editingActive,\n \"app-navigation-entry--deleted\": _vm.undo,\n \"active\": isActive && _vm.to || _vm.active\n } }, [!_vm.undo ? _c(\"a\", { staticClass: \"app-navigation-entry-link\", attrs: { \"aria-current\": _vm.active || isActive && _vm.to ? \"page\" : void 0, \"aria-description\": _vm.ariaDescription, \"aria-expanded\": _vm.$scopedSlots.default ? _vm.opened.toString() : void 0, \"href\": _vm.href || routerLinkHref || \"#\", \"target\": _vm.isExternal(_vm.href) ? \"_blank\" : void 0, \"title\": _vm.title || _vm.name }, on: { \"blur\": _vm.handleBlur, \"click\": function($event) {\n return _vm.onClick($event, navigate, routerLinkHref);\n }, \"focus\": _vm.handleFocus, \"keydown\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"tab\", 9, $event.key, \"Tab\")) return null;\n if ($event.ctrlKey || $event.shiftKey || $event.altKey || $event.metaKey) return null;\n return _vm.handleTab.apply(null, arguments);\n } } }, [_c(\"div\", { staticClass: \"app-navigation-entry-icon\", class: { [_vm.icon]: _vm.icon } }, [_vm.loading ? _c(\"NcLoadingIcon\") : _vm._t(\"icon\")], 2), !_vm.editingActive ? _c(\"span\", { staticClass: \"app-navigation-entry__name\" }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \")]) : _vm._e(), _vm.editingActive ? _c(\"div\", { staticClass: \"editingContainer\" }, [_c(\"NcInputConfirmCancel\", { ref: \"editingInput\", attrs: { \"placeholder\": _vm.editPlaceholder !== \"\" ? _vm.editPlaceholder : _vm.name, \"primary\": isActive && _vm.to || _vm.active }, on: { \"cancel\": _vm.cancelEditing, \"confirm\": _vm.handleEditingDone }, model: { value: _vm.editingValue, callback: function($$v) {\n _vm.editingValue = $$v;\n }, expression: \"editingValue\" } })], 1) : _vm._e()]) : _vm._e(), _vm.undo ? _c(\"div\", { staticClass: \"app-navigation-entry__deleted\" }, [_c(\"div\", { staticClass: \"app-navigation-entry__deleted-description\" }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \")])]) : _vm._e(), _vm.hasUtils && !_vm.editingActive ? _c(\"div\", { staticClass: \"app-navigation-entry__utils\", class: { \"app-navigation-entry__utils--display-actions\": _vm.forceDisplayActions || _vm.menuOpenLocalValue || _vm.menuOpen } }, [_vm.$scopedSlots.counter ? _c(\"div\", { staticClass: \"app-navigation-entry__counter-wrapper\" }, [_vm._t(\"counter\")], 2) : _vm._e(), _vm.$scopedSlots.actions || _vm.editable && !_vm.editingActive || _vm.undo ? _c(\"NcActions\", { ref: \"actions\", staticClass: \"app-navigation-entry__actions\", attrs: { \"inline\": _vm.inlineActions, \"container\": \"#app-navigation-vue\", \"boundaries-element\": _vm.actionsBoundariesElement, \"placement\": _vm.menuPlacement, \"open\": _vm.menuOpen, \"type\": isActive && _vm.to || _vm.active ? \"primary\" : null, \"force-menu\": _vm.forceMenu, \"default-icon\": _vm.menuIcon }, on: { \"update:open\": _vm.onMenuToggle }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm._t(\"menu-icon\")];\n }, proxy: true }], null, true) }, [_vm.editable && !_vm.editingActive ? _c(\"NcActionButton\", { attrs: { \"aria-label\": _vm.editButtonAriaLabel }, on: { \"click\": _vm.handleEdit }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"Pencil\", { attrs: { \"size\": 20 } })];\n }, proxy: true }], null, true) }, [_vm._v(\" \" + _vm._s(_vm.editLabel) + \" \")]) : _vm._e(), _vm.undo ? _c(\"NcActionButton\", { attrs: { \"aria-label\": _vm.undoButtonAriaLabel }, on: { \"click\": _vm.handleUndo }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"Undo\", { attrs: { \"size\": 20 } })];\n }, proxy: true }], null, true) }) : _vm._e(), _vm._t(\"actions\")], 2) : _vm._e()], 1) : _vm._e(), _vm.isCollapsible() ? _c(\"NcAppNavigationIconCollapsible\", { attrs: { \"open\": _vm.opened }, on: { \"click\": function($event) {\n $event.preventDefault();\n $event.stopPropagation();\n return _vm.toggleCollapse.apply(null, arguments);\n } } }) : _vm._e(), _vm._t(\"extra\")], 2)];\n } }], null, true) }), _vm.canHaveChildren && _vm.$scopedSlots.default ? _c(\"ul\", { staticClass: \"app-navigation-entry__children\" }, [_vm._t(\"default\")], 2) : _vm._e()], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"54906a49\"\n);\nconst NcAppNavigationItem = __component__.exports;\nexport {\n NcAppNavigationItem as N\n};\n//# sourceMappingURL=NcAppNavigationItem-CjhP63uG.mjs.map\n","const clickOutsideOptions = {\n props: {\n /**\n * A query-selector or an array of query-selectors\n * to be ignored when clicking outside an element\n */\n excludeClickOutsideSelectors: {\n type: [String, Array],\n default: () => []\n }\n },\n computed: {\n clickOutsideOptions() {\n const excludedQuerySelectors = Array.isArray(this.excludeClickOutsideSelectors) ? this.excludeClickOutsideSelectors : [this.excludeClickOutsideSelectors];\n return { ignore: excludedQuerySelectors };\n }\n }\n};\nexport {\n clickOutsideOptions as default\n};\n//# sourceMappingURL=clickOutsideOptions.mjs.map\n","import '../assets/NcMentionBubble-CB5c5ue2.css';\nimport '../assets/NcAppNavigationSettings-vd47rlNY.css';\nimport { r as register, x as t45, a as t } from \"./_l10n-Dt0m9Fxw.mjs\";\nimport clickOutsideOptions from \"../Mixins/clickOutsideOptions.mjs\";\nimport \"../Composables/useIsFullscreen.mjs\";\nimport \"../Composables/useIsMobile.mjs\";\nimport \"@nextcloud/router\";\n/* empty css */\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport \"escape-html\";\nimport \"striptags\";\nimport \"vue\";\nimport \"@nextcloud/auth\";\nimport \"@nextcloud/axios\";\nimport \"@nextcloud/capabilities\";\nimport { vOnClickOutside } from \"@vueuse/components\";\nregister(t45);\nconst _sfc_main$1 = {\n name: \"CogIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$1 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon cog-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n null\n);\nconst Cog = __component__$1.exports;\nconst _sfc_main = {\n directives: {\n ClickOutside: vOnClickOutside\n },\n components: {\n Cog\n },\n mixins: [\n clickOutsideOptions\n ],\n props: {\n name: {\n type: String,\n required: false,\n default: t(\"Settings\")\n }\n },\n data() {\n return {\n open: false\n };\n },\n computed: {\n clickOutsideConfig() {\n return [\n this.closeMenu,\n this.clickOutsideOptions\n ];\n }\n },\n methods: {\n toggleMenu() {\n this.open = !this.open;\n },\n closeMenu() {\n this.open = false;\n }\n }\n};\nvar _sfc_render = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { directives: [{ name: \"click-outside\", rawName: \"v-click-outside\", value: _vm.clickOutsideConfig, expression: \"clickOutsideConfig\" }], class: { open: _vm.open }, attrs: { \"id\": \"app-settings\" } }, [_c(\"div\", { attrs: { \"id\": \"app-settings__header\" } }, [_c(\"button\", { staticClass: \"settings-button\", attrs: { \"type\": \"button\", \"aria-expanded\": _vm.open ? \"true\" : \"false\", \"aria-controls\": \"app-settings__content\" }, on: { \"click\": _vm.toggleMenu } }, [_c(\"Cog\", { staticClass: \"settings-button__icon\", attrs: { \"size\": 20 } }), _c(\"span\", { staticClass: \"settings-button__label\" }, [_vm._v(_vm._s(_vm.name))])], 1)]), _c(\"Transition\", { attrs: { \"name\": \"slide-up\" } }, [_c(\"div\", { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.open, expression: \"open\" }], attrs: { \"id\": \"app-settings__content\" } }, [_vm._t(\"default\")], 2)])], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"d278a327\"\n);\nconst NcAppNavigationSettings = __component__.exports;\nexport {\n NcAppNavigationSettings as N\n};\n//# sourceMappingURL=NcAppNavigationSettings-t9JntjoG.mjs.map\n","\n\n","\n\n\n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { RouteConfig } from 'vue-router'\nimport ActivityAppFeed from './views/ActivityAppFeed.vue'\nimport ActivityAppNavigation from './views/ActivityAppNavigation.vue'\n\nexport const routes = [\n\t{\n\t\tpath: '/',\n\t\tname: 'root',\n\t\tredirect: { path: '/all' },\n\t},\n\t{\n\t\tpath: '/:filter?',\n\t\tcomponents: {\n\t\t\tdefault: ActivityAppFeed,\n\t\t\tnavigation: ActivityAppNavigation,\n\t\t},\n\t\tprops: {\n\t\t\tdefault: true,\n\t\t},\n\t},\n] as RouteConfig[]\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport Vue from 'vue'\nimport VueRouter from 'vue-router'\nimport ActivityApp from './views/ActivityApp.vue'\n\nimport { translate, translatePlural } from '@nextcloud/l10n'\nimport { generateUrl } from '@nextcloud/router'\n\nimport { routes } from './routes'\n\n// Set up Vue\nVue.prototype.t = translate\nVue.prototype.n = translatePlural\n\nVue.use(VueRouter)\n\nconst router = new VueRouter({\n\tmode: 'history',\n\tbase: generateUrl('/apps/activity'),\n\tlinkActiveClass: 'active',\n\troutes,\n})\n\nexport default new Vue({\n\tel: '#content',\n\t// eslint-disable-next-line vue/match-component-file-name\n\tname: 'ActivityRoot',\n\trouter,\n\trender: h => h(ActivityApp),\n})\n"],"names":["urlAlphabet","nanoid","size","id","_typeof","obj","config","setSelector","selector","isBrowser","TargetContainer","Vue","vm","h","nodes","el","Portal","_this","disabled","parent","child","targetEl","install","_Vue","options","register","t28","contentSvg","navigationSvg","_sfc_main","NcButton","NcIconSvgWrapper","useIsMobile","container","t","emit","value","_sfc_render","_vm","_c","$event","_sfc_staticRenderFns","__component__","normalizeComponent","NcContent","__defProp","__defProps","__getOwnPropDescs","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","key","__spreadValues","a","b","prop","__spreadProps","__objRest","source","exclude","target","scriptExports","render2","staticRenderFns2","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","originalRender","context","existing","__vue2_script$1","pane2","event","splitterIndex","totalMinSizes","i","paneId","rect","clientX","clientY","drag","containerSize","sums","minDrag","maxDrag","dragPercentage","panesToResize","paneBefore","paneAfter","paneBeforeMaxReached","paneAfterMaxReached","vars","total","p","isPane","isSplitter","paneIndex","nextPaneNode","isVeryFirst","elm","node","children","_a","_b","args","index","min","max","pane3","removed","changedPanes","equalSpace","leftToAllocate","ungrowable","unshrinkable","definedSizes","leftToAllocate2","addedPane","removedPane","equalSpaceToAllocate","newPaneSize","allocated","enable","splitter","__vue2_render","__vue2_staticRenderFns","__cssModules$1","__component__$1","__vue2_injectStyles$1","o","splitpanes","render","_h","staticRenderFns","__vue2_script","style","__cssModules","__vue2_injectStyles","pane","ArrowRight","ArrowLeft","t25","_sfc_main$1","isRtl","hide","appNavigationToggle","_sfc_render$1","_sfc_staticRenderFns$1","NcAppDetailsToggle","browserStorage","getBuilder","productName","loadState","activeApp","appName","localizedAppName","Pane","Splitpanes","entries","useSwipe","e","direction","listPaneSize","NcAppContent","ChevronDown","$placeholder","$fakeParent","$nextSiblingPatched","$childNodesPatched","isFrag","parentNodeDescriptor","patchParentNode","fakeParent","nextSiblingDescriptor","childNodes","patchNextSibling","getTopFragment","fromParent","_node","parentNode","getChildNodes","getChildNodesWithFragments","_childNodesDescriptor","realChildNodes","childNode","childNodesDescriptor","firstChildDescriptor","hasChildNodes","patchChildNodes","before","_this$frag$","remove","frag","getFragmentLeafNodes","_Array$prototype","addPlaceholder","insertBeforeNode","placeholder","removeChild","hasChildInFragment","_this$frag$splice","removedNode","hasChild","insertBefore","insertNode","insertNodes","_frag","_lastNode","removePlaceholder","lastNode","appendChild","lastChild","innerHTMLDescriptor","htmlString","_this2","domify","element","nextSibling","previousSibling","fragment","dateText","computed","today","moment","yesterday","first","props","fullDate","formatted","appIconSVG","tryOnScopeDispose","fn","getCurrentScope","onScopeDispose","toValue","r","unref","isClient","notNullish","val","toString","isObject","noop","createFilterWrapper","filter","wrapper","resolve","reject","debounceFilter","ms","timer","maxTimer","lastRejector","_clearTimeout","timer2","invoke","duration","maxDuration","throttleFilter","lastExec","isLeading","lastValue","trailing","leading","rejectOnCancel","isRef","clear","_invoke","elapsed","getLifeCycleTarget","getCurrentInstance","useDebounceFn","useThrottleFn","tryOnMounted","sync","onMounted","nextTick","unrefElement","elRef","plain","defaultWindow","useEventListener","events","listeners","cleanups","cleanup","listener","options2","stopWatch","watch","optionsClone","stop","useMounted","isMounted","ref","useSupported","callback","useIntersectionObserver","root","rootMargin","threshold","window","immediate","isSupported","targets","_target","isActive","targets2","root2","observer","useElementVisibility","scrollTarget","elementIsVisible","intersectionObserverEntries","isIntersecting","latestTime","entry","ARRIVED_STATE_THRESHOLD_PIXELS","useScroll","throttle","idle","onStop","onScroll","offset","eventListenerOptions","behavior","onError","internalX","internalY","x","x2","scrollTo","y","y2","_x","_y","_element","isScrolling","arrivedState","reactive","directions","onScrollEnd","onScrollEndDebounced","setArrivedState","display","flexDirection","scrollLeft","left","right","scrollTop","top","bottom","onScrollHandler","eventTarget","resolveElement","useInfiniteScroll","onLoadMore","interval","canLoadMore","state","promise","isLoading","observedElement","isElementVisible","checkAndLoad","scrollHeight","clientHeight","scrollWidth","clientWidth","isNarrower","useRoute","route","effectScope","shallowReactive","to","navigationList","loading","hasMoreActivites","allActivities","lastActivityLoaded","loadActivities","groupedActivities","groups","activity","date","headingTitle","navigationEl","since","response","ncAxios","generateOcsUrl","raw","ActivityModel","error","axios","logger","showError","disableKeyboardShortcuts","isMac","shouldIgnoreEvent","eventHandler","useHotKey","keysOrFilter","validateKeyEvent","keyFilter","stopKeyDown","onKeyStroke","stopKeyUp","NcAppNavigationList","t18","_sfc_main$2","_sfc_render$2","_sfc_staticRenderFns$2","__component__$2","MenuIcon","MenuOpenIcon","NcAppNavigationToggle","subscribe","createFocusTrap","getTrapStack","unsubscribe","bodyStyles","animationLength","open","tabbable","activeElement","NcAppNavigation","NcVNodes","ChevronUp","t12","Close","newValue","NcInputConfirmCancel","t19","_sfc_main$3","_sfc_render$3","_sfc_staticRenderFns$3","__component__$3","NcAppNavigationIconCollapsible","t20","t49","Pencil","Undo","NcActions","NcActionButton","NcLoadingIcon","GenRandomId","newVal","navigate","routerLinkHref","href","$$v","NcAppNavigationItem","clickOutsideOptions","t45","Cog","vOnClickOutside","NcAppNavigationSettings","initialRSSLink","personalSettingsLink","rssLink","hasRSSLink","toggleRSSLink","data","generateUrl","copyRSSLink","showSuccess","routes","ActivityAppFeed","ActivityAppNavigation","translate","translatePlural","VueRouter","router","ActivityApp"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,11,12,13,14,15,17,18,19,20,21,22,23,24,25,26,27]} \ No newline at end of file +{"version":3,"file":"activity-app.mjs","sources":["../node_modules/nanoid/non-secure/index.js","../node_modules/@linusborg/vue-simple-portal/dist/index.esm.js","../node_modules/@nextcloud/vue/dist/chunks/NcContent-Cfz3ytoh.mjs","../node_modules/splitpanes/dist/splitpanes.es.js","../node_modules/@nextcloud/vue/dist/chunks/ArrowRight-CY2b9hgN.mjs","../node_modules/@nextcloud/vue/dist/chunks/ArrowLeft-DuT2LZOm.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppContent-DyXqBrOB.mjs","../node_modules/@nextcloud/vue/dist/chunks/ChevronDown-DFQfzh63.mjs","../node_modules/vue-frag/dist/frag.esm.js","../src/components/ActivityGroup.vue","../img/activity-dark.svg?raw","../node_modules/@vueuse/shared/node_modules/vue-demi/lib/index.mjs","../node_modules/@vueuse/shared/index.mjs","../node_modules/@vueuse/core/node_modules/vue-demi/lib/index.mjs","../node_modules/@vueuse/core/index.mjs","../node_modules/vue-router/composables.mjs","../src/views/ActivityAppFeed.vue","../node_modules/@nextcloud/vue/dist/Composables/useHotKey.mjs","../node_modules/@nextcloud/vue/dist/Components/NcAppNavigationList.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationToggle-CUdNQwyN.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigation-CqKWSnxO.mjs","../node_modules/@nextcloud/vue/dist/Components/NcVNodes.mjs","../node_modules/@nextcloud/vue/dist/chunks/ChevronUp-C7Dy9Bph.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcInputConfirmCancel-Dhbj3Gad.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationItem-CrTVtqYV.mjs","../node_modules/@nextcloud/vue/dist/Mixins/clickOutsideOptions.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationSettings-JruJ3cF1.mjs","../node_modules/vue-material-design-icons/ContentCopy.vue","../src/views/ActivityAppNavigation.vue","../src/routes.ts","../src/app.ts"],"sourcesContent":["// This alphabet uses `A-Za-z0-9_-` symbols.\n// The order of characters is optimized for better gzip and brotli compression.\n// References to the same file (works both for gzip and brotli):\n// `'use`, `andom`, and `rict'`\n// References to the brotli default dictionary:\n// `-26T`, `1983`, `40px`, `75px`, `bush`, `jack`, `mind`, `very`, and `wolf`\nlet urlAlphabet =\n 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'\n\nlet customAlphabet = (alphabet, defaultSize = 21) => {\n return (size = defaultSize) => {\n let id = ''\n // A compact alternative for `for (var i = 0; i < step; i++)`.\n let i = size | 0\n while (i--) {\n // `| 0` is more compact and faster than `Math.floor()`.\n id += alphabet[(Math.random() * alphabet.length) | 0]\n }\n return id\n }\n}\n\nlet nanoid = (size = 21) => {\n let id = ''\n // A compact alternative for `for (var i = 0; i < step; i++)`.\n let i = size | 0\n while (i--) {\n // `| 0` is more compact and faster than `Math.floor()`.\n id += urlAlphabet[(Math.random() * 64) | 0]\n }\n return id\n}\n\nexport { nanoid, customAlphabet }\n","\n/**\n * vue-simple-portal\n * version: 0.1.5,\n * (c) Thorsten Lünborg, 2021 - present\n * LICENCE: Apache-2.0\n * http://github.com/linusborg/vue-simple-portal\n*/\nimport Vue from 'vue';\nimport { nanoid } from 'nanoid/non-secure';\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nvar config = {\n selector: \"vue-portal-target-\".concat(nanoid())\n};\nvar setSelector = function setSelector(selector) {\n return config.selector = selector;\n};\nvar isBrowser = typeof window !== 'undefined' && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) !== undefined;\n\nvar TargetContainer = Vue.extend({\n // as an abstract component, it doesn't appear in\n // the $parent chain of components.\n // which means the next parent of any component rendered inside of this oen\n // will be the parent from which is was sent\n // @ts-expect-error\n abstract: true,\n name: 'PortalOutlet',\n props: ['nodes', 'tag'],\n data: function data(vm) {\n return {\n updatedNodes: vm.nodes\n };\n },\n render: function render(h) {\n var nodes = this.updatedNodes && this.updatedNodes();\n if (!nodes) return h();\n return nodes.length === 1 && !nodes[0].text ? nodes : h(this.tag || 'DIV', nodes);\n },\n destroyed: function destroyed() {\n var el = this.$el;\n el && el.parentNode.removeChild(el);\n }\n});\n\nvar Portal = Vue.extend({\n name: 'VueSimplePortal',\n props: {\n disabled: {\n type: Boolean\n },\n prepend: {\n type: Boolean\n },\n selector: {\n type: String,\n default: function _default() {\n return \"#\".concat(config.selector);\n }\n },\n tag: {\n type: String,\n default: 'DIV'\n }\n },\n render: function render(h) {\n if (this.disabled) {\n var nodes = this.$scopedSlots && this.$scopedSlots.default();\n if (!nodes) return h();\n return nodes.length < 2 && !nodes[0].text ? nodes : h(this.tag, nodes);\n }\n\n return h();\n },\n created: function created() {\n if (!this.getTargetEl()) {\n this.insertTargetEl();\n }\n },\n updated: function updated() {\n var _this = this;\n\n // We only update the target container component\n // if the scoped slot function is a fresh one\n // The new slot syntax (since Vue 2.6) can cache unchanged slot functions\n // and we want to respect that here.\n this.$nextTick(function () {\n if (!_this.disabled && _this.slotFn !== _this.$scopedSlots.default) {\n _this.container.updatedNodes = _this.$scopedSlots.default;\n }\n\n _this.slotFn = _this.$scopedSlots.default;\n });\n },\n beforeDestroy: function beforeDestroy() {\n this.unmount();\n },\n watch: {\n disabled: {\n immediate: true,\n handler: function handler(disabled) {\n disabled ? this.unmount() : this.$nextTick(this.mount);\n }\n }\n },\n methods: {\n // This returns the element into which the content should be mounted.\n getTargetEl: function getTargetEl() {\n if (!isBrowser) return;\n return document.querySelector(this.selector);\n },\n insertTargetEl: function insertTargetEl() {\n if (!isBrowser) return;\n var parent = document.querySelector('body');\n var child = document.createElement(this.tag);\n child.id = this.selector.substring(1);\n parent.appendChild(child);\n },\n mount: function mount() {\n if (!isBrowser) return;\n var targetEl = this.getTargetEl();\n var el = document.createElement('DIV');\n\n if (this.prepend && targetEl.firstChild) {\n targetEl.insertBefore(el, targetEl.firstChild);\n } else {\n targetEl.appendChild(el);\n }\n\n this.container = new TargetContainer({\n el: el,\n parent: this,\n propsData: {\n tag: this.tag,\n nodes: this.$scopedSlots.default\n }\n });\n },\n unmount: function unmount() {\n if (this.container) {\n this.container.$destroy();\n delete this.container;\n }\n }\n }\n});\n\nfunction install(_Vue) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _Vue.component(options.name || 'portal', Portal);\n\n if (options.defaultSelector) {\n setSelector(options.defaultSelector);\n }\n}\n\nif (typeof window !== 'undefined' && window.Vue && window.Vue === Vue) {\n // plugin was inlcuded directly in a browser\n Vue.use(install);\n}\n\nexport default install;\nexport { Portal, config, setSelector };\n","import '../assets/NcContent-Bq-7EZQc.css';\nimport { emit } from \"@nextcloud/event-bus\";\nimport { Portal } from \"@linusborg/vue-simple-portal\";\nimport { useIsMobile } from \"../Composables/useIsMobile.mjs\";\nimport { r as register, H as t28, a as t } from \"./_l10n-DQgzdF9S.mjs\";\nimport NcButton from \"../Components/NcButton.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-Cb-cPj1R.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nregister(t28);\nconst contentSvg = '\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n';\nconst navigationSvg = '\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n';\nconst _sfc_main = {\n name: \"NcContent\",\n components: {\n NcButton,\n NcIconSvgWrapper,\n Teleport: Portal\n },\n provide() {\n return {\n \"NcContent:setHasAppNavigation\": this.setAppNavigation,\n \"NcContent:selector\": \"#content-vue\"\n };\n },\n props: {\n appName: {\n type: String,\n required: true\n }\n },\n setup() {\n const isMobile = useIsMobile();\n return {\n isMobile\n };\n },\n data() {\n return {\n hasAppNavigation: false,\n currentFocus: \"\"\n // unknown\n };\n },\n computed: {\n currentImage() {\n if (this.currentFocus === \"navigation\") {\n return navigationSvg;\n }\n return contentSvg;\n }\n },\n beforeMount() {\n const container = document.getElementById(\"skip-actions\");\n if (container) {\n container.innerHTML = \"\";\n container.classList.add(\"vue-skip-actions\");\n }\n },\n methods: {\n t,\n openAppNavigation() {\n emit(\"toggle-navigation\", { open: true });\n this.$nextTick(() => {\n window.location.hash = \"app-navigation-vue\";\n document.getElementById(\"app-navigation-vue\").focus();\n });\n },\n setAppNavigation(value) {\n this.hasAppNavigation = value;\n if (this.currentFocus === \"\") {\n this.currentFocus = \"navigation\";\n }\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { class: [\"content\", `app-${_vm.appName.toLowerCase()}`], attrs: { \"id\": \"content-vue\" } }, [_c(\"Teleport\", { attrs: { \"selector\": \"#skip-actions\" } }, [_c(\"div\", { staticClass: \"vue-skip-actions__container\" }, [_c(\"div\", { staticClass: \"vue-skip-actions__headline\" }, [_vm._v(\" \" + _vm._s(_vm.t(\"Keyboard navigation help\")) + \" \")]), _c(\"div\", { staticClass: \"vue-skip-actions__buttons\" }, [_c(\"NcButton\", { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.hasAppNavigation, expression: \"hasAppNavigation\" }], attrs: { \"href\": \"#app-navigation-vue\", \"variant\": \"tertiary\" }, on: { \"click\": function($event) {\n $event.preventDefault();\n return _vm.openAppNavigation.apply(null, arguments);\n }, \"focusin\": function($event) {\n _vm.currentFocus = \"navigation\";\n }, \"mouseover\": function($event) {\n _vm.currentFocus = \"navigation\";\n } } }, [_vm._v(\" \" + _vm._s(_vm.t(\"Skip to app navigation\")) + \" \")]), _c(\"NcButton\", { attrs: { \"href\": \"#app-content-vue\", \"variant\": \"tertiary\" }, on: { \"focusin\": function($event) {\n _vm.currentFocus = \"content\";\n }, \"mouseover\": function($event) {\n _vm.currentFocus = \"content\";\n } } }, [_vm._v(\" \" + _vm._s(_vm.t(\"Skip to main content\")) + \" \")])], 1), _c(\"NcIconSvgWrapper\", { directives: [{ name: \"show\", rawName: \"v-show\", value: !_vm.isMobile, expression: \"!isMobile\" }], staticClass: \"vue-skip-actions__image\", attrs: { \"svg\": _vm.currentImage, \"size\": \"auto\" } })], 1), _vm._v(\"  \")]), _vm._t(\"default\")], 2);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"bac4a5f1\"\n);\nconst NcContent = __component__.exports;\nexport {\n NcContent as N\n};\n//# sourceMappingURL=NcContent-Cfz3ytoh.mjs.map\n","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nvar splitpanes_vue_vue_type_style_index_0_lang = \"\";\nfunction normalizeComponent(scriptExports, render2, staticRenderFns2, functionalTemplate, injectStyles, scopeId, moduleIdentifier, shadowMode) {\n var options = typeof scriptExports === \"function\" ? scriptExports.options : scriptExports;\n if (render2) {\n options.render = render2;\n options.staticRenderFns = staticRenderFns2;\n options._compiled = true;\n }\n if (functionalTemplate) {\n options.functional = true;\n }\n if (scopeId) {\n options._scopeId = \"data-v-\" + scopeId;\n }\n var hook;\n if (moduleIdentifier) {\n hook = function(context) {\n context = context || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext;\n if (!context && typeof __VUE_SSR_CONTEXT__ !== \"undefined\") {\n context = __VUE_SSR_CONTEXT__;\n }\n if (injectStyles) {\n injectStyles.call(this, context);\n }\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n };\n options._ssrRegister = hook;\n } else if (injectStyles) {\n hook = shadowMode ? function() {\n injectStyles.call(this, (options.functional ? this.parent : this).$root.$options.shadowRoot);\n } : injectStyles;\n }\n if (hook) {\n if (options.functional) {\n options._injectStyles = hook;\n var originalRender = options.render;\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n return {\n exports: scriptExports,\n options\n };\n}\nconst __vue2_script$1 = {\n name: \"splitpanes\",\n props: {\n horizontal: { type: Boolean },\n pushOtherPanes: { type: Boolean, default: true },\n dblClickSplitter: { type: Boolean, default: true },\n rtl: { type: Boolean, default: false },\n firstSplitter: { type: Boolean }\n },\n provide() {\n return {\n requestUpdate: this.requestUpdate,\n onPaneAdd: this.onPaneAdd,\n onPaneRemove: this.onPaneRemove,\n onPaneClick: this.onPaneClick\n };\n },\n data: () => ({\n container: null,\n ready: false,\n panes: [],\n touch: {\n mouseDown: false,\n dragging: false,\n activeSplitter: null\n },\n splitterTaps: {\n splitter: null,\n timeoutId: null\n }\n }),\n computed: {\n panesCount() {\n return this.panes.length;\n },\n indexedPanes() {\n return this.panes.reduce((obj, pane2) => (obj[pane2.id] = pane2) && obj, {});\n }\n },\n methods: {\n updatePaneComponents() {\n this.panes.forEach((pane2) => {\n pane2.update && pane2.update({\n [this.horizontal ? \"height\" : \"width\"]: `${this.indexedPanes[pane2.id].size}%`\n });\n });\n },\n bindEvents() {\n document.addEventListener(\"mousemove\", this.onMouseMove, { passive: false });\n document.addEventListener(\"mouseup\", this.onMouseUp);\n if (\"ontouchstart\" in window) {\n document.addEventListener(\"touchmove\", this.onMouseMove, { passive: false });\n document.addEventListener(\"touchend\", this.onMouseUp);\n }\n },\n unbindEvents() {\n document.removeEventListener(\"mousemove\", this.onMouseMove, { passive: false });\n document.removeEventListener(\"mouseup\", this.onMouseUp);\n if (\"ontouchstart\" in window) {\n document.removeEventListener(\"touchmove\", this.onMouseMove, { passive: false });\n document.removeEventListener(\"touchend\", this.onMouseUp);\n }\n },\n onMouseDown(event, splitterIndex) {\n this.bindEvents();\n this.touch.mouseDown = true;\n this.touch.activeSplitter = splitterIndex;\n },\n onMouseMove(event) {\n if (this.touch.mouseDown) {\n event.preventDefault();\n this.touch.dragging = true;\n this.calculatePanesSize(this.getCurrentMouseDrag(event));\n this.$emit(\"resize\", this.panes.map((pane2) => ({ min: pane2.min, max: pane2.max, size: pane2.size })));\n }\n },\n onMouseUp() {\n if (this.touch.dragging) {\n this.$emit(\"resized\", this.panes.map((pane2) => ({ min: pane2.min, max: pane2.max, size: pane2.size })));\n }\n this.touch.mouseDown = false;\n setTimeout(() => {\n this.touch.dragging = false;\n this.unbindEvents();\n }, 100);\n },\n onSplitterClick(event, splitterIndex) {\n if (\"ontouchstart\" in window) {\n event.preventDefault();\n if (this.dblClickSplitter) {\n if (this.splitterTaps.splitter === splitterIndex) {\n clearTimeout(this.splitterTaps.timeoutId);\n this.splitterTaps.timeoutId = null;\n this.onSplitterDblClick(event, splitterIndex);\n this.splitterTaps.splitter = null;\n } else {\n this.splitterTaps.splitter = splitterIndex;\n this.splitterTaps.timeoutId = setTimeout(() => {\n this.splitterTaps.splitter = null;\n }, 500);\n }\n }\n }\n if (!this.touch.dragging)\n this.$emit(\"splitter-click\", this.panes[splitterIndex]);\n },\n onSplitterDblClick(event, splitterIndex) {\n let totalMinSizes = 0;\n this.panes = this.panes.map((pane2, i) => {\n pane2.size = i === splitterIndex ? pane2.max : pane2.min;\n if (i !== splitterIndex)\n totalMinSizes += pane2.min;\n return pane2;\n });\n this.panes[splitterIndex].size -= totalMinSizes;\n this.$emit(\"pane-maximize\", this.panes[splitterIndex]);\n },\n onPaneClick(event, paneId) {\n this.$emit(\"pane-click\", this.indexedPanes[paneId]);\n },\n getCurrentMouseDrag(event) {\n const rect = this.container.getBoundingClientRect();\n const { clientX, clientY } = \"ontouchstart\" in window && event.touches ? event.touches[0] : event;\n return {\n x: clientX - rect.left,\n y: clientY - rect.top\n };\n },\n getCurrentDragPercentage(drag) {\n drag = drag[this.horizontal ? \"y\" : \"x\"];\n const containerSize = this.container[this.horizontal ? \"clientHeight\" : \"clientWidth\"];\n if (this.rtl && !this.horizontal)\n drag = containerSize - drag;\n return drag * 100 / containerSize;\n },\n calculatePanesSize(drag) {\n const splitterIndex = this.touch.activeSplitter;\n let sums = {\n prevPanesSize: this.sumPrevPanesSize(splitterIndex),\n nextPanesSize: this.sumNextPanesSize(splitterIndex),\n prevReachedMinPanes: 0,\n nextReachedMinPanes: 0\n };\n const minDrag = 0 + (this.pushOtherPanes ? 0 : sums.prevPanesSize);\n const maxDrag = 100 - (this.pushOtherPanes ? 0 : sums.nextPanesSize);\n const dragPercentage = Math.max(Math.min(this.getCurrentDragPercentage(drag), maxDrag), minDrag);\n let panesToResize = [splitterIndex, splitterIndex + 1];\n let paneBefore = this.panes[panesToResize[0]] || null;\n let paneAfter = this.panes[panesToResize[1]] || null;\n const paneBeforeMaxReached = paneBefore.max < 100 && dragPercentage >= paneBefore.max + sums.prevPanesSize;\n const paneAfterMaxReached = paneAfter.max < 100 && dragPercentage <= 100 - (paneAfter.max + this.sumNextPanesSize(splitterIndex + 1));\n if (paneBeforeMaxReached || paneAfterMaxReached) {\n if (paneBeforeMaxReached) {\n paneBefore.size = paneBefore.max;\n paneAfter.size = Math.max(100 - paneBefore.max - sums.prevPanesSize - sums.nextPanesSize, 0);\n } else {\n paneBefore.size = Math.max(100 - paneAfter.max - sums.prevPanesSize - this.sumNextPanesSize(splitterIndex + 1), 0);\n paneAfter.size = paneAfter.max;\n }\n return;\n }\n if (this.pushOtherPanes) {\n const vars = this.doPushOtherPanes(sums, dragPercentage);\n if (!vars)\n return;\n ({ sums, panesToResize } = vars);\n paneBefore = this.panes[panesToResize[0]] || null;\n paneAfter = this.panes[panesToResize[1]] || null;\n }\n if (paneBefore !== null) {\n paneBefore.size = Math.min(Math.max(dragPercentage - sums.prevPanesSize - sums.prevReachedMinPanes, paneBefore.min), paneBefore.max);\n }\n if (paneAfter !== null) {\n paneAfter.size = Math.min(Math.max(100 - dragPercentage - sums.nextPanesSize - sums.nextReachedMinPanes, paneAfter.min), paneAfter.max);\n }\n },\n doPushOtherPanes(sums, dragPercentage) {\n const splitterIndex = this.touch.activeSplitter;\n const panesToResize = [splitterIndex, splitterIndex + 1];\n if (dragPercentage < sums.prevPanesSize + this.panes[panesToResize[0]].min) {\n panesToResize[0] = this.findPrevExpandedPane(splitterIndex).index;\n sums.prevReachedMinPanes = 0;\n if (panesToResize[0] < splitterIndex) {\n this.panes.forEach((pane2, i) => {\n if (i > panesToResize[0] && i <= splitterIndex) {\n pane2.size = pane2.min;\n sums.prevReachedMinPanes += pane2.min;\n }\n });\n }\n sums.prevPanesSize = this.sumPrevPanesSize(panesToResize[0]);\n if (panesToResize[0] === void 0) {\n sums.prevReachedMinPanes = 0;\n this.panes[0].size = this.panes[0].min;\n this.panes.forEach((pane2, i) => {\n if (i > 0 && i <= splitterIndex) {\n pane2.size = pane2.min;\n sums.prevReachedMinPanes += pane2.min;\n }\n });\n this.panes[panesToResize[1]].size = 100 - sums.prevReachedMinPanes - this.panes[0].min - sums.prevPanesSize - sums.nextPanesSize;\n return null;\n }\n }\n if (dragPercentage > 100 - sums.nextPanesSize - this.panes[panesToResize[1]].min) {\n panesToResize[1] = this.findNextExpandedPane(splitterIndex).index;\n sums.nextReachedMinPanes = 0;\n if (panesToResize[1] > splitterIndex + 1) {\n this.panes.forEach((pane2, i) => {\n if (i > splitterIndex && i < panesToResize[1]) {\n pane2.size = pane2.min;\n sums.nextReachedMinPanes += pane2.min;\n }\n });\n }\n sums.nextPanesSize = this.sumNextPanesSize(panesToResize[1] - 1);\n if (panesToResize[1] === void 0) {\n sums.nextReachedMinPanes = 0;\n this.panes[this.panesCount - 1].size = this.panes[this.panesCount - 1].min;\n this.panes.forEach((pane2, i) => {\n if (i < this.panesCount - 1 && i >= splitterIndex + 1) {\n pane2.size = pane2.min;\n sums.nextReachedMinPanes += pane2.min;\n }\n });\n this.panes[panesToResize[0]].size = 100 - sums.prevPanesSize - sums.nextReachedMinPanes - this.panes[this.panesCount - 1].min - sums.nextPanesSize;\n return null;\n }\n }\n return { sums, panesToResize };\n },\n sumPrevPanesSize(splitterIndex) {\n return this.panes.reduce((total, pane2, i) => total + (i < splitterIndex ? pane2.size : 0), 0);\n },\n sumNextPanesSize(splitterIndex) {\n return this.panes.reduce((total, pane2, i) => total + (i > splitterIndex + 1 ? pane2.size : 0), 0);\n },\n findPrevExpandedPane(splitterIndex) {\n const pane2 = [...this.panes].reverse().find((p) => p.index < splitterIndex && p.size > p.min);\n return pane2 || {};\n },\n findNextExpandedPane(splitterIndex) {\n const pane2 = this.panes.find((p) => p.index > splitterIndex + 1 && p.size > p.min);\n return pane2 || {};\n },\n checkSplitpanesNodes() {\n const children = Array.from(this.container.children);\n children.forEach((child) => {\n const isPane = child.classList.contains(\"splitpanes__pane\");\n const isSplitter = child.classList.contains(\"splitpanes__splitter\");\n if (!isPane && !isSplitter) {\n child.parentNode.removeChild(child);\n console.warn(\"Splitpanes: Only elements are allowed at the root of . One of your DOM nodes was removed.\");\n return;\n }\n });\n },\n addSplitter(paneIndex, nextPaneNode, isVeryFirst = false) {\n const splitterIndex = paneIndex - 1;\n const elm = document.createElement(\"div\");\n elm.classList.add(\"splitpanes__splitter\");\n if (!isVeryFirst) {\n elm.onmousedown = (event) => this.onMouseDown(event, splitterIndex);\n if (typeof window !== \"undefined\" && \"ontouchstart\" in window) {\n elm.ontouchstart = (event) => this.onMouseDown(event, splitterIndex);\n }\n elm.onclick = (event) => this.onSplitterClick(event, splitterIndex + 1);\n }\n if (this.dblClickSplitter) {\n elm.ondblclick = (event) => this.onSplitterDblClick(event, splitterIndex + 1);\n }\n nextPaneNode.parentNode.insertBefore(elm, nextPaneNode);\n },\n removeSplitter(node) {\n node.onmousedown = void 0;\n node.onclick = void 0;\n node.ondblclick = void 0;\n node.parentNode.removeChild(node);\n },\n redoSplitters() {\n const children = Array.from(this.container.children);\n children.forEach((el) => {\n if (el.className.includes(\"splitpanes__splitter\"))\n this.removeSplitter(el);\n });\n let paneIndex = 0;\n children.forEach((el) => {\n if (el.className.includes(\"splitpanes__pane\")) {\n if (!paneIndex && this.firstSplitter)\n this.addSplitter(paneIndex, el, true);\n else if (paneIndex)\n this.addSplitter(paneIndex, el);\n paneIndex++;\n }\n });\n },\n requestUpdate(_a) {\n var _b = _a, { target } = _b, args = __objRest(_b, [\"target\"]);\n const pane2 = this.indexedPanes[target._uid];\n Object.entries(args).forEach(([key, value]) => pane2[key] = value);\n },\n onPaneAdd(pane2) {\n let index = -1;\n Array.from(pane2.$el.parentNode.children).some((el) => {\n if (el.className.includes(\"splitpanes__pane\"))\n index++;\n return el === pane2.$el;\n });\n const min = parseFloat(pane2.minSize);\n const max = parseFloat(pane2.maxSize);\n this.panes.splice(index, 0, {\n id: pane2._uid,\n index,\n min: isNaN(min) ? 0 : min,\n max: isNaN(max) ? 100 : max,\n size: pane2.size === null ? null : parseFloat(pane2.size),\n givenSize: pane2.size,\n update: pane2.update\n });\n this.panes.forEach((p, i) => p.index = i);\n if (this.ready) {\n this.$nextTick(() => {\n this.redoSplitters();\n this.resetPaneSizes({ addedPane: this.panes[index] });\n this.$emit(\"pane-add\", { index, panes: this.panes.map((pane3) => ({ min: pane3.min, max: pane3.max, size: pane3.size })) });\n });\n }\n },\n onPaneRemove(pane2) {\n const index = this.panes.findIndex((p) => p.id === pane2._uid);\n const removed = this.panes.splice(index, 1)[0];\n this.panes.forEach((p, i) => p.index = i);\n this.$nextTick(() => {\n this.redoSplitters();\n this.resetPaneSizes({ removedPane: __spreadProps(__spreadValues({}, removed), { index }) });\n this.$emit(\"pane-remove\", { removed, panes: this.panes.map((pane3) => ({ min: pane3.min, max: pane3.max, size: pane3.size })) });\n });\n },\n resetPaneSizes(changedPanes = {}) {\n if (!changedPanes.addedPane && !changedPanes.removedPane)\n this.initialPanesSizing();\n else if (this.panes.some((pane2) => pane2.givenSize !== null || pane2.min || pane2.max < 100))\n this.equalizeAfterAddOrRemove(changedPanes);\n else\n this.equalize();\n if (this.ready)\n this.$emit(\"resized\", this.panes.map((pane2) => ({ min: pane2.min, max: pane2.max, size: pane2.size })));\n },\n equalize() {\n const equalSpace = 100 / this.panesCount;\n let leftToAllocate = 0;\n let ungrowable = [];\n let unshrinkable = [];\n this.panes.forEach((pane2) => {\n pane2.size = Math.max(Math.min(equalSpace, pane2.max), pane2.min);\n leftToAllocate -= pane2.size;\n if (pane2.size >= pane2.max)\n ungrowable.push(pane2.id);\n if (pane2.size <= pane2.min)\n unshrinkable.push(pane2.id);\n });\n if (leftToAllocate > 0.1)\n this.readjustSizes(leftToAllocate, ungrowable, unshrinkable);\n },\n initialPanesSizing() {\n 100 / this.panesCount;\n let leftToAllocate = 100;\n let ungrowable = [];\n let unshrinkable = [];\n let definedSizes = 0;\n this.panes.forEach((pane2) => {\n leftToAllocate -= pane2.size;\n if (pane2.size !== null)\n definedSizes++;\n if (pane2.size >= pane2.max)\n ungrowable.push(pane2.id);\n if (pane2.size <= pane2.min)\n unshrinkable.push(pane2.id);\n });\n let leftToAllocate2 = 100;\n if (leftToAllocate > 0.1) {\n this.panes.forEach((pane2) => {\n if (pane2.size === null) {\n pane2.size = Math.max(Math.min(leftToAllocate / (this.panesCount - definedSizes), pane2.max), pane2.min);\n }\n leftToAllocate2 -= pane2.size;\n });\n if (leftToAllocate2 > 0.1)\n this.readjustSizes(leftToAllocate, ungrowable, unshrinkable);\n }\n },\n equalizeAfterAddOrRemove({ addedPane, removedPane } = {}) {\n let equalSpace = 100 / this.panesCount;\n let leftToAllocate = 0;\n let ungrowable = [];\n let unshrinkable = [];\n if (addedPane && addedPane.givenSize !== null) {\n equalSpace = (100 - addedPane.givenSize) / (this.panesCount - 1);\n }\n this.panes.forEach((pane2) => {\n leftToAllocate -= pane2.size;\n if (pane2.size >= pane2.max)\n ungrowable.push(pane2.id);\n if (pane2.size <= pane2.min)\n unshrinkable.push(pane2.id);\n });\n if (Math.abs(leftToAllocate) < 0.1)\n return;\n this.panes.forEach((pane2) => {\n if (addedPane && addedPane.givenSize !== null && addedPane.id === pane2.id)\n ;\n else\n pane2.size = Math.max(Math.min(equalSpace, pane2.max), pane2.min);\n leftToAllocate -= pane2.size;\n if (pane2.size >= pane2.max)\n ungrowable.push(pane2.id);\n if (pane2.size <= pane2.min)\n unshrinkable.push(pane2.id);\n });\n if (leftToAllocate > 0.1)\n this.readjustSizes(leftToAllocate, ungrowable, unshrinkable);\n },\n readjustSizes(leftToAllocate, ungrowable, unshrinkable) {\n let equalSpaceToAllocate;\n if (leftToAllocate > 0)\n equalSpaceToAllocate = leftToAllocate / (this.panesCount - ungrowable.length);\n else\n equalSpaceToAllocate = leftToAllocate / (this.panesCount - unshrinkable.length);\n this.panes.forEach((pane2, i) => {\n if (leftToAllocate > 0 && !ungrowable.includes(pane2.id)) {\n const newPaneSize = Math.max(Math.min(pane2.size + equalSpaceToAllocate, pane2.max), pane2.min);\n const allocated = newPaneSize - pane2.size;\n leftToAllocate -= allocated;\n pane2.size = newPaneSize;\n } else if (!unshrinkable.includes(pane2.id)) {\n const newPaneSize = Math.max(Math.min(pane2.size + equalSpaceToAllocate, pane2.max), pane2.min);\n const allocated = newPaneSize - pane2.size;\n leftToAllocate -= allocated;\n pane2.size = newPaneSize;\n }\n pane2.update({\n [this.horizontal ? \"height\" : \"width\"]: `${this.indexedPanes[pane2.id].size}%`\n });\n });\n if (Math.abs(leftToAllocate) > 0.1) {\n this.$nextTick(() => {\n if (this.ready) {\n console.warn(\"Splitpanes: Could not resize panes correctly due to their constraints.\");\n }\n });\n }\n }\n },\n watch: {\n panes: {\n deep: true,\n immediate: false,\n handler() {\n this.updatePaneComponents();\n }\n },\n horizontal() {\n this.updatePaneComponents();\n },\n firstSplitter() {\n this.redoSplitters();\n },\n dblClickSplitter(enable) {\n const splitters = [...this.container.querySelectorAll(\".splitpanes__splitter\")];\n splitters.forEach((splitter, i) => {\n splitter.ondblclick = enable ? (event) => this.onSplitterDblClick(event, i) : void 0;\n });\n }\n },\n beforeDestroy() {\n this.ready = false;\n },\n mounted() {\n this.container = this.$refs.container;\n this.checkSplitpanesNodes();\n this.redoSplitters();\n this.resetPaneSizes();\n this.$emit(\"ready\");\n this.ready = true;\n },\n render(h) {\n return h(\"div\", {\n ref: \"container\",\n class: [\n \"splitpanes\",\n `splitpanes--${this.horizontal ? \"horizontal\" : \"vertical\"}`,\n {\n \"splitpanes--dragging\": this.touch.dragging\n }\n ]\n }, this.$slots.default);\n }\n};\nlet __vue2_render, __vue2_staticRenderFns;\nconst __cssModules$1 = {};\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(__vue2_script$1, __vue2_render, __vue2_staticRenderFns, false, __vue2_injectStyles$1, null, null, null);\nfunction __vue2_injectStyles$1(context) {\n for (let o in __cssModules$1) {\n this[o] = __cssModules$1[o];\n }\n}\nvar splitpanes = /* @__PURE__ */ function() {\n return __component__$1.exports;\n}();\nvar render = function() {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"div\", { staticClass: \"splitpanes__pane\", style: _vm.style, on: { \"click\": function($event) {\n return _vm.onPaneClick($event, _vm._uid);\n } } }, [_vm._t(\"default\")], 2);\n};\nvar staticRenderFns = [];\nconst __vue2_script = {\n name: \"pane\",\n inject: [\"requestUpdate\", \"onPaneAdd\", \"onPaneRemove\", \"onPaneClick\"],\n props: {\n size: { type: [Number, String], default: null },\n minSize: { type: [Number, String], default: 0 },\n maxSize: { type: [Number, String], default: 100 }\n },\n data: () => ({\n style: {}\n }),\n mounted() {\n this.onPaneAdd(this);\n },\n beforeDestroy() {\n this.onPaneRemove(this);\n },\n methods: {\n update(style) {\n this.style = style;\n }\n },\n computed: {\n sizeNumber() {\n return this.size || this.size === 0 ? parseFloat(this.size) : null;\n },\n minSizeNumber() {\n return parseFloat(this.minSize);\n },\n maxSizeNumber() {\n return parseFloat(this.maxSize);\n }\n },\n watch: {\n sizeNumber(size) {\n this.requestUpdate({ target: this, size });\n },\n minSizeNumber(min) {\n this.requestUpdate({ target: this, min });\n },\n maxSizeNumber(max) {\n this.requestUpdate({ target: this, max });\n }\n }\n};\nconst __cssModules = {};\nvar __component__ = /* @__PURE__ */ normalizeComponent(__vue2_script, render, staticRenderFns, false, __vue2_injectStyles, null, null, null);\nfunction __vue2_injectStyles(context) {\n for (let o in __cssModules) {\n this[o] = __cssModules[o];\n }\n}\nvar pane = /* @__PURE__ */ function() {\n return __component__.exports;\n}();\nexport { pane as Pane, splitpanes as Splitpanes };\n","import { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"ArrowRightIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon arrow-right-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst ArrowRight = __component__.exports;\nexport {\n ArrowRight as A\n};\n//# sourceMappingURL=ArrowRight-CY2b9hgN.mjs.map\n","import { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"ArrowLeftIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon arrow-left-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst ArrowLeft = __component__.exports;\nexport {\n ArrowLeft as A\n};\n//# sourceMappingURL=ArrowLeft-DuT2LZOm.mjs.map\n","import '../assets/NcAppContent-DUkkgtHn.css';\nimport { getBuilder } from \"@nextcloud/browser-storage\";\nimport { emit } from \"@nextcloud/event-bus\";\nimport { loadState } from \"@nextcloud/initial-state\";\nimport { useSwipe } from \"@vueuse/core\";\nimport { Splitpanes, Pane } from \"splitpanes\";\nimport { useIsMobile } from \"../Composables/useIsMobile.mjs\";\nimport { isRTL } from \"@nextcloud/l10n\";\nimport { r as register, I as t25, a as t } from \"./_l10n-DQgzdF9S.mjs\";\nimport { A as ArrowRight } from \"./ArrowRight-CY2b9hgN.mjs\";\nimport { A as ArrowLeft } from \"./ArrowLeft-DuT2LZOm.mjs\";\nimport NcButton from \"../Components/NcButton.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport \"splitpanes/dist/splitpanes.css\";\nconst isRtl = isRTL();\nregister(t25);\nconst _sfc_main$1 = {\n name: \"NcAppDetailsToggle\",\n components: {\n ArrowRight,\n ArrowLeft,\n NcButton\n },\n setup() {\n return {\n isRtl,\n isMobile: useIsMobile()\n };\n },\n computed: {\n title() {\n return t(\"Go back to the list\");\n }\n },\n watch: {\n isMobile: {\n immediate: true,\n handler() {\n this.toggleAppNavigationButton(this.isMobile);\n }\n }\n },\n beforeDestroy() {\n if (this.isMobile) {\n this.toggleAppNavigationButton(false);\n }\n },\n methods: {\n toggleAppNavigationButton(hide = true) {\n const appNavigationToggle = document.querySelector(\".app-navigation .app-navigation-toggle\");\n if (appNavigationToggle) {\n appNavigationToggle.style.display = hide ? \"none\" : null;\n if (hide === true) {\n emit(\"toggle-navigation\", { open: false });\n }\n }\n }\n }\n};\nvar _sfc_render$1 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"NcButton\", { staticClass: \"app-details-toggle\", class: { \"app-details-toggle--mobile\": _vm.isMobile }, attrs: { \"aria-label\": _vm.title, \"title\": _vm.title, \"variant\": \"tertiary\" }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm.isRtl ? _c(\"ArrowLeft\", { attrs: { \"size\": 20 } }) : _c(\"ArrowRight\", { attrs: { \"size\": 20 } })];\n }, proxy: true }]) });\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n \"0bdd48d0\"\n);\nconst NcAppDetailsToggle = __component__$1.exports;\nconst browserStorage = getBuilder(\"nextcloud\").persist().build();\nconst { name: productName } = loadState(\"theming\", \"data\", { name: \"Nextcloud\" });\nconst activeApp = loadState(\"core\", \"active-app\", appName);\nconst localizedAppName = loadState(\"core\", \"apps\", {})[activeApp]?.name ?? appName;\nconst _sfc_main = {\n name: \"NcAppContent\",\n components: {\n NcAppDetailsToggle,\n Pane,\n Splitpanes\n },\n props: {\n /**\n * Allows to disable the control by swipe of the app navigation open state\n * @deprecated will be removed with the next version - use `disableSwipe` instead\n */\n allowSwipeNavigation: {\n type: Boolean,\n default: true\n },\n /**\n * Allows to disable the control by swipe of the app navigation open state.\n */\n disableSwipe: {\n type: Boolean,\n default: false\n },\n /**\n * Allows you to set the default width of the resizable list in % on vertical-split\n * Allows you to set the default height of the resizable list in % on horizontal-split\n * Must be between listMinWidth and listMaxWidth\n */\n listSize: {\n type: Number,\n default: 20\n },\n /**\n * Allows you to set the minimum width of the list column in % on vertical-split\n * Allows you to set the minimum height of the list column in % on horizontal-split\n */\n listMinWidth: {\n type: Number,\n default: 15\n },\n /**\n * Allows you to set the maximum width of the list column in % on vertical-split\n * Allows you to set the maximum height of the list column in % on horizontal-split\n */\n listMaxWidth: {\n type: Number,\n default: 40\n },\n /**\n * Specify the config key for the pane config sizes\n * Default is the global var appName if you use the webpack-vue-config\n */\n paneConfigKey: {\n type: String,\n default: \"\"\n },\n /**\n * When in mobile view, only the list or the details are shown.\n *\n * If you provide a list, you need to provide a variable\n * that will be set to true by the user when an element of\n * the list gets selected. The details will then show a back\n * arrow to return to the list that will update this prop to false.\n */\n showDetails: {\n type: Boolean,\n default: true\n },\n /**\n * Specify the `

    ` page heading\n */\n pageHeading: {\n type: String,\n default: null\n },\n /**\n * Content layout used when there is a list together with content:\n * - `vertical-split` - a 2-column layout with list and default content separated vertically\n * - `no-split` - a single column layout; List is shown when `showDetails` is `false`, otherwise the default slot content is shown with a back button to return to the list.\n * - 'horizontal-split' - a 2-column layout with list and default content separated horizontally\n * On mobile screen `no-split` layout is forced.\n */\n layout: {\n type: String,\n default: \"vertical-split\",\n validator(value) {\n return [\"no-split\", \"vertical-split\", \"horizontal-split\"].includes(value);\n }\n },\n /**\n * Allow setting the page's ``\n *\n * If a page heading is set it defaults to `{pageHeading} - {appName} - {productName}` e.g. `Favorites - Files - Nextcloud`.\n * When the page heading and the app name is the same only one is used, e.g. `Files - Files - Nextcloud` is shown as `Files - Nextcloud`.\n * When setting the prop then the following format will be used: `{pageTitle} - {pageHeading || appName} - {productName}`\n */\n pageTitle: {\n type: String,\n default: null\n }\n },\n emits: [\n \"update:showDetails\",\n \"resize:list\"\n ],\n setup() {\n return {\n isMobile: useIsMobile(),\n isRtl\n };\n },\n data() {\n return {\n contentHeight: 0,\n hasList: false,\n hasContent: false,\n swiping: {},\n listPaneSize: this.restorePaneConfig()\n };\n },\n computed: {\n paneConfigID() {\n if (this.paneConfigKey !== \"\") {\n return `pane-list-size-${this.paneConfigKey}`;\n }\n try {\n return `pane-list-size-${appName}`;\n } catch (e) {\n console.info(\"[INFO] AppContent:\", \"falling back to global nextcloud pane config\");\n return \"pane-list-size-nextcloud\";\n }\n },\n detailsPaneSize() {\n if (this.listPaneSize) {\n return 100 - this.listPaneSize;\n }\n return this.paneDefaults.details.size;\n },\n paneDefaults() {\n return {\n list: {\n size: this.listSize,\n min: this.listMinWidth,\n max: this.listMaxWidth\n },\n // set the inverse values of the details column\n // based on the provided (or default) values of the list column\n details: {\n size: 100 - this.listSize,\n min: 100 - this.listMaxWidth,\n max: 100 - this.listMinWidth\n }\n };\n },\n realPageTitle() {\n const entries = /* @__PURE__ */ new Set();\n if (this.pageTitle) {\n entries.add(this.pageTitle);\n }\n if (this.pageHeading) {\n entries.add(this.pageHeading);\n }\n if (entries.size === 0) {\n return null;\n }\n if (entries.size < 2) {\n entries.add(localizedAppName);\n }\n entries.add(productName);\n return [...entries.values()].join(\" - \");\n }\n },\n watch: {\n realPageTitle: {\n immediate: true,\n handler() {\n if (this.realPageTitle !== null) {\n document.title = this.realPageTitle;\n }\n }\n }\n },\n updated() {\n this.checkSlots();\n },\n mounted() {\n if (this.allowSwipeNavigation && !this.disableSwipe) {\n this.swiping = useSwipe(this.$el, {\n onSwipeEnd: this.handleSwipe\n });\n }\n this.checkSlots();\n this.restorePaneConfig();\n },\n methods: {\n /**\n * handle the swipe event\n *\n * @param {TouchEvent} e The touch event\n * @param {import('@vueuse/core').SwipeDirection} direction The swipe direction of the event\n */\n handleSwipe(e, direction) {\n const minSwipeX = 70;\n const touchZone = 300;\n if (Math.abs(this.swiping.lengthX) > minSwipeX) {\n if (this.swiping.coordsStart.x < touchZone / 2 && direction === \"right\") {\n emit(\"toggle-navigation\", {\n open: true\n });\n } else if (this.swiping.coordsStart.x < touchZone * 1.5 && direction === \"left\") {\n emit(\"toggle-navigation\", {\n open: false\n });\n }\n }\n },\n handlePaneResize(event) {\n const listPaneSize = parseInt(event[0].size, 10);\n browserStorage.setItem(this.paneConfigID, JSON.stringify(listPaneSize));\n this.listPaneSize = listPaneSize;\n this.$emit(\"resize:list\", { size: listPaneSize });\n console.debug(\"AppContent pane config\", listPaneSize);\n },\n // $slots is not reactive, we need to update this manually\n checkSlots() {\n this.hasList = !!this.$scopedSlots.list;\n this.hasContent = !!this.$scopedSlots.default;\n },\n // browserStorage is not reactive, we need to update this manually\n restorePaneConfig() {\n const listPaneSize = parseInt(browserStorage.getItem(this.paneConfigID), 10);\n if (!isNaN(listPaneSize) && listPaneSize !== this.listPaneSize) {\n console.debug(\"AppContent pane config\", listPaneSize);\n this.listPaneSize = listPaneSize;\n return listPaneSize;\n }\n },\n /**\n * The user clicked the back arrow from the details view\n */\n hideDetails() {\n this.$emit(\"update:showDetails\", false);\n }\n }\n};\nvar _sfc_render = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"main\", { staticClass: \"app-content no-snapper\", class: { \"app-content--has-list\": _vm.hasList }, attrs: { \"id\": \"app-content-vue\" } }, [_vm.pageHeading ? _c(\"h1\", { staticClass: \"hidden-visually\" }, [_vm._v(\" \" + _vm._s(_vm.pageHeading) + \" \")]) : _vm._e(), _vm.hasList ? [_vm.isMobile || _vm.layout === \"no-split\" ? _c(\"div\", { staticClass: \"app-content-wrapper app-content-wrapper--no-split\", class: {\n \"app-content-wrapper--show-details\": _vm.showDetails,\n \"app-content-wrapper--show-list\": !_vm.showDetails,\n \"app-content-wrapper--mobile\": _vm.isMobile\n } }, [_vm.showDetails ? _c(\"NcAppDetailsToggle\", { nativeOn: { \"click\": function($event) {\n $event.stopPropagation();\n $event.preventDefault();\n return _vm.hideDetails.apply(null, arguments);\n } } }) : _vm._e(), _c(\"div\", { directives: [{ name: \"show\", rawName: \"v-show\", value: !_vm.showDetails, expression: \"!showDetails\" }] }, [_vm._t(\"list\")], 2), _vm.showDetails ? _vm._t(\"default\") : _vm._e()], 2) : _vm.layout === \"vertical-split\" || _vm.layout === \"horizontal-split\" ? _c(\"div\", { staticClass: \"app-content-wrapper\" }, [_c(\"Splitpanes\", { staticClass: \"default-theme\", class: {\n \"splitpanes--horizontal\": _vm.layout === \"horizontal-split\",\n \"splitpanes--vertical\": _vm.layout === \"vertical-split\"\n }, attrs: { \"horizontal\": _vm.layout === \"horizontal-split\", \"rtl\": _vm.isRtl }, on: { \"resized\": _vm.handlePaneResize } }, [_c(\"Pane\", { staticClass: \"splitpanes__pane-list\", attrs: { \"size\": _vm.listPaneSize || _vm.paneDefaults.list.size, \"min-size\": _vm.paneDefaults.list.min, \"max-size\": _vm.paneDefaults.list.max } }, [_vm._t(\"list\")], 2), _c(\"Pane\", { staticClass: \"splitpanes__pane-details\", attrs: { \"size\": _vm.detailsPaneSize, \"min-size\": _vm.paneDefaults.details.min, \"max-size\": _vm.paneDefaults.details.max } }, [_vm._t(\"default\")], 2)], 1)], 1) : _vm._e()] : _vm._e(), !_vm.hasList ? _vm._t(\"default\") : _vm._e()], 2);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"bfc6f887\"\n);\nconst NcAppContent = __component__.exports;\nexport {\n NcAppContent as N\n};\n//# sourceMappingURL=NcAppContent-DyXqBrOB.mjs.map\n","import { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"ChevronDownIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon chevron-down-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst ChevronDown = __component__.exports;\nexport {\n ChevronDown as C\n};\n//# sourceMappingURL=ChevronDown-DFQfzh63.mjs.map\n","var $placeholder = Symbol();\n\nvar $fakeParent = Symbol();\n\nvar $nextSiblingPatched = Symbol();\n\nvar $childNodesPatched = Symbol();\n\nvar isFrag = function isFrag(node) {\n return \"frag\" in node;\n};\n\nvar parentNodeDescriptor = {\n get: function get() {\n return this[$fakeParent] || this.parentElement;\n },\n configurable: true\n};\n\nvar patchParentNode = function patchParentNode(node, fakeParent) {\n if ($fakeParent in node) {\n return;\n }\n node[$fakeParent] = fakeParent;\n Object.defineProperty(node, \"parentNode\", parentNodeDescriptor);\n};\n\nvar nextSiblingDescriptor = {\n get: function get() {\n var childNodes = this.parentNode.childNodes;\n var index = childNodes.indexOf(this);\n if (index > -1) {\n return childNodes[index + 1] || null;\n }\n return null;\n }\n};\n\nvar patchNextSibling = function patchNextSibling(node) {\n if ($nextSiblingPatched in node) {\n return;\n }\n node[$nextSiblingPatched] = true;\n Object.defineProperty(node, \"nextSibling\", nextSiblingDescriptor);\n};\n\nvar getTopFragment = function getTopFragment(node, fromParent) {\n while (node.parentNode !== fromParent) {\n var _node = node, parentNode = _node.parentNode;\n if (parentNode) {\n node = parentNode;\n }\n }\n return node;\n};\n\nvar getChildNodes;\n\nvar getChildNodesWithFragments = function getChildNodesWithFragments(node) {\n if (!getChildNodes) {\n var _childNodesDescriptor = Object.getOwnPropertyDescriptor(Node.prototype, \"childNodes\");\n getChildNodes = _childNodesDescriptor.get;\n }\n var realChildNodes = getChildNodes.apply(node);\n var childNodes = Array.from(realChildNodes).map((function(childNode) {\n return getTopFragment(childNode, node);\n }));\n return childNodes.filter((function(childNode, index) {\n return childNode !== childNodes[index - 1];\n }));\n};\n\nvar childNodesDescriptor = {\n get: function get() {\n return this.frag || getChildNodesWithFragments(this);\n }\n};\n\nvar firstChildDescriptor = {\n get: function get() {\n return this.childNodes[0] || null;\n }\n};\n\nfunction hasChildNodes() {\n return this.childNodes.length > 0;\n}\n\nvar patchChildNodes = function patchChildNodes(node) {\n if ($childNodesPatched in node) {\n return;\n }\n node[$childNodesPatched] = true;\n Object.defineProperties(node, {\n childNodes: childNodesDescriptor,\n firstChild: firstChildDescriptor\n });\n node.hasChildNodes = hasChildNodes;\n};\n\nfunction before() {\n var _this$frag$;\n (_this$frag$ = this.frag[0]).before.apply(_this$frag$, arguments);\n}\n\nfunction remove() {\n var frag = this.frag;\n var removed = frag.splice(0, frag.length);\n removed.forEach((function(node) {\n node.remove();\n }));\n}\n\nvar getFragmentLeafNodes = function getFragmentLeafNodes(children) {\n var _Array$prototype;\n return (_Array$prototype = Array.prototype).concat.apply(_Array$prototype, children.map((function(childNode) {\n return isFrag(childNode) ? getFragmentLeafNodes(childNode.frag) : childNode;\n })));\n};\n\nvar addPlaceholder = function addPlaceholder(node, insertBeforeNode) {\n var placeholder = node[$placeholder];\n insertBeforeNode.before(placeholder);\n patchParentNode(placeholder, node);\n node.frag.unshift(placeholder);\n};\n\nfunction removeChild(node) {\n if (isFrag(this)) {\n var hasChildInFragment = this.frag.indexOf(node);\n if (hasChildInFragment > -1) {\n var _this$frag$splice = this.frag.splice(hasChildInFragment, 1), removedNode = _this$frag$splice[0];\n if (this.frag.length === 0) {\n addPlaceholder(this, removedNode);\n }\n node.remove();\n }\n } else {\n var children = getChildNodesWithFragments(this);\n var hasChild = children.indexOf(node);\n if (hasChild > -1) {\n node.remove();\n }\n }\n return node;\n}\n\nfunction insertBefore(insertNode, insertBeforeNode) {\n var _this = this;\n var insertNodes = insertNode.frag || [ insertNode ];\n if (isFrag(this)) {\n if (insertNode[$fakeParent] === this && insertNode.parentElement) {\n return insertNode;\n }\n var _frag = this.frag;\n if (insertBeforeNode) {\n var index = _frag.indexOf(insertBeforeNode);\n if (index > -1) {\n _frag.splice.apply(_frag, [ index, 0 ].concat(insertNodes));\n insertBeforeNode.before.apply(insertBeforeNode, insertNodes);\n }\n } else {\n var _lastNode = _frag[_frag.length - 1];\n _frag.push.apply(_frag, insertNodes);\n _lastNode.after.apply(_lastNode, insertNodes);\n }\n removePlaceholder(this);\n } else if (insertBeforeNode) {\n if (this.childNodes.includes(insertBeforeNode)) {\n insertBeforeNode.before.apply(insertBeforeNode, insertNodes);\n }\n } else {\n this.append.apply(this, insertNodes);\n }\n insertNodes.forEach((function(node) {\n patchParentNode(node, _this);\n }));\n var lastNode = insertNodes[insertNodes.length - 1];\n patchNextSibling(lastNode);\n return insertNode;\n}\n\nfunction appendChild(node) {\n if (node[$fakeParent] === this && node.parentElement) {\n return node;\n }\n var frag = this.frag;\n var lastChild = frag[frag.length - 1];\n lastChild.after(node);\n patchParentNode(node, this);\n removePlaceholder(this);\n frag.push(node);\n return node;\n}\n\nvar removePlaceholder = function removePlaceholder(node) {\n var placeholder = node[$placeholder];\n if (node.frag[0] === placeholder) {\n node.frag.shift();\n placeholder.remove();\n }\n};\n\nvar innerHTMLDescriptor = {\n set: function set(htmlString) {\n var _this2 = this;\n if (this.frag[0] !== this[$placeholder]) {\n this.frag.slice().forEach((function(child) {\n return _this2.removeChild(child);\n }));\n }\n if (htmlString) {\n var domify = document.createElement(\"div\");\n domify.innerHTML = htmlString;\n Array.from(domify.childNodes).forEach((function(node) {\n _this2.appendChild(node);\n }));\n }\n },\n get: function get() {\n return \"\";\n }\n};\n\nvar frag = {\n inserted: function inserted(element) {\n var parentNode = element.parentNode, nextSibling = element.nextSibling, previousSibling = element.previousSibling;\n var childNodes = Array.from(element.childNodes);\n var placeholder = document.createComment(\"\");\n if (childNodes.length === 0) {\n childNodes.push(placeholder);\n }\n element.frag = childNodes;\n element[$placeholder] = placeholder;\n var fragment = document.createDocumentFragment();\n fragment.append.apply(fragment, getFragmentLeafNodes(childNodes));\n element.replaceWith(fragment);\n childNodes.forEach((function(node) {\n patchParentNode(node, element);\n patchNextSibling(node);\n }));\n patchChildNodes(element);\n Object.assign(element, {\n remove: remove,\n appendChild: appendChild,\n insertBefore: insertBefore,\n removeChild: removeChild,\n before: before\n });\n Object.defineProperty(element, \"innerHTML\", innerHTMLDescriptor);\n if (parentNode) {\n Object.assign(parentNode, {\n removeChild: removeChild,\n insertBefore: insertBefore\n });\n patchParentNode(element, parentNode);\n patchChildNodes(parentNode);\n }\n if (nextSibling) {\n patchNextSibling(element);\n }\n if (previousSibling) {\n patchNextSibling(previousSibling);\n }\n },\n unbind: function unbind(element) {\n element.remove();\n }\n};\n\nvar fragment = {\n name: \"Fragment\",\n directives: {\n frag: frag\n },\n render: function render(h) {\n return h(\"div\", {\n directives: [ {\n name: \"frag\"\n } ]\n }, this.$slots[\"default\"]);\n }\n};\n\nexport { fragment as Fragment, frag as default };\n","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<Fragment>\n\t\t<h2 class=\"activity-group__heading\" :title=\"fullDate\">\n\t\t\t{{ dateText }}\n\t\t</h2>\n\t\t<ul>\n\t\t\t<Activity v-for=\"activity in activities\"\n\t\t\t\t:key=\"activity.id\"\n\t\t\t\t:activity=\"activity\"\n\t\t\t\t:show-previews=\"true\" />\n\t\t</ul>\n\t</Fragment>\n</template>\n\n<script setup lang=\"ts\">\nimport type ActivityModel from '../models/ActivityModel'\n\nimport moment from '@nextcloud/moment'\nimport Activity from './Activity.vue'\n\nimport { translate as t } from '@nextcloud/l10n'\nimport { Fragment } from 'vue-frag'\nimport { computed } from 'vue'\n\nconst props = defineProps<{\n\tactivities: ActivityModel[]\n}>()\n\n/**\n * Title to show for the date either Today, Yesterday or the full date\n */\nconst dateText = computed(() => {\n\tconst today = moment()\n\tconst yesterday = moment().subtract(1, 'day')\n\tconst first = moment(props.activities[0].datetime)\n\n\tif (first.isSame(today, 'day')) {\n\t\treturn t('activity', 'Today')\n\t} else if (first.isSame(yesterday, 'day')) {\n\t\treturn t('activity', 'Yesterday')\n\t}\n\treturn first.format('LL')\n})\n\n/**\n * If the heading is yesterday or today, show the full date as title, otherwise no title is shown\n */\nconst fullDate = computed(() => {\n\tconst formatted = moment(props.activities[0].datetime).format('LL')\n\treturn formatted !== dateText.value ? formatted : undefined\n})\n</script>\n\n<style scoped lang=\"scss\">\n.activity-group {\n\t&__heading {\n\t\tline-height: 1.5;\n\t\tmargin-block: 30px 12px;\n\n\t\t&:first-of-type {\n\t\t\t// Already padding from h1\n\t\t\tmargin-block-start: 0;\n\t\t}\n\t}\n}\n</style>\n","export default \"<svg viewBox=\\\"0 0 32 32\\\" height=\\\"32\\\" width=\\\"32\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xml:space=\\\"preserve\\\" style=\\\"fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2\\\"><path d=\\\"m8 22 1-7H4l9-13h2l-1 8h6L10 22H8Z\\\" style=\\\"fill-rule:nonzero\\\" transform=\\\"matrix(1.5 0 0 1.5 -2 -2)\\\"/></svg>\"","import Vue from 'vue'\nimport { getCurrentInstance } from 'vue'\n\nvar isVue2 = true\nvar isVue3 = false\nvar Vue2 = Vue\nvar warn = Vue.util.warn\n\nfunction install() {}\n\n// createApp polyfill\nexport function createApp(rootComponent, rootProps) {\n var vm\n var provide = {}\n var app = {\n config: Vue.config,\n use: Vue.use.bind(Vue),\n mixin: Vue.mixin.bind(Vue),\n component: Vue.component.bind(Vue),\n provide: function (key, value) {\n provide[key] = value\n return this\n },\n directive: function (name, dir) {\n if (dir) {\n Vue.directive(name, dir)\n return app\n } else {\n return Vue.directive(name)\n }\n },\n mount: function (el, hydrating) {\n if (!vm) {\n vm = new Vue(Object.assign({ propsData: rootProps }, rootComponent, { provide: Object.assign(provide, rootComponent.provide) }))\n vm.$mount(el, hydrating)\n return vm\n } else {\n return vm\n }\n },\n unmount: function () {\n if (vm) {\n vm.$destroy()\n vm = undefined\n }\n },\n }\n return app\n}\n\nexport {\n Vue,\n Vue2,\n isVue2,\n isVue3,\n install,\n warn\n}\n\n// Vue 3 components mock\nfunction createMockComponent(name) {\n return {\n setup() {\n throw new Error('[vue-demi] ' + name + ' is not supported in Vue 2. It\\'s provided to avoid compiler errors.')\n }\n }\n}\nexport var Fragment = /*#__PURE__*/ createMockComponent('Fragment')\nexport var Transition = /*#__PURE__*/ createMockComponent('Transition')\nexport var TransitionGroup = /*#__PURE__*/ createMockComponent('TransitionGroup')\nexport var Teleport = /*#__PURE__*/ createMockComponent('Teleport')\nexport var Suspense = /*#__PURE__*/ createMockComponent('Suspense')\nexport var KeepAlive = /*#__PURE__*/ createMockComponent('KeepAlive')\n\nexport * from 'vue'\n\n// Not implemented https://github.com/vuejs/core/pull/8111, falls back to getCurrentInstance()\nexport function hasInjectionContext() {\n return !!getCurrentInstance()\n}\n","import { shallowRef, watchEffect, readonly, ref, watch, customRef, getCurrentScope, onScopeDispose, effectScope, getCurrentInstance, provide, inject, isVue3, version, isRef, unref, computed, reactive, toRefs as toRefs$1, toRef as toRef$1, isVue2, set as set$1, onBeforeMount, nextTick, onBeforeUnmount, onMounted, onUnmounted, isReactive } from 'vue-demi';\n\nfunction computedEager(fn, options) {\n var _a;\n const result = shallowRef();\n watchEffect(() => {\n result.value = fn();\n }, {\n ...options,\n flush: (_a = options == null ? void 0 : options.flush) != null ? _a : \"sync\"\n });\n return readonly(result);\n}\n\nfunction computedWithControl(source, fn) {\n let v = void 0;\n let track;\n let trigger;\n const dirty = ref(true);\n const update = () => {\n dirty.value = true;\n trigger();\n };\n watch(source, update, { flush: \"sync\" });\n const get = typeof fn === \"function\" ? fn : fn.get;\n const set = typeof fn === \"function\" ? void 0 : fn.set;\n const result = customRef((_track, _trigger) => {\n track = _track;\n trigger = _trigger;\n return {\n get() {\n if (dirty.value) {\n v = get();\n dirty.value = false;\n }\n track();\n return v;\n },\n set(v2) {\n set == null ? void 0 : set(v2);\n }\n };\n });\n if (Object.isExtensible(result))\n result.trigger = update;\n return result;\n}\n\nfunction tryOnScopeDispose(fn) {\n if (getCurrentScope()) {\n onScopeDispose(fn);\n return true;\n }\n return false;\n}\n\nfunction createEventHook() {\n const fns = /* @__PURE__ */ new Set();\n const off = (fn) => {\n fns.delete(fn);\n };\n const on = (fn) => {\n fns.add(fn);\n const offFn = () => off(fn);\n tryOnScopeDispose(offFn);\n return {\n off: offFn\n };\n };\n const trigger = (...args) => {\n return Promise.all(Array.from(fns).map((fn) => fn(...args)));\n };\n return {\n on,\n off,\n trigger\n };\n}\n\nfunction createGlobalState(stateFactory) {\n let initialized = false;\n let state;\n const scope = effectScope(true);\n return (...args) => {\n if (!initialized) {\n state = scope.run(() => stateFactory(...args));\n initialized = true;\n }\n return state;\n };\n}\n\nconst localProvidedStateMap = /* @__PURE__ */ new WeakMap();\n\nconst provideLocal = (key, value) => {\n var _a;\n const instance = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy;\n if (instance == null)\n throw new Error(\"provideLocal must be called in setup\");\n if (!localProvidedStateMap.has(instance))\n localProvidedStateMap.set(instance, /* @__PURE__ */ Object.create(null));\n const localProvidedState = localProvidedStateMap.get(instance);\n localProvidedState[key] = value;\n provide(key, value);\n};\n\nconst injectLocal = (...args) => {\n var _a;\n const key = args[0];\n const instance = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy;\n if (instance == null)\n throw new Error(\"injectLocal must be called in setup\");\n if (localProvidedStateMap.has(instance) && key in localProvidedStateMap.get(instance))\n return localProvidedStateMap.get(instance)[key];\n return inject(...args);\n};\n\nfunction createInjectionState(composable, options) {\n const key = (options == null ? void 0 : options.injectionKey) || Symbol(composable.name || \"InjectionState\");\n const useProvidingState = (...args) => {\n const state = composable(...args);\n provideLocal(key, state);\n return state;\n };\n const useInjectedState = () => injectLocal(key);\n return [useProvidingState, useInjectedState];\n}\n\nfunction createSharedComposable(composable) {\n let subscribers = 0;\n let state;\n let scope;\n const dispose = () => {\n subscribers -= 1;\n if (scope && subscribers <= 0) {\n scope.stop();\n state = void 0;\n scope = void 0;\n }\n };\n return (...args) => {\n subscribers += 1;\n if (!state) {\n scope = effectScope(true);\n state = scope.run(() => composable(...args));\n }\n tryOnScopeDispose(dispose);\n return state;\n };\n}\n\nfunction extendRef(ref, extend, { enumerable = false, unwrap = true } = {}) {\n if (!isVue3 && !version.startsWith(\"2.7.\")) {\n if (process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] extendRef only works in Vue 2.7 or above.\");\n return;\n }\n for (const [key, value] of Object.entries(extend)) {\n if (key === \"value\")\n continue;\n if (isRef(value) && unwrap) {\n Object.defineProperty(ref, key, {\n get() {\n return value.value;\n },\n set(v) {\n value.value = v;\n },\n enumerable\n });\n } else {\n Object.defineProperty(ref, key, { value, enumerable });\n }\n }\n return ref;\n}\n\nfunction get(obj, key) {\n if (key == null)\n return unref(obj);\n return unref(obj)[key];\n}\n\nfunction isDefined(v) {\n return unref(v) != null;\n}\n\nfunction makeDestructurable(obj, arr) {\n if (typeof Symbol !== \"undefined\") {\n const clone = { ...obj };\n Object.defineProperty(clone, Symbol.iterator, {\n enumerable: false,\n value() {\n let index = 0;\n return {\n next: () => ({\n value: arr[index++],\n done: index > arr.length\n })\n };\n }\n });\n return clone;\n } else {\n return Object.assign([...arr], obj);\n }\n}\n\nfunction toValue(r) {\n return typeof r === \"function\" ? r() : unref(r);\n}\nconst resolveUnref = toValue;\n\nfunction reactify(fn, options) {\n const unrefFn = (options == null ? void 0 : options.computedGetter) === false ? unref : toValue;\n return function(...args) {\n return computed(() => fn.apply(this, args.map((i) => unrefFn(i))));\n };\n}\n\nfunction reactifyObject(obj, optionsOrKeys = {}) {\n let keys = [];\n let options;\n if (Array.isArray(optionsOrKeys)) {\n keys = optionsOrKeys;\n } else {\n options = optionsOrKeys;\n const { includeOwnProperties = true } = optionsOrKeys;\n keys.push(...Object.keys(obj));\n if (includeOwnProperties)\n keys.push(...Object.getOwnPropertyNames(obj));\n }\n return Object.fromEntries(\n keys.map((key) => {\n const value = obj[key];\n return [\n key,\n typeof value === \"function\" ? reactify(value.bind(obj), options) : value\n ];\n })\n );\n}\n\nfunction toReactive(objectRef) {\n if (!isRef(objectRef))\n return reactive(objectRef);\n const proxy = new Proxy({}, {\n get(_, p, receiver) {\n return unref(Reflect.get(objectRef.value, p, receiver));\n },\n set(_, p, value) {\n if (isRef(objectRef.value[p]) && !isRef(value))\n objectRef.value[p].value = value;\n else\n objectRef.value[p] = value;\n return true;\n },\n deleteProperty(_, p) {\n return Reflect.deleteProperty(objectRef.value, p);\n },\n has(_, p) {\n return Reflect.has(objectRef.value, p);\n },\n ownKeys() {\n return Object.keys(objectRef.value);\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true\n };\n }\n });\n return reactive(proxy);\n}\n\nfunction reactiveComputed(fn) {\n return toReactive(computed(fn));\n}\n\nfunction reactiveOmit(obj, ...keys) {\n const flatKeys = keys.flat();\n const predicate = flatKeys[0];\n return reactiveComputed(() => typeof predicate === \"function\" ? Object.fromEntries(Object.entries(toRefs$1(obj)).filter(([k, v]) => !predicate(toValue(v), k))) : Object.fromEntries(Object.entries(toRefs$1(obj)).filter((e) => !flatKeys.includes(e[0]))));\n}\n\nconst isClient = typeof window !== \"undefined\" && typeof document !== \"undefined\";\nconst isWorker = typeof WorkerGlobalScope !== \"undefined\" && globalThis instanceof WorkerGlobalScope;\nconst isDef = (val) => typeof val !== \"undefined\";\nconst notNullish = (val) => val != null;\nconst assert = (condition, ...infos) => {\n if (!condition)\n console.warn(...infos);\n};\nconst toString = Object.prototype.toString;\nconst isObject = (val) => toString.call(val) === \"[object Object]\";\nconst now = () => Date.now();\nconst timestamp = () => +Date.now();\nconst clamp = (n, min, max) => Math.min(max, Math.max(min, n));\nconst noop = () => {\n};\nconst rand = (min, max) => {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min + 1)) + min;\n};\nconst hasOwn = (val, key) => Object.prototype.hasOwnProperty.call(val, key);\nconst isIOS = /* @__PURE__ */ getIsIOS();\nfunction getIsIOS() {\n var _a, _b;\n return isClient && ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent) && (/iP(ad|hone|od)/.test(window.navigator.userAgent) || ((_b = window == null ? void 0 : window.navigator) == null ? void 0 : _b.maxTouchPoints) > 2 && /iPad|Macintosh/.test(window == null ? void 0 : window.navigator.userAgent));\n}\n\nfunction createFilterWrapper(filter, fn) {\n function wrapper(...args) {\n return new Promise((resolve, reject) => {\n Promise.resolve(filter(() => fn.apply(this, args), { fn, thisArg: this, args })).then(resolve).catch(reject);\n });\n }\n return wrapper;\n}\nconst bypassFilter = (invoke) => {\n return invoke();\n};\nfunction debounceFilter(ms, options = {}) {\n let timer;\n let maxTimer;\n let lastRejector = noop;\n const _clearTimeout = (timer2) => {\n clearTimeout(timer2);\n lastRejector();\n lastRejector = noop;\n };\n const filter = (invoke) => {\n const duration = toValue(ms);\n const maxDuration = toValue(options.maxWait);\n if (timer)\n _clearTimeout(timer);\n if (duration <= 0 || maxDuration !== void 0 && maxDuration <= 0) {\n if (maxTimer) {\n _clearTimeout(maxTimer);\n maxTimer = null;\n }\n return Promise.resolve(invoke());\n }\n return new Promise((resolve, reject) => {\n lastRejector = options.rejectOnCancel ? reject : resolve;\n if (maxDuration && !maxTimer) {\n maxTimer = setTimeout(() => {\n if (timer)\n _clearTimeout(timer);\n maxTimer = null;\n resolve(invoke());\n }, maxDuration);\n }\n timer = setTimeout(() => {\n if (maxTimer)\n _clearTimeout(maxTimer);\n maxTimer = null;\n resolve(invoke());\n }, duration);\n });\n };\n return filter;\n}\nfunction throttleFilter(...args) {\n let lastExec = 0;\n let timer;\n let isLeading = true;\n let lastRejector = noop;\n let lastValue;\n let ms;\n let trailing;\n let leading;\n let rejectOnCancel;\n if (!isRef(args[0]) && typeof args[0] === \"object\")\n ({ delay: ms, trailing = true, leading = true, rejectOnCancel = false } = args[0]);\n else\n [ms, trailing = true, leading = true, rejectOnCancel = false] = args;\n const clear = () => {\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n lastRejector();\n lastRejector = noop;\n }\n };\n const filter = (_invoke) => {\n const duration = toValue(ms);\n const elapsed = Date.now() - lastExec;\n const invoke = () => {\n return lastValue = _invoke();\n };\n clear();\n if (duration <= 0) {\n lastExec = Date.now();\n return invoke();\n }\n if (elapsed > duration && (leading || !isLeading)) {\n lastExec = Date.now();\n invoke();\n } else if (trailing) {\n lastValue = new Promise((resolve, reject) => {\n lastRejector = rejectOnCancel ? reject : resolve;\n timer = setTimeout(() => {\n lastExec = Date.now();\n isLeading = true;\n resolve(invoke());\n clear();\n }, Math.max(0, duration - elapsed));\n });\n }\n if (!leading && !timer)\n timer = setTimeout(() => isLeading = true, duration);\n isLeading = false;\n return lastValue;\n };\n return filter;\n}\nfunction pausableFilter(extendFilter = bypassFilter) {\n const isActive = ref(true);\n function pause() {\n isActive.value = false;\n }\n function resume() {\n isActive.value = true;\n }\n const eventFilter = (...args) => {\n if (isActive.value)\n extendFilter(...args);\n };\n return { isActive: readonly(isActive), pause, resume, eventFilter };\n}\n\nconst directiveHooks = {\n mounted: isVue3 ? \"mounted\" : \"inserted\",\n updated: isVue3 ? \"updated\" : \"componentUpdated\",\n unmounted: isVue3 ? \"unmounted\" : \"unbind\"\n};\n\nfunction cacheStringFunction(fn) {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n}\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, \"-$1\").toLowerCase());\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction((str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n});\n\nfunction promiseTimeout(ms, throwOnTimeout = false, reason = \"Timeout\") {\n return new Promise((resolve, reject) => {\n if (throwOnTimeout)\n setTimeout(() => reject(reason), ms);\n else\n setTimeout(resolve, ms);\n });\n}\nfunction identity(arg) {\n return arg;\n}\nfunction createSingletonPromise(fn) {\n let _promise;\n function wrapper() {\n if (!_promise)\n _promise = fn();\n return _promise;\n }\n wrapper.reset = async () => {\n const _prev = _promise;\n _promise = void 0;\n if (_prev)\n await _prev;\n };\n return wrapper;\n}\nfunction invoke(fn) {\n return fn();\n}\nfunction containsProp(obj, ...props) {\n return props.some((k) => k in obj);\n}\nfunction increaseWithUnit(target, delta) {\n var _a;\n if (typeof target === \"number\")\n return target + delta;\n const value = ((_a = target.match(/^-?[0-9]+\\.?[0-9]*/)) == null ? void 0 : _a[0]) || \"\";\n const unit = target.slice(value.length);\n const result = Number.parseFloat(value) + delta;\n if (Number.isNaN(result))\n return target;\n return result + unit;\n}\nfunction objectPick(obj, keys, omitUndefined = false) {\n return keys.reduce((n, k) => {\n if (k in obj) {\n if (!omitUndefined || obj[k] !== void 0)\n n[k] = obj[k];\n }\n return n;\n }, {});\n}\nfunction objectOmit(obj, keys, omitUndefined = false) {\n return Object.fromEntries(Object.entries(obj).filter(([key, value]) => {\n return (!omitUndefined || value !== void 0) && !keys.includes(key);\n }));\n}\nfunction objectEntries(obj) {\n return Object.entries(obj);\n}\nfunction getLifeCycleTarget(target) {\n return target || getCurrentInstance();\n}\n\nfunction toRef(...args) {\n if (args.length !== 1)\n return toRef$1(...args);\n const r = args[0];\n return typeof r === \"function\" ? readonly(customRef(() => ({ get: r, set: noop }))) : ref(r);\n}\nconst resolveRef = toRef;\n\nfunction reactivePick(obj, ...keys) {\n const flatKeys = keys.flat();\n const predicate = flatKeys[0];\n return reactiveComputed(() => typeof predicate === \"function\" ? Object.fromEntries(Object.entries(toRefs$1(obj)).filter(([k, v]) => predicate(toValue(v), k))) : Object.fromEntries(flatKeys.map((k) => [k, toRef(obj, k)])));\n}\n\nfunction refAutoReset(defaultValue, afterMs = 1e4) {\n return customRef((track, trigger) => {\n let value = toValue(defaultValue);\n let timer;\n const resetAfter = () => setTimeout(() => {\n value = toValue(defaultValue);\n trigger();\n }, toValue(afterMs));\n tryOnScopeDispose(() => {\n clearTimeout(timer);\n });\n return {\n get() {\n track();\n return value;\n },\n set(newValue) {\n value = newValue;\n trigger();\n clearTimeout(timer);\n timer = resetAfter();\n }\n };\n });\n}\n\nfunction useDebounceFn(fn, ms = 200, options = {}) {\n return createFilterWrapper(\n debounceFilter(ms, options),\n fn\n );\n}\n\nfunction refDebounced(value, ms = 200, options = {}) {\n const debounced = ref(value.value);\n const updater = useDebounceFn(() => {\n debounced.value = value.value;\n }, ms, options);\n watch(value, () => updater());\n return debounced;\n}\n\nfunction refDefault(source, defaultValue) {\n return computed({\n get() {\n var _a;\n return (_a = source.value) != null ? _a : defaultValue;\n },\n set(value) {\n source.value = value;\n }\n });\n}\n\nfunction useThrottleFn(fn, ms = 200, trailing = false, leading = true, rejectOnCancel = false) {\n return createFilterWrapper(\n throttleFilter(ms, trailing, leading, rejectOnCancel),\n fn\n );\n}\n\nfunction refThrottled(value, delay = 200, trailing = true, leading = true) {\n if (delay <= 0)\n return value;\n const throttled = ref(value.value);\n const updater = useThrottleFn(() => {\n throttled.value = value.value;\n }, delay, trailing, leading);\n watch(value, () => updater());\n return throttled;\n}\n\nfunction refWithControl(initial, options = {}) {\n let source = initial;\n let track;\n let trigger;\n const ref = customRef((_track, _trigger) => {\n track = _track;\n trigger = _trigger;\n return {\n get() {\n return get();\n },\n set(v) {\n set(v);\n }\n };\n });\n function get(tracking = true) {\n if (tracking)\n track();\n return source;\n }\n function set(value, triggering = true) {\n var _a, _b;\n if (value === source)\n return;\n const old = source;\n if (((_a = options.onBeforeChange) == null ? void 0 : _a.call(options, value, old)) === false)\n return;\n source = value;\n (_b = options.onChanged) == null ? void 0 : _b.call(options, value, old);\n if (triggering)\n trigger();\n }\n const untrackedGet = () => get(false);\n const silentSet = (v) => set(v, false);\n const peek = () => get(false);\n const lay = (v) => set(v, false);\n return extendRef(\n ref,\n {\n get,\n set,\n untrackedGet,\n silentSet,\n peek,\n lay\n },\n { enumerable: true }\n );\n}\nconst controlledRef = refWithControl;\n\nfunction set(...args) {\n if (args.length === 2) {\n const [ref, value] = args;\n ref.value = value;\n }\n if (args.length === 3) {\n if (isVue2) {\n set$1(...args);\n } else {\n const [target, key, value] = args;\n target[key] = value;\n }\n }\n}\n\nfunction watchWithFilter(source, cb, options = {}) {\n const {\n eventFilter = bypassFilter,\n ...watchOptions\n } = options;\n return watch(\n source,\n createFilterWrapper(\n eventFilter,\n cb\n ),\n watchOptions\n );\n}\n\nfunction watchPausable(source, cb, options = {}) {\n const {\n eventFilter: filter,\n ...watchOptions\n } = options;\n const { eventFilter, pause, resume, isActive } = pausableFilter(filter);\n const stop = watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter\n }\n );\n return { stop, pause, resume, isActive };\n}\n\nfunction syncRef(left, right, ...[options]) {\n const {\n flush = \"sync\",\n deep = false,\n immediate = true,\n direction = \"both\",\n transform = {}\n } = options || {};\n const watchers = [];\n const transformLTR = \"ltr\" in transform && transform.ltr || ((v) => v);\n const transformRTL = \"rtl\" in transform && transform.rtl || ((v) => v);\n if (direction === \"both\" || direction === \"ltr\") {\n watchers.push(watchPausable(\n left,\n (newValue) => {\n watchers.forEach((w) => w.pause());\n right.value = transformLTR(newValue);\n watchers.forEach((w) => w.resume());\n },\n { flush, deep, immediate }\n ));\n }\n if (direction === \"both\" || direction === \"rtl\") {\n watchers.push(watchPausable(\n right,\n (newValue) => {\n watchers.forEach((w) => w.pause());\n left.value = transformRTL(newValue);\n watchers.forEach((w) => w.resume());\n },\n { flush, deep, immediate }\n ));\n }\n const stop = () => {\n watchers.forEach((w) => w.stop());\n };\n return stop;\n}\n\nfunction syncRefs(source, targets, options = {}) {\n const {\n flush = \"sync\",\n deep = false,\n immediate = true\n } = options;\n if (!Array.isArray(targets))\n targets = [targets];\n return watch(\n source,\n (newValue) => targets.forEach((target) => target.value = newValue),\n { flush, deep, immediate }\n );\n}\n\nfunction toRefs(objectRef, options = {}) {\n if (!isRef(objectRef))\n return toRefs$1(objectRef);\n const result = Array.isArray(objectRef.value) ? Array.from({ length: objectRef.value.length }) : {};\n for (const key in objectRef.value) {\n result[key] = customRef(() => ({\n get() {\n return objectRef.value[key];\n },\n set(v) {\n var _a;\n const replaceRef = (_a = toValue(options.replaceRef)) != null ? _a : true;\n if (replaceRef) {\n if (Array.isArray(objectRef.value)) {\n const copy = [...objectRef.value];\n copy[key] = v;\n objectRef.value = copy;\n } else {\n const newObject = { ...objectRef.value, [key]: v };\n Object.setPrototypeOf(newObject, Object.getPrototypeOf(objectRef.value));\n objectRef.value = newObject;\n }\n } else {\n objectRef.value[key] = v;\n }\n }\n }));\n }\n return result;\n}\n\nfunction tryOnBeforeMount(fn, sync = true, target) {\n const instance = getLifeCycleTarget(target);\n if (instance)\n onBeforeMount(fn, target);\n else if (sync)\n fn();\n else\n nextTick(fn);\n}\n\nfunction tryOnBeforeUnmount(fn, target) {\n const instance = getLifeCycleTarget(target);\n if (instance)\n onBeforeUnmount(fn, target);\n}\n\nfunction tryOnMounted(fn, sync = true, target) {\n const instance = getLifeCycleTarget();\n if (instance)\n onMounted(fn, target);\n else if (sync)\n fn();\n else\n nextTick(fn);\n}\n\nfunction tryOnUnmounted(fn, target) {\n const instance = getLifeCycleTarget(target);\n if (instance)\n onUnmounted(fn, target);\n}\n\nfunction createUntil(r, isNot = false) {\n function toMatch(condition, { flush = \"sync\", deep = false, timeout, throwOnTimeout } = {}) {\n let stop = null;\n const watcher = new Promise((resolve) => {\n stop = watch(\n r,\n (v) => {\n if (condition(v) !== isNot) {\n stop == null ? void 0 : stop();\n resolve(v);\n }\n },\n {\n flush,\n deep,\n immediate: true\n }\n );\n });\n const promises = [watcher];\n if (timeout != null) {\n promises.push(\n promiseTimeout(timeout, throwOnTimeout).then(() => toValue(r)).finally(() => stop == null ? void 0 : stop())\n );\n }\n return Promise.race(promises);\n }\n function toBe(value, options) {\n if (!isRef(value))\n return toMatch((v) => v === value, options);\n const { flush = \"sync\", deep = false, timeout, throwOnTimeout } = options != null ? options : {};\n let stop = null;\n const watcher = new Promise((resolve) => {\n stop = watch(\n [r, value],\n ([v1, v2]) => {\n if (isNot !== (v1 === v2)) {\n stop == null ? void 0 : stop();\n resolve(v1);\n }\n },\n {\n flush,\n deep,\n immediate: true\n }\n );\n });\n const promises = [watcher];\n if (timeout != null) {\n promises.push(\n promiseTimeout(timeout, throwOnTimeout).then(() => toValue(r)).finally(() => {\n stop == null ? void 0 : stop();\n return toValue(r);\n })\n );\n }\n return Promise.race(promises);\n }\n function toBeTruthy(options) {\n return toMatch((v) => Boolean(v), options);\n }\n function toBeNull(options) {\n return toBe(null, options);\n }\n function toBeUndefined(options) {\n return toBe(void 0, options);\n }\n function toBeNaN(options) {\n return toMatch(Number.isNaN, options);\n }\n function toContains(value, options) {\n return toMatch((v) => {\n const array = Array.from(v);\n return array.includes(value) || array.includes(toValue(value));\n }, options);\n }\n function changed(options) {\n return changedTimes(1, options);\n }\n function changedTimes(n = 1, options) {\n let count = -1;\n return toMatch(() => {\n count += 1;\n return count >= n;\n }, options);\n }\n if (Array.isArray(toValue(r))) {\n const instance = {\n toMatch,\n toContains,\n changed,\n changedTimes,\n get not() {\n return createUntil(r, !isNot);\n }\n };\n return instance;\n } else {\n const instance = {\n toMatch,\n toBe,\n toBeTruthy,\n toBeNull,\n toBeNaN,\n toBeUndefined,\n changed,\n changedTimes,\n get not() {\n return createUntil(r, !isNot);\n }\n };\n return instance;\n }\n}\nfunction until(r) {\n return createUntil(r);\n}\n\nfunction defaultComparator(value, othVal) {\n return value === othVal;\n}\nfunction useArrayDifference(...args) {\n var _a;\n const list = args[0];\n const values = args[1];\n let compareFn = (_a = args[2]) != null ? _a : defaultComparator;\n if (typeof compareFn === \"string\") {\n const key = compareFn;\n compareFn = (value, othVal) => value[key] === othVal[key];\n }\n return computed(() => toValue(list).filter((x) => toValue(values).findIndex((y) => compareFn(x, y)) === -1));\n}\n\nfunction useArrayEvery(list, fn) {\n return computed(() => toValue(list).every((element, index, array) => fn(toValue(element), index, array)));\n}\n\nfunction useArrayFilter(list, fn) {\n return computed(() => toValue(list).map((i) => toValue(i)).filter(fn));\n}\n\nfunction useArrayFind(list, fn) {\n return computed(() => toValue(\n toValue(list).find((element, index, array) => fn(toValue(element), index, array))\n ));\n}\n\nfunction useArrayFindIndex(list, fn) {\n return computed(() => toValue(list).findIndex((element, index, array) => fn(toValue(element), index, array)));\n}\n\nfunction findLast(arr, cb) {\n let index = arr.length;\n while (index-- > 0) {\n if (cb(arr[index], index, arr))\n return arr[index];\n }\n return void 0;\n}\nfunction useArrayFindLast(list, fn) {\n return computed(() => toValue(\n !Array.prototype.findLast ? findLast(toValue(list), (element, index, array) => fn(toValue(element), index, array)) : toValue(list).findLast((element, index, array) => fn(toValue(element), index, array))\n ));\n}\n\nfunction isArrayIncludesOptions(obj) {\n return isObject(obj) && containsProp(obj, \"formIndex\", \"comparator\");\n}\nfunction useArrayIncludes(...args) {\n var _a;\n const list = args[0];\n const value = args[1];\n let comparator = args[2];\n let formIndex = 0;\n if (isArrayIncludesOptions(comparator)) {\n formIndex = (_a = comparator.fromIndex) != null ? _a : 0;\n comparator = comparator.comparator;\n }\n if (typeof comparator === \"string\") {\n const key = comparator;\n comparator = (element, value2) => element[key] === toValue(value2);\n }\n comparator = comparator != null ? comparator : (element, value2) => element === toValue(value2);\n return computed(() => toValue(list).slice(formIndex).some((element, index, array) => comparator(\n toValue(element),\n toValue(value),\n index,\n toValue(array)\n )));\n}\n\nfunction useArrayJoin(list, separator) {\n return computed(() => toValue(list).map((i) => toValue(i)).join(toValue(separator)));\n}\n\nfunction useArrayMap(list, fn) {\n return computed(() => toValue(list).map((i) => toValue(i)).map(fn));\n}\n\nfunction useArrayReduce(list, reducer, ...args) {\n const reduceCallback = (sum, value, index) => reducer(toValue(sum), toValue(value), index);\n return computed(() => {\n const resolved = toValue(list);\n return args.length ? resolved.reduce(reduceCallback, toValue(args[0])) : resolved.reduce(reduceCallback);\n });\n}\n\nfunction useArraySome(list, fn) {\n return computed(() => toValue(list).some((element, index, array) => fn(toValue(element), index, array)));\n}\n\nfunction uniq(array) {\n return Array.from(new Set(array));\n}\nfunction uniqueElementsBy(array, fn) {\n return array.reduce((acc, v) => {\n if (!acc.some((x) => fn(v, x, array)))\n acc.push(v);\n return acc;\n }, []);\n}\nfunction useArrayUnique(list, compareFn) {\n return computed(() => {\n const resolvedList = toValue(list).map((element) => toValue(element));\n return compareFn ? uniqueElementsBy(resolvedList, compareFn) : uniq(resolvedList);\n });\n}\n\nfunction useCounter(initialValue = 0, options = {}) {\n let _initialValue = unref(initialValue);\n const count = ref(initialValue);\n const {\n max = Number.POSITIVE_INFINITY,\n min = Number.NEGATIVE_INFINITY\n } = options;\n const inc = (delta = 1) => count.value = Math.max(Math.min(max, count.value + delta), min);\n const dec = (delta = 1) => count.value = Math.min(Math.max(min, count.value - delta), max);\n const get = () => count.value;\n const set = (val) => count.value = Math.max(min, Math.min(max, val));\n const reset = (val = _initialValue) => {\n _initialValue = val;\n return set(val);\n };\n return { count, inc, dec, get, set, reset };\n}\n\nconst REGEX_PARSE = /^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/;\nconst REGEX_FORMAT = /[YMDHhms]o|\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|SSS/g;\nfunction defaultMeridiem(hours, minutes, isLowercase, hasPeriod) {\n let m = hours < 12 ? \"AM\" : \"PM\";\n if (hasPeriod)\n m = m.split(\"\").reduce((acc, curr) => acc += `${curr}.`, \"\");\n return isLowercase ? m.toLowerCase() : m;\n}\nfunction formatOrdinal(num) {\n const suffixes = [\"th\", \"st\", \"nd\", \"rd\"];\n const v = num % 100;\n return num + (suffixes[(v - 20) % 10] || suffixes[v] || suffixes[0]);\n}\nfunction formatDate(date, formatStr, options = {}) {\n var _a;\n const years = date.getFullYear();\n const month = date.getMonth();\n const days = date.getDate();\n const hours = date.getHours();\n const minutes = date.getMinutes();\n const seconds = date.getSeconds();\n const milliseconds = date.getMilliseconds();\n const day = date.getDay();\n const meridiem = (_a = options.customMeridiem) != null ? _a : defaultMeridiem;\n const matches = {\n Yo: () => formatOrdinal(years),\n YY: () => String(years).slice(-2),\n YYYY: () => years,\n M: () => month + 1,\n Mo: () => formatOrdinal(month + 1),\n MM: () => `${month + 1}`.padStart(2, \"0\"),\n MMM: () => date.toLocaleDateString(options.locales, { month: \"short\" }),\n MMMM: () => date.toLocaleDateString(options.locales, { month: \"long\" }),\n D: () => String(days),\n Do: () => formatOrdinal(days),\n DD: () => `${days}`.padStart(2, \"0\"),\n H: () => String(hours),\n Ho: () => formatOrdinal(hours),\n HH: () => `${hours}`.padStart(2, \"0\"),\n h: () => `${hours % 12 || 12}`.padStart(1, \"0\"),\n ho: () => formatOrdinal(hours % 12 || 12),\n hh: () => `${hours % 12 || 12}`.padStart(2, \"0\"),\n m: () => String(minutes),\n mo: () => formatOrdinal(minutes),\n mm: () => `${minutes}`.padStart(2, \"0\"),\n s: () => String(seconds),\n so: () => formatOrdinal(seconds),\n ss: () => `${seconds}`.padStart(2, \"0\"),\n SSS: () => `${milliseconds}`.padStart(3, \"0\"),\n d: () => day,\n dd: () => date.toLocaleDateString(options.locales, { weekday: \"narrow\" }),\n ddd: () => date.toLocaleDateString(options.locales, { weekday: \"short\" }),\n dddd: () => date.toLocaleDateString(options.locales, { weekday: \"long\" }),\n A: () => meridiem(hours, minutes),\n AA: () => meridiem(hours, minutes, false, true),\n a: () => meridiem(hours, minutes, true),\n aa: () => meridiem(hours, minutes, true, true)\n };\n return formatStr.replace(REGEX_FORMAT, (match, $1) => {\n var _a2, _b;\n return (_b = $1 != null ? $1 : (_a2 = matches[match]) == null ? void 0 : _a2.call(matches)) != null ? _b : match;\n });\n}\nfunction normalizeDate(date) {\n if (date === null)\n return new Date(Number.NaN);\n if (date === void 0)\n return /* @__PURE__ */ new Date();\n if (date instanceof Date)\n return new Date(date);\n if (typeof date === \"string\" && !/Z$/i.test(date)) {\n const d = date.match(REGEX_PARSE);\n if (d) {\n const m = d[2] - 1 || 0;\n const ms = (d[7] || \"0\").substring(0, 3);\n return new Date(d[1], m, d[3] || 1, d[4] || 0, d[5] || 0, d[6] || 0, ms);\n }\n }\n return new Date(date);\n}\nfunction useDateFormat(date, formatStr = \"HH:mm:ss\", options = {}) {\n return computed(() => formatDate(normalizeDate(toValue(date)), toValue(formatStr), options));\n}\n\nfunction useIntervalFn(cb, interval = 1e3, options = {}) {\n const {\n immediate = true,\n immediateCallback = false\n } = options;\n let timer = null;\n const isActive = ref(false);\n function clean() {\n if (timer) {\n clearInterval(timer);\n timer = null;\n }\n }\n function pause() {\n isActive.value = false;\n clean();\n }\n function resume() {\n const intervalValue = toValue(interval);\n if (intervalValue <= 0)\n return;\n isActive.value = true;\n if (immediateCallback)\n cb();\n clean();\n timer = setInterval(cb, intervalValue);\n }\n if (immediate && isClient)\n resume();\n if (isRef(interval) || typeof interval === \"function\") {\n const stopWatch = watch(interval, () => {\n if (isActive.value && isClient)\n resume();\n });\n tryOnScopeDispose(stopWatch);\n }\n tryOnScopeDispose(pause);\n return {\n isActive,\n pause,\n resume\n };\n}\n\nfunction useInterval(interval = 1e3, options = {}) {\n const {\n controls: exposeControls = false,\n immediate = true,\n callback\n } = options;\n const counter = ref(0);\n const update = () => counter.value += 1;\n const reset = () => {\n counter.value = 0;\n };\n const controls = useIntervalFn(\n callback ? () => {\n update();\n callback(counter.value);\n } : update,\n interval,\n { immediate }\n );\n if (exposeControls) {\n return {\n counter,\n reset,\n ...controls\n };\n } else {\n return counter;\n }\n}\n\nfunction useLastChanged(source, options = {}) {\n var _a;\n const ms = ref((_a = options.initialValue) != null ? _a : null);\n watch(\n source,\n () => ms.value = timestamp(),\n options\n );\n return ms;\n}\n\nfunction useTimeoutFn(cb, interval, options = {}) {\n const {\n immediate = true\n } = options;\n const isPending = ref(false);\n let timer = null;\n function clear() {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n }\n function stop() {\n isPending.value = false;\n clear();\n }\n function start(...args) {\n clear();\n isPending.value = true;\n timer = setTimeout(() => {\n isPending.value = false;\n timer = null;\n cb(...args);\n }, toValue(interval));\n }\n if (immediate) {\n isPending.value = true;\n if (isClient)\n start();\n }\n tryOnScopeDispose(stop);\n return {\n isPending: readonly(isPending),\n start,\n stop\n };\n}\n\nfunction useTimeout(interval = 1e3, options = {}) {\n const {\n controls: exposeControls = false,\n callback\n } = options;\n const controls = useTimeoutFn(\n callback != null ? callback : noop,\n interval,\n options\n );\n const ready = computed(() => !controls.isPending.value);\n if (exposeControls) {\n return {\n ready,\n ...controls\n };\n } else {\n return ready;\n }\n}\n\nfunction useToNumber(value, options = {}) {\n const {\n method = \"parseFloat\",\n radix,\n nanToZero\n } = options;\n return computed(() => {\n let resolved = toValue(value);\n if (typeof resolved === \"string\")\n resolved = Number[method](resolved, radix);\n if (nanToZero && Number.isNaN(resolved))\n resolved = 0;\n return resolved;\n });\n}\n\nfunction useToString(value) {\n return computed(() => `${toValue(value)}`);\n}\n\nfunction useToggle(initialValue = false, options = {}) {\n const {\n truthyValue = true,\n falsyValue = false\n } = options;\n const valueIsRef = isRef(initialValue);\n const _value = ref(initialValue);\n function toggle(value) {\n if (arguments.length) {\n _value.value = value;\n return _value.value;\n } else {\n const truthy = toValue(truthyValue);\n _value.value = _value.value === truthy ? toValue(falsyValue) : truthy;\n return _value.value;\n }\n }\n if (valueIsRef)\n return toggle;\n else\n return [_value, toggle];\n}\n\nfunction watchArray(source, cb, options) {\n let oldList = (options == null ? void 0 : options.immediate) ? [] : [...source instanceof Function ? source() : Array.isArray(source) ? source : toValue(source)];\n return watch(source, (newList, _, onCleanup) => {\n const oldListRemains = Array.from({ length: oldList.length });\n const added = [];\n for (const obj of newList) {\n let found = false;\n for (let i = 0; i < oldList.length; i++) {\n if (!oldListRemains[i] && obj === oldList[i]) {\n oldListRemains[i] = true;\n found = true;\n break;\n }\n }\n if (!found)\n added.push(obj);\n }\n const removed = oldList.filter((_2, i) => !oldListRemains[i]);\n cb(newList, oldList, added, removed, onCleanup);\n oldList = [...newList];\n }, options);\n}\n\nfunction watchAtMost(source, cb, options) {\n const {\n count,\n ...watchOptions\n } = options;\n const current = ref(0);\n const stop = watchWithFilter(\n source,\n (...args) => {\n current.value += 1;\n if (current.value >= toValue(count))\n nextTick(() => stop());\n cb(...args);\n },\n watchOptions\n );\n return { count: current, stop };\n}\n\nfunction watchDebounced(source, cb, options = {}) {\n const {\n debounce = 0,\n maxWait = void 0,\n ...watchOptions\n } = options;\n return watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter: debounceFilter(debounce, { maxWait })\n }\n );\n}\n\nfunction watchDeep(source, cb, options) {\n return watch(\n source,\n cb,\n {\n ...options,\n deep: true\n }\n );\n}\n\nfunction watchIgnorable(source, cb, options = {}) {\n const {\n eventFilter = bypassFilter,\n ...watchOptions\n } = options;\n const filteredCb = createFilterWrapper(\n eventFilter,\n cb\n );\n let ignoreUpdates;\n let ignorePrevAsyncUpdates;\n let stop;\n if (watchOptions.flush === \"sync\") {\n const ignore = ref(false);\n ignorePrevAsyncUpdates = () => {\n };\n ignoreUpdates = (updater) => {\n ignore.value = true;\n updater();\n ignore.value = false;\n };\n stop = watch(\n source,\n (...args) => {\n if (!ignore.value)\n filteredCb(...args);\n },\n watchOptions\n );\n } else {\n const disposables = [];\n const ignoreCounter = ref(0);\n const syncCounter = ref(0);\n ignorePrevAsyncUpdates = () => {\n ignoreCounter.value = syncCounter.value;\n };\n disposables.push(\n watch(\n source,\n () => {\n syncCounter.value++;\n },\n { ...watchOptions, flush: \"sync\" }\n )\n );\n ignoreUpdates = (updater) => {\n const syncCounterPrev = syncCounter.value;\n updater();\n ignoreCounter.value += syncCounter.value - syncCounterPrev;\n };\n disposables.push(\n watch(\n source,\n (...args) => {\n const ignore = ignoreCounter.value > 0 && ignoreCounter.value === syncCounter.value;\n ignoreCounter.value = 0;\n syncCounter.value = 0;\n if (ignore)\n return;\n filteredCb(...args);\n },\n watchOptions\n )\n );\n stop = () => {\n disposables.forEach((fn) => fn());\n };\n }\n return { stop, ignoreUpdates, ignorePrevAsyncUpdates };\n}\n\nfunction watchImmediate(source, cb, options) {\n return watch(\n source,\n cb,\n {\n ...options,\n immediate: true\n }\n );\n}\n\nfunction watchOnce(source, cb, options) {\n const stop = watch(source, (...args) => {\n nextTick(() => stop());\n return cb(...args);\n }, options);\n return stop;\n}\n\nfunction watchThrottled(source, cb, options = {}) {\n const {\n throttle = 0,\n trailing = true,\n leading = true,\n ...watchOptions\n } = options;\n return watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter: throttleFilter(throttle, trailing, leading)\n }\n );\n}\n\nfunction watchTriggerable(source, cb, options = {}) {\n let cleanupFn;\n function onEffect() {\n if (!cleanupFn)\n return;\n const fn = cleanupFn;\n cleanupFn = void 0;\n fn();\n }\n function onCleanup(callback) {\n cleanupFn = callback;\n }\n const _cb = (value, oldValue) => {\n onEffect();\n return cb(value, oldValue, onCleanup);\n };\n const res = watchIgnorable(source, _cb, options);\n const { ignoreUpdates } = res;\n const trigger = () => {\n let res2;\n ignoreUpdates(() => {\n res2 = _cb(getWatchSources(source), getOldValue(source));\n });\n return res2;\n };\n return {\n ...res,\n trigger\n };\n}\nfunction getWatchSources(sources) {\n if (isReactive(sources))\n return sources;\n if (Array.isArray(sources))\n return sources.map((item) => toValue(item));\n return toValue(sources);\n}\nfunction getOldValue(source) {\n return Array.isArray(source) ? source.map(() => void 0) : void 0;\n}\n\nfunction whenever(source, cb, options) {\n const stop = watch(\n source,\n (v, ov, onInvalidate) => {\n if (v) {\n if (options == null ? void 0 : options.once)\n nextTick(() => stop());\n cb(v, ov, onInvalidate);\n }\n },\n {\n ...options,\n once: false\n }\n );\n return stop;\n}\n\nexport { assert, refAutoReset as autoResetRef, bypassFilter, camelize, clamp, computedEager, computedWithControl, containsProp, computedWithControl as controlledComputed, controlledRef, createEventHook, createFilterWrapper, createGlobalState, createInjectionState, reactify as createReactiveFn, createSharedComposable, createSingletonPromise, debounceFilter, refDebounced as debouncedRef, watchDebounced as debouncedWatch, directiveHooks, computedEager as eagerComputed, extendRef, formatDate, get, getLifeCycleTarget, hasOwn, hyphenate, identity, watchIgnorable as ignorableWatch, increaseWithUnit, injectLocal, invoke, isClient, isDef, isDefined, isIOS, isObject, isWorker, makeDestructurable, noop, normalizeDate, notNullish, now, objectEntries, objectOmit, objectPick, pausableFilter, watchPausable as pausableWatch, promiseTimeout, provideLocal, rand, reactify, reactifyObject, reactiveComputed, reactiveOmit, reactivePick, refAutoReset, refDebounced, refDefault, refThrottled, refWithControl, resolveRef, resolveUnref, set, syncRef, syncRefs, throttleFilter, refThrottled as throttledRef, watchThrottled as throttledWatch, timestamp, toReactive, toRef, toRefs, toValue, tryOnBeforeMount, tryOnBeforeUnmount, tryOnMounted, tryOnScopeDispose, tryOnUnmounted, until, useArrayDifference, useArrayEvery, useArrayFilter, useArrayFind, useArrayFindIndex, useArrayFindLast, useArrayIncludes, useArrayJoin, useArrayMap, useArrayReduce, useArraySome, useArrayUnique, useCounter, useDateFormat, refDebounced as useDebounce, useDebounceFn, useInterval, useIntervalFn, useLastChanged, refThrottled as useThrottle, useThrottleFn, useTimeout, useTimeoutFn, useToNumber, useToString, useToggle, watchArray, watchAtMost, watchDebounced, watchDeep, watchIgnorable, watchImmediate, watchOnce, watchPausable, watchThrottled, watchTriggerable, watchWithFilter, whenever };\n","import Vue from 'vue'\nimport { getCurrentInstance } from 'vue'\n\nvar isVue2 = true\nvar isVue3 = false\nvar Vue2 = Vue\nvar warn = Vue.util.warn\n\nfunction install() {}\n\n// createApp polyfill\nexport function createApp(rootComponent, rootProps) {\n var vm\n var provide = {}\n var app = {\n config: Vue.config,\n use: Vue.use.bind(Vue),\n mixin: Vue.mixin.bind(Vue),\n component: Vue.component.bind(Vue),\n provide: function (key, value) {\n provide[key] = value\n return this\n },\n directive: function (name, dir) {\n if (dir) {\n Vue.directive(name, dir)\n return app\n } else {\n return Vue.directive(name)\n }\n },\n mount: function (el, hydrating) {\n if (!vm) {\n vm = new Vue(Object.assign({ propsData: rootProps }, rootComponent, { provide: Object.assign(provide, rootComponent.provide) }))\n vm.$mount(el, hydrating)\n return vm\n } else {\n return vm\n }\n },\n unmount: function () {\n if (vm) {\n vm.$destroy()\n vm = undefined\n }\n },\n }\n return app\n}\n\nexport {\n Vue,\n Vue2,\n isVue2,\n isVue3,\n install,\n warn\n}\n\n// Vue 3 components mock\nfunction createMockComponent(name) {\n return {\n setup() {\n throw new Error('[vue-demi] ' + name + ' is not supported in Vue 2. It\\'s provided to avoid compiler errors.')\n }\n }\n}\nexport var Fragment = /*#__PURE__*/ createMockComponent('Fragment')\nexport var Transition = /*#__PURE__*/ createMockComponent('Transition')\nexport var TransitionGroup = /*#__PURE__*/ createMockComponent('TransitionGroup')\nexport var Teleport = /*#__PURE__*/ createMockComponent('Teleport')\nexport var Suspense = /*#__PURE__*/ createMockComponent('Suspense')\nexport var KeepAlive = /*#__PURE__*/ createMockComponent('KeepAlive')\n\nexport * from 'vue'\n\n// Not implemented https://github.com/vuejs/core/pull/8111, falls back to getCurrentInstance()\nexport function hasInjectionContext() {\n return !!getCurrentInstance()\n}\n","import { noop, makeDestructurable, camelize, toValue, isClient, isObject, tryOnScopeDispose, isIOS, tryOnMounted, objectOmit, promiseTimeout, until, increaseWithUnit, objectEntries, createSingletonPromise, useTimeoutFn, pausableWatch, toRef, createEventHook, notNullish, computedWithControl, timestamp, pausableFilter, watchIgnorable, debounceFilter, createFilterWrapper, bypassFilter, toRefs, useIntervalFn, containsProp, hasOwn, throttleFilter, useDebounceFn, useThrottleFn, clamp, syncRef, objectPick, tryOnUnmounted, watchWithFilter, tryOnBeforeUnmount, identity, isDef, isWorker } from '@vueuse/shared';\nexport * from '@vueuse/shared';\nimport { isRef, ref, shallowRef, watchEffect, computed, inject, isVue3, version, defineComponent, h, TransitionGroup, shallowReactive, Fragment, watch, getCurrentInstance, customRef, onUpdated, onMounted, isVue2, readonly, nextTick, reactive, markRaw, unref, getCurrentScope, set, del, isReadonly, onBeforeUpdate } from 'vue-demi';\n\nfunction computedAsync(evaluationCallback, initialState, optionsOrRef) {\n let options;\n if (isRef(optionsOrRef)) {\n options = {\n evaluating: optionsOrRef\n };\n } else {\n options = optionsOrRef || {};\n }\n const {\n lazy = false,\n evaluating = void 0,\n shallow = true,\n onError = noop\n } = options;\n const started = ref(!lazy);\n const current = shallow ? shallowRef(initialState) : ref(initialState);\n let counter = 0;\n watchEffect(async (onInvalidate) => {\n if (!started.value)\n return;\n counter++;\n const counterAtBeginning = counter;\n let hasFinished = false;\n if (evaluating) {\n Promise.resolve().then(() => {\n evaluating.value = true;\n });\n }\n try {\n const result = await evaluationCallback((cancelCallback) => {\n onInvalidate(() => {\n if (evaluating)\n evaluating.value = false;\n if (!hasFinished)\n cancelCallback();\n });\n });\n if (counterAtBeginning === counter)\n current.value = result;\n } catch (e) {\n onError(e);\n } finally {\n if (evaluating && counterAtBeginning === counter)\n evaluating.value = false;\n hasFinished = true;\n }\n });\n if (lazy) {\n return computed(() => {\n started.value = true;\n return current.value;\n });\n } else {\n return current;\n }\n}\n\nfunction computedInject(key, options, defaultSource, treatDefaultAsFactory) {\n let source = inject(key);\n if (defaultSource)\n source = inject(key, defaultSource);\n if (treatDefaultAsFactory)\n source = inject(key, defaultSource, treatDefaultAsFactory);\n if (typeof options === \"function\") {\n return computed((ctx) => options(source, ctx));\n } else {\n return computed({\n get: (ctx) => options.get(source, ctx),\n set: options.set\n });\n }\n}\n\nfunction createReusableTemplate(options = {}) {\n if (!isVue3 && !version.startsWith(\"2.7.\")) {\n if (process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] createReusableTemplate only works in Vue 2.7 or above.\");\n return;\n }\n const {\n inheritAttrs = true\n } = options;\n const render = shallowRef();\n const define = /* #__PURE__ */ defineComponent({\n setup(_, { slots }) {\n return () => {\n render.value = slots.default;\n };\n }\n });\n const reuse = /* #__PURE__ */ defineComponent({\n inheritAttrs,\n setup(_, { attrs, slots }) {\n return () => {\n var _a;\n if (!render.value && process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] Failed to find the definition of reusable template\");\n const vnode = (_a = render.value) == null ? void 0 : _a.call(render, { ...keysToCamelKebabCase(attrs), $slots: slots });\n return inheritAttrs && (vnode == null ? void 0 : vnode.length) === 1 ? vnode[0] : vnode;\n };\n }\n });\n return makeDestructurable(\n { define, reuse },\n [define, reuse]\n );\n}\nfunction keysToCamelKebabCase(obj) {\n const newObj = {};\n for (const key in obj)\n newObj[camelize(key)] = obj[key];\n return newObj;\n}\n\nfunction createTemplatePromise(options = {}) {\n if (!isVue3) {\n if (process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] createTemplatePromise only works in Vue 3 or above.\");\n return;\n }\n let index = 0;\n const instances = ref([]);\n function create(...args) {\n const props = shallowReactive({\n key: index++,\n args,\n promise: void 0,\n resolve: () => {\n },\n reject: () => {\n },\n isResolving: false,\n options\n });\n instances.value.push(props);\n props.promise = new Promise((_resolve, _reject) => {\n props.resolve = (v) => {\n props.isResolving = true;\n return _resolve(v);\n };\n props.reject = _reject;\n }).finally(() => {\n props.promise = void 0;\n const index2 = instances.value.indexOf(props);\n if (index2 !== -1)\n instances.value.splice(index2, 1);\n });\n return props.promise;\n }\n function start(...args) {\n if (options.singleton && instances.value.length > 0)\n return instances.value[0].promise;\n return create(...args);\n }\n const component = /* #__PURE__ */ defineComponent((_, { slots }) => {\n const renderList = () => instances.value.map((props) => {\n var _a;\n return h(Fragment, { key: props.key }, (_a = slots.default) == null ? void 0 : _a.call(slots, props));\n });\n if (options.transition)\n return () => h(TransitionGroup, options.transition, renderList);\n return renderList;\n });\n component.start = start;\n return component;\n}\n\nfunction createUnrefFn(fn) {\n return function(...args) {\n return fn.apply(this, args.map((i) => toValue(i)));\n };\n}\n\nfunction unrefElement(elRef) {\n var _a;\n const plain = toValue(elRef);\n return (_a = plain == null ? void 0 : plain.$el) != null ? _a : plain;\n}\n\nconst defaultWindow = isClient ? window : void 0;\nconst defaultDocument = isClient ? window.document : void 0;\nconst defaultNavigator = isClient ? window.navigator : void 0;\nconst defaultLocation = isClient ? window.location : void 0;\n\nfunction useEventListener(...args) {\n let target;\n let events;\n let listeners;\n let options;\n if (typeof args[0] === \"string\" || Array.isArray(args[0])) {\n [events, listeners, options] = args;\n target = defaultWindow;\n } else {\n [target, events, listeners, options] = args;\n }\n if (!target)\n return noop;\n if (!Array.isArray(events))\n events = [events];\n if (!Array.isArray(listeners))\n listeners = [listeners];\n const cleanups = [];\n const cleanup = () => {\n cleanups.forEach((fn) => fn());\n cleanups.length = 0;\n };\n const register = (el, event, listener, options2) => {\n el.addEventListener(event, listener, options2);\n return () => el.removeEventListener(event, listener, options2);\n };\n const stopWatch = watch(\n () => [unrefElement(target), toValue(options)],\n ([el, options2]) => {\n cleanup();\n if (!el)\n return;\n const optionsClone = isObject(options2) ? { ...options2 } : options2;\n cleanups.push(\n ...events.flatMap((event) => {\n return listeners.map((listener) => register(el, event, listener, optionsClone));\n })\n );\n },\n { immediate: true, flush: \"post\" }\n );\n const stop = () => {\n stopWatch();\n cleanup();\n };\n tryOnScopeDispose(stop);\n return stop;\n}\n\nlet _iOSWorkaround = false;\nfunction onClickOutside(target, handler, options = {}) {\n const { window = defaultWindow, ignore = [], capture = true, detectIframe = false } = options;\n if (!window)\n return noop;\n if (isIOS && !_iOSWorkaround) {\n _iOSWorkaround = true;\n Array.from(window.document.body.children).forEach((el) => el.addEventListener(\"click\", noop));\n window.document.documentElement.addEventListener(\"click\", noop);\n }\n let shouldListen = true;\n const shouldIgnore = (event) => {\n return ignore.some((target2) => {\n if (typeof target2 === \"string\") {\n return Array.from(window.document.querySelectorAll(target2)).some((el) => el === event.target || event.composedPath().includes(el));\n } else {\n const el = unrefElement(target2);\n return el && (event.target === el || event.composedPath().includes(el));\n }\n });\n };\n const listener = (event) => {\n const el = unrefElement(target);\n if (!el || el === event.target || event.composedPath().includes(el))\n return;\n if (event.detail === 0)\n shouldListen = !shouldIgnore(event);\n if (!shouldListen) {\n shouldListen = true;\n return;\n }\n handler(event);\n };\n const cleanup = [\n useEventListener(window, \"click\", listener, { passive: true, capture }),\n useEventListener(window, \"pointerdown\", (e) => {\n const el = unrefElement(target);\n shouldListen = !shouldIgnore(e) && !!(el && !e.composedPath().includes(el));\n }, { passive: true }),\n detectIframe && useEventListener(window, \"blur\", (event) => {\n setTimeout(() => {\n var _a;\n const el = unrefElement(target);\n if (((_a = window.document.activeElement) == null ? void 0 : _a.tagName) === \"IFRAME\" && !(el == null ? void 0 : el.contains(window.document.activeElement)))\n handler(event);\n }, 0);\n })\n ].filter(Boolean);\n const stop = () => cleanup.forEach((fn) => fn());\n return stop;\n}\n\nfunction createKeyPredicate(keyFilter) {\n if (typeof keyFilter === \"function\")\n return keyFilter;\n else if (typeof keyFilter === \"string\")\n return (event) => event.key === keyFilter;\n else if (Array.isArray(keyFilter))\n return (event) => keyFilter.includes(event.key);\n return () => true;\n}\nfunction onKeyStroke(...args) {\n let key;\n let handler;\n let options = {};\n if (args.length === 3) {\n key = args[0];\n handler = args[1];\n options = args[2];\n } else if (args.length === 2) {\n if (typeof args[1] === \"object\") {\n key = true;\n handler = args[0];\n options = args[1];\n } else {\n key = args[0];\n handler = args[1];\n }\n } else {\n key = true;\n handler = args[0];\n }\n const {\n target = defaultWindow,\n eventName = \"keydown\",\n passive = false,\n dedupe = false\n } = options;\n const predicate = createKeyPredicate(key);\n const listener = (e) => {\n if (e.repeat && toValue(dedupe))\n return;\n if (predicate(e))\n handler(e);\n };\n return useEventListener(target, eventName, listener, passive);\n}\nfunction onKeyDown(key, handler, options = {}) {\n return onKeyStroke(key, handler, { ...options, eventName: \"keydown\" });\n}\nfunction onKeyPressed(key, handler, options = {}) {\n return onKeyStroke(key, handler, { ...options, eventName: \"keypress\" });\n}\nfunction onKeyUp(key, handler, options = {}) {\n return onKeyStroke(key, handler, { ...options, eventName: \"keyup\" });\n}\n\nconst DEFAULT_DELAY = 500;\nconst DEFAULT_THRESHOLD = 10;\nfunction onLongPress(target, handler, options) {\n var _a, _b;\n const elementRef = computed(() => unrefElement(target));\n let timeout;\n let posStart;\n function clear() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = void 0;\n }\n posStart = void 0;\n }\n function onDown(ev) {\n var _a2, _b2, _c, _d;\n if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value)\n return;\n clear();\n if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent)\n ev.preventDefault();\n if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop)\n ev.stopPropagation();\n posStart = {\n x: ev.x,\n y: ev.y\n };\n timeout = setTimeout(\n () => handler(ev),\n (_d = options == null ? void 0 : options.delay) != null ? _d : DEFAULT_DELAY\n );\n }\n function onMove(ev) {\n var _a2, _b2, _c, _d;\n if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value)\n return;\n if (!posStart || (options == null ? void 0 : options.distanceThreshold) === false)\n return;\n if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent)\n ev.preventDefault();\n if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop)\n ev.stopPropagation();\n const dx = ev.x - posStart.x;\n const dy = ev.y - posStart.y;\n const distance = Math.sqrt(dx * dx + dy * dy);\n if (distance >= ((_d = options == null ? void 0 : options.distanceThreshold) != null ? _d : DEFAULT_THRESHOLD))\n clear();\n }\n const listenerOptions = {\n capture: (_a = options == null ? void 0 : options.modifiers) == null ? void 0 : _a.capture,\n once: (_b = options == null ? void 0 : options.modifiers) == null ? void 0 : _b.once\n };\n const cleanup = [\n useEventListener(elementRef, \"pointerdown\", onDown, listenerOptions),\n useEventListener(elementRef, \"pointermove\", onMove, listenerOptions),\n useEventListener(elementRef, [\"pointerup\", \"pointerleave\"], clear, listenerOptions)\n ];\n const stop = () => cleanup.forEach((fn) => fn());\n return stop;\n}\n\nfunction isFocusedElementEditable() {\n const { activeElement, body } = document;\n if (!activeElement)\n return false;\n if (activeElement === body)\n return false;\n switch (activeElement.tagName) {\n case \"INPUT\":\n case \"TEXTAREA\":\n return true;\n }\n return activeElement.hasAttribute(\"contenteditable\");\n}\nfunction isTypedCharValid({\n keyCode,\n metaKey,\n ctrlKey,\n altKey\n}) {\n if (metaKey || ctrlKey || altKey)\n return false;\n if (keyCode >= 48 && keyCode <= 57)\n return true;\n if (keyCode >= 65 && keyCode <= 90)\n return true;\n if (keyCode >= 97 && keyCode <= 122)\n return true;\n return false;\n}\nfunction onStartTyping(callback, options = {}) {\n const { document: document2 = defaultDocument } = options;\n const keydown = (event) => {\n !isFocusedElementEditable() && isTypedCharValid(event) && callback(event);\n };\n if (document2)\n useEventListener(document2, \"keydown\", keydown, { passive: true });\n}\n\nfunction templateRef(key, initialValue = null) {\n const instance = getCurrentInstance();\n let _trigger = () => {\n };\n const element = customRef((track, trigger) => {\n _trigger = trigger;\n return {\n get() {\n var _a, _b;\n track();\n return (_b = (_a = instance == null ? void 0 : instance.proxy) == null ? void 0 : _a.$refs[key]) != null ? _b : initialValue;\n },\n set() {\n }\n };\n });\n tryOnMounted(_trigger);\n onUpdated(_trigger);\n return element;\n}\n\nfunction useActiveElement(options = {}) {\n var _a;\n const {\n window = defaultWindow,\n deep = true\n } = options;\n const document = (_a = options.document) != null ? _a : window == null ? void 0 : window.document;\n const getDeepActiveElement = () => {\n var _a2;\n let element = document == null ? void 0 : document.activeElement;\n if (deep) {\n while (element == null ? void 0 : element.shadowRoot)\n element = (_a2 = element == null ? void 0 : element.shadowRoot) == null ? void 0 : _a2.activeElement;\n }\n return element;\n };\n const activeElement = ref();\n const trigger = () => {\n activeElement.value = getDeepActiveElement();\n };\n if (window) {\n useEventListener(window, \"blur\", (event) => {\n if (event.relatedTarget !== null)\n return;\n trigger();\n }, true);\n useEventListener(window, \"focus\", trigger, true);\n }\n trigger();\n return activeElement;\n}\n\nfunction useMounted() {\n const isMounted = ref(false);\n const instance = getCurrentInstance();\n if (instance) {\n onMounted(() => {\n isMounted.value = true;\n }, isVue2 ? null : instance);\n }\n return isMounted;\n}\n\nfunction useSupported(callback) {\n const isMounted = useMounted();\n return computed(() => {\n isMounted.value;\n return Boolean(callback());\n });\n}\n\nfunction useRafFn(fn, options = {}) {\n const {\n immediate = true,\n fpsLimit = void 0,\n window = defaultWindow\n } = options;\n const isActive = ref(false);\n const intervalLimit = fpsLimit ? 1e3 / fpsLimit : null;\n let previousFrameTimestamp = 0;\n let rafId = null;\n function loop(timestamp) {\n if (!isActive.value || !window)\n return;\n if (!previousFrameTimestamp)\n previousFrameTimestamp = timestamp;\n const delta = timestamp - previousFrameTimestamp;\n if (intervalLimit && delta < intervalLimit) {\n rafId = window.requestAnimationFrame(loop);\n return;\n }\n previousFrameTimestamp = timestamp;\n fn({ delta, timestamp });\n rafId = window.requestAnimationFrame(loop);\n }\n function resume() {\n if (!isActive.value && window) {\n isActive.value = true;\n previousFrameTimestamp = 0;\n rafId = window.requestAnimationFrame(loop);\n }\n }\n function pause() {\n isActive.value = false;\n if (rafId != null && window) {\n window.cancelAnimationFrame(rafId);\n rafId = null;\n }\n }\n if (immediate)\n resume();\n tryOnScopeDispose(pause);\n return {\n isActive: readonly(isActive),\n pause,\n resume\n };\n}\n\nfunction useAnimate(target, keyframes, options) {\n let config;\n let animateOptions;\n if (isObject(options)) {\n config = options;\n animateOptions = objectOmit(options, [\"window\", \"immediate\", \"commitStyles\", \"persist\", \"onReady\", \"onError\"]);\n } else {\n config = { duration: options };\n animateOptions = options;\n }\n const {\n window = defaultWindow,\n immediate = true,\n commitStyles,\n persist,\n playbackRate: _playbackRate = 1,\n onReady,\n onError = (e) => {\n console.error(e);\n }\n } = config;\n const isSupported = useSupported(() => window && HTMLElement && \"animate\" in HTMLElement.prototype);\n const animate = shallowRef(void 0);\n const store = shallowReactive({\n startTime: null,\n currentTime: null,\n timeline: null,\n playbackRate: _playbackRate,\n pending: false,\n playState: immediate ? \"idle\" : \"paused\",\n replaceState: \"active\"\n });\n const pending = computed(() => store.pending);\n const playState = computed(() => store.playState);\n const replaceState = computed(() => store.replaceState);\n const startTime = computed({\n get() {\n return store.startTime;\n },\n set(value) {\n store.startTime = value;\n if (animate.value)\n animate.value.startTime = value;\n }\n });\n const currentTime = computed({\n get() {\n return store.currentTime;\n },\n set(value) {\n store.currentTime = value;\n if (animate.value) {\n animate.value.currentTime = value;\n syncResume();\n }\n }\n });\n const timeline = computed({\n get() {\n return store.timeline;\n },\n set(value) {\n store.timeline = value;\n if (animate.value)\n animate.value.timeline = value;\n }\n });\n const playbackRate = computed({\n get() {\n return store.playbackRate;\n },\n set(value) {\n store.playbackRate = value;\n if (animate.value)\n animate.value.playbackRate = value;\n }\n });\n const play = () => {\n if (animate.value) {\n try {\n animate.value.play();\n syncResume();\n } catch (e) {\n syncPause();\n onError(e);\n }\n } else {\n update();\n }\n };\n const pause = () => {\n var _a;\n try {\n (_a = animate.value) == null ? void 0 : _a.pause();\n syncPause();\n } catch (e) {\n onError(e);\n }\n };\n const reverse = () => {\n var _a;\n !animate.value && update();\n try {\n (_a = animate.value) == null ? void 0 : _a.reverse();\n syncResume();\n } catch (e) {\n syncPause();\n onError(e);\n }\n };\n const finish = () => {\n var _a;\n try {\n (_a = animate.value) == null ? void 0 : _a.finish();\n syncPause();\n } catch (e) {\n onError(e);\n }\n };\n const cancel = () => {\n var _a;\n try {\n (_a = animate.value) == null ? void 0 : _a.cancel();\n syncPause();\n } catch (e) {\n onError(e);\n }\n };\n watch(() => unrefElement(target), (el) => {\n el && update();\n });\n watch(() => keyframes, (value) => {\n !animate.value && update();\n if (!unrefElement(target) && animate.value) {\n animate.value.effect = new KeyframeEffect(\n unrefElement(target),\n toValue(value),\n animateOptions\n );\n }\n }, { deep: true });\n tryOnMounted(() => {\n nextTick(() => update(true));\n });\n tryOnScopeDispose(cancel);\n function update(init) {\n const el = unrefElement(target);\n if (!isSupported.value || !el)\n return;\n if (!animate.value)\n animate.value = el.animate(toValue(keyframes), animateOptions);\n if (commitStyles)\n animate.value.commitStyles();\n if (persist)\n animate.value.persist();\n if (_playbackRate !== 1)\n animate.value.playbackRate = _playbackRate;\n if (init && !immediate)\n animate.value.pause();\n else\n syncResume();\n onReady == null ? void 0 : onReady(animate.value);\n }\n useEventListener(animate, [\"cancel\", \"finish\", \"remove\"], syncPause);\n const { resume: resumeRef, pause: pauseRef } = useRafFn(() => {\n if (!animate.value)\n return;\n store.pending = animate.value.pending;\n store.playState = animate.value.playState;\n store.replaceState = animate.value.replaceState;\n store.startTime = animate.value.startTime;\n store.currentTime = animate.value.currentTime;\n store.timeline = animate.value.timeline;\n store.playbackRate = animate.value.playbackRate;\n }, { immediate: false });\n function syncResume() {\n if (isSupported.value)\n resumeRef();\n }\n function syncPause() {\n if (isSupported.value && window)\n window.requestAnimationFrame(pauseRef);\n }\n return {\n isSupported,\n animate,\n // actions\n play,\n pause,\n reverse,\n finish,\n cancel,\n // state\n pending,\n playState,\n replaceState,\n startTime,\n currentTime,\n timeline,\n playbackRate\n };\n}\n\nfunction useAsyncQueue(tasks, options) {\n const {\n interrupt = true,\n onError = noop,\n onFinished = noop,\n signal\n } = options || {};\n const promiseState = {\n aborted: \"aborted\",\n fulfilled: \"fulfilled\",\n pending: \"pending\",\n rejected: \"rejected\"\n };\n const initialResult = Array.from(Array.from({ length: tasks.length }), () => ({ state: promiseState.pending, data: null }));\n const result = reactive(initialResult);\n const activeIndex = ref(-1);\n if (!tasks || tasks.length === 0) {\n onFinished();\n return {\n activeIndex,\n result\n };\n }\n function updateResult(state, res) {\n activeIndex.value++;\n result[activeIndex.value].data = res;\n result[activeIndex.value].state = state;\n }\n tasks.reduce((prev, curr) => {\n return prev.then((prevRes) => {\n var _a;\n if (signal == null ? void 0 : signal.aborted) {\n updateResult(promiseState.aborted, new Error(\"aborted\"));\n return;\n }\n if (((_a = result[activeIndex.value]) == null ? void 0 : _a.state) === promiseState.rejected && interrupt) {\n onFinished();\n return;\n }\n const done = curr(prevRes).then((currentRes) => {\n updateResult(promiseState.fulfilled, currentRes);\n activeIndex.value === tasks.length - 1 && onFinished();\n return currentRes;\n });\n if (!signal)\n return done;\n return Promise.race([done, whenAborted(signal)]);\n }).catch((e) => {\n if (signal == null ? void 0 : signal.aborted) {\n updateResult(promiseState.aborted, e);\n return e;\n }\n updateResult(promiseState.rejected, e);\n onError();\n return e;\n });\n }, Promise.resolve());\n return {\n activeIndex,\n result\n };\n}\nfunction whenAborted(signal) {\n return new Promise((resolve, reject) => {\n const error = new Error(\"aborted\");\n if (signal.aborted)\n reject(error);\n else\n signal.addEventListener(\"abort\", () => reject(error), { once: true });\n });\n}\n\nfunction useAsyncState(promise, initialState, options) {\n const {\n immediate = true,\n delay = 0,\n onError = noop,\n onSuccess = noop,\n resetOnExecute = true,\n shallow = true,\n throwError\n } = options != null ? options : {};\n const state = shallow ? shallowRef(initialState) : ref(initialState);\n const isReady = ref(false);\n const isLoading = ref(false);\n const error = shallowRef(void 0);\n async function execute(delay2 = 0, ...args) {\n if (resetOnExecute)\n state.value = initialState;\n error.value = void 0;\n isReady.value = false;\n isLoading.value = true;\n if (delay2 > 0)\n await promiseTimeout(delay2);\n const _promise = typeof promise === \"function\" ? promise(...args) : promise;\n try {\n const data = await _promise;\n state.value = data;\n isReady.value = true;\n onSuccess(data);\n } catch (e) {\n error.value = e;\n onError(e);\n if (throwError)\n throw e;\n } finally {\n isLoading.value = false;\n }\n return state.value;\n }\n if (immediate)\n execute(delay);\n const shell = {\n state,\n isReady,\n isLoading,\n error,\n execute\n };\n function waitUntilIsLoaded() {\n return new Promise((resolve, reject) => {\n until(isLoading).toBe(false).then(() => resolve(shell)).catch(reject);\n });\n }\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilIsLoaded().then(onFulfilled, onRejected);\n }\n };\n}\n\nconst defaults = {\n array: (v) => JSON.stringify(v),\n object: (v) => JSON.stringify(v),\n set: (v) => JSON.stringify(Array.from(v)),\n map: (v) => JSON.stringify(Object.fromEntries(v)),\n null: () => \"\"\n};\nfunction getDefaultSerialization(target) {\n if (!target)\n return defaults.null;\n if (target instanceof Map)\n return defaults.map;\n else if (target instanceof Set)\n return defaults.set;\n else if (Array.isArray(target))\n return defaults.array;\n else\n return defaults.object;\n}\n\nfunction useBase64(target, options) {\n const base64 = ref(\"\");\n const promise = ref();\n function execute() {\n if (!isClient)\n return;\n promise.value = new Promise((resolve, reject) => {\n try {\n const _target = toValue(target);\n if (_target == null) {\n resolve(\"\");\n } else if (typeof _target === \"string\") {\n resolve(blobToBase64(new Blob([_target], { type: \"text/plain\" })));\n } else if (_target instanceof Blob) {\n resolve(blobToBase64(_target));\n } else if (_target instanceof ArrayBuffer) {\n resolve(window.btoa(String.fromCharCode(...new Uint8Array(_target))));\n } else if (_target instanceof HTMLCanvasElement) {\n resolve(_target.toDataURL(options == null ? void 0 : options.type, options == null ? void 0 : options.quality));\n } else if (_target instanceof HTMLImageElement) {\n const img = _target.cloneNode(false);\n img.crossOrigin = \"Anonymous\";\n imgLoaded(img).then(() => {\n const canvas = document.createElement(\"canvas\");\n const ctx = canvas.getContext(\"2d\");\n canvas.width = img.width;\n canvas.height = img.height;\n ctx.drawImage(img, 0, 0, canvas.width, canvas.height);\n resolve(canvas.toDataURL(options == null ? void 0 : options.type, options == null ? void 0 : options.quality));\n }).catch(reject);\n } else if (typeof _target === \"object\") {\n const _serializeFn = (options == null ? void 0 : options.serializer) || getDefaultSerialization(_target);\n const serialized = _serializeFn(_target);\n return resolve(blobToBase64(new Blob([serialized], { type: \"application/json\" })));\n } else {\n reject(new Error(\"target is unsupported types\"));\n }\n } catch (error) {\n reject(error);\n }\n });\n promise.value.then((res) => base64.value = res);\n return promise.value;\n }\n if (isRef(target) || typeof target === \"function\")\n watch(target, execute, { immediate: true });\n else\n execute();\n return {\n base64,\n promise,\n execute\n };\n}\nfunction imgLoaded(img) {\n return new Promise((resolve, reject) => {\n if (!img.complete) {\n img.onload = () => {\n resolve();\n };\n img.onerror = reject;\n } else {\n resolve();\n }\n });\n}\nfunction blobToBase64(blob) {\n return new Promise((resolve, reject) => {\n const fr = new FileReader();\n fr.onload = (e) => {\n resolve(e.target.result);\n };\n fr.onerror = reject;\n fr.readAsDataURL(blob);\n });\n}\n\nfunction useBattery(options = {}) {\n const { navigator = defaultNavigator } = options;\n const events = [\"chargingchange\", \"chargingtimechange\", \"dischargingtimechange\", \"levelchange\"];\n const isSupported = useSupported(() => navigator && \"getBattery\" in navigator && typeof navigator.getBattery === \"function\");\n const charging = ref(false);\n const chargingTime = ref(0);\n const dischargingTime = ref(0);\n const level = ref(1);\n let battery;\n function updateBatteryInfo() {\n charging.value = this.charging;\n chargingTime.value = this.chargingTime || 0;\n dischargingTime.value = this.dischargingTime || 0;\n level.value = this.level;\n }\n if (isSupported.value) {\n navigator.getBattery().then((_battery) => {\n battery = _battery;\n updateBatteryInfo.call(battery);\n useEventListener(battery, events, updateBatteryInfo, { passive: true });\n });\n }\n return {\n isSupported,\n charging,\n chargingTime,\n dischargingTime,\n level\n };\n}\n\nfunction useBluetooth(options) {\n let {\n acceptAllDevices = false\n } = options || {};\n const {\n filters = void 0,\n optionalServices = void 0,\n navigator = defaultNavigator\n } = options || {};\n const isSupported = useSupported(() => navigator && \"bluetooth\" in navigator);\n const device = shallowRef(void 0);\n const error = shallowRef(null);\n watch(device, () => {\n connectToBluetoothGATTServer();\n });\n async function requestDevice() {\n if (!isSupported.value)\n return;\n error.value = null;\n if (filters && filters.length > 0)\n acceptAllDevices = false;\n try {\n device.value = await (navigator == null ? void 0 : navigator.bluetooth.requestDevice({\n acceptAllDevices,\n filters,\n optionalServices\n }));\n } catch (err) {\n error.value = err;\n }\n }\n const server = ref();\n const isConnected = computed(() => {\n var _a;\n return ((_a = server.value) == null ? void 0 : _a.connected) || false;\n });\n async function connectToBluetoothGATTServer() {\n error.value = null;\n if (device.value && device.value.gatt) {\n device.value.addEventListener(\"gattserverdisconnected\", () => {\n });\n try {\n server.value = await device.value.gatt.connect();\n } catch (err) {\n error.value = err;\n }\n }\n }\n tryOnMounted(() => {\n var _a;\n if (device.value)\n (_a = device.value.gatt) == null ? void 0 : _a.connect();\n });\n tryOnScopeDispose(() => {\n var _a;\n if (device.value)\n (_a = device.value.gatt) == null ? void 0 : _a.disconnect();\n });\n return {\n isSupported,\n isConnected,\n // Device:\n device,\n requestDevice,\n // Server:\n server,\n // Errors:\n error\n };\n}\n\nfunction useMediaQuery(query, options = {}) {\n const { window = defaultWindow } = options;\n const isSupported = useSupported(() => window && \"matchMedia\" in window && typeof window.matchMedia === \"function\");\n let mediaQuery;\n const matches = ref(false);\n const handler = (event) => {\n matches.value = event.matches;\n };\n const cleanup = () => {\n if (!mediaQuery)\n return;\n if (\"removeEventListener\" in mediaQuery)\n mediaQuery.removeEventListener(\"change\", handler);\n else\n mediaQuery.removeListener(handler);\n };\n const stopWatch = watchEffect(() => {\n if (!isSupported.value)\n return;\n cleanup();\n mediaQuery = window.matchMedia(toValue(query));\n if (\"addEventListener\" in mediaQuery)\n mediaQuery.addEventListener(\"change\", handler);\n else\n mediaQuery.addListener(handler);\n matches.value = mediaQuery.matches;\n });\n tryOnScopeDispose(() => {\n stopWatch();\n cleanup();\n mediaQuery = void 0;\n });\n return matches;\n}\n\nconst breakpointsTailwind = {\n \"sm\": 640,\n \"md\": 768,\n \"lg\": 1024,\n \"xl\": 1280,\n \"2xl\": 1536\n};\nconst breakpointsBootstrapV5 = {\n xs: 0,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1400\n};\nconst breakpointsVuetifyV2 = {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1264,\n xl: 1904\n};\nconst breakpointsVuetifyV3 = {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920,\n xxl: 2560\n};\nconst breakpointsVuetify = breakpointsVuetifyV2;\nconst breakpointsAntDesign = {\n xs: 480,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1600\n};\nconst breakpointsQuasar = {\n xs: 0,\n sm: 600,\n md: 1024,\n lg: 1440,\n xl: 1920\n};\nconst breakpointsSematic = {\n mobileS: 320,\n mobileM: 375,\n mobileL: 425,\n tablet: 768,\n laptop: 1024,\n laptopL: 1440,\n desktop4K: 2560\n};\nconst breakpointsMasterCss = {\n \"3xs\": 360,\n \"2xs\": 480,\n \"xs\": 600,\n \"sm\": 768,\n \"md\": 1024,\n \"lg\": 1280,\n \"xl\": 1440,\n \"2xl\": 1600,\n \"3xl\": 1920,\n \"4xl\": 2560\n};\nconst breakpointsPrimeFlex = {\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200\n};\n\nfunction useBreakpoints(breakpoints, options = {}) {\n function getValue(k, delta) {\n let v = toValue(breakpoints[toValue(k)]);\n if (delta != null)\n v = increaseWithUnit(v, delta);\n if (typeof v === \"number\")\n v = `${v}px`;\n return v;\n }\n const { window = defaultWindow, strategy = \"min-width\" } = options;\n function match(query) {\n if (!window)\n return false;\n return window.matchMedia(query).matches;\n }\n const greaterOrEqual = (k) => {\n return useMediaQuery(() => `(min-width: ${getValue(k)})`, options);\n };\n const smallerOrEqual = (k) => {\n return useMediaQuery(() => `(max-width: ${getValue(k)})`, options);\n };\n const shortcutMethods = Object.keys(breakpoints).reduce((shortcuts, k) => {\n Object.defineProperty(shortcuts, k, {\n get: () => strategy === \"min-width\" ? greaterOrEqual(k) : smallerOrEqual(k),\n enumerable: true,\n configurable: true\n });\n return shortcuts;\n }, {});\n function current() {\n const points = Object.keys(breakpoints).map((i) => [i, greaterOrEqual(i)]);\n return computed(() => points.filter(([, v]) => v.value).map(([k]) => k));\n }\n return Object.assign(shortcutMethods, {\n greaterOrEqual,\n smallerOrEqual,\n greater(k) {\n return useMediaQuery(() => `(min-width: ${getValue(k, 0.1)})`, options);\n },\n smaller(k) {\n return useMediaQuery(() => `(max-width: ${getValue(k, -0.1)})`, options);\n },\n between(a, b) {\n return useMediaQuery(() => `(min-width: ${getValue(a)}) and (max-width: ${getValue(b, -0.1)})`, options);\n },\n isGreater(k) {\n return match(`(min-width: ${getValue(k, 0.1)})`);\n },\n isGreaterOrEqual(k) {\n return match(`(min-width: ${getValue(k)})`);\n },\n isSmaller(k) {\n return match(`(max-width: ${getValue(k, -0.1)})`);\n },\n isSmallerOrEqual(k) {\n return match(`(max-width: ${getValue(k)})`);\n },\n isInBetween(a, b) {\n return match(`(min-width: ${getValue(a)}) and (max-width: ${getValue(b, -0.1)})`);\n },\n current,\n active() {\n const bps = current();\n return computed(() => bps.value.length === 0 ? \"\" : bps.value.at(-1));\n }\n });\n}\n\nfunction useBroadcastChannel(options) {\n const {\n name,\n window = defaultWindow\n } = options;\n const isSupported = useSupported(() => window && \"BroadcastChannel\" in window);\n const isClosed = ref(false);\n const channel = ref();\n const data = ref();\n const error = shallowRef(null);\n const post = (data2) => {\n if (channel.value)\n channel.value.postMessage(data2);\n };\n const close = () => {\n if (channel.value)\n channel.value.close();\n isClosed.value = true;\n };\n if (isSupported.value) {\n tryOnMounted(() => {\n error.value = null;\n channel.value = new BroadcastChannel(name);\n channel.value.addEventListener(\"message\", (e) => {\n data.value = e.data;\n }, { passive: true });\n channel.value.addEventListener(\"messageerror\", (e) => {\n error.value = e;\n }, { passive: true });\n channel.value.addEventListener(\"close\", () => {\n isClosed.value = true;\n });\n });\n }\n tryOnScopeDispose(() => {\n close();\n });\n return {\n isSupported,\n channel,\n data,\n post,\n close,\n error,\n isClosed\n };\n}\n\nconst WRITABLE_PROPERTIES = [\n \"hash\",\n \"host\",\n \"hostname\",\n \"href\",\n \"pathname\",\n \"port\",\n \"protocol\",\n \"search\"\n];\nfunction useBrowserLocation(options = {}) {\n const { window = defaultWindow } = options;\n const refs = Object.fromEntries(\n WRITABLE_PROPERTIES.map((key) => [key, ref()])\n );\n for (const [key, ref2] of objectEntries(refs)) {\n watch(ref2, (value) => {\n if (!(window == null ? void 0 : window.location) || window.location[key] === value)\n return;\n window.location[key] = value;\n });\n }\n const buildState = (trigger) => {\n var _a;\n const { state: state2, length } = (window == null ? void 0 : window.history) || {};\n const { origin } = (window == null ? void 0 : window.location) || {};\n for (const key of WRITABLE_PROPERTIES)\n refs[key].value = (_a = window == null ? void 0 : window.location) == null ? void 0 : _a[key];\n return reactive({\n trigger,\n state: state2,\n length,\n origin,\n ...refs\n });\n };\n const state = ref(buildState(\"load\"));\n if (window) {\n useEventListener(window, \"popstate\", () => state.value = buildState(\"popstate\"), { passive: true });\n useEventListener(window, \"hashchange\", () => state.value = buildState(\"hashchange\"), { passive: true });\n }\n return state;\n}\n\nfunction useCached(refValue, comparator = (a, b) => a === b, watchOptions) {\n const cachedValue = ref(refValue.value);\n watch(() => refValue.value, (value) => {\n if (!comparator(value, cachedValue.value))\n cachedValue.value = value;\n }, watchOptions);\n return cachedValue;\n}\n\nfunction usePermission(permissionDesc, options = {}) {\n const {\n controls = false,\n navigator = defaultNavigator\n } = options;\n const isSupported = useSupported(() => navigator && \"permissions\" in navigator);\n let permissionStatus;\n const desc = typeof permissionDesc === \"string\" ? { name: permissionDesc } : permissionDesc;\n const state = ref();\n const onChange = () => {\n if (permissionStatus)\n state.value = permissionStatus.state;\n };\n const query = createSingletonPromise(async () => {\n if (!isSupported.value)\n return;\n if (!permissionStatus) {\n try {\n permissionStatus = await navigator.permissions.query(desc);\n useEventListener(permissionStatus, \"change\", onChange);\n onChange();\n } catch (e) {\n state.value = \"prompt\";\n }\n }\n return permissionStatus;\n });\n query();\n if (controls) {\n return {\n state,\n isSupported,\n query\n };\n } else {\n return state;\n }\n}\n\nfunction useClipboard(options = {}) {\n const {\n navigator = defaultNavigator,\n read = false,\n source,\n copiedDuring = 1500,\n legacy = false\n } = options;\n const isClipboardApiSupported = useSupported(() => navigator && \"clipboard\" in navigator);\n const permissionRead = usePermission(\"clipboard-read\");\n const permissionWrite = usePermission(\"clipboard-write\");\n const isSupported = computed(() => isClipboardApiSupported.value || legacy);\n const text = ref(\"\");\n const copied = ref(false);\n const timeout = useTimeoutFn(() => copied.value = false, copiedDuring);\n function updateText() {\n if (isClipboardApiSupported.value && isAllowed(permissionRead.value)) {\n navigator.clipboard.readText().then((value) => {\n text.value = value;\n });\n } else {\n text.value = legacyRead();\n }\n }\n if (isSupported.value && read)\n useEventListener([\"copy\", \"cut\"], updateText);\n async function copy(value = toValue(source)) {\n if (isSupported.value && value != null) {\n if (isClipboardApiSupported.value && isAllowed(permissionWrite.value))\n await navigator.clipboard.writeText(value);\n else\n legacyCopy(value);\n text.value = value;\n copied.value = true;\n timeout.start();\n }\n }\n function legacyCopy(value) {\n const ta = document.createElement(\"textarea\");\n ta.value = value != null ? value : \"\";\n ta.style.position = \"absolute\";\n ta.style.opacity = \"0\";\n document.body.appendChild(ta);\n ta.select();\n document.execCommand(\"copy\");\n ta.remove();\n }\n function legacyRead() {\n var _a, _b, _c;\n return (_c = (_b = (_a = document == null ? void 0 : document.getSelection) == null ? void 0 : _a.call(document)) == null ? void 0 : _b.toString()) != null ? _c : \"\";\n }\n function isAllowed(status) {\n return status === \"granted\" || status === \"prompt\";\n }\n return {\n isSupported,\n text,\n copied,\n copy\n };\n}\n\nfunction useClipboardItems(options = {}) {\n const {\n navigator = defaultNavigator,\n read = false,\n source,\n copiedDuring = 1500\n } = options;\n const isSupported = useSupported(() => navigator && \"clipboard\" in navigator);\n const content = ref([]);\n const copied = ref(false);\n const timeout = useTimeoutFn(() => copied.value = false, copiedDuring);\n function updateContent() {\n if (isSupported.value) {\n navigator.clipboard.read().then((items) => {\n content.value = items;\n });\n }\n }\n if (isSupported.value && read)\n useEventListener([\"copy\", \"cut\"], updateContent);\n async function copy(value = toValue(source)) {\n if (isSupported.value && value != null) {\n await navigator.clipboard.write(value);\n content.value = value;\n copied.value = true;\n timeout.start();\n }\n }\n return {\n isSupported,\n content,\n copied,\n copy\n };\n}\n\nfunction cloneFnJSON(source) {\n return JSON.parse(JSON.stringify(source));\n}\nfunction useCloned(source, options = {}) {\n const cloned = ref({});\n const {\n manual,\n clone = cloneFnJSON,\n // watch options\n deep = true,\n immediate = true\n } = options;\n function sync() {\n cloned.value = clone(toValue(source));\n }\n if (!manual && (isRef(source) || typeof source === \"function\")) {\n watch(source, sync, {\n ...options,\n deep,\n immediate\n });\n } else {\n sync();\n }\n return { cloned, sync };\n}\n\nconst _global = typeof globalThis !== \"undefined\" ? globalThis : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : {};\nconst globalKey = \"__vueuse_ssr_handlers__\";\nconst handlers = /* @__PURE__ */ getHandlers();\nfunction getHandlers() {\n if (!(globalKey in _global))\n _global[globalKey] = _global[globalKey] || {};\n return _global[globalKey];\n}\nfunction getSSRHandler(key, fallback) {\n return handlers[key] || fallback;\n}\nfunction setSSRHandler(key, fn) {\n handlers[key] = fn;\n}\n\nfunction guessSerializerType(rawInit) {\n return rawInit == null ? \"any\" : rawInit instanceof Set ? \"set\" : rawInit instanceof Map ? \"map\" : rawInit instanceof Date ? \"date\" : typeof rawInit === \"boolean\" ? \"boolean\" : typeof rawInit === \"string\" ? \"string\" : typeof rawInit === \"object\" ? \"object\" : !Number.isNaN(rawInit) ? \"number\" : \"any\";\n}\n\nconst StorageSerializers = {\n boolean: {\n read: (v) => v === \"true\",\n write: (v) => String(v)\n },\n object: {\n read: (v) => JSON.parse(v),\n write: (v) => JSON.stringify(v)\n },\n number: {\n read: (v) => Number.parseFloat(v),\n write: (v) => String(v)\n },\n any: {\n read: (v) => v,\n write: (v) => String(v)\n },\n string: {\n read: (v) => v,\n write: (v) => String(v)\n },\n map: {\n read: (v) => new Map(JSON.parse(v)),\n write: (v) => JSON.stringify(Array.from(v.entries()))\n },\n set: {\n read: (v) => new Set(JSON.parse(v)),\n write: (v) => JSON.stringify(Array.from(v))\n },\n date: {\n read: (v) => new Date(v),\n write: (v) => v.toISOString()\n }\n};\nconst customStorageEventName = \"vueuse-storage\";\nfunction useStorage(key, defaults, storage, options = {}) {\n var _a;\n const {\n flush = \"pre\",\n deep = true,\n listenToStorageChanges = true,\n writeDefaults = true,\n mergeDefaults = false,\n shallow,\n window = defaultWindow,\n eventFilter,\n onError = (e) => {\n console.error(e);\n },\n initOnMounted\n } = options;\n const data = (shallow ? shallowRef : ref)(typeof defaults === \"function\" ? defaults() : defaults);\n if (!storage) {\n try {\n storage = getSSRHandler(\"getDefaultStorage\", () => {\n var _a2;\n return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage;\n })();\n } catch (e) {\n onError(e);\n }\n }\n if (!storage)\n return data;\n const rawInit = toValue(defaults);\n const type = guessSerializerType(rawInit);\n const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type];\n const { pause: pauseWatch, resume: resumeWatch } = pausableWatch(\n data,\n () => write(data.value),\n { flush, deep, eventFilter }\n );\n if (window && listenToStorageChanges) {\n tryOnMounted(() => {\n useEventListener(window, \"storage\", update);\n useEventListener(window, customStorageEventName, updateFromCustomEvent);\n if (initOnMounted)\n update();\n });\n }\n if (!initOnMounted)\n update();\n function dispatchWriteEvent(oldValue, newValue) {\n if (window) {\n window.dispatchEvent(new CustomEvent(customStorageEventName, {\n detail: {\n key,\n oldValue,\n newValue,\n storageArea: storage\n }\n }));\n }\n }\n function write(v) {\n try {\n const oldValue = storage.getItem(key);\n if (v == null) {\n dispatchWriteEvent(oldValue, null);\n storage.removeItem(key);\n } else {\n const serialized = serializer.write(v);\n if (oldValue !== serialized) {\n storage.setItem(key, serialized);\n dispatchWriteEvent(oldValue, serialized);\n }\n }\n } catch (e) {\n onError(e);\n }\n }\n function read(event) {\n const rawValue = event ? event.newValue : storage.getItem(key);\n if (rawValue == null) {\n if (writeDefaults && rawInit != null)\n storage.setItem(key, serializer.write(rawInit));\n return rawInit;\n } else if (!event && mergeDefaults) {\n const value = serializer.read(rawValue);\n if (typeof mergeDefaults === \"function\")\n return mergeDefaults(value, rawInit);\n else if (type === \"object\" && !Array.isArray(value))\n return { ...rawInit, ...value };\n return value;\n } else if (typeof rawValue !== \"string\") {\n return rawValue;\n } else {\n return serializer.read(rawValue);\n }\n }\n function update(event) {\n if (event && event.storageArea !== storage)\n return;\n if (event && event.key == null) {\n data.value = rawInit;\n return;\n }\n if (event && event.key !== key)\n return;\n pauseWatch();\n try {\n if ((event == null ? void 0 : event.newValue) !== serializer.write(data.value))\n data.value = read(event);\n } catch (e) {\n onError(e);\n } finally {\n if (event)\n nextTick(resumeWatch);\n else\n resumeWatch();\n }\n }\n function updateFromCustomEvent(event) {\n update(event.detail);\n }\n return data;\n}\n\nfunction usePreferredDark(options) {\n return useMediaQuery(\"(prefers-color-scheme: dark)\", options);\n}\n\nfunction useColorMode(options = {}) {\n const {\n selector = \"html\",\n attribute = \"class\",\n initialValue = \"auto\",\n window = defaultWindow,\n storage,\n storageKey = \"vueuse-color-scheme\",\n listenToStorageChanges = true,\n storageRef,\n emitAuto,\n disableTransition = true\n } = options;\n const modes = {\n auto: \"\",\n light: \"light\",\n dark: \"dark\",\n ...options.modes || {}\n };\n const preferredDark = usePreferredDark({ window });\n const system = computed(() => preferredDark.value ? \"dark\" : \"light\");\n const store = storageRef || (storageKey == null ? toRef(initialValue) : useStorage(storageKey, initialValue, storage, { window, listenToStorageChanges }));\n const state = computed(() => store.value === \"auto\" ? system.value : store.value);\n const updateHTMLAttrs = getSSRHandler(\n \"updateHTMLAttrs\",\n (selector2, attribute2, value) => {\n const el = typeof selector2 === \"string\" ? window == null ? void 0 : window.document.querySelector(selector2) : unrefElement(selector2);\n if (!el)\n return;\n let style;\n if (disableTransition) {\n style = window.document.createElement(\"style\");\n const styleString = \"*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}\";\n style.appendChild(document.createTextNode(styleString));\n window.document.head.appendChild(style);\n }\n if (attribute2 === \"class\") {\n const current = value.split(/\\s/g);\n Object.values(modes).flatMap((i) => (i || \"\").split(/\\s/g)).filter(Boolean).forEach((v) => {\n if (current.includes(v))\n el.classList.add(v);\n else\n el.classList.remove(v);\n });\n } else {\n el.setAttribute(attribute2, value);\n }\n if (disableTransition) {\n window.getComputedStyle(style).opacity;\n document.head.removeChild(style);\n }\n }\n );\n function defaultOnChanged(mode) {\n var _a;\n updateHTMLAttrs(selector, attribute, (_a = modes[mode]) != null ? _a : mode);\n }\n function onChanged(mode) {\n if (options.onChanged)\n options.onChanged(mode, defaultOnChanged);\n else\n defaultOnChanged(mode);\n }\n watch(state, onChanged, { flush: \"post\", immediate: true });\n tryOnMounted(() => onChanged(state.value));\n const auto = computed({\n get() {\n return emitAuto ? store.value : state.value;\n },\n set(v) {\n store.value = v;\n }\n });\n try {\n return Object.assign(auto, { store, system, state });\n } catch (e) {\n return auto;\n }\n}\n\nfunction useConfirmDialog(revealed = ref(false)) {\n const confirmHook = createEventHook();\n const cancelHook = createEventHook();\n const revealHook = createEventHook();\n let _resolve = noop;\n const reveal = (data) => {\n revealHook.trigger(data);\n revealed.value = true;\n return new Promise((resolve) => {\n _resolve = resolve;\n });\n };\n const confirm = (data) => {\n revealed.value = false;\n confirmHook.trigger(data);\n _resolve({ data, isCanceled: false });\n };\n const cancel = (data) => {\n revealed.value = false;\n cancelHook.trigger(data);\n _resolve({ data, isCanceled: true });\n };\n return {\n isRevealed: computed(() => revealed.value),\n reveal,\n confirm,\n cancel,\n onReveal: revealHook.on,\n onConfirm: confirmHook.on,\n onCancel: cancelHook.on\n };\n}\n\nfunction useMutationObserver(target, callback, options = {}) {\n const { window = defaultWindow, ...mutationOptions } = options;\n let observer;\n const isSupported = useSupported(() => window && \"MutationObserver\" in window);\n const cleanup = () => {\n if (observer) {\n observer.disconnect();\n observer = void 0;\n }\n };\n const targets = computed(() => {\n const value = toValue(target);\n const items = (Array.isArray(value) ? value : [value]).map(unrefElement).filter(notNullish);\n return new Set(items);\n });\n const stopWatch = watch(\n () => targets.value,\n (targets2) => {\n cleanup();\n if (isSupported.value && window && targets2.size) {\n observer = new MutationObserver(callback);\n targets2.forEach((el) => observer.observe(el, mutationOptions));\n }\n },\n { immediate: true, flush: \"post\" }\n );\n const takeRecords = () => {\n return observer == null ? void 0 : observer.takeRecords();\n };\n const stop = () => {\n cleanup();\n stopWatch();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop,\n takeRecords\n };\n}\n\nfunction useCssVar(prop, target, options = {}) {\n const { window = defaultWindow, initialValue = \"\", observe = false } = options;\n const variable = ref(initialValue);\n const elRef = computed(() => {\n var _a;\n return unrefElement(target) || ((_a = window == null ? void 0 : window.document) == null ? void 0 : _a.documentElement);\n });\n function updateCssVar() {\n var _a;\n const key = toValue(prop);\n const el = toValue(elRef);\n if (el && window) {\n const value = (_a = window.getComputedStyle(el).getPropertyValue(key)) == null ? void 0 : _a.trim();\n variable.value = value || initialValue;\n }\n }\n if (observe) {\n useMutationObserver(elRef, updateCssVar, {\n attributeFilter: [\"style\", \"class\"],\n window\n });\n }\n watch(\n [elRef, () => toValue(prop)],\n updateCssVar,\n { immediate: true }\n );\n watch(\n variable,\n (val) => {\n var _a;\n if ((_a = elRef.value) == null ? void 0 : _a.style)\n elRef.value.style.setProperty(toValue(prop), val);\n }\n );\n return variable;\n}\n\nfunction useCurrentElement(rootComponent) {\n const vm = getCurrentInstance();\n const currentElement = computedWithControl(\n () => null,\n () => rootComponent ? unrefElement(rootComponent) : vm.proxy.$el\n );\n onUpdated(currentElement.trigger);\n onMounted(currentElement.trigger);\n return currentElement;\n}\n\nfunction useCycleList(list, options) {\n const state = shallowRef(getInitialValue());\n const listRef = toRef(list);\n const index = computed({\n get() {\n var _a;\n const targetList = listRef.value;\n let index2 = (options == null ? void 0 : options.getIndexOf) ? options.getIndexOf(state.value, targetList) : targetList.indexOf(state.value);\n if (index2 < 0)\n index2 = (_a = options == null ? void 0 : options.fallbackIndex) != null ? _a : 0;\n return index2;\n },\n set(v) {\n set(v);\n }\n });\n function set(i) {\n const targetList = listRef.value;\n const length = targetList.length;\n const index2 = (i % length + length) % length;\n const value = targetList[index2];\n state.value = value;\n return value;\n }\n function shift(delta = 1) {\n return set(index.value + delta);\n }\n function next(n = 1) {\n return shift(n);\n }\n function prev(n = 1) {\n return shift(-n);\n }\n function getInitialValue() {\n var _a, _b;\n return (_b = toValue((_a = options == null ? void 0 : options.initialValue) != null ? _a : toValue(list)[0])) != null ? _b : void 0;\n }\n watch(listRef, () => set(index.value));\n return {\n state,\n index,\n next,\n prev,\n go: set\n };\n}\n\nfunction useDark(options = {}) {\n const {\n valueDark = \"dark\",\n valueLight = \"\",\n window = defaultWindow\n } = options;\n const mode = useColorMode({\n ...options,\n onChanged: (mode2, defaultHandler) => {\n var _a;\n if (options.onChanged)\n (_a = options.onChanged) == null ? void 0 : _a.call(options, mode2 === \"dark\", defaultHandler, mode2);\n else\n defaultHandler(mode2);\n },\n modes: {\n dark: valueDark,\n light: valueLight\n }\n });\n const system = computed(() => {\n if (mode.system) {\n return mode.system.value;\n } else {\n const preferredDark = usePreferredDark({ window });\n return preferredDark.value ? \"dark\" : \"light\";\n }\n });\n const isDark = computed({\n get() {\n return mode.value === \"dark\";\n },\n set(v) {\n const modeVal = v ? \"dark\" : \"light\";\n if (system.value === modeVal)\n mode.value = \"auto\";\n else\n mode.value = modeVal;\n }\n });\n return isDark;\n}\n\nfunction fnBypass(v) {\n return v;\n}\nfunction fnSetSource(source, value) {\n return source.value = value;\n}\nfunction defaultDump(clone) {\n return clone ? typeof clone === \"function\" ? clone : cloneFnJSON : fnBypass;\n}\nfunction defaultParse(clone) {\n return clone ? typeof clone === \"function\" ? clone : cloneFnJSON : fnBypass;\n}\nfunction useManualRefHistory(source, options = {}) {\n const {\n clone = false,\n dump = defaultDump(clone),\n parse = defaultParse(clone),\n setSource = fnSetSource\n } = options;\n function _createHistoryRecord() {\n return markRaw({\n snapshot: dump(source.value),\n timestamp: timestamp()\n });\n }\n const last = ref(_createHistoryRecord());\n const undoStack = ref([]);\n const redoStack = ref([]);\n const _setSource = (record) => {\n setSource(source, parse(record.snapshot));\n last.value = record;\n };\n const commit = () => {\n undoStack.value.unshift(last.value);\n last.value = _createHistoryRecord();\n if (options.capacity && undoStack.value.length > options.capacity)\n undoStack.value.splice(options.capacity, Number.POSITIVE_INFINITY);\n if (redoStack.value.length)\n redoStack.value.splice(0, redoStack.value.length);\n };\n const clear = () => {\n undoStack.value.splice(0, undoStack.value.length);\n redoStack.value.splice(0, redoStack.value.length);\n };\n const undo = () => {\n const state = undoStack.value.shift();\n if (state) {\n redoStack.value.unshift(last.value);\n _setSource(state);\n }\n };\n const redo = () => {\n const state = redoStack.value.shift();\n if (state) {\n undoStack.value.unshift(last.value);\n _setSource(state);\n }\n };\n const reset = () => {\n _setSource(last.value);\n };\n const history = computed(() => [last.value, ...undoStack.value]);\n const canUndo = computed(() => undoStack.value.length > 0);\n const canRedo = computed(() => redoStack.value.length > 0);\n return {\n source,\n undoStack,\n redoStack,\n last,\n history,\n canUndo,\n canRedo,\n clear,\n commit,\n reset,\n undo,\n redo\n };\n}\n\nfunction useRefHistory(source, options = {}) {\n const {\n deep = false,\n flush = \"pre\",\n eventFilter\n } = options;\n const {\n eventFilter: composedFilter,\n pause,\n resume: resumeTracking,\n isActive: isTracking\n } = pausableFilter(eventFilter);\n const {\n ignoreUpdates,\n ignorePrevAsyncUpdates,\n stop\n } = watchIgnorable(\n source,\n commit,\n { deep, flush, eventFilter: composedFilter }\n );\n function setSource(source2, value) {\n ignorePrevAsyncUpdates();\n ignoreUpdates(() => {\n source2.value = value;\n });\n }\n const manualHistory = useManualRefHistory(source, { ...options, clone: options.clone || deep, setSource });\n const { clear, commit: manualCommit } = manualHistory;\n function commit() {\n ignorePrevAsyncUpdates();\n manualCommit();\n }\n function resume(commitNow) {\n resumeTracking();\n if (commitNow)\n commit();\n }\n function batch(fn) {\n let canceled = false;\n const cancel = () => canceled = true;\n ignoreUpdates(() => {\n fn(cancel);\n });\n if (!canceled)\n commit();\n }\n function dispose() {\n stop();\n clear();\n }\n return {\n ...manualHistory,\n isTracking,\n pause,\n resume,\n commit,\n batch,\n dispose\n };\n}\n\nfunction useDebouncedRefHistory(source, options = {}) {\n const filter = options.debounce ? debounceFilter(options.debounce) : void 0;\n const history = useRefHistory(source, { ...options, eventFilter: filter });\n return {\n ...history\n };\n}\n\nfunction useDeviceMotion(options = {}) {\n const {\n window = defaultWindow,\n eventFilter = bypassFilter\n } = options;\n const acceleration = ref({ x: null, y: null, z: null });\n const rotationRate = ref({ alpha: null, beta: null, gamma: null });\n const interval = ref(0);\n const accelerationIncludingGravity = ref({\n x: null,\n y: null,\n z: null\n });\n if (window) {\n const onDeviceMotion = createFilterWrapper(\n eventFilter,\n (event) => {\n acceleration.value = event.acceleration;\n accelerationIncludingGravity.value = event.accelerationIncludingGravity;\n rotationRate.value = event.rotationRate;\n interval.value = event.interval;\n }\n );\n useEventListener(window, \"devicemotion\", onDeviceMotion);\n }\n return {\n acceleration,\n accelerationIncludingGravity,\n rotationRate,\n interval\n };\n}\n\nfunction useDeviceOrientation(options = {}) {\n const { window = defaultWindow } = options;\n const isSupported = useSupported(() => window && \"DeviceOrientationEvent\" in window);\n const isAbsolute = ref(false);\n const alpha = ref(null);\n const beta = ref(null);\n const gamma = ref(null);\n if (window && isSupported.value) {\n useEventListener(window, \"deviceorientation\", (event) => {\n isAbsolute.value = event.absolute;\n alpha.value = event.alpha;\n beta.value = event.beta;\n gamma.value = event.gamma;\n });\n }\n return {\n isSupported,\n isAbsolute,\n alpha,\n beta,\n gamma\n };\n}\n\nfunction useDevicePixelRatio(options = {}) {\n const {\n window = defaultWindow\n } = options;\n const pixelRatio = ref(1);\n if (window) {\n let observe2 = function() {\n pixelRatio.value = window.devicePixelRatio;\n cleanup2();\n media = window.matchMedia(`(resolution: ${pixelRatio.value}dppx)`);\n media.addEventListener(\"change\", observe2, { once: true });\n }, cleanup2 = function() {\n media == null ? void 0 : media.removeEventListener(\"change\", observe2);\n };\n let media;\n observe2();\n tryOnScopeDispose(cleanup2);\n }\n return { pixelRatio };\n}\n\nfunction useDevicesList(options = {}) {\n const {\n navigator = defaultNavigator,\n requestPermissions = false,\n constraints = { audio: true, video: true },\n onUpdated\n } = options;\n const devices = ref([]);\n const videoInputs = computed(() => devices.value.filter((i) => i.kind === \"videoinput\"));\n const audioInputs = computed(() => devices.value.filter((i) => i.kind === \"audioinput\"));\n const audioOutputs = computed(() => devices.value.filter((i) => i.kind === \"audiooutput\"));\n const isSupported = useSupported(() => navigator && navigator.mediaDevices && navigator.mediaDevices.enumerateDevices);\n const permissionGranted = ref(false);\n let stream;\n async function update() {\n if (!isSupported.value)\n return;\n devices.value = await navigator.mediaDevices.enumerateDevices();\n onUpdated == null ? void 0 : onUpdated(devices.value);\n if (stream) {\n stream.getTracks().forEach((t) => t.stop());\n stream = null;\n }\n }\n async function ensurePermissions() {\n if (!isSupported.value)\n return false;\n if (permissionGranted.value)\n return true;\n const { state, query } = usePermission(\"camera\", { controls: true });\n await query();\n if (state.value !== \"granted\") {\n stream = await navigator.mediaDevices.getUserMedia(constraints);\n update();\n permissionGranted.value = true;\n } else {\n permissionGranted.value = true;\n }\n return permissionGranted.value;\n }\n if (isSupported.value) {\n if (requestPermissions)\n ensurePermissions();\n useEventListener(navigator.mediaDevices, \"devicechange\", update);\n update();\n }\n return {\n devices,\n ensurePermissions,\n permissionGranted,\n videoInputs,\n audioInputs,\n audioOutputs,\n isSupported\n };\n}\n\nfunction useDisplayMedia(options = {}) {\n var _a;\n const enabled = ref((_a = options.enabled) != null ? _a : false);\n const video = options.video;\n const audio = options.audio;\n const { navigator = defaultNavigator } = options;\n const isSupported = useSupported(() => {\n var _a2;\n return (_a2 = navigator == null ? void 0 : navigator.mediaDevices) == null ? void 0 : _a2.getDisplayMedia;\n });\n const constraint = { audio, video };\n const stream = shallowRef();\n async function _start() {\n if (!isSupported.value || stream.value)\n return;\n stream.value = await navigator.mediaDevices.getDisplayMedia(constraint);\n return stream.value;\n }\n async function _stop() {\n var _a2;\n (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach((t) => t.stop());\n stream.value = void 0;\n }\n function stop() {\n _stop();\n enabled.value = false;\n }\n async function start() {\n await _start();\n if (stream.value)\n enabled.value = true;\n return stream.value;\n }\n watch(\n enabled,\n (v) => {\n if (v)\n _start();\n else\n _stop();\n },\n { immediate: true }\n );\n return {\n isSupported,\n stream,\n start,\n stop,\n enabled\n };\n}\n\nfunction useDocumentVisibility(options = {}) {\n const { document = defaultDocument } = options;\n if (!document)\n return ref(\"visible\");\n const visibility = ref(document.visibilityState);\n useEventListener(document, \"visibilitychange\", () => {\n visibility.value = document.visibilityState;\n });\n return visibility;\n}\n\nfunction useDraggable(target, options = {}) {\n var _a, _b;\n const {\n pointerTypes,\n preventDefault,\n stopPropagation,\n exact,\n onMove,\n onEnd,\n onStart,\n initialValue,\n axis = \"both\",\n draggingElement = defaultWindow,\n containerElement,\n handle: draggingHandle = target\n } = options;\n const position = ref(\n (_a = toValue(initialValue)) != null ? _a : { x: 0, y: 0 }\n );\n const pressedDelta = ref();\n const filterEvent = (e) => {\n if (pointerTypes)\n return pointerTypes.includes(e.pointerType);\n return true;\n };\n const handleEvent = (e) => {\n if (toValue(preventDefault))\n e.preventDefault();\n if (toValue(stopPropagation))\n e.stopPropagation();\n };\n const start = (e) => {\n var _a2;\n if (toValue(options.disabled) || !filterEvent(e))\n return;\n if (toValue(exact) && e.target !== toValue(target))\n return;\n const container = toValue(containerElement);\n const containerRect = (_a2 = container == null ? void 0 : container.getBoundingClientRect) == null ? void 0 : _a2.call(container);\n const targetRect = toValue(target).getBoundingClientRect();\n const pos = {\n x: e.clientX - (container ? targetRect.left - containerRect.left + container.scrollLeft : targetRect.left),\n y: e.clientY - (container ? targetRect.top - containerRect.top + container.scrollTop : targetRect.top)\n };\n if ((onStart == null ? void 0 : onStart(pos, e)) === false)\n return;\n pressedDelta.value = pos;\n handleEvent(e);\n };\n const move = (e) => {\n if (toValue(options.disabled) || !filterEvent(e))\n return;\n if (!pressedDelta.value)\n return;\n const container = toValue(containerElement);\n const targetRect = toValue(target).getBoundingClientRect();\n let { x, y } = position.value;\n if (axis === \"x\" || axis === \"both\") {\n x = e.clientX - pressedDelta.value.x;\n if (container)\n x = Math.min(Math.max(0, x), container.scrollWidth - targetRect.width);\n }\n if (axis === \"y\" || axis === \"both\") {\n y = e.clientY - pressedDelta.value.y;\n if (container)\n y = Math.min(Math.max(0, y), container.scrollHeight - targetRect.height);\n }\n position.value = {\n x,\n y\n };\n onMove == null ? void 0 : onMove(position.value, e);\n handleEvent(e);\n };\n const end = (e) => {\n if (toValue(options.disabled) || !filterEvent(e))\n return;\n if (!pressedDelta.value)\n return;\n pressedDelta.value = void 0;\n onEnd == null ? void 0 : onEnd(position.value, e);\n handleEvent(e);\n };\n if (isClient) {\n const config = { capture: (_b = options.capture) != null ? _b : true };\n useEventListener(draggingHandle, \"pointerdown\", start, config);\n useEventListener(draggingElement, \"pointermove\", move, config);\n useEventListener(draggingElement, \"pointerup\", end, config);\n }\n return {\n ...toRefs(position),\n position,\n isDragging: computed(() => !!pressedDelta.value),\n style: computed(\n () => `left:${position.value.x}px;top:${position.value.y}px;`\n )\n };\n}\n\nfunction useDropZone(target, options = {}) {\n const isOverDropZone = ref(false);\n const files = shallowRef(null);\n let counter = 0;\n let isDataTypeIncluded = true;\n if (isClient) {\n const _options = typeof options === \"function\" ? { onDrop: options } : options;\n const getFiles = (event) => {\n var _a, _b;\n const list = Array.from((_b = (_a = event.dataTransfer) == null ? void 0 : _a.files) != null ? _b : []);\n return files.value = list.length === 0 ? null : list;\n };\n useEventListener(target, \"dragenter\", (event) => {\n var _a, _b;\n const types = Array.from(((_a = event == null ? void 0 : event.dataTransfer) == null ? void 0 : _a.items) || []).map((i) => i.kind === \"file\" ? i.type : null).filter(notNullish);\n if (_options.dataTypes && event.dataTransfer) {\n const dataTypes = unref(_options.dataTypes);\n isDataTypeIncluded = typeof dataTypes === \"function\" ? dataTypes(types) : dataTypes ? dataTypes.some((item) => types.includes(item)) : true;\n if (!isDataTypeIncluded)\n return;\n }\n event.preventDefault();\n counter += 1;\n isOverDropZone.value = true;\n (_b = _options.onEnter) == null ? void 0 : _b.call(_options, getFiles(event), event);\n });\n useEventListener(target, \"dragover\", (event) => {\n var _a;\n if (!isDataTypeIncluded)\n return;\n event.preventDefault();\n (_a = _options.onOver) == null ? void 0 : _a.call(_options, getFiles(event), event);\n });\n useEventListener(target, \"dragleave\", (event) => {\n var _a;\n if (!isDataTypeIncluded)\n return;\n event.preventDefault();\n counter -= 1;\n if (counter === 0)\n isOverDropZone.value = false;\n (_a = _options.onLeave) == null ? void 0 : _a.call(_options, getFiles(event), event);\n });\n useEventListener(target, \"drop\", (event) => {\n var _a;\n event.preventDefault();\n counter = 0;\n isOverDropZone.value = false;\n (_a = _options.onDrop) == null ? void 0 : _a.call(_options, getFiles(event), event);\n });\n }\n return {\n files,\n isOverDropZone\n };\n}\n\nfunction useResizeObserver(target, callback, options = {}) {\n const { window = defaultWindow, ...observerOptions } = options;\n let observer;\n const isSupported = useSupported(() => window && \"ResizeObserver\" in window);\n const cleanup = () => {\n if (observer) {\n observer.disconnect();\n observer = void 0;\n }\n };\n const targets = computed(() => Array.isArray(target) ? target.map((el) => unrefElement(el)) : [unrefElement(target)]);\n const stopWatch = watch(\n targets,\n (els) => {\n cleanup();\n if (isSupported.value && window) {\n observer = new ResizeObserver(callback);\n for (const _el of els)\n _el && observer.observe(_el, observerOptions);\n }\n },\n { immediate: true, flush: \"post\" }\n );\n const stop = () => {\n cleanup();\n stopWatch();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop\n };\n}\n\nfunction useElementBounding(target, options = {}) {\n const {\n reset = true,\n windowResize = true,\n windowScroll = true,\n immediate = true\n } = options;\n const height = ref(0);\n const bottom = ref(0);\n const left = ref(0);\n const right = ref(0);\n const top = ref(0);\n const width = ref(0);\n const x = ref(0);\n const y = ref(0);\n function update() {\n const el = unrefElement(target);\n if (!el) {\n if (reset) {\n height.value = 0;\n bottom.value = 0;\n left.value = 0;\n right.value = 0;\n top.value = 0;\n width.value = 0;\n x.value = 0;\n y.value = 0;\n }\n return;\n }\n const rect = el.getBoundingClientRect();\n height.value = rect.height;\n bottom.value = rect.bottom;\n left.value = rect.left;\n right.value = rect.right;\n top.value = rect.top;\n width.value = rect.width;\n x.value = rect.x;\n y.value = rect.y;\n }\n useResizeObserver(target, update);\n watch(() => unrefElement(target), (ele) => !ele && update());\n useMutationObserver(target, update, {\n attributeFilter: [\"style\", \"class\"]\n });\n if (windowScroll)\n useEventListener(\"scroll\", update, { capture: true, passive: true });\n if (windowResize)\n useEventListener(\"resize\", update, { passive: true });\n tryOnMounted(() => {\n if (immediate)\n update();\n });\n return {\n height,\n bottom,\n left,\n right,\n top,\n width,\n x,\n y,\n update\n };\n}\n\nfunction useElementByPoint(options) {\n const {\n x,\n y,\n document = defaultDocument,\n multiple,\n interval = \"requestAnimationFrame\",\n immediate = true\n } = options;\n const isSupported = useSupported(() => {\n if (toValue(multiple))\n return document && \"elementsFromPoint\" in document;\n return document && \"elementFromPoint\" in document;\n });\n const element = ref(null);\n const cb = () => {\n var _a, _b;\n element.value = toValue(multiple) ? (_a = document == null ? void 0 : document.elementsFromPoint(toValue(x), toValue(y))) != null ? _a : [] : (_b = document == null ? void 0 : document.elementFromPoint(toValue(x), toValue(y))) != null ? _b : null;\n };\n const controls = interval === \"requestAnimationFrame\" ? useRafFn(cb, { immediate }) : useIntervalFn(cb, interval, { immediate });\n return {\n isSupported,\n element,\n ...controls\n };\n}\n\nfunction useElementHover(el, options = {}) {\n const {\n delayEnter = 0,\n delayLeave = 0,\n window = defaultWindow\n } = options;\n const isHovered = ref(false);\n let timer;\n const toggle = (entering) => {\n const delay = entering ? delayEnter : delayLeave;\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n }\n if (delay)\n timer = setTimeout(() => isHovered.value = entering, delay);\n else\n isHovered.value = entering;\n };\n if (!window)\n return isHovered;\n useEventListener(el, \"mouseenter\", () => toggle(true), { passive: true });\n useEventListener(el, \"mouseleave\", () => toggle(false), { passive: true });\n return isHovered;\n}\n\nfunction useElementSize(target, initialSize = { width: 0, height: 0 }, options = {}) {\n const { window = defaultWindow, box = \"content-box\" } = options;\n const isSVG = computed(() => {\n var _a, _b;\n return (_b = (_a = unrefElement(target)) == null ? void 0 : _a.namespaceURI) == null ? void 0 : _b.includes(\"svg\");\n });\n const width = ref(initialSize.width);\n const height = ref(initialSize.height);\n const { stop: stop1 } = useResizeObserver(\n target,\n ([entry]) => {\n const boxSize = box === \"border-box\" ? entry.borderBoxSize : box === \"content-box\" ? entry.contentBoxSize : entry.devicePixelContentBoxSize;\n if (window && isSVG.value) {\n const $elem = unrefElement(target);\n if ($elem) {\n const styles = window.getComputedStyle($elem);\n width.value = Number.parseFloat(styles.width);\n height.value = Number.parseFloat(styles.height);\n }\n } else {\n if (boxSize) {\n const formatBoxSize = Array.isArray(boxSize) ? boxSize : [boxSize];\n width.value = formatBoxSize.reduce((acc, { inlineSize }) => acc + inlineSize, 0);\n height.value = formatBoxSize.reduce((acc, { blockSize }) => acc + blockSize, 0);\n } else {\n width.value = entry.contentRect.width;\n height.value = entry.contentRect.height;\n }\n }\n },\n options\n );\n tryOnMounted(() => {\n const ele = unrefElement(target);\n if (ele) {\n width.value = \"offsetWidth\" in ele ? ele.offsetWidth : initialSize.width;\n height.value = \"offsetHeight\" in ele ? ele.offsetHeight : initialSize.height;\n }\n });\n const stop2 = watch(\n () => unrefElement(target),\n (ele) => {\n width.value = ele ? initialSize.width : 0;\n height.value = ele ? initialSize.height : 0;\n }\n );\n function stop() {\n stop1();\n stop2();\n }\n return {\n width,\n height,\n stop\n };\n}\n\nfunction useIntersectionObserver(target, callback, options = {}) {\n const {\n root,\n rootMargin = \"0px\",\n threshold = 0.1,\n window = defaultWindow,\n immediate = true\n } = options;\n const isSupported = useSupported(() => window && \"IntersectionObserver\" in window);\n const targets = computed(() => {\n const _target = toValue(target);\n return (Array.isArray(_target) ? _target : [_target]).map(unrefElement).filter(notNullish);\n });\n let cleanup = noop;\n const isActive = ref(immediate);\n const stopWatch = isSupported.value ? watch(\n () => [targets.value, unrefElement(root), isActive.value],\n ([targets2, root2]) => {\n cleanup();\n if (!isActive.value)\n return;\n if (!targets2.length)\n return;\n const observer = new IntersectionObserver(\n callback,\n {\n root: unrefElement(root2),\n rootMargin,\n threshold\n }\n );\n targets2.forEach((el) => el && observer.observe(el));\n cleanup = () => {\n observer.disconnect();\n cleanup = noop;\n };\n },\n { immediate, flush: \"post\" }\n ) : noop;\n const stop = () => {\n cleanup();\n stopWatch();\n isActive.value = false;\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n isActive,\n pause() {\n cleanup();\n isActive.value = false;\n },\n resume() {\n isActive.value = true;\n },\n stop\n };\n}\n\nfunction useElementVisibility(element, options = {}) {\n const { window = defaultWindow, scrollTarget, threshold = 0 } = options;\n const elementIsVisible = ref(false);\n useIntersectionObserver(\n element,\n (intersectionObserverEntries) => {\n let isIntersecting = elementIsVisible.value;\n let latestTime = 0;\n for (const entry of intersectionObserverEntries) {\n if (entry.time >= latestTime) {\n latestTime = entry.time;\n isIntersecting = entry.isIntersecting;\n }\n }\n elementIsVisible.value = isIntersecting;\n },\n {\n root: scrollTarget,\n window,\n threshold\n }\n );\n return elementIsVisible;\n}\n\nconst events = /* @__PURE__ */ new Map();\n\nfunction useEventBus(key) {\n const scope = getCurrentScope();\n function on(listener) {\n var _a;\n const listeners = events.get(key) || /* @__PURE__ */ new Set();\n listeners.add(listener);\n events.set(key, listeners);\n const _off = () => off(listener);\n (_a = scope == null ? void 0 : scope.cleanups) == null ? void 0 : _a.push(_off);\n return _off;\n }\n function once(listener) {\n function _listener(...args) {\n off(_listener);\n listener(...args);\n }\n return on(_listener);\n }\n function off(listener) {\n const listeners = events.get(key);\n if (!listeners)\n return;\n listeners.delete(listener);\n if (!listeners.size)\n reset();\n }\n function reset() {\n events.delete(key);\n }\n function emit(event, payload) {\n var _a;\n (_a = events.get(key)) == null ? void 0 : _a.forEach((v) => v(event, payload));\n }\n return { on, once, off, emit, reset };\n}\n\nfunction resolveNestedOptions$1(options) {\n if (options === true)\n return {};\n return options;\n}\nfunction useEventSource(url, events = [], options = {}) {\n const event = ref(null);\n const data = ref(null);\n const status = ref(\"CONNECTING\");\n const eventSource = ref(null);\n const error = shallowRef(null);\n const urlRef = toRef(url);\n let explicitlyClosed = false;\n let retried = 0;\n const {\n withCredentials = false,\n immediate = true\n } = options;\n const close = () => {\n if (isClient && eventSource.value) {\n eventSource.value.close();\n eventSource.value = null;\n status.value = \"CLOSED\";\n explicitlyClosed = true;\n }\n };\n const _init = () => {\n if (explicitlyClosed || typeof urlRef.value === \"undefined\")\n return;\n const es = new EventSource(urlRef.value, { withCredentials });\n status.value = \"CONNECTING\";\n eventSource.value = es;\n es.onopen = () => {\n status.value = \"OPEN\";\n error.value = null;\n };\n es.onerror = (e) => {\n status.value = \"CLOSED\";\n error.value = e;\n if (es.readyState === 2 && !explicitlyClosed && options.autoReconnect) {\n es.close();\n const {\n retries = -1,\n delay = 1e3,\n onFailed\n } = resolveNestedOptions$1(options.autoReconnect);\n retried += 1;\n if (typeof retries === \"number\" && (retries < 0 || retried < retries))\n setTimeout(_init, delay);\n else if (typeof retries === \"function\" && retries())\n setTimeout(_init, delay);\n else\n onFailed == null ? void 0 : onFailed();\n }\n };\n es.onmessage = (e) => {\n event.value = null;\n data.value = e.data;\n };\n for (const event_name of events) {\n useEventListener(es, event_name, (e) => {\n event.value = event_name;\n data.value = e.data || null;\n });\n }\n };\n const open = () => {\n if (!isClient)\n return;\n close();\n explicitlyClosed = false;\n retried = 0;\n _init();\n };\n if (immediate)\n watch(urlRef, open, { immediate: true });\n tryOnScopeDispose(close);\n return {\n eventSource,\n event,\n data,\n status,\n error,\n open,\n close\n };\n}\n\nfunction useEyeDropper(options = {}) {\n const { initialValue = \"\" } = options;\n const isSupported = useSupported(() => typeof window !== \"undefined\" && \"EyeDropper\" in window);\n const sRGBHex = ref(initialValue);\n async function open(openOptions) {\n if (!isSupported.value)\n return;\n const eyeDropper = new window.EyeDropper();\n const result = await eyeDropper.open(openOptions);\n sRGBHex.value = result.sRGBHex;\n return result;\n }\n return { isSupported, sRGBHex, open };\n}\n\nfunction useFavicon(newIcon = null, options = {}) {\n const {\n baseUrl = \"\",\n rel = \"icon\",\n document = defaultDocument\n } = options;\n const favicon = toRef(newIcon);\n const applyIcon = (icon) => {\n const elements = document == null ? void 0 : document.head.querySelectorAll(`link[rel*=\"${rel}\"]`);\n if (!elements || elements.length === 0) {\n const link = document == null ? void 0 : document.createElement(\"link\");\n if (link) {\n link.rel = rel;\n link.href = `${baseUrl}${icon}`;\n link.type = `image/${icon.split(\".\").pop()}`;\n document == null ? void 0 : document.head.append(link);\n }\n return;\n }\n elements == null ? void 0 : elements.forEach((el) => el.href = `${baseUrl}${icon}`);\n };\n watch(\n favicon,\n (i, o) => {\n if (typeof i === \"string\" && i !== o)\n applyIcon(i);\n },\n { immediate: true }\n );\n return favicon;\n}\n\nconst payloadMapping = {\n json: \"application/json\",\n text: \"text/plain\"\n};\nfunction isFetchOptions(obj) {\n return obj && containsProp(obj, \"immediate\", \"refetch\", \"initialData\", \"timeout\", \"beforeFetch\", \"afterFetch\", \"onFetchError\", \"fetch\", \"updateDataOnError\");\n}\nfunction isAbsoluteURL(url) {\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\nfunction headersToObject(headers) {\n if (typeof Headers !== \"undefined\" && headers instanceof Headers)\n return Object.fromEntries(headers.entries());\n return headers;\n}\nfunction combineCallbacks(combination, ...callbacks) {\n if (combination === \"overwrite\") {\n return async (ctx) => {\n const callback = callbacks[callbacks.length - 1];\n if (callback)\n return { ...ctx, ...await callback(ctx) };\n return ctx;\n };\n } else {\n return async (ctx) => {\n for (const callback of callbacks) {\n if (callback)\n ctx = { ...ctx, ...await callback(ctx) };\n }\n return ctx;\n };\n }\n}\nfunction createFetch(config = {}) {\n const _combination = config.combination || \"chain\";\n const _options = config.options || {};\n const _fetchOptions = config.fetchOptions || {};\n function useFactoryFetch(url, ...args) {\n const computedUrl = computed(() => {\n const baseUrl = toValue(config.baseUrl);\n const targetUrl = toValue(url);\n return baseUrl && !isAbsoluteURL(targetUrl) ? joinPaths(baseUrl, targetUrl) : targetUrl;\n });\n let options = _options;\n let fetchOptions = _fetchOptions;\n if (args.length > 0) {\n if (isFetchOptions(args[0])) {\n options = {\n ...options,\n ...args[0],\n beforeFetch: combineCallbacks(_combination, _options.beforeFetch, args[0].beforeFetch),\n afterFetch: combineCallbacks(_combination, _options.afterFetch, args[0].afterFetch),\n onFetchError: combineCallbacks(_combination, _options.onFetchError, args[0].onFetchError)\n };\n } else {\n fetchOptions = {\n ...fetchOptions,\n ...args[0],\n headers: {\n ...headersToObject(fetchOptions.headers) || {},\n ...headersToObject(args[0].headers) || {}\n }\n };\n }\n }\n if (args.length > 1 && isFetchOptions(args[1])) {\n options = {\n ...options,\n ...args[1],\n beforeFetch: combineCallbacks(_combination, _options.beforeFetch, args[1].beforeFetch),\n afterFetch: combineCallbacks(_combination, _options.afterFetch, args[1].afterFetch),\n onFetchError: combineCallbacks(_combination, _options.onFetchError, args[1].onFetchError)\n };\n }\n return useFetch(computedUrl, fetchOptions, options);\n }\n return useFactoryFetch;\n}\nfunction useFetch(url, ...args) {\n var _a;\n const supportsAbort = typeof AbortController === \"function\";\n let fetchOptions = {};\n let options = {\n immediate: true,\n refetch: false,\n timeout: 0,\n updateDataOnError: false\n };\n const config = {\n method: \"GET\",\n type: \"text\",\n payload: void 0\n };\n if (args.length > 0) {\n if (isFetchOptions(args[0]))\n options = { ...options, ...args[0] };\n else\n fetchOptions = args[0];\n }\n if (args.length > 1) {\n if (isFetchOptions(args[1]))\n options = { ...options, ...args[1] };\n }\n const {\n fetch = (_a = defaultWindow) == null ? void 0 : _a.fetch,\n initialData,\n timeout\n } = options;\n const responseEvent = createEventHook();\n const errorEvent = createEventHook();\n const finallyEvent = createEventHook();\n const isFinished = ref(false);\n const isFetching = ref(false);\n const aborted = ref(false);\n const statusCode = ref(null);\n const response = shallowRef(null);\n const error = shallowRef(null);\n const data = shallowRef(initialData || null);\n const canAbort = computed(() => supportsAbort && isFetching.value);\n let controller;\n let timer;\n const abort = () => {\n if (supportsAbort) {\n controller == null ? void 0 : controller.abort();\n controller = new AbortController();\n controller.signal.onabort = () => aborted.value = true;\n fetchOptions = {\n ...fetchOptions,\n signal: controller.signal\n };\n }\n };\n const loading = (isLoading) => {\n isFetching.value = isLoading;\n isFinished.value = !isLoading;\n };\n if (timeout)\n timer = useTimeoutFn(abort, timeout, { immediate: false });\n let executeCounter = 0;\n const execute = async (throwOnFailed = false) => {\n var _a2, _b;\n abort();\n loading(true);\n error.value = null;\n statusCode.value = null;\n aborted.value = false;\n executeCounter += 1;\n const currentExecuteCounter = executeCounter;\n const defaultFetchOptions = {\n method: config.method,\n headers: {}\n };\n if (config.payload) {\n const headers = headersToObject(defaultFetchOptions.headers);\n const payload = toValue(config.payload);\n if (!config.payloadType && payload && Object.getPrototypeOf(payload) === Object.prototype && !(payload instanceof FormData))\n config.payloadType = \"json\";\n if (config.payloadType)\n headers[\"Content-Type\"] = (_a2 = payloadMapping[config.payloadType]) != null ? _a2 : config.payloadType;\n defaultFetchOptions.body = config.payloadType === \"json\" ? JSON.stringify(payload) : payload;\n }\n let isCanceled = false;\n const context = {\n url: toValue(url),\n options: {\n ...defaultFetchOptions,\n ...fetchOptions\n },\n cancel: () => {\n isCanceled = true;\n }\n };\n if (options.beforeFetch)\n Object.assign(context, await options.beforeFetch(context));\n if (isCanceled || !fetch) {\n loading(false);\n return Promise.resolve(null);\n }\n let responseData = null;\n if (timer)\n timer.start();\n return fetch(\n context.url,\n {\n ...defaultFetchOptions,\n ...context.options,\n headers: {\n ...headersToObject(defaultFetchOptions.headers),\n ...headersToObject((_b = context.options) == null ? void 0 : _b.headers)\n }\n }\n ).then(async (fetchResponse) => {\n response.value = fetchResponse;\n statusCode.value = fetchResponse.status;\n responseData = await fetchResponse.clone()[config.type]();\n if (!fetchResponse.ok) {\n data.value = initialData || null;\n throw new Error(fetchResponse.statusText);\n }\n if (options.afterFetch) {\n ({ data: responseData } = await options.afterFetch({\n data: responseData,\n response: fetchResponse\n }));\n }\n data.value = responseData;\n responseEvent.trigger(fetchResponse);\n return fetchResponse;\n }).catch(async (fetchError) => {\n let errorData = fetchError.message || fetchError.name;\n if (options.onFetchError) {\n ({ error: errorData, data: responseData } = await options.onFetchError({\n data: responseData,\n error: fetchError,\n response: response.value\n }));\n }\n error.value = errorData;\n if (options.updateDataOnError)\n data.value = responseData;\n errorEvent.trigger(fetchError);\n if (throwOnFailed)\n throw fetchError;\n return null;\n }).finally(() => {\n if (currentExecuteCounter === executeCounter)\n loading(false);\n if (timer)\n timer.stop();\n finallyEvent.trigger(null);\n });\n };\n const refetch = toRef(options.refetch);\n watch(\n [\n refetch,\n toRef(url)\n ],\n ([refetch2]) => refetch2 && execute(),\n { deep: true }\n );\n const shell = {\n isFinished: readonly(isFinished),\n isFetching: readonly(isFetching),\n statusCode,\n response,\n error,\n data,\n canAbort,\n aborted,\n abort,\n execute,\n onFetchResponse: responseEvent.on,\n onFetchError: errorEvent.on,\n onFetchFinally: finallyEvent.on,\n // method\n get: setMethod(\"GET\"),\n put: setMethod(\"PUT\"),\n post: setMethod(\"POST\"),\n delete: setMethod(\"DELETE\"),\n patch: setMethod(\"PATCH\"),\n head: setMethod(\"HEAD\"),\n options: setMethod(\"OPTIONS\"),\n // type\n json: setType(\"json\"),\n text: setType(\"text\"),\n blob: setType(\"blob\"),\n arrayBuffer: setType(\"arrayBuffer\"),\n formData: setType(\"formData\")\n };\n function setMethod(method) {\n return (payload, payloadType) => {\n if (!isFetching.value) {\n config.method = method;\n config.payload = payload;\n config.payloadType = payloadType;\n if (isRef(config.payload)) {\n watch(\n [\n refetch,\n toRef(config.payload)\n ],\n ([refetch2]) => refetch2 && execute(),\n { deep: true }\n );\n }\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilFinished().then(onFulfilled, onRejected);\n }\n };\n }\n return void 0;\n };\n }\n function waitUntilFinished() {\n return new Promise((resolve, reject) => {\n until(isFinished).toBe(true).then(() => resolve(shell)).catch((error2) => reject(error2));\n });\n }\n function setType(type) {\n return () => {\n if (!isFetching.value) {\n config.type = type;\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilFinished().then(onFulfilled, onRejected);\n }\n };\n }\n return void 0;\n };\n }\n if (options.immediate)\n Promise.resolve().then(() => execute());\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilFinished().then(onFulfilled, onRejected);\n }\n };\n}\nfunction joinPaths(start, end) {\n if (!start.endsWith(\"/\") && !end.startsWith(\"/\"))\n return `${start}/${end}`;\n return `${start}${end}`;\n}\n\nconst DEFAULT_OPTIONS = {\n multiple: true,\n accept: \"*\",\n reset: false,\n directory: false\n};\nfunction useFileDialog(options = {}) {\n const {\n document = defaultDocument\n } = options;\n const files = ref(null);\n const { on: onChange, trigger } = createEventHook();\n let input;\n if (document) {\n input = document.createElement(\"input\");\n input.type = \"file\";\n input.onchange = (event) => {\n const result = event.target;\n files.value = result.files;\n trigger(files.value);\n };\n }\n const reset = () => {\n files.value = null;\n if (input) {\n input.value = \"\";\n trigger(null);\n }\n };\n const open = (localOptions) => {\n if (!input)\n return;\n const _options = {\n ...DEFAULT_OPTIONS,\n ...options,\n ...localOptions\n };\n input.multiple = _options.multiple;\n input.accept = _options.accept;\n input.webkitdirectory = _options.directory;\n if (hasOwn(_options, \"capture\"))\n input.capture = _options.capture;\n if (_options.reset)\n reset();\n input.click();\n };\n return {\n files: readonly(files),\n open,\n reset,\n onChange\n };\n}\n\nfunction useFileSystemAccess(options = {}) {\n const {\n window: _window = defaultWindow,\n dataType = \"Text\"\n } = options;\n const window = _window;\n const isSupported = useSupported(() => window && \"showSaveFilePicker\" in window && \"showOpenFilePicker\" in window);\n const fileHandle = ref();\n const data = ref();\n const file = ref();\n const fileName = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.name) != null ? _b : \"\";\n });\n const fileMIME = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.type) != null ? _b : \"\";\n });\n const fileSize = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.size) != null ? _b : 0;\n });\n const fileLastModified = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.lastModified) != null ? _b : 0;\n });\n async function open(_options = {}) {\n if (!isSupported.value)\n return;\n const [handle] = await window.showOpenFilePicker({ ...toValue(options), ..._options });\n fileHandle.value = handle;\n await updateData();\n }\n async function create(_options = {}) {\n if (!isSupported.value)\n return;\n fileHandle.value = await window.showSaveFilePicker({ ...options, ..._options });\n data.value = void 0;\n await updateData();\n }\n async function save(_options = {}) {\n if (!isSupported.value)\n return;\n if (!fileHandle.value)\n return saveAs(_options);\n if (data.value) {\n const writableStream = await fileHandle.value.createWritable();\n await writableStream.write(data.value);\n await writableStream.close();\n }\n await updateFile();\n }\n async function saveAs(_options = {}) {\n if (!isSupported.value)\n return;\n fileHandle.value = await window.showSaveFilePicker({ ...options, ..._options });\n if (data.value) {\n const writableStream = await fileHandle.value.createWritable();\n await writableStream.write(data.value);\n await writableStream.close();\n }\n await updateFile();\n }\n async function updateFile() {\n var _a;\n file.value = await ((_a = fileHandle.value) == null ? void 0 : _a.getFile());\n }\n async function updateData() {\n var _a, _b;\n await updateFile();\n const type = toValue(dataType);\n if (type === \"Text\")\n data.value = await ((_a = file.value) == null ? void 0 : _a.text());\n else if (type === \"ArrayBuffer\")\n data.value = await ((_b = file.value) == null ? void 0 : _b.arrayBuffer());\n else if (type === \"Blob\")\n data.value = file.value;\n }\n watch(() => toValue(dataType), updateData);\n return {\n isSupported,\n data,\n file,\n fileName,\n fileMIME,\n fileSize,\n fileLastModified,\n open,\n create,\n save,\n saveAs,\n updateData\n };\n}\n\nfunction useFocus(target, options = {}) {\n const { initialValue = false, focusVisible = false } = options;\n const innerFocused = ref(false);\n const targetElement = computed(() => unrefElement(target));\n useEventListener(targetElement, \"focus\", (event) => {\n var _a, _b;\n if (!focusVisible || ((_b = (_a = event.target).matches) == null ? void 0 : _b.call(_a, \":focus-visible\")))\n innerFocused.value = true;\n });\n useEventListener(targetElement, \"blur\", () => innerFocused.value = false);\n const focused = computed({\n get: () => innerFocused.value,\n set(value) {\n var _a, _b;\n if (!value && innerFocused.value)\n (_a = targetElement.value) == null ? void 0 : _a.blur();\n else if (value && !innerFocused.value)\n (_b = targetElement.value) == null ? void 0 : _b.focus();\n }\n });\n watch(\n targetElement,\n () => {\n focused.value = initialValue;\n },\n { immediate: true, flush: \"post\" }\n );\n return { focused };\n}\n\nfunction useFocusWithin(target, options = {}) {\n const activeElement = useActiveElement(options);\n const targetElement = computed(() => unrefElement(target));\n const focused = computed(() => targetElement.value && activeElement.value ? targetElement.value.contains(activeElement.value) : false);\n return { focused };\n}\n\nfunction useFps(options) {\n var _a;\n const fps = ref(0);\n if (typeof performance === \"undefined\")\n return fps;\n const every = (_a = options == null ? void 0 : options.every) != null ? _a : 10;\n let last = performance.now();\n let ticks = 0;\n useRafFn(() => {\n ticks += 1;\n if (ticks >= every) {\n const now = performance.now();\n const diff = now - last;\n fps.value = Math.round(1e3 / (diff / ticks));\n last = now;\n ticks = 0;\n }\n });\n return fps;\n}\n\nconst eventHandlers = [\n \"fullscreenchange\",\n \"webkitfullscreenchange\",\n \"webkitendfullscreen\",\n \"mozfullscreenchange\",\n \"MSFullscreenChange\"\n];\nfunction useFullscreen(target, options = {}) {\n const {\n document = defaultDocument,\n autoExit = false\n } = options;\n const targetRef = computed(() => {\n var _a;\n return (_a = unrefElement(target)) != null ? _a : document == null ? void 0 : document.querySelector(\"html\");\n });\n const isFullscreen = ref(false);\n const requestMethod = computed(() => {\n return [\n \"requestFullscreen\",\n \"webkitRequestFullscreen\",\n \"webkitEnterFullscreen\",\n \"webkitEnterFullScreen\",\n \"webkitRequestFullScreen\",\n \"mozRequestFullScreen\",\n \"msRequestFullscreen\"\n ].find((m) => document && m in document || targetRef.value && m in targetRef.value);\n });\n const exitMethod = computed(() => {\n return [\n \"exitFullscreen\",\n \"webkitExitFullscreen\",\n \"webkitExitFullScreen\",\n \"webkitCancelFullScreen\",\n \"mozCancelFullScreen\",\n \"msExitFullscreen\"\n ].find((m) => document && m in document || targetRef.value && m in targetRef.value);\n });\n const fullscreenEnabled = computed(() => {\n return [\n \"fullScreen\",\n \"webkitIsFullScreen\",\n \"webkitDisplayingFullscreen\",\n \"mozFullScreen\",\n \"msFullscreenElement\"\n ].find((m) => document && m in document || targetRef.value && m in targetRef.value);\n });\n const fullscreenElementMethod = [\n \"fullscreenElement\",\n \"webkitFullscreenElement\",\n \"mozFullScreenElement\",\n \"msFullscreenElement\"\n ].find((m) => document && m in document);\n const isSupported = useSupported(() => targetRef.value && document && requestMethod.value !== void 0 && exitMethod.value !== void 0 && fullscreenEnabled.value !== void 0);\n const isCurrentElementFullScreen = () => {\n if (fullscreenElementMethod)\n return (document == null ? void 0 : document[fullscreenElementMethod]) === targetRef.value;\n return false;\n };\n const isElementFullScreen = () => {\n if (fullscreenEnabled.value) {\n if (document && document[fullscreenEnabled.value] != null) {\n return document[fullscreenEnabled.value];\n } else {\n const target2 = targetRef.value;\n if ((target2 == null ? void 0 : target2[fullscreenEnabled.value]) != null) {\n return Boolean(target2[fullscreenEnabled.value]);\n }\n }\n }\n return false;\n };\n async function exit() {\n if (!isSupported.value || !isFullscreen.value)\n return;\n if (exitMethod.value) {\n if ((document == null ? void 0 : document[exitMethod.value]) != null) {\n await document[exitMethod.value]();\n } else {\n const target2 = targetRef.value;\n if ((target2 == null ? void 0 : target2[exitMethod.value]) != null)\n await target2[exitMethod.value]();\n }\n }\n isFullscreen.value = false;\n }\n async function enter() {\n if (!isSupported.value || isFullscreen.value)\n return;\n if (isElementFullScreen())\n await exit();\n const target2 = targetRef.value;\n if (requestMethod.value && (target2 == null ? void 0 : target2[requestMethod.value]) != null) {\n await target2[requestMethod.value]();\n isFullscreen.value = true;\n }\n }\n async function toggle() {\n await (isFullscreen.value ? exit() : enter());\n }\n const handlerCallback = () => {\n const isElementFullScreenValue = isElementFullScreen();\n if (!isElementFullScreenValue || isElementFullScreenValue && isCurrentElementFullScreen())\n isFullscreen.value = isElementFullScreenValue;\n };\n useEventListener(document, eventHandlers, handlerCallback, false);\n useEventListener(() => unrefElement(targetRef), eventHandlers, handlerCallback, false);\n if (autoExit)\n tryOnScopeDispose(exit);\n return {\n isSupported,\n isFullscreen,\n enter,\n exit,\n toggle\n };\n}\n\nfunction mapGamepadToXbox360Controller(gamepad) {\n return computed(() => {\n if (gamepad.value) {\n return {\n buttons: {\n a: gamepad.value.buttons[0],\n b: gamepad.value.buttons[1],\n x: gamepad.value.buttons[2],\n y: gamepad.value.buttons[3]\n },\n bumper: {\n left: gamepad.value.buttons[4],\n right: gamepad.value.buttons[5]\n },\n triggers: {\n left: gamepad.value.buttons[6],\n right: gamepad.value.buttons[7]\n },\n stick: {\n left: {\n horizontal: gamepad.value.axes[0],\n vertical: gamepad.value.axes[1],\n button: gamepad.value.buttons[10]\n },\n right: {\n horizontal: gamepad.value.axes[2],\n vertical: gamepad.value.axes[3],\n button: gamepad.value.buttons[11]\n }\n },\n dpad: {\n up: gamepad.value.buttons[12],\n down: gamepad.value.buttons[13],\n left: gamepad.value.buttons[14],\n right: gamepad.value.buttons[15]\n },\n back: gamepad.value.buttons[8],\n start: gamepad.value.buttons[9]\n };\n }\n return null;\n });\n}\nfunction useGamepad(options = {}) {\n const {\n navigator = defaultNavigator\n } = options;\n const isSupported = useSupported(() => navigator && \"getGamepads\" in navigator);\n const gamepads = ref([]);\n const onConnectedHook = createEventHook();\n const onDisconnectedHook = createEventHook();\n const stateFromGamepad = (gamepad) => {\n const hapticActuators = [];\n const vibrationActuator = \"vibrationActuator\" in gamepad ? gamepad.vibrationActuator : null;\n if (vibrationActuator)\n hapticActuators.push(vibrationActuator);\n if (gamepad.hapticActuators)\n hapticActuators.push(...gamepad.hapticActuators);\n return {\n ...gamepad,\n id: gamepad.id,\n hapticActuators,\n axes: gamepad.axes.map((axes) => axes),\n buttons: gamepad.buttons.map((button) => ({ pressed: button.pressed, touched: button.touched, value: button.value })),\n index: gamepad.index\n };\n };\n const updateGamepadState = () => {\n const _gamepads = (navigator == null ? void 0 : navigator.getGamepads()) || [];\n for (const gamepad of _gamepads) {\n if (gamepad && gamepads.value[gamepad.index])\n gamepads.value[gamepad.index] = stateFromGamepad(gamepad);\n }\n };\n const { isActive, pause, resume } = useRafFn(updateGamepadState);\n const onGamepadConnected = (gamepad) => {\n if (!gamepads.value.some(({ index }) => index === gamepad.index)) {\n gamepads.value.push(stateFromGamepad(gamepad));\n onConnectedHook.trigger(gamepad.index);\n }\n resume();\n };\n const onGamepadDisconnected = (gamepad) => {\n gamepads.value = gamepads.value.filter((x) => x.index !== gamepad.index);\n onDisconnectedHook.trigger(gamepad.index);\n };\n useEventListener(\"gamepadconnected\", (e) => onGamepadConnected(e.gamepad));\n useEventListener(\"gamepaddisconnected\", (e) => onGamepadDisconnected(e.gamepad));\n tryOnMounted(() => {\n const _gamepads = (navigator == null ? void 0 : navigator.getGamepads()) || [];\n for (const gamepad of _gamepads) {\n if (gamepad && gamepads.value[gamepad.index])\n onGamepadConnected(gamepad);\n }\n });\n pause();\n return {\n isSupported,\n onConnected: onConnectedHook.on,\n onDisconnected: onDisconnectedHook.on,\n gamepads,\n pause,\n resume,\n isActive\n };\n}\n\nfunction useGeolocation(options = {}) {\n const {\n enableHighAccuracy = true,\n maximumAge = 3e4,\n timeout = 27e3,\n navigator = defaultNavigator,\n immediate = true\n } = options;\n const isSupported = useSupported(() => navigator && \"geolocation\" in navigator);\n const locatedAt = ref(null);\n const error = shallowRef(null);\n const coords = ref({\n accuracy: 0,\n latitude: Number.POSITIVE_INFINITY,\n longitude: Number.POSITIVE_INFINITY,\n altitude: null,\n altitudeAccuracy: null,\n heading: null,\n speed: null\n });\n function updatePosition(position) {\n locatedAt.value = position.timestamp;\n coords.value = position.coords;\n error.value = null;\n }\n let watcher;\n function resume() {\n if (isSupported.value) {\n watcher = navigator.geolocation.watchPosition(\n updatePosition,\n (err) => error.value = err,\n {\n enableHighAccuracy,\n maximumAge,\n timeout\n }\n );\n }\n }\n if (immediate)\n resume();\n function pause() {\n if (watcher && navigator)\n navigator.geolocation.clearWatch(watcher);\n }\n tryOnScopeDispose(() => {\n pause();\n });\n return {\n isSupported,\n coords,\n locatedAt,\n error,\n resume,\n pause\n };\n}\n\nconst defaultEvents$1 = [\"mousemove\", \"mousedown\", \"resize\", \"keydown\", \"touchstart\", \"wheel\"];\nconst oneMinute = 6e4;\nfunction useIdle(timeout = oneMinute, options = {}) {\n const {\n initialState = false,\n listenForVisibilityChange = true,\n events = defaultEvents$1,\n window = defaultWindow,\n eventFilter = throttleFilter(50)\n } = options;\n const idle = ref(initialState);\n const lastActive = ref(timestamp());\n let timer;\n const reset = () => {\n idle.value = false;\n clearTimeout(timer);\n timer = setTimeout(() => idle.value = true, timeout);\n };\n const onEvent = createFilterWrapper(\n eventFilter,\n () => {\n lastActive.value = timestamp();\n reset();\n }\n );\n if (window) {\n const document = window.document;\n for (const event of events)\n useEventListener(window, event, onEvent, { passive: true });\n if (listenForVisibilityChange) {\n useEventListener(document, \"visibilitychange\", () => {\n if (!document.hidden)\n onEvent();\n });\n }\n reset();\n }\n return {\n idle,\n lastActive,\n reset\n };\n}\n\nasync function loadImage(options) {\n return new Promise((resolve, reject) => {\n const img = new Image();\n const { src, srcset, sizes, class: clazz, loading, crossorigin, referrerPolicy } = options;\n img.src = src;\n if (srcset)\n img.srcset = srcset;\n if (sizes)\n img.sizes = sizes;\n if (clazz)\n img.className = clazz;\n if (loading)\n img.loading = loading;\n if (crossorigin)\n img.crossOrigin = crossorigin;\n if (referrerPolicy)\n img.referrerPolicy = referrerPolicy;\n img.onload = () => resolve(img);\n img.onerror = reject;\n });\n}\nfunction useImage(options, asyncStateOptions = {}) {\n const state = useAsyncState(\n () => loadImage(toValue(options)),\n void 0,\n {\n resetOnExecute: true,\n ...asyncStateOptions\n }\n );\n watch(\n () => toValue(options),\n () => state.execute(asyncStateOptions.delay),\n { deep: true }\n );\n return state;\n}\n\nconst ARRIVED_STATE_THRESHOLD_PIXELS = 1;\nfunction useScroll(element, options = {}) {\n const {\n throttle = 0,\n idle = 200,\n onStop = noop,\n onScroll = noop,\n offset = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n },\n eventListenerOptions = {\n capture: false,\n passive: true\n },\n behavior = \"auto\",\n window = defaultWindow,\n onError = (e) => {\n console.error(e);\n }\n } = options;\n const internalX = ref(0);\n const internalY = ref(0);\n const x = computed({\n get() {\n return internalX.value;\n },\n set(x2) {\n scrollTo(x2, void 0);\n }\n });\n const y = computed({\n get() {\n return internalY.value;\n },\n set(y2) {\n scrollTo(void 0, y2);\n }\n });\n function scrollTo(_x, _y) {\n var _a, _b, _c;\n if (!window)\n return;\n const _element = toValue(element);\n if (!_element)\n return;\n (_c = _element instanceof Document ? window.document.body : _element) == null ? void 0 : _c.scrollTo({\n top: (_a = toValue(_y)) != null ? _a : y.value,\n left: (_b = toValue(_x)) != null ? _b : x.value,\n behavior: toValue(behavior)\n });\n }\n const isScrolling = ref(false);\n const arrivedState = reactive({\n left: true,\n right: false,\n top: true,\n bottom: false\n });\n const directions = reactive({\n left: false,\n right: false,\n top: false,\n bottom: false\n });\n const onScrollEnd = (e) => {\n if (!isScrolling.value)\n return;\n isScrolling.value = false;\n directions.left = false;\n directions.right = false;\n directions.top = false;\n directions.bottom = false;\n onStop(e);\n };\n const onScrollEndDebounced = useDebounceFn(onScrollEnd, throttle + idle);\n const setArrivedState = (target) => {\n var _a;\n if (!window)\n return;\n const el = ((_a = target == null ? void 0 : target.document) == null ? void 0 : _a.documentElement) || (target == null ? void 0 : target.documentElement) || unrefElement(target);\n const { display, flexDirection } = getComputedStyle(el);\n const scrollLeft = el.scrollLeft;\n directions.left = scrollLeft < internalX.value;\n directions.right = scrollLeft > internalX.value;\n const left = Math.abs(scrollLeft) <= (offset.left || 0);\n const right = Math.abs(scrollLeft) + el.clientWidth >= el.scrollWidth - (offset.right || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n if (display === \"flex\" && flexDirection === \"row-reverse\") {\n arrivedState.left = right;\n arrivedState.right = left;\n } else {\n arrivedState.left = left;\n arrivedState.right = right;\n }\n internalX.value = scrollLeft;\n let scrollTop = el.scrollTop;\n if (target === window.document && !scrollTop)\n scrollTop = window.document.body.scrollTop;\n directions.top = scrollTop < internalY.value;\n directions.bottom = scrollTop > internalY.value;\n const top = Math.abs(scrollTop) <= (offset.top || 0);\n const bottom = Math.abs(scrollTop) + el.clientHeight >= el.scrollHeight - (offset.bottom || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n if (display === \"flex\" && flexDirection === \"column-reverse\") {\n arrivedState.top = bottom;\n arrivedState.bottom = top;\n } else {\n arrivedState.top = top;\n arrivedState.bottom = bottom;\n }\n internalY.value = scrollTop;\n };\n const onScrollHandler = (e) => {\n var _a;\n if (!window)\n return;\n const eventTarget = (_a = e.target.documentElement) != null ? _a : e.target;\n setArrivedState(eventTarget);\n isScrolling.value = true;\n onScrollEndDebounced(e);\n onScroll(e);\n };\n useEventListener(\n element,\n \"scroll\",\n throttle ? useThrottleFn(onScrollHandler, throttle, true, false) : onScrollHandler,\n eventListenerOptions\n );\n tryOnMounted(() => {\n try {\n const _element = toValue(element);\n if (!_element)\n return;\n setArrivedState(_element);\n } catch (e) {\n onError(e);\n }\n });\n useEventListener(\n element,\n \"scrollend\",\n onScrollEnd,\n eventListenerOptions\n );\n return {\n x,\n y,\n isScrolling,\n arrivedState,\n directions,\n measure() {\n const _element = toValue(element);\n if (window && _element)\n setArrivedState(_element);\n }\n };\n}\n\nfunction resolveElement(el) {\n if (typeof Window !== \"undefined\" && el instanceof Window)\n return el.document.documentElement;\n if (typeof Document !== \"undefined\" && el instanceof Document)\n return el.documentElement;\n return el;\n}\n\nfunction useInfiniteScroll(element, onLoadMore, options = {}) {\n var _a;\n const {\n direction = \"bottom\",\n interval = 100,\n canLoadMore = () => true\n } = options;\n const state = reactive(useScroll(\n element,\n {\n ...options,\n offset: {\n [direction]: (_a = options.distance) != null ? _a : 0,\n ...options.offset\n }\n }\n ));\n const promise = ref();\n const isLoading = computed(() => !!promise.value);\n const observedElement = computed(() => {\n return resolveElement(toValue(element));\n });\n const isElementVisible = useElementVisibility(observedElement);\n function checkAndLoad() {\n state.measure();\n if (!observedElement.value || !isElementVisible.value || !canLoadMore(observedElement.value))\n return;\n const { scrollHeight, clientHeight, scrollWidth, clientWidth } = observedElement.value;\n const isNarrower = direction === \"bottom\" || direction === \"top\" ? scrollHeight <= clientHeight : scrollWidth <= clientWidth;\n if (state.arrivedState[direction] || isNarrower) {\n if (!promise.value) {\n promise.value = Promise.all([\n onLoadMore(state),\n new Promise((resolve) => setTimeout(resolve, interval))\n ]).finally(() => {\n promise.value = null;\n nextTick(() => checkAndLoad());\n });\n }\n }\n }\n watch(\n () => [state.arrivedState[direction], isElementVisible.value],\n checkAndLoad,\n { immediate: true }\n );\n return {\n isLoading\n };\n}\n\nconst defaultEvents = [\"mousedown\", \"mouseup\", \"keydown\", \"keyup\"];\nfunction useKeyModifier(modifier, options = {}) {\n const {\n events = defaultEvents,\n document = defaultDocument,\n initial = null\n } = options;\n const state = ref(initial);\n if (document) {\n events.forEach((listenerEvent) => {\n useEventListener(document, listenerEvent, (evt) => {\n if (typeof evt.getModifierState === \"function\")\n state.value = evt.getModifierState(modifier);\n });\n });\n }\n return state;\n}\n\nfunction useLocalStorage(key, initialValue, options = {}) {\n const { window = defaultWindow } = options;\n return useStorage(key, initialValue, window == null ? void 0 : window.localStorage, options);\n}\n\nconst DefaultMagicKeysAliasMap = {\n ctrl: \"control\",\n command: \"meta\",\n cmd: \"meta\",\n option: \"alt\",\n up: \"arrowup\",\n down: \"arrowdown\",\n left: \"arrowleft\",\n right: \"arrowright\"\n};\n\nfunction useMagicKeys(options = {}) {\n const {\n reactive: useReactive = false,\n target = defaultWindow,\n aliasMap = DefaultMagicKeysAliasMap,\n passive = true,\n onEventFired = noop\n } = options;\n const current = reactive(/* @__PURE__ */ new Set());\n const obj = {\n toJSON() {\n return {};\n },\n current\n };\n const refs = useReactive ? reactive(obj) : obj;\n const metaDeps = /* @__PURE__ */ new Set();\n const usedKeys = /* @__PURE__ */ new Set();\n function setRefs(key, value) {\n if (key in refs) {\n if (useReactive)\n refs[key] = value;\n else\n refs[key].value = value;\n }\n }\n function reset() {\n current.clear();\n for (const key of usedKeys)\n setRefs(key, false);\n }\n function updateRefs(e, value) {\n var _a, _b;\n const key = (_a = e.key) == null ? void 0 : _a.toLowerCase();\n const code = (_b = e.code) == null ? void 0 : _b.toLowerCase();\n const values = [code, key].filter(Boolean);\n if (key) {\n if (value)\n current.add(key);\n else\n current.delete(key);\n }\n for (const key2 of values) {\n usedKeys.add(key2);\n setRefs(key2, value);\n }\n if (key === \"meta\" && !value) {\n metaDeps.forEach((key2) => {\n current.delete(key2);\n setRefs(key2, false);\n });\n metaDeps.clear();\n } else if (typeof e.getModifierState === \"function\" && e.getModifierState(\"Meta\") && value) {\n [...current, ...values].forEach((key2) => metaDeps.add(key2));\n }\n }\n useEventListener(target, \"keydown\", (e) => {\n updateRefs(e, true);\n return onEventFired(e);\n }, { passive });\n useEventListener(target, \"keyup\", (e) => {\n updateRefs(e, false);\n return onEventFired(e);\n }, { passive });\n useEventListener(\"blur\", reset, { passive: true });\n useEventListener(\"focus\", reset, { passive: true });\n const proxy = new Proxy(\n refs,\n {\n get(target2, prop, rec) {\n if (typeof prop !== \"string\")\n return Reflect.get(target2, prop, rec);\n prop = prop.toLowerCase();\n if (prop in aliasMap)\n prop = aliasMap[prop];\n if (!(prop in refs)) {\n if (/[+_-]/.test(prop)) {\n const keys = prop.split(/[+_-]/g).map((i) => i.trim());\n refs[prop] = computed(() => keys.every((key) => toValue(proxy[key])));\n } else {\n refs[prop] = ref(false);\n }\n }\n const r = Reflect.get(target2, prop, rec);\n return useReactive ? toValue(r) : r;\n }\n }\n );\n return proxy;\n}\n\nfunction usingElRef(source, cb) {\n if (toValue(source))\n cb(toValue(source));\n}\nfunction timeRangeToArray(timeRanges) {\n let ranges = [];\n for (let i = 0; i < timeRanges.length; ++i)\n ranges = [...ranges, [timeRanges.start(i), timeRanges.end(i)]];\n return ranges;\n}\nfunction tracksToArray(tracks) {\n return Array.from(tracks).map(({ label, kind, language, mode, activeCues, cues, inBandMetadataTrackDispatchType }, id) => ({ id, label, kind, language, mode, activeCues, cues, inBandMetadataTrackDispatchType }));\n}\nconst defaultOptions = {\n src: \"\",\n tracks: []\n};\nfunction useMediaControls(target, options = {}) {\n options = {\n ...defaultOptions,\n ...options\n };\n const {\n document = defaultDocument\n } = options;\n const currentTime = ref(0);\n const duration = ref(0);\n const seeking = ref(false);\n const volume = ref(1);\n const waiting = ref(false);\n const ended = ref(false);\n const playing = ref(false);\n const rate = ref(1);\n const stalled = ref(false);\n const buffered = ref([]);\n const tracks = ref([]);\n const selectedTrack = ref(-1);\n const isPictureInPicture = ref(false);\n const muted = ref(false);\n const supportsPictureInPicture = document && \"pictureInPictureEnabled\" in document;\n const sourceErrorEvent = createEventHook();\n const disableTrack = (track) => {\n usingElRef(target, (el) => {\n if (track) {\n const id = typeof track === \"number\" ? track : track.id;\n el.textTracks[id].mode = \"disabled\";\n } else {\n for (let i = 0; i < el.textTracks.length; ++i)\n el.textTracks[i].mode = \"disabled\";\n }\n selectedTrack.value = -1;\n });\n };\n const enableTrack = (track, disableTracks = true) => {\n usingElRef(target, (el) => {\n const id = typeof track === \"number\" ? track : track.id;\n if (disableTracks)\n disableTrack();\n el.textTracks[id].mode = \"showing\";\n selectedTrack.value = id;\n });\n };\n const togglePictureInPicture = () => {\n return new Promise((resolve, reject) => {\n usingElRef(target, async (el) => {\n if (supportsPictureInPicture) {\n if (!isPictureInPicture.value) {\n el.requestPictureInPicture().then(resolve).catch(reject);\n } else {\n document.exitPictureInPicture().then(resolve).catch(reject);\n }\n }\n });\n });\n };\n watchEffect(() => {\n if (!document)\n return;\n const el = toValue(target);\n if (!el)\n return;\n const src = toValue(options.src);\n let sources = [];\n if (!src)\n return;\n if (typeof src === \"string\")\n sources = [{ src }];\n else if (Array.isArray(src))\n sources = src;\n else if (isObject(src))\n sources = [src];\n el.querySelectorAll(\"source\").forEach((e) => {\n e.removeEventListener(\"error\", sourceErrorEvent.trigger);\n e.remove();\n });\n sources.forEach(({ src: src2, type }) => {\n const source = document.createElement(\"source\");\n source.setAttribute(\"src\", src2);\n source.setAttribute(\"type\", type || \"\");\n source.addEventListener(\"error\", sourceErrorEvent.trigger);\n el.appendChild(source);\n });\n el.load();\n });\n tryOnScopeDispose(() => {\n const el = toValue(target);\n if (!el)\n return;\n el.querySelectorAll(\"source\").forEach((e) => e.removeEventListener(\"error\", sourceErrorEvent.trigger));\n });\n watch([target, volume], () => {\n const el = toValue(target);\n if (!el)\n return;\n el.volume = volume.value;\n });\n watch([target, muted], () => {\n const el = toValue(target);\n if (!el)\n return;\n el.muted = muted.value;\n });\n watch([target, rate], () => {\n const el = toValue(target);\n if (!el)\n return;\n el.playbackRate = rate.value;\n });\n watchEffect(() => {\n if (!document)\n return;\n const textTracks = toValue(options.tracks);\n const el = toValue(target);\n if (!textTracks || !textTracks.length || !el)\n return;\n el.querySelectorAll(\"track\").forEach((e) => e.remove());\n textTracks.forEach(({ default: isDefault, kind, label, src, srcLang }, i) => {\n const track = document.createElement(\"track\");\n track.default = isDefault || false;\n track.kind = kind;\n track.label = label;\n track.src = src;\n track.srclang = srcLang;\n if (track.default)\n selectedTrack.value = i;\n el.appendChild(track);\n });\n });\n const { ignoreUpdates: ignoreCurrentTimeUpdates } = watchIgnorable(currentTime, (time) => {\n const el = toValue(target);\n if (!el)\n return;\n el.currentTime = time;\n });\n const { ignoreUpdates: ignorePlayingUpdates } = watchIgnorable(playing, (isPlaying) => {\n const el = toValue(target);\n if (!el)\n return;\n isPlaying ? el.play() : el.pause();\n });\n useEventListener(target, \"timeupdate\", () => ignoreCurrentTimeUpdates(() => currentTime.value = toValue(target).currentTime));\n useEventListener(target, \"durationchange\", () => duration.value = toValue(target).duration);\n useEventListener(target, \"progress\", () => buffered.value = timeRangeToArray(toValue(target).buffered));\n useEventListener(target, \"seeking\", () => seeking.value = true);\n useEventListener(target, \"seeked\", () => seeking.value = false);\n useEventListener(target, [\"waiting\", \"loadstart\"], () => {\n waiting.value = true;\n ignorePlayingUpdates(() => playing.value = false);\n });\n useEventListener(target, \"loadeddata\", () => waiting.value = false);\n useEventListener(target, \"playing\", () => {\n waiting.value = false;\n ended.value = false;\n ignorePlayingUpdates(() => playing.value = true);\n });\n useEventListener(target, \"ratechange\", () => rate.value = toValue(target).playbackRate);\n useEventListener(target, \"stalled\", () => stalled.value = true);\n useEventListener(target, \"ended\", () => ended.value = true);\n useEventListener(target, \"pause\", () => ignorePlayingUpdates(() => playing.value = false));\n useEventListener(target, \"play\", () => ignorePlayingUpdates(() => playing.value = true));\n useEventListener(target, \"enterpictureinpicture\", () => isPictureInPicture.value = true);\n useEventListener(target, \"leavepictureinpicture\", () => isPictureInPicture.value = false);\n useEventListener(target, \"volumechange\", () => {\n const el = toValue(target);\n if (!el)\n return;\n volume.value = el.volume;\n muted.value = el.muted;\n });\n const listeners = [];\n const stop = watch([target], () => {\n const el = toValue(target);\n if (!el)\n return;\n stop();\n listeners[0] = useEventListener(el.textTracks, \"addtrack\", () => tracks.value = tracksToArray(el.textTracks));\n listeners[1] = useEventListener(el.textTracks, \"removetrack\", () => tracks.value = tracksToArray(el.textTracks));\n listeners[2] = useEventListener(el.textTracks, \"change\", () => tracks.value = tracksToArray(el.textTracks));\n });\n tryOnScopeDispose(() => listeners.forEach((listener) => listener()));\n return {\n currentTime,\n duration,\n waiting,\n seeking,\n ended,\n stalled,\n buffered,\n playing,\n rate,\n // Volume\n volume,\n muted,\n // Tracks\n tracks,\n selectedTrack,\n enableTrack,\n disableTrack,\n // Picture in Picture\n supportsPictureInPicture,\n togglePictureInPicture,\n isPictureInPicture,\n // Events\n onSourceError: sourceErrorEvent.on\n };\n}\n\nfunction getMapVue2Compat() {\n const data = shallowReactive({});\n return {\n get: (key) => data[key],\n set: (key, value) => set(data, key, value),\n has: (key) => hasOwn(data, key),\n delete: (key) => del(data, key),\n clear: () => {\n Object.keys(data).forEach((key) => {\n del(data, key);\n });\n }\n };\n}\nfunction useMemoize(resolver, options) {\n const initCache = () => {\n if (options == null ? void 0 : options.cache)\n return shallowReactive(options.cache);\n if (isVue2)\n return getMapVue2Compat();\n return shallowReactive(/* @__PURE__ */ new Map());\n };\n const cache = initCache();\n const generateKey = (...args) => (options == null ? void 0 : options.getKey) ? options.getKey(...args) : JSON.stringify(args);\n const _loadData = (key, ...args) => {\n cache.set(key, resolver(...args));\n return cache.get(key);\n };\n const loadData = (...args) => _loadData(generateKey(...args), ...args);\n const deleteData = (...args) => {\n cache.delete(generateKey(...args));\n };\n const clearData = () => {\n cache.clear();\n };\n const memoized = (...args) => {\n const key = generateKey(...args);\n if (cache.has(key))\n return cache.get(key);\n return _loadData(key, ...args);\n };\n memoized.load = loadData;\n memoized.delete = deleteData;\n memoized.clear = clearData;\n memoized.generateKey = generateKey;\n memoized.cache = cache;\n return memoized;\n}\n\nfunction useMemory(options = {}) {\n const memory = ref();\n const isSupported = useSupported(() => typeof performance !== \"undefined\" && \"memory\" in performance);\n if (isSupported.value) {\n const { interval = 1e3 } = options;\n useIntervalFn(() => {\n memory.value = performance.memory;\n }, interval, { immediate: options.immediate, immediateCallback: options.immediateCallback });\n }\n return { isSupported, memory };\n}\n\nconst UseMouseBuiltinExtractors = {\n page: (event) => [event.pageX, event.pageY],\n client: (event) => [event.clientX, event.clientY],\n screen: (event) => [event.screenX, event.screenY],\n movement: (event) => event instanceof Touch ? null : [event.movementX, event.movementY]\n};\nfunction useMouse(options = {}) {\n const {\n type = \"page\",\n touch = true,\n resetOnTouchEnds = false,\n initialValue = { x: 0, y: 0 },\n window = defaultWindow,\n target = window,\n scroll = true,\n eventFilter\n } = options;\n let _prevMouseEvent = null;\n const x = ref(initialValue.x);\n const y = ref(initialValue.y);\n const sourceType = ref(null);\n const extractor = typeof type === \"function\" ? type : UseMouseBuiltinExtractors[type];\n const mouseHandler = (event) => {\n const result = extractor(event);\n _prevMouseEvent = event;\n if (result) {\n [x.value, y.value] = result;\n sourceType.value = \"mouse\";\n }\n };\n const touchHandler = (event) => {\n if (event.touches.length > 0) {\n const result = extractor(event.touches[0]);\n if (result) {\n [x.value, y.value] = result;\n sourceType.value = \"touch\";\n }\n }\n };\n const scrollHandler = () => {\n if (!_prevMouseEvent || !window)\n return;\n const pos = extractor(_prevMouseEvent);\n if (_prevMouseEvent instanceof MouseEvent && pos) {\n x.value = pos[0] + window.scrollX;\n y.value = pos[1] + window.scrollY;\n }\n };\n const reset = () => {\n x.value = initialValue.x;\n y.value = initialValue.y;\n };\n const mouseHandlerWrapper = eventFilter ? (event) => eventFilter(() => mouseHandler(event), {}) : (event) => mouseHandler(event);\n const touchHandlerWrapper = eventFilter ? (event) => eventFilter(() => touchHandler(event), {}) : (event) => touchHandler(event);\n const scrollHandlerWrapper = eventFilter ? () => eventFilter(() => scrollHandler(), {}) : () => scrollHandler();\n if (target) {\n const listenerOptions = { passive: true };\n useEventListener(target, [\"mousemove\", \"dragover\"], mouseHandlerWrapper, listenerOptions);\n if (touch && type !== \"movement\") {\n useEventListener(target, [\"touchstart\", \"touchmove\"], touchHandlerWrapper, listenerOptions);\n if (resetOnTouchEnds)\n useEventListener(target, \"touchend\", reset, listenerOptions);\n }\n if (scroll && type === \"page\")\n useEventListener(window, \"scroll\", scrollHandlerWrapper, { passive: true });\n }\n return {\n x,\n y,\n sourceType\n };\n}\n\nfunction useMouseInElement(target, options = {}) {\n const {\n handleOutside = true,\n window = defaultWindow\n } = options;\n const type = options.type || \"page\";\n const { x, y, sourceType } = useMouse(options);\n const targetRef = ref(target != null ? target : window == null ? void 0 : window.document.body);\n const elementX = ref(0);\n const elementY = ref(0);\n const elementPositionX = ref(0);\n const elementPositionY = ref(0);\n const elementHeight = ref(0);\n const elementWidth = ref(0);\n const isOutside = ref(true);\n let stop = () => {\n };\n if (window) {\n stop = watch(\n [targetRef, x, y],\n () => {\n const el = unrefElement(targetRef);\n if (!el)\n return;\n const {\n left,\n top,\n width,\n height\n } = el.getBoundingClientRect();\n elementPositionX.value = left + (type === \"page\" ? window.pageXOffset : 0);\n elementPositionY.value = top + (type === \"page\" ? window.pageYOffset : 0);\n elementHeight.value = height;\n elementWidth.value = width;\n const elX = x.value - elementPositionX.value;\n const elY = y.value - elementPositionY.value;\n isOutside.value = width === 0 || height === 0 || elX < 0 || elY < 0 || elX > width || elY > height;\n if (handleOutside || !isOutside.value) {\n elementX.value = elX;\n elementY.value = elY;\n }\n },\n { immediate: true }\n );\n useEventListener(document, \"mouseleave\", () => {\n isOutside.value = true;\n });\n }\n return {\n x,\n y,\n sourceType,\n elementX,\n elementY,\n elementPositionX,\n elementPositionY,\n elementHeight,\n elementWidth,\n isOutside,\n stop\n };\n}\n\nfunction useMousePressed(options = {}) {\n const {\n touch = true,\n drag = true,\n capture = false,\n initialValue = false,\n window = defaultWindow\n } = options;\n const pressed = ref(initialValue);\n const sourceType = ref(null);\n if (!window) {\n return {\n pressed,\n sourceType\n };\n }\n const onPressed = (srcType) => () => {\n pressed.value = true;\n sourceType.value = srcType;\n };\n const onReleased = () => {\n pressed.value = false;\n sourceType.value = null;\n };\n const target = computed(() => unrefElement(options.target) || window);\n useEventListener(target, \"mousedown\", onPressed(\"mouse\"), { passive: true, capture });\n useEventListener(window, \"mouseleave\", onReleased, { passive: true, capture });\n useEventListener(window, \"mouseup\", onReleased, { passive: true, capture });\n if (drag) {\n useEventListener(target, \"dragstart\", onPressed(\"mouse\"), { passive: true, capture });\n useEventListener(window, \"drop\", onReleased, { passive: true, capture });\n useEventListener(window, \"dragend\", onReleased, { passive: true, capture });\n }\n if (touch) {\n useEventListener(target, \"touchstart\", onPressed(\"touch\"), { passive: true, capture });\n useEventListener(window, \"touchend\", onReleased, { passive: true, capture });\n useEventListener(window, \"touchcancel\", onReleased, { passive: true, capture });\n }\n return {\n pressed,\n sourceType\n };\n}\n\nfunction useNavigatorLanguage(options = {}) {\n const { window = defaultWindow } = options;\n const navigator = window == null ? void 0 : window.navigator;\n const isSupported = useSupported(() => navigator && \"language\" in navigator);\n const language = ref(navigator == null ? void 0 : navigator.language);\n useEventListener(window, \"languagechange\", () => {\n if (navigator)\n language.value = navigator.language;\n });\n return {\n isSupported,\n language\n };\n}\n\nfunction useNetwork(options = {}) {\n const { window = defaultWindow } = options;\n const navigator = window == null ? void 0 : window.navigator;\n const isSupported = useSupported(() => navigator && \"connection\" in navigator);\n const isOnline = ref(true);\n const saveData = ref(false);\n const offlineAt = ref(void 0);\n const onlineAt = ref(void 0);\n const downlink = ref(void 0);\n const downlinkMax = ref(void 0);\n const rtt = ref(void 0);\n const effectiveType = ref(void 0);\n const type = ref(\"unknown\");\n const connection = isSupported.value && navigator.connection;\n function updateNetworkInformation() {\n if (!navigator)\n return;\n isOnline.value = navigator.onLine;\n offlineAt.value = isOnline.value ? void 0 : Date.now();\n onlineAt.value = isOnline.value ? Date.now() : void 0;\n if (connection) {\n downlink.value = connection.downlink;\n downlinkMax.value = connection.downlinkMax;\n effectiveType.value = connection.effectiveType;\n rtt.value = connection.rtt;\n saveData.value = connection.saveData;\n type.value = connection.type;\n }\n }\n if (window) {\n useEventListener(window, \"offline\", () => {\n isOnline.value = false;\n offlineAt.value = Date.now();\n });\n useEventListener(window, \"online\", () => {\n isOnline.value = true;\n onlineAt.value = Date.now();\n });\n }\n if (connection)\n useEventListener(connection, \"change\", updateNetworkInformation, false);\n updateNetworkInformation();\n return {\n isSupported,\n isOnline,\n saveData,\n offlineAt,\n onlineAt,\n downlink,\n downlinkMax,\n effectiveType,\n rtt,\n type\n };\n}\n\nfunction useNow(options = {}) {\n const {\n controls: exposeControls = false,\n interval = \"requestAnimationFrame\"\n } = options;\n const now = ref(/* @__PURE__ */ new Date());\n const update = () => now.value = /* @__PURE__ */ new Date();\n const controls = interval === \"requestAnimationFrame\" ? useRafFn(update, { immediate: true }) : useIntervalFn(update, interval, { immediate: true });\n if (exposeControls) {\n return {\n now,\n ...controls\n };\n } else {\n return now;\n }\n}\n\nfunction useObjectUrl(object) {\n const url = ref();\n const release = () => {\n if (url.value)\n URL.revokeObjectURL(url.value);\n url.value = void 0;\n };\n watch(\n () => toValue(object),\n (newObject) => {\n release();\n if (newObject)\n url.value = URL.createObjectURL(newObject);\n },\n { immediate: true }\n );\n tryOnScopeDispose(release);\n return readonly(url);\n}\n\nfunction useClamp(value, min, max) {\n if (typeof value === \"function\" || isReadonly(value))\n return computed(() => clamp(toValue(value), toValue(min), toValue(max)));\n const _value = ref(value);\n return computed({\n get() {\n return _value.value = clamp(_value.value, toValue(min), toValue(max));\n },\n set(value2) {\n _value.value = clamp(value2, toValue(min), toValue(max));\n }\n });\n}\n\nfunction useOffsetPagination(options) {\n const {\n total = Number.POSITIVE_INFINITY,\n pageSize = 10,\n page = 1,\n onPageChange = noop,\n onPageSizeChange = noop,\n onPageCountChange = noop\n } = options;\n const currentPageSize = useClamp(pageSize, 1, Number.POSITIVE_INFINITY);\n const pageCount = computed(() => Math.max(\n 1,\n Math.ceil(toValue(total) / toValue(currentPageSize))\n ));\n const currentPage = useClamp(page, 1, pageCount);\n const isFirstPage = computed(() => currentPage.value === 1);\n const isLastPage = computed(() => currentPage.value === pageCount.value);\n if (isRef(page)) {\n syncRef(page, currentPage, {\n direction: isReadonly(page) ? \"ltr\" : \"both\"\n });\n }\n if (isRef(pageSize)) {\n syncRef(pageSize, currentPageSize, {\n direction: isReadonly(pageSize) ? \"ltr\" : \"both\"\n });\n }\n function prev() {\n currentPage.value--;\n }\n function next() {\n currentPage.value++;\n }\n const returnValue = {\n currentPage,\n currentPageSize,\n pageCount,\n isFirstPage,\n isLastPage,\n prev,\n next\n };\n watch(currentPage, () => {\n onPageChange(reactive(returnValue));\n });\n watch(currentPageSize, () => {\n onPageSizeChange(reactive(returnValue));\n });\n watch(pageCount, () => {\n onPageCountChange(reactive(returnValue));\n });\n return returnValue;\n}\n\nfunction useOnline(options = {}) {\n const { isOnline } = useNetwork(options);\n return isOnline;\n}\n\nfunction usePageLeave(options = {}) {\n const { window = defaultWindow } = options;\n const isLeft = ref(false);\n const handler = (event) => {\n if (!window)\n return;\n event = event || window.event;\n const from = event.relatedTarget || event.toElement;\n isLeft.value = !from;\n };\n if (window) {\n useEventListener(window, \"mouseout\", handler, { passive: true });\n useEventListener(window.document, \"mouseleave\", handler, { passive: true });\n useEventListener(window.document, \"mouseenter\", handler, { passive: true });\n }\n return isLeft;\n}\n\nfunction useScreenOrientation(options = {}) {\n const {\n window = defaultWindow\n } = options;\n const isSupported = useSupported(() => window && \"screen\" in window && \"orientation\" in window.screen);\n const screenOrientation = isSupported.value ? window.screen.orientation : {};\n const orientation = ref(screenOrientation.type);\n const angle = ref(screenOrientation.angle || 0);\n if (isSupported.value) {\n useEventListener(window, \"orientationchange\", () => {\n orientation.value = screenOrientation.type;\n angle.value = screenOrientation.angle;\n });\n }\n const lockOrientation = (type) => {\n if (isSupported.value && typeof screenOrientation.lock === \"function\")\n return screenOrientation.lock(type);\n return Promise.reject(new Error(\"Not supported\"));\n };\n const unlockOrientation = () => {\n if (isSupported.value && typeof screenOrientation.unlock === \"function\")\n screenOrientation.unlock();\n };\n return {\n isSupported,\n orientation,\n angle,\n lockOrientation,\n unlockOrientation\n };\n}\n\nfunction useParallax(target, options = {}) {\n const {\n deviceOrientationTiltAdjust = (i) => i,\n deviceOrientationRollAdjust = (i) => i,\n mouseTiltAdjust = (i) => i,\n mouseRollAdjust = (i) => i,\n window = defaultWindow\n } = options;\n const orientation = reactive(useDeviceOrientation({ window }));\n const screenOrientation = reactive(useScreenOrientation({ window }));\n const {\n elementX: x,\n elementY: y,\n elementWidth: width,\n elementHeight: height\n } = useMouseInElement(target, { handleOutside: false, window });\n const source = computed(() => {\n if (orientation.isSupported && (orientation.alpha != null && orientation.alpha !== 0 || orientation.gamma != null && orientation.gamma !== 0))\n return \"deviceOrientation\";\n return \"mouse\";\n });\n const roll = computed(() => {\n if (source.value === \"deviceOrientation\") {\n let value;\n switch (screenOrientation.orientation) {\n case \"landscape-primary\":\n value = orientation.gamma / 90;\n break;\n case \"landscape-secondary\":\n value = -orientation.gamma / 90;\n break;\n case \"portrait-primary\":\n value = -orientation.beta / 90;\n break;\n case \"portrait-secondary\":\n value = orientation.beta / 90;\n break;\n default:\n value = -orientation.beta / 90;\n }\n return deviceOrientationRollAdjust(value);\n } else {\n const value = -(y.value - height.value / 2) / height.value;\n return mouseRollAdjust(value);\n }\n });\n const tilt = computed(() => {\n if (source.value === \"deviceOrientation\") {\n let value;\n switch (screenOrientation.orientation) {\n case \"landscape-primary\":\n value = orientation.beta / 90;\n break;\n case \"landscape-secondary\":\n value = -orientation.beta / 90;\n break;\n case \"portrait-primary\":\n value = orientation.gamma / 90;\n break;\n case \"portrait-secondary\":\n value = -orientation.gamma / 90;\n break;\n default:\n value = orientation.gamma / 90;\n }\n return deviceOrientationTiltAdjust(value);\n } else {\n const value = (x.value - width.value / 2) / width.value;\n return mouseTiltAdjust(value);\n }\n });\n return { roll, tilt, source };\n}\n\nfunction useParentElement(element = useCurrentElement()) {\n const parentElement = shallowRef();\n const update = () => {\n const el = unrefElement(element);\n if (el)\n parentElement.value = el.parentElement;\n };\n tryOnMounted(update);\n watch(() => toValue(element), update);\n return parentElement;\n}\n\nfunction usePerformanceObserver(options, callback) {\n const {\n window = defaultWindow,\n immediate = true,\n ...performanceOptions\n } = options;\n const isSupported = useSupported(() => window && \"PerformanceObserver\" in window);\n let observer;\n const stop = () => {\n observer == null ? void 0 : observer.disconnect();\n };\n const start = () => {\n if (isSupported.value) {\n stop();\n observer = new PerformanceObserver(callback);\n observer.observe(performanceOptions);\n }\n };\n tryOnScopeDispose(stop);\n if (immediate)\n start();\n return {\n isSupported,\n start,\n stop\n };\n}\n\nconst defaultState = {\n x: 0,\n y: 0,\n pointerId: 0,\n pressure: 0,\n tiltX: 0,\n tiltY: 0,\n width: 0,\n height: 0,\n twist: 0,\n pointerType: null\n};\nconst keys = /* @__PURE__ */ Object.keys(defaultState);\nfunction usePointer(options = {}) {\n const {\n target = defaultWindow\n } = options;\n const isInside = ref(false);\n const state = ref(options.initialValue || {});\n Object.assign(state.value, defaultState, state.value);\n const handler = (event) => {\n isInside.value = true;\n if (options.pointerTypes && !options.pointerTypes.includes(event.pointerType))\n return;\n state.value = objectPick(event, keys, false);\n };\n if (target) {\n const listenerOptions = { passive: true };\n useEventListener(target, [\"pointerdown\", \"pointermove\", \"pointerup\"], handler, listenerOptions);\n useEventListener(target, \"pointerleave\", () => isInside.value = false, listenerOptions);\n }\n return {\n ...toRefs(state),\n isInside\n };\n}\n\nfunction usePointerLock(target, options = {}) {\n const { document = defaultDocument } = options;\n const isSupported = useSupported(() => document && \"pointerLockElement\" in document);\n const element = ref();\n const triggerElement = ref();\n let targetElement;\n if (isSupported.value) {\n useEventListener(document, \"pointerlockchange\", () => {\n var _a;\n const currentElement = (_a = document.pointerLockElement) != null ? _a : element.value;\n if (targetElement && currentElement === targetElement) {\n element.value = document.pointerLockElement;\n if (!element.value)\n targetElement = triggerElement.value = null;\n }\n });\n useEventListener(document, \"pointerlockerror\", () => {\n var _a;\n const currentElement = (_a = document.pointerLockElement) != null ? _a : element.value;\n if (targetElement && currentElement === targetElement) {\n const action = document.pointerLockElement ? \"release\" : \"acquire\";\n throw new Error(`Failed to ${action} pointer lock.`);\n }\n });\n }\n async function lock(e) {\n var _a;\n if (!isSupported.value)\n throw new Error(\"Pointer Lock API is not supported by your browser.\");\n triggerElement.value = e instanceof Event ? e.currentTarget : null;\n targetElement = e instanceof Event ? (_a = unrefElement(target)) != null ? _a : triggerElement.value : unrefElement(e);\n if (!targetElement)\n throw new Error(\"Target element undefined.\");\n targetElement.requestPointerLock();\n return await until(element).toBe(targetElement);\n }\n async function unlock() {\n if (!element.value)\n return false;\n document.exitPointerLock();\n await until(element).toBeNull();\n return true;\n }\n return {\n isSupported,\n element,\n triggerElement,\n lock,\n unlock\n };\n}\n\nfunction usePointerSwipe(target, options = {}) {\n const targetRef = toRef(target);\n const {\n threshold = 50,\n onSwipe,\n onSwipeEnd,\n onSwipeStart,\n disableTextSelect = false\n } = options;\n const posStart = reactive({ x: 0, y: 0 });\n const updatePosStart = (x, y) => {\n posStart.x = x;\n posStart.y = y;\n };\n const posEnd = reactive({ x: 0, y: 0 });\n const updatePosEnd = (x, y) => {\n posEnd.x = x;\n posEnd.y = y;\n };\n const distanceX = computed(() => posStart.x - posEnd.x);\n const distanceY = computed(() => posStart.y - posEnd.y);\n const { max, abs } = Math;\n const isThresholdExceeded = computed(() => max(abs(distanceX.value), abs(distanceY.value)) >= threshold);\n const isSwiping = ref(false);\n const isPointerDown = ref(false);\n const direction = computed(() => {\n if (!isThresholdExceeded.value)\n return \"none\";\n if (abs(distanceX.value) > abs(distanceY.value)) {\n return distanceX.value > 0 ? \"left\" : \"right\";\n } else {\n return distanceY.value > 0 ? \"up\" : \"down\";\n }\n });\n const eventIsAllowed = (e) => {\n var _a, _b, _c;\n const isReleasingButton = e.buttons === 0;\n const isPrimaryButton = e.buttons === 1;\n return (_c = (_b = (_a = options.pointerTypes) == null ? void 0 : _a.includes(e.pointerType)) != null ? _b : isReleasingButton || isPrimaryButton) != null ? _c : true;\n };\n const stops = [\n useEventListener(target, \"pointerdown\", (e) => {\n if (!eventIsAllowed(e))\n return;\n isPointerDown.value = true;\n const eventTarget = e.target;\n eventTarget == null ? void 0 : eventTarget.setPointerCapture(e.pointerId);\n const { clientX: x, clientY: y } = e;\n updatePosStart(x, y);\n updatePosEnd(x, y);\n onSwipeStart == null ? void 0 : onSwipeStart(e);\n }),\n useEventListener(target, \"pointermove\", (e) => {\n if (!eventIsAllowed(e))\n return;\n if (!isPointerDown.value)\n return;\n const { clientX: x, clientY: y } = e;\n updatePosEnd(x, y);\n if (!isSwiping.value && isThresholdExceeded.value)\n isSwiping.value = true;\n if (isSwiping.value)\n onSwipe == null ? void 0 : onSwipe(e);\n }),\n useEventListener(target, \"pointerup\", (e) => {\n if (!eventIsAllowed(e))\n return;\n if (isSwiping.value)\n onSwipeEnd == null ? void 0 : onSwipeEnd(e, direction.value);\n isPointerDown.value = false;\n isSwiping.value = false;\n })\n ];\n tryOnMounted(() => {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n (_b = (_a = targetRef.value) == null ? void 0 : _a.style) == null ? void 0 : _b.setProperty(\"touch-action\", \"none\");\n if (disableTextSelect) {\n (_d = (_c = targetRef.value) == null ? void 0 : _c.style) == null ? void 0 : _d.setProperty(\"-webkit-user-select\", \"none\");\n (_f = (_e = targetRef.value) == null ? void 0 : _e.style) == null ? void 0 : _f.setProperty(\"-ms-user-select\", \"none\");\n (_h = (_g = targetRef.value) == null ? void 0 : _g.style) == null ? void 0 : _h.setProperty(\"user-select\", \"none\");\n }\n });\n const stop = () => stops.forEach((s) => s());\n return {\n isSwiping: readonly(isSwiping),\n direction: readonly(direction),\n posStart: readonly(posStart),\n posEnd: readonly(posEnd),\n distanceX,\n distanceY,\n stop\n };\n}\n\nfunction usePreferredColorScheme(options) {\n const isLight = useMediaQuery(\"(prefers-color-scheme: light)\", options);\n const isDark = useMediaQuery(\"(prefers-color-scheme: dark)\", options);\n return computed(() => {\n if (isDark.value)\n return \"dark\";\n if (isLight.value)\n return \"light\";\n return \"no-preference\";\n });\n}\n\nfunction usePreferredContrast(options) {\n const isMore = useMediaQuery(\"(prefers-contrast: more)\", options);\n const isLess = useMediaQuery(\"(prefers-contrast: less)\", options);\n const isCustom = useMediaQuery(\"(prefers-contrast: custom)\", options);\n return computed(() => {\n if (isMore.value)\n return \"more\";\n if (isLess.value)\n return \"less\";\n if (isCustom.value)\n return \"custom\";\n return \"no-preference\";\n });\n}\n\nfunction usePreferredLanguages(options = {}) {\n const { window = defaultWindow } = options;\n if (!window)\n return ref([\"en\"]);\n const navigator = window.navigator;\n const value = ref(navigator.languages);\n useEventListener(window, \"languagechange\", () => {\n value.value = navigator.languages;\n });\n return value;\n}\n\nfunction usePreferredReducedMotion(options) {\n const isReduced = useMediaQuery(\"(prefers-reduced-motion: reduce)\", options);\n return computed(() => {\n if (isReduced.value)\n return \"reduce\";\n return \"no-preference\";\n });\n}\n\nfunction usePrevious(value, initialValue) {\n const previous = shallowRef(initialValue);\n watch(\n toRef(value),\n (_, oldValue) => {\n previous.value = oldValue;\n },\n { flush: \"sync\" }\n );\n return readonly(previous);\n}\n\nconst topVarName = \"--vueuse-safe-area-top\";\nconst rightVarName = \"--vueuse-safe-area-right\";\nconst bottomVarName = \"--vueuse-safe-area-bottom\";\nconst leftVarName = \"--vueuse-safe-area-left\";\nfunction useScreenSafeArea() {\n const top = ref(\"\");\n const right = ref(\"\");\n const bottom = ref(\"\");\n const left = ref(\"\");\n if (isClient) {\n const topCssVar = useCssVar(topVarName);\n const rightCssVar = useCssVar(rightVarName);\n const bottomCssVar = useCssVar(bottomVarName);\n const leftCssVar = useCssVar(leftVarName);\n topCssVar.value = \"env(safe-area-inset-top, 0px)\";\n rightCssVar.value = \"env(safe-area-inset-right, 0px)\";\n bottomCssVar.value = \"env(safe-area-inset-bottom, 0px)\";\n leftCssVar.value = \"env(safe-area-inset-left, 0px)\";\n update();\n useEventListener(\"resize\", useDebounceFn(update));\n }\n function update() {\n top.value = getValue(topVarName);\n right.value = getValue(rightVarName);\n bottom.value = getValue(bottomVarName);\n left.value = getValue(leftVarName);\n }\n return {\n top,\n right,\n bottom,\n left,\n update\n };\n}\nfunction getValue(position) {\n return getComputedStyle(document.documentElement).getPropertyValue(position);\n}\n\nfunction useScriptTag(src, onLoaded = noop, options = {}) {\n const {\n immediate = true,\n manual = false,\n type = \"text/javascript\",\n async = true,\n crossOrigin,\n referrerPolicy,\n noModule,\n defer,\n document = defaultDocument,\n attrs = {}\n } = options;\n const scriptTag = ref(null);\n let _promise = null;\n const loadScript = (waitForScriptLoad) => new Promise((resolve, reject) => {\n const resolveWithElement = (el2) => {\n scriptTag.value = el2;\n resolve(el2);\n return el2;\n };\n if (!document) {\n resolve(false);\n return;\n }\n let shouldAppend = false;\n let el = document.querySelector(`script[src=\"${toValue(src)}\"]`);\n if (!el) {\n el = document.createElement(\"script\");\n el.type = type;\n el.async = async;\n el.src = toValue(src);\n if (defer)\n el.defer = defer;\n if (crossOrigin)\n el.crossOrigin = crossOrigin;\n if (noModule)\n el.noModule = noModule;\n if (referrerPolicy)\n el.referrerPolicy = referrerPolicy;\n Object.entries(attrs).forEach(([name, value]) => el == null ? void 0 : el.setAttribute(name, value));\n shouldAppend = true;\n } else if (el.hasAttribute(\"data-loaded\")) {\n resolveWithElement(el);\n }\n el.addEventListener(\"error\", (event) => reject(event));\n el.addEventListener(\"abort\", (event) => reject(event));\n el.addEventListener(\"load\", () => {\n el.setAttribute(\"data-loaded\", \"true\");\n onLoaded(el);\n resolveWithElement(el);\n });\n if (shouldAppend)\n el = document.head.appendChild(el);\n if (!waitForScriptLoad)\n resolveWithElement(el);\n });\n const load = (waitForScriptLoad = true) => {\n if (!_promise)\n _promise = loadScript(waitForScriptLoad);\n return _promise;\n };\n const unload = () => {\n if (!document)\n return;\n _promise = null;\n if (scriptTag.value)\n scriptTag.value = null;\n const el = document.querySelector(`script[src=\"${toValue(src)}\"]`);\n if (el)\n document.head.removeChild(el);\n };\n if (immediate && !manual)\n tryOnMounted(load);\n if (!manual)\n tryOnUnmounted(unload);\n return { scriptTag, load, unload };\n}\n\nfunction checkOverflowScroll(ele) {\n const style = window.getComputedStyle(ele);\n if (style.overflowX === \"scroll\" || style.overflowY === \"scroll\" || style.overflowX === \"auto\" && ele.clientWidth < ele.scrollWidth || style.overflowY === \"auto\" && ele.clientHeight < ele.scrollHeight) {\n return true;\n } else {\n const parent = ele.parentNode;\n if (!parent || parent.tagName === \"BODY\")\n return false;\n return checkOverflowScroll(parent);\n }\n}\nfunction preventDefault(rawEvent) {\n const e = rawEvent || window.event;\n const _target = e.target;\n if (checkOverflowScroll(_target))\n return false;\n if (e.touches.length > 1)\n return true;\n if (e.preventDefault)\n e.preventDefault();\n return false;\n}\nconst elInitialOverflow = /* @__PURE__ */ new WeakMap();\nfunction useScrollLock(element, initialState = false) {\n const isLocked = ref(initialState);\n let stopTouchMoveListener = null;\n watch(toRef(element), (el) => {\n const target = resolveElement(toValue(el));\n if (target) {\n const ele = target;\n if (!elInitialOverflow.get(ele))\n elInitialOverflow.set(ele, ele.style.overflow);\n if (isLocked.value)\n ele.style.overflow = \"hidden\";\n }\n }, {\n immediate: true\n });\n const lock = () => {\n const el = resolveElement(toValue(element));\n if (!el || isLocked.value)\n return;\n if (isIOS) {\n stopTouchMoveListener = useEventListener(\n el,\n \"touchmove\",\n (e) => {\n preventDefault(e);\n },\n { passive: false }\n );\n }\n el.style.overflow = \"hidden\";\n isLocked.value = true;\n };\n const unlock = () => {\n var _a;\n const el = resolveElement(toValue(element));\n if (!el || !isLocked.value)\n return;\n isIOS && (stopTouchMoveListener == null ? void 0 : stopTouchMoveListener());\n el.style.overflow = (_a = elInitialOverflow.get(el)) != null ? _a : \"\";\n elInitialOverflow.delete(el);\n isLocked.value = false;\n };\n tryOnScopeDispose(unlock);\n return computed({\n get() {\n return isLocked.value;\n },\n set(v) {\n if (v)\n lock();\n else\n unlock();\n }\n });\n}\n\nfunction useSessionStorage(key, initialValue, options = {}) {\n const { window = defaultWindow } = options;\n return useStorage(key, initialValue, window == null ? void 0 : window.sessionStorage, options);\n}\n\nfunction useShare(shareOptions = {}, options = {}) {\n const { navigator = defaultNavigator } = options;\n const _navigator = navigator;\n const isSupported = useSupported(() => _navigator && \"canShare\" in _navigator);\n const share = async (overrideOptions = {}) => {\n if (isSupported.value) {\n const data = {\n ...toValue(shareOptions),\n ...toValue(overrideOptions)\n };\n let granted = true;\n if (data.files && _navigator.canShare)\n granted = _navigator.canShare({ files: data.files });\n if (granted)\n return _navigator.share(data);\n }\n };\n return {\n isSupported,\n share\n };\n}\n\nconst defaultSortFn = (source, compareFn) => source.sort(compareFn);\nconst defaultCompare = (a, b) => a - b;\nfunction useSorted(...args) {\n var _a, _b, _c, _d;\n const [source] = args;\n let compareFn = defaultCompare;\n let options = {};\n if (args.length === 2) {\n if (typeof args[1] === \"object\") {\n options = args[1];\n compareFn = (_a = options.compareFn) != null ? _a : defaultCompare;\n } else {\n compareFn = (_b = args[1]) != null ? _b : defaultCompare;\n }\n } else if (args.length > 2) {\n compareFn = (_c = args[1]) != null ? _c : defaultCompare;\n options = (_d = args[2]) != null ? _d : {};\n }\n const {\n dirty = false,\n sortFn = defaultSortFn\n } = options;\n if (!dirty)\n return computed(() => sortFn([...toValue(source)], compareFn));\n watchEffect(() => {\n const result = sortFn(toValue(source), compareFn);\n if (isRef(source))\n source.value = result;\n else\n source.splice(0, source.length, ...result);\n });\n return source;\n}\n\nfunction useSpeechRecognition(options = {}) {\n const {\n interimResults = true,\n continuous = true,\n window = defaultWindow\n } = options;\n const lang = toRef(options.lang || \"en-US\");\n const isListening = ref(false);\n const isFinal = ref(false);\n const result = ref(\"\");\n const error = shallowRef(void 0);\n const toggle = (value = !isListening.value) => {\n isListening.value = value;\n };\n const start = () => {\n isListening.value = true;\n };\n const stop = () => {\n isListening.value = false;\n };\n const SpeechRecognition = window && (window.SpeechRecognition || window.webkitSpeechRecognition);\n const isSupported = useSupported(() => SpeechRecognition);\n let recognition;\n if (isSupported.value) {\n recognition = new SpeechRecognition();\n recognition.continuous = continuous;\n recognition.interimResults = interimResults;\n recognition.lang = toValue(lang);\n recognition.onstart = () => {\n isFinal.value = false;\n };\n watch(lang, (lang2) => {\n if (recognition && !isListening.value)\n recognition.lang = lang2;\n });\n recognition.onresult = (event) => {\n const transcript = Array.from(event.results).map((result2) => {\n isFinal.value = result2.isFinal;\n return result2[0];\n }).map((result2) => result2.transcript).join(\"\");\n result.value = transcript;\n error.value = void 0;\n };\n recognition.onerror = (event) => {\n error.value = event;\n };\n recognition.onend = () => {\n isListening.value = false;\n recognition.lang = toValue(lang);\n };\n watch(isListening, () => {\n if (isListening.value)\n recognition.start();\n else\n recognition.stop();\n });\n }\n tryOnScopeDispose(() => {\n isListening.value = false;\n });\n return {\n isSupported,\n isListening,\n isFinal,\n recognition,\n result,\n error,\n toggle,\n start,\n stop\n };\n}\n\nfunction useSpeechSynthesis(text, options = {}) {\n const {\n pitch = 1,\n rate = 1,\n volume = 1,\n window = defaultWindow\n } = options;\n const synth = window && window.speechSynthesis;\n const isSupported = useSupported(() => synth);\n const isPlaying = ref(false);\n const status = ref(\"init\");\n const spokenText = toRef(text || \"\");\n const lang = toRef(options.lang || \"en-US\");\n const error = shallowRef(void 0);\n const toggle = (value = !isPlaying.value) => {\n isPlaying.value = value;\n };\n const bindEventsForUtterance = (utterance2) => {\n utterance2.lang = toValue(lang);\n utterance2.voice = toValue(options.voice) || null;\n utterance2.pitch = toValue(pitch);\n utterance2.rate = toValue(rate);\n utterance2.volume = volume;\n utterance2.onstart = () => {\n isPlaying.value = true;\n status.value = \"play\";\n };\n utterance2.onpause = () => {\n isPlaying.value = false;\n status.value = \"pause\";\n };\n utterance2.onresume = () => {\n isPlaying.value = true;\n status.value = \"play\";\n };\n utterance2.onend = () => {\n isPlaying.value = false;\n status.value = \"end\";\n };\n utterance2.onerror = (event) => {\n error.value = event;\n };\n };\n const utterance = computed(() => {\n isPlaying.value = false;\n status.value = \"init\";\n const newUtterance = new SpeechSynthesisUtterance(spokenText.value);\n bindEventsForUtterance(newUtterance);\n return newUtterance;\n });\n const speak = () => {\n synth.cancel();\n utterance && synth.speak(utterance.value);\n };\n const stop = () => {\n synth.cancel();\n isPlaying.value = false;\n };\n if (isSupported.value) {\n bindEventsForUtterance(utterance.value);\n watch(lang, (lang2) => {\n if (utterance.value && !isPlaying.value)\n utterance.value.lang = lang2;\n });\n if (options.voice) {\n watch(options.voice, () => {\n synth.cancel();\n });\n }\n watch(isPlaying, () => {\n if (isPlaying.value)\n synth.resume();\n else\n synth.pause();\n });\n }\n tryOnScopeDispose(() => {\n isPlaying.value = false;\n });\n return {\n isSupported,\n isPlaying,\n status,\n utterance,\n error,\n stop,\n toggle,\n speak\n };\n}\n\nfunction useStepper(steps, initialStep) {\n const stepsRef = ref(steps);\n const stepNames = computed(() => Array.isArray(stepsRef.value) ? stepsRef.value : Object.keys(stepsRef.value));\n const index = ref(stepNames.value.indexOf(initialStep != null ? initialStep : stepNames.value[0]));\n const current = computed(() => at(index.value));\n const isFirst = computed(() => index.value === 0);\n const isLast = computed(() => index.value === stepNames.value.length - 1);\n const next = computed(() => stepNames.value[index.value + 1]);\n const previous = computed(() => stepNames.value[index.value - 1]);\n function at(index2) {\n if (Array.isArray(stepsRef.value))\n return stepsRef.value[index2];\n return stepsRef.value[stepNames.value[index2]];\n }\n function get(step) {\n if (!stepNames.value.includes(step))\n return;\n return at(stepNames.value.indexOf(step));\n }\n function goTo(step) {\n if (stepNames.value.includes(step))\n index.value = stepNames.value.indexOf(step);\n }\n function goToNext() {\n if (isLast.value)\n return;\n index.value++;\n }\n function goToPrevious() {\n if (isFirst.value)\n return;\n index.value--;\n }\n function goBackTo(step) {\n if (isAfter(step))\n goTo(step);\n }\n function isNext(step) {\n return stepNames.value.indexOf(step) === index.value + 1;\n }\n function isPrevious(step) {\n return stepNames.value.indexOf(step) === index.value - 1;\n }\n function isCurrent(step) {\n return stepNames.value.indexOf(step) === index.value;\n }\n function isBefore(step) {\n return index.value < stepNames.value.indexOf(step);\n }\n function isAfter(step) {\n return index.value > stepNames.value.indexOf(step);\n }\n return {\n steps: stepsRef,\n stepNames,\n index,\n current,\n next,\n previous,\n isFirst,\n isLast,\n at,\n get,\n goTo,\n goToNext,\n goToPrevious,\n goBackTo,\n isNext,\n isPrevious,\n isCurrent,\n isBefore,\n isAfter\n };\n}\n\nfunction useStorageAsync(key, initialValue, storage, options = {}) {\n var _a;\n const {\n flush = \"pre\",\n deep = true,\n listenToStorageChanges = true,\n writeDefaults = true,\n mergeDefaults = false,\n shallow,\n window = defaultWindow,\n eventFilter,\n onError = (e) => {\n console.error(e);\n }\n } = options;\n const rawInit = toValue(initialValue);\n const type = guessSerializerType(rawInit);\n const data = (shallow ? shallowRef : ref)(initialValue);\n const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type];\n if (!storage) {\n try {\n storage = getSSRHandler(\"getDefaultStorageAsync\", () => {\n var _a2;\n return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage;\n })();\n } catch (e) {\n onError(e);\n }\n }\n async function read(event) {\n if (!storage || event && event.key !== key)\n return;\n try {\n const rawValue = event ? event.newValue : await storage.getItem(key);\n if (rawValue == null) {\n data.value = rawInit;\n if (writeDefaults && rawInit !== null)\n await storage.setItem(key, await serializer.write(rawInit));\n } else if (mergeDefaults) {\n const value = await serializer.read(rawValue);\n if (typeof mergeDefaults === \"function\")\n data.value = mergeDefaults(value, rawInit);\n else if (type === \"object\" && !Array.isArray(value))\n data.value = { ...rawInit, ...value };\n else\n data.value = value;\n } else {\n data.value = await serializer.read(rawValue);\n }\n } catch (e) {\n onError(e);\n }\n }\n read();\n if (window && listenToStorageChanges)\n useEventListener(window, \"storage\", (e) => Promise.resolve().then(() => read(e)));\n if (storage) {\n watchWithFilter(\n data,\n async () => {\n try {\n if (data.value == null)\n await storage.removeItem(key);\n else\n await storage.setItem(key, await serializer.write(data.value));\n } catch (e) {\n onError(e);\n }\n },\n {\n flush,\n deep,\n eventFilter\n }\n );\n }\n return data;\n}\n\nlet _id = 0;\nfunction useStyleTag(css, options = {}) {\n const isLoaded = ref(false);\n const {\n document = defaultDocument,\n immediate = true,\n manual = false,\n id = `vueuse_styletag_${++_id}`\n } = options;\n const cssRef = ref(css);\n let stop = () => {\n };\n const load = () => {\n if (!document)\n return;\n const el = document.getElementById(id) || document.createElement(\"style\");\n if (!el.isConnected) {\n el.id = id;\n if (options.media)\n el.media = options.media;\n document.head.appendChild(el);\n }\n if (isLoaded.value)\n return;\n stop = watch(\n cssRef,\n (value) => {\n el.textContent = value;\n },\n { immediate: true }\n );\n isLoaded.value = true;\n };\n const unload = () => {\n if (!document || !isLoaded.value)\n return;\n stop();\n document.head.removeChild(document.getElementById(id));\n isLoaded.value = false;\n };\n if (immediate && !manual)\n tryOnMounted(load);\n if (!manual)\n tryOnScopeDispose(unload);\n return {\n id,\n css: cssRef,\n unload,\n load,\n isLoaded: readonly(isLoaded)\n };\n}\n\nfunction useSwipe(target, options = {}) {\n const {\n threshold = 50,\n onSwipe,\n onSwipeEnd,\n onSwipeStart,\n passive = true,\n window = defaultWindow\n } = options;\n const coordsStart = reactive({ x: 0, y: 0 });\n const coordsEnd = reactive({ x: 0, y: 0 });\n const diffX = computed(() => coordsStart.x - coordsEnd.x);\n const diffY = computed(() => coordsStart.y - coordsEnd.y);\n const { max, abs } = Math;\n const isThresholdExceeded = computed(() => max(abs(diffX.value), abs(diffY.value)) >= threshold);\n const isSwiping = ref(false);\n const direction = computed(() => {\n if (!isThresholdExceeded.value)\n return \"none\";\n if (abs(diffX.value) > abs(diffY.value)) {\n return diffX.value > 0 ? \"left\" : \"right\";\n } else {\n return diffY.value > 0 ? \"up\" : \"down\";\n }\n });\n const getTouchEventCoords = (e) => [e.touches[0].clientX, e.touches[0].clientY];\n const updateCoordsStart = (x, y) => {\n coordsStart.x = x;\n coordsStart.y = y;\n };\n const updateCoordsEnd = (x, y) => {\n coordsEnd.x = x;\n coordsEnd.y = y;\n };\n let listenerOptions;\n const isPassiveEventSupported = checkPassiveEventSupport(window == null ? void 0 : window.document);\n if (!passive)\n listenerOptions = isPassiveEventSupported ? { passive: false, capture: true } : { capture: true };\n else\n listenerOptions = isPassiveEventSupported ? { passive: true } : { capture: false };\n const onTouchEnd = (e) => {\n if (isSwiping.value)\n onSwipeEnd == null ? void 0 : onSwipeEnd(e, direction.value);\n isSwiping.value = false;\n };\n const stops = [\n useEventListener(target, \"touchstart\", (e) => {\n if (e.touches.length !== 1)\n return;\n if (listenerOptions.capture && !listenerOptions.passive)\n e.preventDefault();\n const [x, y] = getTouchEventCoords(e);\n updateCoordsStart(x, y);\n updateCoordsEnd(x, y);\n onSwipeStart == null ? void 0 : onSwipeStart(e);\n }, listenerOptions),\n useEventListener(target, \"touchmove\", (e) => {\n if (e.touches.length !== 1)\n return;\n const [x, y] = getTouchEventCoords(e);\n updateCoordsEnd(x, y);\n if (!isSwiping.value && isThresholdExceeded.value)\n isSwiping.value = true;\n if (isSwiping.value)\n onSwipe == null ? void 0 : onSwipe(e);\n }, listenerOptions),\n useEventListener(target, [\"touchend\", \"touchcancel\"], onTouchEnd, listenerOptions)\n ];\n const stop = () => stops.forEach((s) => s());\n return {\n isPassiveEventSupported,\n isSwiping,\n direction,\n coordsStart,\n coordsEnd,\n lengthX: diffX,\n lengthY: diffY,\n stop\n };\n}\nfunction checkPassiveEventSupport(document) {\n if (!document)\n return false;\n let supportsPassive = false;\n const optionsBlock = {\n get passive() {\n supportsPassive = true;\n return false;\n }\n };\n document.addEventListener(\"x\", noop, optionsBlock);\n document.removeEventListener(\"x\", noop);\n return supportsPassive;\n}\n\nfunction useTemplateRefsList() {\n const refs = ref([]);\n refs.value.set = (el) => {\n if (el)\n refs.value.push(el);\n };\n onBeforeUpdate(() => {\n refs.value.length = 0;\n });\n return refs;\n}\n\nfunction useTextDirection(options = {}) {\n const {\n document = defaultDocument,\n selector = \"html\",\n observe = false,\n initialValue = \"ltr\"\n } = options;\n function getValue() {\n var _a, _b;\n return (_b = (_a = document == null ? void 0 : document.querySelector(selector)) == null ? void 0 : _a.getAttribute(\"dir\")) != null ? _b : initialValue;\n }\n const dir = ref(getValue());\n tryOnMounted(() => dir.value = getValue());\n if (observe && document) {\n useMutationObserver(\n document.querySelector(selector),\n () => dir.value = getValue(),\n { attributes: true }\n );\n }\n return computed({\n get() {\n return dir.value;\n },\n set(v) {\n var _a, _b;\n dir.value = v;\n if (!document)\n return;\n if (dir.value)\n (_a = document.querySelector(selector)) == null ? void 0 : _a.setAttribute(\"dir\", dir.value);\n else\n (_b = document.querySelector(selector)) == null ? void 0 : _b.removeAttribute(\"dir\");\n }\n });\n}\n\nfunction getRangesFromSelection(selection) {\n var _a;\n const rangeCount = (_a = selection.rangeCount) != null ? _a : 0;\n return Array.from({ length: rangeCount }, (_, i) => selection.getRangeAt(i));\n}\nfunction useTextSelection(options = {}) {\n const {\n window = defaultWindow\n } = options;\n const selection = ref(null);\n const text = computed(() => {\n var _a, _b;\n return (_b = (_a = selection.value) == null ? void 0 : _a.toString()) != null ? _b : \"\";\n });\n const ranges = computed(() => selection.value ? getRangesFromSelection(selection.value) : []);\n const rects = computed(() => ranges.value.map((range) => range.getBoundingClientRect()));\n function onSelectionChange() {\n selection.value = null;\n if (window)\n selection.value = window.getSelection();\n }\n if (window)\n useEventListener(window.document, \"selectionchange\", onSelectionChange);\n return {\n text,\n rects,\n ranges,\n selection\n };\n}\n\nfunction useTextareaAutosize(options) {\n var _a;\n const textarea = ref(options == null ? void 0 : options.element);\n const input = ref(options == null ? void 0 : options.input);\n const styleProp = (_a = options == null ? void 0 : options.styleProp) != null ? _a : \"height\";\n const textareaScrollHeight = ref(1);\n function triggerResize() {\n var _a2, _b;\n if (!textarea.value)\n return;\n let height = \"\";\n textarea.value.style[styleProp] = \"1px\";\n textareaScrollHeight.value = (_a2 = textarea.value) == null ? void 0 : _a2.scrollHeight;\n if (options == null ? void 0 : options.styleTarget)\n toValue(options.styleTarget).style[styleProp] = `${textareaScrollHeight.value}px`;\n else\n height = `${textareaScrollHeight.value}px`;\n textarea.value.style[styleProp] = height;\n (_b = options == null ? void 0 : options.onResize) == null ? void 0 : _b.call(options);\n }\n watch([input, textarea], () => nextTick(triggerResize), { immediate: true });\n useResizeObserver(textarea, () => triggerResize());\n if (options == null ? void 0 : options.watch)\n watch(options.watch, triggerResize, { immediate: true, deep: true });\n return {\n textarea,\n input,\n triggerResize\n };\n}\n\nfunction useThrottledRefHistory(source, options = {}) {\n const { throttle = 200, trailing = true } = options;\n const filter = throttleFilter(throttle, trailing);\n const history = useRefHistory(source, { ...options, eventFilter: filter });\n return {\n ...history\n };\n}\n\nconst DEFAULT_UNITS = [\n { max: 6e4, value: 1e3, name: \"second\" },\n { max: 276e4, value: 6e4, name: \"minute\" },\n { max: 72e6, value: 36e5, name: \"hour\" },\n { max: 5184e5, value: 864e5, name: \"day\" },\n { max: 24192e5, value: 6048e5, name: \"week\" },\n { max: 28512e6, value: 2592e6, name: \"month\" },\n { max: Number.POSITIVE_INFINITY, value: 31536e6, name: \"year\" }\n];\nconst DEFAULT_MESSAGES = {\n justNow: \"just now\",\n past: (n) => n.match(/\\d/) ? `${n} ago` : n,\n future: (n) => n.match(/\\d/) ? `in ${n}` : n,\n month: (n, past) => n === 1 ? past ? \"last month\" : \"next month\" : `${n} month${n > 1 ? \"s\" : \"\"}`,\n year: (n, past) => n === 1 ? past ? \"last year\" : \"next year\" : `${n} year${n > 1 ? \"s\" : \"\"}`,\n day: (n, past) => n === 1 ? past ? \"yesterday\" : \"tomorrow\" : `${n} day${n > 1 ? \"s\" : \"\"}`,\n week: (n, past) => n === 1 ? past ? \"last week\" : \"next week\" : `${n} week${n > 1 ? \"s\" : \"\"}`,\n hour: (n) => `${n} hour${n > 1 ? \"s\" : \"\"}`,\n minute: (n) => `${n} minute${n > 1 ? \"s\" : \"\"}`,\n second: (n) => `${n} second${n > 1 ? \"s\" : \"\"}`,\n invalid: \"\"\n};\nfunction DEFAULT_FORMATTER(date) {\n return date.toISOString().slice(0, 10);\n}\nfunction useTimeAgo(time, options = {}) {\n const {\n controls: exposeControls = false,\n updateInterval = 3e4\n } = options;\n const { now, ...controls } = useNow({ interval: updateInterval, controls: true });\n const timeAgo = computed(() => formatTimeAgo(new Date(toValue(time)), options, toValue(now)));\n if (exposeControls) {\n return {\n timeAgo,\n ...controls\n };\n } else {\n return timeAgo;\n }\n}\nfunction formatTimeAgo(from, options = {}, now = Date.now()) {\n var _a;\n const {\n max,\n messages = DEFAULT_MESSAGES,\n fullDateFormatter = DEFAULT_FORMATTER,\n units = DEFAULT_UNITS,\n showSecond = false,\n rounding = \"round\"\n } = options;\n const roundFn = typeof rounding === \"number\" ? (n) => +n.toFixed(rounding) : Math[rounding];\n const diff = +now - +from;\n const absDiff = Math.abs(diff);\n function getValue(diff2, unit) {\n return roundFn(Math.abs(diff2) / unit.value);\n }\n function format(diff2, unit) {\n const val = getValue(diff2, unit);\n const past = diff2 > 0;\n const str = applyFormat(unit.name, val, past);\n return applyFormat(past ? \"past\" : \"future\", str, past);\n }\n function applyFormat(name, val, isPast) {\n const formatter = messages[name];\n if (typeof formatter === \"function\")\n return formatter(val, isPast);\n return formatter.replace(\"{0}\", val.toString());\n }\n if (absDiff < 6e4 && !showSecond)\n return messages.justNow;\n if (typeof max === \"number\" && absDiff > max)\n return fullDateFormatter(new Date(from));\n if (typeof max === \"string\") {\n const unitMax = (_a = units.find((i) => i.name === max)) == null ? void 0 : _a.max;\n if (unitMax && absDiff > unitMax)\n return fullDateFormatter(new Date(from));\n }\n for (const [idx, unit] of units.entries()) {\n const val = getValue(diff, unit);\n if (val <= 0 && units[idx - 1])\n return format(diff, units[idx - 1]);\n if (absDiff < unit.max)\n return format(diff, unit);\n }\n return messages.invalid;\n}\n\nfunction useTimeoutPoll(fn, interval, timeoutPollOptions) {\n const { start } = useTimeoutFn(loop, interval, { immediate: false });\n const isActive = ref(false);\n async function loop() {\n if (!isActive.value)\n return;\n await fn();\n start();\n }\n function resume() {\n if (!isActive.value) {\n isActive.value = true;\n loop();\n }\n }\n function pause() {\n isActive.value = false;\n }\n if (timeoutPollOptions == null ? void 0 : timeoutPollOptions.immediate)\n resume();\n tryOnScopeDispose(pause);\n return {\n isActive,\n pause,\n resume\n };\n}\n\nfunction useTimestamp(options = {}) {\n const {\n controls: exposeControls = false,\n offset = 0,\n immediate = true,\n interval = \"requestAnimationFrame\",\n callback\n } = options;\n const ts = ref(timestamp() + offset);\n const update = () => ts.value = timestamp() + offset;\n const cb = callback ? () => {\n update();\n callback(ts.value);\n } : update;\n const controls = interval === \"requestAnimationFrame\" ? useRafFn(cb, { immediate }) : useIntervalFn(cb, interval, { immediate });\n if (exposeControls) {\n return {\n timestamp: ts,\n ...controls\n };\n } else {\n return ts;\n }\n}\n\nfunction useTitle(newTitle = null, options = {}) {\n var _a, _b, _c;\n const {\n document = defaultDocument,\n restoreOnUnmount = (t) => t\n } = options;\n const originalTitle = (_a = document == null ? void 0 : document.title) != null ? _a : \"\";\n const title = toRef((_b = newTitle != null ? newTitle : document == null ? void 0 : document.title) != null ? _b : null);\n const isReadonly = newTitle && typeof newTitle === \"function\";\n function format(t) {\n if (!(\"titleTemplate\" in options))\n return t;\n const template = options.titleTemplate || \"%s\";\n return typeof template === \"function\" ? template(t) : toValue(template).replace(/%s/g, t);\n }\n watch(\n title,\n (t, o) => {\n if (t !== o && document)\n document.title = format(typeof t === \"string\" ? t : \"\");\n },\n { immediate: true }\n );\n if (options.observe && !options.titleTemplate && document && !isReadonly) {\n useMutationObserver(\n (_c = document.head) == null ? void 0 : _c.querySelector(\"title\"),\n () => {\n if (document && document.title !== title.value)\n title.value = format(document.title);\n },\n { childList: true }\n );\n }\n tryOnBeforeUnmount(() => {\n if (restoreOnUnmount) {\n const restoredTitle = restoreOnUnmount(originalTitle, title.value || \"\");\n if (restoredTitle != null && document)\n document.title = restoredTitle;\n }\n });\n return title;\n}\n\nconst _TransitionPresets = {\n easeInSine: [0.12, 0, 0.39, 0],\n easeOutSine: [0.61, 1, 0.88, 1],\n easeInOutSine: [0.37, 0, 0.63, 1],\n easeInQuad: [0.11, 0, 0.5, 0],\n easeOutQuad: [0.5, 1, 0.89, 1],\n easeInOutQuad: [0.45, 0, 0.55, 1],\n easeInCubic: [0.32, 0, 0.67, 0],\n easeOutCubic: [0.33, 1, 0.68, 1],\n easeInOutCubic: [0.65, 0, 0.35, 1],\n easeInQuart: [0.5, 0, 0.75, 0],\n easeOutQuart: [0.25, 1, 0.5, 1],\n easeInOutQuart: [0.76, 0, 0.24, 1],\n easeInQuint: [0.64, 0, 0.78, 0],\n easeOutQuint: [0.22, 1, 0.36, 1],\n easeInOutQuint: [0.83, 0, 0.17, 1],\n easeInExpo: [0.7, 0, 0.84, 0],\n easeOutExpo: [0.16, 1, 0.3, 1],\n easeInOutExpo: [0.87, 0, 0.13, 1],\n easeInCirc: [0.55, 0, 1, 0.45],\n easeOutCirc: [0, 0.55, 0.45, 1],\n easeInOutCirc: [0.85, 0, 0.15, 1],\n easeInBack: [0.36, 0, 0.66, -0.56],\n easeOutBack: [0.34, 1.56, 0.64, 1],\n easeInOutBack: [0.68, -0.6, 0.32, 1.6]\n};\nconst TransitionPresets = /* @__PURE__ */ Object.assign({}, { linear: identity }, _TransitionPresets);\nfunction createEasingFunction([p0, p1, p2, p3]) {\n const a = (a1, a2) => 1 - 3 * a2 + 3 * a1;\n const b = (a1, a2) => 3 * a2 - 6 * a1;\n const c = (a1) => 3 * a1;\n const calcBezier = (t, a1, a2) => ((a(a1, a2) * t + b(a1, a2)) * t + c(a1)) * t;\n const getSlope = (t, a1, a2) => 3 * a(a1, a2) * t * t + 2 * b(a1, a2) * t + c(a1);\n const getTforX = (x) => {\n let aGuessT = x;\n for (let i = 0; i < 4; ++i) {\n const currentSlope = getSlope(aGuessT, p0, p2);\n if (currentSlope === 0)\n return aGuessT;\n const currentX = calcBezier(aGuessT, p0, p2) - x;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n };\n return (x) => p0 === p1 && p2 === p3 ? x : calcBezier(getTforX(x), p1, p3);\n}\nfunction lerp(a, b, alpha) {\n return a + alpha * (b - a);\n}\nfunction toVec(t) {\n return (typeof t === \"number\" ? [t] : t) || [];\n}\nfunction executeTransition(source, from, to, options = {}) {\n var _a, _b;\n const fromVal = toValue(from);\n const toVal = toValue(to);\n const v1 = toVec(fromVal);\n const v2 = toVec(toVal);\n const duration = (_a = toValue(options.duration)) != null ? _a : 1e3;\n const startedAt = Date.now();\n const endAt = Date.now() + duration;\n const trans = typeof options.transition === \"function\" ? options.transition : (_b = toValue(options.transition)) != null ? _b : identity;\n const ease = typeof trans === \"function\" ? trans : createEasingFunction(trans);\n return new Promise((resolve) => {\n source.value = fromVal;\n const tick = () => {\n var _a2;\n if ((_a2 = options.abort) == null ? void 0 : _a2.call(options)) {\n resolve();\n return;\n }\n const now = Date.now();\n const alpha = ease((now - startedAt) / duration);\n const arr = toVec(source.value).map((n, i) => lerp(v1[i], v2[i], alpha));\n if (Array.isArray(source.value))\n source.value = arr.map((n, i) => {\n var _a3, _b2;\n return lerp((_a3 = v1[i]) != null ? _a3 : 0, (_b2 = v2[i]) != null ? _b2 : 0, alpha);\n });\n else if (typeof source.value === \"number\")\n source.value = arr[0];\n if (now < endAt) {\n requestAnimationFrame(tick);\n } else {\n source.value = toVal;\n resolve();\n }\n };\n tick();\n });\n}\nfunction useTransition(source, options = {}) {\n let currentId = 0;\n const sourceVal = () => {\n const v = toValue(source);\n return typeof v === \"number\" ? v : v.map(toValue);\n };\n const outputRef = ref(sourceVal());\n watch(sourceVal, async (to) => {\n var _a, _b;\n if (toValue(options.disabled))\n return;\n const id = ++currentId;\n if (options.delay)\n await promiseTimeout(toValue(options.delay));\n if (id !== currentId)\n return;\n const toVal = Array.isArray(to) ? to.map(toValue) : toValue(to);\n (_a = options.onStarted) == null ? void 0 : _a.call(options);\n await executeTransition(outputRef, outputRef.value, toVal, {\n ...options,\n abort: () => {\n var _a2;\n return id !== currentId || ((_a2 = options.abort) == null ? void 0 : _a2.call(options));\n }\n });\n (_b = options.onFinished) == null ? void 0 : _b.call(options);\n }, { deep: true });\n watch(() => toValue(options.disabled), (disabled) => {\n if (disabled) {\n currentId++;\n outputRef.value = sourceVal();\n }\n });\n tryOnScopeDispose(() => {\n currentId++;\n });\n return computed(() => toValue(options.disabled) ? sourceVal() : outputRef.value);\n}\n\nfunction useUrlSearchParams(mode = \"history\", options = {}) {\n const {\n initialValue = {},\n removeNullishValues = true,\n removeFalsyValues = false,\n write: enableWrite = true,\n window = defaultWindow\n } = options;\n if (!window)\n return reactive(initialValue);\n const state = reactive({});\n function getRawParams() {\n if (mode === \"history\") {\n return window.location.search || \"\";\n } else if (mode === \"hash\") {\n const hash = window.location.hash || \"\";\n const index = hash.indexOf(\"?\");\n return index > 0 ? hash.slice(index) : \"\";\n } else {\n return (window.location.hash || \"\").replace(/^#/, \"\");\n }\n }\n function constructQuery(params) {\n const stringified = params.toString();\n if (mode === \"history\")\n return `${stringified ? `?${stringified}` : \"\"}${window.location.hash || \"\"}`;\n if (mode === \"hash-params\")\n return `${window.location.search || \"\"}${stringified ? `#${stringified}` : \"\"}`;\n const hash = window.location.hash || \"#\";\n const index = hash.indexOf(\"?\");\n if (index > 0)\n return `${hash.slice(0, index)}${stringified ? `?${stringified}` : \"\"}`;\n return `${hash}${stringified ? `?${stringified}` : \"\"}`;\n }\n function read() {\n return new URLSearchParams(getRawParams());\n }\n function updateState(params) {\n const unusedKeys = new Set(Object.keys(state));\n for (const key of params.keys()) {\n const paramsForKey = params.getAll(key);\n state[key] = paramsForKey.length > 1 ? paramsForKey : params.get(key) || \"\";\n unusedKeys.delete(key);\n }\n Array.from(unusedKeys).forEach((key) => delete state[key]);\n }\n const { pause, resume } = pausableWatch(\n state,\n () => {\n const params = new URLSearchParams(\"\");\n Object.keys(state).forEach((key) => {\n const mapEntry = state[key];\n if (Array.isArray(mapEntry))\n mapEntry.forEach((value) => params.append(key, value));\n else if (removeNullishValues && mapEntry == null)\n params.delete(key);\n else if (removeFalsyValues && !mapEntry)\n params.delete(key);\n else\n params.set(key, mapEntry);\n });\n write(params);\n },\n { deep: true }\n );\n function write(params, shouldUpdate) {\n pause();\n if (shouldUpdate)\n updateState(params);\n window.history.replaceState(\n window.history.state,\n window.document.title,\n window.location.pathname + constructQuery(params)\n );\n resume();\n }\n function onChanged() {\n if (!enableWrite)\n return;\n write(read(), true);\n }\n useEventListener(window, \"popstate\", onChanged, false);\n if (mode !== \"history\")\n useEventListener(window, \"hashchange\", onChanged, false);\n const initial = read();\n if (initial.keys().next().value)\n updateState(initial);\n else\n Object.assign(state, initialValue);\n return state;\n}\n\nfunction useUserMedia(options = {}) {\n var _a, _b;\n const enabled = ref((_a = options.enabled) != null ? _a : false);\n const autoSwitch = ref((_b = options.autoSwitch) != null ? _b : true);\n const constraints = ref(options.constraints);\n const { navigator = defaultNavigator } = options;\n const isSupported = useSupported(() => {\n var _a2;\n return (_a2 = navigator == null ? void 0 : navigator.mediaDevices) == null ? void 0 : _a2.getUserMedia;\n });\n const stream = shallowRef();\n function getDeviceOptions(type) {\n switch (type) {\n case \"video\": {\n if (constraints.value)\n return constraints.value.video || false;\n break;\n }\n case \"audio\": {\n if (constraints.value)\n return constraints.value.audio || false;\n break;\n }\n }\n }\n async function _start() {\n if (!isSupported.value || stream.value)\n return;\n stream.value = await navigator.mediaDevices.getUserMedia({\n video: getDeviceOptions(\"video\"),\n audio: getDeviceOptions(\"audio\")\n });\n return stream.value;\n }\n function _stop() {\n var _a2;\n (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach((t) => t.stop());\n stream.value = void 0;\n }\n function stop() {\n _stop();\n enabled.value = false;\n }\n async function start() {\n await _start();\n if (stream.value)\n enabled.value = true;\n return stream.value;\n }\n async function restart() {\n _stop();\n return await start();\n }\n watch(\n enabled,\n (v) => {\n if (v)\n _start();\n else\n _stop();\n },\n { immediate: true }\n );\n watch(\n constraints,\n () => {\n if (autoSwitch.value && stream.value)\n restart();\n },\n { immediate: true }\n );\n tryOnScopeDispose(() => {\n stop();\n });\n return {\n isSupported,\n stream,\n start,\n stop,\n restart,\n constraints,\n enabled,\n autoSwitch\n };\n}\n\nfunction useVModel(props, key, emit, options = {}) {\n var _a, _b, _c, _d, _e;\n const {\n clone = false,\n passive = false,\n eventName,\n deep = false,\n defaultValue,\n shouldEmit\n } = options;\n const vm = getCurrentInstance();\n const _emit = emit || (vm == null ? void 0 : vm.emit) || ((_a = vm == null ? void 0 : vm.$emit) == null ? void 0 : _a.bind(vm)) || ((_c = (_b = vm == null ? void 0 : vm.proxy) == null ? void 0 : _b.$emit) == null ? void 0 : _c.bind(vm == null ? void 0 : vm.proxy));\n let event = eventName;\n if (!key) {\n if (isVue2) {\n const modelOptions = (_e = (_d = vm == null ? void 0 : vm.proxy) == null ? void 0 : _d.$options) == null ? void 0 : _e.model;\n key = (modelOptions == null ? void 0 : modelOptions.value) || \"value\";\n if (!eventName)\n event = (modelOptions == null ? void 0 : modelOptions.event) || \"input\";\n } else {\n key = \"modelValue\";\n }\n }\n event = event || `update:${key.toString()}`;\n const cloneFn = (val) => !clone ? val : typeof clone === \"function\" ? clone(val) : cloneFnJSON(val);\n const getValue = () => isDef(props[key]) ? cloneFn(props[key]) : defaultValue;\n const triggerEmit = (value) => {\n if (shouldEmit) {\n if (shouldEmit(value))\n _emit(event, value);\n } else {\n _emit(event, value);\n }\n };\n if (passive) {\n const initialValue = getValue();\n const proxy = ref(initialValue);\n let isUpdating = false;\n watch(\n () => props[key],\n (v) => {\n if (!isUpdating) {\n isUpdating = true;\n proxy.value = cloneFn(v);\n nextTick(() => isUpdating = false);\n }\n }\n );\n watch(\n proxy,\n (v) => {\n if (!isUpdating && (v !== props[key] || deep))\n triggerEmit(v);\n },\n { deep }\n );\n return proxy;\n } else {\n return computed({\n get() {\n return getValue();\n },\n set(value) {\n triggerEmit(value);\n }\n });\n }\n}\n\nfunction useVModels(props, emit, options = {}) {\n const ret = {};\n for (const key in props) {\n ret[key] = useVModel(\n props,\n key,\n emit,\n options\n );\n }\n return ret;\n}\n\nfunction useVibrate(options) {\n const {\n pattern = [],\n interval = 0,\n navigator = defaultNavigator\n } = options || {};\n const isSupported = useSupported(() => typeof navigator !== \"undefined\" && \"vibrate\" in navigator);\n const patternRef = toRef(pattern);\n let intervalControls;\n const vibrate = (pattern2 = patternRef.value) => {\n if (isSupported.value)\n navigator.vibrate(pattern2);\n };\n const stop = () => {\n if (isSupported.value)\n navigator.vibrate(0);\n intervalControls == null ? void 0 : intervalControls.pause();\n };\n if (interval > 0) {\n intervalControls = useIntervalFn(\n vibrate,\n interval,\n {\n immediate: false,\n immediateCallback: false\n }\n );\n }\n return {\n isSupported,\n pattern,\n intervalControls,\n vibrate,\n stop\n };\n}\n\nfunction useVirtualList(list, options) {\n const { containerStyle, wrapperProps, scrollTo, calculateRange, currentList, containerRef } = \"itemHeight\" in options ? useVerticalVirtualList(options, list) : useHorizontalVirtualList(options, list);\n return {\n list: currentList,\n scrollTo,\n containerProps: {\n ref: containerRef,\n onScroll: () => {\n calculateRange();\n },\n style: containerStyle\n },\n wrapperProps\n };\n}\nfunction useVirtualListResources(list) {\n const containerRef = ref(null);\n const size = useElementSize(containerRef);\n const currentList = ref([]);\n const source = shallowRef(list);\n const state = ref({ start: 0, end: 10 });\n return { state, source, currentList, size, containerRef };\n}\nfunction createGetViewCapacity(state, source, itemSize) {\n return (containerSize) => {\n if (typeof itemSize === \"number\")\n return Math.ceil(containerSize / itemSize);\n const { start = 0 } = state.value;\n let sum = 0;\n let capacity = 0;\n for (let i = start; i < source.value.length; i++) {\n const size = itemSize(i);\n sum += size;\n capacity = i;\n if (sum > containerSize)\n break;\n }\n return capacity - start;\n };\n}\nfunction createGetOffset(source, itemSize) {\n return (scrollDirection) => {\n if (typeof itemSize === \"number\")\n return Math.floor(scrollDirection / itemSize) + 1;\n let sum = 0;\n let offset = 0;\n for (let i = 0; i < source.value.length; i++) {\n const size = itemSize(i);\n sum += size;\n if (sum >= scrollDirection) {\n offset = i;\n break;\n }\n }\n return offset + 1;\n };\n}\nfunction createCalculateRange(type, overscan, getOffset, getViewCapacity, { containerRef, state, currentList, source }) {\n return () => {\n const element = containerRef.value;\n if (element) {\n const offset = getOffset(type === \"vertical\" ? element.scrollTop : element.scrollLeft);\n const viewCapacity = getViewCapacity(type === \"vertical\" ? element.clientHeight : element.clientWidth);\n const from = offset - overscan;\n const to = offset + viewCapacity + overscan;\n state.value = {\n start: from < 0 ? 0 : from,\n end: to > source.value.length ? source.value.length : to\n };\n currentList.value = source.value.slice(state.value.start, state.value.end).map((ele, index) => ({\n data: ele,\n index: index + state.value.start\n }));\n }\n };\n}\nfunction createGetDistance(itemSize, source) {\n return (index) => {\n if (typeof itemSize === \"number\") {\n const size2 = index * itemSize;\n return size2;\n }\n const size = source.value.slice(0, index).reduce((sum, _, i) => sum + itemSize(i), 0);\n return size;\n };\n}\nfunction useWatchForSizes(size, list, calculateRange) {\n watch([size.width, size.height, list], () => {\n calculateRange();\n });\n}\nfunction createComputedTotalSize(itemSize, source) {\n return computed(() => {\n if (typeof itemSize === \"number\")\n return source.value.length * itemSize;\n return source.value.reduce((sum, _, index) => sum + itemSize(index), 0);\n });\n}\nconst scrollToDictionaryForElementScrollKey = {\n horizontal: \"scrollLeft\",\n vertical: \"scrollTop\"\n};\nfunction createScrollTo(type, calculateRange, getDistance, containerRef) {\n return (index) => {\n if (containerRef.value) {\n containerRef.value[scrollToDictionaryForElementScrollKey[type]] = getDistance(index);\n calculateRange();\n }\n };\n}\nfunction useHorizontalVirtualList(options, list) {\n const resources = useVirtualListResources(list);\n const { state, source, currentList, size, containerRef } = resources;\n const containerStyle = { overflowX: \"auto\" };\n const { itemWidth, overscan = 5 } = options;\n const getViewCapacity = createGetViewCapacity(state, source, itemWidth);\n const getOffset = createGetOffset(source, itemWidth);\n const calculateRange = createCalculateRange(\"horizontal\", overscan, getOffset, getViewCapacity, resources);\n const getDistanceLeft = createGetDistance(itemWidth, source);\n const offsetLeft = computed(() => getDistanceLeft(state.value.start));\n const totalWidth = createComputedTotalSize(itemWidth, source);\n useWatchForSizes(size, list, calculateRange);\n const scrollTo = createScrollTo(\"horizontal\", calculateRange, getDistanceLeft, containerRef);\n const wrapperProps = computed(() => {\n return {\n style: {\n height: \"100%\",\n width: `${totalWidth.value - offsetLeft.value}px`,\n marginLeft: `${offsetLeft.value}px`,\n display: \"flex\"\n }\n };\n });\n return {\n scrollTo,\n calculateRange,\n wrapperProps,\n containerStyle,\n currentList,\n containerRef\n };\n}\nfunction useVerticalVirtualList(options, list) {\n const resources = useVirtualListResources(list);\n const { state, source, currentList, size, containerRef } = resources;\n const containerStyle = { overflowY: \"auto\" };\n const { itemHeight, overscan = 5 } = options;\n const getViewCapacity = createGetViewCapacity(state, source, itemHeight);\n const getOffset = createGetOffset(source, itemHeight);\n const calculateRange = createCalculateRange(\"vertical\", overscan, getOffset, getViewCapacity, resources);\n const getDistanceTop = createGetDistance(itemHeight, source);\n const offsetTop = computed(() => getDistanceTop(state.value.start));\n const totalHeight = createComputedTotalSize(itemHeight, source);\n useWatchForSizes(size, list, calculateRange);\n const scrollTo = createScrollTo(\"vertical\", calculateRange, getDistanceTop, containerRef);\n const wrapperProps = computed(() => {\n return {\n style: {\n width: \"100%\",\n height: `${totalHeight.value - offsetTop.value}px`,\n marginTop: `${offsetTop.value}px`\n }\n };\n });\n return {\n calculateRange,\n scrollTo,\n containerStyle,\n wrapperProps,\n currentList,\n containerRef\n };\n}\n\nfunction useWakeLock(options = {}) {\n const {\n navigator = defaultNavigator,\n document = defaultDocument\n } = options;\n let wakeLock;\n const isSupported = useSupported(() => navigator && \"wakeLock\" in navigator);\n const isActive = ref(false);\n async function onVisibilityChange() {\n if (!isSupported.value || !wakeLock)\n return;\n if (document && document.visibilityState === \"visible\")\n wakeLock = await navigator.wakeLock.request(\"screen\");\n isActive.value = !wakeLock.released;\n }\n if (document)\n useEventListener(document, \"visibilitychange\", onVisibilityChange, { passive: true });\n async function request(type) {\n if (!isSupported.value)\n return;\n wakeLock = await navigator.wakeLock.request(type);\n isActive.value = !wakeLock.released;\n }\n async function release() {\n if (!isSupported.value || !wakeLock)\n return;\n await wakeLock.release();\n isActive.value = !wakeLock.released;\n wakeLock = null;\n }\n return {\n isSupported,\n isActive,\n request,\n release\n };\n}\n\nfunction useWebNotification(options = {}) {\n const {\n window = defaultWindow,\n requestPermissions: _requestForPermissions = true\n } = options;\n const defaultWebNotificationOptions = options;\n const isSupported = useSupported(() => !!window && \"Notification\" in window);\n const permissionGranted = ref(isSupported.value && \"permission\" in Notification && Notification.permission === \"granted\");\n const notification = ref(null);\n const ensurePermissions = async () => {\n if (!isSupported.value)\n return;\n if (!permissionGranted.value && Notification.permission !== \"denied\") {\n const result = await Notification.requestPermission();\n if (result === \"granted\")\n permissionGranted.value = true;\n }\n return permissionGranted.value;\n };\n const { on: onClick, trigger: clickTrigger } = createEventHook();\n const { on: onShow, trigger: showTrigger } = createEventHook();\n const { on: onError, trigger: errorTrigger } = createEventHook();\n const { on: onClose, trigger: closeTrigger } = createEventHook();\n const show = async (overrides) => {\n if (!isSupported.value || !permissionGranted.value)\n return;\n const options2 = Object.assign({}, defaultWebNotificationOptions, overrides);\n notification.value = new Notification(options2.title || \"\", options2);\n notification.value.onclick = clickTrigger;\n notification.value.onshow = showTrigger;\n notification.value.onerror = errorTrigger;\n notification.value.onclose = closeTrigger;\n return notification.value;\n };\n const close = () => {\n if (notification.value)\n notification.value.close();\n notification.value = null;\n };\n if (_requestForPermissions)\n tryOnMounted(ensurePermissions);\n tryOnScopeDispose(close);\n if (isSupported.value && window) {\n const document = window.document;\n useEventListener(document, \"visibilitychange\", (e) => {\n e.preventDefault();\n if (document.visibilityState === \"visible\") {\n close();\n }\n });\n }\n return {\n isSupported,\n notification,\n ensurePermissions,\n permissionGranted,\n show,\n close,\n onClick,\n onShow,\n onError,\n onClose\n };\n}\n\nconst DEFAULT_PING_MESSAGE = \"ping\";\nfunction resolveNestedOptions(options) {\n if (options === true)\n return {};\n return options;\n}\nfunction useWebSocket(url, options = {}) {\n const {\n onConnected,\n onDisconnected,\n onError,\n onMessage,\n immediate = true,\n autoClose = true,\n protocols = []\n } = options;\n const data = ref(null);\n const status = ref(\"CLOSED\");\n const wsRef = ref();\n const urlRef = toRef(url);\n let heartbeatPause;\n let heartbeatResume;\n let explicitlyClosed = false;\n let retried = 0;\n let bufferedData = [];\n let pongTimeoutWait;\n const _sendBuffer = () => {\n if (bufferedData.length && wsRef.value && status.value === \"OPEN\") {\n for (const buffer of bufferedData)\n wsRef.value.send(buffer);\n bufferedData = [];\n }\n };\n const resetHeartbeat = () => {\n clearTimeout(pongTimeoutWait);\n pongTimeoutWait = void 0;\n };\n const close = (code = 1e3, reason) => {\n if (!isClient || !wsRef.value)\n return;\n explicitlyClosed = true;\n resetHeartbeat();\n heartbeatPause == null ? void 0 : heartbeatPause();\n wsRef.value.close(code, reason);\n wsRef.value = void 0;\n };\n const send = (data2, useBuffer = true) => {\n if (!wsRef.value || status.value !== \"OPEN\") {\n if (useBuffer)\n bufferedData.push(data2);\n return false;\n }\n _sendBuffer();\n wsRef.value.send(data2);\n return true;\n };\n const _init = () => {\n if (explicitlyClosed || typeof urlRef.value === \"undefined\")\n return;\n const ws = new WebSocket(urlRef.value, protocols);\n wsRef.value = ws;\n status.value = \"CONNECTING\";\n ws.onopen = () => {\n status.value = \"OPEN\";\n onConnected == null ? void 0 : onConnected(ws);\n heartbeatResume == null ? void 0 : heartbeatResume();\n _sendBuffer();\n };\n ws.onclose = (ev) => {\n status.value = \"CLOSED\";\n onDisconnected == null ? void 0 : onDisconnected(ws, ev);\n if (!explicitlyClosed && options.autoReconnect) {\n const {\n retries = -1,\n delay = 1e3,\n onFailed\n } = resolveNestedOptions(options.autoReconnect);\n retried += 1;\n if (typeof retries === \"number\" && (retries < 0 || retried < retries))\n setTimeout(_init, delay);\n else if (typeof retries === \"function\" && retries())\n setTimeout(_init, delay);\n else\n onFailed == null ? void 0 : onFailed();\n }\n };\n ws.onerror = (e) => {\n onError == null ? void 0 : onError(ws, e);\n };\n ws.onmessage = (e) => {\n if (options.heartbeat) {\n resetHeartbeat();\n const {\n message = DEFAULT_PING_MESSAGE\n } = resolveNestedOptions(options.heartbeat);\n if (e.data === message)\n return;\n }\n data.value = e.data;\n onMessage == null ? void 0 : onMessage(ws, e);\n };\n };\n if (options.heartbeat) {\n const {\n message = DEFAULT_PING_MESSAGE,\n interval = 1e3,\n pongTimeout = 1e3\n } = resolveNestedOptions(options.heartbeat);\n const { pause, resume } = useIntervalFn(\n () => {\n send(message, false);\n if (pongTimeoutWait != null)\n return;\n pongTimeoutWait = setTimeout(() => {\n close();\n explicitlyClosed = false;\n }, pongTimeout);\n },\n interval,\n { immediate: false }\n );\n heartbeatPause = pause;\n heartbeatResume = resume;\n }\n if (autoClose) {\n if (isClient)\n useEventListener(\"beforeunload\", () => close());\n tryOnScopeDispose(close);\n }\n const open = () => {\n if (!isClient && !isWorker)\n return;\n close();\n explicitlyClosed = false;\n retried = 0;\n _init();\n };\n if (immediate)\n open();\n return {\n data,\n status,\n close,\n send,\n open,\n ws: wsRef\n };\n}\n\nfunction useWebWorker(arg0, workerOptions, options) {\n const {\n window = defaultWindow\n } = options != null ? options : {};\n const data = ref(null);\n const worker = shallowRef();\n const post = (...args) => {\n if (!worker.value)\n return;\n worker.value.postMessage(...args);\n };\n const terminate = function terminate2() {\n if (!worker.value)\n return;\n worker.value.terminate();\n };\n if (window) {\n if (typeof arg0 === \"string\")\n worker.value = new Worker(arg0, workerOptions);\n else if (typeof arg0 === \"function\")\n worker.value = arg0();\n else\n worker.value = arg0;\n worker.value.onmessage = (e) => {\n data.value = e.data;\n };\n tryOnScopeDispose(() => {\n if (worker.value)\n worker.value.terminate();\n });\n }\n return {\n data,\n post,\n terminate,\n worker\n };\n}\n\nfunction jobRunner(userFunc) {\n return (e) => {\n const userFuncArgs = e.data[0];\n return Promise.resolve(userFunc.apply(void 0, userFuncArgs)).then((result) => {\n postMessage([\"SUCCESS\", result]);\n }).catch((error) => {\n postMessage([\"ERROR\", error]);\n });\n };\n}\n\nfunction depsParser(deps) {\n if (deps.length === 0)\n return \"\";\n const depsString = deps.map((dep) => `'${dep}'`).toString();\n return `importScripts(${depsString})`;\n}\n\nfunction createWorkerBlobUrl(fn, deps) {\n const blobCode = `${depsParser(deps)}; onmessage=(${jobRunner})(${fn})`;\n const blob = new Blob([blobCode], { type: \"text/javascript\" });\n const url = URL.createObjectURL(blob);\n return url;\n}\n\nfunction useWebWorkerFn(fn, options = {}) {\n const {\n dependencies = [],\n timeout,\n window = defaultWindow\n } = options;\n const worker = ref();\n const workerStatus = ref(\"PENDING\");\n const promise = ref({});\n const timeoutId = ref();\n const workerTerminate = (status = \"PENDING\") => {\n if (worker.value && worker.value._url && window) {\n worker.value.terminate();\n URL.revokeObjectURL(worker.value._url);\n promise.value = {};\n worker.value = void 0;\n window.clearTimeout(timeoutId.value);\n workerStatus.value = status;\n }\n };\n workerTerminate();\n tryOnScopeDispose(workerTerminate);\n const generateWorker = () => {\n const blobUrl = createWorkerBlobUrl(fn, dependencies);\n const newWorker = new Worker(blobUrl);\n newWorker._url = blobUrl;\n newWorker.onmessage = (e) => {\n const { resolve = () => {\n }, reject = () => {\n } } = promise.value;\n const [status, result] = e.data;\n switch (status) {\n case \"SUCCESS\":\n resolve(result);\n workerTerminate(status);\n break;\n default:\n reject(result);\n workerTerminate(\"ERROR\");\n break;\n }\n };\n newWorker.onerror = (e) => {\n const { reject = () => {\n } } = promise.value;\n e.preventDefault();\n reject(e);\n workerTerminate(\"ERROR\");\n };\n if (timeout) {\n timeoutId.value = setTimeout(\n () => workerTerminate(\"TIMEOUT_EXPIRED\"),\n timeout\n );\n }\n return newWorker;\n };\n const callWorker = (...fnArgs) => new Promise((resolve, reject) => {\n promise.value = {\n resolve,\n reject\n };\n worker.value && worker.value.postMessage([[...fnArgs]]);\n workerStatus.value = \"RUNNING\";\n });\n const workerFn = (...fnArgs) => {\n if (workerStatus.value === \"RUNNING\") {\n console.error(\n \"[useWebWorkerFn] You can only run one instance of the worker at a time.\"\n );\n return Promise.reject();\n }\n worker.value = generateWorker();\n return callWorker(...fnArgs);\n };\n return {\n workerFn,\n workerStatus,\n workerTerminate\n };\n}\n\nfunction useWindowFocus(options = {}) {\n const { window = defaultWindow } = options;\n if (!window)\n return ref(false);\n const focused = ref(window.document.hasFocus());\n useEventListener(window, \"blur\", () => {\n focused.value = false;\n });\n useEventListener(window, \"focus\", () => {\n focused.value = true;\n });\n return focused;\n}\n\nfunction useWindowScroll(options = {}) {\n const { window = defaultWindow, behavior = \"auto\" } = options;\n if (!window) {\n return {\n x: ref(0),\n y: ref(0)\n };\n }\n const internalX = ref(window.scrollX);\n const internalY = ref(window.scrollY);\n const x = computed({\n get() {\n return internalX.value;\n },\n set(x2) {\n scrollTo({ left: x2, behavior });\n }\n });\n const y = computed({\n get() {\n return internalY.value;\n },\n set(y2) {\n scrollTo({ top: y2, behavior });\n }\n });\n useEventListener(\n window,\n \"scroll\",\n () => {\n internalX.value = window.scrollX;\n internalY.value = window.scrollY;\n },\n {\n capture: false,\n passive: true\n }\n );\n return { x, y };\n}\n\nfunction useWindowSize(options = {}) {\n const {\n window = defaultWindow,\n initialWidth = Number.POSITIVE_INFINITY,\n initialHeight = Number.POSITIVE_INFINITY,\n listenOrientation = true,\n includeScrollbar = true\n } = options;\n const width = ref(initialWidth);\n const height = ref(initialHeight);\n const update = () => {\n if (window) {\n if (includeScrollbar) {\n width.value = window.innerWidth;\n height.value = window.innerHeight;\n } else {\n width.value = window.document.documentElement.clientWidth;\n height.value = window.document.documentElement.clientHeight;\n }\n }\n };\n update();\n tryOnMounted(update);\n useEventListener(\"resize\", update, { passive: true });\n if (listenOrientation) {\n const matches = useMediaQuery(\"(orientation: portrait)\");\n watch(matches, () => update());\n }\n return { width, height };\n}\n\nexport { DefaultMagicKeysAliasMap, StorageSerializers, TransitionPresets, computedAsync as asyncComputed, breakpointsAntDesign, breakpointsBootstrapV5, breakpointsMasterCss, breakpointsPrimeFlex, breakpointsQuasar, breakpointsSematic, breakpointsTailwind, breakpointsVuetify, breakpointsVuetifyV2, breakpointsVuetifyV3, cloneFnJSON, computedAsync, computedInject, createFetch, createReusableTemplate, createTemplatePromise, createUnrefFn, customStorageEventName, defaultDocument, defaultLocation, defaultNavigator, defaultWindow, executeTransition, formatTimeAgo, getSSRHandler, mapGamepadToXbox360Controller, onClickOutside, onKeyDown, onKeyPressed, onKeyStroke, onKeyUp, onLongPress, onStartTyping, setSSRHandler, templateRef, unrefElement, useActiveElement, useAnimate, useAsyncQueue, useAsyncState, useBase64, useBattery, useBluetooth, useBreakpoints, useBroadcastChannel, useBrowserLocation, useCached, useClipboard, useClipboardItems, useCloned, useColorMode, useConfirmDialog, useCssVar, useCurrentElement, useCycleList, useDark, useDebouncedRefHistory, useDeviceMotion, useDeviceOrientation, useDevicePixelRatio, useDevicesList, useDisplayMedia, useDocumentVisibility, useDraggable, useDropZone, useElementBounding, useElementByPoint, useElementHover, useElementSize, useElementVisibility, useEventBus, useEventListener, useEventSource, useEyeDropper, useFavicon, useFetch, useFileDialog, useFileSystemAccess, useFocus, useFocusWithin, useFps, useFullscreen, useGamepad, useGeolocation, useIdle, useImage, useInfiniteScroll, useIntersectionObserver, useKeyModifier, useLocalStorage, useMagicKeys, useManualRefHistory, useMediaControls, useMediaQuery, useMemoize, useMemory, useMounted, useMouse, useMouseInElement, useMousePressed, useMutationObserver, useNavigatorLanguage, useNetwork, useNow, useObjectUrl, useOffsetPagination, useOnline, usePageLeave, useParallax, useParentElement, usePerformanceObserver, usePermission, usePointer, usePointerLock, usePointerSwipe, usePreferredColorScheme, usePreferredContrast, usePreferredDark, usePreferredLanguages, usePreferredReducedMotion, usePrevious, useRafFn, useRefHistory, useResizeObserver, useScreenOrientation, useScreenSafeArea, useScriptTag, useScroll, useScrollLock, useSessionStorage, useShare, useSorted, useSpeechRecognition, useSpeechSynthesis, useStepper, useStorage, useStorageAsync, useStyleTag, useSupported, useSwipe, useTemplateRefsList, useTextDirection, useTextSelection, useTextareaAutosize, useThrottledRefHistory, useTimeAgo, useTimeoutPoll, useTimestamp, useTitle, useTransition, useUrlSearchParams, useUserMedia, useVModel, useVModels, useVibrate, useVirtualList, useWakeLock, useWebNotification, useWebSocket, useWebWorker, useWebWorkerFn, useWindowFocus, useWindowScroll, useWindowSize };\n","/*!\n * vue-router v3.6.5\n * (c) 2022 Evan You\n * @license MIT\n */\nimport { getCurrentInstance, effectScope, shallowReactive, onUnmounted, computed, unref } from 'vue';\n\n// dev only warn if no current instance\n\nfunction throwNoCurrentInstance (method) {\n if (!getCurrentInstance()) {\n throw new Error(\n (\"[vue-router]: Missing current instance. \" + method + \"() must be called inside <script setup> or setup().\")\n )\n }\n}\n\nfunction useRouter () {\n if (process.env.NODE_ENV !== 'production') {\n throwNoCurrentInstance('useRouter');\n }\n\n return getCurrentInstance().proxy.$root.$router\n}\n\nfunction useRoute () {\n if (process.env.NODE_ENV !== 'production') {\n throwNoCurrentInstance('useRoute');\n }\n\n var root = getCurrentInstance().proxy.$root;\n if (!root._$route) {\n var route = effectScope(true).run(function () { return shallowReactive(Object.assign({}, root.$router.currentRoute)); }\n );\n root._$route = route;\n\n root.$router.afterEach(function (to) {\n Object.assign(route, to);\n });\n }\n\n return root._$route\n}\n\nfunction onBeforeRouteUpdate (guard) {\n if (process.env.NODE_ENV !== 'production') {\n throwNoCurrentInstance('onBeforeRouteUpdate');\n }\n\n return useFilteredGuard(guard, isUpdateNavigation)\n}\nfunction isUpdateNavigation (to, from, depth) {\n var toMatched = to.matched;\n var fromMatched = from.matched;\n return (\n toMatched.length >= depth &&\n toMatched\n .slice(0, depth + 1)\n .every(function (record, i) { return record === fromMatched[i]; })\n )\n}\n\nfunction isLeaveNavigation (to, from, depth) {\n var toMatched = to.matched;\n var fromMatched = from.matched;\n return toMatched.length < depth || toMatched[depth] !== fromMatched[depth]\n}\n\nfunction onBeforeRouteLeave (guard) {\n if (process.env.NODE_ENV !== 'production') {\n throwNoCurrentInstance('onBeforeRouteLeave');\n }\n\n return useFilteredGuard(guard, isLeaveNavigation)\n}\n\nvar noop = function () {};\nfunction useFilteredGuard (guard, fn) {\n var instance = getCurrentInstance();\n var router = useRouter();\n\n var target = instance.proxy;\n // find the nearest RouterView to know the depth\n while (\n target &&\n target.$vnode &&\n target.$vnode.data &&\n target.$vnode.data.routerViewDepth == null\n ) {\n target = target.$parent;\n }\n\n var depth =\n target && target.$vnode && target.$vnode.data\n ? target.$vnode.data.routerViewDepth\n : null;\n\n if (depth != null) {\n var removeGuard = router.beforeEach(function (to, from, next) {\n return fn(to, from, depth) ? guard(to, from, next) : next()\n });\n\n onUnmounted(removeGuard);\n return removeGuard\n }\n\n return noop\n}\n\n/* */\n\nfunction guardEvent (e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) { return }\n // don't redirect when preventDefault called\n if (e.defaultPrevented) { return }\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0) { return }\n // don't redirect if `target=\"_blank\"`\n if (e.currentTarget && e.currentTarget.getAttribute) {\n var target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target)) { return }\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault) {\n e.preventDefault();\n }\n return true\n}\n\nfunction includesParams (outer, inner) {\n var loop = function ( key ) {\n var innerValue = inner[key];\n var outerValue = outer[key];\n if (typeof innerValue === 'string') {\n if (innerValue !== outerValue) { return { v: false } }\n } else {\n if (\n !Array.isArray(outerValue) ||\n outerValue.length !== innerValue.length ||\n innerValue.some(function (value, i) { return value !== outerValue[i]; })\n ) {\n return { v: false }\n }\n }\n };\n\n for (var key in inner) {\n var returned = loop( key );\n\n if ( returned ) return returned.v;\n }\n\n return true\n}\n\n// helpers from vue router 4\n\nfunction isSameRouteLocationParamsValue (a, b) {\n return Array.isArray(a)\n ? isEquivalentArray(a, b)\n : Array.isArray(b)\n ? isEquivalentArray(b, a)\n : a === b\n}\n\nfunction isEquivalentArray (a, b) {\n return Array.isArray(b)\n ? a.length === b.length && a.every(function (value, i) { return value === b[i]; })\n : a.length === 1 && a[0] === b\n}\n\nfunction isSameRouteLocationParams (a, b) {\n if (Object.keys(a).length !== Object.keys(b).length) { return false }\n\n for (var key in a) {\n if (!isSameRouteLocationParamsValue(a[key], b[key])) { return false }\n }\n\n return true\n}\n\nfunction useLink (props) {\n if (process.env.NODE_ENV !== 'production') {\n throwNoCurrentInstance('useLink');\n }\n\n var router = useRouter();\n var currentRoute = useRoute();\n\n var resolvedRoute = computed(function () { return router.resolve(unref(props.to), currentRoute); });\n\n var activeRecordIndex = computed(function () {\n var route = resolvedRoute.value.route;\n var matched = route.matched;\n var length = matched.length;\n var routeMatched = matched[length - 1];\n var currentMatched = currentRoute.matched;\n if (!routeMatched || !currentMatched.length) { return -1 }\n var index = currentMatched.indexOf(routeMatched);\n if (index > -1) { return index }\n // possible parent record\n var parentRecord = currentMatched[currentMatched.length - 2];\n\n return (\n // we are dealing with nested routes\n length > 1 &&\n // if the parent and matched route have the same path, this link is\n // referring to the empty child. Or we currently are on a different\n // child of the same parent\n parentRecord && parentRecord === routeMatched.parent\n )\n });\n\n var isActive = computed(\n function () { return activeRecordIndex.value > -1 &&\n includesParams(currentRoute.params, resolvedRoute.value.route.params); }\n );\n var isExactActive = computed(\n function () { return activeRecordIndex.value > -1 &&\n activeRecordIndex.value === currentRoute.matched.length - 1 &&\n isSameRouteLocationParams(currentRoute.params, resolvedRoute.value.route.params); }\n );\n\n var navigate = function (e) {\n var href = resolvedRoute.value.route;\n if (guardEvent(e)) {\n return props.replace\n ? router.replace(href)\n : router.push(href)\n }\n return Promise.resolve()\n };\n\n return {\n href: computed(function () { return resolvedRoute.value.href; }),\n route: computed(function () { return resolvedRoute.value.route; }),\n isExactActive: isExactActive,\n isActive: isActive,\n navigate: navigate\n }\n}\n\nexport { isSameRouteLocationParams, onBeforeRouteLeave, onBeforeRouteUpdate, useLink, useRoute, useRouter };\n","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n<template>\n\t<NcAppContent class=\"activity-app\">\n\t\t<h1 class=\"activity-app__heading\">\n\t\t\t{{ headingTitle }}\n\t\t</h1>\n\t\t<NcEmptyContent v-if=\"hasMoreActivites && allActivities.length === 0\"\n\t\t\tclass=\"activity-app__empty-content\"\n\t\t\t:name=\"t('activity', 'Loading activities')\"\n\t\t\t:description=\"t('activity', 'This stream will show events like additions, changes & shares')\">\n\t\t\t<template #icon>\n\t\t\t\t<NcLoadingIcon :size=\"36\" />\n\t\t\t</template>\n\t\t</NcEmptyContent>\n\t\t<NcEmptyContent v-else-if=\"allActivities.length === 0\"\n\t\t\tclass=\"activity-app__empty-content\"\n\t\t\t:name=\"t('activity', 'No activity yet')\"\n\t\t\t:description=\"t('activity', 'This stream will show events like additions, changes & shares')\">\n\t\t\t<template #icon>\n\t\t\t\t<NcIconSvgWrapper :svg=\"appIconSVG\" :size=\"36\" />\n\t\t\t</template>\n\t\t</NcEmptyContent>\n\t\t<div ref=\"container\" class=\"activity-app__container\">\n\t\t\t<ActivityGroup v-for=\"activities, date of groupedActivities\" :key=\"date\" :activities=\"activities\" />\n\t\t\t<!-- Only show if not showing the inital empty content for loading -->\n\t\t\t<NcLoadingIcon v-if=\"hasMoreActivites && allActivities.length > 0\"\n\t\t\t\t:name=\"t('activity', 'Loading more activities')\"\n\t\t\t\t:size=\"64\"\n\t\t\t\tclass=\"activity-app__loading-indicator\" />\n\t\t\t<div v-else-if=\"!hasMoreActivites && allActivities.length > 0\"\n\t\t\t\tclass=\"activity-app__loading-indicator\">\n\t\t\t\t{{ t('activity', 'No more activities.') }}\n\t\t\t</div>\n\t\t</div>\n\t</NcAppContent>\n</template>\n\n<script setup lang=\"ts\">\n// eslint-disable-next-line n/no-extraneous-import\nimport axios from 'axios'\nimport ncAxios from '@nextcloud/axios'\nimport moment from '@nextcloud/moment'\nimport NcAppContent from '@nextcloud/vue/dist/Components/NcAppContent.js'\nimport NcIconSvgWrapper from '@nextcloud/vue/dist/Components/NcIconSvgWrapper.js'\nimport NcEmptyContent from '@nextcloud/vue/dist/Components/NcEmptyContent.js'\nimport NcLoadingIcon from '@nextcloud/vue/dist/Components/NcLoadingIcon.js'\nimport ActivityModel from '../models/ActivityModel'\nimport ActivityGroup from '../components/ActivityGroup.vue'\n\nimport appIconSVG from '../../img/activity-dark.svg?raw'\nimport logger from '../utils/logger'\n\nimport { showError } from '@nextcloud/dialogs'\nimport { translate as t } from '@nextcloud/l10n'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { useInfiniteScroll } from '@vueuse/core'\nimport { computed, nextTick, onMounted, ref, watch } from 'vue'\nimport { loadState } from '@nextcloud/initial-state'\nimport { useRoute } from 'vue-router/composables'\n\ninterface INavigationEntry {\n\tid: string\n\ticon?: string\n\tname: string\n\turl: string\n}\n\nconst navigationList = loadState<INavigationEntry[]>(appName, 'navigationList')\n\nconst route = useRoute()\n\nconst props = withDefaults(defineProps<{\n\t/**\n\t * The currently active activities filter\n\t */\n\tfilter: string\n}>(), {\n\t// default to 'all'\n\tfilter: 'all',\n})\n\n/**\n * Whether activities are currently being loaded\n */\nconst loading = ref(false)\n\n/**\n * Whether more activites can be loaded\n */\nconst hasMoreActivites = ref(true)\n\n/**\n * All loaded actvities\n */\nconst allActivities = ref<ActivityModel[]>([])\n\n/**\n * Last loaded activity\n * This is set by the backend in the API result as a header value for pagination\n */\nconst lastActivityLoaded = ref<string>()\n\n/**\n * Container element for the activites\n */\nconst container = ref<HTMLDivElement>()\n\n/**\n * Use infinite scroll for the container and load activities when reaching the bottom\n */\nuseInfiniteScroll(container, async () => {\n\tif (hasMoreActivites.value) {\n\t\tawait loadActivities()\n\t}\n}, {\n\tdistance: 100,\n})\n\n/**\n * Activities grouped by date\n */\nconst groupedActivities = computed(() => {\n\tconst groups = {} as Record<string, ActivityModel[]>\n\tfor (const activity of allActivities.value) {\n\t\tconst date = moment(activity.datetime).format('LL')\n\t\tif (groups[date] === undefined) {\n\t\t\tgroups[date] = [activity]\n\t\t} else {\n\t\t\tgroups[date].push(activity)\n\t\t}\n\t}\n\treturn groups\n})\n\nconst headingTitle = computed(() => {\n\treturn navigationList.find((navigationEl) => navigationEl.id === route.params.filter).name\n})\n\n/**\n * Load activites for current filter or load more if already loaded\n */\nasync function loadActivities() {\n\t// Skip if already loading\n\tif (loading.value) {\n\t\treturn\n\t}\n\n\ttry {\n\t\tconst since = lastActivityLoaded.value ?? '0'\n\t\tloading.value = true\n\t\tconst response = await ncAxios.get(\n\t\t\tgenerateOcsUrl('apps/activity/api/v2/activity/{filter}?format=json&previews=true&since={since}', { filter: props.filter, since }),\n\t\t)\n\t\tallActivities.value.push(...response.data.ocs.data.map((raw) => new ActivityModel(raw)))\n\t\tlastActivityLoaded.value = response.headers['x-activity-last-given']\n\t\thasMoreActivites.value = true\n\n\t\tnextTick(async () => {\n\t\t\tif (container.value && container.value.clientHeight === container.value.scrollHeight) {\n\t\t\t\t// Container is non-scrollable, thus useInfiniteScroll isn't triggered\n\t\t\t\t// Do it manually to ensure there are no activities to fetch anymore\n\t\t\t\tawait loadActivities()\n\t\t\t}\n\t\t})\n\t} catch (error) {\n\t\t// Skip if no activites are available\n\t\tif (axios.isAxiosError(error) && error.response?.status === 304) {\n\t\t\thasMoreActivites.value = false\n\t\t\treturn\n\t\t}\n\n\t\tlogger.error(error as Error)\n\t\tshowError(t('activity', 'Could not load activities'))\n\t} finally {\n\t\tloading.value = false\n\t}\n}\n\n/**\n * Load activites when mounted\n */\nonMounted(() => {\n\tloadActivities()\n})\n\n/**\n * Reload activities when filter changed\n */\nwatch(props, () => {\n\tallActivities.value = []\n\tlastActivityLoaded.value = undefined\n\tloadActivities()\n})\n</script>\n\n<style scoped lang=\"scss\">\n.activity-app {\n\tdisplay: flex;\n\tflex-direction: column;\n\toverflow: hidden;\n\n\t&__empty-content {\n\t\theight: 100%;\n\t}\n\n\t&__loading-indicator {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tjustify-self: center;\n\t\tmargin-block: 30px 6px;\n\t\ttext-align: center;\n\t}\n\n\t&__container {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\n\t\theight: 100%;\n\t\twidth: min(100%, 924px);\n\t\tmax-width: 924px;\n\t\tmargin: 0 auto;\n\t\tpadding-inline: 12px;\n\t\toverflow-y: scroll;\n\t}\n\n\t&__heading {\n\t\tfont-weight: bold;\n\t\tfont-size: 20px;\n\t\tline-height: 44px; // to align height with the app navigation toggle\n\t\t// Align with app navigation toggle\n\t\tmargin: var(--app-navigation-padding, 8px) 0 0 calc(2 * var(--app-navigation-padding, 8px) + 44px);\n\t}\n}\n</style>\n","import { onKeyStroke } from \"@vueuse/core\";\nconst disableKeyboardShortcuts = window.OCP?.Accessibility?.disableKeyboardShortcuts?.();\nconst isMac = /mac|ipad|iphone|darwin/i.test(navigator.userAgent);\nfunction shouldIgnoreEvent(event) {\n if (!(event.target instanceof HTMLElement) || event.target instanceof HTMLInputElement || event.target instanceof HTMLTextAreaElement || event.target instanceof HTMLSelectElement || event.target.isContentEditable) {\n return true;\n }\n return document.getElementsByClassName(\"modal-mask\").length !== 0;\n}\nfunction eventHandler(callback, options) {\n return (event) => {\n const ctrlKeyPressed = isMac ? event.metaKey : event.ctrlKey;\n if (ctrlKeyPressed !== Boolean(options.ctrl)) {\n return;\n } else if (event.altKey !== Boolean(options.alt)) {\n return;\n } else if (options.shift !== void 0 && event.shiftKey !== Boolean(options.shift)) {\n return;\n } else if (shouldIgnoreEvent(event)) {\n return;\n }\n if (options.prevent) {\n event.preventDefault();\n }\n if (options.stop) {\n event.stopPropagation();\n }\n callback(event);\n };\n}\nfunction useHotKey(keysOrFilter, callback = () => {\n}, options = {}) {\n if (disableKeyboardShortcuts) {\n return () => {\n };\n }\n const validateKeyEvent = (event, key) => {\n if (options.caseSensitive) {\n return event.key === key;\n }\n return event.key.toLowerCase() === key.toLowerCase();\n };\n const keyFilter = (event) => {\n if (typeof keysOrFilter === \"function\") {\n return keysOrFilter(event);\n } else if (typeof keysOrFilter === \"string\") {\n return validateKeyEvent(event, keysOrFilter);\n } else if (Array.isArray(keysOrFilter)) {\n return keysOrFilter.some((key) => validateKeyEvent(event, key));\n } else {\n return true;\n }\n };\n const stopKeyDown = onKeyStroke(keyFilter, eventHandler(callback, options), {\n eventName: \"keydown\",\n dedupe: true,\n passive: !options.prevent\n });\n const stopKeyUp = options.push ? onKeyStroke(keyFilter, eventHandler(callback, options), {\n eventName: \"keyup\",\n passive: !options.prevent\n }) : () => {\n };\n return () => {\n stopKeyDown();\n stopKeyUp();\n };\n}\nexport {\n useHotKey\n};\n//# sourceMappingURL=useHotKey.mjs.map\n","import '../assets/NcAppNavigationList-DnKj0-Zq.css';\nimport { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcAppNavigationList\"\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"ul\", { staticClass: \"app-navigation-list\" }, [_vm._t(\"default\")], 2);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"058e6060\"\n);\nconst NcAppNavigationList = __component__.exports;\nexport {\n NcAppNavigationList as default\n};\n//# sourceMappingURL=NcAppNavigationList.mjs.map\n","import '../assets/NcAppNavigationToggle-C5IMygw1.css';\nimport NcButton from \"../Components/NcButton.mjs\";\nimport { r as register, E as t18, a as t } from \"./_l10n-DQgzdF9S.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nregister(t18);\nconst _sfc_main$2 = {\n name: \"MenuIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$2 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon menu-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$2 = [];\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$2,\n _sfc_render$2,\n _sfc_staticRenderFns$2,\n false,\n null,\n null\n);\nconst MenuIcon = __component__$2.exports;\nconst _sfc_main$1 = {\n name: \"MenuOpenIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$1 = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon menu-open-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M21,15.61L19.59,17L14.58,12L19.59,7L21,8.39L17.44,12L21,15.61M3,6H16V8H3V6M3,13V11H13V13H3M3,18V16H16V18H3Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n null\n);\nconst MenuOpenIcon = __component__$1.exports;\nconst disableKeyboardShortcuts = window.OCP?.Accessibility?.disableKeyboardShortcuts?.();\nconst _sfc_main = {\n name: \"NcAppNavigationToggle\",\n components: {\n NcButton,\n MenuIcon,\n MenuOpenIcon\n },\n props: {\n /**\n * Tracks whether the toggle has been clicked or not.\n * If it has been clicked, switches between the different MenuIcons\n * and emits a boolean indicating its opened status\n */\n open: {\n type: Boolean,\n required: true\n }\n },\n emits: [\"update:open\"],\n setup() {\n return { disableKeyboardShortcuts };\n },\n computed: {\n label() {\n return this.open ? t(\"Close navigation\") : t(\"Open navigation {shortcut}\", { shortcut: disableKeyboardShortcuts ? \"\" : \"[n]\" }).trim();\n }\n },\n methods: {\n /**\n * Once the toggle has been clicked, emits the toggle status\n * so parent components can gauge the status of the navigation button\n */\n toggleNavigation() {\n this.$emit(\"update:open\", !this.open);\n }\n }\n};\nvar _sfc_render = function render3() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"app-navigation-toggle-wrapper\" }, [_c(\"NcButton\", { staticClass: \"app-navigation-toggle\", attrs: { \"aria-controls\": \"app-navigation-vue\", \"aria-expanded\": _vm.open ? \"true\" : \"false\", \"aria-keyshortcuts\": _vm.disableKeyboardShortcuts ? \"\" : \"n\", \"aria-label\": _vm.label, \"title\": _vm.label, \"variant\": \"tertiary\" }, on: { \"click\": _vm.toggleNavigation }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm.open ? _c(\"MenuOpenIcon\", { attrs: { \"size\": 20 } }) : _c(\"MenuIcon\", { attrs: { \"size\": 20 } })];\n }, proxy: true }]) })], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"f7da2749\"\n);\nconst NcAppNavigationToggle = __component__.exports;\nexport {\n NcAppNavigationToggle as N\n};\n//# sourceMappingURL=NcAppNavigationToggle-CUdNQwyN.mjs.map\n","import '../assets/NcAppNavigation-WhHdkLQF.css';\nimport { createFocusTrap } from \"focus-trap\";\nimport { emit, unsubscribe, subscribe } from \"@nextcloud/event-bus\";\nimport { tabbable } from \"tabbable\";\nimport Vue from \"vue\";\nimport { g as getTrapStack } from \"./focusTrap-DmkaYJTC.mjs\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nimport { useHotKey } from \"../Composables/useHotKey.mjs\";\nimport { useIsMobile } from \"../Composables/useIsMobile.mjs\";\nimport NcAppNavigationList from \"../Components/NcAppNavigationList.mjs\";\nimport { N as NcAppNavigationToggle } from \"./NcAppNavigationToggle-CUdNQwyN.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcAppNavigation\",\n components: {\n NcAppNavigationList,\n NcAppNavigationToggle\n },\n // Injected from NcContent\n inject: {\n setHasAppNavigation: {\n default: () => () => Vue.util.warn(\"NcAppNavigation is not mounted inside NcContent, this is probably an error.\"),\n from: \"NcContent:setHasAppNavigation\"\n }\n },\n props: {\n /**\n * The aria label to describe the navigation\n */\n ariaLabel: {\n type: String,\n default: \"\"\n },\n /**\n * aria-labelledby attribute to describe the navigation\n */\n ariaLabelledby: {\n type: String,\n default: \"\"\n }\n },\n setup() {\n return {\n isMobile: useIsMobile()\n };\n },\n data() {\n return {\n open: !this.isMobile,\n focusTrap: null\n };\n },\n watch: {\n isMobile() {\n this.open = !this.isMobile;\n this.toggleFocusTrap();\n },\n open() {\n this.toggleFocusTrap();\n }\n },\n mounted() {\n this.setHasAppNavigation(true);\n subscribe(\"toggle-navigation\", this.toggleNavigationByEventBus);\n emit(\"navigation-toggled\", {\n open: this.open\n });\n this.focusTrap = createFocusTrap(this.$refs.appNavigationContainer, {\n allowOutsideClick: true,\n fallbackFocus: this.$refs.appNavigationContainer,\n trapStack: getTrapStack(),\n escapeDeactivates: false\n });\n this.toggleFocusTrap();\n useHotKey(\"n\", this.onKeyDown, {\n prevent: true,\n stop: true\n });\n },\n unmounted() {\n this.setHasAppNavigation(false);\n unsubscribe(\"toggle-navigation\", this.toggleNavigationByEventBus);\n this.focusTrap.deactivate();\n },\n methods: {\n /**\n * Toggle the navigation\n *\n * @param {boolean} [state] set the state instead of inverting the current one\n */\n async toggleNavigation(state) {\n if (this.open === state) {\n emit(\"navigation-toggled\", {\n open: this.open\n });\n return;\n }\n this.open = typeof state === \"undefined\" ? !this.open : state;\n const bodyStyles = getComputedStyle(document.body);\n const animationLength = parseInt(bodyStyles.getPropertyValue(\"--animation-quick\")) || 100;\n if (this.open) {\n await this.$nextTick();\n this.focusFirstElement();\n }\n setTimeout(() => {\n emit(\"navigation-toggled\", {\n open: this.open\n });\n }, 1.5 * animationLength);\n },\n toggleNavigationByEventBus({ open }) {\n this.toggleNavigation(open);\n },\n /**\n * Activate focus trap if it is currently needed, otherwise deactivate\n */\n toggleFocusTrap() {\n if (this.isMobile && this.open) {\n this.focusTrap.activate();\n } else {\n this.focusTrap.deactivate();\n }\n },\n handleEsc() {\n if (this.isMobile && this.open) {\n this.toggleNavigation(false);\n }\n },\n focusFirstElement() {\n const element = tabbable(this.$refs.appNavigationContainer)[0];\n if (element) {\n element.focus();\n logger.debug(\"Focusing first element in the navigation\", { element });\n }\n },\n onKeyDown(event) {\n if (event.key === \"n\") {\n if (!this.open) {\n this.toggleNavigation(true);\n return;\n }\n if (this.isFocusWithinNavigation()) {\n this.toggleNavigation(false);\n }\n }\n },\n isFocusWithinNavigation() {\n const activeElement = document.activeElement;\n return this.$refs.appNavigationContainer?.contains(activeElement);\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { ref: \"appNavigationContainer\", staticClass: \"app-navigation\", class: { \"app-navigation--close\": !_vm.open } }, [_c(\"nav\", { staticClass: \"app-navigation__content\", attrs: { \"id\": \"app-navigation-vue\", \"aria-hidden\": _vm.open ? \"false\" : \"true\", \"aria-label\": _vm.ariaLabel || void 0, \"aria-labelledby\": _vm.ariaLabelledby || void 0, \"inert\": !_vm.open || void 0 }, on: { \"keydown\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) return null;\n return _vm.handleEsc.apply(null, arguments);\n } } }, [_c(\"div\", { staticClass: \"app-navigation__search\" }, [_vm._t(\"search\")], 2), _c(\"div\", { staticClass: \"app-navigation__body\", class: { \"app-navigation__body--no-list\": !_vm.$scopedSlots.list } }, [_vm._t(\"default\")], 2), _vm.$scopedSlots.list ? _c(\"NcAppNavigationList\", { staticClass: \"app-navigation__list\" }, [_vm._t(\"list\")], 2) : _vm._e(), _vm._t(\"footer\")], 2), _c(\"NcAppNavigationToggle\", { attrs: { \"open\": _vm.open }, on: { \"update:open\": _vm.toggleNavigation } })], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"6d2acd3d\"\n);\nconst NcAppNavigation = __component__.exports;\nexport {\n NcAppNavigation as N\n};\n//# sourceMappingURL=NcAppNavigation-CqKWSnxO.mjs.map\n","import { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcVNodes\",\n props: {\n /**\n * The vnodes to render\n */\n vnodes: {\n type: [Array, Object],\n default: null\n }\n },\n /**\n * The render function to display the component\n *\n * @param {Function} h The function to create VNodes\n * @return {object} The created VNode\n */\n render(h) {\n return this.vnodes || this.$slots?.default || this.$scopedSlots?.default?.();\n }\n};\nconst _sfc_render = null;\nconst _sfc_staticRenderFns = null;\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst NcVNodes = __component__.exports;\nexport {\n NcVNodes as default\n};\n//# sourceMappingURL=NcVNodes.mjs.map\n","import { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"ChevronUpIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon chevron-up-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst ChevronUp = __component__.exports;\nexport {\n ChevronUp as C\n};\n//# sourceMappingURL=ChevronUp-C7Dy9Bph.mjs.map\n","import '../assets/NcInputConfirmCancel-BanazdhC.css';\nimport { r as register, s as t12, a as t } from \"./_l10n-DQgzdF9S.mjs\";\nimport { A as ArrowRight } from \"./ArrowRight-CY2b9hgN.mjs\";\nimport { C as Close } from \"./Close-BtLPUSdO.mjs\";\nimport NcButton from \"../Components/NcButton.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nregister(t12);\nconst _sfc_main = {\n name: \"NcInputConfirmCancel\",\n components: {\n NcButton,\n ArrowRight,\n Close\n },\n props: {\n /**\n * If this element is used on a primary element set to true for primary styling.\n */\n primary: {\n default: false,\n type: Boolean\n },\n placeholder: {\n default: \"\",\n type: String\n },\n value: {\n default: \"\",\n type: String\n }\n },\n emits: [\n \"input\",\n \"confirm\",\n \"cancel\"\n ],\n data() {\n return {\n labelConfirm: t(\"Confirm changes\"),\n labelCancel: t(\"Cancel changes\")\n };\n },\n computed: {\n valueModel: {\n get() {\n return this.value;\n },\n set(newValue) {\n this.$emit(\"input\", newValue);\n }\n }\n },\n methods: {\n confirm() {\n this.$emit(\"confirm\");\n },\n cancel() {\n this.$emit(\"cancel\");\n },\n focusInput() {\n this.$refs.input.focus();\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"app-navigation-input-confirm\" }, [_c(\"form\", { on: { \"submit\": function($event) {\n $event.preventDefault();\n return _vm.confirm.apply(null, arguments);\n }, \"keydown\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) return null;\n if ($event.ctrlKey || $event.shiftKey || $event.altKey || $event.metaKey) return null;\n $event.stopPropagation();\n $event.preventDefault();\n return _vm.cancel.apply(null, arguments);\n }, \"click\": function($event) {\n $event.stopPropagation();\n $event.preventDefault();\n } } }, [_c(\"input\", { directives: [{ name: \"model\", rawName: \"v-model\", value: _vm.valueModel, expression: \"valueModel\" }], ref: \"input\", staticClass: \"app-navigation-input-confirm__input\", attrs: { \"type\": \"text\", \"placeholder\": _vm.placeholder }, domProps: { \"value\": _vm.valueModel }, on: { \"input\": function($event) {\n if ($event.target.composing) return;\n _vm.valueModel = $event.target.value;\n } } }), _c(\"NcButton\", { attrs: { \"aria-label\": _vm.labelConfirm, \"type\": \"submit\", \"variant\": \"primary\" }, on: { \"click\": function($event) {\n $event.stopPropagation();\n $event.preventDefault();\n return _vm.confirm.apply(null, arguments);\n } }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"ArrowRight\", { attrs: { \"size\": 20 } })];\n }, proxy: true }]) }), _c(\"NcButton\", { attrs: { \"aria-label\": _vm.labelCancel, \"type\": \"reset\", \"variant\": _vm.primary ? \"primary\" : \"tertiary\" }, on: { \"click\": function($event) {\n $event.stopPropagation();\n $event.preventDefault();\n return _vm.cancel.apply(null, arguments);\n } }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"Close\", { attrs: { \"size\": 20 } })];\n }, proxy: true }]) })], 1)]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"ac67c789\"\n);\nconst NcInputConfirmCancel = __component__.exports;\nexport {\n NcInputConfirmCancel as N\n};\n//# sourceMappingURL=NcInputConfirmCancel-Dhbj3Gad.mjs.map\n","import '../assets/NcAppNavigationItem-CdT6ce8-.css';\nimport { N as NcActions } from \"./NcActions-B4VZCD8B.mjs\";\nimport { N as NcActionButton } from \"./NcActionButton-CuVNJJtW.mjs\";\nimport NcLoadingIcon from \"../Components/NcLoadingIcon.mjs\";\nimport NcVNodes from \"../Components/NcVNodes.mjs\";\nimport NcButton from \"../Components/NcButton.mjs\";\nimport { r as register, N as t19, a as t, e as t49, O as t20 } from \"./_l10n-DQgzdF9S.mjs\";\nimport { C as ChevronDown } from \"./ChevronDown-DFQfzh63.mjs\";\nimport { C as ChevronUp } from \"./ChevronUp-C7Dy9Bph.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { useIsMobile } from \"../Composables/useIsMobile.mjs\";\nimport { N as NcInputConfirmCancel } from \"./NcInputConfirmCancel-Dhbj3Gad.mjs\";\nimport { G as GenRandomId } from \"./GenRandomId-CMooMQt0.mjs\";\nregister(t19);\nconst _sfc_main$3 = {\n name: \"NcAppNavigationIconCollapsible\",\n components: {\n NcButton,\n ChevronDown,\n ChevronUp\n },\n props: {\n open: {\n type: Boolean,\n default: true\n }\n },\n emits: [\"click\"],\n computed: {\n labelButton() {\n return this.open ? t(\"Collapse menu\") : t(\"Open menu\");\n }\n },\n methods: {\n onClick(e) {\n this.$emit(\"click\", e);\n }\n }\n};\nvar _sfc_render$3 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"NcButton\", { staticClass: \"icon-collapse\", class: { \"icon-collapse--open\": _vm.open }, attrs: { \"aria-label\": _vm.labelButton, \"variant\": \"tertiary\" }, on: { \"click\": _vm.onClick }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm.open ? _c(\"ChevronUp\", { attrs: { \"size\": 20 } }) : _c(\"ChevronDown\", { attrs: { \"size\": 20 } })];\n }, proxy: true }]) });\n};\nvar _sfc_staticRenderFns$3 = [];\nvar __component__$3 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$3,\n _sfc_render$3,\n _sfc_staticRenderFns$3,\n false,\n null,\n \"607590bd\"\n);\nconst NcAppNavigationIconCollapsible = __component__$3.exports;\nregister(t20, t49);\nconst _sfc_main$2 = {\n name: \"PencilIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$2 = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon pencil-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$2 = [];\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$2,\n _sfc_render$2,\n _sfc_staticRenderFns$2,\n false,\n null,\n null\n);\nconst Pencil = __component__$2.exports;\nconst _sfc_main$1 = {\n name: \"UndoIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$1 = function render3() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon undo-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M12.5,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n null\n);\nconst Undo = __component__$1.exports;\nconst _sfc_main = {\n name: \"NcAppNavigationItem\",\n components: {\n NcActions,\n NcActionButton,\n NcAppNavigationIconCollapsible,\n NcInputConfirmCancel,\n NcLoadingIcon,\n NcVNodes,\n Pencil,\n Undo\n },\n props: {\n /**\n * If you are not using vue-router you can use the property to set this item as the active navigation entry.\n * When using vue-router and the `to` property this is set automatically.\n */\n active: {\n type: Boolean,\n default: false\n },\n /**\n * The main text content of the entry.\n */\n name: {\n type: String,\n required: true\n },\n /**\n * The title attribute of the element.\n */\n title: {\n type: String,\n default: null\n },\n /**\n * id attribute of the list item element\n */\n id: {\n type: String,\n default: () => \"app-navigation-item-\" + GenRandomId(),\n validator: (id) => id.trim() !== \"\"\n },\n /**\n * Refers to the icon on the left, this prop accepts a class\n * like 'icon-category-enabled'.\n */\n icon: {\n type: String,\n default: \"\"\n },\n /**\n * Displays a loading animated icon on the left of the element\n * instead of the icon.\n */\n loading: {\n type: Boolean,\n default: false\n },\n /**\n * Passing in a route will make the root element of this\n * component a `<router-link />` that points to that route.\n * By leaving this blank, the root element will be a `<li>`.\n */\n to: {\n type: [String, Object],\n default: null\n },\n /**\n * A direct link. This will be used as the `href` attribute.\n * This will ignore any `to` prop being defined.\n */\n href: {\n type: String,\n default: null\n },\n /**\n * Pass in `true` if you want the matching behaviour to\n * be non-inclusive: https://router.vuejs.org/api/#exact\n */\n exact: {\n type: Boolean,\n default: false\n },\n /**\n * Gives the possibility to collapse the children elements into the\n * parent element (true) or expands the children elements (false).\n */\n allowCollapse: {\n type: Boolean,\n default: false\n },\n /**\n * Makes the name of the item editable by providing an `ActionButton`\n * component that toggles a form\n */\n editable: {\n type: Boolean,\n default: false\n },\n /**\n * Only for 'editable' items, sets label for the edit action button.\n */\n editLabel: {\n type: String,\n default: \"\"\n },\n /**\n * Only for items in 'editable' mode, sets the placeholder text for the editing form.\n */\n editPlaceholder: {\n type: String,\n default: \"\"\n },\n /**\n * Pins the item to the bottom left area, above the settings. Do not\n * place 'non-pinned' `AppnavigationItem` components below `pinned`\n * ones.\n */\n pinned: {\n type: Boolean,\n default: false\n },\n /**\n * Puts the item in the 'undo' state.\n */\n undo: {\n type: Boolean,\n default: false\n },\n /**\n * The navigation collapsible state (synced)\n */\n open: {\n type: Boolean,\n default: false\n },\n /**\n * The actions menu open state (synced)\n */\n menuOpen: {\n type: Boolean,\n default: false\n },\n /**\n * Force the actions to display in a three dot menu\n */\n forceMenu: {\n type: Boolean,\n default: false\n },\n /**\n * The action's menu default icon\n */\n menuIcon: {\n type: String,\n default: void 0\n },\n /**\n * The action's menu direction\n */\n menuPlacement: {\n type: String,\n default: \"bottom\"\n },\n /**\n * Entry aria details\n */\n ariaDescription: {\n type: String,\n default: null\n },\n /**\n * To be used only when the elements in the actions menu are very important\n */\n forceDisplayActions: {\n type: Boolean,\n default: false\n },\n /**\n * Number of action items outside the menu\n */\n inlineActions: {\n type: Number,\n default: 0\n }\n },\n emits: [\n \"update:menuOpen\",\n \"update:open\",\n \"update:name\",\n \"click\",\n \"undo\"\n ],\n setup() {\n return {\n isMobile: useIsMobile()\n };\n },\n data() {\n return {\n editingValue: \"\",\n opened: this.open,\n // Collapsible state\n editingActive: false,\n /**\n * Tracks the open state of the actions menu\n */\n menuOpenLocalValue: false,\n focused: false,\n actionsBoundariesElement: void 0\n };\n },\n computed: {\n isRouterLink() {\n return this.to && !this.href;\n },\n // Checks if the component is already a children of another\n // instance of AppNavigationItem\n canHaveChildren() {\n if (this.$parent.$options._componentTag === \"AppNavigationItem\") {\n return false;\n } else {\n return true;\n }\n },\n hasUtils() {\n if (this.$scopedSlots.actions || this.$scopedSlots.counter || this.editable || this.undo) {\n return true;\n }\n return false;\n },\n editButtonAriaLabel() {\n return this.editLabel ? this.editLabel : t(\"Edit item\");\n },\n undoButtonAriaLabel() {\n return t(\"Undo changes\");\n }\n },\n watch: {\n open(newVal) {\n this.opened = newVal;\n }\n },\n mounted() {\n this.actionsBoundariesElement = document.querySelector(\"#content-vue\") || void 0;\n },\n methods: {\n // sync opened menu state with prop\n onMenuToggle(state) {\n this.$emit(\"update:menuOpen\", state);\n this.menuOpenLocalValue = state;\n },\n // toggle the collapsible state\n toggleCollapse() {\n this.opened = !this.opened;\n this.$emit(\"update:open\", this.opened);\n },\n /**\n * Handle link click\n *\n * @param {PointerEvent} event - Native click event\n * @param {Function} [navigate] - VueRouter link's navigate if any\n * @param {string} [routerLinkHref] - VueRouter link's href\n */\n onClick(event, navigate, routerLinkHref) {\n this.$emit(\"click\", event);\n if (event.metaKey || event.altKey || event.ctrlKey || event.shiftKey) {\n return;\n }\n if (routerLinkHref) {\n navigate?.(event);\n event.preventDefault();\n }\n },\n // Edition methods\n handleEdit() {\n this.editingValue = this.name;\n this.editingActive = true;\n this.onMenuToggle(false);\n this.$nextTick(() => {\n this.$refs.editingInput.focusInput();\n });\n },\n cancelEditing() {\n this.editingActive = false;\n },\n handleEditingDone() {\n this.$emit(\"update:name\", this.editingValue);\n this.editingValue = \"\";\n this.editingActive = false;\n },\n // Undo methods\n handleUndo() {\n this.$emit(\"undo\");\n },\n /**\n * Does this item have children and is collapsing allowed via the prop?\n *\n * @return {boolean} True, if the item can be collapsed\n */\n isCollapsible() {\n return this.allowCollapse && !!this.$scopedSlots.default;\n },\n /**\n * Show actions upon focus\n */\n handleFocus() {\n this.focused = true;\n },\n handleBlur() {\n this.focused = false;\n },\n /**\n * This method checks if the root element of the component is focused and\n * if that's the case it focuses the actions button if available\n *\n * @param {Event} e the keydown event\n */\n handleTab(e) {\n if (!this.$refs.actions) {\n return;\n }\n if (this.focused) {\n e.preventDefault();\n this.$refs.actions.$refs.triggerButton.$el.focus();\n this.focused = false;\n } else {\n this.$refs.actions.$refs.triggerButton.$el.blur();\n }\n },\n /**\n * Is this an external link\n *\n * @param {string} href The link to check\n * @return {boolean} Whether it is external or not\n */\n isExternal(href) {\n return href && href.match(/[a-z]+:\\/\\//i);\n }\n }\n};\nvar _sfc_render = function render4() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"li\", { staticClass: \"app-navigation-entry-wrapper\", class: {\n \"app-navigation-entry--opened\": _vm.opened,\n \"app-navigation-entry--pinned\": _vm.pinned,\n \"app-navigation-entry--collapsible\": _vm.isCollapsible()\n }, attrs: { \"id\": _vm.id } }, [_c(_vm.isRouterLink ? \"router-link\" : \"NcVNodes\", { tag: \"component\", attrs: { \"custom\": _vm.isRouterLink ? true : false, \"to\": _vm.to, \"exact\": _vm.isRouterLink ? _vm.exact : null }, scopedSlots: _vm._u([{ key: \"default\", fn: function({ href: routerLinkHref, navigate, isActive }) {\n return [_c(\"div\", { staticClass: \"app-navigation-entry\", class: {\n \"app-navigation-entry--editing\": _vm.editingActive,\n \"app-navigation-entry--deleted\": _vm.undo,\n \"active\": isActive && _vm.to || _vm.active\n } }, [!_vm.undo ? _c(\"a\", { staticClass: \"app-navigation-entry-link\", attrs: { \"aria-current\": _vm.active || isActive && _vm.to ? \"page\" : void 0, \"aria-description\": _vm.ariaDescription, \"aria-expanded\": _vm.$scopedSlots.default ? _vm.opened.toString() : void 0, \"href\": _vm.href || routerLinkHref || \"#\", \"target\": _vm.isExternal(_vm.href) ? \"_blank\" : void 0, \"title\": _vm.title || _vm.name }, on: { \"blur\": _vm.handleBlur, \"click\": function($event) {\n return _vm.onClick($event, navigate, routerLinkHref);\n }, \"focus\": _vm.handleFocus, \"keydown\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"tab\", 9, $event.key, \"Tab\")) return null;\n if ($event.ctrlKey || $event.shiftKey || $event.altKey || $event.metaKey) return null;\n return _vm.handleTab.apply(null, arguments);\n } } }, [_c(\"div\", { staticClass: \"app-navigation-entry-icon\", class: { [_vm.icon]: _vm.icon } }, [_vm.loading ? _c(\"NcLoadingIcon\") : _vm._t(\"icon\")], 2), !_vm.editingActive ? _c(\"span\", { staticClass: \"app-navigation-entry__name\" }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \")]) : _vm._e(), _vm.editingActive ? _c(\"div\", { staticClass: \"editingContainer\" }, [_c(\"NcInputConfirmCancel\", { ref: \"editingInput\", attrs: { \"placeholder\": _vm.editPlaceholder !== \"\" ? _vm.editPlaceholder : _vm.name, \"primary\": isActive && _vm.to || _vm.active }, on: { \"cancel\": _vm.cancelEditing, \"confirm\": _vm.handleEditingDone }, model: { value: _vm.editingValue, callback: function($$v) {\n _vm.editingValue = $$v;\n }, expression: \"editingValue\" } })], 1) : _vm._e()]) : _vm._e(), _vm.undo ? _c(\"div\", { staticClass: \"app-navigation-entry__deleted\" }, [_c(\"div\", { staticClass: \"app-navigation-entry__deleted-description\" }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \")])]) : _vm._e(), _vm.hasUtils && !_vm.editingActive ? _c(\"div\", { staticClass: \"app-navigation-entry__utils\", class: { \"app-navigation-entry__utils--display-actions\": _vm.forceDisplayActions || _vm.menuOpenLocalValue || _vm.menuOpen } }, [_vm.$scopedSlots.counter ? _c(\"div\", { staticClass: \"app-navigation-entry__counter-wrapper\" }, [_vm._t(\"counter\")], 2) : _vm._e(), _vm.$scopedSlots.actions || _vm.editable && !_vm.editingActive || _vm.undo ? _c(\"NcActions\", { ref: \"actions\", staticClass: \"app-navigation-entry__actions\", attrs: { \"inline\": _vm.inlineActions, \"container\": \"#app-navigation-vue\", \"boundaries-element\": _vm.actionsBoundariesElement, \"placement\": _vm.menuPlacement, \"open\": _vm.menuOpen, \"type\": isActive && _vm.to || _vm.active ? \"primary\" : null, \"force-menu\": _vm.forceMenu, \"default-icon\": _vm.menuIcon }, on: { \"update:open\": _vm.onMenuToggle }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm._t(\"menu-icon\")];\n }, proxy: true }], null, true) }, [_vm.editable && !_vm.editingActive ? _c(\"NcActionButton\", { attrs: { \"aria-label\": _vm.editButtonAriaLabel }, on: { \"click\": _vm.handleEdit }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"Pencil\", { attrs: { \"size\": 20 } })];\n }, proxy: true }], null, true) }, [_vm._v(\" \" + _vm._s(_vm.editLabel) + \" \")]) : _vm._e(), _vm.undo ? _c(\"NcActionButton\", { attrs: { \"aria-label\": _vm.undoButtonAriaLabel }, on: { \"click\": _vm.handleUndo }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"Undo\", { attrs: { \"size\": 20 } })];\n }, proxy: true }], null, true) }) : _vm._e(), _vm._t(\"actions\")], 2) : _vm._e()], 1) : _vm._e(), _vm.isCollapsible() ? _c(\"NcAppNavigationIconCollapsible\", { attrs: { \"open\": _vm.opened }, on: { \"click\": function($event) {\n $event.preventDefault();\n $event.stopPropagation();\n return _vm.toggleCollapse.apply(null, arguments);\n } } }) : _vm._e(), _vm._t(\"extra\")], 2)];\n } }], null, true) }), _vm.canHaveChildren && _vm.$scopedSlots.default ? _c(\"ul\", { staticClass: \"app-navigation-entry__children\" }, [_vm._t(\"default\")], 2) : _vm._e()], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"54906a49\"\n);\nconst NcAppNavigationItem = __component__.exports;\nexport {\n NcAppNavigationItem as N\n};\n//# sourceMappingURL=NcAppNavigationItem-CrTVtqYV.mjs.map\n","const clickOutsideOptions = {\n props: {\n /**\n * A query-selector or an array of query-selectors\n * to be ignored when clicking outside an element\n */\n excludeClickOutsideSelectors: {\n type: [String, Array],\n default: () => []\n }\n },\n computed: {\n clickOutsideOptions() {\n const excludedQuerySelectors = Array.isArray(this.excludeClickOutsideSelectors) ? this.excludeClickOutsideSelectors : [this.excludeClickOutsideSelectors];\n return { ignore: excludedQuerySelectors };\n }\n }\n};\nexport {\n clickOutsideOptions as default\n};\n//# sourceMappingURL=clickOutsideOptions.mjs.map\n","import '../assets/NcMentionBubble-CB5c5ue2.css';\nimport '../assets/NcAppNavigationSettings-vd47rlNY.css';\nimport { r as register, x as t45, a as t } from \"./_l10n-DQgzdF9S.mjs\";\nimport clickOutsideOptions from \"../Mixins/clickOutsideOptions.mjs\";\nimport \"../Composables/useIsFullscreen.mjs\";\nimport \"../Composables/useIsMobile.mjs\";\nimport \"@nextcloud/router\";\n/* empty css */\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport \"escape-html\";\nimport \"striptags\";\nimport \"vue\";\nimport \"@nextcloud/auth\";\nimport \"@nextcloud/axios\";\nimport \"@nextcloud/capabilities\";\nimport { vOnClickOutside } from \"@vueuse/components\";\nregister(t45);\nconst _sfc_main$1 = {\n name: \"CogIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$1 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon cog-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n null\n);\nconst Cog = __component__$1.exports;\nconst _sfc_main = {\n directives: {\n ClickOutside: vOnClickOutside\n },\n components: {\n Cog\n },\n mixins: [\n clickOutsideOptions\n ],\n props: {\n name: {\n type: String,\n required: false,\n default: t(\"Settings\")\n }\n },\n data() {\n return {\n open: false\n };\n },\n computed: {\n clickOutsideConfig() {\n return [\n this.closeMenu,\n this.clickOutsideOptions\n ];\n }\n },\n methods: {\n toggleMenu() {\n this.open = !this.open;\n },\n closeMenu() {\n this.open = false;\n }\n }\n};\nvar _sfc_render = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { directives: [{ name: \"click-outside\", rawName: \"v-click-outside\", value: _vm.clickOutsideConfig, expression: \"clickOutsideConfig\" }], class: { open: _vm.open }, attrs: { \"id\": \"app-settings\" } }, [_c(\"div\", { attrs: { \"id\": \"app-settings__header\" } }, [_c(\"button\", { staticClass: \"settings-button\", attrs: { \"type\": \"button\", \"aria-expanded\": _vm.open ? \"true\" : \"false\", \"aria-controls\": \"app-settings__content\" }, on: { \"click\": _vm.toggleMenu } }, [_c(\"Cog\", { staticClass: \"settings-button__icon\", attrs: { \"size\": 20 } }), _c(\"span\", { staticClass: \"settings-button__label\" }, [_vm._v(_vm._s(_vm.name))])], 1)]), _c(\"Transition\", { attrs: { \"name\": \"slide-up\" } }, [_c(\"div\", { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.open, expression: \"open\" }], attrs: { \"id\": \"app-settings__content\" } }, [_vm._t(\"default\")], 2)])], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"d278a327\"\n);\nconst NcAppNavigationSettings = __component__.exports;\nexport {\n NcAppNavigationSettings as N\n};\n//# sourceMappingURL=NcAppNavigationSettings-JruJ3cF1.mjs.map\n","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : true\"\n :aria-label=\"title\"\n class=\"material-design-icon content-copy-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z\">\n <title v-if=\"title\">{{ title }}\n \n \n \n\n\n","\n\n\n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { RouteConfig } from 'vue-router'\nimport ActivityAppFeed from './views/ActivityAppFeed.vue'\nimport ActivityAppNavigation from './views/ActivityAppNavigation.vue'\n\nexport const routes = [\n\t{\n\t\tpath: '/',\n\t\tname: 'root',\n\t\tredirect: { path: '/all' },\n\t},\n\t{\n\t\tpath: '/:filter?',\n\t\tcomponents: {\n\t\t\tdefault: ActivityAppFeed,\n\t\t\tnavigation: ActivityAppNavigation,\n\t\t},\n\t\tprops: {\n\t\t\tdefault: true,\n\t\t},\n\t},\n] as RouteConfig[]\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport Vue from 'vue'\nimport VueRouter from 'vue-router'\nimport ActivityApp from './views/ActivityApp.vue'\n\nimport { translate, translatePlural } from '@nextcloud/l10n'\nimport { generateUrl } from '@nextcloud/router'\n\nimport { routes } from './routes'\n\n// Set up Vue\nVue.prototype.t = translate\nVue.prototype.n = translatePlural\n\nVue.use(VueRouter)\n\nconst router = new VueRouter({\n\tmode: 'history',\n\tbase: generateUrl('/apps/activity'),\n\tlinkActiveClass: 'active',\n\troutes,\n})\n\nexport default new Vue({\n\tel: '#content',\n\t// eslint-disable-next-line vue/match-component-file-name\n\tname: 'ActivityRoot',\n\trouter,\n\trender: h => h(ActivityApp),\n})\n"],"names":["urlAlphabet","nanoid","size","id","_typeof","obj","config","setSelector","selector","isBrowser","TargetContainer","Vue","vm","h","nodes","el","Portal","_this","disabled","parent","child","targetEl","install","_Vue","options","register","t28","contentSvg","navigationSvg","_sfc_main","NcButton","NcIconSvgWrapper","useIsMobile","container","t","emit","value","_sfc_render","_vm","_c","$event","_sfc_staticRenderFns","__component__","normalizeComponent","NcContent","__defProp","__defProps","__getOwnPropDescs","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","key","__spreadValues","a","b","prop","__spreadProps","__objRest","source","exclude","target","scriptExports","render2","staticRenderFns2","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","originalRender","context","existing","__vue2_script$1","pane2","event","splitterIndex","totalMinSizes","i","paneId","rect","clientX","clientY","drag","containerSize","sums","minDrag","maxDrag","dragPercentage","panesToResize","paneBefore","paneAfter","paneBeforeMaxReached","paneAfterMaxReached","vars","total","p","isPane","isSplitter","paneIndex","nextPaneNode","isVeryFirst","elm","node","children","_a","_b","args","index","min","max","pane3","removed","changedPanes","equalSpace","leftToAllocate","ungrowable","unshrinkable","definedSizes","leftToAllocate2","addedPane","removedPane","equalSpaceToAllocate","newPaneSize","allocated","enable","splitter","__vue2_render","__vue2_staticRenderFns","__cssModules$1","__component__$1","__vue2_injectStyles$1","o","splitpanes","render","_h","staticRenderFns","__vue2_script","style","__cssModules","__vue2_injectStyles","pane","ArrowRight","ArrowLeft","isRtl","isRTL","t25","_sfc_main$1","hide","appNavigationToggle","_sfc_render$1","_sfc_staticRenderFns$1","NcAppDetailsToggle","browserStorage","getBuilder","productName","loadState","activeApp","appName","localizedAppName","Pane","Splitpanes","entries","useSwipe","e","direction","listPaneSize","NcAppContent","ChevronDown","$placeholder","$fakeParent","$nextSiblingPatched","$childNodesPatched","isFrag","parentNodeDescriptor","patchParentNode","fakeParent","nextSiblingDescriptor","childNodes","patchNextSibling","getTopFragment","fromParent","_node","parentNode","getChildNodes","getChildNodesWithFragments","_childNodesDescriptor","realChildNodes","childNode","childNodesDescriptor","firstChildDescriptor","hasChildNodes","patchChildNodes","before","_this$frag$","remove","frag","getFragmentLeafNodes","_Array$prototype","addPlaceholder","insertBeforeNode","placeholder","removeChild","hasChildInFragment","_this$frag$splice","removedNode","hasChild","insertBefore","insertNode","insertNodes","_frag","_lastNode","removePlaceholder","lastNode","appendChild","lastChild","innerHTMLDescriptor","htmlString","_this2","domify","element","nextSibling","previousSibling","fragment","dateText","computed","today","moment","yesterday","first","props","fullDate","formatted","appIconSVG","tryOnScopeDispose","fn","getCurrentScope","onScopeDispose","toValue","r","unref","isClient","notNullish","val","toString","isObject","noop","createFilterWrapper","filter","wrapper","resolve","reject","debounceFilter","ms","timer","maxTimer","lastRejector","_clearTimeout","timer2","invoke","duration","maxDuration","throttleFilter","lastExec","isLeading","lastValue","trailing","leading","rejectOnCancel","isRef","clear","_invoke","elapsed","getLifeCycleTarget","getCurrentInstance","useDebounceFn","useThrottleFn","tryOnMounted","sync","onMounted","nextTick","unrefElement","elRef","plain","defaultWindow","useEventListener","events","listeners","cleanups","cleanup","listener","options2","stopWatch","watch","optionsClone","stop","useMounted","isMounted","ref","useSupported","callback","useIntersectionObserver","root","rootMargin","threshold","window","immediate","isSupported","targets","_target","isActive","targets2","root2","observer","useElementVisibility","scrollTarget","elementIsVisible","intersectionObserverEntries","isIntersecting","latestTime","entry","ARRIVED_STATE_THRESHOLD_PIXELS","useScroll","throttle","idle","onStop","onScroll","offset","eventListenerOptions","behavior","onError","internalX","internalY","x","x2","scrollTo","y","y2","_x","_y","_element","isScrolling","arrivedState","reactive","directions","onScrollEnd","onScrollEndDebounced","setArrivedState","display","flexDirection","scrollLeft","left","right","scrollTop","top","bottom","onScrollHandler","eventTarget","resolveElement","useInfiniteScroll","onLoadMore","interval","canLoadMore","state","promise","isLoading","observedElement","isElementVisible","checkAndLoad","scrollHeight","clientHeight","scrollWidth","clientWidth","isNarrower","useRoute","route","effectScope","shallowReactive","to","navigationList","loading","hasMoreActivites","allActivities","lastActivityLoaded","loadActivities","groupedActivities","groups","activity","date","headingTitle","navigationEl","since","response","ncAxios","generateOcsUrl","raw","ActivityModel","error","axios","logger","showError","disableKeyboardShortcuts","isMac","shouldIgnoreEvent","eventHandler","useHotKey","keysOrFilter","validateKeyEvent","keyFilter","stopKeyDown","onKeyStroke","stopKeyUp","NcAppNavigationList","t18","_sfc_main$2","_sfc_render$2","_sfc_staticRenderFns$2","__component__$2","MenuIcon","MenuOpenIcon","NcAppNavigationToggle","subscribe","createFocusTrap","getTrapStack","unsubscribe","bodyStyles","animationLength","open","tabbable","activeElement","NcAppNavigation","NcVNodes","ChevronUp","t12","Close","newValue","NcInputConfirmCancel","t19","_sfc_main$3","_sfc_render$3","_sfc_staticRenderFns$3","__component__$3","NcAppNavigationIconCollapsible","t20","t49","Pencil","Undo","NcActions","NcActionButton","NcLoadingIcon","GenRandomId","newVal","navigate","routerLinkHref","href","$$v","NcAppNavigationItem","clickOutsideOptions","t45","Cog","vOnClickOutside","NcAppNavigationSettings","initialRSSLink","personalSettingsLink","rssLink","hasRSSLink","toggleRSSLink","data","generateUrl","copyRSSLink","showSuccess","routes","ActivityAppFeed","ActivityAppNavigation","translate","translatePlural","VueRouter","router","ActivityApp"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,11,12,13,14,15,17,18,19,20,21,22,23,24,25,26,27]} \ No newline at end of file diff --git a/js/activity-personalSettings.mjs b/js/activity-personalSettings.mjs index 5f5dba527..3235ffc3f 100644 --- a/js/activity-personalSettings.mjs +++ b/js/activity-personalSettings.mjs @@ -1,4 +1,4 @@ (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode(".activity-frequency__label[data-v-778e414b]{margin-top:24px;display:inline-block}.notification-frequency__select[data-v-778e414b]{margin-left:calc(var(--default-grid-baseline) * 2)}")),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})(); /*! third party licenses: js/vendor.LICENSE.txt */ -import{t as m,V as a,h as y}from"./translation-CD_FiYBO-Bp9rUH-Z.chunk.mjs";import{m as s,a as c,A as E,N as l,i as u,s as r}from"./settings-store-6OGajY3U.chunk.mjs";import{c as o,y as _}from"./NcCheckboxRadioSwitch-Di9rSADK-CehrbmLY.chunk.mjs";import"./_commonjsHelpers-BdswosdL.chunk.mjs";import"./NcNoteCard-C6xb7vi0-CJnlz_LH.chunk.mjs";import"./logger-BtUR_6uh.chunk.mjs";const v={EmailFrequency:{EMAIL_SEND_HOURLY:0,EMAIL_SEND_DAILY:1,EMAIL_SEND_WEEKLY:2,EMAIL_SEND_ASAP:3}},d={name:"EmailSettings",data(){return{EmailFrequency:v.EmailFrequency}},computed:{...c(["emailEnabled","isEmailSet","settingBatchtime"])},methods:{...s(["setSettingBatchtime"])}};var g=function(){var e=this,i=e._self._c;return e.emailEnabled?i("div",[e.isEmailSet?e._e():i("p",[i("strong",[e._v(e._s(e.t("activity","You need to set up your email address before you can receive notification emails.")))])]),i("p",[i("label",{staticClass:"activity-frequency__label",attrs:{for:"activity_setting_batchtime"}},[e._v(" "+e._s(e.t("activity","Send activity emails"))+" ")]),i("select",{staticClass:"notification-frequency__select",attrs:{id:"activity_setting_batchtime",name:"activity_setting_batchtime"},on:{change:function(n){return e.setSettingBatchtime({settingBatchtime:n.target.value})}}},[i("option",{domProps:{value:e.EmailFrequency.EMAIL_SEND_ASAP,selected:e.settingBatchtime===e.EmailFrequency.EMAIL_SEND_ASAP}},[e._v(" "+e._s(e.t("activity","As soon as possible"))+" ")]),i("option",{domProps:{value:e.EmailFrequency.EMAIL_SEND_HOURLY,selected:e.settingBatchtime===e.EmailFrequency.EMAIL_SEND_HOURLY}},[e._v(" "+e._s(e.t("activity","Hourly"))+" ")]),i("option",{domProps:{value:e.EmailFrequency.EMAIL_SEND_DAILY,selected:e.settingBatchtime===e.EmailFrequency.EMAIL_SEND_DAILY}},[e._v(" "+e._s(e.t("activity","Daily"))+" ")]),i("option",{domProps:{value:e.EmailFrequency.EMAIL_SEND_WEEKLY,selected:e.settingBatchtime===e.EmailFrequency.EMAIL_SEND_WEEKLY}},[e._v(" "+e._s(e.t("activity","Weekly"))+" ")])])])]):e._e()},p=[],h=o(d,g,p,!1,null,"778e414b");const S=h.exports,A={name:"UserSettings",components:{NcSettingsSection:l,EmailSettings:S,ActivityGrid:E},computed:{...c({emailEnabled:"emailEnabled"}),settingDescription(){return this.emailEnabled?t("activity","Choose for which activities you want to get an email or push notification."):t("activity","Choose for which activities you want to get a push notification.")}},mounted(){this.setEndpoint({endpoint:"/apps/activity/settings"})},methods:{...s(["setEndpoint","toggleEmailEnabled"])}};var D=function(){var e=this,i=e._self._c;return i("NcSettingsSection",{attrs:{name:e.t("activity","Activity"),description:e.settingDescription}},[i("ActivityGrid"),i("EmailSettings")],1)},b=[],f=o(A,D,b,!1,null,null);const L=f.exports,N={name:"DailySummary",components:{NcCheckboxRadioSwitch:_,NcSettingsSection:l},computed:{...c(["activityDigestEnabled"])},mounted(){this.setEndpoint({endpoint:"/apps/activity/settings"})},methods:{...s(["setEndpoint","toggleActivityDigestEnabled"])}};var I=function(){var e=this,i=e._self._c;return i("NcSettingsSection",{attrs:{name:e.t("activity","Daily activity summary")}},[i("NcCheckboxRadioSwitch",{attrs:{"data-cy-checkbox":"",checked:e.activityDigestEnabled},on:{"update:checked":function(n){return e.toggleActivityDigestEnabled({activityDigestEnabled:n})}}},[e._v(" "+e._s(e.t("activity","Send daily activity summary in the morning"))+" ")])],1)},q=[],M=o(N,I,q,!1,null,null);const F=M.exports;a.prototype.t=m,a.prototype.n=y,a.use(u),new a({el:"#activity-user-settings",store:r,name:"ActivityPersonalSettings",render:e=>e(L)}),new a({el:"#activity-digest-user-settings",name:"ActivityDigestPersonalSettings",store:r,render:e=>e(F)}); +import{t as m,V as a,j as y}from"./translation-CD_FiYBO-DvZn3gAh.chunk.mjs";import{m as s,a as c,A as E,N as l,i as u,s as r}from"./settings-store-BLIAUhmj.chunk.mjs";import{c as o,y as _}from"./NcCheckboxRadioSwitch-VeztTzpz-H8x3F-aj.chunk.mjs";import"./_commonjsHelpers-BdswosdL.chunk.mjs";import"./NcNoteCard-C6xb7vi0-CtgaeahG.chunk.mjs";import"./logger-BtUR_6uh.chunk.mjs";const v={EmailFrequency:{EMAIL_SEND_HOURLY:0,EMAIL_SEND_DAILY:1,EMAIL_SEND_WEEKLY:2,EMAIL_SEND_ASAP:3}},d={name:"EmailSettings",data(){return{EmailFrequency:v.EmailFrequency}},computed:{...c(["emailEnabled","isEmailSet","settingBatchtime"])},methods:{...s(["setSettingBatchtime"])}};var g=function(){var e=this,i=e._self._c;return e.emailEnabled?i("div",[e.isEmailSet?e._e():i("p",[i("strong",[e._v(e._s(e.t("activity","You need to set up your email address before you can receive notification emails.")))])]),i("p",[i("label",{staticClass:"activity-frequency__label",attrs:{for:"activity_setting_batchtime"}},[e._v(" "+e._s(e.t("activity","Send activity emails"))+" ")]),i("select",{staticClass:"notification-frequency__select",attrs:{id:"activity_setting_batchtime",name:"activity_setting_batchtime"},on:{change:function(n){return e.setSettingBatchtime({settingBatchtime:n.target.value})}}},[i("option",{domProps:{value:e.EmailFrequency.EMAIL_SEND_ASAP,selected:e.settingBatchtime===e.EmailFrequency.EMAIL_SEND_ASAP}},[e._v(" "+e._s(e.t("activity","As soon as possible"))+" ")]),i("option",{domProps:{value:e.EmailFrequency.EMAIL_SEND_HOURLY,selected:e.settingBatchtime===e.EmailFrequency.EMAIL_SEND_HOURLY}},[e._v(" "+e._s(e.t("activity","Hourly"))+" ")]),i("option",{domProps:{value:e.EmailFrequency.EMAIL_SEND_DAILY,selected:e.settingBatchtime===e.EmailFrequency.EMAIL_SEND_DAILY}},[e._v(" "+e._s(e.t("activity","Daily"))+" ")]),i("option",{domProps:{value:e.EmailFrequency.EMAIL_SEND_WEEKLY,selected:e.settingBatchtime===e.EmailFrequency.EMAIL_SEND_WEEKLY}},[e._v(" "+e._s(e.t("activity","Weekly"))+" ")])])])]):e._e()},p=[],S=o(d,g,p,!1,null,"778e414b");const h=S.exports,A={name:"UserSettings",components:{NcSettingsSection:l,EmailSettings:h,ActivityGrid:E},computed:{...c({emailEnabled:"emailEnabled"}),settingDescription(){return this.emailEnabled?t("activity","Choose for which activities you want to get an email or push notification."):t("activity","Choose for which activities you want to get a push notification.")}},mounted(){this.setEndpoint({endpoint:"/apps/activity/settings"})},methods:{...s(["setEndpoint","toggleEmailEnabled"])}};var D=function(){var e=this,i=e._self._c;return i("NcSettingsSection",{attrs:{name:e.t("activity","Activity"),description:e.settingDescription}},[i("ActivityGrid"),i("EmailSettings")],1)},b=[],f=o(A,D,b,!1,null,null);const L=f.exports,N={name:"DailySummary",components:{NcCheckboxRadioSwitch:_,NcSettingsSection:l},computed:{...c(["activityDigestEnabled"])},mounted(){this.setEndpoint({endpoint:"/apps/activity/settings"})},methods:{...s(["setEndpoint","toggleActivityDigestEnabled"])}};var I=function(){var e=this,i=e._self._c;return i("NcSettingsSection",{attrs:{name:e.t("activity","Daily activity summary")}},[i("NcCheckboxRadioSwitch",{attrs:{"data-cy-checkbox":"",checked:e.activityDigestEnabled},on:{"update:checked":function(n){return e.toggleActivityDigestEnabled({activityDigestEnabled:n})}}},[e._v(" "+e._s(e.t("activity","Send daily activity summary in the morning"))+" ")])],1)},q=[],M=o(N,I,q,!1,null,null);const F=M.exports;a.prototype.t=m,a.prototype.n=y,a.use(u),new a({el:"#activity-user-settings",store:r,name:"ActivityPersonalSettings",render:e=>e(L)}),new a({el:"#activity-digest-user-settings",name:"ActivityDigestPersonalSettings",store:r,render:e=>e(F)}); //# sourceMappingURL=activity-personalSettings.mjs.map diff --git a/js/activity-sidebar.mjs b/js/activity-sidebar.mjs index 865283ce6..2bdd2a275 100644 --- a/js/activity-sidebar.mjs +++ b/js/activity-sidebar.mjs @@ -1,4 +1,4 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[OC.filePath('activity', '', 'js/ActivityTab-CN3bF_1C.chunk.mjs'),OC.filePath('activity', '', 'js/NcCheckboxRadioSwitch-Di9rSADK-CehrbmLY.chunk.mjs'),OC.filePath('activity', '', 'js/translation-CD_FiYBO-Bp9rUH-Z.chunk.mjs'),OC.filePath('activity', '', 'js/_commonjsHelpers-BdswosdL.chunk.mjs'),OC.filePath('activity', '', 'js/logger-BtUR_6uh.chunk.mjs'),OC.filePath('activity', '', 'js/Activity-CMUHXdF1.chunk.mjs'),OC.filePath('activity', '', 'js/preload-helper-CfzTJz-5.chunk.mjs'),OC.filePath('activity', '', 'js/api-CHOoGFcp.chunk.mjs')])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[OC.filePath('activity', '', 'js/ActivityTab-CUH-IiNN.chunk.mjs'),OC.filePath('activity', '', 'js/NcCheckboxRadioSwitch-VeztTzpz-H8x3F-aj.chunk.mjs'),OC.filePath('activity', '', 'js/translation-CD_FiYBO-DvZn3gAh.chunk.mjs'),OC.filePath('activity', '', 'js/_commonjsHelpers-BdswosdL.chunk.mjs'),OC.filePath('activity', '', 'js/logger-BtUR_6uh.chunk.mjs'),OC.filePath('activity', '', 'js/Activity-D9_OQEhb.chunk.mjs'),OC.filePath('activity', '', 'js/preload-helper-CfzTJz-5.chunk.mjs'),OC.filePath('activity', '', 'js/api-CHOoGFcp.chunk.mjs')])))=>i.map(i=>d[i]); /*! third party licenses: js/vendor.LICENSE.txt */ -import{_ as o}from"./preload-helper-CfzTJz-5.chunk.mjs";import{t as r,V as i,h as u}from"./translation-CD_FiYBO-Bp9rUH-Z.chunk.mjs";import"./_commonjsHelpers-BdswosdL.chunk.mjs";const p='';i.prototype.t=r,i.prototype.n=u;let e=null,t=null;const c=new OCA.Files.Sidebar.Tab({id:"activity",name:r("activity","Activity"),iconSvg:p,async mount(a,n,s){if(e===null){const{default:d}=await o(async()=>{const{default:l}=await import("./ActivityTab-CN3bF_1C.chunk.mjs");return{default:l}},__vite__mapDeps([0,1,2,3,4,5,6,7]),import.meta.url);e=e??i.extend(d)}t&&t.$destroy(),t=new e({parent:s}),t.update(n),t.$mount(a)},update(a){t.update(a)},destroy(){t.$destroy(),t=null}});window.addEventListener("DOMContentLoaded",async function(){if(OCA.Files&&OCA.Files.Sidebar){OCA.Files.Sidebar.registerTab(c);const{default:a}=await o(async()=>{const{default:n}=await import("./ActivityTab-CN3bF_1C.chunk.mjs");return{default:n}},__vite__mapDeps([0,1,2,3,4,5,6,7]),import.meta.url);e=e??i.extend(a)}});export{p as l}; +import{_ as o}from"./preload-helper-CfzTJz-5.chunk.mjs";import{t as r,V as i,j as u}from"./translation-CD_FiYBO-DvZn3gAh.chunk.mjs";import"./_commonjsHelpers-BdswosdL.chunk.mjs";const p='';i.prototype.t=r,i.prototype.n=u;let e=null,t=null;const c=new OCA.Files.Sidebar.Tab({id:"activity",name:r("activity","Activity"),iconSvg:p,async mount(a,n,s){if(e===null){const{default:d}=await o(async()=>{const{default:l}=await import("./ActivityTab-CUH-IiNN.chunk.mjs");return{default:l}},__vite__mapDeps([0,1,2,3,4,5,6,7]),import.meta.url);e=e??i.extend(d)}t&&t.$destroy(),t=new e({parent:s}),t.update(n),t.$mount(a)},update(a){t.update(a)},destroy(){t.$destroy(),t=null}});window.addEventListener("DOMContentLoaded",async function(){if(OCA.Files&&OCA.Files.Sidebar){OCA.Files.Sidebar.registerTab(c);const{default:a}=await o(async()=>{const{default:n}=await import("./ActivityTab-CUH-IiNN.chunk.mjs");return{default:n}},__vite__mapDeps([0,1,2,3,4,5,6,7]),import.meta.url);e=e??i.extend(a)}});export{p as l}; //# sourceMappingURL=activity-sidebar.mjs.map diff --git a/js/index-TN0j_P7L.chunk.mjs b/js/index-BFmiKpwM.chunk.mjs similarity index 99% rename from js/index-TN0j_P7L.chunk.mjs rename to js/index-BFmiKpwM.chunk.mjs index 6bd16ff23..f53792064 100644 --- a/js/index-TN0j_P7L.chunk.mjs +++ b/js/index-BFmiKpwM.chunk.mjs @@ -1,9 +1,9 @@ /*! third party licenses: js/vendor.LICENSE.txt */ -import{g as Zn}from"./_commonjsHelpers-BdswosdL.chunk.mjs";import{d as Wn,e as be,f as Xn}from"./Activity-CMUHXdF1.chunk.mjs";import"./NcCheckboxRadioSwitch-Di9rSADK-CehrbmLY.chunk.mjs";import"./translation-CD_FiYBO-Bp9rUH-Z.chunk.mjs";import"./logger-BtUR_6uh.chunk.mjs";import"./preload-helper-CfzTJz-5.chunk.mjs";const Ze=function(e,n,t){const a=Wn(t);if(!e||!e.type||!e.children)throw new Error("Expected parent node");if(typeof n=="number"){if(n<0||n===Number.POSITIVE_INFINITY)throw new Error("Expected positive finite number as index")}else if(n=e.children.indexOf(n),n<0)throw new Error("Expected child node or index");for(;++nl&&(l=d):d&&(l!==void 0&&l>-1&&o.push(` +import{g as Zn}from"./_commonjsHelpers-BdswosdL.chunk.mjs";import{d as Wn,e as be,f as Xn}from"./Activity-D9_OQEhb.chunk.mjs";import"./NcCheckboxRadioSwitch-VeztTzpz-H8x3F-aj.chunk.mjs";import"./translation-CD_FiYBO-DvZn3gAh.chunk.mjs";import"./logger-BtUR_6uh.chunk.mjs";import"./preload-helper-CfzTJz-5.chunk.mjs";const Ze=function(e,n,t){const a=Wn(t);if(!e||!e.type||!e.children)throw new Error("Expected parent node");if(typeof n=="number"){if(n<0||n===Number.POSITIVE_INFINITY)throw new Error("Expected positive finite number as index")}else if(n=e.children.indexOf(n),n<0)throw new Error("Expected child node or index");for(;++nl&&(l=d):d&&(l!==void 0&&l>-1&&o.push(` `.repeat(l)||" "),l=-1,o.push(d))}return o.join("")}function bn(e,n,t){return e.type==="element"?Yn(e,n,t):e.type==="text"?t.whitespace==="normal"?pn(e,t):et(e):[]}function Yn(e,n,t){const a=mn(e,t),s=e.children||[];let c=-1,i=[];if(Vn(e))return i;let r,o;for(je(e)||Ve(e)&&Ze(n,e,Ve)?o=` `:Qn(e)?(r=2,o=2):un(e)&&(r=1,o=1);++c]+>")+")",i={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},r={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},o={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},l={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(r,{className:"string"}),{className:"string",begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},d={className:"title",begin:n.optional(s)+e.IDENT_RE,relevance:0},p=n.optional(s)+e.IDENT_RE+"\\s*\\(",g=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],h=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],_=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],f=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],y={type:h,keyword:g,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:_},v={className:"function.dispatch",relevance:0,keywords:{_hint:f},begin:n.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,n.lookahead(/(<[^<>]+>|)\s*\(/))},k=[v,l,i,t,e.C_BLOCK_COMMENT_MODE,o,r],O={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:y,contains:k.concat([{begin:/\(/,end:/\)/,keywords:y,contains:k.concat(["self"]),relevance:0}]),relevance:0},S={className:"function",begin:"("+c+"[\\*&\\s]+)+"+p,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:y,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:y,relevance:0},{begin:p,returnBegin:!0,contains:[d],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[r,o]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:y,relevance:0,contains:[t,e.C_BLOCK_COMMENT_MODE,r,o,i,{begin:/\(/,end:/\)/,keywords:y,relevance:0,contains:["self",t,e.C_BLOCK_COMMENT_MODE,r,o,i]}]},i,t,e.C_BLOCK_COMMENT_MODE,l]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:y,illegal:"",keywords:y,contains:["self",i]},{begin:e.IDENT_RE+"::",keywords:y},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function st(e){const n={type:["boolean","byte","word","String"],built_in:["KeyboardController","MouseController","SoftwareSerial","EthernetServer","EthernetClient","LiquidCrystal","RobotControl","GSMVoiceCall","EthernetUDP","EsploraTFT","HttpClient","RobotMotor","WiFiClient","GSMScanner","FileSystem","Scheduler","GSMServer","YunClient","YunServer","IPAddress","GSMClient","GSMModem","Keyboard","Ethernet","Console","GSMBand","Esplora","Stepper","Process","WiFiUDP","GSM_SMS","Mailbox","USBHost","Firmata","PImage","Client","Server","GSMPIN","FileIO","Bridge","Serial","EEPROM","Stream","Mouse","Audio","Servo","File","Task","GPRS","WiFi","Wire","TFT","GSM","SPI","SD"],_hints:["setup","loop","runShellCommandAsynchronously","analogWriteResolution","retrieveCallingNumber","printFirmwareVersion","analogReadResolution","sendDigitalPortPair","noListenOnLocalhost","readJoystickButton","setFirmwareVersion","readJoystickSwitch","scrollDisplayRight","getVoiceCallStatus","scrollDisplayLeft","writeMicroseconds","delayMicroseconds","beginTransmission","getSignalStrength","runAsynchronously","getAsynchronously","listenOnLocalhost","getCurrentCarrier","readAccelerometer","messageAvailable","sendDigitalPorts","lineFollowConfig","countryNameWrite","runShellCommand","readStringUntil","rewindDirectory","readTemperature","setClockDivider","readLightSensor","endTransmission","analogReference","detachInterrupt","countryNameRead","attachInterrupt","encryptionType","readBytesUntil","robotNameWrite","readMicrophone","robotNameRead","cityNameWrite","userNameWrite","readJoystickY","readJoystickX","mouseReleased","openNextFile","scanNetworks","noInterrupts","digitalWrite","beginSpeaker","mousePressed","isActionDone","mouseDragged","displayLogos","noAutoscroll","addParameter","remoteNumber","getModifiers","keyboardRead","userNameRead","waitContinue","processInput","parseCommand","printVersion","readNetworks","writeMessage","blinkVersion","cityNameRead","readMessage","setDataMode","parsePacket","isListening","setBitOrder","beginPacket","isDirectory","motorsWrite","drawCompass","digitalRead","clearScreen","serialEvent","rightToLeft","setTextSize","leftToRight","requestFrom","keyReleased","compassRead","analogWrite","interrupts","WiFiServer","disconnect","playMelody","parseFloat","autoscroll","getPINUsed","setPINUsed","setTimeout","sendAnalog","readSlider","analogRead","beginWrite","createChar","motorsStop","keyPressed","tempoWrite","readButton","subnetMask","debugPrint","macAddress","writeGreen","randomSeed","attachGPRS","readString","sendString","remotePort","releaseAll","mouseMoved","background","getXChange","getYChange","answerCall","getResult","voiceCall","endPacket","constrain","getSocket","writeJSON","getButton","available","connected","findUntil","readBytes","exitValue","readGreen","writeBlue","startLoop","IPAddress","isPressed","sendSysex","pauseMode","gatewayIP","setCursor","getOemKey","tuneWrite","noDisplay","loadImage","switchPIN","onRequest","onReceive","changePIN","playFile","noBuffer","parseInt","overflow","checkPIN","knobRead","beginTFT","bitClear","updateIR","bitWrite","position","writeRGB","highByte","writeRed","setSpeed","readBlue","noStroke","remoteIP","transfer","shutdown","hangCall","beginSMS","endWrite","attached","maintain","noCursor","checkReg","checkPUK","shiftOut","isValid","shiftIn","pulseIn","connect","println","localIP","pinMode","getIMEI","display","noBlink","process","getBand","running","beginSD","drawBMP","lowByte","setBand","release","bitRead","prepare","pointTo","readRed","setMode","noFill","remove","listen","stroke","detach","attach","noTone","exists","buffer","height","bitSet","circle","config","cursor","random","IRread","setDNS","endSMS","getKey","micros","millis","begin","print","write","ready","flush","width","isPIN","blink","clear","press","mkdir","rmdir","close","point","yield","image","BSSID","click","delay","read","text","move","peek","beep","rect","line","open","seek","fill","size","turn","stop","home","find","step","tone","sqrt","RSSI","SSID","end","bit","tan","cos","sin","pow","map","abs","max","min","get","run","put"],literal:["DIGITAL_MESSAGE","FIRMATA_STRING","ANALOG_MESSAGE","REPORT_DIGITAL","REPORT_ANALOG","INPUT_PULLUP","SET_PIN_MODE","INTERNAL2V56","SYSTEM_RESET","LED_BUILTIN","INTERNAL1V1","SYSEX_START","INTERNAL","EXTERNAL","DEFAULT","OUTPUT","INPUT","HIGH","LOW"]},t=rt(e),a=t.keywords;return a.type=[...a.type,...n.type],a.literal=[...a.literal,...n.literal],a.built_in=[...a.built_in,...n.built_in],a._hints=n._hints,t.name="Arduino",t.aliases=["ino"],t.supersetOf="cpp",t}function ot(e){const n=e.regex,t={},a={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[t]}]};Object.assign(t,{className:"variable",variants:[{begin:n.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},a]});const s={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},c=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),i={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},r={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,t,s]};s.contains.push(r);const o={match:/\\"/},l={className:"string",begin:/'/,end:/'/},d={match:/\\'/},p={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,t]},g=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],h=e.SHEBANG({binary:`(${g.join("|")})`,relevance:10}),_={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},f=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],y=["true","false"],v={match:/(\/[a-z._-]+)+/},k=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],O=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],S=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],M=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:f,literal:y,built_in:[...k,...O,"set","shopt",...S,...M]},contains:[h,e.SHEBANG(),_,p,c,i,v,r,o,l,d,t]}}function lt(e){const n=e.regex,t=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),a="decltype\\(auto\\)",s="[a-zA-Z_]\\w*::",c="("+a+"|"+n.optional(s)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",i={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},r={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},o={className:"number",variants:[{match:/\b(0b[01']+)/},{match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/},{match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/},{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0},l={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(r,{className:"string"}),{className:"string",begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},d={className:"title",begin:n.optional(s)+e.IDENT_RE,relevance:0},p=n.optional(s)+e.IDENT_RE+"\\s*\\(",g={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},h=[l,i,t,e.C_BLOCK_COMMENT_MODE,o,r],_={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:g,contains:h.concat([{begin:/\(/,end:/\)/,keywords:g,contains:h.concat(["self"]),relevance:0}]),relevance:0},f={begin:"("+c+"[\\*&\\s]+)+"+p,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:g,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:g,relevance:0},{begin:p,returnBegin:!0,contains:[e.inherit(d,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:g,relevance:0,contains:[t,e.C_BLOCK_COMMENT_MODE,r,o,i,{begin:/\(/,end:/\)/,keywords:g,relevance:0,contains:["self",t,e.C_BLOCK_COMMENT_MODE,r,o,i]}]},i,t,e.C_BLOCK_COMMENT_MODE,l]};return{name:"C",aliases:["h"],keywords:g,disableAutodetect:!0,illegal:"=]/,contains:[{beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:l,strings:r,keywords:g}}}function ct(e){const n=e.regex,t=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),a="decltype\\(auto\\)",s="[a-zA-Z_]\\w*::",c="(?!struct)("+a+"|"+n.optional(s)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",i={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},r={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},o={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},l={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(r,{className:"string"}),{className:"string",begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},d={className:"title",begin:n.optional(s)+e.IDENT_RE,relevance:0},p=n.optional(s)+e.IDENT_RE+"\\s*\\(",g=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],h=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],_=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],f=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],y={type:h,keyword:g,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:_},v={className:"function.dispatch",relevance:0,keywords:{_hint:f},begin:n.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,n.lookahead(/(<[^<>]+>|)\s*\(/))},k=[v,l,i,t,e.C_BLOCK_COMMENT_MODE,o,r],O={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:y,contains:k.concat([{begin:/\(/,end:/\)/,keywords:y,contains:k.concat(["self"]),relevance:0}]),relevance:0},S={className:"function",begin:"("+c+"[\\*&\\s]+)+"+p,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:y,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:y,relevance:0},{begin:p,returnBegin:!0,contains:[d],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[r,o]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:y,relevance:0,contains:[t,e.C_BLOCK_COMMENT_MODE,r,o,i,{begin:/\(/,end:/\)/,keywords:y,relevance:0,contains:["self",t,e.C_BLOCK_COMMENT_MODE,r,o,i]}]},i,t,e.C_BLOCK_COMMENT_MODE,l]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:y,illegal:"",keywords:y,contains:["self",i]},{begin:e.IDENT_RE+"::",keywords:y},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function dt(e){const n=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],t=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],a=["default","false","null","true"],s=["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"],c=["add","alias","and","ascending","args","async","await","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value|0","var","when","where","with","yield"],i={keyword:s.concat(c),built_in:n,literal:a},r=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),o={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},l={className:"string",begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1},d={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},p=e.inherit(d,{illegal:/\n/}),g={className:"subst",begin:/\{/,end:/\}/,keywords:i},h=e.inherit(g,{illegal:/\n/}),_={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},e.BACKSLASH_ESCAPE,h]},f={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},g]},y=e.inherit(f,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},h]});g.contains=[f,_,d,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,o,e.C_BLOCK_COMMENT_MODE],h.contains=[y,_,p,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,o,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];const v={variants:[l,f,_,d,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},k={begin:"<",end:">",contains:[{beginKeywords:"in out"},r]},O=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",S={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:i,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:""},{begin:""}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},v,o,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},r,k,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[r,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[r,k,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+O+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:i,contains:[{beginKeywords:t.join(" "),relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[e.TITLE_MODE,k],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,relevance:0,contains:[v,o,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},S]}}const gt=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),ut=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],bt=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],pt=[...ut,...bt],mt=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),ht=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),ft=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),_t=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function yt(e){const n=e.regex,t=gt(e),a={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},s="and or not only",c=/@-?\w[\w]*(-\w+)*/,i="[a-zA-Z-][a-zA-Z0-9_-]*",r=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[t.BLOCK_COMMENT,a,t.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+i,relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+ht.join("|")+")"},{begin:":(:)?("+ft.join("|")+")"}]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+_t.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[t.BLOCK_COMMENT,t.HEXCOLOR,t.IMPORTANT,t.CSS_NUMBER_MODE,...r,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...r,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},t.FUNCTION_DISPATCH]},{begin:n.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:c},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:s,attribute:mt.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...r,t.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+pt.join("|")+")\\b"}]}}function Et(e){const n=e.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:n.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:n.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}function wt(e){const n={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:n,illegal:"hn(e,n,t-1))}function kt(e){const n=e.regex,t="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",a=t+hn("(?:<"+t+"~~~(?:\\s*,\\s*"+t+"~~~)*>)?",/~~~/g,2),s={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits","goto","when"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},c={className:"meta",begin:"@"+t,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},i={className:"params",begin:/\(/,end:/\)/,keywords:s,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:s,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[e.BACKSLASH_ESCAPE]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,t],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[n.concat(/(?!else)/,t),/\s+/,t,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,t],className:{1:"keyword",3:"title.class"},contains:[i,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+a+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:s,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:s,relevance:0,contains:[c,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,Je,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},Je,c]}}const Ye="[A-Za-z$_][0-9A-Za-z$_]*",xt=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],Ot=["true","false","null","undefined","NaN","Infinity"],fn=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],_n=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],yn=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],At=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],St=[].concat(yn,fn,_n);function Mt(e){const n=e.regex,t=(b,{after:w})=>{const x="",end:""},c=/<[A-Za-z0-9\\._:-]+\s*\/>/,i={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(b,w)=>{const x=b[0].length+b.index,C=b.input[x];if(C==="<"||C===","){w.ignoreMatch();return}C===">"&&(t(b,{after:x})||w.ignoreMatch());let z;const $=b.input.substring(x);if(z=$.match(/^\s*=/)){w.ignoreMatch();return}if((z=$.match(/^\s+extends\s+/))&&z.index===0){w.ignoreMatch();return}}},r={$pattern:Ye,keyword:xt,literal:Ot,built_in:St,"variable.language":At},o="[0-9](_?[0-9])*",l=`\\.(${o})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",p={className:"number",variants:[{begin:`(\\b(${d})((${l})|\\.)?|(${l}))[eE][+-]?(${o})\\b`},{begin:`\\b(${d})\\b((${l})\\b|\\.)?|(${l})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},g={className:"subst",begin:"\\$\\{",end:"\\}",keywords:r,contains:[]},h={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,g],subLanguage:"xml"}},_={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,g],subLanguage:"css"}},f={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,g],subLanguage:"graphql"}},y={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,g]},v={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:a+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},k=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,h,_,f,y,{match:/\$\d+/},p];g.contains=k.concat({begin:/\{/,end:/\}/,keywords:r,contains:["self"].concat(k)});const O=[].concat(v,g.contains),S=O.concat([{begin:/(\s*)\(/,end:/\)/,keywords:r,contains:["self"].concat(O)}]),M={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:r,contains:S},j={variants:[{match:[/class/,/\s+/,a,/\s+/,/extends/,/\s+/,n.concat(a,"(",n.concat(/\./,a),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,a],scope:{1:"keyword",3:"title.class"}}]},P={relevance:0,match:n.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...fn,..._n]}},F={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},L={variants:[{match:[/function/,/\s+/,a,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[M],illegal:/%/},X={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function J(b){return n.concat("(?!",b.join("|"),")")}const Q={match:n.concat(/\b/,J([...yn,"super","import"].map(b=>`${b}\\s*\\(`)),a,n.lookahead(/\s*\(/)),className:"title.function",relevance:0},U={begin:n.concat(/\./,n.lookahead(n.concat(a,/(?![0-9A-Za-z$_(])/))),end:a,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},B={match:[/get|set/,/\s+/,a,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},M]},H="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",u={match:[/const|var|let/,/\s+/,a,/\s*/,/=\s*/,/(async\s*)?/,n.lookahead(H)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[M]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:r,exports:{PARAMS_CONTAINS:S,CLASS_REFERENCE:P},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),F,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,h,_,f,y,v,{match:/\$\d+/},p,P,{scope:"attr",match:a+n.lookahead(":"),relevance:0},u,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[v,e.REGEXP_MODE,{className:"function",begin:H,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:r,contains:S}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:s.begin,end:s.end},{match:c},{begin:i.begin,"on:begin":i.isTrulyOpeningTag,end:i.end}],subLanguage:"xml",contains:[{begin:i.begin,end:i.end,skip:!0,contains:["self"]}]}]},L,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[M,e.inherit(e.TITLE_MODE,{begin:a,className:"title.function"})]},{match:/\.\.\./,relevance:0},U,{match:"\\$"+a,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[M]},Q,X,j,B,{match:/\$[(.]/}]}}function Ct(e){const n={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},t={match:/[{}[\],:]/,className:"punctuation",relevance:0},a=["true","false","null"],s={scope:"literal",beginKeywords:a.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:a},contains:[n,t,e.QUOTE_STRING_MODE,s,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}var ge="[0-9](_*[0-9])*",ke=`\\.(${ge})`,xe="[0-9a-fA-F](_*[0-9a-fA-F])*",Tt={className:"number",variants:[{begin:`(\\b(${ge})((${ke})|\\.)?|(${ke}))[eE][+-]?(${ge})[fFdD]?\\b`},{begin:`\\b(${ge})((${ke})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${ke})[fFdD]?\\b`},{begin:`\\b(${ge})[fFdD]\\b`},{begin:`\\b0[xX]((${xe})\\.?|(${xe})?\\.(${xe}))[pP][+-]?(${ge})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${xe})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function Rt(e){const n={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},t={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},a={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},s={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},c={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},i={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[c,s]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,c,s]}]};s.contains.push(i);const r={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},o={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(i,{className:"string"}),"self"]}]},l=Tt,d=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),p={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},g=p;return g.variants[1].contains=[p],p.variants[1].contains=[g],{name:"Kotlin",aliases:["kt","kts"],keywords:n,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,d,t,a,r,o,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:n,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[p,e.C_LINE_COMMENT_MODE,d],relevance:0},e.C_LINE_COMMENT_MODE,d,r,o,i,e.C_NUMBER_MODE]},d]},{begin:[/class|interface|trait/,/\s+/,e.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},r,o]},i,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:` `},l]}}const It=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),Dt=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Lt=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],Bt=[...Dt,...Lt],zt=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),En=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),wn=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),Ft=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse(),$t=En.concat(wn).sort().reverse();function Pt(e){const n=It(e),t=$t,a="and or not only",s="[\\w-]+",c="("+s+"|@\\{"+s+"\\})",i=[],r=[],o=function(O){return{className:"string",begin:"~?"+O+".*?"+O}},l=function(O,S,M){return{className:O,begin:S,relevance:M}},d={$pattern:/[a-z-]+/,keyword:a,attribute:zt.join(" ")},p={begin:"\\(",end:"\\)",contains:r,keywords:d,relevance:0};r.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,o("'"),o('"'),n.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},n.HEXCOLOR,p,l("variable","@@?"+s,10),l("variable","@\\{"+s+"\\}"),l("built_in","~?`[^`]*?`"),{className:"attribute",begin:s+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},n.IMPORTANT,{beginKeywords:"and not"},n.FUNCTION_DISPATCH);const g=r.concat({begin:/\{/,end:/\}/,contains:i}),h={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(r)},_={begin:c+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Ft.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:r}}]},f={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:d,returnEnd:!0,contains:r,relevance:0}},y={className:"variable",variants:[{begin:"@"+s+"\\s*:",relevance:15},{begin:"@"+s}],starts:{end:"[;}]",returnEnd:!0,contains:g}},v={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:c,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,h,l("keyword","all\\b"),l("variable","@\\{"+s+"\\}"),{begin:"\\b("+Bt.join("|")+")\\b",className:"selector-tag"},n.CSS_NUMBER_MODE,l("selector-tag",c,0),l("selector-id","#"+c),l("selector-class","\\."+c,0),l("selector-tag","&",0),n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+En.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+wn.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:g},{begin:"!important"},n.FUNCTION_DISPATCH]},k={begin:s+`:(:)?(${t.join("|")})`,returnBegin:!0,contains:[v]};return i.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,f,y,k,_,v,h,n.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:i}}function jt(e){const n="\\[=*\\[",t="\\]=*\\]",a={begin:n,end:t,contains:["self"]},s=[e.COMMENT("--(?!"+n+")","$"),e.COMMENT("--"+n,t,{contains:[a],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:s.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:s}].concat(s)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:n,end:t,contains:[a],relevance:5}])}}function Ut(e){const n={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%",subLanguage:"xml",relevance:0},a={begin:"^[-\\*]{3,}",end:"$"},s={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},c={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},i={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},r=/[A-Za-z][A-Za-z0-9+.-]*/,o={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:n.concat(/\[.+?\]\(/,r,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},l={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},d={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},p=e.inherit(l,{contains:[]}),g=e.inherit(d,{contains:[]});l.contains.push(g),d.contains.push(p);let h=[t,o];return[l,d,p,g].forEach(_=>{_.contains=_.contains.concat(h)}),h=h.concat(l,d),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:h},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:h}]}]},t,c,l,d,{className:"quote",begin:"^>\\s+",contains:h,end:"$"},s,a,o,i,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function qt(e){const n={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},t=/[a-zA-Z@][a-zA-Z0-9_]*/,a={"variable.language":["this","super"],$pattern:t,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},s={$pattern:t,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:a,illegal:"/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+s.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:s,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}function Ht(e){const n=e.regex,t=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","class","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","field","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","method","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"],a=/[dualxmsipngr]{0,12}/,s={$pattern:/[\w.]+/,keyword:t.join(" ")},c={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:s},i={begin:/->\{/,end:/\}/},r={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},o={scope:"variable",variants:[{begin:/\$\d/},{begin:n.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[r]},l={className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{match:/\b0b[0-1][0-1_]*\b/}],relevance:0},d=[e.BACKSLASH_ESCAPE,c,o],p=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],g=(f,y,v="\\1")=>{const k=v==="\\1"?v:n.concat(v,y);return n.concat(n.concat("(?:",f,")"),y,/(?:\\.|[^\\\/])*?/,k,/(?:\\.|[^\\\/])*?/,v,a)},h=(f,y,v)=>n.concat(n.concat("(?:",f,")"),y,/(?:\\.|[^\\\/])*?/,v,a),_=[o,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),i,{className:"string",contains:d,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},l,{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:g("s|tr|y",n.either(...p,{capture:!0}))},{begin:g("s|tr|y","\\(","\\)")},{begin:g("s|tr|y","\\[","\\]")},{begin:g("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:h("(?:m|qr)?",/\//,/\//)},{begin:h("m|qr",n.either(...p,{capture:!0}),/\1/)},{begin:h("m|qr",/\(/,/\)/)},{begin:h("m|qr",/\[/,/\]/)},{begin:h("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,r]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,r,l]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return c.contains=_,i.contains=_,{name:"Perl",aliases:["pl","pm"],keywords:s,contains:_}}function Gt(e){const n=e.regex,t=/(?![A-Za-z0-9])(?![$])/,a=n.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,t),s=n.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,t),c=n.concat(/[A-Z]+/,t),i={scope:"variable",match:"\\$+"+a},r={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},o={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},l=e.inherit(e.APOS_STRING_MODE,{illegal:null}),d=e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(o)}),p={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(o),"on:begin":(U,B)=>{B.data._beginMatch=U[1]||U[2]},"on:end":(U,B)=>{B.data._beginMatch!==U[1]&&B.ignoreMatch()}},g=e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),h=`[ ]`,_={scope:"string",variants:[d,l,p,g]},f={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},y=["false","null","true"],v=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],k=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],O={keyword:v,literal:(U=>{const B=[];return U.forEach(H=>{B.push(H),H.toLowerCase()===H?B.push(H.toUpperCase()):B.push(H.toLowerCase())}),B})(y),built_in:k},S=U=>U.map(B=>B.replace(/\|\d+$/,"")),M={variants:[{match:[/new/,n.concat(h,"+"),n.concat("(?!",S(k).join("\\b|"),"\\b)"),s],scope:{1:"keyword",4:"title.class"}}]},j=n.concat(a,"\\b(?!\\()"),P={variants:[{match:[n.concat(/::/,n.lookahead(/(?!class\b)/)),j],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[s,n.concat(/::/,n.lookahead(/(?!class\b)/)),j],scope:{1:"title.class",3:"variable.constant"}},{match:[s,n.concat("::",n.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[s,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},F={scope:"attr",match:n.concat(a,n.lookahead(":"),n.lookahead(/(?!::)/))},L={relevance:0,begin:/\(/,end:/\)/,keywords:O,contains:[F,i,P,e.C_BLOCK_COMMENT_MODE,_,f,M]},X={relevance:0,match:[/\b/,n.concat("(?!fn\\b|function\\b|",S(v).join("\\b|"),"|",S(k).join("\\b|"),"\\b)"),a,n.concat(h,"*"),n.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[L]};L.contains.push(X);const J=[F,P,e.C_BLOCK_COMMENT_MODE,_,f,M],Q={begin:n.concat(/#\[\s*\\?/,n.either(s,c)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:y,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:y,keyword:["new","array"]},contains:["self",...J]},...J,{scope:"meta",variants:[{match:s},{match:c}]}]};return{case_insensitive:!1,keywords:O,contains:[Q,e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},r,{scope:"variable.language",match:/\$this\b/},i,X,P,{match:[/const/,/\s/,a],scope:{1:"keyword",3:"variable.constant"}},M,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:O,contains:["self",Q,i,P,e.C_BLOCK_COMMENT_MODE,_,f]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},e.UNDERSCORE_TITLE_MODE]},_,f]}}function Zt(e){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}function Wt(e){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}function Xt(e){const n=e.regex,t=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),a=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],s={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:a,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},c={className:"meta",begin:/^(>>>|\.\.\.) /},i={className:"subst",begin:/\{/,end:/\}/,keywords:s,illegal:/#/},r={begin:/\{\{/,relevance:0},o={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,c,r,i]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,c,r,i]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,r,i]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,r,i]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},l="[0-9](_?[0-9])*",d=`(\\b(${l}))?\\.(${l})|\\b(${l})\\.`,p=`\\b|${a.join("|")}`,g={className:"number",relevance:0,variants:[{begin:`(\\b(${l})|(${d}))[eE][+-]?(${l})[jJ]?(?=${p})`},{begin:`(${d})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${p})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${p})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${p})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${p})`},{begin:`\\b(${l})[jJ](?=${p})`}]},h={className:"comment",begin:n.lookahead(/# type:/),end:/$/,keywords:s,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},_={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s,contains:["self",c,g,o,e.HASH_COMMENT_MODE]}]};return i.contains=[o,g,c],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:s,illegal:/(<\/|\?)|=>/,contains:[c,g,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},o,h,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,t],scope:{1:"keyword",3:"title.function"},contains:[_]},{variants:[{match:[/\bclass/,/\s+/,t,/\s*/,/\(\s*/,t,/\s*\)/]},{match:[/\bclass/,/\s+/,t]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[g,_,o]}]}}function Qt(e){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}function Vt(e){const n=e.regex,t=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,a=n.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),s=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,c=n.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:t,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:n.lookahead(n.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:t},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),e.HASH_COMMENT_MODE,{scope:"string",contains:[e.BACKSLASH_ESCAPE],variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[s,a]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,a]},{scope:{1:"punctuation",2:"number"},match:[c,a]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,a]}]},{scope:{3:"operator"},match:[t,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:s},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:c},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}function Jt(e){const n=e.regex,t="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",a=n.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),s=n.concat(a,/(::\w+)*/),c={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield","include","extend","prepend","public","private","protected","raise","throw"],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},i={className:"doctag",begin:"@[A-Za-z]+"},r={begin:"#<",end:">"},o=[e.COMMENT("#","$",{contains:[i]}),e.COMMENT("^=begin","^=end",{contains:[i],relevance:10}),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],l={className:"subst",begin:/#\{/,end:/\}/,keywords:c},d={className:"string",contains:[e.BACKSLASH_ESCAPE,l],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:n.concat(/<<[-~]?'?/,n.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,l]})]}]},p="[1-9](_?[0-9])*|0",g="[0-9](_?[0-9])*",h={className:"number",relevance:0,variants:[{begin:`\\b(${p})(\\.(${g}))?([eE][+-]?(${g})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},_={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:c}]},f=[d,{variants:[{match:[/class\s+/,s,/\s+<\s+/,s]},{match:[/\b(class|module)\s+/,s]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:c},{match:[/(include|extend)\s+/,s],scope:{2:"title.class"},keywords:c},{relevance:0,match:[s,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:a,scope:"title.class"},{match:[/def/,/\s+/,t],scope:{1:"keyword",3:"title.function"},contains:[_]},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[d,{begin:t}],relevance:0},h,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:c},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,l],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(r,o),relevance:0}].concat(r,o);l.contains=f,_.contains=f;const y=[{begin:/^\s*=>/,starts:{end:"$",contains:f}},{className:"meta.prompt",begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])",starts:{end:"$",keywords:c,contains:f}}];return o.unshift(r),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:c,illegal:/\/\*/,contains:[e.SHEBANG({binary:"ruby"})].concat(y).concat(o).concat(f)}}function Yt(e){const n=e.regex,t=/(r#)?/,a=n.concat(t,e.UNDERSCORE_IDENT_RE),s=n.concat(t,e.IDENT_RE),c={className:"title.function.invoke",relevance:0,begin:n.concat(/\b/,/(?!let|for|while|if|else|match\b)/,s,n.lookahead(/\s*\(/))},i="([ui](8|16|32|64|128|size)|f(32|64))?",r=["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"],o=["true","false","Some","None","Ok","Err"],l=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],d=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",type:d,keyword:r,literal:o,built_in:l},illegal:""},c]}}const ea=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),na=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],ta=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],aa=[...na,...ta],ia=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),ra=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),sa=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),oa=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function la(e){const n=ea(e),t=sa,a=ra,s="@[a-z-]+",c="and or not only",i={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,n.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+aa.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+a.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+t.join("|")+")"},i,{begin:/\(/,end:/\)/,contains:[n.CSS_NUMBER_MODE]},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+oa.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[n.BLOCK_COMMENT,i,n.HEXCOLOR,n.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,n.IMPORTANT,n.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:s,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:c,attribute:ia.join(" ")},contains:[{begin:s,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},i,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,n.HEXCOLOR,n.CSS_NUMBER_MODE]},n.FUNCTION_DISPATCH]}}function ca(e){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}function da(e){const n=e.regex,t=e.COMMENT("--","$"),a={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},s={begin:/"/,end:/"/,contains:[{match:/""/}]},c=["true","false","unknown"],i=["double precision","large object","with timezone","without timezone"],r=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],o=["add","asc","collation","desc","final","first","last","view"],l=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],d=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],p=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],g=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],h=d,_=[...l,...o].filter(M=>!d.includes(M)),f={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},y={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},v={match:n.concat(/\b/,n.either(...h),/\s*\(/),relevance:0,keywords:{built_in:h}};function k(M){return n.concat(/\b/,n.either(...M.map(j=>j.replace(/\s+/,"\\s+"))),/\b/)}const O={scope:"keyword",match:k(g),relevance:0};function S(M,{exceptions:j,when:P}={}){const F=P;return j=j||[],M.map(L=>L.match(/\|\d+$/)||j.includes(L)?L:F(L)?`${L}|0`:L)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:S(_,{when:M=>M.length<3}),literal:c,type:r,built_in:p},contains:[{scope:"type",match:k(i)},O,v,f,a,s,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,t,y]}}function vn(e){return e?typeof e=="string"?e:e.source:null}function me(e){return I("(?=",e,")")}function I(...e){return e.map(n=>vn(n)).join("")}function ga(e){const n=e[e.length-1];return typeof n=="object"&&n.constructor===Object?(e.splice(e.length-1,1),n):{}}function Z(...e){return"("+(ga(e).capture?"":"?:")+e.map(n=>vn(n)).join("|")+")"}const Ue=e=>I(/\b/,e,/\w$/.test(e)?/\b/:/\B/),ua=["Protocol","Type"].map(Ue),en=["init","self"].map(Ue),ba=["Any","Self"],Fe=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","package","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],nn=["false","nil","true"],pa=["assignment","associativity","higherThan","left","lowerThan","none","right"],ma=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],tn=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],Nn=Z(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),kn=Z(Nn,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),$e=I(Nn,kn,"*"),xn=Z(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),Se=Z(xn,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),Y=I(xn,Se,"*"),Oe=I(/[A-Z]/,Se,"*"),ha=["attached","autoclosure",I(/convention\(/,Z("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",I(/objc\(/,Y,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],fa=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function _a(e){const n={match:/\s+/,relevance:0},t=e.COMMENT("/\\*","\\*/",{contains:["self"]}),a=[e.C_LINE_COMMENT_MODE,t],s={match:[/\./,Z(...ua,...en)],className:{2:"keyword"}},c={match:I(/\./,Z(...Fe)),relevance:0},i=Fe.filter(T=>typeof T=="string").concat(["_|0"]),r=Fe.filter(T=>typeof T!="string").concat(ba).map(Ue),o={variants:[{className:"keyword",match:Z(...r,...en)}]},l={$pattern:Z(/\b\w+/,/#\w+/),keyword:i.concat(ma),literal:nn},d=[s,c,o],p={match:I(/\./,Z(...tn)),relevance:0},g={className:"built_in",match:I(/\b/,Z(...tn),/(?=\()/)},h=[p,g],_={match:/->/,relevance:0},f={className:"operator",relevance:0,variants:[{match:$e},{match:`\\.(\\.|${kn})+`}]},y=[_,f],v="([0-9]_*)+",k="([0-9a-fA-F]_*)+",O={className:"number",relevance:0,variants:[{match:`\\b(${v})(\\.(${v}))?([eE][+-]?(${v}))?\\b`},{match:`\\b0x(${k})(\\.(${k}))?([pP][+-]?(${v}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},S=(T="")=>({className:"subst",variants:[{match:I(/\\/,T,/[0\\tnr"']/)},{match:I(/\\/,T,/u\{[0-9a-fA-F]{1,8}\}/)}]}),M=(T="")=>({className:"subst",match:I(/\\/,T,/[\t ]*(?:[\r\n]|\r\n)/)}),j=(T="")=>({className:"subst",label:"interpol",begin:I(/\\/,T,/\(/),end:/\)/}),P=(T="")=>({begin:I(T,/"""/),end:I(/"""/,T),contains:[S(T),M(T),j(T)]}),F=(T="")=>({begin:I(T,/"/),end:I(/"/,T),contains:[S(T),j(T)]}),L={className:"string",variants:[P(),P("#"),P("##"),P("###"),F(),F("#"),F("##"),F("###")]},X=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}],J={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:X},Q=T=>{const ne=I(T,/\//),N=I(/\//,T);return{begin:ne,end:N,contains:[...X,{scope:"comment",begin:`#(?!.*${N})`,end:/$/}]}},U={scope:"regexp",variants:[Q("###"),Q("##"),Q("#"),J]},B={match:I(/`/,Y,/`/)},H={className:"variable",match:/\$\d+/},u={className:"variable",match:`\\$${Se}+`},b=[B,H,u],w={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:fa,contains:[...y,O,L]}]}},x={scope:"keyword",match:I(/@/,Z(...ha),me(Z(/\(/,/\s+/)))},C={scope:"meta",match:I(/@/,Y)},z=[w,x,C],$={match:me(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:I(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,Se,"+")},{className:"type",match:Oe,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:I(/\s+&\s+/,me(Oe)),relevance:0}]},se={begin://,keywords:l,contains:[...a,...d,...z,_,$]};$.contains.push(se);const G={match:I(Y,/\s*:/),keywords:"_|0",relevance:0},W={begin:/\(/,end:/\)/,relevance:0,keywords:l,contains:["self",G,...a,U,...d,...h,...y,O,L,...b,...z,$]},oe={begin://,keywords:"repeat each",contains:[...a,$]},_e={begin:Z(me(I(Y,/\s*:/)),me(I(Y,/\s+/,Y,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:Y}]},pe={begin:/\(/,end:/\)/,keywords:l,contains:[_e,...a,...d,...y,O,L,...z,$,W],endsParent:!0,illegal:/["']/},Re={match:[/(func|macro)/,/\s+/,Z(B.match,Y,$e)],className:{1:"keyword",3:"title.function"},contains:[oe,pe,n],illegal:[/\[/,/%/]},Ie={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[oe,pe,n],illegal:/\[|%/},De={match:[/operator/,/\s+/,$e],className:{1:"keyword",3:"title"}},Le={begin:[/precedencegroup/,/\s+/,Oe],className:{1:"keyword",3:"title"},contains:[$],keywords:[...pa,...nn],end:/}/},le={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},ye={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},V={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,Y,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:l,contains:[oe,...d,{begin:/:/,end:/\{/,keywords:l,contains:[{scope:"title.class.inherited",match:Oe},...d],relevance:0}]};for(const T of L.variants){const ne=T.contains.find(Ee=>Ee.label==="interpol");ne.keywords=l;const N=[...d,...h,...y,O,L,...b];ne.contains=[...N,{begin:/\(/,end:/\)/,contains:["self",...N]}]}return{name:"Swift",keywords:l,contains:[...a,Re,Ie,le,ye,V,De,Le,{beginKeywords:"import",end:/$/,contains:[...a],relevance:0},U,...d,...h,...y,O,L,...b,...z,$,W]}}const Me="[A-Za-z$_][0-9A-Za-z$_]*",On=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],An=["true","false","null","undefined","NaN","Infinity"],Sn=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],Mn=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Cn=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Tn=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Rn=[].concat(Cn,Sn,Mn);function ya(e){const n=e.regex,t=(b,{after:w})=>{const x="",end:""},c=/<[A-Za-z0-9\\._:-]+\s*\/>/,i={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(b,w)=>{const x=b[0].length+b.index,C=b.input[x];if(C==="<"||C===","){w.ignoreMatch();return}C===">"&&(t(b,{after:x})||w.ignoreMatch());let z;const $=b.input.substring(x);if(z=$.match(/^\s*=/)){w.ignoreMatch();return}if((z=$.match(/^\s+extends\s+/))&&z.index===0){w.ignoreMatch();return}}},r={$pattern:Me,keyword:On,literal:An,built_in:Rn,"variable.language":Tn},o="[0-9](_?[0-9])*",l=`\\.(${o})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",p={className:"number",variants:[{begin:`(\\b(${d})((${l})|\\.)?|(${l}))[eE][+-]?(${o})\\b`},{begin:`\\b(${d})\\b((${l})\\b|\\.)?|(${l})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},g={className:"subst",begin:"\\$\\{",end:"\\}",keywords:r,contains:[]},h={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,g],subLanguage:"xml"}},_={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,g],subLanguage:"css"}},f={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,g],subLanguage:"graphql"}},y={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,g]},v={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:a+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},k=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,h,_,f,y,{match:/\$\d+/},p];g.contains=k.concat({begin:/\{/,end:/\}/,keywords:r,contains:["self"].concat(k)});const O=[].concat(v,g.contains),S=O.concat([{begin:/(\s*)\(/,end:/\)/,keywords:r,contains:["self"].concat(O)}]),M={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:r,contains:S},j={variants:[{match:[/class/,/\s+/,a,/\s+/,/extends/,/\s+/,n.concat(a,"(",n.concat(/\./,a),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,a],scope:{1:"keyword",3:"title.class"}}]},P={relevance:0,match:n.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...Sn,...Mn]}},F={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},L={variants:[{match:[/function/,/\s+/,a,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[M],illegal:/%/},X={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function J(b){return n.concat("(?!",b.join("|"),")")}const Q={match:n.concat(/\b/,J([...Cn,"super","import"].map(b=>`${b}\\s*\\(`)),a,n.lookahead(/\s*\(/)),className:"title.function",relevance:0},U={begin:n.concat(/\./,n.lookahead(n.concat(a,/(?![0-9A-Za-z$_(])/))),end:a,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},B={match:[/get|set/,/\s+/,a,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},M]},H="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",u={match:[/const|var|let/,/\s+/,a,/\s*/,/=\s*/,/(async\s*)?/,n.lookahead(H)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[M]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:r,exports:{PARAMS_CONTAINS:S,CLASS_REFERENCE:P},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),F,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,h,_,f,y,v,{match:/\$\d+/},p,P,{scope:"attr",match:a+n.lookahead(":"),relevance:0},u,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[v,e.REGEXP_MODE,{className:"function",begin:H,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:r,contains:S}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:s.begin,end:s.end},{match:c},{begin:i.begin,"on:begin":i.isTrulyOpeningTag,end:i.end}],subLanguage:"xml",contains:[{begin:i.begin,end:i.end,skip:!0,contains:["self"]}]}]},L,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[M,e.inherit(e.TITLE_MODE,{begin:a,className:"title.function"})]},{match:/\.\.\./,relevance:0},U,{match:"\\$"+a,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[M]},Q,X,j,B,{match:/\$[(.]/}]}}function Ea(e){const n=e.regex,t=ya(e),a=Me,s=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],c={begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},i={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:s},contains:[t.exports.CLASS_REFERENCE]},r={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},o=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],l={$pattern:Me,keyword:On.concat(o),literal:An,built_in:Rn.concat(s),"variable.language":Tn},d={className:"meta",begin:"@"+a},p=(f,y,v)=>{const k=f.contains.findIndex(O=>O.label===y);if(k===-1)throw new Error("can not find mode to replace");f.contains.splice(k,1,v)};Object.assign(t.keywords,l),t.exports.PARAMS_CONTAINS.push(d);const g=t.contains.find(f=>f.scope==="attr"),h=Object.assign({},g,{match:n.concat(a,n.lookahead(/\s*\?:/))});t.exports.PARAMS_CONTAINS.push([t.exports.CLASS_REFERENCE,g,h]),t.contains=t.contains.concat([d,c,i,h]),p(t,"shebang",e.SHEBANG()),p(t,"use_strict",r);const _=t.contains.find(f=>f.label==="func.def");return _.relevance=0,Object.assign(t,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),t}function wa(e){const n=e.regex,t={className:"string",begin:/"(""|[^/n])"C\b/},a={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},s=/\d{1,2}\/\d{1,2}\/\d{4}/,c=/\d{4}-\d{1,2}-\d{1,2}/,i=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,r=/\d{1,2}(:\d{1,2}){1,2}/,o={className:"literal",variants:[{begin:n.concat(/# */,n.either(c,s),/ *#/)},{begin:n.concat(/# */,r,/ *#/)},{begin:n.concat(/# */,i,/ *#/)},{begin:n.concat(/# */,n.either(c,s),/ +/,n.either(i,r),/ *#/)}]},l={className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},d={className:"label",begin:/^\w+:/},p=e.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),g=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[t,a,o,l,d,p,g,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[g]}]}}function va(e){e.regex;const n=e.COMMENT(/\(;/,/;\)/);n.contains.push("self");const t=e.COMMENT(/;;/,/$/),a=["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"],s={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},c={className:"variable",begin:/\$[\w_]+/},i={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},r={className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/},o={match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},l={className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/};return{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:a},contains:[t,n,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},c,i,s,e.QUOTE_STRING_MODE,o,l,r]}}function Na(e){const n=e.regex,t=n.concat(/[\p{L}_]/u,n.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),a=/[\p{L}0-9._:-]+/u,s={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},c={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},i=e.inherit(c,{begin:/\(/,end:/\)/}),r=e.inherit(e.APOS_STRING_MODE,{className:"string"}),o=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),l={endsWithParent:!0,illegal:/`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[c,o,r,i,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[c,i,o,r]}]}]},e.COMMENT(//,{relevance:10}),{begin://,relevance:10},s,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[o]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[l],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[l],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:n.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:t,relevance:0,starts:l}]},{className:"tag",begin:n.concat(/<\//,n.lookahead(n.concat(t,/>/))),contains:[{className:"name",begin:t,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}function ka(e){const n="true false yes no null",t="[\\w#;/?:@&=+$,.~*'()[\\]]+",a={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},s={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},c={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},i={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,s]},r=e.inherit(i,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),o={className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},l={end:",",endsWithParent:!0,excludeEnd:!0,keywords:n,relevance:0},d={begin:/\{/,end:/\}/,contains:[l],illegal:"\\n",relevance:0},p={begin:"\\[",end:"\\]",contains:[l],illegal:"\\n",relevance:0},g=[a,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+t},{className:"type",begin:"!<"+t+">"},{className:"type",begin:"!"+t},{className:"type",begin:"!!"+t},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},o,{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},d,p,c,i],h=[...g];return h.pop(),h.push(r),l.contains=h,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:g}}const xa={arduino:st,bash:ot,c:lt,cpp:ct,csharp:dt,css:yt,diff:Et,go:wt,graphql:vt,ini:Nt,java:kt,javascript:Mt,json:Ct,kotlin:Rt,less:Pt,lua:jt,makefile:Ut,markdown:Kt,objectivec:qt,perl:Ht,php:Gt,"php-template":Zt,plaintext:Wt,python:Xt,"python-repl":Qt,r:Vt,ruby:Jt,rust:Yt,scss:la,shell:ca,sql:da,swift:_a,typescript:Ea,vbnet:wa,wasm:va,xml:Na,yaml:ka};function In(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(n=>{const t=e[n],a=typeof t;(a==="object"||a==="function")&&!Object.isFrozen(t)&&In(t)}),e}class an{constructor(n){n.data===void 0&&(n.data={}),this.data=n.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function Dn(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function te(e,...n){const t=Object.create(null);for(const a in e)t[a]=e[a];return n.forEach(function(a){for(const s in a)t[s]=a[s]}),t}const Oa="",rn=e=>!!e.scope,Aa=(e,{prefix:n})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){const t=e.split(".");return[`${n}${t.shift()}`,...t.map((a,s)=>`${a}${"_".repeat(s+1)}`)].join(" ")}return`${n}${e}`};class Sa{constructor(n,t){this.buffer="",this.classPrefix=t.classPrefix,n.walk(this)}addText(n){this.buffer+=Dn(n)}openNode(n){if(!rn(n))return;const t=Aa(n.scope,{prefix:this.classPrefix});this.span(t)}closeNode(n){rn(n)&&(this.buffer+=Oa)}value(){return this.buffer}span(n){this.buffer+=``}}const sn=(e={})=>{const n={children:[]};return Object.assign(n,e),n};class Ke{constructor(){this.rootNode=sn(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(n){this.top.children.push(n)}openNode(n){const t=sn({scope:n});this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(n){return this.constructor._walk(n,this.rootNode)}static _walk(n,t){return typeof t=="string"?n.addText(t):t.children&&(n.openNode(t),t.children.forEach(a=>this._walk(n,a)),n.closeNode(t)),n}static _collapse(n){typeof n!="string"&&n.children&&(n.children.every(t=>typeof t=="string")?n.children=[n.children.join("")]:n.children.forEach(t=>{Ke._collapse(t)}))}}class Ma extends Ke{constructor(n){super(),this.options=n}addText(n){n!==""&&this.add(n)}startScope(n){this.openNode(n)}endScope(){this.closeNode()}__addSublanguage(n,t){const a=n.root;t&&(a.scope=`language:${t}`),this.add(a)}toHTML(){return new Sa(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function he(e){return e?typeof e=="string"?e:e.source:null}function Ln(e){return re("(?=",e,")")}function Ca(e){return re("(?:",e,")*")}function Ta(e){return re("(?:",e,")?")}function re(...e){return e.map(n=>he(n)).join("")}function Ra(e){const n=e[e.length-1];return typeof n=="object"&&n.constructor===Object?(e.splice(e.length-1,1),n):{}}function qe(...e){return"("+(Ra(e).capture?"":"?:")+e.map(n=>he(n)).join("|")+")"}function Bn(e){return new RegExp(e.toString()+"|").exec("").length-1}function Ia(e,n){const t=e&&e.exec(n);return t&&t.index===0}const Da=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function He(e,{joinWith:n}){let t=0;return e.map(a=>{t+=1;const s=t;let c=he(a),i="";for(;c.length>0;){const r=Da.exec(c);if(!r){i+=c;break}i+=c.substring(0,r.index),c=c.substring(r.index+r[0].length),r[0][0]==="\\"&&r[1]?i+="\\"+String(Number(r[1])+s):(i+=r[0],r[0]==="("&&t++)}return i}).map(a=>`(${a})`).join(n)}const La=/\b\B/,zn="[a-zA-Z]\\w*",Ge="[a-zA-Z_]\\w*",Fn="\\b\\d+(\\.\\d+)?",$n="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Pn="\\b(0b[01]+)",Ba="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",za=(e={})=>{const n=/^#![ ]*\//;return e.binary&&(e.begin=re(n,/.*\b/,e.binary,/\b.*/)),te({scope:"meta",begin:n,end:/$/,relevance:0,"on:begin":(t,a)=>{t.index!==0&&a.ignoreMatch()}},e)},fe={begin:"\\\\[\\s\\S]",relevance:0},Fa={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[fe]},$a={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[fe]},Pa={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},Te=function(e,n,t={}){const a=te({scope:"comment",begin:e,end:n,contains:[]},t);a.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const s=qe("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return a.contains.push({begin:re(/[ ]+/,"(",s,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),a},ja=Te("//","$"),Ua=Te("/\\*","\\*/"),Ka=Te("#","$"),qa={scope:"number",begin:Fn,relevance:0},Ha={scope:"number",begin:$n,relevance:0},Ga={scope:"number",begin:Pn,relevance:0},Za={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[fe,{begin:/\[/,end:/\]/,relevance:0,contains:[fe]}]},Wa={scope:"title",begin:zn,relevance:0},Xa={scope:"title",begin:Ge,relevance:0},Qa={begin:"\\.\\s*"+Ge,relevance:0},Va=function(e){return Object.assign(e,{"on:begin":(n,t)=>{t.data._beginMatch=n[1]},"on:end":(n,t)=>{t.data._beginMatch!==n[1]&&t.ignoreMatch()}})};var Ae=Object.freeze({__proto__:null,APOS_STRING_MODE:Fa,BACKSLASH_ESCAPE:fe,BINARY_NUMBER_MODE:Ga,BINARY_NUMBER_RE:Pn,COMMENT:Te,C_BLOCK_COMMENT_MODE:Ua,C_LINE_COMMENT_MODE:ja,C_NUMBER_MODE:Ha,C_NUMBER_RE:$n,END_SAME_AS_BEGIN:Va,HASH_COMMENT_MODE:Ka,IDENT_RE:zn,MATCH_NOTHING_RE:La,METHOD_GUARD:Qa,NUMBER_MODE:qa,NUMBER_RE:Fn,PHRASAL_WORDS_MODE:Pa,QUOTE_STRING_MODE:$a,REGEXP_MODE:Za,RE_STARTERS_RE:Ba,SHEBANG:za,TITLE_MODE:Wa,UNDERSCORE_IDENT_RE:Ge,UNDERSCORE_TITLE_MODE:Xa});function Ja(e,n){e.input[e.index-1]==="."&&n.ignoreMatch()}function Ya(e,n){e.className!==void 0&&(e.scope=e.className,delete e.className)}function ei(e,n){n&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=Ja,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function ni(e,n){Array.isArray(e.illegal)&&(e.illegal=qe(...e.illegal))}function ti(e,n){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function ai(e,n){e.relevance===void 0&&(e.relevance=1)}const ii=(e,n)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");const t=Object.assign({},e);Object.keys(e).forEach(a=>{delete e[a]}),e.keywords=t.keywords,e.begin=re(t.beforeMatch,Ln(t.begin)),e.starts={relevance:0,contains:[Object.assign(t,{endsParent:!0})]},e.relevance=0,delete t.beforeMatch},ri=["of","and","for","in","not","or","if","then","parent","list","value"],si="keyword";function jn(e,n,t=si){const a=Object.create(null);return typeof e=="string"?s(t,e.split(" ")):Array.isArray(e)?s(t,e):Object.keys(e).forEach(function(c){Object.assign(a,jn(e[c],n,c))}),a;function s(c,i){n&&(i=i.map(r=>r.toLowerCase())),i.forEach(function(r){const o=r.split("|");a[o[0]]=[c,oi(o[0],o[1])]})}}function oi(e,n){return n?Number(n):li(e)?0:1}function li(e){return ri.includes(e.toLowerCase())}const on={},ie=e=>{console.error(e)},ln=(e,...n)=>{console.log(`WARN: ${e}`,...n)},ce=(e,n)=>{on[`${e}/${n}`]||(console.log(`Deprecated as of ${e}. ${n}`),on[`${e}/${n}`]=!0)},Ce=new Error;function Un(e,n,{key:t}){let a=0;const s=e[t],c={},i={};for(let r=1;r<=n.length;r++)i[r+a]=s[r],c[r+a]=!0,a+=Bn(n[r-1]);e[t]=i,e[t]._emit=c,e[t]._multi=!0}function ci(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw ie("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),Ce;if(typeof e.beginScope!="object"||e.beginScope===null)throw ie("beginScope must be object"),Ce;Un(e,e.begin,{key:"beginScope"}),e.begin=He(e.begin,{joinWith:""})}}function di(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw ie("skip, excludeEnd, returnEnd not compatible with endScope: {}"),Ce;if(typeof e.endScope!="object"||e.endScope===null)throw ie("endScope must be object"),Ce;Un(e,e.end,{key:"endScope"}),e.end=He(e.end,{joinWith:""})}}function gi(e){e.scope&&typeof e.scope=="object"&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function ui(e){gi(e),typeof e.beginScope=="string"&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope=="string"&&(e.endScope={_wrap:e.endScope}),ci(e),di(e)}function bi(e){function n(i,r){return new RegExp(he(i),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(r?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(r,o){o.position=this.position++,this.matchIndexes[this.matchAt]=o,this.regexes.push([o,r]),this.matchAt+=Bn(r)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const r=this.regexes.map(o=>o[1]);this.matcherRe=n(He(r,{joinWith:"|"}),!0),this.lastIndex=0}exec(r){this.matcherRe.lastIndex=this.lastIndex;const o=this.matcherRe.exec(r);if(!o)return null;const l=o.findIndex((p,g)=>g>0&&p!==void 0),d=this.matchIndexes[l];return o.splice(0,l),Object.assign(o,d)}}class a{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(r){if(this.multiRegexes[r])return this.multiRegexes[r];const o=new t;return this.rules.slice(r).forEach(([l,d])=>o.addRule(l,d)),o.compile(),this.multiRegexes[r]=o,o}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(r,o){this.rules.push([r,o]),o.type==="begin"&&this.count++}exec(r){const o=this.getMatcher(this.regexIndex);o.lastIndex=this.lastIndex;let l=o.exec(r);if(this.resumingScanAtSamePosition()&&!(l&&l.index===this.lastIndex)){const d=this.getMatcher(0);d.lastIndex=this.lastIndex+1,l=d.exec(r)}return l&&(this.regexIndex+=l.position+1,this.regexIndex===this.count&&this.considerAll()),l}}function s(i){const r=new a;return i.contains.forEach(o=>r.addRule(o.begin,{rule:o,type:"begin"})),i.terminatorEnd&&r.addRule(i.terminatorEnd,{type:"end"}),i.illegal&&r.addRule(i.illegal,{type:"illegal"}),r}function c(i,r){const o=i;if(i.isCompiled)return o;[Ya,ti,ui,ii].forEach(d=>d(i,r)),e.compilerExtensions.forEach(d=>d(i,r)),i.__beforeBegin=null,[ei,ni,ai].forEach(d=>d(i,r)),i.isCompiled=!0;let l=null;return typeof i.keywords=="object"&&i.keywords.$pattern&&(i.keywords=Object.assign({},i.keywords),l=i.keywords.$pattern,delete i.keywords.$pattern),l=l||/\w+/,i.keywords&&(i.keywords=jn(i.keywords,e.case_insensitive)),o.keywordPatternRe=n(l,!0),r&&(i.begin||(i.begin=/\B|\b/),o.beginRe=n(o.begin),!i.end&&!i.endsWithParent&&(i.end=/\B|\b/),i.end&&(o.endRe=n(o.end)),o.terminatorEnd=he(o.end)||"",i.endsWithParent&&r.terminatorEnd&&(o.terminatorEnd+=(i.end?"|":"")+r.terminatorEnd)),i.illegal&&(o.illegalRe=n(i.illegal)),i.contains||(i.contains=[]),i.contains=[].concat(...i.contains.map(function(d){return pi(d==="self"?i:d)})),i.contains.forEach(function(d){c(d,o)}),i.starts&&c(i.starts,r),o.matcher=s(o),o}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=te(e.classNameAliases||{}),c(e)}function Kn(e){return e?e.endsWithParent||Kn(e.starts):!1}function pi(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(n){return te(e,{variants:null},n)})),e.cachedVariants?e.cachedVariants:Kn(e)?te(e,{starts:e.starts?te(e.starts):null}):Object.isFrozen(e)?te(e):e}var mi="11.11.1";class hi extends Error{constructor(n,t){super(n),this.name="HTMLInjectionError",this.html=t}}const Pe=Dn,cn=te,dn=Symbol("nomatch"),fi=7,qn=function(e){const n=Object.create(null),t=Object.create(null),a=[];let s=!0;const c="Could not find the language '{}', did you forget to load/include a language module?",i={disableAutodetect:!0,name:"Plain text",contains:[]};let r={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:Ma};function o(u){return r.noHighlightRe.test(u)}function l(u){let b=u.className+" ";b+=u.parentNode?u.parentNode.className:"";const w=r.languageDetectRe.exec(b);if(w){const x=F(w[1]);return x||(ln(c.replace("{}",w[1])),ln("Falling back to no-highlight mode for this block.",u)),x?w[1]:"no-highlight"}return b.split(/\s+/).find(x=>o(x)||F(x))}function d(u,b,w){let x="",C="";typeof b=="object"?(x=u,w=b.ignoreIllegals,C=b.language):(ce("10.7.0","highlight(lang, code, ...args) has been deprecated."),ce("10.7.0",`Please use highlight(code, options) instead. https://github.com/highlightjs/highlight.js/issues/2277`),C=u,x=b),w===void 0&&(w=!0);const z={code:x,language:C};B("before:highlight",z);const $=z.result?z.result:p(z.language,z.code,w);return $.code=z.code,B("after:highlight",$),$}function p(u,b,w,x){const C=Object.create(null);function z(m,E){return m.keywords[E]}function $(){if(!N.keywords){K.addText(D);return}let m=0;N.keywordPatternRe.lastIndex=0;let E=N.keywordPatternRe.exec(D),A="";for(;E;){A+=D.substring(m,E.index);const R=V.case_insensitive?E[0].toLowerCase():E[0],q=z(N,R);if(q){const[ee,Hn]=q;if(K.addText(A),A="",C[R]=(C[R]||0)+1,C[R]<=fi&&(we+=Hn),ee.startsWith("_"))A+=E[0];else{const Gn=V.classNameAliases[ee]||ee;W(E[0],Gn)}}else A+=E[0];m=N.keywordPatternRe.lastIndex,E=N.keywordPatternRe.exec(D)}A+=D.substring(m),K.addText(A)}function se(){if(D==="")return;let m=null;if(typeof N.subLanguage=="string"){if(!n[N.subLanguage]){K.addText(D);return}m=p(N.subLanguage,D,!0,Ee[N.subLanguage]),Ee[N.subLanguage]=m._top}else m=h(D,N.subLanguage.length?N.subLanguage:null);N.relevance>0&&(we+=m.relevance),K.__addSublanguage(m._emitter,m.language)}function G(){N.subLanguage!=null?se():$(),D=""}function W(m,E){m!==""&&(K.startScope(E),K.addText(m),K.endScope())}function oe(m,E){let A=1;const R=E.length-1;for(;A<=R;){if(!m._emit[A]){A++;continue}const q=V.classNameAliases[m[A]]||m[A],ee=E[A];q?W(ee,q):(D=ee,$(),D=""),A++}}function _e(m,E){return m.scope&&typeof m.scope=="string"&&K.openNode(V.classNameAliases[m.scope]||m.scope),m.beginScope&&(m.beginScope._wrap?(W(D,V.classNameAliases[m.beginScope._wrap]||m.beginScope._wrap),D=""):m.beginScope._multi&&(oe(m.beginScope,E),D="")),N=Object.create(m,{parent:{value:N}}),N}function pe(m,E,A){let R=Ia(m.endRe,A);if(R){if(m["on:end"]){const q=new an(m);m["on:end"](E,q),q.isMatchIgnored&&(R=!1)}if(R){for(;m.endsParent&&m.parent;)m=m.parent;return m}}if(m.endsWithParent)return pe(m.parent,E,A)}function Re(m){return N.matcher.regexIndex===0?(D+=m[0],1):(ze=!0,0)}function Ie(m){const E=m[0],A=m.rule,R=new an(A),q=[A.__beforeBegin,A["on:begin"]];for(const ee of q)if(ee&&(ee(m,R),R.isMatchIgnored))return Re(E);return A.skip?D+=E:(A.excludeBegin&&(D+=E),G(),!A.returnBegin&&!A.excludeBegin&&(D=E)),_e(A,m),A.returnBegin?0:E.length}function De(m){const E=m[0],A=b.substring(m.index),R=pe(N,m,A);if(!R)return dn;const q=N;N.endScope&&N.endScope._wrap?(G(),W(E,N.endScope._wrap)):N.endScope&&N.endScope._multi?(G(),oe(N.endScope,m)):q.skip?D+=E:(q.returnEnd||q.excludeEnd||(D+=E),G(),q.excludeEnd&&(D=E));do N.scope&&K.closeNode(),!N.skip&&!N.subLanguage&&(we+=N.relevance),N=N.parent;while(N!==R.parent);return R.starts&&_e(R.starts,m),q.returnEnd?0:E.length}function Le(){const m=[];for(let E=N;E!==V;E=E.parent)E.scope&&m.unshift(E.scope);m.forEach(E=>K.openNode(E))}let le={};function ye(m,E){const A=E&&E[0];if(D+=m,A==null)return G(),0;if(le.type==="begin"&&E.type==="end"&&le.index===E.index&&A===""){if(D+=b.slice(E.index,E.index+1),!s){const R=new Error(`0 width match regex (${u})`);throw R.languageName=u,R.badRule=le.rule,R}return 1}if(le=E,E.type==="begin")return Ie(E);if(E.type==="illegal"&&!w){const R=new Error('Illegal lexeme "'+A+'" for mode "'+(N.scope||"")+'"');throw R.mode=N,R}else if(E.type==="end"){const R=De(E);if(R!==dn)return R}if(E.type==="illegal"&&A==="")return D+=` `,1;if(Be>1e5&&Be>E.index*3)throw new Error("potential infinite loop, way more iterations than matches");return D+=A,A.length}const V=F(u);if(!V)throw ie(c.replace("{}",u)),new Error('Unknown language: "'+u+'"');const T=bi(V);let ne="",N=x||T;const Ee={},K=new r.__emitter(r);Le();let D="",we=0,ae=0,Be=0,ze=!1;try{if(V.__emitTokens)V.__emitTokens(b,K);else{for(N.matcher.considerAll();;){Be++,ze?ze=!1:N.matcher.considerAll(),N.matcher.lastIndex=ae;const m=N.matcher.exec(b);if(!m)break;const E=b.substring(ae,m.index),A=ye(E,m);ae=m.index+A}ye(b.substring(ae))}return K.finalize(),ne=K.toHTML(),{language:u,value:ne,relevance:we,illegal:!1,_emitter:K,_top:N}}catch(m){if(m.message&&m.message.includes("Illegal"))return{language:u,value:Pe(b),illegal:!0,relevance:0,_illegalBy:{message:m.message,index:ae,context:b.slice(ae-100,ae+100),mode:m.mode,resultSoFar:ne},_emitter:K};if(s)return{language:u,value:Pe(b),illegal:!1,relevance:0,errorRaised:m,_emitter:K,_top:N};throw m}}function g(u){const b={value:Pe(u),illegal:!1,relevance:0,_top:i,_emitter:new r.__emitter(r)};return b._emitter.addText(u),b}function h(u,b){b=b||r.languages||Object.keys(n);const w=g(u),x=b.filter(F).filter(X).map(G=>p(G,u,!1));x.unshift(w);const C=x.sort((G,W)=>{if(G.relevance!==W.relevance)return W.relevance-G.relevance;if(G.language&&W.language){if(F(G.language).supersetOf===W.language)return 1;if(F(W.language).supersetOf===G.language)return-1}return 0}),[z,$]=C,se=z;return se.secondBest=$,se}function _(u,b,w){const x=b&&t[b]||w;u.classList.add("hljs"),u.classList.add(`language-${x}`)}function f(u){let b=null;const w=l(u);if(o(w))return;if(B("before:highlightElement",{el:u,language:w}),u.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",u);return}if(u.children.length>0&&(r.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(u)),r.throwUnescapedHTML))throw new hi("One of your code blocks includes unescaped HTML.",u.innerHTML);b=u;const x=b.textContent,C=w?d(x,{language:w,ignoreIllegals:!0}):h(x);u.innerHTML=C.value,u.dataset.highlighted="yes",_(u,w,C.language),u.result={language:C.language,re:C.relevance,relevance:C.relevance},C.secondBest&&(u.secondBest={language:C.secondBest.language,relevance:C.secondBest.relevance}),B("after:highlightElement",{el:u,result:C,text:x})}function y(u){r=cn(r,u)}const v=()=>{S(),ce("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function k(){S(),ce("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let O=!1;function S(){function u(){S()}if(document.readyState==="loading"){O||window.addEventListener("DOMContentLoaded",u,!1),O=!0;return}document.querySelectorAll(r.cssSelector).forEach(f)}function M(u,b){let w=null;try{w=b(e)}catch(x){if(ie("Language definition for '{}' could not be registered.".replace("{}",u)),s)ie(x);else throw x;w=i}w.name||(w.name=u),n[u]=w,w.rawDefinition=b.bind(null,e),w.aliases&&L(w.aliases,{languageName:u})}function j(u){delete n[u];for(const b of Object.keys(t))t[b]===u&&delete t[b]}function P(){return Object.keys(n)}function F(u){return u=(u||"").toLowerCase(),n[u]||n[t[u]]}function L(u,{languageName:b}){typeof u=="string"&&(u=[u]),u.forEach(w=>{t[w.toLowerCase()]=b})}function X(u){const b=F(u);return b&&!b.disableAutodetect}function J(u){u["before:highlightBlock"]&&!u["before:highlightElement"]&&(u["before:highlightElement"]=b=>{u["before:highlightBlock"](Object.assign({block:b.el},b))}),u["after:highlightBlock"]&&!u["after:highlightElement"]&&(u["after:highlightElement"]=b=>{u["after:highlightBlock"](Object.assign({block:b.el},b))})}function Q(u){J(u),a.push(u)}function U(u){const b=a.indexOf(u);b!==-1&&a.splice(b,1)}function B(u,b){const w=u;a.forEach(function(x){x[w]&&x[w](b)})}function H(u){return ce("10.7.0","highlightBlock will be removed entirely in v12.0"),ce("10.7.0","Please use highlightElement now."),f(u)}Object.assign(e,{highlight:d,highlightAuto:h,highlightAll:S,highlightElement:f,highlightBlock:H,configure:y,initHighlighting:v,initHighlightingOnLoad:k,registerLanguage:M,unregisterLanguage:j,listLanguages:P,getLanguage:F,registerAliases:L,autoDetection:X,inherit:cn,addPlugin:Q,removePlugin:U}),e.debugMode=function(){s=!1},e.safeMode=function(){s=!0},e.versionString=mi,e.regex={concat:re,lookahead:Ln,either:qe,optional:Ta,anyNumberOfTimes:Ca};for(const u in Ae)typeof Ae[u]=="object"&&In(Ae[u]);return Object.assign(e,Ae),e},ue=qn({});ue.newInstance=()=>qn({});var _i=ue;ue.HighlightJS=ue,ue.default=ue;const yi=Zn(_i),gn={},Ei="hljs-";function wi(e){const n=yi.newInstance();return e&&c(e),{highlight:t,highlightAuto:a,listLanguages:s,register:c,registerAlias:i,registered:r};function t(o,l,d){const p=d||gn,g=typeof p.prefix=="string"?p.prefix:Ei;if(!n.getLanguage(o))throw new Error("Unknown language: `"+o+"` is not registered");n.configure({__emitter:vi,classPrefix:g});const h=n.highlight(l,{ignoreIllegals:!0,language:o});if(h.errorRaised)throw new Error("Could not highlight with `Highlight.js`",{cause:h.errorRaised});const _=h._emitter.root,f=_.data;return f.language=h.language,f.relevance=h.relevance,_}function a(o,l){const d=(l||gn).subset||s();let p=-1,g=0,h;for(;++pg&&(g=f.data.relevance,h=f)}return h||{type:"root",children:[],data:{language:void 0,relevance:g}}}function s(){return n.listLanguages()}function c(o,l){if(typeof o=="string")n.registerLanguage(o,l);else{let d;for(d in o)Object.hasOwn(o,d)&&n.registerLanguage(d,o[d])}}function i(o,l){if(typeof o=="string")n.registerAliases(typeof l=="string"?l:[...l],{languageName:o});else{let d;for(d in o)if(Object.hasOwn(o,d)){const p=o[d];n.registerAliases(typeof p=="string"?p:[...p],{languageName:d})}}}function r(o){return!!n.getLanguage(o)}}class vi{constructor(n){this.options=n,this.root={type:"root",children:[],data:{language:void 0,relevance:0}},this.stack=[this.root]}addText(n){if(n==="")return;const t=this.stack[this.stack.length-1],a=t.children[t.children.length-1];a&&a.type==="text"?a.value+=n:t.children.push({type:"text",value:n})}startScope(n){this.openNode(String(n))}endScope(){this.closeNode()}__addSublanguage(n,t){const a=this.stack[this.stack.length-1],s=n.root.children;t?a.children.push({type:"element",tagName:"span",properties:{className:[t]},children:s}):a.children.push(...s)}openNode(n){const t=this,a=n.split(".").map(function(i,r){return r?i+"_".repeat(r):t.options.classPrefix+i}),s=this.stack[this.stack.length-1],c={type:"element",tagName:"span",properties:{className:a},children:[]};s.children.push(c),this.stack.push(c)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return""}}const Ni={};function Ti(e){const n=e||Ni,t=n.aliases,a=n.detect||!1,s=n.languages||xa,c=n.plainText,i=n.prefix,r=n.subset;let o="hljs";const l=wi(s);if(t&&l.registerAlias(t),i){const d=i.indexOf("-");o=d===-1?i:i.slice(0,d)}return function(d,p){Xn(d,"element",function(g,h,_){if(g.tagName!=="code"||!_||_.type!=="element"||_.tagName!=="pre")return;const f=ki(g);if(f===!1||!f&&!a||f&&c&&c.includes(f))return;Array.isArray(g.properties.className)||(g.properties.className=[]),g.properties.className.includes(o)||g.properties.className.unshift(o);const y=Jn(g,{whitespace:"pre"});let v;try{v=f?l.highlight(f,y,{prefix:i}):l.highlightAuto(y,{prefix:i,subset:r})}catch(k){const O=k;if(f&&/Unknown language/.test(O.message)){p.message("Cannot highlight as `"+f+"`, it’s not registered",{ancestors:[_,g],cause:O,place:g.position,ruleId:"missing-language",source:"rehype-highlight"});return}throw O}!f&&v.data&&v.data.language&&g.properties.className.push("language-"+v.data.language),v.children.length>0&&(g.children=v.children)})}}function ki(e){const n=e.properties.className;let t=-1;if(!Array.isArray(n))return;let a;for(;++t | undefined} Test\n * Test from `unist-util-is`.\n *\n * Note: we have remove and add `undefined`, because otherwise when generating\n * automatic `.d.ts` files, TS tries to flatten paths from a local perspective,\n * which doesn’t work when publishing on npm.\n */\n\n/**\n * @typedef {(\n * Fn extends (value: any) => value is infer Thing\n * ? Thing\n * : Fallback\n * )} Predicate\n * Get the value of a type guard `Fn`.\n * @template Fn\n * Value; typically function that is a type guard (such as `(x): x is Y`).\n * @template Fallback\n * Value to yield if `Fn` is not a type guard.\n */\n\n/**\n * @typedef {(\n * Check extends null | undefined // No test.\n * ? Value\n * : Value extends {type: Check} // String (type) test.\n * ? Value\n * : Value extends Check // Partial test.\n * ? Value\n * : Check extends Function // Function test.\n * ? Predicate extends Value\n * ? Predicate\n * : never\n * : never // Some other test?\n * )} MatchesOne\n * Check whether a node matches a primitive check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test, but not arrays.\n */\n\n/**\n * @typedef {(\n * Check extends Array\n * ? MatchesOne\n * : MatchesOne\n * )} Matches\n * Check whether a node matches a check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test.\n */\n\n/**\n * @typedef {(\n * Kind extends {children: Array}\n * ? Child\n * : never\n * )} Child\n * Collect nodes that can be parents of `Child`.\n * @template {UnistNode} Kind\n * All node types.\n */\n\nimport {convert} from 'unist-util-is'\n\n/**\n * Find the first node in `parent` after another `node` or after an index,\n * that passes `test`.\n *\n * @param parent\n * Parent node.\n * @param index\n * Child node or index.\n * @param [test=undefined]\n * Test for child to look for (optional).\n * @returns\n * A child (matching `test`, if given) or `undefined`.\n */\nexport const findAfter =\n // Note: overloads like this are needed to support optional generics.\n /**\n * @type {(\n * ((parent: Kind, index: Child | number, test: Check) => Matches, Check> | undefined) &\n * ((parent: Kind, index: Child | number, test?: null | undefined) => Child | undefined)\n * )}\n */\n (\n /**\n * @param {UnistParent} parent\n * @param {UnistNode | number} index\n * @param {Test} [test]\n * @returns {UnistNode | undefined}\n */\n function (parent, index, test) {\n const is = convert(test)\n\n if (!parent || !parent.type || !parent.children) {\n throw new Error('Expected parent node')\n }\n\n if (typeof index === 'number') {\n if (index < 0 || index === Number.POSITIVE_INFINITY) {\n throw new Error('Expected positive finite number as index')\n }\n } else {\n index = parent.children.indexOf(index)\n\n if (index < 0) {\n throw new Error('Expected child node or index')\n }\n }\n\n while (++index < parent.children.length) {\n if (is(parent.children[index], index, parent)) {\n return parent.children[index]\n }\n }\n\n return undefined\n }\n )\n","/**\n * @typedef {import('hast').Comment} Comment\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Nodes} Nodes\n * @typedef {import('hast').Parents} Parents\n * @typedef {import('hast').Text} Text\n * @typedef {import('hast-util-is-element').TestFunction} TestFunction\n */\n\n/**\n * @typedef {'normal' | 'nowrap' | 'pre' | 'pre-wrap'} Whitespace\n * Valid and useful whitespace values (from CSS).\n *\n * @typedef {0 | 1 | 2} BreakNumber\n * Specific break:\n *\n * * `0` — space\n * * `1` — line ending\n * * `2` — blank line\n *\n * @typedef {'\\n'} BreakForce\n * Forced break.\n *\n * @typedef {boolean} BreakValue\n * Whether there was a break.\n *\n * @typedef {BreakNumber | BreakValue | undefined} BreakBefore\n * Any value for a break before.\n *\n * @typedef {BreakForce | BreakNumber | BreakValue | undefined} BreakAfter\n * Any value for a break after.\n *\n * @typedef CollectionInfo\n * Info on current collection.\n * @property {BreakAfter} breakAfter\n * Whether there was a break after.\n * @property {BreakBefore} breakBefore\n * Whether there was a break before.\n * @property {Whitespace} whitespace\n * Current whitespace setting.\n *\n * @typedef Options\n * Configuration.\n * @property {Whitespace | null | undefined} [whitespace='normal']\n * Initial CSS whitespace setting to use (default: `'normal'`).\n */\n\nimport {findAfter} from 'unist-util-find-after'\nimport {convertElement} from 'hast-util-is-element'\n\nconst searchLineFeeds = /\\n/g\nconst searchTabOrSpaces = /[\\t ]+/g\n\nconst br = convertElement('br')\nconst cell = convertElement(isCell)\nconst p = convertElement('p')\nconst row = convertElement('tr')\n\n// Note that we don’t need to include void elements here as they don’t have text.\n// See: \nconst notRendered = convertElement([\n // List from: \n 'datalist',\n 'head',\n 'noembed',\n 'noframes',\n 'noscript', // Act as if we support scripting.\n 'rp',\n 'script',\n 'style',\n 'template',\n 'title',\n // Hidden attribute.\n hidden,\n // From: \n closedDialog\n])\n\n// See: \nconst blockOrCaption = convertElement([\n 'address', // Flow content\n 'article', // Sections and headings\n 'aside', // Sections and headings\n 'blockquote', // Flow content\n 'body', // Page\n 'caption', // `table-caption`\n 'center', // Flow content (legacy)\n 'dd', // Lists\n 'dialog', // Flow content\n 'dir', // Lists (legacy)\n 'dl', // Lists\n 'dt', // Lists\n 'div', // Flow content\n 'figure', // Flow content\n 'figcaption', // Flow content\n 'footer', // Flow content\n 'form,', // Flow content\n 'h1', // Sections and headings\n 'h2', // Sections and headings\n 'h3', // Sections and headings\n 'h4', // Sections and headings\n 'h5', // Sections and headings\n 'h6', // Sections and headings\n 'header', // Flow content\n 'hgroup', // Sections and headings\n 'hr', // Flow content\n 'html', // Page\n 'legend', // Flow content\n 'li', // Lists (as `display: list-item`)\n 'listing', // Flow content (legacy)\n 'main', // Flow content\n 'menu', // Lists\n 'nav', // Sections and headings\n 'ol', // Lists\n 'p', // Flow content\n 'plaintext', // Flow content (legacy)\n 'pre', // Flow content\n 'section', // Sections and headings\n 'ul', // Lists\n 'xmp' // Flow content (legacy)\n])\n\n/**\n * Get the plain-text value of a node.\n *\n * ###### Algorithm\n *\n * * if `tree` is a comment, returns its `value`\n * * if `tree` is a text, applies normal whitespace collapsing to its\n * `value`, as defined by the CSS Text spec\n * * if `tree` is a root or element, applies an algorithm similar to the\n * `innerText` getter as defined by HTML\n *\n * ###### Notes\n *\n * > 👉 **Note**: the algorithm acts as if `tree` is being rendered, and as if\n * > we’re a CSS-supporting user agent, with scripting enabled.\n *\n * * if `tree` is an element that is not displayed (such as a `head`), we’ll\n * still use the `innerText` algorithm instead of switching to `textContent`\n * * if descendants of `tree` are elements that are not displayed, they are\n * ignored\n * * CSS is not considered, except for the default user agent style sheet\n * * a line feed is collapsed instead of ignored in cases where Fullwidth, Wide,\n * or Halfwidth East Asian Width characters are used, the same goes for a case\n * with Chinese, Japanese, or Yi writing systems\n * * replaced elements (such as `audio`) are treated like non-replaced elements\n *\n * @param {Nodes} tree\n * Tree to turn into text.\n * @param {Readonly | null | undefined} [options]\n * Configuration (optional).\n * @returns {string}\n * Serialized `tree`.\n */\nexport function toText(tree, options) {\n const options_ = options || {}\n const children = 'children' in tree ? tree.children : []\n const block = blockOrCaption(tree)\n const whitespace = inferWhitespace(tree, {\n whitespace: options_.whitespace || 'normal',\n breakBefore: false,\n breakAfter: false\n })\n\n /** @type {Array} */\n const results = []\n\n // Treat `text` and `comment` as having normal white-space.\n // This deviates from the spec as in the DOM the node’s `.data` has to be\n // returned.\n // If you want that behavior use `hast-util-to-string`.\n // All other nodes are later handled as if they are `element`s (so the\n // algorithm also works on a `root`).\n // Nodes without children are treated as a void element, so `doctype` is thus\n // ignored.\n if (tree.type === 'text' || tree.type === 'comment') {\n results.push(\n ...collectText(tree, {\n whitespace,\n breakBefore: true,\n breakAfter: true\n })\n )\n }\n\n // 1. If this element is not being rendered, or if the user agent is a\n // non-CSS user agent, then return the same value as the textContent IDL\n // attribute on this element.\n //\n // Note: we’re not supporting stylesheets so we’re acting as if the node\n // is rendered.\n //\n // If you want that behavior use `hast-util-to-string`.\n // Important: we’ll have to account for this later though.\n\n // 2. Let results be a new empty list.\n let index = -1\n\n // 3. For each child node node of this element:\n while (++index < children.length) {\n // 3.1. Let current be the list resulting in running the inner text\n // collection steps with node.\n // Each item in results will either be a JavaScript string or a\n // positive integer (a required line break count).\n // 3.2. For each item item in current, append item to results.\n results.push(\n ...renderedTextCollection(\n children[index],\n // @ts-expect-error: `tree` is a parent if we’re here.\n tree,\n {\n whitespace,\n breakBefore: index ? undefined : block,\n breakAfter:\n index < children.length - 1 ? br(children[index + 1]) : block\n }\n )\n )\n }\n\n // 4. Remove any items from results that are the empty string.\n // 5. Remove any runs of consecutive required line break count items at the\n // start or end of results.\n // 6. Replace each remaining run of consecutive required line break count\n // items with a string consisting of as many U+000A LINE FEED (LF)\n // characters as the maximum of the values in the required line break\n // count items.\n /** @type {Array} */\n const result = []\n /** @type {number | undefined} */\n let count\n\n index = -1\n\n while (++index < results.length) {\n const value = results[index]\n\n if (typeof value === 'number') {\n if (count !== undefined && value > count) count = value\n } else if (value) {\n if (count !== undefined && count > -1) {\n result.push('\\n'.repeat(count) || ' ')\n }\n\n count = -1\n result.push(value)\n }\n }\n\n // 7. Return the concatenation of the string items in results.\n return result.join('')\n}\n\n/**\n * \n *\n * @param {Nodes} node\n * @param {Parents} parent\n * @param {CollectionInfo} info\n * @returns {Array}\n */\nfunction renderedTextCollection(node, parent, info) {\n if (node.type === 'element') {\n return collectElement(node, parent, info)\n }\n\n if (node.type === 'text') {\n return info.whitespace === 'normal'\n ? collectText(node, info)\n : collectPreText(node)\n }\n\n return []\n}\n\n/**\n * Collect an element.\n *\n * @param {Element} node\n * Element node.\n * @param {Parents} parent\n * @param {CollectionInfo} info\n * Info on current collection.\n * @returns {Array}\n */\nfunction collectElement(node, parent, info) {\n // First we infer the `white-space` property.\n const whitespace = inferWhitespace(node, info)\n const children = node.children || []\n let index = -1\n /** @type {Array} */\n let items = []\n\n // We’re ignoring point 3, and exiting without any content here, because we\n // deviated from the spec in `toText` at step 3.\n if (notRendered(node)) {\n return items\n }\n\n /** @type {BreakNumber | undefined} */\n let prefix\n /** @type {BreakForce | BreakNumber | undefined} */\n let suffix\n // Note: we first detect if there is going to be a break before or after the\n // contents, as that changes the white-space handling.\n\n // 2. If node’s computed value of `visibility` is not `visible`, then return\n // items.\n //\n // Note: Ignored, as everything is visible by default user agent styles.\n\n // 3. If node is not being rendered, then return items. [...]\n //\n // Note: We already did this above.\n\n // See `collectText` for step 4.\n\n // 5. If node is a `
    ` element, then append a string containing a single\n // U+000A LINE FEED (LF) character to items.\n if (br(node)) {\n suffix = '\\n'\n }\n\n // 7. If node’s computed value of `display` is `table-row`, and node’s CSS\n // box is not the last `table-row` box of the nearest ancestor `table`\n // box, then append a string containing a single U+000A LINE FEED (LF)\n // character to items.\n //\n // See: \n // Note: needs further investigation as this does not account for implicit\n // rows.\n else if (\n row(node) &&\n // @ts-expect-error: something up with types of parents.\n findAfter(parent, node, row)\n ) {\n suffix = '\\n'\n }\n\n // 8. If node is a `

    ` element, then append 2 (a required line break count)\n // at the beginning and end of items.\n else if (p(node)) {\n prefix = 2\n suffix = 2\n }\n\n // 9. If node’s used value of `display` is block-level or `table-caption`,\n // then append 1 (a required line break count) at the beginning and end of\n // items.\n else if (blockOrCaption(node)) {\n prefix = 1\n suffix = 1\n }\n\n // 1. Let items be the result of running the inner text collection steps with\n // each child node of node in tree order, and then concatenating the\n // results to a single list.\n while (++index < children.length) {\n items = items.concat(\n renderedTextCollection(children[index], node, {\n whitespace,\n breakBefore: index ? undefined : prefix,\n breakAfter:\n index < children.length - 1 ? br(children[index + 1]) : suffix\n })\n )\n }\n\n // 6. If node’s computed value of `display` is `table-cell`, and node’s CSS\n // box is not the last `table-cell` box of its enclosing `table-row` box,\n // then append a string containing a single U+0009 CHARACTER TABULATION\n // (tab) character to items.\n //\n // See: \n if (\n cell(node) &&\n // @ts-expect-error: something up with types of parents.\n findAfter(parent, node, cell)\n ) {\n items.push('\\t')\n }\n\n // Add the pre- and suffix.\n if (prefix) items.unshift(prefix)\n if (suffix) items.push(suffix)\n\n return items\n}\n\n/**\n * 4. If node is a Text node, then for each CSS text box produced by node,\n * in content order, compute the text of the box after application of the\n * CSS `white-space` processing rules and `text-transform` rules, set\n * items to the list of the resulting strings, and return items.\n * The CSS `white-space` processing rules are slightly modified:\n * collapsible spaces at the end of lines are always collapsed, but they\n * are only removed if the line is the last line of the block, or it ends\n * with a br element.\n * Soft hyphens should be preserved.\n *\n * Note: See `collectText` and `collectPreText`.\n * Note: we don’t deal with `text-transform`, no element has that by\n * default.\n *\n * See: \n *\n * @param {Comment | Text} node\n * Text node.\n * @param {CollectionInfo} info\n * Info on current collection.\n * @returns {Array}\n * Result.\n */\nfunction collectText(node, info) {\n const value = String(node.value)\n /** @type {Array} */\n const lines = []\n /** @type {Array} */\n const result = []\n let start = 0\n\n while (start <= value.length) {\n searchLineFeeds.lastIndex = start\n\n const match = searchLineFeeds.exec(value)\n const end = match && 'index' in match ? match.index : value.length\n\n lines.push(\n // Any sequence of collapsible spaces and tabs immediately preceding or\n // following a segment break is removed.\n trimAndCollapseSpacesAndTabs(\n // […] ignoring bidi formatting characters (characters with the\n // Bidi_Control property [UAX9]: ALM, LTR, RTL, LRE-RLO, LRI-PDI) as if\n // they were not there.\n value\n .slice(start, end)\n .replace(/[\\u061C\\u200E\\u200F\\u202A-\\u202E\\u2066-\\u2069]/g, ''),\n start === 0 ? info.breakBefore : true,\n end === value.length ? info.breakAfter : true\n )\n )\n\n start = end + 1\n }\n\n // Collapsible segment breaks are transformed for rendering according to the\n // segment break transformation rules.\n // So here we jump to 4.1.2 of [CSSTEXT]:\n // Any collapsible segment break immediately following another collapsible\n // segment break is removed\n let index = -1\n /** @type {BreakNumber | undefined} */\n let join\n\n while (++index < lines.length) {\n // * If the character immediately before or immediately after the segment\n // break is the zero-width space character (U+200B), then the break is\n // removed, leaving behind the zero-width space.\n if (\n lines[index].charCodeAt(lines[index].length - 1) === 0x20_0b /* ZWSP */ ||\n (index < lines.length - 1 &&\n lines[index + 1].charCodeAt(0) === 0x20_0b) /* ZWSP */\n ) {\n result.push(lines[index])\n join = undefined\n }\n\n // * Otherwise, if the East Asian Width property [UAX11] of both the\n // character before and after the segment break is Fullwidth, Wide, or\n // Halfwidth (not Ambiguous), and neither side is Hangul, then the\n // segment break is removed.\n //\n // Note: ignored.\n // * Otherwise, if the writing system of the segment break is Chinese,\n // Japanese, or Yi, and the character before or after the segment break\n // is punctuation or a symbol (Unicode general category P* or S*) and\n // has an East Asian Width property of Ambiguous, and the character on\n // the other side of the segment break is Fullwidth, Wide, or Halfwidth,\n // and not Hangul, then the segment break is removed.\n //\n // Note: ignored.\n\n // * Otherwise, the segment break is converted to a space (U+0020).\n else if (lines[index]) {\n if (typeof join === 'number') result.push(join)\n result.push(lines[index])\n join = 0\n } else if (index === 0 || index === lines.length - 1) {\n // If this line is empty, and it’s the first or last, add a space.\n // Note that this function is only called in normal whitespace, so we\n // don’t worry about `pre`.\n result.push(0)\n }\n }\n\n return result\n}\n\n/**\n * Collect a text node as “pre” whitespace.\n *\n * @param {Text} node\n * Text node.\n * @returns {Array}\n * Result.\n */\nfunction collectPreText(node) {\n return [String(node.value)]\n}\n\n/**\n * 3. Every collapsible tab is converted to a collapsible space (U+0020).\n * 4. Any collapsible space immediately following another collapsible\n * space—even one outside the boundary of the inline containing that\n * space, provided both spaces are within the same inline formatting\n * context—is collapsed to have zero advance width. (It is invisible,\n * but retains its soft wrap opportunity, if any.)\n *\n * @param {string} value\n * Value to collapse.\n * @param {BreakBefore} breakBefore\n * Whether there was a break before.\n * @param {BreakAfter} breakAfter\n * Whether there was a break after.\n * @returns {string}\n * Result.\n */\nfunction trimAndCollapseSpacesAndTabs(value, breakBefore, breakAfter) {\n /** @type {Array} */\n const result = []\n let start = 0\n /** @type {number | undefined} */\n let end\n\n while (start < value.length) {\n searchTabOrSpaces.lastIndex = start\n const match = searchTabOrSpaces.exec(value)\n end = match ? match.index : value.length\n\n // If we’re not directly after a segment break, but there was white space,\n // add an empty value that will be turned into a space.\n if (!start && !end && match && !breakBefore) {\n result.push('')\n }\n\n if (start !== end) {\n result.push(value.slice(start, end))\n }\n\n start = match ? end + match[0].length : end\n }\n\n // If we reached the end, there was trailing white space, and there’s no\n // segment break after this node, add an empty value that will be turned\n // into a space.\n if (start !== end && !breakAfter) {\n result.push('')\n }\n\n return result.join(' ')\n}\n\n/**\n * Figure out the whitespace of a node.\n *\n * We don’t support void elements here (so `nobr wbr` -> `normal` is ignored).\n *\n * @param {Nodes} node\n * Node (typically `Element`).\n * @param {CollectionInfo} info\n * Info on current collection.\n * @returns {Whitespace}\n * Applied whitespace.\n */\nfunction inferWhitespace(node, info) {\n if (node.type === 'element') {\n const properties = node.properties || {}\n switch (node.tagName) {\n case 'listing':\n case 'plaintext':\n case 'xmp': {\n return 'pre'\n }\n\n case 'nobr': {\n return 'nowrap'\n }\n\n case 'pre': {\n return properties.wrap ? 'pre-wrap' : 'pre'\n }\n\n case 'td':\n case 'th': {\n return properties.noWrap ? 'nowrap' : info.whitespace\n }\n\n case 'textarea': {\n return 'pre-wrap'\n }\n\n default:\n }\n }\n\n return info.whitespace\n}\n\n/**\n * @type {TestFunction}\n * @param {Element} node\n * @returns {node is {properties: {hidden: true}}}\n */\nfunction hidden(node) {\n return Boolean((node.properties || {}).hidden)\n}\n\n/**\n * @type {TestFunction}\n * @param {Element} node\n * @returns {node is {tagName: 'td' | 'th'}}\n */\nfunction isCell(node) {\n return node.tagName === 'td' || node.tagName === 'th'\n}\n\n/**\n * @type {TestFunction}\n */\nfunction closedDialog(node) {\n return node.tagName === 'dialog' && !(node.properties || {}).open\n}\n","/*\nLanguage: C++\nCategory: common, system\nWebsite: https://isocpp.org\n*/\n\n/** @type LanguageFn */\nfunction cPlusPlus(hljs) {\n const regex = hljs.regex;\n // added for historic reasons because `hljs.C_LINE_COMMENT_MODE` does\n // not include such support nor can we be sure all the grammars depending\n // on it would desire this behavior\n const C_LINE_COMMENT_MODE = hljs.COMMENT('//', '$', { contains: [ { begin: /\\\\\\n/ } ] });\n const DECLTYPE_AUTO_RE = 'decltype\\\\(auto\\\\)';\n const NAMESPACE_RE = '[a-zA-Z_]\\\\w*::';\n const TEMPLATE_ARGUMENT_RE = '<[^<>]+>';\n const FUNCTION_TYPE_RE = '(?!struct)('\n + DECLTYPE_AUTO_RE + '|'\n + regex.optional(NAMESPACE_RE)\n + '[a-zA-Z_]\\\\w*' + regex.optional(TEMPLATE_ARGUMENT_RE)\n + ')';\n\n const CPP_PRIMITIVE_TYPES = {\n className: 'type',\n begin: '\\\\b[a-z\\\\d_]*_t\\\\b'\n };\n\n // https://en.cppreference.com/w/cpp/language/escape\n // \\\\ \\x \\xFF \\u2837 \\u00323747 \\374\n const CHARACTER_ESCAPES = '\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\\\S)';\n const STRINGS = {\n className: 'string',\n variants: [\n {\n begin: '(u8?|U|L)?\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '(u8?|U|L)?\\'(' + CHARACTER_ESCAPES + '|.)',\n end: '\\'',\n illegal: '.'\n },\n hljs.END_SAME_AS_BEGIN({\n begin: /(?:u8?|U|L)?R\"([^()\\\\ ]{0,16})\\(/,\n end: /\\)([^()\\\\ ]{0,16})\"/\n })\n ]\n };\n\n const NUMBERS = {\n className: 'number',\n variants: [\n // Floating-point literal.\n { begin:\n \"[+-]?(?:\" // Leading sign.\n // Decimal.\n + \"(?:\"\n +\"[0-9](?:'?[0-9])*\\\\.(?:[0-9](?:'?[0-9])*)?\"\n + \"|\\\\.[0-9](?:'?[0-9])*\"\n + \")(?:[Ee][+-]?[0-9](?:'?[0-9])*)?\"\n + \"|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*\"\n // Hexadecimal.\n + \"|0[Xx](?:\"\n +\"[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?\"\n + \"|\\\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*\"\n + \")[Pp][+-]?[0-9](?:'?[0-9])*\"\n + \")(?:\" // Literal suffixes.\n + \"[Ff](?:16|32|64|128)?\"\n + \"|(BF|bf)16\"\n + \"|[Ll]\"\n + \"|\" // Literal suffix is optional.\n + \")\"\n },\n // Integer literal.\n { begin:\n \"[+-]?\\\\b(?:\" // Leading sign.\n + \"0[Bb][01](?:'?[01])*\" // Binary.\n + \"|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*\" // Hexadecimal.\n + \"|0(?:'?[0-7])*\" // Octal or just a lone zero.\n + \"|[1-9](?:'?[0-9])*\" // Decimal.\n + \")(?:\" // Literal suffixes.\n + \"[Uu](?:LL?|ll?)\"\n + \"|[Uu][Zz]?\"\n + \"|(?:LL?|ll?)[Uu]?\"\n + \"|[Zz][Uu]\"\n + \"|\" // Literal suffix is optional.\n + \")\"\n // Note: there are user-defined literal suffixes too, but perhaps having the custom suffix not part of the\n // literal highlight actually makes it stand out more.\n }\n ],\n relevance: 0\n };\n\n const PREPROCESSOR = {\n className: 'meta',\n begin: /#\\s*[a-z]+\\b/,\n end: /$/,\n keywords: { keyword:\n 'if else elif endif define undef warning error line '\n + 'pragma _Pragma ifdef ifndef include' },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n hljs.inherit(STRINGS, { className: 'string' }),\n {\n className: 'string',\n begin: /<.*?>/\n },\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n\n const TITLE_MODE = {\n className: 'title',\n begin: regex.optional(NAMESPACE_RE) + hljs.IDENT_RE,\n relevance: 0\n };\n\n const FUNCTION_TITLE = regex.optional(NAMESPACE_RE) + hljs.IDENT_RE + '\\\\s*\\\\(';\n\n // https://en.cppreference.com/w/cpp/keyword\n const RESERVED_KEYWORDS = [\n 'alignas',\n 'alignof',\n 'and',\n 'and_eq',\n 'asm',\n 'atomic_cancel',\n 'atomic_commit',\n 'atomic_noexcept',\n 'auto',\n 'bitand',\n 'bitor',\n 'break',\n 'case',\n 'catch',\n 'class',\n 'co_await',\n 'co_return',\n 'co_yield',\n 'compl',\n 'concept',\n 'const_cast|10',\n 'consteval',\n 'constexpr',\n 'constinit',\n 'continue',\n 'decltype',\n 'default',\n 'delete',\n 'do',\n 'dynamic_cast|10',\n 'else',\n 'enum',\n 'explicit',\n 'export',\n 'extern',\n 'false',\n 'final',\n 'for',\n 'friend',\n 'goto',\n 'if',\n 'import',\n 'inline',\n 'module',\n 'mutable',\n 'namespace',\n 'new',\n 'noexcept',\n 'not',\n 'not_eq',\n 'nullptr',\n 'operator',\n 'or',\n 'or_eq',\n 'override',\n 'private',\n 'protected',\n 'public',\n 'reflexpr',\n 'register',\n 'reinterpret_cast|10',\n 'requires',\n 'return',\n 'sizeof',\n 'static_assert',\n 'static_cast|10',\n 'struct',\n 'switch',\n 'synchronized',\n 'template',\n 'this',\n 'thread_local',\n 'throw',\n 'transaction_safe',\n 'transaction_safe_dynamic',\n 'true',\n 'try',\n 'typedef',\n 'typeid',\n 'typename',\n 'union',\n 'using',\n 'virtual',\n 'volatile',\n 'while',\n 'xor',\n 'xor_eq'\n ];\n\n // https://en.cppreference.com/w/cpp/keyword\n const RESERVED_TYPES = [\n 'bool',\n 'char',\n 'char16_t',\n 'char32_t',\n 'char8_t',\n 'double',\n 'float',\n 'int',\n 'long',\n 'short',\n 'void',\n 'wchar_t',\n 'unsigned',\n 'signed',\n 'const',\n 'static'\n ];\n\n const TYPE_HINTS = [\n 'any',\n 'auto_ptr',\n 'barrier',\n 'binary_semaphore',\n 'bitset',\n 'complex',\n 'condition_variable',\n 'condition_variable_any',\n 'counting_semaphore',\n 'deque',\n 'false_type',\n 'flat_map',\n 'flat_set',\n 'future',\n 'imaginary',\n 'initializer_list',\n 'istringstream',\n 'jthread',\n 'latch',\n 'lock_guard',\n 'multimap',\n 'multiset',\n 'mutex',\n 'optional',\n 'ostringstream',\n 'packaged_task',\n 'pair',\n 'promise',\n 'priority_queue',\n 'queue',\n 'recursive_mutex',\n 'recursive_timed_mutex',\n 'scoped_lock',\n 'set',\n 'shared_future',\n 'shared_lock',\n 'shared_mutex',\n 'shared_timed_mutex',\n 'shared_ptr',\n 'stack',\n 'string_view',\n 'stringstream',\n 'timed_mutex',\n 'thread',\n 'true_type',\n 'tuple',\n 'unique_lock',\n 'unique_ptr',\n 'unordered_map',\n 'unordered_multimap',\n 'unordered_multiset',\n 'unordered_set',\n 'variant',\n 'vector',\n 'weak_ptr',\n 'wstring',\n 'wstring_view'\n ];\n\n const FUNCTION_HINTS = [\n 'abort',\n 'abs',\n 'acos',\n 'apply',\n 'as_const',\n 'asin',\n 'atan',\n 'atan2',\n 'calloc',\n 'ceil',\n 'cerr',\n 'cin',\n 'clog',\n 'cos',\n 'cosh',\n 'cout',\n 'declval',\n 'endl',\n 'exchange',\n 'exit',\n 'exp',\n 'fabs',\n 'floor',\n 'fmod',\n 'forward',\n 'fprintf',\n 'fputs',\n 'free',\n 'frexp',\n 'fscanf',\n 'future',\n 'invoke',\n 'isalnum',\n 'isalpha',\n 'iscntrl',\n 'isdigit',\n 'isgraph',\n 'islower',\n 'isprint',\n 'ispunct',\n 'isspace',\n 'isupper',\n 'isxdigit',\n 'labs',\n 'launder',\n 'ldexp',\n 'log',\n 'log10',\n 'make_pair',\n 'make_shared',\n 'make_shared_for_overwrite',\n 'make_tuple',\n 'make_unique',\n 'malloc',\n 'memchr',\n 'memcmp',\n 'memcpy',\n 'memset',\n 'modf',\n 'move',\n 'pow',\n 'printf',\n 'putchar',\n 'puts',\n 'realloc',\n 'scanf',\n 'sin',\n 'sinh',\n 'snprintf',\n 'sprintf',\n 'sqrt',\n 'sscanf',\n 'std',\n 'stderr',\n 'stdin',\n 'stdout',\n 'strcat',\n 'strchr',\n 'strcmp',\n 'strcpy',\n 'strcspn',\n 'strlen',\n 'strncat',\n 'strncmp',\n 'strncpy',\n 'strpbrk',\n 'strrchr',\n 'strspn',\n 'strstr',\n 'swap',\n 'tan',\n 'tanh',\n 'terminate',\n 'to_underlying',\n 'tolower',\n 'toupper',\n 'vfprintf',\n 'visit',\n 'vprintf',\n 'vsprintf'\n ];\n\n const LITERALS = [\n 'NULL',\n 'false',\n 'nullopt',\n 'nullptr',\n 'true'\n ];\n\n // https://en.cppreference.com/w/cpp/keyword\n const BUILT_IN = [ '_Pragma' ];\n\n const CPP_KEYWORDS = {\n type: RESERVED_TYPES,\n keyword: RESERVED_KEYWORDS,\n literal: LITERALS,\n built_in: BUILT_IN,\n _type_hints: TYPE_HINTS\n };\n\n const FUNCTION_DISPATCH = {\n className: 'function.dispatch',\n relevance: 0,\n keywords: {\n // Only for relevance, not highlighting.\n _hint: FUNCTION_HINTS },\n begin: regex.concat(\n /\\b/,\n /(?!decltype)/,\n /(?!if)/,\n /(?!for)/,\n /(?!switch)/,\n /(?!while)/,\n hljs.IDENT_RE,\n regex.lookahead(/(<[^<>]+>|)\\s*\\(/))\n };\n\n const EXPRESSION_CONTAINS = [\n FUNCTION_DISPATCH,\n PREPROCESSOR,\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS\n ];\n\n const EXPRESSION_CONTEXT = {\n // This mode covers expression context where we can't expect a function\n // definition and shouldn't highlight anything that looks like one:\n // `return some()`, `else if()`, `(x*sum(1, 2))`\n variants: [\n {\n begin: /=/,\n end: /;/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n beginKeywords: 'new throw return else',\n end: /;/\n }\n ],\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([ 'self' ]),\n relevance: 0\n }\n ]),\n relevance: 0\n };\n\n const FUNCTION_DECLARATION = {\n className: 'function',\n begin: '(' + FUNCTION_TYPE_RE + '[\\\\*&\\\\s]+)+' + FUNCTION_TITLE,\n returnBegin: true,\n end: /[{;=]/,\n excludeEnd: true,\n keywords: CPP_KEYWORDS,\n illegal: /[^\\w\\s\\*&:<>.]/,\n contains: [\n { // to prevent it from being confused as the function title\n begin: DECLTYPE_AUTO_RE,\n keywords: CPP_KEYWORDS,\n relevance: 0\n },\n {\n begin: FUNCTION_TITLE,\n returnBegin: true,\n contains: [ TITLE_MODE ],\n relevance: 0\n },\n // needed because we do not have look-behind on the below rule\n // to prevent it from grabbing the final : in a :: pair\n {\n begin: /::/,\n relevance: 0\n },\n // initializers\n {\n begin: /:/,\n endsWithParent: true,\n contains: [\n STRINGS,\n NUMBERS\n ]\n },\n // allow for multiple declarations, e.g.:\n // extern void f(int), g(char);\n {\n relevance: 0,\n match: /,/\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES,\n // Count matching parentheses.\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n 'self',\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES\n ]\n }\n ]\n },\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n PREPROCESSOR\n ]\n };\n\n return {\n name: 'C++',\n aliases: [\n 'cc',\n 'c++',\n 'h++',\n 'hpp',\n 'hh',\n 'hxx',\n 'cxx'\n ],\n keywords: CPP_KEYWORDS,\n illegal: ' rooms (9);`\n begin: '\\\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\\\s*<(?!<)',\n end: '>',\n keywords: CPP_KEYWORDS,\n contains: [\n 'self',\n CPP_PRIMITIVE_TYPES\n ]\n },\n {\n begin: hljs.IDENT_RE + '::',\n keywords: CPP_KEYWORDS\n },\n {\n match: [\n // extra complexity to deal with `enum class` and `enum struct`\n /\\b(?:enum(?:\\s+(?:class|struct))?|class|struct|union)/,\n /\\s+/,\n /\\w+/\n ],\n className: {\n 1: 'keyword',\n 3: 'title.class'\n }\n }\n ])\n };\n}\n\n/*\nLanguage: Arduino\nAuthor: Stefania Mellai \nDescription: The Arduino® Language is a superset of C++. This rules are designed to highlight the Arduino® source code. For info about language see http://www.arduino.cc.\nWebsite: https://www.arduino.cc\nCategory: system\n*/\n\n\n/** @type LanguageFn */\nfunction arduino(hljs) {\n const ARDUINO_KW = {\n type: [\n \"boolean\",\n \"byte\",\n \"word\",\n \"String\"\n ],\n built_in: [\n \"KeyboardController\",\n \"MouseController\",\n \"SoftwareSerial\",\n \"EthernetServer\",\n \"EthernetClient\",\n \"LiquidCrystal\",\n \"RobotControl\",\n \"GSMVoiceCall\",\n \"EthernetUDP\",\n \"EsploraTFT\",\n \"HttpClient\",\n \"RobotMotor\",\n \"WiFiClient\",\n \"GSMScanner\",\n \"FileSystem\",\n \"Scheduler\",\n \"GSMServer\",\n \"YunClient\",\n \"YunServer\",\n \"IPAddress\",\n \"GSMClient\",\n \"GSMModem\",\n \"Keyboard\",\n \"Ethernet\",\n \"Console\",\n \"GSMBand\",\n \"Esplora\",\n \"Stepper\",\n \"Process\",\n \"WiFiUDP\",\n \"GSM_SMS\",\n \"Mailbox\",\n \"USBHost\",\n \"Firmata\",\n \"PImage\",\n \"Client\",\n \"Server\",\n \"GSMPIN\",\n \"FileIO\",\n \"Bridge\",\n \"Serial\",\n \"EEPROM\",\n \"Stream\",\n \"Mouse\",\n \"Audio\",\n \"Servo\",\n \"File\",\n \"Task\",\n \"GPRS\",\n \"WiFi\",\n \"Wire\",\n \"TFT\",\n \"GSM\",\n \"SPI\",\n \"SD\"\n ],\n _hints: [\n \"setup\",\n \"loop\",\n \"runShellCommandAsynchronously\",\n \"analogWriteResolution\",\n \"retrieveCallingNumber\",\n \"printFirmwareVersion\",\n \"analogReadResolution\",\n \"sendDigitalPortPair\",\n \"noListenOnLocalhost\",\n \"readJoystickButton\",\n \"setFirmwareVersion\",\n \"readJoystickSwitch\",\n \"scrollDisplayRight\",\n \"getVoiceCallStatus\",\n \"scrollDisplayLeft\",\n \"writeMicroseconds\",\n \"delayMicroseconds\",\n \"beginTransmission\",\n \"getSignalStrength\",\n \"runAsynchronously\",\n \"getAsynchronously\",\n \"listenOnLocalhost\",\n \"getCurrentCarrier\",\n \"readAccelerometer\",\n \"messageAvailable\",\n \"sendDigitalPorts\",\n \"lineFollowConfig\",\n \"countryNameWrite\",\n \"runShellCommand\",\n \"readStringUntil\",\n \"rewindDirectory\",\n \"readTemperature\",\n \"setClockDivider\",\n \"readLightSensor\",\n \"endTransmission\",\n \"analogReference\",\n \"detachInterrupt\",\n \"countryNameRead\",\n \"attachInterrupt\",\n \"encryptionType\",\n \"readBytesUntil\",\n \"robotNameWrite\",\n \"readMicrophone\",\n \"robotNameRead\",\n \"cityNameWrite\",\n \"userNameWrite\",\n \"readJoystickY\",\n \"readJoystickX\",\n \"mouseReleased\",\n \"openNextFile\",\n \"scanNetworks\",\n \"noInterrupts\",\n \"digitalWrite\",\n \"beginSpeaker\",\n \"mousePressed\",\n \"isActionDone\",\n \"mouseDragged\",\n \"displayLogos\",\n \"noAutoscroll\",\n \"addParameter\",\n \"remoteNumber\",\n \"getModifiers\",\n \"keyboardRead\",\n \"userNameRead\",\n \"waitContinue\",\n \"processInput\",\n \"parseCommand\",\n \"printVersion\",\n \"readNetworks\",\n \"writeMessage\",\n \"blinkVersion\",\n \"cityNameRead\",\n \"readMessage\",\n \"setDataMode\",\n \"parsePacket\",\n \"isListening\",\n \"setBitOrder\",\n \"beginPacket\",\n \"isDirectory\",\n \"motorsWrite\",\n \"drawCompass\",\n \"digitalRead\",\n \"clearScreen\",\n \"serialEvent\",\n \"rightToLeft\",\n \"setTextSize\",\n \"leftToRight\",\n \"requestFrom\",\n \"keyReleased\",\n \"compassRead\",\n \"analogWrite\",\n \"interrupts\",\n \"WiFiServer\",\n \"disconnect\",\n \"playMelody\",\n \"parseFloat\",\n \"autoscroll\",\n \"getPINUsed\",\n \"setPINUsed\",\n \"setTimeout\",\n \"sendAnalog\",\n \"readSlider\",\n \"analogRead\",\n \"beginWrite\",\n \"createChar\",\n \"motorsStop\",\n \"keyPressed\",\n \"tempoWrite\",\n \"readButton\",\n \"subnetMask\",\n \"debugPrint\",\n \"macAddress\",\n \"writeGreen\",\n \"randomSeed\",\n \"attachGPRS\",\n \"readString\",\n \"sendString\",\n \"remotePort\",\n \"releaseAll\",\n \"mouseMoved\",\n \"background\",\n \"getXChange\",\n \"getYChange\",\n \"answerCall\",\n \"getResult\",\n \"voiceCall\",\n \"endPacket\",\n \"constrain\",\n \"getSocket\",\n \"writeJSON\",\n \"getButton\",\n \"available\",\n \"connected\",\n \"findUntil\",\n \"readBytes\",\n \"exitValue\",\n \"readGreen\",\n \"writeBlue\",\n \"startLoop\",\n \"IPAddress\",\n \"isPressed\",\n \"sendSysex\",\n \"pauseMode\",\n \"gatewayIP\",\n \"setCursor\",\n \"getOemKey\",\n \"tuneWrite\",\n \"noDisplay\",\n \"loadImage\",\n \"switchPIN\",\n \"onRequest\",\n \"onReceive\",\n \"changePIN\",\n \"playFile\",\n \"noBuffer\",\n \"parseInt\",\n \"overflow\",\n \"checkPIN\",\n \"knobRead\",\n \"beginTFT\",\n \"bitClear\",\n \"updateIR\",\n \"bitWrite\",\n \"position\",\n \"writeRGB\",\n \"highByte\",\n \"writeRed\",\n \"setSpeed\",\n \"readBlue\",\n \"noStroke\",\n \"remoteIP\",\n \"transfer\",\n \"shutdown\",\n \"hangCall\",\n \"beginSMS\",\n \"endWrite\",\n \"attached\",\n \"maintain\",\n \"noCursor\",\n \"checkReg\",\n \"checkPUK\",\n \"shiftOut\",\n \"isValid\",\n \"shiftIn\",\n \"pulseIn\",\n \"connect\",\n \"println\",\n \"localIP\",\n \"pinMode\",\n \"getIMEI\",\n \"display\",\n \"noBlink\",\n \"process\",\n \"getBand\",\n \"running\",\n \"beginSD\",\n \"drawBMP\",\n \"lowByte\",\n \"setBand\",\n \"release\",\n \"bitRead\",\n \"prepare\",\n \"pointTo\",\n \"readRed\",\n \"setMode\",\n \"noFill\",\n \"remove\",\n \"listen\",\n \"stroke\",\n \"detach\",\n \"attach\",\n \"noTone\",\n \"exists\",\n \"buffer\",\n \"height\",\n \"bitSet\",\n \"circle\",\n \"config\",\n \"cursor\",\n \"random\",\n \"IRread\",\n \"setDNS\",\n \"endSMS\",\n \"getKey\",\n \"micros\",\n \"millis\",\n \"begin\",\n \"print\",\n \"write\",\n \"ready\",\n \"flush\",\n \"width\",\n \"isPIN\",\n \"blink\",\n \"clear\",\n \"press\",\n \"mkdir\",\n \"rmdir\",\n \"close\",\n \"point\",\n \"yield\",\n \"image\",\n \"BSSID\",\n \"click\",\n \"delay\",\n \"read\",\n \"text\",\n \"move\",\n \"peek\",\n \"beep\",\n \"rect\",\n \"line\",\n \"open\",\n \"seek\",\n \"fill\",\n \"size\",\n \"turn\",\n \"stop\",\n \"home\",\n \"find\",\n \"step\",\n \"tone\",\n \"sqrt\",\n \"RSSI\",\n \"SSID\",\n \"end\",\n \"bit\",\n \"tan\",\n \"cos\",\n \"sin\",\n \"pow\",\n \"map\",\n \"abs\",\n \"max\",\n \"min\",\n \"get\",\n \"run\",\n \"put\"\n ],\n literal: [\n \"DIGITAL_MESSAGE\",\n \"FIRMATA_STRING\",\n \"ANALOG_MESSAGE\",\n \"REPORT_DIGITAL\",\n \"REPORT_ANALOG\",\n \"INPUT_PULLUP\",\n \"SET_PIN_MODE\",\n \"INTERNAL2V56\",\n \"SYSTEM_RESET\",\n \"LED_BUILTIN\",\n \"INTERNAL1V1\",\n \"SYSEX_START\",\n \"INTERNAL\",\n \"EXTERNAL\",\n \"DEFAULT\",\n \"OUTPUT\",\n \"INPUT\",\n \"HIGH\",\n \"LOW\"\n ]\n };\n\n const ARDUINO = cPlusPlus(hljs);\n\n const kws = /** @type {Record} */ (ARDUINO.keywords);\n\n kws.type = [\n ...kws.type,\n ...ARDUINO_KW.type\n ];\n kws.literal = [\n ...kws.literal,\n ...ARDUINO_KW.literal\n ];\n kws.built_in = [\n ...kws.built_in,\n ...ARDUINO_KW.built_in\n ];\n kws._hints = ARDUINO_KW._hints;\n\n ARDUINO.name = 'Arduino';\n ARDUINO.aliases = [ 'ino' ];\n ARDUINO.supersetOf = \"cpp\";\n\n return ARDUINO;\n}\n\nexport { arduino as default };\n","/*\nLanguage: Bash\nAuthor: vah \nContributrors: Benjamin Pannell \nWebsite: https://www.gnu.org/software/bash/\nCategory: common, scripting\n*/\n\n/** @type LanguageFn */\nfunction bash(hljs) {\n const regex = hljs.regex;\n const VAR = {};\n const BRACED_VAR = {\n begin: /\\$\\{/,\n end: /\\}/,\n contains: [\n \"self\",\n {\n begin: /:-/,\n contains: [ VAR ]\n } // default values\n ]\n };\n Object.assign(VAR, {\n className: 'variable',\n variants: [\n { begin: regex.concat(/\\$[\\w\\d#@][\\w\\d_]*/,\n // negative look-ahead tries to avoid matching patterns that are not\n // Perl at all like $ident$, @ident@, etc.\n `(?![\\\\w\\\\d])(?![$])`) },\n BRACED_VAR\n ]\n });\n\n const SUBST = {\n className: 'subst',\n begin: /\\$\\(/,\n end: /\\)/,\n contains: [ hljs.BACKSLASH_ESCAPE ]\n };\n const COMMENT = hljs.inherit(\n hljs.COMMENT(),\n {\n match: [\n /(^|\\s)/,\n /#.*$/\n ],\n scope: {\n 2: 'comment'\n }\n }\n );\n const HERE_DOC = {\n begin: /<<-?\\s*(?=\\w+)/,\n starts: { contains: [\n hljs.END_SAME_AS_BEGIN({\n begin: /(\\w+)/,\n end: /(\\w+)/,\n className: 'string'\n })\n ] }\n };\n const QUOTE_STRING = {\n className: 'string',\n begin: /\"/,\n end: /\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n VAR,\n SUBST\n ]\n };\n SUBST.contains.push(QUOTE_STRING);\n const ESCAPED_QUOTE = {\n match: /\\\\\"/\n };\n const APOS_STRING = {\n className: 'string',\n begin: /'/,\n end: /'/\n };\n const ESCAPED_APOS = {\n match: /\\\\'/\n };\n const ARITHMETIC = {\n begin: /\\$?\\(\\(/,\n end: /\\)\\)/,\n contains: [\n {\n begin: /\\d+#[0-9a-f]+/,\n className: \"number\"\n },\n hljs.NUMBER_MODE,\n VAR\n ]\n };\n const SH_LIKE_SHELLS = [\n \"fish\",\n \"bash\",\n \"zsh\",\n \"sh\",\n \"csh\",\n \"ksh\",\n \"tcsh\",\n \"dash\",\n \"scsh\",\n ];\n const KNOWN_SHEBANG = hljs.SHEBANG({\n binary: `(${SH_LIKE_SHELLS.join(\"|\")})`,\n relevance: 10\n });\n const FUNCTION = {\n className: 'function',\n begin: /\\w[\\w\\d_]*\\s*\\(\\s*\\)\\s*\\{/,\n returnBegin: true,\n contains: [ hljs.inherit(hljs.TITLE_MODE, { begin: /\\w[\\w\\d_]*/ }) ],\n relevance: 0\n };\n\n const KEYWORDS = [\n \"if\",\n \"then\",\n \"else\",\n \"elif\",\n \"fi\",\n \"time\",\n \"for\",\n \"while\",\n \"until\",\n \"in\",\n \"do\",\n \"done\",\n \"case\",\n \"esac\",\n \"coproc\",\n \"function\",\n \"select\"\n ];\n\n const LITERALS = [\n \"true\",\n \"false\"\n ];\n\n // to consume paths to prevent keyword matches inside them\n const PATH_MODE = { match: /(\\/[a-z._-]+)+/ };\n\n // http://www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html\n const SHELL_BUILT_INS = [\n \"break\",\n \"cd\",\n \"continue\",\n \"eval\",\n \"exec\",\n \"exit\",\n \"export\",\n \"getopts\",\n \"hash\",\n \"pwd\",\n \"readonly\",\n \"return\",\n \"shift\",\n \"test\",\n \"times\",\n \"trap\",\n \"umask\",\n \"unset\"\n ];\n\n const BASH_BUILT_INS = [\n \"alias\",\n \"bind\",\n \"builtin\",\n \"caller\",\n \"command\",\n \"declare\",\n \"echo\",\n \"enable\",\n \"help\",\n \"let\",\n \"local\",\n \"logout\",\n \"mapfile\",\n \"printf\",\n \"read\",\n \"readarray\",\n \"source\",\n \"sudo\",\n \"type\",\n \"typeset\",\n \"ulimit\",\n \"unalias\"\n ];\n\n const ZSH_BUILT_INS = [\n \"autoload\",\n \"bg\",\n \"bindkey\",\n \"bye\",\n \"cap\",\n \"chdir\",\n \"clone\",\n \"comparguments\",\n \"compcall\",\n \"compctl\",\n \"compdescribe\",\n \"compfiles\",\n \"compgroups\",\n \"compquote\",\n \"comptags\",\n \"comptry\",\n \"compvalues\",\n \"dirs\",\n \"disable\",\n \"disown\",\n \"echotc\",\n \"echoti\",\n \"emulate\",\n \"fc\",\n \"fg\",\n \"float\",\n \"functions\",\n \"getcap\",\n \"getln\",\n \"history\",\n \"integer\",\n \"jobs\",\n \"kill\",\n \"limit\",\n \"log\",\n \"noglob\",\n \"popd\",\n \"print\",\n \"pushd\",\n \"pushln\",\n \"rehash\",\n \"sched\",\n \"setcap\",\n \"setopt\",\n \"stat\",\n \"suspend\",\n \"ttyctl\",\n \"unfunction\",\n \"unhash\",\n \"unlimit\",\n \"unsetopt\",\n \"vared\",\n \"wait\",\n \"whence\",\n \"where\",\n \"which\",\n \"zcompile\",\n \"zformat\",\n \"zftp\",\n \"zle\",\n \"zmodload\",\n \"zparseopts\",\n \"zprof\",\n \"zpty\",\n \"zregexparse\",\n \"zsocket\",\n \"zstyle\",\n \"ztcp\"\n ];\n\n const GNU_CORE_UTILS = [\n \"chcon\",\n \"chgrp\",\n \"chown\",\n \"chmod\",\n \"cp\",\n \"dd\",\n \"df\",\n \"dir\",\n \"dircolors\",\n \"ln\",\n \"ls\",\n \"mkdir\",\n \"mkfifo\",\n \"mknod\",\n \"mktemp\",\n \"mv\",\n \"realpath\",\n \"rm\",\n \"rmdir\",\n \"shred\",\n \"sync\",\n \"touch\",\n \"truncate\",\n \"vdir\",\n \"b2sum\",\n \"base32\",\n \"base64\",\n \"cat\",\n \"cksum\",\n \"comm\",\n \"csplit\",\n \"cut\",\n \"expand\",\n \"fmt\",\n \"fold\",\n \"head\",\n \"join\",\n \"md5sum\",\n \"nl\",\n \"numfmt\",\n \"od\",\n \"paste\",\n \"ptx\",\n \"pr\",\n \"sha1sum\",\n \"sha224sum\",\n \"sha256sum\",\n \"sha384sum\",\n \"sha512sum\",\n \"shuf\",\n \"sort\",\n \"split\",\n \"sum\",\n \"tac\",\n \"tail\",\n \"tr\",\n \"tsort\",\n \"unexpand\",\n \"uniq\",\n \"wc\",\n \"arch\",\n \"basename\",\n \"chroot\",\n \"date\",\n \"dirname\",\n \"du\",\n \"echo\",\n \"env\",\n \"expr\",\n \"factor\",\n // \"false\", // keyword literal already\n \"groups\",\n \"hostid\",\n \"id\",\n \"link\",\n \"logname\",\n \"nice\",\n \"nohup\",\n \"nproc\",\n \"pathchk\",\n \"pinky\",\n \"printenv\",\n \"printf\",\n \"pwd\",\n \"readlink\",\n \"runcon\",\n \"seq\",\n \"sleep\",\n \"stat\",\n \"stdbuf\",\n \"stty\",\n \"tee\",\n \"test\",\n \"timeout\",\n // \"true\", // keyword literal already\n \"tty\",\n \"uname\",\n \"unlink\",\n \"uptime\",\n \"users\",\n \"who\",\n \"whoami\",\n \"yes\"\n ];\n\n return {\n name: 'Bash',\n aliases: [\n 'sh',\n 'zsh'\n ],\n keywords: {\n $pattern: /\\b[a-z][a-z0-9._-]+\\b/,\n keyword: KEYWORDS,\n literal: LITERALS,\n built_in: [\n ...SHELL_BUILT_INS,\n ...BASH_BUILT_INS,\n // Shell modifiers\n \"set\",\n \"shopt\",\n ...ZSH_BUILT_INS,\n ...GNU_CORE_UTILS\n ]\n },\n contains: [\n KNOWN_SHEBANG, // to catch known shells and boost relevancy\n hljs.SHEBANG(), // to catch unknown shells but still highlight the shebang\n FUNCTION,\n ARITHMETIC,\n COMMENT,\n HERE_DOC,\n PATH_MODE,\n QUOTE_STRING,\n ESCAPED_QUOTE,\n APOS_STRING,\n ESCAPED_APOS,\n VAR\n ]\n };\n}\n\nexport { bash as default };\n","/*\nLanguage: C\nCategory: common, system\nWebsite: https://en.wikipedia.org/wiki/C_(programming_language)\n*/\n\n/** @type LanguageFn */\nfunction c(hljs) {\n const regex = hljs.regex;\n // added for historic reasons because `hljs.C_LINE_COMMENT_MODE` does\n // not include such support nor can we be sure all the grammars depending\n // on it would desire this behavior\n const C_LINE_COMMENT_MODE = hljs.COMMENT('//', '$', { contains: [ { begin: /\\\\\\n/ } ] });\n const DECLTYPE_AUTO_RE = 'decltype\\\\(auto\\\\)';\n const NAMESPACE_RE = '[a-zA-Z_]\\\\w*::';\n const TEMPLATE_ARGUMENT_RE = '<[^<>]+>';\n const FUNCTION_TYPE_RE = '('\n + DECLTYPE_AUTO_RE + '|'\n + regex.optional(NAMESPACE_RE)\n + '[a-zA-Z_]\\\\w*' + regex.optional(TEMPLATE_ARGUMENT_RE)\n + ')';\n\n\n const TYPES = {\n className: 'type',\n variants: [\n { begin: '\\\\b[a-z\\\\d_]*_t\\\\b' },\n { match: /\\batomic_[a-z]{3,6}\\b/ }\n ]\n\n };\n\n // https://en.cppreference.com/w/cpp/language/escape\n // \\\\ \\x \\xFF \\u2837 \\u00323747 \\374\n const CHARACTER_ESCAPES = '\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\\\S)';\n const STRINGS = {\n className: 'string',\n variants: [\n {\n begin: '(u8?|U|L)?\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '(u8?|U|L)?\\'(' + CHARACTER_ESCAPES + \"|.)\",\n end: '\\'',\n illegal: '.'\n },\n hljs.END_SAME_AS_BEGIN({\n begin: /(?:u8?|U|L)?R\"([^()\\\\ ]{0,16})\\(/,\n end: /\\)([^()\\\\ ]{0,16})\"/\n })\n ]\n };\n\n const NUMBERS = {\n className: 'number',\n variants: [\n { match: /\\b(0b[01']+)/ }, \n { match: /(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/ }, \n { match: /(-?)\\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/ }, \n { match: /(-?)\\b\\d+(?:'\\d+)*(?:\\.\\d*(?:'\\d*)*)?(?:[eE][-+]?\\d+)?/ } \n ],\n relevance: 0\n }; \n \n const PREPROCESSOR = {\n className: 'meta',\n begin: /#\\s*[a-z]+\\b/,\n end: /$/,\n keywords: { keyword:\n 'if else elif endif define undef warning error line '\n + 'pragma _Pragma ifdef ifndef elifdef elifndef include' },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n hljs.inherit(STRINGS, { className: 'string' }),\n {\n className: 'string',\n begin: /<.*?>/\n },\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n\n const TITLE_MODE = {\n className: 'title',\n begin: regex.optional(NAMESPACE_RE) + hljs.IDENT_RE,\n relevance: 0\n };\n\n const FUNCTION_TITLE = regex.optional(NAMESPACE_RE) + hljs.IDENT_RE + '\\\\s*\\\\(';\n\n const C_KEYWORDS = [\n \"asm\",\n \"auto\",\n \"break\",\n \"case\",\n \"continue\",\n \"default\",\n \"do\",\n \"else\",\n \"enum\",\n \"extern\",\n \"for\",\n \"fortran\",\n \"goto\",\n \"if\",\n \"inline\",\n \"register\",\n \"restrict\",\n \"return\",\n \"sizeof\",\n \"typeof\",\n \"typeof_unqual\",\n \"struct\",\n \"switch\",\n \"typedef\",\n \"union\",\n \"volatile\",\n \"while\",\n \"_Alignas\",\n \"_Alignof\",\n \"_Atomic\",\n \"_Generic\",\n \"_Noreturn\",\n \"_Static_assert\",\n \"_Thread_local\",\n // aliases\n \"alignas\",\n \"alignof\",\n \"noreturn\",\n \"static_assert\",\n \"thread_local\",\n // not a C keyword but is, for all intents and purposes, treated exactly like one.\n \"_Pragma\"\n ];\n\n const C_TYPES = [\n \"float\",\n \"double\",\n \"signed\",\n \"unsigned\",\n \"int\",\n \"short\",\n \"long\",\n \"char\",\n \"void\",\n \"_Bool\",\n \"_BitInt\",\n \"_Complex\",\n \"_Imaginary\",\n \"_Decimal32\",\n \"_Decimal64\",\n \"_Decimal96\",\n \"_Decimal128\",\n \"_Decimal64x\",\n \"_Decimal128x\",\n \"_Float16\",\n \"_Float32\",\n \"_Float64\",\n \"_Float128\",\n \"_Float32x\",\n \"_Float64x\",\n \"_Float128x\",\n // modifiers\n \"const\",\n \"static\",\n \"constexpr\",\n // aliases\n \"complex\",\n \"bool\",\n \"imaginary\"\n ];\n\n const KEYWORDS = {\n keyword: C_KEYWORDS,\n type: C_TYPES,\n literal: 'true false NULL',\n // TODO: apply hinting work similar to what was done in cpp.js\n built_in: 'std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream '\n + 'auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set '\n + 'unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos '\n + 'asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp '\n + 'fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper '\n + 'isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow '\n + 'printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp '\n + 'strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan '\n + 'vfprintf vprintf vsprintf endl initializer_list unique_ptr',\n };\n\n const EXPRESSION_CONTAINS = [\n PREPROCESSOR,\n TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS\n ];\n\n const EXPRESSION_CONTEXT = {\n // This mode covers expression context where we can't expect a function\n // definition and shouldn't highlight anything that looks like one:\n // `return some()`, `else if()`, `(x*sum(1, 2))`\n variants: [\n {\n begin: /=/,\n end: /;/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n beginKeywords: 'new throw return else',\n end: /;/\n }\n ],\n keywords: KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([ 'self' ]),\n relevance: 0\n }\n ]),\n relevance: 0\n };\n\n const FUNCTION_DECLARATION = {\n begin: '(' + FUNCTION_TYPE_RE + '[\\\\*&\\\\s]+)+' + FUNCTION_TITLE,\n returnBegin: true,\n end: /[{;=]/,\n excludeEnd: true,\n keywords: KEYWORDS,\n illegal: /[^\\w\\s\\*&:<>.]/,\n contains: [\n { // to prevent it from being confused as the function title\n begin: DECLTYPE_AUTO_RE,\n keywords: KEYWORDS,\n relevance: 0\n },\n {\n begin: FUNCTION_TITLE,\n returnBegin: true,\n contains: [ hljs.inherit(TITLE_MODE, { className: \"title.function\" }) ],\n relevance: 0\n },\n // allow for multiple declarations, e.g.:\n // extern void f(int), g(char);\n {\n relevance: 0,\n match: /,/\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n TYPES,\n // Count matching parentheses.\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n 'self',\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n TYPES\n ]\n }\n ]\n },\n TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n PREPROCESSOR\n ]\n };\n\n return {\n name: \"C\",\n aliases: [ 'h' ],\n keywords: KEYWORDS,\n // Until differentiations are added between `c` and `cpp`, `c` will\n // not be auto-detected to avoid auto-detect conflicts between C and C++\n disableAutodetect: true,\n illegal: '=]/,\n contains: [\n { beginKeywords: \"final class struct\" },\n hljs.TITLE_MODE\n ]\n }\n ]),\n exports: {\n preprocessor: PREPROCESSOR,\n strings: STRINGS,\n keywords: KEYWORDS\n }\n };\n}\n\nexport { c as default };\n","/*\nLanguage: C++\nCategory: common, system\nWebsite: https://isocpp.org\n*/\n\n/** @type LanguageFn */\nfunction cpp(hljs) {\n const regex = hljs.regex;\n // added for historic reasons because `hljs.C_LINE_COMMENT_MODE` does\n // not include such support nor can we be sure all the grammars depending\n // on it would desire this behavior\n const C_LINE_COMMENT_MODE = hljs.COMMENT('//', '$', { contains: [ { begin: /\\\\\\n/ } ] });\n const DECLTYPE_AUTO_RE = 'decltype\\\\(auto\\\\)';\n const NAMESPACE_RE = '[a-zA-Z_]\\\\w*::';\n const TEMPLATE_ARGUMENT_RE = '<[^<>]+>';\n const FUNCTION_TYPE_RE = '(?!struct)('\n + DECLTYPE_AUTO_RE + '|'\n + regex.optional(NAMESPACE_RE)\n + '[a-zA-Z_]\\\\w*' + regex.optional(TEMPLATE_ARGUMENT_RE)\n + ')';\n\n const CPP_PRIMITIVE_TYPES = {\n className: 'type',\n begin: '\\\\b[a-z\\\\d_]*_t\\\\b'\n };\n\n // https://en.cppreference.com/w/cpp/language/escape\n // \\\\ \\x \\xFF \\u2837 \\u00323747 \\374\n const CHARACTER_ESCAPES = '\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\\\S)';\n const STRINGS = {\n className: 'string',\n variants: [\n {\n begin: '(u8?|U|L)?\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '(u8?|U|L)?\\'(' + CHARACTER_ESCAPES + '|.)',\n end: '\\'',\n illegal: '.'\n },\n hljs.END_SAME_AS_BEGIN({\n begin: /(?:u8?|U|L)?R\"([^()\\\\ ]{0,16})\\(/,\n end: /\\)([^()\\\\ ]{0,16})\"/\n })\n ]\n };\n\n const NUMBERS = {\n className: 'number',\n variants: [\n // Floating-point literal.\n { begin:\n \"[+-]?(?:\" // Leading sign.\n // Decimal.\n + \"(?:\"\n +\"[0-9](?:'?[0-9])*\\\\.(?:[0-9](?:'?[0-9])*)?\"\n + \"|\\\\.[0-9](?:'?[0-9])*\"\n + \")(?:[Ee][+-]?[0-9](?:'?[0-9])*)?\"\n + \"|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*\"\n // Hexadecimal.\n + \"|0[Xx](?:\"\n +\"[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?\"\n + \"|\\\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*\"\n + \")[Pp][+-]?[0-9](?:'?[0-9])*\"\n + \")(?:\" // Literal suffixes.\n + \"[Ff](?:16|32|64|128)?\"\n + \"|(BF|bf)16\"\n + \"|[Ll]\"\n + \"|\" // Literal suffix is optional.\n + \")\"\n },\n // Integer literal.\n { begin:\n \"[+-]?\\\\b(?:\" // Leading sign.\n + \"0[Bb][01](?:'?[01])*\" // Binary.\n + \"|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*\" // Hexadecimal.\n + \"|0(?:'?[0-7])*\" // Octal or just a lone zero.\n + \"|[1-9](?:'?[0-9])*\" // Decimal.\n + \")(?:\" // Literal suffixes.\n + \"[Uu](?:LL?|ll?)\"\n + \"|[Uu][Zz]?\"\n + \"|(?:LL?|ll?)[Uu]?\"\n + \"|[Zz][Uu]\"\n + \"|\" // Literal suffix is optional.\n + \")\"\n // Note: there are user-defined literal suffixes too, but perhaps having the custom suffix not part of the\n // literal highlight actually makes it stand out more.\n }\n ],\n relevance: 0\n };\n\n const PREPROCESSOR = {\n className: 'meta',\n begin: /#\\s*[a-z]+\\b/,\n end: /$/,\n keywords: { keyword:\n 'if else elif endif define undef warning error line '\n + 'pragma _Pragma ifdef ifndef include' },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n hljs.inherit(STRINGS, { className: 'string' }),\n {\n className: 'string',\n begin: /<.*?>/\n },\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n\n const TITLE_MODE = {\n className: 'title',\n begin: regex.optional(NAMESPACE_RE) + hljs.IDENT_RE,\n relevance: 0\n };\n\n const FUNCTION_TITLE = regex.optional(NAMESPACE_RE) + hljs.IDENT_RE + '\\\\s*\\\\(';\n\n // https://en.cppreference.com/w/cpp/keyword\n const RESERVED_KEYWORDS = [\n 'alignas',\n 'alignof',\n 'and',\n 'and_eq',\n 'asm',\n 'atomic_cancel',\n 'atomic_commit',\n 'atomic_noexcept',\n 'auto',\n 'bitand',\n 'bitor',\n 'break',\n 'case',\n 'catch',\n 'class',\n 'co_await',\n 'co_return',\n 'co_yield',\n 'compl',\n 'concept',\n 'const_cast|10',\n 'consteval',\n 'constexpr',\n 'constinit',\n 'continue',\n 'decltype',\n 'default',\n 'delete',\n 'do',\n 'dynamic_cast|10',\n 'else',\n 'enum',\n 'explicit',\n 'export',\n 'extern',\n 'false',\n 'final',\n 'for',\n 'friend',\n 'goto',\n 'if',\n 'import',\n 'inline',\n 'module',\n 'mutable',\n 'namespace',\n 'new',\n 'noexcept',\n 'not',\n 'not_eq',\n 'nullptr',\n 'operator',\n 'or',\n 'or_eq',\n 'override',\n 'private',\n 'protected',\n 'public',\n 'reflexpr',\n 'register',\n 'reinterpret_cast|10',\n 'requires',\n 'return',\n 'sizeof',\n 'static_assert',\n 'static_cast|10',\n 'struct',\n 'switch',\n 'synchronized',\n 'template',\n 'this',\n 'thread_local',\n 'throw',\n 'transaction_safe',\n 'transaction_safe_dynamic',\n 'true',\n 'try',\n 'typedef',\n 'typeid',\n 'typename',\n 'union',\n 'using',\n 'virtual',\n 'volatile',\n 'while',\n 'xor',\n 'xor_eq'\n ];\n\n // https://en.cppreference.com/w/cpp/keyword\n const RESERVED_TYPES = [\n 'bool',\n 'char',\n 'char16_t',\n 'char32_t',\n 'char8_t',\n 'double',\n 'float',\n 'int',\n 'long',\n 'short',\n 'void',\n 'wchar_t',\n 'unsigned',\n 'signed',\n 'const',\n 'static'\n ];\n\n const TYPE_HINTS = [\n 'any',\n 'auto_ptr',\n 'barrier',\n 'binary_semaphore',\n 'bitset',\n 'complex',\n 'condition_variable',\n 'condition_variable_any',\n 'counting_semaphore',\n 'deque',\n 'false_type',\n 'flat_map',\n 'flat_set',\n 'future',\n 'imaginary',\n 'initializer_list',\n 'istringstream',\n 'jthread',\n 'latch',\n 'lock_guard',\n 'multimap',\n 'multiset',\n 'mutex',\n 'optional',\n 'ostringstream',\n 'packaged_task',\n 'pair',\n 'promise',\n 'priority_queue',\n 'queue',\n 'recursive_mutex',\n 'recursive_timed_mutex',\n 'scoped_lock',\n 'set',\n 'shared_future',\n 'shared_lock',\n 'shared_mutex',\n 'shared_timed_mutex',\n 'shared_ptr',\n 'stack',\n 'string_view',\n 'stringstream',\n 'timed_mutex',\n 'thread',\n 'true_type',\n 'tuple',\n 'unique_lock',\n 'unique_ptr',\n 'unordered_map',\n 'unordered_multimap',\n 'unordered_multiset',\n 'unordered_set',\n 'variant',\n 'vector',\n 'weak_ptr',\n 'wstring',\n 'wstring_view'\n ];\n\n const FUNCTION_HINTS = [\n 'abort',\n 'abs',\n 'acos',\n 'apply',\n 'as_const',\n 'asin',\n 'atan',\n 'atan2',\n 'calloc',\n 'ceil',\n 'cerr',\n 'cin',\n 'clog',\n 'cos',\n 'cosh',\n 'cout',\n 'declval',\n 'endl',\n 'exchange',\n 'exit',\n 'exp',\n 'fabs',\n 'floor',\n 'fmod',\n 'forward',\n 'fprintf',\n 'fputs',\n 'free',\n 'frexp',\n 'fscanf',\n 'future',\n 'invoke',\n 'isalnum',\n 'isalpha',\n 'iscntrl',\n 'isdigit',\n 'isgraph',\n 'islower',\n 'isprint',\n 'ispunct',\n 'isspace',\n 'isupper',\n 'isxdigit',\n 'labs',\n 'launder',\n 'ldexp',\n 'log',\n 'log10',\n 'make_pair',\n 'make_shared',\n 'make_shared_for_overwrite',\n 'make_tuple',\n 'make_unique',\n 'malloc',\n 'memchr',\n 'memcmp',\n 'memcpy',\n 'memset',\n 'modf',\n 'move',\n 'pow',\n 'printf',\n 'putchar',\n 'puts',\n 'realloc',\n 'scanf',\n 'sin',\n 'sinh',\n 'snprintf',\n 'sprintf',\n 'sqrt',\n 'sscanf',\n 'std',\n 'stderr',\n 'stdin',\n 'stdout',\n 'strcat',\n 'strchr',\n 'strcmp',\n 'strcpy',\n 'strcspn',\n 'strlen',\n 'strncat',\n 'strncmp',\n 'strncpy',\n 'strpbrk',\n 'strrchr',\n 'strspn',\n 'strstr',\n 'swap',\n 'tan',\n 'tanh',\n 'terminate',\n 'to_underlying',\n 'tolower',\n 'toupper',\n 'vfprintf',\n 'visit',\n 'vprintf',\n 'vsprintf'\n ];\n\n const LITERALS = [\n 'NULL',\n 'false',\n 'nullopt',\n 'nullptr',\n 'true'\n ];\n\n // https://en.cppreference.com/w/cpp/keyword\n const BUILT_IN = [ '_Pragma' ];\n\n const CPP_KEYWORDS = {\n type: RESERVED_TYPES,\n keyword: RESERVED_KEYWORDS,\n literal: LITERALS,\n built_in: BUILT_IN,\n _type_hints: TYPE_HINTS\n };\n\n const FUNCTION_DISPATCH = {\n className: 'function.dispatch',\n relevance: 0,\n keywords: {\n // Only for relevance, not highlighting.\n _hint: FUNCTION_HINTS },\n begin: regex.concat(\n /\\b/,\n /(?!decltype)/,\n /(?!if)/,\n /(?!for)/,\n /(?!switch)/,\n /(?!while)/,\n hljs.IDENT_RE,\n regex.lookahead(/(<[^<>]+>|)\\s*\\(/))\n };\n\n const EXPRESSION_CONTAINS = [\n FUNCTION_DISPATCH,\n PREPROCESSOR,\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS\n ];\n\n const EXPRESSION_CONTEXT = {\n // This mode covers expression context where we can't expect a function\n // definition and shouldn't highlight anything that looks like one:\n // `return some()`, `else if()`, `(x*sum(1, 2))`\n variants: [\n {\n begin: /=/,\n end: /;/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n beginKeywords: 'new throw return else',\n end: /;/\n }\n ],\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([ 'self' ]),\n relevance: 0\n }\n ]),\n relevance: 0\n };\n\n const FUNCTION_DECLARATION = {\n className: 'function',\n begin: '(' + FUNCTION_TYPE_RE + '[\\\\*&\\\\s]+)+' + FUNCTION_TITLE,\n returnBegin: true,\n end: /[{;=]/,\n excludeEnd: true,\n keywords: CPP_KEYWORDS,\n illegal: /[^\\w\\s\\*&:<>.]/,\n contains: [\n { // to prevent it from being confused as the function title\n begin: DECLTYPE_AUTO_RE,\n keywords: CPP_KEYWORDS,\n relevance: 0\n },\n {\n begin: FUNCTION_TITLE,\n returnBegin: true,\n contains: [ TITLE_MODE ],\n relevance: 0\n },\n // needed because we do not have look-behind on the below rule\n // to prevent it from grabbing the final : in a :: pair\n {\n begin: /::/,\n relevance: 0\n },\n // initializers\n {\n begin: /:/,\n endsWithParent: true,\n contains: [\n STRINGS,\n NUMBERS\n ]\n },\n // allow for multiple declarations, e.g.:\n // extern void f(int), g(char);\n {\n relevance: 0,\n match: /,/\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES,\n // Count matching parentheses.\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n 'self',\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES\n ]\n }\n ]\n },\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n PREPROCESSOR\n ]\n };\n\n return {\n name: 'C++',\n aliases: [\n 'cc',\n 'c++',\n 'h++',\n 'hpp',\n 'hh',\n 'hxx',\n 'cxx'\n ],\n keywords: CPP_KEYWORDS,\n illegal: ' rooms (9);`\n begin: '\\\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\\\s*<(?!<)',\n end: '>',\n keywords: CPP_KEYWORDS,\n contains: [\n 'self',\n CPP_PRIMITIVE_TYPES\n ]\n },\n {\n begin: hljs.IDENT_RE + '::',\n keywords: CPP_KEYWORDS\n },\n {\n match: [\n // extra complexity to deal with `enum class` and `enum struct`\n /\\b(?:enum(?:\\s+(?:class|struct))?|class|struct|union)/,\n /\\s+/,\n /\\w+/\n ],\n className: {\n 1: 'keyword',\n 3: 'title.class'\n }\n }\n ])\n };\n}\n\nexport { cpp as default };\n","/*\nLanguage: C#\nAuthor: Jason Diamond \nContributor: Nicolas LLOBERA , Pieter Vantorre , David Pine \nWebsite: https://docs.microsoft.com/dotnet/csharp/\nCategory: common\n*/\n\n/** @type LanguageFn */\nfunction csharp(hljs) {\n const BUILT_IN_KEYWORDS = [\n 'bool',\n 'byte',\n 'char',\n 'decimal',\n 'delegate',\n 'double',\n 'dynamic',\n 'enum',\n 'float',\n 'int',\n 'long',\n 'nint',\n 'nuint',\n 'object',\n 'sbyte',\n 'short',\n 'string',\n 'ulong',\n 'uint',\n 'ushort'\n ];\n const FUNCTION_MODIFIERS = [\n 'public',\n 'private',\n 'protected',\n 'static',\n 'internal',\n 'protected',\n 'abstract',\n 'async',\n 'extern',\n 'override',\n 'unsafe',\n 'virtual',\n 'new',\n 'sealed',\n 'partial'\n ];\n const LITERAL_KEYWORDS = [\n 'default',\n 'false',\n 'null',\n 'true'\n ];\n const NORMAL_KEYWORDS = [\n 'abstract',\n 'as',\n 'base',\n 'break',\n 'case',\n 'catch',\n 'class',\n 'const',\n 'continue',\n 'do',\n 'else',\n 'event',\n 'explicit',\n 'extern',\n 'finally',\n 'fixed',\n 'for',\n 'foreach',\n 'goto',\n 'if',\n 'implicit',\n 'in',\n 'interface',\n 'internal',\n 'is',\n 'lock',\n 'namespace',\n 'new',\n 'operator',\n 'out',\n 'override',\n 'params',\n 'private',\n 'protected',\n 'public',\n 'readonly',\n 'record',\n 'ref',\n 'return',\n 'scoped',\n 'sealed',\n 'sizeof',\n 'stackalloc',\n 'static',\n 'struct',\n 'switch',\n 'this',\n 'throw',\n 'try',\n 'typeof',\n 'unchecked',\n 'unsafe',\n 'using',\n 'virtual',\n 'void',\n 'volatile',\n 'while'\n ];\n const CONTEXTUAL_KEYWORDS = [\n 'add',\n 'alias',\n 'and',\n 'ascending',\n 'args',\n 'async',\n 'await',\n 'by',\n 'descending',\n 'dynamic',\n 'equals',\n 'file',\n 'from',\n 'get',\n 'global',\n 'group',\n 'init',\n 'into',\n 'join',\n 'let',\n 'nameof',\n 'not',\n 'notnull',\n 'on',\n 'or',\n 'orderby',\n 'partial',\n 'record',\n 'remove',\n 'required',\n 'scoped',\n 'select',\n 'set',\n 'unmanaged',\n 'value|0',\n 'var',\n 'when',\n 'where',\n 'with',\n 'yield'\n ];\n\n const KEYWORDS = {\n keyword: NORMAL_KEYWORDS.concat(CONTEXTUAL_KEYWORDS),\n built_in: BUILT_IN_KEYWORDS,\n literal: LITERAL_KEYWORDS\n };\n const TITLE_MODE = hljs.inherit(hljs.TITLE_MODE, { begin: '[a-zA-Z](\\\\.?\\\\w)*' });\n const NUMBERS = {\n className: 'number',\n variants: [\n { begin: '\\\\b(0b[01\\']+)' },\n { begin: '(-?)\\\\b([\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)(u|U|l|L|ul|UL|f|F|b|B)' },\n { begin: '(-?)(\\\\b0[xX][a-fA-F0-9\\']+|(\\\\b[\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)([eE][-+]?[\\\\d\\']+)?)' }\n ],\n relevance: 0\n };\n const RAW_STRING = {\n className: 'string',\n begin: /\"\"\"(\"*)(?!\")(.|\\n)*?\"\"\"\\1/,\n relevance: 1\n };\n const VERBATIM_STRING = {\n className: 'string',\n begin: '@\"',\n end: '\"',\n contains: [ { begin: '\"\"' } ]\n };\n const VERBATIM_STRING_NO_LF = hljs.inherit(VERBATIM_STRING, { illegal: /\\n/ });\n const SUBST = {\n className: 'subst',\n begin: /\\{/,\n end: /\\}/,\n keywords: KEYWORDS\n };\n const SUBST_NO_LF = hljs.inherit(SUBST, { illegal: /\\n/ });\n const INTERPOLATED_STRING = {\n className: 'string',\n begin: /\\$\"/,\n end: '\"',\n illegal: /\\n/,\n contains: [\n { begin: /\\{\\{/ },\n { begin: /\\}\\}/ },\n hljs.BACKSLASH_ESCAPE,\n SUBST_NO_LF\n ]\n };\n const INTERPOLATED_VERBATIM_STRING = {\n className: 'string',\n begin: /\\$@\"/,\n end: '\"',\n contains: [\n { begin: /\\{\\{/ },\n { begin: /\\}\\}/ },\n { begin: '\"\"' },\n SUBST\n ]\n };\n const INTERPOLATED_VERBATIM_STRING_NO_LF = hljs.inherit(INTERPOLATED_VERBATIM_STRING, {\n illegal: /\\n/,\n contains: [\n { begin: /\\{\\{/ },\n { begin: /\\}\\}/ },\n { begin: '\"\"' },\n SUBST_NO_LF\n ]\n });\n SUBST.contains = [\n INTERPOLATED_VERBATIM_STRING,\n INTERPOLATED_STRING,\n VERBATIM_STRING,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n NUMBERS,\n hljs.C_BLOCK_COMMENT_MODE\n ];\n SUBST_NO_LF.contains = [\n INTERPOLATED_VERBATIM_STRING_NO_LF,\n INTERPOLATED_STRING,\n VERBATIM_STRING_NO_LF,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n NUMBERS,\n hljs.inherit(hljs.C_BLOCK_COMMENT_MODE, { illegal: /\\n/ })\n ];\n const STRING = { variants: [\n RAW_STRING,\n INTERPOLATED_VERBATIM_STRING,\n INTERPOLATED_STRING,\n VERBATIM_STRING,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ] };\n\n const GENERIC_MODIFIER = {\n begin: \"<\",\n end: \">\",\n contains: [\n { beginKeywords: \"in out\" },\n TITLE_MODE\n ]\n };\n const TYPE_IDENT_RE = hljs.IDENT_RE + '(<' + hljs.IDENT_RE + '(\\\\s*,\\\\s*' + hljs.IDENT_RE + ')*>)?(\\\\[\\\\])?';\n const AT_IDENTIFIER = {\n // prevents expressions like `@class` from incorrect flagging\n // `class` as a keyword\n begin: \"@\" + hljs.IDENT_RE,\n relevance: 0\n };\n\n return {\n name: 'C#',\n aliases: [\n 'cs',\n 'c#'\n ],\n keywords: KEYWORDS,\n illegal: /::/,\n contains: [\n hljs.COMMENT(\n '///',\n '$',\n {\n returnBegin: true,\n contains: [\n {\n className: 'doctag',\n variants: [\n {\n begin: '///',\n relevance: 0\n },\n { begin: '' },\n {\n begin: ''\n }\n ]\n }\n ]\n }\n ),\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n {\n className: 'meta',\n begin: '#',\n end: '$',\n keywords: { keyword: 'if else elif endif define undef warning error line region endregion pragma checksum' }\n },\n STRING,\n NUMBERS,\n {\n beginKeywords: 'class interface',\n relevance: 0,\n end: /[{;=]/,\n illegal: /[^\\s:,]/,\n contains: [\n { beginKeywords: \"where class\" },\n TITLE_MODE,\n GENERIC_MODIFIER,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n beginKeywords: 'namespace',\n relevance: 0,\n end: /[{;=]/,\n illegal: /[^\\s:]/,\n contains: [\n TITLE_MODE,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n beginKeywords: 'record',\n relevance: 0,\n end: /[{;=]/,\n illegal: /[^\\s:]/,\n contains: [\n TITLE_MODE,\n GENERIC_MODIFIER,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n // [Attributes(\"\")]\n className: 'meta',\n begin: '^\\\\s*\\\\[(?=[\\\\w])',\n excludeBegin: true,\n end: '\\\\]',\n excludeEnd: true,\n contains: [\n {\n className: 'string',\n begin: /\"/,\n end: /\"/\n }\n ]\n },\n {\n // Expression keywords prevent 'keyword Name(...)' from being\n // recognized as a function definition\n beginKeywords: 'new return throw await else',\n relevance: 0\n },\n {\n className: 'function',\n begin: '(' + TYPE_IDENT_RE + '\\\\s+)+' + hljs.IDENT_RE + '\\\\s*(<[^=]+>\\\\s*)?\\\\(',\n returnBegin: true,\n end: /\\s*[{;=]/,\n excludeEnd: true,\n keywords: KEYWORDS,\n contains: [\n // prevents these from being highlighted `title`\n {\n beginKeywords: FUNCTION_MODIFIERS.join(\" \"),\n relevance: 0\n },\n {\n begin: hljs.IDENT_RE + '\\\\s*(<[^=]+>\\\\s*)?\\\\(',\n returnBegin: true,\n contains: [\n hljs.TITLE_MODE,\n GENERIC_MODIFIER\n ],\n relevance: 0\n },\n { match: /\\(\\)/ },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n STRING,\n NUMBERS,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n AT_IDENTIFIER\n ]\n };\n}\n\nexport { csharp as default };\n","const MODES = (hljs) => {\n return {\n IMPORTANT: {\n scope: 'meta',\n begin: '!important'\n },\n BLOCK_COMMENT: hljs.C_BLOCK_COMMENT_MODE,\n HEXCOLOR: {\n scope: 'number',\n begin: /#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\\b/\n },\n FUNCTION_DISPATCH: {\n className: \"built_in\",\n begin: /[\\w-]+(?=\\()/\n },\n ATTRIBUTE_SELECTOR_MODE: {\n scope: 'selector-attr',\n begin: /\\[/,\n end: /\\]/,\n illegal: '$',\n contains: [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ]\n },\n CSS_NUMBER_MODE: {\n scope: 'number',\n begin: hljs.NUMBER_RE + '(' +\n '%|em|ex|ch|rem' +\n '|vw|vh|vmin|vmax' +\n '|cm|mm|in|pt|pc|px' +\n '|deg|grad|rad|turn' +\n '|s|ms' +\n '|Hz|kHz' +\n '|dpi|dpcm|dppx' +\n ')?',\n relevance: 0\n },\n CSS_VARIABLE: {\n className: \"attr\",\n begin: /--[A-Za-z_][A-Za-z0-9_-]*/\n }\n };\n};\n\nconst HTML_TAGS = [\n 'a',\n 'abbr',\n 'address',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'blockquote',\n 'body',\n 'button',\n 'canvas',\n 'caption',\n 'cite',\n 'code',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'header',\n 'hgroup',\n 'html',\n 'i',\n 'iframe',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'main',\n 'mark',\n 'menu',\n 'nav',\n 'object',\n 'ol',\n 'optgroup',\n 'option',\n 'p',\n 'picture',\n 'q',\n 'quote',\n 'samp',\n 'section',\n 'select',\n 'source',\n 'span',\n 'strong',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'ul',\n 'var',\n 'video'\n];\n\nconst SVG_TAGS = [\n 'defs',\n 'g',\n 'marker',\n 'mask',\n 'pattern',\n 'svg',\n 'switch',\n 'symbol',\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feFlood',\n 'feGaussianBlur',\n 'feImage',\n 'feMerge',\n 'feMorphology',\n 'feOffset',\n 'feSpecularLighting',\n 'feTile',\n 'feTurbulence',\n 'linearGradient',\n 'radialGradient',\n 'stop',\n 'circle',\n 'ellipse',\n 'image',\n 'line',\n 'path',\n 'polygon',\n 'polyline',\n 'rect',\n 'text',\n 'use',\n 'textPath',\n 'tspan',\n 'foreignObject',\n 'clipPath'\n];\n\nconst TAGS = [\n ...HTML_TAGS,\n ...SVG_TAGS,\n];\n\n// Sorting, then reversing makes sure longer attributes/elements like\n// `font-weight` are matched fully instead of getting false positives on say `font`\n\nconst MEDIA_FEATURES = [\n 'any-hover',\n 'any-pointer',\n 'aspect-ratio',\n 'color',\n 'color-gamut',\n 'color-index',\n 'device-aspect-ratio',\n 'device-height',\n 'device-width',\n 'display-mode',\n 'forced-colors',\n 'grid',\n 'height',\n 'hover',\n 'inverted-colors',\n 'monochrome',\n 'orientation',\n 'overflow-block',\n 'overflow-inline',\n 'pointer',\n 'prefers-color-scheme',\n 'prefers-contrast',\n 'prefers-reduced-motion',\n 'prefers-reduced-transparency',\n 'resolution',\n 'scan',\n 'scripting',\n 'update',\n 'width',\n // TODO: find a better solution?\n 'min-width',\n 'max-width',\n 'min-height',\n 'max-height'\n].sort().reverse();\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-classes\nconst PSEUDO_CLASSES = [\n 'active',\n 'any-link',\n 'blank',\n 'checked',\n 'current',\n 'default',\n 'defined',\n 'dir', // dir()\n 'disabled',\n 'drop',\n 'empty',\n 'enabled',\n 'first',\n 'first-child',\n 'first-of-type',\n 'fullscreen',\n 'future',\n 'focus',\n 'focus-visible',\n 'focus-within',\n 'has', // has()\n 'host', // host or host()\n 'host-context', // host-context()\n 'hover',\n 'indeterminate',\n 'in-range',\n 'invalid',\n 'is', // is()\n 'lang', // lang()\n 'last-child',\n 'last-of-type',\n 'left',\n 'link',\n 'local-link',\n 'not', // not()\n 'nth-child', // nth-child()\n 'nth-col', // nth-col()\n 'nth-last-child', // nth-last-child()\n 'nth-last-col', // nth-last-col()\n 'nth-last-of-type', //nth-last-of-type()\n 'nth-of-type', //nth-of-type()\n 'only-child',\n 'only-of-type',\n 'optional',\n 'out-of-range',\n 'past',\n 'placeholder-shown',\n 'read-only',\n 'read-write',\n 'required',\n 'right',\n 'root',\n 'scope',\n 'target',\n 'target-within',\n 'user-invalid',\n 'valid',\n 'visited',\n 'where' // where()\n].sort().reverse();\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-elements\nconst PSEUDO_ELEMENTS = [\n 'after',\n 'backdrop',\n 'before',\n 'cue',\n 'cue-region',\n 'first-letter',\n 'first-line',\n 'grammar-error',\n 'marker',\n 'part',\n 'placeholder',\n 'selection',\n 'slotted',\n 'spelling-error'\n].sort().reverse();\n\nconst ATTRIBUTES = [\n 'accent-color',\n 'align-content',\n 'align-items',\n 'align-self',\n 'alignment-baseline',\n 'all',\n 'anchor-name',\n 'animation',\n 'animation-composition',\n 'animation-delay',\n 'animation-direction',\n 'animation-duration',\n 'animation-fill-mode',\n 'animation-iteration-count',\n 'animation-name',\n 'animation-play-state',\n 'animation-range',\n 'animation-range-end',\n 'animation-range-start',\n 'animation-timeline',\n 'animation-timing-function',\n 'appearance',\n 'aspect-ratio',\n 'backdrop-filter',\n 'backface-visibility',\n 'background',\n 'background-attachment',\n 'background-blend-mode',\n 'background-clip',\n 'background-color',\n 'background-image',\n 'background-origin',\n 'background-position',\n 'background-position-x',\n 'background-position-y',\n 'background-repeat',\n 'background-size',\n 'baseline-shift',\n 'block-size',\n 'border',\n 'border-block',\n 'border-block-color',\n 'border-block-end',\n 'border-block-end-color',\n 'border-block-end-style',\n 'border-block-end-width',\n 'border-block-start',\n 'border-block-start-color',\n 'border-block-start-style',\n 'border-block-start-width',\n 'border-block-style',\n 'border-block-width',\n 'border-bottom',\n 'border-bottom-color',\n 'border-bottom-left-radius',\n 'border-bottom-right-radius',\n 'border-bottom-style',\n 'border-bottom-width',\n 'border-collapse',\n 'border-color',\n 'border-end-end-radius',\n 'border-end-start-radius',\n 'border-image',\n 'border-image-outset',\n 'border-image-repeat',\n 'border-image-slice',\n 'border-image-source',\n 'border-image-width',\n 'border-inline',\n 'border-inline-color',\n 'border-inline-end',\n 'border-inline-end-color',\n 'border-inline-end-style',\n 'border-inline-end-width',\n 'border-inline-start',\n 'border-inline-start-color',\n 'border-inline-start-style',\n 'border-inline-start-width',\n 'border-inline-style',\n 'border-inline-width',\n 'border-left',\n 'border-left-color',\n 'border-left-style',\n 'border-left-width',\n 'border-radius',\n 'border-right',\n 'border-right-color',\n 'border-right-style',\n 'border-right-width',\n 'border-spacing',\n 'border-start-end-radius',\n 'border-start-start-radius',\n 'border-style',\n 'border-top',\n 'border-top-color',\n 'border-top-left-radius',\n 'border-top-right-radius',\n 'border-top-style',\n 'border-top-width',\n 'border-width',\n 'bottom',\n 'box-align',\n 'box-decoration-break',\n 'box-direction',\n 'box-flex',\n 'box-flex-group',\n 'box-lines',\n 'box-ordinal-group',\n 'box-orient',\n 'box-pack',\n 'box-shadow',\n 'box-sizing',\n 'break-after',\n 'break-before',\n 'break-inside',\n 'caption-side',\n 'caret-color',\n 'clear',\n 'clip',\n 'clip-path',\n 'clip-rule',\n 'color',\n 'color-interpolation',\n 'color-interpolation-filters',\n 'color-profile',\n 'color-rendering',\n 'color-scheme',\n 'column-count',\n 'column-fill',\n 'column-gap',\n 'column-rule',\n 'column-rule-color',\n 'column-rule-style',\n 'column-rule-width',\n 'column-span',\n 'column-width',\n 'columns',\n 'contain',\n 'contain-intrinsic-block-size',\n 'contain-intrinsic-height',\n 'contain-intrinsic-inline-size',\n 'contain-intrinsic-size',\n 'contain-intrinsic-width',\n 'container',\n 'container-name',\n 'container-type',\n 'content',\n 'content-visibility',\n 'counter-increment',\n 'counter-reset',\n 'counter-set',\n 'cue',\n 'cue-after',\n 'cue-before',\n 'cursor',\n 'cx',\n 'cy',\n 'direction',\n 'display',\n 'dominant-baseline',\n 'empty-cells',\n 'enable-background',\n 'field-sizing',\n 'fill',\n 'fill-opacity',\n 'fill-rule',\n 'filter',\n 'flex',\n 'flex-basis',\n 'flex-direction',\n 'flex-flow',\n 'flex-grow',\n 'flex-shrink',\n 'flex-wrap',\n 'float',\n 'flood-color',\n 'flood-opacity',\n 'flow',\n 'font',\n 'font-display',\n 'font-family',\n 'font-feature-settings',\n 'font-kerning',\n 'font-language-override',\n 'font-optical-sizing',\n 'font-palette',\n 'font-size',\n 'font-size-adjust',\n 'font-smooth',\n 'font-smoothing',\n 'font-stretch',\n 'font-style',\n 'font-synthesis',\n 'font-synthesis-position',\n 'font-synthesis-small-caps',\n 'font-synthesis-style',\n 'font-synthesis-weight',\n 'font-variant',\n 'font-variant-alternates',\n 'font-variant-caps',\n 'font-variant-east-asian',\n 'font-variant-emoji',\n 'font-variant-ligatures',\n 'font-variant-numeric',\n 'font-variant-position',\n 'font-variation-settings',\n 'font-weight',\n 'forced-color-adjust',\n 'gap',\n 'glyph-orientation-horizontal',\n 'glyph-orientation-vertical',\n 'grid',\n 'grid-area',\n 'grid-auto-columns',\n 'grid-auto-flow',\n 'grid-auto-rows',\n 'grid-column',\n 'grid-column-end',\n 'grid-column-start',\n 'grid-gap',\n 'grid-row',\n 'grid-row-end',\n 'grid-row-start',\n 'grid-template',\n 'grid-template-areas',\n 'grid-template-columns',\n 'grid-template-rows',\n 'hanging-punctuation',\n 'height',\n 'hyphenate-character',\n 'hyphenate-limit-chars',\n 'hyphens',\n 'icon',\n 'image-orientation',\n 'image-rendering',\n 'image-resolution',\n 'ime-mode',\n 'initial-letter',\n 'initial-letter-align',\n 'inline-size',\n 'inset',\n 'inset-area',\n 'inset-block',\n 'inset-block-end',\n 'inset-block-start',\n 'inset-inline',\n 'inset-inline-end',\n 'inset-inline-start',\n 'isolation',\n 'justify-content',\n 'justify-items',\n 'justify-self',\n 'kerning',\n 'left',\n 'letter-spacing',\n 'lighting-color',\n 'line-break',\n 'line-height',\n 'line-height-step',\n 'list-style',\n 'list-style-image',\n 'list-style-position',\n 'list-style-type',\n 'margin',\n 'margin-block',\n 'margin-block-end',\n 'margin-block-start',\n 'margin-bottom',\n 'margin-inline',\n 'margin-inline-end',\n 'margin-inline-start',\n 'margin-left',\n 'margin-right',\n 'margin-top',\n 'margin-trim',\n 'marker',\n 'marker-end',\n 'marker-mid',\n 'marker-start',\n 'marks',\n 'mask',\n 'mask-border',\n 'mask-border-mode',\n 'mask-border-outset',\n 'mask-border-repeat',\n 'mask-border-slice',\n 'mask-border-source',\n 'mask-border-width',\n 'mask-clip',\n 'mask-composite',\n 'mask-image',\n 'mask-mode',\n 'mask-origin',\n 'mask-position',\n 'mask-repeat',\n 'mask-size',\n 'mask-type',\n 'masonry-auto-flow',\n 'math-depth',\n 'math-shift',\n 'math-style',\n 'max-block-size',\n 'max-height',\n 'max-inline-size',\n 'max-width',\n 'min-block-size',\n 'min-height',\n 'min-inline-size',\n 'min-width',\n 'mix-blend-mode',\n 'nav-down',\n 'nav-index',\n 'nav-left',\n 'nav-right',\n 'nav-up',\n 'none',\n 'normal',\n 'object-fit',\n 'object-position',\n 'offset',\n 'offset-anchor',\n 'offset-distance',\n 'offset-path',\n 'offset-position',\n 'offset-rotate',\n 'opacity',\n 'order',\n 'orphans',\n 'outline',\n 'outline-color',\n 'outline-offset',\n 'outline-style',\n 'outline-width',\n 'overflow',\n 'overflow-anchor',\n 'overflow-block',\n 'overflow-clip-margin',\n 'overflow-inline',\n 'overflow-wrap',\n 'overflow-x',\n 'overflow-y',\n 'overlay',\n 'overscroll-behavior',\n 'overscroll-behavior-block',\n 'overscroll-behavior-inline',\n 'overscroll-behavior-x',\n 'overscroll-behavior-y',\n 'padding',\n 'padding-block',\n 'padding-block-end',\n 'padding-block-start',\n 'padding-bottom',\n 'padding-inline',\n 'padding-inline-end',\n 'padding-inline-start',\n 'padding-left',\n 'padding-right',\n 'padding-top',\n 'page',\n 'page-break-after',\n 'page-break-before',\n 'page-break-inside',\n 'paint-order',\n 'pause',\n 'pause-after',\n 'pause-before',\n 'perspective',\n 'perspective-origin',\n 'place-content',\n 'place-items',\n 'place-self',\n 'pointer-events',\n 'position',\n 'position-anchor',\n 'position-visibility',\n 'print-color-adjust',\n 'quotes',\n 'r',\n 'resize',\n 'rest',\n 'rest-after',\n 'rest-before',\n 'right',\n 'rotate',\n 'row-gap',\n 'ruby-align',\n 'ruby-position',\n 'scale',\n 'scroll-behavior',\n 'scroll-margin',\n 'scroll-margin-block',\n 'scroll-margin-block-end',\n 'scroll-margin-block-start',\n 'scroll-margin-bottom',\n 'scroll-margin-inline',\n 'scroll-margin-inline-end',\n 'scroll-margin-inline-start',\n 'scroll-margin-left',\n 'scroll-margin-right',\n 'scroll-margin-top',\n 'scroll-padding',\n 'scroll-padding-block',\n 'scroll-padding-block-end',\n 'scroll-padding-block-start',\n 'scroll-padding-bottom',\n 'scroll-padding-inline',\n 'scroll-padding-inline-end',\n 'scroll-padding-inline-start',\n 'scroll-padding-left',\n 'scroll-padding-right',\n 'scroll-padding-top',\n 'scroll-snap-align',\n 'scroll-snap-stop',\n 'scroll-snap-type',\n 'scroll-timeline',\n 'scroll-timeline-axis',\n 'scroll-timeline-name',\n 'scrollbar-color',\n 'scrollbar-gutter',\n 'scrollbar-width',\n 'shape-image-threshold',\n 'shape-margin',\n 'shape-outside',\n 'shape-rendering',\n 'speak',\n 'speak-as',\n 'src', // @font-face\n 'stop-color',\n 'stop-opacity',\n 'stroke',\n 'stroke-dasharray',\n 'stroke-dashoffset',\n 'stroke-linecap',\n 'stroke-linejoin',\n 'stroke-miterlimit',\n 'stroke-opacity',\n 'stroke-width',\n 'tab-size',\n 'table-layout',\n 'text-align',\n 'text-align-all',\n 'text-align-last',\n 'text-anchor',\n 'text-combine-upright',\n 'text-decoration',\n 'text-decoration-color',\n 'text-decoration-line',\n 'text-decoration-skip',\n 'text-decoration-skip-ink',\n 'text-decoration-style',\n 'text-decoration-thickness',\n 'text-emphasis',\n 'text-emphasis-color',\n 'text-emphasis-position',\n 'text-emphasis-style',\n 'text-indent',\n 'text-justify',\n 'text-orientation',\n 'text-overflow',\n 'text-rendering',\n 'text-shadow',\n 'text-size-adjust',\n 'text-transform',\n 'text-underline-offset',\n 'text-underline-position',\n 'text-wrap',\n 'text-wrap-mode',\n 'text-wrap-style',\n 'timeline-scope',\n 'top',\n 'touch-action',\n 'transform',\n 'transform-box',\n 'transform-origin',\n 'transform-style',\n 'transition',\n 'transition-behavior',\n 'transition-delay',\n 'transition-duration',\n 'transition-property',\n 'transition-timing-function',\n 'translate',\n 'unicode-bidi',\n 'user-modify',\n 'user-select',\n 'vector-effect',\n 'vertical-align',\n 'view-timeline',\n 'view-timeline-axis',\n 'view-timeline-inset',\n 'view-timeline-name',\n 'view-transition-name',\n 'visibility',\n 'voice-balance',\n 'voice-duration',\n 'voice-family',\n 'voice-pitch',\n 'voice-range',\n 'voice-rate',\n 'voice-stress',\n 'voice-volume',\n 'white-space',\n 'white-space-collapse',\n 'widows',\n 'width',\n 'will-change',\n 'word-break',\n 'word-spacing',\n 'word-wrap',\n 'writing-mode',\n 'x',\n 'y',\n 'z-index',\n 'zoom'\n].sort().reverse();\n\n/*\nLanguage: CSS\nCategory: common, css, web\nWebsite: https://developer.mozilla.org/en-US/docs/Web/CSS\n*/\n\n\n/** @type LanguageFn */\nfunction css(hljs) {\n const regex = hljs.regex;\n const modes = MODES(hljs);\n const VENDOR_PREFIX = { begin: /-(webkit|moz|ms|o)-(?=[a-z])/ };\n const AT_MODIFIERS = \"and or not only\";\n const AT_PROPERTY_RE = /@-?\\w[\\w]*(-\\w+)*/; // @-webkit-keyframes\n const IDENT_RE = '[a-zA-Z-][a-zA-Z0-9_-]*';\n const STRINGS = [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ];\n\n return {\n name: 'CSS',\n case_insensitive: true,\n illegal: /[=|'\\$]/,\n keywords: { keyframePosition: \"from to\" },\n classNameAliases: {\n // for visual continuity with `tag {}` and because we\n // don't have a great class for this?\n keyframePosition: \"selector-tag\" },\n contains: [\n modes.BLOCK_COMMENT,\n VENDOR_PREFIX,\n // to recognize keyframe 40% etc which are outside the scope of our\n // attribute value mode\n modes.CSS_NUMBER_MODE,\n {\n className: 'selector-id',\n begin: /#[A-Za-z0-9_-]+/,\n relevance: 0\n },\n {\n className: 'selector-class',\n begin: '\\\\.' + IDENT_RE,\n relevance: 0\n },\n modes.ATTRIBUTE_SELECTOR_MODE,\n {\n className: 'selector-pseudo',\n variants: [\n { begin: ':(' + PSEUDO_CLASSES.join('|') + ')' },\n { begin: ':(:)?(' + PSEUDO_ELEMENTS.join('|') + ')' }\n ]\n },\n // we may actually need this (12/2020)\n // { // pseudo-selector params\n // begin: /\\(/,\n // end: /\\)/,\n // contains: [ hljs.CSS_NUMBER_MODE ]\n // },\n modes.CSS_VARIABLE,\n {\n className: 'attribute',\n begin: '\\\\b(' + ATTRIBUTES.join('|') + ')\\\\b'\n },\n // attribute values\n {\n begin: /:/,\n end: /[;}{]/,\n contains: [\n modes.BLOCK_COMMENT,\n modes.HEXCOLOR,\n modes.IMPORTANT,\n modes.CSS_NUMBER_MODE,\n ...STRINGS,\n // needed to highlight these as strings and to avoid issues with\n // illegal characters that might be inside urls that would tigger the\n // languages illegal stack\n {\n begin: /(url|data-uri)\\(/,\n end: /\\)/,\n relevance: 0, // from keywords\n keywords: { built_in: \"url data-uri\" },\n contains: [\n ...STRINGS,\n {\n className: \"string\",\n // any character other than `)` as in `url()` will be the start\n // of a string, which ends with `)` (from the parent mode)\n begin: /[^)]/,\n endsWithParent: true,\n excludeEnd: true\n }\n ]\n },\n modes.FUNCTION_DISPATCH\n ]\n },\n {\n begin: regex.lookahead(/@/),\n end: '[{;]',\n relevance: 0,\n illegal: /:/, // break on Less variables @var: ...\n contains: [\n {\n className: 'keyword',\n begin: AT_PROPERTY_RE\n },\n {\n begin: /\\s/,\n endsWithParent: true,\n excludeEnd: true,\n relevance: 0,\n keywords: {\n $pattern: /[a-z-]+/,\n keyword: AT_MODIFIERS,\n attribute: MEDIA_FEATURES.join(\" \")\n },\n contains: [\n {\n begin: /[a-z-]+(?=:)/,\n className: \"attribute\"\n },\n ...STRINGS,\n modes.CSS_NUMBER_MODE\n ]\n }\n ]\n },\n {\n className: 'selector-tag',\n begin: '\\\\b(' + TAGS.join('|') + ')\\\\b'\n }\n ]\n };\n}\n\nexport { css as default };\n","/*\nLanguage: Diff\nDescription: Unified and context diff\nAuthor: Vasily Polovnyov \nWebsite: https://www.gnu.org/software/diffutils/\nCategory: common\n*/\n\n/** @type LanguageFn */\nfunction diff(hljs) {\n const regex = hljs.regex;\n return {\n name: 'Diff',\n aliases: [ 'patch' ],\n contains: [\n {\n className: 'meta',\n relevance: 10,\n match: regex.either(\n /^@@ +-\\d+,\\d+ +\\+\\d+,\\d+ +@@/,\n /^\\*\\*\\* +\\d+,\\d+ +\\*\\*\\*\\*$/,\n /^--- +\\d+,\\d+ +----$/\n )\n },\n {\n className: 'comment',\n variants: [\n {\n begin: regex.either(\n /Index: /,\n /^index/,\n /={3,}/,\n /^-{3}/,\n /^\\*{3} /,\n /^\\+{3}/,\n /^diff --git/\n ),\n end: /$/\n },\n { match: /^\\*{15}$/ }\n ]\n },\n {\n className: 'addition',\n begin: /^\\+/,\n end: /$/\n },\n {\n className: 'deletion',\n begin: /^-/,\n end: /$/\n },\n {\n className: 'addition',\n begin: /^!/,\n end: /$/\n }\n ]\n };\n}\n\nexport { diff as default };\n","/*\nLanguage: Go\nAuthor: Stephan Kountso aka StepLg \nContributors: Evgeny Stepanischev \nDescription: Google go language (golang). For info about language\nWebsite: http://golang.org/\nCategory: common, system\n*/\n\nfunction go(hljs) {\n const LITERALS = [\n \"true\",\n \"false\",\n \"iota\",\n \"nil\"\n ];\n const BUILT_INS = [\n \"append\",\n \"cap\",\n \"close\",\n \"complex\",\n \"copy\",\n \"imag\",\n \"len\",\n \"make\",\n \"new\",\n \"panic\",\n \"print\",\n \"println\",\n \"real\",\n \"recover\",\n \"delete\"\n ];\n const TYPES = [\n \"bool\",\n \"byte\",\n \"complex64\",\n \"complex128\",\n \"error\",\n \"float32\",\n \"float64\",\n \"int8\",\n \"int16\",\n \"int32\",\n \"int64\",\n \"string\",\n \"uint8\",\n \"uint16\",\n \"uint32\",\n \"uint64\",\n \"int\",\n \"uint\",\n \"uintptr\",\n \"rune\"\n ];\n const KWS = [\n \"break\",\n \"case\",\n \"chan\",\n \"const\",\n \"continue\",\n \"default\",\n \"defer\",\n \"else\",\n \"fallthrough\",\n \"for\",\n \"func\",\n \"go\",\n \"goto\",\n \"if\",\n \"import\",\n \"interface\",\n \"map\",\n \"package\",\n \"range\",\n \"return\",\n \"select\",\n \"struct\",\n \"switch\",\n \"type\",\n \"var\",\n ];\n const KEYWORDS = {\n keyword: KWS,\n type: TYPES,\n literal: LITERALS,\n built_in: BUILT_INS\n };\n return {\n name: 'Go',\n aliases: [ 'golang' ],\n keywords: KEYWORDS,\n illegal: '\nCategory: common, config\nWebsite: https://github.com/toml-lang/toml\n*/\n\nfunction ini(hljs) {\n const regex = hljs.regex;\n const NUMBERS = {\n className: 'number',\n relevance: 0,\n variants: [\n { begin: /([+-]+)?[\\d]+_[\\d_]+/ },\n { begin: hljs.NUMBER_RE }\n ]\n };\n const COMMENTS = hljs.COMMENT();\n COMMENTS.variants = [\n {\n begin: /;/,\n end: /$/\n },\n {\n begin: /#/,\n end: /$/\n }\n ];\n const VARIABLES = {\n className: 'variable',\n variants: [\n { begin: /\\$[\\w\\d\"][\\w\\d_]*/ },\n { begin: /\\$\\{(.*?)\\}/ }\n ]\n };\n const LITERALS = {\n className: 'literal',\n begin: /\\bon|off|true|false|yes|no\\b/\n };\n const STRINGS = {\n className: \"string\",\n contains: [ hljs.BACKSLASH_ESCAPE ],\n variants: [\n {\n begin: \"'''\",\n end: \"'''\",\n relevance: 10\n },\n {\n begin: '\"\"\"',\n end: '\"\"\"',\n relevance: 10\n },\n {\n begin: '\"',\n end: '\"'\n },\n {\n begin: \"'\",\n end: \"'\"\n }\n ]\n };\n const ARRAY = {\n begin: /\\[/,\n end: /\\]/,\n contains: [\n COMMENTS,\n LITERALS,\n VARIABLES,\n STRINGS,\n NUMBERS,\n 'self'\n ],\n relevance: 0\n };\n\n const BARE_KEY = /[A-Za-z0-9_-]+/;\n const QUOTED_KEY_DOUBLE_QUOTE = /\"(\\\\\"|[^\"])*\"/;\n const QUOTED_KEY_SINGLE_QUOTE = /'[^']*'/;\n const ANY_KEY = regex.either(\n BARE_KEY, QUOTED_KEY_DOUBLE_QUOTE, QUOTED_KEY_SINGLE_QUOTE\n );\n const DOTTED_KEY = regex.concat(\n ANY_KEY, '(\\\\s*\\\\.\\\\s*', ANY_KEY, ')*',\n regex.lookahead(/\\s*=\\s*[^#\\s]/)\n );\n\n return {\n name: 'TOML, also INI',\n aliases: [ 'toml' ],\n case_insensitive: true,\n illegal: /\\S/,\n contains: [\n COMMENTS,\n {\n className: 'section',\n begin: /\\[+/,\n end: /\\]+/\n },\n {\n begin: DOTTED_KEY,\n className: 'attr',\n starts: {\n end: /$/,\n contains: [\n COMMENTS,\n ARRAY,\n LITERALS,\n VARIABLES,\n STRINGS,\n NUMBERS\n ]\n }\n }\n ]\n };\n}\n\nexport { ini as default };\n","// https://docs.oracle.com/javase/specs/jls/se15/html/jls-3.html#jls-3.10\nvar decimalDigits = '[0-9](_*[0-9])*';\nvar frac = `\\\\.(${decimalDigits})`;\nvar hexDigits = '[0-9a-fA-F](_*[0-9a-fA-F])*';\nvar NUMERIC = {\n className: 'number',\n variants: [\n // DecimalFloatingPointLiteral\n // including ExponentPart\n { begin: `(\\\\b(${decimalDigits})((${frac})|\\\\.)?|(${frac}))` +\n `[eE][+-]?(${decimalDigits})[fFdD]?\\\\b` },\n // excluding ExponentPart\n { begin: `\\\\b(${decimalDigits})((${frac})[fFdD]?\\\\b|\\\\.([fFdD]\\\\b)?)` },\n { begin: `(${frac})[fFdD]?\\\\b` },\n { begin: `\\\\b(${decimalDigits})[fFdD]\\\\b` },\n\n // HexadecimalFloatingPointLiteral\n { begin: `\\\\b0[xX]((${hexDigits})\\\\.?|(${hexDigits})?\\\\.(${hexDigits}))` +\n `[pP][+-]?(${decimalDigits})[fFdD]?\\\\b` },\n\n // DecimalIntegerLiteral\n { begin: '\\\\b(0|[1-9](_*[0-9])*)[lL]?\\\\b' },\n\n // HexIntegerLiteral\n { begin: `\\\\b0[xX](${hexDigits})[lL]?\\\\b` },\n\n // OctalIntegerLiteral\n { begin: '\\\\b0(_*[0-7])*[lL]?\\\\b' },\n\n // BinaryIntegerLiteral\n { begin: '\\\\b0[bB][01](_*[01])*[lL]?\\\\b' },\n ],\n relevance: 0\n};\n\n/*\nLanguage: Java\nAuthor: Vsevolod Solovyov \nCategory: common, enterprise\nWebsite: https://www.java.com/\n*/\n\n\n/**\n * Allows recursive regex expressions to a given depth\n *\n * ie: recurRegex(\"(abc~~~)\", /~~~/g, 2) becomes:\n * (abc(abc(abc)))\n *\n * @param {string} re\n * @param {RegExp} substitution (should be a g mode regex)\n * @param {number} depth\n * @returns {string}``\n */\nfunction recurRegex(re, substitution, depth) {\n if (depth === -1) return \"\";\n\n return re.replace(substitution, _ => {\n return recurRegex(re, substitution, depth - 1);\n });\n}\n\n/** @type LanguageFn */\nfunction java(hljs) {\n const regex = hljs.regex;\n const JAVA_IDENT_RE = '[\\u00C0-\\u02B8a-zA-Z_$][\\u00C0-\\u02B8a-zA-Z_$0-9]*';\n const GENERIC_IDENT_RE = JAVA_IDENT_RE\n + recurRegex('(?:<' + JAVA_IDENT_RE + '~~~(?:\\\\s*,\\\\s*' + JAVA_IDENT_RE + '~~~)*>)?', /~~~/g, 2);\n const MAIN_KEYWORDS = [\n 'synchronized',\n 'abstract',\n 'private',\n 'var',\n 'static',\n 'if',\n 'const ',\n 'for',\n 'while',\n 'strictfp',\n 'finally',\n 'protected',\n 'import',\n 'native',\n 'final',\n 'void',\n 'enum',\n 'else',\n 'break',\n 'transient',\n 'catch',\n 'instanceof',\n 'volatile',\n 'case',\n 'assert',\n 'package',\n 'default',\n 'public',\n 'try',\n 'switch',\n 'continue',\n 'throws',\n 'protected',\n 'public',\n 'private',\n 'module',\n 'requires',\n 'exports',\n 'do',\n 'sealed',\n 'yield',\n 'permits',\n 'goto',\n 'when'\n ];\n\n const BUILT_INS = [\n 'super',\n 'this'\n ];\n\n const LITERALS = [\n 'false',\n 'true',\n 'null'\n ];\n\n const TYPES = [\n 'char',\n 'boolean',\n 'long',\n 'float',\n 'int',\n 'byte',\n 'short',\n 'double'\n ];\n\n const KEYWORDS = {\n keyword: MAIN_KEYWORDS,\n literal: LITERALS,\n type: TYPES,\n built_in: BUILT_INS\n };\n\n const ANNOTATION = {\n className: 'meta',\n begin: '@' + JAVA_IDENT_RE,\n contains: [\n {\n begin: /\\(/,\n end: /\\)/,\n contains: [ \"self\" ] // allow nested () inside our annotation\n }\n ]\n };\n const PARAMS = {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [ hljs.C_BLOCK_COMMENT_MODE ],\n endsParent: true\n };\n\n return {\n name: 'Java',\n aliases: [ 'jsp' ],\n keywords: KEYWORDS,\n illegal: /<\\/|#/,\n contains: [\n hljs.COMMENT(\n '/\\\\*\\\\*',\n '\\\\*/',\n {\n relevance: 0,\n contains: [\n {\n // eat up @'s in emails to prevent them to be recognized as doctags\n begin: /\\w+@/,\n relevance: 0\n },\n {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n }\n ]\n }\n ),\n // relevance boost\n {\n begin: /import java\\.[a-z]+\\./,\n keywords: \"import\",\n relevance: 2\n },\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n {\n begin: /\"\"\"/,\n end: /\"\"\"/,\n className: \"string\",\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n {\n match: [\n /\\b(?:class|interface|enum|extends|implements|new)/,\n /\\s+/,\n JAVA_IDENT_RE\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n },\n {\n // Exceptions for hyphenated keywords\n match: /non-sealed/,\n scope: \"keyword\"\n },\n {\n begin: [\n regex.concat(/(?!else)/, JAVA_IDENT_RE),\n /\\s+/,\n JAVA_IDENT_RE,\n /\\s+/,\n /=(?!=)/\n ],\n className: {\n 1: \"type\",\n 3: \"variable\",\n 5: \"operator\"\n }\n },\n {\n begin: [\n /record/,\n /\\s+/,\n JAVA_IDENT_RE\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.class\"\n },\n contains: [\n PARAMS,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n // Expression keywords prevent 'keyword Name(...)' from being\n // recognized as a function definition\n beginKeywords: 'new throw return else',\n relevance: 0\n },\n {\n begin: [\n '(?:' + GENERIC_IDENT_RE + '\\\\s+)',\n hljs.UNDERSCORE_IDENT_RE,\n /\\s*(?=\\()/\n ],\n className: { 2: \"title.function\" },\n keywords: KEYWORDS,\n contains: [\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n ANNOTATION,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n NUMERIC,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n NUMERIC,\n ANNOTATION\n ]\n };\n}\n\nexport { java as default };\n","const IDENT_RE = '[A-Za-z$_][0-9A-Za-z$_]*';\nconst KEYWORDS = [\n \"as\", // for exports\n \"in\",\n \"of\",\n \"if\",\n \"for\",\n \"while\",\n \"finally\",\n \"var\",\n \"new\",\n \"function\",\n \"do\",\n \"return\",\n \"void\",\n \"else\",\n \"break\",\n \"catch\",\n \"instanceof\",\n \"with\",\n \"throw\",\n \"case\",\n \"default\",\n \"try\",\n \"switch\",\n \"continue\",\n \"typeof\",\n \"delete\",\n \"let\",\n \"yield\",\n \"const\",\n \"class\",\n // JS handles these with a special rule\n // \"get\",\n // \"set\",\n \"debugger\",\n \"async\",\n \"await\",\n \"static\",\n \"import\",\n \"from\",\n \"export\",\n \"extends\",\n // It's reached stage 3, which is \"recommended for implementation\":\n \"using\"\n];\nconst LITERALS = [\n \"true\",\n \"false\",\n \"null\",\n \"undefined\",\n \"NaN\",\n \"Infinity\"\n];\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects\nconst TYPES = [\n // Fundamental objects\n \"Object\",\n \"Function\",\n \"Boolean\",\n \"Symbol\",\n // numbers and dates\n \"Math\",\n \"Date\",\n \"Number\",\n \"BigInt\",\n // text\n \"String\",\n \"RegExp\",\n // Indexed collections\n \"Array\",\n \"Float32Array\",\n \"Float64Array\",\n \"Int8Array\",\n \"Uint8Array\",\n \"Uint8ClampedArray\",\n \"Int16Array\",\n \"Int32Array\",\n \"Uint16Array\",\n \"Uint32Array\",\n \"BigInt64Array\",\n \"BigUint64Array\",\n // Keyed collections\n \"Set\",\n \"Map\",\n \"WeakSet\",\n \"WeakMap\",\n // Structured data\n \"ArrayBuffer\",\n \"SharedArrayBuffer\",\n \"Atomics\",\n \"DataView\",\n \"JSON\",\n // Control abstraction objects\n \"Promise\",\n \"Generator\",\n \"GeneratorFunction\",\n \"AsyncFunction\",\n // Reflection\n \"Reflect\",\n \"Proxy\",\n // Internationalization\n \"Intl\",\n // WebAssembly\n \"WebAssembly\"\n];\n\nconst ERROR_TYPES = [\n \"Error\",\n \"EvalError\",\n \"InternalError\",\n \"RangeError\",\n \"ReferenceError\",\n \"SyntaxError\",\n \"TypeError\",\n \"URIError\"\n];\n\nconst BUILT_IN_GLOBALS = [\n \"setInterval\",\n \"setTimeout\",\n \"clearInterval\",\n \"clearTimeout\",\n\n \"require\",\n \"exports\",\n\n \"eval\",\n \"isFinite\",\n \"isNaN\",\n \"parseFloat\",\n \"parseInt\",\n \"decodeURI\",\n \"decodeURIComponent\",\n \"encodeURI\",\n \"encodeURIComponent\",\n \"escape\",\n \"unescape\"\n];\n\nconst BUILT_IN_VARIABLES = [\n \"arguments\",\n \"this\",\n \"super\",\n \"console\",\n \"window\",\n \"document\",\n \"localStorage\",\n \"sessionStorage\",\n \"module\",\n \"global\" // Node.js\n];\n\nconst BUILT_INS = [].concat(\n BUILT_IN_GLOBALS,\n TYPES,\n ERROR_TYPES\n);\n\n/*\nLanguage: JavaScript\nDescription: JavaScript (JS) is a lightweight, interpreted, or just-in-time compiled programming language with first-class functions.\nCategory: common, scripting, web\nWebsite: https://developer.mozilla.org/en-US/docs/Web/JavaScript\n*/\n\n\n/** @type LanguageFn */\nfunction javascript(hljs) {\n const regex = hljs.regex;\n /**\n * Takes a string like \" {\n const tag = \"',\n end: ''\n };\n // to avoid some special cases inside isTrulyOpeningTag\n const XML_SELF_CLOSING = /<[A-Za-z0-9\\\\._:-]+\\s*\\/>/;\n const XML_TAG = {\n begin: /<[A-Za-z0-9\\\\._:-]+/,\n end: /\\/[A-Za-z0-9\\\\._:-]+>|\\/>/,\n /**\n * @param {RegExpMatchArray} match\n * @param {CallbackResponse} response\n */\n isTrulyOpeningTag: (match, response) => {\n const afterMatchIndex = match[0].length + match.index;\n const nextChar = match.input[afterMatchIndex];\n if (\n // HTML should not include another raw `<` inside a tag\n // nested type?\n // `>`, etc.\n nextChar === \"<\" ||\n // the , gives away that this is not HTML\n // ``\n nextChar === \",\"\n ) {\n response.ignoreMatch();\n return;\n }\n\n // ``\n // Quite possibly a tag, lets look for a matching closing tag...\n if (nextChar === \">\") {\n // if we cannot find a matching closing tag, then we\n // will ignore it\n if (!hasClosingTag(match, { after: afterMatchIndex })) {\n response.ignoreMatch();\n }\n }\n\n // `` (self-closing)\n // handled by simpleSelfClosing rule\n\n let m;\n const afterMatch = match.input.substring(afterMatchIndex);\n\n // some more template typing stuff\n // (key?: string) => Modify<\n if ((m = afterMatch.match(/^\\s*=/))) {\n response.ignoreMatch();\n return;\n }\n\n // ``\n // technically this could be HTML, but it smells like a type\n // NOTE: This is ugh, but added specifically for https://github.com/highlightjs/highlight.js/issues/3276\n if ((m = afterMatch.match(/^\\s+extends\\s+/))) {\n if (m.index === 0) {\n response.ignoreMatch();\n // eslint-disable-next-line no-useless-return\n return;\n }\n }\n }\n };\n const KEYWORDS$1 = {\n $pattern: IDENT_RE,\n keyword: KEYWORDS,\n literal: LITERALS,\n built_in: BUILT_INS,\n \"variable.language\": BUILT_IN_VARIABLES\n };\n\n // https://tc39.es/ecma262/#sec-literals-numeric-literals\n const decimalDigits = '[0-9](_?[0-9])*';\n const frac = `\\\\.(${decimalDigits})`;\n // DecimalIntegerLiteral, including Annex B NonOctalDecimalIntegerLiteral\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n const decimalInteger = `0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*`;\n const NUMBER = {\n className: 'number',\n variants: [\n // DecimalLiteral\n { begin: `(\\\\b(${decimalInteger})((${frac})|\\\\.)?|(${frac}))` +\n `[eE][+-]?(${decimalDigits})\\\\b` },\n { begin: `\\\\b(${decimalInteger})\\\\b((${frac})\\\\b|\\\\.)?|(${frac})\\\\b` },\n\n // DecimalBigIntegerLiteral\n { begin: `\\\\b(0|[1-9](_?[0-9])*)n\\\\b` },\n\n // NonDecimalIntegerLiteral\n { begin: \"\\\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\\\b\" },\n { begin: \"\\\\b0[bB][0-1](_?[0-1])*n?\\\\b\" },\n { begin: \"\\\\b0[oO][0-7](_?[0-7])*n?\\\\b\" },\n\n // LegacyOctalIntegerLiteral (does not include underscore separators)\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n { begin: \"\\\\b0[0-7]+n?\\\\b\" },\n ],\n relevance: 0\n };\n\n const SUBST = {\n className: 'subst',\n begin: '\\\\$\\\\{',\n end: '\\\\}',\n keywords: KEYWORDS$1,\n contains: [] // defined later\n };\n const HTML_TEMPLATE = {\n begin: '\\.?html`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'xml'\n }\n };\n const CSS_TEMPLATE = {\n begin: '\\.?css`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'css'\n }\n };\n const GRAPHQL_TEMPLATE = {\n begin: '\\.?gql`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'graphql'\n }\n };\n const TEMPLATE_STRING = {\n className: 'string',\n begin: '`',\n end: '`',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n };\n const JSDOC_COMMENT = hljs.COMMENT(\n /\\/\\*\\*(?!\\/)/,\n '\\\\*/',\n {\n relevance: 0,\n contains: [\n {\n begin: '(?=@[A-Za-z]+)',\n relevance: 0,\n contains: [\n {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n },\n {\n className: 'type',\n begin: '\\\\{',\n end: '\\\\}',\n excludeEnd: true,\n excludeBegin: true,\n relevance: 0\n },\n {\n className: 'variable',\n begin: IDENT_RE$1 + '(?=\\\\s*(-)|$)',\n endsParent: true,\n relevance: 0\n },\n // eat spaces (not newlines) so we can find\n // types or variables\n {\n begin: /(?=[^\\n])\\s/,\n relevance: 0\n }\n ]\n }\n ]\n }\n );\n const COMMENT = {\n className: \"comment\",\n variants: [\n JSDOC_COMMENT,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.C_LINE_COMMENT_MODE\n ]\n };\n const SUBST_INTERNALS = [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n GRAPHQL_TEMPLATE,\n TEMPLATE_STRING,\n // Skip numbers when they are part of a variable name\n { match: /\\$\\d+/ },\n NUMBER,\n // This is intentional:\n // See https://github.com/highlightjs/highlight.js/issues/3288\n // hljs.REGEXP_MODE\n ];\n SUBST.contains = SUBST_INTERNALS\n .concat({\n // we need to pair up {} inside our subst to prevent\n // it from ending too early by matching another }\n begin: /\\{/,\n end: /\\}/,\n keywords: KEYWORDS$1,\n contains: [\n \"self\"\n ].concat(SUBST_INTERNALS)\n });\n const SUBST_AND_COMMENTS = [].concat(COMMENT, SUBST.contains);\n const PARAMS_CONTAINS = SUBST_AND_COMMENTS.concat([\n // eat recursive parens in sub expressions\n {\n begin: /(\\s*)\\(/,\n end: /\\)/,\n keywords: KEYWORDS$1,\n contains: [\"self\"].concat(SUBST_AND_COMMENTS)\n }\n ]);\n const PARAMS = {\n className: 'params',\n // convert this to negative lookbehind in v12\n begin: /(\\s*)\\(/, // to match the parms with\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n };\n\n // ES6 classes\n const CLASS_OR_EXTENDS = {\n variants: [\n // class Car extends vehicle\n {\n match: [\n /class/,\n /\\s+/,\n IDENT_RE$1,\n /\\s+/,\n /extends/,\n /\\s+/,\n regex.concat(IDENT_RE$1, \"(\", regex.concat(/\\./, IDENT_RE$1), \")*\")\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\",\n 5: \"keyword\",\n 7: \"title.class.inherited\"\n }\n },\n // class Car\n {\n match: [\n /class/,\n /\\s+/,\n IDENT_RE$1\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n },\n\n ]\n };\n\n const CLASS_REFERENCE = {\n relevance: 0,\n match:\n regex.either(\n // Hard coded exceptions\n /\\bJSON/,\n // Float32Array, OutT\n /\\b[A-Z][a-z]+([A-Z][a-z]*|\\d)*/,\n // CSSFactory, CSSFactoryT\n /\\b[A-Z]{2,}([A-Z][a-z]+|\\d)+([A-Z][a-z]*)*/,\n // FPs, FPsT\n /\\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\\d)*([A-Z][a-z]*)*/,\n // P\n // single letters are not highlighted\n // BLAH\n // this will be flagged as a UPPER_CASE_CONSTANT instead\n ),\n className: \"title.class\",\n keywords: {\n _: [\n // se we still get relevance credit for JS library classes\n ...TYPES,\n ...ERROR_TYPES\n ]\n }\n };\n\n const USE_STRICT = {\n label: \"use_strict\",\n className: 'meta',\n relevance: 10,\n begin: /^\\s*['\"]use (strict|asm)['\"]/\n };\n\n const FUNCTION_DEFINITION = {\n variants: [\n {\n match: [\n /function/,\n /\\s+/,\n IDENT_RE$1,\n /(?=\\s*\\()/\n ]\n },\n // anonymous function\n {\n match: [\n /function/,\n /\\s*(?=\\()/\n ]\n }\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n label: \"func.def\",\n contains: [ PARAMS ],\n illegal: /%/\n };\n\n const UPPER_CASE_CONSTANT = {\n relevance: 0,\n match: /\\b[A-Z][A-Z_0-9]+\\b/,\n className: \"variable.constant\"\n };\n\n function noneOf(list) {\n return regex.concat(\"(?!\", list.join(\"|\"), \")\");\n }\n\n const FUNCTION_CALL = {\n match: regex.concat(\n /\\b/,\n noneOf([\n ...BUILT_IN_GLOBALS,\n \"super\",\n \"import\"\n ].map(x => `${x}\\\\s*\\\\(`)),\n IDENT_RE$1, regex.lookahead(/\\s*\\(/)),\n className: \"title.function\",\n relevance: 0\n };\n\n const PROPERTY_ACCESS = {\n begin: regex.concat(/\\./, regex.lookahead(\n regex.concat(IDENT_RE$1, /(?![0-9A-Za-z$_(])/)\n )),\n end: IDENT_RE$1,\n excludeBegin: true,\n keywords: \"prototype\",\n className: \"property\",\n relevance: 0\n };\n\n const GETTER_OR_SETTER = {\n match: [\n /get|set/,\n /\\s+/,\n IDENT_RE$1,\n /(?=\\()/\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n { // eat to avoid empty params\n begin: /\\(\\)/\n },\n PARAMS\n ]\n };\n\n const FUNC_LEAD_IN_RE = '(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)|' + hljs.UNDERSCORE_IDENT_RE + ')\\\\s*=>';\n\n const FUNCTION_VARIABLE = {\n match: [\n /const|var|let/, /\\s+/,\n IDENT_RE$1, /\\s*/,\n /=\\s*/,\n /(async\\s*)?/, // async is optional\n regex.lookahead(FUNC_LEAD_IN_RE)\n ],\n keywords: \"async\",\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n PARAMS\n ]\n };\n\n return {\n name: 'JavaScript',\n aliases: ['js', 'jsx', 'mjs', 'cjs'],\n keywords: KEYWORDS$1,\n // this will be extended by TypeScript\n exports: { PARAMS_CONTAINS, CLASS_REFERENCE },\n illegal: /#(?![$_A-z])/,\n contains: [\n hljs.SHEBANG({\n label: \"shebang\",\n binary: \"node\",\n relevance: 5\n }),\n USE_STRICT,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n GRAPHQL_TEMPLATE,\n TEMPLATE_STRING,\n COMMENT,\n // Skip numbers when they are part of a variable name\n { match: /\\$\\d+/ },\n NUMBER,\n CLASS_REFERENCE,\n {\n scope: 'attr',\n match: IDENT_RE$1 + regex.lookahead(':'),\n relevance: 0\n },\n FUNCTION_VARIABLE,\n { // \"value\" container\n begin: '(' + hljs.RE_STARTERS_RE + '|\\\\b(case|return|throw)\\\\b)\\\\s*',\n keywords: 'return throw case',\n relevance: 0,\n contains: [\n COMMENT,\n hljs.REGEXP_MODE,\n {\n className: 'function',\n // we have to count the parens to make sure we actually have the\n // correct bounding ( ) before the =>. There could be any number of\n // sub-expressions inside also surrounded by parens.\n begin: FUNC_LEAD_IN_RE,\n returnBegin: true,\n end: '\\\\s*=>',\n contains: [\n {\n className: 'params',\n variants: [\n {\n begin: hljs.UNDERSCORE_IDENT_RE,\n relevance: 0\n },\n {\n className: null,\n begin: /\\(\\s*\\)/,\n skip: true\n },\n {\n begin: /(\\s*)\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n }\n ]\n }\n ]\n },\n { // could be a comma delimited list of params to a function call\n begin: /,/,\n relevance: 0\n },\n {\n match: /\\s+/,\n relevance: 0\n },\n { // JSX\n variants: [\n { begin: FRAGMENT.begin, end: FRAGMENT.end },\n { match: XML_SELF_CLOSING },\n {\n begin: XML_TAG.begin,\n // we carefully check the opening tag to see if it truly\n // is a tag and not a false positive\n 'on:begin': XML_TAG.isTrulyOpeningTag,\n end: XML_TAG.end\n }\n ],\n subLanguage: 'xml',\n contains: [\n {\n begin: XML_TAG.begin,\n end: XML_TAG.end,\n skip: true,\n contains: ['self']\n }\n ]\n }\n ],\n },\n FUNCTION_DEFINITION,\n {\n // prevent this from getting swallowed up by function\n // since they appear \"function like\"\n beginKeywords: \"while if switch catch for\"\n },\n {\n // we have to count the parens to make sure we actually have the correct\n // bounding ( ). There could be any number of sub-expressions inside\n // also surrounded by parens.\n begin: '\\\\b(?!function)' + hljs.UNDERSCORE_IDENT_RE +\n '\\\\(' + // first parens\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)\\\\s*\\\\{', // end parens\n returnBegin:true,\n label: \"func.def\",\n contains: [\n PARAMS,\n hljs.inherit(hljs.TITLE_MODE, { begin: IDENT_RE$1, className: \"title.function\" })\n ]\n },\n // catch ... so it won't trigger the property rule below\n {\n match: /\\.\\.\\./,\n relevance: 0\n },\n PROPERTY_ACCESS,\n // hack: prevents detection of keywords in some circumstances\n // .keyword()\n // $keyword = x\n {\n match: '\\\\$' + IDENT_RE$1,\n relevance: 0\n },\n {\n match: [ /\\bconstructor(?=\\s*\\()/ ],\n className: { 1: \"title.function\" },\n contains: [ PARAMS ]\n },\n FUNCTION_CALL,\n UPPER_CASE_CONSTANT,\n CLASS_OR_EXTENDS,\n GETTER_OR_SETTER,\n {\n match: /\\$[(.]/ // relevance booster for a pattern common to JS libs: `$(something)` and `$.something`\n }\n ]\n };\n}\n\nexport { javascript as default };\n","/*\nLanguage: JSON\nDescription: JSON (JavaScript Object Notation) is a lightweight data-interchange format.\nAuthor: Ivan Sagalaev \nWebsite: http://www.json.org\nCategory: common, protocols, web\n*/\n\nfunction json(hljs) {\n const ATTRIBUTE = {\n className: 'attr',\n begin: /\"(\\\\.|[^\\\\\"\\r\\n])*\"(?=\\s*:)/,\n relevance: 1.01\n };\n const PUNCTUATION = {\n match: /[{}[\\],:]/,\n className: \"punctuation\",\n relevance: 0\n };\n const LITERALS = [\n \"true\",\n \"false\",\n \"null\"\n ];\n // NOTE: normally we would rely on `keywords` for this but using a mode here allows us\n // - to use the very tight `illegal: \\S` rule later to flag any other character\n // - as illegal indicating that despite looking like JSON we do not truly have\n // - JSON and thus improve false-positively greatly since JSON will try and claim\n // - all sorts of JSON looking stuff\n const LITERALS_MODE = {\n scope: \"literal\",\n beginKeywords: LITERALS.join(\" \"),\n };\n\n return {\n name: 'JSON',\n aliases: ['jsonc'],\n keywords:{\n literal: LITERALS,\n },\n contains: [\n ATTRIBUTE,\n PUNCTUATION,\n hljs.QUOTE_STRING_MODE,\n LITERALS_MODE,\n hljs.C_NUMBER_MODE,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ],\n illegal: '\\\\S'\n };\n}\n\nexport { json as default };\n","// https://docs.oracle.com/javase/specs/jls/se15/html/jls-3.html#jls-3.10\nvar decimalDigits = '[0-9](_*[0-9])*';\nvar frac = `\\\\.(${decimalDigits})`;\nvar hexDigits = '[0-9a-fA-F](_*[0-9a-fA-F])*';\nvar NUMERIC = {\n className: 'number',\n variants: [\n // DecimalFloatingPointLiteral\n // including ExponentPart\n { begin: `(\\\\b(${decimalDigits})((${frac})|\\\\.)?|(${frac}))` +\n `[eE][+-]?(${decimalDigits})[fFdD]?\\\\b` },\n // excluding ExponentPart\n { begin: `\\\\b(${decimalDigits})((${frac})[fFdD]?\\\\b|\\\\.([fFdD]\\\\b)?)` },\n { begin: `(${frac})[fFdD]?\\\\b` },\n { begin: `\\\\b(${decimalDigits})[fFdD]\\\\b` },\n\n // HexadecimalFloatingPointLiteral\n { begin: `\\\\b0[xX]((${hexDigits})\\\\.?|(${hexDigits})?\\\\.(${hexDigits}))` +\n `[pP][+-]?(${decimalDigits})[fFdD]?\\\\b` },\n\n // DecimalIntegerLiteral\n { begin: '\\\\b(0|[1-9](_*[0-9])*)[lL]?\\\\b' },\n\n // HexIntegerLiteral\n { begin: `\\\\b0[xX](${hexDigits})[lL]?\\\\b` },\n\n // OctalIntegerLiteral\n { begin: '\\\\b0(_*[0-7])*[lL]?\\\\b' },\n\n // BinaryIntegerLiteral\n { begin: '\\\\b0[bB][01](_*[01])*[lL]?\\\\b' },\n ],\n relevance: 0\n};\n\n/*\n Language: Kotlin\n Description: Kotlin is an OSS statically typed programming language that targets the JVM, Android, JavaScript and Native.\n Author: Sergey Mashkov \n Website: https://kotlinlang.org\n Category: common\n */\n\n\nfunction kotlin(hljs) {\n const KEYWORDS = {\n keyword:\n 'abstract as val var vararg get set class object open private protected public noinline '\n + 'crossinline dynamic final enum if else do while for when throw try catch finally '\n + 'import package is in fun override companion reified inline lateinit init '\n + 'interface annotation data sealed internal infix operator out by constructor super '\n + 'tailrec where const inner suspend typealias external expect actual',\n built_in:\n 'Byte Short Char Int Long Boolean Float Double Void Unit Nothing',\n literal:\n 'true false null'\n };\n const KEYWORDS_WITH_LABEL = {\n className: 'keyword',\n begin: /\\b(break|continue|return|this)\\b/,\n starts: { contains: [\n {\n className: 'symbol',\n begin: /@\\w+/\n }\n ] }\n };\n const LABEL = {\n className: 'symbol',\n begin: hljs.UNDERSCORE_IDENT_RE + '@'\n };\n\n // for string templates\n const SUBST = {\n className: 'subst',\n begin: /\\$\\{/,\n end: /\\}/,\n contains: [ hljs.C_NUMBER_MODE ]\n };\n const VARIABLE = {\n className: 'variable',\n begin: '\\\\$' + hljs.UNDERSCORE_IDENT_RE\n };\n const STRING = {\n className: 'string',\n variants: [\n {\n begin: '\"\"\"',\n end: '\"\"\"(?=[^\"])',\n contains: [\n VARIABLE,\n SUBST\n ]\n },\n // Can't use built-in modes easily, as we want to use STRING in the meta\n // context as 'meta-string' and there's no syntax to remove explicitly set\n // classNames in built-in modes.\n {\n begin: '\\'',\n end: '\\'',\n illegal: /\\n/,\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '\"',\n end: '\"',\n illegal: /\\n/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n VARIABLE,\n SUBST\n ]\n }\n ]\n };\n SUBST.contains.push(STRING);\n\n const ANNOTATION_USE_SITE = {\n className: 'meta',\n begin: '@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\\\s*:(?:\\\\s*' + hljs.UNDERSCORE_IDENT_RE + ')?'\n };\n const ANNOTATION = {\n className: 'meta',\n begin: '@' + hljs.UNDERSCORE_IDENT_RE,\n contains: [\n {\n begin: /\\(/,\n end: /\\)/,\n contains: [\n hljs.inherit(STRING, { className: 'string' }),\n \"self\"\n ]\n }\n ]\n };\n\n // https://kotlinlang.org/docs/reference/whatsnew11.html#underscores-in-numeric-literals\n // According to the doc above, the number mode of kotlin is the same as java 8,\n // so the code below is copied from java.js\n const KOTLIN_NUMBER_MODE = NUMERIC;\n const KOTLIN_NESTED_COMMENT = hljs.COMMENT(\n '/\\\\*', '\\\\*/',\n { contains: [ hljs.C_BLOCK_COMMENT_MODE ] }\n );\n const KOTLIN_PAREN_TYPE = { variants: [\n {\n className: 'type',\n begin: hljs.UNDERSCORE_IDENT_RE\n },\n {\n begin: /\\(/,\n end: /\\)/,\n contains: [] // defined later\n }\n ] };\n const KOTLIN_PAREN_TYPE2 = KOTLIN_PAREN_TYPE;\n KOTLIN_PAREN_TYPE2.variants[1].contains = [ KOTLIN_PAREN_TYPE ];\n KOTLIN_PAREN_TYPE.variants[1].contains = [ KOTLIN_PAREN_TYPE2 ];\n\n return {\n name: 'Kotlin',\n aliases: [\n 'kt',\n 'kts'\n ],\n keywords: KEYWORDS,\n contains: [\n hljs.COMMENT(\n '/\\\\*\\\\*',\n '\\\\*/',\n {\n relevance: 0,\n contains: [\n {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n }\n ]\n }\n ),\n hljs.C_LINE_COMMENT_MODE,\n KOTLIN_NESTED_COMMENT,\n KEYWORDS_WITH_LABEL,\n LABEL,\n ANNOTATION_USE_SITE,\n ANNOTATION,\n {\n className: 'function',\n beginKeywords: 'fun',\n end: '[(]|$',\n returnBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n relevance: 5,\n contains: [\n {\n begin: hljs.UNDERSCORE_IDENT_RE + '\\\\s*\\\\(',\n returnBegin: true,\n relevance: 0,\n contains: [ hljs.UNDERSCORE_TITLE_MODE ]\n },\n {\n className: 'type',\n begin: //,\n keywords: 'reified',\n relevance: 0\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n endsParent: true,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n {\n begin: /:/,\n end: /[=,\\/]/,\n endsWithParent: true,\n contains: [\n KOTLIN_PAREN_TYPE,\n hljs.C_LINE_COMMENT_MODE,\n KOTLIN_NESTED_COMMENT\n ],\n relevance: 0\n },\n hljs.C_LINE_COMMENT_MODE,\n KOTLIN_NESTED_COMMENT,\n ANNOTATION_USE_SITE,\n ANNOTATION,\n STRING,\n hljs.C_NUMBER_MODE\n ]\n },\n KOTLIN_NESTED_COMMENT\n ]\n },\n {\n begin: [\n /class|interface|trait/,\n /\\s+/,\n hljs.UNDERSCORE_IDENT_RE\n ],\n beginScope: {\n 3: \"title.class\"\n },\n keywords: 'class interface trait',\n end: /[:\\{(]|$/,\n excludeEnd: true,\n illegal: 'extends implements',\n contains: [\n { beginKeywords: 'public protected internal private constructor' },\n hljs.UNDERSCORE_TITLE_MODE,\n {\n className: 'type',\n begin: //,\n excludeBegin: true,\n excludeEnd: true,\n relevance: 0\n },\n {\n className: 'type',\n begin: /[,:]\\s*/,\n end: /[<\\(,){\\s]|$/,\n excludeBegin: true,\n returnEnd: true\n },\n ANNOTATION_USE_SITE,\n ANNOTATION\n ]\n },\n STRING,\n {\n className: 'meta',\n begin: \"^#!/usr/bin/env\",\n end: '$',\n illegal: '\\n'\n },\n KOTLIN_NUMBER_MODE\n ]\n };\n}\n\nexport { kotlin as default };\n","const MODES = (hljs) => {\n return {\n IMPORTANT: {\n scope: 'meta',\n begin: '!important'\n },\n BLOCK_COMMENT: hljs.C_BLOCK_COMMENT_MODE,\n HEXCOLOR: {\n scope: 'number',\n begin: /#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\\b/\n },\n FUNCTION_DISPATCH: {\n className: \"built_in\",\n begin: /[\\w-]+(?=\\()/\n },\n ATTRIBUTE_SELECTOR_MODE: {\n scope: 'selector-attr',\n begin: /\\[/,\n end: /\\]/,\n illegal: '$',\n contains: [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ]\n },\n CSS_NUMBER_MODE: {\n scope: 'number',\n begin: hljs.NUMBER_RE + '(' +\n '%|em|ex|ch|rem' +\n '|vw|vh|vmin|vmax' +\n '|cm|mm|in|pt|pc|px' +\n '|deg|grad|rad|turn' +\n '|s|ms' +\n '|Hz|kHz' +\n '|dpi|dpcm|dppx' +\n ')?',\n relevance: 0\n },\n CSS_VARIABLE: {\n className: \"attr\",\n begin: /--[A-Za-z_][A-Za-z0-9_-]*/\n }\n };\n};\n\nconst HTML_TAGS = [\n 'a',\n 'abbr',\n 'address',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'blockquote',\n 'body',\n 'button',\n 'canvas',\n 'caption',\n 'cite',\n 'code',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'header',\n 'hgroup',\n 'html',\n 'i',\n 'iframe',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'main',\n 'mark',\n 'menu',\n 'nav',\n 'object',\n 'ol',\n 'optgroup',\n 'option',\n 'p',\n 'picture',\n 'q',\n 'quote',\n 'samp',\n 'section',\n 'select',\n 'source',\n 'span',\n 'strong',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'ul',\n 'var',\n 'video'\n];\n\nconst SVG_TAGS = [\n 'defs',\n 'g',\n 'marker',\n 'mask',\n 'pattern',\n 'svg',\n 'switch',\n 'symbol',\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feFlood',\n 'feGaussianBlur',\n 'feImage',\n 'feMerge',\n 'feMorphology',\n 'feOffset',\n 'feSpecularLighting',\n 'feTile',\n 'feTurbulence',\n 'linearGradient',\n 'radialGradient',\n 'stop',\n 'circle',\n 'ellipse',\n 'image',\n 'line',\n 'path',\n 'polygon',\n 'polyline',\n 'rect',\n 'text',\n 'use',\n 'textPath',\n 'tspan',\n 'foreignObject',\n 'clipPath'\n];\n\nconst TAGS = [\n ...HTML_TAGS,\n ...SVG_TAGS,\n];\n\n// Sorting, then reversing makes sure longer attributes/elements like\n// `font-weight` are matched fully instead of getting false positives on say `font`\n\nconst MEDIA_FEATURES = [\n 'any-hover',\n 'any-pointer',\n 'aspect-ratio',\n 'color',\n 'color-gamut',\n 'color-index',\n 'device-aspect-ratio',\n 'device-height',\n 'device-width',\n 'display-mode',\n 'forced-colors',\n 'grid',\n 'height',\n 'hover',\n 'inverted-colors',\n 'monochrome',\n 'orientation',\n 'overflow-block',\n 'overflow-inline',\n 'pointer',\n 'prefers-color-scheme',\n 'prefers-contrast',\n 'prefers-reduced-motion',\n 'prefers-reduced-transparency',\n 'resolution',\n 'scan',\n 'scripting',\n 'update',\n 'width',\n // TODO: find a better solution?\n 'min-width',\n 'max-width',\n 'min-height',\n 'max-height'\n].sort().reverse();\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-classes\nconst PSEUDO_CLASSES = [\n 'active',\n 'any-link',\n 'blank',\n 'checked',\n 'current',\n 'default',\n 'defined',\n 'dir', // dir()\n 'disabled',\n 'drop',\n 'empty',\n 'enabled',\n 'first',\n 'first-child',\n 'first-of-type',\n 'fullscreen',\n 'future',\n 'focus',\n 'focus-visible',\n 'focus-within',\n 'has', // has()\n 'host', // host or host()\n 'host-context', // host-context()\n 'hover',\n 'indeterminate',\n 'in-range',\n 'invalid',\n 'is', // is()\n 'lang', // lang()\n 'last-child',\n 'last-of-type',\n 'left',\n 'link',\n 'local-link',\n 'not', // not()\n 'nth-child', // nth-child()\n 'nth-col', // nth-col()\n 'nth-last-child', // nth-last-child()\n 'nth-last-col', // nth-last-col()\n 'nth-last-of-type', //nth-last-of-type()\n 'nth-of-type', //nth-of-type()\n 'only-child',\n 'only-of-type',\n 'optional',\n 'out-of-range',\n 'past',\n 'placeholder-shown',\n 'read-only',\n 'read-write',\n 'required',\n 'right',\n 'root',\n 'scope',\n 'target',\n 'target-within',\n 'user-invalid',\n 'valid',\n 'visited',\n 'where' // where()\n].sort().reverse();\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-elements\nconst PSEUDO_ELEMENTS = [\n 'after',\n 'backdrop',\n 'before',\n 'cue',\n 'cue-region',\n 'first-letter',\n 'first-line',\n 'grammar-error',\n 'marker',\n 'part',\n 'placeholder',\n 'selection',\n 'slotted',\n 'spelling-error'\n].sort().reverse();\n\nconst ATTRIBUTES = [\n 'accent-color',\n 'align-content',\n 'align-items',\n 'align-self',\n 'alignment-baseline',\n 'all',\n 'anchor-name',\n 'animation',\n 'animation-composition',\n 'animation-delay',\n 'animation-direction',\n 'animation-duration',\n 'animation-fill-mode',\n 'animation-iteration-count',\n 'animation-name',\n 'animation-play-state',\n 'animation-range',\n 'animation-range-end',\n 'animation-range-start',\n 'animation-timeline',\n 'animation-timing-function',\n 'appearance',\n 'aspect-ratio',\n 'backdrop-filter',\n 'backface-visibility',\n 'background',\n 'background-attachment',\n 'background-blend-mode',\n 'background-clip',\n 'background-color',\n 'background-image',\n 'background-origin',\n 'background-position',\n 'background-position-x',\n 'background-position-y',\n 'background-repeat',\n 'background-size',\n 'baseline-shift',\n 'block-size',\n 'border',\n 'border-block',\n 'border-block-color',\n 'border-block-end',\n 'border-block-end-color',\n 'border-block-end-style',\n 'border-block-end-width',\n 'border-block-start',\n 'border-block-start-color',\n 'border-block-start-style',\n 'border-block-start-width',\n 'border-block-style',\n 'border-block-width',\n 'border-bottom',\n 'border-bottom-color',\n 'border-bottom-left-radius',\n 'border-bottom-right-radius',\n 'border-bottom-style',\n 'border-bottom-width',\n 'border-collapse',\n 'border-color',\n 'border-end-end-radius',\n 'border-end-start-radius',\n 'border-image',\n 'border-image-outset',\n 'border-image-repeat',\n 'border-image-slice',\n 'border-image-source',\n 'border-image-width',\n 'border-inline',\n 'border-inline-color',\n 'border-inline-end',\n 'border-inline-end-color',\n 'border-inline-end-style',\n 'border-inline-end-width',\n 'border-inline-start',\n 'border-inline-start-color',\n 'border-inline-start-style',\n 'border-inline-start-width',\n 'border-inline-style',\n 'border-inline-width',\n 'border-left',\n 'border-left-color',\n 'border-left-style',\n 'border-left-width',\n 'border-radius',\n 'border-right',\n 'border-right-color',\n 'border-right-style',\n 'border-right-width',\n 'border-spacing',\n 'border-start-end-radius',\n 'border-start-start-radius',\n 'border-style',\n 'border-top',\n 'border-top-color',\n 'border-top-left-radius',\n 'border-top-right-radius',\n 'border-top-style',\n 'border-top-width',\n 'border-width',\n 'bottom',\n 'box-align',\n 'box-decoration-break',\n 'box-direction',\n 'box-flex',\n 'box-flex-group',\n 'box-lines',\n 'box-ordinal-group',\n 'box-orient',\n 'box-pack',\n 'box-shadow',\n 'box-sizing',\n 'break-after',\n 'break-before',\n 'break-inside',\n 'caption-side',\n 'caret-color',\n 'clear',\n 'clip',\n 'clip-path',\n 'clip-rule',\n 'color',\n 'color-interpolation',\n 'color-interpolation-filters',\n 'color-profile',\n 'color-rendering',\n 'color-scheme',\n 'column-count',\n 'column-fill',\n 'column-gap',\n 'column-rule',\n 'column-rule-color',\n 'column-rule-style',\n 'column-rule-width',\n 'column-span',\n 'column-width',\n 'columns',\n 'contain',\n 'contain-intrinsic-block-size',\n 'contain-intrinsic-height',\n 'contain-intrinsic-inline-size',\n 'contain-intrinsic-size',\n 'contain-intrinsic-width',\n 'container',\n 'container-name',\n 'container-type',\n 'content',\n 'content-visibility',\n 'counter-increment',\n 'counter-reset',\n 'counter-set',\n 'cue',\n 'cue-after',\n 'cue-before',\n 'cursor',\n 'cx',\n 'cy',\n 'direction',\n 'display',\n 'dominant-baseline',\n 'empty-cells',\n 'enable-background',\n 'field-sizing',\n 'fill',\n 'fill-opacity',\n 'fill-rule',\n 'filter',\n 'flex',\n 'flex-basis',\n 'flex-direction',\n 'flex-flow',\n 'flex-grow',\n 'flex-shrink',\n 'flex-wrap',\n 'float',\n 'flood-color',\n 'flood-opacity',\n 'flow',\n 'font',\n 'font-display',\n 'font-family',\n 'font-feature-settings',\n 'font-kerning',\n 'font-language-override',\n 'font-optical-sizing',\n 'font-palette',\n 'font-size',\n 'font-size-adjust',\n 'font-smooth',\n 'font-smoothing',\n 'font-stretch',\n 'font-style',\n 'font-synthesis',\n 'font-synthesis-position',\n 'font-synthesis-small-caps',\n 'font-synthesis-style',\n 'font-synthesis-weight',\n 'font-variant',\n 'font-variant-alternates',\n 'font-variant-caps',\n 'font-variant-east-asian',\n 'font-variant-emoji',\n 'font-variant-ligatures',\n 'font-variant-numeric',\n 'font-variant-position',\n 'font-variation-settings',\n 'font-weight',\n 'forced-color-adjust',\n 'gap',\n 'glyph-orientation-horizontal',\n 'glyph-orientation-vertical',\n 'grid',\n 'grid-area',\n 'grid-auto-columns',\n 'grid-auto-flow',\n 'grid-auto-rows',\n 'grid-column',\n 'grid-column-end',\n 'grid-column-start',\n 'grid-gap',\n 'grid-row',\n 'grid-row-end',\n 'grid-row-start',\n 'grid-template',\n 'grid-template-areas',\n 'grid-template-columns',\n 'grid-template-rows',\n 'hanging-punctuation',\n 'height',\n 'hyphenate-character',\n 'hyphenate-limit-chars',\n 'hyphens',\n 'icon',\n 'image-orientation',\n 'image-rendering',\n 'image-resolution',\n 'ime-mode',\n 'initial-letter',\n 'initial-letter-align',\n 'inline-size',\n 'inset',\n 'inset-area',\n 'inset-block',\n 'inset-block-end',\n 'inset-block-start',\n 'inset-inline',\n 'inset-inline-end',\n 'inset-inline-start',\n 'isolation',\n 'justify-content',\n 'justify-items',\n 'justify-self',\n 'kerning',\n 'left',\n 'letter-spacing',\n 'lighting-color',\n 'line-break',\n 'line-height',\n 'line-height-step',\n 'list-style',\n 'list-style-image',\n 'list-style-position',\n 'list-style-type',\n 'margin',\n 'margin-block',\n 'margin-block-end',\n 'margin-block-start',\n 'margin-bottom',\n 'margin-inline',\n 'margin-inline-end',\n 'margin-inline-start',\n 'margin-left',\n 'margin-right',\n 'margin-top',\n 'margin-trim',\n 'marker',\n 'marker-end',\n 'marker-mid',\n 'marker-start',\n 'marks',\n 'mask',\n 'mask-border',\n 'mask-border-mode',\n 'mask-border-outset',\n 'mask-border-repeat',\n 'mask-border-slice',\n 'mask-border-source',\n 'mask-border-width',\n 'mask-clip',\n 'mask-composite',\n 'mask-image',\n 'mask-mode',\n 'mask-origin',\n 'mask-position',\n 'mask-repeat',\n 'mask-size',\n 'mask-type',\n 'masonry-auto-flow',\n 'math-depth',\n 'math-shift',\n 'math-style',\n 'max-block-size',\n 'max-height',\n 'max-inline-size',\n 'max-width',\n 'min-block-size',\n 'min-height',\n 'min-inline-size',\n 'min-width',\n 'mix-blend-mode',\n 'nav-down',\n 'nav-index',\n 'nav-left',\n 'nav-right',\n 'nav-up',\n 'none',\n 'normal',\n 'object-fit',\n 'object-position',\n 'offset',\n 'offset-anchor',\n 'offset-distance',\n 'offset-path',\n 'offset-position',\n 'offset-rotate',\n 'opacity',\n 'order',\n 'orphans',\n 'outline',\n 'outline-color',\n 'outline-offset',\n 'outline-style',\n 'outline-width',\n 'overflow',\n 'overflow-anchor',\n 'overflow-block',\n 'overflow-clip-margin',\n 'overflow-inline',\n 'overflow-wrap',\n 'overflow-x',\n 'overflow-y',\n 'overlay',\n 'overscroll-behavior',\n 'overscroll-behavior-block',\n 'overscroll-behavior-inline',\n 'overscroll-behavior-x',\n 'overscroll-behavior-y',\n 'padding',\n 'padding-block',\n 'padding-block-end',\n 'padding-block-start',\n 'padding-bottom',\n 'padding-inline',\n 'padding-inline-end',\n 'padding-inline-start',\n 'padding-left',\n 'padding-right',\n 'padding-top',\n 'page',\n 'page-break-after',\n 'page-break-before',\n 'page-break-inside',\n 'paint-order',\n 'pause',\n 'pause-after',\n 'pause-before',\n 'perspective',\n 'perspective-origin',\n 'place-content',\n 'place-items',\n 'place-self',\n 'pointer-events',\n 'position',\n 'position-anchor',\n 'position-visibility',\n 'print-color-adjust',\n 'quotes',\n 'r',\n 'resize',\n 'rest',\n 'rest-after',\n 'rest-before',\n 'right',\n 'rotate',\n 'row-gap',\n 'ruby-align',\n 'ruby-position',\n 'scale',\n 'scroll-behavior',\n 'scroll-margin',\n 'scroll-margin-block',\n 'scroll-margin-block-end',\n 'scroll-margin-block-start',\n 'scroll-margin-bottom',\n 'scroll-margin-inline',\n 'scroll-margin-inline-end',\n 'scroll-margin-inline-start',\n 'scroll-margin-left',\n 'scroll-margin-right',\n 'scroll-margin-top',\n 'scroll-padding',\n 'scroll-padding-block',\n 'scroll-padding-block-end',\n 'scroll-padding-block-start',\n 'scroll-padding-bottom',\n 'scroll-padding-inline',\n 'scroll-padding-inline-end',\n 'scroll-padding-inline-start',\n 'scroll-padding-left',\n 'scroll-padding-right',\n 'scroll-padding-top',\n 'scroll-snap-align',\n 'scroll-snap-stop',\n 'scroll-snap-type',\n 'scroll-timeline',\n 'scroll-timeline-axis',\n 'scroll-timeline-name',\n 'scrollbar-color',\n 'scrollbar-gutter',\n 'scrollbar-width',\n 'shape-image-threshold',\n 'shape-margin',\n 'shape-outside',\n 'shape-rendering',\n 'speak',\n 'speak-as',\n 'src', // @font-face\n 'stop-color',\n 'stop-opacity',\n 'stroke',\n 'stroke-dasharray',\n 'stroke-dashoffset',\n 'stroke-linecap',\n 'stroke-linejoin',\n 'stroke-miterlimit',\n 'stroke-opacity',\n 'stroke-width',\n 'tab-size',\n 'table-layout',\n 'text-align',\n 'text-align-all',\n 'text-align-last',\n 'text-anchor',\n 'text-combine-upright',\n 'text-decoration',\n 'text-decoration-color',\n 'text-decoration-line',\n 'text-decoration-skip',\n 'text-decoration-skip-ink',\n 'text-decoration-style',\n 'text-decoration-thickness',\n 'text-emphasis',\n 'text-emphasis-color',\n 'text-emphasis-position',\n 'text-emphasis-style',\n 'text-indent',\n 'text-justify',\n 'text-orientation',\n 'text-overflow',\n 'text-rendering',\n 'text-shadow',\n 'text-size-adjust',\n 'text-transform',\n 'text-underline-offset',\n 'text-underline-position',\n 'text-wrap',\n 'text-wrap-mode',\n 'text-wrap-style',\n 'timeline-scope',\n 'top',\n 'touch-action',\n 'transform',\n 'transform-box',\n 'transform-origin',\n 'transform-style',\n 'transition',\n 'transition-behavior',\n 'transition-delay',\n 'transition-duration',\n 'transition-property',\n 'transition-timing-function',\n 'translate',\n 'unicode-bidi',\n 'user-modify',\n 'user-select',\n 'vector-effect',\n 'vertical-align',\n 'view-timeline',\n 'view-timeline-axis',\n 'view-timeline-inset',\n 'view-timeline-name',\n 'view-transition-name',\n 'visibility',\n 'voice-balance',\n 'voice-duration',\n 'voice-family',\n 'voice-pitch',\n 'voice-range',\n 'voice-rate',\n 'voice-stress',\n 'voice-volume',\n 'white-space',\n 'white-space-collapse',\n 'widows',\n 'width',\n 'will-change',\n 'word-break',\n 'word-spacing',\n 'word-wrap',\n 'writing-mode',\n 'x',\n 'y',\n 'z-index',\n 'zoom'\n].sort().reverse();\n\n// some grammars use them all as a single group\nconst PSEUDO_SELECTORS = PSEUDO_CLASSES.concat(PSEUDO_ELEMENTS).sort().reverse();\n\n/*\nLanguage: Less\nDescription: It's CSS, with just a little more.\nAuthor: Max Mikhailov \nWebsite: http://lesscss.org\nCategory: common, css, web\n*/\n\n\n/** @type LanguageFn */\nfunction less(hljs) {\n const modes = MODES(hljs);\n const PSEUDO_SELECTORS$1 = PSEUDO_SELECTORS;\n\n const AT_MODIFIERS = \"and or not only\";\n const IDENT_RE = '[\\\\w-]+'; // yes, Less identifiers may begin with a digit\n const INTERP_IDENT_RE = '(' + IDENT_RE + '|@\\\\{' + IDENT_RE + '\\\\})';\n\n /* Generic Modes */\n\n const RULES = []; const VALUE_MODES = []; // forward def. for recursive modes\n\n const STRING_MODE = function(c) {\n return {\n // Less strings are not multiline (also include '~' for more consistent coloring of \"escaped\" strings)\n className: 'string',\n begin: '~?' + c + '.*?' + c\n };\n };\n\n const IDENT_MODE = function(name, begin, relevance) {\n return {\n className: name,\n begin: begin,\n relevance: relevance\n };\n };\n\n const AT_KEYWORDS = {\n $pattern: /[a-z-]+/,\n keyword: AT_MODIFIERS,\n attribute: MEDIA_FEATURES.join(\" \")\n };\n\n const PARENS_MODE = {\n // used only to properly balance nested parens inside mixin call, def. arg list\n begin: '\\\\(',\n end: '\\\\)',\n contains: VALUE_MODES,\n keywords: AT_KEYWORDS,\n relevance: 0\n };\n\n // generic Less highlighter (used almost everywhere except selectors):\n VALUE_MODES.push(\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING_MODE(\"'\"),\n STRING_MODE('\"'),\n modes.CSS_NUMBER_MODE, // fixme: it does not include dot for numbers like .5em :(\n {\n begin: '(url|data-uri)\\\\(',\n starts: {\n className: 'string',\n end: '[\\\\)\\\\n]',\n excludeEnd: true\n }\n },\n modes.HEXCOLOR,\n PARENS_MODE,\n IDENT_MODE('variable', '@@?' + IDENT_RE, 10),\n IDENT_MODE('variable', '@\\\\{' + IDENT_RE + '\\\\}'),\n IDENT_MODE('built_in', '~?`[^`]*?`'), // inline javascript (or whatever host language) *multiline* string\n { // @media features (it’s here to not duplicate things in AT_RULE_MODE with extra PARENS_MODE overriding):\n className: 'attribute',\n begin: IDENT_RE + '\\\\s*:',\n end: ':',\n returnBegin: true,\n excludeEnd: true\n },\n modes.IMPORTANT,\n { beginKeywords: 'and not' },\n modes.FUNCTION_DISPATCH\n );\n\n const VALUE_WITH_RULESETS = VALUE_MODES.concat({\n begin: /\\{/,\n end: /\\}/,\n contains: RULES\n });\n\n const MIXIN_GUARD_MODE = {\n beginKeywords: 'when',\n endsWithParent: true,\n contains: [ { beginKeywords: 'and not' } ].concat(VALUE_MODES) // using this form to override VALUE’s 'function' match\n };\n\n /* Rule-Level Modes */\n\n const RULE_MODE = {\n begin: INTERP_IDENT_RE + '\\\\s*:',\n returnBegin: true,\n end: /[;}]/,\n relevance: 0,\n contains: [\n { begin: /-(webkit|moz|ms|o)-/ },\n modes.CSS_VARIABLE,\n {\n className: 'attribute',\n begin: '\\\\b(' + ATTRIBUTES.join('|') + ')\\\\b',\n end: /(?=:)/,\n starts: {\n endsWithParent: true,\n illegal: '[<=$]',\n relevance: 0,\n contains: VALUE_MODES\n }\n }\n ]\n };\n\n const AT_RULE_MODE = {\n className: 'keyword',\n begin: '@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\\\b',\n starts: {\n end: '[;{}]',\n keywords: AT_KEYWORDS,\n returnEnd: true,\n contains: VALUE_MODES,\n relevance: 0\n }\n };\n\n // variable definitions and calls\n const VAR_RULE_MODE = {\n className: 'variable',\n variants: [\n // using more strict pattern for higher relevance to increase chances of Less detection.\n // this is *the only* Less specific statement used in most of the sources, so...\n // (we’ll still often loose to the css-parser unless there's '//' comment,\n // simply because 1 variable just can't beat 99 properties :)\n {\n begin: '@' + IDENT_RE + '\\\\s*:',\n relevance: 15\n },\n { begin: '@' + IDENT_RE }\n ],\n starts: {\n end: '[;}]',\n returnEnd: true,\n contains: VALUE_WITH_RULESETS\n }\n };\n\n const SELECTOR_MODE = {\n // first parse unambiguous selectors (i.e. those not starting with tag)\n // then fall into the scary lookahead-discriminator variant.\n // this mode also handles mixin definitions and calls\n variants: [\n {\n begin: '[\\\\.#:&\\\\[>]',\n end: '[;{}]' // mixin calls end with ';'\n },\n {\n begin: INTERP_IDENT_RE,\n end: /\\{/\n }\n ],\n returnBegin: true,\n returnEnd: true,\n illegal: '[<=\\'$\"]',\n relevance: 0,\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n MIXIN_GUARD_MODE,\n IDENT_MODE('keyword', 'all\\\\b'),\n IDENT_MODE('variable', '@\\\\{' + IDENT_RE + '\\\\}'), // otherwise it’s identified as tag\n \n {\n begin: '\\\\b(' + TAGS.join('|') + ')\\\\b',\n className: 'selector-tag'\n },\n modes.CSS_NUMBER_MODE,\n IDENT_MODE('selector-tag', INTERP_IDENT_RE, 0),\n IDENT_MODE('selector-id', '#' + INTERP_IDENT_RE),\n IDENT_MODE('selector-class', '\\\\.' + INTERP_IDENT_RE, 0),\n IDENT_MODE('selector-tag', '&', 0),\n modes.ATTRIBUTE_SELECTOR_MODE,\n {\n className: 'selector-pseudo',\n begin: ':(' + PSEUDO_CLASSES.join('|') + ')'\n },\n {\n className: 'selector-pseudo',\n begin: ':(:)?(' + PSEUDO_ELEMENTS.join('|') + ')'\n },\n {\n begin: /\\(/,\n end: /\\)/,\n relevance: 0,\n contains: VALUE_WITH_RULESETS\n }, // argument list of parametric mixins\n { begin: '!important' }, // eat !important after mixin call or it will be colored as tag\n modes.FUNCTION_DISPATCH\n ]\n };\n\n const PSEUDO_SELECTOR_MODE = {\n begin: IDENT_RE + ':(:)?' + `(${PSEUDO_SELECTORS$1.join('|')})`,\n returnBegin: true,\n contains: [ SELECTOR_MODE ]\n };\n\n RULES.push(\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n AT_RULE_MODE,\n VAR_RULE_MODE,\n PSEUDO_SELECTOR_MODE,\n RULE_MODE,\n SELECTOR_MODE,\n MIXIN_GUARD_MODE,\n modes.FUNCTION_DISPATCH\n );\n\n return {\n name: 'Less',\n case_insensitive: true,\n illegal: '[=>\\'/<($\"]',\n contains: RULES\n };\n}\n\nexport { less as default };\n","/*\nLanguage: Lua\nDescription: Lua is a powerful, efficient, lightweight, embeddable scripting language.\nAuthor: Andrew Fedorov \nCategory: common, gaming, scripting\nWebsite: https://www.lua.org\n*/\n\nfunction lua(hljs) {\n const OPENING_LONG_BRACKET = '\\\\[=*\\\\[';\n const CLOSING_LONG_BRACKET = '\\\\]=*\\\\]';\n const LONG_BRACKETS = {\n begin: OPENING_LONG_BRACKET,\n end: CLOSING_LONG_BRACKET,\n contains: [ 'self' ]\n };\n const COMMENTS = [\n hljs.COMMENT('--(?!' + OPENING_LONG_BRACKET + ')', '$'),\n hljs.COMMENT(\n '--' + OPENING_LONG_BRACKET,\n CLOSING_LONG_BRACKET,\n {\n contains: [ LONG_BRACKETS ],\n relevance: 10\n }\n )\n ];\n return {\n name: 'Lua',\n aliases: ['pluto'],\n keywords: {\n $pattern: hljs.UNDERSCORE_IDENT_RE,\n literal: \"true false nil\",\n keyword: \"and break do else elseif end for goto if in local not or repeat return then until while\",\n built_in:\n // Metatags and globals:\n '_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len '\n + '__gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert '\n // Standard methods and properties:\n + 'collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring '\n + 'module next pairs pcall print rawequal rawget rawset require select setfenv '\n + 'setmetatable tonumber tostring type unpack xpcall arg self '\n // Library methods and properties (one line per library):\n + 'coroutine resume yield status wrap create running debug getupvalue '\n + 'debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv '\n + 'io lines write close flush open output type read stderr stdin input stdout popen tmpfile '\n + 'math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan '\n + 'os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall '\n + 'string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower '\n + 'table setn insert getn foreachi maxn foreach concat sort remove'\n },\n contains: COMMENTS.concat([\n {\n className: 'function',\n beginKeywords: 'function',\n end: '\\\\)',\n contains: [\n hljs.inherit(hljs.TITLE_MODE, { begin: '([_a-zA-Z]\\\\w*\\\\.)*([_a-zA-Z]\\\\w*:)?[_a-zA-Z]\\\\w*' }),\n {\n className: 'params',\n begin: '\\\\(',\n endsWithParent: true,\n contains: COMMENTS\n }\n ].concat(COMMENTS)\n },\n hljs.C_NUMBER_MODE,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n {\n className: 'string',\n begin: OPENING_LONG_BRACKET,\n end: CLOSING_LONG_BRACKET,\n contains: [ LONG_BRACKETS ],\n relevance: 5\n }\n ])\n };\n}\n\nexport { lua as default };\n","/*\nLanguage: Makefile\nAuthor: Ivan Sagalaev \nContributors: Joël Porquet \nWebsite: https://www.gnu.org/software/make/manual/html_node/Introduction.html\nCategory: common, build-system\n*/\n\nfunction makefile(hljs) {\n /* Variables: simple (eg $(var)) and special (eg $@) */\n const VARIABLE = {\n className: 'variable',\n variants: [\n {\n begin: '\\\\$\\\\(' + hljs.UNDERSCORE_IDENT_RE + '\\\\)',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n { begin: /\\$[@%\nWebsite: https://daringfireball.net/projects/markdown/\nCategory: common, markup\n*/\n\nfunction markdown(hljs) {\n const regex = hljs.regex;\n const INLINE_HTML = {\n begin: /<\\/?[A-Za-z_]/,\n end: '>',\n subLanguage: 'xml',\n relevance: 0\n };\n const HORIZONTAL_RULE = {\n begin: '^[-\\\\*]{3,}',\n end: '$'\n };\n const CODE = {\n className: 'code',\n variants: [\n // TODO: fix to allow these to work with sublanguage also\n { begin: '(`{3,})[^`](.|\\\\n)*?\\\\1`*[ ]*' },\n { begin: '(~{3,})[^~](.|\\\\n)*?\\\\1~*[ ]*' },\n // needed to allow markdown as a sublanguage to work\n {\n begin: '```',\n end: '```+[ ]*$'\n },\n {\n begin: '~~~',\n end: '~~~+[ ]*$'\n },\n { begin: '`.+?`' },\n {\n begin: '(?=^( {4}|\\\\t))',\n // use contains to gobble up multiple lines to allow the block to be whatever size\n // but only have a single open/close tag vs one per line\n contains: [\n {\n begin: '^( {4}|\\\\t)',\n end: '(\\\\n)$'\n }\n ],\n relevance: 0\n }\n ]\n };\n const LIST = {\n className: 'bullet',\n begin: '^[ \\t]*([*+-]|(\\\\d+\\\\.))(?=\\\\s+)',\n end: '\\\\s+',\n excludeEnd: true\n };\n const LINK_REFERENCE = {\n begin: /^\\[[^\\n]+\\]:/,\n returnBegin: true,\n contains: [\n {\n className: 'symbol',\n begin: /\\[/,\n end: /\\]/,\n excludeBegin: true,\n excludeEnd: true\n },\n {\n className: 'link',\n begin: /:\\s*/,\n end: /$/,\n excludeBegin: true\n }\n ]\n };\n const URL_SCHEME = /[A-Za-z][A-Za-z0-9+.-]*/;\n const LINK = {\n variants: [\n // too much like nested array access in so many languages\n // to have any real relevance\n {\n begin: /\\[.+?\\]\\[.*?\\]/,\n relevance: 0\n },\n // popular internet URLs\n {\n begin: /\\[.+?\\]\\(((data|javascript|mailto):|(?:http|ftp)s?:\\/\\/).*?\\)/,\n relevance: 2\n },\n {\n begin: regex.concat(/\\[.+?\\]\\(/, URL_SCHEME, /:\\/\\/.*?\\)/),\n relevance: 2\n },\n // relative urls\n {\n begin: /\\[.+?\\]\\([./?&#].*?\\)/,\n relevance: 1\n },\n // whatever else, lower relevance (might not be a link at all)\n {\n begin: /\\[.*?\\]\\(.*?\\)/,\n relevance: 0\n }\n ],\n returnBegin: true,\n contains: [\n {\n // empty strings for alt or link text\n match: /\\[(?=\\])/ },\n {\n className: 'string',\n relevance: 0,\n begin: '\\\\[',\n end: '\\\\]',\n excludeBegin: true,\n returnEnd: true\n },\n {\n className: 'link',\n relevance: 0,\n begin: '\\\\]\\\\(',\n end: '\\\\)',\n excludeBegin: true,\n excludeEnd: true\n },\n {\n className: 'symbol',\n relevance: 0,\n begin: '\\\\]\\\\[',\n end: '\\\\]',\n excludeBegin: true,\n excludeEnd: true\n }\n ]\n };\n const BOLD = {\n className: 'strong',\n contains: [], // defined later\n variants: [\n {\n begin: /_{2}(?!\\s)/,\n end: /_{2}/\n },\n {\n begin: /\\*{2}(?!\\s)/,\n end: /\\*{2}/\n }\n ]\n };\n const ITALIC = {\n className: 'emphasis',\n contains: [], // defined later\n variants: [\n {\n begin: /\\*(?![*\\s])/,\n end: /\\*/\n },\n {\n begin: /_(?![_\\s])/,\n end: /_/,\n relevance: 0\n }\n ]\n };\n\n // 3 level deep nesting is not allowed because it would create confusion\n // in cases like `***testing***` because where we don't know if the last\n // `***` is starting a new bold/italic or finishing the last one\n const BOLD_WITHOUT_ITALIC = hljs.inherit(BOLD, { contains: [] });\n const ITALIC_WITHOUT_BOLD = hljs.inherit(ITALIC, { contains: [] });\n BOLD.contains.push(ITALIC_WITHOUT_BOLD);\n ITALIC.contains.push(BOLD_WITHOUT_ITALIC);\n\n let CONTAINABLE = [\n INLINE_HTML,\n LINK\n ];\n\n [\n BOLD,\n ITALIC,\n BOLD_WITHOUT_ITALIC,\n ITALIC_WITHOUT_BOLD\n ].forEach(m => {\n m.contains = m.contains.concat(CONTAINABLE);\n });\n\n CONTAINABLE = CONTAINABLE.concat(BOLD, ITALIC);\n\n const HEADER = {\n className: 'section',\n variants: [\n {\n begin: '^#{1,6}',\n end: '$',\n contains: CONTAINABLE\n },\n {\n begin: '(?=^.+?\\\\n[=-]{2,}$)',\n contains: [\n { begin: '^[=-]*$' },\n {\n begin: '^',\n end: \"\\\\n\",\n contains: CONTAINABLE\n }\n ]\n }\n ]\n };\n\n const BLOCKQUOTE = {\n className: 'quote',\n begin: '^>\\\\s+',\n contains: CONTAINABLE,\n end: '$'\n };\n\n const ENTITY = {\n //https://spec.commonmark.org/0.31.2/#entity-references\n scope: 'literal',\n match: /&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/\n };\n\n return {\n name: 'Markdown',\n aliases: [\n 'md',\n 'mkdown',\n 'mkd'\n ],\n contains: [\n HEADER,\n INLINE_HTML,\n LIST,\n BOLD,\n ITALIC,\n BLOCKQUOTE,\n CODE,\n HORIZONTAL_RULE,\n LINK,\n LINK_REFERENCE,\n ENTITY\n ]\n };\n}\n\nexport { markdown as default };\n","/*\nLanguage: Objective-C\nAuthor: Valerii Hiora \nContributors: Angel G. Olloqui , Matt Diephouse , Andrew Farmer , Minh Nguyễn \nWebsite: https://developer.apple.com/documentation/objectivec\nCategory: common\n*/\n\nfunction objectivec(hljs) {\n const API_CLASS = {\n className: 'built_in',\n begin: '\\\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\\\w+'\n };\n const IDENTIFIER_RE = /[a-zA-Z@][a-zA-Z0-9_]*/;\n const TYPES = [\n \"int\",\n \"float\",\n \"char\",\n \"unsigned\",\n \"signed\",\n \"short\",\n \"long\",\n \"double\",\n \"wchar_t\",\n \"unichar\",\n \"void\",\n \"bool\",\n \"BOOL\",\n \"id|0\",\n \"_Bool\"\n ];\n const KWS = [\n \"while\",\n \"export\",\n \"sizeof\",\n \"typedef\",\n \"const\",\n \"struct\",\n \"for\",\n \"union\",\n \"volatile\",\n \"static\",\n \"mutable\",\n \"if\",\n \"do\",\n \"return\",\n \"goto\",\n \"enum\",\n \"else\",\n \"break\",\n \"extern\",\n \"asm\",\n \"case\",\n \"default\",\n \"register\",\n \"explicit\",\n \"typename\",\n \"switch\",\n \"continue\",\n \"inline\",\n \"readonly\",\n \"assign\",\n \"readwrite\",\n \"self\",\n \"@synchronized\",\n \"id\",\n \"typeof\",\n \"nonatomic\",\n \"IBOutlet\",\n \"IBAction\",\n \"strong\",\n \"weak\",\n \"copy\",\n \"in\",\n \"out\",\n \"inout\",\n \"bycopy\",\n \"byref\",\n \"oneway\",\n \"__strong\",\n \"__weak\",\n \"__block\",\n \"__autoreleasing\",\n \"@private\",\n \"@protected\",\n \"@public\",\n \"@try\",\n \"@property\",\n \"@end\",\n \"@throw\",\n \"@catch\",\n \"@finally\",\n \"@autoreleasepool\",\n \"@synthesize\",\n \"@dynamic\",\n \"@selector\",\n \"@optional\",\n \"@required\",\n \"@encode\",\n \"@package\",\n \"@import\",\n \"@defs\",\n \"@compatibility_alias\",\n \"__bridge\",\n \"__bridge_transfer\",\n \"__bridge_retained\",\n \"__bridge_retain\",\n \"__covariant\",\n \"__contravariant\",\n \"__kindof\",\n \"_Nonnull\",\n \"_Nullable\",\n \"_Null_unspecified\",\n \"__FUNCTION__\",\n \"__PRETTY_FUNCTION__\",\n \"__attribute__\",\n \"getter\",\n \"setter\",\n \"retain\",\n \"unsafe_unretained\",\n \"nonnull\",\n \"nullable\",\n \"null_unspecified\",\n \"null_resettable\",\n \"class\",\n \"instancetype\",\n \"NS_DESIGNATED_INITIALIZER\",\n \"NS_UNAVAILABLE\",\n \"NS_REQUIRES_SUPER\",\n \"NS_RETURNS_INNER_POINTER\",\n \"NS_INLINE\",\n \"NS_AVAILABLE\",\n \"NS_DEPRECATED\",\n \"NS_ENUM\",\n \"NS_OPTIONS\",\n \"NS_SWIFT_UNAVAILABLE\",\n \"NS_ASSUME_NONNULL_BEGIN\",\n \"NS_ASSUME_NONNULL_END\",\n \"NS_REFINED_FOR_SWIFT\",\n \"NS_SWIFT_NAME\",\n \"NS_SWIFT_NOTHROW\",\n \"NS_DURING\",\n \"NS_HANDLER\",\n \"NS_ENDHANDLER\",\n \"NS_VALUERETURN\",\n \"NS_VOIDRETURN\"\n ];\n const LITERALS = [\n \"false\",\n \"true\",\n \"FALSE\",\n \"TRUE\",\n \"nil\",\n \"YES\",\n \"NO\",\n \"NULL\"\n ];\n const BUILT_INS = [\n \"dispatch_once_t\",\n \"dispatch_queue_t\",\n \"dispatch_sync\",\n \"dispatch_async\",\n \"dispatch_once\"\n ];\n const KEYWORDS = {\n \"variable.language\": [\n \"this\",\n \"super\"\n ],\n $pattern: IDENTIFIER_RE,\n keyword: KWS,\n literal: LITERALS,\n built_in: BUILT_INS,\n type: TYPES\n };\n const CLASS_KEYWORDS = {\n $pattern: IDENTIFIER_RE,\n keyword: [\n \"@interface\",\n \"@class\",\n \"@protocol\",\n \"@implementation\"\n ]\n };\n return {\n name: 'Objective-C',\n aliases: [\n 'mm',\n 'objc',\n 'obj-c',\n 'obj-c++',\n 'objective-c++'\n ],\n keywords: KEYWORDS,\n illegal: '/,\n end: /$/,\n illegal: '\\\\n'\n },\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n className: 'class',\n begin: '(' + CLASS_KEYWORDS.keyword.join('|') + ')\\\\b',\n end: /(\\{|$)/,\n excludeEnd: true,\n keywords: CLASS_KEYWORDS,\n contains: [ hljs.UNDERSCORE_TITLE_MODE ]\n },\n {\n begin: '\\\\.' + hljs.UNDERSCORE_IDENT_RE,\n relevance: 0\n }\n ]\n };\n}\n\nexport { objectivec as default };\n","/*\nLanguage: Perl\nAuthor: Peter Leonov \nWebsite: https://www.perl.org\nCategory: common\n*/\n\n/** @type LanguageFn */\nfunction perl(hljs) {\n const regex = hljs.regex;\n const KEYWORDS = [\n 'abs',\n 'accept',\n 'alarm',\n 'and',\n 'atan2',\n 'bind',\n 'binmode',\n 'bless',\n 'break',\n 'caller',\n 'chdir',\n 'chmod',\n 'chomp',\n 'chop',\n 'chown',\n 'chr',\n 'chroot',\n 'class',\n 'close',\n 'closedir',\n 'connect',\n 'continue',\n 'cos',\n 'crypt',\n 'dbmclose',\n 'dbmopen',\n 'defined',\n 'delete',\n 'die',\n 'do',\n 'dump',\n 'each',\n 'else',\n 'elsif',\n 'endgrent',\n 'endhostent',\n 'endnetent',\n 'endprotoent',\n 'endpwent',\n 'endservent',\n 'eof',\n 'eval',\n 'exec',\n 'exists',\n 'exit',\n 'exp',\n 'fcntl',\n 'field',\n 'fileno',\n 'flock',\n 'for',\n 'foreach',\n 'fork',\n 'format',\n 'formline',\n 'getc',\n 'getgrent',\n 'getgrgid',\n 'getgrnam',\n 'gethostbyaddr',\n 'gethostbyname',\n 'gethostent',\n 'getlogin',\n 'getnetbyaddr',\n 'getnetbyname',\n 'getnetent',\n 'getpeername',\n 'getpgrp',\n 'getpriority',\n 'getprotobyname',\n 'getprotobynumber',\n 'getprotoent',\n 'getpwent',\n 'getpwnam',\n 'getpwuid',\n 'getservbyname',\n 'getservbyport',\n 'getservent',\n 'getsockname',\n 'getsockopt',\n 'given',\n 'glob',\n 'gmtime',\n 'goto',\n 'grep',\n 'gt',\n 'hex',\n 'if',\n 'index',\n 'int',\n 'ioctl',\n 'join',\n 'keys',\n 'kill',\n 'last',\n 'lc',\n 'lcfirst',\n 'length',\n 'link',\n 'listen',\n 'local',\n 'localtime',\n 'log',\n 'lstat',\n 'lt',\n 'ma',\n 'map',\n 'method',\n 'mkdir',\n 'msgctl',\n 'msgget',\n 'msgrcv',\n 'msgsnd',\n 'my',\n 'ne',\n 'next',\n 'no',\n 'not',\n 'oct',\n 'open',\n 'opendir',\n 'or',\n 'ord',\n 'our',\n 'pack',\n 'package',\n 'pipe',\n 'pop',\n 'pos',\n 'print',\n 'printf',\n 'prototype',\n 'push',\n 'q|0',\n 'qq',\n 'quotemeta',\n 'qw',\n 'qx',\n 'rand',\n 'read',\n 'readdir',\n 'readline',\n 'readlink',\n 'readpipe',\n 'recv',\n 'redo',\n 'ref',\n 'rename',\n 'require',\n 'reset',\n 'return',\n 'reverse',\n 'rewinddir',\n 'rindex',\n 'rmdir',\n 'say',\n 'scalar',\n 'seek',\n 'seekdir',\n 'select',\n 'semctl',\n 'semget',\n 'semop',\n 'send',\n 'setgrent',\n 'sethostent',\n 'setnetent',\n 'setpgrp',\n 'setpriority',\n 'setprotoent',\n 'setpwent',\n 'setservent',\n 'setsockopt',\n 'shift',\n 'shmctl',\n 'shmget',\n 'shmread',\n 'shmwrite',\n 'shutdown',\n 'sin',\n 'sleep',\n 'socket',\n 'socketpair',\n 'sort',\n 'splice',\n 'split',\n 'sprintf',\n 'sqrt',\n 'srand',\n 'stat',\n 'state',\n 'study',\n 'sub',\n 'substr',\n 'symlink',\n 'syscall',\n 'sysopen',\n 'sysread',\n 'sysseek',\n 'system',\n 'syswrite',\n 'tell',\n 'telldir',\n 'tie',\n 'tied',\n 'time',\n 'times',\n 'tr',\n 'truncate',\n 'uc',\n 'ucfirst',\n 'umask',\n 'undef',\n 'unless',\n 'unlink',\n 'unpack',\n 'unshift',\n 'untie',\n 'until',\n 'use',\n 'utime',\n 'values',\n 'vec',\n 'wait',\n 'waitpid',\n 'wantarray',\n 'warn',\n 'when',\n 'while',\n 'write',\n 'x|0',\n 'xor',\n 'y|0'\n ];\n\n // https://perldoc.perl.org/perlre#Modifiers\n const REGEX_MODIFIERS = /[dualxmsipngr]{0,12}/; // aa and xx are valid, making max length 12\n const PERL_KEYWORDS = {\n $pattern: /[\\w.]+/,\n keyword: KEYWORDS.join(\" \")\n };\n const SUBST = {\n className: 'subst',\n begin: '[$@]\\\\{',\n end: '\\\\}',\n keywords: PERL_KEYWORDS\n };\n const METHOD = {\n begin: /->\\{/,\n end: /\\}/\n // contains defined later\n };\n const ATTR = {\n scope: 'attr',\n match: /\\s+:\\s*\\w+(\\s*\\(.*?\\))?/,\n };\n const VAR = {\n scope: 'variable',\n variants: [\n { begin: /\\$\\d/ },\n { begin: regex.concat(\n /[$%@](?!\")(\\^\\w\\b|#\\w+(::\\w+)*|\\{\\w+\\}|\\w+(::\\w*)*)/,\n // negative look-ahead tries to avoid matching patterns that are not\n // Perl at all like $ident$, @ident@, etc.\n `(?![A-Za-z])(?![@$%])`\n )\n },\n {\n // Only $= is a special Perl variable and one can't declare @= or %=.\n begin: /[$%@](?!\")[^\\s\\w{=]|\\$=/,\n relevance: 0\n }\n ],\n contains: [ ATTR ],\n };\n const NUMBER = {\n className: 'number',\n variants: [\n // decimal numbers:\n // include the case where a number starts with a dot (eg. .9), and\n // the leading 0? avoids mixing the first and second match on 0.x cases\n { match: /0?\\.[0-9][0-9_]+\\b/ },\n // include the special versioned number (eg. v5.38)\n { match: /\\bv?(0|[1-9][0-9_]*(\\.[0-9_]+)?|[1-9][0-9_]*)\\b/ },\n // non-decimal numbers:\n { match: /\\b0[0-7][0-7_]*\\b/ },\n { match: /\\b0x[0-9a-fA-F][0-9a-fA-F_]*\\b/ },\n { match: /\\b0b[0-1][0-1_]*\\b/ },\n ],\n relevance: 0\n };\n const STRING_CONTAINS = [\n hljs.BACKSLASH_ESCAPE,\n SUBST,\n VAR\n ];\n const REGEX_DELIMS = [\n /!/,\n /\\//,\n /\\|/,\n /\\?/,\n /'/,\n /\"/, // valid but infrequent and weird\n /#/ // valid but infrequent and weird\n ];\n /**\n * @param {string|RegExp} prefix\n * @param {string|RegExp} open\n * @param {string|RegExp} close\n */\n const PAIRED_DOUBLE_RE = (prefix, open, close = '\\\\1') => {\n const middle = (close === '\\\\1')\n ? close\n : regex.concat(close, open);\n return regex.concat(\n regex.concat(\"(?:\", prefix, \")\"),\n open,\n /(?:\\\\.|[^\\\\\\/])*?/,\n middle,\n /(?:\\\\.|[^\\\\\\/])*?/,\n close,\n REGEX_MODIFIERS\n );\n };\n /**\n * @param {string|RegExp} prefix\n * @param {string|RegExp} open\n * @param {string|RegExp} close\n */\n const PAIRED_RE = (prefix, open, close) => {\n return regex.concat(\n regex.concat(\"(?:\", prefix, \")\"),\n open,\n /(?:\\\\.|[^\\\\\\/])*?/,\n close,\n REGEX_MODIFIERS\n );\n };\n const PERL_DEFAULT_CONTAINS = [\n VAR,\n hljs.HASH_COMMENT_MODE,\n hljs.COMMENT(\n /^=\\w/,\n /=cut/,\n { endsWithParent: true }\n ),\n METHOD,\n {\n className: 'string',\n contains: STRING_CONTAINS,\n variants: [\n {\n begin: 'q[qwxr]?\\\\s*\\\\(',\n end: '\\\\)',\n relevance: 5\n },\n {\n begin: 'q[qwxr]?\\\\s*\\\\[',\n end: '\\\\]',\n relevance: 5\n },\n {\n begin: 'q[qwxr]?\\\\s*\\\\{',\n end: '\\\\}',\n relevance: 5\n },\n {\n begin: 'q[qwxr]?\\\\s*\\\\|',\n end: '\\\\|',\n relevance: 5\n },\n {\n begin: 'q[qwxr]?\\\\s*<',\n end: '>',\n relevance: 5\n },\n {\n begin: 'qw\\\\s+q',\n end: 'q',\n relevance: 5\n },\n {\n begin: '\\'',\n end: '\\'',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '\"',\n end: '\"'\n },\n {\n begin: '`',\n end: '`',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: /\\{\\w+\\}/,\n relevance: 0\n },\n {\n begin: '-?\\\\w+\\\\s*=>',\n relevance: 0\n }\n ]\n },\n NUMBER,\n { // regexp container\n begin: '(\\\\/\\\\/|' + hljs.RE_STARTERS_RE + '|\\\\b(split|return|print|reverse|grep)\\\\b)\\\\s*',\n keywords: 'split return print reverse grep',\n relevance: 0,\n contains: [\n hljs.HASH_COMMENT_MODE,\n {\n className: 'regexp',\n variants: [\n // allow matching common delimiters\n { begin: PAIRED_DOUBLE_RE(\"s|tr|y\", regex.either(...REGEX_DELIMS, { capture: true })) },\n // and then paired delmis\n { begin: PAIRED_DOUBLE_RE(\"s|tr|y\", \"\\\\(\", \"\\\\)\") },\n { begin: PAIRED_DOUBLE_RE(\"s|tr|y\", \"\\\\[\", \"\\\\]\") },\n { begin: PAIRED_DOUBLE_RE(\"s|tr|y\", \"\\\\{\", \"\\\\}\") }\n ],\n relevance: 2\n },\n {\n className: 'regexp',\n variants: [\n {\n // could be a comment in many languages so do not count\n // as relevant\n begin: /(m|qr)\\/\\//,\n relevance: 0\n },\n // prefix is optional with /regex/\n { begin: PAIRED_RE(\"(?:m|qr)?\", /\\//, /\\//) },\n // allow matching common delimiters\n { begin: PAIRED_RE(\"m|qr\", regex.either(...REGEX_DELIMS, { capture: true }), /\\1/) },\n // allow common paired delmins\n { begin: PAIRED_RE(\"m|qr\", /\\(/, /\\)/) },\n { begin: PAIRED_RE(\"m|qr\", /\\[/, /\\]/) },\n { begin: PAIRED_RE(\"m|qr\", /\\{/, /\\}/) }\n ]\n }\n ]\n },\n {\n className: 'function',\n beginKeywords: 'sub method',\n end: '(\\\\s*\\\\(.*?\\\\))?[;{]',\n excludeEnd: true,\n relevance: 5,\n contains: [ hljs.TITLE_MODE, ATTR ]\n },\n {\n className: 'class',\n beginKeywords: 'class',\n end: '[;{]',\n excludeEnd: true,\n relevance: 5,\n contains: [ hljs.TITLE_MODE, ATTR, NUMBER ]\n },\n {\n begin: '-\\\\w\\\\b',\n relevance: 0\n },\n {\n begin: \"^__DATA__$\",\n end: \"^__END__$\",\n subLanguage: 'mojolicious',\n contains: [\n {\n begin: \"^@@.*\",\n end: \"$\",\n className: \"comment\"\n }\n ]\n }\n ];\n SUBST.contains = PERL_DEFAULT_CONTAINS;\n METHOD.contains = PERL_DEFAULT_CONTAINS;\n\n return {\n name: 'Perl',\n aliases: [\n 'pl',\n 'pm'\n ],\n keywords: PERL_KEYWORDS,\n contains: PERL_DEFAULT_CONTAINS\n };\n}\n\nexport { perl as default };\n","/*\nLanguage: PHP\nAuthor: Victor Karamzin \nContributors: Evgeny Stepanischev , Ivan Sagalaev \nWebsite: https://www.php.net\nCategory: common\n*/\n\n/**\n * @param {HLJSApi} hljs\n * @returns {LanguageDetail}\n * */\nfunction php(hljs) {\n const regex = hljs.regex;\n // negative look-ahead tries to avoid matching patterns that are not\n // Perl at all like $ident$, @ident@, etc.\n const NOT_PERL_ETC = /(?![A-Za-z0-9])(?![$])/;\n const IDENT_RE = regex.concat(\n /[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*/,\n NOT_PERL_ETC);\n // Will not detect camelCase classes\n const PASCAL_CASE_CLASS_NAME_RE = regex.concat(\n /(\\\\?[A-Z][a-z0-9_\\x7f-\\xff]+|\\\\?[A-Z]+(?=[A-Z][a-z0-9_\\x7f-\\xff])){1,}/,\n NOT_PERL_ETC);\n const UPCASE_NAME_RE = regex.concat(\n /[A-Z]+/,\n NOT_PERL_ETC);\n const VARIABLE = {\n scope: 'variable',\n match: '\\\\$+' + IDENT_RE,\n };\n const PREPROCESSOR = {\n scope: \"meta\",\n variants: [\n { begin: /<\\?php/, relevance: 10 }, // boost for obvious PHP\n { begin: /<\\?=/ },\n // less relevant per PSR-1 which says not to use short-tags\n { begin: /<\\?/, relevance: 0.1 },\n { begin: /\\?>/ } // end php tag\n ]\n };\n const SUBST = {\n scope: 'subst',\n variants: [\n { begin: /\\$\\w+/ },\n {\n begin: /\\{\\$/,\n end: /\\}/\n }\n ]\n };\n const SINGLE_QUOTED = hljs.inherit(hljs.APOS_STRING_MODE, { illegal: null, });\n const DOUBLE_QUOTED = hljs.inherit(hljs.QUOTE_STRING_MODE, {\n illegal: null,\n contains: hljs.QUOTE_STRING_MODE.contains.concat(SUBST),\n });\n\n const HEREDOC = {\n begin: /<<<[ \\t]*(?:(\\w+)|\"(\\w+)\")\\n/,\n end: /[ \\t]*(\\w+)\\b/,\n contains: hljs.QUOTE_STRING_MODE.contains.concat(SUBST),\n 'on:begin': (m, resp) => { resp.data._beginMatch = m[1] || m[2]; },\n 'on:end': (m, resp) => { if (resp.data._beginMatch !== m[1]) resp.ignoreMatch(); },\n };\n\n const NOWDOC = hljs.END_SAME_AS_BEGIN({\n begin: /<<<[ \\t]*'(\\w+)'\\n/,\n end: /[ \\t]*(\\w+)\\b/,\n });\n // list of valid whitespaces because non-breaking space might be part of a IDENT_RE\n const WHITESPACE = '[ \\t\\n]';\n const STRING = {\n scope: 'string',\n variants: [\n DOUBLE_QUOTED,\n SINGLE_QUOTED,\n HEREDOC,\n NOWDOC\n ]\n };\n const NUMBER = {\n scope: 'number',\n variants: [\n { begin: `\\\\b0[bB][01]+(?:_[01]+)*\\\\b` }, // Binary w/ underscore support\n { begin: `\\\\b0[oO][0-7]+(?:_[0-7]+)*\\\\b` }, // Octals w/ underscore support\n { begin: `\\\\b0[xX][\\\\da-fA-F]+(?:_[\\\\da-fA-F]+)*\\\\b` }, // Hex w/ underscore support\n // Decimals w/ underscore support, with optional fragments and scientific exponent (e) suffix.\n { begin: `(?:\\\\b\\\\d+(?:_\\\\d+)*(\\\\.(?:\\\\d+(?:_\\\\d+)*))?|\\\\B\\\\.\\\\d+)(?:[eE][+-]?\\\\d+)?` }\n ],\n relevance: 0\n };\n const LITERALS = [\n \"false\",\n \"null\",\n \"true\"\n ];\n const KWS = [\n // Magic constants:\n // \n \"__CLASS__\",\n \"__DIR__\",\n \"__FILE__\",\n \"__FUNCTION__\",\n \"__COMPILER_HALT_OFFSET__\",\n \"__LINE__\",\n \"__METHOD__\",\n \"__NAMESPACE__\",\n \"__TRAIT__\",\n // Function that look like language construct or language construct that look like function:\n // List of keywords that may not require parenthesis\n \"die\",\n \"echo\",\n \"exit\",\n \"include\",\n \"include_once\",\n \"print\",\n \"require\",\n \"require_once\",\n // These are not language construct (function) but operate on the currently-executing function and can access the current symbol table\n // 'compact extract func_get_arg func_get_args func_num_args get_called_class get_parent_class ' +\n // Other keywords:\n // \n // \n \"array\",\n \"abstract\",\n \"and\",\n \"as\",\n \"binary\",\n \"bool\",\n \"boolean\",\n \"break\",\n \"callable\",\n \"case\",\n \"catch\",\n \"class\",\n \"clone\",\n \"const\",\n \"continue\",\n \"declare\",\n \"default\",\n \"do\",\n \"double\",\n \"else\",\n \"elseif\",\n \"empty\",\n \"enddeclare\",\n \"endfor\",\n \"endforeach\",\n \"endif\",\n \"endswitch\",\n \"endwhile\",\n \"enum\",\n \"eval\",\n \"extends\",\n \"final\",\n \"finally\",\n \"float\",\n \"for\",\n \"foreach\",\n \"from\",\n \"global\",\n \"goto\",\n \"if\",\n \"implements\",\n \"instanceof\",\n \"insteadof\",\n \"int\",\n \"integer\",\n \"interface\",\n \"isset\",\n \"iterable\",\n \"list\",\n \"match|0\",\n \"mixed\",\n \"new\",\n \"never\",\n \"object\",\n \"or\",\n \"private\",\n \"protected\",\n \"public\",\n \"readonly\",\n \"real\",\n \"return\",\n \"string\",\n \"switch\",\n \"throw\",\n \"trait\",\n \"try\",\n \"unset\",\n \"use\",\n \"var\",\n \"void\",\n \"while\",\n \"xor\",\n \"yield\"\n ];\n\n const BUILT_INS = [\n // Standard PHP library:\n // \n \"Error|0\",\n \"AppendIterator\",\n \"ArgumentCountError\",\n \"ArithmeticError\",\n \"ArrayIterator\",\n \"ArrayObject\",\n \"AssertionError\",\n \"BadFunctionCallException\",\n \"BadMethodCallException\",\n \"CachingIterator\",\n \"CallbackFilterIterator\",\n \"CompileError\",\n \"Countable\",\n \"DirectoryIterator\",\n \"DivisionByZeroError\",\n \"DomainException\",\n \"EmptyIterator\",\n \"ErrorException\",\n \"Exception\",\n \"FilesystemIterator\",\n \"FilterIterator\",\n \"GlobIterator\",\n \"InfiniteIterator\",\n \"InvalidArgumentException\",\n \"IteratorIterator\",\n \"LengthException\",\n \"LimitIterator\",\n \"LogicException\",\n \"MultipleIterator\",\n \"NoRewindIterator\",\n \"OutOfBoundsException\",\n \"OutOfRangeException\",\n \"OuterIterator\",\n \"OverflowException\",\n \"ParentIterator\",\n \"ParseError\",\n \"RangeException\",\n \"RecursiveArrayIterator\",\n \"RecursiveCachingIterator\",\n \"RecursiveCallbackFilterIterator\",\n \"RecursiveDirectoryIterator\",\n \"RecursiveFilterIterator\",\n \"RecursiveIterator\",\n \"RecursiveIteratorIterator\",\n \"RecursiveRegexIterator\",\n \"RecursiveTreeIterator\",\n \"RegexIterator\",\n \"RuntimeException\",\n \"SeekableIterator\",\n \"SplDoublyLinkedList\",\n \"SplFileInfo\",\n \"SplFileObject\",\n \"SplFixedArray\",\n \"SplHeap\",\n \"SplMaxHeap\",\n \"SplMinHeap\",\n \"SplObjectStorage\",\n \"SplObserver\",\n \"SplPriorityQueue\",\n \"SplQueue\",\n \"SplStack\",\n \"SplSubject\",\n \"SplTempFileObject\",\n \"TypeError\",\n \"UnderflowException\",\n \"UnexpectedValueException\",\n \"UnhandledMatchError\",\n // Reserved interfaces:\n // \n \"ArrayAccess\",\n \"BackedEnum\",\n \"Closure\",\n \"Fiber\",\n \"Generator\",\n \"Iterator\",\n \"IteratorAggregate\",\n \"Serializable\",\n \"Stringable\",\n \"Throwable\",\n \"Traversable\",\n \"UnitEnum\",\n \"WeakReference\",\n \"WeakMap\",\n // Reserved classes:\n // \n \"Directory\",\n \"__PHP_Incomplete_Class\",\n \"parent\",\n \"php_user_filter\",\n \"self\",\n \"static\",\n \"stdClass\"\n ];\n\n /** Dual-case keywords\n *\n * [\"then\",\"FILE\"] =>\n * [\"then\", \"THEN\", \"FILE\", \"file\"]\n *\n * @param {string[]} items */\n const dualCase = (items) => {\n /** @type string[] */\n const result = [];\n items.forEach(item => {\n result.push(item);\n if (item.toLowerCase() === item) {\n result.push(item.toUpperCase());\n } else {\n result.push(item.toLowerCase());\n }\n });\n return result;\n };\n\n const KEYWORDS = {\n keyword: KWS,\n literal: dualCase(LITERALS),\n built_in: BUILT_INS,\n };\n\n /**\n * @param {string[]} items */\n const normalizeKeywords = (items) => {\n return items.map(item => {\n return item.replace(/\\|\\d+$/, \"\");\n });\n };\n\n const CONSTRUCTOR_CALL = { variants: [\n {\n match: [\n /new/,\n regex.concat(WHITESPACE, \"+\"),\n // to prevent built ins from being confused as the class constructor call\n regex.concat(\"(?!\", normalizeKeywords(BUILT_INS).join(\"\\\\b|\"), \"\\\\b)\"),\n PASCAL_CASE_CLASS_NAME_RE,\n ],\n scope: {\n 1: \"keyword\",\n 4: \"title.class\",\n },\n }\n ] };\n\n const CONSTANT_REFERENCE = regex.concat(IDENT_RE, \"\\\\b(?!\\\\()\");\n\n const LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON = { variants: [\n {\n match: [\n regex.concat(\n /::/,\n regex.lookahead(/(?!class\\b)/)\n ),\n CONSTANT_REFERENCE,\n ],\n scope: { 2: \"variable.constant\", },\n },\n {\n match: [\n /::/,\n /class/,\n ],\n scope: { 2: \"variable.language\", },\n },\n {\n match: [\n PASCAL_CASE_CLASS_NAME_RE,\n regex.concat(\n /::/,\n regex.lookahead(/(?!class\\b)/)\n ),\n CONSTANT_REFERENCE,\n ],\n scope: {\n 1: \"title.class\",\n 3: \"variable.constant\",\n },\n },\n {\n match: [\n PASCAL_CASE_CLASS_NAME_RE,\n regex.concat(\n \"::\",\n regex.lookahead(/(?!class\\b)/)\n ),\n ],\n scope: { 1: \"title.class\", },\n },\n {\n match: [\n PASCAL_CASE_CLASS_NAME_RE,\n /::/,\n /class/,\n ],\n scope: {\n 1: \"title.class\",\n 3: \"variable.language\",\n },\n }\n ] };\n\n const NAMED_ARGUMENT = {\n scope: 'attr',\n match: regex.concat(IDENT_RE, regex.lookahead(':'), regex.lookahead(/(?!::)/)),\n };\n const PARAMS_MODE = {\n relevance: 0,\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n contains: [\n NAMED_ARGUMENT,\n VARIABLE,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER,\n CONSTRUCTOR_CALL,\n ],\n };\n const FUNCTION_INVOKE = {\n relevance: 0,\n match: [\n /\\b/,\n // to prevent keywords from being confused as the function title\n regex.concat(\"(?!fn\\\\b|function\\\\b|\", normalizeKeywords(KWS).join(\"\\\\b|\"), \"|\", normalizeKeywords(BUILT_INS).join(\"\\\\b|\"), \"\\\\b)\"),\n IDENT_RE,\n regex.concat(WHITESPACE, \"*\"),\n regex.lookahead(/(?=\\()/)\n ],\n scope: { 3: \"title.function.invoke\", },\n contains: [ PARAMS_MODE ]\n };\n PARAMS_MODE.contains.push(FUNCTION_INVOKE);\n\n const ATTRIBUTE_CONTAINS = [\n NAMED_ARGUMENT,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER,\n CONSTRUCTOR_CALL,\n ];\n\n const ATTRIBUTES = {\n begin: regex.concat(/#\\[\\s*\\\\?/,\n regex.either(\n PASCAL_CASE_CLASS_NAME_RE,\n UPCASE_NAME_RE\n )\n ),\n beginScope: \"meta\",\n end: /]/,\n endScope: \"meta\",\n keywords: {\n literal: LITERALS,\n keyword: [\n 'new',\n 'array',\n ]\n },\n contains: [\n {\n begin: /\\[/,\n end: /]/,\n keywords: {\n literal: LITERALS,\n keyword: [\n 'new',\n 'array',\n ]\n },\n contains: [\n 'self',\n ...ATTRIBUTE_CONTAINS,\n ]\n },\n ...ATTRIBUTE_CONTAINS,\n {\n scope: 'meta',\n variants: [\n { match: PASCAL_CASE_CLASS_NAME_RE },\n { match: UPCASE_NAME_RE }\n ]\n }\n ]\n };\n\n return {\n case_insensitive: false,\n keywords: KEYWORDS,\n contains: [\n ATTRIBUTES,\n hljs.HASH_COMMENT_MODE,\n hljs.COMMENT('//', '$'),\n hljs.COMMENT(\n '/\\\\*',\n '\\\\*/',\n { contains: [\n {\n scope: 'doctag',\n match: '@[A-Za-z]+'\n }\n ] }\n ),\n {\n match: /__halt_compiler\\(\\);/,\n keywords: '__halt_compiler',\n starts: {\n scope: \"comment\",\n end: hljs.MATCH_NOTHING_RE,\n contains: [\n {\n match: /\\?>/,\n scope: \"meta\",\n endsParent: true\n }\n ]\n }\n },\n PREPROCESSOR,\n {\n scope: 'variable.language',\n match: /\\$this\\b/\n },\n VARIABLE,\n FUNCTION_INVOKE,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n {\n match: [\n /const/,\n /\\s/,\n IDENT_RE,\n ],\n scope: {\n 1: \"keyword\",\n 3: \"variable.constant\",\n },\n },\n CONSTRUCTOR_CALL,\n {\n scope: 'function',\n relevance: 0,\n beginKeywords: 'fn function',\n end: /[;{]/,\n excludeEnd: true,\n illegal: '[$%\\\\[]',\n contains: [\n { beginKeywords: 'use', },\n hljs.UNDERSCORE_TITLE_MODE,\n {\n begin: '=>', // No markup, just a relevance booster\n endsParent: true\n },\n {\n scope: 'params',\n begin: '\\\\(',\n end: '\\\\)',\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n contains: [\n 'self',\n ATTRIBUTES,\n VARIABLE,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER\n ]\n },\n ]\n },\n {\n scope: 'class',\n variants: [\n {\n beginKeywords: \"enum\",\n illegal: /[($\"]/\n },\n {\n beginKeywords: \"class interface trait\",\n illegal: /[:($\"]/\n }\n ],\n relevance: 0,\n end: /\\{/,\n excludeEnd: true,\n contains: [\n { beginKeywords: 'extends implements' },\n hljs.UNDERSCORE_TITLE_MODE\n ]\n },\n // both use and namespace still use \"old style\" rules (vs multi-match)\n // because the namespace name can include `\\` and we still want each\n // element to be treated as its own *individual* title\n {\n beginKeywords: 'namespace',\n relevance: 0,\n end: ';',\n illegal: /[.']/,\n contains: [ hljs.inherit(hljs.UNDERSCORE_TITLE_MODE, { scope: \"title.class\" }) ]\n },\n {\n beginKeywords: 'use',\n relevance: 0,\n end: ';',\n contains: [\n // TODO: title.function vs title.class\n {\n match: /\\b(as|const|function)\\b/,\n scope: \"keyword\"\n },\n // TODO: could be title.class or title.function\n hljs.UNDERSCORE_TITLE_MODE\n ]\n },\n STRING,\n NUMBER,\n ]\n };\n}\n\nexport { php as default };\n","/*\nLanguage: PHP Template\nRequires: xml.js, php.js\nAuthor: Josh Goebel \nWebsite: https://www.php.net\nCategory: common\n*/\n\nfunction phpTemplate(hljs) {\n return {\n name: \"PHP template\",\n subLanguage: 'xml',\n contains: [\n {\n begin: /<\\?(php|=)?/,\n end: /\\?>/,\n subLanguage: 'php',\n contains: [\n // We don't want the php closing tag ?> to close the PHP block when\n // inside any of the following blocks:\n {\n begin: '/\\\\*',\n end: '\\\\*/',\n skip: true\n },\n {\n begin: 'b\"',\n end: '\"',\n skip: true\n },\n {\n begin: 'b\\'',\n end: '\\'',\n skip: true\n },\n hljs.inherit(hljs.APOS_STRING_MODE, {\n illegal: null,\n className: null,\n contains: null,\n skip: true\n }),\n hljs.inherit(hljs.QUOTE_STRING_MODE, {\n illegal: null,\n className: null,\n contains: null,\n skip: true\n })\n ]\n }\n ]\n };\n}\n\nexport { phpTemplate as default };\n","/*\nLanguage: Plain text\nAuthor: Egor Rogov (e.rogov@postgrespro.ru)\nDescription: Plain text without any highlighting.\nCategory: common\n*/\n\nfunction plaintext(hljs) {\n return {\n name: 'Plain text',\n aliases: [\n 'text',\n 'txt'\n ],\n disableAutodetect: true\n };\n}\n\nexport { plaintext as default };\n","/*\nLanguage: Python\nDescription: Python is an interpreted, object-oriented, high-level programming language with dynamic semantics.\nWebsite: https://www.python.org\nCategory: common\n*/\n\nfunction python(hljs) {\n const regex = hljs.regex;\n const IDENT_RE = /[\\p{XID_Start}_]\\p{XID_Continue}*/u;\n const RESERVED_WORDS = [\n 'and',\n 'as',\n 'assert',\n 'async',\n 'await',\n 'break',\n 'case',\n 'class',\n 'continue',\n 'def',\n 'del',\n 'elif',\n 'else',\n 'except',\n 'finally',\n 'for',\n 'from',\n 'global',\n 'if',\n 'import',\n 'in',\n 'is',\n 'lambda',\n 'match',\n 'nonlocal|10',\n 'not',\n 'or',\n 'pass',\n 'raise',\n 'return',\n 'try',\n 'while',\n 'with',\n 'yield'\n ];\n\n const BUILT_INS = [\n '__import__',\n 'abs',\n 'all',\n 'any',\n 'ascii',\n 'bin',\n 'bool',\n 'breakpoint',\n 'bytearray',\n 'bytes',\n 'callable',\n 'chr',\n 'classmethod',\n 'compile',\n 'complex',\n 'delattr',\n 'dict',\n 'dir',\n 'divmod',\n 'enumerate',\n 'eval',\n 'exec',\n 'filter',\n 'float',\n 'format',\n 'frozenset',\n 'getattr',\n 'globals',\n 'hasattr',\n 'hash',\n 'help',\n 'hex',\n 'id',\n 'input',\n 'int',\n 'isinstance',\n 'issubclass',\n 'iter',\n 'len',\n 'list',\n 'locals',\n 'map',\n 'max',\n 'memoryview',\n 'min',\n 'next',\n 'object',\n 'oct',\n 'open',\n 'ord',\n 'pow',\n 'print',\n 'property',\n 'range',\n 'repr',\n 'reversed',\n 'round',\n 'set',\n 'setattr',\n 'slice',\n 'sorted',\n 'staticmethod',\n 'str',\n 'sum',\n 'super',\n 'tuple',\n 'type',\n 'vars',\n 'zip'\n ];\n\n const LITERALS = [\n '__debug__',\n 'Ellipsis',\n 'False',\n 'None',\n 'NotImplemented',\n 'True'\n ];\n\n // https://docs.python.org/3/library/typing.html\n // TODO: Could these be supplemented by a CamelCase matcher in certain\n // contexts, leaving these remaining only for relevance hinting?\n const TYPES = [\n \"Any\",\n \"Callable\",\n \"Coroutine\",\n \"Dict\",\n \"List\",\n \"Literal\",\n \"Generic\",\n \"Optional\",\n \"Sequence\",\n \"Set\",\n \"Tuple\",\n \"Type\",\n \"Union\"\n ];\n\n const KEYWORDS = {\n $pattern: /[A-Za-z]\\w+|__\\w+__/,\n keyword: RESERVED_WORDS,\n built_in: BUILT_INS,\n literal: LITERALS,\n type: TYPES\n };\n\n const PROMPT = {\n className: 'meta',\n begin: /^(>>>|\\.\\.\\.) /\n };\n\n const SUBST = {\n className: 'subst',\n begin: /\\{/,\n end: /\\}/,\n keywords: KEYWORDS,\n illegal: /#/\n };\n\n const LITERAL_BRACKET = {\n begin: /\\{\\{/,\n relevance: 0\n };\n\n const STRING = {\n className: 'string',\n contains: [ hljs.BACKSLASH_ESCAPE ],\n variants: [\n {\n begin: /([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,\n end: /'''/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n PROMPT\n ],\n relevance: 10\n },\n {\n begin: /([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?\"\"\"/,\n end: /\"\"\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n PROMPT\n ],\n relevance: 10\n },\n {\n begin: /([fF][rR]|[rR][fF]|[fF])'''/,\n end: /'''/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n PROMPT,\n LITERAL_BRACKET,\n SUBST\n ]\n },\n {\n begin: /([fF][rR]|[rR][fF]|[fF])\"\"\"/,\n end: /\"\"\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n PROMPT,\n LITERAL_BRACKET,\n SUBST\n ]\n },\n {\n begin: /([uU]|[rR])'/,\n end: /'/,\n relevance: 10\n },\n {\n begin: /([uU]|[rR])\"/,\n end: /\"/,\n relevance: 10\n },\n {\n begin: /([bB]|[bB][rR]|[rR][bB])'/,\n end: /'/\n },\n {\n begin: /([bB]|[bB][rR]|[rR][bB])\"/,\n end: /\"/\n },\n {\n begin: /([fF][rR]|[rR][fF]|[fF])'/,\n end: /'/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n LITERAL_BRACKET,\n SUBST\n ]\n },\n {\n begin: /([fF][rR]|[rR][fF]|[fF])\"/,\n end: /\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n LITERAL_BRACKET,\n SUBST\n ]\n },\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ]\n };\n\n // https://docs.python.org/3.9/reference/lexical_analysis.html#numeric-literals\n const digitpart = '[0-9](_?[0-9])*';\n const pointfloat = `(\\\\b(${digitpart}))?\\\\.(${digitpart})|\\\\b(${digitpart})\\\\.`;\n // Whitespace after a number (or any lexical token) is needed only if its absence\n // would change the tokenization\n // https://docs.python.org/3.9/reference/lexical_analysis.html#whitespace-between-tokens\n // We deviate slightly, requiring a word boundary or a keyword\n // to avoid accidentally recognizing *prefixes* (e.g., `0` in `0x41` or `08` or `0__1`)\n const lookahead = `\\\\b|${RESERVED_WORDS.join('|')}`;\n const NUMBER = {\n className: 'number',\n relevance: 0,\n variants: [\n // exponentfloat, pointfloat\n // https://docs.python.org/3.9/reference/lexical_analysis.html#floating-point-literals\n // optionally imaginary\n // https://docs.python.org/3.9/reference/lexical_analysis.html#imaginary-literals\n // Note: no leading \\b because floats can start with a decimal point\n // and we don't want to mishandle e.g. `fn(.5)`,\n // no trailing \\b for pointfloat because it can end with a decimal point\n // and we don't want to mishandle e.g. `0..hex()`; this should be safe\n // because both MUST contain a decimal point and so cannot be confused with\n // the interior part of an identifier\n {\n begin: `(\\\\b(${digitpart})|(${pointfloat}))[eE][+-]?(${digitpart})[jJ]?(?=${lookahead})`\n },\n {\n begin: `(${pointfloat})[jJ]?`\n },\n\n // decinteger, bininteger, octinteger, hexinteger\n // https://docs.python.org/3.9/reference/lexical_analysis.html#integer-literals\n // optionally \"long\" in Python 2\n // https://docs.python.org/2.7/reference/lexical_analysis.html#integer-and-long-integer-literals\n // decinteger is optionally imaginary\n // https://docs.python.org/3.9/reference/lexical_analysis.html#imaginary-literals\n {\n begin: `\\\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${lookahead})`\n },\n {\n begin: `\\\\b0[bB](_?[01])+[lL]?(?=${lookahead})`\n },\n {\n begin: `\\\\b0[oO](_?[0-7])+[lL]?(?=${lookahead})`\n },\n {\n begin: `\\\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${lookahead})`\n },\n\n // imagnumber (digitpart-based)\n // https://docs.python.org/3.9/reference/lexical_analysis.html#imaginary-literals\n {\n begin: `\\\\b(${digitpart})[jJ](?=${lookahead})`\n }\n ]\n };\n const COMMENT_TYPE = {\n className: \"comment\",\n begin: regex.lookahead(/# type:/),\n end: /$/,\n keywords: KEYWORDS,\n contains: [\n { // prevent keywords from coloring `type`\n begin: /# type:/\n },\n // comment within a datatype comment includes no keywords\n {\n begin: /#/,\n end: /\\b\\B/,\n endsWithParent: true\n }\n ]\n };\n const PARAMS = {\n className: 'params',\n variants: [\n // Exclude params in functions without params\n {\n className: \"\",\n begin: /\\(\\s*\\)/,\n skip: true\n },\n {\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n contains: [\n 'self',\n PROMPT,\n NUMBER,\n STRING,\n hljs.HASH_COMMENT_MODE\n ]\n }\n ]\n };\n SUBST.contains = [\n STRING,\n NUMBER,\n PROMPT\n ];\n\n return {\n name: 'Python',\n aliases: [\n 'py',\n 'gyp',\n 'ipython'\n ],\n unicodeRegex: true,\n keywords: KEYWORDS,\n illegal: /(<\\/|\\?)|=>/,\n contains: [\n PROMPT,\n NUMBER,\n {\n // very common convention\n scope: 'variable.language',\n match: /\\bself\\b/\n },\n {\n // eat \"if\" prior to string so that it won't accidentally be\n // labeled as an f-string\n beginKeywords: \"if\",\n relevance: 0\n },\n { match: /\\bor\\b/, scope: \"keyword\" },\n STRING,\n COMMENT_TYPE,\n hljs.HASH_COMMENT_MODE,\n {\n match: [\n /\\bdef/, /\\s+/,\n IDENT_RE,\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [ PARAMS ]\n },\n {\n variants: [\n {\n match: [\n /\\bclass/, /\\s+/,\n IDENT_RE, /\\s*/,\n /\\(\\s*/, IDENT_RE,/\\s*\\)/\n ],\n },\n {\n match: [\n /\\bclass/, /\\s+/,\n IDENT_RE\n ],\n }\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\",\n 6: \"title.class.inherited\",\n }\n },\n {\n className: 'meta',\n begin: /^[\\t ]*@/,\n end: /(?=#)|$/,\n contains: [\n NUMBER,\n PARAMS,\n STRING\n ]\n }\n ]\n };\n}\n\nexport { python as default };\n","/*\nLanguage: Python REPL\nRequires: python.js\nAuthor: Josh Goebel \nCategory: common\n*/\n\nfunction pythonRepl(hljs) {\n return {\n aliases: [ 'pycon' ],\n contains: [\n {\n className: 'meta.prompt',\n starts: {\n // a space separates the REPL prefix from the actual code\n // this is purely for cleaner HTML output\n end: / |$/,\n starts: {\n end: '$',\n subLanguage: 'python'\n }\n },\n variants: [\n { begin: /^>>>(?=[ ]|$)/ },\n { begin: /^\\.\\.\\.(?=[ ]|$)/ }\n ]\n }\n ]\n };\n}\n\nexport { pythonRepl as default };\n","/*\nLanguage: R\nDescription: R is a free software environment for statistical computing and graphics.\nAuthor: Joe Cheng \nContributors: Konrad Rudolph \nWebsite: https://www.r-project.org\nCategory: common,scientific\n*/\n\n/** @type LanguageFn */\nfunction r(hljs) {\n const regex = hljs.regex;\n // Identifiers in R cannot start with `_`, but they can start with `.` if it\n // is not immediately followed by a digit.\n // R also supports quoted identifiers, which are near-arbitrary sequences\n // delimited by backticks (`…`), which may contain escape sequences. These are\n // handled in a separate mode. See `test/markup/r/names.txt` for examples.\n // FIXME: Support Unicode identifiers.\n const IDENT_RE = /(?:(?:[a-zA-Z]|\\.[._a-zA-Z])[._a-zA-Z0-9]*)|\\.(?!\\d)/;\n const NUMBER_TYPES_RE = regex.either(\n // Special case: only hexadecimal binary powers can contain fractions\n /0[xX][0-9a-fA-F]+\\.[0-9a-fA-F]*[pP][+-]?\\d+i?/,\n // Hexadecimal numbers without fraction and optional binary power\n /0[xX][0-9a-fA-F]+(?:[pP][+-]?\\d+)?[Li]?/,\n // Decimal numbers\n /(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][+-]?\\d+)?[Li]?/\n );\n const OPERATORS_RE = /[=!<>:]=|\\|\\||&&|:::?|<-|<<-|->>|->|\\|>|[-+*\\/?!$&|:<=>@^~]|\\*\\*/;\n const PUNCTUATION_RE = regex.either(\n /[()]/,\n /[{}]/,\n /\\[\\[/,\n /[[\\]]/,\n /\\\\/,\n /,/\n );\n\n return {\n name: 'R',\n\n keywords: {\n $pattern: IDENT_RE,\n keyword:\n 'function if in break next repeat else for while',\n literal:\n 'NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 '\n + 'NA_character_|10 NA_complex_|10',\n built_in:\n // Builtin constants\n 'LETTERS letters month.abb month.name pi T F '\n // Primitive functions\n // These are all the functions in `base` that are implemented as a\n // `.Primitive`, minus those functions that are also keywords.\n + 'abs acos acosh all any anyNA Arg as.call as.character '\n + 'as.complex as.double as.environment as.integer as.logical '\n + 'as.null.default as.numeric as.raw asin asinh atan atanh attr '\n + 'attributes baseenv browser c call ceiling class Conj cos cosh '\n + 'cospi cummax cummin cumprod cumsum digamma dim dimnames '\n + 'emptyenv exp expression floor forceAndCall gamma gc.time '\n + 'globalenv Im interactive invisible is.array is.atomic is.call '\n + 'is.character is.complex is.double is.environment is.expression '\n + 'is.finite is.function is.infinite is.integer is.language '\n + 'is.list is.logical is.matrix is.na is.name is.nan is.null '\n + 'is.numeric is.object is.pairlist is.raw is.recursive is.single '\n + 'is.symbol lazyLoadDBfetch length lgamma list log max min '\n + 'missing Mod names nargs nzchar oldClass on.exit pos.to.env '\n + 'proc.time prod quote range Re rep retracemem return round '\n + 'seq_along seq_len seq.int sign signif sin sinh sinpi sqrt '\n + 'standardGeneric substitute sum switch tan tanh tanpi tracemem '\n + 'trigamma trunc unclass untracemem UseMethod xtfrm',\n },\n\n contains: [\n // Roxygen comments\n hljs.COMMENT(\n /#'/,\n /$/,\n { contains: [\n {\n // Handle `@examples` separately to cause all subsequent code\n // until the next `@`-tag on its own line to be kept as-is,\n // preventing highlighting. This code is example R code, so nested\n // doctags shouldn’t be treated as such. See\n // `test/markup/r/roxygen.txt` for an example.\n scope: 'doctag',\n match: /@examples/,\n starts: {\n end: regex.lookahead(regex.either(\n // end if another doc comment\n /\\n^#'\\s*(?=@[a-zA-Z]+)/,\n // or a line with no comment\n /\\n^(?!#')/\n )),\n endsParent: true\n }\n },\n {\n // Handle `@param` to highlight the parameter name following\n // after.\n scope: 'doctag',\n begin: '@param',\n end: /$/,\n contains: [\n {\n scope: 'variable',\n variants: [\n { match: IDENT_RE },\n { match: /`(?:\\\\.|[^`\\\\])+`/ }\n ],\n endsParent: true\n }\n ]\n },\n {\n scope: 'doctag',\n match: /@[a-zA-Z]+/\n },\n {\n scope: 'keyword',\n match: /\\\\[a-zA-Z]+/\n }\n ] }\n ),\n\n hljs.HASH_COMMENT_MODE,\n\n {\n scope: 'string',\n contains: [ hljs.BACKSLASH_ESCAPE ],\n variants: [\n hljs.END_SAME_AS_BEGIN({\n begin: /[rR]\"(-*)\\(/,\n end: /\\)(-*)\"/\n }),\n hljs.END_SAME_AS_BEGIN({\n begin: /[rR]\"(-*)\\{/,\n end: /\\}(-*)\"/\n }),\n hljs.END_SAME_AS_BEGIN({\n begin: /[rR]\"(-*)\\[/,\n end: /\\](-*)\"/\n }),\n hljs.END_SAME_AS_BEGIN({\n begin: /[rR]'(-*)\\(/,\n end: /\\)(-*)'/\n }),\n hljs.END_SAME_AS_BEGIN({\n begin: /[rR]'(-*)\\{/,\n end: /\\}(-*)'/\n }),\n hljs.END_SAME_AS_BEGIN({\n begin: /[rR]'(-*)\\[/,\n end: /\\](-*)'/\n }),\n {\n begin: '\"',\n end: '\"',\n relevance: 0\n },\n {\n begin: \"'\",\n end: \"'\",\n relevance: 0\n }\n ],\n },\n\n // Matching numbers immediately following punctuation and operators is\n // tricky since we need to look at the character ahead of a number to\n // ensure the number is not part of an identifier, and we cannot use\n // negative look-behind assertions. So instead we explicitly handle all\n // possible combinations of (operator|punctuation), number.\n // TODO: replace with negative look-behind when available\n // { begin: /(?\nContributors: Peter Leonov , Vasily Polovnyov , Loren Segal , Pascal Hurni , Cedric Sohrauer \nCategory: common, scripting\n*/\n\nfunction ruby(hljs) {\n const regex = hljs.regex;\n const RUBY_METHOD_RE = '([a-zA-Z_]\\\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\\\*\\\\*|[-/+%^&*~`|]|\\\\[\\\\]=?)';\n // TODO: move concepts like CAMEL_CASE into `modes.js`\n const CLASS_NAME_RE = regex.either(\n /\\b([A-Z]+[a-z0-9]+)+/,\n // ends in caps\n /\\b([A-Z]+[a-z0-9]+)+[A-Z]+/,\n )\n ;\n const CLASS_NAME_WITH_NAMESPACE_RE = regex.concat(CLASS_NAME_RE, /(::\\w+)*/);\n // very popular ruby built-ins that one might even assume\n // are actual keywords (despite that not being the case)\n const PSEUDO_KWS = [\n \"include\",\n \"extend\",\n \"prepend\",\n \"public\",\n \"private\",\n \"protected\",\n \"raise\",\n \"throw\"\n ];\n const RUBY_KEYWORDS = {\n \"variable.constant\": [\n \"__FILE__\",\n \"__LINE__\",\n \"__ENCODING__\"\n ],\n \"variable.language\": [\n \"self\",\n \"super\",\n ],\n keyword: [\n \"alias\",\n \"and\",\n \"begin\",\n \"BEGIN\",\n \"break\",\n \"case\",\n \"class\",\n \"defined\",\n \"do\",\n \"else\",\n \"elsif\",\n \"end\",\n \"END\",\n \"ensure\",\n \"for\",\n \"if\",\n \"in\",\n \"module\",\n \"next\",\n \"not\",\n \"or\",\n \"redo\",\n \"require\",\n \"rescue\",\n \"retry\",\n \"return\",\n \"then\",\n \"undef\",\n \"unless\",\n \"until\",\n \"when\",\n \"while\",\n \"yield\",\n ...PSEUDO_KWS\n ],\n built_in: [\n \"proc\",\n \"lambda\",\n \"attr_accessor\",\n \"attr_reader\",\n \"attr_writer\",\n \"define_method\",\n \"private_constant\",\n \"module_function\"\n ],\n literal: [\n \"true\",\n \"false\",\n \"nil\"\n ]\n };\n const YARDOCTAG = {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n };\n const IRB_OBJECT = {\n begin: '#<',\n end: '>'\n };\n const COMMENT_MODES = [\n hljs.COMMENT(\n '#',\n '$',\n { contains: [ YARDOCTAG ] }\n ),\n hljs.COMMENT(\n '^=begin',\n '^=end',\n {\n contains: [ YARDOCTAG ],\n relevance: 10\n }\n ),\n hljs.COMMENT('^__END__', hljs.MATCH_NOTHING_RE)\n ];\n const SUBST = {\n className: 'subst',\n begin: /#\\{/,\n end: /\\}/,\n keywords: RUBY_KEYWORDS\n };\n const STRING = {\n className: 'string',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n variants: [\n {\n begin: /'/,\n end: /'/\n },\n {\n begin: /\"/,\n end: /\"/\n },\n {\n begin: /`/,\n end: /`/\n },\n {\n begin: /%[qQwWx]?\\(/,\n end: /\\)/\n },\n {\n begin: /%[qQwWx]?\\[/,\n end: /\\]/\n },\n {\n begin: /%[qQwWx]?\\{/,\n end: /\\}/\n },\n {\n begin: /%[qQwWx]?/\n },\n {\n begin: /%[qQwWx]?\\//,\n end: /\\//\n },\n {\n begin: /%[qQwWx]?%/,\n end: /%/\n },\n {\n begin: /%[qQwWx]?-/,\n end: /-/\n },\n {\n begin: /%[qQwWx]?\\|/,\n end: /\\|/\n },\n // in the following expressions, \\B in the beginning suppresses recognition of ?-sequences\n // where ? is the last character of a preceding identifier, as in: `func?4`\n { begin: /\\B\\?(\\\\\\d{1,3})/ },\n { begin: /\\B\\?(\\\\x[A-Fa-f0-9]{1,2})/ },\n { begin: /\\B\\?(\\\\u\\{?[A-Fa-f0-9]{1,6}\\}?)/ },\n { begin: /\\B\\?(\\\\M-\\\\C-|\\\\M-\\\\c|\\\\c\\\\M-|\\\\M-|\\\\C-\\\\M-)[\\x20-\\x7e]/ },\n { begin: /\\B\\?\\\\(c|C-)[\\x20-\\x7e]/ },\n { begin: /\\B\\?\\\\?\\S/ },\n // heredocs\n {\n // this guard makes sure that we have an entire heredoc and not a false\n // positive (auto-detect, etc.)\n begin: regex.concat(\n /<<[-~]?'?/,\n regex.lookahead(/(\\w+)(?=\\W)[^\\n]*\\n(?:[^\\n]*\\n)*?\\s*\\1\\b/)\n ),\n contains: [\n hljs.END_SAME_AS_BEGIN({\n begin: /(\\w+)/,\n end: /(\\w+)/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n })\n ]\n }\n ]\n };\n\n // Ruby syntax is underdocumented, but this grammar seems to be accurate\n // as of version 2.7.2 (confirmed with (irb and `Ripper.sexp(...)`)\n // https://docs.ruby-lang.org/en/2.7.0/doc/syntax/literals_rdoc.html#label-Numbers\n const decimal = '[1-9](_?[0-9])*|0';\n const digits = '[0-9](_?[0-9])*';\n const NUMBER = {\n className: 'number',\n relevance: 0,\n variants: [\n // decimal integer/float, optionally exponential or rational, optionally imaginary\n { begin: `\\\\b(${decimal})(\\\\.(${digits}))?([eE][+-]?(${digits})|r)?i?\\\\b` },\n\n // explicit decimal/binary/octal/hexadecimal integer,\n // optionally rational and/or imaginary\n { begin: \"\\\\b0[dD][0-9](_?[0-9])*r?i?\\\\b\" },\n { begin: \"\\\\b0[bB][0-1](_?[0-1])*r?i?\\\\b\" },\n { begin: \"\\\\b0[oO][0-7](_?[0-7])*r?i?\\\\b\" },\n { begin: \"\\\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\\\b\" },\n\n // 0-prefixed implicit octal integer, optionally rational and/or imaginary\n { begin: \"\\\\b0(_?[0-7])+r?i?\\\\b\" }\n ]\n };\n\n const PARAMS = {\n variants: [\n {\n match: /\\(\\)/,\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /(?=\\))/,\n excludeBegin: true,\n endsParent: true,\n keywords: RUBY_KEYWORDS,\n }\n ]\n };\n\n const INCLUDE_EXTEND = {\n match: [\n /(include|extend)\\s+/,\n CLASS_NAME_WITH_NAMESPACE_RE\n ],\n scope: {\n 2: \"title.class\"\n },\n keywords: RUBY_KEYWORDS\n };\n\n const CLASS_DEFINITION = {\n variants: [\n {\n match: [\n /class\\s+/,\n CLASS_NAME_WITH_NAMESPACE_RE,\n /\\s+<\\s+/,\n CLASS_NAME_WITH_NAMESPACE_RE\n ]\n },\n {\n match: [\n /\\b(class|module)\\s+/,\n CLASS_NAME_WITH_NAMESPACE_RE\n ]\n }\n ],\n scope: {\n 2: \"title.class\",\n 4: \"title.class.inherited\"\n },\n keywords: RUBY_KEYWORDS\n };\n\n const UPPER_CASE_CONSTANT = {\n relevance: 0,\n match: /\\b[A-Z][A-Z_0-9]+\\b/,\n className: \"variable.constant\"\n };\n\n const METHOD_DEFINITION = {\n match: [\n /def/, /\\s+/,\n RUBY_METHOD_RE\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n PARAMS\n ]\n };\n\n const OBJECT_CREATION = {\n relevance: 0,\n match: [\n CLASS_NAME_WITH_NAMESPACE_RE,\n /\\.new[. (]/\n ],\n scope: {\n 1: \"title.class\"\n }\n };\n\n // CamelCase\n const CLASS_REFERENCE = {\n relevance: 0,\n match: CLASS_NAME_RE,\n scope: \"title.class\"\n };\n\n const RUBY_DEFAULT_CONTAINS = [\n STRING,\n CLASS_DEFINITION,\n INCLUDE_EXTEND,\n OBJECT_CREATION,\n UPPER_CASE_CONSTANT,\n CLASS_REFERENCE,\n METHOD_DEFINITION,\n {\n // swallow namespace qualifiers before symbols\n begin: hljs.IDENT_RE + '::' },\n {\n className: 'symbol',\n begin: hljs.UNDERSCORE_IDENT_RE + '(!|\\\\?)?:',\n relevance: 0\n },\n {\n className: 'symbol',\n begin: ':(?!\\\\s)',\n contains: [\n STRING,\n { begin: RUBY_METHOD_RE }\n ],\n relevance: 0\n },\n NUMBER,\n {\n // negative-look forward attempts to prevent false matches like:\n // @ident@ or $ident$ that might indicate this is not ruby at all\n className: \"variable\",\n begin: '(\\\\$\\\\W)|((\\\\$|@@?)(\\\\w+))(?=[^@$?])' + `(?![A-Za-z])(?![@$?'])`\n },\n {\n className: 'params',\n begin: /\\|(?!=)/,\n end: /\\|/,\n excludeBegin: true,\n excludeEnd: true,\n relevance: 0, // this could be a lot of things (in other languages) other than params\n keywords: RUBY_KEYWORDS\n },\n { // regexp container\n begin: '(' + hljs.RE_STARTERS_RE + '|unless)\\\\s*',\n keywords: 'unless',\n contains: [\n {\n className: 'regexp',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n illegal: /\\n/,\n variants: [\n {\n begin: '/',\n end: '/[a-z]*'\n },\n {\n begin: /%r\\{/,\n end: /\\}[a-z]*/\n },\n {\n begin: '%r\\\\(',\n end: '\\\\)[a-z]*'\n },\n {\n begin: '%r!',\n end: '![a-z]*'\n },\n {\n begin: '%r\\\\[',\n end: '\\\\][a-z]*'\n }\n ]\n }\n ].concat(IRB_OBJECT, COMMENT_MODES),\n relevance: 0\n }\n ].concat(IRB_OBJECT, COMMENT_MODES);\n\n SUBST.contains = RUBY_DEFAULT_CONTAINS;\n PARAMS.contains = RUBY_DEFAULT_CONTAINS;\n\n // >>\n // ?>\n const SIMPLE_PROMPT = \"[>?]>\";\n // irb(main):001:0>\n const DEFAULT_PROMPT = \"[\\\\w#]+\\\\(\\\\w+\\\\):\\\\d+:\\\\d+[>*]\";\n const RVM_PROMPT = \"(\\\\w+-)?\\\\d+\\\\.\\\\d+\\\\.\\\\d+(p\\\\d+)?[^\\\\d][^>]+>\";\n\n const IRB_DEFAULT = [\n {\n begin: /^\\s*=>/,\n starts: {\n end: '$',\n contains: RUBY_DEFAULT_CONTAINS\n }\n },\n {\n className: 'meta.prompt',\n begin: '^(' + SIMPLE_PROMPT + \"|\" + DEFAULT_PROMPT + '|' + RVM_PROMPT + ')(?=[ ])',\n starts: {\n end: '$',\n keywords: RUBY_KEYWORDS,\n contains: RUBY_DEFAULT_CONTAINS\n }\n }\n ];\n\n COMMENT_MODES.unshift(IRB_OBJECT);\n\n return {\n name: 'Ruby',\n aliases: [\n 'rb',\n 'gemspec',\n 'podspec',\n 'thor',\n 'irb'\n ],\n keywords: RUBY_KEYWORDS,\n illegal: /\\/\\*/,\n contains: [ hljs.SHEBANG({ binary: \"ruby\" }) ]\n .concat(IRB_DEFAULT)\n .concat(COMMENT_MODES)\n .concat(RUBY_DEFAULT_CONTAINS)\n };\n}\n\nexport { ruby as default };\n","/*\nLanguage: Rust\nAuthor: Andrey Vlasovskikh \nContributors: Roman Shmatov , Kasper Andersen \nWebsite: https://www.rust-lang.org\nCategory: common, system\n*/\n\n/** @type LanguageFn */\n\nfunction rust(hljs) {\n const regex = hljs.regex;\n // ============================================\n // Added to support the r# keyword, which is a raw identifier in Rust.\n const RAW_IDENTIFIER = /(r#)?/;\n const UNDERSCORE_IDENT_RE = regex.concat(RAW_IDENTIFIER, hljs.UNDERSCORE_IDENT_RE);\n const IDENT_RE = regex.concat(RAW_IDENTIFIER, hljs.IDENT_RE);\n // ============================================\n const FUNCTION_INVOKE = {\n className: \"title.function.invoke\",\n relevance: 0,\n begin: regex.concat(\n /\\b/,\n /(?!let|for|while|if|else|match\\b)/,\n IDENT_RE,\n regex.lookahead(/\\s*\\(/))\n };\n const NUMBER_SUFFIX = '([ui](8|16|32|64|128|size)|f(32|64))\\?';\n const KEYWORDS = [\n \"abstract\",\n \"as\",\n \"async\",\n \"await\",\n \"become\",\n \"box\",\n \"break\",\n \"const\",\n \"continue\",\n \"crate\",\n \"do\",\n \"dyn\",\n \"else\",\n \"enum\",\n \"extern\",\n \"false\",\n \"final\",\n \"fn\",\n \"for\",\n \"if\",\n \"impl\",\n \"in\",\n \"let\",\n \"loop\",\n \"macro\",\n \"match\",\n \"mod\",\n \"move\",\n \"mut\",\n \"override\",\n \"priv\",\n \"pub\",\n \"ref\",\n \"return\",\n \"self\",\n \"Self\",\n \"static\",\n \"struct\",\n \"super\",\n \"trait\",\n \"true\",\n \"try\",\n \"type\",\n \"typeof\",\n \"union\",\n \"unsafe\",\n \"unsized\",\n \"use\",\n \"virtual\",\n \"where\",\n \"while\",\n \"yield\"\n ];\n const LITERALS = [\n \"true\",\n \"false\",\n \"Some\",\n \"None\",\n \"Ok\",\n \"Err\"\n ];\n const BUILTINS = [\n // functions\n 'drop ',\n // traits\n \"Copy\",\n \"Send\",\n \"Sized\",\n \"Sync\",\n \"Drop\",\n \"Fn\",\n \"FnMut\",\n \"FnOnce\",\n \"ToOwned\",\n \"Clone\",\n \"Debug\",\n \"PartialEq\",\n \"PartialOrd\",\n \"Eq\",\n \"Ord\",\n \"AsRef\",\n \"AsMut\",\n \"Into\",\n \"From\",\n \"Default\",\n \"Iterator\",\n \"Extend\",\n \"IntoIterator\",\n \"DoubleEndedIterator\",\n \"ExactSizeIterator\",\n \"SliceConcatExt\",\n \"ToString\",\n // macros\n \"assert!\",\n \"assert_eq!\",\n \"bitflags!\",\n \"bytes!\",\n \"cfg!\",\n \"col!\",\n \"concat!\",\n \"concat_idents!\",\n \"debug_assert!\",\n \"debug_assert_eq!\",\n \"env!\",\n \"eprintln!\",\n \"panic!\",\n \"file!\",\n \"format!\",\n \"format_args!\",\n \"include_bytes!\",\n \"include_str!\",\n \"line!\",\n \"local_data_key!\",\n \"module_path!\",\n \"option_env!\",\n \"print!\",\n \"println!\",\n \"select!\",\n \"stringify!\",\n \"try!\",\n \"unimplemented!\",\n \"unreachable!\",\n \"vec!\",\n \"write!\",\n \"writeln!\",\n \"macro_rules!\",\n \"assert_ne!\",\n \"debug_assert_ne!\"\n ];\n const TYPES = [\n \"i8\",\n \"i16\",\n \"i32\",\n \"i64\",\n \"i128\",\n \"isize\",\n \"u8\",\n \"u16\",\n \"u32\",\n \"u64\",\n \"u128\",\n \"usize\",\n \"f32\",\n \"f64\",\n \"str\",\n \"char\",\n \"bool\",\n \"Box\",\n \"Option\",\n \"Result\",\n \"String\",\n \"Vec\"\n ];\n return {\n name: 'Rust',\n aliases: [ 'rs' ],\n keywords: {\n $pattern: hljs.IDENT_RE + '!?',\n type: TYPES,\n keyword: KEYWORDS,\n literal: LITERALS,\n built_in: BUILTINS\n },\n illegal: ''\n },\n FUNCTION_INVOKE\n ]\n };\n}\n\nexport { rust as default };\n","const MODES = (hljs) => {\n return {\n IMPORTANT: {\n scope: 'meta',\n begin: '!important'\n },\n BLOCK_COMMENT: hljs.C_BLOCK_COMMENT_MODE,\n HEXCOLOR: {\n scope: 'number',\n begin: /#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\\b/\n },\n FUNCTION_DISPATCH: {\n className: \"built_in\",\n begin: /[\\w-]+(?=\\()/\n },\n ATTRIBUTE_SELECTOR_MODE: {\n scope: 'selector-attr',\n begin: /\\[/,\n end: /\\]/,\n illegal: '$',\n contains: [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ]\n },\n CSS_NUMBER_MODE: {\n scope: 'number',\n begin: hljs.NUMBER_RE + '(' +\n '%|em|ex|ch|rem' +\n '|vw|vh|vmin|vmax' +\n '|cm|mm|in|pt|pc|px' +\n '|deg|grad|rad|turn' +\n '|s|ms' +\n '|Hz|kHz' +\n '|dpi|dpcm|dppx' +\n ')?',\n relevance: 0\n },\n CSS_VARIABLE: {\n className: \"attr\",\n begin: /--[A-Za-z_][A-Za-z0-9_-]*/\n }\n };\n};\n\nconst HTML_TAGS = [\n 'a',\n 'abbr',\n 'address',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'blockquote',\n 'body',\n 'button',\n 'canvas',\n 'caption',\n 'cite',\n 'code',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'header',\n 'hgroup',\n 'html',\n 'i',\n 'iframe',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'main',\n 'mark',\n 'menu',\n 'nav',\n 'object',\n 'ol',\n 'optgroup',\n 'option',\n 'p',\n 'picture',\n 'q',\n 'quote',\n 'samp',\n 'section',\n 'select',\n 'source',\n 'span',\n 'strong',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'ul',\n 'var',\n 'video'\n];\n\nconst SVG_TAGS = [\n 'defs',\n 'g',\n 'marker',\n 'mask',\n 'pattern',\n 'svg',\n 'switch',\n 'symbol',\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feFlood',\n 'feGaussianBlur',\n 'feImage',\n 'feMerge',\n 'feMorphology',\n 'feOffset',\n 'feSpecularLighting',\n 'feTile',\n 'feTurbulence',\n 'linearGradient',\n 'radialGradient',\n 'stop',\n 'circle',\n 'ellipse',\n 'image',\n 'line',\n 'path',\n 'polygon',\n 'polyline',\n 'rect',\n 'text',\n 'use',\n 'textPath',\n 'tspan',\n 'foreignObject',\n 'clipPath'\n];\n\nconst TAGS = [\n ...HTML_TAGS,\n ...SVG_TAGS,\n];\n\n// Sorting, then reversing makes sure longer attributes/elements like\n// `font-weight` are matched fully instead of getting false positives on say `font`\n\nconst MEDIA_FEATURES = [\n 'any-hover',\n 'any-pointer',\n 'aspect-ratio',\n 'color',\n 'color-gamut',\n 'color-index',\n 'device-aspect-ratio',\n 'device-height',\n 'device-width',\n 'display-mode',\n 'forced-colors',\n 'grid',\n 'height',\n 'hover',\n 'inverted-colors',\n 'monochrome',\n 'orientation',\n 'overflow-block',\n 'overflow-inline',\n 'pointer',\n 'prefers-color-scheme',\n 'prefers-contrast',\n 'prefers-reduced-motion',\n 'prefers-reduced-transparency',\n 'resolution',\n 'scan',\n 'scripting',\n 'update',\n 'width',\n // TODO: find a better solution?\n 'min-width',\n 'max-width',\n 'min-height',\n 'max-height'\n].sort().reverse();\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-classes\nconst PSEUDO_CLASSES = [\n 'active',\n 'any-link',\n 'blank',\n 'checked',\n 'current',\n 'default',\n 'defined',\n 'dir', // dir()\n 'disabled',\n 'drop',\n 'empty',\n 'enabled',\n 'first',\n 'first-child',\n 'first-of-type',\n 'fullscreen',\n 'future',\n 'focus',\n 'focus-visible',\n 'focus-within',\n 'has', // has()\n 'host', // host or host()\n 'host-context', // host-context()\n 'hover',\n 'indeterminate',\n 'in-range',\n 'invalid',\n 'is', // is()\n 'lang', // lang()\n 'last-child',\n 'last-of-type',\n 'left',\n 'link',\n 'local-link',\n 'not', // not()\n 'nth-child', // nth-child()\n 'nth-col', // nth-col()\n 'nth-last-child', // nth-last-child()\n 'nth-last-col', // nth-last-col()\n 'nth-last-of-type', //nth-last-of-type()\n 'nth-of-type', //nth-of-type()\n 'only-child',\n 'only-of-type',\n 'optional',\n 'out-of-range',\n 'past',\n 'placeholder-shown',\n 'read-only',\n 'read-write',\n 'required',\n 'right',\n 'root',\n 'scope',\n 'target',\n 'target-within',\n 'user-invalid',\n 'valid',\n 'visited',\n 'where' // where()\n].sort().reverse();\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-elements\nconst PSEUDO_ELEMENTS = [\n 'after',\n 'backdrop',\n 'before',\n 'cue',\n 'cue-region',\n 'first-letter',\n 'first-line',\n 'grammar-error',\n 'marker',\n 'part',\n 'placeholder',\n 'selection',\n 'slotted',\n 'spelling-error'\n].sort().reverse();\n\nconst ATTRIBUTES = [\n 'accent-color',\n 'align-content',\n 'align-items',\n 'align-self',\n 'alignment-baseline',\n 'all',\n 'anchor-name',\n 'animation',\n 'animation-composition',\n 'animation-delay',\n 'animation-direction',\n 'animation-duration',\n 'animation-fill-mode',\n 'animation-iteration-count',\n 'animation-name',\n 'animation-play-state',\n 'animation-range',\n 'animation-range-end',\n 'animation-range-start',\n 'animation-timeline',\n 'animation-timing-function',\n 'appearance',\n 'aspect-ratio',\n 'backdrop-filter',\n 'backface-visibility',\n 'background',\n 'background-attachment',\n 'background-blend-mode',\n 'background-clip',\n 'background-color',\n 'background-image',\n 'background-origin',\n 'background-position',\n 'background-position-x',\n 'background-position-y',\n 'background-repeat',\n 'background-size',\n 'baseline-shift',\n 'block-size',\n 'border',\n 'border-block',\n 'border-block-color',\n 'border-block-end',\n 'border-block-end-color',\n 'border-block-end-style',\n 'border-block-end-width',\n 'border-block-start',\n 'border-block-start-color',\n 'border-block-start-style',\n 'border-block-start-width',\n 'border-block-style',\n 'border-block-width',\n 'border-bottom',\n 'border-bottom-color',\n 'border-bottom-left-radius',\n 'border-bottom-right-radius',\n 'border-bottom-style',\n 'border-bottom-width',\n 'border-collapse',\n 'border-color',\n 'border-end-end-radius',\n 'border-end-start-radius',\n 'border-image',\n 'border-image-outset',\n 'border-image-repeat',\n 'border-image-slice',\n 'border-image-source',\n 'border-image-width',\n 'border-inline',\n 'border-inline-color',\n 'border-inline-end',\n 'border-inline-end-color',\n 'border-inline-end-style',\n 'border-inline-end-width',\n 'border-inline-start',\n 'border-inline-start-color',\n 'border-inline-start-style',\n 'border-inline-start-width',\n 'border-inline-style',\n 'border-inline-width',\n 'border-left',\n 'border-left-color',\n 'border-left-style',\n 'border-left-width',\n 'border-radius',\n 'border-right',\n 'border-right-color',\n 'border-right-style',\n 'border-right-width',\n 'border-spacing',\n 'border-start-end-radius',\n 'border-start-start-radius',\n 'border-style',\n 'border-top',\n 'border-top-color',\n 'border-top-left-radius',\n 'border-top-right-radius',\n 'border-top-style',\n 'border-top-width',\n 'border-width',\n 'bottom',\n 'box-align',\n 'box-decoration-break',\n 'box-direction',\n 'box-flex',\n 'box-flex-group',\n 'box-lines',\n 'box-ordinal-group',\n 'box-orient',\n 'box-pack',\n 'box-shadow',\n 'box-sizing',\n 'break-after',\n 'break-before',\n 'break-inside',\n 'caption-side',\n 'caret-color',\n 'clear',\n 'clip',\n 'clip-path',\n 'clip-rule',\n 'color',\n 'color-interpolation',\n 'color-interpolation-filters',\n 'color-profile',\n 'color-rendering',\n 'color-scheme',\n 'column-count',\n 'column-fill',\n 'column-gap',\n 'column-rule',\n 'column-rule-color',\n 'column-rule-style',\n 'column-rule-width',\n 'column-span',\n 'column-width',\n 'columns',\n 'contain',\n 'contain-intrinsic-block-size',\n 'contain-intrinsic-height',\n 'contain-intrinsic-inline-size',\n 'contain-intrinsic-size',\n 'contain-intrinsic-width',\n 'container',\n 'container-name',\n 'container-type',\n 'content',\n 'content-visibility',\n 'counter-increment',\n 'counter-reset',\n 'counter-set',\n 'cue',\n 'cue-after',\n 'cue-before',\n 'cursor',\n 'cx',\n 'cy',\n 'direction',\n 'display',\n 'dominant-baseline',\n 'empty-cells',\n 'enable-background',\n 'field-sizing',\n 'fill',\n 'fill-opacity',\n 'fill-rule',\n 'filter',\n 'flex',\n 'flex-basis',\n 'flex-direction',\n 'flex-flow',\n 'flex-grow',\n 'flex-shrink',\n 'flex-wrap',\n 'float',\n 'flood-color',\n 'flood-opacity',\n 'flow',\n 'font',\n 'font-display',\n 'font-family',\n 'font-feature-settings',\n 'font-kerning',\n 'font-language-override',\n 'font-optical-sizing',\n 'font-palette',\n 'font-size',\n 'font-size-adjust',\n 'font-smooth',\n 'font-smoothing',\n 'font-stretch',\n 'font-style',\n 'font-synthesis',\n 'font-synthesis-position',\n 'font-synthesis-small-caps',\n 'font-synthesis-style',\n 'font-synthesis-weight',\n 'font-variant',\n 'font-variant-alternates',\n 'font-variant-caps',\n 'font-variant-east-asian',\n 'font-variant-emoji',\n 'font-variant-ligatures',\n 'font-variant-numeric',\n 'font-variant-position',\n 'font-variation-settings',\n 'font-weight',\n 'forced-color-adjust',\n 'gap',\n 'glyph-orientation-horizontal',\n 'glyph-orientation-vertical',\n 'grid',\n 'grid-area',\n 'grid-auto-columns',\n 'grid-auto-flow',\n 'grid-auto-rows',\n 'grid-column',\n 'grid-column-end',\n 'grid-column-start',\n 'grid-gap',\n 'grid-row',\n 'grid-row-end',\n 'grid-row-start',\n 'grid-template',\n 'grid-template-areas',\n 'grid-template-columns',\n 'grid-template-rows',\n 'hanging-punctuation',\n 'height',\n 'hyphenate-character',\n 'hyphenate-limit-chars',\n 'hyphens',\n 'icon',\n 'image-orientation',\n 'image-rendering',\n 'image-resolution',\n 'ime-mode',\n 'initial-letter',\n 'initial-letter-align',\n 'inline-size',\n 'inset',\n 'inset-area',\n 'inset-block',\n 'inset-block-end',\n 'inset-block-start',\n 'inset-inline',\n 'inset-inline-end',\n 'inset-inline-start',\n 'isolation',\n 'justify-content',\n 'justify-items',\n 'justify-self',\n 'kerning',\n 'left',\n 'letter-spacing',\n 'lighting-color',\n 'line-break',\n 'line-height',\n 'line-height-step',\n 'list-style',\n 'list-style-image',\n 'list-style-position',\n 'list-style-type',\n 'margin',\n 'margin-block',\n 'margin-block-end',\n 'margin-block-start',\n 'margin-bottom',\n 'margin-inline',\n 'margin-inline-end',\n 'margin-inline-start',\n 'margin-left',\n 'margin-right',\n 'margin-top',\n 'margin-trim',\n 'marker',\n 'marker-end',\n 'marker-mid',\n 'marker-start',\n 'marks',\n 'mask',\n 'mask-border',\n 'mask-border-mode',\n 'mask-border-outset',\n 'mask-border-repeat',\n 'mask-border-slice',\n 'mask-border-source',\n 'mask-border-width',\n 'mask-clip',\n 'mask-composite',\n 'mask-image',\n 'mask-mode',\n 'mask-origin',\n 'mask-position',\n 'mask-repeat',\n 'mask-size',\n 'mask-type',\n 'masonry-auto-flow',\n 'math-depth',\n 'math-shift',\n 'math-style',\n 'max-block-size',\n 'max-height',\n 'max-inline-size',\n 'max-width',\n 'min-block-size',\n 'min-height',\n 'min-inline-size',\n 'min-width',\n 'mix-blend-mode',\n 'nav-down',\n 'nav-index',\n 'nav-left',\n 'nav-right',\n 'nav-up',\n 'none',\n 'normal',\n 'object-fit',\n 'object-position',\n 'offset',\n 'offset-anchor',\n 'offset-distance',\n 'offset-path',\n 'offset-position',\n 'offset-rotate',\n 'opacity',\n 'order',\n 'orphans',\n 'outline',\n 'outline-color',\n 'outline-offset',\n 'outline-style',\n 'outline-width',\n 'overflow',\n 'overflow-anchor',\n 'overflow-block',\n 'overflow-clip-margin',\n 'overflow-inline',\n 'overflow-wrap',\n 'overflow-x',\n 'overflow-y',\n 'overlay',\n 'overscroll-behavior',\n 'overscroll-behavior-block',\n 'overscroll-behavior-inline',\n 'overscroll-behavior-x',\n 'overscroll-behavior-y',\n 'padding',\n 'padding-block',\n 'padding-block-end',\n 'padding-block-start',\n 'padding-bottom',\n 'padding-inline',\n 'padding-inline-end',\n 'padding-inline-start',\n 'padding-left',\n 'padding-right',\n 'padding-top',\n 'page',\n 'page-break-after',\n 'page-break-before',\n 'page-break-inside',\n 'paint-order',\n 'pause',\n 'pause-after',\n 'pause-before',\n 'perspective',\n 'perspective-origin',\n 'place-content',\n 'place-items',\n 'place-self',\n 'pointer-events',\n 'position',\n 'position-anchor',\n 'position-visibility',\n 'print-color-adjust',\n 'quotes',\n 'r',\n 'resize',\n 'rest',\n 'rest-after',\n 'rest-before',\n 'right',\n 'rotate',\n 'row-gap',\n 'ruby-align',\n 'ruby-position',\n 'scale',\n 'scroll-behavior',\n 'scroll-margin',\n 'scroll-margin-block',\n 'scroll-margin-block-end',\n 'scroll-margin-block-start',\n 'scroll-margin-bottom',\n 'scroll-margin-inline',\n 'scroll-margin-inline-end',\n 'scroll-margin-inline-start',\n 'scroll-margin-left',\n 'scroll-margin-right',\n 'scroll-margin-top',\n 'scroll-padding',\n 'scroll-padding-block',\n 'scroll-padding-block-end',\n 'scroll-padding-block-start',\n 'scroll-padding-bottom',\n 'scroll-padding-inline',\n 'scroll-padding-inline-end',\n 'scroll-padding-inline-start',\n 'scroll-padding-left',\n 'scroll-padding-right',\n 'scroll-padding-top',\n 'scroll-snap-align',\n 'scroll-snap-stop',\n 'scroll-snap-type',\n 'scroll-timeline',\n 'scroll-timeline-axis',\n 'scroll-timeline-name',\n 'scrollbar-color',\n 'scrollbar-gutter',\n 'scrollbar-width',\n 'shape-image-threshold',\n 'shape-margin',\n 'shape-outside',\n 'shape-rendering',\n 'speak',\n 'speak-as',\n 'src', // @font-face\n 'stop-color',\n 'stop-opacity',\n 'stroke',\n 'stroke-dasharray',\n 'stroke-dashoffset',\n 'stroke-linecap',\n 'stroke-linejoin',\n 'stroke-miterlimit',\n 'stroke-opacity',\n 'stroke-width',\n 'tab-size',\n 'table-layout',\n 'text-align',\n 'text-align-all',\n 'text-align-last',\n 'text-anchor',\n 'text-combine-upright',\n 'text-decoration',\n 'text-decoration-color',\n 'text-decoration-line',\n 'text-decoration-skip',\n 'text-decoration-skip-ink',\n 'text-decoration-style',\n 'text-decoration-thickness',\n 'text-emphasis',\n 'text-emphasis-color',\n 'text-emphasis-position',\n 'text-emphasis-style',\n 'text-indent',\n 'text-justify',\n 'text-orientation',\n 'text-overflow',\n 'text-rendering',\n 'text-shadow',\n 'text-size-adjust',\n 'text-transform',\n 'text-underline-offset',\n 'text-underline-position',\n 'text-wrap',\n 'text-wrap-mode',\n 'text-wrap-style',\n 'timeline-scope',\n 'top',\n 'touch-action',\n 'transform',\n 'transform-box',\n 'transform-origin',\n 'transform-style',\n 'transition',\n 'transition-behavior',\n 'transition-delay',\n 'transition-duration',\n 'transition-property',\n 'transition-timing-function',\n 'translate',\n 'unicode-bidi',\n 'user-modify',\n 'user-select',\n 'vector-effect',\n 'vertical-align',\n 'view-timeline',\n 'view-timeline-axis',\n 'view-timeline-inset',\n 'view-timeline-name',\n 'view-transition-name',\n 'visibility',\n 'voice-balance',\n 'voice-duration',\n 'voice-family',\n 'voice-pitch',\n 'voice-range',\n 'voice-rate',\n 'voice-stress',\n 'voice-volume',\n 'white-space',\n 'white-space-collapse',\n 'widows',\n 'width',\n 'will-change',\n 'word-break',\n 'word-spacing',\n 'word-wrap',\n 'writing-mode',\n 'x',\n 'y',\n 'z-index',\n 'zoom'\n].sort().reverse();\n\n/*\nLanguage: SCSS\nDescription: Scss is an extension of the syntax of CSS.\nAuthor: Kurt Emch \nWebsite: https://sass-lang.com\nCategory: common, css, web\n*/\n\n\n/** @type LanguageFn */\nfunction scss(hljs) {\n const modes = MODES(hljs);\n const PSEUDO_ELEMENTS$1 = PSEUDO_ELEMENTS;\n const PSEUDO_CLASSES$1 = PSEUDO_CLASSES;\n\n const AT_IDENTIFIER = '@[a-z-]+'; // @font-face\n const AT_MODIFIERS = \"and or not only\";\n const IDENT_RE = '[a-zA-Z-][a-zA-Z0-9_-]*';\n const VARIABLE = {\n className: 'variable',\n begin: '(\\\\$' + IDENT_RE + ')\\\\b',\n relevance: 0\n };\n\n return {\n name: 'SCSS',\n case_insensitive: true,\n illegal: '[=/|\\']',\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n // to recognize keyframe 40% etc which are outside the scope of our\n // attribute value mode\n modes.CSS_NUMBER_MODE,\n {\n className: 'selector-id',\n begin: '#[A-Za-z0-9_-]+',\n relevance: 0\n },\n {\n className: 'selector-class',\n begin: '\\\\.[A-Za-z0-9_-]+',\n relevance: 0\n },\n modes.ATTRIBUTE_SELECTOR_MODE,\n {\n className: 'selector-tag',\n begin: '\\\\b(' + TAGS.join('|') + ')\\\\b',\n // was there, before, but why?\n relevance: 0\n },\n {\n className: 'selector-pseudo',\n begin: ':(' + PSEUDO_CLASSES$1.join('|') + ')'\n },\n {\n className: 'selector-pseudo',\n begin: ':(:)?(' + PSEUDO_ELEMENTS$1.join('|') + ')'\n },\n VARIABLE,\n { // pseudo-selector params\n begin: /\\(/,\n end: /\\)/,\n contains: [ modes.CSS_NUMBER_MODE ]\n },\n modes.CSS_VARIABLE,\n {\n className: 'attribute',\n begin: '\\\\b(' + ATTRIBUTES.join('|') + ')\\\\b'\n },\n { begin: '\\\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\\\b' },\n {\n begin: /:/,\n end: /[;}{]/,\n relevance: 0,\n contains: [\n modes.BLOCK_COMMENT,\n VARIABLE,\n modes.HEXCOLOR,\n modes.CSS_NUMBER_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.APOS_STRING_MODE,\n modes.IMPORTANT,\n modes.FUNCTION_DISPATCH\n ]\n },\n // matching these here allows us to treat them more like regular CSS\n // rules so everything between the {} gets regular rule highlighting,\n // which is what we want for page and font-face\n {\n begin: '@(page|font-face)',\n keywords: {\n $pattern: AT_IDENTIFIER,\n keyword: '@page @font-face'\n }\n },\n {\n begin: '@',\n end: '[{;]',\n returnBegin: true,\n keywords: {\n $pattern: /[a-z-]+/,\n keyword: AT_MODIFIERS,\n attribute: MEDIA_FEATURES.join(\" \")\n },\n contains: [\n {\n begin: AT_IDENTIFIER,\n className: \"keyword\"\n },\n {\n begin: /[a-z-]+(?=:)/,\n className: \"attribute\"\n },\n VARIABLE,\n hljs.QUOTE_STRING_MODE,\n hljs.APOS_STRING_MODE,\n modes.HEXCOLOR,\n modes.CSS_NUMBER_MODE\n ]\n },\n modes.FUNCTION_DISPATCH\n ]\n };\n}\n\nexport { scss as default };\n","/*\nLanguage: Shell Session\nRequires: bash.js\nAuthor: TSUYUSATO Kitsune \nCategory: common\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction shell(hljs) {\n return {\n name: 'Shell Session',\n aliases: [\n 'console',\n 'shellsession'\n ],\n contains: [\n {\n className: 'meta.prompt',\n // We cannot add \\s (spaces) in the regular expression otherwise it will be too broad and produce unexpected result.\n // For instance, in the following example, it would match \"echo /path/to/home >\" as a prompt:\n // echo /path/to/home > t.exe\n begin: /^\\s{0,3}[/~\\w\\d[\\]()@-]*[>%$#][ ]?/,\n starts: {\n end: /[^\\\\](?=\\s*$)/,\n subLanguage: 'bash'\n }\n }\n ]\n };\n}\n\nexport { shell as default };\n","/*\n Language: SQL\n Website: https://en.wikipedia.org/wiki/SQL\n Category: common, database\n */\n\n/*\n\nGoals:\n\nSQL is intended to highlight basic/common SQL keywords and expressions\n\n- If pretty much every single SQL server includes supports, then it's a canidate.\n- It is NOT intended to include tons of vendor specific keywords (Oracle, MySQL,\n PostgreSQL) although the list of data types is purposely a bit more expansive.\n- For more specific SQL grammars please see:\n - PostgreSQL and PL/pgSQL - core\n - T-SQL - https://github.com/highlightjs/highlightjs-tsql\n - sql_more (core)\n\n */\n\nfunction sql(hljs) {\n const regex = hljs.regex;\n const COMMENT_MODE = hljs.COMMENT('--', '$');\n const STRING = {\n scope: 'string',\n variants: [\n {\n begin: /'/,\n end: /'/,\n contains: [ { match: /''/ } ]\n }\n ]\n };\n const QUOTED_IDENTIFIER = {\n begin: /\"/,\n end: /\"/,\n contains: [ { match: /\"\"/ } ]\n };\n\n const LITERALS = [\n \"true\",\n \"false\",\n // Not sure it's correct to call NULL literal, and clauses like IS [NOT] NULL look strange that way.\n // \"null\",\n \"unknown\"\n ];\n\n const MULTI_WORD_TYPES = [\n \"double precision\",\n \"large object\",\n \"with timezone\",\n \"without timezone\"\n ];\n\n const TYPES = [\n 'bigint',\n 'binary',\n 'blob',\n 'boolean',\n 'char',\n 'character',\n 'clob',\n 'date',\n 'dec',\n 'decfloat',\n 'decimal',\n 'float',\n 'int',\n 'integer',\n 'interval',\n 'nchar',\n 'nclob',\n 'national',\n 'numeric',\n 'real',\n 'row',\n 'smallint',\n 'time',\n 'timestamp',\n 'varchar',\n 'varying', // modifier (character varying)\n 'varbinary'\n ];\n\n const NON_RESERVED_WORDS = [\n \"add\",\n \"asc\",\n \"collation\",\n \"desc\",\n \"final\",\n \"first\",\n \"last\",\n \"view\"\n ];\n\n // https://jakewheat.github.io/sql-overview/sql-2016-foundation-grammar.html#reserved-word\n const RESERVED_WORDS = [\n \"abs\",\n \"acos\",\n \"all\",\n \"allocate\",\n \"alter\",\n \"and\",\n \"any\",\n \"are\",\n \"array\",\n \"array_agg\",\n \"array_max_cardinality\",\n \"as\",\n \"asensitive\",\n \"asin\",\n \"asymmetric\",\n \"at\",\n \"atan\",\n \"atomic\",\n \"authorization\",\n \"avg\",\n \"begin\",\n \"begin_frame\",\n \"begin_partition\",\n \"between\",\n \"bigint\",\n \"binary\",\n \"blob\",\n \"boolean\",\n \"both\",\n \"by\",\n \"call\",\n \"called\",\n \"cardinality\",\n \"cascaded\",\n \"case\",\n \"cast\",\n \"ceil\",\n \"ceiling\",\n \"char\",\n \"char_length\",\n \"character\",\n \"character_length\",\n \"check\",\n \"classifier\",\n \"clob\",\n \"close\",\n \"coalesce\",\n \"collate\",\n \"collect\",\n \"column\",\n \"commit\",\n \"condition\",\n \"connect\",\n \"constraint\",\n \"contains\",\n \"convert\",\n \"copy\",\n \"corr\",\n \"corresponding\",\n \"cos\",\n \"cosh\",\n \"count\",\n \"covar_pop\",\n \"covar_samp\",\n \"create\",\n \"cross\",\n \"cube\",\n \"cume_dist\",\n \"current\",\n \"current_catalog\",\n \"current_date\",\n \"current_default_transform_group\",\n \"current_path\",\n \"current_role\",\n \"current_row\",\n \"current_schema\",\n \"current_time\",\n \"current_timestamp\",\n \"current_path\",\n \"current_role\",\n \"current_transform_group_for_type\",\n \"current_user\",\n \"cursor\",\n \"cycle\",\n \"date\",\n \"day\",\n \"deallocate\",\n \"dec\",\n \"decimal\",\n \"decfloat\",\n \"declare\",\n \"default\",\n \"define\",\n \"delete\",\n \"dense_rank\",\n \"deref\",\n \"describe\",\n \"deterministic\",\n \"disconnect\",\n \"distinct\",\n \"double\",\n \"drop\",\n \"dynamic\",\n \"each\",\n \"element\",\n \"else\",\n \"empty\",\n \"end\",\n \"end_frame\",\n \"end_partition\",\n \"end-exec\",\n \"equals\",\n \"escape\",\n \"every\",\n \"except\",\n \"exec\",\n \"execute\",\n \"exists\",\n \"exp\",\n \"external\",\n \"extract\",\n \"false\",\n \"fetch\",\n \"filter\",\n \"first_value\",\n \"float\",\n \"floor\",\n \"for\",\n \"foreign\",\n \"frame_row\",\n \"free\",\n \"from\",\n \"full\",\n \"function\",\n \"fusion\",\n \"get\",\n \"global\",\n \"grant\",\n \"group\",\n \"grouping\",\n \"groups\",\n \"having\",\n \"hold\",\n \"hour\",\n \"identity\",\n \"in\",\n \"indicator\",\n \"initial\",\n \"inner\",\n \"inout\",\n \"insensitive\",\n \"insert\",\n \"int\",\n \"integer\",\n \"intersect\",\n \"intersection\",\n \"interval\",\n \"into\",\n \"is\",\n \"join\",\n \"json_array\",\n \"json_arrayagg\",\n \"json_exists\",\n \"json_object\",\n \"json_objectagg\",\n \"json_query\",\n \"json_table\",\n \"json_table_primitive\",\n \"json_value\",\n \"lag\",\n \"language\",\n \"large\",\n \"last_value\",\n \"lateral\",\n \"lead\",\n \"leading\",\n \"left\",\n \"like\",\n \"like_regex\",\n \"listagg\",\n \"ln\",\n \"local\",\n \"localtime\",\n \"localtimestamp\",\n \"log\",\n \"log10\",\n \"lower\",\n \"match\",\n \"match_number\",\n \"match_recognize\",\n \"matches\",\n \"max\",\n \"member\",\n \"merge\",\n \"method\",\n \"min\",\n \"minute\",\n \"mod\",\n \"modifies\",\n \"module\",\n \"month\",\n \"multiset\",\n \"national\",\n \"natural\",\n \"nchar\",\n \"nclob\",\n \"new\",\n \"no\",\n \"none\",\n \"normalize\",\n \"not\",\n \"nth_value\",\n \"ntile\",\n \"null\",\n \"nullif\",\n \"numeric\",\n \"octet_length\",\n \"occurrences_regex\",\n \"of\",\n \"offset\",\n \"old\",\n \"omit\",\n \"on\",\n \"one\",\n \"only\",\n \"open\",\n \"or\",\n \"order\",\n \"out\",\n \"outer\",\n \"over\",\n \"overlaps\",\n \"overlay\",\n \"parameter\",\n \"partition\",\n \"pattern\",\n \"per\",\n \"percent\",\n \"percent_rank\",\n \"percentile_cont\",\n \"percentile_disc\",\n \"period\",\n \"portion\",\n \"position\",\n \"position_regex\",\n \"power\",\n \"precedes\",\n \"precision\",\n \"prepare\",\n \"primary\",\n \"procedure\",\n \"ptf\",\n \"range\",\n \"rank\",\n \"reads\",\n \"real\",\n \"recursive\",\n \"ref\",\n \"references\",\n \"referencing\",\n \"regr_avgx\",\n \"regr_avgy\",\n \"regr_count\",\n \"regr_intercept\",\n \"regr_r2\",\n \"regr_slope\",\n \"regr_sxx\",\n \"regr_sxy\",\n \"regr_syy\",\n \"release\",\n \"result\",\n \"return\",\n \"returns\",\n \"revoke\",\n \"right\",\n \"rollback\",\n \"rollup\",\n \"row\",\n \"row_number\",\n \"rows\",\n \"running\",\n \"savepoint\",\n \"scope\",\n \"scroll\",\n \"search\",\n \"second\",\n \"seek\",\n \"select\",\n \"sensitive\",\n \"session_user\",\n \"set\",\n \"show\",\n \"similar\",\n \"sin\",\n \"sinh\",\n \"skip\",\n \"smallint\",\n \"some\",\n \"specific\",\n \"specifictype\",\n \"sql\",\n \"sqlexception\",\n \"sqlstate\",\n \"sqlwarning\",\n \"sqrt\",\n \"start\",\n \"static\",\n \"stddev_pop\",\n \"stddev_samp\",\n \"submultiset\",\n \"subset\",\n \"substring\",\n \"substring_regex\",\n \"succeeds\",\n \"sum\",\n \"symmetric\",\n \"system\",\n \"system_time\",\n \"system_user\",\n \"table\",\n \"tablesample\",\n \"tan\",\n \"tanh\",\n \"then\",\n \"time\",\n \"timestamp\",\n \"timezone_hour\",\n \"timezone_minute\",\n \"to\",\n \"trailing\",\n \"translate\",\n \"translate_regex\",\n \"translation\",\n \"treat\",\n \"trigger\",\n \"trim\",\n \"trim_array\",\n \"true\",\n \"truncate\",\n \"uescape\",\n \"union\",\n \"unique\",\n \"unknown\",\n \"unnest\",\n \"update\",\n \"upper\",\n \"user\",\n \"using\",\n \"value\",\n \"values\",\n \"value_of\",\n \"var_pop\",\n \"var_samp\",\n \"varbinary\",\n \"varchar\",\n \"varying\",\n \"versioning\",\n \"when\",\n \"whenever\",\n \"where\",\n \"width_bucket\",\n \"window\",\n \"with\",\n \"within\",\n \"without\",\n \"year\",\n ];\n\n // these are reserved words we have identified to be functions\n // and should only be highlighted in a dispatch-like context\n // ie, array_agg(...), etc.\n const RESERVED_FUNCTIONS = [\n \"abs\",\n \"acos\",\n \"array_agg\",\n \"asin\",\n \"atan\",\n \"avg\",\n \"cast\",\n \"ceil\",\n \"ceiling\",\n \"coalesce\",\n \"corr\",\n \"cos\",\n \"cosh\",\n \"count\",\n \"covar_pop\",\n \"covar_samp\",\n \"cume_dist\",\n \"dense_rank\",\n \"deref\",\n \"element\",\n \"exp\",\n \"extract\",\n \"first_value\",\n \"floor\",\n \"json_array\",\n \"json_arrayagg\",\n \"json_exists\",\n \"json_object\",\n \"json_objectagg\",\n \"json_query\",\n \"json_table\",\n \"json_table_primitive\",\n \"json_value\",\n \"lag\",\n \"last_value\",\n \"lead\",\n \"listagg\",\n \"ln\",\n \"log\",\n \"log10\",\n \"lower\",\n \"max\",\n \"min\",\n \"mod\",\n \"nth_value\",\n \"ntile\",\n \"nullif\",\n \"percent_rank\",\n \"percentile_cont\",\n \"percentile_disc\",\n \"position\",\n \"position_regex\",\n \"power\",\n \"rank\",\n \"regr_avgx\",\n \"regr_avgy\",\n \"regr_count\",\n \"regr_intercept\",\n \"regr_r2\",\n \"regr_slope\",\n \"regr_sxx\",\n \"regr_sxy\",\n \"regr_syy\",\n \"row_number\",\n \"sin\",\n \"sinh\",\n \"sqrt\",\n \"stddev_pop\",\n \"stddev_samp\",\n \"substring\",\n \"substring_regex\",\n \"sum\",\n \"tan\",\n \"tanh\",\n \"translate\",\n \"translate_regex\",\n \"treat\",\n \"trim\",\n \"trim_array\",\n \"unnest\",\n \"upper\",\n \"value_of\",\n \"var_pop\",\n \"var_samp\",\n \"width_bucket\",\n ];\n\n // these functions can\n const POSSIBLE_WITHOUT_PARENS = [\n \"current_catalog\",\n \"current_date\",\n \"current_default_transform_group\",\n \"current_path\",\n \"current_role\",\n \"current_schema\",\n \"current_transform_group_for_type\",\n \"current_user\",\n \"session_user\",\n \"system_time\",\n \"system_user\",\n \"current_time\",\n \"localtime\",\n \"current_timestamp\",\n \"localtimestamp\"\n ];\n\n // those exist to boost relevance making these very\n // \"SQL like\" keyword combos worth +1 extra relevance\n const COMBOS = [\n \"create table\",\n \"insert into\",\n \"primary key\",\n \"foreign key\",\n \"not null\",\n \"alter table\",\n \"add constraint\",\n \"grouping sets\",\n \"on overflow\",\n \"character set\",\n \"respect nulls\",\n \"ignore nulls\",\n \"nulls first\",\n \"nulls last\",\n \"depth first\",\n \"breadth first\"\n ];\n\n const FUNCTIONS = RESERVED_FUNCTIONS;\n\n const KEYWORDS = [\n ...RESERVED_WORDS,\n ...NON_RESERVED_WORDS\n ].filter((keyword) => {\n return !RESERVED_FUNCTIONS.includes(keyword);\n });\n\n const VARIABLE = {\n scope: \"variable\",\n match: /@[a-z0-9][a-z0-9_]*/,\n };\n\n const OPERATOR = {\n scope: \"operator\",\n match: /[-+*/=%^~]|&&?|\\|\\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,\n relevance: 0,\n };\n\n const FUNCTION_CALL = {\n match: regex.concat(/\\b/, regex.either(...FUNCTIONS), /\\s*\\(/),\n relevance: 0,\n keywords: { built_in: FUNCTIONS }\n };\n\n // turns a multi-word keyword combo into a regex that doesn't\n // care about extra whitespace etc.\n // input: \"START QUERY\"\n // output: /\\bSTART\\s+QUERY\\b/\n function kws_to_regex(list) {\n return regex.concat(\n /\\b/,\n regex.either(...list.map((kw) => {\n return kw.replace(/\\s+/, \"\\\\s+\")\n })),\n /\\b/\n )\n }\n\n const MULTI_WORD_KEYWORDS = {\n scope: \"keyword\",\n match: kws_to_regex(COMBOS),\n relevance: 0,\n };\n\n // keywords with less than 3 letters are reduced in relevancy\n function reduceRelevancy(list, {\n exceptions, when\n } = {}) {\n const qualifyFn = when;\n exceptions = exceptions || [];\n return list.map((item) => {\n if (item.match(/\\|\\d+$/) || exceptions.includes(item)) {\n return item;\n } else if (qualifyFn(item)) {\n return `${item}|0`;\n } else {\n return item;\n }\n });\n }\n\n return {\n name: 'SQL',\n case_insensitive: true,\n // does not include {} or HTML tags ` x.length < 3 }),\n literal: LITERALS,\n type: TYPES,\n built_in: POSSIBLE_WITHOUT_PARENS\n },\n contains: [\n {\n scope: \"type\",\n match: kws_to_regex(MULTI_WORD_TYPES)\n },\n MULTI_WORD_KEYWORDS,\n FUNCTION_CALL,\n VARIABLE,\n STRING,\n QUOTED_IDENTIFIER,\n hljs.C_NUMBER_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n COMMENT_MODE,\n OPERATOR\n ]\n };\n}\n\nexport { sql as default };\n","/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n return concat('(?=', re, ')');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/**\n * @param { Array } args\n * @returns {object}\n */\nfunction stripOptionsFromArgs(args) {\n const opts = args[args.length - 1];\n\n if (typeof opts === 'object' && opts.constructor === Object) {\n args.splice(args.length - 1, 1);\n return opts;\n } else {\n return {};\n }\n}\n\n/** @typedef { {capture?: boolean} } RegexEitherOptions */\n\n/**\n * Any of the passed expresssions may match\n *\n * Creates a huge this | this | that | that match\n * @param {(RegExp | string)[] | [...(RegExp | string)[], RegexEitherOptions]} args\n * @returns {string}\n */\nfunction either(...args) {\n /** @type { object & {capture?: boolean} } */\n const opts = stripOptionsFromArgs(args);\n const joined = '('\n + (opts.capture ? \"\" : \"?:\")\n + args.map((x) => source(x)).join(\"|\") + \")\";\n return joined;\n}\n\nconst keywordWrapper = keyword => concat(\n /\\b/,\n keyword,\n /\\w$/.test(keyword) ? /\\b/ : /\\B/\n);\n\n// Keywords that require a leading dot.\nconst dotKeywords = [\n 'Protocol', // contextual\n 'Type' // contextual\n].map(keywordWrapper);\n\n// Keywords that may have a leading dot.\nconst optionalDotKeywords = [\n 'init',\n 'self'\n].map(keywordWrapper);\n\n// should register as keyword, not type\nconst keywordTypes = [\n 'Any',\n 'Self'\n];\n\n// Regular keywords and literals.\nconst keywords = [\n // strings below will be fed into the regular `keywords` engine while regex\n // will result in additional modes being created to scan for those keywords to\n // avoid conflicts with other rules\n 'actor',\n 'any', // contextual\n 'associatedtype',\n 'async',\n 'await',\n /as\\?/, // operator\n /as!/, // operator\n 'as', // operator\n 'borrowing', // contextual\n 'break',\n 'case',\n 'catch',\n 'class',\n 'consume', // contextual\n 'consuming', // contextual\n 'continue',\n 'convenience', // contextual\n 'copy', // contextual\n 'default',\n 'defer',\n 'deinit',\n 'didSet', // contextual\n 'distributed',\n 'do',\n 'dynamic', // contextual\n 'each',\n 'else',\n 'enum',\n 'extension',\n 'fallthrough',\n /fileprivate\\(set\\)/,\n 'fileprivate',\n 'final', // contextual\n 'for',\n 'func',\n 'get', // contextual\n 'guard',\n 'if',\n 'import',\n 'indirect', // contextual\n 'infix', // contextual\n /init\\?/,\n /init!/,\n 'inout',\n /internal\\(set\\)/,\n 'internal',\n 'in',\n 'is', // operator\n 'isolated', // contextual\n 'nonisolated', // contextual\n 'lazy', // contextual\n 'let',\n 'macro',\n 'mutating', // contextual\n 'nonmutating', // contextual\n /open\\(set\\)/, // contextual\n 'open', // contextual\n 'operator',\n 'optional', // contextual\n 'override', // contextual\n 'package',\n 'postfix', // contextual\n 'precedencegroup',\n 'prefix', // contextual\n /private\\(set\\)/,\n 'private',\n 'protocol',\n /public\\(set\\)/,\n 'public',\n 'repeat',\n 'required', // contextual\n 'rethrows',\n 'return',\n 'set', // contextual\n 'some', // contextual\n 'static',\n 'struct',\n 'subscript',\n 'super',\n 'switch',\n 'throws',\n 'throw',\n /try\\?/, // operator\n /try!/, // operator\n 'try', // operator\n 'typealias',\n /unowned\\(safe\\)/, // contextual\n /unowned\\(unsafe\\)/, // contextual\n 'unowned', // contextual\n 'var',\n 'weak', // contextual\n 'where',\n 'while',\n 'willSet' // contextual\n];\n\n// NOTE: Contextual keywords are reserved only in specific contexts.\n// Ideally, these should be matched using modes to avoid false positives.\n\n// Literals.\nconst literals = [\n 'false',\n 'nil',\n 'true'\n];\n\n// Keywords used in precedence groups.\nconst precedencegroupKeywords = [\n 'assignment',\n 'associativity',\n 'higherThan',\n 'left',\n 'lowerThan',\n 'none',\n 'right'\n];\n\n// Keywords that start with a number sign (#).\n// #(un)available is handled separately.\nconst numberSignKeywords = [\n '#colorLiteral',\n '#column',\n '#dsohandle',\n '#else',\n '#elseif',\n '#endif',\n '#error',\n '#file',\n '#fileID',\n '#fileLiteral',\n '#filePath',\n '#function',\n '#if',\n '#imageLiteral',\n '#keyPath',\n '#line',\n '#selector',\n '#sourceLocation',\n '#warning'\n];\n\n// Global functions in the Standard Library.\nconst builtIns = [\n 'abs',\n 'all',\n 'any',\n 'assert',\n 'assertionFailure',\n 'debugPrint',\n 'dump',\n 'fatalError',\n 'getVaList',\n 'isKnownUniquelyReferenced',\n 'max',\n 'min',\n 'numericCast',\n 'pointwiseMax',\n 'pointwiseMin',\n 'precondition',\n 'preconditionFailure',\n 'print',\n 'readLine',\n 'repeatElement',\n 'sequence',\n 'stride',\n 'swap',\n 'swift_unboxFromSwiftValueWithType',\n 'transcode',\n 'type',\n 'unsafeBitCast',\n 'unsafeDowncast',\n 'withExtendedLifetime',\n 'withUnsafeMutablePointer',\n 'withUnsafePointer',\n 'withVaList',\n 'withoutActuallyEscaping',\n 'zip'\n];\n\n// Valid first characters for operators.\nconst operatorHead = either(\n /[/=\\-+!*%<>&|^~?]/,\n /[\\u00A1-\\u00A7]/,\n /[\\u00A9\\u00AB]/,\n /[\\u00AC\\u00AE]/,\n /[\\u00B0\\u00B1]/,\n /[\\u00B6\\u00BB\\u00BF\\u00D7\\u00F7]/,\n /[\\u2016-\\u2017]/,\n /[\\u2020-\\u2027]/,\n /[\\u2030-\\u203E]/,\n /[\\u2041-\\u2053]/,\n /[\\u2055-\\u205E]/,\n /[\\u2190-\\u23FF]/,\n /[\\u2500-\\u2775]/,\n /[\\u2794-\\u2BFF]/,\n /[\\u2E00-\\u2E7F]/,\n /[\\u3001-\\u3003]/,\n /[\\u3008-\\u3020]/,\n /[\\u3030]/\n);\n\n// Valid characters for operators.\nconst operatorCharacter = either(\n operatorHead,\n /[\\u0300-\\u036F]/,\n /[\\u1DC0-\\u1DFF]/,\n /[\\u20D0-\\u20FF]/,\n /[\\uFE00-\\uFE0F]/,\n /[\\uFE20-\\uFE2F]/\n // TODO: The following characters are also allowed, but the regex isn't supported yet.\n // /[\\u{E0100}-\\u{E01EF}]/u\n);\n\n// Valid operator.\nconst operator = concat(operatorHead, operatorCharacter, '*');\n\n// Valid first characters for identifiers.\nconst identifierHead = either(\n /[a-zA-Z_]/,\n /[\\u00A8\\u00AA\\u00AD\\u00AF\\u00B2-\\u00B5\\u00B7-\\u00BA]/,\n /[\\u00BC-\\u00BE\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u00FF]/,\n /[\\u0100-\\u02FF\\u0370-\\u167F\\u1681-\\u180D\\u180F-\\u1DBF]/,\n /[\\u1E00-\\u1FFF]/,\n /[\\u200B-\\u200D\\u202A-\\u202E\\u203F-\\u2040\\u2054\\u2060-\\u206F]/,\n /[\\u2070-\\u20CF\\u2100-\\u218F\\u2460-\\u24FF\\u2776-\\u2793]/,\n /[\\u2C00-\\u2DFF\\u2E80-\\u2FFF]/,\n /[\\u3004-\\u3007\\u3021-\\u302F\\u3031-\\u303F\\u3040-\\uD7FF]/,\n /[\\uF900-\\uFD3D\\uFD40-\\uFDCF\\uFDF0-\\uFE1F\\uFE30-\\uFE44]/,\n /[\\uFE47-\\uFEFE\\uFF00-\\uFFFD]/ // Should be /[\\uFE47-\\uFFFD]/, but we have to exclude FEFF.\n // The following characters are also allowed, but the regexes aren't supported yet.\n // /[\\u{10000}-\\u{1FFFD}\\u{20000-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}]/u,\n // /[\\u{50000}-\\u{5FFFD}\\u{60000-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}]/u,\n // /[\\u{90000}-\\u{9FFFD}\\u{A0000-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}]/u,\n // /[\\u{D0000}-\\u{DFFFD}\\u{E0000-\\u{EFFFD}]/u\n);\n\n// Valid characters for identifiers.\nconst identifierCharacter = either(\n identifierHead,\n /\\d/,\n /[\\u0300-\\u036F\\u1DC0-\\u1DFF\\u20D0-\\u20FF\\uFE20-\\uFE2F]/\n);\n\n// Valid identifier.\nconst identifier = concat(identifierHead, identifierCharacter, '*');\n\n// Valid type identifier.\nconst typeIdentifier = concat(/[A-Z]/, identifierCharacter, '*');\n\n// Built-in attributes, which are highlighted as keywords.\n// @available is handled separately.\n// https://docs.swift.org/swift-book/documentation/the-swift-programming-language/attributes\nconst keywordAttributes = [\n 'attached',\n 'autoclosure',\n concat(/convention\\(/, either('swift', 'block', 'c'), /\\)/),\n 'discardableResult',\n 'dynamicCallable',\n 'dynamicMemberLookup',\n 'escaping',\n 'freestanding',\n 'frozen',\n 'GKInspectable',\n 'IBAction',\n 'IBDesignable',\n 'IBInspectable',\n 'IBOutlet',\n 'IBSegueAction',\n 'inlinable',\n 'main',\n 'nonobjc',\n 'NSApplicationMain',\n 'NSCopying',\n 'NSManaged',\n concat(/objc\\(/, identifier, /\\)/),\n 'objc',\n 'objcMembers',\n 'propertyWrapper',\n 'requires_stored_property_inits',\n 'resultBuilder',\n 'Sendable',\n 'testable',\n 'UIApplicationMain',\n 'unchecked',\n 'unknown',\n 'usableFromInline',\n 'warn_unqualified_access'\n];\n\n// Contextual keywords used in @available and #(un)available.\nconst availabilityKeywords = [\n 'iOS',\n 'iOSApplicationExtension',\n 'macOS',\n 'macOSApplicationExtension',\n 'macCatalyst',\n 'macCatalystApplicationExtension',\n 'watchOS',\n 'watchOSApplicationExtension',\n 'tvOS',\n 'tvOSApplicationExtension',\n 'swift'\n];\n\n/*\nLanguage: Swift\nDescription: Swift is a general-purpose programming language built using a modern approach to safety, performance, and software design patterns.\nAuthor: Steven Van Impe \nContributors: Chris Eidhof , Nate Cook , Alexander Lichter , Richard Gibson \nWebsite: https://swift.org\nCategory: common, system\n*/\n\n\n/** @type LanguageFn */\nfunction swift(hljs) {\n const WHITESPACE = {\n match: /\\s+/,\n relevance: 0\n };\n // https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#ID411\n const BLOCK_COMMENT = hljs.COMMENT(\n '/\\\\*',\n '\\\\*/',\n { contains: [ 'self' ] }\n );\n const COMMENTS = [\n hljs.C_LINE_COMMENT_MODE,\n BLOCK_COMMENT\n ];\n\n // https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#ID413\n // https://docs.swift.org/swift-book/ReferenceManual/zzSummaryOfTheGrammar.html\n const DOT_KEYWORD = {\n match: [\n /\\./,\n either(...dotKeywords, ...optionalDotKeywords)\n ],\n className: { 2: \"keyword\" }\n };\n const KEYWORD_GUARD = {\n // Consume .keyword to prevent highlighting properties and methods as keywords.\n match: concat(/\\./, either(...keywords)),\n relevance: 0\n };\n const PLAIN_KEYWORDS = keywords\n .filter(kw => typeof kw === 'string')\n .concat([ \"_|0\" ]); // seems common, so 0 relevance\n const REGEX_KEYWORDS = keywords\n .filter(kw => typeof kw !== 'string') // find regex\n .concat(keywordTypes)\n .map(keywordWrapper);\n const KEYWORD = { variants: [\n {\n className: 'keyword',\n match: either(...REGEX_KEYWORDS, ...optionalDotKeywords)\n }\n ] };\n // find all the regular keywords\n const KEYWORDS = {\n $pattern: either(\n /\\b\\w+/, // regular keywords\n /#\\w+/ // number keywords\n ),\n keyword: PLAIN_KEYWORDS\n .concat(numberSignKeywords),\n literal: literals\n };\n const KEYWORD_MODES = [\n DOT_KEYWORD,\n KEYWORD_GUARD,\n KEYWORD\n ];\n\n // https://github.com/apple/swift/tree/main/stdlib/public/core\n const BUILT_IN_GUARD = {\n // Consume .built_in to prevent highlighting properties and methods.\n match: concat(/\\./, either(...builtIns)),\n relevance: 0\n };\n const BUILT_IN = {\n className: 'built_in',\n match: concat(/\\b/, either(...builtIns), /(?=\\()/)\n };\n const BUILT_INS = [\n BUILT_IN_GUARD,\n BUILT_IN\n ];\n\n // https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#ID418\n const OPERATOR_GUARD = {\n // Prevent -> from being highlighting as an operator.\n match: /->/,\n relevance: 0\n };\n const OPERATOR = {\n className: 'operator',\n relevance: 0,\n variants: [\n { match: operator },\n {\n // dot-operator: only operators that start with a dot are allowed to use dots as\n // characters (..., ...<, .*, etc). So there rule here is: a dot followed by one or more\n // characters that may also include dots.\n match: `\\\\.(\\\\.|${operatorCharacter})+` }\n ]\n };\n const OPERATORS = [\n OPERATOR_GUARD,\n OPERATOR\n ];\n\n // https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_numeric-literal\n // TODO: Update for leading `-` after lookbehind is supported everywhere\n const decimalDigits = '([0-9]_*)+';\n const hexDigits = '([0-9a-fA-F]_*)+';\n const NUMBER = {\n className: 'number',\n relevance: 0,\n variants: [\n // decimal floating-point-literal (subsumes decimal-literal)\n { match: `\\\\b(${decimalDigits})(\\\\.(${decimalDigits}))?` + `([eE][+-]?(${decimalDigits}))?\\\\b` },\n // hexadecimal floating-point-literal (subsumes hexadecimal-literal)\n { match: `\\\\b0x(${hexDigits})(\\\\.(${hexDigits}))?` + `([pP][+-]?(${decimalDigits}))?\\\\b` },\n // octal-literal\n { match: /\\b0o([0-7]_*)+\\b/ },\n // binary-literal\n { match: /\\b0b([01]_*)+\\b/ }\n ]\n };\n\n // https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_string-literal\n const ESCAPED_CHARACTER = (rawDelimiter = \"\") => ({\n className: 'subst',\n variants: [\n { match: concat(/\\\\/, rawDelimiter, /[0\\\\tnr\"']/) },\n { match: concat(/\\\\/, rawDelimiter, /u\\{[0-9a-fA-F]{1,8}\\}/) }\n ]\n });\n const ESCAPED_NEWLINE = (rawDelimiter = \"\") => ({\n className: 'subst',\n match: concat(/\\\\/, rawDelimiter, /[\\t ]*(?:[\\r\\n]|\\r\\n)/)\n });\n const INTERPOLATION = (rawDelimiter = \"\") => ({\n className: 'subst',\n label: \"interpol\",\n begin: concat(/\\\\/, rawDelimiter, /\\(/),\n end: /\\)/\n });\n const MULTILINE_STRING = (rawDelimiter = \"\") => ({\n begin: concat(rawDelimiter, /\"\"\"/),\n end: concat(/\"\"\"/, rawDelimiter),\n contains: [\n ESCAPED_CHARACTER(rawDelimiter),\n ESCAPED_NEWLINE(rawDelimiter),\n INTERPOLATION(rawDelimiter)\n ]\n });\n const SINGLE_LINE_STRING = (rawDelimiter = \"\") => ({\n begin: concat(rawDelimiter, /\"/),\n end: concat(/\"/, rawDelimiter),\n contains: [\n ESCAPED_CHARACTER(rawDelimiter),\n INTERPOLATION(rawDelimiter)\n ]\n });\n const STRING = {\n className: 'string',\n variants: [\n MULTILINE_STRING(),\n MULTILINE_STRING(\"#\"),\n MULTILINE_STRING(\"##\"),\n MULTILINE_STRING(\"###\"),\n SINGLE_LINE_STRING(),\n SINGLE_LINE_STRING(\"#\"),\n SINGLE_LINE_STRING(\"##\"),\n SINGLE_LINE_STRING(\"###\")\n ]\n };\n\n const REGEXP_CONTENTS = [\n hljs.BACKSLASH_ESCAPE,\n {\n begin: /\\[/,\n end: /\\]/,\n relevance: 0,\n contains: [ hljs.BACKSLASH_ESCAPE ]\n }\n ];\n\n const BARE_REGEXP_LITERAL = {\n begin: /\\/[^\\s](?=[^/\\n]*\\/)/,\n end: /\\//,\n contains: REGEXP_CONTENTS\n };\n\n const EXTENDED_REGEXP_LITERAL = (rawDelimiter) => {\n const begin = concat(rawDelimiter, /\\//);\n const end = concat(/\\//, rawDelimiter);\n return {\n begin,\n end,\n contains: [\n ...REGEXP_CONTENTS,\n {\n scope: \"comment\",\n begin: `#(?!.*${end})`,\n end: /$/,\n },\n ],\n };\n };\n\n // https://docs.swift.org/swift-book/documentation/the-swift-programming-language/lexicalstructure/#Regular-Expression-Literals\n const REGEXP = {\n scope: \"regexp\",\n variants: [\n EXTENDED_REGEXP_LITERAL('###'),\n EXTENDED_REGEXP_LITERAL('##'),\n EXTENDED_REGEXP_LITERAL('#'),\n BARE_REGEXP_LITERAL\n ]\n };\n\n // https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#ID412\n const QUOTED_IDENTIFIER = { match: concat(/`/, identifier, /`/) };\n const IMPLICIT_PARAMETER = {\n className: 'variable',\n match: /\\$\\d+/\n };\n const PROPERTY_WRAPPER_PROJECTION = {\n className: 'variable',\n match: `\\\\$${identifierCharacter}+`\n };\n const IDENTIFIERS = [\n QUOTED_IDENTIFIER,\n IMPLICIT_PARAMETER,\n PROPERTY_WRAPPER_PROJECTION\n ];\n\n // https://docs.swift.org/swift-book/ReferenceManual/Attributes.html\n const AVAILABLE_ATTRIBUTE = {\n match: /(@|#(un)?)available/,\n scope: 'keyword',\n starts: { contains: [\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: availabilityKeywords,\n contains: [\n ...OPERATORS,\n NUMBER,\n STRING\n ]\n }\n ] }\n };\n\n const KEYWORD_ATTRIBUTE = {\n scope: 'keyword',\n match: concat(/@/, either(...keywordAttributes), lookahead(either(/\\(/, /\\s+/))),\n };\n\n const USER_DEFINED_ATTRIBUTE = {\n scope: 'meta',\n match: concat(/@/, identifier)\n };\n\n const ATTRIBUTES = [\n AVAILABLE_ATTRIBUTE,\n KEYWORD_ATTRIBUTE,\n USER_DEFINED_ATTRIBUTE\n ];\n\n // https://docs.swift.org/swift-book/ReferenceManual/Types.html\n const TYPE = {\n match: lookahead(/\\b[A-Z]/),\n relevance: 0,\n contains: [\n { // Common Apple frameworks, for relevance boost\n className: 'type',\n match: concat(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/, identifierCharacter, '+')\n },\n { // Type identifier\n className: 'type',\n match: typeIdentifier,\n relevance: 0\n },\n { // Optional type\n match: /[?!]+/,\n relevance: 0\n },\n { // Variadic parameter\n match: /\\.\\.\\./,\n relevance: 0\n },\n { // Protocol composition\n match: concat(/\\s+&\\s+/, lookahead(typeIdentifier)),\n relevance: 0\n }\n ]\n };\n const GENERIC_ARGUMENTS = {\n begin: //,\n keywords: KEYWORDS,\n contains: [\n ...COMMENTS,\n ...KEYWORD_MODES,\n ...ATTRIBUTES,\n OPERATOR_GUARD,\n TYPE\n ]\n };\n TYPE.contains.push(GENERIC_ARGUMENTS);\n\n // https://docs.swift.org/swift-book/ReferenceManual/Expressions.html#ID552\n // Prevents element names from being highlighted as keywords.\n const TUPLE_ELEMENT_NAME = {\n match: concat(identifier, /\\s*:/),\n keywords: \"_|0\",\n relevance: 0\n };\n // Matches tuples as well as the parameter list of a function type.\n const TUPLE = {\n begin: /\\(/,\n end: /\\)/,\n relevance: 0,\n keywords: KEYWORDS,\n contains: [\n 'self',\n TUPLE_ELEMENT_NAME,\n ...COMMENTS,\n REGEXP,\n ...KEYWORD_MODES,\n ...BUILT_INS,\n ...OPERATORS,\n NUMBER,\n STRING,\n ...IDENTIFIERS,\n ...ATTRIBUTES,\n TYPE\n ]\n };\n\n const GENERIC_PARAMETERS = {\n begin: //,\n keywords: 'repeat each',\n contains: [\n ...COMMENTS,\n TYPE\n ]\n };\n const FUNCTION_PARAMETER_NAME = {\n begin: either(\n lookahead(concat(identifier, /\\s*:/)),\n lookahead(concat(identifier, /\\s+/, identifier, /\\s*:/))\n ),\n end: /:/,\n relevance: 0,\n contains: [\n {\n className: 'keyword',\n match: /\\b_\\b/\n },\n {\n className: 'params',\n match: identifier\n }\n ]\n };\n const FUNCTION_PARAMETERS = {\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n contains: [\n FUNCTION_PARAMETER_NAME,\n ...COMMENTS,\n ...KEYWORD_MODES,\n ...OPERATORS,\n NUMBER,\n STRING,\n ...ATTRIBUTES,\n TYPE,\n TUPLE\n ],\n endsParent: true,\n illegal: /[\"']/\n };\n // https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#ID362\n // https://docs.swift.org/swift-book/documentation/the-swift-programming-language/declarations/#Macro-Declaration\n const FUNCTION_OR_MACRO = {\n match: [\n /(func|macro)/,\n /\\s+/,\n either(QUOTED_IDENTIFIER.match, identifier, operator)\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n GENERIC_PARAMETERS,\n FUNCTION_PARAMETERS,\n WHITESPACE\n ],\n illegal: [\n /\\[/,\n /%/\n ]\n };\n\n // https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#ID375\n // https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#ID379\n const INIT_SUBSCRIPT = {\n match: [\n /\\b(?:subscript|init[?!]?)/,\n /\\s*(?=[<(])/,\n ],\n className: { 1: \"keyword\" },\n contains: [\n GENERIC_PARAMETERS,\n FUNCTION_PARAMETERS,\n WHITESPACE\n ],\n illegal: /\\[|%/\n };\n // https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#ID380\n const OPERATOR_DECLARATION = {\n match: [\n /operator/,\n /\\s+/,\n operator\n ],\n className: {\n 1: \"keyword\",\n 3: \"title\"\n }\n };\n\n // https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#ID550\n const PRECEDENCEGROUP = {\n begin: [\n /precedencegroup/,\n /\\s+/,\n typeIdentifier\n ],\n className: {\n 1: \"keyword\",\n 3: \"title\"\n },\n contains: [ TYPE ],\n keywords: [\n ...precedencegroupKeywords,\n ...literals\n ],\n end: /}/\n };\n\n const CLASS_FUNC_DECLARATION = {\n match: [\n /class\\b/, \n /\\s+/,\n /func\\b/,\n /\\s+/,\n /\\b[A-Za-z_][A-Za-z0-9_]*\\b/ \n ],\n scope: {\n 1: \"keyword\",\n 3: \"keyword\",\n 5: \"title.function\"\n }\n };\n\n const CLASS_VAR_DECLARATION = {\n match: [\n /class\\b/,\n /\\s+/, \n /var\\b/, \n ],\n scope: {\n 1: \"keyword\",\n 3: \"keyword\"\n }\n };\n\n const TYPE_DECLARATION = {\n begin: [\n /(struct|protocol|class|extension|enum|actor)/,\n /\\s+/,\n identifier,\n /\\s*/,\n ],\n beginScope: {\n 1: \"keyword\",\n 3: \"title.class\"\n },\n keywords: KEYWORDS,\n contains: [\n GENERIC_PARAMETERS,\n ...KEYWORD_MODES,\n {\n begin: /:/,\n end: /\\{/,\n keywords: KEYWORDS,\n contains: [\n {\n scope: \"title.class.inherited\",\n match: typeIdentifier,\n },\n ...KEYWORD_MODES,\n ],\n relevance: 0,\n },\n ]\n };\n\n // Add supported submodes to string interpolation.\n for (const variant of STRING.variants) {\n const interpolation = variant.contains.find(mode => mode.label === \"interpol\");\n // TODO: Interpolation can contain any expression, so there's room for improvement here.\n interpolation.keywords = KEYWORDS;\n const submodes = [\n ...KEYWORD_MODES,\n ...BUILT_INS,\n ...OPERATORS,\n NUMBER,\n STRING,\n ...IDENTIFIERS\n ];\n interpolation.contains = [\n ...submodes,\n {\n begin: /\\(/,\n end: /\\)/,\n contains: [\n 'self',\n ...submodes\n ]\n }\n ];\n }\n\n return {\n name: 'Swift',\n keywords: KEYWORDS,\n contains: [\n ...COMMENTS,\n FUNCTION_OR_MACRO,\n INIT_SUBSCRIPT,\n CLASS_FUNC_DECLARATION,\n CLASS_VAR_DECLARATION,\n TYPE_DECLARATION,\n OPERATOR_DECLARATION,\n PRECEDENCEGROUP,\n {\n beginKeywords: 'import',\n end: /$/,\n contains: [ ...COMMENTS ],\n relevance: 0\n },\n REGEXP,\n ...KEYWORD_MODES,\n ...BUILT_INS,\n ...OPERATORS,\n NUMBER,\n STRING,\n ...IDENTIFIERS,\n ...ATTRIBUTES,\n TYPE,\n TUPLE\n ]\n };\n}\n\nexport { swift as default };\n","const IDENT_RE = '[A-Za-z$_][0-9A-Za-z$_]*';\nconst KEYWORDS = [\n \"as\", // for exports\n \"in\",\n \"of\",\n \"if\",\n \"for\",\n \"while\",\n \"finally\",\n \"var\",\n \"new\",\n \"function\",\n \"do\",\n \"return\",\n \"void\",\n \"else\",\n \"break\",\n \"catch\",\n \"instanceof\",\n \"with\",\n \"throw\",\n \"case\",\n \"default\",\n \"try\",\n \"switch\",\n \"continue\",\n \"typeof\",\n \"delete\",\n \"let\",\n \"yield\",\n \"const\",\n \"class\",\n // JS handles these with a special rule\n // \"get\",\n // \"set\",\n \"debugger\",\n \"async\",\n \"await\",\n \"static\",\n \"import\",\n \"from\",\n \"export\",\n \"extends\",\n // It's reached stage 3, which is \"recommended for implementation\":\n \"using\"\n];\nconst LITERALS = [\n \"true\",\n \"false\",\n \"null\",\n \"undefined\",\n \"NaN\",\n \"Infinity\"\n];\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects\nconst TYPES = [\n // Fundamental objects\n \"Object\",\n \"Function\",\n \"Boolean\",\n \"Symbol\",\n // numbers and dates\n \"Math\",\n \"Date\",\n \"Number\",\n \"BigInt\",\n // text\n \"String\",\n \"RegExp\",\n // Indexed collections\n \"Array\",\n \"Float32Array\",\n \"Float64Array\",\n \"Int8Array\",\n \"Uint8Array\",\n \"Uint8ClampedArray\",\n \"Int16Array\",\n \"Int32Array\",\n \"Uint16Array\",\n \"Uint32Array\",\n \"BigInt64Array\",\n \"BigUint64Array\",\n // Keyed collections\n \"Set\",\n \"Map\",\n \"WeakSet\",\n \"WeakMap\",\n // Structured data\n \"ArrayBuffer\",\n \"SharedArrayBuffer\",\n \"Atomics\",\n \"DataView\",\n \"JSON\",\n // Control abstraction objects\n \"Promise\",\n \"Generator\",\n \"GeneratorFunction\",\n \"AsyncFunction\",\n // Reflection\n \"Reflect\",\n \"Proxy\",\n // Internationalization\n \"Intl\",\n // WebAssembly\n \"WebAssembly\"\n];\n\nconst ERROR_TYPES = [\n \"Error\",\n \"EvalError\",\n \"InternalError\",\n \"RangeError\",\n \"ReferenceError\",\n \"SyntaxError\",\n \"TypeError\",\n \"URIError\"\n];\n\nconst BUILT_IN_GLOBALS = [\n \"setInterval\",\n \"setTimeout\",\n \"clearInterval\",\n \"clearTimeout\",\n\n \"require\",\n \"exports\",\n\n \"eval\",\n \"isFinite\",\n \"isNaN\",\n \"parseFloat\",\n \"parseInt\",\n \"decodeURI\",\n \"decodeURIComponent\",\n \"encodeURI\",\n \"encodeURIComponent\",\n \"escape\",\n \"unescape\"\n];\n\nconst BUILT_IN_VARIABLES = [\n \"arguments\",\n \"this\",\n \"super\",\n \"console\",\n \"window\",\n \"document\",\n \"localStorage\",\n \"sessionStorage\",\n \"module\",\n \"global\" // Node.js\n];\n\nconst BUILT_INS = [].concat(\n BUILT_IN_GLOBALS,\n TYPES,\n ERROR_TYPES\n);\n\n/*\nLanguage: JavaScript\nDescription: JavaScript (JS) is a lightweight, interpreted, or just-in-time compiled programming language with first-class functions.\nCategory: common, scripting, web\nWebsite: https://developer.mozilla.org/en-US/docs/Web/JavaScript\n*/\n\n\n/** @type LanguageFn */\nfunction javascript(hljs) {\n const regex = hljs.regex;\n /**\n * Takes a string like \" {\n const tag = \"',\n end: ''\n };\n // to avoid some special cases inside isTrulyOpeningTag\n const XML_SELF_CLOSING = /<[A-Za-z0-9\\\\._:-]+\\s*\\/>/;\n const XML_TAG = {\n begin: /<[A-Za-z0-9\\\\._:-]+/,\n end: /\\/[A-Za-z0-9\\\\._:-]+>|\\/>/,\n /**\n * @param {RegExpMatchArray} match\n * @param {CallbackResponse} response\n */\n isTrulyOpeningTag: (match, response) => {\n const afterMatchIndex = match[0].length + match.index;\n const nextChar = match.input[afterMatchIndex];\n if (\n // HTML should not include another raw `<` inside a tag\n // nested type?\n // `>`, etc.\n nextChar === \"<\" ||\n // the , gives away that this is not HTML\n // ``\n nextChar === \",\"\n ) {\n response.ignoreMatch();\n return;\n }\n\n // ``\n // Quite possibly a tag, lets look for a matching closing tag...\n if (nextChar === \">\") {\n // if we cannot find a matching closing tag, then we\n // will ignore it\n if (!hasClosingTag(match, { after: afterMatchIndex })) {\n response.ignoreMatch();\n }\n }\n\n // `` (self-closing)\n // handled by simpleSelfClosing rule\n\n let m;\n const afterMatch = match.input.substring(afterMatchIndex);\n\n // some more template typing stuff\n // (key?: string) => Modify<\n if ((m = afterMatch.match(/^\\s*=/))) {\n response.ignoreMatch();\n return;\n }\n\n // ``\n // technically this could be HTML, but it smells like a type\n // NOTE: This is ugh, but added specifically for https://github.com/highlightjs/highlight.js/issues/3276\n if ((m = afterMatch.match(/^\\s+extends\\s+/))) {\n if (m.index === 0) {\n response.ignoreMatch();\n // eslint-disable-next-line no-useless-return\n return;\n }\n }\n }\n };\n const KEYWORDS$1 = {\n $pattern: IDENT_RE,\n keyword: KEYWORDS,\n literal: LITERALS,\n built_in: BUILT_INS,\n \"variable.language\": BUILT_IN_VARIABLES\n };\n\n // https://tc39.es/ecma262/#sec-literals-numeric-literals\n const decimalDigits = '[0-9](_?[0-9])*';\n const frac = `\\\\.(${decimalDigits})`;\n // DecimalIntegerLiteral, including Annex B NonOctalDecimalIntegerLiteral\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n const decimalInteger = `0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*`;\n const NUMBER = {\n className: 'number',\n variants: [\n // DecimalLiteral\n { begin: `(\\\\b(${decimalInteger})((${frac})|\\\\.)?|(${frac}))` +\n `[eE][+-]?(${decimalDigits})\\\\b` },\n { begin: `\\\\b(${decimalInteger})\\\\b((${frac})\\\\b|\\\\.)?|(${frac})\\\\b` },\n\n // DecimalBigIntegerLiteral\n { begin: `\\\\b(0|[1-9](_?[0-9])*)n\\\\b` },\n\n // NonDecimalIntegerLiteral\n { begin: \"\\\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\\\b\" },\n { begin: \"\\\\b0[bB][0-1](_?[0-1])*n?\\\\b\" },\n { begin: \"\\\\b0[oO][0-7](_?[0-7])*n?\\\\b\" },\n\n // LegacyOctalIntegerLiteral (does not include underscore separators)\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n { begin: \"\\\\b0[0-7]+n?\\\\b\" },\n ],\n relevance: 0\n };\n\n const SUBST = {\n className: 'subst',\n begin: '\\\\$\\\\{',\n end: '\\\\}',\n keywords: KEYWORDS$1,\n contains: [] // defined later\n };\n const HTML_TEMPLATE = {\n begin: '\\.?html`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'xml'\n }\n };\n const CSS_TEMPLATE = {\n begin: '\\.?css`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'css'\n }\n };\n const GRAPHQL_TEMPLATE = {\n begin: '\\.?gql`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'graphql'\n }\n };\n const TEMPLATE_STRING = {\n className: 'string',\n begin: '`',\n end: '`',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n };\n const JSDOC_COMMENT = hljs.COMMENT(\n /\\/\\*\\*(?!\\/)/,\n '\\\\*/',\n {\n relevance: 0,\n contains: [\n {\n begin: '(?=@[A-Za-z]+)',\n relevance: 0,\n contains: [\n {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n },\n {\n className: 'type',\n begin: '\\\\{',\n end: '\\\\}',\n excludeEnd: true,\n excludeBegin: true,\n relevance: 0\n },\n {\n className: 'variable',\n begin: IDENT_RE$1 + '(?=\\\\s*(-)|$)',\n endsParent: true,\n relevance: 0\n },\n // eat spaces (not newlines) so we can find\n // types or variables\n {\n begin: /(?=[^\\n])\\s/,\n relevance: 0\n }\n ]\n }\n ]\n }\n );\n const COMMENT = {\n className: \"comment\",\n variants: [\n JSDOC_COMMENT,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.C_LINE_COMMENT_MODE\n ]\n };\n const SUBST_INTERNALS = [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n GRAPHQL_TEMPLATE,\n TEMPLATE_STRING,\n // Skip numbers when they are part of a variable name\n { match: /\\$\\d+/ },\n NUMBER,\n // This is intentional:\n // See https://github.com/highlightjs/highlight.js/issues/3288\n // hljs.REGEXP_MODE\n ];\n SUBST.contains = SUBST_INTERNALS\n .concat({\n // we need to pair up {} inside our subst to prevent\n // it from ending too early by matching another }\n begin: /\\{/,\n end: /\\}/,\n keywords: KEYWORDS$1,\n contains: [\n \"self\"\n ].concat(SUBST_INTERNALS)\n });\n const SUBST_AND_COMMENTS = [].concat(COMMENT, SUBST.contains);\n const PARAMS_CONTAINS = SUBST_AND_COMMENTS.concat([\n // eat recursive parens in sub expressions\n {\n begin: /(\\s*)\\(/,\n end: /\\)/,\n keywords: KEYWORDS$1,\n contains: [\"self\"].concat(SUBST_AND_COMMENTS)\n }\n ]);\n const PARAMS = {\n className: 'params',\n // convert this to negative lookbehind in v12\n begin: /(\\s*)\\(/, // to match the parms with\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n };\n\n // ES6 classes\n const CLASS_OR_EXTENDS = {\n variants: [\n // class Car extends vehicle\n {\n match: [\n /class/,\n /\\s+/,\n IDENT_RE$1,\n /\\s+/,\n /extends/,\n /\\s+/,\n regex.concat(IDENT_RE$1, \"(\", regex.concat(/\\./, IDENT_RE$1), \")*\")\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\",\n 5: \"keyword\",\n 7: \"title.class.inherited\"\n }\n },\n // class Car\n {\n match: [\n /class/,\n /\\s+/,\n IDENT_RE$1\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n },\n\n ]\n };\n\n const CLASS_REFERENCE = {\n relevance: 0,\n match:\n regex.either(\n // Hard coded exceptions\n /\\bJSON/,\n // Float32Array, OutT\n /\\b[A-Z][a-z]+([A-Z][a-z]*|\\d)*/,\n // CSSFactory, CSSFactoryT\n /\\b[A-Z]{2,}([A-Z][a-z]+|\\d)+([A-Z][a-z]*)*/,\n // FPs, FPsT\n /\\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\\d)*([A-Z][a-z]*)*/,\n // P\n // single letters are not highlighted\n // BLAH\n // this will be flagged as a UPPER_CASE_CONSTANT instead\n ),\n className: \"title.class\",\n keywords: {\n _: [\n // se we still get relevance credit for JS library classes\n ...TYPES,\n ...ERROR_TYPES\n ]\n }\n };\n\n const USE_STRICT = {\n label: \"use_strict\",\n className: 'meta',\n relevance: 10,\n begin: /^\\s*['\"]use (strict|asm)['\"]/\n };\n\n const FUNCTION_DEFINITION = {\n variants: [\n {\n match: [\n /function/,\n /\\s+/,\n IDENT_RE$1,\n /(?=\\s*\\()/\n ]\n },\n // anonymous function\n {\n match: [\n /function/,\n /\\s*(?=\\()/\n ]\n }\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n label: \"func.def\",\n contains: [ PARAMS ],\n illegal: /%/\n };\n\n const UPPER_CASE_CONSTANT = {\n relevance: 0,\n match: /\\b[A-Z][A-Z_0-9]+\\b/,\n className: \"variable.constant\"\n };\n\n function noneOf(list) {\n return regex.concat(\"(?!\", list.join(\"|\"), \")\");\n }\n\n const FUNCTION_CALL = {\n match: regex.concat(\n /\\b/,\n noneOf([\n ...BUILT_IN_GLOBALS,\n \"super\",\n \"import\"\n ].map(x => `${x}\\\\s*\\\\(`)),\n IDENT_RE$1, regex.lookahead(/\\s*\\(/)),\n className: \"title.function\",\n relevance: 0\n };\n\n const PROPERTY_ACCESS = {\n begin: regex.concat(/\\./, regex.lookahead(\n regex.concat(IDENT_RE$1, /(?![0-9A-Za-z$_(])/)\n )),\n end: IDENT_RE$1,\n excludeBegin: true,\n keywords: \"prototype\",\n className: \"property\",\n relevance: 0\n };\n\n const GETTER_OR_SETTER = {\n match: [\n /get|set/,\n /\\s+/,\n IDENT_RE$1,\n /(?=\\()/\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n { // eat to avoid empty params\n begin: /\\(\\)/\n },\n PARAMS\n ]\n };\n\n const FUNC_LEAD_IN_RE = '(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)|' + hljs.UNDERSCORE_IDENT_RE + ')\\\\s*=>';\n\n const FUNCTION_VARIABLE = {\n match: [\n /const|var|let/, /\\s+/,\n IDENT_RE$1, /\\s*/,\n /=\\s*/,\n /(async\\s*)?/, // async is optional\n regex.lookahead(FUNC_LEAD_IN_RE)\n ],\n keywords: \"async\",\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n PARAMS\n ]\n };\n\n return {\n name: 'JavaScript',\n aliases: ['js', 'jsx', 'mjs', 'cjs'],\n keywords: KEYWORDS$1,\n // this will be extended by TypeScript\n exports: { PARAMS_CONTAINS, CLASS_REFERENCE },\n illegal: /#(?![$_A-z])/,\n contains: [\n hljs.SHEBANG({\n label: \"shebang\",\n binary: \"node\",\n relevance: 5\n }),\n USE_STRICT,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n GRAPHQL_TEMPLATE,\n TEMPLATE_STRING,\n COMMENT,\n // Skip numbers when they are part of a variable name\n { match: /\\$\\d+/ },\n NUMBER,\n CLASS_REFERENCE,\n {\n scope: 'attr',\n match: IDENT_RE$1 + regex.lookahead(':'),\n relevance: 0\n },\n FUNCTION_VARIABLE,\n { // \"value\" container\n begin: '(' + hljs.RE_STARTERS_RE + '|\\\\b(case|return|throw)\\\\b)\\\\s*',\n keywords: 'return throw case',\n relevance: 0,\n contains: [\n COMMENT,\n hljs.REGEXP_MODE,\n {\n className: 'function',\n // we have to count the parens to make sure we actually have the\n // correct bounding ( ) before the =>. There could be any number of\n // sub-expressions inside also surrounded by parens.\n begin: FUNC_LEAD_IN_RE,\n returnBegin: true,\n end: '\\\\s*=>',\n contains: [\n {\n className: 'params',\n variants: [\n {\n begin: hljs.UNDERSCORE_IDENT_RE,\n relevance: 0\n },\n {\n className: null,\n begin: /\\(\\s*\\)/,\n skip: true\n },\n {\n begin: /(\\s*)\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n }\n ]\n }\n ]\n },\n { // could be a comma delimited list of params to a function call\n begin: /,/,\n relevance: 0\n },\n {\n match: /\\s+/,\n relevance: 0\n },\n { // JSX\n variants: [\n { begin: FRAGMENT.begin, end: FRAGMENT.end },\n { match: XML_SELF_CLOSING },\n {\n begin: XML_TAG.begin,\n // we carefully check the opening tag to see if it truly\n // is a tag and not a false positive\n 'on:begin': XML_TAG.isTrulyOpeningTag,\n end: XML_TAG.end\n }\n ],\n subLanguage: 'xml',\n contains: [\n {\n begin: XML_TAG.begin,\n end: XML_TAG.end,\n skip: true,\n contains: ['self']\n }\n ]\n }\n ],\n },\n FUNCTION_DEFINITION,\n {\n // prevent this from getting swallowed up by function\n // since they appear \"function like\"\n beginKeywords: \"while if switch catch for\"\n },\n {\n // we have to count the parens to make sure we actually have the correct\n // bounding ( ). There could be any number of sub-expressions inside\n // also surrounded by parens.\n begin: '\\\\b(?!function)' + hljs.UNDERSCORE_IDENT_RE +\n '\\\\(' + // first parens\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)\\\\s*\\\\{', // end parens\n returnBegin:true,\n label: \"func.def\",\n contains: [\n PARAMS,\n hljs.inherit(hljs.TITLE_MODE, { begin: IDENT_RE$1, className: \"title.function\" })\n ]\n },\n // catch ... so it won't trigger the property rule below\n {\n match: /\\.\\.\\./,\n relevance: 0\n },\n PROPERTY_ACCESS,\n // hack: prevents detection of keywords in some circumstances\n // .keyword()\n // $keyword = x\n {\n match: '\\\\$' + IDENT_RE$1,\n relevance: 0\n },\n {\n match: [ /\\bconstructor(?=\\s*\\()/ ],\n className: { 1: \"title.function\" },\n contains: [ PARAMS ]\n },\n FUNCTION_CALL,\n UPPER_CASE_CONSTANT,\n CLASS_OR_EXTENDS,\n GETTER_OR_SETTER,\n {\n match: /\\$[(.]/ // relevance booster for a pattern common to JS libs: `$(something)` and `$.something`\n }\n ]\n };\n}\n\n/*\nLanguage: TypeScript\nAuthor: Panu Horsmalahti \nContributors: Ike Ku \nDescription: TypeScript is a strict superset of JavaScript\nWebsite: https://www.typescriptlang.org\nCategory: common, scripting\n*/\n\n\n/** @type LanguageFn */\nfunction typescript(hljs) {\n const regex = hljs.regex;\n const tsLanguage = javascript(hljs);\n\n const IDENT_RE$1 = IDENT_RE;\n const TYPES = [\n \"any\",\n \"void\",\n \"number\",\n \"boolean\",\n \"string\",\n \"object\",\n \"never\",\n \"symbol\",\n \"bigint\",\n \"unknown\"\n ];\n const NAMESPACE = {\n begin: [\n /namespace/,\n /\\s+/,\n hljs.IDENT_RE\n ],\n beginScope: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n };\n const INTERFACE = {\n beginKeywords: 'interface',\n end: /\\{/,\n excludeEnd: true,\n keywords: {\n keyword: 'interface extends',\n built_in: TYPES\n },\n contains: [ tsLanguage.exports.CLASS_REFERENCE ]\n };\n const USE_STRICT = {\n className: 'meta',\n relevance: 10,\n begin: /^\\s*['\"]use strict['\"]/\n };\n const TS_SPECIFIC_KEYWORDS = [\n \"type\",\n // \"namespace\",\n \"interface\",\n \"public\",\n \"private\",\n \"protected\",\n \"implements\",\n \"declare\",\n \"abstract\",\n \"readonly\",\n \"enum\",\n \"override\",\n \"satisfies\"\n ];\n /*\n namespace is a TS keyword but it's fine to use it as a variable name too.\n const message = 'foo';\n const namespace = 'bar';\n */\n const KEYWORDS$1 = {\n $pattern: IDENT_RE,\n keyword: KEYWORDS.concat(TS_SPECIFIC_KEYWORDS),\n literal: LITERALS,\n built_in: BUILT_INS.concat(TYPES),\n \"variable.language\": BUILT_IN_VARIABLES\n };\n\n const DECORATOR = {\n className: 'meta',\n begin: '@' + IDENT_RE$1,\n };\n\n const swapMode = (mode, label, replacement) => {\n const indx = mode.contains.findIndex(m => m.label === label);\n if (indx === -1) { throw new Error(\"can not find mode to replace\"); }\n\n mode.contains.splice(indx, 1, replacement);\n };\n\n\n // this should update anywhere keywords is used since\n // it will be the same actual JS object\n Object.assign(tsLanguage.keywords, KEYWORDS$1);\n\n tsLanguage.exports.PARAMS_CONTAINS.push(DECORATOR);\n\n // highlight the function params\n const ATTRIBUTE_HIGHLIGHT = tsLanguage.contains.find(c => c.scope === \"attr\");\n\n // take default attr rule and extend it to support optionals\n const OPTIONAL_KEY_OR_ARGUMENT = Object.assign({},\n ATTRIBUTE_HIGHLIGHT,\n { match: regex.concat(IDENT_RE$1, regex.lookahead(/\\s*\\?:/)) }\n );\n tsLanguage.exports.PARAMS_CONTAINS.push([\n tsLanguage.exports.CLASS_REFERENCE, // class reference for highlighting the params types\n ATTRIBUTE_HIGHLIGHT, // highlight the params key\n OPTIONAL_KEY_OR_ARGUMENT, // Added for optional property assignment highlighting\n ]);\n\n // Add the optional property assignment highlighting for objects or classes\n tsLanguage.contains = tsLanguage.contains.concat([\n DECORATOR,\n NAMESPACE,\n INTERFACE,\n OPTIONAL_KEY_OR_ARGUMENT, // Added for optional property assignment highlighting\n ]);\n\n // TS gets a simpler shebang rule than JS\n swapMode(tsLanguage, \"shebang\", hljs.SHEBANG());\n // JS use strict rule purposely excludes `asm` which makes no sense\n swapMode(tsLanguage, \"use_strict\", USE_STRICT);\n\n const functionDeclaration = tsLanguage.contains.find(m => m.label === \"func.def\");\n functionDeclaration.relevance = 0; // () => {} is more typical in TypeScript\n\n Object.assign(tsLanguage, {\n name: 'TypeScript',\n aliases: [\n 'ts',\n 'tsx',\n 'mts',\n 'cts'\n ]\n });\n\n return tsLanguage;\n}\n\nexport { typescript as default };\n","/*\nLanguage: Visual Basic .NET\nDescription: Visual Basic .NET (VB.NET) is a multi-paradigm, object-oriented programming language, implemented on the .NET Framework.\nAuthors: Poren Chiang , Jan Pilzer\nWebsite: https://docs.microsoft.com/dotnet/visual-basic/getting-started\nCategory: common\n*/\n\n/** @type LanguageFn */\nfunction vbnet(hljs) {\n const regex = hljs.regex;\n /**\n * Character Literal\n * Either a single character (\"a\"C) or an escaped double quote (\"\"\"\"C).\n */\n const CHARACTER = {\n className: 'string',\n begin: /\"(\"\"|[^/n])\"C\\b/\n };\n\n const STRING = {\n className: 'string',\n begin: /\"/,\n end: /\"/,\n illegal: /\\n/,\n contains: [\n {\n // double quote escape\n begin: /\"\"/ }\n ]\n };\n\n /** Date Literals consist of a date, a time, or both separated by whitespace, surrounded by # */\n const MM_DD_YYYY = /\\d{1,2}\\/\\d{1,2}\\/\\d{4}/;\n const YYYY_MM_DD = /\\d{4}-\\d{1,2}-\\d{1,2}/;\n const TIME_12H = /(\\d|1[012])(:\\d+){0,2} *(AM|PM)/;\n const TIME_24H = /\\d{1,2}(:\\d{1,2}){1,2}/;\n const DATE = {\n className: 'literal',\n variants: [\n {\n // #YYYY-MM-DD# (ISO-Date) or #M/D/YYYY# (US-Date)\n begin: regex.concat(/# */, regex.either(YYYY_MM_DD, MM_DD_YYYY), / *#/) },\n {\n // #H:mm[:ss]# (24h Time)\n begin: regex.concat(/# */, TIME_24H, / *#/) },\n {\n // #h[:mm[:ss]] A# (12h Time)\n begin: regex.concat(/# */, TIME_12H, / *#/) },\n {\n // date plus time\n begin: regex.concat(\n /# */,\n regex.either(YYYY_MM_DD, MM_DD_YYYY),\n / +/,\n regex.either(TIME_12H, TIME_24H),\n / *#/\n ) }\n ]\n };\n\n const NUMBER = {\n className: 'number',\n relevance: 0,\n variants: [\n {\n // Float\n begin: /\\b\\d[\\d_]*((\\.[\\d_]+(E[+-]?[\\d_]+)?)|(E[+-]?[\\d_]+))[RFD@!#]?/ },\n {\n // Integer (base 10)\n begin: /\\b\\d[\\d_]*((U?[SIL])|[%&])?/ },\n {\n // Integer (base 16)\n begin: /&H[\\dA-F_]+((U?[SIL])|[%&])?/ },\n {\n // Integer (base 8)\n begin: /&O[0-7_]+((U?[SIL])|[%&])?/ },\n {\n // Integer (base 2)\n begin: /&B[01_]+((U?[SIL])|[%&])?/ }\n ]\n };\n\n const LABEL = {\n className: 'label',\n begin: /^\\w+:/\n };\n\n const DOC_COMMENT = hljs.COMMENT(/'''/, /$/, { contains: [\n {\n className: 'doctag',\n begin: /<\\/?/,\n end: />/\n }\n ] });\n\n const COMMENT = hljs.COMMENT(null, /$/, { variants: [\n { begin: /'/ },\n {\n // TODO: Use multi-class for leading spaces\n begin: /([\\t ]|^)REM(?=\\s)/ }\n ] });\n\n const DIRECTIVES = {\n className: 'meta',\n // TODO: Use multi-class for indentation once available\n begin: /[\\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\\b/,\n end: /$/,\n keywords: { keyword:\n 'const disable else elseif enable end externalsource if region then' },\n contains: [ COMMENT ]\n };\n\n return {\n name: 'Visual Basic .NET',\n aliases: [ 'vb' ],\n case_insensitive: true,\n classNameAliases: { label: 'symbol' },\n keywords: {\n keyword:\n 'addhandler alias aggregate ansi as async assembly auto binary by byref byval ' /* a-b */\n + 'call case catch class compare const continue custom declare default delegate dim distinct do ' /* c-d */\n + 'each equals else elseif end enum erase error event exit explicit finally for friend from function ' /* e-f */\n + 'get global goto group handles if implements imports in inherits interface into iterator ' /* g-i */\n + 'join key let lib loop me mid module mustinherit mustoverride mybase myclass ' /* j-m */\n + 'namespace narrowing new next notinheritable notoverridable ' /* n */\n + 'of off on operator option optional order overloads overridable overrides ' /* o */\n + 'paramarray partial preserve private property protected public ' /* p */\n + 'raiseevent readonly redim removehandler resume return ' /* r */\n + 'select set shadows shared skip static step stop structure strict sub synclock ' /* s */\n + 'take text then throw to try unicode until using when where while widening with withevents writeonly yield' /* t-y */,\n built_in:\n // Operators https://docs.microsoft.com/dotnet/visual-basic/language-reference/operators\n 'addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor '\n // Type Conversion Functions https://docs.microsoft.com/dotnet/visual-basic/language-reference/functions/type-conversion-functions\n + 'cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort',\n type:\n // Data types https://docs.microsoft.com/dotnet/visual-basic/language-reference/data-types\n 'boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort',\n literal: 'true false nothing'\n },\n illegal:\n '//|\\\\{|\\\\}|endif|gosub|variant|wend|^\\\\$ ' /* reserved deprecated keywords */,\n contains: [\n CHARACTER,\n STRING,\n DATE,\n NUMBER,\n LABEL,\n DOC_COMMENT,\n COMMENT,\n DIRECTIVES\n ]\n };\n}\n\nexport { vbnet as default };\n","/*\nLanguage: WebAssembly\nWebsite: https://webassembly.org\nDescription: Wasm is designed as a portable compilation target for programming languages, enabling deployment on the web for client and server applications.\nCategory: web, common\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction wasm(hljs) {\n hljs.regex;\n const BLOCK_COMMENT = hljs.COMMENT(/\\(;/, /;\\)/);\n BLOCK_COMMENT.contains.push(\"self\");\n const LINE_COMMENT = hljs.COMMENT(/;;/, /$/);\n\n const KWS = [\n \"anyfunc\",\n \"block\",\n \"br\",\n \"br_if\",\n \"br_table\",\n \"call\",\n \"call_indirect\",\n \"data\",\n \"drop\",\n \"elem\",\n \"else\",\n \"end\",\n \"export\",\n \"func\",\n \"global.get\",\n \"global.set\",\n \"local.get\",\n \"local.set\",\n \"local.tee\",\n \"get_global\",\n \"get_local\",\n \"global\",\n \"if\",\n \"import\",\n \"local\",\n \"loop\",\n \"memory\",\n \"memory.grow\",\n \"memory.size\",\n \"module\",\n \"mut\",\n \"nop\",\n \"offset\",\n \"param\",\n \"result\",\n \"return\",\n \"select\",\n \"set_global\",\n \"set_local\",\n \"start\",\n \"table\",\n \"tee_local\",\n \"then\",\n \"type\",\n \"unreachable\"\n ];\n\n const FUNCTION_REFERENCE = {\n begin: [\n /(?:func|call|call_indirect)/,\n /\\s+/,\n /\\$[^\\s)]+/\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n }\n };\n\n const ARGUMENT = {\n className: \"variable\",\n begin: /\\$[\\w_]+/\n };\n\n const PARENS = {\n match: /(\\((?!;)|\\))+/,\n className: \"punctuation\",\n relevance: 0\n };\n\n const NUMBER = {\n className: \"number\",\n relevance: 0,\n // borrowed from Prism, TODO: split out into variants\n match: /[+-]?\\b(?:\\d(?:_?\\d)*(?:\\.\\d(?:_?\\d)*)?(?:[eE][+-]?\\d(?:_?\\d)*)?|0x[\\da-fA-F](?:_?[\\da-fA-F])*(?:\\.[\\da-fA-F](?:_?[\\da-fA-D])*)?(?:[pP][+-]?\\d(?:_?\\d)*)?)\\b|\\binf\\b|\\bnan(?::0x[\\da-fA-F](?:_?[\\da-fA-D])*)?\\b/\n };\n\n const TYPE = {\n // look-ahead prevents us from gobbling up opcodes\n match: /(i32|i64|f32|f64)(?!\\.)/,\n className: \"type\"\n };\n\n const MATH_OPERATIONS = {\n className: \"keyword\",\n // borrowed from Prism, TODO: split out into variants\n match: /\\b(f32|f64|i32|i64)(?:\\.(?:abs|add|and|ceil|clz|const|convert_[su]\\/i(?:32|64)|copysign|ctz|demote\\/f64|div(?:_[su])?|eqz?|extend_[su]\\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\\/f32|reinterpret\\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\\/f(?:32|64))?|wrap\\/i64|xor))\\b/\n };\n\n const OFFSET_ALIGN = {\n match: [\n /(?:offset|align)/,\n /\\s*/,\n /=/\n ],\n className: {\n 1: \"keyword\",\n 3: \"operator\"\n }\n };\n\n return {\n name: 'WebAssembly',\n keywords: {\n $pattern: /[\\w.]+/,\n keyword: KWS\n },\n contains: [\n LINE_COMMENT,\n BLOCK_COMMENT,\n OFFSET_ALIGN,\n ARGUMENT,\n PARENS,\n FUNCTION_REFERENCE,\n hljs.QUOTE_STRING_MODE,\n TYPE,\n MATH_OPERATIONS,\n NUMBER\n ]\n };\n}\n\nexport { wasm as default };\n","/*\nLanguage: HTML, XML\nWebsite: https://www.w3.org/XML/\nCategory: common, web\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction xml(hljs) {\n const regex = hljs.regex;\n // XML names can have the following additional letters: https://www.w3.org/TR/xml/#NT-NameChar\n // OTHER_NAME_CHARS = /[:\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]/;\n // Element names start with NAME_START_CHAR followed by optional other Unicode letters, ASCII digits, hyphens, underscores, and periods\n // const TAG_NAME_RE = regex.concat(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/, regex.optional(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*:/), /[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*/);;\n // const XML_IDENT_RE = /[A-Z_a-z:\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]+/;\n // const TAG_NAME_RE = regex.concat(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/, regex.optional(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*:/), /[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*/);\n // however, to cater for performance and more Unicode support rely simply on the Unicode letter class\n const TAG_NAME_RE = regex.concat(/[\\p{L}_]/u, regex.optional(/[\\p{L}0-9_.-]*:/u), /[\\p{L}0-9_.-]*/u);\n const XML_IDENT_RE = /[\\p{L}0-9._:-]+/u;\n const XML_ENTITIES = {\n className: 'symbol',\n begin: /&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/\n };\n const XML_META_KEYWORDS = {\n begin: /\\s/,\n contains: [\n {\n className: 'keyword',\n begin: /#?[a-z_][a-z1-9_-]+/,\n illegal: /\\n/\n }\n ]\n };\n const XML_META_PAR_KEYWORDS = hljs.inherit(XML_META_KEYWORDS, {\n begin: /\\(/,\n end: /\\)/\n });\n const APOS_META_STRING_MODE = hljs.inherit(hljs.APOS_STRING_MODE, { className: 'string' });\n const QUOTE_META_STRING_MODE = hljs.inherit(hljs.QUOTE_STRING_MODE, { className: 'string' });\n const TAG_INTERNALS = {\n endsWithParent: true,\n illegal: /`]+/ }\n ]\n }\n ]\n }\n ]\n };\n return {\n name: 'HTML, XML',\n aliases: [\n 'html',\n 'xhtml',\n 'rss',\n 'atom',\n 'xjb',\n 'xsd',\n 'xsl',\n 'plist',\n 'wsf',\n 'svg'\n ],\n case_insensitive: true,\n unicodeRegex: true,\n contains: [\n {\n className: 'meta',\n begin: //,\n relevance: 10,\n contains: [\n XML_META_KEYWORDS,\n QUOTE_META_STRING_MODE,\n APOS_META_STRING_MODE,\n XML_META_PAR_KEYWORDS,\n {\n begin: /\\[/,\n end: /\\]/,\n contains: [\n {\n className: 'meta',\n begin: //,\n contains: [\n XML_META_KEYWORDS,\n XML_META_PAR_KEYWORDS,\n QUOTE_META_STRING_MODE,\n APOS_META_STRING_MODE\n ]\n }\n ]\n }\n ]\n },\n hljs.COMMENT(\n //,\n { relevance: 10 }\n ),\n {\n begin: //,\n relevance: 10\n },\n XML_ENTITIES,\n // xml processing instructions\n {\n className: 'meta',\n end: /\\?>/,\n variants: [\n {\n begin: /<\\?xml/,\n relevance: 10,\n contains: [\n QUOTE_META_STRING_MODE\n ]\n },\n {\n begin: /<\\?[a-z][a-z0-9]+/,\n }\n ]\n\n },\n {\n className: 'tag',\n /*\n The lookahead pattern (?=...) ensures that 'begin' only matches\n ')/,\n end: />/,\n keywords: { name: 'style' },\n contains: [ TAG_INTERNALS ],\n starts: {\n end: /<\\/style>/,\n returnEnd: true,\n subLanguage: [\n 'css',\n 'xml'\n ]\n }\n },\n {\n className: 'tag',\n // See the comment in the \n","/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { IActivityType } from '../models/ActivitySettings.js'\n\n/**\n * Return wether the notification method can be checked for the activity\n *\n * @param activity - the concerned activity\n * @param methodKey - the concerned method\n * @return {boolean}\n */\nexport function isActivityEnabled(activity: IActivityType, methodKey: string) {\n\treturn activity.methods.includes(methodKey)\n}\n\n/**\n * @param activities - List of the activities to check\n * @param methodKey - the method key for which to verify the checked value\n * @return {boolean} Wether at least one input is checked for the given set of activities\n */\nexport function isOneInputUnChecked(activities: IActivityType[], methodKey: string) {\n\tfor (const activity of activities) {\n\t\tif (isActivityEnabled(activity, methodKey) && !activity[methodKey]) {\n\t\t\treturn true\n\t\t}\n\t}\n\n\treturn false\n}\n","\n\n\n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport Vue from 'vue'\nimport Vuex from 'vuex'\nimport { translate as t } from '@nextcloud/l10n'\n\nimport axios from '@nextcloud/axios'\nimport { generateUrl } from '@nextcloud/router'\nimport { loadState } from '@nextcloud/initial-state'\nimport { showSuccess, showError } from '@nextcloud/dialogs'\n\nimport { isActivityEnabled, isOneInputUnChecked } from '../utils/settings.ts'\nimport logger from '../utils/logger.ts'\n\nVue.use(Vuex)\n\n/**\n * @typedef {object} SettingsState\n * @property {object} setting .\n * @property {Object} activityGroups Activity setting groups that should be shown (Files, Calendar, ...)\n * @property {boolean} isEmailSet Whether the user has a valid email address set\n * @property {boolean} emailEnabled Whether activity emails should be sent\n * @property {boolean} activityDigestEnabled Whether the daily digest should be sent\n * @property {0|1|2|3} settingBatchtime How to group the activity emails\n * @property {Array} methods Available methods for activity (push, mail, ...)\n * @property {string} endpoint API endpoint to talk to (user or admin settings)\n */\n\nconst store = new Vuex.Store({\n\tstrict: true,\n\t/** @type {SettingsState} */\n\tstate: {\n\t\tsetting: loadState('activity', 'setting'),\n\t\tactivityGroups: loadState('activity', 'activity_groups'),\n\t\tisEmailSet: loadState('activity', 'is_email_set'),\n\t\temailEnabled: loadState('activity', 'email_enabled'),\n\t\tactivityDigestEnabled: loadState('activity', 'activity_digest_enabled', false),\n\t\tsettingBatchtime: loadState('activity', 'setting_batchtime'),\n\t\tmethods: loadState('activity', 'methods'),\n\t\tendpoint: '',\n\t},\n\tgetters: {\n\t\t/**\n\t\t * Return an array of checked activities.\n\t\t *\n\t\t * @param {SettingsState} state - The current state.\n\t\t * @return {Array}\n\t\t */\n\t\tcheckedActivities(state) {\n\t\t\tconst methodsEnabled = (activityKey, activity) => {\n\t\t\t\tconst methods = []\n\t\t\t\tif (activity.email) {\n\t\t\t\t\tmethods.push({ activityKey, method: 'email', activity })\n\t\t\t\t}\n\t\t\t\tif (activity.notification) {\n\t\t\t\t\tmethods.push({ activityKey, method: 'notification', activity })\n\t\t\t\t}\n\t\t\t\treturn methods\n\t\t\t}\n\n\t\t\treturn Object.values(state.activityGroups)\n\t\t\t\t.map(group => Object.entries(group.activities)) // [[[activityKey, activity], ...], [[activityKey, activity], ...]]\n\t\t\t\t.reduce((acc, val) => acc.concat(val), []) // [[activityKey, activity], ...]\n\t\t\t\t.map(([activityKey, activity]) => methodsEnabled(activityKey, activity)) // [[{activityKey, method, activity}, ...], ...]\n\t\t\t\t.reduce((acc, val) => acc.concat(val), [])\n\t\t\t\t.filter(({ activity, method }) => activity[method])\n\t\t\t\t.map(({ activityKey, method }) => `${activityKey}_${method}`) // ['enabled_activity_key', ...]\n\t\t},\n\t},\n\tmutations: {\n\t\t/**\n\t\t * Update the 'enabled' state of a notification method for a given group/activity/method tuple\n\t\t *\n\t\t * @param {SettingsState} state - The current state.\n\t\t * @param {object} payload - The payload.\n\t\t * @param {string} payload.groupKey - The targeted group\n\t\t * @param {string} payload.activityKey - The targeted activity\n\t\t * @param {string} payload.methodKey - The targeted method\n\t\t * @param {string} payload.value - The value to set\n\t\t */\n\t\tSET_METHOD_FOR_METHOD_AND_ACTIVITY(state, { groupKey, activityKey, methodKey, value }) {\n\t\t\tconst group = state.activityGroups[groupKey]\n\t\t\tconst activity = group.activities[activityKey]\n\n\t\t\tif (isActivityEnabled(activity, methodKey)) {\n\t\t\t\tactivity[methodKey] = value\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Set the endpoint used to save the settings.\n\t\t *\n\t\t * @param {SettingsState} state - The current state.\n\t\t * @param {object} payload - The payload.\n\t\t * @param {string} payload.endpoint - Where to POST the saveSettings request.\n\t\t */\n\t\tSET_ENDPOINT(state, { endpoint }) {\n\t\t\tstate.endpoint = endpoint\n\t\t},\n\t\t/**\n\t\t * Set the batch time.\n\t\t *\n\t\t * @param {SettingsState} state - The current state.\n\t\t * @param {object} payload - The payload.\n\t\t * @param {0|1|2|3} payload.settingBatchtime - The selected batch time.\n\t\t */\n\t\tSET_SETTING_BATCHTIME(state, { settingBatchtime }) {\n\t\t\tstate.settingBatchtime = settingBatchtime\n\t\t},\n\t\t/**\n\t\t * Toggle activity digest.\n\t\t *\n\t\t * @param {SettingsState} state - The current state.\n\t\t * @param {object} payload - The payload.\n\t\t * @param {boolean} payload.activityDigestEnabled - Enabled status of the activity digest.\n\t\t */\n\t\tTOGGLE_ACTIVITY_DIGEST(state, { activityDigestEnabled }) {\n\t\t\tstate.activityDigestEnabled = activityDigestEnabled\n\t\t},\n\t\t/**\n\t\t * Toggle the availability of mail notifications\n\t\t *\n\t\t * @param {SettingsState} state - The current state.\n\t\t * @param {object} payload - The payload.\n\t\t * @param {boolean} payload.emailEnabled - Enabled status of the email notifications.\n\t\t */\n\t\tTOGGLE_EMAIL_ENABLED(state, { emailEnabled }) {\n\t\t\tstate.emailEnabled = emailEnabled\n\t\t},\n\t},\n\tactions: {\n\t\t/**\n\t\t * Set the endpoint used to save the settings.\n\t\t *\n\t\t * @param {object} _ - Action context\n\t\t * @param {Function} _.commit - State modifying function\n\t\t * @param {object} payload - The payload.\n\t\t * @param {string} payload.endpoint - Where to POST the saveSettings request.\n\t\t */\n\t\tsetEndpoint({ commit }, { endpoint }) {\n\t\t\tcommit('SET_ENDPOINT', { endpoint })\n\t\t},\n\n\t\t/**\n\t\t * Toggle the 'enabled' state of a notification method for a given group/activity/method tuple\n\t\t *\n\t\t * @param {object} _ - Action context\n\t\t * @param {Function} _.commit - State modifying function\n\t\t * @param {Function} _.dispatch - Function to dispatch another action\n\t\t * @param {object} _.state - Current state\n\t\t * @param {object} payload - The payload.\n\t\t * @param {string} payload.groupKey - The targeted group\n\t\t * @param {string} payload.activityKey - The targeted activity\n\t\t * @param {string} payload.methodKey - The targeted method\n\t\t */\n\t\ttoggleMethodForMethodAndActivity({ commit, state, dispatch }, { groupKey, activityKey, methodKey }) {\n\t\t\tconst activity = state.activityGroups[groupKey].activities[activityKey]\n\t\t\tconst oneInputIsChecked = isOneInputUnChecked([activity], methodKey)\n\n\t\t\tcommit(\n\t\t\t\t'SET_METHOD_FOR_METHOD_AND_ACTIVITY',\n\t\t\t\t{\n\t\t\t\t\tgroupKey,\n\t\t\t\t\tactivityKey,\n\t\t\t\t\tmethodKey,\n\t\t\t\t\tvalue: oneInputIsChecked,\n\t\t\t\t})\n\n\t\t\tdispatch('saveSettings')\n\t\t},\n\n\t\t/**\n\t\t * Toggle the 'enabled' state of a notification method for a given group/method tuple\n\t\t *\n\t\t * @param {object} _ - Action context\n\t\t * @param {Function} _.commit - State modifying function\n\t\t * @param {Function} _.dispatch - Function to dispatch another action\n\t\t * @param {object} _.state - Current state\n\t\t * @param {object} payload - The payload.\n\t\t * @param {string} payload.groupKey - The targeted group\n\t\t * @param {string} payload.methodKey - The targeted method\n\t\t */\n\t\ttoggleMethodForGroup({ commit, state, dispatch }, { groupKey, methodKey }) {\n\t\t\tconst activities = Object.values(state.activityGroups[groupKey].activities)\n\t\t\tconst oneInputIsChecked = isOneInputUnChecked(activities, methodKey)\n\n\t\t\tfor (const activityKey in state.activityGroups[groupKey].activities) {\n\t\t\t\tcommit(\n\t\t\t\t\t'SET_METHOD_FOR_METHOD_AND_ACTIVITY',\n\t\t\t\t\t{\n\t\t\t\t\t\tgroupKey,\n\t\t\t\t\t\tactivityKey,\n\t\t\t\t\t\tmethodKey,\n\t\t\t\t\t\tvalue: oneInputIsChecked,\n\t\t\t\t\t})\n\t\t\t}\n\n\t\t\tdispatch('saveSettings')\n\t\t},\n\n\t\t/**\n\t\t * Toggle the 'enabled' state of a notification method for a given group/activity tuple\n\t\t *\n\t\t * @param {object} _ - Action context\n\t\t * @param {Function} _.commit - State modifying function\n\t\t * @param {Function} _.dispatch - Function to dispatch another action\n\t\t * @param {object} _.state - Current state\n\t\t * @param {object} payload - The payload.\n\t\t * @param {string} payload.groupKey - The targeted group\n\t\t * @param {string} payload.activityKey - The targeted activity\n\t\t */\n\t\ttoggleMethodsForActivity({ commit, state, dispatch }, { groupKey, activityKey }) {\n\t\t\tconst activity = state.activityGroups[groupKey].activities[activityKey]\n\t\t\tconst oneInputIsChecked = activity.methods.map(method => isOneInputUnChecked([activity], method)).includes(true)\n\n\t\t\tfor (const methodKey of activity.methods) {\n\t\t\t\tcommit(\n\t\t\t\t\t'SET_METHOD_FOR_METHOD_AND_ACTIVITY',\n\t\t\t\t\t{\n\t\t\t\t\t\tgroupKey,\n\t\t\t\t\t\tactivityKey,\n\t\t\t\t\t\tmethodKey,\n\t\t\t\t\t\tvalue: oneInputIsChecked,\n\t\t\t\t\t})\n\t\t\t}\n\n\t\t\tdispatch('saveSettings')\n\t\t},\n\n\t\t/**\n\t\t * Set the batch time.\n\t\t *\n\t\t * @param {object} _ - Action context\n\t\t * @param {Function} _.commit - State modifying function\n\t\t * @param {Function} _.dispatch - Function to dispatch another action\n\t\t * @param {object} payload - The payload.\n\t\t * @param {0|1|2|3} payload.settingBatchtime - The selected batch time.\n\t\t */\n\t\tsetSettingBatchtime({ commit, dispatch }, { settingBatchtime }) {\n\t\t\tcommit(\n\t\t\t\t'SET_SETTING_BATCHTIME',\n\t\t\t\t{\n\t\t\t\t\tsettingBatchtime,\n\t\t\t\t})\n\n\t\t\tdispatch('saveSettings')\n\t\t},\n\n\t\t/**\n\t\t * Toggle the activity digest.\n\t\t *\n\t\t * @param {object} _ - Action context\n\t\t * @param {Function} _.commit - State modifying function\n\t\t * @param {Function} _.dispatch - Function to dispatch another action\n\t\t * @param {object} payload - The payload.\n\t\t * @param {boolean} payload.activityDigestEnabled - Enabled status of the activity digest.\n\t\t */\n\t\ttoggleActivityDigestEnabled({ commit, dispatch }, { activityDigestEnabled }) {\n\t\t\tcommit(\n\t\t\t\t'TOGGLE_ACTIVITY_DIGEST',\n\t\t\t\t{\n\t\t\t\t\tactivityDigestEnabled,\n\t\t\t\t})\n\n\t\t\tdispatch('saveSettings')\n\t\t},\n\n\t\t/**\n\t\t * Toggle the availability of mail notifications\n\t\t *\n\t\t * @param {object} _ - Action context\n\t\t * @param {Function} _.commit - State modifying function\n\t\t * @param {object} payload - The payload.\n\t\t * @param {boolean} payload.emailEnabled - Enabled status of the email notifications.\n\t\t */\n\t\ttoggleEmailEnabled({ commit }, { emailEnabled }) {\n\t\t\tcommit(\n\t\t\t\t'TOGGLE_EMAIL_ENABLED',\n\t\t\t\t{\n\t\t\t\t\temailEnabled,\n\t\t\t\t})\n\n\t\t\ttry {\n\n\t\t\t\tOCP.AppConfig.setValue(\n\t\t\t\t\t'activity', 'enable_email',\n\t\t\t\t\temailEnabled ? 'yes' : 'no'\n\t\t\t\t)\n\n\t\t\t\tshowSuccess(t('activity', 'Your settings have been updated.'))\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('activity', 'Unable to save the settings'))\n\t\t\t\tlogger.error('An error occurred while saving the activity settings', error)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Save the currently displayed settings\n\t\t *\n\t\t * @param {object} _ - Action context\n\t\t * @param {object} _.state - Current state\n\t\t * @param {object} _.getters - Getter functions for the state\n\t\t */\n\t\tasync saveSettings({ state, getters }) {\n\t\t\ttry {\n\t\t\t\tconst form = new FormData()\n\t\t\t\tgetters.checkedActivities.forEach(activity => {\n\t\t\t\t\tform.append(activity, '1')\n\t\t\t\t})\n\n\t\t\t\tform.append('notify_setting_batchtime', `${state.settingBatchtime}`)\n\t\t\t\tform.append('activity_digest', `${state.activityDigestEnabled ? 1 : 0}`)\n\n\t\t\t\tconst response = await axios.post(generateUrl(state.endpoint), form)\n\n\t\t\t\tshowSuccess(response.data.data.message)\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('activity', 'Unable to save the settings'))\n\t\t\t\tlogger.error('An error occurred while saving the activity settings', error)\n\t\t\t}\n\t\t},\n\t},\n})\n\nexport default store\n"],"names":["applyMixin","Vue","version","vuexInit","_init","options","target","global","devtoolHook","devtoolPlugin","store","targetState","mutation","state","action","find","list","f","deepCopy","obj","cache","hit","c","copy","key","forEachValue","fn","isObject","isPromise","val","partial","arg","Module","rawModule","runtime","rawState","prototypeAccessors","module","ModuleCollection","rawRootModule","path","namespace","update","this$1","newModule","parent","rawChildModule","child","targetModule","Store","install","plugins","strict","ref","dispatch","commit","type","payload","installModule","resetStoreVM","plugin","useDevtools","prototypeAccessors$1","v","_type","_payload","_options","unifyObjectStyle","entry","handler","sub","result","resolve","reject","res","error","genericSubscribe","subs","getter","cb","parentState","getNestedState","resetStore","newOptions","committing","i","hot","oldVm","wrappedGetters","computed","silent","enableStrictMode","rootState","isRoot","moduleName","local","makeLocalContext","namespacedType","registerMutation","registerAction","registerGetter","noNamespace","args","makeLocalGetters","gettersProxy","splitPos","localType","err","rawGetter","_Vue","mapState","normalizeNamespace","states","normalizeMap","getters","getModuleByNamespace","mapMutations","mutations","len","mapGetters","mapActions","actions","createNamespacedHelpers","map","isValidMap","helper","createLogger","collapsed","filter","stateBefore","stateAfter","transformer","mutationTransformer","mut","actionFilter","actionTransformer","act","logMutations","logActions","logger","prevState","nextState","formattedTime","getFormattedTime","formattedMutation","message","startMessage","endMessage","formattedAction","time","pad","repeat","str","times","num","maxLength","index","register","t23","_sfc_main$1","_sfc_render$1","_vm","_c","$event","_sfc_staticRenderFns$1","__component__$1","normalizeComponent","HelpCircle","_sfc_main","t","major","_sfc_render","_sfc_staticRenderFns","__component__","NcSettingsSection","id","MinusBox","CheckboxBlank","CheckboxMarked","CheckboxBlankOutline","values","input","isActivityEnabled","activity","methodKey","isOneInputUnChecked","activities","Checkbox","method","Vuex","loadState","methodsEnabled","activityKey","methods","group","acc","groupKey","value","endpoint","settingBatchtime","activityDigestEnabled","emailEnabled","oneInputIsChecked","showSuccess","showError","form","response","axios","generateUrl"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5]} \ No newline at end of file +{"version":3,"file":"settings-store-BLIAUhmj.chunk.mjs","sources":["../node_modules/vuex/dist/vuex.esm.js","../node_modules/@nextcloud/vue/dist/chunks/NcSettingsSection-C76Kqeew.mjs","../node_modules/vue-material-design-icons/CheckboxBlankOutline.vue","../node_modules/vue-material-design-icons/CheckboxBlank.vue","../node_modules/vue-material-design-icons/MinusBox.vue","../node_modules/vue-material-design-icons/CheckboxMarked.vue","../src/components/Checkbox.vue","../src/utils/settings.ts","../src/components/ActivityGrid.vue","../src/store/settings-store.js"],"sourcesContent":["/*!\n * vuex v3.6.2\n * (c) 2021 Evan You\n * @license MIT\n */\nfunction applyMixin (Vue) {\n var version = Number(Vue.version.split('.')[0]);\n\n if (version >= 2) {\n Vue.mixin({ beforeCreate: vuexInit });\n } else {\n // override init and inject vuex init procedure\n // for 1.x backwards compatibility.\n var _init = Vue.prototype._init;\n Vue.prototype._init = function (options) {\n if ( options === void 0 ) options = {};\n\n options.init = options.init\n ? [vuexInit].concat(options.init)\n : vuexInit;\n _init.call(this, options);\n };\n }\n\n /**\n * Vuex init hook, injected into each instances init hooks list.\n */\n\n function vuexInit () {\n var options = this.$options;\n // store injection\n if (options.store) {\n this.$store = typeof options.store === 'function'\n ? options.store()\n : options.store;\n } else if (options.parent && options.parent.$store) {\n this.$store = options.parent.$store;\n }\n }\n}\n\nvar target = typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\nvar devtoolHook = target.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\nfunction devtoolPlugin (store) {\n if (!devtoolHook) { return }\n\n store._devtoolHook = devtoolHook;\n\n devtoolHook.emit('vuex:init', store);\n\n devtoolHook.on('vuex:travel-to-state', function (targetState) {\n store.replaceState(targetState);\n });\n\n store.subscribe(function (mutation, state) {\n devtoolHook.emit('vuex:mutation', mutation, state);\n }, { prepend: true });\n\n store.subscribeAction(function (action, state) {\n devtoolHook.emit('vuex:action', action, state);\n }, { prepend: true });\n}\n\n/**\n * Get the first item that pass the test\n * by second argument function\n *\n * @param {Array} list\n * @param {Function} f\n * @return {*}\n */\nfunction find (list, f) {\n return list.filter(f)[0]\n}\n\n/**\n * Deep copy the given object considering circular structure.\n * This function caches all nested objects and its copies.\n * If it detects circular structure, use cached copy to avoid infinite loop.\n *\n * @param {*} obj\n * @param {Array} cache\n * @return {*}\n */\nfunction deepCopy (obj, cache) {\n if ( cache === void 0 ) cache = [];\n\n // just return if obj is immutable value\n if (obj === null || typeof obj !== 'object') {\n return obj\n }\n\n // if obj is hit, it is in circular structure\n var hit = find(cache, function (c) { return c.original === obj; });\n if (hit) {\n return hit.copy\n }\n\n var copy = Array.isArray(obj) ? [] : {};\n // put the copy into cache at first\n // because we want to refer it in recursive deepCopy\n cache.push({\n original: obj,\n copy: copy\n });\n\n Object.keys(obj).forEach(function (key) {\n copy[key] = deepCopy(obj[key], cache);\n });\n\n return copy\n}\n\n/**\n * forEach for object\n */\nfunction forEachValue (obj, fn) {\n Object.keys(obj).forEach(function (key) { return fn(obj[key], key); });\n}\n\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nfunction isPromise (val) {\n return val && typeof val.then === 'function'\n}\n\nfunction assert (condition, msg) {\n if (!condition) { throw new Error((\"[vuex] \" + msg)) }\n}\n\nfunction partial (fn, arg) {\n return function () {\n return fn(arg)\n }\n}\n\n// Base data struct for store's module, package with some attribute and method\nvar Module = function Module (rawModule, runtime) {\n this.runtime = runtime;\n // Store some children item\n this._children = Object.create(null);\n // Store the origin module object which passed by programmer\n this._rawModule = rawModule;\n var rawState = rawModule.state;\n\n // Store the origin module's state\n this.state = (typeof rawState === 'function' ? rawState() : rawState) || {};\n};\n\nvar prototypeAccessors = { namespaced: { configurable: true } };\n\nprototypeAccessors.namespaced.get = function () {\n return !!this._rawModule.namespaced\n};\n\nModule.prototype.addChild = function addChild (key, module) {\n this._children[key] = module;\n};\n\nModule.prototype.removeChild = function removeChild (key) {\n delete this._children[key];\n};\n\nModule.prototype.getChild = function getChild (key) {\n return this._children[key]\n};\n\nModule.prototype.hasChild = function hasChild (key) {\n return key in this._children\n};\n\nModule.prototype.update = function update (rawModule) {\n this._rawModule.namespaced = rawModule.namespaced;\n if (rawModule.actions) {\n this._rawModule.actions = rawModule.actions;\n }\n if (rawModule.mutations) {\n this._rawModule.mutations = rawModule.mutations;\n }\n if (rawModule.getters) {\n this._rawModule.getters = rawModule.getters;\n }\n};\n\nModule.prototype.forEachChild = function forEachChild (fn) {\n forEachValue(this._children, fn);\n};\n\nModule.prototype.forEachGetter = function forEachGetter (fn) {\n if (this._rawModule.getters) {\n forEachValue(this._rawModule.getters, fn);\n }\n};\n\nModule.prototype.forEachAction = function forEachAction (fn) {\n if (this._rawModule.actions) {\n forEachValue(this._rawModule.actions, fn);\n }\n};\n\nModule.prototype.forEachMutation = function forEachMutation (fn) {\n if (this._rawModule.mutations) {\n forEachValue(this._rawModule.mutations, fn);\n }\n};\n\nObject.defineProperties( Module.prototype, prototypeAccessors );\n\nvar ModuleCollection = function ModuleCollection (rawRootModule) {\n // register root module (Vuex.Store options)\n this.register([], rawRootModule, false);\n};\n\nModuleCollection.prototype.get = function get (path) {\n return path.reduce(function (module, key) {\n return module.getChild(key)\n }, this.root)\n};\n\nModuleCollection.prototype.getNamespace = function getNamespace (path) {\n var module = this.root;\n return path.reduce(function (namespace, key) {\n module = module.getChild(key);\n return namespace + (module.namespaced ? key + '/' : '')\n }, '')\n};\n\nModuleCollection.prototype.update = function update$1 (rawRootModule) {\n update([], this.root, rawRootModule);\n};\n\nModuleCollection.prototype.register = function register (path, rawModule, runtime) {\n var this$1 = this;\n if ( runtime === void 0 ) runtime = true;\n\n if ((process.env.NODE_ENV !== 'production')) {\n assertRawModule(path, rawModule);\n }\n\n var newModule = new Module(rawModule, runtime);\n if (path.length === 0) {\n this.root = newModule;\n } else {\n var parent = this.get(path.slice(0, -1));\n parent.addChild(path[path.length - 1], newModule);\n }\n\n // register nested modules\n if (rawModule.modules) {\n forEachValue(rawModule.modules, function (rawChildModule, key) {\n this$1.register(path.concat(key), rawChildModule, runtime);\n });\n }\n};\n\nModuleCollection.prototype.unregister = function unregister (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n var child = parent.getChild(key);\n\n if (!child) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\n \"[vuex] trying to unregister module '\" + key + \"', which is \" +\n \"not registered\"\n );\n }\n return\n }\n\n if (!child.runtime) {\n return\n }\n\n parent.removeChild(key);\n};\n\nModuleCollection.prototype.isRegistered = function isRegistered (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n\n if (parent) {\n return parent.hasChild(key)\n }\n\n return false\n};\n\nfunction update (path, targetModule, newModule) {\n if ((process.env.NODE_ENV !== 'production')) {\n assertRawModule(path, newModule);\n }\n\n // update target module\n targetModule.update(newModule);\n\n // update nested modules\n if (newModule.modules) {\n for (var key in newModule.modules) {\n if (!targetModule.getChild(key)) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\n \"[vuex] trying to add a new module '\" + key + \"' on hot reloading, \" +\n 'manual reload is needed'\n );\n }\n return\n }\n update(\n path.concat(key),\n targetModule.getChild(key),\n newModule.modules[key]\n );\n }\n }\n}\n\nvar functionAssert = {\n assert: function (value) { return typeof value === 'function'; },\n expected: 'function'\n};\n\nvar objectAssert = {\n assert: function (value) { return typeof value === 'function' ||\n (typeof value === 'object' && typeof value.handler === 'function'); },\n expected: 'function or object with \"handler\" function'\n};\n\nvar assertTypes = {\n getters: functionAssert,\n mutations: functionAssert,\n actions: objectAssert\n};\n\nfunction assertRawModule (path, rawModule) {\n Object.keys(assertTypes).forEach(function (key) {\n if (!rawModule[key]) { return }\n\n var assertOptions = assertTypes[key];\n\n forEachValue(rawModule[key], function (value, type) {\n assert(\n assertOptions.assert(value),\n makeAssertionMessage(path, key, type, value, assertOptions.expected)\n );\n });\n });\n}\n\nfunction makeAssertionMessage (path, key, type, value, expected) {\n var buf = key + \" should be \" + expected + \" but \\\"\" + key + \".\" + type + \"\\\"\";\n if (path.length > 0) {\n buf += \" in module \\\"\" + (path.join('.')) + \"\\\"\";\n }\n buf += \" is \" + (JSON.stringify(value)) + \".\";\n return buf\n}\n\nvar Vue; // bind on install\n\nvar Store = function Store (options) {\n var this$1 = this;\n if ( options === void 0 ) options = {};\n\n // Auto install if it is not done yet and `window` has `Vue`.\n // To allow users to avoid auto-installation in some cases,\n // this code should be placed here. See #731\n if (!Vue && typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Vue, \"must call Vue.use(Vuex) before creating a store instance.\");\n assert(typeof Promise !== 'undefined', \"vuex requires a Promise polyfill in this browser.\");\n assert(this instanceof Store, \"store must be called with the new operator.\");\n }\n\n var plugins = options.plugins; if ( plugins === void 0 ) plugins = [];\n var strict = options.strict; if ( strict === void 0 ) strict = false;\n\n // store internal state\n this._committing = false;\n this._actions = Object.create(null);\n this._actionSubscribers = [];\n this._mutations = Object.create(null);\n this._wrappedGetters = Object.create(null);\n this._modules = new ModuleCollection(options);\n this._modulesNamespaceMap = Object.create(null);\n this._subscribers = [];\n this._watcherVM = new Vue();\n this._makeLocalGettersCache = Object.create(null);\n\n // bind commit and dispatch to self\n var store = this;\n var ref = this;\n var dispatch = ref.dispatch;\n var commit = ref.commit;\n this.dispatch = function boundDispatch (type, payload) {\n return dispatch.call(store, type, payload)\n };\n this.commit = function boundCommit (type, payload, options) {\n return commit.call(store, type, payload, options)\n };\n\n // strict mode\n this.strict = strict;\n\n var state = this._modules.root.state;\n\n // init root module.\n // this also recursively registers all sub-modules\n // and collects all module getters inside this._wrappedGetters\n installModule(this, state, [], this._modules.root);\n\n // initialize the store vm, which is responsible for the reactivity\n // (also registers _wrappedGetters as computed properties)\n resetStoreVM(this, state);\n\n // apply plugins\n plugins.forEach(function (plugin) { return plugin(this$1); });\n\n var useDevtools = options.devtools !== undefined ? options.devtools : Vue.config.devtools;\n if (useDevtools) {\n devtoolPlugin(this);\n }\n};\n\nvar prototypeAccessors$1 = { state: { configurable: true } };\n\nprototypeAccessors$1.state.get = function () {\n return this._vm._data.$$state\n};\n\nprototypeAccessors$1.state.set = function (v) {\n if ((process.env.NODE_ENV !== 'production')) {\n assert(false, \"use store.replaceState() to explicit replace store state.\");\n }\n};\n\nStore.prototype.commit = function commit (_type, _payload, _options) {\n var this$1 = this;\n\n // check object-style commit\n var ref = unifyObjectStyle(_type, _payload, _options);\n var type = ref.type;\n var payload = ref.payload;\n var options = ref.options;\n\n var mutation = { type: type, payload: payload };\n var entry = this._mutations[type];\n if (!entry) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] unknown mutation type: \" + type));\n }\n return\n }\n this._withCommit(function () {\n entry.forEach(function commitIterator (handler) {\n handler(payload);\n });\n });\n\n this._subscribers\n .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe\n .forEach(function (sub) { return sub(mutation, this$1.state); });\n\n if (\n (process.env.NODE_ENV !== 'production') &&\n options && options.silent\n ) {\n console.warn(\n \"[vuex] mutation type: \" + type + \". Silent option has been removed. \" +\n 'Use the filter functionality in the vue-devtools'\n );\n }\n};\n\nStore.prototype.dispatch = function dispatch (_type, _payload) {\n var this$1 = this;\n\n // check object-style dispatch\n var ref = unifyObjectStyle(_type, _payload);\n var type = ref.type;\n var payload = ref.payload;\n\n var action = { type: type, payload: payload };\n var entry = this._actions[type];\n if (!entry) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] unknown action type: \" + type));\n }\n return\n }\n\n try {\n this._actionSubscribers\n .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe\n .filter(function (sub) { return sub.before; })\n .forEach(function (sub) { return sub.before(action, this$1.state); });\n } catch (e) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\"[vuex] error in before action subscribers: \");\n console.error(e);\n }\n }\n\n var result = entry.length > 1\n ? Promise.all(entry.map(function (handler) { return handler(payload); }))\n : entry[0](payload);\n\n return new Promise(function (resolve, reject) {\n result.then(function (res) {\n try {\n this$1._actionSubscribers\n .filter(function (sub) { return sub.after; })\n .forEach(function (sub) { return sub.after(action, this$1.state); });\n } catch (e) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\"[vuex] error in after action subscribers: \");\n console.error(e);\n }\n }\n resolve(res);\n }, function (error) {\n try {\n this$1._actionSubscribers\n .filter(function (sub) { return sub.error; })\n .forEach(function (sub) { return sub.error(action, this$1.state, error); });\n } catch (e) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\"[vuex] error in error action subscribers: \");\n console.error(e);\n }\n }\n reject(error);\n });\n })\n};\n\nStore.prototype.subscribe = function subscribe (fn, options) {\n return genericSubscribe(fn, this._subscribers, options)\n};\n\nStore.prototype.subscribeAction = function subscribeAction (fn, options) {\n var subs = typeof fn === 'function' ? { before: fn } : fn;\n return genericSubscribe(subs, this._actionSubscribers, options)\n};\n\nStore.prototype.watch = function watch (getter, cb, options) {\n var this$1 = this;\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(typeof getter === 'function', \"store.watch only accepts a function.\");\n }\n return this._watcherVM.$watch(function () { return getter(this$1.state, this$1.getters); }, cb, options)\n};\n\nStore.prototype.replaceState = function replaceState (state) {\n var this$1 = this;\n\n this._withCommit(function () {\n this$1._vm._data.$$state = state;\n });\n};\n\nStore.prototype.registerModule = function registerModule (path, rawModule, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof path === 'string') { path = [path]; }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n assert(path.length > 0, 'cannot register the root module by using registerModule.');\n }\n\n this._modules.register(path, rawModule);\n installModule(this, this.state, path, this._modules.get(path), options.preserveState);\n // reset store to update getters...\n resetStoreVM(this, this.state);\n};\n\nStore.prototype.unregisterModule = function unregisterModule (path) {\n var this$1 = this;\n\n if (typeof path === 'string') { path = [path]; }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n this._modules.unregister(path);\n this._withCommit(function () {\n var parentState = getNestedState(this$1.state, path.slice(0, -1));\n Vue.delete(parentState, path[path.length - 1]);\n });\n resetStore(this);\n};\n\nStore.prototype.hasModule = function hasModule (path) {\n if (typeof path === 'string') { path = [path]; }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n return this._modules.isRegistered(path)\n};\n\nStore.prototype.hotUpdate = function hotUpdate (newOptions) {\n this._modules.update(newOptions);\n resetStore(this, true);\n};\n\nStore.prototype._withCommit = function _withCommit (fn) {\n var committing = this._committing;\n this._committing = true;\n fn();\n this._committing = committing;\n};\n\nObject.defineProperties( Store.prototype, prototypeAccessors$1 );\n\nfunction genericSubscribe (fn, subs, options) {\n if (subs.indexOf(fn) < 0) {\n options && options.prepend\n ? subs.unshift(fn)\n : subs.push(fn);\n }\n return function () {\n var i = subs.indexOf(fn);\n if (i > -1) {\n subs.splice(i, 1);\n }\n }\n}\n\nfunction resetStore (store, hot) {\n store._actions = Object.create(null);\n store._mutations = Object.create(null);\n store._wrappedGetters = Object.create(null);\n store._modulesNamespaceMap = Object.create(null);\n var state = store.state;\n // init all modules\n installModule(store, state, [], store._modules.root, true);\n // reset vm\n resetStoreVM(store, state, hot);\n}\n\nfunction resetStoreVM (store, state, hot) {\n var oldVm = store._vm;\n\n // bind store public getters\n store.getters = {};\n // reset local getters cache\n store._makeLocalGettersCache = Object.create(null);\n var wrappedGetters = store._wrappedGetters;\n var computed = {};\n forEachValue(wrappedGetters, function (fn, key) {\n // use computed to leverage its lazy-caching mechanism\n // direct inline function use will lead to closure preserving oldVm.\n // using partial to return function with only arguments preserved in closure environment.\n computed[key] = partial(fn, store);\n Object.defineProperty(store.getters, key, {\n get: function () { return store._vm[key]; },\n enumerable: true // for local getters\n });\n });\n\n // use a Vue instance to store the state tree\n // suppress warnings just in case the user has added\n // some funky global mixins\n var silent = Vue.config.silent;\n Vue.config.silent = true;\n store._vm = new Vue({\n data: {\n $$state: state\n },\n computed: computed\n });\n Vue.config.silent = silent;\n\n // enable strict mode for new vm\n if (store.strict) {\n enableStrictMode(store);\n }\n\n if (oldVm) {\n if (hot) {\n // dispatch changes in all subscribed watchers\n // to force getter re-evaluation for hot reloading.\n store._withCommit(function () {\n oldVm._data.$$state = null;\n });\n }\n Vue.nextTick(function () { return oldVm.$destroy(); });\n }\n}\n\nfunction installModule (store, rootState, path, module, hot) {\n var isRoot = !path.length;\n var namespace = store._modules.getNamespace(path);\n\n // register in namespace map\n if (module.namespaced) {\n if (store._modulesNamespaceMap[namespace] && (process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] duplicate namespace \" + namespace + \" for the namespaced module \" + (path.join('/'))));\n }\n store._modulesNamespaceMap[namespace] = module;\n }\n\n // set state\n if (!isRoot && !hot) {\n var parentState = getNestedState(rootState, path.slice(0, -1));\n var moduleName = path[path.length - 1];\n store._withCommit(function () {\n if ((process.env.NODE_ENV !== 'production')) {\n if (moduleName in parentState) {\n console.warn(\n (\"[vuex] state field \\\"\" + moduleName + \"\\\" was overridden by a module with the same name at \\\"\" + (path.join('.')) + \"\\\"\")\n );\n }\n }\n Vue.set(parentState, moduleName, module.state);\n });\n }\n\n var local = module.context = makeLocalContext(store, namespace, path);\n\n module.forEachMutation(function (mutation, key) {\n var namespacedType = namespace + key;\n registerMutation(store, namespacedType, mutation, local);\n });\n\n module.forEachAction(function (action, key) {\n var type = action.root ? key : namespace + key;\n var handler = action.handler || action;\n registerAction(store, type, handler, local);\n });\n\n module.forEachGetter(function (getter, key) {\n var namespacedType = namespace + key;\n registerGetter(store, namespacedType, getter, local);\n });\n\n module.forEachChild(function (child, key) {\n installModule(store, rootState, path.concat(key), child, hot);\n });\n}\n\n/**\n * make localized dispatch, commit, getters and state\n * if there is no namespace, just use root ones\n */\nfunction makeLocalContext (store, namespace, path) {\n var noNamespace = namespace === '';\n\n var local = {\n dispatch: noNamespace ? store.dispatch : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if ((process.env.NODE_ENV !== 'production') && !store._actions[type]) {\n console.error((\"[vuex] unknown local action type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n return store.dispatch(type, payload)\n },\n\n commit: noNamespace ? store.commit : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if ((process.env.NODE_ENV !== 'production') && !store._mutations[type]) {\n console.error((\"[vuex] unknown local mutation type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n store.commit(type, payload, options);\n }\n };\n\n // getters and state object must be gotten lazily\n // because they will be changed by vm update\n Object.defineProperties(local, {\n getters: {\n get: noNamespace\n ? function () { return store.getters; }\n : function () { return makeLocalGetters(store, namespace); }\n },\n state: {\n get: function () { return getNestedState(store.state, path); }\n }\n });\n\n return local\n}\n\nfunction makeLocalGetters (store, namespace) {\n if (!store._makeLocalGettersCache[namespace]) {\n var gettersProxy = {};\n var splitPos = namespace.length;\n Object.keys(store.getters).forEach(function (type) {\n // skip if the target getter is not match this namespace\n if (type.slice(0, splitPos) !== namespace) { return }\n\n // extract local getter type\n var localType = type.slice(splitPos);\n\n // Add a port to the getters proxy.\n // Define as getter property because\n // we do not want to evaluate the getters in this time.\n Object.defineProperty(gettersProxy, localType, {\n get: function () { return store.getters[type]; },\n enumerable: true\n });\n });\n store._makeLocalGettersCache[namespace] = gettersProxy;\n }\n\n return store._makeLocalGettersCache[namespace]\n}\n\nfunction registerMutation (store, type, handler, local) {\n var entry = store._mutations[type] || (store._mutations[type] = []);\n entry.push(function wrappedMutationHandler (payload) {\n handler.call(store, local.state, payload);\n });\n}\n\nfunction registerAction (store, type, handler, local) {\n var entry = store._actions[type] || (store._actions[type] = []);\n entry.push(function wrappedActionHandler (payload) {\n var res = handler.call(store, {\n dispatch: local.dispatch,\n commit: local.commit,\n getters: local.getters,\n state: local.state,\n rootGetters: store.getters,\n rootState: store.state\n }, payload);\n if (!isPromise(res)) {\n res = Promise.resolve(res);\n }\n if (store._devtoolHook) {\n return res.catch(function (err) {\n store._devtoolHook.emit('vuex:error', err);\n throw err\n })\n } else {\n return res\n }\n });\n}\n\nfunction registerGetter (store, type, rawGetter, local) {\n if (store._wrappedGetters[type]) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] duplicate getter key: \" + type));\n }\n return\n }\n store._wrappedGetters[type] = function wrappedGetter (store) {\n return rawGetter(\n local.state, // local state\n local.getters, // local getters\n store.state, // root state\n store.getters // root getters\n )\n };\n}\n\nfunction enableStrictMode (store) {\n store._vm.$watch(function () { return this._data.$$state }, function () {\n if ((process.env.NODE_ENV !== 'production')) {\n assert(store._committing, \"do not mutate vuex store state outside mutation handlers.\");\n }\n }, { deep: true, sync: true });\n}\n\nfunction getNestedState (state, path) {\n return path.reduce(function (state, key) { return state[key]; }, state)\n}\n\nfunction unifyObjectStyle (type, payload, options) {\n if (isObject(type) && type.type) {\n options = payload;\n payload = type;\n type = type.type;\n }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(typeof type === 'string', (\"expects string as the type, but found \" + (typeof type) + \".\"));\n }\n\n return { type: type, payload: payload, options: options }\n}\n\nfunction install (_Vue) {\n if (Vue && _Vue === Vue) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error(\n '[vuex] already installed. Vue.use(Vuex) should be called only once.'\n );\n }\n return\n }\n Vue = _Vue;\n applyMixin(Vue);\n}\n\n/**\n * Reduce the code which written in Vue.js for getting the state.\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} states # Object's item can be a function which accept state and getters for param, you can do something for state and getters in it.\n * @param {Object}\n */\nvar mapState = normalizeNamespace(function (namespace, states) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(states)) {\n console.error('[vuex] mapState: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(states).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedState () {\n var state = this.$store.state;\n var getters = this.$store.getters;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapState', namespace);\n if (!module) {\n return\n }\n state = module.context.state;\n getters = module.context.getters;\n }\n return typeof val === 'function'\n ? val.call(this, state, getters)\n : state[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for committing the mutation\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} mutations # Object's item can be a function which accept `commit` function as the first param, it can accept another params. You can commit mutation and do any other things in this function. specially, You need to pass anthor params from the mapped function.\n * @return {Object}\n */\nvar mapMutations = normalizeNamespace(function (namespace, mutations) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(mutations)) {\n console.error('[vuex] mapMutations: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(mutations).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedMutation () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n // Get the commit method from store\n var commit = this.$store.commit;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapMutations', namespace);\n if (!module) {\n return\n }\n commit = module.context.commit;\n }\n return typeof val === 'function'\n ? val.apply(this, [commit].concat(args))\n : commit.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for getting the getters\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} getters\n * @return {Object}\n */\nvar mapGetters = normalizeNamespace(function (namespace, getters) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(getters)) {\n console.error('[vuex] mapGetters: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(getters).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n // The namespace has been mutated by normalizeNamespace\n val = namespace + val;\n res[key] = function mappedGetter () {\n if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) {\n return\n }\n if ((process.env.NODE_ENV !== 'production') && !(val in this.$store.getters)) {\n console.error((\"[vuex] unknown getter: \" + val));\n return\n }\n return this.$store.getters[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for dispatch the action\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} actions # Object's item can be a function which accept `dispatch` function as the first param, it can accept anthor params. You can dispatch action and do any other things in this function. specially, You need to pass anthor params from the mapped function.\n * @return {Object}\n */\nvar mapActions = normalizeNamespace(function (namespace, actions) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(actions)) {\n console.error('[vuex] mapActions: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(actions).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedAction () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n // get dispatch function from store\n var dispatch = this.$store.dispatch;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapActions', namespace);\n if (!module) {\n return\n }\n dispatch = module.context.dispatch;\n }\n return typeof val === 'function'\n ? val.apply(this, [dispatch].concat(args))\n : dispatch.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\n/**\n * Rebinding namespace param for mapXXX function in special scoped, and return them by simple object\n * @param {String} namespace\n * @return {Object}\n */\nvar createNamespacedHelpers = function (namespace) { return ({\n mapState: mapState.bind(null, namespace),\n mapGetters: mapGetters.bind(null, namespace),\n mapMutations: mapMutations.bind(null, namespace),\n mapActions: mapActions.bind(null, namespace)\n}); };\n\n/**\n * Normalize the map\n * normalizeMap([1, 2, 3]) => [ { key: 1, val: 1 }, { key: 2, val: 2 }, { key: 3, val: 3 } ]\n * normalizeMap({a: 1, b: 2, c: 3}) => [ { key: 'a', val: 1 }, { key: 'b', val: 2 }, { key: 'c', val: 3 } ]\n * @param {Array|Object} map\n * @return {Object}\n */\nfunction normalizeMap (map) {\n if (!isValidMap(map)) {\n return []\n }\n return Array.isArray(map)\n ? map.map(function (key) { return ({ key: key, val: key }); })\n : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); })\n}\n\n/**\n * Validate whether given map is valid or not\n * @param {*} map\n * @return {Boolean}\n */\nfunction isValidMap (map) {\n return Array.isArray(map) || isObject(map)\n}\n\n/**\n * Return a function expect two param contains namespace and map. it will normalize the namespace and then the param's function will handle the new namespace and the map.\n * @param {Function} fn\n * @return {Function}\n */\nfunction normalizeNamespace (fn) {\n return function (namespace, map) {\n if (typeof namespace !== 'string') {\n map = namespace;\n namespace = '';\n } else if (namespace.charAt(namespace.length - 1) !== '/') {\n namespace += '/';\n }\n return fn(namespace, map)\n }\n}\n\n/**\n * Search a special module from store by namespace. if module not exist, print error message.\n * @param {Object} store\n * @param {String} helper\n * @param {String} namespace\n * @return {Object}\n */\nfunction getModuleByNamespace (store, helper, namespace) {\n var module = store._modulesNamespaceMap[namespace];\n if ((process.env.NODE_ENV !== 'production') && !module) {\n console.error((\"[vuex] module namespace not found in \" + helper + \"(): \" + namespace));\n }\n return module\n}\n\n// Credits: borrowed code from fcomb/redux-logger\n\nfunction createLogger (ref) {\n if ( ref === void 0 ) ref = {};\n var collapsed = ref.collapsed; if ( collapsed === void 0 ) collapsed = true;\n var filter = ref.filter; if ( filter === void 0 ) filter = function (mutation, stateBefore, stateAfter) { return true; };\n var transformer = ref.transformer; if ( transformer === void 0 ) transformer = function (state) { return state; };\n var mutationTransformer = ref.mutationTransformer; if ( mutationTransformer === void 0 ) mutationTransformer = function (mut) { return mut; };\n var actionFilter = ref.actionFilter; if ( actionFilter === void 0 ) actionFilter = function (action, state) { return true; };\n var actionTransformer = ref.actionTransformer; if ( actionTransformer === void 0 ) actionTransformer = function (act) { return act; };\n var logMutations = ref.logMutations; if ( logMutations === void 0 ) logMutations = true;\n var logActions = ref.logActions; if ( logActions === void 0 ) logActions = true;\n var logger = ref.logger; if ( logger === void 0 ) logger = console;\n\n return function (store) {\n var prevState = deepCopy(store.state);\n\n if (typeof logger === 'undefined') {\n return\n }\n\n if (logMutations) {\n store.subscribe(function (mutation, state) {\n var nextState = deepCopy(state);\n\n if (filter(mutation, prevState, nextState)) {\n var formattedTime = getFormattedTime();\n var formattedMutation = mutationTransformer(mutation);\n var message = \"mutation \" + (mutation.type) + formattedTime;\n\n startMessage(logger, message, collapsed);\n logger.log('%c prev state', 'color: #9E9E9E; font-weight: bold', transformer(prevState));\n logger.log('%c mutation', 'color: #03A9F4; font-weight: bold', formattedMutation);\n logger.log('%c next state', 'color: #4CAF50; font-weight: bold', transformer(nextState));\n endMessage(logger);\n }\n\n prevState = nextState;\n });\n }\n\n if (logActions) {\n store.subscribeAction(function (action, state) {\n if (actionFilter(action, state)) {\n var formattedTime = getFormattedTime();\n var formattedAction = actionTransformer(action);\n var message = \"action \" + (action.type) + formattedTime;\n\n startMessage(logger, message, collapsed);\n logger.log('%c action', 'color: #03A9F4; font-weight: bold', formattedAction);\n endMessage(logger);\n }\n });\n }\n }\n}\n\nfunction startMessage (logger, message, collapsed) {\n var startMessage = collapsed\n ? logger.groupCollapsed\n : logger.group;\n\n // render\n try {\n startMessage.call(logger, message);\n } catch (e) {\n logger.log(message);\n }\n}\n\nfunction endMessage (logger) {\n try {\n logger.groupEnd();\n } catch (e) {\n logger.log('—— log end ——');\n }\n}\n\nfunction getFormattedTime () {\n var time = new Date();\n return (\" @ \" + (pad(time.getHours(), 2)) + \":\" + (pad(time.getMinutes(), 2)) + \":\" + (pad(time.getSeconds(), 2)) + \".\" + (pad(time.getMilliseconds(), 3)))\n}\n\nfunction repeat (str, times) {\n return (new Array(times + 1)).join(str)\n}\n\nfunction pad (num, maxLength) {\n return repeat('0', maxLength - num.toString().length) + num\n}\n\nvar index = {\n Store: Store,\n install: install,\n version: '3.6.2',\n mapState: mapState,\n mapMutations: mapMutations,\n mapGetters: mapGetters,\n mapActions: mapActions,\n createNamespacedHelpers: createNamespacedHelpers,\n createLogger: createLogger\n};\n\nexport default index;\nexport { Store, createLogger, createNamespacedHelpers, install, mapActions, mapGetters, mapMutations, mapState };\n","import '../assets/NcSettingsSection-_mX6UqM_.css';\nimport { r as register, w as t23, a as t } from \"./_l10n-DQgzdF9S.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nregister(t23);\nconst _sfc_main$1 = {\n name: \"HelpCircleIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$1 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon help-circle-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M15.07,11.25L14.17,12.17C13.45,12.89 13,13.5 13,15H11V14.5C11,13.39 11.45,12.39 12.17,11.67L13.41,10.41C13.78,10.05 14,9.55 14,9C14,7.89 13.1,7 12,7A2,2 0 0,0 10,9H8A4,4 0 0,1 12,5A4,4 0 0,1 16,9C16,9.88 15.64,10.67 15.07,11.25M13,19H11V17H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n null\n);\nconst HelpCircle = __component__$1.exports;\nconst _sfc_main = {\n name: \"NcSettingsSection\",\n components: {\n HelpCircle\n },\n props: {\n name: {\n type: String,\n required: true\n },\n description: {\n type: String,\n default: \"\"\n },\n docUrl: {\n type: String,\n default: \"\"\n },\n /**\n * Limit the width of the setting's content\n *\n * Setting this to false allows unrestricted (width) settings content.\n * Note that the name and description have always a width limit.\n * @deprecated Will be removed with next version and will not be used on Nextcloud 30+ (always forced to true)\n */\n limitWidth: {\n type: Boolean,\n default: true\n }\n },\n data() {\n return {\n docNameTranslated: t(\"External documentation for {name}\", {\n name: this.name\n })\n };\n },\n computed: {\n forceLimitWidth() {\n if (this.limitWidth) {\n return true;\n }\n const [major] = window._oc_config?.version.split(\".\", 2) ?? [];\n return major && Number.parseInt(major) >= 30;\n },\n hasDescription() {\n return this.description.length > 0;\n },\n hasDocUrl() {\n return this.docUrl.length > 0;\n }\n }\n};\nvar _sfc_render = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"settings-section\", class: { \"settings-section--limit-width\": _vm.forceLimitWidth } }, [_c(\"h2\", { staticClass: \"settings-section__name\" }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \"), _vm.hasDocUrl ? _c(\"a\", { staticClass: \"settings-section__info\", attrs: { \"href\": _vm.docUrl, \"title\": _vm.docNameTranslated, \"aria-label\": _vm.docNameTranslated, \"target\": \"_blank\", \"rel\": \"noreferrer nofollow\" } }, [_c(\"HelpCircle\", { attrs: { \"size\": 20 } })], 1) : _vm._e()]), _vm.hasDescription ? _c(\"p\", { staticClass: \"settings-section__desc\" }, [_vm._v(\" \" + _vm._s(_vm.description) + \" \")]) : _vm._e(), _vm._t(\"default\")], 2);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"6f6953b5\"\n);\nconst NcSettingsSection = __component__.exports;\nexport {\n NcSettingsSection as N\n};\n//# sourceMappingURL=NcSettingsSection-C76Kqeew.mjs.map\n","\n\n","\n\n","\n\n","\n\n","\n\n\n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { IActivityType } from '../models/ActivitySettings.js'\n\n/**\n * Return wether the notification method can be checked for the activity\n *\n * @param activity - the concerned activity\n * @param methodKey - the concerned method\n * @return {boolean}\n */\nexport function isActivityEnabled(activity: IActivityType, methodKey: string) {\n\treturn activity.methods.includes(methodKey)\n}\n\n/**\n * @param activities - List of the activities to check\n * @param methodKey - the method key for which to verify the checked value\n * @return {boolean} Wether at least one input is checked for the given set of activities\n */\nexport function isOneInputUnChecked(activities: IActivityType[], methodKey: string) {\n\tfor (const activity of activities) {\n\t\tif (isActivityEnabled(activity, methodKey) && !activity[methodKey]) {\n\t\t\treturn true\n\t\t}\n\t}\n\n\treturn false\n}\n","\n\n\n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport Vue from 'vue'\nimport Vuex from 'vuex'\nimport { translate as t } from '@nextcloud/l10n'\n\nimport axios from '@nextcloud/axios'\nimport { generateUrl } from '@nextcloud/router'\nimport { loadState } from '@nextcloud/initial-state'\nimport { showSuccess, showError } from '@nextcloud/dialogs'\n\nimport { isActivityEnabled, isOneInputUnChecked } from '../utils/settings.ts'\nimport logger from '../utils/logger.ts'\n\nVue.use(Vuex)\n\n/**\n * @typedef {object} SettingsState\n * @property {object} setting .\n * @property {Object} activityGroups Activity setting groups that should be shown (Files, Calendar, ...)\n * @property {boolean} isEmailSet Whether the user has a valid email address set\n * @property {boolean} emailEnabled Whether activity emails should be sent\n * @property {boolean} activityDigestEnabled Whether the daily digest should be sent\n * @property {0|1|2|3} settingBatchtime How to group the activity emails\n * @property {Array} methods Available methods for activity (push, mail, ...)\n * @property {string} endpoint API endpoint to talk to (user or admin settings)\n */\n\nconst store = new Vuex.Store({\n\tstrict: true,\n\t/** @type {SettingsState} */\n\tstate: {\n\t\tsetting: loadState('activity', 'setting'),\n\t\tactivityGroups: loadState('activity', 'activity_groups'),\n\t\tisEmailSet: loadState('activity', 'is_email_set'),\n\t\temailEnabled: loadState('activity', 'email_enabled'),\n\t\tactivityDigestEnabled: loadState('activity', 'activity_digest_enabled', false),\n\t\tsettingBatchtime: loadState('activity', 'setting_batchtime'),\n\t\tmethods: loadState('activity', 'methods'),\n\t\tendpoint: '',\n\t},\n\tgetters: {\n\t\t/**\n\t\t * Return an array of checked activities.\n\t\t *\n\t\t * @param {SettingsState} state - The current state.\n\t\t * @return {Array}\n\t\t */\n\t\tcheckedActivities(state) {\n\t\t\tconst methodsEnabled = (activityKey, activity) => {\n\t\t\t\tconst methods = []\n\t\t\t\tif (activity.email) {\n\t\t\t\t\tmethods.push({ activityKey, method: 'email', activity })\n\t\t\t\t}\n\t\t\t\tif (activity.notification) {\n\t\t\t\t\tmethods.push({ activityKey, method: 'notification', activity })\n\t\t\t\t}\n\t\t\t\treturn methods\n\t\t\t}\n\n\t\t\treturn Object.values(state.activityGroups)\n\t\t\t\t.map(group => Object.entries(group.activities)) // [[[activityKey, activity], ...], [[activityKey, activity], ...]]\n\t\t\t\t.reduce((acc, val) => acc.concat(val), []) // [[activityKey, activity], ...]\n\t\t\t\t.map(([activityKey, activity]) => methodsEnabled(activityKey, activity)) // [[{activityKey, method, activity}, ...], ...]\n\t\t\t\t.reduce((acc, val) => acc.concat(val), [])\n\t\t\t\t.filter(({ activity, method }) => activity[method])\n\t\t\t\t.map(({ activityKey, method }) => `${activityKey}_${method}`) // ['enabled_activity_key', ...]\n\t\t},\n\t},\n\tmutations: {\n\t\t/**\n\t\t * Update the 'enabled' state of a notification method for a given group/activity/method tuple\n\t\t *\n\t\t * @param {SettingsState} state - The current state.\n\t\t * @param {object} payload - The payload.\n\t\t * @param {string} payload.groupKey - The targeted group\n\t\t * @param {string} payload.activityKey - The targeted activity\n\t\t * @param {string} payload.methodKey - The targeted method\n\t\t * @param {string} payload.value - The value to set\n\t\t */\n\t\tSET_METHOD_FOR_METHOD_AND_ACTIVITY(state, { groupKey, activityKey, methodKey, value }) {\n\t\t\tconst group = state.activityGroups[groupKey]\n\t\t\tconst activity = group.activities[activityKey]\n\n\t\t\tif (isActivityEnabled(activity, methodKey)) {\n\t\t\t\tactivity[methodKey] = value\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Set the endpoint used to save the settings.\n\t\t *\n\t\t * @param {SettingsState} state - The current state.\n\t\t * @param {object} payload - The payload.\n\t\t * @param {string} payload.endpoint - Where to POST the saveSettings request.\n\t\t */\n\t\tSET_ENDPOINT(state, { endpoint }) {\n\t\t\tstate.endpoint = endpoint\n\t\t},\n\t\t/**\n\t\t * Set the batch time.\n\t\t *\n\t\t * @param {SettingsState} state - The current state.\n\t\t * @param {object} payload - The payload.\n\t\t * @param {0|1|2|3} payload.settingBatchtime - The selected batch time.\n\t\t */\n\t\tSET_SETTING_BATCHTIME(state, { settingBatchtime }) {\n\t\t\tstate.settingBatchtime = settingBatchtime\n\t\t},\n\t\t/**\n\t\t * Toggle activity digest.\n\t\t *\n\t\t * @param {SettingsState} state - The current state.\n\t\t * @param {object} payload - The payload.\n\t\t * @param {boolean} payload.activityDigestEnabled - Enabled status of the activity digest.\n\t\t */\n\t\tTOGGLE_ACTIVITY_DIGEST(state, { activityDigestEnabled }) {\n\t\t\tstate.activityDigestEnabled = activityDigestEnabled\n\t\t},\n\t\t/**\n\t\t * Toggle the availability of mail notifications\n\t\t *\n\t\t * @param {SettingsState} state - The current state.\n\t\t * @param {object} payload - The payload.\n\t\t * @param {boolean} payload.emailEnabled - Enabled status of the email notifications.\n\t\t */\n\t\tTOGGLE_EMAIL_ENABLED(state, { emailEnabled }) {\n\t\t\tstate.emailEnabled = emailEnabled\n\t\t},\n\t},\n\tactions: {\n\t\t/**\n\t\t * Set the endpoint used to save the settings.\n\t\t *\n\t\t * @param {object} _ - Action context\n\t\t * @param {Function} _.commit - State modifying function\n\t\t * @param {object} payload - The payload.\n\t\t * @param {string} payload.endpoint - Where to POST the saveSettings request.\n\t\t */\n\t\tsetEndpoint({ commit }, { endpoint }) {\n\t\t\tcommit('SET_ENDPOINT', { endpoint })\n\t\t},\n\n\t\t/**\n\t\t * Toggle the 'enabled' state of a notification method for a given group/activity/method tuple\n\t\t *\n\t\t * @param {object} _ - Action context\n\t\t * @param {Function} _.commit - State modifying function\n\t\t * @param {Function} _.dispatch - Function to dispatch another action\n\t\t * @param {object} _.state - Current state\n\t\t * @param {object} payload - The payload.\n\t\t * @param {string} payload.groupKey - The targeted group\n\t\t * @param {string} payload.activityKey - The targeted activity\n\t\t * @param {string} payload.methodKey - The targeted method\n\t\t */\n\t\ttoggleMethodForMethodAndActivity({ commit, state, dispatch }, { groupKey, activityKey, methodKey }) {\n\t\t\tconst activity = state.activityGroups[groupKey].activities[activityKey]\n\t\t\tconst oneInputIsChecked = isOneInputUnChecked([activity], methodKey)\n\n\t\t\tcommit(\n\t\t\t\t'SET_METHOD_FOR_METHOD_AND_ACTIVITY',\n\t\t\t\t{\n\t\t\t\t\tgroupKey,\n\t\t\t\t\tactivityKey,\n\t\t\t\t\tmethodKey,\n\t\t\t\t\tvalue: oneInputIsChecked,\n\t\t\t\t})\n\n\t\t\tdispatch('saveSettings')\n\t\t},\n\n\t\t/**\n\t\t * Toggle the 'enabled' state of a notification method for a given group/method tuple\n\t\t *\n\t\t * @param {object} _ - Action context\n\t\t * @param {Function} _.commit - State modifying function\n\t\t * @param {Function} _.dispatch - Function to dispatch another action\n\t\t * @param {object} _.state - Current state\n\t\t * @param {object} payload - The payload.\n\t\t * @param {string} payload.groupKey - The targeted group\n\t\t * @param {string} payload.methodKey - The targeted method\n\t\t */\n\t\ttoggleMethodForGroup({ commit, state, dispatch }, { groupKey, methodKey }) {\n\t\t\tconst activities = Object.values(state.activityGroups[groupKey].activities)\n\t\t\tconst oneInputIsChecked = isOneInputUnChecked(activities, methodKey)\n\n\t\t\tfor (const activityKey in state.activityGroups[groupKey].activities) {\n\t\t\t\tcommit(\n\t\t\t\t\t'SET_METHOD_FOR_METHOD_AND_ACTIVITY',\n\t\t\t\t\t{\n\t\t\t\t\t\tgroupKey,\n\t\t\t\t\t\tactivityKey,\n\t\t\t\t\t\tmethodKey,\n\t\t\t\t\t\tvalue: oneInputIsChecked,\n\t\t\t\t\t})\n\t\t\t}\n\n\t\t\tdispatch('saveSettings')\n\t\t},\n\n\t\t/**\n\t\t * Toggle the 'enabled' state of a notification method for a given group/activity tuple\n\t\t *\n\t\t * @param {object} _ - Action context\n\t\t * @param {Function} _.commit - State modifying function\n\t\t * @param {Function} _.dispatch - Function to dispatch another action\n\t\t * @param {object} _.state - Current state\n\t\t * @param {object} payload - The payload.\n\t\t * @param {string} payload.groupKey - The targeted group\n\t\t * @param {string} payload.activityKey - The targeted activity\n\t\t */\n\t\ttoggleMethodsForActivity({ commit, state, dispatch }, { groupKey, activityKey }) {\n\t\t\tconst activity = state.activityGroups[groupKey].activities[activityKey]\n\t\t\tconst oneInputIsChecked = activity.methods.map(method => isOneInputUnChecked([activity], method)).includes(true)\n\n\t\t\tfor (const methodKey of activity.methods) {\n\t\t\t\tcommit(\n\t\t\t\t\t'SET_METHOD_FOR_METHOD_AND_ACTIVITY',\n\t\t\t\t\t{\n\t\t\t\t\t\tgroupKey,\n\t\t\t\t\t\tactivityKey,\n\t\t\t\t\t\tmethodKey,\n\t\t\t\t\t\tvalue: oneInputIsChecked,\n\t\t\t\t\t})\n\t\t\t}\n\n\t\t\tdispatch('saveSettings')\n\t\t},\n\n\t\t/**\n\t\t * Set the batch time.\n\t\t *\n\t\t * @param {object} _ - Action context\n\t\t * @param {Function} _.commit - State modifying function\n\t\t * @param {Function} _.dispatch - Function to dispatch another action\n\t\t * @param {object} payload - The payload.\n\t\t * @param {0|1|2|3} payload.settingBatchtime - The selected batch time.\n\t\t */\n\t\tsetSettingBatchtime({ commit, dispatch }, { settingBatchtime }) {\n\t\t\tcommit(\n\t\t\t\t'SET_SETTING_BATCHTIME',\n\t\t\t\t{\n\t\t\t\t\tsettingBatchtime,\n\t\t\t\t})\n\n\t\t\tdispatch('saveSettings')\n\t\t},\n\n\t\t/**\n\t\t * Toggle the activity digest.\n\t\t *\n\t\t * @param {object} _ - Action context\n\t\t * @param {Function} _.commit - State modifying function\n\t\t * @param {Function} _.dispatch - Function to dispatch another action\n\t\t * @param {object} payload - The payload.\n\t\t * @param {boolean} payload.activityDigestEnabled - Enabled status of the activity digest.\n\t\t */\n\t\ttoggleActivityDigestEnabled({ commit, dispatch }, { activityDigestEnabled }) {\n\t\t\tcommit(\n\t\t\t\t'TOGGLE_ACTIVITY_DIGEST',\n\t\t\t\t{\n\t\t\t\t\tactivityDigestEnabled,\n\t\t\t\t})\n\n\t\t\tdispatch('saveSettings')\n\t\t},\n\n\t\t/**\n\t\t * Toggle the availability of mail notifications\n\t\t *\n\t\t * @param {object} _ - Action context\n\t\t * @param {Function} _.commit - State modifying function\n\t\t * @param {object} payload - The payload.\n\t\t * @param {boolean} payload.emailEnabled - Enabled status of the email notifications.\n\t\t */\n\t\ttoggleEmailEnabled({ commit }, { emailEnabled }) {\n\t\t\tcommit(\n\t\t\t\t'TOGGLE_EMAIL_ENABLED',\n\t\t\t\t{\n\t\t\t\t\temailEnabled,\n\t\t\t\t})\n\n\t\t\ttry {\n\n\t\t\t\tOCP.AppConfig.setValue(\n\t\t\t\t\t'activity', 'enable_email',\n\t\t\t\t\temailEnabled ? 'yes' : 'no'\n\t\t\t\t)\n\n\t\t\t\tshowSuccess(t('activity', 'Your settings have been updated.'))\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('activity', 'Unable to save the settings'))\n\t\t\t\tlogger.error('An error occurred while saving the activity settings', error)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Save the currently displayed settings\n\t\t *\n\t\t * @param {object} _ - Action context\n\t\t * @param {object} _.state - Current state\n\t\t * @param {object} _.getters - Getter functions for the state\n\t\t */\n\t\tasync saveSettings({ state, getters }) {\n\t\t\ttry {\n\t\t\t\tconst form = new FormData()\n\t\t\t\tgetters.checkedActivities.forEach(activity => {\n\t\t\t\t\tform.append(activity, '1')\n\t\t\t\t})\n\n\t\t\t\tform.append('notify_setting_batchtime', `${state.settingBatchtime}`)\n\t\t\t\tform.append('activity_digest', `${state.activityDigestEnabled ? 1 : 0}`)\n\n\t\t\t\tconst response = await axios.post(generateUrl(state.endpoint), form)\n\n\t\t\t\tshowSuccess(response.data.data.message)\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('activity', 'Unable to save the settings'))\n\t\t\t\tlogger.error('An error occurred while saving the activity settings', error)\n\t\t\t}\n\t\t},\n\t},\n})\n\nexport default store\n"],"names":["applyMixin","Vue","version","vuexInit","_init","options","target","global","devtoolHook","devtoolPlugin","store","targetState","mutation","state","action","find","list","f","deepCopy","obj","cache","hit","c","copy","key","forEachValue","fn","isObject","isPromise","val","partial","arg","Module","rawModule","runtime","rawState","prototypeAccessors","module","ModuleCollection","rawRootModule","path","namespace","update","this$1","newModule","parent","rawChildModule","child","targetModule","Store","install","plugins","strict","ref","dispatch","commit","type","payload","installModule","resetStoreVM","plugin","useDevtools","prototypeAccessors$1","v","_type","_payload","_options","unifyObjectStyle","entry","handler","sub","result","resolve","reject","res","error","genericSubscribe","subs","getter","cb","parentState","getNestedState","resetStore","newOptions","committing","i","hot","oldVm","wrappedGetters","computed","silent","enableStrictMode","rootState","isRoot","moduleName","local","makeLocalContext","namespacedType","registerMutation","registerAction","registerGetter","noNamespace","args","makeLocalGetters","gettersProxy","splitPos","localType","err","rawGetter","_Vue","mapState","normalizeNamespace","states","normalizeMap","getters","getModuleByNamespace","mapMutations","mutations","len","mapGetters","mapActions","actions","createNamespacedHelpers","map","isValidMap","helper","createLogger","collapsed","filter","stateBefore","stateAfter","transformer","mutationTransformer","mut","actionFilter","actionTransformer","act","logMutations","logActions","logger","prevState","nextState","formattedTime","getFormattedTime","formattedMutation","message","startMessage","endMessage","formattedAction","time","pad","repeat","str","times","num","maxLength","index","register","t23","_sfc_main$1","_sfc_render$1","_vm","_c","$event","_sfc_staticRenderFns$1","__component__$1","normalizeComponent","HelpCircle","_sfc_main","t","major","_sfc_render","_sfc_staticRenderFns","__component__","NcSettingsSection","id","MinusBox","CheckboxBlank","CheckboxMarked","CheckboxBlankOutline","values","input","isActivityEnabled","activity","methodKey","isOneInputUnChecked","activities","Checkbox","method","Vuex","loadState","methodsEnabled","activityKey","methods","group","acc","groupKey","value","endpoint","settingBatchtime","activityDigestEnabled","emailEnabled","oneInputIsChecked","showSuccess","showError","form","response","axios","generateUrl"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5]} \ No newline at end of file diff --git a/js/translation-CD_FiYBO-Bp9rUH-Z.chunk.mjs b/js/translation-CD_FiYBO-DvZn3gAh.chunk.mjs similarity index 99% rename from js/translation-CD_FiYBO-Bp9rUH-Z.chunk.mjs rename to js/translation-CD_FiYBO-DvZn3gAh.chunk.mjs index c25b571e8..d146c6340 100644 --- a/js/translation-CD_FiYBO-Bp9rUH-Z.chunk.mjs +++ b/js/translation-CD_FiYBO-DvZn3gAh.chunk.mjs @@ -1,4 +1,4 @@ /*! third party licenses: js/vendor.LICENSE.txt */ import{g as Ia}from"./_commonjsHelpers-BdswosdL.chunk.mjs";const uo=globalThis||void 0||self;var Ra={},ut=Object.freeze({}),$=Array.isArray;function O(t){return t==null}function p(t){return t!=null}function W(t){return t===!0}function La(t){return t===!1}function Fe(t){return typeof t=="string"||typeof t=="number"||typeof t=="symbol"||typeof t=="boolean"}function j(t){return typeof t=="function"}function et(t){return t!==null&&typeof t=="object"}var Tr=Object.prototype.toString;function at(t){return Tr.call(t)==="[object Object]"}function Ma(t){return Tr.call(t)==="[object RegExp]"}function gi(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function Zn(t){return p(t)&&typeof t.then=="function"&&typeof t.catch=="function"}function Pa(t){return t==null?"":Array.isArray(t)||at(t)&&t.toString===Tr?JSON.stringify(t,ja,2):String(t)}function ja(t,e){return e&&e.__v_isRef?e.value:e}function Ie(t){var e=parseFloat(t);return isNaN(e)?t:e}function Ot(t,e){for(var n=Object.create(null),r=t.split(","),o=0;o-1)return t.splice(r,1)}}var za=Object.prototype.hasOwnProperty;function it(t,e){return za.call(t,e)}function ee(t){var e=Object.create(null);return function(n){var r=e[n];return r||(e[n]=t(n))}}var Ua=/-(\w)/g,Qt=ee(function(t){return t.replace(Ua,function(e,n){return n?n.toUpperCase():""})}),Ha=ee(function(t){return t.charAt(0).toUpperCase()+t.slice(1)}),Ba=/\B([A-Z])/g,ze=ee(function(t){return t.replace(Ba,"-$1").toLowerCase()});function Wa(t,e){function n(r){var o=arguments.length;return o?o>1?t.apply(e,arguments):t.call(e,r):t.call(e)}return n._length=t.length,n}function Ga(t,e){return t.bind(e)}var _i=Function.prototype.bind?Ga:Wa;function Jn(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n+e];return r}function z(t,e){for(var n in e)t[n]=e[n];return t}function yi(t){for(var e={},n=0;n0,Oi=yt&&yt.indexOf("edge/")>0;yt&&yt.indexOf("android")>0;var Xa=yt&&/iphone|ipad|ipod|ios/.test(yt),fo=yt&&yt.match(/firefox\/(\d+)/),er={}.watch,xi=!1;if(lt)try{var po={};Object.defineProperty(po,"passive",{get:function(){xi=!0}}),window.addEventListener("test-passive",null,po)}catch{}var Je,Ht=function(){return Je===void 0&&(!lt&&typeof uo<"u"?Je=uo.process&&Ra.VUE_ENV==="server":Je=!1),Je},gn=lt&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function de(t){return typeof t=="function"&&/native code/.test(t.toString())}var Ue=typeof Symbol<"u"&&de(Symbol)&&typeof Reflect<"u"&&de(Reflect.ownKeys),Re;typeof Set<"u"&&de(Set)?Re=Set:Re=function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(e){return this.set[e]===!0},t.prototype.add=function(e){this.set[e]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var ft=null;function Nl(){return ft&&{proxy:ft}}function jt(t){t===void 0&&(t=null),t||ft&&ft._scope.off(),ft=t,t&&t._scope.on()}var dt=function(){function t(e,n,r,o,i,a,s,u){this.tag=e,this.data=n,this.children=r,this.text=o,this.elm=i,this.ns=void 0,this.context=a,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=n&&n.key,this.componentOptions=s,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=u,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1}return Object.defineProperty(t.prototype,"child",{get:function(){return this.componentInstance},enumerable:!1,configurable:!0}),t}(),ve=function(t){t===void 0&&(t="");var e=new dt;return e.text=t,e.isComment=!0,e};function le(t){return new dt(void 0,void 0,void 0,String(t))}function nr(t){var e=new dt(t.tag,t.data,t.children&&t.children.slice(),t.text,t.elm,t.context,t.componentOptions,t.asyncFactory);return e.ns=t.ns,e.isStatic=t.isStatic,e.key=t.key,e.isComment=t.isComment,e.fnContext=t.fnContext,e.fnOptions=t.fnOptions,e.fnScopeId=t.fnScopeId,e.asyncMeta=t.asyncMeta,e.isCloned=!0,e}var Qa=0,un=[],Za=function(){for(var t=0;t0&&(o=Li(o,"".concat(e||"","_").concat(r)),Te(o[0])&&Te(a)&&(n[i]=le(a.text+o[0].text),o.shift()),n.push.apply(n,o)):Fe(o)?Te(a)?n[i]=le(a.text+o):o!==""&&n.push(le(o)):Te(o)&&Te(a)?n[i]=le(a.text+o.text):(W(t._isVList)&&p(o.tag)&&O(o.key)&&p(e)&&(o.key="__vlist".concat(e,"_").concat(r,"__")),n.push(o)));return n}function ds(t,e){var n=null,r,o,i,a;if($(t)||typeof t=="string")for(n=new Array(t.length),r=0,o=t.length;r0,a=e?!!e.$stable:!i,s=e&&e.$key;if(!e)o={};else{if(e._normalized)return e._normalized;if(a&&r&&r!==ut&&s===r.$key&&!i&&!r.$hasNormal)return r;o={};for(var u in e)e[u]&&u[0]!=="$"&&(o[u]=Os(t,n,u,e[u]))}for(var d in n)d in o||(o[d]=xs(n,d));return e&&Object.isExtensible(e)&&(e._normalized=o),K(o,"$stable",a),K(o,"$key",s),K(o,"$hasNormal",i),o}function Os(t,e,n,r){var o=function(){var i=ft;jt(t);var a=arguments.length?r.apply(null,arguments):r({});a=a&&typeof a=="object"&&!$(a)?[a]:Sr(a);var s=a&&a[0];return jt(i),a&&(!s||a.length===1&&s.isComment&&!Le(s))?void 0:a};return r.proxy&&Object.defineProperty(e,n,{get:o,enumerable:!0,configurable:!0}),o}function xs(t,e){return function(){return t[e]}}function Ss(t){var e=t.$options,n=e.setup;if(n){var r=t._setupContext=ks(t);jt(t),_e();var o=Rt(n,null,[t._props||$i({}),r],t,"setup");if(ye(),jt(),j(o))e.render=o;else if(et(o))if(t._setupState=o,o.__sfc){var i=t._setupProxy={};for(var a in o)a!=="__sfc"&&or(i,o,a)}else for(var a in o)Ti(a)||or(t,o,a)}}function ks(t){return{get attrs(){if(!t._attrsProxy){var e=t._attrsProxy={};K(e,"_v_attr_proxy",!0),yn(e,t.$attrs,ut,t,"$attrs")}return t._attrsProxy},get listeners(){if(!t._listenersProxy){var e=t._listenersProxy={};yn(e,t.$listeners,ut,t,"$listeners")}return t._listenersProxy},get slots(){return As(t)},emit:_i(t.$emit,t),expose:function(e){e&&Object.keys(e).forEach(function(n){return or(t,e,n)})}}}function yn(t,e,n,r,o){var i=!1;for(var a in e)a in t?e[a]!==n[a]&&(i=!0):(i=!0,Es(t,a,r,o));for(var a in t)a in e||(i=!0,delete t[a]);return i}function Es(t,e,n,r){Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:function(){return n[r][e]}})}function As(t){return t._slotsProxy||Fi(t._slotsProxy={},t.$scopedSlots),t._slotsProxy}function Fi(t,e){for(var n in e)t[n]=e[n];for(var n in t)n in e||delete t[n]}function $s(t){t._vnode=null,t._staticTrees=null;var e=t.$options,n=t.$vnode=e._parentVnode,r=n&&n.context;t.$slots=kr(e._renderChildren,r),t.$scopedSlots=n?De(t.$parent,n.data.scopedSlots,t.$slots):ut,t._c=function(i,a,s,u){return bn(t,i,a,s,u,!1)},t.$createElement=function(i,a,s,u){return bn(t,i,a,s,u,!0)};var o=n&&n.data;zt(t,"$attrs",o&&o.attrs||ut,null,!0),zt(t,"$listeners",e._parentListeners||ut,null,!0)}var pn=null;function Ns(t){ji(t.prototype),t.prototype.$nextTick=function(e){return Er(e,this)},t.prototype._render=function(){var e=this,n=e.$options,r=n.render,o=n._parentVnode;o&&e._isMounted&&(e.$scopedSlots=De(e.$parent,o.data.scopedSlots,e.$slots,e.$scopedSlots),e._slotsProxy&&Fi(e._slotsProxy,e.$scopedSlots)),e.$vnode=o;var i=ft,a=pn,s;try{jt(e),pn=e,s=r.call(e._renderProxy,e.$createElement)}catch(u){Jt(u,e,"render"),s=e._vnode}finally{pn=a,jt(i)}return $(s)&&s.length===1&&(s=s[0]),s instanceof dt||(s=ve()),s.parent=o,s}}function jn(t,e){return(t.__esModule||Ue&&t[Symbol.toStringTag]==="Module")&&(t=t.default),et(t)?e.extend(t):t}function Ds(t,e,n,r,o){var i=ve();return i.asyncFactory=t,i.asyncMeta={data:e,context:n,children:r,tag:o},i}function Is(t,e){if(W(t.error)&&p(t.errorComp))return t.errorComp;if(p(t.resolved))return t.resolved;var n=pn;if(n&&p(t.owners)&&t.owners.indexOf(n)===-1&&t.owners.push(n),W(t.loading)&&p(t.loadingComp))return t.loadingComp;if(n&&!p(t.owners)){var r=t.owners=[n],o=!0,i=null,a=null;n.$on("hook:destroyed",function(){return Ut(r,n)});var s=function(_){for(var b=0,T=r.length;b1?Jn(o):o;for(var i=Jn(arguments,1),a='event handler for "'.concat(n,'"'),s=0,u=o.length;sdocument.createEvent("Event").timeStamp&&(lr=function(){return Fn.now()})}var Zs=function(t,e){if(t.post){if(!e.post)return 1}else if(e.post)return-1;return t.id-e.id};function Js(){qi=lr(),Dr=!0;var t,e;for(Nt.sort(Zs),fe=0;fefe&&Nt[n].id>t.id;)n--;Nt.splice(n+1,0,t)}ur||(ur=!0,Er(Js))}}function rc(t){var e=t.$options.provide;if(e){var n=j(e)?e.call(t):e;if(!et(n))return;for(var r=ls(t),o=Ue?Reflect.ownKeys(n):Object.keys(n),i=0;i-1){if(i&&!it(o,"default"))a=!1;else if(a===""||a===ze(t)){var u=Io(String,o.type);(u<0||s-1)return this;var r=Jn(arguments,1);return r.unshift(this),j(e.install)?e.install.apply(e,r):j(e)&&e.apply(null,r),n.push(e),this}}function Ic(t){t.mixin=function(e){return this.options=te(this.options,e),this}}function Rc(t){t.cid=0;var e=1;t.extend=function(n){n=n||{};var r=this,o=r.cid,i=n._Ctor||(n._Ctor={});if(i[o])return i[o];var a=Cn(n)||Cn(r.options),s=function(u){this._init(u)};return s.prototype=Object.create(r.prototype),s.prototype.constructor=s,s.cid=e++,s.options=te(r.options,n),s.super=r,s.options.props&&Lc(s),s.options.computed&&Mc(s),s.extend=r.extend,s.mixin=r.mixin,s.use=r.use,kn.forEach(function(u){s[u]=r[u]}),a&&(s.options.components[a]=s),s.superOptions=r.options,s.extendOptions=n,s.sealedOptions=z({},s.options),i[o]=s,s}}function Lc(t){var e=t.options.props;for(var n in e)Mr(t.prototype,"_props",n)}function Mc(t){var e=t.options.computed;for(var n in e)Xi(t.prototype,n,e[n])}function Pc(t){kn.forEach(function(e){t[e]=function(n,r){return r?(e==="component"&&at(r)&&(r.name=r.name||n,r=this.options._base.extend(r)),e==="directive"&&j(r)&&(r={bind:r,update:r}),this.options[e+"s"][n]=r,r):this.options[e+"s"][n]}})}function Mo(t){return t&&(Cn(t.Ctor.options)||t.tag)}function nn(t,e){return $(t)?t.indexOf(e)>-1:typeof t=="string"?t.split(",").indexOf(e)>-1:Ma(t)?t.test(e):!1}function Po(t,e){var n=t.cache,r=t.keys,o=t._vnode,i=t.$vnode;for(var a in n){var s=n[a];if(s){var u=s.name;u&&!e(u)&&vr(n,a,r,o)}}i.componentOptions.children=void 0}function vr(t,e,n,r){var o=t[e];o&&(!r||o.tag!==r.tag)&&o.componentInstance.$destroy(),t[e]=null,Ut(n,e)}var jo=[String,RegExp,Array],jc={name:"keep-alive",abstract:!0,props:{include:jo,exclude:jo,max:[String,Number]},methods:{cacheVNode:function(){var t=this,e=t.cache,n=t.keys,r=t.vnodeToCache,o=t.keyToCache;if(r){var i=r.tag,a=r.componentInstance,s=r.componentOptions;e[o]={name:Mo(s),tag:i,componentInstance:a},n.push(o),this.max&&n.length>parseInt(this.max)&&vr(e,n[0],n,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var t in this.cache)vr(this.cache,t,this.keys)},mounted:function(){var t=this;this.cacheVNode(),this.$watch("include",function(e){Po(t,function(n){return nn(e,n)})}),this.$watch("exclude",function(e){Po(t,function(n){return!nn(e,n)})})},updated:function(){this.cacheVNode()},render:function(){var t=this.$slots.default,e=zi(t),n=e&&e.componentOptions;if(n){var r=Mo(n),o=this,i=o.include,a=o.exclude;if(i&&(!r||!nn(i,r))||a&&r&&nn(a,r))return e;var s=this,u=s.cache,d=s.keys,v=e.key==null?n.Ctor.cid+(n.tag?"::".concat(n.tag):""):e.key;u[v]?(e.componentInstance=u[v].componentInstance,Ut(d,v),d.push(v)):(this.vnodeToCache=e,this.keyToCache=v),e.data.keepAlive=!0}return e||t&&t[0]}},Fc={KeepAlive:jc};function zc(t){var e={};e.get=function(){return _t},Object.defineProperty(t,"config",e),t.util={warn:lc,extend:z,mergeOptions:te,defineReactive:zt},t.set=xr,t.delete=Ei,t.nextTick=Er,t.observable=function(n){return It(n),n},t.options=Object.create(null),kn.forEach(function(n){t.options[n+"s"]=Object.create(null)}),t.options._base=t,z(t.options.components,Fc),Dc(t),Ic(t),Rc(t),Pc(t)}zc(Y),Object.defineProperty(Y.prototype,"$isServer",{get:Ht}),Object.defineProperty(Y.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Y,"FunctionalRenderContext",{value:Ir}),Y.version=zs;var Uc=Ot("style,class"),Hc=Ot("input,textarea,option,select,progress"),Bc=function(t,e,n){return n==="value"&&Hc(t)&&e!=="button"||n==="selected"&&t==="option"||n==="checked"&&t==="input"||n==="muted"&&t==="video"},Qi=Ot("contenteditable,draggable,spellcheck"),Wc=Ot("events,caret,typing,plaintext-only"),Gc=function(t,e){return On(e)||e==="false"?"false":t==="contenteditable"&&Wc(e)?e:"true"},Vc=Ot("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),mr="http://www.w3.org/1999/xlink",jr=function(t){return t.charAt(5)===":"&&t.slice(0,5)==="xlink"},Zi=function(t){return jr(t)?t.slice(6,t.length):""},On=function(t){return t==null||t===!1};function qc(t){for(var e=t.data,n=t,r=t;p(r.componentInstance);)r=r.componentInstance._vnode,r&&r.data&&(e=Fo(r.data,e));for(;p(n=n.parent);)n&&n.data&&(e=Fo(e,n.data));return Yc(e.staticClass,e.class)}function Fo(t,e){return{staticClass:Fr(t.staticClass,e.staticClass),class:p(t.class)?[t.class,e.class]:e.class}}function Yc(t,e){return p(t)||p(e)?Fr(t,zr(e)):""}function Fr(t,e){return t?e?t+" "+e:t:e||""}function zr(t){return Array.isArray(t)?Kc(t):et(t)?Xc(t):typeof t=="string"?t:""}function Kc(t){for(var e="",n,r=0,o=t.length;r-1?rn[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:rn[t]=/HTMLUnknownElement/.test(e.toString())}var hr=Ot("text,number,password,search,email,tel,url");function eu(t){if(typeof t=="string"){var e=document.querySelector(t);return e||document.createElement("div")}else return t}function nu(t,e){var n=document.createElement(t);return t!=="select"||e.data&&e.data.attrs&&e.data.attrs.multiple!==void 0&&n.setAttribute("multiple","multiple"),n}function ru(t,e){return document.createElementNS(Qc[t],e)}function ou(t){return document.createTextNode(t)}function iu(t){return document.createComment(t)}function au(t,e,n){t.insertBefore(e,n)}function su(t,e){t.removeChild(e)}function cu(t,e){t.appendChild(e)}function uu(t){return t.parentNode}function lu(t){return t.nextSibling}function fu(t){return t.tagName}function pu(t,e){t.textContent=e}function du(t,e){t.setAttribute(e,"")}var vu=Object.freeze({__proto__:null,createElement:nu,createElementNS:ru,createTextNode:ou,createComment:iu,insertBefore:au,removeChild:su,appendChild:cu,parentNode:uu,nextSibling:lu,tagName:fu,setTextContent:pu,setStyleScope:du}),mu={create:function(t,e){pe(e)},update:function(t,e){t.data.ref!==e.data.ref&&(pe(t,!0),pe(e))},destroy:function(t){pe(t,!0)}};function pe(t,e){var n=t.data.ref;if(p(n)){var r=t.context,o=t.componentInstance||t.elm,i=e?null:o,a=e?void 0:o;if(j(n)){Rt(n,r,[i],r,"template ref function");return}var s=t.data.refInFor,u=typeof n=="string"||typeof n=="number",d=tt(n),v=r.$refs;if(u||d){if(s){var _=u?v[n]:n.value;e?$(_)&&Ut(_,o):$(_)?_.includes(o)||_.push(o):u?(v[n]=[o],zo(r,n,v[n])):n.value=[o]}else if(u){if(e&&v[n]!==o)return;v[n]=a,zo(r,n,i)}else if(d){if(e&&n.value!==o)return;n.value=i}}}}function zo(t,e,n){var r=t._setupState;r&&it(r,e)&&(tt(r[e])?r[e].value=n:r[e]=n)}var Pt=new dt("",{},[]),Oe=["create","activate","update","remove","destroy"];function qt(t,e){return t.key===e.key&&t.asyncFactory===e.asyncFactory&&(t.tag===e.tag&&t.isComment===e.isComment&&p(t.data)===p(e.data)&&hu(t,e)||W(t.isAsyncPlaceholder)&&O(e.asyncFactory.error))}function hu(t,e){if(t.tag!=="input")return!0;var n,r=p(n=t.data)&&p(n=n.attrs)&&n.type,o=p(n=e.data)&&p(n=n.attrs)&&n.type;return r===o||hr(r)&&hr(o)}function gu(t,e,n){var r,o,i={};for(r=e;r<=n;++r)o=t[r].key,p(o)&&(i[o]=r);return i}function _u(t){var e,n,r={},o=t.modules,i=t.nodeOps;for(e=0;eS?(be=O(m[F+1])?null:m[F+1].elm,E(l,be,m,x,F,y)):x>F&&L(f,k,S)}function vt(l,f,m,y){for(var C=m;C-1?Wo(t,e,n):Vc(e)?On(n)?t.removeAttribute(e):(n=e==="allowfullscreen"&&t.tagName==="EMBED"?"true":e,t.setAttribute(e,n)):Qi(e)?t.setAttribute(e,Gc(e,n)):jr(e)?On(n)?t.removeAttributeNS(mr,Zi(e)):t.setAttributeNS(mr,e,n):Wo(t,e,n)}function Wo(t,e,n){if(On(n))t.removeAttribute(e);else{if(he&&!ge&&t.tagName==="TEXTAREA"&&e==="placeholder"&&n!==""&&!t.__ieph){var r=function(o){o.stopImmediatePropagation(),t.removeEventListener("input",r)};t.addEventListener("input",r),t.__ieph=!0}t.setAttribute(e,n)}}var Ou={create:Ho,update:Ho};function Go(t,e){var n=e.elm,r=e.data,o=t.data;if(!(O(r.staticClass)&&O(r.class)&&(O(o)||O(o.staticClass)&&O(o.class)))){var i=qc(e),a=n._transitionClasses;p(a)&&(i=Fr(i,zr(a))),i!==n._prevClass&&(n.setAttribute("class",i),n._prevClass=i)}}var xu={create:Go,update:Go},Un="__r",Hn="__c";function Su(t){if(p(t[Un])){var e=he?"change":"input";t[e]=[].concat(t[Un],t[e]||[]),delete t[Un]}p(t[Hn])&&(t.change=[].concat(t[Hn],t.change||[]),delete t[Hn])}var je;function ku(t,e,n){var r=je;return function o(){var i=e.apply(null,arguments);i!==null&&ta(t,o,n,r)}}var Eu=ar&&!(fo&&Number(fo[1])<=53);function Au(t,e,n,r){if(Eu){var o=qi,i=e;e=i._wrapper=function(a){if(a.target===a.currentTarget||a.timeStamp>=o||a.timeStamp<=0||a.target.ownerDocument!==document)return i.apply(this,arguments)}}je.addEventListener(t,e,xi?{capture:n,passive:r}:n)}function ta(t,e,n,r){(r||je).removeEventListener(t,e._wrapper||e,n)}function Bn(t,e){if(!(O(t.data.on)&&O(e.data.on))){var n=e.data.on||{},r=t.data.on||{};je=e.elm||t.elm,Su(n),Ri(n,r,Au,ta,ku,e.context),je=void 0}}var $u={create:Bn,update:Bn,destroy:function(t){return Bn(t,Pt)}},on;function Vo(t,e){if(!(O(t.data.domProps)&&O(e.data.domProps))){var n,r,o=e.elm,i=t.data.domProps||{},a=e.data.domProps||{};(p(a.__ob__)||W(a._v_attr_proxy))&&(a=e.data.domProps=z({},a));for(n in i)n in a||(o[n]="");for(n in a){if(r=a[n],n==="textContent"||n==="innerHTML"){if(e.children&&(e.children.length=0),r===i[n])continue;o.childNodes.length===1&&o.removeChild(o.childNodes[0])}if(n==="value"&&o.tagName!=="PROGRESS"){o._value=r;var s=O(r)?"":String(r);Nu(o,s)&&(o.value=s)}else if(n==="innerHTML"&&Ur(o.tagName)&&O(o.innerHTML)){on=on||document.createElement("div"),on.innerHTML="".concat(r,"");for(var u=on.firstChild;o.firstChild;)o.removeChild(o.firstChild);for(;u.firstChild;)o.appendChild(u.firstChild)}else if(r!==i[n])try{o[n]=r}catch{}}}}function Nu(t,e){return!t.composing&&(t.tagName==="OPTION"||Du(t,e)||Iu(t,e))}function Du(t,e){var n=!0;try{n=document.activeElement!==t}catch{}return n&&t.value!==e}function Iu(t,e){var n=t.value,r=t._vModifiers;if(p(r)){if(r.number)return Ie(n)!==Ie(e);if(r.trim)return n.trim()!==e.trim()}return n!==e}var Ru={create:Vo,update:Vo},Lu=ee(function(t){var e={},n=/;(?![^(]*\))/g,r=/:(.+)/;return t.split(n).forEach(function(o){if(o){var i=o.split(r);i.length>1&&(e[i[0].trim()]=i[1].trim())}}),e});function Wn(t){var e=ea(t.style);return t.staticStyle?z(t.staticStyle,e):e}function ea(t){return Array.isArray(t)?yi(t):typeof t=="string"?Lu(t):t}function Mu(t,e){for(var n={},r,o=t;o.componentInstance;)o=o.componentInstance._vnode,o&&o.data&&(r=Wn(o.data))&&z(n,r);(r=Wn(t.data))&&z(n,r);for(var i=t;i=i.parent;)i.data&&(r=Wn(i.data))&&z(n,r);return n}var Pu=/^--/,qo=/\s*!important$/,Yo=function(t,e,n){if(Pu.test(e))t.style.setProperty(e,n);else if(qo.test(n))t.style.setProperty(ze(e),n.replace(qo,""),"important");else{var r=ju(e);if(Array.isArray(n))for(var o=0,i=n.length;o-1?e.split(na).forEach(function(r){return t.classList.add(r)}):t.classList.add(e);else{var n=" ".concat(t.getAttribute("class")||""," ");n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function oa(t,e){if(!(!e||!(e=e.trim())))if(t.classList)e.indexOf(" ")>-1?e.split(na).forEach(function(o){return t.classList.remove(o)}):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{for(var n=" ".concat(t.getAttribute("class")||""," "),r=" "+e+" ";n.indexOf(r)>=0;)n=n.replace(r," ");n=n.trim(),n?t.setAttribute("class",n):t.removeAttribute("class")}}function ia(t){if(t){if(typeof t=="object"){var e={};return t.css!==!1&&z(e,Qo(t.name||"v")),z(e,t),e}else if(typeof t=="string")return Qo(t)}}var Qo=ee(function(t){return{enterClass:"".concat(t,"-enter"),enterToClass:"".concat(t,"-enter-to"),enterActiveClass:"".concat(t,"-enter-active"),leaveClass:"".concat(t,"-leave"),leaveToClass:"".concat(t,"-leave-to"),leaveActiveClass:"".concat(t,"-leave-active")}}),aa=lt&&!ge,ue="transition",Gn="animation",vn="transition",xn="transitionend",gr="animation",sa="animationend";aa&&(window.ontransitionend===void 0&&window.onwebkittransitionend!==void 0&&(vn="WebkitTransition",xn="webkitTransitionEnd"),window.onanimationend===void 0&&window.onwebkitanimationend!==void 0&&(gr="WebkitAnimation",sa="webkitAnimationEnd"));var Zo=lt?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function ca(t){Zo(function(){Zo(t)})}function Xt(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),ra(t,e))}function Dt(t,e){t._transitionClasses&&Ut(t._transitionClasses,e),oa(t,e)}function ua(t,e,n){var r=la(t,e),o=r.type,i=r.timeout,a=r.propCount;if(!o)return n();var s=o===ue?xn:sa,u=0,d=function(){t.removeEventListener(s,v),n()},v=function(_){_.target===t&&++u>=a&&d()};setTimeout(function(){u0&&(d=ue,v=i,_=o.length):e===Gn?u>0&&(d=Gn,v=u,_=s.length):(v=Math.max(i,u),d=v>0?i>u?ue:Gn:null,_=d?d===ue?o.length:s.length:0);var b=d===ue&&zu.test(n[vn+"Property"]);return{type:d,timeout:v,propCount:_,hasTransform:b}}function Jo(t,e){for(;t.length1}function ei(t,e){e.data.show!==!0&&_r(e)}var Uu=lt?{create:ei,activate:ei,remove:function(t,e){t.data.show!==!0?fa(t,e):e()}}:{},Hu=[Ou,xu,$u,Ru,Fu,Uu],Bu=Hu.concat(Tu),Wu=_u({nodeOps:vu,modules:Bu});ge&&document.addEventListener("selectionchange",function(){var t=document.activeElement;t&&t.vmodel&&Br(t,"input")});var da={inserted:function(t,e,n,r){n.tag==="select"?(r.elm&&!r.elm._vOptions?Mt(n,"postpatch",function(){da.componentUpdated(t,e,n)}):ni(t,e,n.context),t._vOptions=[].map.call(t.options,Sn)):(n.tag==="textarea"||hr(t.type))&&(t._vModifiers=e.modifiers,e.modifiers.lazy||(t.addEventListener("compositionstart",Gu),t.addEventListener("compositionend",ii),t.addEventListener("change",ii),ge&&(t.vmodel=!0)))},componentUpdated:function(t,e,n){if(n.tag==="select"){ni(t,e,n.context);var r=t._vOptions,o=t._vOptions=[].map.call(t.options,Sn);if(o.some(function(a,s){return!Zt(a,r[s])})){var i=t.multiple?e.value.some(function(a){return oi(a,o)}):e.value!==e.oldValue&&oi(e.value,o);i&&Br(t,"change")}}}};function ni(t,e,n){ri(t,e),(he||Oi)&&setTimeout(function(){ri(t,e)},0)}function ri(t,e,n){var r=e.value,o=t.multiple;if(!(o&&!Array.isArray(r))){for(var i,a,s=0,u=t.options.length;s-1,a.selected!==i&&(a.selected=i);else if(Zt(Sn(a),r)){t.selectedIndex!==s&&(t.selectedIndex=s);return}o||(t.selectedIndex=-1)}}function oi(t,e){return e.every(function(n){return!Zt(n,t)})}function Sn(t){return"_value"in t?t._value:t.value}function Gu(t){t.target.composing=!0}function ii(t){t.target.composing&&(t.target.composing=!1,Br(t.target,"input"))}function Br(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function yr(t){return t.componentInstance&&(!t.data||!t.data.transition)?yr(t.componentInstance._vnode):t}var Vu={bind:function(t,e,n){var r=e.value;n=yr(n);var o=n.data&&n.data.transition,i=t.__vOriginalDisplay=t.style.display==="none"?"":t.style.display;r&&o?(n.data.show=!0,_r(n,function(){t.style.display=i})):t.style.display=r?i:"none"},update:function(t,e,n){var r=e.value,o=e.oldValue;if(!r!=!o){n=yr(n);var i=n.data&&n.data.transition;i?(n.data.show=!0,r?_r(n,function(){t.style.display=t.__vOriginalDisplay}):fa(n,function(){t.style.display="none"})):t.style.display=r?t.__vOriginalDisplay:"none"}},unbind:function(t,e,n,r,o){o||(t.style.display=t.__vOriginalDisplay)}},qu={model:da,show:Vu},va={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function br(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?br(zi(e.children)):t}function ma(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var o=n._parentListeners;for(var r in o)e[Qt(r)]=o[r];return e}function ai(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}function Yu(t){for(;t=t.parent;)if(t.data.transition)return!0}function Ku(t,e){return e.key===t.key&&e.tag===t.tag}var Xu=function(t){return t.tag||Le(t)},Qu=function(t){return t.name==="show"},Zu={name:"transition",props:va,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(Xu),!!n.length)){var r=this.mode,o=n[0];if(Yu(this.$vnode))return o;var i=br(o);if(!i)return o;if(this._leaving)return ai(t,o);var a="__transition-".concat(this._uid,"-");i.key=i.key==null?i.isComment?a+"comment":a+i.tag:Fe(i.key)?String(i.key).indexOf(a)===0?i.key:a+i.key:i.key;var s=(i.data||(i.data={})).transition=ma(this),u=this._vnode,d=br(u);if(i.data.directives&&i.data.directives.some(Qu)&&(i.data.show=!0),d&&d.data&&!Ku(i,d)&&!Le(d)&&!(d.componentInstance&&d.componentInstance._vnode.isComment)){var v=d.data.transition=z({},s);if(r==="out-in")return this._leaving=!0,Mt(v,"afterLeave",function(){e._leaving=!1,e.$forceUpdate()}),ai(t,o);if(r==="in-out"){if(Le(i))return u;var _,b=function(){_()};Mt(s,"afterEnter",b),Mt(s,"enterCancelled",b),Mt(v,"delayLeave",function(T){_=T})}}return o}}},ha=z({tag:String,moveClass:String},va);delete ha.mode;var Ju={props:ha,beforeMount:function(){var t=this,e=this._update;this._update=function(n,r){var o=Wi(t);t.__patch__(t._vnode,t.kept,!1,!0),t._vnode=t.kept,o(),e.call(t,n,r)}},render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,o=this.$slots.default||[],i=this.children=[],a=ma(this),s=0;s1?n-1:0),o=1;o2&&arguments[2]!==void 0?arguments[2]:mn;si&&si(t,null);let r=e.length;for(;r--;){let o=e[r];if(typeof o=="string"){const i=n(o);i!==o&&(ol(e)||(e[r]=i),o=i)}t[o]=!0}return t}function pl(t){for(let e=0;e/gm),gl=bt(/\$\{[\w\W]*/gm),_l=bt(/^data-[\-\w.\u00B7-\uFFFF]+$/),yl=bt(/^aria-[\-\w]+$/),ya=bt(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),bl=bt(/^(?:\w+script|data):/i),wl=bt(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),ba=bt(/^html$/i),Cl=bt(/^[a-z][.\w]*(-[.\w]+)+$/i);var vi=Object.freeze({__proto__:null,ARIA_ATTR:yl,ATTR_WHITESPACE:wl,CUSTOM_ELEMENT:Cl,DATA_ATTR:_l,DOCTYPE_NAME:ba,ERB_EXPR:hl,IS_ALLOWED_URI:ya,IS_SCRIPT_OR_DATA:bl,MUSTACHE_EXPR:ml,TMPLIT_EXPR:gl});const $e={element:1,text:3,progressingInstruction:7,comment:8,document:9},Tl=function(){return typeof window>"u"?null:window},Ol=function(t,e){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let n=null;const r="data-tt-policy-suffix";e&&e.hasAttribute(r)&&(n=e.getAttribute(r));const o="dompurify"+(n?"#"+n:"");try{return t.createPolicy(o,{createHTML(i){return i},createScriptURL(i){return i}})}catch{return console.warn("TrustedTypes policy "+o+" could not be created."),null}},mi=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function wa(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Tl();const e=c=>wa(c);if(e.version="3.2.4",e.removed=[],!t||!t.document||t.document.nodeType!==$e.document||!t.Element)return e.isSupported=!1,e;let{document:n}=t;const r=n,o=r.currentScript,{DocumentFragment:i,HTMLTemplateElement:a,Node:s,Element:u,NodeFilter:d,NamedNodeMap:v=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:_,DOMParser:b,trustedTypes:T}=t,N=u.prototype,H=Ae(N,"cloneNode"),R=Ae(N,"remove"),G=Ae(N,"nextSibling"),E=Ae(N,"childNodes"),U=Ae(N,"parentNode");if(typeof a=="function"){const c=n.createElement("template");c.content&&c.content.ownerDocument&&(n=c.content.ownerDocument)}let L,Z="";const{implementation:wt,createNodeIterator:vt,createDocumentFragment:mt,getElementsByTagName:Bt}=n,{importNode:ne}=r;let V=mi();e.isSupported=typeof ga=="function"&&typeof U=="function"&&wt&&wt.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:l,ERB_EXPR:f,TMPLIT_EXPR:m,DATA_ATTR:y,ARIA_ATTR:C,IS_SCRIPT_OR_DATA:k,ATTR_WHITESPACE:x,CUSTOM_ELEMENT:S}=vi;let{IS_ALLOWED_URI:I}=vi,w=null;const F=D({},[...li,...qn,...Yn,...Kn,...fi]);let A=null;const nt=D({},[...pi,...Xn,...di,...cn]);let P=Object.seal(_a(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),pt=null,ht=null,be=!0,Wt=!0,Wr=!1,Gr=!0,re=!1,An=!0,Gt=!1,$n=!1,Nn=!1,oe=!1,Ge=!1,Ve=!1,Vr=!0,qr=!1;const Oa="user-content-";let Dn=!0,we=!1,ie={},ae=null;const Yr=D({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Kr=null;const Xr=D({},["audio","video","img","source","image","track"]);let In=null;const Qr=D({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),qe="http://www.w3.org/1998/Math/MathML",Ye="http://www.w3.org/2000/svg",Et="http://www.w3.org/1999/xhtml";let se=Et,Rn=!1,Ln=null;const xa=D({},[qe,Ye,Et],Vn);let Ke=D({},["mi","mo","mn","ms","mtext"]),Xe=D({},["annotation-xml"]);const Sa=D({},["title","style","font","a","script"]);let Ce=null;const ka=["application/xhtml+xml","text/html"],Ea="text/html";let X=null,ce=null;const Aa=n.createElement("form"),Zr=function(c){return c instanceof RegExp||c instanceof Function},Mn=function(){let c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(ce&&ce===c)){if((!c||typeof c!="object")&&(c={}),c=Yt(c),Ce=ka.indexOf(c.PARSER_MEDIA_TYPE)===-1?Ea:c.PARSER_MEDIA_TYPE,X=Ce==="application/xhtml+xml"?Vn:mn,w=Ct(c,"ALLOWED_TAGS")?D({},c.ALLOWED_TAGS,X):F,A=Ct(c,"ALLOWED_ATTR")?D({},c.ALLOWED_ATTR,X):nt,Ln=Ct(c,"ALLOWED_NAMESPACES")?D({},c.ALLOWED_NAMESPACES,Vn):xa,In=Ct(c,"ADD_URI_SAFE_ATTR")?D(Yt(Qr),c.ADD_URI_SAFE_ATTR,X):Qr,Kr=Ct(c,"ADD_DATA_URI_TAGS")?D(Yt(Xr),c.ADD_DATA_URI_TAGS,X):Xr,ae=Ct(c,"FORBID_CONTENTS")?D({},c.FORBID_CONTENTS,X):Yr,pt=Ct(c,"FORBID_TAGS")?D({},c.FORBID_TAGS,X):{},ht=Ct(c,"FORBID_ATTR")?D({},c.FORBID_ATTR,X):{},ie=Ct(c,"USE_PROFILES")?c.USE_PROFILES:!1,be=c.ALLOW_ARIA_ATTR!==!1,Wt=c.ALLOW_DATA_ATTR!==!1,Wr=c.ALLOW_UNKNOWN_PROTOCOLS||!1,Gr=c.ALLOW_SELF_CLOSE_IN_ATTR!==!1,re=c.SAFE_FOR_TEMPLATES||!1,An=c.SAFE_FOR_XML!==!1,Gt=c.WHOLE_DOCUMENT||!1,oe=c.RETURN_DOM||!1,Ge=c.RETURN_DOM_FRAGMENT||!1,Ve=c.RETURN_TRUSTED_TYPE||!1,Nn=c.FORCE_BODY||!1,Vr=c.SANITIZE_DOM!==!1,qr=c.SANITIZE_NAMED_PROPS||!1,Dn=c.KEEP_CONTENT!==!1,we=c.IN_PLACE||!1,I=c.ALLOWED_URI_REGEXP||ya,se=c.NAMESPACE||Et,Ke=c.MATHML_TEXT_INTEGRATION_POINTS||Ke,Xe=c.HTML_INTEGRATION_POINTS||Xe,P=c.CUSTOM_ELEMENT_HANDLING||{},c.CUSTOM_ELEMENT_HANDLING&&Zr(c.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(P.tagNameCheck=c.CUSTOM_ELEMENT_HANDLING.tagNameCheck),c.CUSTOM_ELEMENT_HANDLING&&Zr(c.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(P.attributeNameCheck=c.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),c.CUSTOM_ELEMENT_HANDLING&&typeof c.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(P.allowCustomizedBuiltInElements=c.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),re&&(Wt=!1),Ge&&(oe=!0),ie&&(w=D({},fi),A=[],ie.html===!0&&(D(w,li),D(A,pi)),ie.svg===!0&&(D(w,qn),D(A,Xn),D(A,cn)),ie.svgFilters===!0&&(D(w,Yn),D(A,Xn),D(A,cn)),ie.mathMl===!0&&(D(w,Kn),D(A,di),D(A,cn))),c.ADD_TAGS&&(w===F&&(w=Yt(w)),D(w,c.ADD_TAGS,X)),c.ADD_ATTR&&(A===nt&&(A=Yt(A)),D(A,c.ADD_ATTR,X)),c.ADD_URI_SAFE_ATTR&&D(In,c.ADD_URI_SAFE_ATTR,X),c.FORBID_CONTENTS&&(ae===Yr&&(ae=Yt(ae)),D(ae,c.FORBID_CONTENTS,X)),Dn&&(w["#text"]=!0),Gt&&D(w,["html","head","body"]),w.table&&(D(w,["tbody"]),delete pt.tbody),c.TRUSTED_TYPES_POLICY){if(typeof c.TRUSTED_TYPES_POLICY.createHTML!="function")throw Ee('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof c.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Ee('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');L=c.TRUSTED_TYPES_POLICY,Z=L.createHTML("")}else L===void 0&&(L=Ol(T,o)),L!==null&&typeof Z=="string"&&(Z=L.createHTML(""));st&&st(c),ce=c}},Jr=D({},[...qn,...Yn,...dl]),to=D({},[...Kn,...vl]),$a=function(c){let g=U(c);(!g||!g.tagName)&&(g={namespaceURI:se,tagName:"template"});const h=mn(c.tagName),M=mn(g.tagName);return Ln[c.namespaceURI]?c.namespaceURI===Ye?g.namespaceURI===Et?h==="svg":g.namespaceURI===qe?h==="svg"&&(M==="annotation-xml"||Ke[M]):!!Jr[h]:c.namespaceURI===qe?g.namespaceURI===Et?h==="math":g.namespaceURI===Ye?h==="math"&&Xe[M]:!!to[h]:c.namespaceURI===Et?g.namespaceURI===Ye&&!Xe[M]||g.namespaceURI===qe&&!Ke[M]?!1:!to[h]&&(Sa[h]||!Jr[h]):!!(Ce==="application/xhtml+xml"&&Ln[c.namespaceURI]):!1},Vt=function(c){Se(e.removed,{element:c});try{U(c).removeChild(c)}catch{R(c)}},Qe=function(c,g){try{Se(e.removed,{attribute:g.getAttributeNode(c),from:g})}catch{Se(e.removed,{attribute:null,from:g})}if(g.removeAttribute(c),c==="is")if(oe||Ge)try{Vt(g)}catch{}else try{g.setAttribute(c,"")}catch{}},eo=function(c){let g=null,h=null;if(Nn)c=""+c;else{const q=ui(c,/^[\r\n\t ]+/);h=q&&q[0]}Ce==="application/xhtml+xml"&&se===Et&&(c=''+c+"");const M=L?L.createHTML(c):c;if(se===Et)try{g=new b().parseFromString(M,Ce)}catch{}if(!g||!g.documentElement){g=wt.createDocument(se,"template",null);try{g.documentElement.innerHTML=Rn?Z:M}catch{}}const Q=g.body||g.documentElement;return c&&h&&Q.insertBefore(n.createTextNode(h),Q.childNodes[0]||null),se===Et?Bt.call(g,Gt?"html":"body")[0]:Gt?g.documentElement:Q},no=function(c){return vt.call(c.ownerDocument||c,c,d.SHOW_ELEMENT|d.SHOW_COMMENT|d.SHOW_TEXT|d.SHOW_PROCESSING_INSTRUCTION|d.SHOW_CDATA_SECTION,null)},Pn=function(c){return c instanceof _&&(typeof c.nodeName!="string"||typeof c.textContent!="string"||typeof c.removeChild!="function"||!(c.attributes instanceof v)||typeof c.removeAttribute!="function"||typeof c.setAttribute!="function"||typeof c.namespaceURI!="string"||typeof c.insertBefore!="function"||typeof c.hasChildNodes!="function")},ro=function(c){return typeof s=="function"&&c instanceof s};function At(c,g,h){sn(c,M=>{M.call(e,g,h,ce)})}const oo=function(c){let g=null;if(At(V.beforeSanitizeElements,c,null),Pn(c))return Vt(c),!0;const h=X(c.nodeName);if(At(V.uponSanitizeElement,c,{tagName:h,allowedTags:w}),c.hasChildNodes()&&!ro(c.firstElementChild)&&ot(/<[/\w]/g,c.innerHTML)&&ot(/<[/\w]/g,c.textContent)||c.nodeType===$e.progressingInstruction||An&&c.nodeType===$e.comment&&ot(/<[/\w]/g,c.data))return Vt(c),!0;if(!w[h]||pt[h]){if(!pt[h]&&ao(h)&&(P.tagNameCheck instanceof RegExp&&ot(P.tagNameCheck,h)||P.tagNameCheck instanceof Function&&P.tagNameCheck(h)))return!1;if(Dn&&!ae[h]){const M=U(c)||c.parentNode,Q=E(c)||c.childNodes;if(Q&&M){const q=Q.length;for(let $t=q-1;$t>=0;--$t){const gt=H(Q[$t],!0);gt.__removalCount=(c.__removalCount||0)+1,M.insertBefore(gt,G(c))}}}return Vt(c),!0}return c instanceof u&&!$a(c)||(h==="noscript"||h==="noembed"||h==="noframes")&&ot(/<\/no(script|embed|frames)/i,c.innerHTML)?(Vt(c),!0):(re&&c.nodeType===$e.text&&(g=c.textContent,sn([l,f,m],M=>{g=ke(g,M," ")}),c.textContent!==g&&(Se(e.removed,{element:c.cloneNode()}),c.textContent=g)),At(V.afterSanitizeElements,c,null),!1)},io=function(c,g,h){if(Vr&&(g==="id"||g==="name")&&(h in n||h in Aa))return!1;if(!(Wt&&!ht[g]&&ot(y,g))&&!(be&&ot(C,g))){if(!A[g]||ht[g]){if(!(ao(c)&&(P.tagNameCheck instanceof RegExp&&ot(P.tagNameCheck,c)||P.tagNameCheck instanceof Function&&P.tagNameCheck(c))&&(P.attributeNameCheck instanceof RegExp&&ot(P.attributeNameCheck,g)||P.attributeNameCheck instanceof Function&&P.attributeNameCheck(g))||g==="is"&&P.allowCustomizedBuiltInElements&&(P.tagNameCheck instanceof RegExp&&ot(P.tagNameCheck,h)||P.tagNameCheck instanceof Function&&P.tagNameCheck(h))))return!1}else if(!In[g]&&!ot(I,ke(h,x,""))&&!((g==="src"||g==="xlink:href"||g==="href")&&c!=="script"&&ul(h,"data:")===0&&Kr[c])&&!(Wr&&!ot(k,ke(h,x,"")))&&h)return!1}return!0},ao=function(c){return c!=="annotation-xml"&&ui(c,S)},so=function(c){At(V.beforeSanitizeAttributes,c,null);const{attributes:g}=c;if(!g||Pn(c))return;const h={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:A,forceKeepAttr:void 0};let M=g.length;for(;M--;){const Q=g[M],{name:q,namespaceURI:$t,value:gt}=Q,xt=X(q);let rt=q==="value"?gt:ll(gt);if(h.attrName=xt,h.attrValue=rt,h.keepAttr=!0,h.forceKeepAttr=void 0,At(V.uponSanitizeAttribute,c,h),rt=h.attrValue,qr&&(xt==="id"||xt==="name")&&(Qe(q,c),rt=Oa+rt),An&&ot(/((--!?|])>)|<\/(style|title)/i,rt)){Qe(q,c);continue}if(h.forceKeepAttr||(Qe(q,c),!h.keepAttr))continue;if(!Gr&&ot(/\/>/i,rt)){Qe(q,c);continue}re&&sn([l,f,m],Da=>{rt=ke(rt,Da," ")});const co=X(c.nodeName);if(io(co,xt,rt)){if(L&&typeof T=="object"&&typeof T.getAttributeType=="function"&&!$t)switch(T.getAttributeType(co,xt)){case"TrustedHTML":{rt=L.createHTML(rt);break}case"TrustedScriptURL":{rt=L.createScriptURL(rt);break}}try{$t?c.setAttributeNS($t,q,rt):c.setAttribute(q,rt),Pn(c)?Vt(c):ci(e.removed)}catch{}}}At(V.afterSanitizeAttributes,c,null)},Na=function c(g){let h=null;const M=no(g);for(At(V.beforeSanitizeShadowDOM,g,null);h=M.nextNode();)At(V.uponSanitizeShadowNode,h,null),oo(h),so(h),h.content instanceof i&&c(h.content);At(V.afterSanitizeShadowDOM,g,null)};return e.sanitize=function(c){let g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},h=null,M=null,Q=null,q=null;if(Rn=!c,Rn&&(c=""),typeof c!="string"&&!ro(c))if(typeof c.toString=="function"){if(c=c.toString(),typeof c!="string")throw Ee("dirty is not a string, aborting")}else throw Ee("toString is not a function");if(!e.isSupported)return c;if($n||Mn(g),e.removed=[],typeof c=="string"&&(we=!1),we){if(c.nodeName){const xt=X(c.nodeName);if(!w[xt]||pt[xt])throw Ee("root node is forbidden and cannot be sanitized in-place")}}else if(c instanceof s)h=eo(""),M=h.ownerDocument.importNode(c,!0),M.nodeType===$e.element&&M.nodeName==="BODY"||M.nodeName==="HTML"?h=M:h.appendChild(M);else{if(!oe&&!re&&!Gt&&c.indexOf("<")===-1)return L&&Ve?L.createHTML(c):c;if(h=eo(c),!h)return oe?null:Ve?Z:""}h&&Nn&&Vt(h.firstChild);const $t=no(we?c:h);for(;Q=$t.nextNode();)oo(Q),so(Q),Q.content instanceof i&&Na(Q.content);if(we)return c;if(oe){if(Ge)for(q=mt.call(h.ownerDocument);h.firstChild;)q.appendChild(h.firstChild);else q=h;return(A.shadowroot||A.shadowrootmode)&&(q=ne.call(r,q,!0)),q}let gt=Gt?h.outerHTML:h.innerHTML;return Gt&&w["!doctype"]&&h.ownerDocument&&h.ownerDocument.doctype&&h.ownerDocument.doctype.name&&ot(ba,h.ownerDocument.doctype.name)&&(gt=" -`+gt),re&&sn([l,f,m],xt=>{gt=ke(gt,xt," ")}),L&&Ve?L.createHTML(gt):gt},e.setConfig=function(){let c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Mn(c),$n=!0},e.clearConfig=function(){ce=null,$n=!1},e.isValidAttribute=function(c,g,h){ce||Mn({});const M=X(c),Q=X(g);return io(M,Q,h)},e.addHook=function(c,g){typeof g=="function"&&Se(V[c],g)},e.removeHook=function(c,g){if(g!==void 0){const h=sl(V[c],g);return h===-1?void 0:cl(V[c],h,1)[0]}return ci(V[c])},e.removeHooks=function(c){V[c]=[]},e.removeAllHooks=function(){V=mi()},e}var xl=wa(),Sl=/["'&<>]/,kl=El;function El(t){var e=""+t,n=Sl.exec(e);if(!n)return e;var r,o="",i=0,a=0;for(i=n.index;ie)}}function Qn(t,e,n,r,o){const i=typeof n=="object"?n:void 0,a=typeof r=="number"?r:typeof n=="number"?n:void 0,s={escape:!0,sanitize:!0,...typeof o=="object"?o:typeof r=="object"?r:{}},u=N=>N,d=s.sanitize?xl.sanitize:u,v=s.escape?hi:u,_=N=>typeof N=="string"||typeof N=="number",b=(N,H,R)=>N.replace(/%n/g,""+R).replace(/{([^{}]*)}/g,(G,E)=>{if(H===void 0||!(E in H))return v(G);const U=H[E];return _(U)?v(`${U}`):typeof U=="object"&&_(U.value)?(U.escape!==!1?hi:u)(`${U.value}`):v(G)});let T=(o?.bundle??Ta(t)).translations[e]||e;return T=Array.isArray(T)?T[0]:T,d(typeof i=="object"||a!==void 0?b(T,i,a):T)}function Yl(t,e,n,r,o,i){const a="_"+e+"_::_"+n+"_",s=i?.bundle??Ta(t),u=s.translations[a];if(typeof u<"u"){const d=u;if(Array.isArray(d)){const v=s.pluralFunction(r);return Qn(t,d[v],o,r,i)}}return r===1?Qn(t,e,o,r,i):Qn(t,n,o,r,i)}function Kl(t,e=Ca()){switch(e==="pt-BR"&&(e="xbr"),e.length>3&&(e=e.substring(0,e.lastIndexOf("-"))),e){case"az":case"bo":case"dz":case"id":case"ja":case"jv":case"ka":case"km":case"kn":case"ko":case"ms":case"th":case"tr":case"vi":case"zh":return 0;case"af":case"bn":case"bg":case"ca":case"da":case"de":case"el":case"en":case"eo":case"es":case"et":case"eu":case"fa":case"fi":case"fo":case"fur":case"fy":case"gl":case"gu":case"ha":case"he":case"hu":case"is":case"it":case"ku":case"lb":case"ml":case"mn":case"mr":case"nah":case"nb":case"ne":case"nl":case"nn":case"no":case"oc":case"om":case"or":case"pa":case"pap":case"ps":case"pt":case"so":case"sq":case"sv":case"sw":case"ta":case"te":case"tk":case"ur":case"zu":return t===1?0:1;case"am":case"bh":case"fil":case"fr":case"gun":case"hi":case"hy":case"ln":case"mg":case"nso":case"xbr":case"ti":case"wa":return t===0||t===1?0:1;case"be":case"bs":case"hr":case"ru":case"sh":case"sr":case"uk":return t%10===1&&t%100!==11?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2;case"cs":case"sk":return t===1?0:t>=2&&t<=4?1:2;case"ga":return t===1?0:t===2?1:2;case"lt":return t%10===1&&t%100!==11?0:t%10>=2&&(t%100<10||t%100>=20)?1:2;case"sl":return t%100===1?0:t%100===2?1:t%100===3||t%100===4?2:3;case"mk":return t%10===1?0:1;case"mt":return t===1?0:t===0||t%100>1&&t%100<11?1:t%100>10&&t%100<20?2:3;case"lv":return t===0?0:t%10===1&&t%100!==11?1:2;case"pl":return t===1?0:t%10>=2&&t%10<=4&&(t%100<12||t%100>14)?1:2;case"cy":return t===1?0:t===2?1:t===8||t===11?2:3;case"ro":return t===1?0:t===0||t%100>0&&t%100<20?1:2;case"ar":return t===0?0:t===1?1:t===2?2:t%100>=3&&t%100<=10?3:t%100>=11&&t%100<=99?4:5;default:return 0}}export{Kl as A,xl as B,Ul as C,Y as V,us as a,zl as b,Pl as c,Gl as d,Il as e,Fl as f,Nl as g,Yl as h,tt as i,uo as j,Bl as k,rs as l,Al as m,Er as n,Hl as o,ql as p,Ml as q,Dl as r,$i as s,Qn as t,Rl as u,Ll as v,jl as w,Vl as x,Ca as y,Wl as z}; -//# sourceMappingURL=translation-CD_FiYBO-Bp9rUH-Z.chunk.mjs.map +`+gt),re&&sn([l,f,m],xt=>{gt=ke(gt,xt," ")}),L&&Ve?L.createHTML(gt):gt},e.setConfig=function(){let c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Mn(c),$n=!0},e.clearConfig=function(){ce=null,$n=!1},e.isValidAttribute=function(c,g,h){ce||Mn({});const M=X(c),Q=X(g);return io(M,Q,h)},e.addHook=function(c,g){typeof g=="function"&&Se(V[c],g)},e.removeHook=function(c,g){if(g!==void 0){const h=sl(V[c],g);return h===-1?void 0:cl(V[c],h,1)[0]}return ci(V[c])},e.removeHooks=function(c){V[c]=[]},e.removeAllHooks=function(){V=mi()},e}var xl=wa(),Sl=/["'&<>]/,kl=El;function El(t){var e=""+t,n=Sl.exec(e);if(!n)return e;var r,o="",i=0,a=0;for(i=n.index;ie)}}function Qn(t,e,n,r,o){const i=typeof n=="object"?n:void 0,a=typeof r=="number"?r:typeof n=="number"?n:void 0,s={escape:!0,sanitize:!0,...typeof o=="object"?o:typeof r=="object"?r:{}},u=N=>N,d=s.sanitize?xl.sanitize:u,v=s.escape?hi:u,_=N=>typeof N=="string"||typeof N=="number",b=(N,H,R)=>N.replace(/%n/g,""+R).replace(/{([^{}]*)}/g,(G,E)=>{if(H===void 0||!(E in H))return v(G);const U=H[E];return _(U)?v(`${U}`):typeof U=="object"&&_(U.value)?(U.escape!==!1?hi:u)(`${U.value}`):v(G)});let T=(o?.bundle??Ta(t)).translations[e]||e;return T=Array.isArray(T)?T[0]:T,d(typeof i=="object"||a!==void 0?b(T,i,a):T)}function Yl(t,e,n,r,o,i){const a="_"+e+"_::_"+n+"_",s=i?.bundle??Ta(t),u=s.translations[a];if(typeof u<"u"){const d=u;if(Array.isArray(d)){const v=s.pluralFunction(r);return Qn(t,d[v],o,r,i)}}return r===1?Qn(t,e,o,r,i):Qn(t,n,o,r,i)}function Kl(t,e=Ca()){switch(e==="pt-BR"&&(e="xbr"),e.length>3&&(e=e.substring(0,e.lastIndexOf("-"))),e){case"az":case"bo":case"dz":case"id":case"ja":case"jv":case"ka":case"km":case"kn":case"ko":case"ms":case"th":case"tr":case"vi":case"zh":return 0;case"af":case"bn":case"bg":case"ca":case"da":case"de":case"el":case"en":case"eo":case"es":case"et":case"eu":case"fa":case"fi":case"fo":case"fur":case"fy":case"gl":case"gu":case"ha":case"he":case"hu":case"is":case"it":case"ku":case"lb":case"ml":case"mn":case"mr":case"nah":case"nb":case"ne":case"nl":case"nn":case"no":case"oc":case"om":case"or":case"pa":case"pap":case"ps":case"pt":case"so":case"sq":case"sv":case"sw":case"ta":case"te":case"tk":case"ur":case"zu":return t===1?0:1;case"am":case"bh":case"fil":case"fr":case"gun":case"hi":case"hy":case"ln":case"mg":case"nso":case"xbr":case"ti":case"wa":return t===0||t===1?0:1;case"be":case"bs":case"hr":case"ru":case"sh":case"sr":case"uk":return t%10===1&&t%100!==11?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2;case"cs":case"sk":return t===1?0:t>=2&&t<=4?1:2;case"ga":return t===1?0:t===2?1:2;case"lt":return t%10===1&&t%100!==11?0:t%10>=2&&(t%100<10||t%100>=20)?1:2;case"sl":return t%100===1?0:t%100===2?1:t%100===3||t%100===4?2:3;case"mk":return t%10===1?0:1;case"mt":return t===1?0:t===0||t%100>1&&t%100<11?1:t%100>10&&t%100<20?2:3;case"lv":return t===0?0:t%10===1&&t%100!==11?1:2;case"pl":return t===1?0:t%10>=2&&t%10<=4&&(t%100<12||t%100>14)?1:2;case"cy":return t===1?0:t===2?1:t===8||t===11?2:3;case"ro":return t===1?0:t===0||t%100>0&&t%100<20?1:2;case"ar":return t===0?0:t===1?1:t===2?2:t%100>=3&&t%100<=10?3:t%100>=11&&t%100<=99?4:5;default:return 0}}export{Kl as A,xl as B,Ul as C,Y as V,tt as a,us as b,Pl as c,Gl as d,zl as e,Il as f,Nl as g,Fl as h,ql as i,Yl as j,uo as k,Bl as l,rs as m,Er as n,Hl as o,Al as p,Ml as q,Dl as r,$i as s,Qn as t,Rl as u,Ll as v,jl as w,Vl as x,Ca as y,Wl as z}; +//# sourceMappingURL=translation-CD_FiYBO-DvZn3gAh.chunk.mjs.map diff --git a/js/translation-CD_FiYBO-Bp9rUH-Z.chunk.mjs.map b/js/translation-CD_FiYBO-DvZn3gAh.chunk.mjs.map similarity index 99% rename from js/translation-CD_FiYBO-Bp9rUH-Z.chunk.mjs.map rename to js/translation-CD_FiYBO-DvZn3gAh.chunk.mjs.map index a868f9c85..5ecc2890d 100644 --- a/js/translation-CD_FiYBO-Bp9rUH-Z.chunk.mjs.map +++ b/js/translation-CD_FiYBO-DvZn3gAh.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"translation-CD_FiYBO-Bp9rUH-Z.chunk.mjs","sources":["../node_modules/vite-plugin-node-polyfills/shims/global/dist/index.js","../node_modules/vue/dist/vue.runtime.esm.js","../node_modules/dompurify/dist/purify.es.mjs","../node_modules/escape-html/index.js","../node_modules/@nextcloud/l10n/dist/chunks/translation-CD_FiYBO.mjs"],"sourcesContent":["const global = globalThis || void 0 || self;\n\nexport { global as default, global };\n//# sourceMappingURL=index.js.map\n","/*!\n * Vue.js v2.7.16\n * (c) 2014-2023 Evan You\n * Released under the MIT License.\n */\nvar emptyObject = Object.freeze({});\nvar isArray = Array.isArray;\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef(v) {\n return v === undefined || v === null;\n}\nfunction isDef(v) {\n return v !== undefined && v !== null;\n}\nfunction isTrue(v) {\n return v === true;\n}\nfunction isFalse(v) {\n return v === false;\n}\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive(value) {\n return (typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean');\n}\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n/**\n * Quick object check - this is primarily used to tell\n * objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject(obj) {\n return obj !== null && typeof obj === 'object';\n}\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\nfunction toRawType(value) {\n return _toString.call(value).slice(8, -1);\n}\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject(obj) {\n return _toString.call(obj) === '[object Object]';\n}\nfunction isRegExp(v) {\n return _toString.call(v) === '[object RegExp]';\n}\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex(val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val);\n}\nfunction isPromise(val) {\n return (isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function');\n}\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString(val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, replacer, 2)\n : String(val);\n}\nfunction replacer(_key, val) {\n // avoid circular deps from v3\n if (val && val.__v_isRef) {\n return val.value;\n }\n return val;\n}\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber(val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n;\n}\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap(str, expectsLowerCase) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase ? function (val) { return map[val.toLowerCase()]; } : function (val) { return map[val]; };\n}\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n/**\n * Remove an item from an array.\n */\nfunction remove$2(arr, item) {\n var len = arr.length;\n if (len) {\n // fast path for the only / last item\n if (item === arr[len - 1]) {\n arr.length = len - 1;\n return;\n }\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1);\n }\n }\n}\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn(obj, key) {\n return hasOwnProperty.call(obj, key);\n}\n/**\n * Create a cached version of a pure function.\n */\nfunction cached(fn) {\n var cache = Object.create(null);\n return function cachedFn(str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n}\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return (c ? c.toUpperCase() : ''); });\n});\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase();\n});\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n/* istanbul ignore next */\nfunction polyfillBind(fn, ctx) {\n function boundFn(a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx);\n }\n boundFn._length = fn.length;\n return boundFn;\n}\nfunction nativeBind(fn, ctx) {\n return fn.bind(ctx);\n}\n// @ts-expect-error bind cannot be `undefined`\nvar bind = Function.prototype.bind ? nativeBind : polyfillBind;\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray(list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret;\n}\n/**\n * Mix properties into target object.\n */\nfunction extend(to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to;\n}\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject(arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res;\n}\n/* eslint-disable no-unused-vars */\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop(a, b, c) { }\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n/* eslint-enable no-unused-vars */\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual(a, b) {\n if (a === b)\n return true;\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return (a.length === b.length &&\n a.every(function (e, i) {\n return looseEqual(e, b[i]);\n }));\n }\n else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime();\n }\n else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return (keysA.length === keysB.length &&\n keysA.every(function (key) {\n return looseEqual(a[key], b[key]);\n }));\n }\n else {\n /* istanbul ignore next */\n return false;\n }\n }\n catch (e) {\n /* istanbul ignore next */\n return false;\n }\n }\n else if (!isObjectA && !isObjectB) {\n return String(a) === String(b);\n }\n else {\n return false;\n }\n}\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf(arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val))\n return i;\n }\n return -1;\n}\n/**\n * Ensure a function is called only once.\n */\nfunction once(fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n };\n}\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is#polyfill\nfunction hasChanged(x, y) {\n if (x === y) {\n return x === 0 && 1 / x !== 1 / y;\n }\n else {\n return x === x || y === y;\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\nvar ASSET_TYPES = ['component', 'directive', 'filter'];\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch',\n 'renderTracked',\n 'renderTriggered'\n];\n\nvar config = {\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n /**\n * Whether to record perf\n */\n performance: false,\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n};\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved(str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5f;\n}\n/**\n * Define a property.\n */\nfunction def(obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp(\"[^\".concat(unicodeRegExp.source, \".$_\\\\d]\"));\nfunction parsePath(path) {\n if (bailRE.test(path)) {\n return;\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj)\n return;\n obj = obj[segments[i]];\n }\n return obj;\n };\n}\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nUA && UA.indexOf('android') > 0;\nvar isIOS = UA && /iphone|ipad|ipod|ios/.test(UA);\nUA && /chrome\\/\\d+/.test(UA) && !isEdge;\nUA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n// Firefox has a \"watch\" function on Object.prototype...\n// @ts-expect-error firebox support\nvar nativeWatch = {}.watch;\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', {\n get: function () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n }); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n }\n catch (e) { }\n}\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer =\n global['process'] && global['process'].env.VUE_ENV === 'server';\n }\n else {\n _isServer = false;\n }\n }\n return _isServer;\n};\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n/* istanbul ignore next */\nfunction isNative(Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString());\n}\nvar hasSymbol = typeof Symbol !== 'undefined' &&\n isNative(Symbol) &&\n typeof Reflect !== 'undefined' &&\n isNative(Reflect.ownKeys);\nvar _Set; // $flow-disable-line\n/* istanbul ignore if */ if (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n}\nelse {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /** @class */ (function () {\n function Set() {\n this.set = Object.create(null);\n }\n Set.prototype.has = function (key) {\n return this.set[key] === true;\n };\n Set.prototype.add = function (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function () {\n this.set = Object.create(null);\n };\n return Set;\n }());\n}\n\nvar currentInstance = null;\n/**\n * This is exposed for compatibility with v3 (e.g. some functions in VueUse\n * relies on it). Do not use this internally, just use `currentInstance`.\n *\n * @internal this function needs manual type declaration because it relies\n * on previously manually authored types from Vue 2\n */\nfunction getCurrentInstance() {\n return currentInstance && { proxy: currentInstance };\n}\n/**\n * @internal\n */\nfunction setCurrentInstance(vm) {\n if (vm === void 0) { vm = null; }\n if (!vm)\n currentInstance && currentInstance._scope.off();\n currentInstance = vm;\n vm && vm._scope.on();\n}\n\n/**\n * @internal\n */\nvar VNode = /** @class */ (function () {\n function VNode(tag, data, children, text, elm, context, componentOptions, asyncFactory) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n }\n Object.defineProperty(VNode.prototype, \"child\", {\n // DEPRECATED: alias for componentInstance for backwards compat.\n /* istanbul ignore next */\n get: function () {\n return this.componentInstance;\n },\n enumerable: false,\n configurable: true\n });\n return VNode;\n}());\nvar createEmptyVNode = function (text) {\n if (text === void 0) { text = ''; }\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node;\n};\nfunction createTextVNode(val) {\n return new VNode(undefined, undefined, undefined, String(val));\n}\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode(vnode) {\n var cloned = new VNode(vnode.tag, vnode.data, \n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(), vnode.text, vnode.elm, vnode.context, vnode.componentOptions, vnode.asyncFactory);\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned;\n}\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\n\nvar uid$2 = 0;\nvar pendingCleanupDeps = [];\nvar cleanupDeps = function () {\n for (var i = 0; i < pendingCleanupDeps.length; i++) {\n var dep = pendingCleanupDeps[i];\n dep.subs = dep.subs.filter(function (s) { return s; });\n dep._pending = false;\n }\n pendingCleanupDeps.length = 0;\n};\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n * @internal\n */\nvar Dep = /** @class */ (function () {\n function Dep() {\n // pending subs cleanup\n this._pending = false;\n this.id = uid$2++;\n this.subs = [];\n }\n Dep.prototype.addSub = function (sub) {\n this.subs.push(sub);\n };\n Dep.prototype.removeSub = function (sub) {\n // #12696 deps with massive amount of subscribers are extremely slow to\n // clean up in Chromium\n // to workaround this, we unset the sub for now, and clear them on\n // next scheduler flush.\n this.subs[this.subs.indexOf(sub)] = null;\n if (!this._pending) {\n this._pending = true;\n pendingCleanupDeps.push(this);\n }\n };\n Dep.prototype.depend = function (info) {\n if (Dep.target) {\n Dep.target.addDep(this);\n if (process.env.NODE_ENV !== 'production' && info && Dep.target.onTrack) {\n Dep.target.onTrack(__assign({ effect: Dep.target }, info));\n }\n }\n };\n Dep.prototype.notify = function (info) {\n // stabilize the subscriber list first\n var subs = this.subs.filter(function (s) { return s; });\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n var sub = subs[i];\n if (process.env.NODE_ENV !== 'production' && info) {\n sub.onTrigger &&\n sub.onTrigger(__assign({ effect: subs[i] }, info));\n }\n sub.update();\n }\n };\n return Dep;\n}());\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\nDep.target = null;\nvar targetStack = [];\nfunction pushTarget(target) {\n targetStack.push(target);\n Dep.target = target;\n}\nfunction popTarget() {\n targetStack.pop();\n Dep.target = targetStack[targetStack.length - 1];\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break;\n case 'splice':\n inserted = args.slice(2);\n break;\n }\n if (inserted)\n ob.observeArray(inserted);\n // notify change\n if (process.env.NODE_ENV !== 'production') {\n ob.dep.notify({\n type: \"array mutation\" /* TriggerOpTypes.ARRAY_MUTATION */,\n target: this,\n key: method\n });\n }\n else {\n ob.dep.notify();\n }\n return result;\n });\n});\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\nvar NO_INITIAL_VALUE = {};\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\nfunction toggleObserving(value) {\n shouldObserve = value;\n}\n// ssr mock dep\nvar mockDep = {\n notify: noop,\n depend: noop,\n addSub: noop,\n removeSub: noop\n};\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = /** @class */ (function () {\n function Observer(value, shallow, mock) {\n if (shallow === void 0) { shallow = false; }\n if (mock === void 0) { mock = false; }\n this.value = value;\n this.shallow = shallow;\n this.mock = mock;\n // this.value = value\n this.dep = mock ? mockDep : new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (isArray(value)) {\n if (!mock) {\n if (hasProto) {\n value.__proto__ = arrayMethods;\n /* eslint-enable no-proto */\n }\n else {\n for (var i = 0, l = arrayKeys.length; i < l; i++) {\n var key = arrayKeys[i];\n def(value, key, arrayMethods[key]);\n }\n }\n }\n if (!shallow) {\n this.observeArray(value);\n }\n }\n else {\n /**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\n var keys = Object.keys(value);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n defineReactive(value, key, NO_INITIAL_VALUE, undefined, shallow, mock);\n }\n }\n }\n /**\n * Observe a list of Array items.\n */\n Observer.prototype.observeArray = function (value) {\n for (var i = 0, l = value.length; i < l; i++) {\n observe(value[i], false, this.mock);\n }\n };\n return Observer;\n}());\n// helpers\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe(value, shallow, ssrMockReactivity) {\n if (value && hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n return value.__ob__;\n }\n if (shouldObserve &&\n (ssrMockReactivity || !isServerRendering()) &&\n (isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value.__v_skip /* ReactiveFlags.SKIP */ &&\n !isRef(value) &&\n !(value instanceof VNode)) {\n return new Observer(value, shallow, ssrMockReactivity);\n }\n}\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive(obj, key, val, customSetter, shallow, mock, observeEvenIfShallow) {\n if (observeEvenIfShallow === void 0) { observeEvenIfShallow = false; }\n var dep = new Dep();\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return;\n }\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) &&\n (val === NO_INITIAL_VALUE || arguments.length === 2)) {\n val = obj[key];\n }\n var childOb = shallow ? val && val.__ob__ : observe(val, false, mock);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter() {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n if (process.env.NODE_ENV !== 'production') {\n dep.depend({\n target: obj,\n type: \"get\" /* TrackOpTypes.GET */,\n key: key\n });\n }\n else {\n dep.depend();\n }\n if (childOb) {\n childOb.dep.depend();\n if (isArray(value)) {\n dependArray(value);\n }\n }\n }\n return isRef(value) && !shallow ? value.value : value;\n },\n set: function reactiveSetter(newVal) {\n var value = getter ? getter.call(obj) : val;\n if (!hasChanged(value, newVal)) {\n return;\n }\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n if (setter) {\n setter.call(obj, newVal);\n }\n else if (getter) {\n // #7981: for accessor properties without setter\n return;\n }\n else if (!shallow && isRef(value) && !isRef(newVal)) {\n value.value = newVal;\n return;\n }\n else {\n val = newVal;\n }\n childOb = shallow ? newVal && newVal.__ob__ : observe(newVal, false, mock);\n if (process.env.NODE_ENV !== 'production') {\n dep.notify({\n type: \"set\" /* TriggerOpTypes.SET */,\n target: obj,\n key: key,\n newValue: newVal,\n oldValue: value\n });\n }\n else {\n dep.notify();\n }\n }\n });\n return dep;\n}\nfunction set(target, key, val) {\n if (process.env.NODE_ENV !== 'production' && (isUndef(target) || isPrimitive(target))) {\n warn(\"Cannot set reactive property on undefined, null, or primitive value: \".concat(target));\n }\n if (isReadonly(target)) {\n process.env.NODE_ENV !== 'production' && warn(\"Set operation on key \\\"\".concat(key, \"\\\" failed: target is readonly.\"));\n return;\n }\n var ob = target.__ob__;\n if (isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n // when mocking for SSR, array methods are not hijacked\n if (ob && !ob.shallow && ob.mock) {\n observe(val, false, true);\n }\n return val;\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val;\n }\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' &&\n warn('Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.');\n return val;\n }\n if (!ob) {\n target[key] = val;\n return val;\n }\n defineReactive(ob.value, key, val, undefined, ob.shallow, ob.mock);\n if (process.env.NODE_ENV !== 'production') {\n ob.dep.notify({\n type: \"add\" /* TriggerOpTypes.ADD */,\n target: target,\n key: key,\n newValue: val,\n oldValue: undefined\n });\n }\n else {\n ob.dep.notify();\n }\n return val;\n}\nfunction del(target, key) {\n if (process.env.NODE_ENV !== 'production' && (isUndef(target) || isPrimitive(target))) {\n warn(\"Cannot delete reactive property on undefined, null, or primitive value: \".concat(target));\n }\n if (isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return;\n }\n var ob = target.__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' &&\n warn('Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.');\n return;\n }\n if (isReadonly(target)) {\n process.env.NODE_ENV !== 'production' &&\n warn(\"Delete operation on key \\\"\".concat(key, \"\\\" failed: target is readonly.\"));\n return;\n }\n if (!hasOwn(target, key)) {\n return;\n }\n delete target[key];\n if (!ob) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n ob.dep.notify({\n type: \"delete\" /* TriggerOpTypes.DELETE */,\n target: target,\n key: key\n });\n }\n else {\n ob.dep.notify();\n }\n}\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray(value) {\n for (var e = void 0, i = 0, l = value.length; i < l; i++) {\n e = value[i];\n if (e && e.__ob__) {\n e.__ob__.dep.depend();\n }\n if (isArray(e)) {\n dependArray(e);\n }\n }\n}\n\nfunction reactive(target) {\n makeReactive(target, false);\n return target;\n}\n/**\n * Return a shallowly-reactive copy of the original object, where only the root\n * level properties are reactive. It also does not auto-unwrap refs (even at the\n * root level).\n */\nfunction shallowReactive(target) {\n makeReactive(target, true);\n def(target, \"__v_isShallow\" /* ReactiveFlags.IS_SHALLOW */, true);\n return target;\n}\nfunction makeReactive(target, shallow) {\n // if trying to observe a readonly proxy, return the readonly version.\n if (!isReadonly(target)) {\n if (process.env.NODE_ENV !== 'production') {\n if (isArray(target)) {\n warn(\"Avoid using Array as root value for \".concat(shallow ? \"shallowReactive()\" : \"reactive()\", \" as it cannot be tracked in watch() or watchEffect(). Use \").concat(shallow ? \"shallowRef()\" : \"ref()\", \" instead. This is a Vue-2-only limitation.\"));\n }\n var existingOb = target && target.__ob__;\n if (existingOb && existingOb.shallow !== shallow) {\n warn(\"Target is already a \".concat(existingOb.shallow ? \"\" : \"non-\", \"shallow reactive object, and cannot be converted to \").concat(shallow ? \"\" : \"non-\", \"shallow.\"));\n }\n }\n var ob = observe(target, shallow, isServerRendering() /* ssr mock reactivity */);\n if (process.env.NODE_ENV !== 'production' && !ob) {\n if (target == null || isPrimitive(target)) {\n warn(\"value cannot be made reactive: \".concat(String(target)));\n }\n if (isCollectionType(target)) {\n warn(\"Vue 2 does not support reactive collection types such as Map or Set.\");\n }\n }\n }\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\" /* ReactiveFlags.RAW */]);\n }\n return !!(value && value.__ob__);\n}\nfunction isShallow(value) {\n return !!(value && value.__v_isShallow);\n}\nfunction isReadonly(value) {\n return !!(value && value.__v_isReadonly);\n}\nfunction isProxy(value) {\n return isReactive(value) || isReadonly(value);\n}\nfunction toRaw(observed) {\n var raw = observed && observed[\"__v_raw\" /* ReactiveFlags.RAW */];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n // non-extensible objects won't be observed anyway\n if (Object.isExtensible(value)) {\n def(value, \"__v_skip\" /* ReactiveFlags.SKIP */, true);\n }\n return value;\n}\n/**\n * @internal\n */\nfunction isCollectionType(value) {\n var type = toRawType(value);\n return (type === 'Map' || type === 'WeakMap' || type === 'Set' || type === 'WeakSet');\n}\n\n/**\n * @internal\n */\nvar RefFlag = \"__v_isRef\";\nfunction isRef(r) {\n return !!(r && r.__v_isRef === true);\n}\nfunction ref$1(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n var ref = {};\n def(ref, RefFlag, true);\n def(ref, \"__v_isShallow\" /* ReactiveFlags.IS_SHALLOW */, shallow);\n def(ref, 'dep', defineReactive(ref, 'value', rawValue, null, shallow, isServerRendering()));\n return ref;\n}\nfunction triggerRef(ref) {\n if (process.env.NODE_ENV !== 'production' && !ref.dep) {\n warn(\"received object is not a triggerable ref.\");\n }\n if (process.env.NODE_ENV !== 'production') {\n ref.dep &&\n ref.dep.notify({\n type: \"set\" /* TriggerOpTypes.SET */,\n target: ref,\n key: 'value'\n });\n }\n else {\n ref.dep && ref.dep.notify();\n }\n}\nfunction unref(ref) {\n return isRef(ref) ? ref.value : ref;\n}\nfunction proxyRefs(objectWithRefs) {\n if (isReactive(objectWithRefs)) {\n return objectWithRefs;\n }\n var proxy = {};\n var keys = Object.keys(objectWithRefs);\n for (var i = 0; i < keys.length; i++) {\n proxyWithRefUnwrap(proxy, objectWithRefs, keys[i]);\n }\n return proxy;\n}\nfunction proxyWithRefUnwrap(target, source, key) {\n Object.defineProperty(target, key, {\n enumerable: true,\n configurable: true,\n get: function () {\n var val = source[key];\n if (isRef(val)) {\n return val.value;\n }\n else {\n var ob = val && val.__ob__;\n if (ob)\n ob.dep.depend();\n return val;\n }\n },\n set: function (value) {\n var oldValue = source[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n }\n else {\n source[key] = value;\n }\n }\n });\n}\nfunction customRef(factory) {\n var dep = new Dep();\n var _a = factory(function () {\n if (process.env.NODE_ENV !== 'production') {\n dep.depend({\n target: ref,\n type: \"get\" /* TrackOpTypes.GET */,\n key: 'value'\n });\n }\n else {\n dep.depend();\n }\n }, function () {\n if (process.env.NODE_ENV !== 'production') {\n dep.notify({\n target: ref,\n type: \"set\" /* TriggerOpTypes.SET */,\n key: 'value'\n });\n }\n else {\n dep.notify();\n }\n }), get = _a.get, set = _a.set;\n var ref = {\n get value() {\n return get();\n },\n set value(newVal) {\n set(newVal);\n }\n };\n def(ref, RefFlag, true);\n return ref;\n}\nfunction toRefs(object) {\n if (process.env.NODE_ENV !== 'production' && !isReactive(object)) {\n warn(\"toRefs() expects a reactive object but received a plain one.\");\n }\n var ret = isArray(object) ? new Array(object.length) : {};\n for (var key in object) {\n ret[key] = toRef(object, key);\n }\n return ret;\n}\nfunction toRef(object, key, defaultValue) {\n var val = object[key];\n if (isRef(val)) {\n return val;\n }\n var ref = {\n get value() {\n var val = object[key];\n return val === undefined ? defaultValue : val;\n },\n set value(newVal) {\n object[key] = newVal;\n }\n };\n def(ref, RefFlag, true);\n return ref;\n}\n\nvar rawToReadonlyFlag = \"__v_rawToReadonly\";\nvar rawToShallowReadonlyFlag = \"__v_rawToShallowReadonly\";\nfunction readonly(target) {\n return createReadonly(target, false);\n}\nfunction createReadonly(target, shallow) {\n if (!isPlainObject(target)) {\n if (process.env.NODE_ENV !== 'production') {\n if (isArray(target)) {\n warn(\"Vue 2 does not support readonly arrays.\");\n }\n else if (isCollectionType(target)) {\n warn(\"Vue 2 does not support readonly collection types such as Map or Set.\");\n }\n else {\n warn(\"value cannot be made readonly: \".concat(typeof target));\n }\n }\n return target;\n }\n if (process.env.NODE_ENV !== 'production' && !Object.isExtensible(target)) {\n warn(\"Vue 2 does not support creating readonly proxy for non-extensible object.\");\n }\n // already a readonly object\n if (isReadonly(target)) {\n return target;\n }\n // already has a readonly proxy\n var existingFlag = shallow ? rawToShallowReadonlyFlag : rawToReadonlyFlag;\n var existingProxy = target[existingFlag];\n if (existingProxy) {\n return existingProxy;\n }\n var proxy = Object.create(Object.getPrototypeOf(target));\n def(target, existingFlag, proxy);\n def(proxy, \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */, true);\n def(proxy, \"__v_raw\" /* ReactiveFlags.RAW */, target);\n if (isRef(target)) {\n def(proxy, RefFlag, true);\n }\n if (shallow || isShallow(target)) {\n def(proxy, \"__v_isShallow\" /* ReactiveFlags.IS_SHALLOW */, true);\n }\n var keys = Object.keys(target);\n for (var i = 0; i < keys.length; i++) {\n defineReadonlyProperty(proxy, target, keys[i], shallow);\n }\n return proxy;\n}\nfunction defineReadonlyProperty(proxy, target, key, shallow) {\n Object.defineProperty(proxy, key, {\n enumerable: true,\n configurable: true,\n get: function () {\n var val = target[key];\n return shallow || !isPlainObject(val) ? val : readonly(val);\n },\n set: function () {\n process.env.NODE_ENV !== 'production' &&\n warn(\"Set operation on key \\\"\".concat(key, \"\\\" failed: target is readonly.\"));\n }\n });\n}\n/**\n * Returns a reactive-copy of the original object, where only the root level\n * properties are readonly, and does NOT unwrap refs nor recursively convert\n * returned properties.\n * This is used for creating the props proxy object for stateful components.\n */\nfunction shallowReadonly(target) {\n return createReadonly(target, true);\n}\n\nfunction computed(getterOrOptions, debugOptions) {\n var getter;\n var setter;\n var onlyGetter = isFunction(getterOrOptions);\n if (onlyGetter) {\n getter = getterOrOptions;\n setter = process.env.NODE_ENV !== 'production'\n ? function () {\n warn('Write operation failed: computed value is readonly');\n }\n : noop;\n }\n else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n var watcher = isServerRendering()\n ? null\n : new Watcher(currentInstance, getter, noop, { lazy: true });\n if (process.env.NODE_ENV !== 'production' && watcher && debugOptions) {\n watcher.onTrack = debugOptions.onTrack;\n watcher.onTrigger = debugOptions.onTrigger;\n }\n var ref = {\n // some libs rely on the presence effect for checking computed refs\n // from normal refs, but the implementation doesn't matter\n effect: watcher,\n get value() {\n if (watcher) {\n if (watcher.dirty) {\n watcher.evaluate();\n }\n if (Dep.target) {\n if (process.env.NODE_ENV !== 'production' && Dep.target.onTrack) {\n Dep.target.onTrack({\n effect: Dep.target,\n target: ref,\n type: \"get\" /* TrackOpTypes.GET */,\n key: 'value'\n });\n }\n watcher.depend();\n }\n return watcher.value;\n }\n else {\n return getter();\n }\n },\n set value(newVal) {\n setter(newVal);\n }\n };\n def(ref, RefFlag, true);\n def(ref, \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */, onlyGetter);\n return ref;\n}\n\nvar WATCHER = \"watcher\";\nvar WATCHER_CB = \"\".concat(WATCHER, \" callback\");\nvar WATCHER_GETTER = \"\".concat(WATCHER, \" getter\");\nvar WATCHER_CLEANUP = \"\".concat(WATCHER, \" cleanup\");\n// Simple effect.\nfunction watchEffect(effect, options) {\n return doWatch(effect, null, options);\n}\nfunction watchPostEffect(effect, options) {\n return doWatch(effect, null, (process.env.NODE_ENV !== 'production'\n ? __assign(__assign({}, options), { flush: 'post' }) : { flush: 'post' }));\n}\nfunction watchSyncEffect(effect, options) {\n return doWatch(effect, null, (process.env.NODE_ENV !== 'production'\n ? __assign(__assign({}, options), { flush: 'sync' }) : { flush: 'sync' }));\n}\n// initial value for watchers to trigger on undefined initial values\nvar INITIAL_WATCHER_VALUE = {};\n// implementation\nfunction watch(source, cb, options) {\n if (process.env.NODE_ENV !== 'production' && typeof cb !== 'function') {\n warn(\"`watch(fn, options?)` signature has been moved to a separate API. \" +\n \"Use `watchEffect(fn, options?)` instead. `watch` now only \" +\n \"supports `watch(source, cb, options?) signature.\");\n }\n return doWatch(source, cb, options);\n}\nfunction doWatch(source, cb, _a) {\n var _b = _a === void 0 ? emptyObject : _a, immediate = _b.immediate, deep = _b.deep, _c = _b.flush, flush = _c === void 0 ? 'pre' : _c, onTrack = _b.onTrack, onTrigger = _b.onTrigger;\n if (process.env.NODE_ENV !== 'production' && !cb) {\n if (immediate !== undefined) {\n warn(\"watch() \\\"immediate\\\" option is only respected when using the \" +\n \"watch(source, callback, options?) signature.\");\n }\n if (deep !== undefined) {\n warn(\"watch() \\\"deep\\\" option is only respected when using the \" +\n \"watch(source, callback, options?) signature.\");\n }\n }\n var warnInvalidSource = function (s) {\n warn(\"Invalid watch source: \".concat(s, \". A watch source can only be a getter/effect \") +\n \"function, a ref, a reactive object, or an array of these types.\");\n };\n var instance = currentInstance;\n var call = function (fn, type, args) {\n if (args === void 0) { args = null; }\n var res = invokeWithErrorHandling(fn, null, args, instance, type);\n if (deep && res && res.__ob__)\n res.__ob__.dep.depend();\n return res;\n };\n var getter;\n var forceTrigger = false;\n var isMultiSource = false;\n if (isRef(source)) {\n getter = function () { return source.value; };\n forceTrigger = isShallow(source);\n }\n else if (isReactive(source)) {\n getter = function () {\n source.__ob__.dep.depend();\n return source;\n };\n deep = true;\n }\n else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some(function (s) { return isReactive(s) || isShallow(s); });\n getter = function () {\n return source.map(function (s) {\n if (isRef(s)) {\n return s.value;\n }\n else if (isReactive(s)) {\n s.__ob__.dep.depend();\n return traverse(s);\n }\n else if (isFunction(s)) {\n return call(s, WATCHER_GETTER);\n }\n else {\n process.env.NODE_ENV !== 'production' && warnInvalidSource(s);\n }\n });\n };\n }\n else if (isFunction(source)) {\n if (cb) {\n // getter with cb\n getter = function () { return call(source, WATCHER_GETTER); };\n }\n else {\n // no cb -> simple effect\n getter = function () {\n if (instance && instance._isDestroyed) {\n return;\n }\n if (cleanup) {\n cleanup();\n }\n return call(source, WATCHER, [onCleanup]);\n };\n }\n }\n else {\n getter = noop;\n process.env.NODE_ENV !== 'production' && warnInvalidSource(source);\n }\n if (cb && deep) {\n var baseGetter_1 = getter;\n getter = function () { return traverse(baseGetter_1()); };\n }\n var cleanup;\n var onCleanup = function (fn) {\n cleanup = watcher.onStop = function () {\n call(fn, WATCHER_CLEANUP);\n };\n };\n // in SSR there is no need to setup an actual effect, and it should be noop\n // unless it's eager\n if (isServerRendering()) {\n // we will also not call the invalidate callback (+ runner is not set up)\n onCleanup = noop;\n if (!cb) {\n getter();\n }\n else if (immediate) {\n call(cb, WATCHER_CB, [\n getter(),\n isMultiSource ? [] : undefined,\n onCleanup\n ]);\n }\n return noop;\n }\n var watcher = new Watcher(currentInstance, getter, noop, {\n lazy: true\n });\n watcher.noRecurse = !cb;\n var oldValue = isMultiSource ? [] : INITIAL_WATCHER_VALUE;\n // overwrite default run\n watcher.run = function () {\n if (!watcher.active) {\n return;\n }\n if (cb) {\n // watch(source, cb)\n var newValue = watcher.get();\n if (deep ||\n forceTrigger ||\n (isMultiSource\n ? newValue.some(function (v, i) {\n return hasChanged(v, oldValue[i]);\n })\n : hasChanged(newValue, oldValue))) {\n // cleanup before running cb again\n if (cleanup) {\n cleanup();\n }\n call(cb, WATCHER_CB, [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? undefined : oldValue,\n onCleanup\n ]);\n oldValue = newValue;\n }\n }\n else {\n // watchEffect\n watcher.get();\n }\n };\n if (flush === 'sync') {\n watcher.update = watcher.run;\n }\n else if (flush === 'post') {\n watcher.post = true;\n watcher.update = function () { return queueWatcher(watcher); };\n }\n else {\n // pre\n watcher.update = function () {\n if (instance && instance === currentInstance && !instance._isMounted) {\n // pre-watcher triggered before\n var buffer = instance._preWatchers || (instance._preWatchers = []);\n if (buffer.indexOf(watcher) < 0)\n buffer.push(watcher);\n }\n else {\n queueWatcher(watcher);\n }\n };\n }\n if (process.env.NODE_ENV !== 'production') {\n watcher.onTrack = onTrack;\n watcher.onTrigger = onTrigger;\n }\n // initial run\n if (cb) {\n if (immediate) {\n watcher.run();\n }\n else {\n oldValue = watcher.get();\n }\n }\n else if (flush === 'post' && instance) {\n instance.$once('hook:mounted', function () { return watcher.get(); });\n }\n else {\n watcher.get();\n }\n return function () {\n watcher.teardown();\n };\n}\n\nvar activeEffectScope;\nvar EffectScope = /** @class */ (function () {\n function EffectScope(detached) {\n if (detached === void 0) { detached = false; }\n this.detached = detached;\n /**\n * @internal\n */\n this.active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index =\n (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;\n }\n }\n EffectScope.prototype.run = function (fn) {\n if (this.active) {\n var currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n }\n finally {\n activeEffectScope = currentEffectScope;\n }\n }\n else if (process.env.NODE_ENV !== 'production') {\n warn(\"cannot run an inactive effect scope.\");\n }\n };\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n EffectScope.prototype.on = function () {\n activeEffectScope = this;\n };\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n EffectScope.prototype.off = function () {\n activeEffectScope = this.parent;\n };\n EffectScope.prototype.stop = function (fromParent) {\n if (this.active) {\n var i = void 0, l = void 0;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].teardown();\n }\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n }\n // nested scope, dereference from parent to avoid memory leaks\n if (!this.detached && this.parent && !fromParent) {\n // optimized O(1) removal\n var last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = undefined;\n this.active = false;\n }\n };\n return EffectScope;\n}());\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\n/**\n * @internal\n */\nfunction recordEffectScope(effect, scope) {\n if (scope === void 0) { scope = activeEffectScope; }\n if (scope && scope.active) {\n scope.effects.push(effect);\n }\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n }\n else if (process.env.NODE_ENV !== 'production') {\n warn(\"onScopeDispose() is called when there is no active effect scope\" +\n \" to be associated with.\");\n }\n}\n\nfunction provide(key, value) {\n if (!currentInstance) {\n if (process.env.NODE_ENV !== 'production') {\n warn(\"provide() can only be used inside setup().\");\n }\n }\n else {\n // TS doesn't allow symbol as index type\n resolveProvided(currentInstance)[key] = value;\n }\n}\nfunction resolveProvided(vm) {\n // by default an instance inherits its parent's provides object\n // but when it needs to provide values of its own, it creates its\n // own provides object using parent provides object as prototype.\n // this way in `inject` we can simply look up injections from direct\n // parent and let the prototype chain do the work.\n var existing = vm._provided;\n var parentProvides = vm.$parent && vm.$parent._provided;\n if (parentProvides === existing) {\n return (vm._provided = Object.create(parentProvides));\n }\n else {\n return existing;\n }\n}\nfunction inject(key, defaultValue, treatDefaultAsFactory) {\n if (treatDefaultAsFactory === void 0) { treatDefaultAsFactory = false; }\n // fallback to `currentRenderingInstance` so that this can be called in\n // a functional component\n var instance = currentInstance;\n if (instance) {\n // #2400\n // to support `app.use` plugins,\n // fallback to appContext's `provides` if the instance is at root\n var provides = instance.$parent && instance.$parent._provided;\n if (provides && key in provides) {\n // TS doesn't allow symbol as index type\n return provides[key];\n }\n else if (arguments.length > 1) {\n return treatDefaultAsFactory && isFunction(defaultValue)\n ? defaultValue.call(instance)\n : defaultValue;\n }\n else if (process.env.NODE_ENV !== 'production') {\n warn(\"injection \\\"\".concat(String(key), \"\\\" not found.\"));\n }\n }\n else if (process.env.NODE_ENV !== 'production') {\n warn(\"inject() can only be used inside setup() or functional components.\");\n }\n}\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once,\n capture: capture,\n passive: passive\n };\n});\nfunction createFnInvoker(fns, vm) {\n function invoker() {\n var fns = invoker.fns;\n if (isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments, vm, \"v-on handler\");\n }\n }\n else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\");\n }\n }\n invoker.fns = fns;\n return invoker;\n}\nfunction updateListeners(on, oldOn, add, remove, createOnceHandler, vm) {\n var name, cur, old, event;\n for (name in on) {\n cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' &&\n warn(\"Invalid handler for event \\\"\".concat(event.name, \"\\\": got \") + String(cur), vm);\n }\n else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n }\n else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove(event.name, oldOn[name], event.capture);\n }\n }\n}\n\nfunction mergeVNodeHook(def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n function wrappedHook() {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove$2(invoker.fns, wrappedHook);\n }\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n }\n else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n }\n else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\nfunction extractPropsFromVNodeData(data, Ctor, tag) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return;\n }\n var res = {};\n var attrs = data.attrs, props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (key !== keyInLowerCase && attrs && hasOwn(attrs, keyInLowerCase)) {\n tip(\"Prop \\\"\".concat(keyInLowerCase, \"\\\" is passed to component \") +\n \"\".concat(formatComponentName(\n // @ts-expect-error tag is string\n tag || Ctor), \", but the declared prop name is\") +\n \" \\\"\".concat(key, \"\\\". \") +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\".concat(altKey, \"\\\" instead of \\\"\").concat(key, \"\\\".\"));\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res;\n}\nfunction checkProp(res, hash, key, altKey, preserve) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true;\n }\n else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true;\n }\n }\n return false;\n}\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array. There are\n// two cases where extra normalization is needed:\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren(children) {\n for (var i = 0; i < children.length; i++) {\n if (isArray(children[i])) {\n return Array.prototype.concat.apply([], children);\n }\n }\n return children;\n}\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g.