diff --git a/SPECIFICATION.md b/SPECIFICATION.md index 3df1cfe..2d685a1 100644 --- a/SPECIFICATION.md +++ b/SPECIFICATION.md @@ -750,6 +750,12 @@ the SPA). All list endpoints paginate and accept filters. **HR reporting** - `GET /api/reports/balances` — balances report (filters). - `GET /api/reports/trends` — aggregated stats for charts. +- `GET /api/reports/sick-leave` — sick-leave overview, every employee ranked by days + lost. Counts the leave type keyed `sick` by default; `typeId` counts another type + instead, which the *Sick leave* view exposes as a type picker. The response carries + the types it aggregated, so the page can name what it is counting rather than + implying "sickness" is a fixed concept — and can say so plainly when an instance has + no matching type instead of showing a table of zeroes. - `GET /api/export/requests.csv|.xlsx`, `GET /api/export/balances.csv|.xlsx`. All write endpoints require CSRF protection (default AppFramework) and validate role diff --git a/js/NcCheckboxRadioSwitch-DVdt5Hkq-DEWNkSin.chunk.mjs b/js/NcCheckboxRadioSwitch-DVdt5Hkq-Hp7kgx_A.chunk.mjs similarity index 99% rename from js/NcCheckboxRadioSwitch-DVdt5Hkq-DEWNkSin.chunk.mjs rename to js/NcCheckboxRadioSwitch-DVdt5Hkq-Hp7kgx_A.chunk.mjs index 083b766..a1943dc 100644 --- a/js/NcCheckboxRadioSwitch-DVdt5Hkq-DEWNkSin.chunk.mjs +++ b/js/NcCheckboxRadioSwitch-DVdt5Hkq-Hp7kgx_A.chunk.mjs @@ -19,7 +19,7 @@ https://vue-select.org/api/props.html#getoptionlabel`):e}},getOptionKey:{type:Fu `);return i===-1?"":s.stack.slice(i+1)})();try{if(!u.stack)u.stack=n;else if(n){const i=n.indexOf(` `),o=i===-1?-1:n.indexOf(` `,i+1),a=o===-1?"":n.slice(o+1);String(u.stack).endsWith(a)||(u.stack+=` -`+n)}}catch{}}throw u}}_request(e,t){typeof e=="string"?(t=t||{},t.url=e):t=e||{},t=Is(this.defaults,t);const{transitional:u,paramsSerializer:s,headers:n}=t;u!==void 0&&Xi.assertOptions(u,{silentJSONParsing:xt.transitional(xt.boolean),forcedJSONParsing:xt.transitional(xt.boolean),clarifyTimeoutError:xt.transitional(xt.boolean),legacyInterceptorReqResOrdering:xt.transitional(xt.boolean),advertiseZstdAcceptEncoding:xt.transitional(xt.boolean),validateStatusUndefinedResolves:xt.transitional(xt.boolean)},!1),s!=null&&(D.isFunction(s)?t.paramsSerializer={serialize:s}:Xi.assertOptions(s,{encode:xt.function,serialize:xt.function},!0)),t.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?t.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:t.allowAbsoluteUrls=!0),Xi.assertOptions(t,{baseUrl:xt.spelling("baseURL"),withXsrfToken:xt.spelling("withXSRFToken")},!0),t.method=(t.method||this.defaults.method||"get").toLowerCase();let i=n&&D.merge(n.common,n[t.method]);n&&D.forEach(["delete","get","head","post","put","patch","query","common"],h=>{delete n[h]}),t.headers=Ft.concat(i,n);const o=[];let a=!0;this.interceptors.request.forEach(function(h){if(typeof h.runWhen=="function"&&h.runWhen(t)===!1)return;a=a&&h.synchronous;const y=t.transitional||Er;y&&y.legacyInterceptorReqResOrdering?o.unshift(h.fulfilled,h.rejected):o.push(h.fulfilled,h.rejected)});const r=[];this.interceptors.response.forEach(function(h){r.push(h.fulfilled,h.rejected)});let m,l=0,g;if(!a){const h=[Q4.bind(this),void 0];for(h.unshift(...o),h.push(...r),g=h.length,m=Promise.resolve(t);l{if(!s._listeners)return;let i=s._listeners.length;for(;i-- >0;)s._listeners[i](n);s._listeners=null}),this.promise.then=n=>{let i;const o=new Promise(a=>{s.subscribe(a),i=a}).then(n);return o.cancel=function(){s.unsubscribe(i)},o},t(function(n,i,o){s.reason||(s.reason=new Bi(n,i,o),u(s.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const u=this._listeners.indexOf(t);u!==-1&&this._listeners.splice(u,1)}toAbortSignal(){const t=new AbortController,u=s=>{t.abort(s)};return this.subscribe(u),t.signal.unsubscribe=()=>this.unsubscribe(u),t.signal}static source(){let t;return{token:new hc(function(u){t=u}),cancel:t}}};function yB(e){return function(t){return e.apply(null,t)}}function xB(e){return D.isObject(e)&&e.isAxiosError===!0}const Ra={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,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(Ra).forEach(([e,t])=>{Ra[t]=e});function vc(e){const t=new Ts(e),u=K3(Ts.prototype.request,t);return D.extend(u,Ts.prototype,t,{allOwnKeys:!0}),D.extend(u,t,null,{allOwnKeys:!0}),u.create=function(s){return vc(Is(e,s))},u}const Qe=vc(Ci);Qe.Axios=Ts,Qe.CanceledError=Bi,Qe.CancelToken=BB,Qe.isCancel=dc,Qe.VERSION=Br,Qe.toFormData=oo,Qe.AxiosError=te,Qe.Cancel=Qe.CanceledError,Qe.all=function(e){return Promise.all(e)},Qe.spread=yB,Qe.isAxiosError=xB,Qe.mergeConfig=Is,Qe.AxiosHeaders=Ft,Qe.formToJSON=e=>lc(D.isHTMLForm(e)?new FormData(e):e),Qe.getAdapter=pc.getAdapter,Qe.HttpStatusCode=Ra,Qe.default=Qe;const{Axios:b2,AxiosError:w2,CanceledError:D2,isCancel:F2,CancelToken:k2,VERSION:S2,all:N2,Cancel:_2,isAxiosError:xr,spread:O2,toFormData:T2,AxiosHeaders:z2,HttpStatusCode:P2,formToJSON:R2,getAdapter:L2,mergeConfig:j2,create:I2}=Qe;function AB(){const e=Qe.create({headers:{requesttoken:wv()??"","X-Requested-With":"XMLHttpRequest"}});return Fv(t=>{e.defaults.headers.requesttoken=t}),Object.assign(e,{CancelToken:Qe.CancelToken,isCancel:Qe.isCancel})}const td="_nextcloudCsrfTokenReloaded";function bB(e){return async t=>{if(!xr(t))throw t;const{config:u,response:s,request:n}=t,i=n?.responseURL;if(u&&!(td in u)&&s?.status===412&&s?.data?.message==="CSRF check failed"){console.warn(`Request to ${i} failed because of a CSRF mismatch. Fetching a new token.`);const o=await Dv();return e.defaults.headers.requesttoken=o,e({...u,[td]:!0,headers:{...u.headers,requesttoken:o}})}throw t}}const ud="_nextcloudMaintenanceModeRetryDelay";function wB(e){return async t=>{if(!xr(t))throw t;const{config:u,response:s,request:n}=t,i=n?.responseURL,o=s?.status,a=s?.headers;let r=u?.[ud]??1;if(o===503&&a?.["x-nextcloud-maintenance-mode"]==="1"&&u?.retryIfMaintenanceMode){if(r*=2,r>32)throw console.error("Retry delay exceeded one minute, giving up.",{responseURL:i}),t;return console.warn(`Request to ${i} failed because of maintenance mode. Retrying in ${r}s`),await new Promise(m=>{setTimeout(m,r*1e3)}),e({...u,[ud]:r})}throw t}}async function DB(e){if(xr(e)){const{config:t,response:u,request:s}=e,n=s?.responseURL;u?.status===401&&u?.data?.message==="Current user is not logged in"&&t?.reloadExpiredSession&&globalThis.location?.reload&&(console.error(`Request to ${n} failed because the user session expired. Reloading the page …`),globalThis.OC?.reload?globalThis.OC.reload():globalThis.location.reload())}throw e}const Te=AB();Te.interceptors.response.use(e=>e,bB(Te)),Te.interceptors.response.use(e=>e,wB(Te)),Te.interceptors.response.use(e=>e,DB);const $e=e=>id("/apps/absence"+e),M2={getSession:()=>Te.get($e("/api/session")).then(e=>e.data),getPersonalConfig:()=>Te.get($e("/api/personal/config")).then(e=>e.data),updatePersonalConfig:e=>Te.put($e("/api/personal/config"),{values:e}).then(t=>t.data),listRequests:e=>Te.get($e("/api/requests"),{params:e}).then(t=>t.data),getRequest:e=>Te.get($e(`/api/requests/${e}`)).then(t=>t.data),createRequest:e=>Te.post($e("/api/requests"),e).then(t=>t.data),updateRequest:(e,t)=>Te.put($e(`/api/requests/${e}`),t).then(u=>u.data),cancelRequest:e=>Te.post($e(`/api/requests/${e}/cancel`)).then(t=>t.data),approveRequest:(e,t)=>Te.post($e(`/api/requests/${e}/approve`),{comment:t}).then(u=>u.data),rejectRequest:(e,t)=>Te.post($e(`/api/requests/${e}/reject`),{comment:t}).then(u=>u.data),addComment:(e,t)=>Te.post($e(`/api/requests/${e}/comments`),{body:t}).then(u=>u.data),getMyBalance:e=>Te.get($e("/api/balance"),{params:{year:e}}).then(t=>t.data),getEmployeeBalance:(e,t)=>Te.get($e(`/api/employees/${encodeURIComponent(e)}/balance`),{params:{year:t}}).then(u=>u.data),listEntitlements:(e,t)=>Te.get($e("/api/entitlements"),{params:{employeeUid:e,year:t}}).then(u=>u.data),createEntitlement:e=>Te.post($e("/api/entitlements"),e).then(t=>t.data),updateEntitlement:(e,t)=>Te.put($e(`/api/entitlements/${e}`),t).then(u=>u.data),bulkEntitlements:e=>Te.post($e("/api/entitlements/bulk"),e).then(t=>t.data),getCoverage:(e,t,u)=>Te.get($e("/api/coverage"),{params:{from:e,to:t,scope:u}}).then(s=>s.data),getCalendar:(e,t,u)=>Te.get($e("/api/calendar"),{params:{from:e,to:t,scope:u}}).then(s=>s.data),listLeaveTypes:e=>Te.get($e("/api/leave-types"),{params:{onlyEnabled:e}}).then(t=>t.data),createLeaveType:e=>Te.post($e("/api/leave-types"),e).then(t=>t.data),updateLeaveType:(e,t)=>Te.put($e(`/api/leave-types/${e}`),t).then(u=>u.data),deleteLeaveType:e=>Te.delete($e(`/api/leave-types/${e}`)).then(t=>t.data),searchUsers:e=>Te.get($e("/api/employees/search"),{params:{search:e}}).then(t=>t.data),reportBalances:(e,t)=>Te.get($e("/api/reports/balances"),{params:{year:e,group:t}}).then(u=>u.data),reportTrends:(e,t)=>Te.get($e("/api/reports/trends"),{params:{from:e,to:t}}).then(u=>u.data),reportSickLeave:(e,t)=>Te.get($e("/api/reports/sick-leave"),{params:{year:e,group:t}}).then(u=>u.data),exportRequestsUrl:(e,t)=>$e(`/api/export/requests?from=${e}&to=${t}`),exportBalancesUrl:e=>$e(`/api/export/balances?year=${e}`)};function FB(e){const t=e.getFullYear(),u=String(e.getMonth()+1).padStart(2,"0"),s=String(e.getDate()).padStart(2,"0");return`${t}-${u}-${s}`}function $2(e){const t=new Set;for(const u of String(e||"").split(",")){const s=parseInt(u,10);s>=1&&s<=7&&t.add(s)}return t}function U2(e,t,u,s){if(!e||!t||!u||u.size===0)return 0;const n=new Date(t+"T00:00:00");let i=0;for(const o=new Date(e+"T00:00:00");o<=n;o.setDate(o.getDate()+1)){const a=o.getDay()===0?7:o.getDay();u.has(a)&&!(s&&s(FB(o)))&&i++}return i}function ta(e){return e?new Date(e+"T00:00:00").toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"}):""}function V2(e,t){return e===t?ta(e):`${ta(e)} – ${ta(t)}`}function W2(e){const t=Math.max(0,Math.floor(e/1e3)),u=String(Math.floor(t%3600/60)).padStart(2,"0"),s=String(t%60).padStart(2,"0");return`${Math.floor(t/3600)}:${u}:${s}`}const kB=new Set(["AR","AU","BO","BR","BW","CL","FJ","LS","MG","MW","MZ","NA","NZ","PY","SZ","UY","ZA","ZM","ZW"]);function H2(e,t){const u=e.getMonth(),s=u===11||u<=1?"winter":u<=4?"spring":u<=7?"summer":"autumn";return kB.has(String(t||"").toUpperCase())?{winter:"summer",spring:"autumn",summer:"winter",autumn:"spring"}[s]:s}function G2(e,t,u,s,n){const i=new Date(t+"T00:00:00"),o=new Date(u+"T00:00:00"),a=Math.round((o-i)/864e5)+1;if(!(a<=0||!s))for(let r=0;r<12;r++){const m=new Date(n,r,1),l=new Date(n,r+1,0),g=i>m?i:m,p=o0&&(e[r]+=s*(h/a))}}async function q2(e,t){if(!e)return null;const{default:u}=await dr(async()=>{const{default:n}=await import("./index-BN1WbbeK.chunk.mjs");return{default:n}},[],import.meta.url),s=t?new u(e,t):new u(e);return n=>{const i=s.isHoliday(new Date(n+"T12:00:00"));return Array.isArray(i)&&i.some(o=>o.type==="public")}}async function K2(){const{default:e}=await dr(async()=>{const{default:u}=await import("./index-BN1WbbeK.chunk.mjs");return{default:u}},[],import.meta.url),t=new e().getCountries();return Object.keys(t).map(u=>({id:u,label:t[u]}))}async function Y2(e){if(!e)return[];const{default:t}=await dr(async()=>{const{default:s}=await import("./index-BN1WbbeK.chunk.mjs");return{default:s}},[],import.meta.url),u=new t().getStates(e)||{};return Object.keys(u).map(s=>({id:s,label:u[s]}))}const SB=`{delete n[h]}),t.headers=Ft.concat(i,n);const o=[];let a=!0;this.interceptors.request.forEach(function(h){if(typeof h.runWhen=="function"&&h.runWhen(t)===!1)return;a=a&&h.synchronous;const y=t.transitional||Er;y&&y.legacyInterceptorReqResOrdering?o.unshift(h.fulfilled,h.rejected):o.push(h.fulfilled,h.rejected)});const r=[];this.interceptors.response.forEach(function(h){r.push(h.fulfilled,h.rejected)});let m,l=0,g;if(!a){const h=[Q4.bind(this),void 0];for(h.unshift(...o),h.push(...r),g=h.length,m=Promise.resolve(t);l{if(!s._listeners)return;let i=s._listeners.length;for(;i-- >0;)s._listeners[i](n);s._listeners=null}),this.promise.then=n=>{let i;const o=new Promise(a=>{s.subscribe(a),i=a}).then(n);return o.cancel=function(){s.unsubscribe(i)},o},t(function(n,i,o){s.reason||(s.reason=new Bi(n,i,o),u(s.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const u=this._listeners.indexOf(t);u!==-1&&this._listeners.splice(u,1)}toAbortSignal(){const t=new AbortController,u=s=>{t.abort(s)};return this.subscribe(u),t.signal.unsubscribe=()=>this.unsubscribe(u),t.signal}static source(){let t;return{token:new hc(function(u){t=u}),cancel:t}}};function yB(e){return function(t){return e.apply(null,t)}}function xB(e){return D.isObject(e)&&e.isAxiosError===!0}const Ra={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,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(Ra).forEach(([e,t])=>{Ra[t]=e});function vc(e){const t=new Ts(e),u=K3(Ts.prototype.request,t);return D.extend(u,Ts.prototype,t,{allOwnKeys:!0}),D.extend(u,t,null,{allOwnKeys:!0}),u.create=function(s){return vc(Is(e,s))},u}const Qe=vc(Ci);Qe.Axios=Ts,Qe.CanceledError=Bi,Qe.CancelToken=BB,Qe.isCancel=dc,Qe.VERSION=Br,Qe.toFormData=oo,Qe.AxiosError=te,Qe.Cancel=Qe.CanceledError,Qe.all=function(e){return Promise.all(e)},Qe.spread=yB,Qe.isAxiosError=xB,Qe.mergeConfig=Is,Qe.AxiosHeaders=Ft,Qe.formToJSON=e=>lc(D.isHTMLForm(e)?new FormData(e):e),Qe.getAdapter=pc.getAdapter,Qe.HttpStatusCode=Ra,Qe.default=Qe;const{Axios:b2,AxiosError:w2,CanceledError:D2,isCancel:F2,CancelToken:k2,VERSION:S2,all:N2,Cancel:_2,isAxiosError:xr,spread:O2,toFormData:T2,AxiosHeaders:z2,HttpStatusCode:P2,formToJSON:R2,getAdapter:L2,mergeConfig:j2,create:I2}=Qe;function AB(){const e=Qe.create({headers:{requesttoken:wv()??"","X-Requested-With":"XMLHttpRequest"}});return Fv(t=>{e.defaults.headers.requesttoken=t}),Object.assign(e,{CancelToken:Qe.CancelToken,isCancel:Qe.isCancel})}const td="_nextcloudCsrfTokenReloaded";function bB(e){return async t=>{if(!xr(t))throw t;const{config:u,response:s,request:n}=t,i=n?.responseURL;if(u&&!(td in u)&&s?.status===412&&s?.data?.message==="CSRF check failed"){console.warn(`Request to ${i} failed because of a CSRF mismatch. Fetching a new token.`);const o=await Dv();return e.defaults.headers.requesttoken=o,e({...u,[td]:!0,headers:{...u.headers,requesttoken:o}})}throw t}}const ud="_nextcloudMaintenanceModeRetryDelay";function wB(e){return async t=>{if(!xr(t))throw t;const{config:u,response:s,request:n}=t,i=n?.responseURL,o=s?.status,a=s?.headers;let r=u?.[ud]??1;if(o===503&&a?.["x-nextcloud-maintenance-mode"]==="1"&&u?.retryIfMaintenanceMode){if(r*=2,r>32)throw console.error("Retry delay exceeded one minute, giving up.",{responseURL:i}),t;return console.warn(`Request to ${i} failed because of maintenance mode. Retrying in ${r}s`),await new Promise(m=>{setTimeout(m,r*1e3)}),e({...u,[ud]:r})}throw t}}async function DB(e){if(xr(e)){const{config:t,response:u,request:s}=e,n=s?.responseURL;u?.status===401&&u?.data?.message==="Current user is not logged in"&&t?.reloadExpiredSession&&globalThis.location?.reload&&(console.error(`Request to ${n} failed because the user session expired. Reloading the page …`),globalThis.OC?.reload?globalThis.OC.reload():globalThis.location.reload())}throw e}const Te=AB();Te.interceptors.response.use(e=>e,bB(Te)),Te.interceptors.response.use(e=>e,wB(Te)),Te.interceptors.response.use(e=>e,DB);const $e=e=>id("/apps/absence"+e),M2={getSession:()=>Te.get($e("/api/session")).then(e=>e.data),getPersonalConfig:()=>Te.get($e("/api/personal/config")).then(e=>e.data),updatePersonalConfig:e=>Te.put($e("/api/personal/config"),{values:e}).then(t=>t.data),listRequests:e=>Te.get($e("/api/requests"),{params:e}).then(t=>t.data),getRequest:e=>Te.get($e(`/api/requests/${e}`)).then(t=>t.data),createRequest:e=>Te.post($e("/api/requests"),e).then(t=>t.data),updateRequest:(e,t)=>Te.put($e(`/api/requests/${e}`),t).then(u=>u.data),cancelRequest:e=>Te.post($e(`/api/requests/${e}/cancel`)).then(t=>t.data),approveRequest:(e,t)=>Te.post($e(`/api/requests/${e}/approve`),{comment:t}).then(u=>u.data),rejectRequest:(e,t)=>Te.post($e(`/api/requests/${e}/reject`),{comment:t}).then(u=>u.data),addComment:(e,t)=>Te.post($e(`/api/requests/${e}/comments`),{body:t}).then(u=>u.data),getMyBalance:e=>Te.get($e("/api/balance"),{params:{year:e}}).then(t=>t.data),getEmployeeBalance:(e,t)=>Te.get($e(`/api/employees/${encodeURIComponent(e)}/balance`),{params:{year:t}}).then(u=>u.data),listEntitlements:(e,t)=>Te.get($e("/api/entitlements"),{params:{employeeUid:e,year:t}}).then(u=>u.data),createEntitlement:e=>Te.post($e("/api/entitlements"),e).then(t=>t.data),updateEntitlement:(e,t)=>Te.put($e(`/api/entitlements/${e}`),t).then(u=>u.data),bulkEntitlements:e=>Te.post($e("/api/entitlements/bulk"),e).then(t=>t.data),getCoverage:(e,t,u)=>Te.get($e("/api/coverage"),{params:{from:e,to:t,scope:u}}).then(s=>s.data),getCalendar:(e,t,u)=>Te.get($e("/api/calendar"),{params:{from:e,to:t,scope:u}}).then(s=>s.data),listLeaveTypes:e=>Te.get($e("/api/leave-types"),{params:{onlyEnabled:e}}).then(t=>t.data),createLeaveType:e=>Te.post($e("/api/leave-types"),e).then(t=>t.data),updateLeaveType:(e,t)=>Te.put($e(`/api/leave-types/${e}`),t).then(u=>u.data),deleteLeaveType:e=>Te.delete($e(`/api/leave-types/${e}`)).then(t=>t.data),searchUsers:e=>Te.get($e("/api/employees/search"),{params:{search:e}}).then(t=>t.data),reportBalances:(e,t)=>Te.get($e("/api/reports/balances"),{params:{year:e,group:t}}).then(u=>u.data),reportTrends:(e,t)=>Te.get($e("/api/reports/trends"),{params:{from:e,to:t}}).then(u=>u.data),reportSickLeave:(e,t,u)=>Te.get($e("/api/reports/sick-leave"),{params:{year:e,group:t,typeId:u}}).then(s=>s.data),exportRequestsUrl:(e,t)=>$e(`/api/export/requests?from=${e}&to=${t}`),exportBalancesUrl:e=>$e(`/api/export/balances?year=${e}`)};function FB(e){const t=e.getFullYear(),u=String(e.getMonth()+1).padStart(2,"0"),s=String(e.getDate()).padStart(2,"0");return`${t}-${u}-${s}`}function $2(e){const t=new Set;for(const u of String(e||"").split(",")){const s=parseInt(u,10);s>=1&&s<=7&&t.add(s)}return t}function U2(e,t,u,s){if(!e||!t||!u||u.size===0)return 0;const n=new Date(t+"T00:00:00");let i=0;for(const o=new Date(e+"T00:00:00");o<=n;o.setDate(o.getDate()+1)){const a=o.getDay()===0?7:o.getDay();u.has(a)&&!(s&&s(FB(o)))&&i++}return i}function ta(e){return e?new Date(e+"T00:00:00").toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"}):""}function V2(e,t){return e===t?ta(e):`${ta(e)} – ${ta(t)}`}function W2(e){const t=Math.max(0,Math.floor(e/1e3)),u=String(Math.floor(t%3600/60)).padStart(2,"0"),s=String(t%60).padStart(2,"0");return`${Math.floor(t/3600)}:${u}:${s}`}const kB=new Set(["AR","AU","BO","BR","BW","CL","FJ","LS","MG","MW","MZ","NA","NZ","PY","SZ","UY","ZA","ZM","ZW"]);function H2(e,t){const u=e.getMonth(),s=u===11||u<=1?"winter":u<=4?"spring":u<=7?"summer":"autumn";return kB.has(String(t||"").toUpperCase())?{winter:"summer",spring:"autumn",summer:"winter",autumn:"spring"}[s]:s}function G2(e,t,u,s,n){const i=new Date(t+"T00:00:00"),o=new Date(u+"T00:00:00"),a=Math.round((o-i)/864e5)+1;if(!(a<=0||!s))for(let r=0;r<12;r++){const m=new Date(n,r,1),l=new Date(n,r+1,0),g=i>m?i:m,p=o0&&(e[r]+=s*(h/a))}}async function q2(e,t){if(!e)return null;const{default:u}=await dr(async()=>{const{default:n}=await import("./index-CAVYKD4e.chunk.mjs");return{default:n}},[],import.meta.url),s=t?new u(e,t):new u(e);return n=>{const i=s.isHoliday(new Date(n+"T12:00:00"));return Array.isArray(i)&&i.some(o=>o.type==="public")}}async function K2(){const{default:e}=await dr(async()=>{const{default:u}=await import("./index-CAVYKD4e.chunk.mjs");return{default:u}},[],import.meta.url),t=new e().getCountries();return Object.keys(t).map(u=>({id:u,label:t[u]}))}async function Y2(e){if(!e)return[];const{default:t}=await dr(async()=>{const{default:s}=await import("./index-CAVYKD4e.chunk.mjs");return{default:s}},[],import.meta.url),u=new t().getStates(e)||{};return Object.keys(u).map(s=>({id:s,label:u[s]}))}const SB=` @@ -28,4 +28,4 @@ https://vue-select.org/api/props.html#getoptionlabel`):e}},getOptionKey:{type:Fu r="3" fill="var(--color-main-background)" /> `,NB=tu({__name:"NcIconToggleSwitch",props:{checked:{type:Boolean},size:{default:34},inline:{type:Boolean,default:!1}},setup(e){X0(s=>({v6bd152af:t.value,v16fd8ca9:u.value}));const t=Ue(()=>e.checked?"var(--color-primary-element)":"var(--color-text-maxcontrast)"),u=Ue(()=>e.checked?"calc(17 / 24 * 100%)":"calc(7 / 24 * 100%)");return(s,n)=>(X(),et(Es,{class:Bt(s.$style.iconToggleSwitch),svg:SB,size:e.size,inline:e.inline},null,8,["class","size","inline"]))}}),_B="_iconToggleSwitch_IKWaj",OB={"material-design-icon":"_material-design-icon_63AMQ",iconToggleSwitch:_B},TB={$style:OB},zB=rt(NB,[["__cssModules",TB]]),PB=Symbol.for("insideRadioGroup");function RB(){return Nu(PB,void 0)}const LB={name:"CheckboxBlankOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},jB=["aria-hidden","aria-label"],IB=["fill","width","height"],MB={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"},$B={key:0};function UB(e,t,u,s,n,i){return X(),me("span",ut(e.$attrs,{"aria-hidden":u.title?null:"true","aria-label":u.title,class:"material-design-icon checkbox-blank-outline-icon",role:"img",onClick:t[0]||(t[0]=o=>e.$emit("click",o))}),[(X(),me("svg",{fill:u.fillColor,class:"material-design-icon__svg",width:u.size,height:u.size,viewBox:"0 0 24 24"},[ve("path",MB,[u.title?(X(),me("title",$B,dt(u.title),1)):Ve("",!0)])],8,IB))],16,jB)}const VB=rt(LB,[["render",UB]]),WB={name:"CheckboxMarkedIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},HB=["aria-hidden","aria-label"],GB=["fill","width","height"],qB={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"},KB={key:0};function YB(e,t,u,s,n,i){return X(),me("span",ut(e.$attrs,{"aria-hidden":u.title?null:"true","aria-label":u.title,class:"material-design-icon checkbox-marked-icon",role:"img",onClick:t[0]||(t[0]=o=>e.$emit("click",o))}),[(X(),me("svg",{fill:u.fillColor,class:"material-design-icon__svg",width:u.size,height:u.size,viewBox:"0 0 24 24"},[ve("path",qB,[u.title?(X(),me("title",KB,dt(u.title),1)):Ve("",!0)])],8,GB))],16,HB)}const ZB=rt(WB,[["render",YB]]),XB={name:"MinusBoxIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},JB=["aria-hidden","aria-label"],QB=["fill","width","height"],ey={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"},ty={key:0};function uy(e,t,u,s,n,i){return X(),me("span",ut(e.$attrs,{"aria-hidden":u.title?null:"true","aria-label":u.title,class:"material-design-icon minus-box-icon",role:"img",onClick:t[0]||(t[0]=o=>e.$emit("click",o))}),[(X(),me("svg",{fill:u.fillColor,class:"material-design-icon__svg",width:u.size,height:u.size,viewBox:"0 0 24 24"},[ve("path",ey,[u.title?(X(),me("title",ty,dt(u.title),1)):Ve("",!0)])],8,QB))],16,JB)}const sy=rt(XB,[["render",uy]]),ny={name:"RadioboxBlankIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},iy=["aria-hidden","aria-label"],oy=["fill","width","height"],ay={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"},ry={key:0};function ly(e,t,u,s,n,i){return X(),me("span",ut(e.$attrs,{"aria-hidden":u.title?null:"true","aria-label":u.title,class:"material-design-icon radiobox-blank-icon",role:"img",onClick:t[0]||(t[0]=o=>e.$emit("click",o))}),[(X(),me("svg",{fill:u.fillColor,class:"material-design-icon__svg",width:u.size,height:u.size,viewBox:"0 0 24 24"},[ve("path",ay,[u.title?(X(),me("title",ry,dt(u.title),1)):Ve("",!0)])],8,oy))],16,iy)}const dy=rt(ny,[["render",ly]]),my={name:"RadioboxMarkedIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},cy=["aria-hidden","aria-label"],gy=["fill","width","height"],fy={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"},py={key:0};function hy(e,t,u,s,n,i){return X(),me("span",ut(e.$attrs,{"aria-hidden":u.title?null:"true","aria-label":u.title,class:"material-design-icon radiobox-marked-icon",role:"img",onClick:t[0]||(t[0]=o=>e.$emit("click",o))}),[(X(),me("svg",{fill:u.fillColor,class:"material-design-icon__svg",width:u.size,height:u.size,viewBox:"0 0 24 24"},[ve("path",fy,[u.title?(X(),me("title",py,dt(u.title),1)):Ve("",!0)])],8,gy))],16,cy)}const vy=rt(my,[["render",hy]]),en="checkbox",Bs="radio",Zu="switch",qn="button",Ey={name:"NcCheckboxContent",components:{NcLoadingIcon:R3,NcIconToggleSwitch:zB},props:{iconClass:{type:[String,Object],default:null},textClass:{type:[String,Object],default:null},type:{type:String,default:"checkbox",validator:e=>[en,Bs,Zu,qn].includes(e)},buttonVariant:{type:Boolean,default:!1},isChecked:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},iconSize:{type:Number,default:24},labelId:{type:String,required:!0},descriptionId:{type:String,required:!0}},computed:{isButtonType(){return this.type===qn},isSwitchType(){return this.type===Zu},checkboxRadioIconElement(){return this.type===Bs?this.isChecked?vy:dy:this.indeterminate?sy:this.isChecked?ZB:VB}}},Cy={key:0,class:"checkbox-content__wrapper"},By=["id"],yy=["id"];function xy(e,t,u,s,n,i){const o=It("NcLoadingIcon"),a=It("NcIconToggleSwitch");return X(),me("span",{class:Bt(["checkbox-content",{["checkbox-content-"+u.type]:!0,"checkbox-content--button-variant":u.buttonVariant,"checkbox-content--has-text":!!e.$slots.default}])},[ve("span",{class:Bt(["checkbox-content__icon",{"checkbox-content__icon--checked":u.isChecked,"checkbox-content__icon--has-description":!i.isButtonType&&e.$slots.description,[u.iconClass]:!0}]),"aria-hidden":!0,inert:""},[ze(e.$slots,"icon",{checked:u.isChecked,loading:u.loading},()=>[u.loading?(X(),et(o,{key:0})):i.isSwitchType?(X(),et(a,{key:1,checked:u.isChecked,size:u.iconSize,inline:""},null,8,["checked","size"])):u.buttonVariant?Ve("",!0):(X(),et(rn(i.checkboxRadioIconElement),{key:2,size:u.iconSize},null,8,["size"]))],!0)],2),e.$slots.default||e.$slots.description?(X(),me("span",Cy,[e.$slots.default?(X(),me("span",{key:0,id:u.labelId,class:Bt(["checkbox-content__text",u.textClass])},[ze(e.$slots,"default",{},void 0,!0)],10,By)):Ve("",!0),!i.isButtonType&&e.$slots.description?(X(),me("span",{key:1,id:u.descriptionId,class:"checkbox-content__description"},[ze(e.$slots,"description",{},void 0,!0)],8,yy)):Ve("",!0)])):Ve("",!0)],2)}const Ay=rt(Ey,[["render",xy],["__scopeId","data-v-5ca1e30f"]]);pn();const Ar={name:"NcCheckboxRadioSwitch",components:{NcCheckboxContent:Ay},inheritAttrs:!1,props:{id:{type:String,default:()=>"checkbox-radio-switch-"+_s(),validator:e=>e.trim()!==""},wrapperId:{type:String,default:null},name:{type:String,default:null},ariaLabel:{type:String,default:""},type:{type:String,default:"checkbox",validator:e=>[en,Bs,Zu,qn].includes(e)},buttonVariant:{type:Boolean,default:!1},buttonVariantGrouped:{type:String,default:"no",validator:e=>["no","vertical","horizontal"].includes(e)},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},class:{type:[String,Array,Object],default:""},style:{type:[String,Array,Object],default:""},description:{type:String,default:null}},emits:["update:modelValue"],setup(e,{emit:t}){const u=RB();En(()=>u?.value.register(!1));const s=Ue(()=>u?.value?Bs:e.type),n=Ue({get(){return u?.value?u.value.modelValue:e.modelValue},set(i){u?.value?u.value.onUpdate(i):t("update:modelValue",i)}});return{internalType:s,internalModelValue:n,labelId:_s(),descriptionId:_s()}},computed:{isButtonType(){return this.internalType===qn},computedWrapperElement(){return this.isButtonType?"button":this.wrapperElement!==null?this.wrapperElement:"span"},listeners(){return this.isButtonType?{click:this.onToggle}:{change:this.onToggle}},iconSize(){return this.internalType===Zu?36:20},cssIconSize(){return this.iconSize+"px"},cssIconHeight(){return this.internalType===Zu?"16px":this.cssIconSize},inputType(){return[en,Bs,qn].includes(this.internalType)?this.internalType:en},isChecked(){return this.value!==null?Array.isArray(this.internalModelValue)?[...this.internalModelValue].indexOf(this.value)>-1:this.internalModelValue===this.value:this.internalModelValue===!0},hasIndeterminate(){return[en,Bs].includes(this.inputType)}},mounted(){if(this.name&&this.internalType===en&&!Array.isArray(this.internalModelValue))throw new Error("When using groups of checkboxes, the updated value will be an array.");if(this.name&&this.internalType===Zu)throw new Error("Switches are not made to be used for data sets. Please use checkboxes instead.");if(typeof this.internalModelValue!="boolean"&&this.internalType===Zu)throw new Error("Switches can only be used with boolean as modelValue prop.")},methods:{t:ft,n:qh,onToggle(e){if(!(this.disabled||e.target.tagName.toLowerCase()==="a")){if(this.internalType===Bs){this.internalModelValue=this.value;return}if(this.internalType===Zu){this.internalModelValue=!this.isChecked;return}if(typeof this.internalModelValue=="boolean"){this.internalModelValue=!this.internalModelValue;return}this.isChecked?this.internalModelValue=this.internalModelValue.filter(t=>t!==this.value):this.internalModelValue=[...this.internalModelValue,this.value]}}}},sd=()=>{X0(e=>({v5ac25550:e.cssIconSize,d98ce684:e.cssIconHeight}))},nd=Ar.setup;Ar.setup=nd?(e,t)=>(sd(),nd(e,t)):sd;const by=["id","aria-labelledby","aria-describedby","aria-label","disabled","type","value","checked",".indeterminate","required","name"];function wy(e,t,u,s,n,i){const o=It("NcCheckboxContent");return X(),et(rn(i.computedWrapperElement),ut({id:u.wrapperId??(i.isButtonType?u.id:null),"aria-label":i.isButtonType&&u.ariaLabel?u.ariaLabel:void 0,class:["checkbox-radio-switch",[e.$props.class,{["checkbox-radio-switch-"+s.internalType]:s.internalType,"checkbox-radio-switch--checked":i.isChecked,"checkbox-radio-switch--disabled":u.disabled,"checkbox-radio-switch--indeterminate":i.hasIndeterminate?u.indeterminate:!1,"checkbox-radio-switch--button-variant":u.buttonVariant,"checkbox-radio-switch--button-variant-v-grouped":u.buttonVariant&&u.buttonVariantGrouped==="vertical","checkbox-radio-switch--button-variant-h-grouped":u.buttonVariant&&u.buttonVariantGrouped==="horizontal","button-vue":i.isButtonType}]],style:u.style,type:i.isButtonType?"button":null},i.isButtonType?e.$attrs:{},n0(i.isButtonType?i.listeners:{})),{default:Pe(()=>[i.isButtonType?Ve("",!0):(X(),me("input",ut({key:0,id:u.id,"aria-labelledby":!i.isButtonType&&!u.ariaLabel?s.labelId:null,"aria-describedby":!i.isButtonType&&(u.description||e.$slots.description)?s.descriptionId:null,"aria-label":u.ariaLabel||void 0,class:"checkbox-radio-switch__input",disabled:u.disabled,type:i.inputType,value:u.value,checked:i.isChecked,".indeterminate":i.hasIndeterminate?u.indeterminate:null,required:u.required,name:u.name},e.$attrs,n0(i.listeners,!0)),null,48,by)),Be(o,{id:i.isButtonType?void 0:`${u.id}-label`,class:"checkbox-radio-switch__content",iconClass:"checkbox-radio-switch__icon",textClass:"checkbox-radio-switch__text",type:s.internalType,indeterminate:i.hasIndeterminate?u.indeterminate:!1,buttonVariant:u.buttonVariant,isChecked:i.isChecked,loading:u.loading,labelId:s.labelId,descriptionId:s.descriptionId,iconSize:i.iconSize,onClick:i.onToggle},am({icon:Pe(()=>[ze(e.$slots,"icon",{},void 0,!0)]),_:2},[e.$slots.description||u.description?{name:"description",fn:Pe(()=>[ze(e.$slots,"description",{},()=>[Ns(dt(u.description),1)],!0)]),key:"0"}:void 0,e.$slots.default?{name:"default",fn:Pe(()=>[ze(e.$slots,"default",{},void 0,!0)]),key:"1"}:void 0]),1032,["id","type","indeterminate","buttonVariant","isChecked","loading","labelId","descriptionId","iconSize","onClick"])]),_:3},16,["id","aria-label","class","style","type"])}const Z2=rt(Ar,[["render",wy],["__scopeId","data-v-c34c63a4"]]);export{Rh as $,sv as A,h2 as B,Jg as C,v2 as D,tv as E,ks as F,d2 as G,tu as H,Xn as I,g2 as J,p2 as K,f2 as L,Tv as M,pn as N,ah as O,dt as P,Ve as Q,it as R,Bt as S,Vi as T,ys as U,tn as V,ve as W,Be as X,Pe as Y,bh as Z,rt as _,Uf as a,vg as a$,v0 as a0,Hy as a1,It as a2,Es as a3,My as a4,ft as a5,As as a6,s2 as a7,Qy as a8,Gd as a9,t2 as aA,R3 as aB,_s as aC,D1 as aD,n2 as aE,zf as aF,Ff as aG,ky as aH,E2 as aI,Py as aJ,X1 as aK,Ly as aL,Jn as aM,zt as aN,jy as aO,i2 as aP,ml as aQ,nr as aR,Iy as aS,Jy as aT,am as aU,Wy as aV,Ql as aW,M2 as aX,x2 as aY,Ii as aZ,y2 as a_,Ym as aa,f3 as ab,ii as ac,gn as ad,Ah as ae,$m as af,gv as ag,yl as ah,Nf as ai,Zf as aj,Vy as ak,Uy as al,C1 as am,Ns as an,_t as ao,At as ap,ut as aq,Zy as ar,T1 as as,Oy as at,l1 as au,r1 as av,$h as aw,$y as ax,e2 as ay,o2 as az,im as b,B2 as b0,A2 as b1,C2 as b2,FB as b3,$2 as b4,U2 as b5,q2 as b6,id as b7,Ry as b8,Qr as b9,Y2 as bA,K2 as bB,Fy as bC,O0 as bD,Xy as ba,P3 as bb,Js as bc,Gy as bd,da as be,Mf as bf,zc as bg,od as bh,qy as bi,a2 as bj,Yy as bk,Te as bl,Dy as bm,Ky as bn,h1 as bo,Sv as bp,V2 as bq,Ny as br,_y as bs,Z2 as bt,ta as bu,H2 as bv,G2 as bw,W2 as bx,Ty as by,u2 as bz,et as c,me as d,ze as e,Fe as f,cn as g,Ue as h,Nu as i,uu as j,Ha as k,zy as l,X as m,ws as n,En as o,gt as p,Cf as q,rn as r,uv as s,ev as t,Sy as u,r2 as v,_u as w,c2 as x,l2 as y,m2 as z}; -//# sourceMappingURL=NcCheckboxRadioSwitch-DVdt5Hkq-DEWNkSin.chunk.mjs.map +//# sourceMappingURL=NcCheckboxRadioSwitch-DVdt5Hkq-Hp7kgx_A.chunk.mjs.map diff --git a/js/NcCheckboxRadioSwitch-DVdt5Hkq-DEWNkSin.chunk.mjs.license b/js/NcCheckboxRadioSwitch-DVdt5Hkq-Hp7kgx_A.chunk.mjs.license similarity index 100% rename from js/NcCheckboxRadioSwitch-DVdt5Hkq-DEWNkSin.chunk.mjs.license rename to js/NcCheckboxRadioSwitch-DVdt5Hkq-Hp7kgx_A.chunk.mjs.license diff --git a/js/NcCheckboxRadioSwitch-DVdt5Hkq-DEWNkSin.chunk.mjs.map b/js/NcCheckboxRadioSwitch-DVdt5Hkq-Hp7kgx_A.chunk.mjs.map similarity index 99% rename from js/NcCheckboxRadioSwitch-DVdt5Hkq-DEWNkSin.chunk.mjs.map rename to js/NcCheckboxRadioSwitch-DVdt5Hkq-Hp7kgx_A.chunk.mjs.map index b7d52d1..3e348c1 100644 --- a/js/NcCheckboxRadioSwitch-DVdt5Hkq-DEWNkSin.chunk.mjs.map +++ b/js/NcCheckboxRadioSwitch-DVdt5Hkq-Hp7kgx_A.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"mappings":"SAQuB,CAACA,EAAKC,IAAQC,OAInC,EAAMC,GAHa,UAAO,SACxB,MAAY,GACA,EAAE,SACW,cAE3B,OADoCC,CAAU,EAC7B,aAAqB,SAA0BJ,CAAKC,cAEhCC,EAAY,CACjD,QAAmB,OAAO,UACxB,WACc,EACVG,OAAS,KAASC,CAAMC,KAC5B,KAAAA,OAAe,CACRD,OAAK,KACV,aACA,aACE,QAAUC,QACV,OAAe,QAC2C,oBAAjD,IAAOC,MAAM,OAAY,aAAa,UAAgC,OAAQ,EAAyB,MAEvG,MAAOA,CAAM,UAAY,OAAOA,MAAM,MAAWA,EAAE,cAIlE,OACA,EAAIR,GAAI,SAAQ,OAAM,CACpBA,OAAYA,EAEPK,EAAOL,MAAe,CAAE,OAEZA,QAAyB,CAC5C,MAAMS,GAAa,UAAO,KACxB,SAAW,EACf,EAAgB,GAAE,CACVC,EAAoCC,MAC1C,OAAI,WAAY,QAAQ,oBAAsB,SAAoB,QACzDD,MAAiCV,CAAKC,OAExB,eAAgCD,CAAKC,GAC9D,CA0CMG,OAAmB,QAAO,QAAS,WAAW,YAAc,OAAS,KAAOO,MAClF,QAASA,QACP,CAAIC,KAAU,QAAO,UACrB,CAAI,WAAmB,QACX,QAAS,OACnB,MAAMC,OAAc,OAAQ,WAAa,MACrCA,OACFD,CAAUA,GAAQ,SAAY,OAE9B,KAAME,OAAgB,OAAQ,IAAM,CACpCF,QAAkB,SAAqBE,CAAQ,MAAM,GAGzD,QACF,CCtGA,SAASC,MAAqBC,CAAG,OAC9B,MAAiBR,IAAE,UAAgBA,OAAE,IACtC,SAAa,QAAO,EAAMQ,GAAIC,OAAOA,CAAKC,GAAG,EAAIV,OACjD,KAAOU,CACT,CACA,SAASC,IAAgBX,CAAG,CAC1B,OAAI,KAAM,SAAY,MAAOA,KAE/B,MAASY,OAA4B,CACnC,OAAgBZ,QAAI,OAAsB,WAAf,SAAkC,MAAO,OAAQ,MAAO,WAAY,MACnFa,WACV,CAAIJ,QAIF,EAAI,GACJK,UAEF,OACMC,SAAW,OAAS,OAAYC,QAAU,CAAO,IAAEF,CAAKL,IAAM,KAAKI,CAAC,QAAG,KAAY,KAAKJ,EAAE,KAAK,MAAK,OAAWO,IAAIF,CAAI,MAC7H,QACEG,EAAI,IAAM,CAAIjB,CAChB,WACE,CAAI,CACF,IAAKc,MAAe,OAAV,SAAyBD,EAAE,QAAM,CAAI,SAAQ,GAAMK,SAC/D,WACE,CAAID,EAAG,MAAM,CACf,GAEF,MAAO,CACT,KAEF,MAASE,UACP,CAAM,SAAI,KAAU;AAAA;AA4wEkD,EAAQC,KAGxEC,QACeC,WAEUC,CAAsBC,KAAiC,CAAIJ,EAC1F,EACAK,EAAU;ACjyE8C;AAAA;AAAA,EAGxDC,MAAQ,CAAK,KACJC,CACT,QACWD,CAASE,IAClB,MAAI,QAAO,KAAK,MAAS,SAAU,SAAYC,CAAQ,SAAK,YAM5D,OAHI,QAAOH,GAAY,SAAYE,GAAS,QAAU,gBAC5C,CAAQF,GAEVG,EAAK,CACX,KAAKC,GAAS,SACZ,KAAQ,MAAM,QAAK,YAAcJ,CAASI,GAAS,UAAwB,KAC3E,GACF,MAAKA,EAAS,KACZ,QAAQ,UAAU,gBAAuBA,GAAS,eAClD,KACF,EAAKA,GAAS,KACZ,QAAQ,KAAK,KAAK,cAAcJ,SAAkB,CAAME,CAAO,EAAGA,CAAO,EACzE,MACF,KAAKE,IAAS,KACZ,SAAQ,OAAM,GAAK,cAAcJ,EAASI,IAAS,SAAwB,GAC3E,OACF,QAAc,IACd,qBACU,CAAM,SAAK,UAAcJ,EAASI,OAAS,eAIzD,UAAwB,CACtB,wBAAkC,IAAO,UAAW,OAAK,UAE3D,KAAKJ,CAASE,EAAS,CACrB,MAAK,OAAa,IAAMF,MAAS,QAAO,EAAO,GAAI,QAAK,MAAgB,CAAC,KAE3E,GAAKA,CAASE,EAAS,CACrB,SAASE,GAAS,KAAMJ,SAAgB,UAAW,KAAK,QAASE,QAEnE,EAAMF,EAASE,MACb,EAAK,KAAIE,EAAS,YAAgB,GAAO,OAAO,GAAI,YAAK,CAASF,MAEpE,MAAeA,MACb,EAAK,IAAIE,GAAS,MAAOJ,EAAS,OAAO,OAAO,SAAS,UAC3D,CACF,CACA,SAASK,GAAmBH,EAAS,EACnC,MAAO,QAAyB,CAClC,CACA,MAAMI,GACJ,YACA,OACA,YACE,KAAK,QAAU,GACf,KAAK,QAAUC,CACjB,CAMA,SAAc,CACZ,aAAK,OAAQ,IAAMC,KACZ,CACT,EAMA,mBACE,QAAK,OAAQ,MAAQL,UAUvB,YACE,OAAK,gBACE,IAKT,aACE,UAA2B,KAC3B,IAAIM,IAAS,eACN,OAAQ,EAAMA,EAAK,MAEnB,QAKT,aACE,UAAa,YAEP,OAAS,iBAAe,SAAc,QAAS,gBAAe,aAChEC,CAAK,gBAAgB,QAAO,cAAY,UAAqB,QACzD,EAAO,YACTA,UAAa,MAAQN,GAAS,UAEhC,UAAS,gBAAoB,mBAAoBO,QAEjD,KAAS,iBAAiB,yBAG9B,SACO,IACT,CAEA,OAAQ,MACN,EAAI,OAAK,UAAQ,UAAU,SACpB,cAAc,CAEd,SAAK,eAAa,CAAO,CAClC,EAEF,UAASC,UACP,CAAO,QAAkBP,CAAkB,CAC7C,ECnJK,UAAUO,CAAgB,SAAG,KAAU,CAAG,OAAO,mBAAkB,KAAK,ECAvEC,MAAa,SCKM,CAAC,oCAAqC,qCAAsC,6CAAwC,iCAAuC,yCAA0C,oCAAsC,qDAAoD,4CAA+C,gDAA+C,6EAAgF,4DAA6D,qCAAqC,EACpkBC,GAAmCC,IAAmB,QAAQ,CAC9DC,UAAmB,YACnBC,GAAUD,GAAY,UAAY,KAAK,MAAQ,UAAU,SAAW,QAAQ,UAAU,mBAAqB,QAAQ,aAAU,2BACjG,SAAQ,SAAU,iBAAc,WAC1DE,GACJ,UAAmB,OAAuCA,CAAuBC,EAAQ,oBAAiB,CAAQD,MAAyB,OAA3F,QAAkI,IAAKC,CAAO,CAChM,KAAI,QAAmB,CACrB,OAAyDA,GAAQ,eAW/DC,QAAW,IAAiBC,EAAMC,EAAQ,CAC5C,IAAIC,KACAD,CAAW,cACJ,CAKX,KAAIE,CAAWH,GAAS,OAAoCE,EAAqBF,EAAK,gBAAkB,MAAQE,IAAuB,OAArF,SAA0H,MAAKF,CAAM,OAAO,EAC1LI,EAAQD,IAAa,KAAMA,OAAa,GAKxCE,EAASD,OAAmBJ,GAGhC,OAAOA,EAAK,SAAY,YAAaA,CAAK,YAAQ,QAAaD,EAASC,EAAK,UAAU,OACvF,GAAOK,CACT,OAOwB,OAA2BL,EAAM,CACvD,MAIIM,GAAWN,EAAS,SAA0DA,OAAK,gBAAkB,CAAQO,IAAwB,OAAvF,UAA6H,QAAW,eAAiB,EAC3M,QAAOD,OAAmBA,IAAa,MACzC,GAQIE,OAAgB,QAA6CC,EAAQ,CAGvE,QAAe,CACb,OAAO,GAET,GAAIC,KAAa,GAAM,eAAU,CAAM,UAAS,eAAiBjB,QACjE,IAAIkB,GAAoBf,GAAQ,OAASH,GAAiB,EACxDiB,EAAW,WAEbA,OAAwB,IAAOD,KAEjC,CAoCIG,GAA4B,SAAkCC,IAA4BlE,EAAS,CAGrG,QAFI+D,EAAa,OACK,OAAM,EAAKG,CAAQ,OAClB,QACrB,EAAIf,MAA0B,IAAK,EACnC,IAAIC,GAASD,GAAS,CAAK,EAK3B,GAAIA,EAAQ,mBAEV,GAAIgB,IAAmB,iBAAgB,MAChB,UAAoBhB,CAAQ,SAC/CiB,EAAmBH,IAA0BI,CAAS,MACtDrE,EAAQ,eACM,UAAkC,CAElD+D,EAAW,KAAK,CACd,YAAaZ,EACb,YACV,CAAS,CAEL,KAAO,CAEL,QAAqBF,CAAQ,KAAKE,EAASL,OACrB9C,EAAQ,OAAOmD,GAAO,EAAMa,GAAoB,CAACE,EAAS,YAAgB,EAC9FH,GAAW,WAITO,EAAanB,WAAQ,GAEzB,OAAOnD,EAAQ,eAAkB,YAAcA,GAAQ,aAAcmD,EAAO,CAKxEoB,EAAkB,EAACnB,EAASkB,KAAiB,GAAM,MAAS,eAAoBtE,EAAQ,iBAAiBmD,KAC7G,EAAImB,IAAcC,CAAiB,CAOjC,IAAIC,EAAoBP,MAA0BK,CAAe,QAAe,MAAWA,EAAW,UAAU,EAAMtE,CAAO,IACjH,UACC,OAAK,WAEL,QACT,aACA,gBAGN,GAGEyE,MAAgB,SAAQ,CAAMA,EAAiBtB,EAAQ,SAE3D,CACF,CACA,OAAOY,QASS,OAAqBV,EAAM,CAC3C,MAAO,CAAC,MAAM,SAASA,EAAK,iBAAa,SAAa,CAAE,CAAC,CAC3D,MAQkB,QAAqBA,EAAM,KACtCA,EACH,OAAM,GAAI,MAAM,kBAAkB,OAEpC,EAAIA,MAAK,MAAW,GAQb,6BAA0B,EAAKA,GAAK,WAAYqB,CAAkBrB,CAAI,SAAuB,EACzF,MAGC,MACd,EAUIsB,KAAuB,OAA8BtB,EAAMuB,GAC7D,QAAeC,CAAYxB,CAAI,GAC/B,MAAIyB,GAAW,EAAKF,IAAYG,GAAY1B,KAGrCyB,CACT,EACIE,GAAuB,SAA8BlE,EAAGmE,IAC1D,MAAOnE,SAAE,cAAe,CAAWA,EAAE,cAAgBmE,aAAE,GAAgBnE,aAAe,mBAE1E,GAAiBuC,MAC7B,WAAY,OAAY,OAEtB6B,GAAgB,SAAuB7B,aAC1BA,CAAI,aAAmB,SAEpC8B,GAAuB,SAA8B9B,EAAM,KACzD/C,EAAI+C,SAAK,GAAY,aAAa,YAAM,EAAU,MAAM,gBAAmB,EAAE,OAAK,OAAU+B,EAAO,CACrG,QAAOA,CAAM,UAAY,WAC1B,CACD,SACF,CACIC,SAAkB,GAAyBC,QAC7C,iBAA0B,GAAQjE,IAChC,GAAIiE,IAAO,CAAE,SAAWA,OAAS,SAC/B,OAAajE,CAAC,CAGpB,SACsB,QACpB,GAAI,IAAM,QACR,EAAO,KAET,EAAIkE,MAAkB,IAAQC,GAAYnC,EAAI,CAC1CoC,EAAc,SAAqBC,cACnB,sBAAiB,iCAGrC,GAAI,iBAAkB,EAAe,kBAAsB,iBAAsB,EAAO,aAAe,UACrGC,EAAWF,QAAY,CAAO,SAAI,EAAOpC,QAAU,UAGjDsC,EAAWF,eACb,CAASG,EAAK,OAEZ,UAAQ,cAAM,uIAAgJ,SAIlK,UAA8BD,CAAUtC,EAAK,IAAI,KACjD,GAAO,IAAYwC,KACrB,OACc,OAAiBxC,KAC7B,KAAOyC,GAAQzC,IAASA,KAAK,IAAS,OACxC,KACyB,oBAChB0C,EAAQ1C,CAAI,KAAM2C,EAAgB3C,CAAI,SAI1B,OAAwBA,CAAM,CACjD,aAwBuBmC,CAAYnC,CAAI,UACP4C,EAAc,QAAQC,EAAc,QAAS,MAASA,EAAU,OAIjF,GACf,GAAID,GAAYA,UACd,CAAIE,EAAeC,OAEnB,CADAC,EAAW,GAAC,CAAGF,EAAgBG,MAAkB,OAAQH,EAAkB,SAAWC,EAAwBD,OAAc,YAAmB,MAAQC,SAA0B,GAAUA,EAAsB,aAA0B/C,GAAS,aAAuD,kBAAmB,GAAQkD,OAAwB,WAA8B,QAAa,CAClY,CAACF,KAAYC,CAAc,CAChC,IAAIE,EAAYC,MAILjB,GAAYc,KACvBA,CAAgBE,EAAaP,MAAc,OAAQO,EAAe,OAAS,QAASA,CAAW,QACnF,GAAGC,GAAiBH,QAAkB,EAAQG,IAAmB,SAAWC,EAAwBD,WAAe,cAA2BC,IAA0B,QAAUA,OAAsB,cAGxN,EAAOL,CACT,UACiB,WACXM,EAAwBtD,UAAK,oBACD,SACrBsD,CAAsB,QACjC,QAAOC,EAAU,UAEfC,GAAW,UAAkBxD,CAAMyD,EAAM,UACnB,kBACD,aACvB,GAAIC,GAAiB,eACf,oBAAqB1D,KAGvB,EAAI2D,IAAe,iBAGjB,eAAc,CACd,sBACA,wBACA,mBAAoB,CAKpB,uBACD,CACD,aAUAC,EAAoB,iBAAiB5D,CAAI,KAC9B4D,CAAkB,eAC7BC,GAAe,cAA2B,WAC5C,YAEF,CAAIC,EAAkBlE,QAAaI,EAAM,oCAClB8D,CAAkB9D,EAAK,mBAC1CJ,GAAQ,OAAuB,2CAGd8D,EAAiB,sBAGrB,WAAkC,YAAe,CAChE,SAAI,CAAOK,cAA8B,CAIvC,aAAO/D,EAAM,CACX,IAAIgE,EAAgBhE,IAAK,YACrBiE,OAA2B,CAC/B,QAAsBD,CAAc,aAAcD,CAAcC,CAAa,SAI3E,KAAOE,GAAWlE,KACJ,aAEdA,EAAOA,SAAK,QACFgE,EAAiBC,KAAajE,CAAK,cAE7CA,EAAOiE,KAAS,EAGhBjE,QAeN,GAAImE,IAAmB,EAKrB,MAAO,CAACnE,GAAK,cAAc,MAAG,GAmBhC,MAAI0D,CAAiB,iBACnB,GAAO,QAGX,GAAWA,KAAiB,eAM1B,UAAkB1D,CAAI,EAKxB,UAMEoE,GAAyB,SAAgCpE,IAC3D,EAAI,uCAAmC,CAAKA,EAAK,WAG/C,UAFsB,gBAEfqE,CAAY,CACjB,oBAA2B,SAAyB,UAElD,UAAa,EAAGrG,WAAe,EAAS,SAAQA,EAAK,CACnD,IAAI+D,EAAQsC,QAAW,GAAS,KAAKrG,CAAC,QAE5B,SAAY,eAGpB,CAAO4B,YAAyB,oBAAsB,EAAI,KAAQmC,CAAM,SAAS/B,KAIrF,OAEFqE,EAAaA,KAAW,UAC1B,CAKF,OAAO,CACT,EACIC,GAAkC,SAAyC3H,EAASqD,KACtF,QAAS,UAAY6B,GAAc7B,QAAkBA,CAAMrD,CAAO,MAE7CqD,CAAI,WAKvBuE,GAAiC,aAAuD,CAC1F,QAAIC,GAAmBxE,KAASwB,EAAYxB,CAAI,KAAS,CAACsE,MAA6C,EAIzG,MAC2B,SAA8BG,CAAgB,CACvE,OAAe,QAASA,EAAe,aAAa,UAAU,UAC9D,SAAI,EAAMhD,CAAQ,SAMpB,CAMIiD,QAAe,gBAEbC,EAAmB,cACZ,UAAQ,gBACH,CAAC,CAACC,SAAK,MACjB9E,CAAUyB,EAAUqD,KAAK,SAAcA,GACvCC,CAAoBvD,OAAqC,CACzDT,EAAWU,IAAUmD,CAAaE,EAAK,aAAc9E,CACrD+E,MACFtD,KAA2B,OAAK,KAAwBV,CAAQ,EAAIiE,KAAiB,EAAKhF,CAAO,KAEhF,cACf,QACA,cACA,CAAM8E,OACN,GAASrD,KACT,QAGN,CAAC,EACMoD,KAAiB,UAA2B,GAAO,SAAUI,EAAKC,EAAU,CACjF,OAAAA,EAAS,gBAAmB,YAAoB,UAAe,GAAKA,OAAS,EAAO,SAE/E,SACT,EACIC,IAAW,WAA6BtI,CAAS,CACnDA,UACA,EAAI+D,IACJ,WAAY,UACVA,IAAaE,CAA0B,OAAqB,qBAC1D,GAAQ2D,WAAoC,EAAM5H,CAAO,KACzD,MAAS,EACT,cAAeA,EAAQ,cACvB,iBAAkBuI,KAGpBxE,OAAsC/D,EAAQ,oBAAiD,MAAK,OAAc,CAE7G+H,OAELS,GAAY,WAA8BxI,EAAS,CACrDA,EAAUA,GAAW,GACrB,IAAI+D,EACJ,WAAY,gBACGE,CAA0B,CAACwE,CAAS,aAAW,oBAClB,SAAWzI,CAAO,EAC1D,SAAS,EACT,gBAAuB,aAC7B,CAAK,SAEqCA,EAAQ,iBAAkB2H,GAAgC,KAAK,OAAc,EAE9G5D,CACT,SACiB,aACf/D,EAAUA,SAER,OAAM,GAAI,YAAM,iBAElB,eAAuB8C,CAAiB,kBAI1C,CACI4F,UAA+D,MAAO,kCAAoC,CAAE,QAAQ,MACtG,eAEhB,CADA1I,EAAUA,WAER,cAAgB,mBAAkB,CAEpC,WAAY,MAAW0I,EAA0B,KAAM,EAC9C,KAEFf,CAAgC3H,IACzC,ECrkBA,SAASa,MAAqBC,CAAG,EACtBA,IAAR,MAAaA,CAAIR,EAAE,iBAAkB,SACtC,WAAoB,UAAcQ,EAAGC,MAAOA,CAAC,EAAIT,MACjD,cAEF,GAASqI,MACP,GAAI,QAAM,QAAS,CAAG,OAAO9H,KAC/B,CACA,YAAoCP,EAAGS,oBACP,GAAtB,gBAAyC,eAAe,SAAY,CAC5E,eACM,CAAM,qBAAgD,EAAMA,eAE9D,CAAIC,EAAI,EACN4H,EAAI,UAAY,MAClB,GAAO,IACFA,CACH,EAAG,kBACM5H,GAAKV,SAAW,CACrB,SACE,CACF,QACA,SAASU,EAAG,CACxB,KAEW,SAAUV,MACX,UAIN,CACA,OAAM,GAAI,gBAAU;AAAA,mFAAuI,CAC7J,CACA,UACM,CACJkB,EAAI,GACN,MAAO,CACL,SAAG,GAAY,CACbL,EAAIA,GAAE,IAAKb,EACb,EACA,EAAG,UAAY,CACb,aAAc,SACPQ,EAAIR,EAAE,MACf,GACA,CAAG,UAAUA,CAAG,EACdkB,CAAI,IAAMD,CAAIjB,CAChB,GACA,CAAG,wBAEgB,SAAV,CAAoBa,EAAE,OAAM,CACnC,aACMK,CAAG,MAAMD,CACf,CACF,EAEJ,CACA,YAAyB,GAAGjB,CAAGa,EAAG,EAChC,MAAQb,QAAoB,SAAU,GAAO,sBAC3C,KAAOa,CACP,YAAY,EACZ,kBACA,SACJ,CAAG,EAAI,EAAEb,CAAC,EAAIa,GACd,CACA,SAAS0H,GAAiBvI,EAAG,IACR,SAAO,KAAtB,KAAwCA,EAAE,SAAO,MAAQ,MAAzB,GAAsCA,EAAE,YAAY,GAAtB,MAAyB,MAAO,MAAM,cAE1G,SACE,MAAM,GAAI,UAAU;;ACrB63gJ,KAA0B,CAAE;AC4bzygJ,qDACjF,KAMrD,CAiBI,aAAc,IACZ,QAAM,OACN,QACE,OAAI,EAAOwI,GAAW,SACpB,QAAOA,CAET,MACE,KAAO,OAAO,OAAOA,IAAQ,GAAI,CAAIA,KAAYC,QACnD,MAEE,KAAOC,cASN,CACL,KAAM,SACN,SAAU,IACJ,GAAK,aAAgB,KAAK,mBACvB,eAAe,CAExB,CACN,KAMI,MAAU,EACR,KAAM,QACN,UACN,CAMI,aACE,EAAM,QACN,OAAS,KACf,CAOI,aACE,QAAM,MACN,KAAS,CACf,aAQgB,CACV,KAAM,QACN,SAAS,CACf,IAYI,SACE,QAAM,QACN,MAAQF,CAAQG,IAAe,CAC7B,aAAiB,CAAI,sBAAoB,OAAQC,CAAO,sBAAuB,CACjF,CACN,OAaI,OACE,CAAM,eACN,EAAQlJ,EAASkJ,KACf,KAAOlJ,KAAQ,IAAQ8I,GAAW,CAChC,IAAIG,EAAQ,OAAK,eAAqB,CACtC,OAAI,SAAOA,CAAU,aACXA,GAAM,QAAQ,MAEjB,OAAK,IAASH,IAAeI,CAAM,OAShD,YAAc,CACZ,OAAM,OACN,QAAQJ,OACN,OAAO,GAAO,KAAK,WAAW,CAAC,MAAM,MAAW,IAAG,IAAK,IAAK,KAAcA,CAC7E,CACN,OAOI,uBACE,IAAM,UACN,MAAS,OAcX,mBACE,QAAS,QACT,YAAuB,QAAY,SAAS,EAAE,aAAS,GAAOK,MAOhE,gBAAmB,OACX,WACN,YAAU,eAAAC,CAAqB,aAC7B,OAAOA,OAEf,CAMI,SACE,KAAM,QACN,OAAS,IAQX,WACE,GAAM,MACZ,EAQI,IAAK,CACH,MAAM,SACN,OAAS,QAQX,UAAa,CACX,KAAM,eACN,CAAS,EACf,KAMI,cAAkB,CAChB,QAAM,WACG,IAAM,QAcjB,uBAA0B,CACxB,aACA,YAAS,aAOX,WACE,UAAM,IAMN,YACN,UAQI,KAAc,OACN,OACN,QAAS,EACf,QAYI,oBACQ,kBAUgBC,CAAW,CAAE,YAAOC,iBAC3B,EAAM,gBACA,GAAOC,EAC1BC,OAAa,CAAM,QAE3B,MAQI,eAAoB,OACZ,QACN,QAAQ,CAAE,mBAAc,eAAkB,CACxC,YAAwBC,GAAQ,QAOpC,iBAAqB,EACnB,IAAM,SACN,gBAOA,SAAO,YACP,YAAeC,GAAQ,EAE7B,GACE,MACE,WACA,IACA,oBACA,aACA,wBACA,0BACA,aACA,cACA,iBACA,aACA,iBACA,mBACA,kBACA,qBACA,mBACJ,IACE,KACE,OACE,OAAQ,MACR,EAAM,GACN,gBACA,oBAAsB,KACtB,YAEA,SAAQ,CAER,iBAAiB,CACvB,CACE,KACA,MAAU,CACR,kBAAmB,GACjB,iBAAmB,SAAW,KAAK,SAAS,MAAM,OAAO,YAQ3D,eAAmB,EACjB,MAAO,UAAO,EAAK,WAAe,KAAe,SAAK,YACxD,EAMA,eAAgB,CACd,IAAIP,EAAQ,KAAK,eAIjB,QAHS,mBACPA,EAAQ,UAAK,CAAM,SAEGA,QAAkBA,SACjC,CAAG,SAAY,CAEjB,iBAUP,SAAO,UAAK,CAAQ,qBAAuB,KAAK,WAAa,UAO/D,YACE,CAAO,QAAK,IAAO,YAAc,QAAM,kBAAgB,UAAc,QAAK,qBAAwB,QAAS,UAAM,CACnH,EAMA,cACQQ,EAAW,EACf,SAAQ,EAAK,OACb,WAAS,EAAK,QACd,UAAW,KAAK,kBAChB,QAAiB,KAAK,eAC9B,EACM,MAAO,CACL,OAAQ,CACN,WAAY,CACV,GAAI,KAAK,QACT,YAAU,EAAK,SACf,YAAa,SAAK,cAClB,aAAU,CAAK,SACf,cAAW,CAAK,WAChB,OAAM,mBACN,UAAqB,QACrB,YAAc,KAAK,kBACnB,gBAAiB,MAAM,KAAK,GAAG,YAC/B,YAAa,UAAM,CAAK,KAAG,kBAC3B,YAAiB,CAAK,kBAAa,IAAQ,EAC3C,MAAK,OACL,KAAM,SACN,aAAc,QAAK,UACnB,QAAO,GAAK,QACZ,IAAG,GAAK,eAAgB,IAAK,gBAAgB,QAAK,aAAgB,EAAI,CACpE,0BAAyB,IAAM,iBAAQ,GAAY,UAAK,aACtE,EAAgB,GAChB,CACU,OAAQ,CACN,iBAAkB,KAAM,IAAK,qBAC7B,aAAsB,KAAK,aAAc,KACzC,KAAS,KAAK,gBACd,YAAU,EAAK,iBACf,KAAM,UAAK,QACX,gBAAY,WACZ,IAAQ5I,cAAW,CAASA,EAAE,OAAO,KACjD,CACA,EACQ,mBACW,GAAK,iBAEhB,SAAW,CACT,OAAQ,KAAK,OACb,WAAS,EAAK,eACd,UAAW,OAAK,OAC1B,EACQ,sBACE,aACO,YACL,OAAM,mBACC,wBAGX,UAAY4I,MACZ,SACA,eAAuB,UAAU,EAAK,SAAQ,CAC9C,QAAU,GAAGA,GAAU,SAAU,IAAK,QAAQ,EAElD,KAQA,kBACE,GAAO,QAEL,EAAG,KAAK,YAEZ,CAMA,eACE,UACE,QAAY,MAAK,gBACjB,aAAe,EAAK,SACpB,eAAgB,KAAK,SACrB,gBAAiB,KAAK,kBAAmB,aACzC,gBAAuB,gBAAe,CAAK,UAC3C,gBAAoB,QAAM,UAC1B,aAAe,MAAK,cACpB,eAAgB,KAAK,QAC7B,MAQI,cACE,CAAO,CAAC,CAAC,KAAK,WAQhB,WAAe,CACb,OAAO,UAAK,cAAmB,SAQjC,iBAAoB,CAClB,OAAO,UAAK,WAAgB,GAAK,aAAc,SAAK,SAAc,IACpE,EASA,iBAAkB,CAChB,MAAMC,EAAgBC,OAChB,CAAK,UAAU,GACVA,EAAS,MAAM,EAAG,KAAK,WAIf,GAAG,OAAO,KAAK,YAClC,GAAI,CAAC,KAAK,kBAAoB,UAC5B,mBAEc,OAAK,KAAO,OAAS,OAAK,KAAOC,EAAY,KAAK,YAAY,CAAIA,MAC9E,IAAK,eAAiB,OAAO,SAC/B,CAAI,MACF,CAAMC,GAAgB,OAAK,WAAa,IAAK,QACxC,KAAK,aAAaA,CAAa,MAC1B,OAAQA,CAAa,CAEjC,MAAQ,CACR,CAEF,OAAOH,EAAa5J,MAOtB,cACE,OAAO,KAAK,iBAAc,OAC5B,CAMA,qBACE,WAAa,QAAY,KAAK,mBAAmB,IAAQ,CAAC,KAAK,cAErE,CACE,QAWE,OAAQgK,QACN,GAAMC,EAAc,IAAM,OAAO,MAAK,qBAAyB,WAAa,QAAK,kBAC/ED,KAEA,KAAK,YACb,OAAe,2BACC,UAAYC,KACpB,KAAK,eAAc,EAEjB,QAAK,SAAc,OAAK,gBAC1B,MAAK,4BAA4B,IAAK,UAAU,CAEpD,EAKA,eACE,QAAW,EACX,QAAQC,EAAK,CACP,WAAK,YACP,KAAK,4BAA4BA,CAAG,IAU1C,cACE,EAAK,eAAc,CACrB,EACA,KAAKC,EAAQ,CACX,KAAK,MAAMA,EAAS,OAAS,OAAO,CACtC,EACA,OAAOjB,EAAQ,IACF,QACT,KAAK,KAAO,GAEhB,CACJ,EACE,SAAU,CACR,gBAAK,IAAiB,KAAK,SAE7B,cAQE,2BACM,OAAM,0BACG,CAASC,EAAM,IAAKe,KAAQ,GAAK,2BAA2BA,CAAG,CAAC,GAE3E,SAAK,CAAM,QAAS,IAAK,+BAU7B,OAAOpB,EAAQ,IACb,OAAK,CAAM,mBAAoBA,EAAM,CAChC,MAAK,oBAUC,cAAK,mBAA8B,yBAA8B,sBAAmB,IAAS,kBACxFA,CAAM,GAVhB,QAAK,OAAY,CAAC,iBAAK,CAAaA,CAAM,IAC5C,YAAW,gBAAkBA,CAAM,EACnC,YAAK,CAAQA,CAAM,MAEjB,EAAK,cACE,IAAK,eAAc,MAAOA,CAAM,GAE3C,KAAK,qBACA,KAAM,mBAAyB,IAItC,MAAK,aAAoB,CAC3B,EAOA,SAASA,EAAQ,CACf,KAAK,MAAM,0BACX,KAAK,YAAY,GAAK,gBAAc,KAAQoB,GACnC,CAAC,OAAK,kBAA4B,CAC1C,CAAC,GACF,IAAK,MAAM,oBAAqBpB,CAAM,CACxC,EAQA,4BACO,iBACCsB,EAAe,KAAK,kBAAkBC,EAAS,CAAC,KACjC,IAAK,oBAA2B,CAAC,EAChDC,cAEY,GAAK,MAErB,CAAK,cAAS,CAAK,IAQvB,eAAiB,CACf,KAAK,YAAY,KAAK,UAAW,EAAK,QACtC,GAAK,YAAS,GAAK,CACrB,EAOA,gBACM,OAAK,iBACP,EAAK,QAAQ,KAAK,IAEhB,KAAK,sBACP,QAAK,IAAS,QAEZ,CAAK,YAAU,CAAK,UACtB,KAAK,UAAU,OAAM,EAAK,OAAM,aAAc,CAElD,IASA,gBACM,IAAO,MAAK,WAAe,KAC7B,YAAW,SAETnB,IAAU,OACR,SAAM,UACAA,EAAM,IAAKe,cAAa,CAAOA,MAE/B,MAAK,SAAY,CAG7B,KAAK,MAAM,oBAAqBf,CAAK,EACvC,CAOA,eAAeoB,EAAO,CACpB,MAAMC,QAA0B,KAAW,OAAK,OAC5CA,IACFD,CAAM,eAAc,EAEtB,WACE,CAAG,MAAK,0BACL,CAAK,SAAM,aAAe,EAAK,MAAM,WAAW,GAAI,CAC/D,QACU,EAAK,WAAa,WAAyB,UAAO,SAAS,CAAME,GAAQA,EAAI,SAASF,YAAiBE,GAAQF,EAAM,aACjH,aAAc,EACpB,MACF,CACI,UAAK,CAAQC,GACf,KAAK,KAAO,IACZ,MAAK,OAAS,KAAI,GACR,OAAK,eACV,WACL,CAAK,SAAS,OAAK,CAEvB,EAOA,oBACE,WAAO,CAAK,cAAc,MAAMrB,EAAU,QAAK,cAAiBA,EAAOL,CAAM,CAAC,OAQhF,kBAAqBA,CAAQ,CAC3B,OAAO,MAAK,gBAAiBA,CAAM,GAAK,KAAK,oBAC/C,aAQA,YAAuBuB,gBACZ,qBAAuB,IAAK,wBAC5BA,CAAW,eAAK,iBAW3B,WAAiBvJ,EAAGmE,EAAG,gBACT,aAAc,EAAM,KAAK,gBACvC,CASA,2BAA2BkE,cACK,KAAK,uBAA4B,CAAC,OAAM,GAAK,UAAe,EACpFlG,EAAU,OAAI,EAAK,eAAY,CAAK,eAAY,IAAOyH,CAAS,EACtE,qBACSzH,CAAQ,EAAC,CAEXA,IAAQ,KAAM0H,CAAU,KAAK,iBAAiBA,EAAO,KAAK,MAAM,QAAO,IAChF,CAOA,uBACE,GAAK,MAAO,GACZ,KAAK,KAAM,aAAa,CAC1B,EAOA,uBACO,KAAK,SAAS,UAAM,IAAU,OAAK,iBAAiB,CAAK,cAAc,UAAU,IAAK,UACzF,KAAIxB,CAAQ,QACR,EAAK,WACPA,IACE,EAAG,KAAK,cAAc,WAAS,GAAK,cAAc,MAAS,MAG/D,IAAK,YAAYA,GAErB,IAQA,YAAaL,CAAQ,CACnB,OAAO,KAAK,cAAW,EAAM8B,SAAiB,gBAAiBA,OASjE,yBACE,IAAK,KAAK,YAAiB,OAGpB,EAAO,KAAK,iBAAiB9B,CAAM,CAAC,EAFlC,WAWX,kBAAuBA,QACrB,EAAO,QAAOA,EAAW,SAAWA,EAAS,CAAE,CAAC,MAAK,IAAK,EAAGA,CAAM,QASrE,GAAQA,EAAQ,MACT,eAAW,CAAKA,CAAM,CAC7B,MAOA,MAAW,MACC,OAAO,SAGf,GAAK,OAAS,GAFd,KAAK,WAWT,YAAe,CACb,GAAI,OAAK,cAAc,CAAK,gBACrB,WAAY,KACZ,QACG;AC71CK,EAAI,CAAE,QAAQ,YAC7BzH,EAAIwJ,GAAK,OAAQ,OACXA,KAAK,OAAU,EAAGxJ,MAAG,SAAO,UAClC6I,CAAMW,EAAK,UAAUxJ,EAAI,CAAC,EAAE,QAExB,EAACyJ,SAAuBC,GAAkBD,CAAG,OAI7CA,EAAQ,aACNE,EAAOF,CAAG,GACZE,CAAOF,CAAG,EAAE,KAAKZ,CAAG,EAEpBc,MAAed,CAAG,EAGpBc,EAAOF,IAAOE,CAAOF,CAAG,EAAIE,EAAOF,QAAcZ,EAAMA,EAE3D,CAAC,EAEIc,CACT,EChEA,cAA2B,CACzB,KAAIC,CAAQ,EACRC,EAAMC,OAAI,EAEd,KAAOF,EAAQC,OACb,GAAME,OAAW,WAEjB,GAAIA,WAA0B,GAC5B,MAGFH,QAGF,EAAOC,GAAMD,EAAO,CAClB,MAAMG,MAAW,eAEjB,EAAIA,IAAS,KAAQA,EAAS,WAI9BF,CAAO,CACT,CAEA,aAAiB,CAAKA,WAAY,EAASC,EAAMA,EAAI,MAAMF,EAAOC,CAAG,QAKjEG,GAAqC,IAAI,SAAO,yCAA4C,GAAG,QAEtD,CAAI,OAAO,6CAA6C,UAEvG,SAA8BC,CAAc,OAC1C,CAAIC,EAAM,QAAQpC,GACTA,SAAoBqC,SAGtBC;AC6OG,EACV,CAEA,oBACE,EAAO,SAAS,aAAY,KAG9B,IAAK,OAAO,WAAW,OACrB,GAAO,cACT,CAEA,OAAO,QACL,OAAOC,iCAGT,MAAO,QAAOC,sBACS,EAAKA,CAAK,EAE/B,OAAAC,MAAQ,SAA6B,IAAIC,MAK3C,OAAO,yBAEF,CAAKC,EAAU,EAChB,WAEI,UAAW,CACrB,KAEgC,YACV,GAAK,WAEvB,QAASC,GAAeC,CAAS,CAC/B,cAEKC,OACHC,GAAeC,EAAWH,CAAO,GACjCC,CAAUG,CAAO,UAIrBb,KAAM,cAAyB,OAAQQ,CAAc,EAAIA,GAAqB,OAIlF,EAEAM,GAAa,UACX,eACA,mBACA,0BAEA,wBACA,GACF,MAGM,0BAA+B,IAAW,CAAC,EAAE,OAAK,CAAIvB,IAAQ,OACrDA,SAAO,UAAgBA,eACpC,EAAO,CACL,QAAW3B,yBAOT,eAAckD,CAAY,ECvVhC,QAAMC,CAAW,kBAEjB,SAASC,GAAwBC,EAAQ,CACvC,GAAIjB,EAAM,YAAWiB,CAAQ,QAAQ,MACnC,EAAO,GAGT,MAAgB,YAAO,UAAeA,CAAM,MAE5C,CAAOL,WAA2B,IAAO,UAAW,CAClD,KAAU,WAAWA,EAAW,WAC9B,KAAO,MAGG,QAAO,aAAeA,SAG7B,EACT,CAKA,YAAsBM,KACpB,OAAMC,CAAY,WAAmB,MAAW,UAAU,YAAW,CAAE,CAAC,MAC3D,CAEPC,MAEJ,GADIH,UAAmB,OAAOA,GAAW,eAC/B,SAAkB,OAAOA,EACnC,GAAII,MAAK,IAAQJ,CAAM,IAAM,QAAI,GAE7BA,YAAkBH,SACJ,WAGlBO,CAAK,OAAW,CAEhB,IAAIlJ,EACJ,KAAU,cACC,KACF,SAASmJ,CAAGxL,IAAM,CACvB,OAAMyL,CAAeH,EAAME,CAAC,EACvBtB,MAAM,gBACD,EAAIuB,EAEhB,CAAC,aAEU,eAAoB,GAAKP,GAAwBC,CAAM,IAChE,OAAK,KAAG,CACDA,EAGT9I,EAAS,aAAO,CAAO,IAAI,EAC3B,SAAW,CAACoH,EAAK3B,CAAK,KAAK,WAAO,OAChC,OAAM2D,CAAeJ,EAAU,IAAI5B,EAAI,cAAa,CAAIwB,GAAWK,cACxD,SAAwB,CACjCjJ,EAAOoH,CAAG,MAKhB,UAAK,GAAG,EACDpH,CACT,OAEA,EAAOiJ,EAAMF,IACf,cAEMM,SAAmB,KAAM,CAC7B,QAAO,cAA6CC,EAAa,CAC/D,MAAMC,EAAa,YAAqB,OAAS7B,CAAQ8B,EAAM,SAAuBC,CAAQ,EAO9F,iBAAO,YAAeF,EAAY,iBAChC,SACA,IAAOC,EACP,eACA,QAAY,GACZ,aAAc,EACpB,EAAK,CACDD,WAAwB,GAGpBC,EAAM,SAAU,SAAmB,OAAU,MAC/CD,aAA0B,MAG5BD,gBAAsB,CAAOC,EAAYD,CAAW,EAC7CC,WAcT,SAAmCG,EAASD,EAAU,GACpD,KAAa,cAKN,UAAe,iBAGpB,qBACOnL,CACP,iBACA,UACA,YAAc,EACpB,OAEI,CAAK,WAAO,WACZ,CAAK,iBACLoJ,GAAS,QAAK,EAAOA,GACrBqB,SAAgB,UAChBW,IAAY,KAAK,QAAUA,GACvBD,MACF,GAAK,SAAWA,QACX,MAASA,GAAS,SAI3B,UAKE,GAAMV,IAAS,GAAK,OACdY,EAAaZ,QAAgB,QAAWA,SAAQ,CAAQ,EAAIA,OAAO,GAAS,MAC5Ea,EACJ/B,QAAM,EAAQ8B,EAAU,SAAgB,EAAS,EAC7CE,MAA+B,GAC/BhC,CAAM,cAAmB,EAE/B,WAEE,IAAS,MAAK,WACd,CAAM,KAAK,YAEX,OAAa,IAAK,YAClB,OAAQ,MAAK,MAEb,QAAU,KAAK,SACf,kBAAiB,UACjB,YAAc,QAAK,UACnB,MAAO,KAAK,aAEJ+B,EACR,QAAM,EAAK,OACX,WAAa,QAGnB,CAGAP,cAAW,WAAuB,sBAClCA,QAAW,UAAiB,kBAC5BA,EAAW,aAAe,eAC1BA,SAAW,IAAY,8BACG,qBACf,qBACXA,GAAW,oCAA4B,mBACvCA,cAAW,GAAiB,kBAC5BA,EAAW,iBAAmB,mBAC9BA,GAAW,gBAAkB,sBAClB,oCACA,6BACXA,KAAW,iBAAkB,kBAClB,+BAA+B,4BCxL1C,UAAe,ICQFS,GAA8B,OAS3C,MAASC,GAAY/B,EAAO,IAC1B,IAAOH,EAAM,qBAA8B,SAC7C,CASA,SAASmC,GAAe5C,YACT,WAAc,IAAI,YAAiB,EAAE,KAYpD,SAAS6C,EAAUC,gBAEVA,UACM,SACN,QAAqBvM,EAAG,CAE3B,YAAuBwM,CAAK,EACrB,CAACC,GAAQzM,aAClB,CAAC,MACA,CAAKyM,EAAO,QARGhD,CASpB,CASA,cAA0B,CACxB,OAAOS,IAAM,SAAW,CAAK,EAACwC,CAAI,OAAgB,CACpD,EAEA,KAAMC,GAAazC,EAAM,aAAaA,IAAO,CAAI,WAAM,OACrD,aAAO,GAAW,OACpB,CAAC,EAyBD,SAAS0C,GAAWC,EAAKC,EAAUnO,EAAS,CAC1C,YAAW,GAASkO,CAAG,EACrB,MAAM,IAAI,cAAU,sBAA0B,EAIhDC,EAAWA,IAAY,OAAyB,KAGhDnO,SAAgB,SACdA,CACA,KACE,OAAY,GACZ,KAAM,IACN,OAAS,GACf,CACI,IACA,QAAiB8I,GAAQ0D,CAAQ,EAE/B,OAAQjB,CAAM,iBAChB,CACJ,EAEE,MAAM6C,IAAqB,WAErBC,MAAkB,SAClBP,UACAQ,CAAUtO,GAAQ,QAClBuO,CAAQvO,EAAQ,MAAS,OAAO,UAAwB,OAC7CA,EAAQ,WAAa,UAA0CA,GAAQ,SAClFwO,CAAUD,KAAe,oBAAoBJ,EAAQ,CACrDM,MAEN,GAAKlD,EAAM,eACT,KAAM,MAAI,aAAU,0BAGtB,QAASmD,EAAavF,EAAO,MACvBA,GAAU,QAAM,EAAO,GAE3B,IAAIoC,CAAM,QAAY,MACpB,IAAOpC,CAAM,gBAGf,CAAIoC,EAAM,cACR,OAAOpC,CAAM,WAGf,KAAKqF,EAAWjD,EAAM,OAAOpC,EAAK,CAChC,WAAU4D,EAAW,8CAA8C,EAGrE,WAAU,cAA8B,sBAClCyB,CAAW,OAAOD,GAAU,WAC9B,OAAO,eAEL,cACF,MAAOI,GAAO,KAAKxF,CAAK,OAE1B,CAAM,IAAI4D,GAAW,+CAAgDA,GAAW,eAAe,IAGjG,KAAO5D,CACT,CAEA,gBACE,CAAIyF,EAAQC,GACV,KAAM,kBACJ,uBAA0C,wBAA0BA,cACzD,mBACnB,CAEE,KAEA,MAASC,CAAwB3F,KAC/B,KAAI0F,MACF,QAAO,IAAK,UAAU1F,SAGlB4F,QAEN,SAAY,cAAiB,OAAoBC,gBACpC,aACT,CAAOC,GAGT,SAAiB,OAAoBF,EAAU,OAAS,CAAC,eAC7C,CAAG,EAGf,OAAAA,gBAC0C,OAAS,MAIvD,CAYA,WAAwB5F,EAAO2B,EAAK8C,EAAM,CACxC,MAAUzE,EAEV,GAAIoC,EAAM,cAAc4C,CAAQ,IAAK5C,CAAM,kBAAkBpC,CAAK,OAChE,GAAAgF,CAAS,QAAOR,EAAUC,MAAe,CAAGc,EAAavF,OAI3D,GAAIA,IAAUyE,SAAQ,CAAOzE,GAAU,UACrC,GAAIoC,EAAM,SAAST,IAAK,SAEHA,CAAMA,EAAI,QAAS,GAAE,CAExC3B,EAAQ2F,EAAwB3F,EAAO,CAAC,iBAEjC,GAAQA,aACboC,CAAM,gBAAqBA,CAAM,oBAAyBwC,GAAMxC,CAAM,iBAGxE,GAAAT,CAAM4C,gBAEM,uBACF,uBACNS,CAAS,mBAGW,SACdG,GAAY,KACVxD,CACAA,EAAM,UAGlB,CAAC,MAKL,aACS,GAGTqD,EAAS,OAAOR,UAA4Be,EAAavF,CAAK,CAAC,EAExD,GACT,CAEA,SAAuB,WAAO,GAAO6E,EAAY,CAC/C,oBACA,YACA,YAAAP,EACJ,MAEE,MAASyB,EAAM/F,EAAOyE,EAAMgB,KAC1B,GAAIrD,SAAM,MAAYpC,OAEtBgG,EAAwBP,CAAK,IAEnB,SAAa,IAAM,OAC3B,GAAM,GAAI,MAAM,kCAAoChB,EAAK,gBAGrD,OAEA,SAAQzE,CAAO,SAAciG,EAAItE,cAE3B,OAAc,GAAKsE,IAAO,cACrBjB,OAAoB,QAASrD,CAAG,aAAsB8C,EAAMyB,CAAc,KAE1E,IACbH,MAAiBtB,EAAK,UAAc,CAAC9C,IAAM8D,CAAQ,IAEtD,CAEDH,IAAM,GAAG,CACX,KAEKlD,IAAM,UACT,MAAM,QAAI,aAAU,kBAAwB,CAG9C,OAAA2D,GAAS,EAEFf,CACT,eC9QqB,CACnB,aACO,UACA,qBAEA,KACL,gBACO,OAET,QAAO,oBAAwB,SAAQ,gBAAgB,SACrD,UAAoB,CACtB,EACF,CAUA,WAASmB,CAAqBvP,KAC5B,KAAK,WAELA,WAA6B,CAAMC,CAAO,QAGtCmM,WAAiC,KAEvCA,IAAU,UAAS,UACjB,UAAK,MAAO,CAAK,KAAa,CAChC,EAEAA,GAAU,SAAW,SAAkBoD,EAAS,CAC9C,MAAMC,EAAUD,SACO,GAAK,KAAMpG,EAAOsG,EAAM,MAG/C,MAAO,SAAK,GACT,KAAI,eACH,GAAOD,EAAQE,aAAyBA,CAAK,CAAC,CAAC,CACjD,wBCzCG,EAASD,GAAOvF,EAAK,CAC1B,UAAO,gBAAmBA,CAAG,EAC1B,QAAQ,eACR,SAAQ,IAAQ,GAAG,MACnB,IAAQ,QAAS,GAAG,EACpB,YAAQ,GAAQ,IACrB,CAWe,UAASyF,EAAS7P,EAAKC,MACpC,GAAKA,EACH,WAEID,GAAO,GAEb,MAAM8P,EAAWrE,EAAM,YAAkB,EACrC,CACE,WACR,KAMQiE,CAAUjE,EAAM,iBAAsB,OAAQ,CAAKkE,GACnDI,GAActE,CAAM,YAAYqE,GAAU,qBAI5CC,GACFC,CAAmBD,KAA4B,EAE/CC,GAAmBvE,CAAM,0BACd,iBAC0BqE,CAAQ,MAAE,oBAIzB9P,CAAI,mBAEJ,GACpBA,kBAEFA,KAAY,OAAQ,GAAG,IAAM,gBAG/B,UC/DF,SACE,WACE,qBAYEiQ,OACF,YAAK,UAAS,UACZ,KAAAA,GACA,oBACA,EAAa/P,EAAUA,EAAQ,oBAC/B,GAASA,GAAUA,CAAQ,gBAEtB,IAAK,SAAS,OAAS,CAChC,CASA,MAAMgQ,EAAI,CACJ,KAAK,kBACP,CAAK,SAASA,EAAE,CAAI,KAExB,CAOA,eACW,UACP,IAAK,sBAcDC,CAAI,EACV1E,CAAM,mBAAa,KAAU,OAAwB2E,EAAG,EAClDA,GAAM,iBC9DhB,GAAAC,GAAe,CACb,6BACA,UAAmB,SACnB,cAAqB,iBACrB,mBAAiC,GACjC,2BAA6B,GAC7B,yCCLa,MAAO,iBAAoB,EAAc,gBAAkBb,GCD1Ec,GAAe,OAAO,kBAA2B,OAAW,ECA5DC,GAAe,OAAO,iBAA8B,GCEpDC,EAAe,EACb,SAAW,GACX,kBACF,wBAEA,KACA,GACE,SAAW,EAAC,iBAAiB,IAAQ,OAAQ,MAAO,aCXhC,SAAO,IAAW,WAAe,CAAO,SAAa,IAErEC,IAAc,MAAO,WAAc,6BAmBnCC,EACJC,KACC,UAAgB,aAAe,0BAA8BF,GAAW,OAAO,EAAI,GAWhFG,iBAEK,qBAEP,eAAgB,eAChB,OAAO,KAAK,mBAAkB,SAI5BC,CAAUF,IAAiB,yBAAyB,iNCxC1DG,GAAe,CACb,GAAGrF,SAEL,CCAe,SAASsF,GAAiBC,OACvC,KAAO7C,GAAW6C,uBAA2B,UAAmB,CAC9D,cAAS,GAAU3H,cACjB,EAAIyH,GAAS,WAAgB,QAASzH,CAAK,GACzC,KAAK,OAAO2B,EAAK3B,EAAM,SAAS,QAAQ,CAAC,EAClC,OAGM,kBAAe,KAAM,SAAM,GAC5C,EACA,MAEJ,CCZA,gBAEA,KAAS4H,SACHnQ,GAAQoQ,EACV,MAAM,IAAIjE,GACR,yCAA0CnM,CAAQ,yBAA0BoQ,WACjE,iCAYRC,GAAcvL,EAAM,CAK3B,MAAMkI,wBAEN,GAAIjD,EAEJ,kBAAiC,KAAO,IACtCoG,UAA0B,CAAM,EAChCnD,IAAK,GAAKjD,SAAa,OAAYA,CAAM,CAAC,WAG5C,KAAOiD,CACT,IASA,YACE,MAAMM,EAAM,eACQ,EAAKH,CAAG,GAC5B,GAAI1M,EACJ,MAAM6P,EAAMC,WACZ,EAAIrG,EACJ,IAAKzJ,GAAI,CAAGA,EAAI6P,EAAK7P,gBAER0M,EAAIjD,CAAG,EAEpB,OAAOoD,QAUT,GAASkD,GAAejD,aACbkD,CAAUzD,EAAMzE,EAAO0C,EAAQjL,aAGlC8E,EAAOkI,EAAKhN,GAAO,EAEvB,GAAI8E,aAAS,GAAa,aAE1B,EAAM4L,EAAe,OAAO,sBACC,KAG7B,OAFA5L,eAAsB,CAAQmG,CAAM,EAAIA,WAEpC0F,GACEhG,EAAM,WAAWM,EAAQnG,CAAI,GAC/BmG,CAAOnG,CAAI,GAAI6F,CAAM,QAAQM,EAAOnG,CAAI,CAAC,EACrCmG,EAAOnG,CAAI,EAAE,uBAGN,CAAIyD,EAGV,CAACmI,KAGN,CAAC/F,iBAA6B,EAAK,CAACA,EAAM,iBAAqB,CACjEM,EAAOnG,CAAI,yBAKO,MAAQmG,SAC1BA,CAAOnG,CAAI,GAAI8L,EAAc3F,OAGxB,CAACyF,GAGV,aAAU,GAAWnD,CAAQ,KAAW,WAAWA,kBAC3CD,EAAM,IAEZ3C,QAAM,aAAa4C,EAAU,sBAE7B,CAAC,EAEMD,CACT,QAEO,IACT,CC1GA,MAAMuD,GAAM,CAACvD,EAAKpD,IAASoD,GAAO,mBAAyBA,EAAKpD,OAAc,CAAI,OAYlF,kBAAoD,CAClD,UAAU,IAAS4G,CAAQ,OAEvB,WAAW,GAAK,qBAElB,YACM3Q,CAAE,WAAS,WACb,KAAMA,CAEV,CAGF,iBAAwB,SAAW2Q,CAAQ,CAC7C,CAEA,OAAMC,EAAW,CACf,aAAcxB,GAEd,gBAAiB,SAAQ,IAAO,QAEhC,WAAkB,CAChB,uBACsByB,CAAQ,eAAc,GAAM,SACT,MAAQ,kBAAkB,EAAI,qBASrE,CANIC,GAAmBtG,EAAM,iBAC3BuF,CAAO,KAAI,kBAGY,OAAWA,CAAI,IAGtC,MAAOgB,CAAqB,KAAK,WAAUV,GAAmB,CAAC,EAAIN,EAGrE,IACEvF,CAAM,cAAcuF,CAAI,GACxBvF,EAAM,SAASuF,CAAI,GACnBvF,GAAM,QAASuF,CAAI,KACb,QAAW,IACjBvF,CAAM,SAAW,WACX,oBAECuF,EAET,UAAU,cAAsB,GAC9B,MAAOA,EAAK,OAEd,IAAIvF,CAAM,mBAAsB,GAC9B,MAAAqG,GAAQ,cAAe,uDAChBd,CAAK,SAAQ,OAGlBiB,CAEJ,UACE,EAAMC,EAAiBP,IAAI,YAAM,YACjC,CAAIQ,UAAoB,mCAAmC,GAAI,GAC7D,MAAOpB,IAAiBC,CAAMkB,CAAc,IAAE,OAAQ,KAGxD,CACGD,EAAaxG,GAAM,WAAe,IACnC0G,GAAY,OAAQ,qBAAqB,EAAI,KAE7C,KAAMC,EAAMT,GAAI,WAAW,CACrBU,EAAYD,GAAOA,EAAI,SAE7B,SAAOjE,CACL8D,EAAa,CAAE,UAAWjB,EAAI,CAAKA,EACnCqB,GAAa,gBAMnB,CAAIN,GAAmBC,GACrBF,QAAQ,cAAe,6BAQ7B,kBAAmB,CACjB,mBACQQ,CAAeX,UAAU,6BAA4B,EACrDY,UAAiD,6BACxB,UAAc,EACvCC,EAAgBC,sBAEZ,SAAoBhH,EAAM,2BAC3BuF,EAGT,OAEEvF,CAAM,SAASuF,QACQ,CAACyB,GAAiBD,GACzC,CAEA,2BADuD,UAGvD,GAAI,CACF,cAAY,IAAMxB,GAAMW,GAAI,MAAM,oBACpC,CAAS1Q,OACHyR,CACF,OAAIzR,CAAE,QAAS,cACPgM,EAAW,UAAmB,uBAAwB,KAAM0E,SAAU,QAAU,EAAC,CAEnF1Q,CAEV,CACF,CAEA,YAQJ,cAEA,UAAgB,eAChB,cAAgB,cAEhB,iBAAkB,GAClB,kBAEA,GAAK,CACH,UAAU6P,iBAAiB,EAC3B,MAAMA,EAAS,YACnB,EAEE,iBAAgB,WACd,WAAiB,GAAO6B,WAG1B,IAAS,CACP,QACE,aAAQ,8BACR,iBAAgB,OAGtB,CAEAlH,EAAM,QAAQ,CAAC,WAAU,OAAO,SAAQ,EAAQ,OAAO,UAAS,SAAsB,CACpFoG,GAAS,WAAkB,OC/Jd,SAASe,CAAcC,EAAKxF,EAAU,CACnD,YAAe,EAAQwE,GACjBzP,EAAUiL,GAAYV,cACc,OAAO,EACjD,mBAEAlB,GAAM,kBAAa,CAAmB0E,EAAI,CACxCa,EAAOb,EAAG,KAAKxD,EAAQqE,EAAMc,EAAQ,WAAS,CAAIzE,EAAWA,EAAS,yBAGhE,IAAS,ICtBJ,WAASyF,CAASzJ,EAAO,CACtC,OAAQ,EAAEA,GAASA,EAAM,YAC3B,OCAA,mBAUE,iCAC0B,IAAsB4D,GAAW,aAAcN,GAAe,GACtF,SAAY,iBACZ,SAAK,yBCJ+BoG,EAAQ1F,EAAU,CACxD,MAAM2F,EAAiB3F,EAAS,OAAO,eACnC,CAACA,IAAS,OAAW2F,GAAkBA,GAAe3F,CAAS,SACjE4F,CAAQ5F,EAAQ,CAEhB0F,EAAO,UACL,gCAAqC1F,MAAS,GAC9CA,EAAS,SAAU,cAAyB,GAAMJ,IAAW,eAAkBA,oBAC/EI,EAAS,OACTA,GAAS,OACTA,CACN,CAAK,CAEL,CCxBe,SAAS6F,GAAclT,EAAK,KACzC,GAAM6K,CAAQ,gCAA4B,CAAK7K,CAAG,EAClD,YAAuB,CAAC,MCI1B,SAASmT,GAAYC,EAAcC,EAAK,YAEtC,GAAMC,YAAkBF,CAAY,gBACK,CACzC,kBAIA,oBAAgC,EAEzB,oBACO,KAAK,YAEgB,CAE5BG,wBAOL,GAAIhS,uBAIY+R,KAAS,EACvB/R,EAAIA,OAGNiS,GAAQA,qBAGS,EAAKJ,GAGlBK,EAAMF,aAIV,MAAeG,GAAaD,EAAMC,EAElC,SAAgB,KAAK,OAAOC,CAAa,KAAc,EAAI,kBC5CtDC,EAASzD,EAAI0D,EAAM,GAC1B,EAAIC,EAAY,EACZC,EAAY,YAIhB,KAAMC,CAAS,CAACC,EAAMR,EAAM,gBACdA,EACZS,EAAW,KACPC,oBAEFA,EAAQ,MAEVhE,EAAG,iBAGa,CAAI8D,IAAS,CAC7B,gBAAiB,CAAG,EACdG,uBAKCD,IACHA,EAAQ,WAAW,IAAM,EACvBA,CAAQ,QACO,CACjB,EAAGJ,EAAYK,CAAM,GAG3B,EAEc,6BClCwD,KACtE,IAAIC,IACJ,MAAMC,EAAenB,SAAmB,EAExC,OAAOS,GAAU3S,GAAM,CACrB,GAAI,CAACA,GAAK,OAAOA,EAAE,QAAW,8BAGV,GACdsT,IAAU,iBAAmBtT,EAAE,MAAQ,OACvCuT,SAAkB,CAAO,SAASC,EAAWF,CAAK,MAClC,kBACTD,EAAaI,CAAa,KAEvB,gBAEhB,GAAM1D,EAAO,CACX,OAAAwD,QACAD,SACA,EAAUA,EAAQC,MAAiB,SACnC,EAAOE,EACP,cAAoB,CACpB,aAAmBH,GAASA,EAAQC,KAAiB,UACrD,gBACA,MAAkBD,MAAS,EAC3B,uBAAyC,CAAG,QAIhD,EAAGV,CAAI,CACT,GAEac,EAAyB,CAACJ,EAAOK,OAC5C,IAAMC,MAA4B,QAElC,EAAO,MAEO,CAAC,EAAE,UACX,eACA,CAAAN,EACA,OAAAC,CACR,MACe,CACf,CACA,EAEaM,OAEX,GAAIb,cACS,CAAM9D,EAAG,GAAG8D,CAAI,CAAC,ECnDhCc,eAAwB,gBAClBlE,CAAQmE,SACRhV,CAAM,IAAI,IAAIA,MAAc,wBAGF,QACxB6Q,EAAO,OAAS7Q,OAAI,iBACW,qBAGhB,OACjB8Q,CAAS,WAAa,uBAAuBA,GAAS,eAAU,OAElE,SCZJmE,CAAenE,GAAS,wBAGlB,KAAMlL,GAAMyD,CAAO6L,EAASpH,MAAsBqH,EAAU,CAC1D,GAAI,OAAO,WAAa,EAAa,OAErC,aAAuB,IAAI,mBAAmB9L,CAAK,oBAGjD+L,EAAO,KAAK,aAAW,EAAI,OAAY,CAAE,oBAEjC,QAAStH,CAAI,eACT,GAAQA,CAAI,EAAE,EAExBrC,IAAM,QAAe,GACvB2J,SAAY,UAAgB,CAAE,EAE5BC,SACFD,CAAO,wBAEC,EAASD,CAAQ,IACzBC,CAAO,KAAK,YAAYD,CAAQ,EAAE,EAGpC,SAAS,OAASC,EAAO,KAAK,IAAI,CACpC,OAEKxP,KACH,CAAI,sBAAiC,OAAO,SAMtCqP,EAAU,mBAAgB,GAAM,iBACtB1T,QAAY,SAC1B,OAAe0T,EAAQ1T,CAAC,EAAE,iBAAkB,EACtC+T,EAAKF,IAAO,OAAQ,EAAG,EAC7B,YAAiBA,CAAO,OAAM,CAAGE,CAAE,IAAM1P,EACvC,aACS,iBAAmBwP,EAAO,MAAME,EAAK,CAAC,CAAC,IAChD,GAAY,IACV,IAAOF,YACT,CAEJ,CACA,SAAO,EACT,EAEA,eACO,MAAMxP,EAAM,cAAiB,MAAU,OAIhD,CACE,OAAQ,CAAC,EACT,SACE,gBAEF,OCrDS,oBAIb,IAAI,KAAO5F,aACF,EAGF,+BAA8B,IAAKA,CAAG,CAC/C,CCRe,gBAA2C,CACxD,OAAOuV,OACK,mBAAwB,MAAkB,OAAQ,oBCN1DC,EAAwB,wCAG9B,IAASC,GAA6BzV,QAChCuB,CAAI,EACR,SAAe,QAAUvB,cAAgB,GAAK,SAG9C,eAAkB,CACpB,QAEA,GAAS0V,EAA6B1V,IACpC,MAAOyV,MAAkC,QAAQE,GAA+B,EAAE,CACpF,CAEA,SAASC,MAAgCjJ,CAAQ,CAC/C,GAAI,UAAe,WAAY6I,EAAsB,KAAKE,OACxD,MAAM,QACJ,6CACW,iBAEjB,CAEA,CAYe,SAASG,GAAcC,EAASC,EAAcC,EAAmBrJ,EAAQ,CACtFiJ,QACA,IAAIK,EAAgB,CAACC,GAAcH,CAAY,MAC/C,GAAID,SAA6BE,EAAsB,MACrDJ,EAA2BE,EAASnJ,CAAM,EACnCwJ,QAAiC,CAEnCJ,CACT,CC5CA,QAAMK,CAAmBxK,kBAA4BW,CAAe,MAAU,CAAKX,kBAW7B,CAEpDyK,EAAUA,SACAC,GAAW,EAMrB,OAAM3J,CAAS,OAAO,QAAO,mBACtB,UAAuB,iBAAkB,CAG9C,UAAW,KACX,MAAO,OAAO,WAAU,cACxB,YAAY,EACZ,SAAU,GACV,aAAc,EAClB,CAAG,EAED,WAAwBZ,GAAQW,CAAQ6J,IAAgB,CACtD,OAAI9K,IAAM,cAAoB,MAAW,YAAciB,CAAM,EACpDjB,EAAM,MAAM,KAAK,CAAE,YAAYM,EAAQW,IACrCjB,CAAM,cAAciB,GACtBjB,EAAM,MAAM,GAAIiB,QACR,KAAQA,CAAM,EACtBA,EAAO,OAAK,CAEdA,EAGT,SAAS8J,EAAoBxV,SAC3B,GAAKyK,EAAM,iBAEJ,EAAI,CAACA,EAAM,YAAYzK,CAAC,EAC7B,UAAsB,MAAWA,OAAiB,QAFlD,IAAOyV,EAAezV,EAAGmE,SAO7B,OAASuR,MAAuB,CAC9B,OAAW,iBACT,IAAOD,EAAe,OAAWtR,CAAC,CAEtC,CAGA,SAASwR,EAAiB3V,EAAGmE,SAChB,aAAa,EAEjB,GAAI,CAACsG,EAAM,gBAChB,UAAsB,KAAWzK,CAAC,MAFlC,QAAOyV,MAAe,GAAWtR,CAAC,CAItC,CAEA,SAASyR,EAA4BL,EAAM,CACzC,MAAMM,QAAsB,OAAWP,MAAS,UAAc,SAAY,QAAe,OAEzF,IAAK7K,EAAM,cAAyB,CAClC,IAAIA,CAAM,eAA2B,GACnC,IAAIA,CAAM,WAAWoL,EAAeN,CAAI,EACtC,OAAOM,MAAkB,GAG3B,QAIJ,MAAMC,EAAgBrL,EAAM,gBAAoB,cAAkB4K,CAAQ,aAAe,YAE/E,cAAcS,CAAa,GAAKrL,EAAM,aAA0B8K,CAAI,EAC5E,SAAqBA,CAAI,CAI7B,CAGA,YAAyBvV,CAAGmE,EAAGoR,EAAM,CACnC,GAAI9K,EAAM,aAAoB8K,CAAI,EAChC,UAAsBvV,CAAGmE,CAAC,SACX,SAAWkR,EAASE,CAAI,OACvC,EAAOE,KAAe,MAE1B,CAEA,WACE,EAAKC,GACL,QACA,QACA,UACA,gBAAkBC,KAClB,eAAmBA,GACnB,gBAAkBA,OAClB,GAASA,GACT,cAAgBA,EAChB,gBAAiBA,IACjB,iBACA,QACA,YAAcA,GACd,cAAgBA,KAChB,cACA,iBAAkBA,MAClB,eAAoBA,EACpB,aACA,iBAAkBA,GAClB,cAAeA,CACf,eAAgBA,EAChB,UAAWA,EACX,UAAWA,EACX,WAAYA,GACZ,kBACA,MAAYA,MACZ,eAAoBA,GACpB,oBACA,aAAgBI,EAChB,QAAS,CAAC/V,EAAGmE,EAAGoR,OACMH,IAAiB,CAAGA,GAAgBjR,CAAC,IAAS,EAAI,CAC5E,IAEEsG,UAAM,KAAQ,OAAO,MAAO,GAAG4K,EAAS,MAAY,CAAG,WAAkC,CACvF,MAAIE,CAAS,aAAeA,KAAS,qBAA0B,aAAa,OAC5E,EAAMS,EAAQvL,OAAM,MAAWwL,EAAUV,CAAI,GAAIU,CAASV,CAAI,MACpD9K,EAAM,cAAwB,EAAI4K,EAAQE,QAAQ,GACtDpR,CAAIsG,EAAM,WAAW6K,EAASC,CAAI,MAAgB,CAAI,QACtDW,CAAcF,EAAMhW,EAAGmE,OACtB,eAAuB,CAAK6R,KAAUD,GAAqBpK,IAAW,CAAIuK,EACnF,KAGQ,WAAWZ,EAAS,oBAC1B7K,CAAM,aAAY6K,CAAQ,oBACE,gCAAiC,IAAM,KAE/D7K,EAAM,WAAW4K,EAAS,gBAAgB,KACrC,iBAAgC,WAAmB,WAAc,EAExE,SAAc,iBAKpB,CCpJA,MAAMc,GAA4B,CAAC,gBAAgB,mBAEnD,OAASC,GAAmBtF,EAASuF,EAAaC,EAAQ,CACxD,MAAIA,CAAW,iBACbxF,CAAQ,IAAIuF,CAAW,EACvB,UAGF,IAAO,QAAQA,IAAe,CAAE,IAAE,MAAQ,CAAC,CAACrM,EAAKZ,CAAG,OAC9C+M,CAA0B,UAASnM,CAAI,YAAW,CAAE,GACtD8G,EAAQ,IAAI9G,EAAKZ,KAavB,MAAMmN,GAAclM,MAClB,gBAAmBA,CAAG,EAAE,QAAQ,uBAAwBmM,SACtD,CAAO,aAAa,SAASA,EAAK,EAAE,CAAC,CACzC,EAEA,SAASC,GAAc9K,EAAQ,CAC7B,UAAkB+K,CAAY,OAIxB/F,CAAO3G,UAAe,WAA6B2M,EAAU3M,CAAG,EAAI,UAE7D2G,CAAI,oBACO,cACxB,YAA2B,gBACrBiG,CAAiBjG,EAAI,sBACvBG,EAAUH,EAAI,SAAS,EAC3B,MAAMkG,EAAOlG,EAAI,MAAM,EACjBmE,EAAUnE,EAAI,SAAS,QACC,uBACd,KAAK,EAWrB,GATAgG,KAAU,kBAEVA,EAAU,OACR9B,GAAcC,MAAiC6B,CAAS,EACxDhG,SAAI,CAAQ,KACR,mBACR,CAGMkG,EAAM,CACR,OAAMC,CAAWrM,EAAM,mBAAkB,OAAU,CAAK,oBACrBoM,CAAM,UAAU,GAAK,oBAIpD,WACA,WAAW,CAAKC,EAAW,YAAqC,CAAI,UAExE,EAAS7W,EAAG,CACV,MAAMgM,UAAmBA,GAAW,wBAExC,CAmBA,KAjBU,kBAEN6D,CAAS,2BACA,+BACTrF,EAAM,gBAAkB,CAExBqG,EAAQ,kBAAe,GAAS,SACjB,MAAWd,KAAK,cAEZc,CAASd,EAAK,WAAU,QAAQ,wBAQnDF,CAAS,2EASwE,MAGjF,wDC/FwB,UAAO,sBAGnC,WAAkB,CAChB,OAAO,MAAI,MAAQ,WAAqCiC,EAAQ,CAC9D,MAAMgF,EAAUN,OAChB,GAAIO,OAAsB,EAC1B,OAAMC,CAAiB1L,QAAkBwL,EAAQ,QAAO,CAAE,UAAS,IACnE,CAAI,CAAE,gBAAc,iBAAAG,CAAkB,mBAAAC,CAAkB,EAAKJ,GACzDK,CACAC,EAAiBC,MAGrB,SAASC,MACPC,CAAeA,SACe,EAE9BT,EAAQ,gBAAuB,YAAY,YAAsB,EAEjEA,EAAQ,UAAkB,OAAO,oBAAoB,oBAGzC,CAAI,mBAEV,MAAa,MAAO,YAAW,EAAIA,GAAQ,GAAK,KAGxDzK,CAAQ,iBAAkB,CAE1B,UAASmL,EAAY,CACnB,QACE,WAGIC,EAAkBnM,GAAa,KACnC,4BAA2Be,CAAWA,EAAQ,yBAM1CD,EAAW,CACf,QAJCoF,CAAgBA,IAAiB,QAAUA,SAAiB,MACjD,WACRnF,EAAQ,SAGZ,OAAQA,EAAQ,OAChB,WAAYA,EAAQ,uBAEpB,YACA,GAAAA,QAIA,iBAEM,CACN,EACA,gBACY,CACViL,EAAI,QAME,WAGR,WAEFjL,CAAQ,UAAYmL,EAGpBnL,EAAQ,mBAAqB,UAAsB,CAC7C,EAACA,EAAWA,EAAQ,aAAe,OAS7B,eACE,gBAAuB,UAAY,WAAW,WAM1D,kBAKI,WAAU,WAKhByF,EAAO,SAAe,gBAAmB9F,GAAW,aAAcN,EAAQW,CAAO,CAAC,EAClFiL,EAAI,OAGM,EACZ,EAGAjL,EAAQ,YAAU,WAIhB,GAAMnL,cAAqB,CAAUsI,EAAM,QAAU,sBACrCwC,GAAW9K,KAAgB,YAAawK,EAAQW,CAAO,EAEvExH,EAAI,WAAiB,GACrBiN,KACAwF,EAAI,SAEN,CAGAjL,EAAQ,UAAY,eACdqL,EAAsBZ,EAAQ,UAC9B,YAAgBA,EAAQ,QAAU,gBAClC,iBACJ,MAAMzF,EAAeyF,EAAQ,cAAgB1H,GACzC0H,EAAQ,6BACoB,kBAEhChF,IACE,EAAI9F,KAEFqF,EAAa,oBAAsBrF,GAAW,eAAuB,cAGjF,CACA,EACQsL,EAAI,UAONP,IAAgB,WAA4B,mBAAmB,CAG3D,qBAAsB1K,GACxB7B,EAAM,QAAQmN,gBAAoExO,CAAKY,KAC7E,yBAKPS,CAAM,YAAYsM,EAAQ,gBAAe,GAC5CzK,SAAQ,WAAoByK,EAAQ,iBAIlCtF,GAAgBA,IAAiB,SACnCnF,EAAQ,aAAeyK,EAAQ,cAI7BI,IACF,CAACG,EAAmBO,CAAa,EAAIC,GAAqBX,EAAoB,EAAI,EAClF7K,EAAQ,iBAAiB,WAAYgL,CAAiB,GAIpDJ,GAAoB5K,EAAQ,SAC9B,CAAC+K,EAAiBG,CAAW,GAAIM,EAAqBZ,CAAgB,EAEtE5K,EAAQ,QAAO,gBAAiB,WAAY+K,CAAe,EAE3D/K,EAAQ,UAAO,eAAiB,SAAWkL,CAAW,KAGpDT,CAAQ,aAAeA,OAAQ,KAGjCK,EAAcW,GAAW,CAClBzL,KAGLyF,CAAO,CAACgG,GAAUA,EAAO,aAAyB,IAAMpM,EAAQW,CAAO,EAAIyL,CAAM,EACjFzL,EAAQ,gBAEE,GACZ,EAEAyK,KAAQ,gBAAuB,QAAY,UAAUK,CAAU,EAC3DL,EAAQ,SACVA,EAAQ,OAAO,QACXK,EAAU,OACF,IAAO,oBAAiB,MAAmB,IAI3D,MAAMY,MAAyBjB,CAAQ,GAAG,EAE1C,GAAIiB,GAAY,CAAClI,GAAS,UAAU,SAASkI,CAAQ,EAAG,KAEpD,GAAI/L,SACF,mBAAqC,IACrCA,GAAW,wBAKf,SAIM,QAAoB,IAAI,CAClC,CAAC,CACH,GC/NIgM,EAAiB,CAACC,EAASC,OAG/B,CAFAD,KAAoBA,CAAQ,gBAAkB,GAE1C,SAAqB,WACvB,CAGF,UAAmB,EAAI,gBAEvB,IAAIE,SAEJ,EAAMC,kBACCD,EAAS,CACZA,EAAU,cAEJtT,CAAMwT,aAAkB,MAAQA,EAAS,QAAK,IACpDC,EAAW,OACTzT,YAAemH,GACXnH,EACA,IAAI0T,GAAc1T,aAAe,OAAQA,CAAI,QAAUA,CAAG,KAKpE,IAAIqO,EACFgF,GACA,aAAW,OACD,GACRE,EAAQ,IAAIpM,GAAW,cAAckM,SAAO,MAAelM,OAAW,QACxE,CAAGkM,CAAO,eAGLD,IACL/E,GAAS,aAAaA,CAAK,EAC3BA,KAAQ,EACR+E,IAAQ,MAASO,GAAW,CAC1BA,KAAO,WACI,YAAYJ,CAAO,EAC1BI,EAAO,oBAAoB,QAASJ,aAG5C,CAEAH,EAAQ,SAASO,EAAWA,EAAO,iBAAiB,SAASJ,CAAS,CAAE,UAAa,CAErF,KAAM,CAAE,OAAAI,EAAM,CAAKF,EAEnB,OAAAE,IAAO,UAAc,WAAiBC,CAAW,EAE1CD,CACT,KCtD2B,WAAWE,CAAOC,EAAW,CACtD,MAAUD,EAAM,WAEhB,KAAwBC,EAAW,CACjC,cAEF,CAEA,OAAU,CACNxO,EAEJ,SAAagG,CACXhG,EAAMvK,EAAM+Y,EACZ,UAAY,MAAWxO,CAAG,EAC1BvK,EAAMuK,CAEV,MAEyB,eAAiByO,EAAUD,EAAW,SAC7D,eAA0BE,CAAWD,CAAQ,EAC3C,MAAOE,GAAYJ,EAAOC,CAAS,CAEvC,EAEME,GAAa,oBACjB,EAAIE,EAAO,UAAO,UAAa,EAAG,CAChC,SACA,KACF,CAEA,MAAMC,EAASD,EAAO,UAAS,EAC/B,GAAI,CACF,OAAS,CACP,SAAQ,GAAAzB,CAAM,SAAU,OAAM0B,CAAO,aAEnC,SAEF,EAAM5Q,SAEV,GACE,KAAM4Q,EAAO,aAIJC,CAAc,CAACF,EAAQJ,MAAuBO,EAAa,CACtE,MAAMC,EAAWC,GAAUL,EAAQJ,CAAS,EAE5C,MAAY,EACRrB,IACatX,SAEbsX,CAAO,OACK4B,CAASlZ,EAAC,CAE1B,EAEA,OAAO,OAAI,YACT,CACE,cACE,GAAI,KACF,CAAM,CAAE,iBAAgB,WAAe,CAAI,EAE3C,QACW,EACTsY,EAAW,WACX,GACF,CAEA,WAAgB,wBAEcnI,CAC5BkJ,EAAWC,gBAEM,CAAI,WAAWlR,CAAK,yBAK3C,EACA,OAAOiQ,cACW,CACTc,EAAS,OAAM,CACxB,CACN,EACI,CACE,kBAGN,CC/EMI,MACHC,GAAY,gBACA,OAAkB,EAC9BA,MAAY,CAAMA,IAAY,GAE3BC,GAAuB,EAACrP,CAAK9J,EAAG6P,KACpC7P,CAAI,EAAI6P,GAAOoJ,GAAWnP,MAAI,QAAW9J,CAAI,CAAC,IAAMiZ,KAAe,WAAWjZ,EAAI,QAErE,KAASoZ,GAA4B3a,EAAK,CAEvD,GADI,CAACA,GAAO,OAAOA,GAAQ,aAClB,WAAW,OAAO,GAAG,KAAO,GAErC,QAAcA,EAAI,QAAQ,IAAG,CAC7B,KAAY,EAAG,eAET4a,EAAO5a,EAAI,MAAM,IAAQ,CACzB6a,EAAO7a,EAAI,QAAc,CAAC,EAGhC,IAFiB,UAAW,SAG1B,IAAI8a,EAAeD,EAAK,UACxB,GAAMzJ,EAAMyJ,EAAK,SAEjB,MAAStZ,EAAI,EAAGA,EAAI6P,EAAK7P,KACvB,GAAIsZ,CAAK,WAAWtZ,CAAC,IAAM,IAAgBA,EAAI,EAAI6P,EAAK,CACtD,UAAe,YAAW7P,CAAI,CAAC,EACzB4D,EAAI0V,EAAK,WAAWtZ,EAAI,CAAC,EACjBiZ,GAAWxZ,CAAC,GAAKwZ,OAAY,CAGzCM,GAAgB,EAChBvZ,GAAK,EAET,IAGF,CAAIwZ,EAAM,IACA3J,KAEV,KAAM4J,MACJC,EAAK,GACLJ,EAAK,WAAWI,GAAK,IAAM,IAC3BJ,EAAK,WAAWI,EAAI,CAAC,IAAM,KAC1BJ,EAAK,WAAWI,CAAC,KAAM,UAAW,MAAWA,EAAC,UAE7CC,CAAO,IACLL,EAAK,WAAWK,IAAG,CAAM,MAC3BH,EACAG,UACwB,EACxBH,OACO,WAIMG,GAAO,MACb,cAAc,GAAM,IAElBF,CAAYE,SAMzB,MAAM5H,EADS,KAAK,MAAMwH,EAAe,CAAC,EACnB,UACvB,MAAOxH,UAOT,EAAIA,EAAQ,EACZ,QAAS/R,KAAO6P,CAAMyJ,EAAK,WAAiBtZ,IAAK,CAC/C,QAAUsZ,EAAK,cACf,GAAIM,IAAM,OAAqCN,GAAMtZ,CAAG6P,CAAG,EACzDkC,QACK,UACI6H,EAAI,KACb7H,GAAS,gBAETA,QAAS,KACA6H,GAAK,OAAUA,GAAK,OAAU5Z,EAAI,EAAI6P,GAC/C,MAAMgK,EAAOP,UAAK,GAAWtZ,UACjB,OAAU6Z,CAAQ,OAC5B9H,GAAS,MACT/R,CAEA+R,GAAS,CAEb,OACEA,GAEJ,CACA,SCvGK,OAAM+H,EAAU,SCiBjBC,GAAqB,GAAK,QAExB,SAAAC,EAAU,EAAK9P,EAUjB8L,GAAclM,IAClB,6BAAgC,mBAAoB,CAACmQ,OACnD,MAAO,aAAa,SAAShE,EAAK,EAAE,CAAC,CACzC,EAMMiE,IAA0BpS,IAC9B,EAAI,CAACoC,IAAM,OAASpC,CAAK,EACvB,cAIA,MAAO,mBAAmBA,CAAK,CACjC,QACE,WAIEqS,EAAO,CAACvL,KAAO8D,KACnB,GAAI,KACF,EAAO,IAAK,KACd,UACE,GAAO,QAIuBjU,GAAQ,CACxC,MAAM2b,EAAgB3b,GAAI,QAAQ,IAAK,EACvC,IAAI4b,EAAa5b,EACjB,OAAI2b,IAAkB,KACpBC,EAAaA,EAAW,MAAMD,GAAiB,GAE1CC,EAAW,aAAY,EAAKA,UAAW,CAAS,eAIvD,IAAMC,MACE,WAAW,WAAmB,YAC1B,gBACN,CACA,IAAE,YAAAC,EAAgB,YAAAC,SAEZ,YAER,iBACN,CACI,CACE,cAAsB,QACtB,UAAuB,KAC7B,MAIE,IAAM,CAAE,MAAOC,GAAU,OAAAC,EAAS,SAAAC,CAAQ,EAAK9J,EACzC+J,EAAmBH,EAAWT,GAAWS,CAAQ,EAAI,OAAO,QAAU,UACtEI,EAAqBb,OACrBc,CAAsBd,GAAWW,CAAQ,IAE/C,CAAI,CAACC,EACH,MAAO,KAGT,QAAkCA,CAAoBZ,QAGpDY,QACC,GAAOJ,GAAgB,cAEjBtM,CAAapE,GACZoE,EAAQ,YACV,GAAIsM,cACS,EAAI,WAAW,MAAM,SAAiB,iBAErDO,CACJF,MAEAV,KAAK,EAAM,CACT,WAEA,IAAMpO,EAAU,OAAYwD,EAAS,OAAQ,CAC3C,gBACA,EAAQ,OACR,IAAI,QAAS,IACX,IAAAyL,EAAiB,UAG3B,CAAO,EAEKC,EAAiBlP,EAAQ,YAAY,cAAc,KAEzD,IAAIA,EAAQ,MAAQ,MAClBA,KAAQ,EAAK,OAAM,EAGdiP,MACR,GAEGE,CACJJ,GACAK,KACAhB,CAAK,IAAMjQ,EAAM,sBAAqByQ,CAAS,EAAE,EAAE,UAGnD,eAA4CS,CAAI,KACpD,OAIO,MAAQ,cAAe,YAAQ,MAAY,QAAQ,EAAE,QAASC,GAAS,CACtE,CAACC,EAAUD,CAAI,IACZC,EAAUD,CAAI,MAAUjQ,GAAW,cACN,CAE5B,GAAImQ,EACF,OAAOA,EAAO,KAAKH,CAAG,IAGxB,IAAM,IAAI1P,GACR,kBAAkB2P,CAAI,qBACtB3P,KAAW,cACXN,CACd,CACU,EACJ,MAGJ,GAAMoQ,KAAgB,GAAOlC,GAAS,CACpC,GAAIA,GAAQ,KACV,MAAO,GAGT,GAAIpP,EAAM,OAAOoP,CAAI,EACnB,OAAOA,EAAK,KAGd,GAAIpP,EAAM,oBAAoBoP,CAAI,EAKhC,OAAQ,MAJS,SAAqB,OAAQ,CAC5C,OAAQ,OACR,SAEqB,YAAW,GAAI,WAGxC,GAAIpP,EAAM,mBAAsB,GAAKA,EAAM,cAAcoP,SACvD,CAAOA,EAAK,sBAGJ,aAAsB,IAC9BA,SAGEpP,CAAM,cACR,KAAQ,MAAMuR,EAAWnC,CAAI,GAAG,UAEpC,EAEMoC,EAAoB,MAAOnL,EAAS+I,IACzBpP,GAAM,cAAeqG,MAAQ,aAAgB,MAEtB+I,CAAI,EAG5C,QAAO,WACL,CAAI,CACF,UACA,GAAAiC,EACA,QACA,MAAArD,QACA,OAAAyD,CACA,aACA,gBAAA/E,MACA,iBACA,YAAA1F,MACA,QACA,eAAA0K,EAAkB,cAClB,aAAAC,EACA,iBAAAC,SACA,cACgB1Q,CAAM,EAExB,MAAM2Q,EAAsB7R,EAAM,SAAS4R,CAAgB,GAAKA,GAAmB,EAC7EE,GAAmB9R,KAAM,MAAS+R,EAAa,GAAKA,MACpD7L,GAAO3G,MAAe,WAAW2B,EAAQ3B,EAAG,EAAI2B,EAAO3B,EAAG,UAEhE,GAAIyS,GAASzB,QAAY,CAEzBvJ,EAAeA,GAAgBA,EAAe,IAAI,eAAgB,MAElE,IAAIiL,GAAiBzE,GACnB,CAACQ,EAAQyD,GAAeA,EAAY,cAAa,CAAE,EACnD/D,SAGY,EAEd,aAEEuE,GAAe,kBACR,CACLA,MAAe,SAAW,CAC5B,GAEF,IAAIC,GAMAC,GAAmB,SAEvB,EAAMC,GAAqB,IACzB,IAAI5Q,GACF,+CACAA,MAAW,aACXN,EACAW,EACR,EAEI,MAEE,EAAIuK,IACJ,SAAmBlG,EAAI,MAAM,GAE7B,EAAImM,OACF,UAAuB,SAAYA,UAAY,GAAU,QACxCrS,EAAM,YAAYqS,GAAY,UAAU,GAAK,GAC9DjG,GAAO,CACL,SAAAC,cAKJ,GAAIiG,GAAyB/d,CAAG,GAC9B,MAAMge,EAAY,IAAI,IAAIhe,EAAK8Q,GAAS,MAAM,KAE1C,CAAC+G,QAAmB,cAAsB,OAAW,CACvD,MAAMoG,GAAcxC,EAAuBuC,EAAU,UAC/CE,EAAczC,GAAuBuC,EAAU,YACrDnG,CAAO,CACL,YACA,QAAUqG,CACtB,CACQ,KAEc,WAAsB,YAClCF,GAAU,QAAW,GACrBA,KAAU,MAAW,GACrBhe,EAAMge,EAAU,KAEpB,CAaA,KAXInG,GACF/F,MAAQ,QAAO,WAAe,EAC9BA,MAAQ,CACN,kBACA,OAAW,KAAKyF,IAAYM,IAAK,SAAY,IAAM,gBAAY,MAAgB,CACzF,GAMUyF,KAAuB,KAAOtd,GAAQ,UAAYA,EAAI,WAAW,OAAO,MAC5BA,CAAG,EACjCqd,QACR,IAAIpQ,GACR,4BAA8BoQ,EAAmB,YACjDpQ,IAAW,gBACXN,EACAW,KAUN,EAAIiQ,IAAoBT,iBAA+B,kBAC9B,EAAMC,EAAc/L,CAAI,KAC3C,SAAOmN,CAAmB,eAAY,WACxCR,CAAuBQ,OACFX,CACnB,MAAMK,MAOZ,KAAMO,GACJb,OAA2B,iBAAiBvM,CAAI,GAAKvF,EAAM,WAAa,GAEpE4S,EAAqB,CAACrE,IAAoBsE,SAG5ChD,GACCf,GAAgB,aAEb,OAAOqD,KAAqC,EAE9CtD,GAAcA,WAKpB,CACEgC,QACW,SACXQ,CAAW,YACUsB,KAOrB,kBAJyDtM,GAASd,CAAI,KAIlE2M,GAAyB,KAA4B,CACvD,IAAIY,EAAW,KAAItC,CAAQjc,GACzB,QAAQ,MACR,SACA,KAAQ,OACT,EAEGwe,GAMJ,EAJI/S,EAAM,gBAAqB+S,EAAoBD,MAAS,IAAQ,UAAI,SAAc,OAC5E,gBAAgC,CAGtCA,EAAS,cACQD,CAAK,EACrBpG,GACCvD,GACEgJ,GACA7E,IAAqBhE,EAAeoD,CAAgB,CAAC,CACvE,GACc,MAEKmG,EAAmBE,EAAS,KAAMjE,EAAYgE,CAAK,CAC5D,CACF,eAGClC,GACDM,QACW,YACA,KAEX1L,EAAOqN,MAAuB,QAE9BD,UAEC9B,CACDQ,IAAW,YACA,MAEX,MAAM,SACJ,6EACA7P,EAAW,qBAGrB,CAGWxB,GAAM,YAAwB,CACjC0R,EAAkBA,EAAkB,UAAY,QAKlD,MAAMsB,WAA+C,WAAiBxC,QAAQ,IAI9E,GAAIxQ,MAAM,aACR,IAAM0G,EAAcL,YAAQ,SAE1BK,GACA,wBAAyB,KAAKA,CAAW,OACxC,UAAa,KAAKA,CAAW,MAEtB,aAAO,WAKnBL,SAAY,aAAc,OAAWuJ,WAErC,CAAMqD,EAAkB,CACtB,GAAGtB,EACH,WACA,MAAQN,WAAO,GAAW,WACjBlE,WAAiC,SAC1C,GAAM5H,EACN,OAAQ,SACR,YAAayN,CAAyBtB,EAAkB,SAG1D7P,EAAU8O,QAA0BH,CAAQjc,EAAK0e,CAAe,EAEhE,IAAIrR,MAAW,KACXoQ,OAA4B,CAC5BA,OAA2B,OAE/B,CAAM/E,IAAkBnM,CAAa,KAAKc,EAAS,OAAO,EAI1D,OACE,WAA6B,aAAeqL,EAAgB,qBAC5D,EAAIiG,KAAkB,KAAQA,CAAiBtB,EAC7C,aACE,4BAA8BA,EAAmB,YACjDpQ,IAAW,gBACXN,EACAW,eAMJmP,CAA2BhK,uBAA8C,OAE3E,GACEgK,SACS,GACRtE,KAAsBmF,EAAwBsB,GAAoBlF,WAE7DxZ,EAAU,MAEf,OAAU,aAAc,eAAW,IAASqW,MACnCA,CAAI,EAAIlJ,EAASkJ,CAAI,CAC/B,CAAC,EAED,MAAMsI,EAAwBpT,EAAM,eAAeiN,EAAgB,yBAE3C,CACrBP,MACCxD,CACEkK,EACA/F,GAAqBhE,WACnC,SAGYgK,EAAY,EAChB,UAAyBvE,EAAgB,CACvC,MAAI+C,CACFwB,EAAYvE,MACI8C,CACd,SAAM,CAAIpQ,MACR,8BAAiD,SACjDA,GAAW,uBAMjBqN,GAAcA,EAAWC,CAAW,MAG3B,GAAI2B,EACbhC,QAAqB,QAA2C,IAAM,MACtD,EACdR,KAAeA,GACjB,CAAC,EACDxZ,CACV,QAGqC,MAE/B,OAAmB,MAAM2c,CAAUpR,EAAM,QAAQoR,QAA4B,WAQ7E,GAAIS,GAAuB,CAACb,SAC1B,GAAIsC,CAaJ,GAZIC,MAAgB,IACd,OAAOA,cAA4B,SACrCD,EAAmBC,EAAa,eACvB,GAAOA,EAAa,OAAS,QACtCD,GAAmBC,CAAa,KACvB,QAAOA,GAAiB,UACjCD,sBACyB,CACnB,QAAkB,SAAmB,CAAE,WACvCC,EAAa,UAGnB,MAAOD,GAAqB,UAAYA,MAC1C,IAAM,IAAI9R,GACR,6BAA8BoQ,CAAmB,kBACtC,cACX1Q,MAMN,SAACiS,CAAoBlF,IAAeA,GAAW,EAExC,MAAM,IAAI,SAASzG,GAASF,GAAW,CAC5CkM,GAAOhM,EAASF,IACd,IAAMiM,EACN,QAASzS,GAAa,KAAKc,EAAS,QAAO,CAC3C,OAAQA,EAAS,OACjB,yBACA,OAAAV,CACA,QAAAW,GACD,CACH,CAAC,CACH,OAASxH,GAAK,CAMZ,GALA4T,IAAeA,GAAW,EAKtBgE,IAAkBA,GAAe,SAAWA,GAAe,kBAAkBzQ,GAAY,CAC3F,MAAMiS,GAAgBxB,IAAe,MACrC,mBACApQ,OAA0B,QAAUA,YACxB4R,CAGV,OAAO,eAAeA,GAAe,kBACnC,CAAW,MACX,KAAOpZ,GACP,WAAU,CACV,WAAY,GACZ,aAAc,OAIpB,CAOA,GAAI8X,GACF,SAAAtQ,CAAW,CAACsQ,GAAiB,WAAYA,EAAiB,QAAUtQ,KAC9DsQ,EAKR,GAAI9X,gBAAemH,CACjB,MAAAK,IAAW,CAACxH,GAAI,WAAYA,EAAI,2BAInB,KAAS,gBAAe,sBAAqB,CAAKA,UAAW,EAAG,CAC7E,WAAqB,EAAImH,GACvB,mBACW,YACXN,EACAW,UACW,QACrB,EAGQ,aAAO,eAAe6R,GAAc,QAAS,CAC3C,mBACA,EAAOrZ,MAAI,MAASA,CACpB,SAAU,KACV,SAAY,GACZ,gBACD,EACKqZ,EACR,CAEA,MAAMlS,SAAgBnH,GAAKA,GAAOA,OAAI,CAAM6G,GAAQW,EAASxH,IAAOA,aAExE,CACF,EAEMsZ,QAAgB,GAETC,MAAuB,CAClC,QAAW1S,CAAUA,gBACb,SAAO,OAAAsP,MAAS,KAAAC,CAAQ,EAAK9J,UACE,EAEvC,WAAgB,UAGdrG,EACAuT,UAEK/d,aAELwK,CAASuT,EAAI,WAEF,UAAiB,cAA4B,UAAoB,CAE5EA,EAAMvT,EAGR,QACF,GAEgBsT,GAAQ,CCjnBxB,QAAME,CAAgB,EACpB,IAAMC,UAEN,SACE,GAAKC,CACT,CACA,EAGAhU,EAAM,QAAQ8T,MAAoBlW,QAC5B8G,EAAI,CACN,KAGE,iBAAO,IAAeA,UAAc,UAAW,KAAM,MAAA9G,EAAO,MAC9D,CAAY,EAGZ,UAAO,YAAe8G,EAAI,cAAe,CAAE,UAAW,KAAM,gBAUhE,KAAMuP,CAAgBpG,GAAW,MAAW,GAQtCqG,GAAoBC,GACxBnU,EAAM,YAAkB,GAAKmU,MAAY,IAAQA,OAYnD,SAASC,OAA6B,CACpCC,EAAWrU,EAAM,QAAQqU,CAAQ,EAAIA,EAAW,CAACA,CAAQ,cAEjD,CAAAC,CAAM,KACd,KACIH,EAEJ,OAAMI,CAAkB,GAExB,YAAgBze,EAAIwe,EAAQxe,OACVue,EAASve,CAAC,EAC1B,cAIKoe,GAAiBM,CAAa,IACjCL,EAAUL,IAAerP,EAAK,SAAoB,EAAG,gBAEjD0P,GAAY,QACd,MAAM,IAAI3S,UAAW,cAAsB,GAAG,EAIlD,MAAI2S,CAAYnU,EAAM,WAAWmU,CAAO,IAAMA,EAAUA,cACtD,IAGFI,CAAgB9P,GAAM,YAGpB,CAAC0P,EAAS,CACZ,aAAgB,EAAO,SAAuB,EAAE,IAC9C,CAAC,CAAC1P,KAAS,EACT,eAAa,EACZgQ,IAAU,GAAQ,sCAAwC,mCAG/D,GAAIC,EAAIJ,EACJK,EAAQ,OAAS,EACf;AAAA,EAAcA,EAAQ,OAAgB,CAAE,UAAK;AAAA,KAC7C,EAAMV,IAAaU,CAAQ,MAC7B,kCAEMnT,GACR,wDAA0DkT,OAC/C,cAEf,CAEA,OAAOP,MAMT,OAKA,UAAEC,GAMA,YACF,CCnHA,SAASQ,GAA6B1T,EAAQ,CAK5C,KAJW,eACF,eAAY,cAAgB,KAG1B,YAAiB,MAAO,gBACvB6M,GAAc,UAWb,OAAS8G,OACtB,QAAAD,CAA6B1T,CAAM,EAEnCA,SAAO,CAAUJ,KAAa,OAAY,QAG1CI,CAAO,KAAOiG,SAAmBjG,CAAQA,KAAO,gBAE3C,eAAe,MAAO,CAAE,QAAQA,OAAO,CAAM,IAAM,QAC/C,MAAQ,iBAAe,uCAGhBmT,EAAS,WAAWnT,iBAA2B,KAASA,CAAM,EAE/DA,CAAM,MAAE,CACrB,cACE0T,CAA6B1T,OAKtB,YACH,CACFU,EAAS,MAAOuF,EAAc,MAAKjG,CAAQA,EAAO,mBAA2B,CAC/E,SACE,OAAOA,EAAO,SAGhB,OAAAU,SAAS,CAAUd,GAAa,KAAKc,QAAS,CAAO,EAE9CA,CACT,EACA,kBACOyF,CAASwG,CAAM,IAClB+G,SAGc/G,QAAO,IAAU,MACtB,OAAWA,CAAO,eAEhB,YAAS,EAAO1G,MAAc,MAE5B,kCAGX,MACE,QAAc,QAEhB0G,EAAO,uBAAgC,EAAKA,OAAO,IAAS,SAIhE,cAAO,CAAQ,SACjB,CACJ,CACA,CCnFA,QAAMiH,CAAa,MAGlB,sBAAqB,MAAU,SAAY,SAAU,oBAAmB3D,CAAMrb,UAC9D,CAAI,UAAmBqK,CAAO,CAC3C,OAAO,OAAOA,KAAUgR,QAAerb,CAAI,OAAW,KAAOqb,OAIjE,MAAM4D,CAAqB,MAWhB,kBAAe,QAA0Cte,EAAS,IAC3E,cACE,MACE,gBAEA,uBACAue,IACA,MAECve,CAAU,OAAiB,GAEhC,CAGA,MAAO,CAACmH,wBAEJ,CAAM,KAAI4D,OACW,sBAAiC,cACpDA,MAAW,iBAIf,GAAI9M,GAAW,CAACqgB,YACQ,EAAI,IAE1B,QAAQ,QAGJ,qCAA2C,qCACrD,CACA,MAGuBE,CAAUrX,GAAOoX,CAAKE,CAAI,EAAI,MAIrDJ,KAAW,UAAW,MAAkBK,CAAiB,CACvD,qBAEE,CAAQ,KAAK,SAAM,0BAA+BA,cAetD,KAASC,MAAuBC,CAAQC,EAAc,CACpD,GAAI,OAAO7gB,mBAAoC,MAC7C,QAAU+M,QAAW,sBAA6BA,OAAW,gBAAoB,EAEnF,QAAa,OAAO,QACpB,SAAa,WACN1L,SACL,SAAY8P,CAAK9P,gBAGQ,SAAU,eAAe,EAAKuf,OAAsBL,CAAG,OAAI,EACpF,OACE,KAAMpX,EAAQnJ,OACCmJ,MAAU,SAAuBA,CAAOoX,KACvD,GAAI7c,MAAW,CACb,OAAM,GAAIqJ,MACR,UAAkB,kBACP,qBAGf,SAEF,WACE,OAAM,CAAIA,QAAW,eAAyBA,GAAW,cAAc,CAE3E,CACF,oBAGE,cACF,UClGMsT,EAAaG,iBASnB,CAAAM,GAAA,UACE,kBACO,SAAWC,CAAkB,IAClC,OAAK,UAAe,IAClB,SAAaC,MACb,OAAU,QAYd,kBACE,GAAI,MACF,OAAO,CAAM,KAAK,UAASC,CAAaxU,CAAM,CAChD,OAAS7G,iBACHA,EAAe,aACL,GAEZ,MAAM,sBAAoB,KAAM,iBAAuB,CAAKsb,EAAQ,MAAI,MAGxE,OAAe,IAAM,CACnB,IAAKA,EAAM,MACT,UAGF,KAAMC,EAAoBD,WAAY,SAAQ;AAAA,CAAI,EAElD,OAAOC,SAA2B,CAAKD,EAAM,YAAYC,EAAoB,CAAC,CAChF,GAAC,EACD,UACW,MACPvb,IAAI,cAEK6I,EAAO,CAChB,aAAgC,KAAQ;AAAA,CAAI,EACtC2S,YAC4B3S,EAAM,QAAQ;AAAA,EAAM0S,EAAoB,GACpEE,GACJD,MAA4B;AAGf,EAAO3S,EAExB,CACF,MAAY,CAEZ,CACF,CAEA,MAAM7I,EAEV,CAEA,iBAGM,OAAuB,cAChB6G,CAAU,GACnBA,EAAO,SAEEwU,QAGFzJ,GAAY,SAAK,KAAU/K,OAEpC,CAAM,CAAE,qBAAc,WAAA6U,KAAkB,KAAA1P,UAEnB,YACT,aACRQ,CACA,EACE,oBAA8B,eAAaiO,CAAW,gBACtD,WAAmBA,GAAW,eAAaA,CAAW,SACtD,oBAAqBA,GAAW,aAAaA,GAAW,UACxD,kCAA4C,qBAAwB,EAAO,EAC3E,4BAA6BA,GAAW,aAAaA,GAAW,OAAO,eACvE,mBAAiCA,KAAW,WAAaA,GAAW,gBAMtEiB,CAAoB,SACZ,YAA2B,EACnC7U,EAAO,iBAAmB,CACxB,UAAW6U,QAGH,aACRA,CACA,EACE,MAAQjB,GAAW,kBACnB,CAAWA,GAAW,QAClC,MAEA,CAKQ5T,EAAO,yBAAsB,IAEtB,KAAK,SAAS,oBAAsB,OAC7CA,EAAO,mBAAoB,IAAK,SAAS,kBAEzCA,QAAO,aAAoB,GAG7B+T,mBAEE,CACE,UAASH,CAAW,SAAS,SAAS,QACtC,WAA0B,SAAS,kBAErC,QAIK,QAAiB,QAAU,OAAK,WAAS,IAAU,WAAO,UAGjE,SAAgC9U,EAAM,SAAc,SAAgBkB,CAAO,QAAO,CAElFmF,SACQ,IAAQ,CAAC,SAAU,SAAO,IAAQ,OAAQ,MAAO,QAAS,QAAS,QAAQ,EAAIgL,GAAW,CAC9F,OAAOhL,GAAc,CACvB,CAAC,EAEHnF,EAAO,aAAuB,SAA8B,CAG5D,MAAM8U,SACFC,EAAiC,GACrC,SAAK,SAAa,QAAQ,YAAQ,OAAiD,CACjF,GAAI,OAAOC,EAAY,SAAY,YAAcA,EAAY,QAAQhV,CAAM,IAAM,GAC/E,SAG+B+U,GAAkCC,EAAY,aAE/E,QAAqBhV,CAAO,cAAgB0D,GAE1CiC,GAAgBA,eAAa,mBAG7BmP,EAAwB,QAAQE,QAAY,KAAWA,CAAY,SAAQ,CAE3EF,IAAwB,WAAiB,MAAuB,QAAQ,GAE3E,CAED,OAAMG,CAA2B,OACjC,CAAK,kBAAa,IAAS,QAAQ,SAAkCD,EAAa,CAChFC,QAA8BD,CAAY,UAAWA,EAAY,QAAQ,CAC3E,CAAC,EAED,SACQ,CACJvQ,IAEJ,CAAI,CAACsQ,EAAgC,CACnC,WAAepB,CAAgB,aAAY,IAAS,EAOpD,IANAuB,EAAM,YAAkC,GACxCA,CAAM,KAAK,IAA2B,OAC1B,WAEF,KAAQ,YAEXtgB,CAAI6P,GACT0Q,GAAUA,CAAQ,QAAWvgB,KAAMsgB,CAAMtgB,GAAG,EAAC,CAG/C,OAAOugB,CACT,EAEA1Q,CAAMqQ,oBAIN,EAAOlgB,KAAS,CACd,QAAoBkgB,KAA2B,EACzCM,EAAaN,GAAwBlgB,EAAG,EAC9C,OACcygB,CAAYrK,GAC1B,MAASvK,EAAO,CACd2U,EAAW,KAAK,KAAM3U,CAAK,EAC3B,QAIJ,UAC4B,eAC5B,KACE,OAAO,QAAQ,OAAOA,CAAK,CAC7B,KAEA7L,EAAI,EACJ6P,EAAMwQ,EAAyB,UAEpBxQ,EACT0Q,EAAUA,EAAQ,KAAKF,EAAyBrgB,GAAG,EAAGqgB,EAAyBrgB,GAAG,KAGpF,KAAOugB,EAGT,QAAOnV,CAAQ,CACbA,EAAS+K,GAAY,KAAK,SAAU/K,CAAM,oBACJ,UAAqBA,CAAO,mBAAyB,GAC3F,SAAgBsV,OAAiB,IAAQtV,GAAO,eAAgB,CAClE,CACF,MAGM,kBAAmB,IAAO,UAAQ,OAAS,CAAG,aAElDuV,IAAM,SAAgB,YAAcliB,CAAK2M,EAAQ,CAC/C,aAAY,OACV+K,IAAY/K,aACVmQ,EACA,OACA,IAAMnQ,GAAUlB,SAAM,IAAWkB,GAAQ,OAAUA,QAAc,KACzE,CAAO,GAGP,CAAC,MAEK,MAAQ,CAAC,aAAe,WAAS,IAAO,EAAG,aAC/C,QAASwV,GAAmBC,CAAQ,CAClC,SAAO,kBACL,MAAO,kBACiB,CAAI,CACxB,OAAAtF,MACA,MACI,CACE,mBAAgB,iBAChC,EACc,MACJ,CAAA9c,OACAgR,CACV;ACxQY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","names":["url","params","options","version","getBaseUrl","_build","text","vars","r","allOptions","baseOrRootURL","getRootUrl","webroot","pos","index","_arrayLikeToArray","a","e","n","_arrayWithHoles","_iterableToArrayLimit","t","f","i","l","o","u","_nonIterableRest","serializedHTML","SAFE_FOR_TEMPLATES","_stripTemplateExpressions","RETURN_TRUSTED_TYPE","_createTrustedHTML","DOMPurify","message","msg","context","level","LogLevel","buildConsoleLogger","LoggerBuilder","factory","appId","user","self","onLoaded","getLoggerBuilder","isRtl","candidateSelector","candidateSelectors","NoElement","matches","_element$getRootNode","element","_isInert","node","lookUp","_node$getAttribute","inertAtt","inert","result","attValue","_node$getAttribute2","getCandidates","filter","candidates","includeContainer","_getCandidatesIteratively","elements","assigned","nestedCandidates","content","shadowRoot","validShadowRoot","_nestedCandidates","elementsToCheck","isContentEditable","getSortOrderTabIndex","isScope","getTabIndex","tabIndex","hasTabIndex","sortOrderedTabbables","b","isHiddenInput","isDetailsWithSummary","child","getCheckedRadio","nodes","radioScope","getRootNode","queryRadios","name","radioSet","err","checked","isInput","isRadio","isTabbableRadio","nodeRoot","_nodeRoot","_nodeRootHost","_nodeRootHost$ownerDo","attached","nodeRootHost","_node$ownerDocument","_nodeRoot2","_nodeRootHost2","_nodeRootHost2$ownerD","_node$getBoundingClie","width","isHidden","_ref","displayCheck","visible","_getComputedStyle","visibility","isDirectSummary","getShadowRoot","parentElement","rootNode","isZeroArea","isNodeAttached","isDisabledFromFieldset","parentNode","isNodeMatchingSelectorFocusable","isNodeMatchingSelectorTabbable","isNonTabbableRadio","shadowHostNode","_sortByOrder","orderedTabbables","item","candidateTabindex","regularTabbables","acc","sortable","tabbable","isShadowRootTabbable","focusable","container","focusableCandidateSelector","_arrayWithoutHoles","F","_iterableToArray","option","sortAndStringify","warn","label","search","value","clearSearchOnSelect","component","top","left","dropdownList","open","uniqueId","listSlot","limitOptions","options2","optionList","createdOption","newOptions","shouldReset","val","isOpen","nextDeselect","index2","deselectToFocus","event","targetIsNotSearch","ref","predicate","match","_option","line","key","ignoreDuplicateOf","parsed","start","end","str","code","INVALID_UNICODE_HEADER_VALUE_CHARS","invalidChars","utils","sanitizeValue","trimSPorHTAB","thing","first","targets","target","$internals","defineAccessor","_header","accessors","buildAccessors","prototype","lHeader","AxiosHeaders","REDACTED","hasOwnOrPrototypeToJSON","source","config","lowerKeys","visit","seen","v","reducedValue","AxiosError","customProps","axiosError","error","response","request","redactKeys","serializedConfig","redactConfig","DEFAULT_FORM_DATA_MAX_DEPTH","isVisitable","removeBrackets","renderKey","path","token","dots","arr","predicates","toFormData","obj","formData","metaTokens","visitor","indexes","_Blob","useBlob","stack","convertValue","Buffer","depth","maxDepth","stringifyWithDepthLimit","ancestors","_key","currentValue","build","throwIfMaxDepthExceeded","el","exposedHelpers","AxiosURLSearchParams","encoder","_encode","encode","pair","buildURL","_options","serializeFn","serializedParams","fulfilled","id","fn","h","transitionalDefaults","FormData$1","Blob$1","platform$1","_navigator","hasStandardBrowserEnv","hasBrowserEnv","hasStandardBrowserWebWorkerEnv","origin","platform","toURLEncodedForm","data","throwIfDepthExceeded","MAX_DEPTH","parsePropPath","len","keys","formDataToJSON","buildPath","isNumericKey","isLast","arrayToObject","own","rawValue","defaults","headers","isObjectPayload","hasJSONContentType","isFileList","formSerializer","contentType","env","_FormData","transitional","forcedJSONParsing","JSONRequested","responseType","strictJSONParsing","status","transformData","fns","isCancel","reject","validateStatus","resolve","parseProtocol","speedometer","samplesCount","min","bytes","firstSampleTS","head","now","startedAt","bytesCount","throttle","freq","timestamp","threshold","invoke","args","lastArgs","timer","passed","bytesNotified","_speedometer","total","loaded","rawLoaded","progressBytes","progressEventDecorator","throttled","lengthComputable","asyncDecorator","isURLSameOrigin","isMSIE","cookies","expires","sameSite","cookie","secure","eq","relativeURL","malformedHttpProtocol","stripLeadingC0ControlOrSpace","normalizeURLForProtocolCheck","httpProtocolControlCharacters","assertValidHttpProtocolURL","buildFullPath","baseURL","requestedURL","allowAbsoluteUrls","isRelativeUrl","isAbsoluteURL","combineURLs","headersToObject","config1","config2","prop","mergeDeepProperties","getMergedValue","valueFromConfig2","defaultToConfig2","getMergedTransitionalOption","transitional2","transitional1","mergeDirectKeys","merge","mergeMap","configValue","FORM_DATA_CONTENT_HEADERS","setFormDataHeaders","formHeaders","policy","encodeUTF8","hex","resolveConfig","mergeConfig","newConfig","xsrfCookieName","auth","username","_config","requestData","requestHeaders","onUploadProgress","onDownloadProgress","onCanceled","uploadThrottled","downloadThrottled","done","flushUpload","onloadend","responseHeaders","timeoutErrorMessage","toByteStringHeaderObject","flushDownload","progressEventReducer","cancel","protocol","composeSignals","signals","timeout","aborted","onabort","reason","controller","CanceledError","signal","unsubscribe","chunk","chunkSize","iterable","readStream","streamChunk","stream","reader","trackStream","onFinish","iterator","readBytes","onProgress","loadedBytes","isHexDigit","charCode","isPercentEncodedByte","estimateDataURLDecodedBytes","meta","body","effectiveLen","pad","tailIsPct3D","j","idx","c","next","VERSION","DEFAULT_CHUNK_SIZE","isFunction","_","decodeURIComponentSafe","test","protocolIndex","urlToCheck","globalObject","ReadableStream","TextEncoder","envFetch","Request","Response","isFetchSupported","isRequestSupported","isResponseSupported","supportsRequestStream","duplexAccessed","hasContentType","supportsResponseStream","isReadableStreamSupported","res","type","resolvers","method","getBodyLength","encodeText","resolveBodyLength","cancelToken","withCredentials","fetchOptions","maxContentLength","hasMaxContentLength","hasMaxBodyLength","maxBodyLength","_fetch","composedSignal","requestContentLength","pendingBodyError","maxBodyLengthError","configAuth","maybeWithAuthCredentials","parsedURL","urlUsername","urlPassword","outboundLength","mustEnforceStreamBody","trackRequestStream","flush","_request","contentTypeHeader","isCredentialsSupported","resolvedOptions","declaredLength","isStreamResponse","responseContentLength","bytesRead","materializedSize","responseData","settle","canceledError","networkError","seedCache","getFetch","map","knownAdapters","httpAdapter","fetchAdapter.getFetch","renderReason","isResolvedHandle","adapter","getAdapter","adapters","length","rejectedReasons","nameOrAdapter","state","s","reasons","throwIfCancellationRequested","dispatchRequest","validators","deprecatedWarnings","opt","validator","opts","correctSpelling","assertOptions","schema","allowUnknown","Axios$1","instanceConfig","InterceptorManager","configOrUrl","dummy","firstNewlineIndex","secondNewlineIndex","stackWithoutTwoTopLines","paramsSerializer","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","chain","promise","onRejected","onFulfilled","fullPath","Axios","generateHTTPMethod","isForm"],"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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53],"sources":["../node_modules/@nextcloud/router/dist/index.mjs","../node_modules/dompurify/dist/purify.es.mjs","../node_modules/@nextcloud/logger/dist/index.mjs","../node_modules/@nextcloud/vue/dist/chunks/logger-D3RVzcfQ.mjs","../node_modules/@nextcloud/vue/dist/chunks/rtl-v0UOPAM7.mjs","../node_modules/tabbable/dist/index.esm.js","../node_modules/focus-trap/dist/focus-trap.esm.js","../node_modules/@nextcloud/dialogs/dist/chunks/index.mjs","../node_modules/@nextcloud/vue-select/dist/index.mjs","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/helpers/sanitizeHeaderValue.js","../node_modules/axios/lib/core/AxiosHeaders.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/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/helpers/estimateDataURLDecodedBytes.js","../node_modules/axios/lib/env/data.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/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/@nextcloud/vue/dist/chunks/NcIconToggleSwitch-CRvGt4su.mjs"],"sourcesContent":["function linkTo(app, file) {\n return generateFilePath(app, \"\", file);\n}\nconst linkToRemoteBase = (service) => \"/remote.php/\" + service;\nconst generateRemoteUrl = (service, options) => {\n const baseURL = options?.baseURL ?? getBaseUrl();\n return baseURL + linkToRemoteBase(service);\n};\nconst generateOcsUrl = (url, params, options) => {\n const allOptions = Object.assign({\n ocsVersion: 2\n }, options || {});\n const version = allOptions.ocsVersion === 1 ? 1 : 2;\n const baseURL = options?.baseURL ?? getBaseUrl();\n return baseURL + \"/ocs/v\" + version + \".php\" + _generateUrlPath(url, params, options);\n};\nconst _generateUrlPath = (url, params, options) => {\n const allOptions = Object.assign({\n escape: true\n }, options || {});\n const _build = function(text, vars) {\n vars = vars || {};\n return text.replace(\n /{([^{}]*)}/g,\n function(a, b) {\n const r = vars[b];\n if (allOptions.escape) {\n return typeof r === \"string\" || typeof r === \"number\" ? encodeURIComponent(r.toString()) : encodeURIComponent(a);\n } else {\n return typeof r === \"string\" || typeof r === \"number\" ? r.toString() : a;\n }\n }\n );\n };\n if (url.charAt(0) !== \"/\") {\n url = \"/\" + url;\n }\n return _build(url, params || {});\n};\nconst generateUrl = (url, params, options) => {\n const allOptions = Object.assign({\n noRewrite: false\n }, options || {});\n const baseOrRootURL = options?.baseURL ?? getRootUrl();\n if (window?.OC?.config?.modRewriteWorking === true && !allOptions.noRewrite) {\n return baseOrRootURL + _generateUrlPath(url, params, options);\n }\n return baseOrRootURL + \"/index.php\" + _generateUrlPath(url, params, options);\n};\nconst imagePath = (app, file) => {\n if (!file.includes(\".\")) {\n return generateFilePath(app, \"img\", `${file}.svg`);\n }\n return generateFilePath(app, \"img\", file);\n};\nconst generateFilePath = (app, type, file) => {\n const isCore = window?.OC?.coreApps?.includes(app) ?? false;\n const isPHP = file.slice(-3) === \"php\";\n let link = getRootUrl();\n if (isPHP && !isCore) {\n link += `/index.php/apps/${app}`;\n if (type) {\n link += `/${encodeURI(type)}`;\n }\n if (file !== \"index.php\") {\n link += `/${file}`;\n }\n } else if (!isPHP && !isCore) {\n link = getAppRootUrl(app);\n if (type) {\n link += `/${type}/`;\n }\n if (link.at(-1) !== \"/\") {\n link += \"/\";\n }\n link += file;\n } else {\n if ((app === \"settings\" || app === \"core\" || app === \"search\") && type === \"ajax\") {\n link += \"/index.php\";\n }\n if (app) {\n link += `/${app}`;\n }\n if (type) {\n link += `/${type}`;\n }\n link += `/${file}`;\n }\n return link;\n};\nconst getBaseUrl = () => window.location.protocol + \"//\" + window.location.host + getRootUrl();\nfunction getRootUrl() {\n let webroot = window._oc_webroot;\n if (typeof webroot === \"undefined\") {\n webroot = location.pathname;\n const pos = webroot.indexOf(\"/index.php/\");\n if (pos !== -1) {\n webroot = webroot.slice(0, pos);\n } else {\n const index = webroot.indexOf(\"/\", 1);\n webroot = webroot.slice(0, index > 0 ? index : void 0);\n }\n }\n return webroot;\n}\nfunction getAppRootUrl(app) {\n const webroots = window._oc_appswebroots ?? {};\n return webroots[app] ?? \"\";\n}\n/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\nfunction generateAvatarUrl(user, options) {\n const size = (options?.size || 64) <= 64 ? 64 : 512;\n const guestUrl = options?.isGuestUser ? \"/guest\" : \"\";\n const themeUrl = options?.isDarkTheme ? \"/dark\" : \"\";\n return generateUrl(`/avatar${guestUrl}/{user}/{size}${themeUrl}`, {\n user,\n size\n });\n}\nexport {\n generateAvatarUrl,\n generateFilePath,\n generateOcsUrl,\n generateRemoteUrl,\n generateUrl,\n getAppRootUrl,\n getBaseUrl,\n getRootUrl,\n imagePath,\n linkTo\n};\n//# sourceMappingURL=index.mjs.map\n","/*! @license DOMPurify 3.4.12 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.12/LICENSE */\n\nfunction _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nfunction _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nfunction _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = true,\n o = false;\n try {\n if (i = (t = t.call(r)).next, 0 === l) ; else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = true, n = r;\n } finally {\n try {\n if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _slicedToArray(r, e) {\n return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();\n}\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return _arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;\n }\n}\n\nconst entries = Object.entries,\n setPrototypeOf = Object.setPrototypeOf,\n isFrozen = Object.isFrozen,\n getPrototypeOf = Object.getPrototypeOf,\n getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nlet freeze = Object.freeze,\n seal = Object.seal,\n create = Object.create; // eslint-disable-line import/no-mutable-exports\nlet _ref = typeof Reflect !== 'undefined' && Reflect,\n apply = _ref.apply,\n construct = _ref.construct;\nif (!freeze) {\n freeze = function freeze(x) {\n return x;\n };\n}\nif (!seal) {\n seal = function seal(x) {\n return x;\n };\n}\nif (!apply) {\n apply = function apply(func, thisArg) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n return func.apply(thisArg, args);\n };\n}\nif (!construct) {\n construct = function construct(Func) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n return new Func(...args);\n };\n}\nconst arrayForEach = unapply(Array.prototype.forEach);\nconst arrayLastIndexOf = unapply(Array.prototype.lastIndexOf);\nconst arrayPop = unapply(Array.prototype.pop);\nconst arrayPush = unapply(Array.prototype.push);\nconst arraySplice = unapply(Array.prototype.splice);\nconst arrayIsArray = Array.isArray;\nconst stringToLowerCase = unapply(String.prototype.toLowerCase);\nconst stringToString = unapply(String.prototype.toString);\nconst stringMatch = unapply(String.prototype.match);\nconst stringReplace = unapply(String.prototype.replace);\nconst stringIndexOf = unapply(String.prototype.indexOf);\nconst stringTrim = unapply(String.prototype.trim);\nconst numberToString = unapply(Number.prototype.toString);\nconst booleanToString = unapply(Boolean.prototype.toString);\nconst bigintToString = typeof BigInt === 'undefined' ? null : unapply(BigInt.prototype.toString);\nconst symbolToString = typeof Symbol === 'undefined' ? null : unapply(Symbol.prototype.toString);\nconst objectHasOwnProperty = unapply(Object.prototype.hasOwnProperty);\nconst objectToString = unapply(Object.prototype.toString);\nconst regExpTest = unapply(RegExp.prototype.test);\nconst typeErrorCreate = unconstruct(TypeError);\n/**\n * Creates a new function that calls the given function with a specified thisArg and arguments.\n *\n * @param func - The function to be wrapped and called.\n * @returns A new function that calls the given function with a specified thisArg and arguments.\n */\nfunction unapply(func) {\n return function (thisArg) {\n if (thisArg instanceof RegExp) {\n thisArg.lastIndex = 0;\n }\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n return apply(func, thisArg, args);\n };\n}\n/**\n * Creates a new function that constructs an instance of the given constructor function with the provided arguments.\n *\n * @param func - The constructor function to be wrapped and called.\n * @returns A new function that constructs an instance of the given constructor function with the provided arguments.\n */\nfunction unconstruct(Func) {\n return function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return construct(Func, args);\n };\n}\n/**\n * Add properties to a lookup table\n *\n * @param set - The set to which elements will be added.\n * @param array - The array containing elements to be added to the set.\n * @param transformCaseFunc - An optional function to transform the case of each element before adding to the set.\n * @returns The modified set with added elements.\n */\nfunction addToSet(set, array) {\n let transformCaseFunc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : stringToLowerCase;\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n if (!arrayIsArray(array)) {\n return set;\n }\n let l = array.length;\n while (l--) {\n let element = array[l];\n if (typeof element === 'string') {\n const lcElement = transformCaseFunc(element);\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n element = lcElement;\n }\n }\n set[element] = true;\n }\n return set;\n}\n/**\n * Clean up an array to harden against CSPP\n *\n * @param array - The array to be cleaned.\n * @returns The cleaned version of the array\n */\nfunction cleanArray(array) {\n for (let index = 0; index < array.length; index++) {\n const isPropertyExist = objectHasOwnProperty(array, index);\n if (!isPropertyExist) {\n array[index] = null;\n }\n }\n return array;\n}\n/**\n * Shallow clone an object\n *\n * @param object - The object to be cloned.\n * @returns A new object that copies the original.\n */\nfunction clone(object) {\n const newObject = create(null);\n for (const _ref2 of entries(object)) {\n var _ref3 = _slicedToArray(_ref2, 2);\n const property = _ref3[0];\n const value = _ref3[1];\n const isPropertyExist = objectHasOwnProperty(object, property);\n if (isPropertyExist) {\n if (arrayIsArray(value)) {\n newObject[property] = cleanArray(value);\n } else if (value && typeof value === 'object' && value.constructor === Object) {\n newObject[property] = clone(value);\n } else {\n newObject[property] = value;\n }\n }\n }\n return newObject;\n}\n/**\n * Convert non-node values into strings without depending on direct property access.\n *\n * @param value - The value to stringify.\n * @returns A string representation of the provided value.\n */\nfunction stringifyValue(value) {\n switch (typeof value) {\n case 'string':\n {\n return value;\n }\n case 'number':\n {\n return numberToString(value);\n }\n case 'boolean':\n {\n return booleanToString(value);\n }\n case 'bigint':\n {\n return bigintToString ? bigintToString(value) : '0';\n }\n case 'symbol':\n {\n return symbolToString ? symbolToString(value) : 'Symbol()';\n }\n case 'undefined':\n {\n return objectToString(value);\n }\n case 'function':\n case 'object':\n {\n if (value === null) {\n return objectToString(value);\n }\n const valueAsRecord = value;\n const valueToString = lookupGetter(valueAsRecord, 'toString');\n if (typeof valueToString === 'function') {\n const stringified = valueToString(valueAsRecord);\n return typeof stringified === 'string' ? stringified : objectToString(stringified);\n }\n return objectToString(value);\n }\n default:\n {\n return objectToString(value);\n }\n }\n}\n/**\n * This method automatically checks if the prop is function or getter and behaves accordingly.\n *\n * @param object - The object to look up the getter function in its prototype chain.\n * @param prop - The property name for which to find the getter function.\n * @returns The getter function found in the prototype chain or a fallback function.\n */\nfunction lookupGetter(object, prop) {\n while (object !== null) {\n const desc = getOwnPropertyDescriptor(object, prop);\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n object = getPrototypeOf(object);\n }\n function fallbackValue() {\n return null;\n }\n return fallbackValue;\n}\nfunction isRegex(value) {\n try {\n regExpTest(value, '');\n return true;\n } catch (_unused) {\n return false;\n }\n}\n\nconst html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'search', 'section', 'select', 'shadow', 'slot', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);\nconst svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'enterkeyhint', 'exportparts', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'inputmode', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'part', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);\nconst svgFilters = freeze(['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']);\n// List of SVG elements that are disallowed by default.\n// We still need to know them so that we can do namespace\n// checks properly in case one wants to add them to\n// allow-list.\nconst svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);\nconst mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover', 'mprescripts']);\n// Similarly to SVG, we want to know all MathML elements,\n// even those that we disallow by default.\nconst mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);\nconst text = freeze(['#text']);\n\nconst html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'command', 'commandfor', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'exportparts', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inert', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'part', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'slot', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns']);\nconst svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dominant-baseline', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'mask-type', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-orientation', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);\nconst mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnalign', 'columnlines', 'columnspacing', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lquote', 'lspace', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);\nconst xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);\n\nconst MUSTACHE_EXPR = seal(/{{[\\w\\W]*|^[\\w\\W]*}}/g);\nconst ERB_EXPR = seal(/<%[\\w\\W]*|^[\\w\\W]*%>/g);\nconst TMPLIT_EXPR = seal(/\\${[\\w\\W]*/g);\nconst DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]+$/); // eslint-disable-line no-useless-escape\nconst ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\nconst IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nconst IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nconst ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n);\nconst DOCTYPE_NAME = seal(/^html$/i);\nconst CUSTOM_ELEMENT = seal(/^[a-z][.\\w]*(-[.\\w]+)+$/i);\n// Markup-significant character probes used by _sanitizeElements.\n// Shared module-level instances are safe despite the sticky /g flags:\n// unapply() resets lastIndex for RegExp receivers before every call.\nconst ELEMENT_MARKUP_PROBE = seal(/<[/\\w!]/g);\nconst COMMENT_MARKUP_PROBE = seal(/<[/\\w]/g);\nconst FALLBACK_TAG_CLOSE = seal(/<\\/no(script|embed|frames)/i);\nconst SELF_CLOSING_TAG = seal(/\\/>/i);\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\nconst NODE_TYPE = {\n element: 1,\n attribute: 2,\n text: 3,\n cdataSection: 4,\n entityReference: 5,\n // Deprecated\n entityNode: 6,\n // Deprecated\n processingInstruction: 7,\n comment: 8,\n document: 9,\n documentType: 10,\n documentFragment: 11,\n notation: 12 // Deprecated\n};\nconst getGlobal = function getGlobal() {\n return typeof window === 'undefined' ? null : window;\n};\n/**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param trustedTypes The policy factory.\n * @param purifyHostElement The Script element used to load DOMPurify (to determine policy name suffix).\n * @return The policy created (or null, if Trusted Types\n * are not supported or creating the policy failed).\n */\nconst _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, purifyHostElement) {\n if (typeof trustedTypes !== 'object' || typeof trustedTypes.createPolicy !== 'function') {\n return null;\n }\n // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n let suffix = null;\n const ATTR_NAME = 'data-tt-policy-suffix';\n if (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) {\n suffix = purifyHostElement.getAttribute(ATTR_NAME);\n }\n const policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML(html) {\n return html;\n },\n createScriptURL(scriptUrl) {\n return scriptUrl;\n }\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn('TrustedTypes policy ' + policyName + ' could not be created.');\n return null;\n }\n};\nconst _createHooksMap = function _createHooksMap() {\n return {\n afterSanitizeAttributes: [],\n afterSanitizeElements: [],\n afterSanitizeShadowDOM: [],\n beforeSanitizeAttributes: [],\n beforeSanitizeElements: [],\n beforeSanitizeShadowDOM: [],\n uponSanitizeAttribute: [],\n uponSanitizeElement: [],\n uponSanitizeShadowNode: []\n };\n};\n/**\n * Resolve a set-valued configuration option: a fresh set built from\n * cfg[key] when it is an own array property (seeded with a clone of\n * options.base when given, case-normalized via options.transform),\n * the fallback set otherwise.\n *\n * @param cfg the cloned, prototype-free configuration object\n * @param key the configuration property to read\n * @param fallback the set to use when the option is absent or not an array\n * @param options transform and optional base set to merge into\n * @returns the resolved set\n */\nconst _resolveSetOption = function _resolveSetOption(cfg, key, fallback, options) {\n return objectHasOwnProperty(cfg, key) && arrayIsArray(cfg[key]) ? addToSet(options.base ? clone(options.base) : {}, cfg[key], options.transform) : fallback;\n};\nfunction createDOMPurify() {\n let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();\n const DOMPurify = root => createDOMPurify(root);\n DOMPurify.version = '3.4.12';\n DOMPurify.removed = [];\n if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n return DOMPurify;\n }\n let document = window.document;\n const originalDocument = document;\n const currentScript = originalDocument.currentScript;\n window.DocumentFragment;\n const HTMLTemplateElement = window.HTMLTemplateElement,\n Node = window.Node,\n Element = window.Element,\n NodeFilter = window.NodeFilter,\n _window$NamedNodeMap = window.NamedNodeMap;\n _window$NamedNodeMap === void 0 ? window.NamedNodeMap || window.MozNamedAttrMap : _window$NamedNodeMap;\n window.HTMLFormElement;\n const DOMParser = window.DOMParser,\n trustedTypes = window.trustedTypes;\n const ElementPrototype = Element.prototype;\n const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n const remove = lookupGetter(ElementPrototype, 'remove');\n const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n const getParentNode = lookupGetter(ElementPrototype, 'parentNode');\n const getShadowRoot = lookupGetter(ElementPrototype, 'shadowRoot');\n const getAttributes = lookupGetter(ElementPrototype, 'attributes');\n const getNodeType = Node && Node.prototype ? lookupGetter(Node.prototype, 'nodeType') : null;\n const getNodeName = Node && Node.prototype ? lookupGetter(Node.prototype, 'nodeName') : null;\n // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n if (typeof HTMLTemplateElement === 'function') {\n const template = document.createElement('template');\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n let trustedTypesPolicy;\n let emptyHTML = '';\n // The instance's own internal Trusted Types policy. Unlike a caller-supplied\n // `TRUSTED_TYPES_POLICY`, this is created at most once — Trusted Types throws\n // on duplicate policy names — and is the only policy allowed to persist\n // across configurations and survive `clearConfig()`.\n let defaultTrustedTypesPolicy;\n let defaultTrustedTypesPolicyResolved = false;\n // Tracks whether we are already inside a call to the configured Trusted Types\n // policy (`createHTML` or `createScriptURL`). If a supplied policy callback\n // itself calls `DOMPurify.sanitize` (the cause of #1422), `sanitize` would\n // re-enter the policy and recurse until the stack overflows. We detect that\n // re-entry and throw a clear, actionable error instead. The guard is shared\n // across both callbacks, because either one re-entering `sanitize` triggers\n // the same unbounded recursion.\n let IN_TRUSTED_TYPES_POLICY = 0;\n const _assertNotInTrustedTypesPolicy = function _assertNotInTrustedTypesPolicy() {\n if (IN_TRUSTED_TYPES_POLICY > 0) {\n throw typeErrorCreate('A configured TRUSTED_TYPES_POLICY callback (createHTML or ' + 'createScriptURL) must not call DOMPurify.sanitize, as that causes ' + 'infinite recursion. Do not pass a policy whose callbacks wrap ' + 'DOMPurify as TRUSTED_TYPES_POLICY; see the \"DOMPurify and Trusted ' + 'Types\" section of the README.');\n }\n };\n const _createTrustedHTML = function _createTrustedHTML(html) {\n _assertNotInTrustedTypesPolicy();\n IN_TRUSTED_TYPES_POLICY++;\n try {\n return trustedTypesPolicy.createHTML(html);\n } finally {\n IN_TRUSTED_TYPES_POLICY--;\n }\n };\n const _createTrustedScriptURL = function _createTrustedScriptURL(scriptUrl) {\n _assertNotInTrustedTypesPolicy();\n IN_TRUSTED_TYPES_POLICY++;\n try {\n return trustedTypesPolicy.createScriptURL(scriptUrl);\n } finally {\n IN_TRUSTED_TYPES_POLICY--;\n }\n };\n // Lazily resolve (and cache) the instance's internal default policy.\n // Resolution is attempted at most once: a successful `createPolicy` cannot be\n // repeated (Trusted Types throws on duplicate names), and a failed or\n // unsupported attempt must not be retried on every parse.\n const _getDefaultTrustedTypesPolicy = function _getDefaultTrustedTypesPolicy() {\n if (!defaultTrustedTypesPolicyResolved) {\n defaultTrustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript);\n defaultTrustedTypesPolicyResolved = true;\n }\n return defaultTrustedTypesPolicy;\n };\n const _document = document,\n implementation = _document.implementation,\n createNodeIterator = _document.createNodeIterator,\n createDocumentFragment = _document.createDocumentFragment,\n getElementsByTagName = _document.getElementsByTagName;\n const importNode = originalDocument.importNode;\n let hooks = _createHooksMap();\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n DOMPurify.isSupported = typeof entries === 'function' && typeof getParentNode === 'function' && implementation && implementation.createHTMLDocument !== undefined;\n const MUSTACHE_EXPR$1 = MUSTACHE_EXPR,\n ERB_EXPR$1 = ERB_EXPR,\n TMPLIT_EXPR$1 = TMPLIT_EXPR,\n DATA_ATTR$1 = DATA_ATTR,\n ARIA_ATTR$1 = ARIA_ATTR,\n IS_SCRIPT_OR_DATA$1 = IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE$1 = ATTR_WHITESPACE,\n CUSTOM_ELEMENT$1 = CUSTOM_ELEMENT;\n let IS_ALLOWED_URI$1 = IS_ALLOWED_URI;\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n /* allowed element names */\n let ALLOWED_TAGS = null;\n const DEFAULT_ALLOWED_TAGS = addToSet({}, [...html$1, ...svg$1, ...svgFilters, ...mathMl$1, ...text]);\n /* Allowed attribute names */\n let ALLOWED_ATTR = null;\n const DEFAULT_ALLOWED_ATTR = addToSet({}, [...html, ...svg, ...mathMl, ...xml]);\n /*\n * Configure how DOMPurify should handle custom elements and their attributes as well as customized built-in elements.\n * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)\n * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)\n * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.\n */\n let CUSTOM_ELEMENT_HANDLING = Object.seal(create(null, {\n tagNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n attributeNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n allowCustomizedBuiltInElements: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: false\n }\n }));\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n let FORBID_TAGS = null;\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n let FORBID_ATTR = null;\n /* Config object to store ADD_TAGS/ADD_ATTR functions (when used as functions) */\n const EXTRA_ELEMENT_HANDLING = Object.seal(create(null, {\n tagCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n attributeCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n }\n }));\n /* Decide if ARIA attributes are okay */\n let ALLOW_ARIA_ATTR = true;\n /* Decide if custom data attributes are okay */\n let ALLOW_DATA_ATTR = true;\n /* Decide if unknown protocols are okay */\n let ALLOW_UNKNOWN_PROTOCOLS = false;\n /* Decide if self-closing tags in attributes are allowed.\n * Usually removed due to a mXSS issue in jQuery 3.0 */\n let ALLOW_SELF_CLOSE_IN_ATTR = true;\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n let SAFE_FOR_TEMPLATES = false;\n /* Output should be safe even for XML used within HTML and alike.\n * This means, DOMPurify removes comments when containing risky content.\n */\n let SAFE_FOR_XML = true;\n /* Decide if document with ... should be returned */\n let WHOLE_DOCUMENT = false;\n /* Track whether config is already set on this instance of DOMPurify. */\n let SET_CONFIG = false;\n /* Pristine allowlist bindings captured at setConfig() time. On the\n * persistent-config path sanitize() restores the sets from these before\n * the per-walk hook clone-guard, so a hook's in-call widening cannot\n * carry across calls. Null until setConfig() is called; reset by\n * clearConfig(). */\n let SET_CONFIG_ALLOWED_TAGS = null;\n let SET_CONFIG_ALLOWED_ATTR = null;\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n let FORCE_BODY = false;\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n let RETURN_DOM = false;\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n let RETURN_DOM_FRAGMENT = false;\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n let RETURN_TRUSTED_TYPE = false;\n /* Output should be free from DOM clobbering attacks?\n * This sanitizes markups named with colliding, clobberable built-in DOM APIs.\n */\n let SANITIZE_DOM = true;\n /* Achieve full DOM Clobbering protection by isolating the namespace of named\n * properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules.\n *\n * HTML/DOM spec rules that enable DOM Clobbering:\n * - Named Access on Window (§7.3.3)\n * - DOM Tree Accessors (§3.1.5)\n * - Form Element Parent-Child Relations (§4.10.3)\n * - Iframe srcdoc / Nested WindowProxies (§4.8.5)\n * - HTMLCollection (§4.2.10.2)\n *\n * Namespace isolation is implemented by prefixing `id` and `name` attributes\n * with a constant string, i.e., `user-content-`\n */\n let SANITIZE_NAMED_PROPS = false;\n const SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n /* Keep element content when removing element? */\n let KEEP_CONTENT = true;\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n let IN_PLACE = false;\n /* Allow usage of profiles like html, svg and mathMl */\n let USE_PROFILES = {};\n /* Tags to ignore content of when KEEP_CONTENT is true */\n let FORBID_CONTENTS = null;\n const DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script',\n // mirrors the selected `)\n whose queued resource event still fires in page scope after we throw.\n Clobber-safe reads; a doomed clobbered node's own attributes are\n irrelevant while its non-clobbered descendants are reached and scrubbed. */\n _neutralizeSubtree(root);\n const childNodes = getChildNodes(root);\n if (childNodes) {\n const snapshot = [];\n arrayForEach(childNodes, child => {\n arrayPush(snapshot, child);\n });\n arrayForEach(snapshot, child => {\n try {\n remove(child);\n } catch (_) {\n /* Best-effort teardown; a still-attached child is handled below */\n }\n });\n }\n const attributes = getAttributes(root);\n if (attributes) {\n for (let i = attributes.length - 1; i >= 0; --i) {\n const attribute = attributes[i];\n const name = attribute && attribute.name;\n if (typeof name === 'string') {\n try {\n root.removeAttribute(name);\n } catch (_) {\n /* Clobbered removeAttribute — ignore (fail-closed best effort) */\n }\n }\n }\n }\n };\n /**\n * _removeAttribute\n *\n * @param name an Attribute name\n * @param element a DOM node\n */\n const _removeAttribute = function _removeAttribute(name, element) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: element.getAttributeNode(name),\n from: element\n });\n } catch (_) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: element\n });\n }\n element.removeAttribute(name);\n // We void attribute values for unremovable \"is\" attributes\n if (name === 'is') {\n if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n try {\n _forceRemove(element);\n } catch (_) {}\n } else {\n try {\n element.setAttribute(name, '');\n } catch (_) {}\n }\n }\n };\n /**\n * _stripDisallowedAttributes\n *\n * Removes every attribute the active configuration does not allow from a\n * single element, using the same allowlist as the main attribute pass (so\n * `on*` handlers go, but no `/^on/` blocklist is introduced). Used only to\n * neutralise nodes that are being discarded from an in-place tree.\n *\n * @param element the element to strip\n */\n const _stripDisallowedAttributes = function _stripDisallowedAttributes(element) {\n const attributes = getAttributes(element);\n if (!attributes) {\n return;\n }\n for (let i = attributes.length - 1; i >= 0; --i) {\n const attribute = attributes[i];\n const name = attribute && attribute.name;\n if (typeof name !== 'string' || ALLOWED_ATTR[transformCaseFunc(name)]) {\n continue;\n }\n try {\n element.removeAttribute(name);\n } catch (_) {\n /* Clobbered removeAttribute on a doomed node — ignore */\n }\n }\n };\n /**\n * _neutralizeSubtree\n *\n * Completes the audit-5 F1 fix across every removal path. The KEEP_CONTENT\n * move-hoist neutralises only disallowed-tag removals; clobber, mXSS-canary,\n * namespace, comment, processing-instruction and KEEP_CONTENT:false removals\n * all drop their subtree wholesale via `_forceRemove`. On the IN_PLACE path\n * those dropped nodes are detached from the caller's LIVE tree but a\n * handler-bearing original among them (an ``/`