authhero 0.113.0 → 0.115.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/authhero.cjs CHANGED
@@ -1,14 +1,14 @@
1
- "use strict";var Dm=Object.defineProperty;var Hm=(t,e,n)=>e in t?Dm(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var te=(t,e,n)=>Hm(t,typeof e!="symbol"?e+"":e,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("@hono/zod-openapi"),ne=t=>typeof t=="string",Er=()=>{let t,e;const n=new Promise((r,i)=>{t=r,e=i});return n.resolve=t,n.reject=e,n},jd=t=>t==null?"":""+t,Fm=(t,e,n)=>{t.forEach(r=>{e[r]&&(n[r]=e[r])})},Km=/###/g,$d=t=>t&&t.indexOf("###")>-1?t.replace(Km,"."):t,Od=t=>!t||ne(t),Tr=(t,e,n)=>{const r=ne(e)?e.split("."):e;let i=0;for(;i<r.length-1;){if(Od(t))return{};const s=$d(r[i]);!t[s]&&n&&(t[s]=new n),Object.prototype.hasOwnProperty.call(t,s)?t=t[s]:t={},++i}return Od(t)?{}:{obj:t,k:$d(r[i])}},Td=(t,e,n)=>{const{obj:r,k:i}=Tr(t,e,Object);if(r!==void 0||e.length===1){r[i]=n;return}let s=e[e.length-1],a=e.slice(0,e.length-1),c=Tr(t,a,Object);for(;c.obj===void 0&&a.length;)s=`${a[a.length-1]}.${s}`,a=a.slice(0,a.length-1),c=Tr(t,a,Object),c!=null&&c.obj&&typeof c.obj[`${c.k}.${s}`]<"u"&&(c.obj=void 0);c.obj[`${c.k}.${s}`]=n},Wm=(t,e,n,r)=>{const{obj:i,k:s}=Tr(t,e,Object);i[s]=i[s]||[],i[s].push(n)},Xi=(t,e)=>{const{obj:n,k:r}=Tr(t,e);if(n&&Object.prototype.hasOwnProperty.call(n,r))return n[r]},Gm=(t,e,n)=>{const r=Xi(t,n);return r!==void 0?r:Xi(e,n)},sf=(t,e,n)=>{for(const r in e)r!=="__proto__"&&r!=="constructor"&&(r in t?ne(t[r])||t[r]instanceof String||ne(e[r])||e[r]instanceof String?n&&(t[r]=e[r]):sf(t[r],e[r],n):t[r]=e[r]);return t},Vn=t=>t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var Jm={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};const Zm=t=>ne(t)?t.replace(/[&<>"'\/]/g,e=>Jm[e]):t;class Ym{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const n=this.regExpMap.get(e);if(n!==void 0)return n;const r=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,r),this.regExpQueue.push(e),r}}const Xm=[" ",",","?","!",";"],Qm=new Ym(20),e0=(t,e,n)=>{e=e||"",n=n||"";const r=Xm.filter(a=>e.indexOf(a)<0&&n.indexOf(a)<0);if(r.length===0)return!0;const i=Qm.getRegExp(`(${r.map(a=>a==="?"?"\\?":a).join("|")})`);let s=!i.test(t);if(!s){const a=t.indexOf(n);a>0&&!i.test(t.substring(0,a))&&(s=!0)}return s},za=function(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!t)return;if(t[e])return Object.prototype.hasOwnProperty.call(t,e)?t[e]:void 0;const r=e.split(n);let i=t;for(let s=0;s<r.length;){if(!i||typeof i!="object")return;let a,c="";for(let l=s;l<r.length;++l)if(l!==s&&(c+=n),c+=r[l],a=i[c],a!==void 0){if(["string","number","boolean"].indexOf(typeof a)>-1&&l<r.length-1)continue;s+=l-s+1;break}i=a}return i},Qi=t=>t==null?void 0:t.replace("_","-"),t0={type:"logger",log(t){this.output("log",t)},warn(t){this.output("warn",t)},error(t){this.output("error",t)},output(t,e){var n,r;(r=(n=console==null?void 0:console[t])==null?void 0:n.apply)==null||r.call(n,console,e)}};class es{constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(e,n)}init(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=n.prefix||"i18next:",this.logger=e||t0,this.options=n,this.debug=n.debug}log(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return this.forward(n,"log","",!0)}warn(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return this.forward(n,"warn","",!0)}error(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return this.forward(n,"error","")}deprecate(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return this.forward(n,"warn","WARNING DEPRECATED: ",!0)}forward(e,n,r,i){return i&&!this.debug?null:(ne(e[0])&&(e[0]=`${r}${this.prefix} ${e[0]}`),this.logger[n](e))}create(e){return new es(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return e=e||this.options,e.prefix=e.prefix||this.prefix,new es(this.logger,e)}}var At=new es;class Js{constructor(){this.observers={}}on(e,n){return e.split(" ").forEach(r=>{this.observers[r]||(this.observers[r]=new Map);const i=this.observers[r].get(n)||0;this.observers[r].set(n,i+1)}),this}off(e,n){if(this.observers[e]){if(!n){delete this.observers[e];return}this.observers[e].delete(n)}}emit(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];this.observers[e]&&Array.from(this.observers[e].entries()).forEach(a=>{let[c,l]=a;for(let d=0;d<l;d++)c(...r)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(a=>{let[c,l]=a;for(let d=0;d<l;d++)c.apply(c,[e,...r])})}}class Pd extends Js{constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=e||{},this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const n=this.options.ns.indexOf(e);n>-1&&this.options.ns.splice(n,1)}getResource(e,n,r){var d,p;let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const s=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,a=i.ignoreJSONStructure!==void 0?i.ignoreJSONStructure:this.options.ignoreJSONStructure;let c;e.indexOf(".")>-1?c=e.split("."):(c=[e,n],r&&(Array.isArray(r)?c.push(...r):ne(r)&&s?c.push(...r.split(s)):c.push(r)));const l=Xi(this.data,c);return!l&&!n&&!r&&e.indexOf(".")>-1&&(e=c[0],n=c[1],r=c.slice(2).join(".")),l||!a||!ne(r)?l:za((p=(d=this.data)==null?void 0:d[e])==null?void 0:p[n],r,s)}addResource(e,n,r,i){let s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const a=s.keySeparator!==void 0?s.keySeparator:this.options.keySeparator;let c=[e,n];r&&(c=c.concat(a?r.split(a):r)),e.indexOf(".")>-1&&(c=e.split("."),i=n,n=c[1]),this.addNamespaces(n),Td(this.data,c,i),s.silent||this.emit("added",e,n,r,i)}addResources(e,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const s in r)(ne(r[s])||Array.isArray(r[s]))&&this.addResource(e,n,s,r[s],{silent:!0});i.silent||this.emit("added",e,n,r)}addResourceBundle(e,n,r,i,s){let a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1,skipCopy:!1},c=[e,n];e.indexOf(".")>-1&&(c=e.split("."),i=r,r=n,n=c[1]),this.addNamespaces(n);let l=Xi(this.data,c)||{};a.skipCopy||(r=JSON.parse(JSON.stringify(r))),i?sf(l,r,s):l={...l,...r},Td(this.data,c,l),a.silent||this.emit("added",e,n,r)}removeResourceBundle(e,n){this.hasResourceBundle(e,n)&&delete this.data[e][n],this.removeNamespaces(n),this.emit("removed",e,n)}hasResourceBundle(e,n){return this.getResource(e,n)!==void 0}getResourceBundle(e,n){return n||(n=this.options.defaultNS),this.getResource(e,n)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const n=this.getDataByLanguage(e);return!!(n&&Object.keys(n)||[]).find(i=>n[i]&&Object.keys(n[i]).length>0)}toJSON(){return this.data}}var of={processors:{},addPostProcessor(t){this.processors[t.name]=t},handle(t,e,n,r,i){return t.forEach(s=>{var a;e=((a=this.processors[s])==null?void 0:a.process(e,n,r,i))??e}),e}};const Bd={};class ts extends Js{constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),Fm(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=At.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(e==null)return!1;const r=this.resolve(e,n);return(r==null?void 0:r.res)!==void 0}extractFromKey(e,n){let r=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const i=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let s=n.ns||this.options.defaultNS||[];const a=r&&e.indexOf(r)>-1,c=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!e0(e,r,i);if(a&&!c){const l=e.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:e,namespaces:ne(s)?[s]:s};const d=e.split(r);(r!==i||r===i&&this.options.ns.indexOf(d[0])>-1)&&(s=d.shift()),e=d.join(i)}return{key:e,namespaces:ne(s)?[s]:s}}translate(e,n,r){if(typeof n!="object"&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),typeof n=="object"&&(n={...n}),n||(n={}),e==null)return"";Array.isArray(e)||(e=[String(e)]);const i=n.returnDetails!==void 0?n.returnDetails:this.options.returnDetails,s=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,{key:a,namespaces:c}=this.extractFromKey(e[e.length-1],n),l=c[c.length-1],d=n.lng||this.language,p=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if((d==null?void 0:d.toLowerCase())==="cimode"){if(p){const L=n.nsSeparator||this.options.nsSeparator;return i?{res:`${l}${L}${a}`,usedKey:a,exactUsedKey:a,usedLng:d,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:`${l}${L}${a}`}return i?{res:a,usedKey:a,exactUsedKey:a,usedLng:d,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:a}const f=this.resolve(e,n);let m=f==null?void 0:f.res;const w=(f==null?void 0:f.usedKey)||a,h=(f==null?void 0:f.exactUsedKey)||a,_=Object.prototype.toString.apply(m),v=["[object Number]","[object Function]","[object RegExp]"],A=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,C=!this.i18nFormat||this.i18nFormat.handleAsObject,O=!ne(m)&&typeof m!="boolean"&&typeof m!="number";if(C&&m&&O&&v.indexOf(_)<0&&!(ne(A)&&Array.isArray(m))){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const L=this.options.returnedObjectHandler?this.options.returnedObjectHandler(w,m,{...n,ns:c}):`key '${a} (${this.language})' returned an object instead of string.`;return i?(f.res=L,f.usedParams=this.getUsedParamsDetails(n),f):L}if(s){const L=Array.isArray(m),Q=L?[]:{},ce=L?h:w;for(const le in m)if(Object.prototype.hasOwnProperty.call(m,le)){const He=`${ce}${s}${le}`;Q[le]=this.translate(He,{...n,joinArrays:!1,ns:c}),Q[le]===He&&(Q[le]=m[le])}m=Q}}else if(C&&ne(A)&&Array.isArray(m))m=m.join(A),m&&(m=this.extendTranslation(m,e,n,r));else{let L=!1,Q=!1;const ce=n.count!==void 0&&!ne(n.count),le=ts.hasDefaultValue(n),He=ce?this.pluralResolver.getSuffix(d,n.count,n):"",Ve=n.ordinal&&ce?this.pluralResolver.getSuffix(d,n.count,{ordinal:!1}):"",Re=ce&&!n.ordinal&&n.count===0,j=Re&&n[`defaultValue${this.options.pluralSeparator}zero`]||n[`defaultValue${He}`]||n[`defaultValue${Ve}`]||n.defaultValue;!this.isValidLookup(m)&&le&&(L=!0,m=j),this.isValidLookup(m)||(Q=!0,m=a);const z=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&Q?void 0:m,k=le&&j!==m&&this.options.updateMissing;if(Q||L||k){if(this.logger.log(k?"updateKey":"missingKey",d,l,a,k?j:m),s){const X=this.resolve(a,{...n,keySeparator:!1});X&&X.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let x=[];const $=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&$&&$[0])for(let X=0;X<$.length;X++)x.push($[X]);else this.options.saveMissingTo==="all"?x=this.languageUtils.toResolveHierarchy(n.lng||this.language):x.push(n.lng||this.language);const U=(X,G,se)=>{var H;const ue=le&&se!==m?se:z;this.options.missingKeyHandler?this.options.missingKeyHandler(X,l,G,ue,k,n):(H=this.backendConnector)!=null&&H.saveMissing&&this.backendConnector.saveMissing(X,l,G,ue,k,n),this.emit("missingKey",X,l,G,m)};this.options.saveMissing&&(this.options.saveMissingPlurals&&ce?x.forEach(X=>{const G=this.pluralResolver.getSuffixes(X,n);Re&&n[`defaultValue${this.options.pluralSeparator}zero`]&&G.indexOf(`${this.options.pluralSeparator}zero`)<0&&G.push(`${this.options.pluralSeparator}zero`),G.forEach(se=>{U([X],a+se,n[`defaultValue${se}`]||j)})}):U(x,a,j))}m=this.extendTranslation(m,e,n,f,r),Q&&m===a&&this.options.appendNamespaceToMissingKey&&(m=`${l}:${a}`),(Q||L)&&this.options.parseMissingKeyHandler&&(m=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${a}`:a,L?m:void 0))}return i?(f.res=m,f.usedParams=this.getUsedParamsDetails(n),f):m}extendTranslation(e,n,r,i,s){var d,p;var a=this;if((d=this.i18nFormat)!=null&&d.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const f=ne(e)&&(((p=r==null?void 0:r.interpolation)==null?void 0:p.skipOnVariables)!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let m;if(f){const h=e.match(this.interpolator.nestingRegexp);m=h&&h.length}let w=r.replace&&!ne(r.replace)?r.replace:r;if(this.options.interpolation.defaultVariables&&(w={...this.options.interpolation.defaultVariables,...w}),e=this.interpolator.interpolate(e,w,r.lng||this.language||i.usedLng,r),f){const h=e.match(this.interpolator.nestingRegexp),_=h&&h.length;m<_&&(r.nest=!1)}!r.lng&&i&&i.res&&(r.lng=this.language||i.usedLng),r.nest!==!1&&(e=this.interpolator.nest(e,function(){for(var h=arguments.length,_=new Array(h),v=0;v<h;v++)_[v]=arguments[v];return(s==null?void 0:s[0])===_[0]&&!r.context?(a.logger.warn(`It seems you are nesting recursively key: ${_[0]} in key: ${n[0]}`),null):a.translate(..._,n)},r)),r.interpolation&&this.interpolator.reset()}const c=r.postProcess||this.options.postProcess,l=ne(c)?[c]:c;return e!=null&&(l!=null&&l.length)&&r.applyPostProcessor!==!1&&(e=of.handle(l,e,n,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...i,usedParams:this.getUsedParamsDetails(r)},...r}:r,this)),e}resolve(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r,i,s,a,c;return ne(e)&&(e=[e]),e.forEach(l=>{if(this.isValidLookup(r))return;const d=this.extractFromKey(l,n),p=d.key;i=p;let f=d.namespaces;this.options.fallbackNS&&(f=f.concat(this.options.fallbackNS));const m=n.count!==void 0&&!ne(n.count),w=m&&!n.ordinal&&n.count===0,h=n.context!==void 0&&(ne(n.context)||typeof n.context=="number")&&n.context!=="",_=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);f.forEach(v=>{var A,C;this.isValidLookup(r)||(c=v,!Bd[`${_[0]}-${v}`]&&((A=this.utils)!=null&&A.hasLoadedNamespace)&&!((C=this.utils)!=null&&C.hasLoadedNamespace(c))&&(Bd[`${_[0]}-${v}`]=!0,this.logger.warn(`key "${i}" for languages "${_.join(", ")}" won't get resolved as namespace "${c}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),_.forEach(O=>{var ce;if(this.isValidLookup(r))return;a=O;const L=[p];if((ce=this.i18nFormat)!=null&&ce.addLookupKeys)this.i18nFormat.addLookupKeys(L,p,O,v,n);else{let le;m&&(le=this.pluralResolver.getSuffix(O,n.count,n));const He=`${this.options.pluralSeparator}zero`,Ve=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(m&&(L.push(p+le),n.ordinal&&le.indexOf(Ve)===0&&L.push(p+le.replace(Ve,this.options.pluralSeparator)),w&&L.push(p+He)),h){const Re=`${p}${this.options.contextSeparator}${n.context}`;L.push(Re),m&&(L.push(Re+le),n.ordinal&&le.indexOf(Ve)===0&&L.push(Re+le.replace(Ve,this.options.pluralSeparator)),w&&L.push(Re+He))}}let Q;for(;Q=L.pop();)this.isValidLookup(r)||(s=Q,r=this.getResource(O,v,Q,n))}))})}),{res:r,usedKey:i,exactUsedKey:s,usedLng:a,usedNS:c}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e==="")}getResource(e,n,r){var s;let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return(s=this.i18nFormat)!=null&&s.getResource?this.i18nFormat.getResource(e,n,r,i):this.resourceStore.getResource(e,n,r,i)}getUsedParamsDetails(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const n=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],r=e.replace&&!ne(e.replace);let i=r?e.replace:e;if(r&&typeof e.count<"u"&&(i.count=e.count),this.options.interpolation.defaultVariables&&(i={...this.options.interpolation.defaultVariables,...i}),!r){i={...i};for(const s of n)delete i[s]}return i}static hasDefaultValue(e){const n="defaultValue";for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&n===r.substring(0,n.length)&&e[r]!==void 0)return!0;return!1}}class Rd{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=At.create("languageUtils")}getScriptPartFromCode(e){if(e=Qi(e),!e||e.indexOf("-")<0)return null;const n=e.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(e){if(e=Qi(e),!e||e.indexOf("-")<0)return e;const n=e.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(e){if(ne(e)&&e.indexOf("-")>-1){let n;try{n=Intl.getCanonicalLocales(e)[0]}catch{}return n&&this.options.lowerCaseLng&&(n=n.toLowerCase()),n||(this.options.lowerCaseLng?e.toLowerCase():e)}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let n;return e.forEach(r=>{if(n)return;const i=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(i))&&(n=i)}),!n&&this.options.supportedLngs&&e.forEach(r=>{if(n)return;const i=this.getLanguagePartFromCode(r);if(this.isSupportedCode(i))return n=i;n=this.options.supportedLngs.find(s=>{if(s===i)return s;if(!(s.indexOf("-")<0&&i.indexOf("-")<0)&&(s.indexOf("-")>0&&i.indexOf("-")<0&&s.substring(0,s.indexOf("-"))===i||s.indexOf(i)===0&&i.length>1))return s})}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(e,n){if(!e)return[];if(typeof e=="function"&&(e=e(n)),ne(e)&&(e=[e]),Array.isArray(e))return e;if(!n)return e.default||[];let r=e[n];return r||(r=e[this.getScriptPartFromCode(n)]),r||(r=e[this.formatLanguageCode(n)]),r||(r=e[this.getLanguagePartFromCode(n)]),r||(r=e.default),r||[]}toResolveHierarchy(e,n){const r=this.getFallbackCodes(n||this.options.fallbackLng||[],e),i=[],s=a=>{a&&(this.isSupportedCode(a)?i.push(a):this.logger.warn(`rejecting language code not found in supportedLngs: ${a}`))};return ne(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&s(this.formatLanguageCode(e)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&s(this.getScriptPartFromCode(e)),this.options.load!=="currentOnly"&&s(this.getLanguagePartFromCode(e))):ne(e)&&s(this.formatLanguageCode(e)),r.forEach(a=>{i.indexOf(a)<0&&s(this.formatLanguageCode(a))}),i}}const Ld={zero:0,one:1,two:2,few:3,many:4,other:5},Ud={select:t=>t===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class n0{constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=e,this.options=n,this.logger=At.create("pluralResolver"),this.pluralRulesCache={}}addRule(e,n){this.rules[e]=n}clearCache(){this.pluralRulesCache={}}getRule(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=Qi(e==="dev"?"en":e),i=n.ordinal?"ordinal":"cardinal",s=JSON.stringify({cleanedCode:r,type:i});if(s in this.pluralRulesCache)return this.pluralRulesCache[s];let a;try{a=new Intl.PluralRules(r,{type:i})}catch{if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),Ud;if(!e.match(/-|_/))return Ud;const l=this.languageUtils.getLanguagePartFromCode(e);a=this.getRule(l,n)}return this.pluralRulesCache[s]=a,a}needsPlural(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=this.getRule(e,n);return r||(r=this.getRule("dev",n)),(r==null?void 0:r.resolvedOptions().pluralCategories.length)>1}getPluralFormsOfKey(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(e,r).map(i=>`${n}${i}`)}getSuffixes(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=this.getRule(e,n);return r||(r=this.getRule("dev",n)),r?r.resolvedOptions().pluralCategories.sort((i,s)=>Ld[i]-Ld[s]).map(i=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${i}`):[]}getSuffix(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const i=this.getRule(e,r);return i?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${i.select(n)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",n,r))}}const Vd=function(t,e,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=Gm(t,e,n);return!s&&i&&ne(n)&&(s=za(t,n,r),s===void 0&&(s=za(e,n,r))),s},ia=t=>t.replace(/\$/g,"$$$$");class r0{constructor(){var n;let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=At.create("interpolator"),this.options=e,this.format=((n=e==null?void 0:e.interpolation)==null?void 0:n.format)||(r=>r),this.init(e)}init(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});const{escape:n,escapeValue:r,useRawValueToEscape:i,prefix:s,prefixEscaped:a,suffix:c,suffixEscaped:l,formatSeparator:d,unescapeSuffix:p,unescapePrefix:f,nestingPrefix:m,nestingPrefixEscaped:w,nestingSuffix:h,nestingSuffixEscaped:_,nestingOptionsSeparator:v,maxReplaces:A,alwaysFormat:C}=e.interpolation;this.escape=n!==void 0?n:Zm,this.escapeValue=r!==void 0?r:!0,this.useRawValueToEscape=i!==void 0?i:!1,this.prefix=s?Vn(s):a||"{{",this.suffix=c?Vn(c):l||"}}",this.formatSeparator=d||",",this.unescapePrefix=p?"":f||"-",this.unescapeSuffix=this.unescapePrefix?"":p||"",this.nestingPrefix=m?Vn(m):w||Vn("$t("),this.nestingSuffix=h?Vn(h):_||Vn(")"),this.nestingOptionsSeparator=v||",",this.maxReplaces=A||1e3,this.alwaysFormat=C!==void 0?C:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(n,r)=>(n==null?void 0:n.source)===r?(n.lastIndex=0,n):new RegExp(r,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(e,n,r,i){var w;let s,a,c;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},d=h=>{if(h.indexOf(this.formatSeparator)<0){const C=Vd(n,l,h,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(C,void 0,r,{...i,...n,interpolationkey:h}):C}const _=h.split(this.formatSeparator),v=_.shift().trim(),A=_.join(this.formatSeparator).trim();return this.format(Vd(n,l,v,this.options.keySeparator,this.options.ignoreJSONStructure),A,r,{...i,...n,interpolationkey:v})};this.resetRegExp();const p=(i==null?void 0:i.missingInterpolationHandler)||this.options.missingInterpolationHandler,f=((w=i==null?void 0:i.interpolation)==null?void 0:w.skipOnVariables)!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:h=>ia(h)},{regex:this.regexp,safeValue:h=>this.escapeValue?ia(this.escape(h)):ia(h)}].forEach(h=>{for(c=0;s=h.regex.exec(e);){const _=s[1].trim();if(a=d(_),a===void 0)if(typeof p=="function"){const A=p(e,s,i);a=ne(A)?A:""}else if(i&&Object.prototype.hasOwnProperty.call(i,_))a="";else if(f){a=s[0];continue}else this.logger.warn(`missed to pass in variable ${_} for interpolating ${e}`),a="";else!ne(a)&&!this.useRawValueToEscape&&(a=jd(a));const v=h.safeValue(a);if(e=e.replace(s[0],v),f?(h.regex.lastIndex+=a.length,h.regex.lastIndex-=s[0].length):h.regex.lastIndex=0,c++,c>=this.maxReplaces)break}}),e}nest(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i,s,a;const c=(l,d)=>{const p=this.nestingOptionsSeparator;if(l.indexOf(p)<0)return l;const f=l.split(new RegExp(`${p}[ ]*{`));let m=`{${f[1]}`;l=f[0],m=this.interpolate(m,a);const w=m.match(/'/g),h=m.match(/"/g);(((w==null?void 0:w.length)??0)%2===0&&!h||h.length%2!==0)&&(m=m.replace(/'/g,'"'));try{a=JSON.parse(m),d&&(a={...d,...a})}catch(_){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,_),`${l}${p}${m}`}return a.defaultValue&&a.defaultValue.indexOf(this.prefix)>-1&&delete a.defaultValue,l};for(;i=this.nestingRegexp.exec(e);){let l=[];a={...r},a=a.replace&&!ne(a.replace)?a.replace:a,a.applyPostProcessor=!1,delete a.defaultValue;let d=!1;if(i[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(i[1])){const p=i[1].split(this.formatSeparator).map(f=>f.trim());i[1]=p.shift(),l=p,d=!0}if(s=n(c.call(this,i[1].trim(),a),a),s&&i[0]===e&&!ne(s))return s;ne(s)||(s=jd(s)),s||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${e}`),s=""),d&&(s=l.reduce((p,f)=>this.format(p,f,r.lng,{...r,interpolationkey:i[1].trim()}),s.trim())),e=e.replace(i[0],s),this.regexp.lastIndex=0}return e}}const i0=t=>{let e=t.toLowerCase().trim();const n={};if(t.indexOf("(")>-1){const r=t.split("(");e=r[0].toLowerCase().trim();const i=r[1].substring(0,r[1].length-1);e==="currency"&&i.indexOf(":")<0?n.currency||(n.currency=i.trim()):e==="relativetime"&&i.indexOf(":")<0?n.range||(n.range=i.trim()):i.split(";").forEach(a=>{if(a){const[c,...l]=a.split(":"),d=l.join(":").trim().replace(/^'+|'+$/g,""),p=c.trim();n[p]||(n[p]=d),d==="false"&&(n[p]=!1),d==="true"&&(n[p]=!0),isNaN(d)||(n[p]=parseInt(d,10))}})}return{formatName:e,formatOptions:n}},qn=t=>{const e={};return(n,r,i)=>{let s=i;i&&i.interpolationkey&&i.formatParams&&i.formatParams[i.interpolationkey]&&i[i.interpolationkey]&&(s={...s,[i.interpolationkey]:void 0});const a=r+JSON.stringify(s);let c=e[a];return c||(c=t(Qi(r),i),e[a]=c),c(n)}};class s0{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=At.create("formatter"),this.options=e,this.formats={number:qn((n,r)=>{const i=new Intl.NumberFormat(n,{...r});return s=>i.format(s)}),currency:qn((n,r)=>{const i=new Intl.NumberFormat(n,{...r,style:"currency"});return s=>i.format(s)}),datetime:qn((n,r)=>{const i=new Intl.DateTimeFormat(n,{...r});return s=>i.format(s)}),relativetime:qn((n,r)=>{const i=new Intl.RelativeTimeFormat(n,{...r});return s=>i.format(s,r.range||"day")}),list:qn((n,r)=>{const i=new Intl.ListFormat(n,{...r});return s=>i.format(s)})},this.init(e)}init(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};this.formatSeparator=n.interpolation.formatSeparator||","}add(e,n){this.formats[e.toLowerCase().trim()]=n}addCached(e,n){this.formats[e.toLowerCase().trim()]=qn(n)}format(e,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const s=n.split(this.formatSeparator);if(s.length>1&&s[0].indexOf("(")>1&&s[0].indexOf(")")<0&&s.find(c=>c.indexOf(")")>-1)){const c=s.findIndex(l=>l.indexOf(")")>-1);s[0]=[s[0],...s.splice(1,c)].join(this.formatSeparator)}return s.reduce((c,l)=>{var f;const{formatName:d,formatOptions:p}=i0(l);if(this.formats[d]){let m=c;try{const w=((f=i==null?void 0:i.formatParams)==null?void 0:f[i.interpolationkey])||{},h=w.locale||w.lng||i.locale||i.lng||r;m=this.formats[d](c,h,{...p,...i,...w})}catch(w){this.logger.warn(w)}return m}else this.logger.warn(`there was no format function for ${d}`);return c},e)}}const o0=(t,e)=>{t.pending[e]!==void 0&&(delete t.pending[e],t.pendingCount--)};class a0 extends Js{constructor(e,n,r){var s,a;let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=e,this.store=n,this.services=r,this.languageUtils=r.languageUtils,this.options=i,this.logger=At.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],(a=(s=this.backend)==null?void 0:s.init)==null||a.call(s,r,i.backend,i)}queueLoad(e,n,r,i){const s={},a={},c={},l={};return e.forEach(d=>{let p=!0;n.forEach(f=>{const m=`${d}|${f}`;!r.reload&&this.store.hasResourceBundle(d,f)?this.state[m]=2:this.state[m]<0||(this.state[m]===1?a[m]===void 0&&(a[m]=!0):(this.state[m]=1,p=!1,a[m]===void 0&&(a[m]=!0),s[m]===void 0&&(s[m]=!0),l[f]===void 0&&(l[f]=!0)))}),p||(c[d]=!0)}),(Object.keys(s).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(s),pending:Object.keys(a),toLoadLanguages:Object.keys(c),toLoadNamespaces:Object.keys(l)}}loaded(e,n,r){const i=e.split("|"),s=i[0],a=i[1];n&&this.emit("failedLoading",s,a,n),!n&&r&&this.store.addResourceBundle(s,a,r,void 0,void 0,{skipCopy:!0}),this.state[e]=n?-1:2,n&&r&&(this.state[e]=0);const c={};this.queue.forEach(l=>{Wm(l.loaded,[s],a),o0(l,e),n&&l.errors.push(n),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(d=>{c[d]||(c[d]={});const p=l.loaded[d];p.length&&p.forEach(f=>{c[d][f]===void 0&&(c[d][f]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",c),this.queue=this.queue.filter(l=>!l.done)}read(e,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,a=arguments.length>5?arguments[5]:void 0;if(!e.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:n,fcName:r,tried:i,wait:s,callback:a});return}this.readingCalls++;const c=(d,p)=>{if(this.readingCalls--,this.waitingReads.length>0){const f=this.waitingReads.shift();this.read(f.lng,f.ns,f.fcName,f.tried,f.wait,f.callback)}if(d&&p&&i<this.maxRetries){setTimeout(()=>{this.read.call(this,e,n,r,i+1,s*2,a)},s);return}a(d,p)},l=this.backend[r].bind(this.backend);if(l.length===2){try{const d=l(e,n);d&&typeof d.then=="function"?d.then(p=>c(null,p)).catch(c):c(null,d)}catch(d){c(d)}return}return l(e,n,c)}prepareLoading(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();ne(e)&&(e=this.languageUtils.toResolveHierarchy(e)),ne(n)&&(n=[n]);const s=this.queueLoad(e,n,r,i);if(!s.toLoad.length)return s.pending.length||i(),null;s.toLoad.forEach(a=>{this.loadOne(a)})}load(e,n,r){this.prepareLoading(e,n,{},r)}reload(e,n,r){this.prepareLoading(e,n,{reload:!0},r)}loadOne(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const r=e.split("|"),i=r[0],s=r[1];this.read(i,s,"read",void 0,void 0,(a,c)=>{a&&this.logger.warn(`${n}loading namespace ${s} for language ${i} failed`,a),!a&&c&&this.logger.log(`${n}loaded namespace ${s} for language ${i}`,c),this.loaded(e,a,c)})}saveMissing(e,n,r,i,s){var l,d,p,f,m;let a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},c=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if((d=(l=this.services)==null?void 0:l.utils)!=null&&d.hasLoadedNamespace&&!((f=(p=this.services)==null?void 0:p.utils)!=null&&f.hasLoadedNamespace(n))){this.logger.warn(`did not save key "${r}" as the namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(r==null||r==="")){if((m=this.backend)!=null&&m.create){const w={...a,isUpdate:s},h=this.backend.create.bind(this.backend);if(h.length<6)try{let _;h.length===5?_=h(e,n,r,i,w):_=h(e,n,r,i),_&&typeof _.then=="function"?_.then(v=>c(null,v)).catch(c):c(null,_)}catch(_){c(_)}else h(e,n,r,i,c,w)}!e||!e[0]||this.store.addResource(e[0],n,r,i)}}}const qd=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:t=>{let e={};if(typeof t[1]=="object"&&(e=t[1]),ne(t[1])&&(e.defaultValue=t[1]),ne(t[2])&&(e.tDescription=t[2]),typeof t[2]=="object"||typeof t[3]=="object"){const n=t[3]||t[2];Object.keys(n).forEach(r=>{e[r]=n[r]})}return e},interpolation:{escapeValue:!0,format:t=>t,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}),Md=t=>{var e,n;return ne(t.ns)&&(t.ns=[t.ns]),ne(t.fallbackLng)&&(t.fallbackLng=[t.fallbackLng]),ne(t.fallbackNS)&&(t.fallbackNS=[t.fallbackNS]),((n=(e=t.supportedLngs)==null?void 0:e.indexOf)==null?void 0:n.call(e,"cimode"))<0&&(t.supportedLngs=t.supportedLngs.concat(["cimode"])),typeof t.initImmediate=="boolean"&&(t.initAsync=t.initImmediate),t},ji=()=>{},c0=t=>{Object.getOwnPropertyNames(Object.getPrototypeOf(t)).forEach(n=>{typeof t[n]=="function"&&(t[n]=t[n].bind(t))})};class qr extends Js{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=Md(e),this.services={},this.logger=At,this.modules={external:[]},c0(this),n&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,n),this;setTimeout(()=>{this.init(e,n)},0)}}init(){var e=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,typeof n=="function"&&(r=n,n={}),!n.defaultNS&&n.defaultNS!==!1&&n.ns&&(ne(n.ns)?n.defaultNS=n.ns:n.ns.indexOf("translation")<0&&(n.defaultNS=n.ns[0]));const i=qd();this.options={...i,...this.options,...Md(n)},this.options.interpolation={...i.interpolation,...this.options.interpolation},n.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=n.keySeparator),n.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=n.nsSeparator);const s=p=>p?typeof p=="function"?new p:p:null;if(!this.options.isClone){this.modules.logger?At.init(s(this.modules.logger),this.options):At.init(null,this.options);let p;this.modules.formatter?p=this.modules.formatter:p=s0;const f=new Rd(this.options);this.store=new Pd(this.options.resources,this.options);const m=this.services;m.logger=At,m.resourceStore=this.store,m.languageUtils=f,m.pluralResolver=new n0(f,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),p&&(!this.options.interpolation.format||this.options.interpolation.format===i.interpolation.format)&&(m.formatter=s(p),m.formatter.init(m,this.options),this.options.interpolation.format=m.formatter.format.bind(m.formatter)),m.interpolator=new r0(this.options),m.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},m.backendConnector=new a0(s(this.modules.backend),m.resourceStore,m,this.options),m.backendConnector.on("*",function(w){for(var h=arguments.length,_=new Array(h>1?h-1:0),v=1;v<h;v++)_[v-1]=arguments[v];e.emit(w,..._)}),this.modules.languageDetector&&(m.languageDetector=s(this.modules.languageDetector),m.languageDetector.init&&m.languageDetector.init(m,this.options.detection,this.options)),this.modules.i18nFormat&&(m.i18nFormat=s(this.modules.i18nFormat),m.i18nFormat.init&&m.i18nFormat.init(this)),this.translator=new ts(this.services,this.options),this.translator.on("*",function(w){for(var h=arguments.length,_=new Array(h>1?h-1:0),v=1;v<h;v++)_[v-1]=arguments[v];e.emit(w,..._)}),this.modules.external.forEach(w=>{w.init&&w.init(this)})}if(this.format=this.options.interpolation.format,r||(r=ji),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const p=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);p.length>0&&p[0]!=="dev"&&(this.options.lng=p[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(p=>{this[p]=function(){return e.store[p](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(p=>{this[p]=function(){return e.store[p](...arguments),e}});const l=Er(),d=()=>{const p=(f,m)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),l.resolve(m),r(f,m)};if(this.languages&&!this.isInitialized)return p(null,this.t.bind(this));this.changeLanguage(this.options.lng,p)};return this.options.resources||!this.options.initAsync?d():setTimeout(d,0),l}loadResources(e){var s,a;let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ji;const i=ne(e)?e:this.language;if(typeof e=="function"&&(r=e),!this.options.resources||this.options.partialBundledLanguages){if((i==null?void 0:i.toLowerCase())==="cimode"&&(!this.options.preload||this.options.preload.length===0))return r();const c=[],l=d=>{if(!d||d==="cimode")return;this.services.languageUtils.toResolveHierarchy(d).forEach(f=>{f!=="cimode"&&c.indexOf(f)<0&&c.push(f)})};i?l(i):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(p=>l(p)),(a=(s=this.options.preload)==null?void 0:s.forEach)==null||a.call(s,d=>l(d)),this.services.backendConnector.load(c,this.options.ns,d=>{!d&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(d)})}else r(null)}reloadResources(e,n,r){const i=Er();return typeof e=="function"&&(r=e,e=void 0),typeof n=="function"&&(r=n,n=void 0),e||(e=this.languages),n||(n=this.options.ns),r||(r=ji),this.services.backendConnector.reload(e,n,s=>{i.resolve(),r(s)}),i}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return e.type==="backend"&&(this.modules.backend=e),(e.type==="logger"||e.log&&e.warn&&e.error)&&(this.modules.logger=e),e.type==="languageDetector"&&(this.modules.languageDetector=e),e.type==="i18nFormat"&&(this.modules.i18nFormat=e),e.type==="postProcessor"&&of.addPostProcessor(e),e.type==="formatter"&&(this.modules.formatter=e),e.type==="3rdParty"&&this.modules.external.push(e),this}setResolvedLanguage(e){if(!(!e||!this.languages)&&!(["cimode","dev"].indexOf(e)>-1))for(let n=0;n<this.languages.length;n++){const r=this.languages[n];if(!(["cimode","dev"].indexOf(r)>-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}}changeLanguage(e,n){var r=this;this.isLanguageChangingTo=e;const i=Er();this.emit("languageChanging",e);const s=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},a=(l,d)=>{d?(s(d),this.translator.changeLanguage(d),this.isLanguageChangingTo=void 0,this.emit("languageChanged",d),this.logger.log("languageChanged",d)):this.isLanguageChangingTo=void 0,i.resolve(function(){return r.t(...arguments)}),n&&n(l,function(){return r.t(...arguments)})},c=l=>{var p,f;!e&&!l&&this.services.languageDetector&&(l=[]);const d=ne(l)?l:this.services.languageUtils.getBestMatchFromCodes(l);d&&(this.language||s(d),this.translator.language||this.translator.changeLanguage(d),(f=(p=this.services.languageDetector)==null?void 0:p.cacheUserLanguage)==null||f.call(p,d)),this.loadResources(d,m=>{a(m,d)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?c(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(c):this.services.languageDetector.detect(c):c(e),i}getFixedT(e,n,r){var i=this;const s=function(a,c){let l;if(typeof c!="object"){for(var d=arguments.length,p=new Array(d>2?d-2:0),f=2;f<d;f++)p[f-2]=arguments[f];l=i.options.overloadTranslationOptionHandler([a,c].concat(p))}else l={...c};l.lng=l.lng||s.lng,l.lngs=l.lngs||s.lngs,l.ns=l.ns||s.ns,l.keyPrefix!==""&&(l.keyPrefix=l.keyPrefix||r||s.keyPrefix);const m=i.options.keySeparator||".";let w;return l.keyPrefix&&Array.isArray(a)?w=a.map(h=>`${l.keyPrefix}${m}${h}`):w=l.keyPrefix?`${l.keyPrefix}${m}${a}`:a,i.t(w,l)};return ne(e)?s.lng=e:s.lngs=e,s.ns=n,s.keyPrefix=r,s}t(){var i;for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return(i=this.translator)==null?void 0:i.translate(...n)}exists(){var i;for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return(i=this.translator)==null?void 0:i.exists(...n)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=n.lng||this.resolvedLanguage||this.languages[0],i=this.options?this.options.fallbackLng:!1,s=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const a=(c,l)=>{const d=this.services.backendConnector.state[`${c}|${l}`];return d===-1||d===0||d===2};if(n.precheck){const c=n.precheck(this,a);if(c!==void 0)return c}return!!(this.hasResourceBundle(r,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||a(r,e)&&(!i||a(s,e)))}loadNamespaces(e,n){const r=Er();return this.options.ns?(ne(e)&&(e=[e]),e.forEach(i=>{this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}),this.loadResources(i=>{r.resolve(),n&&n(i)}),r):(n&&n(),Promise.resolve())}loadLanguages(e,n){const r=Er();ne(e)&&(e=[e]);const i=this.options.preload||[],s=e.filter(a=>i.indexOf(a)<0&&this.services.languageUtils.isSupportedCode(a));return s.length?(this.options.preload=i.concat(s),this.loadResources(a=>{r.resolve(),n&&n(a)}),r):(n&&n(),Promise.resolve())}dir(e){var i,s;if(e||(e=this.resolvedLanguage||(((i=this.languages)==null?void 0:i.length)>0?this.languages[0]:this.language)),!e)return"rtl";const n=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],r=((s=this.services)==null?void 0:s.languageUtils)||new Rd(qd());return n.indexOf(r.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new qr(e,n)}cloneInstance(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ji;const r=e.forkResourceStore;r&&delete e.forkResourceStore;const i={...this.options,...e,isClone:!0},s=new qr(i);if((e.debug!==void 0||e.prefix!==void 0)&&(s.logger=s.logger.clone(e)),["store","services","language"].forEach(c=>{s[c]=this[c]}),s.services={...this.services},s.services.utils={hasLoadedNamespace:s.hasLoadedNamespace.bind(s)},r){const c=Object.keys(this.store.data).reduce((l,d)=>(l[d]={...this.store.data[d]},Object.keys(l[d]).reduce((p,f)=>(p[f]={...l[d][f]},p),{})),{});s.store=new Pd(c,i),s.services.resourceStore=s.store}return s.translator=new ts(s.services,i),s.translator.on("*",function(c){for(var l=arguments.length,d=new Array(l>1?l-1:0),p=1;p<l;p++)d[p-1]=arguments[p];s.emit(c,...d)}),s.init(i,n),s.translator.options=i,s.translator.backendConnector.services.utils={hasLoadedNamespace:s.hasLoadedNamespace.bind(s)},s}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const B=qr.createInstance();B.createInstance=qr.createInstance;B.createInstance;B.dir;B.init;B.loadResources;B.reloadResources;B.use;B.changeLanguage;B.getFixedT;const re=B.t;B.exists;B.setDefaultNamespace;B.hasLoadedNamespace;B.loadNamespaces;B.loadLanguages;var af=t=>{const n={...{origin:"*",allowMethods:["GET","HEAD","PUT","POST","DELETE","PATCH"],allowHeaders:[],exposeHeaders:[]},...t},r=(i=>typeof i=="string"?i==="*"?()=>i:s=>i===s?s:null:typeof i=="function"?i:s=>i.includes(s)?s:null)(n.origin);return async function(s,a){var d,p;function c(f,m){s.res.headers.set(f,m)}const l=r(s.req.header("origin")||"",s);if(l&&c("Access-Control-Allow-Origin",l),n.origin!=="*"){const f=s.req.header("Vary");f?c("Vary",f):c("Vary","Origin")}if(n.credentials&&c("Access-Control-Allow-Credentials","true"),(d=n.exposeHeaders)!=null&&d.length&&c("Access-Control-Expose-Headers",n.exposeHeaders.join(",")),s.req.method==="OPTIONS"){n.maxAge!=null&&c("Access-Control-Max-Age",n.maxAge.toString()),(p=n.allowMethods)!=null&&p.length&&c("Access-Control-Allow-Methods",n.allowMethods.join(","));let f=n.allowHeaders;if(!(f!=null&&f.length)){const m=s.req.header("Access-Control-Request-Headers");m&&(f=m.split(/\s*,\s*/))}return f!=null&&f.length&&(c("Access-Control-Allow-Headers",f.join(",")),s.res.headers.append("Vary","Access-Control-Request-Headers")),s.res.headers.delete("Content-Length"),s.res.headers.delete("Content-Type"),new Response(null,{headers:s.res.headers,status:204,statusText:s.res.statusText})}await a()}};const on=o.z.object({start:o.z.number(),limit:o.z.number(),length:o.z.number()}),cf=o.z.object({created_at:o.z.string(),updated_at:o.z.string()}),lf=o.z.object({email:o.z.string().optional(),email_verified:o.z.boolean().optional(),name:o.z.string().optional(),username:o.z.string().optional(),given_name:o.z.string().optional(),phone_number:o.z.string().optional(),phone_verified:o.z.boolean().optional(),family_name:o.z.string().optional()}).catchall(o.z.any()),df=o.z.object({connection:o.z.string(),user_id:o.z.string(),provider:o.z.string(),isSocial:o.z.boolean(),access_token:o.z.string().optional(),access_token_secret:o.z.string().optional(),refresh_token:o.z.string().optional(),profileData:lf.optional()}),Zs=o.z.object({email:o.z.string().optional(),username:o.z.string().optional(),phone_number:o.z.string().optional(),given_name:o.z.string().optional(),family_name:o.z.string().optional(),nickname:o.z.string().optional(),name:o.z.string().optional(),picture:o.z.string().optional(),locale:o.z.string().optional(),linked_to:o.z.string().optional(),profileData:o.z.string().optional(),user_id:o.z.string().optional(),app_metadata:o.z.any().default({}).optional(),user_metadata:o.z.any().default({}).optional()}),ns=Zs.extend({email_verified:o.z.boolean().default(!1),verify_email:o.z.boolean().optional(),last_ip:o.z.string().optional(),last_login:o.z.string().optional(),user_id:o.z.string().optional(),provider:o.z.string().default("email"),connection:o.z.string().default("email"),is_social:o.z.boolean().optional()}),il=o.z.object({...ns.shape,...cf.shape,user_id:o.z.string(),is_social:o.z.boolean(),email:o.z.string().optional(),login_count:o.z.number(),identities:o.z.array(df).optional()}),St=il,l0=Zs.extend({email:o.z.string(),login_count:o.z.number(),multifactor:o.z.array(o.z.string()).optional(),last_ip:o.z.string().optional(),last_login:o.z.string().optional(),user_id:o.z.string()}).catchall(o.z.any()),d0="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let u0=(t=21)=>{let e="",n=crypto.getRandomValues(new Uint8Array(t));for(;t--;)e+=d0[n[t]&63];return e};const uf=o.z.object({audience:o.z.string().optional(),recipient:o.z.string().optional(),createUpnClaim:o.z.boolean().optional(),mapUnknownClaimsAsIs:o.z.boolean().optional(),passthroughClaimsWithNoMapping:o.z.boolean().optional(),mapIdentities:o.z.boolean().optional(),signatureAlgorithm:o.z.string().optional(),digestAlgorithm:o.z.string().optional(),issuer:o.z.string().optional(),destination:o.z.string().optional(),lifetimeInSeconds:o.z.number().optional(),signResponse:o.z.boolean().optional(),nameIdentifierFormat:o.z.string().optional(),nameIdentifierProbes:o.z.array(o.z.string()).optional(),authnContextClassRef:o.z.string().optional(),mappings:o.z.record(o.z.string()).optional()}),rs=o.z.object({id:o.z.string(),name:o.z.string(),callbacks:o.z.array(o.z.string()).default([]).optional().openapi({description:"Comma-separated list of URLs whitelisted to use as a callback to the client after authentication."}),allowed_origins:o.z.array(o.z.string()).default([]).optional().openapi({description:"Comma-separated list of URLs allowed to make requests from JavaScript to Auth0 API (typically used with CORS). By default, all your callback URLs will be allowed. This field allows you to enter other origins if necessary. You can also use wildcards at the subdomain level. Query strings and hash information are not taken into account when validating these URLs."}),web_origins:o.z.array(o.z.string()).default([]).optional().openapi({description:"Comma-separated list of allowed origins for use with Cross-Origin Authentication, Device Flow, and web message response mode."}),allowed_logout_urls:o.z.array(o.z.string()).default([]).optional().openapi({description:"Comma-separated list of URLs that are valid to redirect to after logout from Auth0. Wildcards are allowed for subdomains."}),allowed_clients:o.z.array(o.z.string()).default([]).optional().openapi({description:"Ids of clients that will be allowed to perform delegation requests. Clients that will be allowed to make delegation request. By default, all your clients will be allowed. This field allows you to specify specific clients"}),addons:o.z.object({samlp:uf.optional()}).default({}).optional().openapi({description:"Addons associated with the client. The key is the addon's package name and the value is an object with the configuration for the addon."}),email_validation:o.z.enum(["enabled","disabled","enforced"]).default("enforced").optional().openapi({description:"Defines if it possible to sign in with an unverified email and if verification emails will be sent. This is not available in auth0"}),client_secret:o.z.string().default(()=>u0()).optional(),disable_sign_ups:o.z.boolean().optional().default(!1).openapi({description:"Prevents users from signing up using the hosted login page. This is not available in auth0"})}),mn=o.z.object({created_at:o.z.string().transform(t=>t===null?"":t),updated_at:o.z.string().transform(t=>t===null?"":t),...rs.shape});var It=(t=>(t.TOKEN="token",t.TOKEN_ID_TOKEN="token id_token",t.CODE="code",t))(It||{}),Rt=(t=>(t.QUERY="query",t.FRAGMENT="fragment",t.FORM_POST="form_post",t.WEB_MESSAGE="web_message",t.SAML_POST="saml_post",t))(Rt||{}),Ys=(t=>(t.S256="S256",t.Plain="plain",t))(Ys||{});const Mr=o.z.object({client_id:o.z.string(),act_as:o.z.string().optional(),response_type:o.z.nativeEnum(It).optional(),response_mode:o.z.nativeEnum(Rt).optional(),redirect_uri:o.z.string().optional(),audience:o.z.string().optional(),organization:o.z.string().optional(),state:o.z.string().optional(),nonce:o.z.string().optional(),scope:o.z.string().optional(),prompt:o.z.string().optional(),code_challenge_method:o.z.nativeEnum(Ys).optional(),code_challenge:o.z.string().optional(),username:o.z.string().optional(),ui_locales:o.z.string().optional(),vendor_id:o.z.string().optional()}),Ea=o.z.object({colors:o.z.object({primary:o.z.string(),page_background:o.z.object({type:o.z.string().optional(),start:o.z.string().optional(),end:o.z.string().optional(),angle_deg:o.z.number().optional()}).optional()}).optional(),logo_url:o.z.string().optional(),favicon_url:o.z.string().optional(),font:o.z.object({url:o.z.string()}).optional()}),is=o.z.object({id:o.z.string().optional(),name:o.z.string(),strategy:o.z.string(),options:o.z.object({kid:o.z.string().optional(),team_id:o.z.string().optional(),realms:o.z.string().optional(),client_id:o.z.string().optional(),client_secret:o.z.string().optional(),app_secret:o.z.string().optional(),scope:o.z.string().optional(),authorization_endpoint:o.z.string().default("").optional(),token_endpoint:o.z.string().default("").optional(),userinfo_endpoint:o.z.string().default("").optional(),jwks_uri:o.z.string().default("").optional(),discovery_url:o.z.string().default("").optional(),issuer:o.z.string().default("").optional(),provider:o.z.string().optional(),from:o.z.string().optional(),twilio_sid:o.z.string().optional(),twilio_token:o.z.string().optional()}).default({}).optional(),enabled_clients:o.z.array(o.z.string()).default([]).optional(),response_type:o.z.custom().optional(),response_mode:o.z.custom().optional()}),Jt=o.z.object({id:o.z.string(),created_at:o.z.string().transform(t=>t===null?"":t),updated_at:o.z.string().transform(t=>t===null?"":t)}).extend(is.shape),ss=o.z.object({name:o.z.string(),audience:o.z.string(),sender_email:o.z.string().email(),sender_name:o.z.string(),support_url:o.z.string().url().optional(),logo:o.z.string().url().optional(),primary_color:o.z.string().optional(),secondary_color:o.z.string().optional(),language:o.z.string().optional(),id:o.z.string().optional()}),Jn=o.z.object({created_at:o.z.string().transform(t=>t===null?"":t),updated_at:o.z.string().transform(t=>t===null?"":t),...ss.shape,id:o.z.string()}),pf=o.z.object({logoUrl:o.z.string(),loginBackgroundImage:o.z.string().nullish(),style:o.z.object({primaryColor:o.z.string(),buttonTextColor:o.z.string(),primaryHoverColor:o.z.string()}),supportEmail:o.z.string().nullable(),supportUrl:o.z.string().nullable(),name:o.z.string(),showGreyishBackground:o.z.boolean().optional(),termsAndConditionsUrl:o.z.string().nullable(),companyName:o.z.string().optional(),checkoutHideSocial:o.z.boolean().optional(),siteUrl:o.z.string().nullable(),manageSubscriptionsUrl:o.z.string().optional()});o.z.object({...mn.shape,tenant:Jn,connections:o.z.array(Jt)});const ff=o.z.enum(["password_reset","email_verification","otp","authorization_code","oauth2_state","ticket"]),hf=o.z.object({code_id:o.z.string().openapi({description:"The code that will be used in for instance an email verification flow"}),login_id:o.z.string().openapi({description:"The id of the login session that the code is connected to"}),connection_id:o.z.string().optional().openapi({description:"The connection that the code is connected to"}),code_type:ff,code_verifier:o.z.string().optional().openapi({description:"The code verifier used in PKCE in outbound flows"}),expires_at:o.z.string(),used_at:o.z.string().optional(),user_id:o.z.string().optional()}),p0=o.z.object({...hf.shape,created_at:o.z.string()}),sl=o.z.object({domain:o.z.string(),custom_domain_id:o.z.string().optional(),type:o.z.enum(["auth0_managed_certs","self_managed_certs"]),verification_method:o.z.enum(["txt"]).optional(),tls_policy:o.z.enum(["recommended"]).optional(),custom_client_ip_header:o.z.enum(["true-client-ip","cf-connecting-ip","x-forwarded-for","x-azure-clientip","null"]).optional(),domain_metadata:o.z.record(o.z.string().max(255)).optional()}),gf=o.z.object({name:o.z.literal("txt"),record:o.z.string(),domain:o.z.string()}),Gt=o.z.object({...sl.shape,custom_domain_id:o.z.string(),primary:o.z.boolean(),status:o.z.enum(["disabled","pending","pending_verification","ready"]),origin_domain_name:o.z.string().optional(),verification:o.z.object({methods:o.z.array(gf)}).optional(),tls_policy:o.z.string().optional()}),f0=Gt.extend({tenant_id:o.z.string()}),os=o.z.object({trigger_id:o.z.enum(["pre-user-signup","post-user-registration","post-user-login"]),enabled:o.z.boolean().default(!1),url:o.z.string(),hook_id:o.z.string().optional(),synchronous:o.z.boolean().default(!1),priority:o.z.number().optional()}),Kn=os.extend({...cf.shape,hook_id:o.z.string()}),ol=o.z.object({alg:o.z.enum(["RS256","RS384","RS512","ES256","ES384","ES512","HS256","HS384","HS512"]),e:o.z.string(),kid:o.z.string(),kty:o.z.enum(["RSA","EC","oct"]),n:o.z.string(),x5t:o.z.string().optional(),x5c:o.z.array(o.z.string()).optional(),use:o.z.enum(["sig","enc"]).optional()}),mf=o.z.object({keys:o.z.array(ol)}),Ia=o.z.object({issuer:o.z.string(),authorization_endpoint:o.z.string(),token_endpoint:o.z.string(),device_authorization_endpoint:o.z.string(),userinfo_endpoint:o.z.string(),mfa_challenge_endpoint:o.z.string(),jwks_uri:o.z.string(),registration_endpoint:o.z.string(),revocation_endpoint:o.z.string(),scopes_supported:o.z.array(o.z.string()),response_types_supported:o.z.array(o.z.string()),code_challenge_methods_supported:o.z.array(o.z.string()),response_modes_supported:o.z.array(o.z.string()),subject_types_supported:o.z.array(o.z.string()),id_token_signing_alg_values_supported:o.z.array(o.z.string()),token_endpoint_auth_methods_supported:o.z.array(o.z.string()),claims_supported:o.z.array(o.z.string()),request_uri_parameter_supported:o.z.boolean(),request_parameter_supported:o.z.boolean(),token_endpoint_auth_signing_alg_values_supported:o.z.array(o.z.string())}),_f=o.z.object({csrf_token:o.z.string(),auth0Client:o.z.string().optional(),authParams:Mr,expires_at:o.z.string(),deleted_at:o.z.string().optional(),ip:o.z.string().optional(),useragent:o.z.string().optional(),session_id:o.z.string().optional(),authorization_url:o.z.string().optional()}).openapi({description:"This represents a login sesion"}),h0=o.z.object({..._f.shape,id:o.z.string().openapi({description:"This is is used as the state in the universal login"}),created_at:o.z.string(),updated_at:o.z.string()});var he=(t=>(t.FAILED_SILENT_AUTH="fsa",t.FAILED_SIGNUP="fs",t.FAILED_LOGIN="f",t.FAILED_LOGIN_INCORRECT_PASSWORD="fp",t.FAILED_CHANGE_PASSWORD="fcp",t.FAILED_BY_CONNECTOR="fc",t.FAILED_LOGIN_INVALID_EMAIL_USERNAME="fu",t.FAILED_HOOK="fh",t.FAILED_CROSS_ORIGIN_AUTHENTICATION="fcoa",t.SUCCESS_API_OPERATION="sapi",t.SUCCESS_CHANGE_PASSWORD="scp",t.SUCCESS_CHANGE_PASSWORD_REQUEST="scpr",t.SUCCESS_CHANGE_USERNAME="scu",t.SUCCESS_CROSS_ORIGIN_AUTHENTICATION="scoa",t.SUCCESS_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN="seacft",t.SUCCESS_EXCHANGE_REFRESH_TOKEN_FOR_ACCESS_TOKEN="serft",t.SUCCESS_LOGIN="s",t.SUCCESS_LOGOUT="slo",t.SUCCESS_SIGNUP="ss",t.SUCCESS_SILENT_AUTH="ssa",t.SUCCESS_VERIFICATION_EMAIL="sv",t.SUCCESS_VERIFICATION_EMAIL_REQUEST="svr",t.CODE_LINK_SENT="cls",t.BLOCKED_ACCOUNT_EMAIL="limit_wc",t.BLOCKED_ACCOUNT_IP="limit_sul",t.BLOCKED_IP_ADDRESS="limit_mu",t))(he||{});const g0=o.z.enum(["cls","fsa","fs","f","fc","fcoa","fcp","fh","fp","fs","fu","s","sapi","scoa","scp","scpr","scu","seacft","serft","slo","ss","ssa","sv","svr"]),yf=o.z.object({name:o.z.string(),version:o.z.string(),env:o.z.object({node:o.z.string().optional()}).optional()}),as=o.z.object({type:g0,date:o.z.string(),description:o.z.string().optional(),log_id:o.z.string().optional(),_id:o.z.string().optional(),ip:o.z.string(),user_agent:o.z.string(),details:o.z.any().optional(),isMobile:o.z.boolean(),user_id:o.z.string().optional(),user_name:o.z.string().optional(),connection:o.z.string().optional(),connection_id:o.z.string().optional(),client_id:o.z.string().optional(),client_name:o.z.string().optional(),audience:o.z.string().optional(),scope:o.z.array(o.z.string()).optional(),strategy:o.z.string().optional(),strategy_type:o.z.string().optional(),hostname:o.z.string().optional(),auth0_client:yf.optional()}),wf=o.z.object({user_id:o.z.string(),password:o.z.string(),algorithm:o.z.enum(["bcrypt","argon2id"]).default("argon2id")}),m0=o.z.object({...wf.shape,created_at:o.z.string(),updated_at:o.z.string()}),vf=o.z.object({initial_user_agent:o.z.string().describe("First user agent of the device from which this user logged in"),initial_ip:o.z.string().describe("First IP address associated with this session"),initial_asn:o.z.string().describe("First autonomous system number associated with this session"),last_user_agent:o.z.string().describe("Last user agent of the device from which this user logged in"),last_ip:o.z.string().describe("Last IP address from which this user logged in"),last_asn:o.z.string().describe("Last autonomous system number from which this user logged in")}),bf=o.z.object({id:o.z.string(),revoked_at:o.z.string().optional(),used_at:o.z.string().optional(),user_id:o.z.string().describe("The user ID associated with the session"),expires_at:o.z.string().optional(),idle_expires_at:o.z.string().optional(),device:vf.describe("Metadata related to the device used in the session"),clients:o.z.array(o.z.string()).describe("List of client details for the session")}),Xs=o.z.object({created_at:o.z.string(),updated_at:o.z.string(),authenticated_at:o.z.string(),last_interaction_at:o.z.string(),...bf.shape}),Ca=o.z.object({kid:o.z.string().openapi({description:"The key id of the signing key"}),cert:o.z.string().openapi({description:"The public certificate of the signing key"}),fingerprint:o.z.string().openapi({description:"The cert fingerprint"}),thumbprint:o.z.string().openapi({description:"The cert thumbprint"}),pkcs7:o.z.string().optional().openapi({description:"The private key in pkcs7 format"}),current:o.z.boolean().optional().openapi({description:"True if the key is the current key"}),next:o.z.boolean().optional().openapi({description:"True if the key is the next key"}),previous:o.z.boolean().optional().openapi({description:"True if the key is the previous key"}),current_since:o.z.string().optional().openapi({description:"The date and time when the key became the current key"}),current_until:o.z.string().optional().openapi({description:"The date and time when the current key was rotated"}),revoked:o.z.boolean().optional().openapi({description:"True if the key is revoked"}),revoked_at:o.z.string().optional().openapi({description:"The date and time when the key was revoked"})});var Wn=(t=>(t.RefreshToken="refresh_token",t.AuthorizationCode="authorization_code",t.ClientCredential="client_credentials",t.Passwordless="passwordless",t.Password="password",t.OTP="http://auth0.com/oauth/grant-type/passwordless/otp",t))(Wn||{});const xf=o.z.object({access_token:o.z.string(),id_token:o.z.string().optional(),scope:o.z.string().optional(),state:o.z.string().optional(),refresh_token:o.z.string().optional(),token_type:o.z.string(),expires_in:o.z.number()});o.z.object({code:o.z.string(),state:o.z.string().optional()});const kf=o.z.object({button_border_radius:o.z.number(),button_border_weight:o.z.number(),buttons_style:o.z.enum(["pill"]),input_border_radius:o.z.number(),input_border_weight:o.z.number(),inputs_style:o.z.enum(["pill"]),show_widget_shadow:o.z.boolean(),widget_border_weight:o.z.number(),widget_corner_radius:o.z.number()}),Sf=o.z.object({base_focus_color:o.z.string(),base_hover_color:o.z.string(),body_text:o.z.string(),captcha_widget_theme:o.z.enum(["auto"]),error:o.z.string(),header:o.z.string(),icons:o.z.string(),input_background:o.z.string(),input_border:o.z.string(),input_filled_text:o.z.string(),input_labels_placeholders:o.z.string(),links_focused_components:o.z.string(),primary_button:o.z.string(),primary_button_label:o.z.string(),secondary_button_border:o.z.string(),secondary_button_label:o.z.string(),success:o.z.string(),widget_background:o.z.string(),widget_border:o.z.string()}),hn=o.z.object({bold:o.z.boolean(),size:o.z.number()}),Af=o.z.object({body_text:hn,buttons_text:hn,font_url:o.z.string(),input_labels:hn,links:hn,links_style:o.z.enum(["normal"]),reference_text_size:o.z.number(),subtitle:hn,title:hn}),zf=o.z.object({background_color:o.z.string(),background_image_url:o.z.string(),page_layout:o.z.enum(["center"])}),Ef=o.z.object({header_text_alignment:o.z.enum(["center"]),logo_height:o.z.number(),logo_position:o.z.enum(["center"]),logo_url:o.z.string(),social_buttons_layout:o.z.enum(["bottom"])}),If=o.z.object({borders:kf,colors:Sf,displayName:o.z.string(),fonts:Af,page_background:zf,widget:Ef}),_0=If.extend({themeId:o.z.string()}),Li=o.z.object({universal_login_experience:o.z.enum(["new","classic"]).default("new"),identifier_first:o.z.boolean().default(!0),password_first:o.z.boolean().default(!1),webauthn_platform_first_factor:o.z.boolean()}),Ui=o.z.object({name:o.z.string(),enabled:o.z.boolean().optional().default(!0),default_from_address:o.z.string().optional(),credentials:o.z.union([o.z.object({accessKeyId:o.z.string(),secretAccessKey:o.z.string(),region:o.z.string()}),o.z.object({smtp_host:o.z.array(o.z.string()),smtp_port:o.z.number(),smtp_user:o.z.string(),smtp_pass:o.z.string()}),o.z.object({api_key:o.z.string(),domain:o.z.string().optional()}),o.z.object({connectionString:o.z.string()}),o.z.object({tenantId:o.z.string(),clientId:o.z.string(),clientSecret:o.z.string()})]),settings:o.z.object({}).optional()}),al=o.z.object({id:o.z.string(),session_id:o.z.string(),user_id:o.z.string(),client_id:o.z.string(),expires_at:o.z.string().optional(),idle_expires_at:o.z.string().optional(),last_exchanged_at:o.z.string().optional(),device:vf,resource_servers:o.z.array(o.z.object({audience:o.z.string(),scopes:o.z.string()})),rotating:o.z.boolean()}),y0=o.z.object({created_at:o.z.string(),...al.shape}),w0=o.z.object({to:o.z.string(),message:o.z.string()}),v0=o.z.object({name:o.z.string(),options:o.z.object({})});function b0(t){const[e,n]=t.split("|");if(!e||!n)throw new Error(`Invalid user_id: ${t}`);return{connection:e,id:n}}const x0=new o.OpenAPIHono().openapi(o.createRoute({tags:["branding"],method:"get",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Ea}},description:"Branding settings"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=await t.env.data.branding.get(e);return n?t.json(n):t.json({})}).openapi(o.createRoute({tags:["branding"],method:"patch",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object(Ea.shape).partial()}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Branding settings"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json");return await t.env.data.branding.set(e,n),t.text("OK")});var I=class extends Error{constructor(e=500,n){super(n==null?void 0:n.message,{cause:n==null?void 0:n.cause});te(this,"res");te(this,"status");this.res=n==null?void 0:n.res,this.status=e}getResponse(){return this.res?new Response(this.res.body,{status:this.status,headers:this.res.headers}):new Response(this.message,{status:this.status})}},cs=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Cf(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function k0(t){if(t.__esModule)return t;var e=t.default;if(typeof e=="function"){var n=function r(){return this instanceof r?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};n.prototype=e.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(t).forEach(function(r){var i=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(n,r,i.get?i:{enumerable:!0,get:function(){return t[r]}})}),n}function S0(t){throw new Error('Could not dynamically require "'+t+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Nf={exports:{}};const A0={},z0=Object.freeze(Object.defineProperty({__proto__:null,default:A0},Symbol.toStringTag,{value:"Module"})),E0=k0(z0);(function(t){/**
1
+ "use strict";var Dm=Object.defineProperty;var Hm=(t,e,n)=>e in t?Dm(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var te=(t,e,n)=>Hm(t,typeof e!="symbol"?e+"":e,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("@hono/zod-openapi"),ne=t=>typeof t=="string",Er=()=>{let t,e;const n=new Promise((r,i)=>{t=r,e=i});return n.resolve=t,n.reject=e,n},Nd=t=>t==null?"":""+t,Fm=(t,e,n)=>{t.forEach(r=>{e[r]&&(n[r]=e[r])})},Km=/###/g,jd=t=>t&&t.indexOf("###")>-1?t.replace(Km,"."):t,$d=t=>!t||ne(t),Tr=(t,e,n)=>{const r=ne(e)?e.split("."):e;let i=0;for(;i<r.length-1;){if($d(t))return{};const s=jd(r[i]);!t[s]&&n&&(t[s]=new n),Object.prototype.hasOwnProperty.call(t,s)?t=t[s]:t={},++i}return $d(t)?{}:{obj:t,k:jd(r[i])}},Od=(t,e,n)=>{const{obj:r,k:i}=Tr(t,e,Object);if(r!==void 0||e.length===1){r[i]=n;return}let s=e[e.length-1],a=e.slice(0,e.length-1),c=Tr(t,a,Object);for(;c.obj===void 0&&a.length;)s=`${a[a.length-1]}.${s}`,a=a.slice(0,a.length-1),c=Tr(t,a,Object),c!=null&&c.obj&&typeof c.obj[`${c.k}.${s}`]<"u"&&(c.obj=void 0);c.obj[`${c.k}.${s}`]=n},Wm=(t,e,n,r)=>{const{obj:i,k:s}=Tr(t,e,Object);i[s]=i[s]||[],i[s].push(n)},Xi=(t,e)=>{const{obj:n,k:r}=Tr(t,e);if(n&&Object.prototype.hasOwnProperty.call(n,r))return n[r]},Gm=(t,e,n)=>{const r=Xi(t,n);return r!==void 0?r:Xi(e,n)},rf=(t,e,n)=>{for(const r in e)r!=="__proto__"&&r!=="constructor"&&(r in t?ne(t[r])||t[r]instanceof String||ne(e[r])||e[r]instanceof String?n&&(t[r]=e[r]):rf(t[r],e[r],n):t[r]=e[r]);return t},Vn=t=>t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var Jm={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};const Zm=t=>ne(t)?t.replace(/[&<>"'\/]/g,e=>Jm[e]):t;class Ym{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const n=this.regExpMap.get(e);if(n!==void 0)return n;const r=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,r),this.regExpQueue.push(e),r}}const Xm=[" ",",","?","!",";"],Qm=new Ym(20),e0=(t,e,n)=>{e=e||"",n=n||"";const r=Xm.filter(a=>e.indexOf(a)<0&&n.indexOf(a)<0);if(r.length===0)return!0;const i=Qm.getRegExp(`(${r.map(a=>a==="?"?"\\?":a).join("|")})`);let s=!i.test(t);if(!s){const a=t.indexOf(n);a>0&&!i.test(t.substring(0,a))&&(s=!0)}return s},Aa=function(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!t)return;if(t[e])return Object.prototype.hasOwnProperty.call(t,e)?t[e]:void 0;const r=e.split(n);let i=t;for(let s=0;s<r.length;){if(!i||typeof i!="object")return;let a,c="";for(let l=s;l<r.length;++l)if(l!==s&&(c+=n),c+=r[l],a=i[c],a!==void 0){if(["string","number","boolean"].indexOf(typeof a)>-1&&l<r.length-1)continue;s+=l-s+1;break}i=a}return i},Qi=t=>t==null?void 0:t.replace("_","-"),t0={type:"logger",log(t){this.output("log",t)},warn(t){this.output("warn",t)},error(t){this.output("error",t)},output(t,e){var n,r;(r=(n=console==null?void 0:console[t])==null?void 0:n.apply)==null||r.call(n,console,e)}};class es{constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(e,n)}init(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=n.prefix||"i18next:",this.logger=e||t0,this.options=n,this.debug=n.debug}log(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return this.forward(n,"log","",!0)}warn(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return this.forward(n,"warn","",!0)}error(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return this.forward(n,"error","")}deprecate(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return this.forward(n,"warn","WARNING DEPRECATED: ",!0)}forward(e,n,r,i){return i&&!this.debug?null:(ne(e[0])&&(e[0]=`${r}${this.prefix} ${e[0]}`),this.logger[n](e))}create(e){return new es(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return e=e||this.options,e.prefix=e.prefix||this.prefix,new es(this.logger,e)}}var At=new es;class Js{constructor(){this.observers={}}on(e,n){return e.split(" ").forEach(r=>{this.observers[r]||(this.observers[r]=new Map);const i=this.observers[r].get(n)||0;this.observers[r].set(n,i+1)}),this}off(e,n){if(this.observers[e]){if(!n){delete this.observers[e];return}this.observers[e].delete(n)}}emit(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];this.observers[e]&&Array.from(this.observers[e].entries()).forEach(a=>{let[c,l]=a;for(let d=0;d<l;d++)c(...r)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(a=>{let[c,l]=a;for(let d=0;d<l;d++)c.apply(c,[e,...r])})}}class Td extends Js{constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=e||{},this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const n=this.options.ns.indexOf(e);n>-1&&this.options.ns.splice(n,1)}getResource(e,n,r){var d,p;let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const s=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,a=i.ignoreJSONStructure!==void 0?i.ignoreJSONStructure:this.options.ignoreJSONStructure;let c;e.indexOf(".")>-1?c=e.split("."):(c=[e,n],r&&(Array.isArray(r)?c.push(...r):ne(r)&&s?c.push(...r.split(s)):c.push(r)));const l=Xi(this.data,c);return!l&&!n&&!r&&e.indexOf(".")>-1&&(e=c[0],n=c[1],r=c.slice(2).join(".")),l||!a||!ne(r)?l:Aa((p=(d=this.data)==null?void 0:d[e])==null?void 0:p[n],r,s)}addResource(e,n,r,i){let s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const a=s.keySeparator!==void 0?s.keySeparator:this.options.keySeparator;let c=[e,n];r&&(c=c.concat(a?r.split(a):r)),e.indexOf(".")>-1&&(c=e.split("."),i=n,n=c[1]),this.addNamespaces(n),Od(this.data,c,i),s.silent||this.emit("added",e,n,r,i)}addResources(e,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const s in r)(ne(r[s])||Array.isArray(r[s]))&&this.addResource(e,n,s,r[s],{silent:!0});i.silent||this.emit("added",e,n,r)}addResourceBundle(e,n,r,i,s){let a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1,skipCopy:!1},c=[e,n];e.indexOf(".")>-1&&(c=e.split("."),i=r,r=n,n=c[1]),this.addNamespaces(n);let l=Xi(this.data,c)||{};a.skipCopy||(r=JSON.parse(JSON.stringify(r))),i?rf(l,r,s):l={...l,...r},Od(this.data,c,l),a.silent||this.emit("added",e,n,r)}removeResourceBundle(e,n){this.hasResourceBundle(e,n)&&delete this.data[e][n],this.removeNamespaces(n),this.emit("removed",e,n)}hasResourceBundle(e,n){return this.getResource(e,n)!==void 0}getResourceBundle(e,n){return n||(n=this.options.defaultNS),this.getResource(e,n)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const n=this.getDataByLanguage(e);return!!(n&&Object.keys(n)||[]).find(i=>n[i]&&Object.keys(n[i]).length>0)}toJSON(){return this.data}}var sf={processors:{},addPostProcessor(t){this.processors[t.name]=t},handle(t,e,n,r,i){return t.forEach(s=>{var a;e=((a=this.processors[s])==null?void 0:a.process(e,n,r,i))??e}),e}};const Pd={};class ts extends Js{constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),Fm(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=At.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(e==null)return!1;const r=this.resolve(e,n);return(r==null?void 0:r.res)!==void 0}extractFromKey(e,n){let r=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const i=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let s=n.ns||this.options.defaultNS||[];const a=r&&e.indexOf(r)>-1,c=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!e0(e,r,i);if(a&&!c){const l=e.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:e,namespaces:ne(s)?[s]:s};const d=e.split(r);(r!==i||r===i&&this.options.ns.indexOf(d[0])>-1)&&(s=d.shift()),e=d.join(i)}return{key:e,namespaces:ne(s)?[s]:s}}translate(e,n,r){if(typeof n!="object"&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),typeof n=="object"&&(n={...n}),n||(n={}),e==null)return"";Array.isArray(e)||(e=[String(e)]);const i=n.returnDetails!==void 0?n.returnDetails:this.options.returnDetails,s=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,{key:a,namespaces:c}=this.extractFromKey(e[e.length-1],n),l=c[c.length-1],d=n.lng||this.language,p=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if((d==null?void 0:d.toLowerCase())==="cimode"){if(p){const L=n.nsSeparator||this.options.nsSeparator;return i?{res:`${l}${L}${a}`,usedKey:a,exactUsedKey:a,usedLng:d,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:`${l}${L}${a}`}return i?{res:a,usedKey:a,exactUsedKey:a,usedLng:d,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:a}const f=this.resolve(e,n);let m=f==null?void 0:f.res;const w=(f==null?void 0:f.usedKey)||a,h=(f==null?void 0:f.exactUsedKey)||a,_=Object.prototype.toString.apply(m),v=["[object Number]","[object Function]","[object RegExp]"],A=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,C=!this.i18nFormat||this.i18nFormat.handleAsObject,O=!ne(m)&&typeof m!="boolean"&&typeof m!="number";if(C&&m&&O&&v.indexOf(_)<0&&!(ne(A)&&Array.isArray(m))){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const L=this.options.returnedObjectHandler?this.options.returnedObjectHandler(w,m,{...n,ns:c}):`key '${a} (${this.language})' returned an object instead of string.`;return i?(f.res=L,f.usedParams=this.getUsedParamsDetails(n),f):L}if(s){const L=Array.isArray(m),Q=L?[]:{},ce=L?h:w;for(const le in m)if(Object.prototype.hasOwnProperty.call(m,le)){const He=`${ce}${s}${le}`;Q[le]=this.translate(He,{...n,joinArrays:!1,ns:c}),Q[le]===He&&(Q[le]=m[le])}m=Q}}else if(C&&ne(A)&&Array.isArray(m))m=m.join(A),m&&(m=this.extendTranslation(m,e,n,r));else{let L=!1,Q=!1;const ce=n.count!==void 0&&!ne(n.count),le=ts.hasDefaultValue(n),He=ce?this.pluralResolver.getSuffix(d,n.count,n):"",Ve=n.ordinal&&ce?this.pluralResolver.getSuffix(d,n.count,{ordinal:!1}):"",Re=ce&&!n.ordinal&&n.count===0,j=Re&&n[`defaultValue${this.options.pluralSeparator}zero`]||n[`defaultValue${He}`]||n[`defaultValue${Ve}`]||n.defaultValue;!this.isValidLookup(m)&&le&&(L=!0,m=j),this.isValidLookup(m)||(Q=!0,m=a);const z=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&Q?void 0:m,k=le&&j!==m&&this.options.updateMissing;if(Q||L||k){if(this.logger.log(k?"updateKey":"missingKey",d,l,a,k?j:m),s){const X=this.resolve(a,{...n,keySeparator:!1});X&&X.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let x=[];const $=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&$&&$[0])for(let X=0;X<$.length;X++)x.push($[X]);else this.options.saveMissingTo==="all"?x=this.languageUtils.toResolveHierarchy(n.lng||this.language):x.push(n.lng||this.language);const U=(X,G,se)=>{var H;const ue=le&&se!==m?se:z;this.options.missingKeyHandler?this.options.missingKeyHandler(X,l,G,ue,k,n):(H=this.backendConnector)!=null&&H.saveMissing&&this.backendConnector.saveMissing(X,l,G,ue,k,n),this.emit("missingKey",X,l,G,m)};this.options.saveMissing&&(this.options.saveMissingPlurals&&ce?x.forEach(X=>{const G=this.pluralResolver.getSuffixes(X,n);Re&&n[`defaultValue${this.options.pluralSeparator}zero`]&&G.indexOf(`${this.options.pluralSeparator}zero`)<0&&G.push(`${this.options.pluralSeparator}zero`),G.forEach(se=>{U([X],a+se,n[`defaultValue${se}`]||j)})}):U(x,a,j))}m=this.extendTranslation(m,e,n,f,r),Q&&m===a&&this.options.appendNamespaceToMissingKey&&(m=`${l}:${a}`),(Q||L)&&this.options.parseMissingKeyHandler&&(m=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${a}`:a,L?m:void 0))}return i?(f.res=m,f.usedParams=this.getUsedParamsDetails(n),f):m}extendTranslation(e,n,r,i,s){var d,p;var a=this;if((d=this.i18nFormat)!=null&&d.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const f=ne(e)&&(((p=r==null?void 0:r.interpolation)==null?void 0:p.skipOnVariables)!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let m;if(f){const h=e.match(this.interpolator.nestingRegexp);m=h&&h.length}let w=r.replace&&!ne(r.replace)?r.replace:r;if(this.options.interpolation.defaultVariables&&(w={...this.options.interpolation.defaultVariables,...w}),e=this.interpolator.interpolate(e,w,r.lng||this.language||i.usedLng,r),f){const h=e.match(this.interpolator.nestingRegexp),_=h&&h.length;m<_&&(r.nest=!1)}!r.lng&&i&&i.res&&(r.lng=this.language||i.usedLng),r.nest!==!1&&(e=this.interpolator.nest(e,function(){for(var h=arguments.length,_=new Array(h),v=0;v<h;v++)_[v]=arguments[v];return(s==null?void 0:s[0])===_[0]&&!r.context?(a.logger.warn(`It seems you are nesting recursively key: ${_[0]} in key: ${n[0]}`),null):a.translate(..._,n)},r)),r.interpolation&&this.interpolator.reset()}const c=r.postProcess||this.options.postProcess,l=ne(c)?[c]:c;return e!=null&&(l!=null&&l.length)&&r.applyPostProcessor!==!1&&(e=sf.handle(l,e,n,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...i,usedParams:this.getUsedParamsDetails(r)},...r}:r,this)),e}resolve(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r,i,s,a,c;return ne(e)&&(e=[e]),e.forEach(l=>{if(this.isValidLookup(r))return;const d=this.extractFromKey(l,n),p=d.key;i=p;let f=d.namespaces;this.options.fallbackNS&&(f=f.concat(this.options.fallbackNS));const m=n.count!==void 0&&!ne(n.count),w=m&&!n.ordinal&&n.count===0,h=n.context!==void 0&&(ne(n.context)||typeof n.context=="number")&&n.context!=="",_=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);f.forEach(v=>{var A,C;this.isValidLookup(r)||(c=v,!Pd[`${_[0]}-${v}`]&&((A=this.utils)!=null&&A.hasLoadedNamespace)&&!((C=this.utils)!=null&&C.hasLoadedNamespace(c))&&(Pd[`${_[0]}-${v}`]=!0,this.logger.warn(`key "${i}" for languages "${_.join(", ")}" won't get resolved as namespace "${c}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),_.forEach(O=>{var ce;if(this.isValidLookup(r))return;a=O;const L=[p];if((ce=this.i18nFormat)!=null&&ce.addLookupKeys)this.i18nFormat.addLookupKeys(L,p,O,v,n);else{let le;m&&(le=this.pluralResolver.getSuffix(O,n.count,n));const He=`${this.options.pluralSeparator}zero`,Ve=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(m&&(L.push(p+le),n.ordinal&&le.indexOf(Ve)===0&&L.push(p+le.replace(Ve,this.options.pluralSeparator)),w&&L.push(p+He)),h){const Re=`${p}${this.options.contextSeparator}${n.context}`;L.push(Re),m&&(L.push(Re+le),n.ordinal&&le.indexOf(Ve)===0&&L.push(Re+le.replace(Ve,this.options.pluralSeparator)),w&&L.push(Re+He))}}let Q;for(;Q=L.pop();)this.isValidLookup(r)||(s=Q,r=this.getResource(O,v,Q,n))}))})}),{res:r,usedKey:i,exactUsedKey:s,usedLng:a,usedNS:c}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e==="")}getResource(e,n,r){var s;let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return(s=this.i18nFormat)!=null&&s.getResource?this.i18nFormat.getResource(e,n,r,i):this.resourceStore.getResource(e,n,r,i)}getUsedParamsDetails(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const n=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],r=e.replace&&!ne(e.replace);let i=r?e.replace:e;if(r&&typeof e.count<"u"&&(i.count=e.count),this.options.interpolation.defaultVariables&&(i={...this.options.interpolation.defaultVariables,...i}),!r){i={...i};for(const s of n)delete i[s]}return i}static hasDefaultValue(e){const n="defaultValue";for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&n===r.substring(0,n.length)&&e[r]!==void 0)return!0;return!1}}class Bd{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=At.create("languageUtils")}getScriptPartFromCode(e){if(e=Qi(e),!e||e.indexOf("-")<0)return null;const n=e.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(e){if(e=Qi(e),!e||e.indexOf("-")<0)return e;const n=e.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(e){if(ne(e)&&e.indexOf("-")>-1){let n;try{n=Intl.getCanonicalLocales(e)[0]}catch{}return n&&this.options.lowerCaseLng&&(n=n.toLowerCase()),n||(this.options.lowerCaseLng?e.toLowerCase():e)}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let n;return e.forEach(r=>{if(n)return;const i=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(i))&&(n=i)}),!n&&this.options.supportedLngs&&e.forEach(r=>{if(n)return;const i=this.getLanguagePartFromCode(r);if(this.isSupportedCode(i))return n=i;n=this.options.supportedLngs.find(s=>{if(s===i)return s;if(!(s.indexOf("-")<0&&i.indexOf("-")<0)&&(s.indexOf("-")>0&&i.indexOf("-")<0&&s.substring(0,s.indexOf("-"))===i||s.indexOf(i)===0&&i.length>1))return s})}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(e,n){if(!e)return[];if(typeof e=="function"&&(e=e(n)),ne(e)&&(e=[e]),Array.isArray(e))return e;if(!n)return e.default||[];let r=e[n];return r||(r=e[this.getScriptPartFromCode(n)]),r||(r=e[this.formatLanguageCode(n)]),r||(r=e[this.getLanguagePartFromCode(n)]),r||(r=e.default),r||[]}toResolveHierarchy(e,n){const r=this.getFallbackCodes(n||this.options.fallbackLng||[],e),i=[],s=a=>{a&&(this.isSupportedCode(a)?i.push(a):this.logger.warn(`rejecting language code not found in supportedLngs: ${a}`))};return ne(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&s(this.formatLanguageCode(e)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&s(this.getScriptPartFromCode(e)),this.options.load!=="currentOnly"&&s(this.getLanguagePartFromCode(e))):ne(e)&&s(this.formatLanguageCode(e)),r.forEach(a=>{i.indexOf(a)<0&&s(this.formatLanguageCode(a))}),i}}const Rd={zero:0,one:1,two:2,few:3,many:4,other:5},Ld={select:t=>t===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class n0{constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=e,this.options=n,this.logger=At.create("pluralResolver"),this.pluralRulesCache={}}addRule(e,n){this.rules[e]=n}clearCache(){this.pluralRulesCache={}}getRule(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=Qi(e==="dev"?"en":e),i=n.ordinal?"ordinal":"cardinal",s=JSON.stringify({cleanedCode:r,type:i});if(s in this.pluralRulesCache)return this.pluralRulesCache[s];let a;try{a=new Intl.PluralRules(r,{type:i})}catch{if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),Ld;if(!e.match(/-|_/))return Ld;const l=this.languageUtils.getLanguagePartFromCode(e);a=this.getRule(l,n)}return this.pluralRulesCache[s]=a,a}needsPlural(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=this.getRule(e,n);return r||(r=this.getRule("dev",n)),(r==null?void 0:r.resolvedOptions().pluralCategories.length)>1}getPluralFormsOfKey(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(e,r).map(i=>`${n}${i}`)}getSuffixes(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=this.getRule(e,n);return r||(r=this.getRule("dev",n)),r?r.resolvedOptions().pluralCategories.sort((i,s)=>Rd[i]-Rd[s]).map(i=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${i}`):[]}getSuffix(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const i=this.getRule(e,r);return i?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${i.select(n)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",n,r))}}const Ud=function(t,e,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=Gm(t,e,n);return!s&&i&&ne(n)&&(s=Aa(t,n,r),s===void 0&&(s=Aa(e,n,r))),s},ra=t=>t.replace(/\$/g,"$$$$");class r0{constructor(){var n;let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=At.create("interpolator"),this.options=e,this.format=((n=e==null?void 0:e.interpolation)==null?void 0:n.format)||(r=>r),this.init(e)}init(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});const{escape:n,escapeValue:r,useRawValueToEscape:i,prefix:s,prefixEscaped:a,suffix:c,suffixEscaped:l,formatSeparator:d,unescapeSuffix:p,unescapePrefix:f,nestingPrefix:m,nestingPrefixEscaped:w,nestingSuffix:h,nestingSuffixEscaped:_,nestingOptionsSeparator:v,maxReplaces:A,alwaysFormat:C}=e.interpolation;this.escape=n!==void 0?n:Zm,this.escapeValue=r!==void 0?r:!0,this.useRawValueToEscape=i!==void 0?i:!1,this.prefix=s?Vn(s):a||"{{",this.suffix=c?Vn(c):l||"}}",this.formatSeparator=d||",",this.unescapePrefix=p?"":f||"-",this.unescapeSuffix=this.unescapePrefix?"":p||"",this.nestingPrefix=m?Vn(m):w||Vn("$t("),this.nestingSuffix=h?Vn(h):_||Vn(")"),this.nestingOptionsSeparator=v||",",this.maxReplaces=A||1e3,this.alwaysFormat=C!==void 0?C:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(n,r)=>(n==null?void 0:n.source)===r?(n.lastIndex=0,n):new RegExp(r,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(e,n,r,i){var w;let s,a,c;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},d=h=>{if(h.indexOf(this.formatSeparator)<0){const C=Ud(n,l,h,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(C,void 0,r,{...i,...n,interpolationkey:h}):C}const _=h.split(this.formatSeparator),v=_.shift().trim(),A=_.join(this.formatSeparator).trim();return this.format(Ud(n,l,v,this.options.keySeparator,this.options.ignoreJSONStructure),A,r,{...i,...n,interpolationkey:v})};this.resetRegExp();const p=(i==null?void 0:i.missingInterpolationHandler)||this.options.missingInterpolationHandler,f=((w=i==null?void 0:i.interpolation)==null?void 0:w.skipOnVariables)!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:h=>ra(h)},{regex:this.regexp,safeValue:h=>this.escapeValue?ra(this.escape(h)):ra(h)}].forEach(h=>{for(c=0;s=h.regex.exec(e);){const _=s[1].trim();if(a=d(_),a===void 0)if(typeof p=="function"){const A=p(e,s,i);a=ne(A)?A:""}else if(i&&Object.prototype.hasOwnProperty.call(i,_))a="";else if(f){a=s[0];continue}else this.logger.warn(`missed to pass in variable ${_} for interpolating ${e}`),a="";else!ne(a)&&!this.useRawValueToEscape&&(a=Nd(a));const v=h.safeValue(a);if(e=e.replace(s[0],v),f?(h.regex.lastIndex+=a.length,h.regex.lastIndex-=s[0].length):h.regex.lastIndex=0,c++,c>=this.maxReplaces)break}}),e}nest(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i,s,a;const c=(l,d)=>{const p=this.nestingOptionsSeparator;if(l.indexOf(p)<0)return l;const f=l.split(new RegExp(`${p}[ ]*{`));let m=`{${f[1]}`;l=f[0],m=this.interpolate(m,a);const w=m.match(/'/g),h=m.match(/"/g);(((w==null?void 0:w.length)??0)%2===0&&!h||h.length%2!==0)&&(m=m.replace(/'/g,'"'));try{a=JSON.parse(m),d&&(a={...d,...a})}catch(_){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,_),`${l}${p}${m}`}return a.defaultValue&&a.defaultValue.indexOf(this.prefix)>-1&&delete a.defaultValue,l};for(;i=this.nestingRegexp.exec(e);){let l=[];a={...r},a=a.replace&&!ne(a.replace)?a.replace:a,a.applyPostProcessor=!1,delete a.defaultValue;let d=!1;if(i[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(i[1])){const p=i[1].split(this.formatSeparator).map(f=>f.trim());i[1]=p.shift(),l=p,d=!0}if(s=n(c.call(this,i[1].trim(),a),a),s&&i[0]===e&&!ne(s))return s;ne(s)||(s=Nd(s)),s||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${e}`),s=""),d&&(s=l.reduce((p,f)=>this.format(p,f,r.lng,{...r,interpolationkey:i[1].trim()}),s.trim())),e=e.replace(i[0],s),this.regexp.lastIndex=0}return e}}const i0=t=>{let e=t.toLowerCase().trim();const n={};if(t.indexOf("(")>-1){const r=t.split("(");e=r[0].toLowerCase().trim();const i=r[1].substring(0,r[1].length-1);e==="currency"&&i.indexOf(":")<0?n.currency||(n.currency=i.trim()):e==="relativetime"&&i.indexOf(":")<0?n.range||(n.range=i.trim()):i.split(";").forEach(a=>{if(a){const[c,...l]=a.split(":"),d=l.join(":").trim().replace(/^'+|'+$/g,""),p=c.trim();n[p]||(n[p]=d),d==="false"&&(n[p]=!1),d==="true"&&(n[p]=!0),isNaN(d)||(n[p]=parseInt(d,10))}})}return{formatName:e,formatOptions:n}},qn=t=>{const e={};return(n,r,i)=>{let s=i;i&&i.interpolationkey&&i.formatParams&&i.formatParams[i.interpolationkey]&&i[i.interpolationkey]&&(s={...s,[i.interpolationkey]:void 0});const a=r+JSON.stringify(s);let c=e[a];return c||(c=t(Qi(r),i),e[a]=c),c(n)}};class s0{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=At.create("formatter"),this.options=e,this.formats={number:qn((n,r)=>{const i=new Intl.NumberFormat(n,{...r});return s=>i.format(s)}),currency:qn((n,r)=>{const i=new Intl.NumberFormat(n,{...r,style:"currency"});return s=>i.format(s)}),datetime:qn((n,r)=>{const i=new Intl.DateTimeFormat(n,{...r});return s=>i.format(s)}),relativetime:qn((n,r)=>{const i=new Intl.RelativeTimeFormat(n,{...r});return s=>i.format(s,r.range||"day")}),list:qn((n,r)=>{const i=new Intl.ListFormat(n,{...r});return s=>i.format(s)})},this.init(e)}init(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};this.formatSeparator=n.interpolation.formatSeparator||","}add(e,n){this.formats[e.toLowerCase().trim()]=n}addCached(e,n){this.formats[e.toLowerCase().trim()]=qn(n)}format(e,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const s=n.split(this.formatSeparator);if(s.length>1&&s[0].indexOf("(")>1&&s[0].indexOf(")")<0&&s.find(c=>c.indexOf(")")>-1)){const c=s.findIndex(l=>l.indexOf(")")>-1);s[0]=[s[0],...s.splice(1,c)].join(this.formatSeparator)}return s.reduce((c,l)=>{var f;const{formatName:d,formatOptions:p}=i0(l);if(this.formats[d]){let m=c;try{const w=((f=i==null?void 0:i.formatParams)==null?void 0:f[i.interpolationkey])||{},h=w.locale||w.lng||i.locale||i.lng||r;m=this.formats[d](c,h,{...p,...i,...w})}catch(w){this.logger.warn(w)}return m}else this.logger.warn(`there was no format function for ${d}`);return c},e)}}const o0=(t,e)=>{t.pending[e]!==void 0&&(delete t.pending[e],t.pendingCount--)};class a0 extends Js{constructor(e,n,r){var s,a;let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=e,this.store=n,this.services=r,this.languageUtils=r.languageUtils,this.options=i,this.logger=At.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],(a=(s=this.backend)==null?void 0:s.init)==null||a.call(s,r,i.backend,i)}queueLoad(e,n,r,i){const s={},a={},c={},l={};return e.forEach(d=>{let p=!0;n.forEach(f=>{const m=`${d}|${f}`;!r.reload&&this.store.hasResourceBundle(d,f)?this.state[m]=2:this.state[m]<0||(this.state[m]===1?a[m]===void 0&&(a[m]=!0):(this.state[m]=1,p=!1,a[m]===void 0&&(a[m]=!0),s[m]===void 0&&(s[m]=!0),l[f]===void 0&&(l[f]=!0)))}),p||(c[d]=!0)}),(Object.keys(s).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(s),pending:Object.keys(a),toLoadLanguages:Object.keys(c),toLoadNamespaces:Object.keys(l)}}loaded(e,n,r){const i=e.split("|"),s=i[0],a=i[1];n&&this.emit("failedLoading",s,a,n),!n&&r&&this.store.addResourceBundle(s,a,r,void 0,void 0,{skipCopy:!0}),this.state[e]=n?-1:2,n&&r&&(this.state[e]=0);const c={};this.queue.forEach(l=>{Wm(l.loaded,[s],a),o0(l,e),n&&l.errors.push(n),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(d=>{c[d]||(c[d]={});const p=l.loaded[d];p.length&&p.forEach(f=>{c[d][f]===void 0&&(c[d][f]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",c),this.queue=this.queue.filter(l=>!l.done)}read(e,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,a=arguments.length>5?arguments[5]:void 0;if(!e.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:n,fcName:r,tried:i,wait:s,callback:a});return}this.readingCalls++;const c=(d,p)=>{if(this.readingCalls--,this.waitingReads.length>0){const f=this.waitingReads.shift();this.read(f.lng,f.ns,f.fcName,f.tried,f.wait,f.callback)}if(d&&p&&i<this.maxRetries){setTimeout(()=>{this.read.call(this,e,n,r,i+1,s*2,a)},s);return}a(d,p)},l=this.backend[r].bind(this.backend);if(l.length===2){try{const d=l(e,n);d&&typeof d.then=="function"?d.then(p=>c(null,p)).catch(c):c(null,d)}catch(d){c(d)}return}return l(e,n,c)}prepareLoading(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();ne(e)&&(e=this.languageUtils.toResolveHierarchy(e)),ne(n)&&(n=[n]);const s=this.queueLoad(e,n,r,i);if(!s.toLoad.length)return s.pending.length||i(),null;s.toLoad.forEach(a=>{this.loadOne(a)})}load(e,n,r){this.prepareLoading(e,n,{},r)}reload(e,n,r){this.prepareLoading(e,n,{reload:!0},r)}loadOne(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const r=e.split("|"),i=r[0],s=r[1];this.read(i,s,"read",void 0,void 0,(a,c)=>{a&&this.logger.warn(`${n}loading namespace ${s} for language ${i} failed`,a),!a&&c&&this.logger.log(`${n}loaded namespace ${s} for language ${i}`,c),this.loaded(e,a,c)})}saveMissing(e,n,r,i,s){var l,d,p,f,m;let a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},c=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if((d=(l=this.services)==null?void 0:l.utils)!=null&&d.hasLoadedNamespace&&!((f=(p=this.services)==null?void 0:p.utils)!=null&&f.hasLoadedNamespace(n))){this.logger.warn(`did not save key "${r}" as the namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(r==null||r==="")){if((m=this.backend)!=null&&m.create){const w={...a,isUpdate:s},h=this.backend.create.bind(this.backend);if(h.length<6)try{let _;h.length===5?_=h(e,n,r,i,w):_=h(e,n,r,i),_&&typeof _.then=="function"?_.then(v=>c(null,v)).catch(c):c(null,_)}catch(_){c(_)}else h(e,n,r,i,c,w)}!e||!e[0]||this.store.addResource(e[0],n,r,i)}}}const Vd=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:t=>{let e={};if(typeof t[1]=="object"&&(e=t[1]),ne(t[1])&&(e.defaultValue=t[1]),ne(t[2])&&(e.tDescription=t[2]),typeof t[2]=="object"||typeof t[3]=="object"){const n=t[3]||t[2];Object.keys(n).forEach(r=>{e[r]=n[r]})}return e},interpolation:{escapeValue:!0,format:t=>t,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}),qd=t=>{var e,n;return ne(t.ns)&&(t.ns=[t.ns]),ne(t.fallbackLng)&&(t.fallbackLng=[t.fallbackLng]),ne(t.fallbackNS)&&(t.fallbackNS=[t.fallbackNS]),((n=(e=t.supportedLngs)==null?void 0:e.indexOf)==null?void 0:n.call(e,"cimode"))<0&&(t.supportedLngs=t.supportedLngs.concat(["cimode"])),typeof t.initImmediate=="boolean"&&(t.initAsync=t.initImmediate),t},ji=()=>{},c0=t=>{Object.getOwnPropertyNames(Object.getPrototypeOf(t)).forEach(n=>{typeof t[n]=="function"&&(t[n]=t[n].bind(t))})};class qr extends Js{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=qd(e),this.services={},this.logger=At,this.modules={external:[]},c0(this),n&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,n),this;setTimeout(()=>{this.init(e,n)},0)}}init(){var e=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,typeof n=="function"&&(r=n,n={}),!n.defaultNS&&n.defaultNS!==!1&&n.ns&&(ne(n.ns)?n.defaultNS=n.ns:n.ns.indexOf("translation")<0&&(n.defaultNS=n.ns[0]));const i=Vd();this.options={...i,...this.options,...qd(n)},this.options.interpolation={...i.interpolation,...this.options.interpolation},n.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=n.keySeparator),n.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=n.nsSeparator);const s=p=>p?typeof p=="function"?new p:p:null;if(!this.options.isClone){this.modules.logger?At.init(s(this.modules.logger),this.options):At.init(null,this.options);let p;this.modules.formatter?p=this.modules.formatter:p=s0;const f=new Bd(this.options);this.store=new Td(this.options.resources,this.options);const m=this.services;m.logger=At,m.resourceStore=this.store,m.languageUtils=f,m.pluralResolver=new n0(f,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),p&&(!this.options.interpolation.format||this.options.interpolation.format===i.interpolation.format)&&(m.formatter=s(p),m.formatter.init(m,this.options),this.options.interpolation.format=m.formatter.format.bind(m.formatter)),m.interpolator=new r0(this.options),m.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},m.backendConnector=new a0(s(this.modules.backend),m.resourceStore,m,this.options),m.backendConnector.on("*",function(w){for(var h=arguments.length,_=new Array(h>1?h-1:0),v=1;v<h;v++)_[v-1]=arguments[v];e.emit(w,..._)}),this.modules.languageDetector&&(m.languageDetector=s(this.modules.languageDetector),m.languageDetector.init&&m.languageDetector.init(m,this.options.detection,this.options)),this.modules.i18nFormat&&(m.i18nFormat=s(this.modules.i18nFormat),m.i18nFormat.init&&m.i18nFormat.init(this)),this.translator=new ts(this.services,this.options),this.translator.on("*",function(w){for(var h=arguments.length,_=new Array(h>1?h-1:0),v=1;v<h;v++)_[v-1]=arguments[v];e.emit(w,..._)}),this.modules.external.forEach(w=>{w.init&&w.init(this)})}if(this.format=this.options.interpolation.format,r||(r=ji),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const p=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);p.length>0&&p[0]!=="dev"&&(this.options.lng=p[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(p=>{this[p]=function(){return e.store[p](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(p=>{this[p]=function(){return e.store[p](...arguments),e}});const l=Er(),d=()=>{const p=(f,m)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),l.resolve(m),r(f,m)};if(this.languages&&!this.isInitialized)return p(null,this.t.bind(this));this.changeLanguage(this.options.lng,p)};return this.options.resources||!this.options.initAsync?d():setTimeout(d,0),l}loadResources(e){var s,a;let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ji;const i=ne(e)?e:this.language;if(typeof e=="function"&&(r=e),!this.options.resources||this.options.partialBundledLanguages){if((i==null?void 0:i.toLowerCase())==="cimode"&&(!this.options.preload||this.options.preload.length===0))return r();const c=[],l=d=>{if(!d||d==="cimode")return;this.services.languageUtils.toResolveHierarchy(d).forEach(f=>{f!=="cimode"&&c.indexOf(f)<0&&c.push(f)})};i?l(i):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(p=>l(p)),(a=(s=this.options.preload)==null?void 0:s.forEach)==null||a.call(s,d=>l(d)),this.services.backendConnector.load(c,this.options.ns,d=>{!d&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(d)})}else r(null)}reloadResources(e,n,r){const i=Er();return typeof e=="function"&&(r=e,e=void 0),typeof n=="function"&&(r=n,n=void 0),e||(e=this.languages),n||(n=this.options.ns),r||(r=ji),this.services.backendConnector.reload(e,n,s=>{i.resolve(),r(s)}),i}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return e.type==="backend"&&(this.modules.backend=e),(e.type==="logger"||e.log&&e.warn&&e.error)&&(this.modules.logger=e),e.type==="languageDetector"&&(this.modules.languageDetector=e),e.type==="i18nFormat"&&(this.modules.i18nFormat=e),e.type==="postProcessor"&&sf.addPostProcessor(e),e.type==="formatter"&&(this.modules.formatter=e),e.type==="3rdParty"&&this.modules.external.push(e),this}setResolvedLanguage(e){if(!(!e||!this.languages)&&!(["cimode","dev"].indexOf(e)>-1))for(let n=0;n<this.languages.length;n++){const r=this.languages[n];if(!(["cimode","dev"].indexOf(r)>-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}}changeLanguage(e,n){var r=this;this.isLanguageChangingTo=e;const i=Er();this.emit("languageChanging",e);const s=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},a=(l,d)=>{d?(s(d),this.translator.changeLanguage(d),this.isLanguageChangingTo=void 0,this.emit("languageChanged",d),this.logger.log("languageChanged",d)):this.isLanguageChangingTo=void 0,i.resolve(function(){return r.t(...arguments)}),n&&n(l,function(){return r.t(...arguments)})},c=l=>{var p,f;!e&&!l&&this.services.languageDetector&&(l=[]);const d=ne(l)?l:this.services.languageUtils.getBestMatchFromCodes(l);d&&(this.language||s(d),this.translator.language||this.translator.changeLanguage(d),(f=(p=this.services.languageDetector)==null?void 0:p.cacheUserLanguage)==null||f.call(p,d)),this.loadResources(d,m=>{a(m,d)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?c(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(c):this.services.languageDetector.detect(c):c(e),i}getFixedT(e,n,r){var i=this;const s=function(a,c){let l;if(typeof c!="object"){for(var d=arguments.length,p=new Array(d>2?d-2:0),f=2;f<d;f++)p[f-2]=arguments[f];l=i.options.overloadTranslationOptionHandler([a,c].concat(p))}else l={...c};l.lng=l.lng||s.lng,l.lngs=l.lngs||s.lngs,l.ns=l.ns||s.ns,l.keyPrefix!==""&&(l.keyPrefix=l.keyPrefix||r||s.keyPrefix);const m=i.options.keySeparator||".";let w;return l.keyPrefix&&Array.isArray(a)?w=a.map(h=>`${l.keyPrefix}${m}${h}`):w=l.keyPrefix?`${l.keyPrefix}${m}${a}`:a,i.t(w,l)};return ne(e)?s.lng=e:s.lngs=e,s.ns=n,s.keyPrefix=r,s}t(){var i;for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return(i=this.translator)==null?void 0:i.translate(...n)}exists(){var i;for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return(i=this.translator)==null?void 0:i.exists(...n)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=n.lng||this.resolvedLanguage||this.languages[0],i=this.options?this.options.fallbackLng:!1,s=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const a=(c,l)=>{const d=this.services.backendConnector.state[`${c}|${l}`];return d===-1||d===0||d===2};if(n.precheck){const c=n.precheck(this,a);if(c!==void 0)return c}return!!(this.hasResourceBundle(r,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||a(r,e)&&(!i||a(s,e)))}loadNamespaces(e,n){const r=Er();return this.options.ns?(ne(e)&&(e=[e]),e.forEach(i=>{this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}),this.loadResources(i=>{r.resolve(),n&&n(i)}),r):(n&&n(),Promise.resolve())}loadLanguages(e,n){const r=Er();ne(e)&&(e=[e]);const i=this.options.preload||[],s=e.filter(a=>i.indexOf(a)<0&&this.services.languageUtils.isSupportedCode(a));return s.length?(this.options.preload=i.concat(s),this.loadResources(a=>{r.resolve(),n&&n(a)}),r):(n&&n(),Promise.resolve())}dir(e){var i,s;if(e||(e=this.resolvedLanguage||(((i=this.languages)==null?void 0:i.length)>0?this.languages[0]:this.language)),!e)return"rtl";const n=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],r=((s=this.services)==null?void 0:s.languageUtils)||new Bd(Vd());return n.indexOf(r.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new qr(e,n)}cloneInstance(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ji;const r=e.forkResourceStore;r&&delete e.forkResourceStore;const i={...this.options,...e,isClone:!0},s=new qr(i);if((e.debug!==void 0||e.prefix!==void 0)&&(s.logger=s.logger.clone(e)),["store","services","language"].forEach(c=>{s[c]=this[c]}),s.services={...this.services},s.services.utils={hasLoadedNamespace:s.hasLoadedNamespace.bind(s)},r){const c=Object.keys(this.store.data).reduce((l,d)=>(l[d]={...this.store.data[d]},Object.keys(l[d]).reduce((p,f)=>(p[f]={...l[d][f]},p),{})),{});s.store=new Td(c,i),s.services.resourceStore=s.store}return s.translator=new ts(s.services,i),s.translator.on("*",function(c){for(var l=arguments.length,d=new Array(l>1?l-1:0),p=1;p<l;p++)d[p-1]=arguments[p];s.emit(c,...d)}),s.init(i,n),s.translator.options=i,s.translator.backendConnector.services.utils={hasLoadedNamespace:s.hasLoadedNamespace.bind(s)},s}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const B=qr.createInstance();B.createInstance=qr.createInstance;B.createInstance;B.dir;B.init;B.loadResources;B.reloadResources;B.use;B.changeLanguage;B.getFixedT;const re=B.t;B.exists;B.setDefaultNamespace;B.hasLoadedNamespace;B.loadNamespaces;B.loadLanguages;var of=t=>{const n={...{origin:"*",allowMethods:["GET","HEAD","PUT","POST","DELETE","PATCH"],allowHeaders:[],exposeHeaders:[]},...t},r=(i=>typeof i=="string"?i==="*"?()=>i:s=>i===s?s:null:typeof i=="function"?i:s=>i.includes(s)?s:null)(n.origin);return async function(s,a){var d,p;function c(f,m){s.res.headers.set(f,m)}const l=r(s.req.header("origin")||"",s);if(l&&c("Access-Control-Allow-Origin",l),n.origin!=="*"){const f=s.req.header("Vary");f?c("Vary",f):c("Vary","Origin")}if(n.credentials&&c("Access-Control-Allow-Credentials","true"),(d=n.exposeHeaders)!=null&&d.length&&c("Access-Control-Expose-Headers",n.exposeHeaders.join(",")),s.req.method==="OPTIONS"){n.maxAge!=null&&c("Access-Control-Max-Age",n.maxAge.toString()),(p=n.allowMethods)!=null&&p.length&&c("Access-Control-Allow-Methods",n.allowMethods.join(","));let f=n.allowHeaders;if(!(f!=null&&f.length)){const m=s.req.header("Access-Control-Request-Headers");m&&(f=m.split(/\s*,\s*/))}return f!=null&&f.length&&(c("Access-Control-Allow-Headers",f.join(",")),s.res.headers.append("Vary","Access-Control-Request-Headers")),s.res.headers.delete("Content-Length"),s.res.headers.delete("Content-Type"),new Response(null,{headers:s.res.headers,status:204,statusText:s.res.statusText})}await a()}};const an=o.z.object({start:o.z.number(),limit:o.z.number(),length:o.z.number()}),af=o.z.object({created_at:o.z.string(),updated_at:o.z.string()}),cf=o.z.object({email:o.z.string().optional(),email_verified:o.z.boolean().optional(),name:o.z.string().optional(),username:o.z.string().optional(),given_name:o.z.string().optional(),phone_number:o.z.string().optional(),phone_verified:o.z.boolean().optional(),family_name:o.z.string().optional()}).catchall(o.z.any()),lf=o.z.object({connection:o.z.string(),user_id:o.z.string(),provider:o.z.string(),isSocial:o.z.boolean(),access_token:o.z.string().optional(),access_token_secret:o.z.string().optional(),refresh_token:o.z.string().optional(),profileData:cf.optional()}),Zs=o.z.object({email:o.z.string().optional(),username:o.z.string().optional(),phone_number:o.z.string().optional(),given_name:o.z.string().optional(),family_name:o.z.string().optional(),nickname:o.z.string().optional(),name:o.z.string().optional(),picture:o.z.string().optional(),locale:o.z.string().optional(),linked_to:o.z.string().optional(),profileData:o.z.string().optional(),user_id:o.z.string().optional(),app_metadata:o.z.any().default({}).optional(),user_metadata:o.z.any().default({}).optional()}),ns=Zs.extend({email_verified:o.z.boolean().default(!1),verify_email:o.z.boolean().optional(),last_ip:o.z.string().optional(),last_login:o.z.string().optional(),user_id:o.z.string().optional(),provider:o.z.string().default("email"),connection:o.z.string().default("email"),is_social:o.z.boolean().optional()}),rl=o.z.object({...ns.shape,...af.shape,user_id:o.z.string(),is_social:o.z.boolean(),email:o.z.string().optional(),login_count:o.z.number(),identities:o.z.array(lf).optional()}),St=rl,l0=Zs.extend({email:o.z.string(),login_count:o.z.number(),multifactor:o.z.array(o.z.string()).optional(),last_ip:o.z.string().optional(),last_login:o.z.string().optional(),user_id:o.z.string()}).catchall(o.z.any()),d0="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let u0=(t=21)=>{let e="",n=crypto.getRandomValues(new Uint8Array(t));for(;t--;)e+=d0[n[t]&63];return e};const df=o.z.object({audience:o.z.string().optional(),recipient:o.z.string().optional(),createUpnClaim:o.z.boolean().optional(),mapUnknownClaimsAsIs:o.z.boolean().optional(),passthroughClaimsWithNoMapping:o.z.boolean().optional(),mapIdentities:o.z.boolean().optional(),signatureAlgorithm:o.z.string().optional(),digestAlgorithm:o.z.string().optional(),issuer:o.z.string().optional(),destination:o.z.string().optional(),lifetimeInSeconds:o.z.number().optional(),signResponse:o.z.boolean().optional(),nameIdentifierFormat:o.z.string().optional(),nameIdentifierProbes:o.z.array(o.z.string()).optional(),authnContextClassRef:o.z.string().optional(),mappings:o.z.record(o.z.string()).optional()}),rs=o.z.object({id:o.z.string(),name:o.z.string(),callbacks:o.z.array(o.z.string()).default([]).optional().openapi({description:"Comma-separated list of URLs whitelisted to use as a callback to the client after authentication."}),allowed_origins:o.z.array(o.z.string()).default([]).optional().openapi({description:"Comma-separated list of URLs allowed to make requests from JavaScript to Auth0 API (typically used with CORS). By default, all your callback URLs will be allowed. This field allows you to enter other origins if necessary. You can also use wildcards at the subdomain level. Query strings and hash information are not taken into account when validating these URLs."}),web_origins:o.z.array(o.z.string()).default([]).optional().openapi({description:"Comma-separated list of allowed origins for use with Cross-Origin Authentication, Device Flow, and web message response mode."}),allowed_logout_urls:o.z.array(o.z.string()).default([]).optional().openapi({description:"Comma-separated list of URLs that are valid to redirect to after logout from Auth0. Wildcards are allowed for subdomains."}),allowed_clients:o.z.array(o.z.string()).default([]).optional().openapi({description:"Ids of clients that will be allowed to perform delegation requests. Clients that will be allowed to make delegation request. By default, all your clients will be allowed. This field allows you to specify specific clients"}),addons:o.z.object({samlp:df.optional()}).default({}).optional().openapi({description:"Addons associated with the client. The key is the addon's package name and the value is an object with the configuration for the addon."}),email_validation:o.z.enum(["enabled","disabled","enforced"]).default("enforced").optional().openapi({description:"Defines if it possible to sign in with an unverified email and if verification emails will be sent. This is not available in auth0"}),client_secret:o.z.string().default(()=>u0()).optional(),disable_sign_ups:o.z.boolean().optional().default(!1).openapi({description:"Prevents users from signing up using the hosted login page. This is not available in auth0"})}),mn=o.z.object({created_at:o.z.string().transform(t=>t===null?"":t),updated_at:o.z.string().transform(t=>t===null?"":t),...rs.shape});var It=(t=>(t.TOKEN="token",t.TOKEN_ID_TOKEN="token id_token",t.CODE="code",t))(It||{}),Rt=(t=>(t.QUERY="query",t.FRAGMENT="fragment",t.FORM_POST="form_post",t.WEB_MESSAGE="web_message",t.SAML_POST="saml_post",t))(Rt||{}),Ys=(t=>(t.S256="S256",t.Plain="plain",t))(Ys||{});const Mr=o.z.object({client_id:o.z.string(),act_as:o.z.string().optional(),response_type:o.z.nativeEnum(It).optional(),response_mode:o.z.nativeEnum(Rt).optional(),redirect_uri:o.z.string().optional(),audience:o.z.string().optional(),organization:o.z.string().optional(),state:o.z.string().optional(),nonce:o.z.string().optional(),scope:o.z.string().optional(),prompt:o.z.string().optional(),code_challenge_method:o.z.nativeEnum(Ys).optional(),code_challenge:o.z.string().optional(),username:o.z.string().optional(),ui_locales:o.z.string().optional(),vendor_id:o.z.string().optional()}),za=o.z.object({colors:o.z.object({primary:o.z.string(),page_background:o.z.object({type:o.z.string().optional(),start:o.z.string().optional(),end:o.z.string().optional(),angle_deg:o.z.number().optional()}).optional()}).optional(),logo_url:o.z.string().optional(),favicon_url:o.z.string().optional(),font:o.z.object({url:o.z.string()}).optional()}),is=o.z.object({id:o.z.string().optional(),name:o.z.string(),strategy:o.z.string(),options:o.z.object({kid:o.z.string().optional(),team_id:o.z.string().optional(),realms:o.z.string().optional(),client_id:o.z.string().optional(),client_secret:o.z.string().optional(),app_secret:o.z.string().optional(),scope:o.z.string().optional(),authorization_endpoint:o.z.string().default("").optional(),token_endpoint:o.z.string().default("").optional(),userinfo_endpoint:o.z.string().default("").optional(),jwks_uri:o.z.string().default("").optional(),discovery_url:o.z.string().default("").optional(),issuer:o.z.string().default("").optional(),provider:o.z.string().optional(),from:o.z.string().optional(),twilio_sid:o.z.string().optional(),twilio_token:o.z.string().optional()}).default({}).optional(),enabled_clients:o.z.array(o.z.string()).default([]).optional(),response_type:o.z.custom().optional(),response_mode:o.z.custom().optional()}),Zt=o.z.object({id:o.z.string(),created_at:o.z.string().transform(t=>t===null?"":t),updated_at:o.z.string().transform(t=>t===null?"":t)}).extend(is.shape),ss=o.z.object({name:o.z.string(),audience:o.z.string(),sender_email:o.z.string().email(),sender_name:o.z.string(),support_url:o.z.string().url().optional(),logo:o.z.string().url().optional(),primary_color:o.z.string().optional(),secondary_color:o.z.string().optional(),language:o.z.string().optional(),id:o.z.string().optional()}),Jn=o.z.object({created_at:o.z.string().transform(t=>t===null?"":t),updated_at:o.z.string().transform(t=>t===null?"":t),...ss.shape,id:o.z.string()}),uf=o.z.object({logoUrl:o.z.string(),loginBackgroundImage:o.z.string().nullish(),style:o.z.object({primaryColor:o.z.string(),buttonTextColor:o.z.string(),primaryHoverColor:o.z.string()}),supportEmail:o.z.string().nullable(),supportUrl:o.z.string().nullable(),name:o.z.string(),showGreyishBackground:o.z.boolean().optional(),termsAndConditionsUrl:o.z.string().nullable(),companyName:o.z.string().optional(),checkoutHideSocial:o.z.boolean().optional(),siteUrl:o.z.string().nullable(),manageSubscriptionsUrl:o.z.string().optional()});o.z.object({...mn.shape,tenant:Jn,connections:o.z.array(Zt)});const pf=o.z.enum(["password_reset","email_verification","otp","authorization_code","oauth2_state","ticket"]),ff=o.z.object({code_id:o.z.string().openapi({description:"The code that will be used in for instance an email verification flow"}),login_id:o.z.string().openapi({description:"The id of the login session that the code is connected to"}),connection_id:o.z.string().optional().openapi({description:"The connection that the code is connected to"}),code_type:pf,code_verifier:o.z.string().optional().openapi({description:"The code verifier used in PKCE in outbound flows"}),expires_at:o.z.string(),used_at:o.z.string().optional(),user_id:o.z.string().optional()}),p0=o.z.object({...ff.shape,created_at:o.z.string()}),il=o.z.object({domain:o.z.string(),custom_domain_id:o.z.string().optional(),type:o.z.enum(["auth0_managed_certs","self_managed_certs"]),verification_method:o.z.enum(["txt"]).optional(),tls_policy:o.z.enum(["recommended"]).optional(),custom_client_ip_header:o.z.enum(["true-client-ip","cf-connecting-ip","x-forwarded-for","x-azure-clientip","null"]).optional(),domain_metadata:o.z.record(o.z.string().max(255)).optional()}),hf=o.z.object({name:o.z.literal("txt"),record:o.z.string(),domain:o.z.string()}),Jt=o.z.object({...il.shape,custom_domain_id:o.z.string(),primary:o.z.boolean(),status:o.z.enum(["disabled","pending","pending_verification","ready"]),origin_domain_name:o.z.string().optional(),verification:o.z.object({methods:o.z.array(hf)}).optional(),tls_policy:o.z.string().optional()}),f0=Jt.extend({tenant_id:o.z.string()}),os=o.z.object({trigger_id:o.z.enum(["pre-user-signup","post-user-registration","post-user-login"]),enabled:o.z.boolean().default(!1),url:o.z.string(),hook_id:o.z.string().optional(),synchronous:o.z.boolean().default(!1),priority:o.z.number().optional()}),Kn=os.extend({...af.shape,hook_id:o.z.string()}),sl=o.z.object({alg:o.z.enum(["RS256","RS384","RS512","ES256","ES384","ES512","HS256","HS384","HS512"]),e:o.z.string(),kid:o.z.string(),kty:o.z.enum(["RSA","EC","oct"]),n:o.z.string(),x5t:o.z.string().optional(),x5c:o.z.array(o.z.string()).optional(),use:o.z.enum(["sig","enc"]).optional()}),gf=o.z.object({keys:o.z.array(sl)}),Ea=o.z.object({issuer:o.z.string(),authorization_endpoint:o.z.string(),token_endpoint:o.z.string(),device_authorization_endpoint:o.z.string(),userinfo_endpoint:o.z.string(),mfa_challenge_endpoint:o.z.string(),jwks_uri:o.z.string(),registration_endpoint:o.z.string(),revocation_endpoint:o.z.string(),scopes_supported:o.z.array(o.z.string()),response_types_supported:o.z.array(o.z.string()),code_challenge_methods_supported:o.z.array(o.z.string()),response_modes_supported:o.z.array(o.z.string()),subject_types_supported:o.z.array(o.z.string()),id_token_signing_alg_values_supported:o.z.array(o.z.string()),token_endpoint_auth_methods_supported:o.z.array(o.z.string()),claims_supported:o.z.array(o.z.string()),request_uri_parameter_supported:o.z.boolean(),request_parameter_supported:o.z.boolean(),token_endpoint_auth_signing_alg_values_supported:o.z.array(o.z.string())}),mf=o.z.object({csrf_token:o.z.string(),auth0Client:o.z.string().optional(),authParams:Mr,expires_at:o.z.string(),deleted_at:o.z.string().optional(),ip:o.z.string().optional(),useragent:o.z.string().optional(),session_id:o.z.string().optional(),authorization_url:o.z.string().optional()}).openapi({description:"This represents a login sesion"}),h0=o.z.object({...mf.shape,id:o.z.string().openapi({description:"This is is used as the state in the universal login"}),created_at:o.z.string(),updated_at:o.z.string()});var ge=(t=>(t.FAILED_SILENT_AUTH="fsa",t.FAILED_SIGNUP="fs",t.FAILED_LOGIN="f",t.FAILED_LOGIN_INCORRECT_PASSWORD="fp",t.FAILED_CHANGE_PASSWORD="fcp",t.FAILED_BY_CONNECTOR="fc",t.FAILED_LOGIN_INVALID_EMAIL_USERNAME="fu",t.FAILED_HOOK="fh",t.FAILED_CROSS_ORIGIN_AUTHENTICATION="fcoa",t.SUCCESS_API_OPERATION="sapi",t.SUCCESS_CHANGE_PASSWORD="scp",t.SUCCESS_CHANGE_PASSWORD_REQUEST="scpr",t.SUCCESS_CHANGE_USERNAME="scu",t.SUCCESS_CROSS_ORIGIN_AUTHENTICATION="scoa",t.SUCCESS_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN="seacft",t.SUCCESS_EXCHANGE_REFRESH_TOKEN_FOR_ACCESS_TOKEN="serft",t.SUCCESS_LOGIN="s",t.SUCCESS_LOGOUT="slo",t.SUCCESS_SIGNUP="ss",t.SUCCESS_SILENT_AUTH="ssa",t.SUCCESS_VERIFICATION_EMAIL="sv",t.SUCCESS_VERIFICATION_EMAIL_REQUEST="svr",t.CODE_LINK_SENT="cls",t.BLOCKED_ACCOUNT_EMAIL="limit_wc",t.BLOCKED_ACCOUNT_IP="limit_sul",t.BLOCKED_IP_ADDRESS="limit_mu",t))(ge||{});const g0=o.z.enum(["cls","fsa","fs","f","fc","fcoa","fcp","fh","fp","fs","fu","s","sapi","scoa","scp","scpr","scu","seacft","serft","slo","ss","ssa","sv","svr"]),_f=o.z.object({name:o.z.string(),version:o.z.string(),env:o.z.object({node:o.z.string().optional()}).optional()}),as=o.z.object({type:g0,date:o.z.string(),description:o.z.string().optional(),log_id:o.z.string().optional(),_id:o.z.string().optional(),ip:o.z.string(),user_agent:o.z.string(),details:o.z.any().optional(),isMobile:o.z.boolean(),user_id:o.z.string().optional(),user_name:o.z.string().optional(),connection:o.z.string().optional(),connection_id:o.z.string().optional(),client_id:o.z.string().optional(),client_name:o.z.string().optional(),audience:o.z.string().optional(),scope:o.z.array(o.z.string()).optional(),strategy:o.z.string().optional(),strategy_type:o.z.string().optional(),hostname:o.z.string().optional(),auth0_client:_f.optional()}),yf=o.z.object({user_id:o.z.string(),password:o.z.string(),algorithm:o.z.enum(["bcrypt","argon2id"]).default("argon2id")}),m0=o.z.object({...yf.shape,created_at:o.z.string(),updated_at:o.z.string()}),wf=o.z.object({initial_user_agent:o.z.string().describe("First user agent of the device from which this user logged in"),initial_ip:o.z.string().describe("First IP address associated with this session"),initial_asn:o.z.string().describe("First autonomous system number associated with this session"),last_user_agent:o.z.string().describe("Last user agent of the device from which this user logged in"),last_ip:o.z.string().describe("Last IP address from which this user logged in"),last_asn:o.z.string().describe("Last autonomous system number from which this user logged in")}),vf=o.z.object({id:o.z.string(),revoked_at:o.z.string().optional(),used_at:o.z.string().optional(),user_id:o.z.string().describe("The user ID associated with the session"),expires_at:o.z.string().optional(),idle_expires_at:o.z.string().optional(),device:wf.describe("Metadata related to the device used in the session"),clients:o.z.array(o.z.string()).describe("List of client details for the session")}),Xs=o.z.object({created_at:o.z.string(),updated_at:o.z.string(),authenticated_at:o.z.string(),last_interaction_at:o.z.string(),...vf.shape}),Ia=o.z.object({kid:o.z.string().openapi({description:"The key id of the signing key"}),cert:o.z.string().openapi({description:"The public certificate of the signing key"}),fingerprint:o.z.string().openapi({description:"The cert fingerprint"}),thumbprint:o.z.string().openapi({description:"The cert thumbprint"}),pkcs7:o.z.string().optional().openapi({description:"The private key in pkcs7 format"}),current:o.z.boolean().optional().openapi({description:"True if the key is the current key"}),next:o.z.boolean().optional().openapi({description:"True if the key is the next key"}),previous:o.z.boolean().optional().openapi({description:"True if the key is the previous key"}),current_since:o.z.string().optional().openapi({description:"The date and time when the key became the current key"}),current_until:o.z.string().optional().openapi({description:"The date and time when the current key was rotated"}),revoked:o.z.boolean().optional().openapi({description:"True if the key is revoked"}),revoked_at:o.z.string().optional().openapi({description:"The date and time when the key was revoked"})});var Wn=(t=>(t.RefreshToken="refresh_token",t.AuthorizationCode="authorization_code",t.ClientCredential="client_credentials",t.Passwordless="passwordless",t.Password="password",t.OTP="http://auth0.com/oauth/grant-type/passwordless/otp",t))(Wn||{});const bf=o.z.object({access_token:o.z.string(),id_token:o.z.string().optional(),scope:o.z.string().optional(),state:o.z.string().optional(),refresh_token:o.z.string().optional(),token_type:o.z.string(),expires_in:o.z.number()});o.z.object({code:o.z.string(),state:o.z.string().optional()});const xf=o.z.object({button_border_radius:o.z.number(),button_border_weight:o.z.number(),buttons_style:o.z.enum(["pill"]),input_border_radius:o.z.number(),input_border_weight:o.z.number(),inputs_style:o.z.enum(["pill"]),show_widget_shadow:o.z.boolean(),widget_border_weight:o.z.number(),widget_corner_radius:o.z.number()}),kf=o.z.object({base_focus_color:o.z.string(),base_hover_color:o.z.string(),body_text:o.z.string(),captcha_widget_theme:o.z.enum(["auto"]),error:o.z.string(),header:o.z.string(),icons:o.z.string(),input_background:o.z.string(),input_border:o.z.string(),input_filled_text:o.z.string(),input_labels_placeholders:o.z.string(),links_focused_components:o.z.string(),primary_button:o.z.string(),primary_button_label:o.z.string(),secondary_button_border:o.z.string(),secondary_button_label:o.z.string(),success:o.z.string(),widget_background:o.z.string(),widget_border:o.z.string()}),hn=o.z.object({bold:o.z.boolean(),size:o.z.number()}),Sf=o.z.object({body_text:hn,buttons_text:hn,font_url:o.z.string(),input_labels:hn,links:hn,links_style:o.z.enum(["normal"]),reference_text_size:o.z.number(),subtitle:hn,title:hn}),Af=o.z.object({background_color:o.z.string(),background_image_url:o.z.string(),page_layout:o.z.enum(["center"])}),zf=o.z.object({header_text_alignment:o.z.enum(["center"]),logo_height:o.z.number(),logo_position:o.z.enum(["center"]),logo_url:o.z.string(),social_buttons_layout:o.z.enum(["bottom"])}),Ef=o.z.object({borders:xf,colors:kf,displayName:o.z.string(),fonts:Sf,page_background:Af,widget:zf}),_0=Ef.extend({themeId:o.z.string()}),Li=o.z.object({universal_login_experience:o.z.enum(["new","classic"]).default("new"),identifier_first:o.z.boolean().default(!0),password_first:o.z.boolean().default(!1),webauthn_platform_first_factor:o.z.boolean()}),Ui=o.z.object({name:o.z.string(),enabled:o.z.boolean().optional().default(!0),default_from_address:o.z.string().optional(),credentials:o.z.union([o.z.object({accessKeyId:o.z.string(),secretAccessKey:o.z.string(),region:o.z.string()}),o.z.object({smtp_host:o.z.array(o.z.string()),smtp_port:o.z.number(),smtp_user:o.z.string(),smtp_pass:o.z.string()}),o.z.object({api_key:o.z.string(),domain:o.z.string().optional()}),o.z.object({connectionString:o.z.string()}),o.z.object({tenantId:o.z.string(),clientId:o.z.string(),clientSecret:o.z.string()})]),settings:o.z.object({}).optional()}),ol=o.z.object({id:o.z.string(),session_id:o.z.string(),user_id:o.z.string(),client_id:o.z.string(),expires_at:o.z.string().optional(),idle_expires_at:o.z.string().optional(),last_exchanged_at:o.z.string().optional(),device:wf,resource_servers:o.z.array(o.z.object({audience:o.z.string(),scopes:o.z.string()})),rotating:o.z.boolean()}),y0=o.z.object({created_at:o.z.string(),...ol.shape}),w0=o.z.object({to:o.z.string(),message:o.z.string()}),v0=o.z.object({name:o.z.string(),options:o.z.object({})});function b0(t){const[e,n]=t.split("|");if(!e||!n)throw new Error(`Invalid user_id: ${t}`);return{connection:e,id:n}}const x0=new o.OpenAPIHono().openapi(o.createRoute({tags:["branding"],method:"get",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:za}},description:"Branding settings"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=await t.env.data.branding.get(e);return n?t.json(n):t.json({})}).openapi(o.createRoute({tags:["branding"],method:"patch",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object(za.shape).partial()}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Branding settings"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json");return await t.env.data.branding.set(e,n),t.text("OK")});var I=class extends Error{constructor(e=500,n){super(n==null?void 0:n.message,{cause:n==null?void 0:n.cause});te(this,"res");te(this,"status");this.res=n==null?void 0:n.res,this.status=e}getResponse(){return this.res?new Response(this.res.body,{status:this.status,headers:this.res.headers}):new Response(this.message,{status:this.status})}},cs=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function If(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function k0(t){if(t.__esModule)return t;var e=t.default;if(typeof e=="function"){var n=function r(){return this instanceof r?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};n.prototype=e.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(t).forEach(function(r){var i=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(n,r,i.get?i:{enumerable:!0,get:function(){return t[r]}})}),n}function S0(t){throw new Error('Could not dynamically require "'+t+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Cf={exports:{}};const A0={},z0=Object.freeze(Object.defineProperty({__proto__:null,default:A0},Symbol.toStringTag,{value:"Module"})),E0=k0(z0);(function(t){/**
2
2
  * @license bcrypt.js (c) 2013 Daniel Wirtz <dcode@dcode.io>
3
3
  * Released under the Apache License, Version 2.0
4
4
  * see: https://github.com/dcodeIO/bcrypt.js for details
5
- */(function(e,n){typeof S0=="function"&&t&&t.exports?t.exports=n():(e.dcodeIO=e.dcodeIO||{}).bcrypt=n()})(cs,function(){var e={},n=null;function r(j){if(t&&t.exports)try{return E0.randomBytes(j)}catch{}try{var N;return(self.crypto||self.msCrypto).getRandomValues(N=new Uint32Array(j)),Array.prototype.slice.call(N)}catch{}if(!n)throw Error("Neither WebCryptoAPI nor a crypto module is available. Use bcrypt.setRandomFallback to set an alternative");return n(j)}var i=!1;try{r(1),i=!0}catch{}n=null,e.setRandomFallback=function(j){n=j},e.genSaltSync=function(j,N){if(j=j||_,typeof j!="number")throw Error("Illegal arguments: "+typeof j+", "+typeof N);j<4?j=4:j>31&&(j=31);var z=[];return z.push("$2a$"),j<10&&z.push("0"),z.push(j.toString()),z.push("$"),z.push(f(r(h),h)),z.join("")},e.genSalt=function(j,N,z){if(typeof N=="function"&&(z=N,N=void 0),typeof j=="function"&&(z=j,j=void 0),typeof j>"u")j=_;else if(typeof j!="number")throw Error("illegal arguments: "+typeof j);function k(x){a(function(){try{x(null,e.genSaltSync(j))}catch($){x($)}})}if(z){if(typeof z!="function")throw Error("Illegal callback: "+typeof z);k(z)}else return new Promise(function(x,$){k(function(U,X){if(U){$(U);return}x(X)})})},e.hashSync=function(j,N){if(typeof N>"u"&&(N=_),typeof N=="number"&&(N=e.genSaltSync(N)),typeof j!="string"||typeof N!="string")throw Error("Illegal arguments: "+typeof j+", "+typeof N);return Re(j,N)},e.hash=function(j,N,z,k){function x($){typeof j=="string"&&typeof N=="number"?e.genSalt(N,function(U,X){Re(j,X,$,k)}):typeof j=="string"&&typeof N=="string"?Re(j,N,$,k):a($.bind(this,Error("Illegal arguments: "+typeof j+", "+typeof N)))}if(z){if(typeof z!="function")throw Error("Illegal callback: "+typeof z);x(z)}else return new Promise(function($,U){x(function(X,G){if(X){U(X);return}$(G)})})};function s(j,N){for(var z=0,k=0,x=0,$=j.length;x<$;++x)j.charCodeAt(x)===N.charCodeAt(x)?++z:++k;return z<0?!1:k===0}e.compareSync=function(j,N){if(typeof j!="string"||typeof N!="string")throw Error("Illegal arguments: "+typeof j+", "+typeof N);return N.length!==60?!1:s(e.hashSync(j,N.substr(0,N.length-31)),N)},e.compare=function(j,N,z,k){function x($){if(typeof j!="string"||typeof N!="string"){a($.bind(this,Error("Illegal arguments: "+typeof j+", "+typeof N)));return}if(N.length!==60){a($.bind(this,null,!1));return}e.hash(j,N.substr(0,29),function(U,X){U?$(U):$(null,s(X,N))},k)}if(z){if(typeof z!="function")throw Error("Illegal callback: "+typeof z);x(z)}else return new Promise(function($,U){x(function(X,G){if(X){U(X);return}$(G)})})},e.getRounds=function(j){if(typeof j!="string")throw Error("Illegal arguments: "+typeof j);return parseInt(j.split("$")[2],10)},e.getSalt=function(j){if(typeof j!="string")throw Error("Illegal arguments: "+typeof j);if(j.length!==60)throw Error("Illegal hash length: "+j.length+" != 60");return j.substring(0,29)};var a=typeof process<"u"&&process&&typeof process.nextTick=="function"?typeof setImmediate=="function"?setImmediate:process.nextTick:setTimeout;function c(j){var N=[],z=0;return w.encodeUTF16toUTF8(function(){return z>=j.length?null:j.charCodeAt(z++)},function(k){N.push(k)}),N}var l="./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),d=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,54,55,56,57,58,59,60,61,62,63,-1,-1,-1,-1,-1,-1,-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,-1,-1,-1,-1,-1,-1,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,-1,-1,-1,-1,-1],p=String.fromCharCode;function f(j,N){var z=0,k=[],x,$;if(N<=0||N>j.length)throw Error("Illegal len: "+N);for(;z<N;){if(x=j[z++]&255,k.push(l[x>>2&63]),x=(x&3)<<4,z>=N){k.push(l[x&63]);break}if($=j[z++]&255,x|=$>>4&15,k.push(l[x&63]),x=($&15)<<2,z>=N){k.push(l[x&63]);break}$=j[z++]&255,x|=$>>6&3,k.push(l[x&63]),k.push(l[$&63])}return k.join("")}function m(j,N){var z=0,k=j.length,x=0,$=[],U,X,G,se,ue,H;if(N<=0)throw Error("Illegal len: "+N);for(;z<k-1&&x<N&&(H=j.charCodeAt(z++),U=H<d.length?d[H]:-1,H=j.charCodeAt(z++),X=H<d.length?d[H]:-1,!(U==-1||X==-1||(ue=U<<2>>>0,ue|=(X&48)>>4,$.push(p(ue)),++x>=N||z>=k)||(H=j.charCodeAt(z++),G=H<d.length?d[H]:-1,G==-1)||(ue=(X&15)<<4>>>0,ue|=(G&60)>>2,$.push(p(ue)),++x>=N||z>=k)));)H=j.charCodeAt(z++),se=H<d.length?d[H]:-1,ue=(G&3)<<6>>>0,ue|=se,$.push(p(ue)),++x;var Ce=[];for(z=0;z<x;z++)Ce.push($[z].charCodeAt(0));return Ce}var w=function(){var j={};return j.MAX_CODEPOINT=1114111,j.encodeUTF8=function(N,z){var k=null;for(typeof N=="number"&&(k=N,N=function(){return null});k!==null||(k=N())!==null;)k<128?z(k&127):k<2048?(z(k>>6&31|192),z(k&63|128)):k<65536?(z(k>>12&15|224),z(k>>6&63|128),z(k&63|128)):(z(k>>18&7|240),z(k>>12&63|128),z(k>>6&63|128),z(k&63|128)),k=null},j.decodeUTF8=function(N,z){for(var k,x,$,U,X=function(G){G=G.slice(0,G.indexOf(null));var se=Error(G.toString());throw se.name="TruncatedError",se.bytes=G,se};(k=N())!==null;)if(!(k&128))z(k);else if((k&224)===192)(x=N())===null&&X([k,x]),z((k&31)<<6|x&63);else if((k&240)===224)((x=N())===null||($=N())===null)&&X([k,x,$]),z((k&15)<<12|(x&63)<<6|$&63);else if((k&248)===240)((x=N())===null||($=N())===null||(U=N())===null)&&X([k,x,$,U]),z((k&7)<<18|(x&63)<<12|($&63)<<6|U&63);else throw RangeError("Illegal starting byte: "+k)},j.UTF16toUTF8=function(N,z){for(var k,x=null;(k=x!==null?x:N())!==null;){if(k>=55296&&k<=57343&&(x=N())!==null&&x>=56320&&x<=57343){z((k-55296)*1024+x-56320+65536),x=null;continue}z(k)}x!==null&&z(x)},j.UTF8toUTF16=function(N,z){var k=null;for(typeof N=="number"&&(k=N,N=function(){return null});k!==null||(k=N())!==null;)k<=65535?z(k):(k-=65536,z((k>>10)+55296),z(k%1024+56320)),k=null},j.encodeUTF16toUTF8=function(N,z){j.UTF16toUTF8(N,function(k){j.encodeUTF8(k,z)})},j.decodeUTF8toUTF16=function(N,z){j.decodeUTF8(N,function(k){j.UTF8toUTF16(k,z)})},j.calculateCodePoint=function(N){return N<128?1:N<2048?2:N<65536?3:4},j.calculateUTF8=function(N){for(var z,k=0;(z=N())!==null;)k+=j.calculateCodePoint(z);return k},j.calculateUTF16asUTF8=function(N){var z=0,k=0;return j.UTF16toUTF8(N,function(x){++z,k+=j.calculateCodePoint(x)}),[z,k]},j}();Date.now=Date.now||function(){return+new Date};var h=16,_=10,v=16,A=100,C=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],O=[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946,1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055,3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504,976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462],L=[1332899944,1700884034,1701343084,1684370003,1668446532,1869963892];function Q(j,N,z,k){var x,$=j[N],U=j[N+1];return $^=z[0],x=k[$>>>24],x+=k[256|$>>16&255],x^=k[512|$>>8&255],x+=k[768|$&255],U^=x^z[1],x=k[U>>>24],x+=k[256|U>>16&255],x^=k[512|U>>8&255],x+=k[768|U&255],$^=x^z[2],x=k[$>>>24],x+=k[256|$>>16&255],x^=k[512|$>>8&255],x+=k[768|$&255],U^=x^z[3],x=k[U>>>24],x+=k[256|U>>16&255],x^=k[512|U>>8&255],x+=k[768|U&255],$^=x^z[4],x=k[$>>>24],x+=k[256|$>>16&255],x^=k[512|$>>8&255],x+=k[768|$&255],U^=x^z[5],x=k[U>>>24],x+=k[256|U>>16&255],x^=k[512|U>>8&255],x+=k[768|U&255],$^=x^z[6],x=k[$>>>24],x+=k[256|$>>16&255],x^=k[512|$>>8&255],x+=k[768|$&255],U^=x^z[7],x=k[U>>>24],x+=k[256|U>>16&255],x^=k[512|U>>8&255],x+=k[768|U&255],$^=x^z[8],x=k[$>>>24],x+=k[256|$>>16&255],x^=k[512|$>>8&255],x+=k[768|$&255],U^=x^z[9],x=k[U>>>24],x+=k[256|U>>16&255],x^=k[512|U>>8&255],x+=k[768|U&255],$^=x^z[10],x=k[$>>>24],x+=k[256|$>>16&255],x^=k[512|$>>8&255],x+=k[768|$&255],U^=x^z[11],x=k[U>>>24],x+=k[256|U>>16&255],x^=k[512|U>>8&255],x+=k[768|U&255],$^=x^z[12],x=k[$>>>24],x+=k[256|$>>16&255],x^=k[512|$>>8&255],x+=k[768|$&255],U^=x^z[13],x=k[U>>>24],x+=k[256|U>>16&255],x^=k[512|U>>8&255],x+=k[768|U&255],$^=x^z[14],x=k[$>>>24],x+=k[256|$>>16&255],x^=k[512|$>>8&255],x+=k[768|$&255],U^=x^z[15],x=k[U>>>24],x+=k[256|U>>16&255],x^=k[512|U>>8&255],x+=k[768|U&255],$^=x^z[16],j[N]=U^z[v+1],j[N+1]=$,j}function ce(j,N){for(var z=0,k=0;z<4;++z)k=k<<8|j[N]&255,N=(N+1)%j.length;return{key:k,offp:N}}function le(j,N,z){for(var k=0,x=[0,0],$=N.length,U=z.length,X,G=0;G<$;G++)X=ce(j,k),k=X.offp,N[G]=N[G]^X.key;for(G=0;G<$;G+=2)x=Q(x,0,N,z),N[G]=x[0],N[G+1]=x[1];for(G=0;G<U;G+=2)x=Q(x,0,N,z),z[G]=x[0],z[G+1]=x[1]}function He(j,N,z,k){for(var x=0,$=[0,0],U=z.length,X=k.length,G,se=0;se<U;se++)G=ce(N,x),x=G.offp,z[se]=z[se]^G.key;for(x=0,se=0;se<U;se+=2)G=ce(j,x),x=G.offp,$[0]^=G.key,G=ce(j,x),x=G.offp,$[1]^=G.key,$=Q($,0,z,k),z[se]=$[0],z[se+1]=$[1];for(se=0;se<X;se+=2)G=ce(j,x),x=G.offp,$[0]^=G.key,G=ce(j,x),x=G.offp,$[1]^=G.key,$=Q($,0,z,k),k[se]=$[0],k[se+1]=$[1]}function Ve(j,N,z,k,x){var $=L.slice(),U=$.length,X;if(z<4||z>31)if(X=Error("Illegal number of rounds (4-31): "+z),k){a(k.bind(this,X));return}else throw X;if(N.length!==h)if(X=Error("Illegal salt length: "+N.length+" != "+h),k){a(k.bind(this,X));return}else throw X;z=1<<z>>>0;var G,se,ue=0,H;Int32Array?(G=new Int32Array(C),se=new Int32Array(O)):(G=C.slice(),se=O.slice()),He(N,j,G,se);function Ce(){if(x&&x(ue/z),ue<z)for(var ge=Date.now();ue<z&&(ue=ue+1,le(j,G,se),le(N,G,se),!(Date.now()-ge>A)););else{for(ue=0;ue<64;ue++)for(H=0;H<U>>1;H++)Q($,H<<1,G,se);var Se=[];for(ue=0;ue<U;ue++)Se.push(($[ue]>>24&255)>>>0),Se.push(($[ue]>>16&255)>>>0),Se.push(($[ue]>>8&255)>>>0),Se.push(($[ue]&255)>>>0);if(k){k(null,Se);return}else return Se}k&&a(Ce)}if(typeof k<"u")Ce();else for(var fn;;)if(typeof(fn=Ce())<"u")return fn||[]}function Re(j,N,z,k){var x;if(typeof j!="string"||typeof N!="string")if(x=Error("Invalid string / salt: Not a string"),z){a(z.bind(this,x));return}else throw x;var $,U;if(N.charAt(0)!=="$"||N.charAt(1)!=="2")if(x=Error("Invalid salt version: "+N.substring(0,2)),z){a(z.bind(this,x));return}else throw x;if(N.charAt(2)==="$")$="\0",U=3;else{if($=N.charAt(2),$!=="a"&&$!=="b"&&$!=="y"||N.charAt(3)!=="$")if(x=Error("Invalid salt revision: "+N.substring(2,4)),z){a(z.bind(this,x));return}else throw x;U=4}if(N.charAt(U+2)>"$")if(x=Error("Missing salt rounds"),z){a(z.bind(this,x));return}else throw x;var X=parseInt(N.substring(U,U+1),10)*10,G=parseInt(N.substring(U+1,U+2),10),se=X+G,ue=N.substring(U+3,U+25);j+=$>="a"?"\0":"";var H=c(j),Ce=m(ue,h);function fn(ge){var Se=[];return Se.push("$2"),$>="a"&&Se.push($),Se.push("$"),se<10&&Se.push("0"),Se.push(se.toString()),Se.push("$"),Se.push(f(Ce,Ce.length)),Se.push(f(ge,L.length*4-1)),Se.join("")}if(typeof z>"u")return fn(Ve(H,Ce,se));Ve(H,Ce,se,function(ge,Se){ge?z(ge,null):z(null,fn(Se))},k)}return e.encodeBase64=f,e.decodeBase64=m,e})})(Nf);var I0=Nf.exports;const oi=Cf(I0),C0="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let N0=t=>crypto.getRandomValues(new Uint8Array(t)),j0=(t,e,n)=>{let r=(2<<Math.log2(t.length-1))-1,i=-~(1.6*r*e/t.length);return(s=e)=>{let a="";for(;;){let c=n(i),l=i;for(;l--;)if(a+=t[c[l]&r]||"",a.length===s)return a}}},$0=(t,e=21)=>j0(t,e,N0),ke=(t=21)=>{let e="",n=crypto.getRandomValues(new Uint8Array(t));for(;t--;)e+=C0[n[t]&63];return e};const O0=24;function Qs(){return $0("0123456789abcdef",O0)()}function Dd(t){if(!t.includes("|"))return console.error("Invalid user_id format"),t;const[,e]=t.split("|");return e}function T0(t){return async(e,n)=>{if(!n.email||!n.email_verified)return t.users.create(e,n);const r=await io({userAdapter:t.users,tenant_id:e,email:n.email});return r?(await t.users.create(e,{...n,linked_to:r.user_id}),r):t.users.create(e,n)}}function we(t,e){return{type:e.type,description:e.description||"",ip:t.req.header("x-real-ip")||"",user_agent:t.req.header("user-agent")||"",date:new Date().toISOString(),details:{request:{method:t.req.method,path:t.req.path,qs:t.req.queries(),body:e.body||t.var.body||""}},isMobile:!1,client_id:t.var.client_id,client_name:"",user_id:e.userId||t.var.user_id||"",hostname:t.req.header("host")||"",user_name:t.var.username||"",connection_id:"",connection:t.var.connection||"",strategy:e.strategy||"",strategy_type:e.strategy_type||"",audience:"",scope:[]}}class cl{constructor(e,n){te(this,"value");te(this,"unit");this.value=e,this.unit=n}milliseconds(){return this.unit==="ms"?this.value:this.unit==="s"?this.value*1e3:this.unit==="m"?this.value*1e3*60:this.unit==="h"?this.value*1e3*60*60:this.unit==="d"?this.value*1e3*60*60*24:this.value*1e3*60*60*24*7}seconds(){return this.milliseconds()/1e3}transform(e){return new cl(Math.round(this.milliseconds()*e),"ms")}}class P0{constructor(e){te(this,"hash");this.hash=e}async verify(e,n,r){const i=await crypto.subtle.importKey("spki",e,{name:"RSASSA-PKCS1-v1_5",hash:this.hash},!1,["verify"]);return await crypto.subtle.verify("RSASSA-PKCS1-v1_5",i,n,r)}async sign(e,n){const r=await crypto.subtle.importKey("pkcs8",e,{name:"RSASSA-PKCS1-v1_5",hash:this.hash},!1,["sign"]);return await crypto.subtle.sign("RSASSA-PKCS1-v1_5",r,n)}async generateKeyPair(e){const n=await crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",hash:this.hash,modulusLength:e??2048,publicExponent:new Uint8Array([1,0,1])},!0,["sign"]),r=await crypto.subtle.exportKey("pkcs8",n.privateKey),i=await crypto.subtle.exportKey("spki",n.publicKey);return{privateKey:r,publicKey:i}}}async function jf(t){return await crypto.subtle.digest("SHA-256",t)}const Hd="0123456789abcdef";function Na(t){const e=new Uint8Array(t);let n="";for(let r=0;r<e.length;r++){const i=e[r]>>4;n+=Hd[i];const s=e[r]&15;n+=Hd[s]}return n}class $f{constructor(e,n){te(this,"alphabet");te(this,"padding");te(this,"decodeMap",new Map);if(e.length!==32)throw new Error("Invalid alphabet");if(this.alphabet=e,this.padding=(n==null?void 0:n.padding)??"=",this.alphabet.includes(this.padding)||this.padding.length!==1)throw new Error("Invalid padding");for(let r=0;r<e.length;r++)this.decodeMap.set(e[r],r)}encode(e,n){let r="",i=0,s=0;for(let c=0;c<e.length;c++)for(i=i<<8|e[c],s+=8;s>=5;)s-=5,r+=this.alphabet[i>>s&31];if(s>0&&(r+=this.alphabet[i<<5-s&31]),(n==null?void 0:n.includePadding)??!0){const c=(8-r.length%8)%8;for(let l=0;l<c;l++)r+="="}return r}decode(e,n){const r=(n==null?void 0:n.strict)??!0,i=Math.ceil(e.length/8),s=[];for(let a=0;a<i;a++){let c=0;const l=[];for(let p=0;p<8;p++){const f=e[a*8+p];if(f==="="){if(a+1!==i)throw new Error(`Invalid character: ${f}`);c+=1;continue}if(f===void 0){if(r)throw new Error("Invalid data");c+=1;continue}const m=this.decodeMap.get(f)??null;if(m===null)throw new Error(`Invalid character: ${f}`);l.push(m)}if(c===8||c===7||c===5||c===2)throw new Error("Invalid padding");const d=(l[0]<<3)+(l[1]>>2);if(s.push(d),c<6){const p=((l[1]&3)<<6)+(l[2]<<1)+(l[3]>>4);s.push(p)}if(c<4){const p=((l[3]&255)<<4)+(l[4]>>1);s.push(p)}if(c<3){const p=((l[4]&1)<<7)+(l[5]<<2)+(l[6]>>3);s.push(p)}if(c<1){const p=((l[6]&7)<<5)+l[7];s.push(p)}}return Uint8Array.from(s)}}new $f("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567");new $f("0123456789ABCDEFGHIJKLMNOPQRSTUV");class Of{constructor(e,n){te(this,"alphabet");te(this,"padding");te(this,"decodeMap",new Map);if(e.length!==64)throw new Error("Invalid alphabet");if(this.alphabet=e,this.padding=(n==null?void 0:n.padding)??"=",this.alphabet.includes(this.padding)||this.padding.length!==1)throw new Error("Invalid padding");for(let r=0;r<e.length;r++)this.decodeMap.set(e[r],r)}encode(e,n){let r="",i=0,s=0;for(let c=0;c<e.length;c++)for(i=i<<8|e[c],s+=8;s>=6;)s+=-6,r+=this.alphabet[i>>s&63];if(s>0&&(r+=this.alphabet[i<<6-s&63]),(n==null?void 0:n.includePadding)??!0){const c=(4-r.length%4)%4;for(let l=0;l<c;l++)r+="="}return r}decode(e,n){const r=(n==null?void 0:n.strict)??!0,i=Math.ceil(e.length/4),s=[];for(let a=0;a<i;a++){let c=0,l=0;for(let d=0;d<4;d++){const p=e[a*4+d];if(p==="="){if(a+1!==i)throw new Error(`Invalid character: ${p}`);c+=1;continue}if(p===void 0){if(r)throw new Error("Invalid data");c+=1;continue}const f=this.decodeMap.get(p)??null;if(f===null)throw new Error(`Invalid character: ${p}`);l+=f<<6*(3-d)}s.push(l>>16&255),c<2&&s.push(l>>8&255),c<1&&s.push(l&255)}return Uint8Array.from(s)}}const B0=new Of("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),vn=new Of("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_");async function Fd(t,e,n,r){const i={alg:t,typ:"JWT",...r==null?void 0:r.headers},s={...n};(r==null?void 0:r.audiences)!==void 0&&(s.aud=r.audiences),(r==null?void 0:r.subject)!==void 0&&(s.sub=r.subject),(r==null?void 0:r.issuer)!==void 0&&(s.iss=r.issuer),(r==null?void 0:r.jwtId)!==void 0&&(s.jti=r.jwtId),(r==null?void 0:r.expiresIn)!==void 0&&(s.exp=Math.floor(Date.now()/1e3)+r.expiresIn.seconds()),(r==null?void 0:r.notBefore)!==void 0&&(s.nbf=Math.floor(r.notBefore.getTime()/1e3)),s.iat=Math.floor(Date.now()/1e3);const a=new TextEncoder,c=vn.encode(a.encode(JSON.stringify(i)),{includePadding:!1}),l=vn.encode(a.encode(JSON.stringify(s)),{includePadding:!1}),d=a.encode([c,l].join(".")),p=await L0(t).sign(e,d),f=vn.encode(new Uint8Array(p),{includePadding:!1});return[c,l,f].join(".")}function R0(t){const e=t.split(".");return e.length!==3?null:e}function ll(t){const e=R0(t);if(!e)return null;const n=new TextDecoder,r=vn.decode(e[0],{strict:!1}),i=vn.decode(e[1],{strict:!1}),s=JSON.parse(n.decode(r));if(typeof s!="object"||s===null||!("alg"in s)||!U0(s.alg)||"typ"in s&&s.typ!=="JWT")return null;const a=JSON.parse(n.decode(i));if(typeof a!="object"||a===null)return null;const c={algorithm:s.alg,expiresAt:null,subject:null,issuedAt:null,issuer:null,jwtId:null,audiences:null,notBefore:null};if("exp"in a){if(typeof a.exp!="number")return null;c.expiresAt=new Date(a.exp*1e3)}if("iss"in a){if(typeof a.iss!="string")return null;c.issuer=a.iss}if("sub"in a){if(typeof a.sub!="string")return null;c.subject=a.sub}if("aud"in a)if(Array.isArray(a.aud)){for(const l of a.aud)if(typeof l!="string")return null;c.audiences=a.aud}else{if(typeof a.aud!="string")return null;c.audiences=[a.aud]}if("nbf"in a){if(typeof a.nbf!="number")return null;c.notBefore=new Date(a.nbf*1e3)}if("iat"in a){if(typeof a.iat!="number")return null;c.issuedAt=new Date(a.iat*1e3)}if("jti"in a){if(typeof a.jti!="string")return null;c.jwtId=a.jti}return{value:t,header:{...s,typ:"JWT",alg:s.alg},payload:{...a},parts:e,...c}}function L0(t){return new P0(V0[t])}function U0(t){return typeof t!="string"?!1:["HS256","HS384","HS512","RS256","RS384","RS512","ES256","ES384","ES512","PS256","PS384","PS512"].includes(t)}const V0={RS256:"SHA-256",RS384:"SHA-384",RS512:"SHA-512"};function q0(){const t=new Uint8Array(32);return crypto.getRandomValues(t),vn.encode(t,{includePadding:!1})}function M0(t){try{const n=/-----BEGIN (?:RSA )?(?:PRIVATE|PUBLIC) KEY-----([^-]*)-----END (?:RSA )?(?:PRIVATE|PUBLIC) KEY-----/.exec(t);if(!n||!n[1])throw new Error("Invalid PEM format");return Uint8Array.from(atob(n[1].replace(/\s/g,"")),r=>r.charCodeAt(0)).buffer}finally{t=t.replace(/./g,"\0")}}async function D0(t,e){if(e==="plain")return t;const n=new TextEncoder().encode(t),r=await jf(n);return vn.encode(new Uint8Array(r),{includePadding:!1})}const $i=60*5,eo=30*24*60*60,Qn=24*60*60,H0="auth-token",ja=30*60*1e3,F0=7*24*60*60*1e3,K0=5*60,W0=5*60,G0=30*60*1e3,J0=30*60*1e3,Z0=24*60*60*1e3;function Tf(t,e,n){const r=[];return r.push([encodeURIComponent(t),encodeURIComponent(e)]),(n==null?void 0:n.domain)!==void 0&&r.push(["Domain",n.domain]),(n==null?void 0:n.expires)!==void 0&&r.push(["Expires",n.expires.toUTCString()]),n!=null&&n.httpOnly&&r.push(["HttpOnly"]),(n==null?void 0:n.maxAge)!==void 0&&r.push(["Max-Age",n.maxAge.toString()]),(n==null?void 0:n.path)!==void 0&&r.push(["Path",n.path]),(n==null?void 0:n.sameSite)==="lax"&&r.push(["SameSite","Lax"]),(n==null?void 0:n.sameSite)==="none"&&r.push(["SameSite","None"]),(n==null?void 0:n.sameSite)==="strict"&&r.push(["SameSite","Strict"]),n!=null&&n.secure&&r.push(["Secure"]),r.map(i=>i.join("=")).join("; ")}function Y0(t){const e=new Map,n=t.split("; ");for(const r of n){const i=r.split("="),s=i[0],a=i[1]??"";s&&e.set(decodeURIComponent(s),decodeURIComponent(a))}return e}function dl(t){return`${t}-${H0}`}function Pf(t){if(!t)return;if(t==="localhost"||/^(\d{1,3}\.){3}\d{1,3}$/.test(t))return t;const e=t.split(".");return e.length>2?`.${e.slice(-2).join(".")}`:`.${t}`}function ls(t,e){return e?Y0(e).get(dl(t)):void 0}function X0(t,e){return Tf(dl(t),"",{path:"/",httpOnly:!0,secure:!0,maxAge:0,sameSite:"none",domain:e?Pf(e):void 0})}function Bf(t,e,n){return Tf(dl(t),e,{path:"/",httpOnly:!0,secure:!0,maxAge:eo,sameSite:"none",domain:n?Pf(n):void 0})}var ul={},to={};(function(t){const e=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",n=e+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",r="["+e+"]["+n+"]*",i=new RegExp("^"+r+"$"),s=function(c,l){const d=[];let p=l.exec(c);for(;p;){const f=[];f.startIndex=l.lastIndex-p[0].length;const m=p.length;for(let w=0;w<m;w++)f.push(p[w]);d.push(f),p=l.exec(c)}return d},a=function(c){const l=i.exec(c);return!(l===null||typeof l>"u")};t.isExist=function(c){return typeof c<"u"},t.isEmptyObject=function(c){return Object.keys(c).length===0},t.merge=function(c,l,d){if(l){const p=Object.keys(l),f=p.length;for(let m=0;m<f;m++)d==="strict"?c[p[m]]=[l[p[m]]]:c[p[m]]=l[p[m]]}},t.getValue=function(c){return t.isExist(c)?c:""},t.isName=a,t.getAllMatches=s,t.nameRegexp=r})(to);const pl=to,Q0={allowBooleanAttributes:!1,unpairedTags:[]};ul.validate=function(t,e){e=Object.assign({},Q0,e);const n=[];let r=!1,i=!1;t[0]==="\uFEFF"&&(t=t.substr(1));for(let s=0;s<t.length;s++)if(t[s]==="<"&&t[s+1]==="?"){if(s+=2,s=Wd(t,s),s.err)return s}else if(t[s]==="<"){let a=s;if(s++,t[s]==="!"){s=Gd(t,s);continue}else{let c=!1;t[s]==="/"&&(c=!0,s++);let l="";for(;s<t.length&&t[s]!==">"&&t[s]!==" "&&t[s]!==" "&&t[s]!==`
6
- `&&t[s]!=="\r";s++)l+=t[s];if(l=l.trim(),l[l.length-1]==="/"&&(l=l.substring(0,l.length-1),s--),!a_(l)){let f;return l.trim().length===0?f="Invalid space after '<'.":f="Tag '"+l+"' is an invalid name.",be("InvalidTag",f,qe(t,s))}const d=n_(t,s);if(d===!1)return be("InvalidAttr","Attributes for '"+l+"' have open quote.",qe(t,s));let p=d.value;if(s=d.index,p[p.length-1]==="/"){const f=s-p.length;p=p.substring(0,p.length-1);const m=Jd(p,e);if(m===!0)r=!0;else return be(m.err.code,m.err.msg,qe(t,f+m.err.line))}else if(c)if(d.tagClosed){if(p.trim().length>0)return be("InvalidTag","Closing tag '"+l+"' can't have attributes or invalid starting.",qe(t,a));if(n.length===0)return be("InvalidTag","Closing tag '"+l+"' has not been opened.",qe(t,a));{const f=n.pop();if(l!==f.tagName){let m=qe(t,f.tagStartPos);return be("InvalidTag","Expected closing tag '"+f.tagName+"' (opened in line "+m.line+", col "+m.col+") instead of closing tag '"+l+"'.",qe(t,a))}n.length==0&&(i=!0)}}else return be("InvalidTag","Closing tag '"+l+"' doesn't have proper closing.",qe(t,s));else{const f=Jd(p,e);if(f!==!0)return be(f.err.code,f.err.msg,qe(t,s-p.length+f.err.line));if(i===!0)return be("InvalidXml","Multiple possible root nodes found.",qe(t,s));e.unpairedTags.indexOf(l)!==-1||n.push({tagName:l,tagStartPos:a}),r=!0}for(s++;s<t.length;s++)if(t[s]==="<")if(t[s+1]==="!"){s++,s=Gd(t,s);continue}else if(t[s+1]==="?"){if(s=Wd(t,++s),s.err)return s}else break;else if(t[s]==="&"){const f=s_(t,s);if(f==-1)return be("InvalidChar","char '&' is not expected.",qe(t,s));s=f}else if(i===!0&&!Kd(t[s]))return be("InvalidXml","Extra text at the end",qe(t,s));t[s]==="<"&&s--}}else{if(Kd(t[s]))continue;return be("InvalidChar","char '"+t[s]+"' is not expected.",qe(t,s))}if(r){if(n.length==1)return be("InvalidTag","Unclosed tag '"+n[0].tagName+"'.",qe(t,n[0].tagStartPos));if(n.length>0)return be("InvalidXml","Invalid '"+JSON.stringify(n.map(s=>s.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return be("InvalidXml","Start tag expected.",1);return!0};function Kd(t){return t===" "||t===" "||t===`
7
- `||t==="\r"}function Wd(t,e){const n=e;for(;e<t.length;e++)if(t[e]=="?"||t[e]==" "){const r=t.substr(n,e-n);if(e>5&&r==="xml")return be("InvalidXml","XML declaration allowed only at the start of the document.",qe(t,e));if(t[e]=="?"&&t[e+1]==">"){e++;break}else continue}return e}function Gd(t,e){if(t.length>e+5&&t[e+1]==="-"&&t[e+2]==="-"){for(e+=3;e<t.length;e++)if(t[e]==="-"&&t[e+1]==="-"&&t[e+2]===">"){e+=2;break}}else if(t.length>e+8&&t[e+1]==="D"&&t[e+2]==="O"&&t[e+3]==="C"&&t[e+4]==="T"&&t[e+5]==="Y"&&t[e+6]==="P"&&t[e+7]==="E"){let n=1;for(e+=8;e<t.length;e++)if(t[e]==="<")n++;else if(t[e]===">"&&(n--,n===0))break}else if(t.length>e+9&&t[e+1]==="["&&t[e+2]==="C"&&t[e+3]==="D"&&t[e+4]==="A"&&t[e+5]==="T"&&t[e+6]==="A"&&t[e+7]==="["){for(e+=8;e<t.length;e++)if(t[e]==="]"&&t[e+1]==="]"&&t[e+2]===">"){e+=2;break}}return e}const e_='"',t_="'";function n_(t,e){let n="",r="",i=!1;for(;e<t.length;e++){if(t[e]===e_||t[e]===t_)r===""?r=t[e]:r!==t[e]||(r="");else if(t[e]===">"&&r===""){i=!0;break}n+=t[e]}return r!==""?!1:{value:n,index:e,tagClosed:i}}const r_=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function Jd(t,e){const n=pl.getAllMatches(t,r_),r={};for(let i=0;i<n.length;i++){if(n[i][1].length===0)return be("InvalidAttr","Attribute '"+n[i][2]+"' has no space in starting.",Ir(n[i]));if(n[i][3]!==void 0&&n[i][4]===void 0)return be("InvalidAttr","Attribute '"+n[i][2]+"' is without value.",Ir(n[i]));if(n[i][3]===void 0&&!e.allowBooleanAttributes)return be("InvalidAttr","boolean attribute '"+n[i][2]+"' is not allowed.",Ir(n[i]));const s=n[i][2];if(!o_(s))return be("InvalidAttr","Attribute '"+s+"' is an invalid name.",Ir(n[i]));if(!r.hasOwnProperty(s))r[s]=1;else return be("InvalidAttr","Attribute '"+s+"' is repeated.",Ir(n[i]))}return!0}function i_(t,e){let n=/\d/;for(t[e]==="x"&&(e++,n=/[\da-fA-F]/);e<t.length;e++){if(t[e]===";")return e;if(!t[e].match(n))break}return-1}function s_(t,e){if(e++,t[e]===";")return-1;if(t[e]==="#")return e++,i_(t,e);let n=0;for(;e<t.length;e++,n++)if(!(t[e].match(/\w/)&&n<20)){if(t[e]===";")break;return-1}return e}function be(t,e,n){return{err:{code:t,msg:e,line:n.line||n,col:n.col}}}function o_(t){return pl.isName(t)}function a_(t){return pl.isName(t)}function qe(t,e){const n=t.substring(0,e).split(/\r?\n/);return{line:n.length,col:n[n.length-1].length+1}}function Ir(t){return t.startIndex+t[1].length}var fl={};const Rf={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(t,e,n){return t}},c_=function(t){return Object.assign({},Rf,t)};fl.buildOptions=c_;fl.defaultOptions=Rf;class l_{constructor(e){this.tagname=e,this.child=[],this[":@"]={}}add(e,n){e==="__proto__"&&(e="#__proto__"),this.child.push({[e]:n})}addChild(e){e.tagname==="__proto__"&&(e.tagname="#__proto__"),e[":@"]&&Object.keys(e[":@"]).length>0?this.child.push({[e.tagname]:e.child,":@":e[":@"]}):this.child.push({[e.tagname]:e.child})}}var d_=l_;const u_=to;function p_(t,e){const n={};if(t[e+3]==="O"&&t[e+4]==="C"&&t[e+5]==="T"&&t[e+6]==="Y"&&t[e+7]==="P"&&t[e+8]==="E"){e=e+9;let r=1,i=!1,s=!1,a="";for(;e<t.length;e++)if(t[e]==="<"&&!s){if(i&&g_(t,e)){e+=7;let c,l;[c,l,e]=f_(t,e+1),l.indexOf("&")===-1&&(n[w_(c)]={regx:RegExp(`&${c};`,"g"),val:l})}else if(i&&m_(t,e))e+=8;else if(i&&__(t,e))e+=8;else if(i&&y_(t,e))e+=9;else if(h_)s=!0;else throw new Error("Invalid DOCTYPE");r++,a=""}else if(t[e]===">"){if(s?t[e-1]==="-"&&t[e-2]==="-"&&(s=!1,r--):r--,r===0)break}else t[e]==="["?i=!0:a+=t[e];if(r!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:n,i:e}}function f_(t,e){let n="";for(;e<t.length&&t[e]!=="'"&&t[e]!=='"';e++)n+=t[e];if(n=n.trim(),n.indexOf(" ")!==-1)throw new Error("External entites are not supported");const r=t[e++];let i="";for(;e<t.length&&t[e]!==r;e++)i+=t[e];return[n,i,e]}function h_(t,e){return t[e+1]==="!"&&t[e+2]==="-"&&t[e+3]==="-"}function g_(t,e){return t[e+1]==="!"&&t[e+2]==="E"&&t[e+3]==="N"&&t[e+4]==="T"&&t[e+5]==="I"&&t[e+6]==="T"&&t[e+7]==="Y"}function m_(t,e){return t[e+1]==="!"&&t[e+2]==="E"&&t[e+3]==="L"&&t[e+4]==="E"&&t[e+5]==="M"&&t[e+6]==="E"&&t[e+7]==="N"&&t[e+8]==="T"}function __(t,e){return t[e+1]==="!"&&t[e+2]==="A"&&t[e+3]==="T"&&t[e+4]==="T"&&t[e+5]==="L"&&t[e+6]==="I"&&t[e+7]==="S"&&t[e+8]==="T"}function y_(t,e){return t[e+1]==="!"&&t[e+2]==="N"&&t[e+3]==="O"&&t[e+4]==="T"&&t[e+5]==="A"&&t[e+6]==="T"&&t[e+7]==="I"&&t[e+8]==="O"&&t[e+9]==="N"}function w_(t){if(u_.isName(t))return t;throw new Error(`Invalid entity name ${t}`)}var v_=p_;const b_=/^[-+]?0x[a-fA-F0-9]+$/,x_=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt);!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);const k_={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function S_(t,e={}){if(e=Object.assign({},k_,e),!t||typeof t!="string")return t;let n=t.trim();if(e.skipLike!==void 0&&e.skipLike.test(n))return t;if(e.hex&&b_.test(n))return Number.parseInt(n,16);{const r=x_.exec(n);if(r){const i=r[1],s=r[2];let a=A_(r[3]);const c=r[4]||r[6];if(!e.leadingZeros&&s.length>0&&i&&n[2]!==".")return t;if(!e.leadingZeros&&s.length>0&&!i&&n[1]!==".")return t;{const l=Number(n),d=""+l;return d.search(/[eE]/)!==-1||c?e.eNotation?l:t:n.indexOf(".")!==-1?d==="0"&&a===""||d===a||i&&d==="-"+a?l:t:s?a===d||i+a===d?l:t:n===d||n===i+d?l:t}}else return t}}function A_(t){return t&&t.indexOf(".")!==-1&&(t=t.replace(/0+$/,""),t==="."?t="0":t[0]==="."?t="0"+t:t[t.length-1]==="."&&(t=t.substr(0,t.length-1))),t}var z_=S_;function E_(t){return typeof t=="function"?t:Array.isArray(t)?e=>{for(const n of t)if(typeof n=="string"&&e===n||n instanceof RegExp&&n.test(e))return!0}:()=>!1}var Lf=E_;const Uf=to,Cr=d_,I_=v_,C_=z_,N_=Lf;let j_=class{constructor(e){this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(n,r)=>String.fromCharCode(Number.parseInt(r,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(n,r)=>String.fromCharCode(Number.parseInt(r,16))}},this.addExternalEntities=$_,this.parseXml=R_,this.parseTextData=O_,this.resolveNameSpace=T_,this.buildAttributesMap=B_,this.isItStopNode=q_,this.replaceEntitiesValue=U_,this.readStopNodeData=D_,this.saveTextToParentTag=V_,this.addChild=L_,this.ignoreAttributesFn=N_(this.options.ignoreAttributes)}};function $_(t){const e=Object.keys(t);for(let n=0;n<e.length;n++){const r=e[n];this.lastEntities[r]={regex:new RegExp("&"+r+";","g"),val:t[r]}}}function O_(t,e,n,r,i,s,a){if(t!==void 0&&(this.options.trimValues&&!r&&(t=t.trim()),t.length>0)){a||(t=this.replaceEntitiesValue(t));const c=this.options.tagValueProcessor(e,t,n,i,s);return c==null?t:typeof c!=typeof t||c!==t?c:this.options.trimValues?Oa(t,this.options.parseTagValue,this.options.numberParseOptions):t.trim()===t?Oa(t,this.options.parseTagValue,this.options.numberParseOptions):t}}function T_(t){if(this.options.removeNSPrefix){const e=t.split(":"),n=t.charAt(0)==="/"?"/":"";if(e[0]==="xmlns")return"";e.length===2&&(t=n+e[1])}return t}const P_=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function B_(t,e,n){if(this.options.ignoreAttributes!==!0&&typeof t=="string"){const r=Uf.getAllMatches(t,P_),i=r.length,s={};for(let a=0;a<i;a++){const c=this.resolveNameSpace(r[a][1]);if(this.ignoreAttributesFn(c,e))continue;let l=r[a][4],d=this.options.attributeNamePrefix+c;if(c.length)if(this.options.transformAttributeName&&(d=this.options.transformAttributeName(d)),d==="__proto__"&&(d="#__proto__"),l!==void 0){this.options.trimValues&&(l=l.trim()),l=this.replaceEntitiesValue(l);const p=this.options.attributeValueProcessor(c,l,e);p==null?s[d]=l:typeof p!=typeof l||p!==l?s[d]=p:s[d]=Oa(l,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(s[d]=!0)}if(!Object.keys(s).length)return;if(this.options.attributesGroupName){const a={};return a[this.options.attributesGroupName]=s,a}return s}}const R_=function(t){t=t.replace(/\r\n?/g,`
8
- `);const e=new Cr("!xml");let n=e,r="",i="";for(let s=0;s<t.length;s++)if(t[s]==="<")if(t[s+1]==="/"){const c=_n(t,">",s,"Closing Tag is not closed.");let l=t.substring(s+2,c).trim();if(this.options.removeNSPrefix){const f=l.indexOf(":");f!==-1&&(l=l.substr(f+1))}this.options.transformTagName&&(l=this.options.transformTagName(l)),n&&(r=this.saveTextToParentTag(r,n,i));const d=i.substring(i.lastIndexOf(".")+1);if(l&&this.options.unpairedTags.indexOf(l)!==-1)throw new Error(`Unpaired tag can not be used as closing tag: </${l}>`);let p=0;d&&this.options.unpairedTags.indexOf(d)!==-1?(p=i.lastIndexOf(".",i.lastIndexOf(".")-1),this.tagsNodeStack.pop()):p=i.lastIndexOf("."),i=i.substring(0,p),n=this.tagsNodeStack.pop(),r="",s=c}else if(t[s+1]==="?"){let c=$a(t,s,!1,"?>");if(!c)throw new Error("Pi Tag is not closed.");if(r=this.saveTextToParentTag(r,n,i),!(this.options.ignoreDeclaration&&c.tagName==="?xml"||this.options.ignorePiTags)){const l=new Cr(c.tagName);l.add(this.options.textNodeName,""),c.tagName!==c.tagExp&&c.attrExpPresent&&(l[":@"]=this.buildAttributesMap(c.tagExp,i,c.tagName)),this.addChild(n,l,i)}s=c.closeIndex+1}else if(t.substr(s+1,3)==="!--"){const c=_n(t,"-->",s+4,"Comment is not closed.");if(this.options.commentPropName){const l=t.substring(s+4,c-2);r=this.saveTextToParentTag(r,n,i),n.add(this.options.commentPropName,[{[this.options.textNodeName]:l}])}s=c}else if(t.substr(s+1,2)==="!D"){const c=I_(t,s);this.docTypeEntities=c.entities,s=c.i}else if(t.substr(s+1,2)==="!["){const c=_n(t,"]]>",s,"CDATA is not closed.")-2,l=t.substring(s+9,c);r=this.saveTextToParentTag(r,n,i);let d=this.parseTextData(l,n.tagname,i,!0,!1,!0,!0);d==null&&(d=""),this.options.cdataPropName?n.add(this.options.cdataPropName,[{[this.options.textNodeName]:l}]):n.add(this.options.textNodeName,d),s=c+2}else{let c=$a(t,s,this.options.removeNSPrefix),l=c.tagName;const d=c.rawTagName;let p=c.tagExp,f=c.attrExpPresent,m=c.closeIndex;this.options.transformTagName&&(l=this.options.transformTagName(l)),n&&r&&n.tagname!=="!xml"&&(r=this.saveTextToParentTag(r,n,i,!1));const w=n;if(w&&this.options.unpairedTags.indexOf(w.tagname)!==-1&&(n=this.tagsNodeStack.pop(),i=i.substring(0,i.lastIndexOf("."))),l!==e.tagname&&(i+=i?"."+l:l),this.isItStopNode(this.options.stopNodes,i,l)){let h="";if(p.length>0&&p.lastIndexOf("/")===p.length-1)l[l.length-1]==="/"?(l=l.substr(0,l.length-1),i=i.substr(0,i.length-1),p=l):p=p.substr(0,p.length-1),s=c.closeIndex;else if(this.options.unpairedTags.indexOf(l)!==-1)s=c.closeIndex;else{const v=this.readStopNodeData(t,d,m+1);if(!v)throw new Error(`Unexpected end of ${d}`);s=v.i,h=v.tagContent}const _=new Cr(l);l!==p&&f&&(_[":@"]=this.buildAttributesMap(p,i,l)),h&&(h=this.parseTextData(h,l,i,!0,f,!0,!0)),i=i.substr(0,i.lastIndexOf(".")),_.add(this.options.textNodeName,h),this.addChild(n,_,i)}else{if(p.length>0&&p.lastIndexOf("/")===p.length-1){l[l.length-1]==="/"?(l=l.substr(0,l.length-1),i=i.substr(0,i.length-1),p=l):p=p.substr(0,p.length-1),this.options.transformTagName&&(l=this.options.transformTagName(l));const h=new Cr(l);l!==p&&f&&(h[":@"]=this.buildAttributesMap(p,i,l)),this.addChild(n,h,i),i=i.substr(0,i.lastIndexOf("."))}else{const h=new Cr(l);this.tagsNodeStack.push(n),l!==p&&f&&(h[":@"]=this.buildAttributesMap(p,i,l)),this.addChild(n,h,i),n=h}r="",s=m}}else r+=t[s];return e.child};function L_(t,e,n){const r=this.options.updateTag(e.tagname,n,e[":@"]);r===!1||(typeof r=="string"&&(e.tagname=r),t.addChild(e))}const U_=function(t){if(this.options.processEntities){for(let e in this.docTypeEntities){const n=this.docTypeEntities[e];t=t.replace(n.regx,n.val)}for(let e in this.lastEntities){const n=this.lastEntities[e];t=t.replace(n.regex,n.val)}if(this.options.htmlEntities)for(let e in this.htmlEntities){const n=this.htmlEntities[e];t=t.replace(n.regex,n.val)}t=t.replace(this.ampEntity.regex,this.ampEntity.val)}return t};function V_(t,e,n,r){return t&&(r===void 0&&(r=Object.keys(e.child).length===0),t=this.parseTextData(t,e.tagname,n,!1,e[":@"]?Object.keys(e[":@"]).length!==0:!1,r),t!==void 0&&t!==""&&e.add(this.options.textNodeName,t),t=""),t}function q_(t,e,n){const r="*."+n;for(const i in t){const s=t[i];if(r===s||e===s)return!0}return!1}function M_(t,e,n=">"){let r,i="";for(let s=e;s<t.length;s++){let a=t[s];if(r)a===r&&(r="");else if(a==='"'||a==="'")r=a;else if(a===n[0])if(n[1]){if(t[s+1]===n[1])return{data:i,index:s}}else return{data:i,index:s};else a===" "&&(a=" ");i+=a}}function _n(t,e,n,r){const i=t.indexOf(e,n);if(i===-1)throw new Error(r);return i+e.length-1}function $a(t,e,n,r=">"){const i=M_(t,e+1,r);if(!i)return;let s=i.data;const a=i.index,c=s.search(/\s/);let l=s,d=!0;c!==-1&&(l=s.substring(0,c),s=s.substring(c+1).trimStart());const p=l;if(n){const f=l.indexOf(":");f!==-1&&(l=l.substr(f+1),d=l!==i.data.substr(f+1))}return{tagName:l,tagExp:s,closeIndex:a,attrExpPresent:d,rawTagName:p}}function D_(t,e,n){const r=n;let i=1;for(;n<t.length;n++)if(t[n]==="<")if(t[n+1]==="/"){const s=_n(t,">",n,`${e} is not closed`);if(t.substring(n+2,s).trim()===e&&(i--,i===0))return{tagContent:t.substring(r,n),i:s};n=s}else if(t[n+1]==="?")n=_n(t,"?>",n+1,"StopNode is not closed.");else if(t.substr(n+1,3)==="!--")n=_n(t,"-->",n+3,"StopNode is not closed.");else if(t.substr(n+1,2)==="![")n=_n(t,"]]>",n,"StopNode is not closed.")-2;else{const s=$a(t,n,">");s&&((s&&s.tagName)===e&&s.tagExp[s.tagExp.length-1]!=="/"&&i++,n=s.closeIndex)}}function Oa(t,e,n){if(e&&typeof t=="string"){const r=t.trim();return r==="true"?!0:r==="false"?!1:C_(t,n)}else return Uf.isExist(t)?t:""}var H_=j_,Vf={};function F_(t,e){return qf(t,e)}function qf(t,e,n){let r;const i={};for(let s=0;s<t.length;s++){const a=t[s],c=K_(a);let l="";if(n===void 0?l=c:l=n+"."+c,c===e.textNodeName)r===void 0?r=a[c]:r+=""+a[c];else{if(c===void 0)continue;if(a[c]){let d=qf(a[c],e,l);const p=G_(d,e);a[":@"]?W_(d,a[":@"],l,e):Object.keys(d).length===1&&d[e.textNodeName]!==void 0&&!e.alwaysCreateTextNode?d=d[e.textNodeName]:Object.keys(d).length===0&&(e.alwaysCreateTextNode?d[e.textNodeName]="":d=""),i[c]!==void 0&&i.hasOwnProperty(c)?(Array.isArray(i[c])||(i[c]=[i[c]]),i[c].push(d)):e.isArray(c,l,p)?i[c]=[d]:i[c]=d}}}return typeof r=="string"?r.length>0&&(i[e.textNodeName]=r):r!==void 0&&(i[e.textNodeName]=r),i}function K_(t){const e=Object.keys(t);for(let n=0;n<e.length;n++){const r=e[n];if(r!==":@")return r}}function W_(t,e,n,r){if(e){const i=Object.keys(e),s=i.length;for(let a=0;a<s;a++){const c=i[a];r.isArray(c,n+"."+c,!0,!0)?t[c]=[e[c]]:t[c]=e[c]}}}function G_(t,e){const{textNodeName:n}=e,r=Object.keys(t).length;return!!(r===0||r===1&&(t[n]||typeof t[n]=="boolean"||t[n]===0))}Vf.prettify=F_;const{buildOptions:J_}=fl,Z_=H_,{prettify:Y_}=Vf,X_=ul;let Q_=class{constructor(e){this.externalEntities={},this.options=J_(e)}parse(e,n){if(typeof e!="string")if(e.toString)e=e.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(n){n===!0&&(n={});const s=X_.validate(e,n);if(s!==!0)throw Error(`${s.err.msg}:${s.err.line}:${s.err.col}`)}const r=new Z_(this.options);r.addExternalEntities(this.externalEntities);const i=r.parseXml(e);return this.options.preserveOrder||i===void 0?i:Y_(i,this.options)}addEntity(e,n){if(n.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(e.indexOf("&")!==-1||e.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if(n==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[e]=n}};var ey=Q_;const ty=`
9
- `;function ny(t,e){let n="";return e.format&&e.indentBy.length>0&&(n=ty),Mf(t,e,"",n)}function Mf(t,e,n,r){let i="",s=!1;for(let a=0;a<t.length;a++){const c=t[a],l=ry(c);if(l===void 0)continue;let d="";if(n.length===0?d=l:d=`${n}.${l}`,l===e.textNodeName){let h=c[l];iy(d,e)||(h=e.tagValueProcessor(l,h),h=Df(h,e)),s&&(i+=r),i+=h,s=!1;continue}else if(l===e.cdataPropName){s&&(i+=r),i+=`<![CDATA[${c[l][0][e.textNodeName]}]]>`,s=!1;continue}else if(l===e.commentPropName){i+=r+`<!--${c[l][0][e.textNodeName]}-->`,s=!0;continue}else if(l[0]==="?"){const h=Zd(c[":@"],e),_=l==="?xml"?"":r;let v=c[l][0][e.textNodeName];v=v.length!==0?" "+v:"",i+=_+`<${l}${v}${h}?>`,s=!0;continue}let p=r;p!==""&&(p+=e.indentBy);const f=Zd(c[":@"],e),m=r+`<${l}${f}`,w=Mf(c[l],e,d,p);e.unpairedTags.indexOf(l)!==-1?e.suppressUnpairedNode?i+=m+">":i+=m+"/>":(!w||w.length===0)&&e.suppressEmptyNode?i+=m+"/>":w&&w.endsWith(">")?i+=m+`>${w}${r}</${l}>`:(i+=m+">",w&&r!==""&&(w.includes("/>")||w.includes("</"))?i+=r+e.indentBy+w+r:i+=w,i+=`</${l}>`),s=!0}return i}function ry(t){const e=Object.keys(t);for(let n=0;n<e.length;n++){const r=e[n];if(t.hasOwnProperty(r)&&r!==":@")return r}}function Zd(t,e){let n="";if(t&&!e.ignoreAttributes)for(let r in t){if(!t.hasOwnProperty(r))continue;let i=e.attributeValueProcessor(r,t[r]);i=Df(i,e),i===!0&&e.suppressBooleanAttributes?n+=` ${r.substr(e.attributeNamePrefix.length)}`:n+=` ${r.substr(e.attributeNamePrefix.length)}="${i}"`}return n}function iy(t,e){t=t.substr(0,t.length-e.textNodeName.length-1);let n=t.substr(t.lastIndexOf(".")+1);for(let r in e.stopNodes)if(e.stopNodes[r]===t||e.stopNodes[r]==="*."+n)return!0;return!1}function Df(t,e){if(t&&t.length>0&&e.processEntities)for(let n=0;n<e.entities.length;n++){const r=e.entities[n];t=t.replace(r.regex,r.val)}return t}var sy=ny;const oy=sy,ay=Lf,cy={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function an(t){this.options=Object.assign({},cy,t),this.options.ignoreAttributes===!0||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn=ay(this.options.ignoreAttributes),this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=uy),this.processTextOrObjNode=ly,this.options.format?(this.indentate=dy,this.tagEndChar=`>
5
+ */(function(e,n){typeof S0=="function"&&t&&t.exports?t.exports=n():(e.dcodeIO=e.dcodeIO||{}).bcrypt=n()})(cs,function(){var e={},n=null;function r(j){if(t&&t.exports)try{return E0.randomBytes(j)}catch{}try{var N;return(self.crypto||self.msCrypto).getRandomValues(N=new Uint32Array(j)),Array.prototype.slice.call(N)}catch{}if(!n)throw Error("Neither WebCryptoAPI nor a crypto module is available. Use bcrypt.setRandomFallback to set an alternative");return n(j)}var i=!1;try{r(1),i=!0}catch{}n=null,e.setRandomFallback=function(j){n=j},e.genSaltSync=function(j,N){if(j=j||_,typeof j!="number")throw Error("Illegal arguments: "+typeof j+", "+typeof N);j<4?j=4:j>31&&(j=31);var z=[];return z.push("$2a$"),j<10&&z.push("0"),z.push(j.toString()),z.push("$"),z.push(f(r(h),h)),z.join("")},e.genSalt=function(j,N,z){if(typeof N=="function"&&(z=N,N=void 0),typeof j=="function"&&(z=j,j=void 0),typeof j>"u")j=_;else if(typeof j!="number")throw Error("illegal arguments: "+typeof j);function k(x){a(function(){try{x(null,e.genSaltSync(j))}catch($){x($)}})}if(z){if(typeof z!="function")throw Error("Illegal callback: "+typeof z);k(z)}else return new Promise(function(x,$){k(function(U,X){if(U){$(U);return}x(X)})})},e.hashSync=function(j,N){if(typeof N>"u"&&(N=_),typeof N=="number"&&(N=e.genSaltSync(N)),typeof j!="string"||typeof N!="string")throw Error("Illegal arguments: "+typeof j+", "+typeof N);return Re(j,N)},e.hash=function(j,N,z,k){function x($){typeof j=="string"&&typeof N=="number"?e.genSalt(N,function(U,X){Re(j,X,$,k)}):typeof j=="string"&&typeof N=="string"?Re(j,N,$,k):a($.bind(this,Error("Illegal arguments: "+typeof j+", "+typeof N)))}if(z){if(typeof z!="function")throw Error("Illegal callback: "+typeof z);x(z)}else return new Promise(function($,U){x(function(X,G){if(X){U(X);return}$(G)})})};function s(j,N){for(var z=0,k=0,x=0,$=j.length;x<$;++x)j.charCodeAt(x)===N.charCodeAt(x)?++z:++k;return z<0?!1:k===0}e.compareSync=function(j,N){if(typeof j!="string"||typeof N!="string")throw Error("Illegal arguments: "+typeof j+", "+typeof N);return N.length!==60?!1:s(e.hashSync(j,N.substr(0,N.length-31)),N)},e.compare=function(j,N,z,k){function x($){if(typeof j!="string"||typeof N!="string"){a($.bind(this,Error("Illegal arguments: "+typeof j+", "+typeof N)));return}if(N.length!==60){a($.bind(this,null,!1));return}e.hash(j,N.substr(0,29),function(U,X){U?$(U):$(null,s(X,N))},k)}if(z){if(typeof z!="function")throw Error("Illegal callback: "+typeof z);x(z)}else return new Promise(function($,U){x(function(X,G){if(X){U(X);return}$(G)})})},e.getRounds=function(j){if(typeof j!="string")throw Error("Illegal arguments: "+typeof j);return parseInt(j.split("$")[2],10)},e.getSalt=function(j){if(typeof j!="string")throw Error("Illegal arguments: "+typeof j);if(j.length!==60)throw Error("Illegal hash length: "+j.length+" != 60");return j.substring(0,29)};var a=typeof process<"u"&&process&&typeof process.nextTick=="function"?typeof setImmediate=="function"?setImmediate:process.nextTick:setTimeout;function c(j){var N=[],z=0;return w.encodeUTF16toUTF8(function(){return z>=j.length?null:j.charCodeAt(z++)},function(k){N.push(k)}),N}var l="./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),d=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,54,55,56,57,58,59,60,61,62,63,-1,-1,-1,-1,-1,-1,-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,-1,-1,-1,-1,-1,-1,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,-1,-1,-1,-1,-1],p=String.fromCharCode;function f(j,N){var z=0,k=[],x,$;if(N<=0||N>j.length)throw Error("Illegal len: "+N);for(;z<N;){if(x=j[z++]&255,k.push(l[x>>2&63]),x=(x&3)<<4,z>=N){k.push(l[x&63]);break}if($=j[z++]&255,x|=$>>4&15,k.push(l[x&63]),x=($&15)<<2,z>=N){k.push(l[x&63]);break}$=j[z++]&255,x|=$>>6&3,k.push(l[x&63]),k.push(l[$&63])}return k.join("")}function m(j,N){var z=0,k=j.length,x=0,$=[],U,X,G,se,ue,H;if(N<=0)throw Error("Illegal len: "+N);for(;z<k-1&&x<N&&(H=j.charCodeAt(z++),U=H<d.length?d[H]:-1,H=j.charCodeAt(z++),X=H<d.length?d[H]:-1,!(U==-1||X==-1||(ue=U<<2>>>0,ue|=(X&48)>>4,$.push(p(ue)),++x>=N||z>=k)||(H=j.charCodeAt(z++),G=H<d.length?d[H]:-1,G==-1)||(ue=(X&15)<<4>>>0,ue|=(G&60)>>2,$.push(p(ue)),++x>=N||z>=k)));)H=j.charCodeAt(z++),se=H<d.length?d[H]:-1,ue=(G&3)<<6>>>0,ue|=se,$.push(p(ue)),++x;var Ce=[];for(z=0;z<x;z++)Ce.push($[z].charCodeAt(0));return Ce}var w=function(){var j={};return j.MAX_CODEPOINT=1114111,j.encodeUTF8=function(N,z){var k=null;for(typeof N=="number"&&(k=N,N=function(){return null});k!==null||(k=N())!==null;)k<128?z(k&127):k<2048?(z(k>>6&31|192),z(k&63|128)):k<65536?(z(k>>12&15|224),z(k>>6&63|128),z(k&63|128)):(z(k>>18&7|240),z(k>>12&63|128),z(k>>6&63|128),z(k&63|128)),k=null},j.decodeUTF8=function(N,z){for(var k,x,$,U,X=function(G){G=G.slice(0,G.indexOf(null));var se=Error(G.toString());throw se.name="TruncatedError",se.bytes=G,se};(k=N())!==null;)if(!(k&128))z(k);else if((k&224)===192)(x=N())===null&&X([k,x]),z((k&31)<<6|x&63);else if((k&240)===224)((x=N())===null||($=N())===null)&&X([k,x,$]),z((k&15)<<12|(x&63)<<6|$&63);else if((k&248)===240)((x=N())===null||($=N())===null||(U=N())===null)&&X([k,x,$,U]),z((k&7)<<18|(x&63)<<12|($&63)<<6|U&63);else throw RangeError("Illegal starting byte: "+k)},j.UTF16toUTF8=function(N,z){for(var k,x=null;(k=x!==null?x:N())!==null;){if(k>=55296&&k<=57343&&(x=N())!==null&&x>=56320&&x<=57343){z((k-55296)*1024+x-56320+65536),x=null;continue}z(k)}x!==null&&z(x)},j.UTF8toUTF16=function(N,z){var k=null;for(typeof N=="number"&&(k=N,N=function(){return null});k!==null||(k=N())!==null;)k<=65535?z(k):(k-=65536,z((k>>10)+55296),z(k%1024+56320)),k=null},j.encodeUTF16toUTF8=function(N,z){j.UTF16toUTF8(N,function(k){j.encodeUTF8(k,z)})},j.decodeUTF8toUTF16=function(N,z){j.decodeUTF8(N,function(k){j.UTF8toUTF16(k,z)})},j.calculateCodePoint=function(N){return N<128?1:N<2048?2:N<65536?3:4},j.calculateUTF8=function(N){for(var z,k=0;(z=N())!==null;)k+=j.calculateCodePoint(z);return k},j.calculateUTF16asUTF8=function(N){var z=0,k=0;return j.UTF16toUTF8(N,function(x){++z,k+=j.calculateCodePoint(x)}),[z,k]},j}();Date.now=Date.now||function(){return+new Date};var h=16,_=10,v=16,A=100,C=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],O=[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946,1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055,3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504,976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462],L=[1332899944,1700884034,1701343084,1684370003,1668446532,1869963892];function Q(j,N,z,k){var x,$=j[N],U=j[N+1];return $^=z[0],x=k[$>>>24],x+=k[256|$>>16&255],x^=k[512|$>>8&255],x+=k[768|$&255],U^=x^z[1],x=k[U>>>24],x+=k[256|U>>16&255],x^=k[512|U>>8&255],x+=k[768|U&255],$^=x^z[2],x=k[$>>>24],x+=k[256|$>>16&255],x^=k[512|$>>8&255],x+=k[768|$&255],U^=x^z[3],x=k[U>>>24],x+=k[256|U>>16&255],x^=k[512|U>>8&255],x+=k[768|U&255],$^=x^z[4],x=k[$>>>24],x+=k[256|$>>16&255],x^=k[512|$>>8&255],x+=k[768|$&255],U^=x^z[5],x=k[U>>>24],x+=k[256|U>>16&255],x^=k[512|U>>8&255],x+=k[768|U&255],$^=x^z[6],x=k[$>>>24],x+=k[256|$>>16&255],x^=k[512|$>>8&255],x+=k[768|$&255],U^=x^z[7],x=k[U>>>24],x+=k[256|U>>16&255],x^=k[512|U>>8&255],x+=k[768|U&255],$^=x^z[8],x=k[$>>>24],x+=k[256|$>>16&255],x^=k[512|$>>8&255],x+=k[768|$&255],U^=x^z[9],x=k[U>>>24],x+=k[256|U>>16&255],x^=k[512|U>>8&255],x+=k[768|U&255],$^=x^z[10],x=k[$>>>24],x+=k[256|$>>16&255],x^=k[512|$>>8&255],x+=k[768|$&255],U^=x^z[11],x=k[U>>>24],x+=k[256|U>>16&255],x^=k[512|U>>8&255],x+=k[768|U&255],$^=x^z[12],x=k[$>>>24],x+=k[256|$>>16&255],x^=k[512|$>>8&255],x+=k[768|$&255],U^=x^z[13],x=k[U>>>24],x+=k[256|U>>16&255],x^=k[512|U>>8&255],x+=k[768|U&255],$^=x^z[14],x=k[$>>>24],x+=k[256|$>>16&255],x^=k[512|$>>8&255],x+=k[768|$&255],U^=x^z[15],x=k[U>>>24],x+=k[256|U>>16&255],x^=k[512|U>>8&255],x+=k[768|U&255],$^=x^z[16],j[N]=U^z[v+1],j[N+1]=$,j}function ce(j,N){for(var z=0,k=0;z<4;++z)k=k<<8|j[N]&255,N=(N+1)%j.length;return{key:k,offp:N}}function le(j,N,z){for(var k=0,x=[0,0],$=N.length,U=z.length,X,G=0;G<$;G++)X=ce(j,k),k=X.offp,N[G]=N[G]^X.key;for(G=0;G<$;G+=2)x=Q(x,0,N,z),N[G]=x[0],N[G+1]=x[1];for(G=0;G<U;G+=2)x=Q(x,0,N,z),z[G]=x[0],z[G+1]=x[1]}function He(j,N,z,k){for(var x=0,$=[0,0],U=z.length,X=k.length,G,se=0;se<U;se++)G=ce(N,x),x=G.offp,z[se]=z[se]^G.key;for(x=0,se=0;se<U;se+=2)G=ce(j,x),x=G.offp,$[0]^=G.key,G=ce(j,x),x=G.offp,$[1]^=G.key,$=Q($,0,z,k),z[se]=$[0],z[se+1]=$[1];for(se=0;se<X;se+=2)G=ce(j,x),x=G.offp,$[0]^=G.key,G=ce(j,x),x=G.offp,$[1]^=G.key,$=Q($,0,z,k),k[se]=$[0],k[se+1]=$[1]}function Ve(j,N,z,k,x){var $=L.slice(),U=$.length,X;if(z<4||z>31)if(X=Error("Illegal number of rounds (4-31): "+z),k){a(k.bind(this,X));return}else throw X;if(N.length!==h)if(X=Error("Illegal salt length: "+N.length+" != "+h),k){a(k.bind(this,X));return}else throw X;z=1<<z>>>0;var G,se,ue=0,H;Int32Array?(G=new Int32Array(C),se=new Int32Array(O)):(G=C.slice(),se=O.slice()),He(N,j,G,se);function Ce(){if(x&&x(ue/z),ue<z)for(var he=Date.now();ue<z&&(ue=ue+1,le(j,G,se),le(N,G,se),!(Date.now()-he>A)););else{for(ue=0;ue<64;ue++)for(H=0;H<U>>1;H++)Q($,H<<1,G,se);var Se=[];for(ue=0;ue<U;ue++)Se.push(($[ue]>>24&255)>>>0),Se.push(($[ue]>>16&255)>>>0),Se.push(($[ue]>>8&255)>>>0),Se.push(($[ue]&255)>>>0);if(k){k(null,Se);return}else return Se}k&&a(Ce)}if(typeof k<"u")Ce();else for(var fn;;)if(typeof(fn=Ce())<"u")return fn||[]}function Re(j,N,z,k){var x;if(typeof j!="string"||typeof N!="string")if(x=Error("Invalid string / salt: Not a string"),z){a(z.bind(this,x));return}else throw x;var $,U;if(N.charAt(0)!=="$"||N.charAt(1)!=="2")if(x=Error("Invalid salt version: "+N.substring(0,2)),z){a(z.bind(this,x));return}else throw x;if(N.charAt(2)==="$")$="\0",U=3;else{if($=N.charAt(2),$!=="a"&&$!=="b"&&$!=="y"||N.charAt(3)!=="$")if(x=Error("Invalid salt revision: "+N.substring(2,4)),z){a(z.bind(this,x));return}else throw x;U=4}if(N.charAt(U+2)>"$")if(x=Error("Missing salt rounds"),z){a(z.bind(this,x));return}else throw x;var X=parseInt(N.substring(U,U+1),10)*10,G=parseInt(N.substring(U+1,U+2),10),se=X+G,ue=N.substring(U+3,U+25);j+=$>="a"?"\0":"";var H=c(j),Ce=m(ue,h);function fn(he){var Se=[];return Se.push("$2"),$>="a"&&Se.push($),Se.push("$"),se<10&&Se.push("0"),Se.push(se.toString()),Se.push("$"),Se.push(f(Ce,Ce.length)),Se.push(f(he,L.length*4-1)),Se.join("")}if(typeof z>"u")return fn(Ve(H,Ce,se));Ve(H,Ce,se,function(he,Se){he?z(he,null):z(null,fn(Se))},k)}return e.encodeBase64=f,e.decodeBase64=m,e})})(Cf);var I0=Cf.exports;const oi=If(I0),C0="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let N0=t=>crypto.getRandomValues(new Uint8Array(t)),j0=(t,e,n)=>{let r=(2<<Math.log2(t.length-1))-1,i=-~(1.6*r*e/t.length);return(s=e)=>{let a="";for(;;){let c=n(i),l=i;for(;l--;)if(a+=t[c[l]&r]||"",a.length===s)return a}}},$0=(t,e=21)=>j0(t,e,N0),ke=(t=21)=>{let e="",n=crypto.getRandomValues(new Uint8Array(t));for(;t--;)e+=C0[n[t]&63];return e};const O0=24;function Qs(){return $0("0123456789abcdef",O0)()}function Md(t){if(!t.includes("|"))return console.error("Invalid user_id format"),t;const[,e]=t.split("|");return e}function T0(t){return async(e,n)=>{if(!n.email||!n.email_verified)return t.users.create(e,n);const r=await io({userAdapter:t.users,tenant_id:e,email:n.email});return r?(await t.users.create(e,{...n,linked_to:r.user_id}),r):t.users.create(e,n)}}function we(t,e){return{type:e.type,description:e.description||"",ip:t.req.header("x-real-ip")||"",user_agent:t.req.header("user-agent")||"",date:new Date().toISOString(),details:{request:{method:t.req.method,path:t.req.path,qs:t.req.queries(),body:e.body||t.var.body||""}},isMobile:!1,client_id:t.var.client_id,client_name:"",user_id:e.userId||t.var.user_id||"",hostname:t.req.header("host")||"",user_name:t.var.username||"",connection_id:"",connection:t.var.connection||"",strategy:e.strategy||"",strategy_type:e.strategy_type||"",audience:"",scope:[]}}class al{constructor(e,n){te(this,"value");te(this,"unit");this.value=e,this.unit=n}milliseconds(){return this.unit==="ms"?this.value:this.unit==="s"?this.value*1e3:this.unit==="m"?this.value*1e3*60:this.unit==="h"?this.value*1e3*60*60:this.unit==="d"?this.value*1e3*60*60*24:this.value*1e3*60*60*24*7}seconds(){return this.milliseconds()/1e3}transform(e){return new al(Math.round(this.milliseconds()*e),"ms")}}class P0{constructor(e){te(this,"hash");this.hash=e}async verify(e,n,r){const i=await crypto.subtle.importKey("spki",e,{name:"RSASSA-PKCS1-v1_5",hash:this.hash},!1,["verify"]);return await crypto.subtle.verify("RSASSA-PKCS1-v1_5",i,n,r)}async sign(e,n){const r=await crypto.subtle.importKey("pkcs8",e,{name:"RSASSA-PKCS1-v1_5",hash:this.hash},!1,["sign"]);return await crypto.subtle.sign("RSASSA-PKCS1-v1_5",r,n)}async generateKeyPair(e){const n=await crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",hash:this.hash,modulusLength:e??2048,publicExponent:new Uint8Array([1,0,1])},!0,["sign"]),r=await crypto.subtle.exportKey("pkcs8",n.privateKey),i=await crypto.subtle.exportKey("spki",n.publicKey);return{privateKey:r,publicKey:i}}}async function Nf(t){return await crypto.subtle.digest("SHA-256",t)}const Dd="0123456789abcdef";function Ca(t){const e=new Uint8Array(t);let n="";for(let r=0;r<e.length;r++){const i=e[r]>>4;n+=Dd[i];const s=e[r]&15;n+=Dd[s]}return n}class jf{constructor(e,n){te(this,"alphabet");te(this,"padding");te(this,"decodeMap",new Map);if(e.length!==32)throw new Error("Invalid alphabet");if(this.alphabet=e,this.padding=(n==null?void 0:n.padding)??"=",this.alphabet.includes(this.padding)||this.padding.length!==1)throw new Error("Invalid padding");for(let r=0;r<e.length;r++)this.decodeMap.set(e[r],r)}encode(e,n){let r="",i=0,s=0;for(let c=0;c<e.length;c++)for(i=i<<8|e[c],s+=8;s>=5;)s-=5,r+=this.alphabet[i>>s&31];if(s>0&&(r+=this.alphabet[i<<5-s&31]),(n==null?void 0:n.includePadding)??!0){const c=(8-r.length%8)%8;for(let l=0;l<c;l++)r+="="}return r}decode(e,n){const r=(n==null?void 0:n.strict)??!0,i=Math.ceil(e.length/8),s=[];for(let a=0;a<i;a++){let c=0;const l=[];for(let p=0;p<8;p++){const f=e[a*8+p];if(f==="="){if(a+1!==i)throw new Error(`Invalid character: ${f}`);c+=1;continue}if(f===void 0){if(r)throw new Error("Invalid data");c+=1;continue}const m=this.decodeMap.get(f)??null;if(m===null)throw new Error(`Invalid character: ${f}`);l.push(m)}if(c===8||c===7||c===5||c===2)throw new Error("Invalid padding");const d=(l[0]<<3)+(l[1]>>2);if(s.push(d),c<6){const p=((l[1]&3)<<6)+(l[2]<<1)+(l[3]>>4);s.push(p)}if(c<4){const p=((l[3]&255)<<4)+(l[4]>>1);s.push(p)}if(c<3){const p=((l[4]&1)<<7)+(l[5]<<2)+(l[6]>>3);s.push(p)}if(c<1){const p=((l[6]&7)<<5)+l[7];s.push(p)}}return Uint8Array.from(s)}}new jf("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567");new jf("0123456789ABCDEFGHIJKLMNOPQRSTUV");class $f{constructor(e,n){te(this,"alphabet");te(this,"padding");te(this,"decodeMap",new Map);if(e.length!==64)throw new Error("Invalid alphabet");if(this.alphabet=e,this.padding=(n==null?void 0:n.padding)??"=",this.alphabet.includes(this.padding)||this.padding.length!==1)throw new Error("Invalid padding");for(let r=0;r<e.length;r++)this.decodeMap.set(e[r],r)}encode(e,n){let r="",i=0,s=0;for(let c=0;c<e.length;c++)for(i=i<<8|e[c],s+=8;s>=6;)s+=-6,r+=this.alphabet[i>>s&63];if(s>0&&(r+=this.alphabet[i<<6-s&63]),(n==null?void 0:n.includePadding)??!0){const c=(4-r.length%4)%4;for(let l=0;l<c;l++)r+="="}return r}decode(e,n){const r=(n==null?void 0:n.strict)??!0,i=Math.ceil(e.length/4),s=[];for(let a=0;a<i;a++){let c=0,l=0;for(let d=0;d<4;d++){const p=e[a*4+d];if(p==="="){if(a+1!==i)throw new Error(`Invalid character: ${p}`);c+=1;continue}if(p===void 0){if(r)throw new Error("Invalid data");c+=1;continue}const f=this.decodeMap.get(p)??null;if(f===null)throw new Error(`Invalid character: ${p}`);l+=f<<6*(3-d)}s.push(l>>16&255),c<2&&s.push(l>>8&255),c<1&&s.push(l&255)}return Uint8Array.from(s)}}const B0=new $f("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),vn=new $f("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_");async function Hd(t,e,n,r){const i={alg:t,typ:"JWT",...r==null?void 0:r.headers},s={...n};(r==null?void 0:r.audiences)!==void 0&&(s.aud=r.audiences),(r==null?void 0:r.subject)!==void 0&&(s.sub=r.subject),(r==null?void 0:r.issuer)!==void 0&&(s.iss=r.issuer),(r==null?void 0:r.jwtId)!==void 0&&(s.jti=r.jwtId),(r==null?void 0:r.expiresIn)!==void 0&&(s.exp=Math.floor(Date.now()/1e3)+r.expiresIn.seconds()),(r==null?void 0:r.notBefore)!==void 0&&(s.nbf=Math.floor(r.notBefore.getTime()/1e3)),s.iat=Math.floor(Date.now()/1e3);const a=new TextEncoder,c=vn.encode(a.encode(JSON.stringify(i)),{includePadding:!1}),l=vn.encode(a.encode(JSON.stringify(s)),{includePadding:!1}),d=a.encode([c,l].join(".")),p=await L0(t).sign(e,d),f=vn.encode(new Uint8Array(p),{includePadding:!1});return[c,l,f].join(".")}function R0(t){const e=t.split(".");return e.length!==3?null:e}function cl(t){const e=R0(t);if(!e)return null;const n=new TextDecoder,r=vn.decode(e[0],{strict:!1}),i=vn.decode(e[1],{strict:!1}),s=JSON.parse(n.decode(r));if(typeof s!="object"||s===null||!("alg"in s)||!U0(s.alg)||"typ"in s&&s.typ!=="JWT")return null;const a=JSON.parse(n.decode(i));if(typeof a!="object"||a===null)return null;const c={algorithm:s.alg,expiresAt:null,subject:null,issuedAt:null,issuer:null,jwtId:null,audiences:null,notBefore:null};if("exp"in a){if(typeof a.exp!="number")return null;c.expiresAt=new Date(a.exp*1e3)}if("iss"in a){if(typeof a.iss!="string")return null;c.issuer=a.iss}if("sub"in a){if(typeof a.sub!="string")return null;c.subject=a.sub}if("aud"in a)if(Array.isArray(a.aud)){for(const l of a.aud)if(typeof l!="string")return null;c.audiences=a.aud}else{if(typeof a.aud!="string")return null;c.audiences=[a.aud]}if("nbf"in a){if(typeof a.nbf!="number")return null;c.notBefore=new Date(a.nbf*1e3)}if("iat"in a){if(typeof a.iat!="number")return null;c.issuedAt=new Date(a.iat*1e3)}if("jti"in a){if(typeof a.jti!="string")return null;c.jwtId=a.jti}return{value:t,header:{...s,typ:"JWT",alg:s.alg},payload:{...a},parts:e,...c}}function L0(t){return new P0(V0[t])}function U0(t){return typeof t!="string"?!1:["HS256","HS384","HS512","RS256","RS384","RS512","ES256","ES384","ES512","PS256","PS384","PS512"].includes(t)}const V0={RS256:"SHA-256",RS384:"SHA-384",RS512:"SHA-512"};function q0(){const t=new Uint8Array(32);return crypto.getRandomValues(t),vn.encode(t,{includePadding:!1})}function M0(t){try{const n=/-----BEGIN (?:RSA )?(?:PRIVATE|PUBLIC) KEY-----([^-]*)-----END (?:RSA )?(?:PRIVATE|PUBLIC) KEY-----/.exec(t);if(!n||!n[1])throw new Error("Invalid PEM format");return Uint8Array.from(atob(n[1].replace(/\s/g,"")),r=>r.charCodeAt(0)).buffer}finally{t=t.replace(/./g,"\0")}}async function D0(t,e){if(e==="plain")return t;const n=new TextEncoder().encode(t),r=await Nf(n);return vn.encode(new Uint8Array(r),{includePadding:!1})}const $i=60*5,eo=30*24*60*60,Qn=24*60*60,H0="auth-token",Na=30*60*1e3,F0=7*24*60*60*1e3,K0=5*60,W0=5*60,G0=30*60*1e3,J0=30*60*1e3,Z0=24*60*60*1e3;function Of(t,e,n){const r=[];return r.push([encodeURIComponent(t),encodeURIComponent(e)]),(n==null?void 0:n.domain)!==void 0&&r.push(["Domain",n.domain]),(n==null?void 0:n.expires)!==void 0&&r.push(["Expires",n.expires.toUTCString()]),n!=null&&n.httpOnly&&r.push(["HttpOnly"]),(n==null?void 0:n.maxAge)!==void 0&&r.push(["Max-Age",n.maxAge.toString()]),(n==null?void 0:n.path)!==void 0&&r.push(["Path",n.path]),(n==null?void 0:n.sameSite)==="lax"&&r.push(["SameSite","Lax"]),(n==null?void 0:n.sameSite)==="none"&&r.push(["SameSite","None"]),(n==null?void 0:n.sameSite)==="strict"&&r.push(["SameSite","Strict"]),n!=null&&n.secure&&r.push(["Secure"]),r.map(i=>i.join("=")).join("; ")}function Y0(t){const e=new Map,n=t.split("; ");for(const r of n){const i=r.split("="),s=i[0],a=i[1]??"";s&&e.set(decodeURIComponent(s),decodeURIComponent(a))}return e}function ll(t){return`${t}-${H0}`}function Tf(t){if(!t)return;if(t==="localhost"||/^(\d{1,3}\.){3}\d{1,3}$/.test(t))return t;const e=t.split(".");return e.length>2?`.${e.slice(-2).join(".")}`:`.${t}`}function ls(t,e){return e?Y0(e).get(ll(t)):void 0}function X0(t,e){return Of(ll(t),"",{path:"/",httpOnly:!0,secure:!0,maxAge:0,sameSite:"none",domain:e?Tf(e):void 0})}function Pf(t,e,n){return Of(ll(t),e,{path:"/",httpOnly:!0,secure:!0,maxAge:eo,sameSite:"none",domain:n?Tf(n):void 0})}var dl={},to={};(function(t){const e=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",n=e+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",r="["+e+"]["+n+"]*",i=new RegExp("^"+r+"$"),s=function(c,l){const d=[];let p=l.exec(c);for(;p;){const f=[];f.startIndex=l.lastIndex-p[0].length;const m=p.length;for(let w=0;w<m;w++)f.push(p[w]);d.push(f),p=l.exec(c)}return d},a=function(c){const l=i.exec(c);return!(l===null||typeof l>"u")};t.isExist=function(c){return typeof c<"u"},t.isEmptyObject=function(c){return Object.keys(c).length===0},t.merge=function(c,l,d){if(l){const p=Object.keys(l),f=p.length;for(let m=0;m<f;m++)d==="strict"?c[p[m]]=[l[p[m]]]:c[p[m]]=l[p[m]]}},t.getValue=function(c){return t.isExist(c)?c:""},t.isName=a,t.getAllMatches=s,t.nameRegexp=r})(to);const ul=to,Q0={allowBooleanAttributes:!1,unpairedTags:[]};dl.validate=function(t,e){e=Object.assign({},Q0,e);const n=[];let r=!1,i=!1;t[0]==="\uFEFF"&&(t=t.substr(1));for(let s=0;s<t.length;s++)if(t[s]==="<"&&t[s+1]==="?"){if(s+=2,s=Kd(t,s),s.err)return s}else if(t[s]==="<"){let a=s;if(s++,t[s]==="!"){s=Wd(t,s);continue}else{let c=!1;t[s]==="/"&&(c=!0,s++);let l="";for(;s<t.length&&t[s]!==">"&&t[s]!==" "&&t[s]!==" "&&t[s]!==`
6
+ `&&t[s]!=="\r";s++)l+=t[s];if(l=l.trim(),l[l.length-1]==="/"&&(l=l.substring(0,l.length-1),s--),!a_(l)){let f;return l.trim().length===0?f="Invalid space after '<'.":f="Tag '"+l+"' is an invalid name.",be("InvalidTag",f,qe(t,s))}const d=n_(t,s);if(d===!1)return be("InvalidAttr","Attributes for '"+l+"' have open quote.",qe(t,s));let p=d.value;if(s=d.index,p[p.length-1]==="/"){const f=s-p.length;p=p.substring(0,p.length-1);const m=Gd(p,e);if(m===!0)r=!0;else return be(m.err.code,m.err.msg,qe(t,f+m.err.line))}else if(c)if(d.tagClosed){if(p.trim().length>0)return be("InvalidTag","Closing tag '"+l+"' can't have attributes or invalid starting.",qe(t,a));if(n.length===0)return be("InvalidTag","Closing tag '"+l+"' has not been opened.",qe(t,a));{const f=n.pop();if(l!==f.tagName){let m=qe(t,f.tagStartPos);return be("InvalidTag","Expected closing tag '"+f.tagName+"' (opened in line "+m.line+", col "+m.col+") instead of closing tag '"+l+"'.",qe(t,a))}n.length==0&&(i=!0)}}else return be("InvalidTag","Closing tag '"+l+"' doesn't have proper closing.",qe(t,s));else{const f=Gd(p,e);if(f!==!0)return be(f.err.code,f.err.msg,qe(t,s-p.length+f.err.line));if(i===!0)return be("InvalidXml","Multiple possible root nodes found.",qe(t,s));e.unpairedTags.indexOf(l)!==-1||n.push({tagName:l,tagStartPos:a}),r=!0}for(s++;s<t.length;s++)if(t[s]==="<")if(t[s+1]==="!"){s++,s=Wd(t,s);continue}else if(t[s+1]==="?"){if(s=Kd(t,++s),s.err)return s}else break;else if(t[s]==="&"){const f=s_(t,s);if(f==-1)return be("InvalidChar","char '&' is not expected.",qe(t,s));s=f}else if(i===!0&&!Fd(t[s]))return be("InvalidXml","Extra text at the end",qe(t,s));t[s]==="<"&&s--}}else{if(Fd(t[s]))continue;return be("InvalidChar","char '"+t[s]+"' is not expected.",qe(t,s))}if(r){if(n.length==1)return be("InvalidTag","Unclosed tag '"+n[0].tagName+"'.",qe(t,n[0].tagStartPos));if(n.length>0)return be("InvalidXml","Invalid '"+JSON.stringify(n.map(s=>s.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return be("InvalidXml","Start tag expected.",1);return!0};function Fd(t){return t===" "||t===" "||t===`
7
+ `||t==="\r"}function Kd(t,e){const n=e;for(;e<t.length;e++)if(t[e]=="?"||t[e]==" "){const r=t.substr(n,e-n);if(e>5&&r==="xml")return be("InvalidXml","XML declaration allowed only at the start of the document.",qe(t,e));if(t[e]=="?"&&t[e+1]==">"){e++;break}else continue}return e}function Wd(t,e){if(t.length>e+5&&t[e+1]==="-"&&t[e+2]==="-"){for(e+=3;e<t.length;e++)if(t[e]==="-"&&t[e+1]==="-"&&t[e+2]===">"){e+=2;break}}else if(t.length>e+8&&t[e+1]==="D"&&t[e+2]==="O"&&t[e+3]==="C"&&t[e+4]==="T"&&t[e+5]==="Y"&&t[e+6]==="P"&&t[e+7]==="E"){let n=1;for(e+=8;e<t.length;e++)if(t[e]==="<")n++;else if(t[e]===">"&&(n--,n===0))break}else if(t.length>e+9&&t[e+1]==="["&&t[e+2]==="C"&&t[e+3]==="D"&&t[e+4]==="A"&&t[e+5]==="T"&&t[e+6]==="A"&&t[e+7]==="["){for(e+=8;e<t.length;e++)if(t[e]==="]"&&t[e+1]==="]"&&t[e+2]===">"){e+=2;break}}return e}const e_='"',t_="'";function n_(t,e){let n="",r="",i=!1;for(;e<t.length;e++){if(t[e]===e_||t[e]===t_)r===""?r=t[e]:r!==t[e]||(r="");else if(t[e]===">"&&r===""){i=!0;break}n+=t[e]}return r!==""?!1:{value:n,index:e,tagClosed:i}}const r_=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function Gd(t,e){const n=ul.getAllMatches(t,r_),r={};for(let i=0;i<n.length;i++){if(n[i][1].length===0)return be("InvalidAttr","Attribute '"+n[i][2]+"' has no space in starting.",Ir(n[i]));if(n[i][3]!==void 0&&n[i][4]===void 0)return be("InvalidAttr","Attribute '"+n[i][2]+"' is without value.",Ir(n[i]));if(n[i][3]===void 0&&!e.allowBooleanAttributes)return be("InvalidAttr","boolean attribute '"+n[i][2]+"' is not allowed.",Ir(n[i]));const s=n[i][2];if(!o_(s))return be("InvalidAttr","Attribute '"+s+"' is an invalid name.",Ir(n[i]));if(!r.hasOwnProperty(s))r[s]=1;else return be("InvalidAttr","Attribute '"+s+"' is repeated.",Ir(n[i]))}return!0}function i_(t,e){let n=/\d/;for(t[e]==="x"&&(e++,n=/[\da-fA-F]/);e<t.length;e++){if(t[e]===";")return e;if(!t[e].match(n))break}return-1}function s_(t,e){if(e++,t[e]===";")return-1;if(t[e]==="#")return e++,i_(t,e);let n=0;for(;e<t.length;e++,n++)if(!(t[e].match(/\w/)&&n<20)){if(t[e]===";")break;return-1}return e}function be(t,e,n){return{err:{code:t,msg:e,line:n.line||n,col:n.col}}}function o_(t){return ul.isName(t)}function a_(t){return ul.isName(t)}function qe(t,e){const n=t.substring(0,e).split(/\r?\n/);return{line:n.length,col:n[n.length-1].length+1}}function Ir(t){return t.startIndex+t[1].length}var pl={};const Bf={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(t,e,n){return t}},c_=function(t){return Object.assign({},Bf,t)};pl.buildOptions=c_;pl.defaultOptions=Bf;class l_{constructor(e){this.tagname=e,this.child=[],this[":@"]={}}add(e,n){e==="__proto__"&&(e="#__proto__"),this.child.push({[e]:n})}addChild(e){e.tagname==="__proto__"&&(e.tagname="#__proto__"),e[":@"]&&Object.keys(e[":@"]).length>0?this.child.push({[e.tagname]:e.child,":@":e[":@"]}):this.child.push({[e.tagname]:e.child})}}var d_=l_;const u_=to;function p_(t,e){const n={};if(t[e+3]==="O"&&t[e+4]==="C"&&t[e+5]==="T"&&t[e+6]==="Y"&&t[e+7]==="P"&&t[e+8]==="E"){e=e+9;let r=1,i=!1,s=!1,a="";for(;e<t.length;e++)if(t[e]==="<"&&!s){if(i&&g_(t,e)){e+=7;let c,l;[c,l,e]=f_(t,e+1),l.indexOf("&")===-1&&(n[w_(c)]={regx:RegExp(`&${c};`,"g"),val:l})}else if(i&&m_(t,e))e+=8;else if(i&&__(t,e))e+=8;else if(i&&y_(t,e))e+=9;else if(h_)s=!0;else throw new Error("Invalid DOCTYPE");r++,a=""}else if(t[e]===">"){if(s?t[e-1]==="-"&&t[e-2]==="-"&&(s=!1,r--):r--,r===0)break}else t[e]==="["?i=!0:a+=t[e];if(r!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:n,i:e}}function f_(t,e){let n="";for(;e<t.length&&t[e]!=="'"&&t[e]!=='"';e++)n+=t[e];if(n=n.trim(),n.indexOf(" ")!==-1)throw new Error("External entites are not supported");const r=t[e++];let i="";for(;e<t.length&&t[e]!==r;e++)i+=t[e];return[n,i,e]}function h_(t,e){return t[e+1]==="!"&&t[e+2]==="-"&&t[e+3]==="-"}function g_(t,e){return t[e+1]==="!"&&t[e+2]==="E"&&t[e+3]==="N"&&t[e+4]==="T"&&t[e+5]==="I"&&t[e+6]==="T"&&t[e+7]==="Y"}function m_(t,e){return t[e+1]==="!"&&t[e+2]==="E"&&t[e+3]==="L"&&t[e+4]==="E"&&t[e+5]==="M"&&t[e+6]==="E"&&t[e+7]==="N"&&t[e+8]==="T"}function __(t,e){return t[e+1]==="!"&&t[e+2]==="A"&&t[e+3]==="T"&&t[e+4]==="T"&&t[e+5]==="L"&&t[e+6]==="I"&&t[e+7]==="S"&&t[e+8]==="T"}function y_(t,e){return t[e+1]==="!"&&t[e+2]==="N"&&t[e+3]==="O"&&t[e+4]==="T"&&t[e+5]==="A"&&t[e+6]==="T"&&t[e+7]==="I"&&t[e+8]==="O"&&t[e+9]==="N"}function w_(t){if(u_.isName(t))return t;throw new Error(`Invalid entity name ${t}`)}var v_=p_;const b_=/^[-+]?0x[a-fA-F0-9]+$/,x_=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt);!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);const k_={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function S_(t,e={}){if(e=Object.assign({},k_,e),!t||typeof t!="string")return t;let n=t.trim();if(e.skipLike!==void 0&&e.skipLike.test(n))return t;if(e.hex&&b_.test(n))return Number.parseInt(n,16);{const r=x_.exec(n);if(r){const i=r[1],s=r[2];let a=A_(r[3]);const c=r[4]||r[6];if(!e.leadingZeros&&s.length>0&&i&&n[2]!==".")return t;if(!e.leadingZeros&&s.length>0&&!i&&n[1]!==".")return t;{const l=Number(n),d=""+l;return d.search(/[eE]/)!==-1||c?e.eNotation?l:t:n.indexOf(".")!==-1?d==="0"&&a===""||d===a||i&&d==="-"+a?l:t:s?a===d||i+a===d?l:t:n===d||n===i+d?l:t}}else return t}}function A_(t){return t&&t.indexOf(".")!==-1&&(t=t.replace(/0+$/,""),t==="."?t="0":t[0]==="."?t="0"+t:t[t.length-1]==="."&&(t=t.substr(0,t.length-1))),t}var z_=S_;function E_(t){return typeof t=="function"?t:Array.isArray(t)?e=>{for(const n of t)if(typeof n=="string"&&e===n||n instanceof RegExp&&n.test(e))return!0}:()=>!1}var Rf=E_;const Lf=to,Cr=d_,I_=v_,C_=z_,N_=Rf;let j_=class{constructor(e){this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(n,r)=>String.fromCharCode(Number.parseInt(r,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(n,r)=>String.fromCharCode(Number.parseInt(r,16))}},this.addExternalEntities=$_,this.parseXml=R_,this.parseTextData=O_,this.resolveNameSpace=T_,this.buildAttributesMap=B_,this.isItStopNode=q_,this.replaceEntitiesValue=U_,this.readStopNodeData=D_,this.saveTextToParentTag=V_,this.addChild=L_,this.ignoreAttributesFn=N_(this.options.ignoreAttributes)}};function $_(t){const e=Object.keys(t);for(let n=0;n<e.length;n++){const r=e[n];this.lastEntities[r]={regex:new RegExp("&"+r+";","g"),val:t[r]}}}function O_(t,e,n,r,i,s,a){if(t!==void 0&&(this.options.trimValues&&!r&&(t=t.trim()),t.length>0)){a||(t=this.replaceEntitiesValue(t));const c=this.options.tagValueProcessor(e,t,n,i,s);return c==null?t:typeof c!=typeof t||c!==t?c:this.options.trimValues?$a(t,this.options.parseTagValue,this.options.numberParseOptions):t.trim()===t?$a(t,this.options.parseTagValue,this.options.numberParseOptions):t}}function T_(t){if(this.options.removeNSPrefix){const e=t.split(":"),n=t.charAt(0)==="/"?"/":"";if(e[0]==="xmlns")return"";e.length===2&&(t=n+e[1])}return t}const P_=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function B_(t,e,n){if(this.options.ignoreAttributes!==!0&&typeof t=="string"){const r=Lf.getAllMatches(t,P_),i=r.length,s={};for(let a=0;a<i;a++){const c=this.resolveNameSpace(r[a][1]);if(this.ignoreAttributesFn(c,e))continue;let l=r[a][4],d=this.options.attributeNamePrefix+c;if(c.length)if(this.options.transformAttributeName&&(d=this.options.transformAttributeName(d)),d==="__proto__"&&(d="#__proto__"),l!==void 0){this.options.trimValues&&(l=l.trim()),l=this.replaceEntitiesValue(l);const p=this.options.attributeValueProcessor(c,l,e);p==null?s[d]=l:typeof p!=typeof l||p!==l?s[d]=p:s[d]=$a(l,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(s[d]=!0)}if(!Object.keys(s).length)return;if(this.options.attributesGroupName){const a={};return a[this.options.attributesGroupName]=s,a}return s}}const R_=function(t){t=t.replace(/\r\n?/g,`
8
+ `);const e=new Cr("!xml");let n=e,r="",i="";for(let s=0;s<t.length;s++)if(t[s]==="<")if(t[s+1]==="/"){const c=_n(t,">",s,"Closing Tag is not closed.");let l=t.substring(s+2,c).trim();if(this.options.removeNSPrefix){const f=l.indexOf(":");f!==-1&&(l=l.substr(f+1))}this.options.transformTagName&&(l=this.options.transformTagName(l)),n&&(r=this.saveTextToParentTag(r,n,i));const d=i.substring(i.lastIndexOf(".")+1);if(l&&this.options.unpairedTags.indexOf(l)!==-1)throw new Error(`Unpaired tag can not be used as closing tag: </${l}>`);let p=0;d&&this.options.unpairedTags.indexOf(d)!==-1?(p=i.lastIndexOf(".",i.lastIndexOf(".")-1),this.tagsNodeStack.pop()):p=i.lastIndexOf("."),i=i.substring(0,p),n=this.tagsNodeStack.pop(),r="",s=c}else if(t[s+1]==="?"){let c=ja(t,s,!1,"?>");if(!c)throw new Error("Pi Tag is not closed.");if(r=this.saveTextToParentTag(r,n,i),!(this.options.ignoreDeclaration&&c.tagName==="?xml"||this.options.ignorePiTags)){const l=new Cr(c.tagName);l.add(this.options.textNodeName,""),c.tagName!==c.tagExp&&c.attrExpPresent&&(l[":@"]=this.buildAttributesMap(c.tagExp,i,c.tagName)),this.addChild(n,l,i)}s=c.closeIndex+1}else if(t.substr(s+1,3)==="!--"){const c=_n(t,"-->",s+4,"Comment is not closed.");if(this.options.commentPropName){const l=t.substring(s+4,c-2);r=this.saveTextToParentTag(r,n,i),n.add(this.options.commentPropName,[{[this.options.textNodeName]:l}])}s=c}else if(t.substr(s+1,2)==="!D"){const c=I_(t,s);this.docTypeEntities=c.entities,s=c.i}else if(t.substr(s+1,2)==="!["){const c=_n(t,"]]>",s,"CDATA is not closed.")-2,l=t.substring(s+9,c);r=this.saveTextToParentTag(r,n,i);let d=this.parseTextData(l,n.tagname,i,!0,!1,!0,!0);d==null&&(d=""),this.options.cdataPropName?n.add(this.options.cdataPropName,[{[this.options.textNodeName]:l}]):n.add(this.options.textNodeName,d),s=c+2}else{let c=ja(t,s,this.options.removeNSPrefix),l=c.tagName;const d=c.rawTagName;let p=c.tagExp,f=c.attrExpPresent,m=c.closeIndex;this.options.transformTagName&&(l=this.options.transformTagName(l)),n&&r&&n.tagname!=="!xml"&&(r=this.saveTextToParentTag(r,n,i,!1));const w=n;if(w&&this.options.unpairedTags.indexOf(w.tagname)!==-1&&(n=this.tagsNodeStack.pop(),i=i.substring(0,i.lastIndexOf("."))),l!==e.tagname&&(i+=i?"."+l:l),this.isItStopNode(this.options.stopNodes,i,l)){let h="";if(p.length>0&&p.lastIndexOf("/")===p.length-1)l[l.length-1]==="/"?(l=l.substr(0,l.length-1),i=i.substr(0,i.length-1),p=l):p=p.substr(0,p.length-1),s=c.closeIndex;else if(this.options.unpairedTags.indexOf(l)!==-1)s=c.closeIndex;else{const v=this.readStopNodeData(t,d,m+1);if(!v)throw new Error(`Unexpected end of ${d}`);s=v.i,h=v.tagContent}const _=new Cr(l);l!==p&&f&&(_[":@"]=this.buildAttributesMap(p,i,l)),h&&(h=this.parseTextData(h,l,i,!0,f,!0,!0)),i=i.substr(0,i.lastIndexOf(".")),_.add(this.options.textNodeName,h),this.addChild(n,_,i)}else{if(p.length>0&&p.lastIndexOf("/")===p.length-1){l[l.length-1]==="/"?(l=l.substr(0,l.length-1),i=i.substr(0,i.length-1),p=l):p=p.substr(0,p.length-1),this.options.transformTagName&&(l=this.options.transformTagName(l));const h=new Cr(l);l!==p&&f&&(h[":@"]=this.buildAttributesMap(p,i,l)),this.addChild(n,h,i),i=i.substr(0,i.lastIndexOf("."))}else{const h=new Cr(l);this.tagsNodeStack.push(n),l!==p&&f&&(h[":@"]=this.buildAttributesMap(p,i,l)),this.addChild(n,h,i),n=h}r="",s=m}}else r+=t[s];return e.child};function L_(t,e,n){const r=this.options.updateTag(e.tagname,n,e[":@"]);r===!1||(typeof r=="string"&&(e.tagname=r),t.addChild(e))}const U_=function(t){if(this.options.processEntities){for(let e in this.docTypeEntities){const n=this.docTypeEntities[e];t=t.replace(n.regx,n.val)}for(let e in this.lastEntities){const n=this.lastEntities[e];t=t.replace(n.regex,n.val)}if(this.options.htmlEntities)for(let e in this.htmlEntities){const n=this.htmlEntities[e];t=t.replace(n.regex,n.val)}t=t.replace(this.ampEntity.regex,this.ampEntity.val)}return t};function V_(t,e,n,r){return t&&(r===void 0&&(r=Object.keys(e.child).length===0),t=this.parseTextData(t,e.tagname,n,!1,e[":@"]?Object.keys(e[":@"]).length!==0:!1,r),t!==void 0&&t!==""&&e.add(this.options.textNodeName,t),t=""),t}function q_(t,e,n){const r="*."+n;for(const i in t){const s=t[i];if(r===s||e===s)return!0}return!1}function M_(t,e,n=">"){let r,i="";for(let s=e;s<t.length;s++){let a=t[s];if(r)a===r&&(r="");else if(a==='"'||a==="'")r=a;else if(a===n[0])if(n[1]){if(t[s+1]===n[1])return{data:i,index:s}}else return{data:i,index:s};else a===" "&&(a=" ");i+=a}}function _n(t,e,n,r){const i=t.indexOf(e,n);if(i===-1)throw new Error(r);return i+e.length-1}function ja(t,e,n,r=">"){const i=M_(t,e+1,r);if(!i)return;let s=i.data;const a=i.index,c=s.search(/\s/);let l=s,d=!0;c!==-1&&(l=s.substring(0,c),s=s.substring(c+1).trimStart());const p=l;if(n){const f=l.indexOf(":");f!==-1&&(l=l.substr(f+1),d=l!==i.data.substr(f+1))}return{tagName:l,tagExp:s,closeIndex:a,attrExpPresent:d,rawTagName:p}}function D_(t,e,n){const r=n;let i=1;for(;n<t.length;n++)if(t[n]==="<")if(t[n+1]==="/"){const s=_n(t,">",n,`${e} is not closed`);if(t.substring(n+2,s).trim()===e&&(i--,i===0))return{tagContent:t.substring(r,n),i:s};n=s}else if(t[n+1]==="?")n=_n(t,"?>",n+1,"StopNode is not closed.");else if(t.substr(n+1,3)==="!--")n=_n(t,"-->",n+3,"StopNode is not closed.");else if(t.substr(n+1,2)==="![")n=_n(t,"]]>",n,"StopNode is not closed.")-2;else{const s=ja(t,n,">");s&&((s&&s.tagName)===e&&s.tagExp[s.tagExp.length-1]!=="/"&&i++,n=s.closeIndex)}}function $a(t,e,n){if(e&&typeof t=="string"){const r=t.trim();return r==="true"?!0:r==="false"?!1:C_(t,n)}else return Lf.isExist(t)?t:""}var H_=j_,Uf={};function F_(t,e){return Vf(t,e)}function Vf(t,e,n){let r;const i={};for(let s=0;s<t.length;s++){const a=t[s],c=K_(a);let l="";if(n===void 0?l=c:l=n+"."+c,c===e.textNodeName)r===void 0?r=a[c]:r+=""+a[c];else{if(c===void 0)continue;if(a[c]){let d=Vf(a[c],e,l);const p=G_(d,e);a[":@"]?W_(d,a[":@"],l,e):Object.keys(d).length===1&&d[e.textNodeName]!==void 0&&!e.alwaysCreateTextNode?d=d[e.textNodeName]:Object.keys(d).length===0&&(e.alwaysCreateTextNode?d[e.textNodeName]="":d=""),i[c]!==void 0&&i.hasOwnProperty(c)?(Array.isArray(i[c])||(i[c]=[i[c]]),i[c].push(d)):e.isArray(c,l,p)?i[c]=[d]:i[c]=d}}}return typeof r=="string"?r.length>0&&(i[e.textNodeName]=r):r!==void 0&&(i[e.textNodeName]=r),i}function K_(t){const e=Object.keys(t);for(let n=0;n<e.length;n++){const r=e[n];if(r!==":@")return r}}function W_(t,e,n,r){if(e){const i=Object.keys(e),s=i.length;for(let a=0;a<s;a++){const c=i[a];r.isArray(c,n+"."+c,!0,!0)?t[c]=[e[c]]:t[c]=e[c]}}}function G_(t,e){const{textNodeName:n}=e,r=Object.keys(t).length;return!!(r===0||r===1&&(t[n]||typeof t[n]=="boolean"||t[n]===0))}Uf.prettify=F_;const{buildOptions:J_}=pl,Z_=H_,{prettify:Y_}=Uf,X_=dl;let Q_=class{constructor(e){this.externalEntities={},this.options=J_(e)}parse(e,n){if(typeof e!="string")if(e.toString)e=e.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(n){n===!0&&(n={});const s=X_.validate(e,n);if(s!==!0)throw Error(`${s.err.msg}:${s.err.line}:${s.err.col}`)}const r=new Z_(this.options);r.addExternalEntities(this.externalEntities);const i=r.parseXml(e);return this.options.preserveOrder||i===void 0?i:Y_(i,this.options)}addEntity(e,n){if(n.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(e.indexOf("&")!==-1||e.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if(n==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[e]=n}};var ey=Q_;const ty=`
9
+ `;function ny(t,e){let n="";return e.format&&e.indentBy.length>0&&(n=ty),qf(t,e,"",n)}function qf(t,e,n,r){let i="",s=!1;for(let a=0;a<t.length;a++){const c=t[a],l=ry(c);if(l===void 0)continue;let d="";if(n.length===0?d=l:d=`${n}.${l}`,l===e.textNodeName){let h=c[l];iy(d,e)||(h=e.tagValueProcessor(l,h),h=Mf(h,e)),s&&(i+=r),i+=h,s=!1;continue}else if(l===e.cdataPropName){s&&(i+=r),i+=`<![CDATA[${c[l][0][e.textNodeName]}]]>`,s=!1;continue}else if(l===e.commentPropName){i+=r+`<!--${c[l][0][e.textNodeName]}-->`,s=!0;continue}else if(l[0]==="?"){const h=Jd(c[":@"],e),_=l==="?xml"?"":r;let v=c[l][0][e.textNodeName];v=v.length!==0?" "+v:"",i+=_+`<${l}${v}${h}?>`,s=!0;continue}let p=r;p!==""&&(p+=e.indentBy);const f=Jd(c[":@"],e),m=r+`<${l}${f}`,w=qf(c[l],e,d,p);e.unpairedTags.indexOf(l)!==-1?e.suppressUnpairedNode?i+=m+">":i+=m+"/>":(!w||w.length===0)&&e.suppressEmptyNode?i+=m+"/>":w&&w.endsWith(">")?i+=m+`>${w}${r}</${l}>`:(i+=m+">",w&&r!==""&&(w.includes("/>")||w.includes("</"))?i+=r+e.indentBy+w+r:i+=w,i+=`</${l}>`),s=!0}return i}function ry(t){const e=Object.keys(t);for(let n=0;n<e.length;n++){const r=e[n];if(t.hasOwnProperty(r)&&r!==":@")return r}}function Jd(t,e){let n="";if(t&&!e.ignoreAttributes)for(let r in t){if(!t.hasOwnProperty(r))continue;let i=e.attributeValueProcessor(r,t[r]);i=Mf(i,e),i===!0&&e.suppressBooleanAttributes?n+=` ${r.substr(e.attributeNamePrefix.length)}`:n+=` ${r.substr(e.attributeNamePrefix.length)}="${i}"`}return n}function iy(t,e){t=t.substr(0,t.length-e.textNodeName.length-1);let n=t.substr(t.lastIndexOf(".")+1);for(let r in e.stopNodes)if(e.stopNodes[r]===t||e.stopNodes[r]==="*."+n)return!0;return!1}function Mf(t,e){if(t&&t.length>0&&e.processEntities)for(let n=0;n<e.entities.length;n++){const r=e.entities[n];t=t.replace(r.regex,r.val)}return t}var sy=ny;const oy=sy,ay=Rf,cy={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function cn(t){this.options=Object.assign({},cy,t),this.options.ignoreAttributes===!0||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn=ay(this.options.ignoreAttributes),this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=uy),this.processTextOrObjNode=ly,this.options.format?(this.indentate=dy,this.tagEndChar=`>
10
10
  `,this.newLine=`
11
- `):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}an.prototype.build=function(t){return this.options.preserveOrder?oy(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t}),this.j2x(t,0,[]).val)};an.prototype.j2x=function(t,e,n){let r="",i="";const s=n.join(".");for(let a in t)if(Object.prototype.hasOwnProperty.call(t,a))if(typeof t[a]>"u")this.isAttribute(a)&&(i+="");else if(t[a]===null)this.isAttribute(a)?i+="":a[0]==="?"?i+=this.indentate(e)+"<"+a+"?"+this.tagEndChar:i+=this.indentate(e)+"<"+a+"/"+this.tagEndChar;else if(t[a]instanceof Date)i+=this.buildTextValNode(t[a],a,"",e);else if(typeof t[a]!="object"){const c=this.isAttribute(a);if(c&&!this.ignoreAttributesFn(c,s))r+=this.buildAttrPairStr(c,""+t[a]);else if(!c)if(a===this.options.textNodeName){let l=this.options.tagValueProcessor(a,""+t[a]);i+=this.replaceEntitiesValue(l)}else i+=this.buildTextValNode(t[a],a,"",e)}else if(Array.isArray(t[a])){const c=t[a].length;let l="",d="";for(let p=0;p<c;p++){const f=t[a][p];if(!(typeof f>"u"))if(f===null)a[0]==="?"?i+=this.indentate(e)+"<"+a+"?"+this.tagEndChar:i+=this.indentate(e)+"<"+a+"/"+this.tagEndChar;else if(typeof f=="object")if(this.options.oneListGroup){const m=this.j2x(f,e+1,n.concat(a));l+=m.val,this.options.attributesGroupName&&f.hasOwnProperty(this.options.attributesGroupName)&&(d+=m.attrStr)}else l+=this.processTextOrObjNode(f,a,e,n);else if(this.options.oneListGroup){let m=this.options.tagValueProcessor(a,f);m=this.replaceEntitiesValue(m),l+=m}else l+=this.buildTextValNode(f,a,"",e)}this.options.oneListGroup&&(l=this.buildObjectNode(l,a,d,e)),i+=l}else if(this.options.attributesGroupName&&a===this.options.attributesGroupName){const c=Object.keys(t[a]),l=c.length;for(let d=0;d<l;d++)r+=this.buildAttrPairStr(c[d],""+t[a][c[d]])}else i+=this.processTextOrObjNode(t[a],a,e,n);return{attrStr:r,val:i}};an.prototype.buildAttrPairStr=function(t,e){return e=this.options.attributeValueProcessor(t,""+e),e=this.replaceEntitiesValue(e),this.options.suppressBooleanAttributes&&e==="true"?" "+t:" "+t+'="'+e+'"'};function ly(t,e,n,r){const i=this.j2x(t,n+1,r.concat(e));return t[this.options.textNodeName]!==void 0&&Object.keys(t).length===1?this.buildTextValNode(t[this.options.textNodeName],e,i.attrStr,n):this.buildObjectNode(i.val,e,i.attrStr,n)}an.prototype.buildObjectNode=function(t,e,n,r){if(t==="")return e[0]==="?"?this.indentate(r)+"<"+e+n+"?"+this.tagEndChar:this.indentate(r)+"<"+e+n+this.closeTag(e)+this.tagEndChar;{let i="</"+e+this.tagEndChar,s="";return e[0]==="?"&&(s="?",i=""),(n||n==="")&&t.indexOf("<")===-1?this.indentate(r)+"<"+e+n+s+">"+t+i:this.options.commentPropName!==!1&&e===this.options.commentPropName&&s.length===0?this.indentate(r)+`<!--${t}-->`+this.newLine:this.indentate(r)+"<"+e+n+s+this.tagEndChar+t+this.indentate(r)+i}};an.prototype.closeTag=function(t){let e="";return this.options.unpairedTags.indexOf(t)!==-1?this.options.suppressUnpairedNode||(e="/"):this.options.suppressEmptyNode?e="/":e=`></${t}`,e};an.prototype.buildTextValNode=function(t,e,n,r){if(this.options.cdataPropName!==!1&&e===this.options.cdataPropName)return this.indentate(r)+`<![CDATA[${t}]]>`+this.newLine;if(this.options.commentPropName!==!1&&e===this.options.commentPropName)return this.indentate(r)+`<!--${t}-->`+this.newLine;if(e[0]==="?")return this.indentate(r)+"<"+e+n+"?"+this.tagEndChar;{let i=this.options.tagValueProcessor(e,t);return i=this.replaceEntitiesValue(i),i===""?this.indentate(r)+"<"+e+n+this.closeTag(e)+this.tagEndChar:this.indentate(r)+"<"+e+n+">"+i+"</"+e+this.tagEndChar}};an.prototype.replaceEntitiesValue=function(t){if(t&&t.length>0&&this.options.processEntities)for(let e=0;e<this.options.entities.length;e++){const n=this.options.entities[e];t=t.replace(n.regex,n.val)}return t};function dy(t){return this.options.indentBy.repeat(t)}function uy(t){return t.startsWith(this.options.attributeNamePrefix)&&t!==this.options.textNodeName?t.substr(this.attrPrefixLen):!1}var py=an;const fy=ul,hy=ey,gy=py;var my={XMLParser:hy,XMLValidator:fy,XMLBuilder:gy};function _y(t,e,n){const r=n?`<input type="hidden" name="RelayState" value="${n}" />`:"",i=`
11
+ `):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}cn.prototype.build=function(t){return this.options.preserveOrder?oy(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t}),this.j2x(t,0,[]).val)};cn.prototype.j2x=function(t,e,n){let r="",i="";const s=n.join(".");for(let a in t)if(Object.prototype.hasOwnProperty.call(t,a))if(typeof t[a]>"u")this.isAttribute(a)&&(i+="");else if(t[a]===null)this.isAttribute(a)?i+="":a[0]==="?"?i+=this.indentate(e)+"<"+a+"?"+this.tagEndChar:i+=this.indentate(e)+"<"+a+"/"+this.tagEndChar;else if(t[a]instanceof Date)i+=this.buildTextValNode(t[a],a,"",e);else if(typeof t[a]!="object"){const c=this.isAttribute(a);if(c&&!this.ignoreAttributesFn(c,s))r+=this.buildAttrPairStr(c,""+t[a]);else if(!c)if(a===this.options.textNodeName){let l=this.options.tagValueProcessor(a,""+t[a]);i+=this.replaceEntitiesValue(l)}else i+=this.buildTextValNode(t[a],a,"",e)}else if(Array.isArray(t[a])){const c=t[a].length;let l="",d="";for(let p=0;p<c;p++){const f=t[a][p];if(!(typeof f>"u"))if(f===null)a[0]==="?"?i+=this.indentate(e)+"<"+a+"?"+this.tagEndChar:i+=this.indentate(e)+"<"+a+"/"+this.tagEndChar;else if(typeof f=="object")if(this.options.oneListGroup){const m=this.j2x(f,e+1,n.concat(a));l+=m.val,this.options.attributesGroupName&&f.hasOwnProperty(this.options.attributesGroupName)&&(d+=m.attrStr)}else l+=this.processTextOrObjNode(f,a,e,n);else if(this.options.oneListGroup){let m=this.options.tagValueProcessor(a,f);m=this.replaceEntitiesValue(m),l+=m}else l+=this.buildTextValNode(f,a,"",e)}this.options.oneListGroup&&(l=this.buildObjectNode(l,a,d,e)),i+=l}else if(this.options.attributesGroupName&&a===this.options.attributesGroupName){const c=Object.keys(t[a]),l=c.length;for(let d=0;d<l;d++)r+=this.buildAttrPairStr(c[d],""+t[a][c[d]])}else i+=this.processTextOrObjNode(t[a],a,e,n);return{attrStr:r,val:i}};cn.prototype.buildAttrPairStr=function(t,e){return e=this.options.attributeValueProcessor(t,""+e),e=this.replaceEntitiesValue(e),this.options.suppressBooleanAttributes&&e==="true"?" "+t:" "+t+'="'+e+'"'};function ly(t,e,n,r){const i=this.j2x(t,n+1,r.concat(e));return t[this.options.textNodeName]!==void 0&&Object.keys(t).length===1?this.buildTextValNode(t[this.options.textNodeName],e,i.attrStr,n):this.buildObjectNode(i.val,e,i.attrStr,n)}cn.prototype.buildObjectNode=function(t,e,n,r){if(t==="")return e[0]==="?"?this.indentate(r)+"<"+e+n+"?"+this.tagEndChar:this.indentate(r)+"<"+e+n+this.closeTag(e)+this.tagEndChar;{let i="</"+e+this.tagEndChar,s="";return e[0]==="?"&&(s="?",i=""),(n||n==="")&&t.indexOf("<")===-1?this.indentate(r)+"<"+e+n+s+">"+t+i:this.options.commentPropName!==!1&&e===this.options.commentPropName&&s.length===0?this.indentate(r)+`<!--${t}-->`+this.newLine:this.indentate(r)+"<"+e+n+s+this.tagEndChar+t+this.indentate(r)+i}};cn.prototype.closeTag=function(t){let e="";return this.options.unpairedTags.indexOf(t)!==-1?this.options.suppressUnpairedNode||(e="/"):this.options.suppressEmptyNode?e="/":e=`></${t}`,e};cn.prototype.buildTextValNode=function(t,e,n,r){if(this.options.cdataPropName!==!1&&e===this.options.cdataPropName)return this.indentate(r)+`<![CDATA[${t}]]>`+this.newLine;if(this.options.commentPropName!==!1&&e===this.options.commentPropName)return this.indentate(r)+`<!--${t}-->`+this.newLine;if(e[0]==="?")return this.indentate(r)+"<"+e+n+"?"+this.tagEndChar;{let i=this.options.tagValueProcessor(e,t);return i=this.replaceEntitiesValue(i),i===""?this.indentate(r)+"<"+e+n+this.closeTag(e)+this.tagEndChar:this.indentate(r)+"<"+e+n+">"+i+"</"+e+this.tagEndChar}};cn.prototype.replaceEntitiesValue=function(t){if(t&&t.length>0&&this.options.processEntities)for(let e=0;e<this.options.entities.length;e++){const n=this.options.entities[e];t=t.replace(n.regex,n.val)}return t};function dy(t){return this.options.indentBy.repeat(t)}function uy(t){return t.startsWith(this.options.attributeNamePrefix)&&t!==this.options.textNodeName?t.substr(this.attrPrefixLen):!1}var py=cn;const fy=dl,hy=ey,gy=py;var my={XMLParser:hy,XMLValidator:fy,XMLBuilder:gy};function _y(t,e,n){const r=n?`<input type="hidden" name="RelayState" value="${n}" />`:"",i=`
12
12
  <!DOCTYPE html>
13
13
  <html>
14
14
  <body onload="document.forms[0].submit()">
@@ -26,7 +26,7 @@
26
26
  }};
27
27
  <\/script>
28
28
  </body>
29
- </html>`;return new Response(i,{headers:{"Content-Type":"text/html"}})}async function yy(t,e,n,r,i){var m,w,h;if(!n.redirect_uri)throw new I(400,{message:"Missing redirect_uri in authParams"});if(!r.email)throw new I(400,{message:"Missing email in user"});const[s]=await t.env.data.keys.list();if(!s)throw new I(500,{message:"No signing key found"});if(!((m=e.addons)!=null&&m.samlp))throw new I(400,{message:`SAML Addon is not enabled for client ${e.id}`});const{recipient:a,audience:c}=e.addons.samlp,l=n.state||"";if(!a||!l||!r||!n.state)throw new I(400,{message:"Missing recipient or inResponseTo"});const d=JSON.parse(n.state),p=new URL(n.redirect_uri),f=await wy(t,{issuer:t.env.ISSUER,audience:c||n.client_id,destination:p.toString(),inResponseTo:d.requestId,userId:((h=(w=r.app_metadata)==null?void 0:w.vimeo)==null?void 0:h.user_id)||r.user_id,email:r.email,sessionIndex:i,signature:{privateKeyPem:s.pkcs7,cert:s.cert,kid:s.kid}});return _y(p.toString(),f,d.relayState)}async function wy(t,e){const n=e.notBefore||new Date().toISOString(),r=e.notAfter||new Date(new Date(n).getTime()+10*60*1e3).toISOString(),i=e.issueInstant||n,s=e.sessionNotOnOrAfter||r,a=e.responseId||`_${ke()}`,c=e.assertionId||`_${ke()}`,l=[{"samlp:Response":[{"saml:Issuer":[{"#text":e.issuer}]},{"samlp:Status":[{"samlp:StatusCode":[],":@":{"@_Value":"urn:oasis:names:tc:SAML:2.0:status:Success"}}]},{"saml:Assertion":[{"saml:Issuer":[{"#text":e.issuer}]},{"saml:Subject":[{"saml:NameID":[{"#text":e.email}],":@":{"@_Format":"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"}},{"saml:SubjectConfirmation":[{"saml:SubjectConfirmationData":[],":@":{"@_InResponseTo":e.inResponseTo,"@_NotOnOrAfter":r,"@_Recipient":e.destination}}],":@":{"@_Method":"urn:oasis:names:tc:SAML:2.0:cm:bearer"}}]},{"saml:Conditions":[{"saml:AudienceRestriction":[{"saml:Audience":[{"#text":e.audience}]}]}],":@":{"@_NotBefore":n,"@_NotOnOrAfter":r}},{"saml:AuthnStatement":[{"saml:AuthnContext":[{"saml:AuthnContextClassRef":[{"#text":"urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified"}]}]}],":@":{"@_AuthnInstant":i,"@_SessionIndex":e.sessionIndex,"@_SessionNotOnOrAfter":s}},{"saml:AttributeStatement":[{"saml:Attribute":[{"saml:AttributeValue":[{"#text":e.userId}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_FriendlyName":"persistent","@_Name":"id","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"}},{"saml:Attribute":[{"saml:AttributeValue":[{"#text":e.email}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_Name":"email","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:basic"}},{"saml:Attribute":[{"saml:AttributeValue":[{"#text":"manage-account"}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_Name":"Role","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:basic"}},{"saml:Attribute":[{"saml:AttributeValue":[{"#text":"default-roles-master"}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_Name":"Role","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:basic"}},{"saml:Attribute":[{"saml:AttributeValue":[{"#text":"offline_access"}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_Name":"Role","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:basic"}},{"saml:Attribute":[{"saml:AttributeValue":[{"#text":"view-profile"}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_Name":"Role","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:basic"}},{"saml:Attribute":[{"saml:AttributeValue":[{"#text":"uma_authorization"}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_Name":"Role","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:basic"}},{"saml:Attribute":[{"saml:AttributeValue":[{"#text":"manage-account-links"}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_Name":"Role","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:basic"}}]}],":@":{"@_xmlns":"urn:oasis:names:tc:SAML:2.0:assertion","@_ID":c,"@_IssueInstant":i,"@_Version":"2.0"}}],":@":{"@_xmlns:samlp":"urn:oasis:names:tc:SAML:2.0:protocol","@_xmlns:saml":"urn:oasis:names:tc:SAML:2.0:assertion","@_Destination":e.destination,"@_ID":a,"@_InResponseTo":e.inResponseTo,"@_IssueInstant":i,"@_Version":"2.0"}}];let p=new my.XMLBuilder({ignoreAttributes:!1,suppressEmptyNode:!0,preserveOrder:!0}).build(l);if(e.signature){const m=await fetch(t.env.SAML_SIGN_URL,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({xmlContent:p,privateKey:e.signature.privateKeyPem,publicCert:e.signature.cert})});if(!m.ok)throw new Error(`Failed to sign SAML response: ${m.status}`);p=await m.text()}return e.encode===!1?p:btoa(p)}var vy={deno:"Deno",bun:"Bun",workerd:"Cloudflare-Workers",node:"Node.js"},by=()=>{var n,r;const t=globalThis;if(typeof navigator<"u"&&typeof navigator.userAgent=="string"){for(const[i,s]of Object.entries(vy))if(xy(s))return i}return typeof(t==null?void 0:t.EdgeRuntime)=="string"?"edge-light":(t==null?void 0:t.fastly)!==void 0?"fastly":((r=(n=t==null?void 0:t.process)==null?void 0:n.release)==null?void 0:r.name)==="node"?"node":"other"},xy=t=>navigator.userAgent.startsWith(t);function zt(t,e){by()==="workerd"&&t.executionCtx.waitUntil(e)}function cn(t){var e,n,r;return{auth0Client:(e=t.query("auth0Client"))==null?void 0:e.slice(0,255),ip:(n=t.header("x-real-ip"))==null?void 0:n.slice(0,45),useragent:(r=t.header("user-agent"))==null?void 0:r.slice(0,512)}}const Yd=["sub","iss","aud","exp","nbf","iat","jti"];async function no(t,e){var v,A;const{authParams:n,user:r,client:i,session_id:s}=e,c=(await t.env.data.keys.list()).filter(C=>!C.revoked_at||new Date(C.revoked_at)>new Date),l=c[c.length-1];if(!(l!=null&&l.pkcs7))throw new I(500,{message:"No signing key available"});const d=M0(l.pkcs7),p=t.var.custom_domain?`https://${t.var.custom_domain}/`:t.env.ISSUER,f={aud:n.audience||"default",scope:n.scope||"",sub:(r==null?void 0:r.user_id)||n.client_id,iss:p,tenant_id:t.var.tenant_id,sid:s},m=r&&((v=n.scope)!=null&&v.split(" ").includes("openid"))?{aud:n.client_id,sub:r.user_id,iss:p,sid:s,nonce:n.nonce,given_name:r.given_name,family_name:r.family_name,nickname:r.nickname,picture:r.picture,locale:r.locale,name:r.name,email:r.email,email_verified:r.email_verified}:void 0;(A=t.env.hooks)!=null&&A.onExecuteCredentialsExchange&&await t.env.hooks.onExecuteCredentialsExchange({client:i,user:r,request:{ip:t.req.header("x-real-ip")||"",user_agent:t.req.header("user-agent")||"",method:t.req.method,url:t.req.url},scope:n.scope||"",grant_type:""},{accessToken:{setCustomClaim:(C,O)=>{if(Yd.includes(C))throw new Error(`Cannot overwrite reserved claim '${C}'`);f[C]=O}},idToken:{setCustomClaim:(C,O)=>{if(Yd.includes(C))throw new Error(`Cannot overwrite reserved claim '${C}'`);m&&(m[C]=O)}},access:{deny:C=>{throw new I(400,{message:`Access denied: ${C}`})}}});const w={includeIssuedTimestamp:!0,expiresIn:new cl(1,"d"),headers:{kid:l.kid}},h=await Fd("RS256",d,f,w),_=m?await Fd("RS256",d,m,w):void 0;return{access_token:h,refresh_token:e.refresh_token,id_token:_,token_type:"Bearer",expires_in:86400}}async function Hf(t,e){return e.loginSession||(e.loginSession=await t.env.data.loginSessions.create(e.client.tenant.id,{expires_at:new Date(Date.now()+Qn*1e3).toISOString(),authParams:e.authParams,authorization_url:t.req.url,csrf_token:ke(),...cn(t.req)})),{code:(await t.env.data.codes.create(e.client.tenant.id,{code_id:ke(),user_id:e.user.user_id,code_type:"authorization_code",login_id:e.loginSession.id,expires_at:new Date(Date.now()+K0*1e3).toISOString()})).code_id,state:e.authParams.state}}async function ky(t,e){const{client:n,scope:r,audience:i=n.tenant.audience,session_id:s}=e;return await t.env.data.refreshTokens.create(n.tenant.id,{id:ke(),session_id:s,client_id:n.id,expires_at:new Date(Date.now()+eo*1e3).toISOString(),user_id:e.user.user_id,device:{last_ip:t.req.header("x-real-ip")||"",initial_ip:t.req.header("x-real-ip")||"",last_user_agent:t.req.header("user-agent")||"",initial_user_agent:t.req.header("user-agent")||"",initial_asn:"",last_asn:""},resource_servers:[{audience:i,scopes:r}],rotating:!1})}async function Ff(t,{user:e,client:n,loginSession:r}){const i=await t.env.data.sessions.create(n.tenant.id,{id:ke(),user_id:e.user_id,idle_expires_at:new Date(Date.now()+eo*1e3).toISOString(),device:{last_ip:t.req.header("x-real-ip")||"",initial_ip:t.req.header("x-real-ip")||"",last_user_agent:t.req.header("user-agent")||"",initial_user_agent:t.req.header("user-agent")||"",initial_asn:"",last_asn:""},clients:[n.id]});await t.env.data.loginSessions.update(n.tenant.id,r.id,{session_id:i.id});const{scope:s,audience:a}=r.authParams,c=s!=null&&s.split(" ").includes("offline_access")?await ky(t,{session_id:i.id,user:e,client:n,scope:s,audience:a}):void 0;return{...i,refresh_token:c}}async function ln(t,e){var w;const{authParams:n,user:r,client:i,ticketAuth:s}=e,a=we(t,{type:he.SUCCESS_LOGIN,description:`Successful login for ${r.user_id}`,userId:r.user_id});if(zt(t,t.env.data.logs.create(i.tenant.id,a)),zt(t,t.env.data.users.update(i.tenant.id,r.user_id,{last_login:new Date().toISOString(),last_ip:t.req.header("x-real-ip")||"",login_count:r.login_count+1})),s){if(!e.loginSession)throw new I(500,{message:"Login session not found"});const h=q0(),_=ke(12),v=await t.env.data.codes.create(i.tenant.id,{code_id:ke(),code_type:"ticket",login_id:e.loginSession.id,expires_at:new Date(Date.now()+G0).toISOString(),code_verifier:[_,h].join("|")});return t.json({login_ticket:v.code_id,co_verifier:h,co_id:_})}let c=e.refreshToken,l=e.sessionId,d=r;if(!l){if(!e.loginSession)throw new I(500,{message:"Login session not found"});d=await Ey(t,t.env.data)(i.tenant.id,r);const h=await Ff(t,{user:r,client:i,loginSession:e.loginSession});l=h.id,c=(w=h.refresh_token)==null?void 0:w.id}if(e.authParams.response_mode===Rt.SAML_POST)return yy(t,e.client,e.authParams,d,l);const p=await no(t,{authParams:n,user:d,client:i,session_id:l,refresh_token:c}),f=new Headers({"set-cookie":Bf(i.tenant.id,l,t.req.header("host"))});if(n.response_mode===Rt.WEB_MESSAGE)return t.json(p,{headers:f});if((n.response_type||It.CODE)===It.CODE){const h=await Hf(t,e);if(!n.redirect_uri)throw new I(400,{message:"Redirect uri not found"});const _=new URL(n.redirect_uri);_.searchParams.set("code",h.code),h.state&&_.searchParams.set("state",h.state),f.set("location",_.toString())}return new Response("Redirecting",{status:302,headers:f})}async function Sy(t,e,n){const r=await t.env.data.tenants.get(e);if(!r)throw new Error(`Tenant not found: ${e}`);return no(t,{client:{id:t.env.ISSUER,tenant:r,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),name:t.env.ISSUER,disable_sign_ups:!1,connections:[]},authParams:{client_id:t.env.ISSUER,response_type:It.TOKEN,scope:n}})}async function hl(t,e,n){const r=await Sy(t,n.tenant_id,"webhook");for await(const i of e)if(!(await fetch(i.url,{method:"POST",headers:{Authorization:`Bearer ${r.access_token}`,"Content-Type":"application/json"},body:JSON.stringify(n)})).ok){const a=we(t,{type:he.FAILED_HOOK,description:`Failed to invoke hook ${i.hook_id}`});await t.env.data.logs.create(n.tenant_id,a)}}function Ay(t){return async(e,n)=>{const{hooks:r}=await t.env.data.hooks.list(e);return await hl(t,r,{tenant_id:e,user:n,trigger_id:"post-user-registration"}),n}}function zy(t){return async(e,n)=>{const{hooks:r}=await t.env.data.hooks.list(e,{q:"trigger_id:pre-user-signup",page:0,per_page:100,include_totals:!1});await hl(t,r,{tenant_id:e,email:n,trigger_id:"pre-user-signup"})}}function Ey(t,e){return async(n,r)=>{const{hooks:i}=await e.hooks.list(n,{q:"trigger_id:post-user-login",page:0,per_page:100,include_totals:!1});return await hl(t,i,{tenant_id:n,user:r,trigger_id:"post-user-login"}),r}}function Iy(t,e){return async(n,r)=>{var a,c,l;const i={method:t.req.method,ip:t.req.query("x-real-ip")||"",user_agent:t.req.query("user-agent"),url:((a=t.var.loginSession)==null?void 0:a.authorization_url)||t.req.url};if((c=t.env.hooks)!=null&&c.onExecutePreUserRegistration)try{await t.env.hooks.onExecutePreUserRegistration({user:r,request:i},{user:{setUserMetadata:async(d,p)=>{r[d]=p}}})}catch{const p=we(t,{type:he.FAILED_SIGNUP,description:"Pre user registration hook failed"});await e.logs.create(n,p)}let s=await T0(e)(n,r);if((l=t.env.hooks)!=null&&l.onExecutePostUserRegistration)try{await t.env.hooks.onExecutePostUserRegistration({user:r,request:i},{user:{}})}catch{const p=we(t,{type:he.FAILED_SIGNUP,description:"Post user registration hook failed"});await t.env.data.logs.create(n,p)}return await Ay(t)(n,s),s}}async function Cy(t,e,n,r){var i;if(e.disable_sign_ups){const s=(i=t.var.loginSession)==null?void 0:i.authorization_url;if(!(s&&new URL(s).searchParams.get("screen_hint")==="signup")&&!await io({userAdapter:n.users,tenant_id:e.tenant.id,email:r})){const l=we(t,{type:he.FAILED_SIGNUP,description:"Public signup is disabled"});throw await n.logs.create(e.tenant.id,l),new I(400,{message:"Signups are disabled for this client"})}}await zy(t)(t.var.tenant_id||"",r)}function ro(t,e){return{...e,users:{...e.users,create:Iy(t,e)}}}function Kf(t){return ro(t,t.env.data)}async function gl(t,e,n){return(await t.list(e,{page:0,per_page:10,include_totals:!1,q:`email:${n}`})).users}async function fr({userAdapter:t,tenant_id:e,username:n,provider:r}){const i=r==="sms"?`phone_number:${n}`:`email:${n}`,{users:s}=await t.list(e,{page:0,per_page:10,include_totals:!1,q:`${i} provider:${r}`});return s.length>1&&console.error("More than one user found for same email and provider"),s[0]||null}async function io({userAdapter:t,tenant_id:e,email:n}){var c;const{users:r}=await t.list(e,{page:0,per_page:10,include_totals:!1,q:`email:${n}`}),i=r.filter(l=>!(l.provider==="auth2"&&!l.email_verified));if(i.length===0)return;const s=i.filter(l=>!l.linked_to);if(s.length>0)return s.length>1&&console.error("More than one primary user found for same email"),s[0];const a=await t.get(e,(c=i[0])==null?void 0:c.linked_to);if(!a)throw new Error("Primary account not found");return a}async function ds({userAdapter:t,tenant_id:e,username:n,provider:r}){const i=await fr({userAdapter:t,tenant_id:e,username:n,provider:r});return i?i.linked_to?t.get(e,i.linked_to):i:null}async function so(t,e){const{username:n,provider:r,connection:i,client:s,userId:a,isSocial:c,profileData:l={},ip:d=""}=e;let p=await ds({userAdapter:t.env.data.users,tenant_id:e.client.tenant.id,username:n,provider:r});if(!p){const f={user_id:`${r}|${a||Qs()}`,email:i!=="sms"?n:void 0,phone_number:i==="sms"?n:void 0,name:n,provider:r,connection:i,email_verified:!0,last_ip:d,is_social:c,last_login:new Date().toISOString(),profileData:JSON.stringify(l)};p=await Kf(t).users.create(s.tenant.id,f),t.set("user_id",p.user_id)}return p}const tn=o.z.object({page:o.z.string().min(0).optional().default("0").transform(t=>parseInt(t,10)).openapi({description:"The page number where 0 is the first page"}),per_page:o.z.string().min(1).optional().default("10").transform(t=>parseInt(t,10)).openapi({description:"The number of items per page"}),include_totals:o.z.string().optional().default("false").transform(t=>t==="true").openapi({description:"If the total number of items should be included in the response"}),sort:o.z.string().regex(/^.+:(-1|1)$/).optional().openapi({description:"A property that should have the format 'string:-1' or 'string:1'"}),q:o.z.string().optional().openapi({description:"A lucene query string used to filter the results"})});function hr(t){if(!t)return;const[e,n]=t.split(":"),r=n==="1"?"asc":"desc";if(!(!e||!r))return{sort_by:e,sort_order:r}}const Xd=on.extend({users:o.z.array(St)}),Ny=on.extend({sessions:o.z.array(Xs)}),jy=new o.OpenAPIHono().openapi(o.createRoute({tags:["users"],method:"get",path:"/",request:{query:tn,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([o.z.array(St),Xd])}},description:"List of users"}}}),async t=>{const{page:e,per_page:n,include_totals:r,sort:i,q:s}=t.req.valid("query"),{"tenant-id":a}=t.req.valid("header");if(s!=null&&s.includes("identities.profileData.email")){const p=s.split("=")[1],m=(await t.env.data.users.list(a,{page:e,per_page:n,include_totals:r,q:`email:${p}`})).users.filter(_=>_.linked_to),[w]=m;if(!w)return t.json([]);const h=await t.env.data.users.get(a,w.linked_to);if(!h)throw new I(500,{message:"Primary account not found"});return t.json([St.parse(h)])}const c=["-_exists_:linked_to"];s&&c.push(s);const l=await t.env.data.users.list(a,{page:e,per_page:n,include_totals:r,sort:hr(i),q:c.join(" ")}),d=l.users.filter(p=>!p.linked_to);return r?t.json(Xd.parse({users:d,length:l.length,start:l.start,limit:l.limit})):t.json(o.z.array(St).parse(d))}).openapi(o.createRoute({tags:["users"],method:"get",path:"/{user_id}",request:{headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({user_id:o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:St}},description:"List of users"}}}),async t=>{const{user_id:e}=t.req.valid("param"),{"tenant-id":n}=t.req.valid("header"),r=await t.env.data.users.get(n,e);if(!r)throw new I(404);if(r.linked_to)throw new I(404,{message:"User is linked to another user"});return t.json(r)}).openapi(o.createRoute({tags:["users"],method:"delete",path:"/{user_id}",request:{headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({user_id:o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{user_id:e}=t.req.valid("param"),{"tenant-id":n}=t.req.valid("header");if(!await t.env.data.users.remove(n,e))throw new I(404);return t.text("OK")}).openapi(o.createRoute({tags:["users"],method:"post",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object({...ns.shape})}}}},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:St}},description:"Status"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json");t.set("body",n);const{email:r}=n;if(!r)throw new I(400,{message:"Email is required"});const i=r.toLowerCase(),s=`${n.provider}|${n.user_id||Qs()}`;try{const a=await t.env.data.users.create(e,{email:i,user_id:s,name:n.name||i,provider:n.provider,connection:n.connection,email_verified:n.email_verified||!1,last_ip:"",is_social:!1,last_login:new Date().toISOString()});t.set("user_id",a.user_id);const c=we(t,{type:he.SUCCESS_API_OPERATION,description:"User created"});zt(t,t.env.data.logs.create(e,c));const l={...a,identities:[{connection:a.connection,provider:a.provider,user_id:Dd(a.user_id),isSocial:a.is_social}]};return t.json(St.parse(l),{status:201})}catch(a){throw a.message==="User already exists"?new I(409,{message:"User already exists"}):a}}).openapi(o.createRoute({tags:["users"],method:"patch",path:"/{user_id}",request:{headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object({...ns.shape,verify_email:o.z.boolean(),password:o.z.string()}).partial()}}},params:o.z.object({user_id:o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{var p;const{data:e}=t.env,{"tenant-id":n}=t.req.valid("header"),r=t.req.valid("json"),{user_id:i}=t.req.valid("param"),{verify_email:s,password:a,...c}=r,l=await e.users.get(n,i);if(!l)throw new I(404);if(c.email&&c.email!==l.email){const f=await gl(t.env.data.users,n,c.email);if(f.length&&f.some(m=>m.user_id!==i))throw new I(409,{message:"Another user with the same email address already exists."})}if(l.linked_to)throw new I(404,{message:"User is linked to another user"});if(await t.env.data.users.update(n,i,c),a){const f=(p=l.identities)==null?void 0:p.find(h=>h.connection==="Username-Password-Authentication");if(!f)throw new I(400,{message:"User does not have a password identity"});const m={user_id:f.user_id,password:await oi.hash(a,10),algorithm:"bcrypt"};await e.passwords.get(n,f.user_id)?await e.passwords.update(n,m):await e.passwords.create(n,m)}const d=await t.env.data.users.get(n,i);if(!d)throw new I(500);return t.json(d)}).openapi(o.createRoute({tags:["users"],method:"post",path:"/{user_id}/identities",request:{headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.union([o.z.object({link_with:o.z.string()}),o.z.object({user_id:o.z.string(),provider:o.z.string(),connection:o.z.string().optional()})])}}},params:o.z.object({user_id:o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:o.z.array(o.z.object({connection:o.z.string(),provider:o.z.string(),user_id:o.z.string(),isSocial:o.z.boolean()}))}},description:"Status"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),{user_id:r}=t.req.valid("param"),i="link_with"in n?n.link_with:n.user_id,s=await t.env.data.users.get(e,r);if(!s)throw new I(400,{message:"Linking an inexistent identity is not allowed."});await t.env.data.users.update(e,i,{linked_to:r});const a=await t.env.data.users.list(e,{page:0,per_page:10,include_totals:!1,q:`linked_to:${r}`}),c=[s,...a.users].map(l=>({connection:l.connection,provider:l.provider,user_id:Dd(l.user_id),isSocial:l.is_social}));return t.json(c,{status:201})}).openapi(o.createRoute({tags:["users"],method:"delete",path:"/{user_id}/identities/{provider}/{linked_user_id}",request:{headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({user_id:o.z.string(),provider:o.z.string(),linked_user_id:o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:o.z.array(St)}},description:"Status"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{user_id:n,provider:r,linked_user_id:i}=t.req.valid("param");await t.env.data.users.unlink(e,n,r,i);const s=await t.env.data.users.get(e,n);if(!s)throw new I(404);return t.json([St.parse(s)])}).openapi(o.createRoute({tags:["users"],method:"get",path:"/{user_id}/sessions",request:{query:tn,headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({user_id:o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([o.z.array(Xs),Ny])}},description:"List of sessions"}}}),async t=>{const{user_id:e}=t.req.valid("param"),{include_totals:n}=t.req.valid("query"),{"tenant-id":r}=t.req.valid("header"),i=await t.env.data.sessions.list(r,{page:0,per_page:10,include_totals:!1,q:`user_id:${e}`});return n?t.json(i):t.json(i.sessions)});/*! *****************************************************************************
29
+ </html>`;return new Response(i,{headers:{"Content-Type":"text/html"}})}async function yy(t,e,n,r,i){var m,w,h;if(!n.redirect_uri)throw new I(400,{message:"Missing redirect_uri in authParams"});if(!r.email)throw new I(400,{message:"Missing email in user"});const[s]=await t.env.data.keys.list();if(!s)throw new I(500,{message:"No signing key found"});if(!((m=e.addons)!=null&&m.samlp))throw new I(400,{message:`SAML Addon is not enabled for client ${e.id}`});const{recipient:a,audience:c}=e.addons.samlp,l=n.state||"";if(!a||!l||!r||!n.state)throw new I(400,{message:"Missing recipient or inResponseTo"});const d=JSON.parse(n.state),p=new URL(n.redirect_uri),f=await wy(t,{issuer:t.env.ISSUER,audience:c||n.client_id,destination:p.toString(),inResponseTo:d.requestId,userId:((h=(w=r.app_metadata)==null?void 0:w.vimeo)==null?void 0:h.user_id)||r.user_id,email:r.email,sessionIndex:i,signature:{privateKeyPem:s.pkcs7,cert:s.cert,kid:s.kid}});return _y(p.toString(),f,d.relayState)}async function wy(t,e){const n=e.notBefore||new Date().toISOString(),r=e.notAfter||new Date(new Date(n).getTime()+10*60*1e3).toISOString(),i=e.issueInstant||n,s=e.sessionNotOnOrAfter||r,a=e.responseId||`_${ke()}`,c=e.assertionId||`_${ke()}`,l=[{"samlp:Response":[{"saml:Issuer":[{"#text":e.issuer}]},{"samlp:Status":[{"samlp:StatusCode":[],":@":{"@_Value":"urn:oasis:names:tc:SAML:2.0:status:Success"}}]},{"saml:Assertion":[{"saml:Issuer":[{"#text":e.issuer}]},{"saml:Subject":[{"saml:NameID":[{"#text":e.email}],":@":{"@_Format":"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"}},{"saml:SubjectConfirmation":[{"saml:SubjectConfirmationData":[],":@":{"@_InResponseTo":e.inResponseTo,"@_NotOnOrAfter":r,"@_Recipient":e.destination}}],":@":{"@_Method":"urn:oasis:names:tc:SAML:2.0:cm:bearer"}}]},{"saml:Conditions":[{"saml:AudienceRestriction":[{"saml:Audience":[{"#text":e.audience}]}]}],":@":{"@_NotBefore":n,"@_NotOnOrAfter":r}},{"saml:AuthnStatement":[{"saml:AuthnContext":[{"saml:AuthnContextClassRef":[{"#text":"urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified"}]}]}],":@":{"@_AuthnInstant":i,"@_SessionIndex":e.sessionIndex,"@_SessionNotOnOrAfter":s}},{"saml:AttributeStatement":[{"saml:Attribute":[{"saml:AttributeValue":[{"#text":e.userId}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_FriendlyName":"persistent","@_Name":"id","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"}},{"saml:Attribute":[{"saml:AttributeValue":[{"#text":e.email}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_Name":"email","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:basic"}},{"saml:Attribute":[{"saml:AttributeValue":[{"#text":"manage-account"}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_Name":"Role","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:basic"}},{"saml:Attribute":[{"saml:AttributeValue":[{"#text":"default-roles-master"}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_Name":"Role","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:basic"}},{"saml:Attribute":[{"saml:AttributeValue":[{"#text":"offline_access"}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_Name":"Role","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:basic"}},{"saml:Attribute":[{"saml:AttributeValue":[{"#text":"view-profile"}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_Name":"Role","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:basic"}},{"saml:Attribute":[{"saml:AttributeValue":[{"#text":"uma_authorization"}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_Name":"Role","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:basic"}},{"saml:Attribute":[{"saml:AttributeValue":[{"#text":"manage-account-links"}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_Name":"Role","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:basic"}}]}],":@":{"@_xmlns":"urn:oasis:names:tc:SAML:2.0:assertion","@_ID":c,"@_IssueInstant":i,"@_Version":"2.0"}}],":@":{"@_xmlns:samlp":"urn:oasis:names:tc:SAML:2.0:protocol","@_xmlns:saml":"urn:oasis:names:tc:SAML:2.0:assertion","@_Destination":e.destination,"@_ID":a,"@_InResponseTo":e.inResponseTo,"@_IssueInstant":i,"@_Version":"2.0"}}];let p=new my.XMLBuilder({ignoreAttributes:!1,suppressEmptyNode:!0,preserveOrder:!0}).build(l);if(e.signature){const m=await fetch(t.env.SAML_SIGN_URL,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({xmlContent:p,privateKey:e.signature.privateKeyPem,publicCert:e.signature.cert})});if(!m.ok)throw new Error(`Failed to sign SAML response: ${m.status}`);p=await m.text()}return e.encode===!1?p:btoa(p)}var vy={deno:"Deno",bun:"Bun",workerd:"Cloudflare-Workers",node:"Node.js"},by=()=>{var n,r;const t=globalThis;if(typeof navigator<"u"&&typeof navigator.userAgent=="string"){for(const[i,s]of Object.entries(vy))if(xy(s))return i}return typeof(t==null?void 0:t.EdgeRuntime)=="string"?"edge-light":(t==null?void 0:t.fastly)!==void 0?"fastly":((r=(n=t==null?void 0:t.process)==null?void 0:n.release)==null?void 0:r.name)==="node"?"node":"other"},xy=t=>navigator.userAgent.startsWith(t);function zt(t,e){by()==="workerd"&&t.executionCtx.waitUntil(e)}function Ht(t){var e,n,r;return{auth0Client:(e=t.query("auth0Client"))==null?void 0:e.slice(0,255),ip:(n=t.header("x-real-ip"))==null?void 0:n.slice(0,45),useragent:(r=t.header("user-agent"))==null?void 0:r.slice(0,512)}}const Zd=["sub","iss","aud","exp","nbf","iat","jti"];async function no(t,e){var v,A;const{authParams:n,user:r,client:i,session_id:s}=e,c=(await t.env.data.keys.list()).filter(C=>!C.revoked_at||new Date(C.revoked_at)>new Date),l=c[c.length-1];if(!(l!=null&&l.pkcs7))throw new I(500,{message:"No signing key available"});const d=M0(l.pkcs7),p=t.var.custom_domain?`https://${t.var.custom_domain}/`:t.env.ISSUER,f={aud:n.audience||"default",scope:n.scope||"",sub:(r==null?void 0:r.user_id)||n.client_id,iss:p,tenant_id:t.var.tenant_id,sid:s},m=r&&((v=n.scope)!=null&&v.split(" ").includes("openid"))?{aud:n.client_id,sub:r.user_id,iss:p,sid:s,nonce:n.nonce,given_name:r.given_name,family_name:r.family_name,nickname:r.nickname,picture:r.picture,locale:r.locale,name:r.name,email:r.email,email_verified:r.email_verified}:void 0;(A=t.env.hooks)!=null&&A.onExecuteCredentialsExchange&&await t.env.hooks.onExecuteCredentialsExchange({client:i,user:r,request:{ip:t.req.header("x-real-ip")||"",user_agent:t.req.header("user-agent")||"",method:t.req.method,url:t.req.url},scope:n.scope||"",grant_type:""},{accessToken:{setCustomClaim:(C,O)=>{if(Zd.includes(C))throw new Error(`Cannot overwrite reserved claim '${C}'`);f[C]=O}},idToken:{setCustomClaim:(C,O)=>{if(Zd.includes(C))throw new Error(`Cannot overwrite reserved claim '${C}'`);m&&(m[C]=O)}},access:{deny:C=>{throw new I(400,{message:`Access denied: ${C}`})}}});const w={includeIssuedTimestamp:!0,expiresIn:new al(1,"d"),headers:{kid:l.kid}},h=await Hd("RS256",d,f,w),_=m?await Hd("RS256",d,m,w):void 0;return{access_token:h,refresh_token:e.refresh_token,id_token:_,token_type:"Bearer",expires_in:86400}}async function Df(t,e){return e.loginSession||(e.loginSession=await t.env.data.loginSessions.create(e.client.tenant.id,{expires_at:new Date(Date.now()+Qn*1e3).toISOString(),authParams:e.authParams,authorization_url:t.req.url,csrf_token:ke(),...Ht(t.req)})),{code:(await t.env.data.codes.create(e.client.tenant.id,{code_id:ke(),user_id:e.user.user_id,code_type:"authorization_code",login_id:e.loginSession.id,expires_at:new Date(Date.now()+K0*1e3).toISOString()})).code_id,state:e.authParams.state}}async function ky(t,e){const{client:n,scope:r,audience:i=n.tenant.audience,session_id:s}=e,a=Ht(t.req);return await t.env.data.refreshTokens.create(n.tenant.id,{id:ke(),session_id:s,client_id:n.id,idle_expires_at:new Date(Date.now()+eo*1e3).toISOString(),user_id:e.user.user_id,device:{last_ip:a.ip||"",initial_ip:a.ip||"",last_user_agent:a.useragent||"",initial_user_agent:a.useragent||"",initial_asn:"",last_asn:""},resource_servers:[{audience:i,scopes:r}],rotating:!1})}async function Hf(t,{user:e,client:n,loginSession:r}){const i=await t.env.data.sessions.create(n.tenant.id,{id:ke(),user_id:e.user_id,idle_expires_at:new Date(Date.now()+eo*1e3).toISOString(),device:{last_ip:t.req.header("x-real-ip")||"",initial_ip:t.req.header("x-real-ip")||"",last_user_agent:t.req.header("user-agent")||"",initial_user_agent:t.req.header("user-agent")||"",initial_asn:"",last_asn:""},clients:[n.id]});await t.env.data.loginSessions.update(n.tenant.id,r.id,{session_id:i.id});const{scope:s,audience:a}=r.authParams,c=s!=null&&s.split(" ").includes("offline_access")?await ky(t,{session_id:i.id,user:e,client:n,scope:s,audience:a}):void 0;return{...i,refresh_token:c}}async function ln(t,e){var w;const{authParams:n,user:r,client:i,ticketAuth:s}=e,a=we(t,{type:ge.SUCCESS_LOGIN,description:`Successful login for ${r.user_id}`,userId:r.user_id});if(zt(t,t.env.data.logs.create(i.tenant.id,a)),zt(t,t.env.data.users.update(i.tenant.id,r.user_id,{last_login:new Date().toISOString(),last_ip:t.req.header("x-real-ip")||"",login_count:r.login_count+1})),s){if(!e.loginSession)throw new I(500,{message:"Login session not found"});const h=q0(),_=ke(12),v=await t.env.data.codes.create(i.tenant.id,{code_id:ke(),code_type:"ticket",login_id:e.loginSession.id,expires_at:new Date(Date.now()+G0).toISOString(),code_verifier:[_,h].join("|")});return t.json({login_ticket:v.code_id,co_verifier:h,co_id:_})}let c=e.refreshToken,l=e.sessionId,d=r;if(!l){if(!e.loginSession)throw new I(500,{message:"Login session not found"});d=await Ey(t,t.env.data)(i.tenant.id,r);const h=await Hf(t,{user:r,client:i,loginSession:e.loginSession});l=h.id,c=(w=h.refresh_token)==null?void 0:w.id}if(e.authParams.response_mode===Rt.SAML_POST)return yy(t,e.client,e.authParams,d,l);const p=await no(t,{authParams:n,user:d,client:i,session_id:l,refresh_token:c}),f=new Headers({"set-cookie":Pf(i.tenant.id,l,t.req.header("host"))});if(n.response_mode===Rt.WEB_MESSAGE)return t.json(p,{headers:f});if((n.response_type||It.CODE)===It.CODE){const h=await Df(t,e);if(!n.redirect_uri)throw new I(400,{message:"Redirect uri not found"});const _=new URL(n.redirect_uri);_.searchParams.set("code",h.code),h.state&&_.searchParams.set("state",h.state),f.set("location",_.toString())}return new Response("Redirecting",{status:302,headers:f})}async function Sy(t,e,n){const r=await t.env.data.tenants.get(e);if(!r)throw new Error(`Tenant not found: ${e}`);return no(t,{client:{id:t.env.ISSUER,tenant:r,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),name:t.env.ISSUER,disable_sign_ups:!1,connections:[]},authParams:{client_id:t.env.ISSUER,response_type:It.TOKEN,scope:n}})}async function fl(t,e,n){const r=await Sy(t,n.tenant_id,"webhook");for await(const i of e)if(!(await fetch(i.url,{method:"POST",headers:{Authorization:`Bearer ${r.access_token}`,"Content-Type":"application/json"},body:JSON.stringify(n)})).ok){const a=we(t,{type:ge.FAILED_HOOK,description:`Failed to invoke hook ${i.hook_id}`});await t.env.data.logs.create(n.tenant_id,a)}}function Ay(t){return async(e,n)=>{const{hooks:r}=await t.env.data.hooks.list(e);return await fl(t,r,{tenant_id:e,user:n,trigger_id:"post-user-registration"}),n}}function zy(t){return async(e,n)=>{const{hooks:r}=await t.env.data.hooks.list(e,{q:"trigger_id:pre-user-signup",page:0,per_page:100,include_totals:!1});await fl(t,r,{tenant_id:e,email:n,trigger_id:"pre-user-signup"})}}function Ey(t,e){return async(n,r)=>{const{hooks:i}=await e.hooks.list(n,{q:"trigger_id:post-user-login",page:0,per_page:100,include_totals:!1});return await fl(t,i,{tenant_id:n,user:r,trigger_id:"post-user-login"}),r}}function Iy(t,e){return async(n,r)=>{var a,c,l;const i={method:t.req.method,ip:t.req.query("x-real-ip")||"",user_agent:t.req.query("user-agent"),url:((a=t.var.loginSession)==null?void 0:a.authorization_url)||t.req.url};if((c=t.env.hooks)!=null&&c.onExecutePreUserRegistration)try{await t.env.hooks.onExecutePreUserRegistration({user:r,request:i},{user:{setUserMetadata:async(d,p)=>{r[d]=p}}})}catch{const p=we(t,{type:ge.FAILED_SIGNUP,description:"Pre user registration hook failed"});await e.logs.create(n,p)}let s=await T0(e)(n,r);if((l=t.env.hooks)!=null&&l.onExecutePostUserRegistration)try{await t.env.hooks.onExecutePostUserRegistration({user:r,request:i},{user:{}})}catch{const p=we(t,{type:ge.FAILED_SIGNUP,description:"Post user registration hook failed"});await t.env.data.logs.create(n,p)}return await Ay(t)(n,s),s}}async function Cy(t,e,n,r){var i;if(e.disable_sign_ups){const s=(i=t.var.loginSession)==null?void 0:i.authorization_url;if(!(s&&new URL(s).searchParams.get("screen_hint")==="signup")&&!await io({userAdapter:n.users,tenant_id:e.tenant.id,email:r})){const l=we(t,{type:ge.FAILED_SIGNUP,description:"Public signup is disabled"});throw await n.logs.create(e.tenant.id,l),new I(400,{message:"Signups are disabled for this client"})}}await zy(t)(t.var.tenant_id||"",r)}function ro(t,e){return{...e,users:{...e.users,create:Iy(t,e)}}}function Ff(t){return ro(t,t.env.data)}async function hl(t,e,n){return(await t.list(e,{page:0,per_page:10,include_totals:!1,q:`email:${n}`})).users}async function fr({userAdapter:t,tenant_id:e,username:n,provider:r}){const i=r==="sms"?`phone_number:${n}`:`email:${n}`,{users:s}=await t.list(e,{page:0,per_page:10,include_totals:!1,q:`${i} provider:${r}`});return s.length>1&&console.error("More than one user found for same email and provider"),s[0]||null}async function io({userAdapter:t,tenant_id:e,email:n}){var c;const{users:r}=await t.list(e,{page:0,per_page:10,include_totals:!1,q:`email:${n}`}),i=r.filter(l=>!(l.provider==="auth2"&&!l.email_verified));if(i.length===0)return;const s=i.filter(l=>!l.linked_to);if(s.length>0)return s.length>1&&console.error("More than one primary user found for same email"),s[0];const a=await t.get(e,(c=i[0])==null?void 0:c.linked_to);if(!a)throw new Error("Primary account not found");return a}async function ds({userAdapter:t,tenant_id:e,username:n,provider:r}){const i=await fr({userAdapter:t,tenant_id:e,username:n,provider:r});return i?i.linked_to?t.get(e,i.linked_to):i:null}async function so(t,e){const{username:n,provider:r,connection:i,client:s,userId:a,isSocial:c,profileData:l={},ip:d=""}=e;let p=await ds({userAdapter:t.env.data.users,tenant_id:e.client.tenant.id,username:n,provider:r});if(!p){const f={user_id:`${r}|${a||Qs()}`,email:i!=="sms"?n:void 0,phone_number:i==="sms"?n:void 0,name:n,provider:r,connection:i,email_verified:!0,last_ip:d,is_social:c,last_login:new Date().toISOString(),profileData:JSON.stringify(l)};p=await Ff(t).users.create(s.tenant.id,f),t.set("user_id",p.user_id)}return p}const nn=o.z.object({page:o.z.string().min(0).optional().default("0").transform(t=>parseInt(t,10)).openapi({description:"The page number where 0 is the first page"}),per_page:o.z.string().min(1).optional().default("10").transform(t=>parseInt(t,10)).openapi({description:"The number of items per page"}),include_totals:o.z.string().optional().default("false").transform(t=>t==="true").openapi({description:"If the total number of items should be included in the response"}),sort:o.z.string().regex(/^.+:(-1|1)$/).optional().openapi({description:"A property that should have the format 'string:-1' or 'string:1'"}),q:o.z.string().optional().openapi({description:"A lucene query string used to filter the results"})});function hr(t){if(!t)return;const[e,n]=t.split(":"),r=n==="1"?"asc":"desc";if(!(!e||!r))return{sort_by:e,sort_order:r}}const Yd=an.extend({users:o.z.array(St)}),Ny=an.extend({sessions:o.z.array(Xs)}),jy=new o.OpenAPIHono().openapi(o.createRoute({tags:["users"],method:"get",path:"/",request:{query:nn,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([o.z.array(St),Yd])}},description:"List of users"}}}),async t=>{const{page:e,per_page:n,include_totals:r,sort:i,q:s}=t.req.valid("query"),{"tenant-id":a}=t.req.valid("header");if(s!=null&&s.includes("identities.profileData.email")){const p=s.split("=")[1],m=(await t.env.data.users.list(a,{page:e,per_page:n,include_totals:r,q:`email:${p}`})).users.filter(_=>_.linked_to),[w]=m;if(!w)return t.json([]);const h=await t.env.data.users.get(a,w.linked_to);if(!h)throw new I(500,{message:"Primary account not found"});return t.json([St.parse(h)])}const c=["-_exists_:linked_to"];s&&c.push(s);const l=await t.env.data.users.list(a,{page:e,per_page:n,include_totals:r,sort:hr(i),q:c.join(" ")}),d=l.users.filter(p=>!p.linked_to);return r?t.json(Yd.parse({users:d,length:l.length,start:l.start,limit:l.limit})):t.json(o.z.array(St).parse(d))}).openapi(o.createRoute({tags:["users"],method:"get",path:"/{user_id}",request:{headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({user_id:o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:St}},description:"List of users"}}}),async t=>{const{user_id:e}=t.req.valid("param"),{"tenant-id":n}=t.req.valid("header"),r=await t.env.data.users.get(n,e);if(!r)throw new I(404);if(r.linked_to)throw new I(404,{message:"User is linked to another user"});return t.json(r)}).openapi(o.createRoute({tags:["users"],method:"delete",path:"/{user_id}",request:{headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({user_id:o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{user_id:e}=t.req.valid("param"),{"tenant-id":n}=t.req.valid("header");if(!await t.env.data.users.remove(n,e))throw new I(404);return t.text("OK")}).openapi(o.createRoute({tags:["users"],method:"post",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object({...ns.shape})}}}},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:St}},description:"Status"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json");t.set("body",n);const{email:r}=n;if(!r)throw new I(400,{message:"Email is required"});const i=r.toLowerCase(),s=`${n.provider}|${n.user_id||Qs()}`;try{const a=await t.env.data.users.create(e,{email:i,user_id:s,name:n.name||i,provider:n.provider,connection:n.connection,email_verified:n.email_verified||!1,last_ip:"",is_social:!1,last_login:new Date().toISOString()});t.set("user_id",a.user_id);const c=we(t,{type:ge.SUCCESS_API_OPERATION,description:"User created"});zt(t,t.env.data.logs.create(e,c));const l={...a,identities:[{connection:a.connection,provider:a.provider,user_id:Md(a.user_id),isSocial:a.is_social}]};return t.json(St.parse(l),{status:201})}catch(a){throw a.message==="User already exists"?new I(409,{message:"User already exists"}):a}}).openapi(o.createRoute({tags:["users"],method:"patch",path:"/{user_id}",request:{headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object({...ns.shape,verify_email:o.z.boolean(),password:o.z.string()}).partial()}}},params:o.z.object({user_id:o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{var p;const{data:e}=t.env,{"tenant-id":n}=t.req.valid("header"),r=t.req.valid("json"),{user_id:i}=t.req.valid("param"),{verify_email:s,password:a,...c}=r,l=await e.users.get(n,i);if(!l)throw new I(404);if(c.email&&c.email!==l.email){const f=await hl(t.env.data.users,n,c.email);if(f.length&&f.some(m=>m.user_id!==i))throw new I(409,{message:"Another user with the same email address already exists."})}if(l.linked_to)throw new I(404,{message:"User is linked to another user"});if(await t.env.data.users.update(n,i,c),a){const f=(p=l.identities)==null?void 0:p.find(h=>h.connection==="Username-Password-Authentication");if(!f)throw new I(400,{message:"User does not have a password identity"});const m={user_id:f.user_id,password:await oi.hash(a,10),algorithm:"bcrypt"};await e.passwords.get(n,f.user_id)?await e.passwords.update(n,m):await e.passwords.create(n,m)}const d=await t.env.data.users.get(n,i);if(!d)throw new I(500);return t.json(d)}).openapi(o.createRoute({tags:["users"],method:"post",path:"/{user_id}/identities",request:{headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.union([o.z.object({link_with:o.z.string()}),o.z.object({user_id:o.z.string(),provider:o.z.string(),connection:o.z.string().optional()})])}}},params:o.z.object({user_id:o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:o.z.array(o.z.object({connection:o.z.string(),provider:o.z.string(),user_id:o.z.string(),isSocial:o.z.boolean()}))}},description:"Status"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),{user_id:r}=t.req.valid("param"),i="link_with"in n?n.link_with:n.user_id,s=await t.env.data.users.get(e,r);if(!s)throw new I(400,{message:"Linking an inexistent identity is not allowed."});await t.env.data.users.update(e,i,{linked_to:r});const a=await t.env.data.users.list(e,{page:0,per_page:10,include_totals:!1,q:`linked_to:${r}`}),c=[s,...a.users].map(l=>({connection:l.connection,provider:l.provider,user_id:Md(l.user_id),isSocial:l.is_social}));return t.json(c,{status:201})}).openapi(o.createRoute({tags:["users"],method:"delete",path:"/{user_id}/identities/{provider}/{linked_user_id}",request:{headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({user_id:o.z.string(),provider:o.z.string(),linked_user_id:o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:o.z.array(St)}},description:"Status"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{user_id:n,provider:r,linked_user_id:i}=t.req.valid("param");await t.env.data.users.unlink(e,n,r,i);const s=await t.env.data.users.get(e,n);if(!s)throw new I(404);return t.json([St.parse(s)])}).openapi(o.createRoute({tags:["users"],method:"get",path:"/{user_id}/sessions",request:{query:nn,headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({user_id:o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([o.z.array(Xs),Ny])}},description:"List of sessions"}}}),async t=>{const{user_id:e}=t.req.valid("param"),{include_totals:n}=t.req.valid("query"),{"tenant-id":r}=t.req.valid("header"),i=await t.env.data.sessions.list(r,{page:0,per_page:10,include_totals:!1,q:`user_id:${e}`});return n?t.json(i):t.json(i.sessions)});/*! *****************************************************************************
30
30
  Copyright (C) Microsoft. All rights reserved.
31
31
  Licensed under the Apache License, Version 2.0 (the "License"); you may not use
32
32
  this file except in compliance with the License. You may obtain a copy of the
@@ -39,7 +39,7 @@ MERCHANTABLITY OR NON-INFRINGEMENT.
39
39
 
40
40
  See the Apache Version 2.0 License for specific language governing permissions
41
41
  and limitations under the License.
42
- ***************************************************************************** */var Qd;(function(t){(function(e){var n=typeof globalThis=="object"?globalThis:typeof cs=="object"?cs:typeof self=="object"?self:typeof this=="object"?this:c(),r=i(t);typeof n.Reflect<"u"&&(r=i(n.Reflect,r)),e(r,n),typeof n.Reflect>"u"&&(n.Reflect=t);function i(l,d){return function(p,f){Object.defineProperty(l,p,{configurable:!0,writable:!0,value:f}),d&&d(p,f)}}function s(){try{return Function("return this;")()}catch{}}function a(){try{return(0,eval)("(function() { return this; })()")}catch{}}function c(){return s()||a()}})(function(e,n){var r=Object.prototype.hasOwnProperty,i=typeof Symbol=="function",s=i&&typeof Symbol.toPrimitive<"u"?Symbol.toPrimitive:"@@toPrimitive",a=i&&typeof Symbol.iterator<"u"?Symbol.iterator:"@@iterator",c=typeof Object.create=="function",l={__proto__:[]}instanceof Array,d=!c&&!l,p={create:c?function(){return ra(Object.create(null))}:l?function(){return ra({__proto__:null})}:function(){return ra({})},has:d?function(S,E){return r.call(S,E)}:function(S,E){return E in S},get:d?function(S,E){return r.call(S,E)?S[E]:void 0}:function(S,E){return S[E]}},f=Object.getPrototypeOf(Function),m=typeof Map=="function"&&typeof Map.prototype.entries=="function"?Map:Lm(),w=typeof Set=="function"&&typeof Set.prototype.entries=="function"?Set:Um(),h=typeof WeakMap=="function"?WeakMap:Vm(),_=i?Symbol.for("@reflect-metadata:registry"):void 0,v=Pm(),A=Bm(v);function C(S,E,T,V){if(H(T)){if(!kd(S))throw new TypeError;if(!Sd(E))throw new TypeError;return N(S,E)}else{if(!kd(S))throw new TypeError;if(!ge(E))throw new TypeError;if(!ge(V)&&!H(V)&&!Ce(V))throw new TypeError;return Ce(V)&&(V=void 0),T=bt(T),z(S,E,T,V)}}e("decorate",C);function O(S,E){function T(V,ee){if(!ge(V))throw new TypeError;if(!H(ee)&&!Om(ee))throw new TypeError;X(S,E,V,ee)}return T}e("metadata",O);function L(S,E,T,V){if(!ge(T))throw new TypeError;return H(V)||(V=bt(V)),X(S,E,T,V)}e("defineMetadata",L);function Q(S,E,T){if(!ge(E))throw new TypeError;return H(T)||(T=bt(T)),k(S,E,T)}e("hasMetadata",Q);function ce(S,E,T){if(!ge(E))throw new TypeError;return H(T)||(T=bt(T)),x(S,E,T)}e("hasOwnMetadata",ce);function le(S,E,T){if(!ge(E))throw new TypeError;return H(T)||(T=bt(T)),$(S,E,T)}e("getMetadata",le);function He(S,E,T){if(!ge(E))throw new TypeError;return H(T)||(T=bt(T)),U(S,E,T)}e("getOwnMetadata",He);function Ve(S,E){if(!ge(S))throw new TypeError;return H(E)||(E=bt(E)),G(S,E)}e("getMetadataKeys",Ve);function Re(S,E){if(!ge(S))throw new TypeError;return H(E)||(E=bt(E)),se(S,E)}e("getOwnMetadataKeys",Re);function j(S,E,T){if(!ge(E))throw new TypeError;if(H(T)||(T=bt(T)),!ge(E))throw new TypeError;H(T)||(T=bt(T));var V=zr(E,T,!1);return H(V)?!1:V.OrdinaryDeleteMetadata(S,E,T)}e("deleteMetadata",j);function N(S,E){for(var T=S.length-1;T>=0;--T){var V=S[T],ee=V(E);if(!H(ee)&&!Ce(ee)){if(!Sd(ee))throw new TypeError;E=ee}}return E}function z(S,E,T,V){for(var ee=S.length-1;ee>=0;--ee){var Ne=S[ee],ze=Ne(E,T,V);if(!H(ze)&&!Ce(ze)){if(!ge(ze))throw new TypeError;V=ze}}return V}function k(S,E,T){var V=x(S,E,T);if(V)return!0;var ee=na(E);return Ce(ee)?!1:k(S,ee,T)}function x(S,E,T){var V=zr(E,T,!1);return H(V)?!1:xd(V.OrdinaryHasOwnMetadata(S,E,T))}function $(S,E,T){var V=x(S,E,T);if(V)return U(S,E,T);var ee=na(E);if(!Ce(ee))return $(S,ee,T)}function U(S,E,T){var V=zr(E,T,!1);if(!H(V))return V.OrdinaryGetOwnMetadata(S,E,T)}function X(S,E,T,V){var ee=zr(T,V,!0);ee.OrdinaryDefineOwnMetadata(S,E,T,V)}function G(S,E){var T=se(S,E),V=na(S);if(V===null)return T;var ee=G(V,E);if(ee.length<=0)return T;if(T.length<=0)return ee;for(var Ne=new w,ze=[],oe=0,D=T;oe<D.length;oe++){var W=D[oe],Z=Ne.has(W);Z||(Ne.add(W),ze.push(W))}for(var Y=0,ae=ee;Y<ae.length;Y++){var W=ae[Y],Z=Ne.has(W);Z||(Ne.add(W),ze.push(W))}return ze}function se(S,E){var T=zr(S,E,!1);return T?T.OrdinaryOwnMetadataKeys(S,E):[]}function ue(S){if(S===null)return 1;switch(typeof S){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return S===null?1:6;default:return 6}}function H(S){return S===void 0}function Ce(S){return S===null}function fn(S){return typeof S=="symbol"}function ge(S){return typeof S=="object"?S!==null:typeof S=="function"}function Se(S,E){switch(ue(S)){case 0:return S;case 1:return S;case 2:return S;case 3:return S;case 4:return S;case 5:return S}var T="string",V=Ad(S,s);if(V!==void 0){var ee=V.call(S,T);if(ge(ee))throw new TypeError;return ee}return jm(S)}function jm(S,E){var T,V;{var ee=S.toString;if(Ni(ee)){var V=ee.call(S);if(!ge(V))return V}var T=S.valueOf;if(Ni(T)){var V=T.call(S);if(!ge(V))return V}}throw new TypeError}function xd(S){return!!S}function $m(S){return""+S}function bt(S){var E=Se(S);return fn(E)?E:$m(E)}function kd(S){return Array.isArray?Array.isArray(S):S instanceof Object?S instanceof Array:Object.prototype.toString.call(S)==="[object Array]"}function Ni(S){return typeof S=="function"}function Sd(S){return typeof S=="function"}function Om(S){switch(ue(S)){case 3:return!0;case 4:return!0;default:return!1}}function ta(S,E){return S===E||S!==S&&E!==E}function Ad(S,E){var T=S[E];if(T!=null){if(!Ni(T))throw new TypeError;return T}}function zd(S){var E=Ad(S,a);if(!Ni(E))throw new TypeError;var T=E.call(S);if(!ge(T))throw new TypeError;return T}function Ed(S){return S.value}function Id(S){var E=S.next();return E.done?!1:E}function Cd(S){var E=S.return;E&&E.call(S)}function na(S){var E=Object.getPrototypeOf(S);if(typeof S!="function"||S===f||E!==f)return E;var T=S.prototype,V=T&&Object.getPrototypeOf(T);if(V==null||V===Object.prototype)return E;var ee=V.constructor;return typeof ee!="function"||ee===S?E:ee}function Tm(){var S;!H(_)&&typeof n.Reflect<"u"&&!(_ in n.Reflect)&&typeof n.Reflect.defineMetadata=="function"&&(S=Rm(n.Reflect));var E,T,V,ee=new h,Ne={registerProvider:ze,getProvider:D,setProvider:Z};return Ne;function ze(Y){if(!Object.isExtensible(Ne))throw new Error("Cannot add provider to a frozen registry.");switch(!0){case S===Y:break;case H(E):E=Y;break;case E===Y:break;case H(T):T=Y;break;case T===Y:break;default:V===void 0&&(V=new w),V.add(Y);break}}function oe(Y,ae){if(!H(E)){if(E.isProviderFor(Y,ae))return E;if(!H(T)){if(T.isProviderFor(Y,ae))return E;if(!H(V))for(var me=zd(V);;){var ve=Id(me);if(!ve)return;var ut=Ed(ve);if(ut.isProviderFor(Y,ae))return Cd(me),ut}}}if(!H(S)&&S.isProviderFor(Y,ae))return S}function D(Y,ae){var me=ee.get(Y),ve;return H(me)||(ve=me.get(ae)),H(ve)&&(ve=oe(Y,ae),H(ve)||(H(me)&&(me=new m,ee.set(Y,me)),me.set(ae,ve))),ve}function W(Y){if(H(Y))throw new TypeError;return E===Y||T===Y||!H(V)&&V.has(Y)}function Z(Y,ae,me){if(!W(me))throw new Error("Metadata provider not registered.");var ve=D(Y,ae);if(ve!==me){if(!H(ve))return!1;var ut=ee.get(Y);H(ut)&&(ut=new m,ee.set(Y,ut)),ut.set(ae,me)}return!0}}function Pm(){var S;return!H(_)&&ge(n.Reflect)&&Object.isExtensible(n.Reflect)&&(S=n.Reflect[_]),H(S)&&(S=Tm()),!H(_)&&ge(n.Reflect)&&Object.isExtensible(n.Reflect)&&Object.defineProperty(n.Reflect,_,{enumerable:!1,configurable:!1,writable:!1,value:S}),S}function Bm(S){var E=new h,T={isProviderFor:function(W,Z){var Y=E.get(W);return H(Y)?!1:Y.has(Z)},OrdinaryDefineOwnMetadata:ze,OrdinaryHasOwnMetadata:ee,OrdinaryGetOwnMetadata:Ne,OrdinaryOwnMetadataKeys:oe,OrdinaryDeleteMetadata:D};return v.registerProvider(T),T;function V(W,Z,Y){var ae=E.get(W),me=!1;if(H(ae)){if(!Y)return;ae=new m,E.set(W,ae),me=!0}var ve=ae.get(Z);if(H(ve)){if(!Y)return;if(ve=new m,ae.set(Z,ve),!S.setProvider(W,Z,T))throw ae.delete(Z),me&&E.delete(W),new Error("Wrong provider for target.")}return ve}function ee(W,Z,Y){var ae=V(Z,Y,!1);return H(ae)?!1:xd(ae.has(W))}function Ne(W,Z,Y){var ae=V(Z,Y,!1);if(!H(ae))return ae.get(W)}function ze(W,Z,Y,ae){var me=V(Y,ae,!0);me.set(W,Z)}function oe(W,Z){var Y=[],ae=V(W,Z,!1);if(H(ae))return Y;for(var me=ae.keys(),ve=zd(me),ut=0;;){var Nd=Id(ve);if(!Nd)return Y.length=ut,Y;var qm=Ed(Nd);try{Y[ut]=qm}catch(Mm){try{Cd(ve)}finally{throw Mm}}ut++}}function D(W,Z,Y){var ae=V(Z,Y,!1);if(H(ae)||!ae.delete(W))return!1;if(ae.size===0){var me=E.get(Z);H(me)||(me.delete(Y),me.size===0&&E.delete(me))}return!0}}function Rm(S){var E=S.defineMetadata,T=S.hasOwnMetadata,V=S.getOwnMetadata,ee=S.getOwnMetadataKeys,Ne=S.deleteMetadata,ze=new h,oe={isProviderFor:function(D,W){var Z=ze.get(D);return!H(Z)&&Z.has(W)?!0:ee(D,W).length?(H(Z)&&(Z=new w,ze.set(D,Z)),Z.add(W),!0):!1},OrdinaryDefineOwnMetadata:E,OrdinaryHasOwnMetadata:T,OrdinaryGetOwnMetadata:V,OrdinaryOwnMetadataKeys:ee,OrdinaryDeleteMetadata:Ne};return oe}function zr(S,E,T){var V=v.getProvider(S,E);if(!H(V))return V;if(T){if(v.setProvider(S,E,A))return A;throw new Error("Illegal state.")}}function Lm(){var S={},E=[],T=function(){function oe(D,W,Z){this._index=0,this._keys=D,this._values=W,this._selector=Z}return oe.prototype["@@iterator"]=function(){return this},oe.prototype[a]=function(){return this},oe.prototype.next=function(){var D=this._index;if(D>=0&&D<this._keys.length){var W=this._selector(this._keys[D],this._values[D]);return D+1>=this._keys.length?(this._index=-1,this._keys=E,this._values=E):this._index++,{value:W,done:!1}}return{value:void 0,done:!0}},oe.prototype.throw=function(D){throw this._index>=0&&(this._index=-1,this._keys=E,this._values=E),D},oe.prototype.return=function(D){return this._index>=0&&(this._index=-1,this._keys=E,this._values=E),{value:D,done:!0}},oe}(),V=function(){function oe(){this._keys=[],this._values=[],this._cacheKey=S,this._cacheIndex=-2}return Object.defineProperty(oe.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),oe.prototype.has=function(D){return this._find(D,!1)>=0},oe.prototype.get=function(D){var W=this._find(D,!1);return W>=0?this._values[W]:void 0},oe.prototype.set=function(D,W){var Z=this._find(D,!0);return this._values[Z]=W,this},oe.prototype.delete=function(D){var W=this._find(D,!1);if(W>=0){for(var Z=this._keys.length,Y=W+1;Y<Z;Y++)this._keys[Y-1]=this._keys[Y],this._values[Y-1]=this._values[Y];return this._keys.length--,this._values.length--,ta(D,this._cacheKey)&&(this._cacheKey=S,this._cacheIndex=-2),!0}return!1},oe.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=S,this._cacheIndex=-2},oe.prototype.keys=function(){return new T(this._keys,this._values,ee)},oe.prototype.values=function(){return new T(this._keys,this._values,Ne)},oe.prototype.entries=function(){return new T(this._keys,this._values,ze)},oe.prototype["@@iterator"]=function(){return this.entries()},oe.prototype[a]=function(){return this.entries()},oe.prototype._find=function(D,W){if(!ta(this._cacheKey,D)){this._cacheIndex=-1;for(var Z=0;Z<this._keys.length;Z++)if(ta(this._keys[Z],D)){this._cacheIndex=Z;break}}return this._cacheIndex<0&&W&&(this._cacheIndex=this._keys.length,this._keys.push(D),this._values.push(void 0)),this._cacheIndex},oe}();return V;function ee(oe,D){return oe}function Ne(oe,D){return D}function ze(oe,D){return[oe,D]}}function Um(){var S=function(){function E(){this._map=new m}return Object.defineProperty(E.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),E.prototype.has=function(T){return this._map.has(T)},E.prototype.add=function(T){return this._map.set(T,T),this},E.prototype.delete=function(T){return this._map.delete(T)},E.prototype.clear=function(){this._map.clear()},E.prototype.keys=function(){return this._map.keys()},E.prototype.values=function(){return this._map.keys()},E.prototype.entries=function(){return this._map.entries()},E.prototype["@@iterator"]=function(){return this.keys()},E.prototype[a]=function(){return this.keys()},E}();return S}function Vm(){var S=16,E=p.create(),T=V();return function(){function D(){this._key=V()}return D.prototype.has=function(W){var Z=ee(W,!1);return Z!==void 0?p.has(Z,this._key):!1},D.prototype.get=function(W){var Z=ee(W,!1);return Z!==void 0?p.get(Z,this._key):void 0},D.prototype.set=function(W,Z){var Y=ee(W,!0);return Y[this._key]=Z,this},D.prototype.delete=function(W){var Z=ee(W,!1);return Z!==void 0?delete Z[this._key]:!1},D.prototype.clear=function(){this._key=V()},D}();function V(){var D;do D="@@WeakMap@@"+oe();while(p.has(E,D));return E[D]=!0,D}function ee(D,W){if(!r.call(D,T)){if(!W)return;Object.defineProperty(D,T,{value:p.create()})}return D[T]}function Ne(D,W){for(var Z=0;Z<W;++Z)D[Z]=Math.random()*255|0;return D}function ze(D){if(typeof Uint8Array=="function"){var W=new Uint8Array(D);return typeof crypto<"u"?crypto.getRandomValues(W):typeof msCrypto<"u"?msCrypto.getRandomValues(W):Ne(W,D),W}return Ne(new Array(D),D)}function oe(){var D=ze(S);D[6]=D[6]&79|64,D[8]=D[8]&191|128;for(var W="",Z=0;Z<S;++Z){var Y=D[Z];(Z===4||Z===6||Z===8)&&(W+="-"),Y<16&&(W+="0"),W+=Y.toString(16).toLowerCase()}return W}}function ra(S){return S.__=void 0,delete S.__,S}})})(Qd||(Qd={}));/*!
42
+ ***************************************************************************** */var Xd;(function(t){(function(e){var n=typeof globalThis=="object"?globalThis:typeof cs=="object"?cs:typeof self=="object"?self:typeof this=="object"?this:c(),r=i(t);typeof n.Reflect<"u"&&(r=i(n.Reflect,r)),e(r,n),typeof n.Reflect>"u"&&(n.Reflect=t);function i(l,d){return function(p,f){Object.defineProperty(l,p,{configurable:!0,writable:!0,value:f}),d&&d(p,f)}}function s(){try{return Function("return this;")()}catch{}}function a(){try{return(0,eval)("(function() { return this; })()")}catch{}}function c(){return s()||a()}})(function(e,n){var r=Object.prototype.hasOwnProperty,i=typeof Symbol=="function",s=i&&typeof Symbol.toPrimitive<"u"?Symbol.toPrimitive:"@@toPrimitive",a=i&&typeof Symbol.iterator<"u"?Symbol.iterator:"@@iterator",c=typeof Object.create=="function",l={__proto__:[]}instanceof Array,d=!c&&!l,p={create:c?function(){return na(Object.create(null))}:l?function(){return na({__proto__:null})}:function(){return na({})},has:d?function(S,E){return r.call(S,E)}:function(S,E){return E in S},get:d?function(S,E){return r.call(S,E)?S[E]:void 0}:function(S,E){return S[E]}},f=Object.getPrototypeOf(Function),m=typeof Map=="function"&&typeof Map.prototype.entries=="function"?Map:Lm(),w=typeof Set=="function"&&typeof Set.prototype.entries=="function"?Set:Um(),h=typeof WeakMap=="function"?WeakMap:Vm(),_=i?Symbol.for("@reflect-metadata:registry"):void 0,v=Pm(),A=Bm(v);function C(S,E,T,V){if(H(T)){if(!xd(S))throw new TypeError;if(!kd(E))throw new TypeError;return N(S,E)}else{if(!xd(S))throw new TypeError;if(!he(E))throw new TypeError;if(!he(V)&&!H(V)&&!Ce(V))throw new TypeError;return Ce(V)&&(V=void 0),T=bt(T),z(S,E,T,V)}}e("decorate",C);function O(S,E){function T(V,ee){if(!he(V))throw new TypeError;if(!H(ee)&&!Om(ee))throw new TypeError;X(S,E,V,ee)}return T}e("metadata",O);function L(S,E,T,V){if(!he(T))throw new TypeError;return H(V)||(V=bt(V)),X(S,E,T,V)}e("defineMetadata",L);function Q(S,E,T){if(!he(E))throw new TypeError;return H(T)||(T=bt(T)),k(S,E,T)}e("hasMetadata",Q);function ce(S,E,T){if(!he(E))throw new TypeError;return H(T)||(T=bt(T)),x(S,E,T)}e("hasOwnMetadata",ce);function le(S,E,T){if(!he(E))throw new TypeError;return H(T)||(T=bt(T)),$(S,E,T)}e("getMetadata",le);function He(S,E,T){if(!he(E))throw new TypeError;return H(T)||(T=bt(T)),U(S,E,T)}e("getOwnMetadata",He);function Ve(S,E){if(!he(S))throw new TypeError;return H(E)||(E=bt(E)),G(S,E)}e("getMetadataKeys",Ve);function Re(S,E){if(!he(S))throw new TypeError;return H(E)||(E=bt(E)),se(S,E)}e("getOwnMetadataKeys",Re);function j(S,E,T){if(!he(E))throw new TypeError;if(H(T)||(T=bt(T)),!he(E))throw new TypeError;H(T)||(T=bt(T));var V=zr(E,T,!1);return H(V)?!1:V.OrdinaryDeleteMetadata(S,E,T)}e("deleteMetadata",j);function N(S,E){for(var T=S.length-1;T>=0;--T){var V=S[T],ee=V(E);if(!H(ee)&&!Ce(ee)){if(!kd(ee))throw new TypeError;E=ee}}return E}function z(S,E,T,V){for(var ee=S.length-1;ee>=0;--ee){var Ne=S[ee],ze=Ne(E,T,V);if(!H(ze)&&!Ce(ze)){if(!he(ze))throw new TypeError;V=ze}}return V}function k(S,E,T){var V=x(S,E,T);if(V)return!0;var ee=ta(E);return Ce(ee)?!1:k(S,ee,T)}function x(S,E,T){var V=zr(E,T,!1);return H(V)?!1:bd(V.OrdinaryHasOwnMetadata(S,E,T))}function $(S,E,T){var V=x(S,E,T);if(V)return U(S,E,T);var ee=ta(E);if(!Ce(ee))return $(S,ee,T)}function U(S,E,T){var V=zr(E,T,!1);if(!H(V))return V.OrdinaryGetOwnMetadata(S,E,T)}function X(S,E,T,V){var ee=zr(T,V,!0);ee.OrdinaryDefineOwnMetadata(S,E,T,V)}function G(S,E){var T=se(S,E),V=ta(S);if(V===null)return T;var ee=G(V,E);if(ee.length<=0)return T;if(T.length<=0)return ee;for(var Ne=new w,ze=[],oe=0,D=T;oe<D.length;oe++){var W=D[oe],Z=Ne.has(W);Z||(Ne.add(W),ze.push(W))}for(var Y=0,ae=ee;Y<ae.length;Y++){var W=ae[Y],Z=Ne.has(W);Z||(Ne.add(W),ze.push(W))}return ze}function se(S,E){var T=zr(S,E,!1);return T?T.OrdinaryOwnMetadataKeys(S,E):[]}function ue(S){if(S===null)return 1;switch(typeof S){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return S===null?1:6;default:return 6}}function H(S){return S===void 0}function Ce(S){return S===null}function fn(S){return typeof S=="symbol"}function he(S){return typeof S=="object"?S!==null:typeof S=="function"}function Se(S,E){switch(ue(S)){case 0:return S;case 1:return S;case 2:return S;case 3:return S;case 4:return S;case 5:return S}var T="string",V=Sd(S,s);if(V!==void 0){var ee=V.call(S,T);if(he(ee))throw new TypeError;return ee}return jm(S)}function jm(S,E){var T,V;{var ee=S.toString;if(Ni(ee)){var V=ee.call(S);if(!he(V))return V}var T=S.valueOf;if(Ni(T)){var V=T.call(S);if(!he(V))return V}}throw new TypeError}function bd(S){return!!S}function $m(S){return""+S}function bt(S){var E=Se(S);return fn(E)?E:$m(E)}function xd(S){return Array.isArray?Array.isArray(S):S instanceof Object?S instanceof Array:Object.prototype.toString.call(S)==="[object Array]"}function Ni(S){return typeof S=="function"}function kd(S){return typeof S=="function"}function Om(S){switch(ue(S)){case 3:return!0;case 4:return!0;default:return!1}}function ea(S,E){return S===E||S!==S&&E!==E}function Sd(S,E){var T=S[E];if(T!=null){if(!Ni(T))throw new TypeError;return T}}function Ad(S){var E=Sd(S,a);if(!Ni(E))throw new TypeError;var T=E.call(S);if(!he(T))throw new TypeError;return T}function zd(S){return S.value}function Ed(S){var E=S.next();return E.done?!1:E}function Id(S){var E=S.return;E&&E.call(S)}function ta(S){var E=Object.getPrototypeOf(S);if(typeof S!="function"||S===f||E!==f)return E;var T=S.prototype,V=T&&Object.getPrototypeOf(T);if(V==null||V===Object.prototype)return E;var ee=V.constructor;return typeof ee!="function"||ee===S?E:ee}function Tm(){var S;!H(_)&&typeof n.Reflect<"u"&&!(_ in n.Reflect)&&typeof n.Reflect.defineMetadata=="function"&&(S=Rm(n.Reflect));var E,T,V,ee=new h,Ne={registerProvider:ze,getProvider:D,setProvider:Z};return Ne;function ze(Y){if(!Object.isExtensible(Ne))throw new Error("Cannot add provider to a frozen registry.");switch(!0){case S===Y:break;case H(E):E=Y;break;case E===Y:break;case H(T):T=Y;break;case T===Y:break;default:V===void 0&&(V=new w),V.add(Y);break}}function oe(Y,ae){if(!H(E)){if(E.isProviderFor(Y,ae))return E;if(!H(T)){if(T.isProviderFor(Y,ae))return E;if(!H(V))for(var me=Ad(V);;){var ve=Ed(me);if(!ve)return;var ut=zd(ve);if(ut.isProviderFor(Y,ae))return Id(me),ut}}}if(!H(S)&&S.isProviderFor(Y,ae))return S}function D(Y,ae){var me=ee.get(Y),ve;return H(me)||(ve=me.get(ae)),H(ve)&&(ve=oe(Y,ae),H(ve)||(H(me)&&(me=new m,ee.set(Y,me)),me.set(ae,ve))),ve}function W(Y){if(H(Y))throw new TypeError;return E===Y||T===Y||!H(V)&&V.has(Y)}function Z(Y,ae,me){if(!W(me))throw new Error("Metadata provider not registered.");var ve=D(Y,ae);if(ve!==me){if(!H(ve))return!1;var ut=ee.get(Y);H(ut)&&(ut=new m,ee.set(Y,ut)),ut.set(ae,me)}return!0}}function Pm(){var S;return!H(_)&&he(n.Reflect)&&Object.isExtensible(n.Reflect)&&(S=n.Reflect[_]),H(S)&&(S=Tm()),!H(_)&&he(n.Reflect)&&Object.isExtensible(n.Reflect)&&Object.defineProperty(n.Reflect,_,{enumerable:!1,configurable:!1,writable:!1,value:S}),S}function Bm(S){var E=new h,T={isProviderFor:function(W,Z){var Y=E.get(W);return H(Y)?!1:Y.has(Z)},OrdinaryDefineOwnMetadata:ze,OrdinaryHasOwnMetadata:ee,OrdinaryGetOwnMetadata:Ne,OrdinaryOwnMetadataKeys:oe,OrdinaryDeleteMetadata:D};return v.registerProvider(T),T;function V(W,Z,Y){var ae=E.get(W),me=!1;if(H(ae)){if(!Y)return;ae=new m,E.set(W,ae),me=!0}var ve=ae.get(Z);if(H(ve)){if(!Y)return;if(ve=new m,ae.set(Z,ve),!S.setProvider(W,Z,T))throw ae.delete(Z),me&&E.delete(W),new Error("Wrong provider for target.")}return ve}function ee(W,Z,Y){var ae=V(Z,Y,!1);return H(ae)?!1:bd(ae.has(W))}function Ne(W,Z,Y){var ae=V(Z,Y,!1);if(!H(ae))return ae.get(W)}function ze(W,Z,Y,ae){var me=V(Y,ae,!0);me.set(W,Z)}function oe(W,Z){var Y=[],ae=V(W,Z,!1);if(H(ae))return Y;for(var me=ae.keys(),ve=Ad(me),ut=0;;){var Cd=Ed(ve);if(!Cd)return Y.length=ut,Y;var qm=zd(Cd);try{Y[ut]=qm}catch(Mm){try{Id(ve)}finally{throw Mm}}ut++}}function D(W,Z,Y){var ae=V(Z,Y,!1);if(H(ae)||!ae.delete(W))return!1;if(ae.size===0){var me=E.get(Z);H(me)||(me.delete(Y),me.size===0&&E.delete(me))}return!0}}function Rm(S){var E=S.defineMetadata,T=S.hasOwnMetadata,V=S.getOwnMetadata,ee=S.getOwnMetadataKeys,Ne=S.deleteMetadata,ze=new h,oe={isProviderFor:function(D,W){var Z=ze.get(D);return!H(Z)&&Z.has(W)?!0:ee(D,W).length?(H(Z)&&(Z=new w,ze.set(D,Z)),Z.add(W),!0):!1},OrdinaryDefineOwnMetadata:E,OrdinaryHasOwnMetadata:T,OrdinaryGetOwnMetadata:V,OrdinaryOwnMetadataKeys:ee,OrdinaryDeleteMetadata:Ne};return oe}function zr(S,E,T){var V=v.getProvider(S,E);if(!H(V))return V;if(T){if(v.setProvider(S,E,A))return A;throw new Error("Illegal state.")}}function Lm(){var S={},E=[],T=function(){function oe(D,W,Z){this._index=0,this._keys=D,this._values=W,this._selector=Z}return oe.prototype["@@iterator"]=function(){return this},oe.prototype[a]=function(){return this},oe.prototype.next=function(){var D=this._index;if(D>=0&&D<this._keys.length){var W=this._selector(this._keys[D],this._values[D]);return D+1>=this._keys.length?(this._index=-1,this._keys=E,this._values=E):this._index++,{value:W,done:!1}}return{value:void 0,done:!0}},oe.prototype.throw=function(D){throw this._index>=0&&(this._index=-1,this._keys=E,this._values=E),D},oe.prototype.return=function(D){return this._index>=0&&(this._index=-1,this._keys=E,this._values=E),{value:D,done:!0}},oe}(),V=function(){function oe(){this._keys=[],this._values=[],this._cacheKey=S,this._cacheIndex=-2}return Object.defineProperty(oe.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),oe.prototype.has=function(D){return this._find(D,!1)>=0},oe.prototype.get=function(D){var W=this._find(D,!1);return W>=0?this._values[W]:void 0},oe.prototype.set=function(D,W){var Z=this._find(D,!0);return this._values[Z]=W,this},oe.prototype.delete=function(D){var W=this._find(D,!1);if(W>=0){for(var Z=this._keys.length,Y=W+1;Y<Z;Y++)this._keys[Y-1]=this._keys[Y],this._values[Y-1]=this._values[Y];return this._keys.length--,this._values.length--,ea(D,this._cacheKey)&&(this._cacheKey=S,this._cacheIndex=-2),!0}return!1},oe.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=S,this._cacheIndex=-2},oe.prototype.keys=function(){return new T(this._keys,this._values,ee)},oe.prototype.values=function(){return new T(this._keys,this._values,Ne)},oe.prototype.entries=function(){return new T(this._keys,this._values,ze)},oe.prototype["@@iterator"]=function(){return this.entries()},oe.prototype[a]=function(){return this.entries()},oe.prototype._find=function(D,W){if(!ea(this._cacheKey,D)){this._cacheIndex=-1;for(var Z=0;Z<this._keys.length;Z++)if(ea(this._keys[Z],D)){this._cacheIndex=Z;break}}return this._cacheIndex<0&&W&&(this._cacheIndex=this._keys.length,this._keys.push(D),this._values.push(void 0)),this._cacheIndex},oe}();return V;function ee(oe,D){return oe}function Ne(oe,D){return D}function ze(oe,D){return[oe,D]}}function Um(){var S=function(){function E(){this._map=new m}return Object.defineProperty(E.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),E.prototype.has=function(T){return this._map.has(T)},E.prototype.add=function(T){return this._map.set(T,T),this},E.prototype.delete=function(T){return this._map.delete(T)},E.prototype.clear=function(){this._map.clear()},E.prototype.keys=function(){return this._map.keys()},E.prototype.values=function(){return this._map.keys()},E.prototype.entries=function(){return this._map.entries()},E.prototype["@@iterator"]=function(){return this.keys()},E.prototype[a]=function(){return this.keys()},E}();return S}function Vm(){var S=16,E=p.create(),T=V();return function(){function D(){this._key=V()}return D.prototype.has=function(W){var Z=ee(W,!1);return Z!==void 0?p.has(Z,this._key):!1},D.prototype.get=function(W){var Z=ee(W,!1);return Z!==void 0?p.get(Z,this._key):void 0},D.prototype.set=function(W,Z){var Y=ee(W,!0);return Y[this._key]=Z,this},D.prototype.delete=function(W){var Z=ee(W,!1);return Z!==void 0?delete Z[this._key]:!1},D.prototype.clear=function(){this._key=V()},D}();function V(){var D;do D="@@WeakMap@@"+oe();while(p.has(E,D));return E[D]=!0,D}function ee(D,W){if(!r.call(D,T)){if(!W)return;Object.defineProperty(D,T,{value:p.create()})}return D[T]}function Ne(D,W){for(var Z=0;Z<W;++Z)D[Z]=Math.random()*255|0;return D}function ze(D){if(typeof Uint8Array=="function"){var W=new Uint8Array(D);return typeof crypto<"u"?crypto.getRandomValues(W):typeof msCrypto<"u"?msCrypto.getRandomValues(W):Ne(W,D),W}return Ne(new Array(D),D)}function oe(){var D=ze(S);D[6]=D[6]&79|64,D[8]=D[8]&191|128;for(var W="",Z=0;Z<S;++Z){var Y=D[Z];(Z===4||Z===6||Z===8)&&(W+="-"),Y<16&&(W+="0"),W+=Y.toString(16).toLowerCase()}return W}}function na(S){return S.__=void 0,delete S.__,S}})})(Xd||(Xd={}));/*!
43
43
  * MIT License
44
44
  *
45
45
  * Copyright (c) 2017-2022 Peculiar Ventures, LLC
@@ -62,9 +62,9 @@ and limitations under the License.
62
62
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
63
63
  * SOFTWARE.
64
64
  *
65
- */const $y="[object ArrayBuffer]";class M{static isArrayBuffer(e){return Object.prototype.toString.call(e)===$y}static toArrayBuffer(e){return this.isArrayBuffer(e)?e:e.byteLength===e.buffer.byteLength||e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:this.toUint8Array(e.buffer).slice(e.byteOffset,e.byteOffset+e.byteLength).buffer}static toUint8Array(e){return this.toView(e,Uint8Array)}static toView(e,n){if(e.constructor===n)return e;if(this.isArrayBuffer(e))return new n(e);if(this.isArrayBufferView(e))return new n(e.buffer,e.byteOffset,e.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(e){return this.isArrayBufferView(e)||this.isArrayBuffer(e)}static isArrayBufferView(e){return ArrayBuffer.isView(e)||e&&this.isArrayBuffer(e.buffer)}static isEqual(e,n){const r=M.toUint8Array(e),i=M.toUint8Array(n);if(r.length!==i.byteLength)return!1;for(let s=0;s<r.length;s++)if(r[s]!==i[s])return!1;return!0}static concat(...e){let n;Array.isArray(e[0])&&!(e[1]instanceof Function)||Array.isArray(e[0])&&e[1]instanceof Function?n=e[0]:e[e.length-1]instanceof Function?n=e.slice(0,e.length-1):n=e;let r=0;for(const a of n)r+=a.byteLength;const i=new Uint8Array(r);let s=0;for(const a of n){const c=this.toUint8Array(a);i.set(c,s),s+=c.length}return e[e.length-1]instanceof Function?this.toView(i,e[e.length-1]):i.buffer}}const sa="string",Oy=/^[0-9a-f]+$/i,Ty=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,Py=/^[a-zA-Z0-9-_]+$/;class eu{static fromString(e){const n=unescape(encodeURIComponent(e)),r=new Uint8Array(n.length);for(let i=0;i<n.length;i++)r[i]=n.charCodeAt(i);return r.buffer}static toString(e){const n=M.toUint8Array(e);let r="";for(let s=0;s<n.length;s++)r+=String.fromCharCode(n[s]);return decodeURIComponent(escape(r))}}class xt{static toString(e,n=!1){const r=M.toArrayBuffer(e),i=new DataView(r);let s="";for(let a=0;a<r.byteLength;a+=2){const c=i.getUint16(a,n);s+=String.fromCharCode(c)}return s}static fromString(e,n=!1){const r=new ArrayBuffer(e.length*2),i=new DataView(r);for(let s=0;s<e.length;s++)i.setUint16(s*2,e.charCodeAt(s),n);return r}}class J{static isHex(e){return typeof e===sa&&Oy.test(e)}static isBase64(e){return typeof e===sa&&Ty.test(e)}static isBase64Url(e){return typeof e===sa&&Py.test(e)}static ToString(e,n="utf8"){const r=M.toUint8Array(e);switch(n.toLowerCase()){case"utf8":return this.ToUtf8String(r);case"binary":return this.ToBinary(r);case"hex":return this.ToHex(r);case"base64":return this.ToBase64(r);case"base64url":return this.ToBase64Url(r);case"utf16le":return xt.toString(r,!0);case"utf16":case"utf16be":return xt.toString(r);default:throw new Error(`Unknown type of encoding '${n}'`)}}static FromString(e,n="utf8"){if(!e)return new ArrayBuffer(0);switch(n.toLowerCase()){case"utf8":return this.FromUtf8String(e);case"binary":return this.FromBinary(e);case"hex":return this.FromHex(e);case"base64":return this.FromBase64(e);case"base64url":return this.FromBase64Url(e);case"utf16le":return xt.fromString(e,!0);case"utf16":case"utf16be":return xt.fromString(e);default:throw new Error(`Unknown type of encoding '${n}'`)}}static ToBase64(e){const n=M.toUint8Array(e);if(typeof btoa<"u"){const r=this.ToString(n,"binary");return btoa(r)}else return Buffer.from(n).toString("base64")}static FromBase64(e){const n=this.formatString(e);if(!n)return new ArrayBuffer(0);if(!J.isBase64(n))throw new TypeError("Argument 'base64Text' is not Base64 encoded");return typeof atob<"u"?this.FromBinary(atob(n)):new Uint8Array(Buffer.from(n,"base64")).buffer}static FromBase64Url(e){const n=this.formatString(e);if(!n)return new ArrayBuffer(0);if(!J.isBase64Url(n))throw new TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(n.replace(/\-/g,"+").replace(/\_/g,"/")))}static ToBase64Url(e){return this.ToBase64(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}static FromUtf8String(e,n=J.DEFAULT_UTF8_ENCODING){switch(n){case"ascii":return this.FromBinary(e);case"utf8":return eu.fromString(e);case"utf16":case"utf16be":return xt.fromString(e);case"utf16le":case"usc2":return xt.fromString(e,!0);default:throw new Error(`Unknown type of encoding '${n}'`)}}static ToUtf8String(e,n=J.DEFAULT_UTF8_ENCODING){switch(n){case"ascii":return this.ToBinary(e);case"utf8":return eu.toString(e);case"utf16":case"utf16be":return xt.toString(e);case"utf16le":case"usc2":return xt.toString(e,!0);default:throw new Error(`Unknown type of encoding '${n}'`)}}static FromBinary(e){const n=e.length,r=new Uint8Array(n);for(let i=0;i<n;i++)r[i]=e.charCodeAt(i);return r.buffer}static ToBinary(e){const n=M.toUint8Array(e);let r="";for(let i=0;i<n.length;i++)r+=String.fromCharCode(n[i]);return r}static ToHex(e){const n=M.toUint8Array(e);let r="";const i=n.length;for(let s=0;s<i;s++){const a=n[s];a<16&&(r+="0"),r+=a.toString(16)}return r}static FromHex(e){let n=this.formatString(e);if(!n)return new ArrayBuffer(0);if(!J.isHex(n))throw new TypeError("Argument 'hexString' is not HEX encoded");n.length%2&&(n=`0${n}`);const r=new Uint8Array(n.length/2);for(let i=0;i<n.length;i=i+2){const s=n.slice(i,i+2);r[i/2]=parseInt(s,16)}return r.buffer}static ToUtf16String(e,n=!1){return xt.toString(e,n)}static FromUtf16String(e,n=!1){return xt.fromString(e,n)}static Base64Padding(e){const n=4-e.length%4;if(n<4)for(let r=0;r<n;r++)e+="=";return e}static formatString(e){return(e==null?void 0:e.replace(/[\n\r\t ]/g,""))||""}}J.DEFAULT_UTF8_ENCODING="utf8";function By(...t){const e=t.map(i=>i.byteLength).reduce((i,s)=>i+s),n=new Uint8Array(e);let r=0;return t.map(i=>new Uint8Array(i)).forEach(i=>{for(const s of i)n[r++]=s}),n.buffer}function Wf(t,e){if(!(t&&e)||t.byteLength!==e.byteLength)return!1;const n=new Uint8Array(t),r=new Uint8Array(e);for(let i=0;i<t.byteLength;i++)if(n[i]!==r[i])return!1;return!0}/*!
65
+ */const $y="[object ArrayBuffer]";class M{static isArrayBuffer(e){return Object.prototype.toString.call(e)===$y}static toArrayBuffer(e){return this.isArrayBuffer(e)?e:e.byteLength===e.buffer.byteLength||e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:this.toUint8Array(e.buffer).slice(e.byteOffset,e.byteOffset+e.byteLength).buffer}static toUint8Array(e){return this.toView(e,Uint8Array)}static toView(e,n){if(e.constructor===n)return e;if(this.isArrayBuffer(e))return new n(e);if(this.isArrayBufferView(e))return new n(e.buffer,e.byteOffset,e.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(e){return this.isArrayBufferView(e)||this.isArrayBuffer(e)}static isArrayBufferView(e){return ArrayBuffer.isView(e)||e&&this.isArrayBuffer(e.buffer)}static isEqual(e,n){const r=M.toUint8Array(e),i=M.toUint8Array(n);if(r.length!==i.byteLength)return!1;for(let s=0;s<r.length;s++)if(r[s]!==i[s])return!1;return!0}static concat(...e){let n;Array.isArray(e[0])&&!(e[1]instanceof Function)||Array.isArray(e[0])&&e[1]instanceof Function?n=e[0]:e[e.length-1]instanceof Function?n=e.slice(0,e.length-1):n=e;let r=0;for(const a of n)r+=a.byteLength;const i=new Uint8Array(r);let s=0;for(const a of n){const c=this.toUint8Array(a);i.set(c,s),s+=c.length}return e[e.length-1]instanceof Function?this.toView(i,e[e.length-1]):i.buffer}}const ia="string",Oy=/^[0-9a-f]+$/i,Ty=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,Py=/^[a-zA-Z0-9-_]+$/;class Qd{static fromString(e){const n=unescape(encodeURIComponent(e)),r=new Uint8Array(n.length);for(let i=0;i<n.length;i++)r[i]=n.charCodeAt(i);return r.buffer}static toString(e){const n=M.toUint8Array(e);let r="";for(let s=0;s<n.length;s++)r+=String.fromCharCode(n[s]);return decodeURIComponent(escape(r))}}class xt{static toString(e,n=!1){const r=M.toArrayBuffer(e),i=new DataView(r);let s="";for(let a=0;a<r.byteLength;a+=2){const c=i.getUint16(a,n);s+=String.fromCharCode(c)}return s}static fromString(e,n=!1){const r=new ArrayBuffer(e.length*2),i=new DataView(r);for(let s=0;s<e.length;s++)i.setUint16(s*2,e.charCodeAt(s),n);return r}}class J{static isHex(e){return typeof e===ia&&Oy.test(e)}static isBase64(e){return typeof e===ia&&Ty.test(e)}static isBase64Url(e){return typeof e===ia&&Py.test(e)}static ToString(e,n="utf8"){const r=M.toUint8Array(e);switch(n.toLowerCase()){case"utf8":return this.ToUtf8String(r);case"binary":return this.ToBinary(r);case"hex":return this.ToHex(r);case"base64":return this.ToBase64(r);case"base64url":return this.ToBase64Url(r);case"utf16le":return xt.toString(r,!0);case"utf16":case"utf16be":return xt.toString(r);default:throw new Error(`Unknown type of encoding '${n}'`)}}static FromString(e,n="utf8"){if(!e)return new ArrayBuffer(0);switch(n.toLowerCase()){case"utf8":return this.FromUtf8String(e);case"binary":return this.FromBinary(e);case"hex":return this.FromHex(e);case"base64":return this.FromBase64(e);case"base64url":return this.FromBase64Url(e);case"utf16le":return xt.fromString(e,!0);case"utf16":case"utf16be":return xt.fromString(e);default:throw new Error(`Unknown type of encoding '${n}'`)}}static ToBase64(e){const n=M.toUint8Array(e);if(typeof btoa<"u"){const r=this.ToString(n,"binary");return btoa(r)}else return Buffer.from(n).toString("base64")}static FromBase64(e){const n=this.formatString(e);if(!n)return new ArrayBuffer(0);if(!J.isBase64(n))throw new TypeError("Argument 'base64Text' is not Base64 encoded");return typeof atob<"u"?this.FromBinary(atob(n)):new Uint8Array(Buffer.from(n,"base64")).buffer}static FromBase64Url(e){const n=this.formatString(e);if(!n)return new ArrayBuffer(0);if(!J.isBase64Url(n))throw new TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(n.replace(/\-/g,"+").replace(/\_/g,"/")))}static ToBase64Url(e){return this.ToBase64(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}static FromUtf8String(e,n=J.DEFAULT_UTF8_ENCODING){switch(n){case"ascii":return this.FromBinary(e);case"utf8":return Qd.fromString(e);case"utf16":case"utf16be":return xt.fromString(e);case"utf16le":case"usc2":return xt.fromString(e,!0);default:throw new Error(`Unknown type of encoding '${n}'`)}}static ToUtf8String(e,n=J.DEFAULT_UTF8_ENCODING){switch(n){case"ascii":return this.ToBinary(e);case"utf8":return Qd.toString(e);case"utf16":case"utf16be":return xt.toString(e);case"utf16le":case"usc2":return xt.toString(e,!0);default:throw new Error(`Unknown type of encoding '${n}'`)}}static FromBinary(e){const n=e.length,r=new Uint8Array(n);for(let i=0;i<n;i++)r[i]=e.charCodeAt(i);return r.buffer}static ToBinary(e){const n=M.toUint8Array(e);let r="";for(let i=0;i<n.length;i++)r+=String.fromCharCode(n[i]);return r}static ToHex(e){const n=M.toUint8Array(e);let r="";const i=n.length;for(let s=0;s<i;s++){const a=n[s];a<16&&(r+="0"),r+=a.toString(16)}return r}static FromHex(e){let n=this.formatString(e);if(!n)return new ArrayBuffer(0);if(!J.isHex(n))throw new TypeError("Argument 'hexString' is not HEX encoded");n.length%2&&(n=`0${n}`);const r=new Uint8Array(n.length/2);for(let i=0;i<n.length;i=i+2){const s=n.slice(i,i+2);r[i/2]=parseInt(s,16)}return r.buffer}static ToUtf16String(e,n=!1){return xt.toString(e,n)}static FromUtf16String(e,n=!1){return xt.fromString(e,n)}static Base64Padding(e){const n=4-e.length%4;if(n<4)for(let r=0;r<n;r++)e+="=";return e}static formatString(e){return(e==null?void 0:e.replace(/[\n\r\t ]/g,""))||""}}J.DEFAULT_UTF8_ENCODING="utf8";function By(...t){const e=t.map(i=>i.byteLength).reduce((i,s)=>i+s),n=new Uint8Array(e);let r=0;return t.map(i=>new Uint8Array(i)).forEach(i=>{for(const s of i)n[r++]=s}),n.buffer}function Kf(t,e){if(!(t&&e)||t.byteLength!==e.byteLength)return!1;const n=new Uint8Array(t),r=new Uint8Array(e);for(let i=0;i<t.byteLength;i++)if(n[i]!==r[i])return!1;return!0}/*!
66
66
  Copyright (c) Peculiar Ventures, LLC
67
- */function er(t,e){let n=0;if(t.length===1)return t[0];for(let r=t.length-1;r>=0;r--)n+=t[t.length-1-r]*Math.pow(2,e*r);return n}function kn(t,e,n=-1){const r=n;let i=t,s=0,a=Math.pow(2,e);for(let c=1;c<8;c++){if(t<a){let l;if(r<0)l=new ArrayBuffer(c),s=c;else{if(r<c)return new ArrayBuffer(0);l=new ArrayBuffer(r),s=r}const d=new Uint8Array(l);for(let p=c-1;p>=0;p--){const f=Math.pow(2,p*e);d[s-p-1]=Math.floor(i/f),i-=d[s-p-1]*f}return l}a*=Math.pow(2,e)}return new ArrayBuffer(0)}function Ta(...t){let e=0,n=0;for(const s of t)e+=s.length;const r=new ArrayBuffer(e),i=new Uint8Array(r);for(const s of t)i.set(s,n),n+=s.length;return i}function Gf(){const t=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){const c=t[0]===255&&t[1]&128,l=t[0]===0&&(t[1]&128)===0;(c||l)&&this.warnings.push("Needlessly long format")}const e=new ArrayBuffer(this.valueHex.byteLength),n=new Uint8Array(e);for(let c=0;c<this.valueHex.byteLength;c++)n[c]=0;n[0]=t[0]&128;const r=er(n,8),i=new ArrayBuffer(this.valueHex.byteLength),s=new Uint8Array(i);for(let c=0;c<this.valueHex.byteLength;c++)s[c]=t[c];return s[0]&=127,er(s,8)-r}function Ry(t){const e=t<0?t*-1:t;let n=128;for(let r=1;r<8;r++){if(e<=n){if(t<0){const a=n-e,c=kn(a,8,r),l=new Uint8Array(c);return l[0]|=128,c}let i=kn(e,8,r),s=new Uint8Array(i);if(s[0]&128){const a=i.slice(0),c=new Uint8Array(a);i=new ArrayBuffer(i.byteLength+1),s=new Uint8Array(i);for(let l=0;l<a.byteLength;l++)s[l+1]=c[l];s[0]=0}return i}n*=Math.pow(2,8)}return new ArrayBuffer(0)}function Ly(t,e){if(t.byteLength!==e.byteLength)return!1;const n=new Uint8Array(t),r=new Uint8Array(e);for(let i=0;i<n.length;i++)if(n[i]!==r[i])return!1;return!0}function Qe(t,e){const n=t.toString(10);if(e<n.length)return"";const r=e-n.length,i=new Array(r);for(let a=0;a<r;a++)i[a]="0";return i.join("").concat(n)}/*!
67
+ */function er(t,e){let n=0;if(t.length===1)return t[0];for(let r=t.length-1;r>=0;r--)n+=t[t.length-1-r]*Math.pow(2,e*r);return n}function kn(t,e,n=-1){const r=n;let i=t,s=0,a=Math.pow(2,e);for(let c=1;c<8;c++){if(t<a){let l;if(r<0)l=new ArrayBuffer(c),s=c;else{if(r<c)return new ArrayBuffer(0);l=new ArrayBuffer(r),s=r}const d=new Uint8Array(l);for(let p=c-1;p>=0;p--){const f=Math.pow(2,p*e);d[s-p-1]=Math.floor(i/f),i-=d[s-p-1]*f}return l}a*=Math.pow(2,e)}return new ArrayBuffer(0)}function Oa(...t){let e=0,n=0;for(const s of t)e+=s.length;const r=new ArrayBuffer(e),i=new Uint8Array(r);for(const s of t)i.set(s,n),n+=s.length;return i}function Wf(){const t=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){const c=t[0]===255&&t[1]&128,l=t[0]===0&&(t[1]&128)===0;(c||l)&&this.warnings.push("Needlessly long format")}const e=new ArrayBuffer(this.valueHex.byteLength),n=new Uint8Array(e);for(let c=0;c<this.valueHex.byteLength;c++)n[c]=0;n[0]=t[0]&128;const r=er(n,8),i=new ArrayBuffer(this.valueHex.byteLength),s=new Uint8Array(i);for(let c=0;c<this.valueHex.byteLength;c++)s[c]=t[c];return s[0]&=127,er(s,8)-r}function Ry(t){const e=t<0?t*-1:t;let n=128;for(let r=1;r<8;r++){if(e<=n){if(t<0){const a=n-e,c=kn(a,8,r),l=new Uint8Array(c);return l[0]|=128,c}let i=kn(e,8,r),s=new Uint8Array(i);if(s[0]&128){const a=i.slice(0),c=new Uint8Array(a);i=new ArrayBuffer(i.byteLength+1),s=new Uint8Array(i);for(let l=0;l<a.byteLength;l++)s[l+1]=c[l];s[0]=0}return i}n*=Math.pow(2,8)}return new ArrayBuffer(0)}function Ly(t,e){if(t.byteLength!==e.byteLength)return!1;const n=new Uint8Array(t),r=new Uint8Array(e);for(let i=0;i<n.length;i++)if(n[i]!==r[i])return!1;return!0}function Qe(t,e){const n=t.toString(10);if(e<n.length)return"";const r=e-n.length,i=new Array(r);for(let a=0;a<r;a++)i[a]="0";return i.join("").concat(n)}/*!
68
68
  * Copyright (c) 2014, GMO GlobalSign
69
69
  * Copyright (c) 2015-2022, Peculiar Ventures
70
70
  * All rights reserved.
@@ -96,11 +96,11 @@ and limitations under the License.
96
96
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
97
97
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
98
98
  *
99
- */function us(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function ml(t){let e=0,n=0;for(let i=0;i<t.length;i++){const s=t[i];e+=s.byteLength}const r=new Uint8Array(e);for(let i=0;i<t.length;i++){const s=t[i];r.set(new Uint8Array(s),n),n+=s.byteLength}return r.buffer}function Ht(t,e,n,r){return e instanceof Uint8Array?e.byteLength?n<0?(t.error="Wrong parameter: inputOffset less than zero",!1):r<0?(t.error="Wrong parameter: inputLength less than zero",!1):e.byteLength-n-r<0?(t.error="End of input reached before message was fully decoded (inconsistent offset and length values)",!1):!0:(t.error="Wrong parameter: inputBuffer has zero length",!1):(t.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}class oo{constructor(){this.items=[]}write(e){this.items.push(e)}final(){return ml(this.items)}}const Nr=[new Uint8Array([1])],tu="0123456789",oa="name",nu="valueHexView",Uy="isHexOnly",Vy="idBlock",qy="tagClass",My="tagNumber",Dy="isConstructed",Hy="fromBER",Fy="toBER",Ky="local",Ke="",wt=new ArrayBuffer(0),ao=new Uint8Array(0),Dr="EndOfContent",Jf="OCTET STRING",Zf="BIT STRING";function Nt(t){var e;return e=class extends t{constructor(...r){var i;super(...r);const s=r[0]||{};this.isHexOnly=(i=s.isHexOnly)!==null&&i!==void 0?i:!1,this.valueHexView=s.valueHex?M.toUint8Array(s.valueHex):ao}get valueHex(){return this.valueHexView.slice().buffer}set valueHex(r){this.valueHexView=new Uint8Array(r)}fromBER(r,i,s){const a=r instanceof ArrayBuffer?new Uint8Array(r):r;if(!Ht(this,a,i,s))return-1;const c=i+s;return this.valueHexView=a.subarray(i,c),this.valueHexView.length?(this.blockLength=s,c):(this.warnings.push("Zero buffer length"),i)}toBER(r=!1){return this.isHexOnly?r?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.byteLength===this.valueHexView.buffer.byteLength?this.valueHexView.buffer:this.valueHexView.slice().buffer:(this.error="Flag 'isHexOnly' is not set, abort",wt)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:J.ToHex(this.valueHexView)}}},e.NAME="hexBlock",e}class Bn{constructor({blockLength:e=0,error:n=Ke,warnings:r=[],valueBeforeDecode:i=ao}={}){this.blockLength=e,this.error=n,this.warnings=r,this.valueBeforeDecodeView=M.toUint8Array(i)}static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(e){this.valueBeforeDecodeView=new Uint8Array(e)}toJSON(){return{blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:J.ToHex(this.valueBeforeDecodeView)}}}Bn.NAME="baseBlock";class De extends Bn{fromBER(e,n,r){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(e,n){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}}De.NAME="valueBlock";class Yf extends Nt(Bn){constructor({idBlock:e={}}={}){var n,r,i,s;super(),e?(this.isHexOnly=(n=e.isHexOnly)!==null&&n!==void 0?n:!1,this.valueHexView=e.valueHex?M.toUint8Array(e.valueHex):ao,this.tagClass=(r=e.tagClass)!==null&&r!==void 0?r:-1,this.tagNumber=(i=e.tagNumber)!==null&&i!==void 0?i:-1,this.isConstructed=(s=e.isConstructed)!==null&&s!==void 0?s:!1):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1)}toBER(e=!1){let n=0;switch(this.tagClass){case 1:n|=0;break;case 2:n|=64;break;case 3:n|=128;break;case 4:n|=192;break;default:return this.error="Unknown tag class",wt}if(this.isConstructed&&(n|=32),this.tagNumber<31&&!this.isHexOnly){const i=new Uint8Array(1);if(!e){let s=this.tagNumber;s&=31,n|=s,i[0]=n}return i.buffer}if(!this.isHexOnly){const i=kn(this.tagNumber,7),s=new Uint8Array(i),a=i.byteLength,c=new Uint8Array(a+1);if(c[0]=n|31,!e){for(let l=0;l<a-1;l++)c[l+1]=s[l]|128;c[a]=s[a-1]}return c.buffer}const r=new Uint8Array(this.valueHexView.byteLength+1);if(r[0]=n|31,!e){const i=this.valueHexView;for(let s=0;s<i.length-1;s++)r[s+1]=i[s]|128;r[this.valueHexView.byteLength]=i[i.length-1]}return r.buffer}fromBER(e,n,r){const i=M.toUint8Array(e);if(!Ht(this,i,n,r))return-1;const s=i.subarray(n,n+r);if(s.length===0)return this.error="Zero buffer length",-1;switch(s[0]&192){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=(s[0]&32)===32,this.isHexOnly=!1;const c=s[0]&31;if(c!==31)this.tagNumber=c,this.blockLength=1;else{let l=1,d=this.valueHexView=new Uint8Array(255),p=255;for(;s[l]&128;){if(d[l-1]=s[l]&127,l++,l>=s.length)return this.error="End of input reached before message was fully decoded",-1;if(l===p){p+=255;const m=new Uint8Array(p);for(let w=0;w<d.length;w++)m[w]=d[w];d=this.valueHexView=new Uint8Array(p)}}this.blockLength=l+1,d[l-1]=s[l]&127;const f=new Uint8Array(l);for(let m=0;m<l;m++)f[m]=d[m];d=this.valueHexView=new Uint8Array(l),d.set(f),this.blockLength<=9?this.tagNumber=er(d,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"))}if(this.tagClass===1&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return n+this.blockLength}toJSON(){return{...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}}Yf.NAME="identificationBlock";class Xf extends Bn{constructor({lenBlock:e={}}={}){var n,r,i;super(),this.isIndefiniteForm=(n=e.isIndefiniteForm)!==null&&n!==void 0?n:!1,this.longFormUsed=(r=e.longFormUsed)!==null&&r!==void 0?r:!1,this.length=(i=e.length)!==null&&i!==void 0?i:0}fromBER(e,n,r){const i=M.toUint8Array(e);if(!Ht(this,i,n,r))return-1;const s=i.subarray(n,n+r);if(s.length===0)return this.error="Zero buffer length",-1;if(s[0]===255)return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=s[0]===128,this.isIndefiniteForm)return this.blockLength=1,n+this.blockLength;if(this.longFormUsed=!!(s[0]&128),this.longFormUsed===!1)return this.length=s[0],this.blockLength=1,n+this.blockLength;const a=s[0]&127;if(a>8)return this.error="Too big integer",-1;if(a+1>s.length)return this.error="End of input reached before message was fully decoded",-1;const c=n+1,l=i.subarray(c,c+a);return l[a-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=er(l,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=a+1,n+this.blockLength}toBER(e=!1){let n,r;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return n=new ArrayBuffer(1),e===!1&&(r=new Uint8Array(n),r[0]=128),n;if(this.longFormUsed){const i=kn(this.length,8);if(i.byteLength>127)return this.error="Too big length",wt;if(n=new ArrayBuffer(i.byteLength+1),e)return n;const s=new Uint8Array(i);r=new Uint8Array(n),r[0]=i.byteLength|128;for(let a=0;a<i.byteLength;a++)r[a+1]=s[a];return n}return n=new ArrayBuffer(1),e===!1&&(r=new Uint8Array(n),r[0]=this.length),n}toJSON(){return{...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}}Xf.NAME="lengthBlock";const K={};class Te extends Bn{constructor({name:e=Ke,optional:n=!1,primitiveSchema:r,...i}={},s){super(i),this.name=e,this.optional=n,r&&(this.primitiveSchema=r),this.idBlock=new Yf(i),this.lenBlock=new Xf(i),this.valueBlock=s?new s(i):new De(i)}fromBER(e,n,r){const i=this.valueBlock.fromBER(e,n,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return i===-1?(this.error=this.valueBlock.error,i):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),i)}toBER(e,n){const r=n||new oo;n||Qf(this);const i=this.idBlock.toBER(e);if(r.write(i),this.lenBlock.isIndefiniteForm)r.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(e,r),r.write(new ArrayBuffer(2));else{const s=this.valueBlock.toBER(e);this.lenBlock.length=s.byteLength;const a=this.lenBlock.toBER(e);r.write(a),r.write(s)}return n?wt:r.final()}toJSON(){const e={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(e.primitiveSchema=this.primitiveSchema.toJSON()),e}toString(e="ascii"){return e==="ascii"?this.onAsciiEncoding():J.ToHex(this.toBER())}onAsciiEncoding(){return`${this.constructor.NAME} : ${J.ToHex(this.valueBlock.valueBeforeDecodeView)}`}isEqual(e){if(this===e)return!0;if(!(e instanceof this.constructor))return!1;const n=this.toBER(),r=e.toBER();return Ly(n,r)}}Te.NAME="BaseBlock";function Qf(t){if(t instanceof K.Constructed)for(const e of t.valueBlock.value)Qf(e)&&(t.lenBlock.isIndefiniteForm=!0);return!!t.lenBlock.isIndefiniteForm}class _l extends Te{constructor({value:e=Ke,...n}={},r){super(n,r),e&&this.fromString(e)}getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e}fromBER(e,n,r){const i=this.valueBlock.fromBER(e,n,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return i===-1?(this.error=this.valueBlock.error,i):(this.fromBuffer(this.valueBlock.valueHexView),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),i)}onAsciiEncoding(){return`${this.constructor.NAME} : '${this.valueBlock.value}'`}}_l.NAME="BaseStringBlock";class eh extends Nt(De){constructor({isHexOnly:e=!0,...n}={}){super(n),this.isHexOnly=e}}eh.NAME="PrimitiveValueBlock";var th;class ai extends Te{constructor(e={}){super(e,eh),this.idBlock.isConstructed=!1}}th=ai;K.Primitive=th;ai.NAME="PRIMITIVE";function Wy(t,e){if(t instanceof e)return t;const n=new e;return n.idBlock=t.idBlock,n.lenBlock=t.lenBlock,n.warnings=t.warnings,n.valueBeforeDecodeView=t.valueBeforeDecodeView,n}function gr(t,e=0,n=t.length){const r=e;let i=new Te({},De);const s=new Bn;if(!Ht(s,t,e,n))return i.error=s.error,{offset:-1,result:i};if(!t.subarray(e,e+n).length)return i.error="Zero buffer length",{offset:-1,result:i};let c=i.idBlock.fromBER(t,e,n);if(i.idBlock.warnings.length&&i.warnings.concat(i.idBlock.warnings),c===-1)return i.error=i.idBlock.error,{offset:-1,result:i};if(e=c,n-=i.idBlock.blockLength,c=i.lenBlock.fromBER(t,e,n),i.lenBlock.warnings.length&&i.warnings.concat(i.lenBlock.warnings),c===-1)return i.error=i.lenBlock.error,{offset:-1,result:i};if(e=c,n-=i.lenBlock.blockLength,!i.idBlock.isConstructed&&i.lenBlock.isIndefiniteForm)return i.error="Indefinite length form used for primitive encoding form",{offset:-1,result:i};let l=Te;switch(i.idBlock.tagClass){case 1:if(i.idBlock.tagNumber>=37&&i.idBlock.isHexOnly===!1)return i.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:i};switch(i.idBlock.tagNumber){case 0:if(i.idBlock.isConstructed&&i.lenBlock.length>0)return i.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:i};l=K.EndOfContent;break;case 1:l=K.Boolean;break;case 2:l=K.Integer;break;case 3:l=K.BitString;break;case 4:l=K.OctetString;break;case 5:l=K.Null;break;case 6:l=K.ObjectIdentifier;break;case 10:l=K.Enumerated;break;case 12:l=K.Utf8String;break;case 13:l=K.RelativeObjectIdentifier;break;case 14:l=K.TIME;break;case 15:return i.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:i};case 16:l=K.Sequence;break;case 17:l=K.Set;break;case 18:l=K.NumericString;break;case 19:l=K.PrintableString;break;case 20:l=K.TeletexString;break;case 21:l=K.VideotexString;break;case 22:l=K.IA5String;break;case 23:l=K.UTCTime;break;case 24:l=K.GeneralizedTime;break;case 25:l=K.GraphicString;break;case 26:l=K.VisibleString;break;case 27:l=K.GeneralString;break;case 28:l=K.UniversalString;break;case 29:l=K.CharacterString;break;case 30:l=K.BmpString;break;case 31:l=K.DATE;break;case 32:l=K.TimeOfDay;break;case 33:l=K.DateTime;break;case 34:l=K.Duration;break;default:{const d=i.idBlock.isConstructed?new K.Constructed:new K.Primitive;d.idBlock=i.idBlock,d.lenBlock=i.lenBlock,d.warnings=i.warnings,i=d}}break;case 2:case 3:case 4:default:l=i.idBlock.isConstructed?K.Constructed:K.Primitive}return i=Wy(i,l),c=i.fromBER(t,e,i.lenBlock.isIndefiniteForm?n:i.lenBlock.length),i.valueBeforeDecodeView=t.subarray(r,r+i.blockLength),{offset:c,result:i}}function Zn(t){if(!t.byteLength){const e=new Te({},De);return e.error="Input buffer has zero length",{offset:-1,result:e}}return gr(M.toUint8Array(t).slice(),0,t.byteLength)}function Gy(t,e){return t?1:e}class Xt extends De{constructor({value:e=[],isIndefiniteForm:n=!1,...r}={}){super(r),this.value=e,this.isIndefiniteForm=n}fromBER(e,n,r){const i=M.toUint8Array(e);if(!Ht(this,i,n,r))return-1;if(this.valueBeforeDecodeView=i.subarray(n,n+r),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),n;let s=n;for(;Gy(this.isIndefiniteForm,r)>0;){const a=gr(i,s,r);if(a.offset===-1)return this.error=a.result.error,this.warnings.concat(a.result.warnings),-1;if(s=a.offset,this.blockLength+=a.result.blockLength,r-=a.result.blockLength,this.value.push(a.result),this.isIndefiniteForm&&a.result.constructor.NAME===Dr)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===Dr?this.value.pop():this.warnings.push("No EndOfContent block encoded")),s}toBER(e,n){const r=n||new oo;for(let i=0;i<this.value.length;i++)this.value[i].toBER(e,r);return n?wt:r.final()}toJSON(){const e={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(const n of this.value)e.value.push(n.toJSON());return e}}Xt.NAME="ConstructedValueBlock";var nh;class We extends Te{constructor(e={}){super(e,Xt),this.idBlock.isConstructed=!0}fromBER(e,n,r){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;const i=this.valueBlock.fromBER(e,n,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return i===-1?(this.error=this.valueBlock.error,i):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),i)}onAsciiEncoding(){const e=[];for(const r of this.valueBlock.value)e.push(r.toString("ascii").split(`
99
+ */function us(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function gl(t){let e=0,n=0;for(let i=0;i<t.length;i++){const s=t[i];e+=s.byteLength}const r=new Uint8Array(e);for(let i=0;i<t.length;i++){const s=t[i];r.set(new Uint8Array(s),n),n+=s.byteLength}return r.buffer}function Ft(t,e,n,r){return e instanceof Uint8Array?e.byteLength?n<0?(t.error="Wrong parameter: inputOffset less than zero",!1):r<0?(t.error="Wrong parameter: inputLength less than zero",!1):e.byteLength-n-r<0?(t.error="End of input reached before message was fully decoded (inconsistent offset and length values)",!1):!0:(t.error="Wrong parameter: inputBuffer has zero length",!1):(t.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}class oo{constructor(){this.items=[]}write(e){this.items.push(e)}final(){return gl(this.items)}}const Nr=[new Uint8Array([1])],eu="0123456789",sa="name",tu="valueHexView",Uy="isHexOnly",Vy="idBlock",qy="tagClass",My="tagNumber",Dy="isConstructed",Hy="fromBER",Fy="toBER",Ky="local",Ke="",wt=new ArrayBuffer(0),ao=new Uint8Array(0),Dr="EndOfContent",Gf="OCTET STRING",Jf="BIT STRING";function Nt(t){var e;return e=class extends t{constructor(...r){var i;super(...r);const s=r[0]||{};this.isHexOnly=(i=s.isHexOnly)!==null&&i!==void 0?i:!1,this.valueHexView=s.valueHex?M.toUint8Array(s.valueHex):ao}get valueHex(){return this.valueHexView.slice().buffer}set valueHex(r){this.valueHexView=new Uint8Array(r)}fromBER(r,i,s){const a=r instanceof ArrayBuffer?new Uint8Array(r):r;if(!Ft(this,a,i,s))return-1;const c=i+s;return this.valueHexView=a.subarray(i,c),this.valueHexView.length?(this.blockLength=s,c):(this.warnings.push("Zero buffer length"),i)}toBER(r=!1){return this.isHexOnly?r?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.byteLength===this.valueHexView.buffer.byteLength?this.valueHexView.buffer:this.valueHexView.slice().buffer:(this.error="Flag 'isHexOnly' is not set, abort",wt)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:J.ToHex(this.valueHexView)}}},e.NAME="hexBlock",e}class Bn{constructor({blockLength:e=0,error:n=Ke,warnings:r=[],valueBeforeDecode:i=ao}={}){this.blockLength=e,this.error=n,this.warnings=r,this.valueBeforeDecodeView=M.toUint8Array(i)}static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(e){this.valueBeforeDecodeView=new Uint8Array(e)}toJSON(){return{blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:J.ToHex(this.valueBeforeDecodeView)}}}Bn.NAME="baseBlock";class De extends Bn{fromBER(e,n,r){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(e,n){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}}De.NAME="valueBlock";class Zf extends Nt(Bn){constructor({idBlock:e={}}={}){var n,r,i,s;super(),e?(this.isHexOnly=(n=e.isHexOnly)!==null&&n!==void 0?n:!1,this.valueHexView=e.valueHex?M.toUint8Array(e.valueHex):ao,this.tagClass=(r=e.tagClass)!==null&&r!==void 0?r:-1,this.tagNumber=(i=e.tagNumber)!==null&&i!==void 0?i:-1,this.isConstructed=(s=e.isConstructed)!==null&&s!==void 0?s:!1):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1)}toBER(e=!1){let n=0;switch(this.tagClass){case 1:n|=0;break;case 2:n|=64;break;case 3:n|=128;break;case 4:n|=192;break;default:return this.error="Unknown tag class",wt}if(this.isConstructed&&(n|=32),this.tagNumber<31&&!this.isHexOnly){const i=new Uint8Array(1);if(!e){let s=this.tagNumber;s&=31,n|=s,i[0]=n}return i.buffer}if(!this.isHexOnly){const i=kn(this.tagNumber,7),s=new Uint8Array(i),a=i.byteLength,c=new Uint8Array(a+1);if(c[0]=n|31,!e){for(let l=0;l<a-1;l++)c[l+1]=s[l]|128;c[a]=s[a-1]}return c.buffer}const r=new Uint8Array(this.valueHexView.byteLength+1);if(r[0]=n|31,!e){const i=this.valueHexView;for(let s=0;s<i.length-1;s++)r[s+1]=i[s]|128;r[this.valueHexView.byteLength]=i[i.length-1]}return r.buffer}fromBER(e,n,r){const i=M.toUint8Array(e);if(!Ft(this,i,n,r))return-1;const s=i.subarray(n,n+r);if(s.length===0)return this.error="Zero buffer length",-1;switch(s[0]&192){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=(s[0]&32)===32,this.isHexOnly=!1;const c=s[0]&31;if(c!==31)this.tagNumber=c,this.blockLength=1;else{let l=1,d=this.valueHexView=new Uint8Array(255),p=255;for(;s[l]&128;){if(d[l-1]=s[l]&127,l++,l>=s.length)return this.error="End of input reached before message was fully decoded",-1;if(l===p){p+=255;const m=new Uint8Array(p);for(let w=0;w<d.length;w++)m[w]=d[w];d=this.valueHexView=new Uint8Array(p)}}this.blockLength=l+1,d[l-1]=s[l]&127;const f=new Uint8Array(l);for(let m=0;m<l;m++)f[m]=d[m];d=this.valueHexView=new Uint8Array(l),d.set(f),this.blockLength<=9?this.tagNumber=er(d,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"))}if(this.tagClass===1&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return n+this.blockLength}toJSON(){return{...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}}Zf.NAME="identificationBlock";class Yf extends Bn{constructor({lenBlock:e={}}={}){var n,r,i;super(),this.isIndefiniteForm=(n=e.isIndefiniteForm)!==null&&n!==void 0?n:!1,this.longFormUsed=(r=e.longFormUsed)!==null&&r!==void 0?r:!1,this.length=(i=e.length)!==null&&i!==void 0?i:0}fromBER(e,n,r){const i=M.toUint8Array(e);if(!Ft(this,i,n,r))return-1;const s=i.subarray(n,n+r);if(s.length===0)return this.error="Zero buffer length",-1;if(s[0]===255)return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=s[0]===128,this.isIndefiniteForm)return this.blockLength=1,n+this.blockLength;if(this.longFormUsed=!!(s[0]&128),this.longFormUsed===!1)return this.length=s[0],this.blockLength=1,n+this.blockLength;const a=s[0]&127;if(a>8)return this.error="Too big integer",-1;if(a+1>s.length)return this.error="End of input reached before message was fully decoded",-1;const c=n+1,l=i.subarray(c,c+a);return l[a-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=er(l,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=a+1,n+this.blockLength}toBER(e=!1){let n,r;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return n=new ArrayBuffer(1),e===!1&&(r=new Uint8Array(n),r[0]=128),n;if(this.longFormUsed){const i=kn(this.length,8);if(i.byteLength>127)return this.error="Too big length",wt;if(n=new ArrayBuffer(i.byteLength+1),e)return n;const s=new Uint8Array(i);r=new Uint8Array(n),r[0]=i.byteLength|128;for(let a=0;a<i.byteLength;a++)r[a+1]=s[a];return n}return n=new ArrayBuffer(1),e===!1&&(r=new Uint8Array(n),r[0]=this.length),n}toJSON(){return{...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}}Yf.NAME="lengthBlock";const K={};class Te extends Bn{constructor({name:e=Ke,optional:n=!1,primitiveSchema:r,...i}={},s){super(i),this.name=e,this.optional=n,r&&(this.primitiveSchema=r),this.idBlock=new Zf(i),this.lenBlock=new Yf(i),this.valueBlock=s?new s(i):new De(i)}fromBER(e,n,r){const i=this.valueBlock.fromBER(e,n,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return i===-1?(this.error=this.valueBlock.error,i):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),i)}toBER(e,n){const r=n||new oo;n||Xf(this);const i=this.idBlock.toBER(e);if(r.write(i),this.lenBlock.isIndefiniteForm)r.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(e,r),r.write(new ArrayBuffer(2));else{const s=this.valueBlock.toBER(e);this.lenBlock.length=s.byteLength;const a=this.lenBlock.toBER(e);r.write(a),r.write(s)}return n?wt:r.final()}toJSON(){const e={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(e.primitiveSchema=this.primitiveSchema.toJSON()),e}toString(e="ascii"){return e==="ascii"?this.onAsciiEncoding():J.ToHex(this.toBER())}onAsciiEncoding(){return`${this.constructor.NAME} : ${J.ToHex(this.valueBlock.valueBeforeDecodeView)}`}isEqual(e){if(this===e)return!0;if(!(e instanceof this.constructor))return!1;const n=this.toBER(),r=e.toBER();return Ly(n,r)}}Te.NAME="BaseBlock";function Xf(t){if(t instanceof K.Constructed)for(const e of t.valueBlock.value)Xf(e)&&(t.lenBlock.isIndefiniteForm=!0);return!!t.lenBlock.isIndefiniteForm}class ml extends Te{constructor({value:e=Ke,...n}={},r){super(n,r),e&&this.fromString(e)}getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e}fromBER(e,n,r){const i=this.valueBlock.fromBER(e,n,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return i===-1?(this.error=this.valueBlock.error,i):(this.fromBuffer(this.valueBlock.valueHexView),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),i)}onAsciiEncoding(){return`${this.constructor.NAME} : '${this.valueBlock.value}'`}}ml.NAME="BaseStringBlock";class Qf extends Nt(De){constructor({isHexOnly:e=!0,...n}={}){super(n),this.isHexOnly=e}}Qf.NAME="PrimitiveValueBlock";var eh;class ai extends Te{constructor(e={}){super(e,Qf),this.idBlock.isConstructed=!1}}eh=ai;K.Primitive=eh;ai.NAME="PRIMITIVE";function Wy(t,e){if(t instanceof e)return t;const n=new e;return n.idBlock=t.idBlock,n.lenBlock=t.lenBlock,n.warnings=t.warnings,n.valueBeforeDecodeView=t.valueBeforeDecodeView,n}function gr(t,e=0,n=t.length){const r=e;let i=new Te({},De);const s=new Bn;if(!Ft(s,t,e,n))return i.error=s.error,{offset:-1,result:i};if(!t.subarray(e,e+n).length)return i.error="Zero buffer length",{offset:-1,result:i};let c=i.idBlock.fromBER(t,e,n);if(i.idBlock.warnings.length&&i.warnings.concat(i.idBlock.warnings),c===-1)return i.error=i.idBlock.error,{offset:-1,result:i};if(e=c,n-=i.idBlock.blockLength,c=i.lenBlock.fromBER(t,e,n),i.lenBlock.warnings.length&&i.warnings.concat(i.lenBlock.warnings),c===-1)return i.error=i.lenBlock.error,{offset:-1,result:i};if(e=c,n-=i.lenBlock.blockLength,!i.idBlock.isConstructed&&i.lenBlock.isIndefiniteForm)return i.error="Indefinite length form used for primitive encoding form",{offset:-1,result:i};let l=Te;switch(i.idBlock.tagClass){case 1:if(i.idBlock.tagNumber>=37&&i.idBlock.isHexOnly===!1)return i.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:i};switch(i.idBlock.tagNumber){case 0:if(i.idBlock.isConstructed&&i.lenBlock.length>0)return i.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:i};l=K.EndOfContent;break;case 1:l=K.Boolean;break;case 2:l=K.Integer;break;case 3:l=K.BitString;break;case 4:l=K.OctetString;break;case 5:l=K.Null;break;case 6:l=K.ObjectIdentifier;break;case 10:l=K.Enumerated;break;case 12:l=K.Utf8String;break;case 13:l=K.RelativeObjectIdentifier;break;case 14:l=K.TIME;break;case 15:return i.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:i};case 16:l=K.Sequence;break;case 17:l=K.Set;break;case 18:l=K.NumericString;break;case 19:l=K.PrintableString;break;case 20:l=K.TeletexString;break;case 21:l=K.VideotexString;break;case 22:l=K.IA5String;break;case 23:l=K.UTCTime;break;case 24:l=K.GeneralizedTime;break;case 25:l=K.GraphicString;break;case 26:l=K.VisibleString;break;case 27:l=K.GeneralString;break;case 28:l=K.UniversalString;break;case 29:l=K.CharacterString;break;case 30:l=K.BmpString;break;case 31:l=K.DATE;break;case 32:l=K.TimeOfDay;break;case 33:l=K.DateTime;break;case 34:l=K.Duration;break;default:{const d=i.idBlock.isConstructed?new K.Constructed:new K.Primitive;d.idBlock=i.idBlock,d.lenBlock=i.lenBlock,d.warnings=i.warnings,i=d}}break;case 2:case 3:case 4:default:l=i.idBlock.isConstructed?K.Constructed:K.Primitive}return i=Wy(i,l),c=i.fromBER(t,e,i.lenBlock.isIndefiniteForm?n:i.lenBlock.length),i.valueBeforeDecodeView=t.subarray(r,r+i.blockLength),{offset:c,result:i}}function Zn(t){if(!t.byteLength){const e=new Te({},De);return e.error="Input buffer has zero length",{offset:-1,result:e}}return gr(M.toUint8Array(t).slice(),0,t.byteLength)}function Gy(t,e){return t?1:e}class Qt extends De{constructor({value:e=[],isIndefiniteForm:n=!1,...r}={}){super(r),this.value=e,this.isIndefiniteForm=n}fromBER(e,n,r){const i=M.toUint8Array(e);if(!Ft(this,i,n,r))return-1;if(this.valueBeforeDecodeView=i.subarray(n,n+r),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),n;let s=n;for(;Gy(this.isIndefiniteForm,r)>0;){const a=gr(i,s,r);if(a.offset===-1)return this.error=a.result.error,this.warnings.concat(a.result.warnings),-1;if(s=a.offset,this.blockLength+=a.result.blockLength,r-=a.result.blockLength,this.value.push(a.result),this.isIndefiniteForm&&a.result.constructor.NAME===Dr)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===Dr?this.value.pop():this.warnings.push("No EndOfContent block encoded")),s}toBER(e,n){const r=n||new oo;for(let i=0;i<this.value.length;i++)this.value[i].toBER(e,r);return n?wt:r.final()}toJSON(){const e={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(const n of this.value)e.value.push(n.toJSON());return e}}Qt.NAME="ConstructedValueBlock";var th;class We extends Te{constructor(e={}){super(e,Qt),this.idBlock.isConstructed=!0}fromBER(e,n,r){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;const i=this.valueBlock.fromBER(e,n,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return i===-1?(this.error=this.valueBlock.error,i):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),i)}onAsciiEncoding(){const e=[];for(const r of this.valueBlock.value)e.push(r.toString("ascii").split(`
100
100
  `).map(i=>` ${i}`).join(`
101
101
  `));const n=this.idBlock.tagClass===3?`[${this.idBlock.tagNumber}]`:this.constructor.NAME;return e.length?`${n} :
102
102
  ${e.join(`
103
- `)}`:`${n} :`}}nh=We;K.Constructed=nh;We.NAME="CONSTRUCTED";class rh extends De{fromBER(e,n,r){return n}toBER(e){return wt}}rh.override="EndOfContentValueBlock";var ih;class yl extends Te{constructor(e={}){super(e,rh),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}}ih=yl;K.EndOfContent=ih;yl.NAME=Dr;var sh;class Sn extends Te{constructor(e={}){super(e,De),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(e,n,r){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=r,n+r>e.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):n+r}toBER(e,n){const r=new ArrayBuffer(2);if(!e){const i=new Uint8Array(r);i[0]=5,i[1]=0}return n&&n.write(r),r}onAsciiEncoding(){return`${this.constructor.NAME}`}}sh=Sn;K.Null=sh;Sn.NAME="NULL";class oh extends Nt(De){constructor({value:e,...n}={}){super(n),n.valueHex?this.valueHexView=M.toUint8Array(n.valueHex):this.valueHexView=new Uint8Array(1),e&&(this.value=e)}get value(){for(const e of this.valueHexView)if(e>0)return!0;return!1}set value(e){this.valueHexView[0]=e?255:0}fromBER(e,n,r){const i=M.toUint8Array(e);return Ht(this,i,n,r)?(this.valueHexView=i.subarray(n,n+r),r>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,Gf.call(this),this.blockLength=r,n+r):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}}oh.NAME="BooleanValueBlock";var ah;class co extends Te{constructor(e={}){super(e,oh),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.getValue}`}}ah=co;K.Boolean=ah;co.NAME="BOOLEAN";class ch extends Nt(Xt){constructor({isConstructed:e=!1,...n}={}){super(n),this.isConstructed=e}fromBER(e,n,r){let i=0;if(this.isConstructed){if(this.isHexOnly=!1,i=Xt.prototype.fromBER.call(this,e,n,r),i===-1)return i;for(let s=0;s<this.value.length;s++){const a=this.value[s].constructor.NAME;if(a===Dr){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(a!==Jf)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,i=super.fromBER(e,n,r),this.blockLength=r;return i}toBER(e,n){return this.isConstructed?Xt.prototype.toBER.call(this,e,n):e?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}}ch.NAME="OctetStringValueBlock";var lh;let bn=class dh extends Te{constructor({idBlock:e={},lenBlock:n={},...r}={}){var i,s;(i=r.isConstructed)!==null&&i!==void 0||(r.isConstructed=!!(!((s=r.value)===null||s===void 0)&&s.length)),super({idBlock:{isConstructed:r.isConstructed,...e},lenBlock:{...n,isIndefiniteForm:!!r.isIndefiniteForm},...r},ch),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(e,n,r){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,r===0)return this.idBlock.error.length===0&&(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length===0&&(this.blockLength+=this.lenBlock.blockLength),n;if(!this.valueBlock.isConstructed){const s=(e instanceof ArrayBuffer?new Uint8Array(e):e).subarray(n,n+r);try{if(s.byteLength){const a=gr(s,0,s.byteLength);a.offset!==-1&&a.offset===r&&(this.valueBlock.value=[a.result])}}catch{}}return super.fromBER(e,n,r)}onAsciiEncoding(){return this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length?We.prototype.onAsciiEncoding.call(this):`${this.constructor.NAME} : ${J.ToHex(this.valueBlock.valueHexView)}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;const e=[];for(const n of this.valueBlock.value)n instanceof dh&&e.push(n.valueBlock.valueHexView);return M.concat(e)}};lh=bn;K.OctetString=lh;bn.NAME=Jf;class uh extends Nt(Xt){constructor({unusedBits:e=0,isConstructed:n=!1,...r}={}){super(r),this.unusedBits=e,this.isConstructed=n,this.blockLength=this.valueHexView.byteLength}fromBER(e,n,r){if(!r)return n;let i=-1;if(this.isConstructed){if(i=Xt.prototype.fromBER.call(this,e,n,r),i===-1)return i;for(const c of this.value){const l=c.constructor.NAME;if(l===Dr){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(l!==Zf)return this.error="BIT STRING may consists of BIT STRINGs only",-1;const d=c.valueBlock;if(this.unusedBits>0&&d.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=d.unusedBits}return i}const s=M.toUint8Array(e);if(!Ht(this,s,n,r))return-1;const a=s.subarray(n,n+r);if(this.unusedBits=a[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){const c=a.subarray(1);try{if(c.byteLength){const l=gr(c,0,c.byteLength);l.offset!==-1&&l.offset===r-1&&(this.value=[l.result])}}catch{}}return this.valueHexView=a.subarray(1),this.blockLength=a.length,n+r}toBER(e,n){if(this.isConstructed)return Xt.prototype.toBER.call(this,e,n);if(e)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return wt;const r=new Uint8Array(this.valueHexView.length+1);return r[0]=this.unusedBits,r.set(this.valueHexView,1),r.buffer}toJSON(){return{...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}}uh.NAME="BitStringValueBlock";var ph;let xn=class extends Te{constructor({idBlock:e={},lenBlock:n={},...r}={}){var i,s;(i=r.isConstructed)!==null&&i!==void 0||(r.isConstructed=!!(!((s=r.value)===null||s===void 0)&&s.length)),super({idBlock:{isConstructed:r.isConstructed,...e},lenBlock:{...n,isIndefiniteForm:!!r.isIndefiniteForm},...r},uh),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(e,n,r){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(e,n,r)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return We.prototype.onAsciiEncoding.call(this);{const e=[],n=this.valueBlock.valueHexView;for(const i of n)e.push(i.toString(2).padStart(8,"0"));const r=e.join("");return`${this.constructor.NAME} : ${r.substring(0,r.length-this.valueBlock.unusedBits)}`}}};ph=xn;K.BitString=ph;xn.NAME=Zf;var fh;function Jy(t,e){const n=new Uint8Array([0]),r=new Uint8Array(t),i=new Uint8Array(e);let s=r.slice(0);const a=s.length-1,c=i.slice(0),l=c.length-1;let d=0;const p=l<a?a:l;let f=0;for(let m=p;m>=0;m--,f++){switch(!0){case f<c.length:d=s[a-f]+c[l-f]+n[0];break;default:d=s[a-f]+n[0]}switch(n[0]=d/10,!0){case f>=s.length:s=Ta(new Uint8Array([d%10]),s);break;default:s[a-f]=d%10}}return n[0]>0&&(s=Ta(n,s)),s}function ru(t){if(t>=Nr.length)for(let e=Nr.length;e<=t;e++){const n=new Uint8Array([0]);let r=Nr[e-1].slice(0);for(let i=r.length-1;i>=0;i--){const s=new Uint8Array([(r[i]<<1)+n[0]]);n[0]=s[0]/10,r[i]=s[0]%10}n[0]>0&&(r=Ta(n,r)),Nr.push(r)}return Nr[t]}function Zy(t,e){let n=0;const r=new Uint8Array(t),i=new Uint8Array(e),s=r.slice(0),a=s.length-1,c=i.slice(0),l=c.length-1;let d,p=0;for(let f=l;f>=0;f--,p++)switch(d=s[a-p]-c[l-p]-n,!0){case d<0:n=1,s[a-p]=d+10;break;default:n=0,s[a-p]=d}if(n>0)for(let f=a-l+1;f>=0;f--,p++)if(d=s[a-p]-n,d<0)n=1,s[a-p]=d+10;else{n=0,s[a-p]=d;break}return s.slice()}class wl extends Nt(De){constructor({value:e,...n}={}){super(n),this._valueDec=0,n.valueHex&&this.setValueHex(),e!==void 0&&(this.valueDec=e)}setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=Gf.call(this)))}set valueDec(e){this._valueDec=e,this.isHexOnly=!1,this.valueHexView=new Uint8Array(Ry(e))}get valueDec(){return this._valueDec}fromDER(e,n,r,i=0){const s=this.fromBER(e,n,r);if(s===-1)return s;const a=this.valueHexView;return a[0]===0&&a[1]&128?this.valueHexView=a.subarray(1):i!==0&&a.length<i&&(i-a.length>1&&(i=a.length+1),this.valueHexView=a.subarray(i-a.length)),s}toDER(e=!1){const n=this.valueHexView;switch(!0){case(n[0]&128)!==0:{const r=new Uint8Array(this.valueHexView.length+1);r[0]=0,r.set(n,1),this.valueHexView=r}break;case(n[0]===0&&(n[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(e)}fromBER(e,n,r){const i=super.fromBER(e,n,r);return i===-1||this.setValueHex(),i}toBER(e){return e?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}toString(){const e=this.valueHexView.length*8-1;let n=new Uint8Array(this.valueHexView.length*8/3),r=0,i;const s=this.valueHexView;let a="",c=!1;for(let l=s.byteLength-1;l>=0;l--){i=s[l];for(let d=0;d<8;d++){if((i&1)===1)switch(r){case e:n=Zy(ru(r),n),a="-";break;default:n=Jy(n,ru(r))}r++,i>>=1}}for(let l=0;l<n.length;l++)n[l]&&(c=!0),c&&(a+=tu.charAt(n[l]));return c===!1&&(a+=tu.charAt(0)),a}}fh=wl;wl.NAME="IntegerValueBlock";Object.defineProperty(fh.prototype,"valueHex",{set:function(t){this.valueHexView=new Uint8Array(t),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});var hh;class Et extends Te{constructor(e={}){super(e,wl),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return us(),BigInt(this.valueBlock.toString())}static fromBigInt(e){us();const n=BigInt(e),r=new oo,i=n.toString(16).replace(/^-/,""),s=new Uint8Array(J.FromHex(i));if(n<0){const c=new Uint8Array(s.length+(s[0]&128?1:0));c[0]|=128;const d=BigInt(`0x${J.ToHex(c)}`)+n,p=M.toUint8Array(J.FromHex(d.toString(16)));p[0]|=128,r.write(p)}else s[0]&128&&r.write(new Uint8Array([0])),r.write(s);return new Et({valueHex:r.final()})}convertToDER(){const e=new Et({valueHex:this.valueBlock.valueHexView});return e.valueBlock.toDER(),e}convertFromDER(){return new Et({valueHex:this.valueBlock.valueHexView[0]===0?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()}`}}hh=Et;K.Integer=hh;Et.NAME="INTEGER";var gh;class lo extends Et{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}}gh=lo;K.Enumerated=gh;lo.NAME="ENUMERATED";class Pa extends Nt(De){constructor({valueDec:e=-1,isFirstSid:n=!1,...r}={}){super(r),this.valueDec=e,this.isFirstSid=n}fromBER(e,n,r){if(!r)return n;const i=M.toUint8Array(e);if(!Ht(this,i,n,r))return-1;const s=i.subarray(n,n+r);this.valueHexView=new Uint8Array(r);for(let c=0;c<r&&(this.valueHexView[c]=s[c]&127,this.blockLength++,!!(s[c]&128));c++);const a=new Uint8Array(this.blockLength);for(let c=0;c<this.blockLength;c++)a[c]=this.valueHexView[c];return this.valueHexView=a,s[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=er(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),n+this.blockLength)}set valueBigInt(e){us();let n=BigInt(e).toString(2);for(;n.length%7;)n="0"+n;const r=new Uint8Array(n.length/7);for(let i=0;i<r.length;i++)r[i]=parseInt(n.slice(i*7,i*7+7),2)+(i+1<r.length?128:0);this.fromBER(r.buffer,0,r.length)}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);const i=this.valueHexView,s=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength-1;a++)s[a]=i[a]|128;return s[this.blockLength-1]=i[this.blockLength-1],s.buffer}const n=kn(this.valueDec,7);if(n.byteLength===0)return this.error="Error during encoding SID value",wt;const r=new Uint8Array(n.byteLength);if(!e){const i=new Uint8Array(n),s=n.byteLength-1;for(let a=0;a<s;a++)r[a]=i[a]|128;r[s]=i[s]}return r}toString(){let e="";if(this.isHexOnly)e=J.ToHex(this.valueHexView);else if(this.isFirstSid){let n=this.valueDec;this.valueDec<=39?e="0.":this.valueDec<=79?(e="1.",n-=40):(e="2.",n-=80),e+=n.toString()}else e=this.valueDec.toString();return e}toJSON(){return{...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}}Pa.NAME="sidBlock";class mh extends De{constructor({value:e=Ke,...n}={}){super(n),this.value=[],e&&this.fromString(e)}fromBER(e,n,r){let i=n;for(;r>0;){const s=new Pa;if(i=s.fromBER(e,i,r),i===-1)return this.blockLength=0,this.error=s.error,i;this.value.length===0&&(s.isFirstSid=!0),this.blockLength+=s.blockLength,r-=s.blockLength,this.value.push(s)}return i}toBER(e){const n=[];for(let r=0;r<this.value.length;r++){const i=this.value[r].toBER(e);if(i.byteLength===0)return this.error=this.value[r].error,wt;n.push(i)}return ml(n)}fromString(e){this.value=[];let n=0,r=0,i="",s=!1;do if(r=e.indexOf(".",n),r===-1?i=e.substring(n):i=e.substring(n,r),n=r+1,s){const a=this.value[0];let c=0;switch(a.valueDec){case 0:break;case 1:c=40;break;case 2:c=80;break;default:this.value=[];return}const l=parseInt(i,10);if(isNaN(l))return;a.valueDec=l+c,s=!1}else{const a=new Pa;if(i>Number.MAX_SAFE_INTEGER){us();const c=BigInt(i);a.valueBigInt=c}else if(a.valueDec=parseInt(i,10),isNaN(a.valueDec))return;this.value.length||(a.isFirstSid=!0,s=!0),this.value.push(a)}while(r!==-1)}toString(){let e="",n=!1;for(let r=0;r<this.value.length;r++){n=this.value[r].isHexOnly;let i=this.value[r].toString();r!==0&&(e=`${e}.`),n?(i=`{${i}}`,this.value[r].isFirstSid?e=`2.{${i} - 80}`:e+=i):e+=i}return e}toJSON(){const e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let n=0;n<this.value.length;n++)e.sidArray.push(this.value[n].toJSON());return e}}mh.NAME="ObjectIdentifierValueBlock";var _h;class uo extends Te{constructor(e={}){super(e,mh),this.idBlock.tagClass=1,this.idBlock.tagNumber=6}getValue(){return this.valueBlock.toString()}setValue(e){this.valueBlock.fromString(e)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}}_h=uo;K.ObjectIdentifier=_h;uo.NAME="OBJECT IDENTIFIER";class Ba extends Nt(Bn){constructor({valueDec:e=0,...n}={}){super(n),this.valueDec=e}fromBER(e,n,r){if(r===0)return n;const i=M.toUint8Array(e);if(!Ht(this,i,n,r))return-1;const s=i.subarray(n,n+r);this.valueHexView=new Uint8Array(r);for(let c=0;c<r&&(this.valueHexView[c]=s[c]&127,this.blockLength++,!!(s[c]&128));c++);const a=new Uint8Array(this.blockLength);for(let c=0;c<this.blockLength;c++)a[c]=this.valueHexView[c];return this.valueHexView=a,s[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=er(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),n+this.blockLength)}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);const i=this.valueHexView,s=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength-1;a++)s[a]=i[a]|128;return s[this.blockLength-1]=i[this.blockLength-1],s.buffer}const n=kn(this.valueDec,7);if(n.byteLength===0)return this.error="Error during encoding SID value",wt;const r=new Uint8Array(n.byteLength);if(!e){const i=new Uint8Array(n),s=n.byteLength-1;for(let a=0;a<s;a++)r[a]=i[a]|128;r[s]=i[s]}return r.buffer}toString(){let e="";return this.isHexOnly?e=J.ToHex(this.valueHexView):e=this.valueDec.toString(),e}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}}Ba.NAME="relativeSidBlock";class yh extends De{constructor({value:e=Ke,...n}={}){super(n),this.value=[],e&&this.fromString(e)}fromBER(e,n,r){let i=n;for(;r>0;){const s=new Ba;if(i=s.fromBER(e,i,r),i===-1)return this.blockLength=0,this.error=s.error,i;this.blockLength+=s.blockLength,r-=s.blockLength,this.value.push(s)}return i}toBER(e,n){const r=[];for(let i=0;i<this.value.length;i++){const s=this.value[i].toBER(e);if(s.byteLength===0)return this.error=this.value[i].error,wt;r.push(s)}return ml(r)}fromString(e){this.value=[];let n=0,r=0,i="";do{r=e.indexOf(".",n),r===-1?i=e.substring(n):i=e.substring(n,r),n=r+1;const s=new Ba;if(s.valueDec=parseInt(i,10),isNaN(s.valueDec))return!0;this.value.push(s)}while(r!==-1);return!0}toString(){let e="",n=!1;for(let r=0;r<this.value.length;r++){n=this.value[r].isHexOnly;let i=this.value[r].toString();r!==0&&(e=`${e}.`),n&&(i=`{${i}}`),e+=i}return e}toJSON(){const e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let n=0;n<this.value.length;n++)e.sidArray.push(this.value[n].toJSON());return e}}yh.NAME="RelativeObjectIdentifierValueBlock";var wh;class vl extends Te{constructor(e={}){super(e,yh),this.idBlock.tagClass=1,this.idBlock.tagNumber=13}getValue(){return this.valueBlock.toString()}setValue(e){this.valueBlock.fromString(e)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}}wh=vl;K.RelativeObjectIdentifier=wh;vl.NAME="RelativeObjectIdentifier";var vh;class Pt extends We{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}}vh=Pt;K.Sequence=vh;Pt.NAME="SEQUENCE";var bh;let Bt=class extends We{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}};bh=Bt;K.Set=bh;Bt.NAME="SET";class xh extends Nt(De){constructor({...e}={}){super(e),this.isHexOnly=!0,this.value=Ke}toJSON(){return{...super.toJSON(),value:this.value}}}xh.NAME="StringValueBlock";class kh extends xh{}kh.NAME="SimpleStringValueBlock";class tt extends _l{constructor({...e}={}){super(e,kh)}fromBuffer(e){this.valueBlock.value=String.fromCharCode.apply(null,M.toUint8Array(e))}fromString(e){const n=e.length,r=this.valueBlock.valueHexView=new Uint8Array(n);for(let i=0;i<n;i++)r[i]=e.charCodeAt(i);this.valueBlock.value=e}}tt.NAME="SIMPLE STRING";class Sh extends tt{fromBuffer(e){this.valueBlock.valueHexView=M.toUint8Array(e);try{this.valueBlock.value=J.ToUtf8String(e)}catch(n){this.warnings.push(`Error during "decodeURIComponent": ${n}, using raw string`),this.valueBlock.value=J.ToBinary(e)}}fromString(e){this.valueBlock.valueHexView=new Uint8Array(J.FromUtf8String(e)),this.valueBlock.value=e}}Sh.NAME="Utf8StringValueBlock";var Ah;class Ft extends Sh{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}}Ah=Ft;K.Utf8String=Ah;Ft.NAME="UTF8String";class zh extends tt{fromBuffer(e){this.valueBlock.value=J.ToUtf16String(e),this.valueBlock.valueHexView=M.toUint8Array(e)}fromString(e){this.valueBlock.value=e,this.valueBlock.valueHexView=new Uint8Array(J.FromUtf16String(e))}}zh.NAME="BmpStringValueBlock";var Eh;class po extends zh{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}}Eh=po;K.BmpString=Eh;po.NAME="BMPString";class Ih extends tt{fromBuffer(e){const n=ArrayBuffer.isView(e)?e.slice().buffer:e.slice(0),r=new Uint8Array(n);for(let i=0;i<r.length;i+=4)r[i]=r[i+3],r[i+1]=r[i+2],r[i+2]=0,r[i+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(n))}fromString(e){const n=e.length,r=this.valueBlock.valueHexView=new Uint8Array(n*4);for(let i=0;i<n;i++){const s=kn(e.charCodeAt(i),8),a=new Uint8Array(s);if(a.length>4)continue;const c=4-a.length;for(let l=a.length-1;l>=0;l--)r[i*4+l+c]=a[l]}this.valueBlock.value=e}}Ih.NAME="UniversalStringValueBlock";var Ch;class fo extends Ih{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}}Ch=fo;K.UniversalString=Ch;fo.NAME="UniversalString";var Nh;class ho extends tt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}}Nh=ho;K.NumericString=Nh;ho.NAME="NumericString";var jh;class go extends tt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}}jh=go;K.PrintableString=jh;go.NAME="PrintableString";var $h;class mo extends tt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}}$h=mo;K.TeletexString=$h;mo.NAME="TeletexString";var Oh;class _o extends tt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}}Oh=_o;K.VideotexString=Oh;_o.NAME="VideotexString";var Th;class yo extends tt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}}Th=yo;K.IA5String=Th;yo.NAME="IA5String";var Ph;class wo extends tt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}}Ph=wo;K.GraphicString=Ph;wo.NAME="GraphicString";var Bh;class ci extends tt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}}Bh=ci;K.VisibleString=Bh;ci.NAME="VisibleString";var Rh;class vo extends tt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}}Rh=vo;K.GeneralString=Rh;vo.NAME="GeneralString";var Lh;class bo extends tt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}}Lh=bo;K.CharacterString=Lh;bo.NAME="CharacterString";var Uh;class li extends ci{constructor({value:e,valueDate:n,...r}={}){if(super(r),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,e){this.fromString(e),this.valueBlock.valueHexView=new Uint8Array(e.length);for(let i=0;i<e.length;i++)this.valueBlock.valueHexView[i]=e.charCodeAt(i)}n&&(this.fromDate(n),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23}fromBuffer(e){this.fromString(String.fromCharCode.apply(null,M.toUint8Array(e)))}toBuffer(){const e=this.toString(),n=new ArrayBuffer(e.length),r=new Uint8Array(n);for(let i=0;i<e.length;i++)r[i]=e.charCodeAt(i);return n}fromDate(e){this.year=e.getUTCFullYear(),this.month=e.getUTCMonth()+1,this.day=e.getUTCDate(),this.hour=e.getUTCHours(),this.minute=e.getUTCMinutes(),this.second=e.getUTCSeconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(e){const r=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(e);if(r===null){this.error="Wrong input string for conversion";return}const i=parseInt(r[1],10);i>=50?this.year=1900+i:this.year=2e3+i,this.month=parseInt(r[2],10),this.day=parseInt(r[3],10),this.hour=parseInt(r[4],10),this.minute=parseInt(r[5],10),this.second=parseInt(r[6],10)}toString(e="iso"){if(e==="iso"){const n=new Array(7);return n[0]=Qe(this.year<2e3?this.year-1900:this.year-2e3,2),n[1]=Qe(this.month,2),n[2]=Qe(this.day,2),n[3]=Qe(this.hour,2),n[4]=Qe(this.minute,2),n[5]=Qe(this.second,2),n[6]="Z",n.join("")}return super.toString(e)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return{...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}}Uh=li;K.UTCTime=Uh;li.NAME="UTCTime";var Vh;class xo extends li{constructor(e={}){var n;super(e),(n=this.millisecond)!==null&&n!==void 0||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromDate(e){super.fromDate(e),this.millisecond=e.getUTCMilliseconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond))}fromString(e){let n=!1,r="",i="",s=0,a,c=0,l=0;if(e[e.length-1]==="Z")r=e.substring(0,e.length-1),n=!0;else{const f=new Number(e[e.length-1]);if(isNaN(f.valueOf()))throw new Error("Wrong input string for conversion");r=e}if(n){if(r.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(r.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else{let f=1,m=r.indexOf("+"),w="";if(m===-1&&(m=r.indexOf("-"),f=-1),m!==-1){if(w=r.substring(m+1),r=r.substring(0,m),w.length!==2&&w.length!==4)throw new Error("Wrong input string for conversion");let h=parseInt(w.substring(0,2),10);if(isNaN(h.valueOf()))throw new Error("Wrong input string for conversion");if(c=f*h,w.length===4){if(h=parseInt(w.substring(2,4),10),isNaN(h.valueOf()))throw new Error("Wrong input string for conversion");l=f*h}}}let d=r.indexOf(".");if(d===-1&&(d=r.indexOf(",")),d!==-1){const f=new Number(`0${r.substring(d)}`);if(isNaN(f.valueOf()))throw new Error("Wrong input string for conversion");s=f.valueOf(),i=r.substring(0,d)}else i=r;switch(!0){case i.length===8:if(a=/(\d{4})(\d{2})(\d{2})/ig,d!==-1)throw new Error("Wrong input string for conversion");break;case i.length===10:if(a=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,d!==-1){let f=60*s;this.minute=Math.floor(f),f=60*(f-this.minute),this.second=Math.floor(f),f=1e3*(f-this.second),this.millisecond=Math.floor(f)}break;case i.length===12:if(a=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,d!==-1){let f=60*s;this.second=Math.floor(f),f=1e3*(f-this.second),this.millisecond=Math.floor(f)}break;case i.length===14:if(a=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,d!==-1){const f=1e3*s;this.millisecond=Math.floor(f)}break;default:throw new Error("Wrong input string for conversion")}const p=a.exec(i);if(p===null)throw new Error("Wrong input string for conversion");for(let f=1;f<p.length;f++)switch(f){case 1:this.year=parseInt(p[f],10);break;case 2:this.month=parseInt(p[f],10);break;case 3:this.day=parseInt(p[f],10);break;case 4:this.hour=parseInt(p[f],10)+c;break;case 5:this.minute=parseInt(p[f],10)+l;break;case 6:this.second=parseInt(p[f],10);break;default:throw new Error("Wrong input string for conversion")}if(n===!1){const f=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=f.getUTCFullYear(),this.month=f.getUTCMonth(),this.day=f.getUTCDay(),this.hour=f.getUTCHours(),this.minute=f.getUTCMinutes(),this.second=f.getUTCSeconds(),this.millisecond=f.getUTCMilliseconds()}}toString(e="iso"){if(e==="iso"){const n=[];return n.push(Qe(this.year,4)),n.push(Qe(this.month,2)),n.push(Qe(this.day,2)),n.push(Qe(this.hour,2)),n.push(Qe(this.minute,2)),n.push(Qe(this.second,2)),this.millisecond!==0&&(n.push("."),n.push(Qe(this.millisecond,3))),n.push("Z"),n.join("")}return super.toString(e)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}}Vh=xo;K.GeneralizedTime=Vh;xo.NAME="GeneralizedTime";var qh;class bl extends Ft{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}}qh=bl;K.DATE=qh;bl.NAME="DATE";var Mh;class xl extends Ft{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}}Mh=xl;K.TimeOfDay=Mh;xl.NAME="TimeOfDay";var Dh;class kl extends Ft{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}}Dh=kl;K.DateTime=Dh;kl.NAME="DateTime";var Hh;class Sl extends Ft{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}}Hh=Sl;K.Duration=Hh;Sl.NAME="Duration";var Fh;class Al extends Ft{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}}Fh=Al;K.TIME=Fh;Al.NAME="TIME";class An{constructor({name:e=Ke,optional:n=!1}={}){this.name=e,this.optional=n}}class zl extends An{constructor({value:e=[],...n}={}){super(n),this.value=e}}class ps extends An{constructor({value:e=new An,local:n=!1,...r}={}){super(r),this.value=e,this.local=n}}class Yy{constructor({data:e=ao}={}){this.dataView=M.toUint8Array(e)}get data(){return this.dataView.slice().buffer}set data(e){this.dataView=M.toUint8Array(e)}fromBER(e,n,r){const i=n+r;return this.dataView=M.toUint8Array(e).subarray(n,i),i}toBER(e){return this.dataView.slice().buffer}}function yn(t,e,n){if(n instanceof zl){for(let s=0;s<n.value.length;s++)if(yn(t,e,n.value[s]).verified)return{verified:!0,result:t};{const s={verified:!1,result:{error:"Wrong values for Choice type"}};return n.hasOwnProperty(oa)&&(s.name=n.name),s}}if(n instanceof An)return n.hasOwnProperty(oa)&&(t[n.name]=e),{verified:!0,result:t};if(!(t instanceof Object))return{verified:!1,result:{error:"Wrong root object"}};if(!(e instanceof Object))return{verified:!1,result:{error:"Wrong ASN.1 data"}};if(!(n instanceof Object))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(Vy in n))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(Hy in n.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(Fy in n.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};const r=n.idBlock.toBER(!1);if(r.byteLength===0)return{verified:!1,result:{error:"Error encoding idBlock for ASN.1 schema"}};if(n.idBlock.fromBER(r,0,r.byteLength)===-1)return{verified:!1,result:{error:"Error decoding idBlock for ASN.1 schema"}};if(n.idBlock.hasOwnProperty(qy)===!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(n.idBlock.tagClass!==e.idBlock.tagClass)return{verified:!1,result:t};if(n.idBlock.hasOwnProperty(My)===!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(n.idBlock.tagNumber!==e.idBlock.tagNumber)return{verified:!1,result:t};if(n.idBlock.hasOwnProperty(Dy)===!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(n.idBlock.isConstructed!==e.idBlock.isConstructed)return{verified:!1,result:t};if(!(Uy in n.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(n.idBlock.isHexOnly!==e.idBlock.isHexOnly)return{verified:!1,result:t};if(n.idBlock.isHexOnly){if(!(nu in n.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};const s=n.idBlock.valueHexView,a=e.idBlock.valueHexView;if(s.length!==a.length)return{verified:!1,result:t};for(let c=0;c<s.length;c++)if(s[c]!==a[1])return{verified:!1,result:t}}if(n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,Ke),n.name&&(t[n.name]=e)),n instanceof K.Constructed){let s=0,a={verified:!1,result:{error:"Unknown error"}},c=n.valueBlock.value.length;if(c>0&&n.valueBlock.value[0]instanceof ps&&(c=e.valueBlock.value.length),c===0)return{verified:!0,result:t};if(e.valueBlock.value.length===0&&n.valueBlock.value.length!==0){let l=!0;for(let d=0;d<n.valueBlock.value.length;d++)l=l&&(n.valueBlock.value[d].optional||!1);return l?{verified:!0,result:t}:(n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,Ke),n.name&&delete t[n.name]),t.error="Inconsistent object length",{verified:!1,result:t})}for(let l=0;l<c;l++)if(l-s>=e.valueBlock.value.length){if(n.valueBlock.value[l].optional===!1){const d={verified:!1,result:t};return t.error="Inconsistent length between ASN.1 data and schema",n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,Ke),n.name&&(delete t[n.name],d.name=n.name)),d}}else if(n.valueBlock.value[0]instanceof ps){if(a=yn(t,e.valueBlock.value[l],n.valueBlock.value[0].value),a.verified===!1)if(n.valueBlock.value[0].optional)s++;else return n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,Ke),n.name&&delete t[n.name]),a;if(oa in n.valueBlock.value[0]&&n.valueBlock.value[0].name.length>0){let d={};Ky in n.valueBlock.value[0]&&n.valueBlock.value[0].local?d=e:d=t,typeof d[n.valueBlock.value[0].name]>"u"&&(d[n.valueBlock.value[0].name]=[]),d[n.valueBlock.value[0].name].push(e.valueBlock.value[l])}}else if(a=yn(t,e.valueBlock.value[l-s],n.valueBlock.value[l]),a.verified===!1)if(n.valueBlock.value[l].optional)s++;else return n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,Ke),n.name&&delete t[n.name]),a;if(a.verified===!1){const l={verified:!1,result:t};return n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,Ke),n.name&&(delete t[n.name],l.name=n.name)),l}return{verified:!0,result:t}}if(n.primitiveSchema&&nu in e.valueBlock){const s=gr(e.valueBlock.valueHexView);if(s.offset===-1){const a={verified:!1,result:s.result};return n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,Ke),n.name&&(delete t[n.name],a.name=n.name)),a}return yn(t,s.result,n.primitiveSchema)}return{verified:!0,result:t}}function Xy(t,e){if(!(e instanceof Object))return{verified:!1,result:{error:"Wrong ASN.1 schema type"}};const n=gr(M.toUint8Array(t));return n.offset===-1?{verified:!1,result:n.result}:yn(n.result,n.result,e)}const Kh=Object.freeze(Object.defineProperty({__proto__:null,Any:An,BaseBlock:Te,BaseStringBlock:_l,BitString:xn,BmpString:po,Boolean:co,CharacterString:bo,Choice:zl,Constructed:We,DATE:bl,DateTime:kl,Duration:Sl,EndOfContent:yl,Enumerated:lo,GeneralString:vo,GeneralizedTime:xo,GraphicString:wo,HexBlock:Nt,IA5String:yo,Integer:Et,Null:Sn,NumericString:ho,ObjectIdentifier:uo,OctetString:bn,Primitive:ai,PrintableString:go,RawData:Yy,RelativeObjectIdentifier:vl,Repeated:ps,Sequence:Pt,Set:Bt,TIME:Al,TeletexString:mo,TimeOfDay:xl,UTCTime:li,UniversalString:fo,Utf8String:Ft,ValueBlock:De,VideotexString:_o,ViewWriter:oo,VisibleString:ci,compareSchema:yn,fromBER:Zn,verifySchema:Xy},Symbol.toStringTag,{value:"Module"}));var P;(function(t){t[t.Sequence=0]="Sequence",t[t.Set=1]="Set",t[t.Choice=2]="Choice"})(P||(P={}));var b;(function(t){t[t.Any=1]="Any",t[t.Boolean=2]="Boolean",t[t.OctetString=3]="OctetString",t[t.BitString=4]="BitString",t[t.Integer=5]="Integer",t[t.Enumerated=6]="Enumerated",t[t.ObjectIdentifier=7]="ObjectIdentifier",t[t.Utf8String=8]="Utf8String",t[t.BmpString=9]="BmpString",t[t.UniversalString=10]="UniversalString",t[t.NumericString=11]="NumericString",t[t.PrintableString=12]="PrintableString",t[t.TeletexString=13]="TeletexString",t[t.VideotexString=14]="VideotexString",t[t.IA5String=15]="IA5String",t[t.GraphicString=16]="GraphicString",t[t.VisibleString=17]="VisibleString",t[t.GeneralString=18]="GeneralString",t[t.CharacterString=19]="CharacterString",t[t.UTCTime=20]="UTCTime",t[t.GeneralizedTime=21]="GeneralizedTime",t[t.DATE=22]="DATE",t[t.TimeOfDay=23]="TimeOfDay",t[t.DateTime=24]="DateTime",t[t.Duration=25]="Duration",t[t.TIME=26]="TIME",t[t.Null=27]="Null"})(b||(b={}));class ko{constructor(e,n=0){if(this.unusedBits=0,this.value=new ArrayBuffer(0),e)if(typeof e=="number")this.fromNumber(e);else if(M.isBufferSource(e))this.unusedBits=n,this.value=M.toArrayBuffer(e);else throw TypeError("Unsupported type of 'params' argument for BitString")}fromASN(e){if(!(e instanceof xn))throw new TypeError("Argument 'asn' is not instance of ASN.1 BitString");return this.unusedBits=e.valueBlock.unusedBits,this.value=e.valueBlock.valueHex,this}toASN(){return new xn({unusedBits:this.unusedBits,valueHex:this.value})}toSchema(e){return new xn({name:e})}toNumber(){let e="";const n=new Uint8Array(this.value);for(const r of n)e+=r.toString(2).padStart(8,"0");return e=e.split("").reverse().join(""),this.unusedBits&&(e=e.slice(this.unusedBits).padStart(this.unusedBits,"0")),parseInt(e,2)}fromNumber(e){let n=e.toString(2);const r=n.length+7>>3;this.unusedBits=(r<<3)-n.length;const i=new Uint8Array(r);n=n.padStart(r<<3,"0").split("").reverse().join("");let s=0;for(;s<r;)i[s]=parseInt(n.slice(s<<3,(s<<3)+8),2),s++;this.value=i.buffer}}class de{get byteLength(){return this.buffer.byteLength}get byteOffset(){return 0}constructor(e){typeof e=="number"?this.buffer=new ArrayBuffer(e):M.isBufferSource(e)?this.buffer=M.toArrayBuffer(e):Array.isArray(e)?this.buffer=new Uint8Array(e):this.buffer=new ArrayBuffer(0)}fromASN(e){if(!(e instanceof bn))throw new TypeError("Argument 'asn' is not instance of ASN.1 OctetString");return this.buffer=e.valueBlock.valueHex,this}toASN(){return new bn({valueHex:this.buffer})}toSchema(e){return new bn({name:e})}}const Qy={fromASN:t=>t instanceof Sn?null:t.valueBeforeDecodeView,toASN:t=>{if(t===null)return new Sn;const e=Zn(t);if(e.result.error)throw new Error(e.result.error);return e.result}},ew={fromASN:t=>t.valueBlock.valueHexView.byteLength>=4?t.valueBlock.toString():t.valueBlock.valueDec,toASN:t=>new Et({value:+t})},tw={fromASN:t=>t.valueBlock.valueDec,toASN:t=>new lo({value:t})},_e={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new Et({valueHex:t})},nw={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new xn({valueHex:t})},rw={fromASN:t=>t.valueBlock.toString(),toASN:t=>new uo({value:t})},iw={fromASN:t=>t.valueBlock.value,toASN:t=>new co({value:t})},fs={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new bn({valueHex:t})},sw={fromASN:t=>new de(t.getValue()),toASN:t=>t.toASN()};function ct(t){return{fromASN:e=>e.valueBlock.value,toASN:e=>new t({value:e})}}const Wh=ct(Ft),ow=ct(po),aw=ct(fo),cw=ct(ho),lw=ct(go),dw=ct(mo),uw=ct(_o),pw=ct(yo),fw=ct(wo),hw=ct(ci),gw=ct(vo),mw=ct(bo),_w={fromASN:t=>t.toDate(),toASN:t=>new li({valueDate:t})},yw={fromASN:t=>t.toDate(),toASN:t=>new xo({valueDate:t})},ww={fromASN:()=>null,toASN:()=>new Sn};function El(t){switch(t){case b.Any:return Qy;case b.BitString:return nw;case b.BmpString:return ow;case b.Boolean:return iw;case b.CharacterString:return mw;case b.Enumerated:return tw;case b.GeneralString:return gw;case b.GeneralizedTime:return yw;case b.GraphicString:return fw;case b.IA5String:return pw;case b.Integer:return ew;case b.Null:return ww;case b.NumericString:return cw;case b.ObjectIdentifier:return rw;case b.OctetString:return fs;case b.PrintableString:return lw;case b.TeletexString:return dw;case b.UTCTime:return _w;case b.UniversalString:return aw;case b.Utf8String:return Wh;case b.VideotexString:return uw;case b.VisibleString:return hw;default:return null}}function Tt(t){return typeof t=="function"&&t.prototype?t.prototype.toASN&&t.prototype.fromASN?!0:Tt(t.prototype):!!(t&&typeof t=="object"&&"toASN"in t&&"fromASN"in t)}function Gh(t){var e;if(t){const n=Object.getPrototypeOf(t);return((e=n==null?void 0:n.prototype)===null||e===void 0?void 0:e.constructor)===Array?!0:Gh(n)}return!1}function vw(t,e){if(!(t&&e)||t.byteLength!==e.byteLength)return!1;const n=new Uint8Array(t),r=new Uint8Array(e);for(let i=0;i<t.byteLength;i++)if(n[i]!==r[i])return!1;return!0}class bw{constructor(){this.items=new WeakMap}has(e){return this.items.has(e)}get(e,n=!1){const r=this.items.get(e);if(!r)throw new Error(`Cannot get schema for '${e.prototype.constructor.name}' target`);if(n&&!r.schema)throw new Error(`Schema '${e.prototype.constructor.name}' doesn't contain ASN.1 schema. Call 'AsnSchemaStorage.cache'.`);return r}cache(e){const n=this.get(e);n.schema||(n.schema=this.create(e,!0))}createDefault(e){const n={type:P.Sequence,items:{}},r=this.findParentSchema(e);return r&&(Object.assign(n,r),n.items=Object.assign({},n.items,r.items)),n}create(e,n){const r=this.items.get(e)||this.createDefault(e),i=[];for(const s in r.items){const a=r.items[s],c=n?s:"";let l;if(typeof a.type=="number"){const p=b[a.type],f=Kh[p];if(!f)throw new Error(`Cannot get ASN1 class by name '${p}'`);l=new f({name:c})}else Tt(a.type)?l=new a.type().toSchema(c):a.optional?this.get(a.type).type===P.Choice?l=new An({name:c}):(l=this.create(a.type,!1),l.name=c):l=new An({name:c});const d=!!a.optional||a.defaultValue!==void 0;if(a.repeated){l.name="";const p=a.repeated==="set"?Bt:Pt;l=new p({name:"",value:[new ps({name:c,value:l})]})}if(a.context!==null&&a.context!==void 0)if(a.implicit)if(typeof a.type=="number"||Tt(a.type)){const p=a.repeated?We:ai;i.push(new p({name:c,optional:d,idBlock:{tagClass:3,tagNumber:a.context}}))}else{this.cache(a.type);const p=!!a.repeated;let f=p?l:this.get(a.type,!0).schema;f="valueBlock"in f?f.valueBlock.value:f.value,i.push(new We({name:p?"":c,optional:d,idBlock:{tagClass:3,tagNumber:a.context},value:f}))}else i.push(new We({optional:d,idBlock:{tagClass:3,tagNumber:a.context},value:[l]}));else l.optional=d,i.push(l)}switch(r.type){case P.Sequence:return new Pt({value:i,name:""});case P.Set:return new Bt({value:i,name:""});case P.Choice:return new zl({value:i,name:""});default:throw new Error("Unsupported ASN1 type in use")}}set(e,n){return this.items.set(e,n),this}findParentSchema(e){const n=Object.getPrototypeOf(e);return n?this.items.get(n)||this.findParentSchema(n):null}}const rt=new bw,R=t=>e=>{let n;rt.has(e)?n=rt.get(e):(n=rt.createDefault(e),rt.set(e,n)),Object.assign(n,t)},g=t=>(e,n)=>{let r;rt.has(e.constructor)?r=rt.get(e.constructor):(r=rt.createDefault(e.constructor),rt.set(e.constructor,r));const i=Object.assign({},t);if(typeof i.type=="number"&&!i.converter){const s=El(t.type);if(!s)throw new Error(`Cannot get default converter for property '${n}' of ${e.constructor.name}`);i.converter=s}r.items[n]=i};class iu extends Error{constructor(){super(...arguments),this.schemas=[]}}class xw{static parse(e,n){const r=Zn(e);if(r.result.error)throw new Error(r.result.error);return this.fromASN(r.result,n)}static fromASN(e,n){var r;try{if(Tt(n))return new n().fromASN(e);const i=rt.get(n);rt.cache(n);let s=i.schema;if(e.constructor===We&&i.type!==P.Choice){s=new We({idBlock:{tagClass:3,tagNumber:e.idBlock.tagNumber},value:i.schema.valueBlock.value});for(const l in i.items)delete e[l]}const a=yn({},e,s);if(!a.verified)throw new iu(`Data does not match to ${n.name} ASN1 schema. ${a.result.error}`);const c=new n;if(Gh(n)){if(!("value"in e.valueBlock&&Array.isArray(e.valueBlock.value)))throw new Error("Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.");const l=i.itemType;if(typeof l=="number"){const d=El(l);if(!d)throw new Error(`Cannot get default converter for array item of ${n.name} ASN1 schema`);return n.from(e.valueBlock.value,p=>d.fromASN(p))}else return n.from(e.valueBlock.value,d=>this.fromASN(d,l))}for(const l in i.items){const d=a.result[l];if(!d)continue;const p=i.items[l],f=p.type;if(typeof f=="number"||Tt(f)){const m=(r=p.converter)!==null&&r!==void 0?r:Tt(f)?new f:null;if(!m)throw new Error("Converter is empty");if(p.repeated)if(p.implicit){const w=p.repeated==="sequence"?Pt:Bt,h=new w;h.valueBlock=d.valueBlock;const _=Zn(h.toBER(!1));if(_.offset===-1)throw new Error(`Cannot parse the child item. ${_.result.error}`);if(!("value"in _.result.valueBlock&&Array.isArray(_.result.valueBlock.value)))throw new Error("Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.");const v=_.result.valueBlock.value;c[l]=Array.from(v,A=>m.fromASN(A))}else c[l]=Array.from(d,w=>m.fromASN(w));else{let w=d;if(p.implicit){let h;if(Tt(f))h=new f().toSchema("");else{const _=b[f],v=Kh[_];if(!v)throw new Error(`Cannot get '${_}' class from asn1js module`);h=new v}h.valueBlock=w.valueBlock,w=Zn(h.toBER(!1)).result}c[l]=m.fromASN(w)}}else if(p.repeated){if(!Array.isArray(d))throw new Error("Cannot get list of items from the ASN.1 parsed value. ASN.1 value should be iterable.");c[l]=Array.from(d,m=>this.fromASN(m,f))}else c[l]=this.fromASN(d,f)}return c}catch(i){throw i instanceof iu&&i.schemas.push(n.name),i}}}class Il{static serialize(e){return e instanceof Te?e.toBER(!1):this.toASN(e).toBER(!1)}static toASN(e){if(e&&typeof e=="object"&&Tt(e))return e.toASN();if(!(e&&typeof e=="object"))throw new TypeError("Parameter 1 should be type of Object.");const n=e.constructor,r=rt.get(n);rt.cache(n);let i=[];if(r.itemType){if(!Array.isArray(e))throw new TypeError("Parameter 1 should be type of Array.");if(typeof r.itemType=="number"){const a=El(r.itemType);if(!a)throw new Error(`Cannot get default converter for array item of ${n.name} ASN1 schema`);i=e.map(c=>a.toASN(c))}else i=e.map(a=>this.toAsnItem({type:r.itemType},"[]",n,a))}else for(const a in r.items){const c=r.items[a],l=e[a];if(l===void 0||c.defaultValue===l||typeof c.defaultValue=="object"&&typeof l=="object"&&vw(this.serialize(c.defaultValue),this.serialize(l)))continue;const d=Il.toAsnItem(c,a,n,l);if(typeof c.context=="number")if(c.implicit)if(!c.repeated&&(typeof c.type=="number"||Tt(c.type))){const p={};p.valueHex=d instanceof Sn?d.valueBeforeDecodeView:d.valueBlock.toBER(),i.push(new ai({optional:c.optional,idBlock:{tagClass:3,tagNumber:c.context},...p}))}else i.push(new We({optional:c.optional,idBlock:{tagClass:3,tagNumber:c.context},value:d.valueBlock.value}));else i.push(new We({optional:c.optional,idBlock:{tagClass:3,tagNumber:c.context},value:[d]}));else c.repeated?i=i.concat(d):i.push(d)}let s;switch(r.type){case P.Sequence:s=new Pt({value:i});break;case P.Set:s=new Bt({value:i});break;case P.Choice:if(!i[0])throw new Error(`Schema '${n.name}' has wrong data. Choice cannot be empty.`);s=i[0];break}return s}static toAsnItem(e,n,r,i){let s;if(typeof e.type=="number"){const a=e.converter;if(!a)throw new Error(`Property '${n}' doesn't have converter for type ${b[e.type]} in schema '${r.name}'`);if(e.repeated){if(!Array.isArray(i))throw new TypeError("Parameter 'objProp' should be type of Array.");const c=Array.from(i,d=>a.toASN(d)),l=e.repeated==="sequence"?Pt:Bt;s=new l({value:c})}else s=a.toASN(i)}else if(e.repeated){if(!Array.isArray(i))throw new TypeError("Parameter 'objProp' should be type of Array.");const a=Array.from(i,l=>this.toASN(l)),c=e.repeated==="sequence"?Pt:Bt;s=new c({value:a})}else s=this.toASN(i);return s}}class fe extends Array{constructor(e=[]){if(typeof e=="number")super(e);else{super();for(const n of e)this.push(n)}}}class q{static serialize(e){return Il.serialize(e)}static parse(e,n){return xw.parse(e,n)}static toString(e){const n=M.isBufferSource(e)?M.toArrayBuffer(e):q.serialize(e),r=Zn(n);if(r.offset===-1)throw new Error(`Cannot decode ASN.1 data. ${r.result.error}`);return r.result.toString()}}function u(t,e,n,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,n):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(t,e,n,r);else for(var c=t.length-1;c>=0;c--)(a=t[c])&&(s=(i<3?a(s):i>3?a(e,n,s):a(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s}var Jh={exports:{}};(function(t){(function(e){const n="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${n}\\.${n}\\.${n}\\.${n}$`,"i"),threeOctet:new RegExp(`^${n}\\.${n}\\.${n}$`,"i"),twoOctet:new RegExp(`^${n}\\.${n}$`,"i"),longValue:new RegExp(`^${n}$`,"i")},i=new RegExp("^0[0-7]+$","i"),s=new RegExp("^0x[a-f0-9]+$","i"),a="%[0-9a-z]{1,}",c="(?:[0-9a-f]+::?)+",l={zoneIndex:new RegExp(a,"i"),native:new RegExp(`^(::)?(${c})?([0-9a-f]+)?(::)?(${a})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${n}\\.${n}\\.${n}\\.${n}(${a})?)$`,"i"),transitional:new RegExp(`^((?:${c})|(?:::)(?:${c})?)${n}\\.${n}\\.${n}\\.${n}(${a})?$`,"i")};function d(h,_){if(h.indexOf("::")!==h.lastIndexOf("::"))return null;let v=0,A=-1,C=(h.match(l.zoneIndex)||[])[0],O,L;for(C&&(C=C.substring(1),h=h.replace(/%.+$/,""));(A=h.indexOf(":",A+1))>=0;)v++;if(h.substr(0,2)==="::"&&v--,h.substr(-2,2)==="::"&&v--,v>_)return null;for(L=_-v,O=":";L--;)O+="0:";return h=h.replace("::",O),h[0]===":"&&(h=h.slice(1)),h[h.length-1]===":"&&(h=h.slice(0,-1)),_=function(){const Q=h.split(":"),ce=[];for(let le=0;le<Q.length;le++)ce.push(parseInt(Q[le],16));return ce}(),{parts:_,zoneId:C}}function p(h,_,v,A){if(h.length!==_.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let C=0,O;for(;A>0;){if(O=v-A,O<0&&(O=0),h[C]>>O!==_[C]>>O)return!1;A-=v,C+=1}return!0}function f(h){if(s.test(h))return parseInt(h,16);if(h[0]==="0"&&!isNaN(parseInt(h[1],10))){if(i.test(h))return parseInt(h,8);throw new Error(`ipaddr: cannot parse ${h} as octal`)}return parseInt(h,10)}function m(h,_){for(;h.length<_;)h=`0${h}`;return h}const w={};w.IPv4=function(){function h(_){if(_.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let v,A;for(v=0;v<_.length;v++)if(A=_[v],!(0<=A&&A<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=_}return h.prototype.SpecialRanges={unspecified:[[new h([0,0,0,0]),8]],broadcast:[[new h([255,255,255,255]),32]],multicast:[[new h([224,0,0,0]),4]],linkLocal:[[new h([169,254,0,0]),16]],loopback:[[new h([127,0,0,0]),8]],carrierGradeNat:[[new h([100,64,0,0]),10]],private:[[new h([10,0,0,0]),8],[new h([172,16,0,0]),12],[new h([192,168,0,0]),16]],reserved:[[new h([192,0,0,0]),24],[new h([192,0,2,0]),24],[new h([192,88,99,0]),24],[new h([198,18,0,0]),15],[new h([198,51,100,0]),24],[new h([203,0,113,0]),24],[new h([240,0,0,0]),4]],as112:[[new h([192,175,48,0]),24],[new h([192,31,196,0]),24]],amt:[[new h([192,52,193,0]),24]]},h.prototype.kind=function(){return"ipv4"},h.prototype.match=function(_,v){let A;if(v===void 0&&(A=_,_=A[0],v=A[1]),_.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return p(this.octets,_.octets,8,v)},h.prototype.prefixLengthFromSubnetMask=function(){let _=0,v=!1;const A={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0};let C,O,L;for(C=3;C>=0;C-=1)if(O=this.octets[C],O in A){if(L=A[O],v&&L!==0)return null;L!==8&&(v=!0),_+=L}else return null;return 32-_},h.prototype.range=function(){return w.subnetMatch(this,this.SpecialRanges)},h.prototype.toByteArray=function(){return this.octets.slice(0)},h.prototype.toIPv4MappedAddress=function(){return w.IPv6.parse(`::ffff:${this.toString()}`)},h.prototype.toNormalizedString=function(){return this.toString()},h.prototype.toString=function(){return this.octets.join(".")},h}(),w.IPv4.broadcastAddressFromCIDR=function(h){try{const _=this.parseCIDR(h),v=_[0].toByteArray(),A=this.subnetMaskFromPrefixLength(_[1]).toByteArray(),C=[];let O=0;for(;O<4;)C.push(parseInt(v[O],10)|parseInt(A[O],10)^255),O++;return new this(C)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},w.IPv4.isIPv4=function(h){return this.parser(h)!==null},w.IPv4.isValid=function(h){try{return new this(this.parser(h)),!0}catch{return!1}},w.IPv4.isValidCIDR=function(h){try{return this.parseCIDR(h),!0}catch{return!1}},w.IPv4.isValidFourPartDecimal=function(h){return!!(w.IPv4.isValid(h)&&h.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},w.IPv4.networkAddressFromCIDR=function(h){let _,v,A,C,O;try{for(_=this.parseCIDR(h),A=_[0].toByteArray(),O=this.subnetMaskFromPrefixLength(_[1]).toByteArray(),C=[],v=0;v<4;)C.push(parseInt(A[v],10)&parseInt(O[v],10)),v++;return new this(C)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},w.IPv4.parse=function(h){const _=this.parser(h);if(_===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(_)},w.IPv4.parseCIDR=function(h){let _;if(_=h.match(/^(.+)\/(\d+)$/)){const v=parseInt(_[2]);if(v>=0&&v<=32){const A=[this.parse(_[1]),v];return Object.defineProperty(A,"toString",{value:function(){return this.join("/")}}),A}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},w.IPv4.parser=function(h){let _,v,A;if(_=h.match(r.fourOctet))return function(){const C=_.slice(1,6),O=[];for(let L=0;L<C.length;L++)v=C[L],O.push(f(v));return O}();if(_=h.match(r.longValue)){if(A=f(_[1]),A>4294967295||A<0)throw new Error("ipaddr: address outside defined range");return function(){const C=[];let O;for(O=0;O<=24;O+=8)C.push(A>>O&255);return C}().reverse()}else return(_=h.match(r.twoOctet))?function(){const C=_.slice(1,4),O=[];if(A=f(C[1]),A>16777215||A<0)throw new Error("ipaddr: address outside defined range");return O.push(f(C[0])),O.push(A>>16&255),O.push(A>>8&255),O.push(A&255),O}():(_=h.match(r.threeOctet))?function(){const C=_.slice(1,5),O=[];if(A=f(C[2]),A>65535||A<0)throw new Error("ipaddr: address outside defined range");return O.push(f(C[0])),O.push(f(C[1])),O.push(A>>8&255),O.push(A&255),O}():null},w.IPv4.subnetMaskFromPrefixLength=function(h){if(h=parseInt(h),h<0||h>32)throw new Error("ipaddr: invalid IPv4 prefix length");const _=[0,0,0,0];let v=0;const A=Math.floor(h/8);for(;v<A;)_[v]=255,v++;return A<4&&(_[A]=Math.pow(2,h%8)-1<<8-h%8),new this(_)},w.IPv6=function(){function h(_,v){let A,C;if(_.length===16)for(this.parts=[],A=0;A<=14;A+=2)this.parts.push(_[A]<<8|_[A+1]);else if(_.length===8)this.parts=_;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(A=0;A<this.parts.length;A++)if(C=this.parts[A],!(0<=C&&C<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");v&&(this.zoneId=v)}return h.prototype.SpecialRanges={unspecified:[new h([0,0,0,0,0,0,0,0]),128],linkLocal:[new h([65152,0,0,0,0,0,0,0]),10],multicast:[new h([65280,0,0,0,0,0,0,0]),8],loopback:[new h([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new h([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new h([0,0,0,0,0,65535,0,0]),96],discard:[new h([256,0,0,0,0,0,0,0]),64],rfc6145:[new h([0,0,0,0,65535,0,0,0]),96],rfc6052:[new h([100,65435,0,0,0,0,0,0]),96],"6to4":[new h([8194,0,0,0,0,0,0,0]),16],teredo:[new h([8193,0,0,0,0,0,0,0]),32],benchmarking:[new h([8193,2,0,0,0,0,0,0]),48],amt:[new h([8193,3,0,0,0,0,0,0]),32],as112v6:[[new h([8193,4,274,0,0,0,0,0]),48],[new h([9760,79,32768,0,0,0,0,0]),48]],deprecated:[new h([8193,16,0,0,0,0,0,0]),28],orchid2:[new h([8193,32,0,0,0,0,0,0]),28],droneRemoteIdProtocolEntityTags:[new h([8193,48,0,0,0,0,0,0]),28],reserved:[[new h([8193,0,0,0,0,0,0,0]),23],[new h([8193,3512,0,0,0,0,0,0]),32]]},h.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},h.prototype.kind=function(){return"ipv6"},h.prototype.match=function(_,v){let A;if(v===void 0&&(A=_,_=A[0],v=A[1]),_.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return p(this.parts,_.parts,16,v)},h.prototype.prefixLengthFromSubnetMask=function(){let _=0,v=!1;const A={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0};let C,O;for(let L=7;L>=0;L-=1)if(C=this.parts[L],C in A){if(O=A[C],v&&O!==0)return null;O!==16&&(v=!0),_+=O}else return null;return 128-_},h.prototype.range=function(){return w.subnetMatch(this,this.SpecialRanges)},h.prototype.toByteArray=function(){let _;const v=[],A=this.parts;for(let C=0;C<A.length;C++)_=A[C],v.push(_>>8),v.push(_&255);return v},h.prototype.toFixedLengthString=function(){const _=(function(){const A=[];for(let C=0;C<this.parts.length;C++)A.push(m(this.parts[C].toString(16),4));return A}).call(this).join(":");let v="";return this.zoneId&&(v=`%${this.zoneId}`),_+v},h.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");const _=this.parts.slice(-2),v=_[0],A=_[1];return new w.IPv4([v>>8,v&255,A>>8,A&255])},h.prototype.toNormalizedString=function(){const _=(function(){const A=[];for(let C=0;C<this.parts.length;C++)A.push(this.parts[C].toString(16));return A}).call(this).join(":");let v="";return this.zoneId&&(v=`%${this.zoneId}`),_+v},h.prototype.toRFC5952String=function(){const _=/((^|:)(0(:|$)){2,})/g,v=this.toNormalizedString();let A=0,C=-1,O;for(;O=_.exec(v);)O[0].length>C&&(A=O.index,C=O[0].length);return C<0?v:`${v.substring(0,A)}::${v.substring(A+C)}`},h.prototype.toString=function(){return this.toRFC5952String()},h}(),w.IPv6.broadcastAddressFromCIDR=function(h){try{const _=this.parseCIDR(h),v=_[0].toByteArray(),A=this.subnetMaskFromPrefixLength(_[1]).toByteArray(),C=[];let O=0;for(;O<16;)C.push(parseInt(v[O],10)|parseInt(A[O],10)^255),O++;return new this(C)}catch(_){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${_})`)}},w.IPv6.isIPv6=function(h){return this.parser(h)!==null},w.IPv6.isValid=function(h){if(typeof h=="string"&&h.indexOf(":")===-1)return!1;try{const _=this.parser(h);return new this(_.parts,_.zoneId),!0}catch{return!1}},w.IPv6.isValidCIDR=function(h){if(typeof h=="string"&&h.indexOf(":")===-1)return!1;try{return this.parseCIDR(h),!0}catch{return!1}},w.IPv6.networkAddressFromCIDR=function(h){let _,v,A,C,O;try{for(_=this.parseCIDR(h),A=_[0].toByteArray(),O=this.subnetMaskFromPrefixLength(_[1]).toByteArray(),C=[],v=0;v<16;)C.push(parseInt(A[v],10)&parseInt(O[v],10)),v++;return new this(C)}catch(L){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${L})`)}},w.IPv6.parse=function(h){const _=this.parser(h);if(_.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(_.parts,_.zoneId)},w.IPv6.parseCIDR=function(h){let _,v,A;if((v=h.match(/^(.+)\/(\d+)$/))&&(_=parseInt(v[2]),_>=0&&_<=128))return A=[this.parse(v[1]),_],Object.defineProperty(A,"toString",{value:function(){return this.join("/")}}),A;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},w.IPv6.parser=function(h){let _,v,A,C,O,L;if(A=h.match(l.deprecatedTransitional))return this.parser(`::ffff:${A[1]}`);if(l.native.test(h))return d(h,8);if((A=h.match(l.transitional))&&(L=A[6]||"",_=A[1],A[1].endsWith("::")||(_=_.slice(0,-1)),_=d(_+L,6),_.parts)){for(O=[parseInt(A[2]),parseInt(A[3]),parseInt(A[4]),parseInt(A[5])],v=0;v<O.length;v++)if(C=O[v],!(0<=C&&C<=255))return null;return _.parts.push(O[0]<<8|O[1]),_.parts.push(O[2]<<8|O[3]),{parts:_.parts,zoneId:_.zoneId}}return null},w.IPv6.subnetMaskFromPrefixLength=function(h){if(h=parseInt(h),h<0||h>128)throw new Error("ipaddr: invalid IPv6 prefix length");const _=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];let v=0;const A=Math.floor(h/8);for(;v<A;)_[v]=255,v++;return A<16&&(_[A]=Math.pow(2,h%8)-1<<8-h%8),new this(_)},w.fromByteArray=function(h){const _=h.length;if(_===4)return new w.IPv4(h);if(_===16)return new w.IPv6(h);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},w.isValid=function(h){return w.IPv6.isValid(h)||w.IPv4.isValid(h)},w.isValidCIDR=function(h){return w.IPv6.isValidCIDR(h)||w.IPv4.isValidCIDR(h)},w.parse=function(h){if(w.IPv6.isValid(h))return w.IPv6.parse(h);if(w.IPv4.isValid(h))return w.IPv4.parse(h);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},w.parseCIDR=function(h){try{return w.IPv6.parseCIDR(h)}catch{try{return w.IPv4.parseCIDR(h)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},w.process=function(h){const _=this.parse(h);return _.kind()==="ipv6"&&_.isIPv4MappedAddress()?_.toIPv4Address():_},w.subnetMatch=function(h,_,v){let A,C,O,L;v==null&&(v="unicast");for(C in _)if(Object.prototype.hasOwnProperty.call(_,C)){for(O=_[C],O[0]&&!(O[0]instanceof Array)&&(O=[O]),A=0;A<O.length;A++)if(L=O[A],h.kind()===L[0].kind()&&h.match.apply(h,L))return C}return v},t.exports?t.exports=w:e.ipaddr=w})(cs)})(Jh);var su=Jh.exports;class ou{static decodeIP(e){if(e.length===64&&parseInt(e,16)===0)return"::/0";if(e.length!==16)return e;const n=parseInt(e.slice(8),16).toString(2).split("").reduce((i,s)=>i+ +s,0);let r=e.slice(0,8).replace(/(.{2})/g,i=>`${parseInt(i,16)}.`);return r=r.slice(0,-1),`${r}/${n}`}static toString(e){if(e.byteLength===4||e.byteLength===16){const n=new Uint8Array(e);return su.fromByteArray(Array.from(n)).toString()}return this.decodeIP(J.ToHex(e))}static fromString(e){const n=su.parse(e);return new Uint8Array(n.toByteArray()).buffer}}var Ra,La,Ua;let Pe=class{constructor(e={}){Object.assign(this,e)}toString(){return this.bmpString||this.printableString||this.teletexString||this.universalString||this.utf8String||""}};u([g({type:b.TeletexString})],Pe.prototype,"teletexString",void 0);u([g({type:b.PrintableString})],Pe.prototype,"printableString",void 0);u([g({type:b.UniversalString})],Pe.prototype,"universalString",void 0);u([g({type:b.Utf8String})],Pe.prototype,"utf8String",void 0);u([g({type:b.BmpString})],Pe.prototype,"bmpString",void 0);Pe=u([R({type:P.Choice})],Pe);let tr=class extends Pe{constructor(e={}){super(e),Object.assign(this,e)}toString(){return this.ia5String||(this.anyValue?J.ToHex(this.anyValue):super.toString())}};u([g({type:b.IA5String})],tr.prototype,"ia5String",void 0);u([g({type:b.Any})],tr.prototype,"anyValue",void 0);tr=u([R({type:P.Choice})],tr);class So{constructor(e={}){this.type="",this.value=new tr,Object.assign(this,e)}}u([g({type:b.ObjectIdentifier})],So.prototype,"type",void 0);u([g({type:tr})],So.prototype,"value",void 0);let nr=Ra=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,Ra.prototype)}};nr=Ra=u([R({type:P.Set,itemType:So})],nr);let Va=La=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,La.prototype)}};Va=La=u([R({type:P.Sequence,itemType:nr})],Va);let xe=Ua=class extends Va{constructor(e){super(e),Object.setPrototypeOf(this,Ua.prototype)}};xe=Ua=u([R({type:P.Sequence})],xe);const kw={fromASN:t=>ou.toString(fs.fromASN(t)),toASN:t=>fs.toASN(ou.fromString(t))};class Hr{constructor(e={}){this.typeId="",this.value=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:b.ObjectIdentifier})],Hr.prototype,"typeId",void 0);u([g({type:b.Any,context:0})],Hr.prototype,"value",void 0);class Cl{constructor(e={}){this.partyName=new Pe,Object.assign(this,e)}}u([g({type:Pe,optional:!0,context:0,implicit:!0})],Cl.prototype,"nameAssigner",void 0);u([g({type:Pe,context:1,implicit:!0})],Cl.prototype,"partyName",void 0);let ie=class{constructor(e={}){Object.assign(this,e)}};u([g({type:Hr,context:0,implicit:!0})],ie.prototype,"otherName",void 0);u([g({type:b.IA5String,context:1,implicit:!0})],ie.prototype,"rfc822Name",void 0);u([g({type:b.IA5String,context:2,implicit:!0})],ie.prototype,"dNSName",void 0);u([g({type:b.Any,context:3,implicit:!0})],ie.prototype,"x400Address",void 0);u([g({type:xe,context:4,implicit:!1})],ie.prototype,"directoryName",void 0);u([g({type:Cl,context:5})],ie.prototype,"ediPartyName",void 0);u([g({type:b.IA5String,context:6,implicit:!0})],ie.prototype,"uniformResourceIdentifier",void 0);u([g({type:b.OctetString,context:7,implicit:!0,converter:kw})],ie.prototype,"iPAddress",void 0);u([g({type:b.ObjectIdentifier,context:8,implicit:!0})],ie.prototype,"registeredID",void 0);ie=u([R({type:P.Choice})],ie);const Nl="1.3.6.1.5.5.7",Sw=`${Nl}.1`,mr=`${Nl}.3`,Ao=`${Nl}.48`,au=`${Ao}.1`,cu=`${Ao}.2`,lu=`${Ao}.3`,du=`${Ao}.5`,dn="2.5.29";var qa;const Ma=`${Sw}.1`;class di{constructor(e={}){this.accessMethod="",this.accessLocation=new ie,Object.assign(this,e)}}u([g({type:b.ObjectIdentifier})],di.prototype,"accessMethod",void 0);u([g({type:ie})],di.prototype,"accessLocation",void 0);let Gn=qa=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,qa.prototype)}};Gn=qa=u([R({type:P.Sequence,itemType:di})],Gn);const Da=`${dn}.35`;class jl extends de{}class wn{constructor(e={}){e&&Object.assign(this,e)}}u([g({type:jl,context:0,optional:!0,implicit:!0})],wn.prototype,"keyIdentifier",void 0);u([g({type:ie,context:1,optional:!0,implicit:!0,repeated:"sequence"})],wn.prototype,"authorityCertIssuer",void 0);u([g({type:b.Integer,context:2,optional:!0,implicit:!0,converter:_e})],wn.prototype,"authorityCertSerialNumber",void 0);const Zh=`${dn}.19`;class hs{constructor(e={}){this.cA=!1,Object.assign(this,e)}}u([g({type:b.Boolean,defaultValue:!1})],hs.prototype,"cA",void 0);u([g({type:b.Integer,optional:!0})],hs.prototype,"pathLenConstraint",void 0);var Ha;let Me=Ha=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,Ha.prototype)}};Me=Ha=u([R({type:P.Sequence,itemType:ie})],Me);var Fa;let uu=Fa=class extends Me{constructor(e){super(e),Object.setPrototypeOf(this,Fa.prototype)}};uu=Fa=u([R({type:P.Sequence})],uu);var Ka;const Yh=`${dn}.32`;let Lt=class{constructor(e={}){Object.assign(this,e)}toString(){return this.ia5String||this.visibleString||this.bmpString||this.utf8String||""}};u([g({type:b.IA5String})],Lt.prototype,"ia5String",void 0);u([g({type:b.VisibleString})],Lt.prototype,"visibleString",void 0);u([g({type:b.BmpString})],Lt.prototype,"bmpString",void 0);u([g({type:b.Utf8String})],Lt.prototype,"utf8String",void 0);Lt=u([R({type:P.Choice})],Lt);class $l{constructor(e={}){this.organization=new Lt,this.noticeNumbers=[],Object.assign(this,e)}}u([g({type:Lt})],$l.prototype,"organization",void 0);u([g({type:b.Integer,repeated:"sequence"})],$l.prototype,"noticeNumbers",void 0);class Ol{constructor(e={}){Object.assign(this,e)}}u([g({type:$l,optional:!0})],Ol.prototype,"noticeRef",void 0);u([g({type:Lt,optional:!0})],Ol.prototype,"explicitText",void 0);let gs=class{constructor(e={}){Object.assign(this,e)}};u([g({type:b.IA5String})],gs.prototype,"cPSuri",void 0);u([g({type:Ol})],gs.prototype,"userNotice",void 0);gs=u([R({type:P.Choice})],gs);class Tl{constructor(e={}){this.policyQualifierId="",this.qualifier=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:b.ObjectIdentifier})],Tl.prototype,"policyQualifierId",void 0);u([g({type:b.Any})],Tl.prototype,"qualifier",void 0);class zo{constructor(e={}){this.policyIdentifier="",Object.assign(this,e)}}u([g({type:b.ObjectIdentifier})],zo.prototype,"policyIdentifier",void 0);u([g({type:Tl,repeated:"sequence",optional:!0})],zo.prototype,"policyQualifiers",void 0);let ms=Ka=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,Ka.prototype)}};ms=Ka=u([R({type:P.Sequence,itemType:zo})],ms);let _s=class{constructor(e=0){this.value=e}};u([g({type:b.Integer})],_s.prototype,"value",void 0);_s=u([R({type:P.Choice})],_s);let pu=class extends _s{};pu=u([R({type:P.Choice})],pu);var Wa;const Ga=`${dn}.31`;var pt;(function(t){t[t.unused=1]="unused",t[t.keyCompromise=2]="keyCompromise",t[t.cACompromise=4]="cACompromise",t[t.affiliationChanged=8]="affiliationChanged",t[t.superseded=16]="superseded",t[t.cessationOfOperation=32]="cessationOfOperation",t[t.certificateHold=64]="certificateHold",t[t.privilegeWithdrawn=128]="privilegeWithdrawn",t[t.aACompromise=256]="aACompromise"})(pt||(pt={}));class Xh extends ko{toJSON(){const e=[],n=this.toNumber();return n&pt.aACompromise&&e.push("aACompromise"),n&pt.affiliationChanged&&e.push("affiliationChanged"),n&pt.cACompromise&&e.push("cACompromise"),n&pt.certificateHold&&e.push("certificateHold"),n&pt.cessationOfOperation&&e.push("cessationOfOperation"),n&pt.keyCompromise&&e.push("keyCompromise"),n&pt.privilegeWithdrawn&&e.push("privilegeWithdrawn"),n&pt.superseded&&e.push("superseded"),n&pt.unused&&e.push("unused"),e}toString(){return`[${this.toJSON().join(", ")}]`}}let zn=class{constructor(e={}){Object.assign(this,e)}};u([g({type:ie,context:0,repeated:"sequence",implicit:!0})],zn.prototype,"fullName",void 0);u([g({type:nr,context:1,implicit:!0})],zn.prototype,"nameRelativeToCRLIssuer",void 0);zn=u([R({type:P.Choice})],zn);class _r{constructor(e={}){Object.assign(this,e)}}u([g({type:zn,context:0,optional:!0})],_r.prototype,"distributionPoint",void 0);u([g({type:Xh,context:1,optional:!0,implicit:!0})],_r.prototype,"reasons",void 0);u([g({type:ie,context:2,optional:!0,repeated:"sequence",implicit:!0})],_r.prototype,"cRLIssuer",void 0);let Yn=Wa=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,Wa.prototype)}};Yn=Wa=u([R({type:P.Sequence,itemType:_r})],Yn);var Ja;let fu=Ja=class extends Yn{constructor(e){super(e),Object.setPrototypeOf(this,Ja.prototype)}};fu=Ja=u([R({type:P.Sequence,itemType:_r})],fu);class Le{constructor(e={}){this.onlyContainsUserCerts=Le.ONLY,this.onlyContainsCACerts=Le.ONLY,this.indirectCRL=Le.ONLY,this.onlyContainsAttributeCerts=Le.ONLY,Object.assign(this,e)}}Le.ONLY=!1;u([g({type:zn,context:0,optional:!0})],Le.prototype,"distributionPoint",void 0);u([g({type:b.Boolean,context:1,defaultValue:Le.ONLY,implicit:!0})],Le.prototype,"onlyContainsUserCerts",void 0);u([g({type:b.Boolean,context:2,defaultValue:Le.ONLY,implicit:!0})],Le.prototype,"onlyContainsCACerts",void 0);u([g({type:Xh,context:3,optional:!0,implicit:!0})],Le.prototype,"onlySomeReasons",void 0);u([g({type:b.Boolean,context:4,defaultValue:Le.ONLY,implicit:!0})],Le.prototype,"indirectCRL",void 0);u([g({type:b.Boolean,context:5,defaultValue:Le.ONLY,implicit:!0})],Le.prototype,"onlyContainsAttributeCerts",void 0);var Pr;(function(t){t[t.unspecified=0]="unspecified",t[t.keyCompromise=1]="keyCompromise",t[t.cACompromise=2]="cACompromise",t[t.affiliationChanged=3]="affiliationChanged",t[t.superseded=4]="superseded",t[t.cessationOfOperation=5]="cessationOfOperation",t[t.certificateHold=6]="certificateHold",t[t.removeFromCRL=8]="removeFromCRL",t[t.privilegeWithdrawn=9]="privilegeWithdrawn",t[t.aACompromise=10]="aACompromise"})(Pr||(Pr={}));let Za=class{constructor(e=Pr.unspecified){this.reason=Pr.unspecified,this.reason=e}toJSON(){return Pr[this.reason]}toString(){return this.toJSON()}};u([g({type:b.Enumerated})],Za.prototype,"reason",void 0);Za=u([R({type:P.Choice})],Za);var Ya;const Qh=`${dn}.37`;let ys=Ya=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,Ya.prototype)}};ys=Ya=u([R({type:P.Sequence,itemType:b.ObjectIdentifier})],ys);const Aw=`${mr}.1`,zw=`${mr}.2`,Ew=`${mr}.3`,Iw=`${mr}.4`,Cw=`${mr}.8`,Nw=`${mr}.9`;let Xa=class{constructor(e=new ArrayBuffer(0)){this.value=e}};u([g({type:b.Integer,converter:_e})],Xa.prototype,"value",void 0);Xa=u([R({type:P.Choice})],Xa);let Qa=class{constructor(e){this.value=new Date,e&&(this.value=e)}};u([g({type:b.GeneralizedTime})],Qa.prototype,"value",void 0);Qa=u([R({type:P.Choice})],Qa);var ec;let hu=ec=class extends Me{constructor(e){super(e),Object.setPrototypeOf(this,ec.prototype)}};hu=ec=u([R({type:P.Sequence})],hu);const eg=`${dn}.15`;var ft;(function(t){t[t.digitalSignature=1]="digitalSignature",t[t.nonRepudiation=2]="nonRepudiation",t[t.keyEncipherment=4]="keyEncipherment",t[t.dataEncipherment=8]="dataEncipherment",t[t.keyAgreement=16]="keyAgreement",t[t.keyCertSign=32]="keyCertSign",t[t.cRLSign=64]="cRLSign",t[t.encipherOnly=128]="encipherOnly",t[t.decipherOnly=256]="decipherOnly"})(ft||(ft={}));class aa extends ko{toJSON(){const e=this.toNumber(),n=[];return e&ft.cRLSign&&n.push("crlSign"),e&ft.dataEncipherment&&n.push("dataEncipherment"),e&ft.decipherOnly&&n.push("decipherOnly"),e&ft.digitalSignature&&n.push("digitalSignature"),e&ft.encipherOnly&&n.push("encipherOnly"),e&ft.keyAgreement&&n.push("keyAgreement"),e&ft.keyCertSign&&n.push("keyCertSign"),e&ft.keyEncipherment&&n.push("keyEncipherment"),e&ft.nonRepudiation&&n.push("nonRepudiation"),n}toString(){return`[${this.toJSON().join(", ")}]`}}var tc;class Eo{constructor(e={}){this.base=new ie,this.minimum=0,Object.assign(this,e)}}u([g({type:ie})],Eo.prototype,"base",void 0);u([g({type:b.Integer,context:0,defaultValue:0,implicit:!0})],Eo.prototype,"minimum",void 0);u([g({type:b.Integer,context:1,optional:!0,implicit:!0})],Eo.prototype,"maximum",void 0);let ws=tc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,tc.prototype)}};ws=tc=u([R({type:P.Sequence,itemType:Eo})],ws);class tg{constructor(e={}){Object.assign(this,e)}}u([g({type:ws,context:0,optional:!0,implicit:!0})],tg.prototype,"permittedSubtrees",void 0);u([g({type:ws,context:1,optional:!0,implicit:!0})],tg.prototype,"excludedSubtrees",void 0);class ng{constructor(e={}){Object.assign(this,e)}}u([g({type:b.Integer,context:0,implicit:!0,optional:!0,converter:_e})],ng.prototype,"requireExplicitPolicy",void 0);u([g({type:b.Integer,context:1,implicit:!0,optional:!0,converter:_e})],ng.prototype,"inhibitPolicyMapping",void 0);var nc;class Pl{constructor(e={}){this.issuerDomainPolicy="",this.subjectDomainPolicy="",Object.assign(this,e)}}u([g({type:b.ObjectIdentifier})],Pl.prototype,"issuerDomainPolicy",void 0);u([g({type:b.ObjectIdentifier})],Pl.prototype,"subjectDomainPolicy",void 0);let gu=nc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,nc.prototype)}};gu=nc=u([R({type:P.Sequence,itemType:Pl})],gu);var rc;const rg=`${dn}.17`;let ic=rc=class extends Me{constructor(e){super(e),Object.setPrototypeOf(this,rc.prototype)}};ic=rc=u([R({type:P.Sequence})],ic);let Ut=class{constructor(e={}){this.type="",this.values=[],Object.assign(this,e)}};u([g({type:b.ObjectIdentifier})],Ut.prototype,"type",void 0);u([g({type:b.Any,repeated:"set"})],Ut.prototype,"values",void 0);var sc;let mu=sc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,sc.prototype)}};mu=sc=u([R({type:P.Sequence,itemType:Ut})],mu);const ig=`${dn}.14`;class Qt extends jl{}class sg{constructor(e={}){Object.assign(this,e)}}u([g({type:b.GeneralizedTime,context:0,implicit:!0,optional:!0})],sg.prototype,"notBefore",void 0);u([g({type:b.GeneralizedTime,context:1,implicit:!0,optional:!0})],sg.prototype,"notAfter",void 0);var Br;(function(t){t[t.keyUpdateAllowed=1]="keyUpdateAllowed",t[t.newExtensions=2]="newExtensions",t[t.pKIXCertificate=4]="pKIXCertificate"})(Br||(Br={}));class og extends ko{toJSON(){const e=[],n=this.toNumber();return n&Br.pKIXCertificate&&e.push("pKIXCertificate"),n&Br.newExtensions&&e.push("newExtensions"),n&Br.keyUpdateAllowed&&e.push("keyUpdateAllowed"),e}toString(){return`[${this.toJSON().join(", ")}]`}}class ag{constructor(e={}){this.entrustVers="",this.entrustInfoFlags=new og,Object.assign(this,e)}}u([g({type:b.GeneralString})],ag.prototype,"entrustVers",void 0);u([g({type:og})],ag.prototype,"entrustInfoFlags",void 0);var oc;let _u=oc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,oc.prototype)}};_u=oc=u([R({type:P.Sequence,itemType:di})],_u);class F{constructor(e={}){this.algorithm="",Object.assign(this,e)}isEqual(e){return e instanceof F&&e.algorithm==this.algorithm&&(e.parameters&&this.parameters&&Wf(e.parameters,this.parameters)||e.parameters===this.parameters)}}u([g({type:b.ObjectIdentifier})],F.prototype,"algorithm",void 0);u([g({type:b.Any,optional:!0})],F.prototype,"parameters",void 0);class ht{constructor(e={}){this.algorithm=new F,this.subjectPublicKey=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:F})],ht.prototype,"algorithm",void 0);u([g({type:b.BitString})],ht.prototype,"subjectPublicKey",void 0);let Oe=class{constructor(e){if(e)if(typeof e=="string"||typeof e=="number"||e instanceof Date){const n=new Date(e);n.getUTCFullYear()>2049?this.generalTime=n:this.utcTime=n}else Object.assign(this,e)}getTime(){const e=this.utcTime||this.generalTime;if(!e)throw new Error("Cannot get time from CHOICE object");return e}};u([g({type:b.UTCTime})],Oe.prototype,"utcTime",void 0);u([g({type:b.GeneralizedTime})],Oe.prototype,"generalTime",void 0);Oe=u([R({type:P.Choice})],Oe);class ui{constructor(e){this.notBefore=new Oe(new Date),this.notAfter=new Oe(new Date),e&&(this.notBefore=new Oe(e.notBefore),this.notAfter=new Oe(e.notAfter))}}u([g({type:Oe})],ui.prototype,"notBefore",void 0);u([g({type:Oe})],ui.prototype,"notAfter",void 0);var ac;let ot=class cg{constructor(e={}){this.extnID="",this.critical=cg.CRITICAL,this.extnValue=new de,Object.assign(this,e)}};ot.CRITICAL=!1;u([g({type:b.ObjectIdentifier})],ot.prototype,"extnID",void 0);u([g({type:b.Boolean,defaultValue:ot.CRITICAL})],ot.prototype,"critical",void 0);u([g({type:de})],ot.prototype,"extnValue",void 0);let nn=ac=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,ac.prototype)}};nn=ac=u([R({type:P.Sequence,itemType:ot})],nn);var En;(function(t){t[t.v1=0]="v1",t[t.v2=1]="v2",t[t.v3=2]="v3"})(En||(En={}));class nt{constructor(e={}){this.version=En.v1,this.serialNumber=new ArrayBuffer(0),this.signature=new F,this.issuer=new xe,this.validity=new ui,this.subject=new xe,this.subjectPublicKeyInfo=new ht,Object.assign(this,e)}}u([g({type:b.Integer,context:0,defaultValue:En.v1})],nt.prototype,"version",void 0);u([g({type:b.Integer,converter:_e})],nt.prototype,"serialNumber",void 0);u([g({type:F})],nt.prototype,"signature",void 0);u([g({type:xe})],nt.prototype,"issuer",void 0);u([g({type:ui})],nt.prototype,"validity",void 0);u([g({type:xe})],nt.prototype,"subject",void 0);u([g({type:ht})],nt.prototype,"subjectPublicKeyInfo",void 0);u([g({type:b.BitString,context:1,implicit:!0,optional:!0})],nt.prototype,"issuerUniqueID",void 0);u([g({type:b.BitString,context:2,implicit:!0,optional:!0})],nt.prototype,"subjectUniqueID",void 0);u([g({type:nn,context:3,optional:!0})],nt.prototype,"extensions",void 0);class In{constructor(e={}){this.tbsCertificate=new nt,this.signatureAlgorithm=new F,this.signatureValue=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:nt})],In.prototype,"tbsCertificate",void 0);u([g({type:F})],In.prototype,"signatureAlgorithm",void 0);u([g({type:b.BitString})],In.prototype,"signatureValue",void 0);class Io{constructor(e={}){this.userCertificate=new ArrayBuffer(0),this.revocationDate=new Oe,Object.assign(this,e)}}u([g({type:b.Integer,converter:_e})],Io.prototype,"userCertificate",void 0);u([g({type:Oe})],Io.prototype,"revocationDate",void 0);u([g({type:ot,optional:!0,repeated:"sequence"})],Io.prototype,"crlEntryExtensions",void 0);class Kt{constructor(e={}){this.signature=new F,this.issuer=new xe,this.thisUpdate=new Oe,Object.assign(this,e)}}u([g({type:b.Integer,optional:!0})],Kt.prototype,"version",void 0);u([g({type:F})],Kt.prototype,"signature",void 0);u([g({type:xe})],Kt.prototype,"issuer",void 0);u([g({type:Oe})],Kt.prototype,"thisUpdate",void 0);u([g({type:Oe,optional:!0})],Kt.prototype,"nextUpdate",void 0);u([g({type:Io,repeated:"sequence",optional:!0})],Kt.prototype,"revokedCertificates",void 0);u([g({type:ot,optional:!0,context:0,repeated:"sequence"})],Kt.prototype,"crlExtensions",void 0);class Bl{constructor(e={}){this.tbsCertList=new Kt,this.signatureAlgorithm=new F,this.signature=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:Kt})],Bl.prototype,"tbsCertList",void 0);u([g({type:F})],Bl.prototype,"signatureAlgorithm",void 0);u([g({type:b.BitString})],Bl.prototype,"signature",void 0);class yr{constructor(e={}){this.issuer=new xe,this.serialNumber=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:xe})],yr.prototype,"issuer",void 0);u([g({type:b.Integer,converter:_e})],yr.prototype,"serialNumber",void 0);let rr=class{constructor(e={}){Object.assign(this,e)}};u([g({type:Qt,context:0,implicit:!0})],rr.prototype,"subjectKeyIdentifier",void 0);u([g({type:yr})],rr.prototype,"issuerAndSerialNumber",void 0);rr=u([R({type:P.Choice})],rr);var Vt;(function(t){t[t.v0=0]="v0",t[t.v1=1]="v1",t[t.v2=2]="v2",t[t.v3=3]="v3",t[t.v4=4]="v4",t[t.v5=5]="v5"})(Vt||(Vt={}));let Fr=class extends F{};Fr=u([R({type:P.Sequence})],Fr);let vs=class extends F{};vs=u([R({type:P.Sequence})],vs);let Ct=class extends F{};Ct=u([R({type:P.Sequence})],Ct);let bs=class extends F{};bs=u([R({type:P.Sequence})],bs);let yu=class extends F{};yu=u([R({type:P.Sequence})],yu);let cc=class extends F{};cc=u([R({type:P.Sequence})],cc);let wr=class{constructor(e={}){this.attrType="",this.attrValues=[],Object.assign(this,e)}};u([g({type:b.ObjectIdentifier})],wr.prototype,"attrType",void 0);u([g({type:b.Any,repeated:"set"})],wr.prototype,"attrValues",void 0);var lc;class jt{constructor(e={}){this.version=Vt.v0,this.sid=new rr,this.digestAlgorithm=new Fr,this.signatureAlgorithm=new vs,this.signature=new de,Object.assign(this,e)}}u([g({type:b.Integer})],jt.prototype,"version",void 0);u([g({type:rr})],jt.prototype,"sid",void 0);u([g({type:Fr})],jt.prototype,"digestAlgorithm",void 0);u([g({type:wr,repeated:"set",context:0,implicit:!0,optional:!0})],jt.prototype,"signedAttrs",void 0);u([g({type:vs})],jt.prototype,"signatureAlgorithm",void 0);u([g({type:de})],jt.prototype,"signature",void 0);u([g({type:wr,repeated:"set",context:1,implicit:!0,optional:!0})],jt.prototype,"unsignedAttrs",void 0);let xs=lc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,lc.prototype)}};xs=lc=u([R({type:P.Set,itemType:jt})],xs);let wu=class extends Oe{};wu=u([R({type:P.Choice})],wu);let vu=class extends jt{};vu=u([R({type:P.Sequence})],vu);class Rl{constructor(e={}){this.acIssuer=new ie,this.acSerial=0,this.attrs=[],Object.assign(this,e)}}u([g({type:ie})],Rl.prototype,"acIssuer",void 0);u([g({type:b.Integer})],Rl.prototype,"acSerial",void 0);u([g({type:Ut,repeated:"sequence"})],Rl.prototype,"attrs",void 0);var dc;let ks=dc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,dc.prototype)}};ks=dc=u([R({type:P.Sequence,itemType:b.ObjectIdentifier})],ks);class Co{constructor(e={}){this.permitUnSpecified=!0,Object.assign(this,e)}}u([g({type:b.Integer,optional:!0})],Co.prototype,"pathLenConstraint",void 0);u([g({type:ks,implicit:!0,context:0,optional:!0})],Co.prototype,"permittedAttrs",void 0);u([g({type:ks,implicit:!0,context:1,optional:!0})],Co.prototype,"excludedAttrs",void 0);u([g({type:b.Boolean,defaultValue:!0})],Co.prototype,"permitUnSpecified",void 0);class Rn{constructor(e={}){this.issuer=new Me,this.serial=new ArrayBuffer(0),this.issuerUID=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:Me})],Rn.prototype,"issuer",void 0);u([g({type:b.Integer,converter:_e})],Rn.prototype,"serial",void 0);u([g({type:b.BitString,optional:!0})],Rn.prototype,"issuerUID",void 0);var uc;(function(t){t[t.publicKey=0]="publicKey",t[t.publicKeyCert=1]="publicKeyCert",t[t.otherObjectTypes=2]="otherObjectTypes"})(uc||(uc={}));class Ln{constructor(e={}){this.digestedObjectType=uc.publicKey,this.digestAlgorithm=new F,this.objectDigest=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:b.Enumerated})],Ln.prototype,"digestedObjectType",void 0);u([g({type:b.ObjectIdentifier,optional:!0})],Ln.prototype,"otherObjectTypeID",void 0);u([g({type:F})],Ln.prototype,"digestAlgorithm",void 0);u([g({type:b.BitString})],Ln.prototype,"objectDigest",void 0);class No{constructor(e={}){Object.assign(this,e)}}u([g({type:Me,optional:!0})],No.prototype,"issuerName",void 0);u([g({type:Rn,context:0,implicit:!0,optional:!0})],No.prototype,"baseCertificateID",void 0);u([g({type:Ln,context:1,implicit:!0,optional:!0})],No.prototype,"objectDigestInfo",void 0);let ir=class{constructor(e={}){Object.assign(this,e)}};u([g({type:ie,repeated:"sequence"})],ir.prototype,"v1Form",void 0);u([g({type:No,context:0,implicit:!0})],ir.prototype,"v2Form",void 0);ir=u([R({type:P.Choice})],ir);class jo{constructor(e={}){this.notBeforeTime=new Date,this.notAfterTime=new Date,Object.assign(this,e)}}u([g({type:b.GeneralizedTime})],jo.prototype,"notBeforeTime",void 0);u([g({type:b.GeneralizedTime})],jo.prototype,"notAfterTime",void 0);class pi{constructor(e={}){Object.assign(this,e)}}u([g({type:Rn,implicit:!0,context:0,optional:!0})],pi.prototype,"baseCertificateID",void 0);u([g({type:Me,implicit:!0,context:1,optional:!0})],pi.prototype,"entityName",void 0);u([g({type:Ln,implicit:!0,context:2,optional:!0})],pi.prototype,"objectDigestInfo",void 0);var pc;(function(t){t[t.v2=1]="v2"})(pc||(pc={}));class vt{constructor(e={}){this.version=pc.v2,this.holder=new pi,this.issuer=new ir,this.signature=new F,this.serialNumber=new ArrayBuffer(0),this.attrCertValidityPeriod=new jo,this.attributes=[],Object.assign(this,e)}}u([g({type:b.Integer})],vt.prototype,"version",void 0);u([g({type:pi})],vt.prototype,"holder",void 0);u([g({type:ir})],vt.prototype,"issuer",void 0);u([g({type:F})],vt.prototype,"signature",void 0);u([g({type:b.Integer,converter:_e})],vt.prototype,"serialNumber",void 0);u([g({type:jo})],vt.prototype,"attrCertValidityPeriod",void 0);u([g({type:Ut,repeated:"sequence"})],vt.prototype,"attributes",void 0);u([g({type:b.BitString,optional:!0})],vt.prototype,"issuerUniqueID",void 0);u([g({type:nn,optional:!0})],vt.prototype,"extensions",void 0);class $o{constructor(e={}){this.acinfo=new vt,this.signatureAlgorithm=new F,this.signatureValue=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:vt})],$o.prototype,"acinfo",void 0);u([g({type:F})],$o.prototype,"signatureAlgorithm",void 0);u([g({type:b.BitString})],$o.prototype,"signatureValue",void 0);var Ss;(function(t){t[t.unmarked=1]="unmarked",t[t.unclassified=2]="unclassified",t[t.restricted=4]="restricted",t[t.confidential=8]="confidential",t[t.secret=16]="secret",t[t.topSecret=32]="topSecret"})(Ss||(Ss={}));class fc extends ko{}class Ll{constructor(e={}){this.type="",this.value=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:b.ObjectIdentifier,implicit:!0,context:0})],Ll.prototype,"type",void 0);u([g({type:b.Any,implicit:!0,context:1})],Ll.prototype,"value",void 0);class Ul{constructor(e={}){this.policyId="",this.classList=new fc(Ss.unclassified),Object.assign(this,e)}}u([g({type:b.ObjectIdentifier})],Ul.prototype,"policyId",void 0);u([g({type:fc,defaultValue:new fc(Ss.unclassified)})],Ul.prototype,"classList",void 0);u([g({type:Ll,repeated:"set"})],Ul.prototype,"securityCategories",void 0);class Oo{constructor(e={}){Object.assign(this,e)}}u([g({type:de})],Oo.prototype,"cotets",void 0);u([g({type:b.ObjectIdentifier})],Oo.prototype,"oid",void 0);u([g({type:b.Utf8String})],Oo.prototype,"string",void 0);class lg{constructor(e={}){this.values=[],Object.assign(this,e)}}u([g({type:Me,implicit:!0,context:0,optional:!0})],lg.prototype,"policyAuthority",void 0);u([g({type:Oo,repeated:"sequence"})],lg.prototype,"values",void 0);var hc;class To{constructor(e={}){this.targetCertificate=new Rn,Object.assign(this,e)}}u([g({type:Rn})],To.prototype,"targetCertificate",void 0);u([g({type:ie,optional:!0})],To.prototype,"targetName",void 0);u([g({type:Ln,optional:!0})],To.prototype,"certDigestInfo",void 0);let sr=class{constructor(e={}){Object.assign(this,e)}};u([g({type:ie,context:0,implicit:!0})],sr.prototype,"targetName",void 0);u([g({type:ie,context:1,implicit:!0})],sr.prototype,"targetGroup",void 0);u([g({type:To,context:2,implicit:!0})],sr.prototype,"targetCert",void 0);sr=u([R({type:P.Choice})],sr);let gc=hc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,hc.prototype)}};gc=hc=u([R({type:P.Sequence,itemType:sr})],gc);var mc;let bu=mc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,mc.prototype)}};bu=mc=u([R({type:P.Sequence,itemType:gc})],bu);class dg{constructor(e={}){Object.assign(this,e)}}u([g({type:Me,implicit:!0,context:0,optional:!0})],dg.prototype,"roleAuthority",void 0);u([g({type:ie,implicit:!0,context:1})],dg.prototype,"roleName",void 0);class Vl{constructor(e={}){this.service=new ie,this.ident=new ie,Object.assign(this,e)}}u([g({type:ie})],Vl.prototype,"service",void 0);u([g({type:ie})],Vl.prototype,"ident",void 0);u([g({type:de,optional:!0})],Vl.prototype,"authInfo",void 0);var _c;class ql{constructor(e={}){this.otherCertFormat="",this.otherCert=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:b.ObjectIdentifier})],ql.prototype,"otherCertFormat",void 0);u([g({type:b.Any})],ql.prototype,"otherCert",void 0);let or=class{constructor(e={}){Object.assign(this,e)}};u([g({type:In})],or.prototype,"certificate",void 0);u([g({type:$o,context:2,implicit:!0})],or.prototype,"v2AttrCert",void 0);u([g({type:ql,context:3,implicit:!0})],or.prototype,"other",void 0);or=u([R({type:P.Choice})],or);let As=_c=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,_c.prototype)}};As=_c=u([R({type:P.Set,itemType:or})],As);class vr{constructor(e={}){this.contentType="",this.content=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:b.ObjectIdentifier})],vr.prototype,"contentType",void 0);u([g({type:b.Any,context:0})],vr.prototype,"content",void 0);let Kr=class{constructor(e={}){Object.assign(this,e)}};u([g({type:de})],Kr.prototype,"single",void 0);u([g({type:b.Any})],Kr.prototype,"any",void 0);Kr=u([R({type:P.Choice})],Kr);class Po{constructor(e={}){this.eContentType="",Object.assign(this,e)}}u([g({type:b.ObjectIdentifier})],Po.prototype,"eContentType",void 0);u([g({type:Kr,context:0,optional:!0})],Po.prototype,"eContent",void 0);let Wr=class{constructor(e={}){Object.assign(this,e)}};u([g({type:de,context:0,implicit:!0,optional:!0})],Wr.prototype,"value",void 0);u([g({type:de,converter:sw,context:0,implicit:!0,optional:!0,repeated:"sequence"})],Wr.prototype,"constructedValue",void 0);Wr=u([R({type:P.Choice})],Wr);class fi{constructor(e={}){this.contentType="",this.contentEncryptionAlgorithm=new bs,Object.assign(this,e)}}u([g({type:b.ObjectIdentifier})],fi.prototype,"contentType",void 0);u([g({type:bs})],fi.prototype,"contentEncryptionAlgorithm",void 0);u([g({type:Wr,optional:!0})],fi.prototype,"encryptedContent",void 0);class Bo{constructor(e={}){this.keyAttrId="",Object.assign(this,e)}}u([g({type:b.ObjectIdentifier})],Bo.prototype,"keyAttrId",void 0);u([g({type:b.Any,optional:!0})],Bo.prototype,"keyAttr",void 0);var yc;class Ro{constructor(e={}){this.subjectKeyIdentifier=new Qt,Object.assign(this,e)}}u([g({type:Qt})],Ro.prototype,"subjectKeyIdentifier",void 0);u([g({type:b.GeneralizedTime,optional:!0})],Ro.prototype,"date",void 0);u([g({type:Bo,optional:!0})],Ro.prototype,"other",void 0);let ar=class{constructor(e={}){Object.assign(this,e)}};u([g({type:Ro,context:0,implicit:!0,optional:!0})],ar.prototype,"rKeyId",void 0);u([g({type:yr,optional:!0})],ar.prototype,"issuerAndSerialNumber",void 0);ar=u([R({type:P.Choice})],ar);class Ml{constructor(e={}){this.rid=new ar,this.encryptedKey=new de,Object.assign(this,e)}}u([g({type:ar})],Ml.prototype,"rid",void 0);u([g({type:de})],Ml.prototype,"encryptedKey",void 0);let zs=yc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,yc.prototype)}};zs=yc=u([R({type:P.Sequence,itemType:Ml})],zs);class Dl{constructor(e={}){this.algorithm=new F,this.publicKey=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:F})],Dl.prototype,"algorithm",void 0);u([g({type:b.BitString})],Dl.prototype,"publicKey",void 0);let Cn=class{constructor(e={}){Object.assign(this,e)}};u([g({type:Qt,context:0,implicit:!0,optional:!0})],Cn.prototype,"subjectKeyIdentifier",void 0);u([g({type:Dl,context:1,implicit:!0,optional:!0})],Cn.prototype,"originatorKey",void 0);u([g({type:yr,optional:!0})],Cn.prototype,"issuerAndSerialNumber",void 0);Cn=u([R({type:P.Choice})],Cn);class br{constructor(e={}){this.version=Vt.v3,this.originator=new Cn,this.keyEncryptionAlgorithm=new Ct,this.recipientEncryptedKeys=new zs,Object.assign(this,e)}}u([g({type:b.Integer})],br.prototype,"version",void 0);u([g({type:Cn,context:0})],br.prototype,"originator",void 0);u([g({type:de,context:1,optional:!0})],br.prototype,"ukm",void 0);u([g({type:Ct})],br.prototype,"keyEncryptionAlgorithm",void 0);u([g({type:zs})],br.prototype,"recipientEncryptedKeys",void 0);let cr=class{constructor(e={}){Object.assign(this,e)}};u([g({type:Qt,context:0,implicit:!0})],cr.prototype,"subjectKeyIdentifier",void 0);u([g({type:yr})],cr.prototype,"issuerAndSerialNumber",void 0);cr=u([R({type:P.Choice})],cr);class hi{constructor(e={}){this.version=Vt.v0,this.rid=new cr,this.keyEncryptionAlgorithm=new Ct,this.encryptedKey=new de,Object.assign(this,e)}}u([g({type:b.Integer})],hi.prototype,"version",void 0);u([g({type:cr})],hi.prototype,"rid",void 0);u([g({type:Ct})],hi.prototype,"keyEncryptionAlgorithm",void 0);u([g({type:de})],hi.prototype,"encryptedKey",void 0);class gi{constructor(e={}){this.keyIdentifier=new de,Object.assign(this,e)}}u([g({type:de})],gi.prototype,"keyIdentifier",void 0);u([g({type:b.GeneralizedTime,optional:!0})],gi.prototype,"date",void 0);u([g({type:Bo,optional:!0})],gi.prototype,"other",void 0);class mi{constructor(e={}){this.version=Vt.v4,this.kekid=new gi,this.keyEncryptionAlgorithm=new Ct,this.encryptedKey=new de,Object.assign(this,e)}}u([g({type:b.Integer})],mi.prototype,"version",void 0);u([g({type:gi})],mi.prototype,"kekid",void 0);u([g({type:Ct})],mi.prototype,"keyEncryptionAlgorithm",void 0);u([g({type:de})],mi.prototype,"encryptedKey",void 0);class _i{constructor(e={}){this.version=Vt.v0,this.keyEncryptionAlgorithm=new Ct,this.encryptedKey=new de,Object.assign(this,e)}}u([g({type:b.Integer})],_i.prototype,"version",void 0);u([g({type:cc,context:0,optional:!0})],_i.prototype,"keyDerivationAlgorithm",void 0);u([g({type:Ct})],_i.prototype,"keyEncryptionAlgorithm",void 0);u([g({type:de})],_i.prototype,"encryptedKey",void 0);class Hl{constructor(e={}){this.oriType="",this.oriValue=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:b.ObjectIdentifier})],Hl.prototype,"oriType",void 0);u([g({type:b.Any})],Hl.prototype,"oriValue",void 0);let rn=class{constructor(e={}){Object.assign(this,e)}};u([g({type:hi,optional:!0})],rn.prototype,"ktri",void 0);u([g({type:br,context:1,implicit:!0,optional:!0})],rn.prototype,"kari",void 0);u([g({type:mi,context:2,implicit:!0,optional:!0})],rn.prototype,"kekri",void 0);u([g({type:_i,context:3,implicit:!0,optional:!0})],rn.prototype,"pwri",void 0);u([g({type:Hl,context:4,implicit:!0,optional:!0})],rn.prototype,"ori",void 0);rn=u([R({type:P.Choice})],rn);var wc;let Es=wc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,wc.prototype)}};Es=wc=u([R({type:P.Set,itemType:rn})],Es);var vc;class Lo{constructor(e={}){this.otherRevInfoFormat="",this.otherRevInfo=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:b.ObjectIdentifier})],Lo.prototype,"otherRevInfoFormat",void 0);u([g({type:b.Any})],Lo.prototype,"otherRevInfo",void 0);let Is=class{constructor(e={}){this.other=new Lo,Object.assign(this,e)}};u([g({type:Lo,context:1,implicit:!0})],Is.prototype,"other",void 0);Is=u([R({type:P.Choice})],Is);let Cs=vc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,vc.prototype)}};Cs=vc=u([R({type:P.Set,itemType:Is})],Cs);class Fl{constructor(e={}){Object.assign(this,e)}}u([g({type:As,context:0,implicit:!0,optional:!0})],Fl.prototype,"certs",void 0);u([g({type:Cs,context:1,implicit:!0,optional:!0})],Fl.prototype,"crls",void 0);var bc;let xc=bc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,bc.prototype)}};xc=bc=u([R({type:P.Set,itemType:wr})],xc);class yi{constructor(e={}){this.version=Vt.v0,this.recipientInfos=new Es,this.encryptedContentInfo=new fi,Object.assign(this,e)}}u([g({type:b.Integer})],yi.prototype,"version",void 0);u([g({type:Fl,context:0,implicit:!0,optional:!0})],yi.prototype,"originatorInfo",void 0);u([g({type:Es})],yi.prototype,"recipientInfos",void 0);u([g({type:fi})],yi.prototype,"encryptedContentInfo",void 0);u([g({type:xc,context:1,implicit:!0,optional:!0})],yi.prototype,"unprotectedAttrs",void 0);const jw="1.2.840.113549.1.7.2";var kc;let Ns=kc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,kc.prototype)}};Ns=kc=u([R({type:P.Set,itemType:Fr})],Ns);class xr{constructor(e={}){this.version=Vt.v0,this.digestAlgorithms=new Ns,this.encapContentInfo=new Po,this.signerInfos=new xs,Object.assign(this,e)}}u([g({type:b.Integer})],xr.prototype,"version",void 0);u([g({type:Ns})],xr.prototype,"digestAlgorithms",void 0);u([g({type:Po})],xr.prototype,"encapContentInfo",void 0);u([g({type:As,context:0,implicit:!0,optional:!0})],xr.prototype,"certificates",void 0);u([g({type:Cs,context:1,implicit:!0,optional:!0})],xr.prototype,"crls",void 0);u([g({type:xs})],xr.prototype,"signerInfos",void 0);const Gr="1.2.840.10045.2.1",Kl="1.2.840.10045.4.1",ug="1.2.840.10045.4.3.1",Wl="1.2.840.10045.4.3.2",Gl="1.2.840.10045.4.3.3",Jl="1.2.840.10045.4.3.4",xu="1.2.840.10045.3.1.7",ku="1.3.132.0.34",Su="1.3.132.0.35";function wi(t){return new F({algorithm:t})}const $w=wi(Kl);wi(ug);const Ow=wi(Wl),Tw=wi(Gl),Pw=wi(Jl);let Jr=class{constructor(e={}){Object.assign(this,e)}};u([g({type:b.ObjectIdentifier})],Jr.prototype,"fieldType",void 0);u([g({type:b.Any})],Jr.prototype,"parameters",void 0);Jr=u([R({type:P.Sequence})],Jr);class Bw extends de{}let lr=class{constructor(e={}){Object.assign(this,e)}};u([g({type:b.OctetString})],lr.prototype,"a",void 0);u([g({type:b.OctetString})],lr.prototype,"b",void 0);u([g({type:b.BitString,optional:!0})],lr.prototype,"seed",void 0);lr=u([R({type:P.Sequence})],lr);var Sc;(function(t){t[t.ecpVer1=1]="ecpVer1"})(Sc||(Sc={}));let qt=class{constructor(e={}){this.version=Sc.ecpVer1,Object.assign(this,e)}};u([g({type:b.Integer})],qt.prototype,"version",void 0);u([g({type:Jr})],qt.prototype,"fieldID",void 0);u([g({type:lr})],qt.prototype,"curve",void 0);u([g({type:Bw})],qt.prototype,"base",void 0);u([g({type:b.Integer,converter:_e})],qt.prototype,"order",void 0);u([g({type:b.Integer,optional:!0})],qt.prototype,"cofactor",void 0);qt=u([R({type:P.Sequence})],qt);let sn=class{constructor(e={}){Object.assign(this,e)}};u([g({type:b.ObjectIdentifier})],sn.prototype,"namedCurve",void 0);u([g({type:b.Null})],sn.prototype,"implicitCurve",void 0);u([g({type:qt})],sn.prototype,"specifiedCurve",void 0);sn=u([R({type:P.Choice})],sn);class Uo{constructor(e={}){this.version=1,this.privateKey=new de,Object.assign(this,e)}}u([g({type:b.Integer})],Uo.prototype,"version",void 0);u([g({type:de})],Uo.prototype,"privateKey",void 0);u([g({type:sn,context:0,optional:!0})],Uo.prototype,"parameters",void 0);u([g({type:b.BitString,context:1,optional:!0})],Uo.prototype,"publicKey",void 0);class js{constructor(e={}){this.r=new ArrayBuffer(0),this.s=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:b.Integer,converter:_e})],js.prototype,"r",void 0);u([g({type:b.Integer,converter:_e})],js.prototype,"s",void 0);const Ye="1.2.840.113549.1.1",Nn=`${Ye}.1`,Rw=`${Ye}.7`,Lw=`${Ye}.9`,Rr=`${Ye}.10`,Uw=`${Ye}.2`,Vw=`${Ye}.4`,$s=`${Ye}.5`,qw=`${Ye}.14`,Ac=`${Ye}.11`,Os=`${Ye}.12`,Ts=`${Ye}.13`,pg=`${Ye}.15`,fg=`${Ye}.16`,Ps="1.3.14.3.2.26",hg="2.16.840.1.101.3.4.2.4",Bs="2.16.840.1.101.3.4.2.1",Rs="2.16.840.1.101.3.4.2.2",Ls="2.16.840.1.101.3.4.2.3",Mw="2.16.840.1.101.3.4.2.5",Dw="2.16.840.1.101.3.4.2.6",Hw="1.2.840.113549.2.2",Fw="1.2.840.113549.2.5",Vo=`${Ye}.8`;function Ie(t){return new F({algorithm:t,parameters:null})}Ie(Hw);Ie(Fw);const jn=Ie(Ps);Ie(hg);Ie(Bs);Ie(Rs);Ie(Ls);Ie(Mw);Ie(Dw);const gg=new F({algorithm:Vo,parameters:q.serialize(jn)}),mg=new F({algorithm:Lw,parameters:q.serialize(fs.toASN(new Uint8Array([218,57,163,238,94,107,75,13,50,85,191,239,149,96,24,144,175,216,7,9]).buffer))});Ie(Nn);Ie(Uw);Ie(Vw);Ie($s);Ie(pg);Ie(fg);Ie(Os);Ie(Ts);Ie(pg);Ie(fg);class qo{constructor(e={}){this.hashAlgorithm=new F(jn),this.maskGenAlgorithm=new F({algorithm:Vo,parameters:q.serialize(jn)}),this.pSourceAlgorithm=new F(mg),Object.assign(this,e)}}u([g({type:F,context:0,defaultValue:jn})],qo.prototype,"hashAlgorithm",void 0);u([g({type:F,context:1,defaultValue:gg})],qo.prototype,"maskGenAlgorithm",void 0);u([g({type:F,context:2,defaultValue:mg})],qo.prototype,"pSourceAlgorithm",void 0);new F({algorithm:Rw,parameters:q.serialize(new qo)});class $n{constructor(e={}){this.hashAlgorithm=new F(jn),this.maskGenAlgorithm=new F({algorithm:Vo,parameters:q.serialize(jn)}),this.saltLength=20,this.trailerField=1,Object.assign(this,e)}}u([g({type:F,context:0,defaultValue:jn})],$n.prototype,"hashAlgorithm",void 0);u([g({type:F,context:1,defaultValue:gg})],$n.prototype,"maskGenAlgorithm",void 0);u([g({type:b.Integer,context:2,defaultValue:20})],$n.prototype,"saltLength",void 0);u([g({type:b.Integer,context:3,defaultValue:1})],$n.prototype,"trailerField",void 0);new F({algorithm:Rr,parameters:q.serialize(new $n)});class Mo{constructor(e={}){this.digestAlgorithm=new F,this.digest=new de,Object.assign(this,e)}}u([g({type:F})],Mo.prototype,"digestAlgorithm",void 0);u([g({type:de})],Mo.prototype,"digest",void 0);var zc;class Do{constructor(e={}){this.prime=new ArrayBuffer(0),this.exponent=new ArrayBuffer(0),this.coefficient=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:b.Integer,converter:_e})],Do.prototype,"prime",void 0);u([g({type:b.Integer,converter:_e})],Do.prototype,"exponent",void 0);u([g({type:b.Integer,converter:_e})],Do.prototype,"coefficient",void 0);let Ec=zc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,zc.prototype)}};Ec=zc=u([R({type:P.Sequence,itemType:Do})],Ec);class $t{constructor(e={}){this.version=0,this.modulus=new ArrayBuffer(0),this.publicExponent=new ArrayBuffer(0),this.privateExponent=new ArrayBuffer(0),this.prime1=new ArrayBuffer(0),this.prime2=new ArrayBuffer(0),this.exponent1=new ArrayBuffer(0),this.exponent2=new ArrayBuffer(0),this.coefficient=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:b.Integer})],$t.prototype,"version",void 0);u([g({type:b.Integer,converter:_e})],$t.prototype,"modulus",void 0);u([g({type:b.Integer,converter:_e})],$t.prototype,"publicExponent",void 0);u([g({type:b.Integer,converter:_e})],$t.prototype,"privateExponent",void 0);u([g({type:b.Integer,converter:_e})],$t.prototype,"prime1",void 0);u([g({type:b.Integer,converter:_e})],$t.prototype,"prime2",void 0);u([g({type:b.Integer,converter:_e})],$t.prototype,"exponent1",void 0);u([g({type:b.Integer,converter:_e})],$t.prototype,"exponent2",void 0);u([g({type:b.Integer,converter:_e})],$t.prototype,"coefficient",void 0);u([g({type:Ec,optional:!0})],$t.prototype,"otherPrimeInfos",void 0);class Zl{constructor(e={}){this.modulus=new ArrayBuffer(0),this.publicExponent=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:b.Integer,converter:_e})],Zl.prototype,"modulus",void 0);u([g({type:b.Integer,converter:_e})],Zl.prototype,"publicExponent",void 0);var Ic;(function(t){t[t.Transient=0]="Transient",t[t.Singleton=1]="Singleton",t[t.ResolutionScoped=2]="ResolutionScoped",t[t.ContainerScoped=3]="ContainerScoped"})(Ic||(Ic={}));const Fe=Ic;/*! *****************************************************************************
103
+ `)}`:`${n} :`}}th=We;K.Constructed=th;We.NAME="CONSTRUCTED";class nh extends De{fromBER(e,n,r){return n}toBER(e){return wt}}nh.override="EndOfContentValueBlock";var rh;class _l extends Te{constructor(e={}){super(e,nh),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}}rh=_l;K.EndOfContent=rh;_l.NAME=Dr;var ih;class Sn extends Te{constructor(e={}){super(e,De),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(e,n,r){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=r,n+r>e.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):n+r}toBER(e,n){const r=new ArrayBuffer(2);if(!e){const i=new Uint8Array(r);i[0]=5,i[1]=0}return n&&n.write(r),r}onAsciiEncoding(){return`${this.constructor.NAME}`}}ih=Sn;K.Null=ih;Sn.NAME="NULL";class sh extends Nt(De){constructor({value:e,...n}={}){super(n),n.valueHex?this.valueHexView=M.toUint8Array(n.valueHex):this.valueHexView=new Uint8Array(1),e&&(this.value=e)}get value(){for(const e of this.valueHexView)if(e>0)return!0;return!1}set value(e){this.valueHexView[0]=e?255:0}fromBER(e,n,r){const i=M.toUint8Array(e);return Ft(this,i,n,r)?(this.valueHexView=i.subarray(n,n+r),r>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,Wf.call(this),this.blockLength=r,n+r):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}}sh.NAME="BooleanValueBlock";var oh;class co extends Te{constructor(e={}){super(e,sh),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.getValue}`}}oh=co;K.Boolean=oh;co.NAME="BOOLEAN";class ah extends Nt(Qt){constructor({isConstructed:e=!1,...n}={}){super(n),this.isConstructed=e}fromBER(e,n,r){let i=0;if(this.isConstructed){if(this.isHexOnly=!1,i=Qt.prototype.fromBER.call(this,e,n,r),i===-1)return i;for(let s=0;s<this.value.length;s++){const a=this.value[s].constructor.NAME;if(a===Dr){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(a!==Gf)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,i=super.fromBER(e,n,r),this.blockLength=r;return i}toBER(e,n){return this.isConstructed?Qt.prototype.toBER.call(this,e,n):e?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}}ah.NAME="OctetStringValueBlock";var ch;let bn=class lh extends Te{constructor({idBlock:e={},lenBlock:n={},...r}={}){var i,s;(i=r.isConstructed)!==null&&i!==void 0||(r.isConstructed=!!(!((s=r.value)===null||s===void 0)&&s.length)),super({idBlock:{isConstructed:r.isConstructed,...e},lenBlock:{...n,isIndefiniteForm:!!r.isIndefiniteForm},...r},ah),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(e,n,r){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,r===0)return this.idBlock.error.length===0&&(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length===0&&(this.blockLength+=this.lenBlock.blockLength),n;if(!this.valueBlock.isConstructed){const s=(e instanceof ArrayBuffer?new Uint8Array(e):e).subarray(n,n+r);try{if(s.byteLength){const a=gr(s,0,s.byteLength);a.offset!==-1&&a.offset===r&&(this.valueBlock.value=[a.result])}}catch{}}return super.fromBER(e,n,r)}onAsciiEncoding(){return this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length?We.prototype.onAsciiEncoding.call(this):`${this.constructor.NAME} : ${J.ToHex(this.valueBlock.valueHexView)}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;const e=[];for(const n of this.valueBlock.value)n instanceof lh&&e.push(n.valueBlock.valueHexView);return M.concat(e)}};ch=bn;K.OctetString=ch;bn.NAME=Gf;class dh extends Nt(Qt){constructor({unusedBits:e=0,isConstructed:n=!1,...r}={}){super(r),this.unusedBits=e,this.isConstructed=n,this.blockLength=this.valueHexView.byteLength}fromBER(e,n,r){if(!r)return n;let i=-1;if(this.isConstructed){if(i=Qt.prototype.fromBER.call(this,e,n,r),i===-1)return i;for(const c of this.value){const l=c.constructor.NAME;if(l===Dr){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(l!==Jf)return this.error="BIT STRING may consists of BIT STRINGs only",-1;const d=c.valueBlock;if(this.unusedBits>0&&d.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=d.unusedBits}return i}const s=M.toUint8Array(e);if(!Ft(this,s,n,r))return-1;const a=s.subarray(n,n+r);if(this.unusedBits=a[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){const c=a.subarray(1);try{if(c.byteLength){const l=gr(c,0,c.byteLength);l.offset!==-1&&l.offset===r-1&&(this.value=[l.result])}}catch{}}return this.valueHexView=a.subarray(1),this.blockLength=a.length,n+r}toBER(e,n){if(this.isConstructed)return Qt.prototype.toBER.call(this,e,n);if(e)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return wt;const r=new Uint8Array(this.valueHexView.length+1);return r[0]=this.unusedBits,r.set(this.valueHexView,1),r.buffer}toJSON(){return{...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}}dh.NAME="BitStringValueBlock";var uh;let xn=class extends Te{constructor({idBlock:e={},lenBlock:n={},...r}={}){var i,s;(i=r.isConstructed)!==null&&i!==void 0||(r.isConstructed=!!(!((s=r.value)===null||s===void 0)&&s.length)),super({idBlock:{isConstructed:r.isConstructed,...e},lenBlock:{...n,isIndefiniteForm:!!r.isIndefiniteForm},...r},dh),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(e,n,r){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(e,n,r)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return We.prototype.onAsciiEncoding.call(this);{const e=[],n=this.valueBlock.valueHexView;for(const i of n)e.push(i.toString(2).padStart(8,"0"));const r=e.join("");return`${this.constructor.NAME} : ${r.substring(0,r.length-this.valueBlock.unusedBits)}`}}};uh=xn;K.BitString=uh;xn.NAME=Jf;var ph;function Jy(t,e){const n=new Uint8Array([0]),r=new Uint8Array(t),i=new Uint8Array(e);let s=r.slice(0);const a=s.length-1,c=i.slice(0),l=c.length-1;let d=0;const p=l<a?a:l;let f=0;for(let m=p;m>=0;m--,f++){switch(!0){case f<c.length:d=s[a-f]+c[l-f]+n[0];break;default:d=s[a-f]+n[0]}switch(n[0]=d/10,!0){case f>=s.length:s=Oa(new Uint8Array([d%10]),s);break;default:s[a-f]=d%10}}return n[0]>0&&(s=Oa(n,s)),s}function nu(t){if(t>=Nr.length)for(let e=Nr.length;e<=t;e++){const n=new Uint8Array([0]);let r=Nr[e-1].slice(0);for(let i=r.length-1;i>=0;i--){const s=new Uint8Array([(r[i]<<1)+n[0]]);n[0]=s[0]/10,r[i]=s[0]%10}n[0]>0&&(r=Oa(n,r)),Nr.push(r)}return Nr[t]}function Zy(t,e){let n=0;const r=new Uint8Array(t),i=new Uint8Array(e),s=r.slice(0),a=s.length-1,c=i.slice(0),l=c.length-1;let d,p=0;for(let f=l;f>=0;f--,p++)switch(d=s[a-p]-c[l-p]-n,!0){case d<0:n=1,s[a-p]=d+10;break;default:n=0,s[a-p]=d}if(n>0)for(let f=a-l+1;f>=0;f--,p++)if(d=s[a-p]-n,d<0)n=1,s[a-p]=d+10;else{n=0,s[a-p]=d;break}return s.slice()}class yl extends Nt(De){constructor({value:e,...n}={}){super(n),this._valueDec=0,n.valueHex&&this.setValueHex(),e!==void 0&&(this.valueDec=e)}setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=Wf.call(this)))}set valueDec(e){this._valueDec=e,this.isHexOnly=!1,this.valueHexView=new Uint8Array(Ry(e))}get valueDec(){return this._valueDec}fromDER(e,n,r,i=0){const s=this.fromBER(e,n,r);if(s===-1)return s;const a=this.valueHexView;return a[0]===0&&a[1]&128?this.valueHexView=a.subarray(1):i!==0&&a.length<i&&(i-a.length>1&&(i=a.length+1),this.valueHexView=a.subarray(i-a.length)),s}toDER(e=!1){const n=this.valueHexView;switch(!0){case(n[0]&128)!==0:{const r=new Uint8Array(this.valueHexView.length+1);r[0]=0,r.set(n,1),this.valueHexView=r}break;case(n[0]===0&&(n[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(e)}fromBER(e,n,r){const i=super.fromBER(e,n,r);return i===-1||this.setValueHex(),i}toBER(e){return e?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}toString(){const e=this.valueHexView.length*8-1;let n=new Uint8Array(this.valueHexView.length*8/3),r=0,i;const s=this.valueHexView;let a="",c=!1;for(let l=s.byteLength-1;l>=0;l--){i=s[l];for(let d=0;d<8;d++){if((i&1)===1)switch(r){case e:n=Zy(nu(r),n),a="-";break;default:n=Jy(n,nu(r))}r++,i>>=1}}for(let l=0;l<n.length;l++)n[l]&&(c=!0),c&&(a+=eu.charAt(n[l]));return c===!1&&(a+=eu.charAt(0)),a}}ph=yl;yl.NAME="IntegerValueBlock";Object.defineProperty(ph.prototype,"valueHex",{set:function(t){this.valueHexView=new Uint8Array(t),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});var fh;class Et extends Te{constructor(e={}){super(e,yl),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return us(),BigInt(this.valueBlock.toString())}static fromBigInt(e){us();const n=BigInt(e),r=new oo,i=n.toString(16).replace(/^-/,""),s=new Uint8Array(J.FromHex(i));if(n<0){const c=new Uint8Array(s.length+(s[0]&128?1:0));c[0]|=128;const d=BigInt(`0x${J.ToHex(c)}`)+n,p=M.toUint8Array(J.FromHex(d.toString(16)));p[0]|=128,r.write(p)}else s[0]&128&&r.write(new Uint8Array([0])),r.write(s);return new Et({valueHex:r.final()})}convertToDER(){const e=new Et({valueHex:this.valueBlock.valueHexView});return e.valueBlock.toDER(),e}convertFromDER(){return new Et({valueHex:this.valueBlock.valueHexView[0]===0?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()}`}}fh=Et;K.Integer=fh;Et.NAME="INTEGER";var hh;class lo extends Et{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}}hh=lo;K.Enumerated=hh;lo.NAME="ENUMERATED";class Ta extends Nt(De){constructor({valueDec:e=-1,isFirstSid:n=!1,...r}={}){super(r),this.valueDec=e,this.isFirstSid=n}fromBER(e,n,r){if(!r)return n;const i=M.toUint8Array(e);if(!Ft(this,i,n,r))return-1;const s=i.subarray(n,n+r);this.valueHexView=new Uint8Array(r);for(let c=0;c<r&&(this.valueHexView[c]=s[c]&127,this.blockLength++,!!(s[c]&128));c++);const a=new Uint8Array(this.blockLength);for(let c=0;c<this.blockLength;c++)a[c]=this.valueHexView[c];return this.valueHexView=a,s[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=er(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),n+this.blockLength)}set valueBigInt(e){us();let n=BigInt(e).toString(2);for(;n.length%7;)n="0"+n;const r=new Uint8Array(n.length/7);for(let i=0;i<r.length;i++)r[i]=parseInt(n.slice(i*7,i*7+7),2)+(i+1<r.length?128:0);this.fromBER(r.buffer,0,r.length)}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);const i=this.valueHexView,s=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength-1;a++)s[a]=i[a]|128;return s[this.blockLength-1]=i[this.blockLength-1],s.buffer}const n=kn(this.valueDec,7);if(n.byteLength===0)return this.error="Error during encoding SID value",wt;const r=new Uint8Array(n.byteLength);if(!e){const i=new Uint8Array(n),s=n.byteLength-1;for(let a=0;a<s;a++)r[a]=i[a]|128;r[s]=i[s]}return r}toString(){let e="";if(this.isHexOnly)e=J.ToHex(this.valueHexView);else if(this.isFirstSid){let n=this.valueDec;this.valueDec<=39?e="0.":this.valueDec<=79?(e="1.",n-=40):(e="2.",n-=80),e+=n.toString()}else e=this.valueDec.toString();return e}toJSON(){return{...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}}Ta.NAME="sidBlock";class gh extends De{constructor({value:e=Ke,...n}={}){super(n),this.value=[],e&&this.fromString(e)}fromBER(e,n,r){let i=n;for(;r>0;){const s=new Ta;if(i=s.fromBER(e,i,r),i===-1)return this.blockLength=0,this.error=s.error,i;this.value.length===0&&(s.isFirstSid=!0),this.blockLength+=s.blockLength,r-=s.blockLength,this.value.push(s)}return i}toBER(e){const n=[];for(let r=0;r<this.value.length;r++){const i=this.value[r].toBER(e);if(i.byteLength===0)return this.error=this.value[r].error,wt;n.push(i)}return gl(n)}fromString(e){this.value=[];let n=0,r=0,i="",s=!1;do if(r=e.indexOf(".",n),r===-1?i=e.substring(n):i=e.substring(n,r),n=r+1,s){const a=this.value[0];let c=0;switch(a.valueDec){case 0:break;case 1:c=40;break;case 2:c=80;break;default:this.value=[];return}const l=parseInt(i,10);if(isNaN(l))return;a.valueDec=l+c,s=!1}else{const a=new Ta;if(i>Number.MAX_SAFE_INTEGER){us();const c=BigInt(i);a.valueBigInt=c}else if(a.valueDec=parseInt(i,10),isNaN(a.valueDec))return;this.value.length||(a.isFirstSid=!0,s=!0),this.value.push(a)}while(r!==-1)}toString(){let e="",n=!1;for(let r=0;r<this.value.length;r++){n=this.value[r].isHexOnly;let i=this.value[r].toString();r!==0&&(e=`${e}.`),n?(i=`{${i}}`,this.value[r].isFirstSid?e=`2.{${i} - 80}`:e+=i):e+=i}return e}toJSON(){const e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let n=0;n<this.value.length;n++)e.sidArray.push(this.value[n].toJSON());return e}}gh.NAME="ObjectIdentifierValueBlock";var mh;class uo extends Te{constructor(e={}){super(e,gh),this.idBlock.tagClass=1,this.idBlock.tagNumber=6}getValue(){return this.valueBlock.toString()}setValue(e){this.valueBlock.fromString(e)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}}mh=uo;K.ObjectIdentifier=mh;uo.NAME="OBJECT IDENTIFIER";class Pa extends Nt(Bn){constructor({valueDec:e=0,...n}={}){super(n),this.valueDec=e}fromBER(e,n,r){if(r===0)return n;const i=M.toUint8Array(e);if(!Ft(this,i,n,r))return-1;const s=i.subarray(n,n+r);this.valueHexView=new Uint8Array(r);for(let c=0;c<r&&(this.valueHexView[c]=s[c]&127,this.blockLength++,!!(s[c]&128));c++);const a=new Uint8Array(this.blockLength);for(let c=0;c<this.blockLength;c++)a[c]=this.valueHexView[c];return this.valueHexView=a,s[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=er(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),n+this.blockLength)}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);const i=this.valueHexView,s=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength-1;a++)s[a]=i[a]|128;return s[this.blockLength-1]=i[this.blockLength-1],s.buffer}const n=kn(this.valueDec,7);if(n.byteLength===0)return this.error="Error during encoding SID value",wt;const r=new Uint8Array(n.byteLength);if(!e){const i=new Uint8Array(n),s=n.byteLength-1;for(let a=0;a<s;a++)r[a]=i[a]|128;r[s]=i[s]}return r.buffer}toString(){let e="";return this.isHexOnly?e=J.ToHex(this.valueHexView):e=this.valueDec.toString(),e}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}}Pa.NAME="relativeSidBlock";class _h extends De{constructor({value:e=Ke,...n}={}){super(n),this.value=[],e&&this.fromString(e)}fromBER(e,n,r){let i=n;for(;r>0;){const s=new Pa;if(i=s.fromBER(e,i,r),i===-1)return this.blockLength=0,this.error=s.error,i;this.blockLength+=s.blockLength,r-=s.blockLength,this.value.push(s)}return i}toBER(e,n){const r=[];for(let i=0;i<this.value.length;i++){const s=this.value[i].toBER(e);if(s.byteLength===0)return this.error=this.value[i].error,wt;r.push(s)}return gl(r)}fromString(e){this.value=[];let n=0,r=0,i="";do{r=e.indexOf(".",n),r===-1?i=e.substring(n):i=e.substring(n,r),n=r+1;const s=new Pa;if(s.valueDec=parseInt(i,10),isNaN(s.valueDec))return!0;this.value.push(s)}while(r!==-1);return!0}toString(){let e="",n=!1;for(let r=0;r<this.value.length;r++){n=this.value[r].isHexOnly;let i=this.value[r].toString();r!==0&&(e=`${e}.`),n&&(i=`{${i}}`),e+=i}return e}toJSON(){const e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let n=0;n<this.value.length;n++)e.sidArray.push(this.value[n].toJSON());return e}}_h.NAME="RelativeObjectIdentifierValueBlock";var yh;class wl extends Te{constructor(e={}){super(e,_h),this.idBlock.tagClass=1,this.idBlock.tagNumber=13}getValue(){return this.valueBlock.toString()}setValue(e){this.valueBlock.fromString(e)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}}yh=wl;K.RelativeObjectIdentifier=yh;wl.NAME="RelativeObjectIdentifier";var wh;class Pt extends We{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}}wh=Pt;K.Sequence=wh;Pt.NAME="SEQUENCE";var vh;let Bt=class extends We{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}};vh=Bt;K.Set=vh;Bt.NAME="SET";class bh extends Nt(De){constructor({...e}={}){super(e),this.isHexOnly=!0,this.value=Ke}toJSON(){return{...super.toJSON(),value:this.value}}}bh.NAME="StringValueBlock";class xh extends bh{}xh.NAME="SimpleStringValueBlock";class tt extends ml{constructor({...e}={}){super(e,xh)}fromBuffer(e){this.valueBlock.value=String.fromCharCode.apply(null,M.toUint8Array(e))}fromString(e){const n=e.length,r=this.valueBlock.valueHexView=new Uint8Array(n);for(let i=0;i<n;i++)r[i]=e.charCodeAt(i);this.valueBlock.value=e}}tt.NAME="SIMPLE STRING";class kh extends tt{fromBuffer(e){this.valueBlock.valueHexView=M.toUint8Array(e);try{this.valueBlock.value=J.ToUtf8String(e)}catch(n){this.warnings.push(`Error during "decodeURIComponent": ${n}, using raw string`),this.valueBlock.value=J.ToBinary(e)}}fromString(e){this.valueBlock.valueHexView=new Uint8Array(J.FromUtf8String(e)),this.valueBlock.value=e}}kh.NAME="Utf8StringValueBlock";var Sh;class Kt extends kh{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}}Sh=Kt;K.Utf8String=Sh;Kt.NAME="UTF8String";class Ah extends tt{fromBuffer(e){this.valueBlock.value=J.ToUtf16String(e),this.valueBlock.valueHexView=M.toUint8Array(e)}fromString(e){this.valueBlock.value=e,this.valueBlock.valueHexView=new Uint8Array(J.FromUtf16String(e))}}Ah.NAME="BmpStringValueBlock";var zh;class po extends Ah{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}}zh=po;K.BmpString=zh;po.NAME="BMPString";class Eh extends tt{fromBuffer(e){const n=ArrayBuffer.isView(e)?e.slice().buffer:e.slice(0),r=new Uint8Array(n);for(let i=0;i<r.length;i+=4)r[i]=r[i+3],r[i+1]=r[i+2],r[i+2]=0,r[i+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(n))}fromString(e){const n=e.length,r=this.valueBlock.valueHexView=new Uint8Array(n*4);for(let i=0;i<n;i++){const s=kn(e.charCodeAt(i),8),a=new Uint8Array(s);if(a.length>4)continue;const c=4-a.length;for(let l=a.length-1;l>=0;l--)r[i*4+l+c]=a[l]}this.valueBlock.value=e}}Eh.NAME="UniversalStringValueBlock";var Ih;class fo extends Eh{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}}Ih=fo;K.UniversalString=Ih;fo.NAME="UniversalString";var Ch;class ho extends tt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}}Ch=ho;K.NumericString=Ch;ho.NAME="NumericString";var Nh;class go extends tt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}}Nh=go;K.PrintableString=Nh;go.NAME="PrintableString";var jh;class mo extends tt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}}jh=mo;K.TeletexString=jh;mo.NAME="TeletexString";var $h;class _o extends tt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}}$h=_o;K.VideotexString=$h;_o.NAME="VideotexString";var Oh;class yo extends tt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}}Oh=yo;K.IA5String=Oh;yo.NAME="IA5String";var Th;class wo extends tt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}}Th=wo;K.GraphicString=Th;wo.NAME="GraphicString";var Ph;class ci extends tt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}}Ph=ci;K.VisibleString=Ph;ci.NAME="VisibleString";var Bh;class vo extends tt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}}Bh=vo;K.GeneralString=Bh;vo.NAME="GeneralString";var Rh;class bo extends tt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}}Rh=bo;K.CharacterString=Rh;bo.NAME="CharacterString";var Lh;class li extends ci{constructor({value:e,valueDate:n,...r}={}){if(super(r),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,e){this.fromString(e),this.valueBlock.valueHexView=new Uint8Array(e.length);for(let i=0;i<e.length;i++)this.valueBlock.valueHexView[i]=e.charCodeAt(i)}n&&(this.fromDate(n),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23}fromBuffer(e){this.fromString(String.fromCharCode.apply(null,M.toUint8Array(e)))}toBuffer(){const e=this.toString(),n=new ArrayBuffer(e.length),r=new Uint8Array(n);for(let i=0;i<e.length;i++)r[i]=e.charCodeAt(i);return n}fromDate(e){this.year=e.getUTCFullYear(),this.month=e.getUTCMonth()+1,this.day=e.getUTCDate(),this.hour=e.getUTCHours(),this.minute=e.getUTCMinutes(),this.second=e.getUTCSeconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(e){const r=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(e);if(r===null){this.error="Wrong input string for conversion";return}const i=parseInt(r[1],10);i>=50?this.year=1900+i:this.year=2e3+i,this.month=parseInt(r[2],10),this.day=parseInt(r[3],10),this.hour=parseInt(r[4],10),this.minute=parseInt(r[5],10),this.second=parseInt(r[6],10)}toString(e="iso"){if(e==="iso"){const n=new Array(7);return n[0]=Qe(this.year<2e3?this.year-1900:this.year-2e3,2),n[1]=Qe(this.month,2),n[2]=Qe(this.day,2),n[3]=Qe(this.hour,2),n[4]=Qe(this.minute,2),n[5]=Qe(this.second,2),n[6]="Z",n.join("")}return super.toString(e)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return{...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}}Lh=li;K.UTCTime=Lh;li.NAME="UTCTime";var Uh;class xo extends li{constructor(e={}){var n;super(e),(n=this.millisecond)!==null&&n!==void 0||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromDate(e){super.fromDate(e),this.millisecond=e.getUTCMilliseconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond))}fromString(e){let n=!1,r="",i="",s=0,a,c=0,l=0;if(e[e.length-1]==="Z")r=e.substring(0,e.length-1),n=!0;else{const f=new Number(e[e.length-1]);if(isNaN(f.valueOf()))throw new Error("Wrong input string for conversion");r=e}if(n){if(r.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(r.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else{let f=1,m=r.indexOf("+"),w="";if(m===-1&&(m=r.indexOf("-"),f=-1),m!==-1){if(w=r.substring(m+1),r=r.substring(0,m),w.length!==2&&w.length!==4)throw new Error("Wrong input string for conversion");let h=parseInt(w.substring(0,2),10);if(isNaN(h.valueOf()))throw new Error("Wrong input string for conversion");if(c=f*h,w.length===4){if(h=parseInt(w.substring(2,4),10),isNaN(h.valueOf()))throw new Error("Wrong input string for conversion");l=f*h}}}let d=r.indexOf(".");if(d===-1&&(d=r.indexOf(",")),d!==-1){const f=new Number(`0${r.substring(d)}`);if(isNaN(f.valueOf()))throw new Error("Wrong input string for conversion");s=f.valueOf(),i=r.substring(0,d)}else i=r;switch(!0){case i.length===8:if(a=/(\d{4})(\d{2})(\d{2})/ig,d!==-1)throw new Error("Wrong input string for conversion");break;case i.length===10:if(a=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,d!==-1){let f=60*s;this.minute=Math.floor(f),f=60*(f-this.minute),this.second=Math.floor(f),f=1e3*(f-this.second),this.millisecond=Math.floor(f)}break;case i.length===12:if(a=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,d!==-1){let f=60*s;this.second=Math.floor(f),f=1e3*(f-this.second),this.millisecond=Math.floor(f)}break;case i.length===14:if(a=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,d!==-1){const f=1e3*s;this.millisecond=Math.floor(f)}break;default:throw new Error("Wrong input string for conversion")}const p=a.exec(i);if(p===null)throw new Error("Wrong input string for conversion");for(let f=1;f<p.length;f++)switch(f){case 1:this.year=parseInt(p[f],10);break;case 2:this.month=parseInt(p[f],10);break;case 3:this.day=parseInt(p[f],10);break;case 4:this.hour=parseInt(p[f],10)+c;break;case 5:this.minute=parseInt(p[f],10)+l;break;case 6:this.second=parseInt(p[f],10);break;default:throw new Error("Wrong input string for conversion")}if(n===!1){const f=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=f.getUTCFullYear(),this.month=f.getUTCMonth(),this.day=f.getUTCDay(),this.hour=f.getUTCHours(),this.minute=f.getUTCMinutes(),this.second=f.getUTCSeconds(),this.millisecond=f.getUTCMilliseconds()}}toString(e="iso"){if(e==="iso"){const n=[];return n.push(Qe(this.year,4)),n.push(Qe(this.month,2)),n.push(Qe(this.day,2)),n.push(Qe(this.hour,2)),n.push(Qe(this.minute,2)),n.push(Qe(this.second,2)),this.millisecond!==0&&(n.push("."),n.push(Qe(this.millisecond,3))),n.push("Z"),n.join("")}return super.toString(e)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}}Uh=xo;K.GeneralizedTime=Uh;xo.NAME="GeneralizedTime";var Vh;class vl extends Kt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}}Vh=vl;K.DATE=Vh;vl.NAME="DATE";var qh;class bl extends Kt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}}qh=bl;K.TimeOfDay=qh;bl.NAME="TimeOfDay";var Mh;class xl extends Kt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}}Mh=xl;K.DateTime=Mh;xl.NAME="DateTime";var Dh;class kl extends Kt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}}Dh=kl;K.Duration=Dh;kl.NAME="Duration";var Hh;class Sl extends Kt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}}Hh=Sl;K.TIME=Hh;Sl.NAME="TIME";class An{constructor({name:e=Ke,optional:n=!1}={}){this.name=e,this.optional=n}}class Al extends An{constructor({value:e=[],...n}={}){super(n),this.value=e}}class ps extends An{constructor({value:e=new An,local:n=!1,...r}={}){super(r),this.value=e,this.local=n}}class Yy{constructor({data:e=ao}={}){this.dataView=M.toUint8Array(e)}get data(){return this.dataView.slice().buffer}set data(e){this.dataView=M.toUint8Array(e)}fromBER(e,n,r){const i=n+r;return this.dataView=M.toUint8Array(e).subarray(n,i),i}toBER(e){return this.dataView.slice().buffer}}function yn(t,e,n){if(n instanceof Al){for(let s=0;s<n.value.length;s++)if(yn(t,e,n.value[s]).verified)return{verified:!0,result:t};{const s={verified:!1,result:{error:"Wrong values for Choice type"}};return n.hasOwnProperty(sa)&&(s.name=n.name),s}}if(n instanceof An)return n.hasOwnProperty(sa)&&(t[n.name]=e),{verified:!0,result:t};if(!(t instanceof Object))return{verified:!1,result:{error:"Wrong root object"}};if(!(e instanceof Object))return{verified:!1,result:{error:"Wrong ASN.1 data"}};if(!(n instanceof Object))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(Vy in n))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(Hy in n.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(Fy in n.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};const r=n.idBlock.toBER(!1);if(r.byteLength===0)return{verified:!1,result:{error:"Error encoding idBlock for ASN.1 schema"}};if(n.idBlock.fromBER(r,0,r.byteLength)===-1)return{verified:!1,result:{error:"Error decoding idBlock for ASN.1 schema"}};if(n.idBlock.hasOwnProperty(qy)===!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(n.idBlock.tagClass!==e.idBlock.tagClass)return{verified:!1,result:t};if(n.idBlock.hasOwnProperty(My)===!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(n.idBlock.tagNumber!==e.idBlock.tagNumber)return{verified:!1,result:t};if(n.idBlock.hasOwnProperty(Dy)===!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(n.idBlock.isConstructed!==e.idBlock.isConstructed)return{verified:!1,result:t};if(!(Uy in n.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(n.idBlock.isHexOnly!==e.idBlock.isHexOnly)return{verified:!1,result:t};if(n.idBlock.isHexOnly){if(!(tu in n.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};const s=n.idBlock.valueHexView,a=e.idBlock.valueHexView;if(s.length!==a.length)return{verified:!1,result:t};for(let c=0;c<s.length;c++)if(s[c]!==a[1])return{verified:!1,result:t}}if(n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,Ke),n.name&&(t[n.name]=e)),n instanceof K.Constructed){let s=0,a={verified:!1,result:{error:"Unknown error"}},c=n.valueBlock.value.length;if(c>0&&n.valueBlock.value[0]instanceof ps&&(c=e.valueBlock.value.length),c===0)return{verified:!0,result:t};if(e.valueBlock.value.length===0&&n.valueBlock.value.length!==0){let l=!0;for(let d=0;d<n.valueBlock.value.length;d++)l=l&&(n.valueBlock.value[d].optional||!1);return l?{verified:!0,result:t}:(n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,Ke),n.name&&delete t[n.name]),t.error="Inconsistent object length",{verified:!1,result:t})}for(let l=0;l<c;l++)if(l-s>=e.valueBlock.value.length){if(n.valueBlock.value[l].optional===!1){const d={verified:!1,result:t};return t.error="Inconsistent length between ASN.1 data and schema",n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,Ke),n.name&&(delete t[n.name],d.name=n.name)),d}}else if(n.valueBlock.value[0]instanceof ps){if(a=yn(t,e.valueBlock.value[l],n.valueBlock.value[0].value),a.verified===!1)if(n.valueBlock.value[0].optional)s++;else return n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,Ke),n.name&&delete t[n.name]),a;if(sa in n.valueBlock.value[0]&&n.valueBlock.value[0].name.length>0){let d={};Ky in n.valueBlock.value[0]&&n.valueBlock.value[0].local?d=e:d=t,typeof d[n.valueBlock.value[0].name]>"u"&&(d[n.valueBlock.value[0].name]=[]),d[n.valueBlock.value[0].name].push(e.valueBlock.value[l])}}else if(a=yn(t,e.valueBlock.value[l-s],n.valueBlock.value[l]),a.verified===!1)if(n.valueBlock.value[l].optional)s++;else return n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,Ke),n.name&&delete t[n.name]),a;if(a.verified===!1){const l={verified:!1,result:t};return n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,Ke),n.name&&(delete t[n.name],l.name=n.name)),l}return{verified:!0,result:t}}if(n.primitiveSchema&&tu in e.valueBlock){const s=gr(e.valueBlock.valueHexView);if(s.offset===-1){const a={verified:!1,result:s.result};return n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,Ke),n.name&&(delete t[n.name],a.name=n.name)),a}return yn(t,s.result,n.primitiveSchema)}return{verified:!0,result:t}}function Xy(t,e){if(!(e instanceof Object))return{verified:!1,result:{error:"Wrong ASN.1 schema type"}};const n=gr(M.toUint8Array(t));return n.offset===-1?{verified:!1,result:n.result}:yn(n.result,n.result,e)}const Fh=Object.freeze(Object.defineProperty({__proto__:null,Any:An,BaseBlock:Te,BaseStringBlock:ml,BitString:xn,BmpString:po,Boolean:co,CharacterString:bo,Choice:Al,Constructed:We,DATE:vl,DateTime:xl,Duration:kl,EndOfContent:_l,Enumerated:lo,GeneralString:vo,GeneralizedTime:xo,GraphicString:wo,HexBlock:Nt,IA5String:yo,Integer:Et,Null:Sn,NumericString:ho,ObjectIdentifier:uo,OctetString:bn,Primitive:ai,PrintableString:go,RawData:Yy,RelativeObjectIdentifier:wl,Repeated:ps,Sequence:Pt,Set:Bt,TIME:Sl,TeletexString:mo,TimeOfDay:bl,UTCTime:li,UniversalString:fo,Utf8String:Kt,ValueBlock:De,VideotexString:_o,ViewWriter:oo,VisibleString:ci,compareSchema:yn,fromBER:Zn,verifySchema:Xy},Symbol.toStringTag,{value:"Module"}));var P;(function(t){t[t.Sequence=0]="Sequence",t[t.Set=1]="Set",t[t.Choice=2]="Choice"})(P||(P={}));var b;(function(t){t[t.Any=1]="Any",t[t.Boolean=2]="Boolean",t[t.OctetString=3]="OctetString",t[t.BitString=4]="BitString",t[t.Integer=5]="Integer",t[t.Enumerated=6]="Enumerated",t[t.ObjectIdentifier=7]="ObjectIdentifier",t[t.Utf8String=8]="Utf8String",t[t.BmpString=9]="BmpString",t[t.UniversalString=10]="UniversalString",t[t.NumericString=11]="NumericString",t[t.PrintableString=12]="PrintableString",t[t.TeletexString=13]="TeletexString",t[t.VideotexString=14]="VideotexString",t[t.IA5String=15]="IA5String",t[t.GraphicString=16]="GraphicString",t[t.VisibleString=17]="VisibleString",t[t.GeneralString=18]="GeneralString",t[t.CharacterString=19]="CharacterString",t[t.UTCTime=20]="UTCTime",t[t.GeneralizedTime=21]="GeneralizedTime",t[t.DATE=22]="DATE",t[t.TimeOfDay=23]="TimeOfDay",t[t.DateTime=24]="DateTime",t[t.Duration=25]="Duration",t[t.TIME=26]="TIME",t[t.Null=27]="Null"})(b||(b={}));class ko{constructor(e,n=0){if(this.unusedBits=0,this.value=new ArrayBuffer(0),e)if(typeof e=="number")this.fromNumber(e);else if(M.isBufferSource(e))this.unusedBits=n,this.value=M.toArrayBuffer(e);else throw TypeError("Unsupported type of 'params' argument for BitString")}fromASN(e){if(!(e instanceof xn))throw new TypeError("Argument 'asn' is not instance of ASN.1 BitString");return this.unusedBits=e.valueBlock.unusedBits,this.value=e.valueBlock.valueHex,this}toASN(){return new xn({unusedBits:this.unusedBits,valueHex:this.value})}toSchema(e){return new xn({name:e})}toNumber(){let e="";const n=new Uint8Array(this.value);for(const r of n)e+=r.toString(2).padStart(8,"0");return e=e.split("").reverse().join(""),this.unusedBits&&(e=e.slice(this.unusedBits).padStart(this.unusedBits,"0")),parseInt(e,2)}fromNumber(e){let n=e.toString(2);const r=n.length+7>>3;this.unusedBits=(r<<3)-n.length;const i=new Uint8Array(r);n=n.padStart(r<<3,"0").split("").reverse().join("");let s=0;for(;s<r;)i[s]=parseInt(n.slice(s<<3,(s<<3)+8),2),s++;this.value=i.buffer}}class de{get byteLength(){return this.buffer.byteLength}get byteOffset(){return 0}constructor(e){typeof e=="number"?this.buffer=new ArrayBuffer(e):M.isBufferSource(e)?this.buffer=M.toArrayBuffer(e):Array.isArray(e)?this.buffer=new Uint8Array(e):this.buffer=new ArrayBuffer(0)}fromASN(e){if(!(e instanceof bn))throw new TypeError("Argument 'asn' is not instance of ASN.1 OctetString");return this.buffer=e.valueBlock.valueHex,this}toASN(){return new bn({valueHex:this.buffer})}toSchema(e){return new bn({name:e})}}const Qy={fromASN:t=>t instanceof Sn?null:t.valueBeforeDecodeView,toASN:t=>{if(t===null)return new Sn;const e=Zn(t);if(e.result.error)throw new Error(e.result.error);return e.result}},ew={fromASN:t=>t.valueBlock.valueHexView.byteLength>=4?t.valueBlock.toString():t.valueBlock.valueDec,toASN:t=>new Et({value:+t})},tw={fromASN:t=>t.valueBlock.valueDec,toASN:t=>new lo({value:t})},_e={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new Et({valueHex:t})},nw={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new xn({valueHex:t})},rw={fromASN:t=>t.valueBlock.toString(),toASN:t=>new uo({value:t})},iw={fromASN:t=>t.valueBlock.value,toASN:t=>new co({value:t})},fs={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new bn({valueHex:t})},sw={fromASN:t=>new de(t.getValue()),toASN:t=>t.toASN()};function ct(t){return{fromASN:e=>e.valueBlock.value,toASN:e=>new t({value:e})}}const Kh=ct(Kt),ow=ct(po),aw=ct(fo),cw=ct(ho),lw=ct(go),dw=ct(mo),uw=ct(_o),pw=ct(yo),fw=ct(wo),hw=ct(ci),gw=ct(vo),mw=ct(bo),_w={fromASN:t=>t.toDate(),toASN:t=>new li({valueDate:t})},yw={fromASN:t=>t.toDate(),toASN:t=>new xo({valueDate:t})},ww={fromASN:()=>null,toASN:()=>new Sn};function zl(t){switch(t){case b.Any:return Qy;case b.BitString:return nw;case b.BmpString:return ow;case b.Boolean:return iw;case b.CharacterString:return mw;case b.Enumerated:return tw;case b.GeneralString:return gw;case b.GeneralizedTime:return yw;case b.GraphicString:return fw;case b.IA5String:return pw;case b.Integer:return ew;case b.Null:return ww;case b.NumericString:return cw;case b.ObjectIdentifier:return rw;case b.OctetString:return fs;case b.PrintableString:return lw;case b.TeletexString:return dw;case b.UTCTime:return _w;case b.UniversalString:return aw;case b.Utf8String:return Kh;case b.VideotexString:return uw;case b.VisibleString:return hw;default:return null}}function Tt(t){return typeof t=="function"&&t.prototype?t.prototype.toASN&&t.prototype.fromASN?!0:Tt(t.prototype):!!(t&&typeof t=="object"&&"toASN"in t&&"fromASN"in t)}function Wh(t){var e;if(t){const n=Object.getPrototypeOf(t);return((e=n==null?void 0:n.prototype)===null||e===void 0?void 0:e.constructor)===Array?!0:Wh(n)}return!1}function vw(t,e){if(!(t&&e)||t.byteLength!==e.byteLength)return!1;const n=new Uint8Array(t),r=new Uint8Array(e);for(let i=0;i<t.byteLength;i++)if(n[i]!==r[i])return!1;return!0}class bw{constructor(){this.items=new WeakMap}has(e){return this.items.has(e)}get(e,n=!1){const r=this.items.get(e);if(!r)throw new Error(`Cannot get schema for '${e.prototype.constructor.name}' target`);if(n&&!r.schema)throw new Error(`Schema '${e.prototype.constructor.name}' doesn't contain ASN.1 schema. Call 'AsnSchemaStorage.cache'.`);return r}cache(e){const n=this.get(e);n.schema||(n.schema=this.create(e,!0))}createDefault(e){const n={type:P.Sequence,items:{}},r=this.findParentSchema(e);return r&&(Object.assign(n,r),n.items=Object.assign({},n.items,r.items)),n}create(e,n){const r=this.items.get(e)||this.createDefault(e),i=[];for(const s in r.items){const a=r.items[s],c=n?s:"";let l;if(typeof a.type=="number"){const p=b[a.type],f=Fh[p];if(!f)throw new Error(`Cannot get ASN1 class by name '${p}'`);l=new f({name:c})}else Tt(a.type)?l=new a.type().toSchema(c):a.optional?this.get(a.type).type===P.Choice?l=new An({name:c}):(l=this.create(a.type,!1),l.name=c):l=new An({name:c});const d=!!a.optional||a.defaultValue!==void 0;if(a.repeated){l.name="";const p=a.repeated==="set"?Bt:Pt;l=new p({name:"",value:[new ps({name:c,value:l})]})}if(a.context!==null&&a.context!==void 0)if(a.implicit)if(typeof a.type=="number"||Tt(a.type)){const p=a.repeated?We:ai;i.push(new p({name:c,optional:d,idBlock:{tagClass:3,tagNumber:a.context}}))}else{this.cache(a.type);const p=!!a.repeated;let f=p?l:this.get(a.type,!0).schema;f="valueBlock"in f?f.valueBlock.value:f.value,i.push(new We({name:p?"":c,optional:d,idBlock:{tagClass:3,tagNumber:a.context},value:f}))}else i.push(new We({optional:d,idBlock:{tagClass:3,tagNumber:a.context},value:[l]}));else l.optional=d,i.push(l)}switch(r.type){case P.Sequence:return new Pt({value:i,name:""});case P.Set:return new Bt({value:i,name:""});case P.Choice:return new Al({value:i,name:""});default:throw new Error("Unsupported ASN1 type in use")}}set(e,n){return this.items.set(e,n),this}findParentSchema(e){const n=Object.getPrototypeOf(e);return n?this.items.get(n)||this.findParentSchema(n):null}}const rt=new bw,R=t=>e=>{let n;rt.has(e)?n=rt.get(e):(n=rt.createDefault(e),rt.set(e,n)),Object.assign(n,t)},g=t=>(e,n)=>{let r;rt.has(e.constructor)?r=rt.get(e.constructor):(r=rt.createDefault(e.constructor),rt.set(e.constructor,r));const i=Object.assign({},t);if(typeof i.type=="number"&&!i.converter){const s=zl(t.type);if(!s)throw new Error(`Cannot get default converter for property '${n}' of ${e.constructor.name}`);i.converter=s}r.items[n]=i};class ru extends Error{constructor(){super(...arguments),this.schemas=[]}}class xw{static parse(e,n){const r=Zn(e);if(r.result.error)throw new Error(r.result.error);return this.fromASN(r.result,n)}static fromASN(e,n){var r;try{if(Tt(n))return new n().fromASN(e);const i=rt.get(n);rt.cache(n);let s=i.schema;if(e.constructor===We&&i.type!==P.Choice){s=new We({idBlock:{tagClass:3,tagNumber:e.idBlock.tagNumber},value:i.schema.valueBlock.value});for(const l in i.items)delete e[l]}const a=yn({},e,s);if(!a.verified)throw new ru(`Data does not match to ${n.name} ASN1 schema. ${a.result.error}`);const c=new n;if(Wh(n)){if(!("value"in e.valueBlock&&Array.isArray(e.valueBlock.value)))throw new Error("Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.");const l=i.itemType;if(typeof l=="number"){const d=zl(l);if(!d)throw new Error(`Cannot get default converter for array item of ${n.name} ASN1 schema`);return n.from(e.valueBlock.value,p=>d.fromASN(p))}else return n.from(e.valueBlock.value,d=>this.fromASN(d,l))}for(const l in i.items){const d=a.result[l];if(!d)continue;const p=i.items[l],f=p.type;if(typeof f=="number"||Tt(f)){const m=(r=p.converter)!==null&&r!==void 0?r:Tt(f)?new f:null;if(!m)throw new Error("Converter is empty");if(p.repeated)if(p.implicit){const w=p.repeated==="sequence"?Pt:Bt,h=new w;h.valueBlock=d.valueBlock;const _=Zn(h.toBER(!1));if(_.offset===-1)throw new Error(`Cannot parse the child item. ${_.result.error}`);if(!("value"in _.result.valueBlock&&Array.isArray(_.result.valueBlock.value)))throw new Error("Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.");const v=_.result.valueBlock.value;c[l]=Array.from(v,A=>m.fromASN(A))}else c[l]=Array.from(d,w=>m.fromASN(w));else{let w=d;if(p.implicit){let h;if(Tt(f))h=new f().toSchema("");else{const _=b[f],v=Fh[_];if(!v)throw new Error(`Cannot get '${_}' class from asn1js module`);h=new v}h.valueBlock=w.valueBlock,w=Zn(h.toBER(!1)).result}c[l]=m.fromASN(w)}}else if(p.repeated){if(!Array.isArray(d))throw new Error("Cannot get list of items from the ASN.1 parsed value. ASN.1 value should be iterable.");c[l]=Array.from(d,m=>this.fromASN(m,f))}else c[l]=this.fromASN(d,f)}return c}catch(i){throw i instanceof ru&&i.schemas.push(n.name),i}}}class El{static serialize(e){return e instanceof Te?e.toBER(!1):this.toASN(e).toBER(!1)}static toASN(e){if(e&&typeof e=="object"&&Tt(e))return e.toASN();if(!(e&&typeof e=="object"))throw new TypeError("Parameter 1 should be type of Object.");const n=e.constructor,r=rt.get(n);rt.cache(n);let i=[];if(r.itemType){if(!Array.isArray(e))throw new TypeError("Parameter 1 should be type of Array.");if(typeof r.itemType=="number"){const a=zl(r.itemType);if(!a)throw new Error(`Cannot get default converter for array item of ${n.name} ASN1 schema`);i=e.map(c=>a.toASN(c))}else i=e.map(a=>this.toAsnItem({type:r.itemType},"[]",n,a))}else for(const a in r.items){const c=r.items[a],l=e[a];if(l===void 0||c.defaultValue===l||typeof c.defaultValue=="object"&&typeof l=="object"&&vw(this.serialize(c.defaultValue),this.serialize(l)))continue;const d=El.toAsnItem(c,a,n,l);if(typeof c.context=="number")if(c.implicit)if(!c.repeated&&(typeof c.type=="number"||Tt(c.type))){const p={};p.valueHex=d instanceof Sn?d.valueBeforeDecodeView:d.valueBlock.toBER(),i.push(new ai({optional:c.optional,idBlock:{tagClass:3,tagNumber:c.context},...p}))}else i.push(new We({optional:c.optional,idBlock:{tagClass:3,tagNumber:c.context},value:d.valueBlock.value}));else i.push(new We({optional:c.optional,idBlock:{tagClass:3,tagNumber:c.context},value:[d]}));else c.repeated?i=i.concat(d):i.push(d)}let s;switch(r.type){case P.Sequence:s=new Pt({value:i});break;case P.Set:s=new Bt({value:i});break;case P.Choice:if(!i[0])throw new Error(`Schema '${n.name}' has wrong data. Choice cannot be empty.`);s=i[0];break}return s}static toAsnItem(e,n,r,i){let s;if(typeof e.type=="number"){const a=e.converter;if(!a)throw new Error(`Property '${n}' doesn't have converter for type ${b[e.type]} in schema '${r.name}'`);if(e.repeated){if(!Array.isArray(i))throw new TypeError("Parameter 'objProp' should be type of Array.");const c=Array.from(i,d=>a.toASN(d)),l=e.repeated==="sequence"?Pt:Bt;s=new l({value:c})}else s=a.toASN(i)}else if(e.repeated){if(!Array.isArray(i))throw new TypeError("Parameter 'objProp' should be type of Array.");const a=Array.from(i,l=>this.toASN(l)),c=e.repeated==="sequence"?Pt:Bt;s=new c({value:a})}else s=this.toASN(i);return s}}class fe extends Array{constructor(e=[]){if(typeof e=="number")super(e);else{super();for(const n of e)this.push(n)}}}class q{static serialize(e){return El.serialize(e)}static parse(e,n){return xw.parse(e,n)}static toString(e){const n=M.isBufferSource(e)?M.toArrayBuffer(e):q.serialize(e),r=Zn(n);if(r.offset===-1)throw new Error(`Cannot decode ASN.1 data. ${r.result.error}`);return r.result.toString()}}function u(t,e,n,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,n):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(t,e,n,r);else for(var c=t.length-1;c>=0;c--)(a=t[c])&&(s=(i<3?a(s):i>3?a(e,n,s):a(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s}var Gh={exports:{}};(function(t){(function(e){const n="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${n}\\.${n}\\.${n}\\.${n}$`,"i"),threeOctet:new RegExp(`^${n}\\.${n}\\.${n}$`,"i"),twoOctet:new RegExp(`^${n}\\.${n}$`,"i"),longValue:new RegExp(`^${n}$`,"i")},i=new RegExp("^0[0-7]+$","i"),s=new RegExp("^0x[a-f0-9]+$","i"),a="%[0-9a-z]{1,}",c="(?:[0-9a-f]+::?)+",l={zoneIndex:new RegExp(a,"i"),native:new RegExp(`^(::)?(${c})?([0-9a-f]+)?(::)?(${a})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${n}\\.${n}\\.${n}\\.${n}(${a})?)$`,"i"),transitional:new RegExp(`^((?:${c})|(?:::)(?:${c})?)${n}\\.${n}\\.${n}\\.${n}(${a})?$`,"i")};function d(h,_){if(h.indexOf("::")!==h.lastIndexOf("::"))return null;let v=0,A=-1,C=(h.match(l.zoneIndex)||[])[0],O,L;for(C&&(C=C.substring(1),h=h.replace(/%.+$/,""));(A=h.indexOf(":",A+1))>=0;)v++;if(h.substr(0,2)==="::"&&v--,h.substr(-2,2)==="::"&&v--,v>_)return null;for(L=_-v,O=":";L--;)O+="0:";return h=h.replace("::",O),h[0]===":"&&(h=h.slice(1)),h[h.length-1]===":"&&(h=h.slice(0,-1)),_=function(){const Q=h.split(":"),ce=[];for(let le=0;le<Q.length;le++)ce.push(parseInt(Q[le],16));return ce}(),{parts:_,zoneId:C}}function p(h,_,v,A){if(h.length!==_.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let C=0,O;for(;A>0;){if(O=v-A,O<0&&(O=0),h[C]>>O!==_[C]>>O)return!1;A-=v,C+=1}return!0}function f(h){if(s.test(h))return parseInt(h,16);if(h[0]==="0"&&!isNaN(parseInt(h[1],10))){if(i.test(h))return parseInt(h,8);throw new Error(`ipaddr: cannot parse ${h} as octal`)}return parseInt(h,10)}function m(h,_){for(;h.length<_;)h=`0${h}`;return h}const w={};w.IPv4=function(){function h(_){if(_.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let v,A;for(v=0;v<_.length;v++)if(A=_[v],!(0<=A&&A<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=_}return h.prototype.SpecialRanges={unspecified:[[new h([0,0,0,0]),8]],broadcast:[[new h([255,255,255,255]),32]],multicast:[[new h([224,0,0,0]),4]],linkLocal:[[new h([169,254,0,0]),16]],loopback:[[new h([127,0,0,0]),8]],carrierGradeNat:[[new h([100,64,0,0]),10]],private:[[new h([10,0,0,0]),8],[new h([172,16,0,0]),12],[new h([192,168,0,0]),16]],reserved:[[new h([192,0,0,0]),24],[new h([192,0,2,0]),24],[new h([192,88,99,0]),24],[new h([198,18,0,0]),15],[new h([198,51,100,0]),24],[new h([203,0,113,0]),24],[new h([240,0,0,0]),4]],as112:[[new h([192,175,48,0]),24],[new h([192,31,196,0]),24]],amt:[[new h([192,52,193,0]),24]]},h.prototype.kind=function(){return"ipv4"},h.prototype.match=function(_,v){let A;if(v===void 0&&(A=_,_=A[0],v=A[1]),_.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return p(this.octets,_.octets,8,v)},h.prototype.prefixLengthFromSubnetMask=function(){let _=0,v=!1;const A={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0};let C,O,L;for(C=3;C>=0;C-=1)if(O=this.octets[C],O in A){if(L=A[O],v&&L!==0)return null;L!==8&&(v=!0),_+=L}else return null;return 32-_},h.prototype.range=function(){return w.subnetMatch(this,this.SpecialRanges)},h.prototype.toByteArray=function(){return this.octets.slice(0)},h.prototype.toIPv4MappedAddress=function(){return w.IPv6.parse(`::ffff:${this.toString()}`)},h.prototype.toNormalizedString=function(){return this.toString()},h.prototype.toString=function(){return this.octets.join(".")},h}(),w.IPv4.broadcastAddressFromCIDR=function(h){try{const _=this.parseCIDR(h),v=_[0].toByteArray(),A=this.subnetMaskFromPrefixLength(_[1]).toByteArray(),C=[];let O=0;for(;O<4;)C.push(parseInt(v[O],10)|parseInt(A[O],10)^255),O++;return new this(C)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},w.IPv4.isIPv4=function(h){return this.parser(h)!==null},w.IPv4.isValid=function(h){try{return new this(this.parser(h)),!0}catch{return!1}},w.IPv4.isValidCIDR=function(h){try{return this.parseCIDR(h),!0}catch{return!1}},w.IPv4.isValidFourPartDecimal=function(h){return!!(w.IPv4.isValid(h)&&h.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},w.IPv4.networkAddressFromCIDR=function(h){let _,v,A,C,O;try{for(_=this.parseCIDR(h),A=_[0].toByteArray(),O=this.subnetMaskFromPrefixLength(_[1]).toByteArray(),C=[],v=0;v<4;)C.push(parseInt(A[v],10)&parseInt(O[v],10)),v++;return new this(C)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},w.IPv4.parse=function(h){const _=this.parser(h);if(_===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(_)},w.IPv4.parseCIDR=function(h){let _;if(_=h.match(/^(.+)\/(\d+)$/)){const v=parseInt(_[2]);if(v>=0&&v<=32){const A=[this.parse(_[1]),v];return Object.defineProperty(A,"toString",{value:function(){return this.join("/")}}),A}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},w.IPv4.parser=function(h){let _,v,A;if(_=h.match(r.fourOctet))return function(){const C=_.slice(1,6),O=[];for(let L=0;L<C.length;L++)v=C[L],O.push(f(v));return O}();if(_=h.match(r.longValue)){if(A=f(_[1]),A>4294967295||A<0)throw new Error("ipaddr: address outside defined range");return function(){const C=[];let O;for(O=0;O<=24;O+=8)C.push(A>>O&255);return C}().reverse()}else return(_=h.match(r.twoOctet))?function(){const C=_.slice(1,4),O=[];if(A=f(C[1]),A>16777215||A<0)throw new Error("ipaddr: address outside defined range");return O.push(f(C[0])),O.push(A>>16&255),O.push(A>>8&255),O.push(A&255),O}():(_=h.match(r.threeOctet))?function(){const C=_.slice(1,5),O=[];if(A=f(C[2]),A>65535||A<0)throw new Error("ipaddr: address outside defined range");return O.push(f(C[0])),O.push(f(C[1])),O.push(A>>8&255),O.push(A&255),O}():null},w.IPv4.subnetMaskFromPrefixLength=function(h){if(h=parseInt(h),h<0||h>32)throw new Error("ipaddr: invalid IPv4 prefix length");const _=[0,0,0,0];let v=0;const A=Math.floor(h/8);for(;v<A;)_[v]=255,v++;return A<4&&(_[A]=Math.pow(2,h%8)-1<<8-h%8),new this(_)},w.IPv6=function(){function h(_,v){let A,C;if(_.length===16)for(this.parts=[],A=0;A<=14;A+=2)this.parts.push(_[A]<<8|_[A+1]);else if(_.length===8)this.parts=_;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(A=0;A<this.parts.length;A++)if(C=this.parts[A],!(0<=C&&C<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");v&&(this.zoneId=v)}return h.prototype.SpecialRanges={unspecified:[new h([0,0,0,0,0,0,0,0]),128],linkLocal:[new h([65152,0,0,0,0,0,0,0]),10],multicast:[new h([65280,0,0,0,0,0,0,0]),8],loopback:[new h([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new h([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new h([0,0,0,0,0,65535,0,0]),96],discard:[new h([256,0,0,0,0,0,0,0]),64],rfc6145:[new h([0,0,0,0,65535,0,0,0]),96],rfc6052:[new h([100,65435,0,0,0,0,0,0]),96],"6to4":[new h([8194,0,0,0,0,0,0,0]),16],teredo:[new h([8193,0,0,0,0,0,0,0]),32],benchmarking:[new h([8193,2,0,0,0,0,0,0]),48],amt:[new h([8193,3,0,0,0,0,0,0]),32],as112v6:[[new h([8193,4,274,0,0,0,0,0]),48],[new h([9760,79,32768,0,0,0,0,0]),48]],deprecated:[new h([8193,16,0,0,0,0,0,0]),28],orchid2:[new h([8193,32,0,0,0,0,0,0]),28],droneRemoteIdProtocolEntityTags:[new h([8193,48,0,0,0,0,0,0]),28],reserved:[[new h([8193,0,0,0,0,0,0,0]),23],[new h([8193,3512,0,0,0,0,0,0]),32]]},h.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},h.prototype.kind=function(){return"ipv6"},h.prototype.match=function(_,v){let A;if(v===void 0&&(A=_,_=A[0],v=A[1]),_.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return p(this.parts,_.parts,16,v)},h.prototype.prefixLengthFromSubnetMask=function(){let _=0,v=!1;const A={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0};let C,O;for(let L=7;L>=0;L-=1)if(C=this.parts[L],C in A){if(O=A[C],v&&O!==0)return null;O!==16&&(v=!0),_+=O}else return null;return 128-_},h.prototype.range=function(){return w.subnetMatch(this,this.SpecialRanges)},h.prototype.toByteArray=function(){let _;const v=[],A=this.parts;for(let C=0;C<A.length;C++)_=A[C],v.push(_>>8),v.push(_&255);return v},h.prototype.toFixedLengthString=function(){const _=(function(){const A=[];for(let C=0;C<this.parts.length;C++)A.push(m(this.parts[C].toString(16),4));return A}).call(this).join(":");let v="";return this.zoneId&&(v=`%${this.zoneId}`),_+v},h.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");const _=this.parts.slice(-2),v=_[0],A=_[1];return new w.IPv4([v>>8,v&255,A>>8,A&255])},h.prototype.toNormalizedString=function(){const _=(function(){const A=[];for(let C=0;C<this.parts.length;C++)A.push(this.parts[C].toString(16));return A}).call(this).join(":");let v="";return this.zoneId&&(v=`%${this.zoneId}`),_+v},h.prototype.toRFC5952String=function(){const _=/((^|:)(0(:|$)){2,})/g,v=this.toNormalizedString();let A=0,C=-1,O;for(;O=_.exec(v);)O[0].length>C&&(A=O.index,C=O[0].length);return C<0?v:`${v.substring(0,A)}::${v.substring(A+C)}`},h.prototype.toString=function(){return this.toRFC5952String()},h}(),w.IPv6.broadcastAddressFromCIDR=function(h){try{const _=this.parseCIDR(h),v=_[0].toByteArray(),A=this.subnetMaskFromPrefixLength(_[1]).toByteArray(),C=[];let O=0;for(;O<16;)C.push(parseInt(v[O],10)|parseInt(A[O],10)^255),O++;return new this(C)}catch(_){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${_})`)}},w.IPv6.isIPv6=function(h){return this.parser(h)!==null},w.IPv6.isValid=function(h){if(typeof h=="string"&&h.indexOf(":")===-1)return!1;try{const _=this.parser(h);return new this(_.parts,_.zoneId),!0}catch{return!1}},w.IPv6.isValidCIDR=function(h){if(typeof h=="string"&&h.indexOf(":")===-1)return!1;try{return this.parseCIDR(h),!0}catch{return!1}},w.IPv6.networkAddressFromCIDR=function(h){let _,v,A,C,O;try{for(_=this.parseCIDR(h),A=_[0].toByteArray(),O=this.subnetMaskFromPrefixLength(_[1]).toByteArray(),C=[],v=0;v<16;)C.push(parseInt(A[v],10)&parseInt(O[v],10)),v++;return new this(C)}catch(L){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${L})`)}},w.IPv6.parse=function(h){const _=this.parser(h);if(_.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(_.parts,_.zoneId)},w.IPv6.parseCIDR=function(h){let _,v,A;if((v=h.match(/^(.+)\/(\d+)$/))&&(_=parseInt(v[2]),_>=0&&_<=128))return A=[this.parse(v[1]),_],Object.defineProperty(A,"toString",{value:function(){return this.join("/")}}),A;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},w.IPv6.parser=function(h){let _,v,A,C,O,L;if(A=h.match(l.deprecatedTransitional))return this.parser(`::ffff:${A[1]}`);if(l.native.test(h))return d(h,8);if((A=h.match(l.transitional))&&(L=A[6]||"",_=A[1],A[1].endsWith("::")||(_=_.slice(0,-1)),_=d(_+L,6),_.parts)){for(O=[parseInt(A[2]),parseInt(A[3]),parseInt(A[4]),parseInt(A[5])],v=0;v<O.length;v++)if(C=O[v],!(0<=C&&C<=255))return null;return _.parts.push(O[0]<<8|O[1]),_.parts.push(O[2]<<8|O[3]),{parts:_.parts,zoneId:_.zoneId}}return null},w.IPv6.subnetMaskFromPrefixLength=function(h){if(h=parseInt(h),h<0||h>128)throw new Error("ipaddr: invalid IPv6 prefix length");const _=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];let v=0;const A=Math.floor(h/8);for(;v<A;)_[v]=255,v++;return A<16&&(_[A]=Math.pow(2,h%8)-1<<8-h%8),new this(_)},w.fromByteArray=function(h){const _=h.length;if(_===4)return new w.IPv4(h);if(_===16)return new w.IPv6(h);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},w.isValid=function(h){return w.IPv6.isValid(h)||w.IPv4.isValid(h)},w.isValidCIDR=function(h){return w.IPv6.isValidCIDR(h)||w.IPv4.isValidCIDR(h)},w.parse=function(h){if(w.IPv6.isValid(h))return w.IPv6.parse(h);if(w.IPv4.isValid(h))return w.IPv4.parse(h);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},w.parseCIDR=function(h){try{return w.IPv6.parseCIDR(h)}catch{try{return w.IPv4.parseCIDR(h)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},w.process=function(h){const _=this.parse(h);return _.kind()==="ipv6"&&_.isIPv4MappedAddress()?_.toIPv4Address():_},w.subnetMatch=function(h,_,v){let A,C,O,L;v==null&&(v="unicast");for(C in _)if(Object.prototype.hasOwnProperty.call(_,C)){for(O=_[C],O[0]&&!(O[0]instanceof Array)&&(O=[O]),A=0;A<O.length;A++)if(L=O[A],h.kind()===L[0].kind()&&h.match.apply(h,L))return C}return v},t.exports?t.exports=w:e.ipaddr=w})(cs)})(Gh);var iu=Gh.exports;class su{static decodeIP(e){if(e.length===64&&parseInt(e,16)===0)return"::/0";if(e.length!==16)return e;const n=parseInt(e.slice(8),16).toString(2).split("").reduce((i,s)=>i+ +s,0);let r=e.slice(0,8).replace(/(.{2})/g,i=>`${parseInt(i,16)}.`);return r=r.slice(0,-1),`${r}/${n}`}static toString(e){if(e.byteLength===4||e.byteLength===16){const n=new Uint8Array(e);return iu.fromByteArray(Array.from(n)).toString()}return this.decodeIP(J.ToHex(e))}static fromString(e){const n=iu.parse(e);return new Uint8Array(n.toByteArray()).buffer}}var Ba,Ra,La;let Pe=class{constructor(e={}){Object.assign(this,e)}toString(){return this.bmpString||this.printableString||this.teletexString||this.universalString||this.utf8String||""}};u([g({type:b.TeletexString})],Pe.prototype,"teletexString",void 0);u([g({type:b.PrintableString})],Pe.prototype,"printableString",void 0);u([g({type:b.UniversalString})],Pe.prototype,"universalString",void 0);u([g({type:b.Utf8String})],Pe.prototype,"utf8String",void 0);u([g({type:b.BmpString})],Pe.prototype,"bmpString",void 0);Pe=u([R({type:P.Choice})],Pe);let tr=class extends Pe{constructor(e={}){super(e),Object.assign(this,e)}toString(){return this.ia5String||(this.anyValue?J.ToHex(this.anyValue):super.toString())}};u([g({type:b.IA5String})],tr.prototype,"ia5String",void 0);u([g({type:b.Any})],tr.prototype,"anyValue",void 0);tr=u([R({type:P.Choice})],tr);class So{constructor(e={}){this.type="",this.value=new tr,Object.assign(this,e)}}u([g({type:b.ObjectIdentifier})],So.prototype,"type",void 0);u([g({type:tr})],So.prototype,"value",void 0);let nr=Ba=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,Ba.prototype)}};nr=Ba=u([R({type:P.Set,itemType:So})],nr);let Ua=Ra=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,Ra.prototype)}};Ua=Ra=u([R({type:P.Sequence,itemType:nr})],Ua);let xe=La=class extends Ua{constructor(e){super(e),Object.setPrototypeOf(this,La.prototype)}};xe=La=u([R({type:P.Sequence})],xe);const kw={fromASN:t=>su.toString(fs.fromASN(t)),toASN:t=>fs.toASN(su.fromString(t))};class Hr{constructor(e={}){this.typeId="",this.value=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:b.ObjectIdentifier})],Hr.prototype,"typeId",void 0);u([g({type:b.Any,context:0})],Hr.prototype,"value",void 0);class Il{constructor(e={}){this.partyName=new Pe,Object.assign(this,e)}}u([g({type:Pe,optional:!0,context:0,implicit:!0})],Il.prototype,"nameAssigner",void 0);u([g({type:Pe,context:1,implicit:!0})],Il.prototype,"partyName",void 0);let ie=class{constructor(e={}){Object.assign(this,e)}};u([g({type:Hr,context:0,implicit:!0})],ie.prototype,"otherName",void 0);u([g({type:b.IA5String,context:1,implicit:!0})],ie.prototype,"rfc822Name",void 0);u([g({type:b.IA5String,context:2,implicit:!0})],ie.prototype,"dNSName",void 0);u([g({type:b.Any,context:3,implicit:!0})],ie.prototype,"x400Address",void 0);u([g({type:xe,context:4,implicit:!1})],ie.prototype,"directoryName",void 0);u([g({type:Il,context:5})],ie.prototype,"ediPartyName",void 0);u([g({type:b.IA5String,context:6,implicit:!0})],ie.prototype,"uniformResourceIdentifier",void 0);u([g({type:b.OctetString,context:7,implicit:!0,converter:kw})],ie.prototype,"iPAddress",void 0);u([g({type:b.ObjectIdentifier,context:8,implicit:!0})],ie.prototype,"registeredID",void 0);ie=u([R({type:P.Choice})],ie);const Cl="1.3.6.1.5.5.7",Sw=`${Cl}.1`,mr=`${Cl}.3`,Ao=`${Cl}.48`,ou=`${Ao}.1`,au=`${Ao}.2`,cu=`${Ao}.3`,lu=`${Ao}.5`,dn="2.5.29";var Va;const qa=`${Sw}.1`;class di{constructor(e={}){this.accessMethod="",this.accessLocation=new ie,Object.assign(this,e)}}u([g({type:b.ObjectIdentifier})],di.prototype,"accessMethod",void 0);u([g({type:ie})],di.prototype,"accessLocation",void 0);let Gn=Va=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,Va.prototype)}};Gn=Va=u([R({type:P.Sequence,itemType:di})],Gn);const Ma=`${dn}.35`;class Nl extends de{}class wn{constructor(e={}){e&&Object.assign(this,e)}}u([g({type:Nl,context:0,optional:!0,implicit:!0})],wn.prototype,"keyIdentifier",void 0);u([g({type:ie,context:1,optional:!0,implicit:!0,repeated:"sequence"})],wn.prototype,"authorityCertIssuer",void 0);u([g({type:b.Integer,context:2,optional:!0,implicit:!0,converter:_e})],wn.prototype,"authorityCertSerialNumber",void 0);const Jh=`${dn}.19`;class hs{constructor(e={}){this.cA=!1,Object.assign(this,e)}}u([g({type:b.Boolean,defaultValue:!1})],hs.prototype,"cA",void 0);u([g({type:b.Integer,optional:!0})],hs.prototype,"pathLenConstraint",void 0);var Da;let Me=Da=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,Da.prototype)}};Me=Da=u([R({type:P.Sequence,itemType:ie})],Me);var Ha;let du=Ha=class extends Me{constructor(e){super(e),Object.setPrototypeOf(this,Ha.prototype)}};du=Ha=u([R({type:P.Sequence})],du);var Fa;const Zh=`${dn}.32`;let Lt=class{constructor(e={}){Object.assign(this,e)}toString(){return this.ia5String||this.visibleString||this.bmpString||this.utf8String||""}};u([g({type:b.IA5String})],Lt.prototype,"ia5String",void 0);u([g({type:b.VisibleString})],Lt.prototype,"visibleString",void 0);u([g({type:b.BmpString})],Lt.prototype,"bmpString",void 0);u([g({type:b.Utf8String})],Lt.prototype,"utf8String",void 0);Lt=u([R({type:P.Choice})],Lt);class jl{constructor(e={}){this.organization=new Lt,this.noticeNumbers=[],Object.assign(this,e)}}u([g({type:Lt})],jl.prototype,"organization",void 0);u([g({type:b.Integer,repeated:"sequence"})],jl.prototype,"noticeNumbers",void 0);class $l{constructor(e={}){Object.assign(this,e)}}u([g({type:jl,optional:!0})],$l.prototype,"noticeRef",void 0);u([g({type:Lt,optional:!0})],$l.prototype,"explicitText",void 0);let gs=class{constructor(e={}){Object.assign(this,e)}};u([g({type:b.IA5String})],gs.prototype,"cPSuri",void 0);u([g({type:$l})],gs.prototype,"userNotice",void 0);gs=u([R({type:P.Choice})],gs);class Ol{constructor(e={}){this.policyQualifierId="",this.qualifier=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:b.ObjectIdentifier})],Ol.prototype,"policyQualifierId",void 0);u([g({type:b.Any})],Ol.prototype,"qualifier",void 0);class zo{constructor(e={}){this.policyIdentifier="",Object.assign(this,e)}}u([g({type:b.ObjectIdentifier})],zo.prototype,"policyIdentifier",void 0);u([g({type:Ol,repeated:"sequence",optional:!0})],zo.prototype,"policyQualifiers",void 0);let ms=Fa=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,Fa.prototype)}};ms=Fa=u([R({type:P.Sequence,itemType:zo})],ms);let _s=class{constructor(e=0){this.value=e}};u([g({type:b.Integer})],_s.prototype,"value",void 0);_s=u([R({type:P.Choice})],_s);let uu=class extends _s{};uu=u([R({type:P.Choice})],uu);var Ka;const Wa=`${dn}.31`;var pt;(function(t){t[t.unused=1]="unused",t[t.keyCompromise=2]="keyCompromise",t[t.cACompromise=4]="cACompromise",t[t.affiliationChanged=8]="affiliationChanged",t[t.superseded=16]="superseded",t[t.cessationOfOperation=32]="cessationOfOperation",t[t.certificateHold=64]="certificateHold",t[t.privilegeWithdrawn=128]="privilegeWithdrawn",t[t.aACompromise=256]="aACompromise"})(pt||(pt={}));class Yh extends ko{toJSON(){const e=[],n=this.toNumber();return n&pt.aACompromise&&e.push("aACompromise"),n&pt.affiliationChanged&&e.push("affiliationChanged"),n&pt.cACompromise&&e.push("cACompromise"),n&pt.certificateHold&&e.push("certificateHold"),n&pt.cessationOfOperation&&e.push("cessationOfOperation"),n&pt.keyCompromise&&e.push("keyCompromise"),n&pt.privilegeWithdrawn&&e.push("privilegeWithdrawn"),n&pt.superseded&&e.push("superseded"),n&pt.unused&&e.push("unused"),e}toString(){return`[${this.toJSON().join(", ")}]`}}let zn=class{constructor(e={}){Object.assign(this,e)}};u([g({type:ie,context:0,repeated:"sequence",implicit:!0})],zn.prototype,"fullName",void 0);u([g({type:nr,context:1,implicit:!0})],zn.prototype,"nameRelativeToCRLIssuer",void 0);zn=u([R({type:P.Choice})],zn);class _r{constructor(e={}){Object.assign(this,e)}}u([g({type:zn,context:0,optional:!0})],_r.prototype,"distributionPoint",void 0);u([g({type:Yh,context:1,optional:!0,implicit:!0})],_r.prototype,"reasons",void 0);u([g({type:ie,context:2,optional:!0,repeated:"sequence",implicit:!0})],_r.prototype,"cRLIssuer",void 0);let Yn=Ka=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,Ka.prototype)}};Yn=Ka=u([R({type:P.Sequence,itemType:_r})],Yn);var Ga;let pu=Ga=class extends Yn{constructor(e){super(e),Object.setPrototypeOf(this,Ga.prototype)}};pu=Ga=u([R({type:P.Sequence,itemType:_r})],pu);class Le{constructor(e={}){this.onlyContainsUserCerts=Le.ONLY,this.onlyContainsCACerts=Le.ONLY,this.indirectCRL=Le.ONLY,this.onlyContainsAttributeCerts=Le.ONLY,Object.assign(this,e)}}Le.ONLY=!1;u([g({type:zn,context:0,optional:!0})],Le.prototype,"distributionPoint",void 0);u([g({type:b.Boolean,context:1,defaultValue:Le.ONLY,implicit:!0})],Le.prototype,"onlyContainsUserCerts",void 0);u([g({type:b.Boolean,context:2,defaultValue:Le.ONLY,implicit:!0})],Le.prototype,"onlyContainsCACerts",void 0);u([g({type:Yh,context:3,optional:!0,implicit:!0})],Le.prototype,"onlySomeReasons",void 0);u([g({type:b.Boolean,context:4,defaultValue:Le.ONLY,implicit:!0})],Le.prototype,"indirectCRL",void 0);u([g({type:b.Boolean,context:5,defaultValue:Le.ONLY,implicit:!0})],Le.prototype,"onlyContainsAttributeCerts",void 0);var Pr;(function(t){t[t.unspecified=0]="unspecified",t[t.keyCompromise=1]="keyCompromise",t[t.cACompromise=2]="cACompromise",t[t.affiliationChanged=3]="affiliationChanged",t[t.superseded=4]="superseded",t[t.cessationOfOperation=5]="cessationOfOperation",t[t.certificateHold=6]="certificateHold",t[t.removeFromCRL=8]="removeFromCRL",t[t.privilegeWithdrawn=9]="privilegeWithdrawn",t[t.aACompromise=10]="aACompromise"})(Pr||(Pr={}));let Ja=class{constructor(e=Pr.unspecified){this.reason=Pr.unspecified,this.reason=e}toJSON(){return Pr[this.reason]}toString(){return this.toJSON()}};u([g({type:b.Enumerated})],Ja.prototype,"reason",void 0);Ja=u([R({type:P.Choice})],Ja);var Za;const Xh=`${dn}.37`;let ys=Za=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,Za.prototype)}};ys=Za=u([R({type:P.Sequence,itemType:b.ObjectIdentifier})],ys);const Aw=`${mr}.1`,zw=`${mr}.2`,Ew=`${mr}.3`,Iw=`${mr}.4`,Cw=`${mr}.8`,Nw=`${mr}.9`;let Ya=class{constructor(e=new ArrayBuffer(0)){this.value=e}};u([g({type:b.Integer,converter:_e})],Ya.prototype,"value",void 0);Ya=u([R({type:P.Choice})],Ya);let Xa=class{constructor(e){this.value=new Date,e&&(this.value=e)}};u([g({type:b.GeneralizedTime})],Xa.prototype,"value",void 0);Xa=u([R({type:P.Choice})],Xa);var Qa;let fu=Qa=class extends Me{constructor(e){super(e),Object.setPrototypeOf(this,Qa.prototype)}};fu=Qa=u([R({type:P.Sequence})],fu);const Qh=`${dn}.15`;var ft;(function(t){t[t.digitalSignature=1]="digitalSignature",t[t.nonRepudiation=2]="nonRepudiation",t[t.keyEncipherment=4]="keyEncipherment",t[t.dataEncipherment=8]="dataEncipherment",t[t.keyAgreement=16]="keyAgreement",t[t.keyCertSign=32]="keyCertSign",t[t.cRLSign=64]="cRLSign",t[t.encipherOnly=128]="encipherOnly",t[t.decipherOnly=256]="decipherOnly"})(ft||(ft={}));class oa extends ko{toJSON(){const e=this.toNumber(),n=[];return e&ft.cRLSign&&n.push("crlSign"),e&ft.dataEncipherment&&n.push("dataEncipherment"),e&ft.decipherOnly&&n.push("decipherOnly"),e&ft.digitalSignature&&n.push("digitalSignature"),e&ft.encipherOnly&&n.push("encipherOnly"),e&ft.keyAgreement&&n.push("keyAgreement"),e&ft.keyCertSign&&n.push("keyCertSign"),e&ft.keyEncipherment&&n.push("keyEncipherment"),e&ft.nonRepudiation&&n.push("nonRepudiation"),n}toString(){return`[${this.toJSON().join(", ")}]`}}var ec;class Eo{constructor(e={}){this.base=new ie,this.minimum=0,Object.assign(this,e)}}u([g({type:ie})],Eo.prototype,"base",void 0);u([g({type:b.Integer,context:0,defaultValue:0,implicit:!0})],Eo.prototype,"minimum",void 0);u([g({type:b.Integer,context:1,optional:!0,implicit:!0})],Eo.prototype,"maximum",void 0);let ws=ec=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,ec.prototype)}};ws=ec=u([R({type:P.Sequence,itemType:Eo})],ws);class eg{constructor(e={}){Object.assign(this,e)}}u([g({type:ws,context:0,optional:!0,implicit:!0})],eg.prototype,"permittedSubtrees",void 0);u([g({type:ws,context:1,optional:!0,implicit:!0})],eg.prototype,"excludedSubtrees",void 0);class tg{constructor(e={}){Object.assign(this,e)}}u([g({type:b.Integer,context:0,implicit:!0,optional:!0,converter:_e})],tg.prototype,"requireExplicitPolicy",void 0);u([g({type:b.Integer,context:1,implicit:!0,optional:!0,converter:_e})],tg.prototype,"inhibitPolicyMapping",void 0);var tc;class Tl{constructor(e={}){this.issuerDomainPolicy="",this.subjectDomainPolicy="",Object.assign(this,e)}}u([g({type:b.ObjectIdentifier})],Tl.prototype,"issuerDomainPolicy",void 0);u([g({type:b.ObjectIdentifier})],Tl.prototype,"subjectDomainPolicy",void 0);let hu=tc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,tc.prototype)}};hu=tc=u([R({type:P.Sequence,itemType:Tl})],hu);var nc;const ng=`${dn}.17`;let rc=nc=class extends Me{constructor(e){super(e),Object.setPrototypeOf(this,nc.prototype)}};rc=nc=u([R({type:P.Sequence})],rc);let Ut=class{constructor(e={}){this.type="",this.values=[],Object.assign(this,e)}};u([g({type:b.ObjectIdentifier})],Ut.prototype,"type",void 0);u([g({type:b.Any,repeated:"set"})],Ut.prototype,"values",void 0);var ic;let gu=ic=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,ic.prototype)}};gu=ic=u([R({type:P.Sequence,itemType:Ut})],gu);const rg=`${dn}.14`;class en extends Nl{}class ig{constructor(e={}){Object.assign(this,e)}}u([g({type:b.GeneralizedTime,context:0,implicit:!0,optional:!0})],ig.prototype,"notBefore",void 0);u([g({type:b.GeneralizedTime,context:1,implicit:!0,optional:!0})],ig.prototype,"notAfter",void 0);var Br;(function(t){t[t.keyUpdateAllowed=1]="keyUpdateAllowed",t[t.newExtensions=2]="newExtensions",t[t.pKIXCertificate=4]="pKIXCertificate"})(Br||(Br={}));class sg extends ko{toJSON(){const e=[],n=this.toNumber();return n&Br.pKIXCertificate&&e.push("pKIXCertificate"),n&Br.newExtensions&&e.push("newExtensions"),n&Br.keyUpdateAllowed&&e.push("keyUpdateAllowed"),e}toString(){return`[${this.toJSON().join(", ")}]`}}class og{constructor(e={}){this.entrustVers="",this.entrustInfoFlags=new sg,Object.assign(this,e)}}u([g({type:b.GeneralString})],og.prototype,"entrustVers",void 0);u([g({type:sg})],og.prototype,"entrustInfoFlags",void 0);var sc;let mu=sc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,sc.prototype)}};mu=sc=u([R({type:P.Sequence,itemType:di})],mu);class F{constructor(e={}){this.algorithm="",Object.assign(this,e)}isEqual(e){return e instanceof F&&e.algorithm==this.algorithm&&(e.parameters&&this.parameters&&Kf(e.parameters,this.parameters)||e.parameters===this.parameters)}}u([g({type:b.ObjectIdentifier})],F.prototype,"algorithm",void 0);u([g({type:b.Any,optional:!0})],F.prototype,"parameters",void 0);class ht{constructor(e={}){this.algorithm=new F,this.subjectPublicKey=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:F})],ht.prototype,"algorithm",void 0);u([g({type:b.BitString})],ht.prototype,"subjectPublicKey",void 0);let Oe=class{constructor(e){if(e)if(typeof e=="string"||typeof e=="number"||e instanceof Date){const n=new Date(e);n.getUTCFullYear()>2049?this.generalTime=n:this.utcTime=n}else Object.assign(this,e)}getTime(){const e=this.utcTime||this.generalTime;if(!e)throw new Error("Cannot get time from CHOICE object");return e}};u([g({type:b.UTCTime})],Oe.prototype,"utcTime",void 0);u([g({type:b.GeneralizedTime})],Oe.prototype,"generalTime",void 0);Oe=u([R({type:P.Choice})],Oe);class ui{constructor(e){this.notBefore=new Oe(new Date),this.notAfter=new Oe(new Date),e&&(this.notBefore=new Oe(e.notBefore),this.notAfter=new Oe(e.notAfter))}}u([g({type:Oe})],ui.prototype,"notBefore",void 0);u([g({type:Oe})],ui.prototype,"notAfter",void 0);var oc;let ot=class ag{constructor(e={}){this.extnID="",this.critical=ag.CRITICAL,this.extnValue=new de,Object.assign(this,e)}};ot.CRITICAL=!1;u([g({type:b.ObjectIdentifier})],ot.prototype,"extnID",void 0);u([g({type:b.Boolean,defaultValue:ot.CRITICAL})],ot.prototype,"critical",void 0);u([g({type:de})],ot.prototype,"extnValue",void 0);let rn=oc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,oc.prototype)}};rn=oc=u([R({type:P.Sequence,itemType:ot})],rn);var En;(function(t){t[t.v1=0]="v1",t[t.v2=1]="v2",t[t.v3=2]="v3"})(En||(En={}));class nt{constructor(e={}){this.version=En.v1,this.serialNumber=new ArrayBuffer(0),this.signature=new F,this.issuer=new xe,this.validity=new ui,this.subject=new xe,this.subjectPublicKeyInfo=new ht,Object.assign(this,e)}}u([g({type:b.Integer,context:0,defaultValue:En.v1})],nt.prototype,"version",void 0);u([g({type:b.Integer,converter:_e})],nt.prototype,"serialNumber",void 0);u([g({type:F})],nt.prototype,"signature",void 0);u([g({type:xe})],nt.prototype,"issuer",void 0);u([g({type:ui})],nt.prototype,"validity",void 0);u([g({type:xe})],nt.prototype,"subject",void 0);u([g({type:ht})],nt.prototype,"subjectPublicKeyInfo",void 0);u([g({type:b.BitString,context:1,implicit:!0,optional:!0})],nt.prototype,"issuerUniqueID",void 0);u([g({type:b.BitString,context:2,implicit:!0,optional:!0})],nt.prototype,"subjectUniqueID",void 0);u([g({type:rn,context:3,optional:!0})],nt.prototype,"extensions",void 0);class In{constructor(e={}){this.tbsCertificate=new nt,this.signatureAlgorithm=new F,this.signatureValue=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:nt})],In.prototype,"tbsCertificate",void 0);u([g({type:F})],In.prototype,"signatureAlgorithm",void 0);u([g({type:b.BitString})],In.prototype,"signatureValue",void 0);class Io{constructor(e={}){this.userCertificate=new ArrayBuffer(0),this.revocationDate=new Oe,Object.assign(this,e)}}u([g({type:b.Integer,converter:_e})],Io.prototype,"userCertificate",void 0);u([g({type:Oe})],Io.prototype,"revocationDate",void 0);u([g({type:ot,optional:!0,repeated:"sequence"})],Io.prototype,"crlEntryExtensions",void 0);class Wt{constructor(e={}){this.signature=new F,this.issuer=new xe,this.thisUpdate=new Oe,Object.assign(this,e)}}u([g({type:b.Integer,optional:!0})],Wt.prototype,"version",void 0);u([g({type:F})],Wt.prototype,"signature",void 0);u([g({type:xe})],Wt.prototype,"issuer",void 0);u([g({type:Oe})],Wt.prototype,"thisUpdate",void 0);u([g({type:Oe,optional:!0})],Wt.prototype,"nextUpdate",void 0);u([g({type:Io,repeated:"sequence",optional:!0})],Wt.prototype,"revokedCertificates",void 0);u([g({type:ot,optional:!0,context:0,repeated:"sequence"})],Wt.prototype,"crlExtensions",void 0);class Pl{constructor(e={}){this.tbsCertList=new Wt,this.signatureAlgorithm=new F,this.signature=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:Wt})],Pl.prototype,"tbsCertList",void 0);u([g({type:F})],Pl.prototype,"signatureAlgorithm",void 0);u([g({type:b.BitString})],Pl.prototype,"signature",void 0);class yr{constructor(e={}){this.issuer=new xe,this.serialNumber=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:xe})],yr.prototype,"issuer",void 0);u([g({type:b.Integer,converter:_e})],yr.prototype,"serialNumber",void 0);let rr=class{constructor(e={}){Object.assign(this,e)}};u([g({type:en,context:0,implicit:!0})],rr.prototype,"subjectKeyIdentifier",void 0);u([g({type:yr})],rr.prototype,"issuerAndSerialNumber",void 0);rr=u([R({type:P.Choice})],rr);var Vt;(function(t){t[t.v0=0]="v0",t[t.v1=1]="v1",t[t.v2=2]="v2",t[t.v3=3]="v3",t[t.v4=4]="v4",t[t.v5=5]="v5"})(Vt||(Vt={}));let Fr=class extends F{};Fr=u([R({type:P.Sequence})],Fr);let vs=class extends F{};vs=u([R({type:P.Sequence})],vs);let Ct=class extends F{};Ct=u([R({type:P.Sequence})],Ct);let bs=class extends F{};bs=u([R({type:P.Sequence})],bs);let _u=class extends F{};_u=u([R({type:P.Sequence})],_u);let ac=class extends F{};ac=u([R({type:P.Sequence})],ac);let wr=class{constructor(e={}){this.attrType="",this.attrValues=[],Object.assign(this,e)}};u([g({type:b.ObjectIdentifier})],wr.prototype,"attrType",void 0);u([g({type:b.Any,repeated:"set"})],wr.prototype,"attrValues",void 0);var cc;class jt{constructor(e={}){this.version=Vt.v0,this.sid=new rr,this.digestAlgorithm=new Fr,this.signatureAlgorithm=new vs,this.signature=new de,Object.assign(this,e)}}u([g({type:b.Integer})],jt.prototype,"version",void 0);u([g({type:rr})],jt.prototype,"sid",void 0);u([g({type:Fr})],jt.prototype,"digestAlgorithm",void 0);u([g({type:wr,repeated:"set",context:0,implicit:!0,optional:!0})],jt.prototype,"signedAttrs",void 0);u([g({type:vs})],jt.prototype,"signatureAlgorithm",void 0);u([g({type:de})],jt.prototype,"signature",void 0);u([g({type:wr,repeated:"set",context:1,implicit:!0,optional:!0})],jt.prototype,"unsignedAttrs",void 0);let xs=cc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,cc.prototype)}};xs=cc=u([R({type:P.Set,itemType:jt})],xs);let yu=class extends Oe{};yu=u([R({type:P.Choice})],yu);let wu=class extends jt{};wu=u([R({type:P.Sequence})],wu);class Bl{constructor(e={}){this.acIssuer=new ie,this.acSerial=0,this.attrs=[],Object.assign(this,e)}}u([g({type:ie})],Bl.prototype,"acIssuer",void 0);u([g({type:b.Integer})],Bl.prototype,"acSerial",void 0);u([g({type:Ut,repeated:"sequence"})],Bl.prototype,"attrs",void 0);var lc;let ks=lc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,lc.prototype)}};ks=lc=u([R({type:P.Sequence,itemType:b.ObjectIdentifier})],ks);class Co{constructor(e={}){this.permitUnSpecified=!0,Object.assign(this,e)}}u([g({type:b.Integer,optional:!0})],Co.prototype,"pathLenConstraint",void 0);u([g({type:ks,implicit:!0,context:0,optional:!0})],Co.prototype,"permittedAttrs",void 0);u([g({type:ks,implicit:!0,context:1,optional:!0})],Co.prototype,"excludedAttrs",void 0);u([g({type:b.Boolean,defaultValue:!0})],Co.prototype,"permitUnSpecified",void 0);class Rn{constructor(e={}){this.issuer=new Me,this.serial=new ArrayBuffer(0),this.issuerUID=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:Me})],Rn.prototype,"issuer",void 0);u([g({type:b.Integer,converter:_e})],Rn.prototype,"serial",void 0);u([g({type:b.BitString,optional:!0})],Rn.prototype,"issuerUID",void 0);var dc;(function(t){t[t.publicKey=0]="publicKey",t[t.publicKeyCert=1]="publicKeyCert",t[t.otherObjectTypes=2]="otherObjectTypes"})(dc||(dc={}));class Ln{constructor(e={}){this.digestedObjectType=dc.publicKey,this.digestAlgorithm=new F,this.objectDigest=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:b.Enumerated})],Ln.prototype,"digestedObjectType",void 0);u([g({type:b.ObjectIdentifier,optional:!0})],Ln.prototype,"otherObjectTypeID",void 0);u([g({type:F})],Ln.prototype,"digestAlgorithm",void 0);u([g({type:b.BitString})],Ln.prototype,"objectDigest",void 0);class No{constructor(e={}){Object.assign(this,e)}}u([g({type:Me,optional:!0})],No.prototype,"issuerName",void 0);u([g({type:Rn,context:0,implicit:!0,optional:!0})],No.prototype,"baseCertificateID",void 0);u([g({type:Ln,context:1,implicit:!0,optional:!0})],No.prototype,"objectDigestInfo",void 0);let ir=class{constructor(e={}){Object.assign(this,e)}};u([g({type:ie,repeated:"sequence"})],ir.prototype,"v1Form",void 0);u([g({type:No,context:0,implicit:!0})],ir.prototype,"v2Form",void 0);ir=u([R({type:P.Choice})],ir);class jo{constructor(e={}){this.notBeforeTime=new Date,this.notAfterTime=new Date,Object.assign(this,e)}}u([g({type:b.GeneralizedTime})],jo.prototype,"notBeforeTime",void 0);u([g({type:b.GeneralizedTime})],jo.prototype,"notAfterTime",void 0);class pi{constructor(e={}){Object.assign(this,e)}}u([g({type:Rn,implicit:!0,context:0,optional:!0})],pi.prototype,"baseCertificateID",void 0);u([g({type:Me,implicit:!0,context:1,optional:!0})],pi.prototype,"entityName",void 0);u([g({type:Ln,implicit:!0,context:2,optional:!0})],pi.prototype,"objectDigestInfo",void 0);var uc;(function(t){t[t.v2=1]="v2"})(uc||(uc={}));class vt{constructor(e={}){this.version=uc.v2,this.holder=new pi,this.issuer=new ir,this.signature=new F,this.serialNumber=new ArrayBuffer(0),this.attrCertValidityPeriod=new jo,this.attributes=[],Object.assign(this,e)}}u([g({type:b.Integer})],vt.prototype,"version",void 0);u([g({type:pi})],vt.prototype,"holder",void 0);u([g({type:ir})],vt.prototype,"issuer",void 0);u([g({type:F})],vt.prototype,"signature",void 0);u([g({type:b.Integer,converter:_e})],vt.prototype,"serialNumber",void 0);u([g({type:jo})],vt.prototype,"attrCertValidityPeriod",void 0);u([g({type:Ut,repeated:"sequence"})],vt.prototype,"attributes",void 0);u([g({type:b.BitString,optional:!0})],vt.prototype,"issuerUniqueID",void 0);u([g({type:rn,optional:!0})],vt.prototype,"extensions",void 0);class $o{constructor(e={}){this.acinfo=new vt,this.signatureAlgorithm=new F,this.signatureValue=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:vt})],$o.prototype,"acinfo",void 0);u([g({type:F})],$o.prototype,"signatureAlgorithm",void 0);u([g({type:b.BitString})],$o.prototype,"signatureValue",void 0);var Ss;(function(t){t[t.unmarked=1]="unmarked",t[t.unclassified=2]="unclassified",t[t.restricted=4]="restricted",t[t.confidential=8]="confidential",t[t.secret=16]="secret",t[t.topSecret=32]="topSecret"})(Ss||(Ss={}));class pc extends ko{}class Rl{constructor(e={}){this.type="",this.value=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:b.ObjectIdentifier,implicit:!0,context:0})],Rl.prototype,"type",void 0);u([g({type:b.Any,implicit:!0,context:1})],Rl.prototype,"value",void 0);class Ll{constructor(e={}){this.policyId="",this.classList=new pc(Ss.unclassified),Object.assign(this,e)}}u([g({type:b.ObjectIdentifier})],Ll.prototype,"policyId",void 0);u([g({type:pc,defaultValue:new pc(Ss.unclassified)})],Ll.prototype,"classList",void 0);u([g({type:Rl,repeated:"set"})],Ll.prototype,"securityCategories",void 0);class Oo{constructor(e={}){Object.assign(this,e)}}u([g({type:de})],Oo.prototype,"cotets",void 0);u([g({type:b.ObjectIdentifier})],Oo.prototype,"oid",void 0);u([g({type:b.Utf8String})],Oo.prototype,"string",void 0);class cg{constructor(e={}){this.values=[],Object.assign(this,e)}}u([g({type:Me,implicit:!0,context:0,optional:!0})],cg.prototype,"policyAuthority",void 0);u([g({type:Oo,repeated:"sequence"})],cg.prototype,"values",void 0);var fc;class To{constructor(e={}){this.targetCertificate=new Rn,Object.assign(this,e)}}u([g({type:Rn})],To.prototype,"targetCertificate",void 0);u([g({type:ie,optional:!0})],To.prototype,"targetName",void 0);u([g({type:Ln,optional:!0})],To.prototype,"certDigestInfo",void 0);let sr=class{constructor(e={}){Object.assign(this,e)}};u([g({type:ie,context:0,implicit:!0})],sr.prototype,"targetName",void 0);u([g({type:ie,context:1,implicit:!0})],sr.prototype,"targetGroup",void 0);u([g({type:To,context:2,implicit:!0})],sr.prototype,"targetCert",void 0);sr=u([R({type:P.Choice})],sr);let hc=fc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,fc.prototype)}};hc=fc=u([R({type:P.Sequence,itemType:sr})],hc);var gc;let vu=gc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,gc.prototype)}};vu=gc=u([R({type:P.Sequence,itemType:hc})],vu);class lg{constructor(e={}){Object.assign(this,e)}}u([g({type:Me,implicit:!0,context:0,optional:!0})],lg.prototype,"roleAuthority",void 0);u([g({type:ie,implicit:!0,context:1})],lg.prototype,"roleName",void 0);class Ul{constructor(e={}){this.service=new ie,this.ident=new ie,Object.assign(this,e)}}u([g({type:ie})],Ul.prototype,"service",void 0);u([g({type:ie})],Ul.prototype,"ident",void 0);u([g({type:de,optional:!0})],Ul.prototype,"authInfo",void 0);var mc;class Vl{constructor(e={}){this.otherCertFormat="",this.otherCert=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:b.ObjectIdentifier})],Vl.prototype,"otherCertFormat",void 0);u([g({type:b.Any})],Vl.prototype,"otherCert",void 0);let or=class{constructor(e={}){Object.assign(this,e)}};u([g({type:In})],or.prototype,"certificate",void 0);u([g({type:$o,context:2,implicit:!0})],or.prototype,"v2AttrCert",void 0);u([g({type:Vl,context:3,implicit:!0})],or.prototype,"other",void 0);or=u([R({type:P.Choice})],or);let As=mc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,mc.prototype)}};As=mc=u([R({type:P.Set,itemType:or})],As);class vr{constructor(e={}){this.contentType="",this.content=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:b.ObjectIdentifier})],vr.prototype,"contentType",void 0);u([g({type:b.Any,context:0})],vr.prototype,"content",void 0);let Kr=class{constructor(e={}){Object.assign(this,e)}};u([g({type:de})],Kr.prototype,"single",void 0);u([g({type:b.Any})],Kr.prototype,"any",void 0);Kr=u([R({type:P.Choice})],Kr);class Po{constructor(e={}){this.eContentType="",Object.assign(this,e)}}u([g({type:b.ObjectIdentifier})],Po.prototype,"eContentType",void 0);u([g({type:Kr,context:0,optional:!0})],Po.prototype,"eContent",void 0);let Wr=class{constructor(e={}){Object.assign(this,e)}};u([g({type:de,context:0,implicit:!0,optional:!0})],Wr.prototype,"value",void 0);u([g({type:de,converter:sw,context:0,implicit:!0,optional:!0,repeated:"sequence"})],Wr.prototype,"constructedValue",void 0);Wr=u([R({type:P.Choice})],Wr);class fi{constructor(e={}){this.contentType="",this.contentEncryptionAlgorithm=new bs,Object.assign(this,e)}}u([g({type:b.ObjectIdentifier})],fi.prototype,"contentType",void 0);u([g({type:bs})],fi.prototype,"contentEncryptionAlgorithm",void 0);u([g({type:Wr,optional:!0})],fi.prototype,"encryptedContent",void 0);class Bo{constructor(e={}){this.keyAttrId="",Object.assign(this,e)}}u([g({type:b.ObjectIdentifier})],Bo.prototype,"keyAttrId",void 0);u([g({type:b.Any,optional:!0})],Bo.prototype,"keyAttr",void 0);var _c;class Ro{constructor(e={}){this.subjectKeyIdentifier=new en,Object.assign(this,e)}}u([g({type:en})],Ro.prototype,"subjectKeyIdentifier",void 0);u([g({type:b.GeneralizedTime,optional:!0})],Ro.prototype,"date",void 0);u([g({type:Bo,optional:!0})],Ro.prototype,"other",void 0);let ar=class{constructor(e={}){Object.assign(this,e)}};u([g({type:Ro,context:0,implicit:!0,optional:!0})],ar.prototype,"rKeyId",void 0);u([g({type:yr,optional:!0})],ar.prototype,"issuerAndSerialNumber",void 0);ar=u([R({type:P.Choice})],ar);class ql{constructor(e={}){this.rid=new ar,this.encryptedKey=new de,Object.assign(this,e)}}u([g({type:ar})],ql.prototype,"rid",void 0);u([g({type:de})],ql.prototype,"encryptedKey",void 0);let zs=_c=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,_c.prototype)}};zs=_c=u([R({type:P.Sequence,itemType:ql})],zs);class Ml{constructor(e={}){this.algorithm=new F,this.publicKey=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:F})],Ml.prototype,"algorithm",void 0);u([g({type:b.BitString})],Ml.prototype,"publicKey",void 0);let Cn=class{constructor(e={}){Object.assign(this,e)}};u([g({type:en,context:0,implicit:!0,optional:!0})],Cn.prototype,"subjectKeyIdentifier",void 0);u([g({type:Ml,context:1,implicit:!0,optional:!0})],Cn.prototype,"originatorKey",void 0);u([g({type:yr,optional:!0})],Cn.prototype,"issuerAndSerialNumber",void 0);Cn=u([R({type:P.Choice})],Cn);class br{constructor(e={}){this.version=Vt.v3,this.originator=new Cn,this.keyEncryptionAlgorithm=new Ct,this.recipientEncryptedKeys=new zs,Object.assign(this,e)}}u([g({type:b.Integer})],br.prototype,"version",void 0);u([g({type:Cn,context:0})],br.prototype,"originator",void 0);u([g({type:de,context:1,optional:!0})],br.prototype,"ukm",void 0);u([g({type:Ct})],br.prototype,"keyEncryptionAlgorithm",void 0);u([g({type:zs})],br.prototype,"recipientEncryptedKeys",void 0);let cr=class{constructor(e={}){Object.assign(this,e)}};u([g({type:en,context:0,implicit:!0})],cr.prototype,"subjectKeyIdentifier",void 0);u([g({type:yr})],cr.prototype,"issuerAndSerialNumber",void 0);cr=u([R({type:P.Choice})],cr);class hi{constructor(e={}){this.version=Vt.v0,this.rid=new cr,this.keyEncryptionAlgorithm=new Ct,this.encryptedKey=new de,Object.assign(this,e)}}u([g({type:b.Integer})],hi.prototype,"version",void 0);u([g({type:cr})],hi.prototype,"rid",void 0);u([g({type:Ct})],hi.prototype,"keyEncryptionAlgorithm",void 0);u([g({type:de})],hi.prototype,"encryptedKey",void 0);class gi{constructor(e={}){this.keyIdentifier=new de,Object.assign(this,e)}}u([g({type:de})],gi.prototype,"keyIdentifier",void 0);u([g({type:b.GeneralizedTime,optional:!0})],gi.prototype,"date",void 0);u([g({type:Bo,optional:!0})],gi.prototype,"other",void 0);class mi{constructor(e={}){this.version=Vt.v4,this.kekid=new gi,this.keyEncryptionAlgorithm=new Ct,this.encryptedKey=new de,Object.assign(this,e)}}u([g({type:b.Integer})],mi.prototype,"version",void 0);u([g({type:gi})],mi.prototype,"kekid",void 0);u([g({type:Ct})],mi.prototype,"keyEncryptionAlgorithm",void 0);u([g({type:de})],mi.prototype,"encryptedKey",void 0);class _i{constructor(e={}){this.version=Vt.v0,this.keyEncryptionAlgorithm=new Ct,this.encryptedKey=new de,Object.assign(this,e)}}u([g({type:b.Integer})],_i.prototype,"version",void 0);u([g({type:ac,context:0,optional:!0})],_i.prototype,"keyDerivationAlgorithm",void 0);u([g({type:Ct})],_i.prototype,"keyEncryptionAlgorithm",void 0);u([g({type:de})],_i.prototype,"encryptedKey",void 0);class Dl{constructor(e={}){this.oriType="",this.oriValue=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:b.ObjectIdentifier})],Dl.prototype,"oriType",void 0);u([g({type:b.Any})],Dl.prototype,"oriValue",void 0);let sn=class{constructor(e={}){Object.assign(this,e)}};u([g({type:hi,optional:!0})],sn.prototype,"ktri",void 0);u([g({type:br,context:1,implicit:!0,optional:!0})],sn.prototype,"kari",void 0);u([g({type:mi,context:2,implicit:!0,optional:!0})],sn.prototype,"kekri",void 0);u([g({type:_i,context:3,implicit:!0,optional:!0})],sn.prototype,"pwri",void 0);u([g({type:Dl,context:4,implicit:!0,optional:!0})],sn.prototype,"ori",void 0);sn=u([R({type:P.Choice})],sn);var yc;let Es=yc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,yc.prototype)}};Es=yc=u([R({type:P.Set,itemType:sn})],Es);var wc;class Lo{constructor(e={}){this.otherRevInfoFormat="",this.otherRevInfo=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:b.ObjectIdentifier})],Lo.prototype,"otherRevInfoFormat",void 0);u([g({type:b.Any})],Lo.prototype,"otherRevInfo",void 0);let Is=class{constructor(e={}){this.other=new Lo,Object.assign(this,e)}};u([g({type:Lo,context:1,implicit:!0})],Is.prototype,"other",void 0);Is=u([R({type:P.Choice})],Is);let Cs=wc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,wc.prototype)}};Cs=wc=u([R({type:P.Set,itemType:Is})],Cs);class Hl{constructor(e={}){Object.assign(this,e)}}u([g({type:As,context:0,implicit:!0,optional:!0})],Hl.prototype,"certs",void 0);u([g({type:Cs,context:1,implicit:!0,optional:!0})],Hl.prototype,"crls",void 0);var vc;let bc=vc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,vc.prototype)}};bc=vc=u([R({type:P.Set,itemType:wr})],bc);class yi{constructor(e={}){this.version=Vt.v0,this.recipientInfos=new Es,this.encryptedContentInfo=new fi,Object.assign(this,e)}}u([g({type:b.Integer})],yi.prototype,"version",void 0);u([g({type:Hl,context:0,implicit:!0,optional:!0})],yi.prototype,"originatorInfo",void 0);u([g({type:Es})],yi.prototype,"recipientInfos",void 0);u([g({type:fi})],yi.prototype,"encryptedContentInfo",void 0);u([g({type:bc,context:1,implicit:!0,optional:!0})],yi.prototype,"unprotectedAttrs",void 0);const jw="1.2.840.113549.1.7.2";var xc;let Ns=xc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,xc.prototype)}};Ns=xc=u([R({type:P.Set,itemType:Fr})],Ns);class xr{constructor(e={}){this.version=Vt.v0,this.digestAlgorithms=new Ns,this.encapContentInfo=new Po,this.signerInfos=new xs,Object.assign(this,e)}}u([g({type:b.Integer})],xr.prototype,"version",void 0);u([g({type:Ns})],xr.prototype,"digestAlgorithms",void 0);u([g({type:Po})],xr.prototype,"encapContentInfo",void 0);u([g({type:As,context:0,implicit:!0,optional:!0})],xr.prototype,"certificates",void 0);u([g({type:Cs,context:1,implicit:!0,optional:!0})],xr.prototype,"crls",void 0);u([g({type:xs})],xr.prototype,"signerInfos",void 0);const Gr="1.2.840.10045.2.1",Fl="1.2.840.10045.4.1",dg="1.2.840.10045.4.3.1",Kl="1.2.840.10045.4.3.2",Wl="1.2.840.10045.4.3.3",Gl="1.2.840.10045.4.3.4",bu="1.2.840.10045.3.1.7",xu="1.3.132.0.34",ku="1.3.132.0.35";function wi(t){return new F({algorithm:t})}const $w=wi(Fl);wi(dg);const Ow=wi(Kl),Tw=wi(Wl),Pw=wi(Gl);let Jr=class{constructor(e={}){Object.assign(this,e)}};u([g({type:b.ObjectIdentifier})],Jr.prototype,"fieldType",void 0);u([g({type:b.Any})],Jr.prototype,"parameters",void 0);Jr=u([R({type:P.Sequence})],Jr);class Bw extends de{}let lr=class{constructor(e={}){Object.assign(this,e)}};u([g({type:b.OctetString})],lr.prototype,"a",void 0);u([g({type:b.OctetString})],lr.prototype,"b",void 0);u([g({type:b.BitString,optional:!0})],lr.prototype,"seed",void 0);lr=u([R({type:P.Sequence})],lr);var kc;(function(t){t[t.ecpVer1=1]="ecpVer1"})(kc||(kc={}));let qt=class{constructor(e={}){this.version=kc.ecpVer1,Object.assign(this,e)}};u([g({type:b.Integer})],qt.prototype,"version",void 0);u([g({type:Jr})],qt.prototype,"fieldID",void 0);u([g({type:lr})],qt.prototype,"curve",void 0);u([g({type:Bw})],qt.prototype,"base",void 0);u([g({type:b.Integer,converter:_e})],qt.prototype,"order",void 0);u([g({type:b.Integer,optional:!0})],qt.prototype,"cofactor",void 0);qt=u([R({type:P.Sequence})],qt);let on=class{constructor(e={}){Object.assign(this,e)}};u([g({type:b.ObjectIdentifier})],on.prototype,"namedCurve",void 0);u([g({type:b.Null})],on.prototype,"implicitCurve",void 0);u([g({type:qt})],on.prototype,"specifiedCurve",void 0);on=u([R({type:P.Choice})],on);class Uo{constructor(e={}){this.version=1,this.privateKey=new de,Object.assign(this,e)}}u([g({type:b.Integer})],Uo.prototype,"version",void 0);u([g({type:de})],Uo.prototype,"privateKey",void 0);u([g({type:on,context:0,optional:!0})],Uo.prototype,"parameters",void 0);u([g({type:b.BitString,context:1,optional:!0})],Uo.prototype,"publicKey",void 0);class js{constructor(e={}){this.r=new ArrayBuffer(0),this.s=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:b.Integer,converter:_e})],js.prototype,"r",void 0);u([g({type:b.Integer,converter:_e})],js.prototype,"s",void 0);const Ye="1.2.840.113549.1.1",Nn=`${Ye}.1`,Rw=`${Ye}.7`,Lw=`${Ye}.9`,Rr=`${Ye}.10`,Uw=`${Ye}.2`,Vw=`${Ye}.4`,$s=`${Ye}.5`,qw=`${Ye}.14`,Sc=`${Ye}.11`,Os=`${Ye}.12`,Ts=`${Ye}.13`,ug=`${Ye}.15`,pg=`${Ye}.16`,Ps="1.3.14.3.2.26",fg="2.16.840.1.101.3.4.2.4",Bs="2.16.840.1.101.3.4.2.1",Rs="2.16.840.1.101.3.4.2.2",Ls="2.16.840.1.101.3.4.2.3",Mw="2.16.840.1.101.3.4.2.5",Dw="2.16.840.1.101.3.4.2.6",Hw="1.2.840.113549.2.2",Fw="1.2.840.113549.2.5",Vo=`${Ye}.8`;function Ie(t){return new F({algorithm:t,parameters:null})}Ie(Hw);Ie(Fw);const jn=Ie(Ps);Ie(fg);Ie(Bs);Ie(Rs);Ie(Ls);Ie(Mw);Ie(Dw);const hg=new F({algorithm:Vo,parameters:q.serialize(jn)}),gg=new F({algorithm:Lw,parameters:q.serialize(fs.toASN(new Uint8Array([218,57,163,238,94,107,75,13,50,85,191,239,149,96,24,144,175,216,7,9]).buffer))});Ie(Nn);Ie(Uw);Ie(Vw);Ie($s);Ie(ug);Ie(pg);Ie(Os);Ie(Ts);Ie(ug);Ie(pg);class qo{constructor(e={}){this.hashAlgorithm=new F(jn),this.maskGenAlgorithm=new F({algorithm:Vo,parameters:q.serialize(jn)}),this.pSourceAlgorithm=new F(gg),Object.assign(this,e)}}u([g({type:F,context:0,defaultValue:jn})],qo.prototype,"hashAlgorithm",void 0);u([g({type:F,context:1,defaultValue:hg})],qo.prototype,"maskGenAlgorithm",void 0);u([g({type:F,context:2,defaultValue:gg})],qo.prototype,"pSourceAlgorithm",void 0);new F({algorithm:Rw,parameters:q.serialize(new qo)});class $n{constructor(e={}){this.hashAlgorithm=new F(jn),this.maskGenAlgorithm=new F({algorithm:Vo,parameters:q.serialize(jn)}),this.saltLength=20,this.trailerField=1,Object.assign(this,e)}}u([g({type:F,context:0,defaultValue:jn})],$n.prototype,"hashAlgorithm",void 0);u([g({type:F,context:1,defaultValue:hg})],$n.prototype,"maskGenAlgorithm",void 0);u([g({type:b.Integer,context:2,defaultValue:20})],$n.prototype,"saltLength",void 0);u([g({type:b.Integer,context:3,defaultValue:1})],$n.prototype,"trailerField",void 0);new F({algorithm:Rr,parameters:q.serialize(new $n)});class Mo{constructor(e={}){this.digestAlgorithm=new F,this.digest=new de,Object.assign(this,e)}}u([g({type:F})],Mo.prototype,"digestAlgorithm",void 0);u([g({type:de})],Mo.prototype,"digest",void 0);var Ac;class Do{constructor(e={}){this.prime=new ArrayBuffer(0),this.exponent=new ArrayBuffer(0),this.coefficient=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:b.Integer,converter:_e})],Do.prototype,"prime",void 0);u([g({type:b.Integer,converter:_e})],Do.prototype,"exponent",void 0);u([g({type:b.Integer,converter:_e})],Do.prototype,"coefficient",void 0);let zc=Ac=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,Ac.prototype)}};zc=Ac=u([R({type:P.Sequence,itemType:Do})],zc);class $t{constructor(e={}){this.version=0,this.modulus=new ArrayBuffer(0),this.publicExponent=new ArrayBuffer(0),this.privateExponent=new ArrayBuffer(0),this.prime1=new ArrayBuffer(0),this.prime2=new ArrayBuffer(0),this.exponent1=new ArrayBuffer(0),this.exponent2=new ArrayBuffer(0),this.coefficient=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:b.Integer})],$t.prototype,"version",void 0);u([g({type:b.Integer,converter:_e})],$t.prototype,"modulus",void 0);u([g({type:b.Integer,converter:_e})],$t.prototype,"publicExponent",void 0);u([g({type:b.Integer,converter:_e})],$t.prototype,"privateExponent",void 0);u([g({type:b.Integer,converter:_e})],$t.prototype,"prime1",void 0);u([g({type:b.Integer,converter:_e})],$t.prototype,"prime2",void 0);u([g({type:b.Integer,converter:_e})],$t.prototype,"exponent1",void 0);u([g({type:b.Integer,converter:_e})],$t.prototype,"exponent2",void 0);u([g({type:b.Integer,converter:_e})],$t.prototype,"coefficient",void 0);u([g({type:zc,optional:!0})],$t.prototype,"otherPrimeInfos",void 0);class Jl{constructor(e={}){this.modulus=new ArrayBuffer(0),this.publicExponent=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:b.Integer,converter:_e})],Jl.prototype,"modulus",void 0);u([g({type:b.Integer,converter:_e})],Jl.prototype,"publicExponent",void 0);var Ec;(function(t){t[t.Transient=0]="Transient",t[t.Singleton=1]="Singleton",t[t.ResolutionScoped=2]="ResolutionScoped",t[t.ContainerScoped=3]="ContainerScoped"})(Ec||(Ec={}));const Fe=Ec;/*! *****************************************************************************
104
104
  Copyright (c) Microsoft Corporation.
105
105
 
106
106
  Permission to use, copy, modify, and/or distribute this software for any
@@ -113,9 +113,9 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
113
113
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
114
114
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
115
115
  PERFORMANCE OF THIS SOFTWARE.
116
- ***************************************************************************** */var Cc=function(t,e){return Cc=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var i in r)r.hasOwnProperty(i)&&(n[i]=r[i])},Cc(t,e)};function Yl(t,e){Cc(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}function Kw(t,e,n,r){function i(s){return s instanceof n?s:new n(function(a){a(s)})}return new(n||(n=Promise))(function(s,a){function c(p){try{d(r.next(p))}catch(f){a(f)}}function l(p){try{d(r.throw(p))}catch(f){a(f)}}function d(p){p.done?s(p.value):i(p.value).then(c,l)}d((r=r.apply(t,[])).next())})}function Ww(t,e){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,i,s,a;return a={next:c(0),throw:c(1),return:c(2)},typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function c(d){return function(p){return l([d,p])}}function l(d){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(s=d[0]&2?i.return:d[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,d[1])).done)return s;switch(i=0,s&&(d=[d[0]&2,s.value]),d[0]){case 0:case 1:s=d;break;case 4:return n.label++,{value:d[1],done:!1};case 5:n.label++,i=d[1],d=[0];continue;case 7:d=n.ops.pop(),n.trys.pop();continue;default:if(s=n.trys,!(s=s.length>0&&s[s.length-1])&&(d[0]===6||d[0]===2)){n=0;continue}if(d[0]===3&&(!s||d[1]>s[0]&&d[1]<s[3])){n.label=d[1];break}if(d[0]===6&&n.label<s[1]){n.label=s[1],s=d;break}if(s&&n.label<s[2]){n.label=s[2],n.ops.push(d);break}s[2]&&n.ops.pop(),n.trys.pop();continue}d=e.call(t,n)}catch(p){d=[6,p],i=0}finally{r=s=0}if(d[0]&5)throw d[1];return{value:d[0]?d[1]:void 0,done:!0}}}function Oi(t){var e=typeof Symbol=="function"&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Us(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,s=[],a;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(c){a={error:c}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(a)throw a.error}}return s}function gn(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(Us(arguments[e]));return t}var Gw="injectionTokens";function Jw(t){var e=Reflect.getMetadata("design:paramtypes",t)||[],n=Reflect.getOwnMetadata(Gw,t)||{};return Object.keys(n).forEach(function(r){e[+r]=n[r]}),e}function _g(t){return!!t.useClass}function Nc(t){return!!t.useFactory}var yg=function(){function t(e){this.wrap=e,this.reflectMethods=["get","getPrototypeOf","setPrototypeOf","getOwnPropertyDescriptor","defineProperty","has","set","deleteProperty","apply","construct","ownKeys"]}return t.prototype.createProxy=function(e){var n=this,r={},i=!1,s,a=function(){return i||(s=e(n.wrap()),i=!0),s};return new Proxy(r,this.createHandler(a))},t.prototype.createHandler=function(e){var n={},r=function(i){n[i]=function(){for(var s=[],a=0;a<arguments.length;a++)s[a]=arguments[a];s[0]=e();var c=Reflect[i];return c.apply(void 0,gn(s))}};return this.reflectMethods.forEach(r),n},t}();function Mn(t){return typeof t=="string"||typeof t=="symbol"}function Zw(t){return typeof t=="object"&&"token"in t&&"multiple"in t}function Au(t){return typeof t=="object"&&"token"in t&&"transform"in t}function Yw(t){return typeof t=="function"||t instanceof yg}function Vi(t){return!!t.useToken}function qi(t){return t.useValue!=null}function Xw(t){return _g(t)||qi(t)||Vi(t)||Nc(t)}var Xl=function(){function t(){this._registryMap=new Map}return t.prototype.entries=function(){return this._registryMap.entries()},t.prototype.getAll=function(e){return this.ensure(e),this._registryMap.get(e)},t.prototype.get=function(e){this.ensure(e);var n=this._registryMap.get(e);return n[n.length-1]||null},t.prototype.set=function(e,n){this.ensure(e),this._registryMap.get(e).push(n)},t.prototype.setAll=function(e,n){this._registryMap.set(e,n)},t.prototype.has=function(e){return this.ensure(e),this._registryMap.get(e).length>0},t.prototype.clear=function(){this._registryMap.clear()},t.prototype.ensure=function(e){this._registryMap.has(e)||this._registryMap.set(e,[])},t}(),Qw=function(t){Yl(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e}(Xl),zu=function(){function t(){this.scopedResolutions=new Map}return t}();function ev(t,e){if(t===null)return"at position #"+e;var n=t.split(",")[e].trim();return'"'+n+'" at position #'+e}function tv(t,e,n){return n===void 0&&(n=" "),gn([t],e.message.split(`
116
+ ***************************************************************************** */var Ic=function(t,e){return Ic=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var i in r)r.hasOwnProperty(i)&&(n[i]=r[i])},Ic(t,e)};function Zl(t,e){Ic(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}function Kw(t,e,n,r){function i(s){return s instanceof n?s:new n(function(a){a(s)})}return new(n||(n=Promise))(function(s,a){function c(p){try{d(r.next(p))}catch(f){a(f)}}function l(p){try{d(r.throw(p))}catch(f){a(f)}}function d(p){p.done?s(p.value):i(p.value).then(c,l)}d((r=r.apply(t,[])).next())})}function Ww(t,e){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,i,s,a;return a={next:c(0),throw:c(1),return:c(2)},typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function c(d){return function(p){return l([d,p])}}function l(d){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(s=d[0]&2?i.return:d[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,d[1])).done)return s;switch(i=0,s&&(d=[d[0]&2,s.value]),d[0]){case 0:case 1:s=d;break;case 4:return n.label++,{value:d[1],done:!1};case 5:n.label++,i=d[1],d=[0];continue;case 7:d=n.ops.pop(),n.trys.pop();continue;default:if(s=n.trys,!(s=s.length>0&&s[s.length-1])&&(d[0]===6||d[0]===2)){n=0;continue}if(d[0]===3&&(!s||d[1]>s[0]&&d[1]<s[3])){n.label=d[1];break}if(d[0]===6&&n.label<s[1]){n.label=s[1],s=d;break}if(s&&n.label<s[2]){n.label=s[2],n.ops.push(d);break}s[2]&&n.ops.pop(),n.trys.pop();continue}d=e.call(t,n)}catch(p){d=[6,p],i=0}finally{r=s=0}if(d[0]&5)throw d[1];return{value:d[0]?d[1]:void 0,done:!0}}}function Oi(t){var e=typeof Symbol=="function"&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Us(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,s=[],a;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(c){a={error:c}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(a)throw a.error}}return s}function gn(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(Us(arguments[e]));return t}var Gw="injectionTokens";function Jw(t){var e=Reflect.getMetadata("design:paramtypes",t)||[],n=Reflect.getOwnMetadata(Gw,t)||{};return Object.keys(n).forEach(function(r){e[+r]=n[r]}),e}function mg(t){return!!t.useClass}function Cc(t){return!!t.useFactory}var _g=function(){function t(e){this.wrap=e,this.reflectMethods=["get","getPrototypeOf","setPrototypeOf","getOwnPropertyDescriptor","defineProperty","has","set","deleteProperty","apply","construct","ownKeys"]}return t.prototype.createProxy=function(e){var n=this,r={},i=!1,s,a=function(){return i||(s=e(n.wrap()),i=!0),s};return new Proxy(r,this.createHandler(a))},t.prototype.createHandler=function(e){var n={},r=function(i){n[i]=function(){for(var s=[],a=0;a<arguments.length;a++)s[a]=arguments[a];s[0]=e();var c=Reflect[i];return c.apply(void 0,gn(s))}};return this.reflectMethods.forEach(r),n},t}();function Mn(t){return typeof t=="string"||typeof t=="symbol"}function Zw(t){return typeof t=="object"&&"token"in t&&"multiple"in t}function Su(t){return typeof t=="object"&&"token"in t&&"transform"in t}function Yw(t){return typeof t=="function"||t instanceof _g}function Vi(t){return!!t.useToken}function qi(t){return t.useValue!=null}function Xw(t){return mg(t)||qi(t)||Vi(t)||Cc(t)}var Yl=function(){function t(){this._registryMap=new Map}return t.prototype.entries=function(){return this._registryMap.entries()},t.prototype.getAll=function(e){return this.ensure(e),this._registryMap.get(e)},t.prototype.get=function(e){this.ensure(e);var n=this._registryMap.get(e);return n[n.length-1]||null},t.prototype.set=function(e,n){this.ensure(e),this._registryMap.get(e).push(n)},t.prototype.setAll=function(e,n){this._registryMap.set(e,n)},t.prototype.has=function(e){return this.ensure(e),this._registryMap.get(e).length>0},t.prototype.clear=function(){this._registryMap.clear()},t.prototype.ensure=function(e){this._registryMap.has(e)||this._registryMap.set(e,[])},t}(),Qw=function(t){Zl(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e}(Yl),Au=function(){function t(){this.scopedResolutions=new Map}return t}();function ev(t,e){if(t===null)return"at position #"+e;var n=t.split(",")[e].trim();return'"'+n+'" at position #'+e}function tv(t,e,n){return n===void 0&&(n=" "),gn([t],e.message.split(`
117
117
  `).map(function(r){return n+r})).join(`
118
- `)}function nv(t,e,n){var r=Us(t.toString().match(/constructor\(([\w, ]+)\)/)||[],2),i=r[1],s=i===void 0?null:i,a=ev(s,e);return tv("Cannot inject the dependency "+a+' of "'+t.name+'" constructor. Reason:',n)}function rv(t){if(typeof t.dispose!="function")return!1;var e=t.dispose;return!(e.length>0)}var iv=function(t){Yl(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e}(Xl),sv=function(t){Yl(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e}(Xl),ov=function(){function t(){this.preResolution=new iv,this.postResolution=new sv}return t}(),wg=new Map,av=function(){function t(e){this.parent=e,this._registry=new Qw,this.interceptors=new ov,this.disposed=!1,this.disposables=new Set}return t.prototype.register=function(e,n,r){r===void 0&&(r={lifecycle:Fe.Transient}),this.ensureNotDisposed();var i;if(Xw(n)?i=n:i={useClass:n},Vi(i))for(var s=[e],a=i;a!=null;){var c=a.useToken;if(s.includes(c))throw new Error("Token registration cycle detected! "+gn(s,[c]).join(" -> "));s.push(c);var l=this._registry.get(c);l&&Vi(l.provider)?a=l.provider:a=null}if((r.lifecycle===Fe.Singleton||r.lifecycle==Fe.ContainerScoped||r.lifecycle==Fe.ResolutionScoped)&&(qi(i)||Nc(i)))throw new Error('Cannot use lifecycle "'+Fe[r.lifecycle]+'" with ValueProviders or FactoryProviders');return this._registry.set(e,{provider:i,options:r}),this},t.prototype.registerType=function(e,n){return this.ensureNotDisposed(),Mn(n)?this.register(e,{useToken:n}):this.register(e,{useClass:n})},t.prototype.registerInstance=function(e,n){return this.ensureNotDisposed(),this.register(e,{useValue:n})},t.prototype.registerSingleton=function(e,n){if(this.ensureNotDisposed(),Mn(e)){if(Mn(n))return this.register(e,{useToken:n},{lifecycle:Fe.Singleton});if(n)return this.register(e,{useClass:n},{lifecycle:Fe.Singleton});throw new Error('Cannot register a type name as a singleton without a "to" token')}var r=e;return n&&!Mn(n)&&(r=n),this.register(e,{useClass:r},{lifecycle:Fe.Singleton})},t.prototype.resolve=function(e,n){n===void 0&&(n=new zu),this.ensureNotDisposed();var r=this.getRegistration(e);if(!r&&Mn(e))throw new Error('Attempted to resolve unregistered dependency token: "'+e.toString()+'"');if(this.executePreResolutionInterceptor(e,"Single"),r){var i=this.resolveRegistration(r,n);return this.executePostResolutionInterceptor(e,i,"Single"),i}if(Yw(e)){var i=this.construct(e,n);return this.executePostResolutionInterceptor(e,i,"Single"),i}throw new Error("Attempted to construct an undefined constructor. Could mean a circular dependency problem. Try using `delay` function.")},t.prototype.executePreResolutionInterceptor=function(e,n){var r,i;if(this.interceptors.preResolution.has(e)){var s=[];try{for(var a=Oi(this.interceptors.preResolution.getAll(e)),c=a.next();!c.done;c=a.next()){var l=c.value;l.options.frequency!="Once"&&s.push(l),l.callback(e,n)}}catch(d){r={error:d}}finally{try{c&&!c.done&&(i=a.return)&&i.call(a)}finally{if(r)throw r.error}}this.interceptors.preResolution.setAll(e,s)}},t.prototype.executePostResolutionInterceptor=function(e,n,r){var i,s;if(this.interceptors.postResolution.has(e)){var a=[];try{for(var c=Oi(this.interceptors.postResolution.getAll(e)),l=c.next();!l.done;l=c.next()){var d=l.value;d.options.frequency!="Once"&&a.push(d),d.callback(e,n,r)}}catch(p){i={error:p}}finally{try{l&&!l.done&&(s=c.return)&&s.call(c)}finally{if(i)throw i.error}}this.interceptors.postResolution.setAll(e,a)}},t.prototype.resolveRegistration=function(e,n){if(this.ensureNotDisposed(),e.options.lifecycle===Fe.ResolutionScoped&&n.scopedResolutions.has(e))return n.scopedResolutions.get(e);var r=e.options.lifecycle===Fe.Singleton,i=e.options.lifecycle===Fe.ContainerScoped,s=r||i,a;return qi(e.provider)?a=e.provider.useValue:Vi(e.provider)?a=s?e.instance||(e.instance=this.resolve(e.provider.useToken,n)):this.resolve(e.provider.useToken,n):_g(e.provider)?a=s?e.instance||(e.instance=this.construct(e.provider.useClass,n)):this.construct(e.provider.useClass,n):Nc(e.provider)?a=e.provider.useFactory(this):a=this.construct(e.provider,n),e.options.lifecycle===Fe.ResolutionScoped&&n.scopedResolutions.set(e,a),a},t.prototype.resolveAll=function(e,n){var r=this;n===void 0&&(n=new zu),this.ensureNotDisposed();var i=this.getAllRegistrations(e);if(!i&&Mn(e))throw new Error('Attempted to resolve unregistered dependency token: "'+e.toString()+'"');if(this.executePreResolutionInterceptor(e,"All"),i){var s=i.map(function(c){return r.resolveRegistration(c,n)});return this.executePostResolutionInterceptor(e,s,"All"),s}var a=[this.construct(e,n)];return this.executePostResolutionInterceptor(e,a,"All"),a},t.prototype.isRegistered=function(e,n){return n===void 0&&(n=!1),this.ensureNotDisposed(),this._registry.has(e)||n&&(this.parent||!1)&&this.parent.isRegistered(e,!0)},t.prototype.reset=function(){this.ensureNotDisposed(),this._registry.clear(),this.interceptors.preResolution.clear(),this.interceptors.postResolution.clear()},t.prototype.clearInstances=function(){var e,n;this.ensureNotDisposed();try{for(var r=Oi(this._registry.entries()),i=r.next();!i.done;i=r.next()){var s=Us(i.value,2),a=s[0],c=s[1];this._registry.setAll(a,c.filter(function(l){return!qi(l.provider)}).map(function(l){return l.instance=void 0,l}))}}catch(l){e={error:l}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(e)throw e.error}}},t.prototype.createChildContainer=function(){var e,n;this.ensureNotDisposed();var r=new t(this);try{for(var i=Oi(this._registry.entries()),s=i.next();!s.done;s=i.next()){var a=Us(s.value,2),c=a[0],l=a[1];l.some(function(d){var p=d.options;return p.lifecycle===Fe.ContainerScoped})&&r._registry.setAll(c,l.map(function(d){return d.options.lifecycle===Fe.ContainerScoped?{provider:d.provider,options:d.options}:d}))}}catch(d){e={error:d}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}return r},t.prototype.beforeResolution=function(e,n,r){r===void 0&&(r={frequency:"Always"}),this.interceptors.preResolution.set(e,{callback:n,options:r})},t.prototype.afterResolution=function(e,n,r){r===void 0&&(r={frequency:"Always"}),this.interceptors.postResolution.set(e,{callback:n,options:r})},t.prototype.dispose=function(){return Kw(this,void 0,void 0,function(){var e;return Ww(this,function(n){switch(n.label){case 0:return this.disposed=!0,e=[],this.disposables.forEach(function(r){var i=r.dispose();i&&e.push(i)}),[4,Promise.all(e)];case 1:return n.sent(),[2]}})})},t.prototype.getRegistration=function(e){return this.isRegistered(e)?this._registry.get(e):this.parent?this.parent.getRegistration(e):null},t.prototype.getAllRegistrations=function(e){return this.isRegistered(e)?this._registry.getAll(e):this.parent?this.parent.getAllRegistrations(e):null},t.prototype.construct=function(e,n){var r=this;if(e instanceof yg)return e.createProxy(function(s){return r.resolve(s,n)});var i=function(){var s=wg.get(e);if(!s||s.length===0){if(e.length===0)return new e;throw new Error('TypeInfo not known for "'+e.name+'"')}var a=s.map(r.resolveParams(n,e));return new(e.bind.apply(e,gn([void 0],a)))}();return rv(i)&&this.disposables.add(i),i},t.prototype.resolveParams=function(e,n){var r=this;return function(i,s){var a,c,l;try{return Zw(i)?Au(i)?i.multiple?(a=r.resolve(i.transform)).transform.apply(a,gn([r.resolveAll(i.token)],i.transformArgs)):(c=r.resolve(i.transform)).transform.apply(c,gn([r.resolve(i.token,e)],i.transformArgs)):i.multiple?r.resolveAll(i.token):r.resolve(i.token,e):Au(i)?(l=r.resolve(i.transform,e)).transform.apply(l,gn([r.resolve(i.token,e)],i.transformArgs)):r.resolve(i,e)}catch(d){throw new Error(nv(n,s,d))}}},t.prototype.ensureNotDisposed=function(){if(this.disposed)throw new Error("This container has been disposed, you cannot interact with a disposed container")},t}(),Be=new av;function Ho(){return function(t){wg.set(t,Jw(t))}}if(typeof Reflect>"u"||!Reflect.getMetadata)throw new Error(`tsyringe requires a reflect polyfill. Please add 'import "reflect-metadata"' to the top of your entry point.`);var jc;class Fo{constructor(e={}){this.attrId="",this.attrValues=[],Object.assign(e)}}u([g({type:b.ObjectIdentifier})],Fo.prototype,"attrId",void 0);u([g({type:b.Any,repeated:"set"})],Fo.prototype,"attrValues",void 0);let Eu=jc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,jc.prototype)}};Eu=jc=u([R({type:P.Sequence,itemType:Fo})],Eu);var $c;let Iu=$c=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,$c.prototype)}};Iu=$c=u([R({type:P.Sequence,itemType:vr})],Iu);class vg{constructor(e={}){this.certId="",this.certValue=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:b.ObjectIdentifier})],vg.prototype,"certId",void 0);u([g({type:b.Any,context:0})],vg.prototype,"certValue",void 0);class bg{constructor(e={}){this.crlId="",this.crltValue=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:b.ObjectIdentifier})],bg.prototype,"crlId",void 0);u([g({type:b.Any,context:0})],bg.prototype,"crltValue",void 0);class xg extends de{}let Ko=class{constructor(e={}){this.encryptionAlgorithm=new F,this.encryptedData=new xg,Object.assign(this,e)}};u([g({type:F})],Ko.prototype,"encryptionAlgorithm",void 0);u([g({type:xg})],Ko.prototype,"encryptedData",void 0);var Oc,Tc;(function(t){t[t.v1=0]="v1"})(Tc||(Tc={}));class kg extends de{}let Pc=Oc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,Oc.prototype)}};Pc=Oc=u([R({type:P.Sequence,itemType:Ut})],Pc);class vi{constructor(e={}){this.version=Tc.v1,this.privateKeyAlgorithm=new F,this.privateKey=new kg,Object.assign(this,e)}}u([g({type:b.Integer})],vi.prototype,"version",void 0);u([g({type:F})],vi.prototype,"privateKeyAlgorithm",void 0);u([g({type:kg})],vi.prototype,"privateKey",void 0);u([g({type:Pc,implicit:!0,context:0,optional:!0})],vi.prototype,"attributes",void 0);let Cu=class extends vi{};Cu=u([R({type:P.Sequence})],Cu);let Nu=class extends Ko{};Nu=u([R({type:P.Sequence})],Nu);class Sg{constructor(e={}){this.secretTypeId="",this.secretValue=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:b.ObjectIdentifier})],Sg.prototype,"secretTypeId",void 0);u([g({type:b.Any,context:0})],Sg.prototype,"secretValue",void 0);class bi{constructor(e={}){this.mac=new Mo,this.macSalt=new de,this.iterations=1,Object.assign(this,e)}}u([g({type:Mo})],bi.prototype,"mac",void 0);u([g({type:de})],bi.prototype,"macSalt",void 0);u([g({type:b.Integer,defaultValue:1})],bi.prototype,"iterations",void 0);class Wo{constructor(e={}){this.version=3,this.authSafe=new vr,this.macData=new bi,Object.assign(this,e)}}u([g({type:b.Integer})],Wo.prototype,"version",void 0);u([g({type:vr})],Wo.prototype,"authSafe",void 0);u([g({type:bi,optional:!0})],Wo.prototype,"macData",void 0);var Bc;class Go{constructor(e={}){this.bagId="",this.bagValue=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:b.ObjectIdentifier})],Go.prototype,"bagId",void 0);u([g({type:b.Any,context:0})],Go.prototype,"bagValue",void 0);u([g({type:Fo,repeated:"set",optional:!0})],Go.prototype,"bagAttributes",void 0);let ju=Bc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,Bc.prototype)}};ju=Bc=u([R({type:P.Sequence,itemType:Go})],ju);var Rc,Lc,Uc;const Ag="1.2.840.113549.1.9",zg=`${Ag}.7`,Ql=`${Ag}.14`;let Vs=class extends Pe{constructor(e={}){super(e)}toString(){return this.ia5String||super.toString()}};u([g({type:b.IA5String})],Vs.prototype,"ia5String",void 0);Vs=u([R({type:P.Choice})],Vs);let $u=class extends vr{};$u=u([R({type:P.Sequence})],$u);let Ou=class extends Wo{};Ou=u([R({type:P.Sequence})],Ou);let Tu=class extends Ko{};Tu=u([R({type:P.Sequence})],Tu);let Vc=class{constructor(e=""){this.value=e}toString(){return this.value}};u([g({type:b.IA5String})],Vc.prototype,"value",void 0);Vc=u([R({type:P.Choice})],Vc);let Pu=class extends Vs{};Pu=u([R({type:P.Choice})],Pu);let Bu=class extends Pe{};Bu=u([R({type:P.Choice})],Bu);let qc=class{constructor(e=new Date){this.value=e}};u([g({type:b.GeneralizedTime})],qc.prototype,"value",void 0);qc=u([R({type:P.Choice})],qc);let Ru=class extends Pe{};Ru=u([R({type:P.Choice})],Ru);let Mc=class{constructor(e="M"){this.value=e}toString(){return this.value}};u([g({type:b.PrintableString})],Mc.prototype,"value",void 0);Mc=u([R({type:P.Choice})],Mc);let qs=class{constructor(e=""){this.value=e}toString(){return this.value}};u([g({type:b.PrintableString})],qs.prototype,"value",void 0);qs=u([R({type:P.Choice})],qs);let Lu=class extends qs{};Lu=u([R({type:P.Choice})],Lu);let Uu=class extends Pe{};Uu=u([R({type:P.Choice})],Uu);let Dc=class{constructor(e=""){this.value=e}toString(){return this.value}};u([g({type:b.ObjectIdentifier})],Dc.prototype,"value",void 0);Dc=u([R({type:P.Choice})],Dc);let Vu=class extends Oe{};Vu=u([R({type:P.Choice})],Vu);let Hc=class{constructor(e=0){this.value=e}toString(){return this.value.toString()}};u([g({type:b.Integer})],Hc.prototype,"value",void 0);Hc=u([R({type:P.Choice})],Hc);let qu=class extends jt{};qu=u([R({type:P.Sequence})],qu);let Ms=class extends Pe{};Ms=u([R({type:P.Choice})],Ms);let Mu=Rc=class extends nn{constructor(e){super(e),Object.setPrototypeOf(this,Rc.prototype)}};Mu=Rc=u([R({type:P.Sequence})],Mu);let Du=Lc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,Lc.prototype)}};Du=Lc=u([R({type:P.Set,itemType:wr})],Du);let Fc=class{constructor(e=""){this.value=e}toString(){return this.value}};u([g({type:b.BmpString})],Fc.prototype,"value",void 0);Fc=u([R({type:P.Choice})],Fc);let Kc=class extends F{};Kc=u([R({type:P.Sequence})],Kc);let Hu=Uc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,Uc.prototype)}};Hu=Uc=u([R({type:P.Sequence,itemType:Kc})],Hu);var Wc;let Ds=Wc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,Wc.prototype)}};Ds=Wc=u([R({type:P.Sequence,itemType:Ut})],Ds);class kr{constructor(e={}){this.version=0,this.subject=new xe,this.subjectPKInfo=new ht,this.attributes=new Ds,Object.assign(this,e)}}u([g({type:b.Integer})],kr.prototype,"version",void 0);u([g({type:xe})],kr.prototype,"subject",void 0);u([g({type:ht})],kr.prototype,"subjectPKInfo",void 0);u([g({type:Ds,implicit:!0,context:0})],kr.prototype,"attributes",void 0);class Zr{constructor(e={}){this.certificationRequestInfo=new kr,this.signatureAlgorithm=new F,this.signature=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:kr})],Zr.prototype,"certificationRequestInfo",void 0);u([g({type:F})],Zr.prototype,"signatureAlgorithm",void 0);u([g({type:b.BitString})],Zr.prototype,"signature",void 0);/*!
118
+ `)}function nv(t,e,n){var r=Us(t.toString().match(/constructor\(([\w, ]+)\)/)||[],2),i=r[1],s=i===void 0?null:i,a=ev(s,e);return tv("Cannot inject the dependency "+a+' of "'+t.name+'" constructor. Reason:',n)}function rv(t){if(typeof t.dispose!="function")return!1;var e=t.dispose;return!(e.length>0)}var iv=function(t){Zl(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e}(Yl),sv=function(t){Zl(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e}(Yl),ov=function(){function t(){this.preResolution=new iv,this.postResolution=new sv}return t}(),yg=new Map,av=function(){function t(e){this.parent=e,this._registry=new Qw,this.interceptors=new ov,this.disposed=!1,this.disposables=new Set}return t.prototype.register=function(e,n,r){r===void 0&&(r={lifecycle:Fe.Transient}),this.ensureNotDisposed();var i;if(Xw(n)?i=n:i={useClass:n},Vi(i))for(var s=[e],a=i;a!=null;){var c=a.useToken;if(s.includes(c))throw new Error("Token registration cycle detected! "+gn(s,[c]).join(" -> "));s.push(c);var l=this._registry.get(c);l&&Vi(l.provider)?a=l.provider:a=null}if((r.lifecycle===Fe.Singleton||r.lifecycle==Fe.ContainerScoped||r.lifecycle==Fe.ResolutionScoped)&&(qi(i)||Cc(i)))throw new Error('Cannot use lifecycle "'+Fe[r.lifecycle]+'" with ValueProviders or FactoryProviders');return this._registry.set(e,{provider:i,options:r}),this},t.prototype.registerType=function(e,n){return this.ensureNotDisposed(),Mn(n)?this.register(e,{useToken:n}):this.register(e,{useClass:n})},t.prototype.registerInstance=function(e,n){return this.ensureNotDisposed(),this.register(e,{useValue:n})},t.prototype.registerSingleton=function(e,n){if(this.ensureNotDisposed(),Mn(e)){if(Mn(n))return this.register(e,{useToken:n},{lifecycle:Fe.Singleton});if(n)return this.register(e,{useClass:n},{lifecycle:Fe.Singleton});throw new Error('Cannot register a type name as a singleton without a "to" token')}var r=e;return n&&!Mn(n)&&(r=n),this.register(e,{useClass:r},{lifecycle:Fe.Singleton})},t.prototype.resolve=function(e,n){n===void 0&&(n=new Au),this.ensureNotDisposed();var r=this.getRegistration(e);if(!r&&Mn(e))throw new Error('Attempted to resolve unregistered dependency token: "'+e.toString()+'"');if(this.executePreResolutionInterceptor(e,"Single"),r){var i=this.resolveRegistration(r,n);return this.executePostResolutionInterceptor(e,i,"Single"),i}if(Yw(e)){var i=this.construct(e,n);return this.executePostResolutionInterceptor(e,i,"Single"),i}throw new Error("Attempted to construct an undefined constructor. Could mean a circular dependency problem. Try using `delay` function.")},t.prototype.executePreResolutionInterceptor=function(e,n){var r,i;if(this.interceptors.preResolution.has(e)){var s=[];try{for(var a=Oi(this.interceptors.preResolution.getAll(e)),c=a.next();!c.done;c=a.next()){var l=c.value;l.options.frequency!="Once"&&s.push(l),l.callback(e,n)}}catch(d){r={error:d}}finally{try{c&&!c.done&&(i=a.return)&&i.call(a)}finally{if(r)throw r.error}}this.interceptors.preResolution.setAll(e,s)}},t.prototype.executePostResolutionInterceptor=function(e,n,r){var i,s;if(this.interceptors.postResolution.has(e)){var a=[];try{for(var c=Oi(this.interceptors.postResolution.getAll(e)),l=c.next();!l.done;l=c.next()){var d=l.value;d.options.frequency!="Once"&&a.push(d),d.callback(e,n,r)}}catch(p){i={error:p}}finally{try{l&&!l.done&&(s=c.return)&&s.call(c)}finally{if(i)throw i.error}}this.interceptors.postResolution.setAll(e,a)}},t.prototype.resolveRegistration=function(e,n){if(this.ensureNotDisposed(),e.options.lifecycle===Fe.ResolutionScoped&&n.scopedResolutions.has(e))return n.scopedResolutions.get(e);var r=e.options.lifecycle===Fe.Singleton,i=e.options.lifecycle===Fe.ContainerScoped,s=r||i,a;return qi(e.provider)?a=e.provider.useValue:Vi(e.provider)?a=s?e.instance||(e.instance=this.resolve(e.provider.useToken,n)):this.resolve(e.provider.useToken,n):mg(e.provider)?a=s?e.instance||(e.instance=this.construct(e.provider.useClass,n)):this.construct(e.provider.useClass,n):Cc(e.provider)?a=e.provider.useFactory(this):a=this.construct(e.provider,n),e.options.lifecycle===Fe.ResolutionScoped&&n.scopedResolutions.set(e,a),a},t.prototype.resolveAll=function(e,n){var r=this;n===void 0&&(n=new Au),this.ensureNotDisposed();var i=this.getAllRegistrations(e);if(!i&&Mn(e))throw new Error('Attempted to resolve unregistered dependency token: "'+e.toString()+'"');if(this.executePreResolutionInterceptor(e,"All"),i){var s=i.map(function(c){return r.resolveRegistration(c,n)});return this.executePostResolutionInterceptor(e,s,"All"),s}var a=[this.construct(e,n)];return this.executePostResolutionInterceptor(e,a,"All"),a},t.prototype.isRegistered=function(e,n){return n===void 0&&(n=!1),this.ensureNotDisposed(),this._registry.has(e)||n&&(this.parent||!1)&&this.parent.isRegistered(e,!0)},t.prototype.reset=function(){this.ensureNotDisposed(),this._registry.clear(),this.interceptors.preResolution.clear(),this.interceptors.postResolution.clear()},t.prototype.clearInstances=function(){var e,n;this.ensureNotDisposed();try{for(var r=Oi(this._registry.entries()),i=r.next();!i.done;i=r.next()){var s=Us(i.value,2),a=s[0],c=s[1];this._registry.setAll(a,c.filter(function(l){return!qi(l.provider)}).map(function(l){return l.instance=void 0,l}))}}catch(l){e={error:l}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(e)throw e.error}}},t.prototype.createChildContainer=function(){var e,n;this.ensureNotDisposed();var r=new t(this);try{for(var i=Oi(this._registry.entries()),s=i.next();!s.done;s=i.next()){var a=Us(s.value,2),c=a[0],l=a[1];l.some(function(d){var p=d.options;return p.lifecycle===Fe.ContainerScoped})&&r._registry.setAll(c,l.map(function(d){return d.options.lifecycle===Fe.ContainerScoped?{provider:d.provider,options:d.options}:d}))}}catch(d){e={error:d}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}return r},t.prototype.beforeResolution=function(e,n,r){r===void 0&&(r={frequency:"Always"}),this.interceptors.preResolution.set(e,{callback:n,options:r})},t.prototype.afterResolution=function(e,n,r){r===void 0&&(r={frequency:"Always"}),this.interceptors.postResolution.set(e,{callback:n,options:r})},t.prototype.dispose=function(){return Kw(this,void 0,void 0,function(){var e;return Ww(this,function(n){switch(n.label){case 0:return this.disposed=!0,e=[],this.disposables.forEach(function(r){var i=r.dispose();i&&e.push(i)}),[4,Promise.all(e)];case 1:return n.sent(),[2]}})})},t.prototype.getRegistration=function(e){return this.isRegistered(e)?this._registry.get(e):this.parent?this.parent.getRegistration(e):null},t.prototype.getAllRegistrations=function(e){return this.isRegistered(e)?this._registry.getAll(e):this.parent?this.parent.getAllRegistrations(e):null},t.prototype.construct=function(e,n){var r=this;if(e instanceof _g)return e.createProxy(function(s){return r.resolve(s,n)});var i=function(){var s=yg.get(e);if(!s||s.length===0){if(e.length===0)return new e;throw new Error('TypeInfo not known for "'+e.name+'"')}var a=s.map(r.resolveParams(n,e));return new(e.bind.apply(e,gn([void 0],a)))}();return rv(i)&&this.disposables.add(i),i},t.prototype.resolveParams=function(e,n){var r=this;return function(i,s){var a,c,l;try{return Zw(i)?Su(i)?i.multiple?(a=r.resolve(i.transform)).transform.apply(a,gn([r.resolveAll(i.token)],i.transformArgs)):(c=r.resolve(i.transform)).transform.apply(c,gn([r.resolve(i.token,e)],i.transformArgs)):i.multiple?r.resolveAll(i.token):r.resolve(i.token,e):Su(i)?(l=r.resolve(i.transform,e)).transform.apply(l,gn([r.resolve(i.token,e)],i.transformArgs)):r.resolve(i,e)}catch(d){throw new Error(nv(n,s,d))}}},t.prototype.ensureNotDisposed=function(){if(this.disposed)throw new Error("This container has been disposed, you cannot interact with a disposed container")},t}(),Be=new av;function Ho(){return function(t){yg.set(t,Jw(t))}}if(typeof Reflect>"u"||!Reflect.getMetadata)throw new Error(`tsyringe requires a reflect polyfill. Please add 'import "reflect-metadata"' to the top of your entry point.`);var Nc;class Fo{constructor(e={}){this.attrId="",this.attrValues=[],Object.assign(e)}}u([g({type:b.ObjectIdentifier})],Fo.prototype,"attrId",void 0);u([g({type:b.Any,repeated:"set"})],Fo.prototype,"attrValues",void 0);let zu=Nc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,Nc.prototype)}};zu=Nc=u([R({type:P.Sequence,itemType:Fo})],zu);var jc;let Eu=jc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,jc.prototype)}};Eu=jc=u([R({type:P.Sequence,itemType:vr})],Eu);class wg{constructor(e={}){this.certId="",this.certValue=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:b.ObjectIdentifier})],wg.prototype,"certId",void 0);u([g({type:b.Any,context:0})],wg.prototype,"certValue",void 0);class vg{constructor(e={}){this.crlId="",this.crltValue=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:b.ObjectIdentifier})],vg.prototype,"crlId",void 0);u([g({type:b.Any,context:0})],vg.prototype,"crltValue",void 0);class bg extends de{}let Ko=class{constructor(e={}){this.encryptionAlgorithm=new F,this.encryptedData=new bg,Object.assign(this,e)}};u([g({type:F})],Ko.prototype,"encryptionAlgorithm",void 0);u([g({type:bg})],Ko.prototype,"encryptedData",void 0);var $c,Oc;(function(t){t[t.v1=0]="v1"})(Oc||(Oc={}));class xg extends de{}let Tc=$c=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,$c.prototype)}};Tc=$c=u([R({type:P.Sequence,itemType:Ut})],Tc);class vi{constructor(e={}){this.version=Oc.v1,this.privateKeyAlgorithm=new F,this.privateKey=new xg,Object.assign(this,e)}}u([g({type:b.Integer})],vi.prototype,"version",void 0);u([g({type:F})],vi.prototype,"privateKeyAlgorithm",void 0);u([g({type:xg})],vi.prototype,"privateKey",void 0);u([g({type:Tc,implicit:!0,context:0,optional:!0})],vi.prototype,"attributes",void 0);let Iu=class extends vi{};Iu=u([R({type:P.Sequence})],Iu);let Cu=class extends Ko{};Cu=u([R({type:P.Sequence})],Cu);class kg{constructor(e={}){this.secretTypeId="",this.secretValue=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:b.ObjectIdentifier})],kg.prototype,"secretTypeId",void 0);u([g({type:b.Any,context:0})],kg.prototype,"secretValue",void 0);class bi{constructor(e={}){this.mac=new Mo,this.macSalt=new de,this.iterations=1,Object.assign(this,e)}}u([g({type:Mo})],bi.prototype,"mac",void 0);u([g({type:de})],bi.prototype,"macSalt",void 0);u([g({type:b.Integer,defaultValue:1})],bi.prototype,"iterations",void 0);class Wo{constructor(e={}){this.version=3,this.authSafe=new vr,this.macData=new bi,Object.assign(this,e)}}u([g({type:b.Integer})],Wo.prototype,"version",void 0);u([g({type:vr})],Wo.prototype,"authSafe",void 0);u([g({type:bi,optional:!0})],Wo.prototype,"macData",void 0);var Pc;class Go{constructor(e={}){this.bagId="",this.bagValue=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:b.ObjectIdentifier})],Go.prototype,"bagId",void 0);u([g({type:b.Any,context:0})],Go.prototype,"bagValue",void 0);u([g({type:Fo,repeated:"set",optional:!0})],Go.prototype,"bagAttributes",void 0);let Nu=Pc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,Pc.prototype)}};Nu=Pc=u([R({type:P.Sequence,itemType:Go})],Nu);var Bc,Rc,Lc;const Sg="1.2.840.113549.1.9",Ag=`${Sg}.7`,Xl=`${Sg}.14`;let Vs=class extends Pe{constructor(e={}){super(e)}toString(){return this.ia5String||super.toString()}};u([g({type:b.IA5String})],Vs.prototype,"ia5String",void 0);Vs=u([R({type:P.Choice})],Vs);let ju=class extends vr{};ju=u([R({type:P.Sequence})],ju);let $u=class extends Wo{};$u=u([R({type:P.Sequence})],$u);let Ou=class extends Ko{};Ou=u([R({type:P.Sequence})],Ou);let Uc=class{constructor(e=""){this.value=e}toString(){return this.value}};u([g({type:b.IA5String})],Uc.prototype,"value",void 0);Uc=u([R({type:P.Choice})],Uc);let Tu=class extends Vs{};Tu=u([R({type:P.Choice})],Tu);let Pu=class extends Pe{};Pu=u([R({type:P.Choice})],Pu);let Vc=class{constructor(e=new Date){this.value=e}};u([g({type:b.GeneralizedTime})],Vc.prototype,"value",void 0);Vc=u([R({type:P.Choice})],Vc);let Bu=class extends Pe{};Bu=u([R({type:P.Choice})],Bu);let qc=class{constructor(e="M"){this.value=e}toString(){return this.value}};u([g({type:b.PrintableString})],qc.prototype,"value",void 0);qc=u([R({type:P.Choice})],qc);let qs=class{constructor(e=""){this.value=e}toString(){return this.value}};u([g({type:b.PrintableString})],qs.prototype,"value",void 0);qs=u([R({type:P.Choice})],qs);let Ru=class extends qs{};Ru=u([R({type:P.Choice})],Ru);let Lu=class extends Pe{};Lu=u([R({type:P.Choice})],Lu);let Mc=class{constructor(e=""){this.value=e}toString(){return this.value}};u([g({type:b.ObjectIdentifier})],Mc.prototype,"value",void 0);Mc=u([R({type:P.Choice})],Mc);let Uu=class extends Oe{};Uu=u([R({type:P.Choice})],Uu);let Dc=class{constructor(e=0){this.value=e}toString(){return this.value.toString()}};u([g({type:b.Integer})],Dc.prototype,"value",void 0);Dc=u([R({type:P.Choice})],Dc);let Vu=class extends jt{};Vu=u([R({type:P.Sequence})],Vu);let Ms=class extends Pe{};Ms=u([R({type:P.Choice})],Ms);let qu=Bc=class extends rn{constructor(e){super(e),Object.setPrototypeOf(this,Bc.prototype)}};qu=Bc=u([R({type:P.Sequence})],qu);let Mu=Rc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,Rc.prototype)}};Mu=Rc=u([R({type:P.Set,itemType:wr})],Mu);let Hc=class{constructor(e=""){this.value=e}toString(){return this.value}};u([g({type:b.BmpString})],Hc.prototype,"value",void 0);Hc=u([R({type:P.Choice})],Hc);let Fc=class extends F{};Fc=u([R({type:P.Sequence})],Fc);let Du=Lc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,Lc.prototype)}};Du=Lc=u([R({type:P.Sequence,itemType:Fc})],Du);var Kc;let Ds=Kc=class extends fe{constructor(e){super(e),Object.setPrototypeOf(this,Kc.prototype)}};Ds=Kc=u([R({type:P.Sequence,itemType:Ut})],Ds);class kr{constructor(e={}){this.version=0,this.subject=new xe,this.subjectPKInfo=new ht,this.attributes=new Ds,Object.assign(this,e)}}u([g({type:b.Integer})],kr.prototype,"version",void 0);u([g({type:xe})],kr.prototype,"subject",void 0);u([g({type:ht})],kr.prototype,"subjectPKInfo",void 0);u([g({type:Ds,implicit:!0,context:0})],kr.prototype,"attributes",void 0);class Zr{constructor(e={}){this.certificationRequestInfo=new kr,this.signatureAlgorithm=new F,this.signature=new ArrayBuffer(0),Object.assign(this,e)}}u([g({type:kr})],Zr.prototype,"certificationRequestInfo",void 0);u([g({type:F})],Zr.prototype,"signatureAlgorithm",void 0);u([g({type:b.BitString})],Zr.prototype,"signature",void 0);/*!
119
119
  * MIT License
120
120
  *
121
121
  * Copyright (c) Peculiar Ventures. All rights reserved.
@@ -138,15 +138,15 @@ PERFORMANCE OF THIS SOFTWARE.
138
138
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
139
139
  * SOFTWARE.
140
140
  *
141
- */const xi="crypto.algorithm";class cv{getAlgorithms(){return Be.resolveAll(xi)}toAsnAlgorithm(e){({...e});for(const n of this.getAlgorithms()){const r=n.toAsnAlgorithm(e);if(r)return r}if(/^[0-9.]+$/.test(e.name)){const n=new F({algorithm:e.name});if("parameters"in e){const r=e;n.parameters=r.parameters}return n}throw new Error("Cannot convert WebCrypto algorithm to ASN.1 algorithm")}toWebAlgorithm(e){for(const r of this.getAlgorithms()){const i=r.toWebAlgorithm(e);if(i)return i}return{name:e.algorithm,parameters:e.parameters}}}const On="crypto.algorithmProvider";Be.registerSingleton(On,cv);var Mi;const Xe="1.3.36.3.3.2.8.1.1",Fu=`${Xe}.1`,Ku=`${Xe}.2`,Wu=`${Xe}.3`,Gu=`${Xe}.4`,Ju=`${Xe}.5`,Zu=`${Xe}.6`,Yu=`${Xe}.7`,Xu=`${Xe}.8`,Qu=`${Xe}.9`,ep=`${Xe}.10`,tp=`${Xe}.11`,np=`${Xe}.12`,rp=`${Xe}.13`,ip=`${Xe}.14`,sp="brainpoolP160r1",op="brainpoolP160t1",ap="brainpoolP192r1",cp="brainpoolP192t1",lp="brainpoolP224r1",dp="brainpoolP224t1",up="brainpoolP256r1",pp="brainpoolP256t1",fp="brainpoolP320r1",hp="brainpoolP320t1",gp="brainpoolP384r1",mp="brainpoolP384t1",_p="brainpoolP512r1",yp="brainpoolP512t1",ye="ECDSA";let Yr=Mi=class{toAsnAlgorithm(e){switch(e.name.toLowerCase()){case ye.toLowerCase():if("hash"in e)switch((typeof e.hash=="string"?e.hash:e.hash.name).toLowerCase()){case"sha-1":return $w;case"sha-256":return Ow;case"sha-384":return Tw;case"sha-512":return Pw}else if("namedCurve"in e){let n="";switch(e.namedCurve){case"P-256":n=xu;break;case"K-256":n=Mi.SECP256K1;break;case"P-384":n=ku;break;case"P-521":n=Su;break;case sp:n=Fu;break;case op:n=Ku;break;case ap:n=Wu;break;case cp:n=Gu;break;case lp:n=Ju;break;case dp:n=Zu;break;case up:n=Yu;break;case pp:n=Xu;break;case fp:n=Qu;break;case hp:n=ep;break;case gp:n=tp;break;case mp:n=np;break;case _p:n=rp;break;case yp:n=ip;break}if(n)return new F({algorithm:Gr,parameters:q.serialize(new sn({namedCurve:n}))})}}return null}toWebAlgorithm(e){switch(e.algorithm){case Kl:return{name:ye,hash:{name:"SHA-1"}};case Wl:return{name:ye,hash:{name:"SHA-256"}};case Gl:return{name:ye,hash:{name:"SHA-384"}};case Jl:return{name:ye,hash:{name:"SHA-512"}};case Gr:{if(!e.parameters)throw new TypeError("Cannot get required parameters from EC algorithm");switch(q.parse(e.parameters,sn).namedCurve){case xu:return{name:ye,namedCurve:"P-256"};case Mi.SECP256K1:return{name:ye,namedCurve:"K-256"};case ku:return{name:ye,namedCurve:"P-384"};case Su:return{name:ye,namedCurve:"P-521"};case Fu:return{name:ye,namedCurve:sp};case Ku:return{name:ye,namedCurve:op};case Wu:return{name:ye,namedCurve:ap};case Gu:return{name:ye,namedCurve:cp};case Ju:return{name:ye,namedCurve:lp};case Zu:return{name:ye,namedCurve:dp};case Yu:return{name:ye,namedCurve:up};case Xu:return{name:ye,namedCurve:pp};case Qu:return{name:ye,namedCurve:fp};case ep:return{name:ye,namedCurve:hp};case tp:return{name:ye,namedCurve:gp};case np:return{name:ye,namedCurve:mp};case rp:return{name:ye,namedCurve:_p};case ip:return{name:ye,namedCurve:yp}}}}return null}};Yr.SECP256K1="1.3.132.0.10";Yr=Mi=u([Ho()],Yr);Be.registerSingleton(xi,Yr);const Eg=Symbol("name"),Ig=Symbol("value");class pe{constructor(e,n={},r=""){this[Eg]=e,this[Ig]=r;for(const i in n)this[i]=n[i]}}pe.NAME=Eg;pe.VALUE=Ig;class lv{static toTextObject(e){const n=new pe("Algorithm Identifier",{},un.toString(e.algorithm));if(e.parameters)switch(e.algorithm){case Gr:{const r=new Yr().toWebAlgorithm(e);r&&"namedCurve"in r?n["Named Curve"]=r.namedCurve:n.Parameters=e.parameters;break}default:n.Parameters=e.parameters}return n}}class un{static toString(e){const n=this.items[e];return n||e}}un.items={[Ps]:"sha1",[hg]:"sha224",[Bs]:"sha256",[Rs]:"sha384",[Ls]:"sha512",[Nn]:"rsaEncryption",[$s]:"sha1WithRSAEncryption",[qw]:"sha224WithRSAEncryption",[Ac]:"sha256WithRSAEncryption",[Os]:"sha384WithRSAEncryption",[Ts]:"sha512WithRSAEncryption",[Gr]:"ecPublicKey",[Kl]:"ecdsaWithSHA1",[ug]:"ecdsaWithSHA224",[Wl]:"ecdsaWithSHA256",[Gl]:"ecdsaWithSHA384",[Jl]:"ecdsaWithSHA512",[Aw]:"TLS WWW server authentication",[zw]:"TLS WWW client authentication",[Ew]:"Code Signing",[Iw]:"E-mail Protection",[Cw]:"Time Stamping",[Nw]:"OCSP Signing",[jw]:"Signed Data"};class Tn{static serialize(e){return this.serializeObj(e).join(`
142
- `)}static pad(e=0){return"".padStart(2*e," ")}static serializeObj(e,n=0){const r=[];let i=this.pad(n++),s="";const a=e[pe.VALUE];a&&(s=` ${a}`),r.push(`${i}${e[pe.NAME]}:${s}`),i=this.pad(n);for(const c in e){if(typeof c=="symbol")continue;const l=e[c],d=c?`${c}: `:"";if(typeof l=="string"||typeof l=="number"||typeof l=="boolean")r.push(`${i}${d}${l}`);else if(l instanceof Date)r.push(`${i}${d}${l.toUTCString()}`);else if(Array.isArray(l))for(const p of l)p[pe.NAME]=c,r.push(...this.serializeObj(p,n));else if(l instanceof pe)l[pe.NAME]=c,r.push(...this.serializeObj(l,n));else if(M.isBufferSource(l))c?(r.push(`${i}${d}`),r.push(...this.serializeBufferSource(l,n+1))):r.push(...this.serializeBufferSource(l,n));else if("toTextObject"in l){const p=l.toTextObject();p[pe.NAME]=c,r.push(...this.serializeObj(p,n))}else throw new TypeError("Cannot serialize data in text format. Unsupported type.")}return r}static serializeBufferSource(e,n=0){const r=this.pad(n),i=M.toUint8Array(e),s=[];for(let a=0;a<i.length;){const c=[];for(let l=0;l<16&&a<i.length;l++){l===8&&c.push("");const d=i[a++].toString(16).padStart(2,"0");c.push(d)}s.push(`${r}${c.join(" ")}`)}return s}static serializeAlgorithm(e){return this.algorithmSerializer.toTextObject(e)}}Tn.oidSerializer=un;Tn.algorithmSerializer=lv;class pn{constructor(...e){if(e.length===1){const n=e[0];this.rawData=q.serialize(n),this.onInit(n)}else{const n=q.parse(e[0],e[1]);this.rawData=M.toArrayBuffer(e[0]),this.onInit(n)}}equal(e){return e instanceof pn?Wf(e.rawData,this.rawData):!1}toString(e="text"){switch(e){case"asn":return q.toString(this.rawData);case"text":return Tn.serialize(this.toTextObject());case"hex":return J.ToHex(this.rawData);case"base64":return J.ToBase64(this.rawData);case"base64url":return J.ToBase64Url(this.rawData);default:throw TypeError("Argument 'format' is unsupported value")}}getTextName(){return this.constructor.NAME}toTextObject(){const e=this.toTextObjectEmpty();return e[""]=this.rawData,e}toTextObjectEmpty(e){return new pe(this.getTextName(),{},e)}}pn.NAME="ASN";class lt extends pn{constructor(...e){let n;M.isBufferSource(e[0])?n=M.toArrayBuffer(e[0]):n=q.serialize(new ot({extnID:e[0],critical:e[1],extnValue:new de(M.toArrayBuffer(e[2]))})),super(n,ot)}onInit(e){this.type=e.extnID,this.critical=e.critical,this.value=e.extnValue.buffer}toTextObject(){const e=this.toTextObjectWithoutValue();return e[""]=this.value,e}toTextObjectWithoutValue(){const e=this.toTextObjectEmpty(this.critical?"critical":void 0);return e[pe.NAME]===lt.NAME&&(e[pe.NAME]=un.toString(this.type)),e}}var Cg;class Zt{static isCryptoKeyPair(e){return e&&e.privateKey&&e.publicKey}static isCryptoKey(e){return e&&e.usages&&e.type&&e.algorithm&&e.extractable!==void 0}constructor(){this.items=new Map,this[Cg]="CryptoProvider",typeof self<"u"&&typeof crypto<"u"?this.set(Zt.DEFAULT,crypto):typeof global<"u"&&global.crypto&&global.crypto.subtle&&this.set(Zt.DEFAULT,global.crypto)}clear(){this.items.clear()}delete(e){return this.items.delete(e)}forEach(e,n){return this.items.forEach(e,n)}has(e){return this.items.has(e)}get size(){return this.items.size}entries(){return this.items.entries()}keys(){return this.items.keys()}values(){return this.items.values()}[Symbol.iterator](){return this.items[Symbol.iterator]()}get(e=Zt.DEFAULT){const n=this.items.get(e.toLowerCase());if(!n)throw new Error(`Cannot get Crypto by name '${e}'`);return n}set(e,n){if(typeof e=="string"){if(!n)throw new TypeError("Argument 'value' is required");this.items.set(e.toLowerCase(),n)}else this.items.set(Zt.DEFAULT,e);return this}}Cg=Symbol.toStringTag;Zt.DEFAULT="default";const $e=new Zt,dv=/^[0-2](?:\.[1-9][0-9]*)+$/;function uv(t){return new RegExp(dv).test(t)}class Ng{constructor(e={}){this.items={};for(const n in e)this.register(n,e[n])}get(e){return this.items[e]||null}findId(e){return uv(e)?e:this.get(e)}register(e,n){this.items[e]=n,this.items[n]=e}}const Je=new Ng;Je.register("CN","2.5.4.3");Je.register("L","2.5.4.7");Je.register("ST","2.5.4.8");Je.register("O","2.5.4.10");Je.register("OU","2.5.4.11");Je.register("C","2.5.4.6");Je.register("DC","0.9.2342.19200300.100.1.25");Je.register("E","1.2.840.113549.1.9.1");Je.register("G","2.5.4.42");Je.register("I","2.5.4.43");Je.register("SN","2.5.4.4");Je.register("T","2.5.4.12");function pv(t,e){return`\\${J.ToHex(J.FromUtf8String(e)).toUpperCase()}`}function fv(t){return t.replace(/([,+"\\<>;])/g,"\\$1").replace(/^([ #])/,"\\$1").replace(/([ ]$)/,"\\$1").replace(/([\r\n\t])/,pv)}class it{static isASCII(e){for(let n=0;n<e.length;n++)if(e.charCodeAt(n)>255)return!1;return!0}static isPrintableString(e){return/^[A-Za-z0-9 '()+,-./:=?]*$/g.test(e)}constructor(e,n={}){this.extraNames=new Ng,this.asn=new xe;for(const r in n)if(Object.prototype.hasOwnProperty.call(n,r)){const i=n[r];this.extraNames.register(r,i)}typeof e=="string"?this.asn=this.fromString(e):e instanceof xe?this.asn=e:M.isBufferSource(e)?this.asn=q.parse(e,xe):this.asn=this.fromJSON(e)}getField(e){const n=this.extraNames.findId(e)||Je.findId(e),r=[];for(const i of this.asn)for(const s of i)s.type===n&&r.push(s.value.toString());return r}getName(e){return this.extraNames.get(e)||Je.get(e)}toString(){return this.asn.map(e=>e.map(n=>{const r=this.getName(n.type)||n.type,i=n.value.anyValue?`#${J.ToHex(n.value.anyValue)}`:fv(n.value.toString());return`${r}=${i}`}).join("+")).join(", ")}toJSON(){var e;const n=[];for(const r of this.asn){const i={};for(const s of r){const a=this.getName(s.type)||s.type;(e=i[a])!==null&&e!==void 0||(i[a]=[]),i[a].push(s.value.anyValue?`#${J.ToHex(s.value.anyValue)}`:s.value.toString())}n.push(i)}return n}fromString(e){const n=new xe,r=/(\d\.[\d.]*\d|[A-Za-z]+)=((?:"")|(?:".*?[^\\]")|(?:[^,+].*?(?:[^\\][,+]))|(?:))([,+])?/g;let i=null,s=",";for(;i=r.exec(`${e},`);){let[,a,c]=i;const l=c[c.length-1];(l===","||l==="+")&&(c=c.slice(0,c.length-1),i[3]=l);const d=i[3];a=this.getTypeOid(a);const p=this.createAttribute(a,c);s==="+"?n[n.length-1].push(p):n.push(new nr([p])),s=d}return n}fromJSON(e){const n=new xe;for(const r of e){const i=new nr;for(const s in r){const a=this.getTypeOid(s),c=r[s];for(const l of c){const d=this.createAttribute(a,l);i.push(d)}}n.push(i)}return n}getTypeOid(e){if(/[\d.]+/.test(e)||(e=this.getName(e)||""),!e)throw new Error(`Cannot get OID for name type '${e}'`);return e}createAttribute(e,n){const r=new So({type:e});if(typeof n=="object")for(const i in n)switch(i){case"ia5String":r.value.ia5String=n[i];break;case"utf8String":r.value.utf8String=n[i];break;case"universalString":r.value.universalString=n[i];break;case"bmpString":r.value.bmpString=n[i];break;case"printableString":r.value.printableString=n[i];break}else if(n[0]==="#")r.value.anyValue=J.FromHex(n.slice(1));else{const i=this.processStringValue(n);e===this.getName("E")||e===this.getName("DC")?r.value.ia5String=i:it.isPrintableString(i)?r.value.printableString=i:r.value.utf8String=i}return r}processStringValue(e){const n=/"(.*?[^\\])?"/.exec(e);return n&&(e=n[1]),e.replace(/\\0a/ig,`
143
- `).replace(/\\0d/ig,"\r").replace(/\\0g/ig," ").replace(/\\(.)/g,"$1")}toArrayBuffer(){return q.serialize(this.asn)}async getThumbprint(...e){var n;let r,i="SHA-1";return e.length>=1&&!(!((n=e[0])===null||n===void 0)&&n.subtle)?(i=e[0]||i,r=e[1]||$e.get()):r=e[0]||$e.get(),await r.subtle.digest(i,this.toArrayBuffer())}}const jg="Cannot initialize GeneralName from ASN.1 data.",wp=`${jg} Unsupported string format in use.`,hv=`${jg} Value doesn't match to GUID regular expression.`,vp=/^([0-9a-f]{8})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{12})$/i,bp="1.3.6.1.4.1.311.25.1",xp="1.3.6.1.4.1.311.20.2.3",ca="dns",la="dn",da="email",ua="ip",pa="url",fa="guid",ha="upn",Ti="id";class Yt extends pn{constructor(...e){let n;if(e.length===2)switch(e[0]){case la:{const r=new it(e[1]).toArrayBuffer(),i=q.parse(r,xe);n=new ie({directoryName:i});break}case ca:n=new ie({dNSName:e[1]});break;case da:n=new ie({rfc822Name:e[1]});break;case fa:{const r=new RegExp(vp,"i").exec(e[1]);if(!r)throw new Error("Cannot parse GUID value. Value doesn't match to regular expression");const i=r.slice(1).map((s,a)=>a<3?J.ToHex(new Uint8Array(J.FromHex(s)).reverse()):s).join("");n=new ie({otherName:new Hr({typeId:bp,value:q.serialize(new de(J.FromHex(i)))})});break}case ua:n=new ie({iPAddress:e[1]});break;case Ti:n=new ie({registeredID:e[1]});break;case ha:{n=new ie({otherName:new Hr({typeId:xp,value:q.serialize(Wh.toASN(e[1]))})});break}case pa:n=new ie({uniformResourceIdentifier:e[1]});break;default:throw new Error("Cannot create GeneralName. Unsupported type of the name")}else M.isBufferSource(e[0])?n=q.parse(e[0],ie):n=e[0];super(n)}onInit(e){if(e.dNSName!=null)this.type=ca,this.value=e.dNSName;else if(e.rfc822Name!=null)this.type=da,this.value=e.rfc822Name;else if(e.iPAddress!=null)this.type=ua,this.value=e.iPAddress;else if(e.uniformResourceIdentifier!=null)this.type=pa,this.value=e.uniformResourceIdentifier;else if(e.registeredID!=null)this.type=Ti,this.value=e.registeredID;else if(e.directoryName!=null)this.type=la,this.value=new it(e.directoryName).toString();else if(e.otherName!=null)if(e.otherName.typeId===bp){this.type=fa;const n=q.parse(e.otherName.value,de),r=new RegExp(vp,"i").exec(J.ToHex(n));if(!r)throw new Error(hv);this.value=r.slice(1).map((i,s)=>s<3?J.ToHex(new Uint8Array(J.FromHex(i)).reverse()):i).join("-")}else if(e.otherName.typeId===xp)this.type=ha,this.value=q.parse(e.otherName.value,Pe).toString();else throw new Error(wp);else throw new Error(wp)}toJSON(){return{type:this.type,value:this.value}}toTextObject(){let e;switch(this.type){case la:case ca:case fa:case ua:case Ti:case ha:case pa:e=this.type.toUpperCase();break;case da:e="Email";break;default:throw new Error("Unsupported GeneralName type")}let n=this.value;return this.type===Ti&&(n=un.toString(n)),new pe(e,void 0,n)}}class Xr extends pn{constructor(e){let n;if(e instanceof Me)n=e;else if(Array.isArray(e)){const r=[];for(const i of e)if(i instanceof ie)r.push(i);else{const s=q.parse(new Yt(i.type,i.value).rawData,ie);r.push(s)}n=new Me(r)}else if(M.isBufferSource(e))n=q.parse(e,Me);else throw new Error("Cannot initialize GeneralNames. Incorrect incoming arguments");super(n)}onInit(e){const n=[];for(const r of e){let i=null;try{i=new Yt(r)}catch{continue}n.push(i)}this.items=n}toJSON(){return this.items.map(e=>e.toJSON())}toTextObject(){const e=super.toTextObjectEmpty();for(const n of this.items){const r=n.toTextObject();let i=e[r[pe.NAME]];Array.isArray(i)||(i=[],e[r[pe.NAME]]=i),i.push(r)}return e}}Xr.NAME="GeneralNames";const Lr="-{5}",Qr="\\n",gv=`[^${Qr}]+`,mv=`${Lr}BEGIN (${gv}(?=${Lr}))${Lr}`,_v=`${Lr}END \\1${Lr}`,dr="\\n",yv=`[^:${Qr}]+`,wv=`(?:[^${Qr}]+${dr}(?: +[^${Qr}]+${dr})*)`,vv="[a-zA-Z0-9=+/]+",bv=`(?:${vv}${dr})+`,kp=`${mv}${dr}(?:((?:${yv}: ${wv})+))?${dr}?(${bv})${_v}`;class et{static isPem(e){return typeof e=="string"&&new RegExp(kp,"g").test(e)}static decodeWithHeaders(e){e=e.replace(/\r/g,"");const n=new RegExp(kp,"g"),r=[];let i=null;for(;i=n.exec(e);){const s=i[3].replace(new RegExp(`[${Qr}]+`,"g"),""),a={type:i[1],headers:[],rawData:J.FromBase64(s)},c=i[2];if(c){const l=c.split(new RegExp(dr,"g"));let d=null;for(const p of l){const[f,m]=p.split(/:(.*)/);if(m===void 0){if(!d)throw new Error("Cannot parse PEM string. Incorrect header value");d.value+=f.trim()}else d&&a.headers.push(d),d={key:f,value:m.trim()}}d&&a.headers.push(d)}r.push(a)}return r}static decode(e){return this.decodeWithHeaders(e).map(r=>r.rawData)}static decodeFirst(e){const n=this.decode(e);if(!n.length)throw new RangeError("PEM string doesn't contain any objects");return n[0]}static encode(e,n){if(Array.isArray(e)){const r=new Array;return n?e.forEach(i=>{if(!M.isBufferSource(i))throw new TypeError("Cannot encode array of BufferSource in PEM format. Not all items of the array are BufferSource");r.push(this.encodeStruct({type:n,rawData:M.toArrayBuffer(i)}))}):e.forEach(i=>{if(!("type"in i))throw new TypeError("Cannot encode array of PemStruct in PEM format. Not all items of the array are PemStrut");r.push(this.encodeStruct(i))}),r.join(`
141
+ */const xi="crypto.algorithm";class cv{getAlgorithms(){return Be.resolveAll(xi)}toAsnAlgorithm(e){({...e});for(const n of this.getAlgorithms()){const r=n.toAsnAlgorithm(e);if(r)return r}if(/^[0-9.]+$/.test(e.name)){const n=new F({algorithm:e.name});if("parameters"in e){const r=e;n.parameters=r.parameters}return n}throw new Error("Cannot convert WebCrypto algorithm to ASN.1 algorithm")}toWebAlgorithm(e){for(const r of this.getAlgorithms()){const i=r.toWebAlgorithm(e);if(i)return i}return{name:e.algorithm,parameters:e.parameters}}}const On="crypto.algorithmProvider";Be.registerSingleton(On,cv);var Mi;const Xe="1.3.36.3.3.2.8.1.1",Hu=`${Xe}.1`,Fu=`${Xe}.2`,Ku=`${Xe}.3`,Wu=`${Xe}.4`,Gu=`${Xe}.5`,Ju=`${Xe}.6`,Zu=`${Xe}.7`,Yu=`${Xe}.8`,Xu=`${Xe}.9`,Qu=`${Xe}.10`,ep=`${Xe}.11`,tp=`${Xe}.12`,np=`${Xe}.13`,rp=`${Xe}.14`,ip="brainpoolP160r1",sp="brainpoolP160t1",op="brainpoolP192r1",ap="brainpoolP192t1",cp="brainpoolP224r1",lp="brainpoolP224t1",dp="brainpoolP256r1",up="brainpoolP256t1",pp="brainpoolP320r1",fp="brainpoolP320t1",hp="brainpoolP384r1",gp="brainpoolP384t1",mp="brainpoolP512r1",_p="brainpoolP512t1",ye="ECDSA";let Yr=Mi=class{toAsnAlgorithm(e){switch(e.name.toLowerCase()){case ye.toLowerCase():if("hash"in e)switch((typeof e.hash=="string"?e.hash:e.hash.name).toLowerCase()){case"sha-1":return $w;case"sha-256":return Ow;case"sha-384":return Tw;case"sha-512":return Pw}else if("namedCurve"in e){let n="";switch(e.namedCurve){case"P-256":n=bu;break;case"K-256":n=Mi.SECP256K1;break;case"P-384":n=xu;break;case"P-521":n=ku;break;case ip:n=Hu;break;case sp:n=Fu;break;case op:n=Ku;break;case ap:n=Wu;break;case cp:n=Gu;break;case lp:n=Ju;break;case dp:n=Zu;break;case up:n=Yu;break;case pp:n=Xu;break;case fp:n=Qu;break;case hp:n=ep;break;case gp:n=tp;break;case mp:n=np;break;case _p:n=rp;break}if(n)return new F({algorithm:Gr,parameters:q.serialize(new on({namedCurve:n}))})}}return null}toWebAlgorithm(e){switch(e.algorithm){case Fl:return{name:ye,hash:{name:"SHA-1"}};case Kl:return{name:ye,hash:{name:"SHA-256"}};case Wl:return{name:ye,hash:{name:"SHA-384"}};case Gl:return{name:ye,hash:{name:"SHA-512"}};case Gr:{if(!e.parameters)throw new TypeError("Cannot get required parameters from EC algorithm");switch(q.parse(e.parameters,on).namedCurve){case bu:return{name:ye,namedCurve:"P-256"};case Mi.SECP256K1:return{name:ye,namedCurve:"K-256"};case xu:return{name:ye,namedCurve:"P-384"};case ku:return{name:ye,namedCurve:"P-521"};case Hu:return{name:ye,namedCurve:ip};case Fu:return{name:ye,namedCurve:sp};case Ku:return{name:ye,namedCurve:op};case Wu:return{name:ye,namedCurve:ap};case Gu:return{name:ye,namedCurve:cp};case Ju:return{name:ye,namedCurve:lp};case Zu:return{name:ye,namedCurve:dp};case Yu:return{name:ye,namedCurve:up};case Xu:return{name:ye,namedCurve:pp};case Qu:return{name:ye,namedCurve:fp};case ep:return{name:ye,namedCurve:hp};case tp:return{name:ye,namedCurve:gp};case np:return{name:ye,namedCurve:mp};case rp:return{name:ye,namedCurve:_p}}}}return null}};Yr.SECP256K1="1.3.132.0.10";Yr=Mi=u([Ho()],Yr);Be.registerSingleton(xi,Yr);const zg=Symbol("name"),Eg=Symbol("value");class pe{constructor(e,n={},r=""){this[zg]=e,this[Eg]=r;for(const i in n)this[i]=n[i]}}pe.NAME=zg;pe.VALUE=Eg;class lv{static toTextObject(e){const n=new pe("Algorithm Identifier",{},un.toString(e.algorithm));if(e.parameters)switch(e.algorithm){case Gr:{const r=new Yr().toWebAlgorithm(e);r&&"namedCurve"in r?n["Named Curve"]=r.namedCurve:n.Parameters=e.parameters;break}default:n.Parameters=e.parameters}return n}}class un{static toString(e){const n=this.items[e];return n||e}}un.items={[Ps]:"sha1",[fg]:"sha224",[Bs]:"sha256",[Rs]:"sha384",[Ls]:"sha512",[Nn]:"rsaEncryption",[$s]:"sha1WithRSAEncryption",[qw]:"sha224WithRSAEncryption",[Sc]:"sha256WithRSAEncryption",[Os]:"sha384WithRSAEncryption",[Ts]:"sha512WithRSAEncryption",[Gr]:"ecPublicKey",[Fl]:"ecdsaWithSHA1",[dg]:"ecdsaWithSHA224",[Kl]:"ecdsaWithSHA256",[Wl]:"ecdsaWithSHA384",[Gl]:"ecdsaWithSHA512",[Aw]:"TLS WWW server authentication",[zw]:"TLS WWW client authentication",[Ew]:"Code Signing",[Iw]:"E-mail Protection",[Cw]:"Time Stamping",[Nw]:"OCSP Signing",[jw]:"Signed Data"};class Tn{static serialize(e){return this.serializeObj(e).join(`
142
+ `)}static pad(e=0){return"".padStart(2*e," ")}static serializeObj(e,n=0){const r=[];let i=this.pad(n++),s="";const a=e[pe.VALUE];a&&(s=` ${a}`),r.push(`${i}${e[pe.NAME]}:${s}`),i=this.pad(n);for(const c in e){if(typeof c=="symbol")continue;const l=e[c],d=c?`${c}: `:"";if(typeof l=="string"||typeof l=="number"||typeof l=="boolean")r.push(`${i}${d}${l}`);else if(l instanceof Date)r.push(`${i}${d}${l.toUTCString()}`);else if(Array.isArray(l))for(const p of l)p[pe.NAME]=c,r.push(...this.serializeObj(p,n));else if(l instanceof pe)l[pe.NAME]=c,r.push(...this.serializeObj(l,n));else if(M.isBufferSource(l))c?(r.push(`${i}${d}`),r.push(...this.serializeBufferSource(l,n+1))):r.push(...this.serializeBufferSource(l,n));else if("toTextObject"in l){const p=l.toTextObject();p[pe.NAME]=c,r.push(...this.serializeObj(p,n))}else throw new TypeError("Cannot serialize data in text format. Unsupported type.")}return r}static serializeBufferSource(e,n=0){const r=this.pad(n),i=M.toUint8Array(e),s=[];for(let a=0;a<i.length;){const c=[];for(let l=0;l<16&&a<i.length;l++){l===8&&c.push("");const d=i[a++].toString(16).padStart(2,"0");c.push(d)}s.push(`${r}${c.join(" ")}`)}return s}static serializeAlgorithm(e){return this.algorithmSerializer.toTextObject(e)}}Tn.oidSerializer=un;Tn.algorithmSerializer=lv;class pn{constructor(...e){if(e.length===1){const n=e[0];this.rawData=q.serialize(n),this.onInit(n)}else{const n=q.parse(e[0],e[1]);this.rawData=M.toArrayBuffer(e[0]),this.onInit(n)}}equal(e){return e instanceof pn?Kf(e.rawData,this.rawData):!1}toString(e="text"){switch(e){case"asn":return q.toString(this.rawData);case"text":return Tn.serialize(this.toTextObject());case"hex":return J.ToHex(this.rawData);case"base64":return J.ToBase64(this.rawData);case"base64url":return J.ToBase64Url(this.rawData);default:throw TypeError("Argument 'format' is unsupported value")}}getTextName(){return this.constructor.NAME}toTextObject(){const e=this.toTextObjectEmpty();return e[""]=this.rawData,e}toTextObjectEmpty(e){return new pe(this.getTextName(),{},e)}}pn.NAME="ASN";class lt extends pn{constructor(...e){let n;M.isBufferSource(e[0])?n=M.toArrayBuffer(e[0]):n=q.serialize(new ot({extnID:e[0],critical:e[1],extnValue:new de(M.toArrayBuffer(e[2]))})),super(n,ot)}onInit(e){this.type=e.extnID,this.critical=e.critical,this.value=e.extnValue.buffer}toTextObject(){const e=this.toTextObjectWithoutValue();return e[""]=this.value,e}toTextObjectWithoutValue(){const e=this.toTextObjectEmpty(this.critical?"critical":void 0);return e[pe.NAME]===lt.NAME&&(e[pe.NAME]=un.toString(this.type)),e}}var Ig;class Yt{static isCryptoKeyPair(e){return e&&e.privateKey&&e.publicKey}static isCryptoKey(e){return e&&e.usages&&e.type&&e.algorithm&&e.extractable!==void 0}constructor(){this.items=new Map,this[Ig]="CryptoProvider",typeof self<"u"&&typeof crypto<"u"?this.set(Yt.DEFAULT,crypto):typeof global<"u"&&global.crypto&&global.crypto.subtle&&this.set(Yt.DEFAULT,global.crypto)}clear(){this.items.clear()}delete(e){return this.items.delete(e)}forEach(e,n){return this.items.forEach(e,n)}has(e){return this.items.has(e)}get size(){return this.items.size}entries(){return this.items.entries()}keys(){return this.items.keys()}values(){return this.items.values()}[Symbol.iterator](){return this.items[Symbol.iterator]()}get(e=Yt.DEFAULT){const n=this.items.get(e.toLowerCase());if(!n)throw new Error(`Cannot get Crypto by name '${e}'`);return n}set(e,n){if(typeof e=="string"){if(!n)throw new TypeError("Argument 'value' is required");this.items.set(e.toLowerCase(),n)}else this.items.set(Yt.DEFAULT,e);return this}}Ig=Symbol.toStringTag;Yt.DEFAULT="default";const $e=new Yt,dv=/^[0-2](?:\.[1-9][0-9]*)+$/;function uv(t){return new RegExp(dv).test(t)}class Cg{constructor(e={}){this.items={};for(const n in e)this.register(n,e[n])}get(e){return this.items[e]||null}findId(e){return uv(e)?e:this.get(e)}register(e,n){this.items[e]=n,this.items[n]=e}}const Je=new Cg;Je.register("CN","2.5.4.3");Je.register("L","2.5.4.7");Je.register("ST","2.5.4.8");Je.register("O","2.5.4.10");Je.register("OU","2.5.4.11");Je.register("C","2.5.4.6");Je.register("DC","0.9.2342.19200300.100.1.25");Je.register("E","1.2.840.113549.1.9.1");Je.register("G","2.5.4.42");Je.register("I","2.5.4.43");Je.register("SN","2.5.4.4");Je.register("T","2.5.4.12");function pv(t,e){return`\\${J.ToHex(J.FromUtf8String(e)).toUpperCase()}`}function fv(t){return t.replace(/([,+"\\<>;])/g,"\\$1").replace(/^([ #])/,"\\$1").replace(/([ ]$)/,"\\$1").replace(/([\r\n\t])/,pv)}class it{static isASCII(e){for(let n=0;n<e.length;n++)if(e.charCodeAt(n)>255)return!1;return!0}static isPrintableString(e){return/^[A-Za-z0-9 '()+,-./:=?]*$/g.test(e)}constructor(e,n={}){this.extraNames=new Cg,this.asn=new xe;for(const r in n)if(Object.prototype.hasOwnProperty.call(n,r)){const i=n[r];this.extraNames.register(r,i)}typeof e=="string"?this.asn=this.fromString(e):e instanceof xe?this.asn=e:M.isBufferSource(e)?this.asn=q.parse(e,xe):this.asn=this.fromJSON(e)}getField(e){const n=this.extraNames.findId(e)||Je.findId(e),r=[];for(const i of this.asn)for(const s of i)s.type===n&&r.push(s.value.toString());return r}getName(e){return this.extraNames.get(e)||Je.get(e)}toString(){return this.asn.map(e=>e.map(n=>{const r=this.getName(n.type)||n.type,i=n.value.anyValue?`#${J.ToHex(n.value.anyValue)}`:fv(n.value.toString());return`${r}=${i}`}).join("+")).join(", ")}toJSON(){var e;const n=[];for(const r of this.asn){const i={};for(const s of r){const a=this.getName(s.type)||s.type;(e=i[a])!==null&&e!==void 0||(i[a]=[]),i[a].push(s.value.anyValue?`#${J.ToHex(s.value.anyValue)}`:s.value.toString())}n.push(i)}return n}fromString(e){const n=new xe,r=/(\d\.[\d.]*\d|[A-Za-z]+)=((?:"")|(?:".*?[^\\]")|(?:[^,+].*?(?:[^\\][,+]))|(?:))([,+])?/g;let i=null,s=",";for(;i=r.exec(`${e},`);){let[,a,c]=i;const l=c[c.length-1];(l===","||l==="+")&&(c=c.slice(0,c.length-1),i[3]=l);const d=i[3];a=this.getTypeOid(a);const p=this.createAttribute(a,c);s==="+"?n[n.length-1].push(p):n.push(new nr([p])),s=d}return n}fromJSON(e){const n=new xe;for(const r of e){const i=new nr;for(const s in r){const a=this.getTypeOid(s),c=r[s];for(const l of c){const d=this.createAttribute(a,l);i.push(d)}}n.push(i)}return n}getTypeOid(e){if(/[\d.]+/.test(e)||(e=this.getName(e)||""),!e)throw new Error(`Cannot get OID for name type '${e}'`);return e}createAttribute(e,n){const r=new So({type:e});if(typeof n=="object")for(const i in n)switch(i){case"ia5String":r.value.ia5String=n[i];break;case"utf8String":r.value.utf8String=n[i];break;case"universalString":r.value.universalString=n[i];break;case"bmpString":r.value.bmpString=n[i];break;case"printableString":r.value.printableString=n[i];break}else if(n[0]==="#")r.value.anyValue=J.FromHex(n.slice(1));else{const i=this.processStringValue(n);e===this.getName("E")||e===this.getName("DC")?r.value.ia5String=i:it.isPrintableString(i)?r.value.printableString=i:r.value.utf8String=i}return r}processStringValue(e){const n=/"(.*?[^\\])?"/.exec(e);return n&&(e=n[1]),e.replace(/\\0a/ig,`
143
+ `).replace(/\\0d/ig,"\r").replace(/\\0g/ig," ").replace(/\\(.)/g,"$1")}toArrayBuffer(){return q.serialize(this.asn)}async getThumbprint(...e){var n;let r,i="SHA-1";return e.length>=1&&!(!((n=e[0])===null||n===void 0)&&n.subtle)?(i=e[0]||i,r=e[1]||$e.get()):r=e[0]||$e.get(),await r.subtle.digest(i,this.toArrayBuffer())}}const Ng="Cannot initialize GeneralName from ASN.1 data.",yp=`${Ng} Unsupported string format in use.`,hv=`${Ng} Value doesn't match to GUID regular expression.`,wp=/^([0-9a-f]{8})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{12})$/i,vp="1.3.6.1.4.1.311.25.1",bp="1.3.6.1.4.1.311.20.2.3",aa="dns",ca="dn",la="email",da="ip",ua="url",pa="guid",fa="upn",Ti="id";class Xt extends pn{constructor(...e){let n;if(e.length===2)switch(e[0]){case ca:{const r=new it(e[1]).toArrayBuffer(),i=q.parse(r,xe);n=new ie({directoryName:i});break}case aa:n=new ie({dNSName:e[1]});break;case la:n=new ie({rfc822Name:e[1]});break;case pa:{const r=new RegExp(wp,"i").exec(e[1]);if(!r)throw new Error("Cannot parse GUID value. Value doesn't match to regular expression");const i=r.slice(1).map((s,a)=>a<3?J.ToHex(new Uint8Array(J.FromHex(s)).reverse()):s).join("");n=new ie({otherName:new Hr({typeId:vp,value:q.serialize(new de(J.FromHex(i)))})});break}case da:n=new ie({iPAddress:e[1]});break;case Ti:n=new ie({registeredID:e[1]});break;case fa:{n=new ie({otherName:new Hr({typeId:bp,value:q.serialize(Kh.toASN(e[1]))})});break}case ua:n=new ie({uniformResourceIdentifier:e[1]});break;default:throw new Error("Cannot create GeneralName. Unsupported type of the name")}else M.isBufferSource(e[0])?n=q.parse(e[0],ie):n=e[0];super(n)}onInit(e){if(e.dNSName!=null)this.type=aa,this.value=e.dNSName;else if(e.rfc822Name!=null)this.type=la,this.value=e.rfc822Name;else if(e.iPAddress!=null)this.type=da,this.value=e.iPAddress;else if(e.uniformResourceIdentifier!=null)this.type=ua,this.value=e.uniformResourceIdentifier;else if(e.registeredID!=null)this.type=Ti,this.value=e.registeredID;else if(e.directoryName!=null)this.type=ca,this.value=new it(e.directoryName).toString();else if(e.otherName!=null)if(e.otherName.typeId===vp){this.type=pa;const n=q.parse(e.otherName.value,de),r=new RegExp(wp,"i").exec(J.ToHex(n));if(!r)throw new Error(hv);this.value=r.slice(1).map((i,s)=>s<3?J.ToHex(new Uint8Array(J.FromHex(i)).reverse()):i).join("-")}else if(e.otherName.typeId===bp)this.type=fa,this.value=q.parse(e.otherName.value,Pe).toString();else throw new Error(yp);else throw new Error(yp)}toJSON(){return{type:this.type,value:this.value}}toTextObject(){let e;switch(this.type){case ca:case aa:case pa:case da:case Ti:case fa:case ua:e=this.type.toUpperCase();break;case la:e="Email";break;default:throw new Error("Unsupported GeneralName type")}let n=this.value;return this.type===Ti&&(n=un.toString(n)),new pe(e,void 0,n)}}class Xr extends pn{constructor(e){let n;if(e instanceof Me)n=e;else if(Array.isArray(e)){const r=[];for(const i of e)if(i instanceof ie)r.push(i);else{const s=q.parse(new Xt(i.type,i.value).rawData,ie);r.push(s)}n=new Me(r)}else if(M.isBufferSource(e))n=q.parse(e,Me);else throw new Error("Cannot initialize GeneralNames. Incorrect incoming arguments");super(n)}onInit(e){const n=[];for(const r of e){let i=null;try{i=new Xt(r)}catch{continue}n.push(i)}this.items=n}toJSON(){return this.items.map(e=>e.toJSON())}toTextObject(){const e=super.toTextObjectEmpty();for(const n of this.items){const r=n.toTextObject();let i=e[r[pe.NAME]];Array.isArray(i)||(i=[],e[r[pe.NAME]]=i),i.push(r)}return e}}Xr.NAME="GeneralNames";const Lr="-{5}",Qr="\\n",gv=`[^${Qr}]+`,mv=`${Lr}BEGIN (${gv}(?=${Lr}))${Lr}`,_v=`${Lr}END \\1${Lr}`,dr="\\n",yv=`[^:${Qr}]+`,wv=`(?:[^${Qr}]+${dr}(?: +[^${Qr}]+${dr})*)`,vv="[a-zA-Z0-9=+/]+",bv=`(?:${vv}${dr})+`,xp=`${mv}${dr}(?:((?:${yv}: ${wv})+))?${dr}?(${bv})${_v}`;class et{static isPem(e){return typeof e=="string"&&new RegExp(xp,"g").test(e)}static decodeWithHeaders(e){e=e.replace(/\r/g,"");const n=new RegExp(xp,"g"),r=[];let i=null;for(;i=n.exec(e);){const s=i[3].replace(new RegExp(`[${Qr}]+`,"g"),""),a={type:i[1],headers:[],rawData:J.FromBase64(s)},c=i[2];if(c){const l=c.split(new RegExp(dr,"g"));let d=null;for(const p of l){const[f,m]=p.split(/:(.*)/);if(m===void 0){if(!d)throw new Error("Cannot parse PEM string. Incorrect header value");d.value+=f.trim()}else d&&a.headers.push(d),d={key:f,value:m.trim()}}d&&a.headers.push(d)}r.push(a)}return r}static decode(e){return this.decodeWithHeaders(e).map(r=>r.rawData)}static decodeFirst(e){const n=this.decode(e);if(!n.length)throw new RangeError("PEM string doesn't contain any objects");return n[0]}static encode(e,n){if(Array.isArray(e)){const r=new Array;return n?e.forEach(i=>{if(!M.isBufferSource(i))throw new TypeError("Cannot encode array of BufferSource in PEM format. Not all items of the array are BufferSource");r.push(this.encodeStruct({type:n,rawData:M.toArrayBuffer(i)}))}):e.forEach(i=>{if(!("type"in i))throw new TypeError("Cannot encode array of PemStruct in PEM format. Not all items of the array are PemStrut");r.push(this.encodeStruct(i))}),r.join(`
144
144
  `)}else{if(!n)throw new Error("Required argument 'tag' is missed");return this.encodeStruct({type:n,rawData:M.toArrayBuffer(e)})}}static encodeStruct(e){var n;const r=e.type.toLocaleUpperCase(),i=[];if(i.push(`-----BEGIN ${r}-----`),!((n=e.headers)===null||n===void 0)&&n.length){for(const d of e.headers)i.push(`${d.key}: ${d.value}`);i.push("")}const s=J.ToBase64(e.rawData);let a,c=0;const l=Array();for(;c<s.length&&(s.length-c<64?a=s.substring(c):(a=s.substring(c,c+64),c+=64),a.length!==0);)if(l.push(a),a.length<64)break;return i.push(...l),i.push(`-----END ${r}-----`),i.join(`
145
- `)}}et.CertificateTag="CERTIFICATE";et.CrlTag="CRL";et.CertificateRequestTag="CERTIFICATE REQUEST";et.PublicKeyTag="PUBLIC KEY";et.PrivateKeyTag="PRIVATE KEY";class Mt extends pn{static isAsnEncoded(e){return M.isBufferSource(e)||typeof e=="string"}static toArrayBuffer(e){if(typeof e=="string"){if(et.isPem(e))return et.decode(e)[0];if(J.isHex(e))return J.FromHex(e);if(J.isBase64(e))return J.FromBase64(e);if(J.isBase64Url(e))return J.FromBase64Url(e);throw new TypeError("Unsupported format of 'raw' argument. Must be one of DER, PEM, HEX, Base64, or Base4Url")}else{const n=J.ToBinary(e);return et.isPem(n)?et.decode(n)[0]:J.isHex(n)?J.FromHex(n):J.isBase64(n)?J.FromBase64(n):J.isBase64Url(n)?J.FromBase64Url(n):M.toArrayBuffer(e)}}constructor(...e){Mt.isAsnEncoded(e[0])?super(Mt.toArrayBuffer(e[0]),e[1]):super(e[0])}toString(e="pem"){switch(e){case"pem":return et.encode(this.rawData,this.tag);default:return super.toString(e)}}}class gt extends Mt{static async create(e,n=$e.get()){if(e instanceof gt)return e;if(Zt.isCryptoKey(e)){if(e.type!=="public")throw new TypeError("Public key is required");const r=await n.subtle.exportKey("spki",e);return new gt(r)}else{if(e.publicKey)return e.publicKey;if(M.isBufferSource(e))return new gt(e);throw new TypeError("Unsupported PublicKeyType")}}constructor(e){Mt.isAsnEncoded(e)?super(e,ht):super(e),this.tag=et.PublicKeyTag}async export(...e){let n,r=["verify"],i={hash:"SHA-256",...this.algorithm};e.length>1?(i=e[0]||i,r=e[1]||r,n=e[2]||$e.get()):n=e[0]||$e.get();let s=this.rawData;const a=q.parse(this.rawData,ht);return a.algorithm.algorithm===Rr&&(s=xv(a,s)),n.subtle.importKey("spki",s,i,!0,r)}onInit(e){const n=Be.resolve(On),r=this.algorithm=n.toWebAlgorithm(e.algorithm);switch(e.algorithm.algorithm){case Nn:{const i=q.parse(e.subjectPublicKey,Zl),s=M.toUint8Array(i.modulus);r.publicExponent=M.toUint8Array(i.publicExponent),r.modulusLength=(s[0]?s:s.slice(1)).byteLength<<3;break}}}async getThumbprint(...e){var n;let r,i="SHA-1";return e.length>=1&&!(!((n=e[0])===null||n===void 0)&&n.subtle)?(i=e[0]||i,r=e[1]||$e.get()):r=e[0]||$e.get(),await r.subtle.digest(i,this.rawData)}async getKeyIdentifier(...e){let n,r="SHA-1";e.length===1?typeof e[0]=="string"?(r=e[0],n=$e.get()):n=e[0]:e.length===2?(r=e[0],n=e[1]):n=$e.get();const i=q.parse(this.rawData,ht);return await n.subtle.digest(r,i.subjectPublicKey)}toTextObject(){const e=this.toTextObjectEmpty(),n=q.parse(this.rawData,ht);switch(e.Algorithm=Tn.serializeAlgorithm(n.algorithm),n.algorithm.algorithm){case Gr:e["EC Point"]=n.subjectPublicKey;break;case Nn:default:e["Raw Data"]=n.subjectPublicKey}return e}}function xv(t,e){return t.algorithm=new F({algorithm:Nn,parameters:null}),e=q.serialize(t),e}class ei extends lt{static async create(e,n=!1,r=$e.get()){if("name"in e&&"serialNumber"in e)return new ei(e,n);const s=await(await gt.create(e,r)).getKeyIdentifier(r);return new ei(J.ToHex(s),n)}constructor(...e){if(M.isBufferSource(e[0]))super(e[0]);else if(typeof e[0]=="string"){const n=new wn({keyIdentifier:new jl(J.FromHex(e[0]))});super(Da,e[1],q.serialize(n))}else{const n=e[0],r=n.name instanceof Xr?q.parse(n.name.rawData,Me):n.name,i=new wn({authorityCertIssuer:r,authorityCertSerialNumber:J.FromHex(n.serialNumber)});super(Da,e[1],q.serialize(i))}}onInit(e){super.onInit(e);const n=q.parse(e.extnValue,wn);n.keyIdentifier&&(this.keyId=J.ToHex(n.keyIdentifier)),(n.authorityCertIssuer||n.authorityCertSerialNumber)&&(this.certId={name:n.authorityCertIssuer||[],serialNumber:n.authorityCertSerialNumber?J.ToHex(n.authorityCertSerialNumber):""})}toTextObject(){const e=this.toTextObjectWithoutValue(),n=q.parse(this.value,wn);return n.authorityCertIssuer&&(e["Authority Issuer"]=new Xr(n.authorityCertIssuer).toTextObject()),n.authorityCertSerialNumber&&(e["Authority Serial Number"]=n.authorityCertSerialNumber),n.keyIdentifier&&(e[""]=n.keyIdentifier),e}}ei.NAME="Authority Key Identifier";class ed extends lt{constructor(...e){if(M.isBufferSource(e[0])){super(e[0]);const n=q.parse(this.value,hs);this.ca=n.cA,this.pathLength=n.pathLenConstraint}else{const n=new hs({cA:e[0],pathLenConstraint:e[1]});super(Zh,e[2],q.serialize(n)),this.ca=e[0],this.pathLength=e[1]}}toTextObject(){const e=this.toTextObjectWithoutValue();return this.ca&&(e.CA=this.ca),this.pathLength!==void 0&&(e["Path Length"]=this.pathLength),e}}ed.NAME="Basic Constraints";var Sp;(function(t){t.serverAuth="1.3.6.1.5.5.7.3.1",t.clientAuth="1.3.6.1.5.5.7.3.2",t.codeSigning="1.3.6.1.5.5.7.3.3",t.emailProtection="1.3.6.1.5.5.7.3.4",t.timeStamping="1.3.6.1.5.5.7.3.8",t.ocspSigning="1.3.6.1.5.5.7.3.9"})(Sp||(Sp={}));class td extends lt{constructor(...e){if(M.isBufferSource(e[0])){super(e[0]);const n=q.parse(this.value,ys);this.usages=n.map(r=>r)}else{const n=new ys(e[0]);super(Qh,e[1],q.serialize(n)),this.usages=e[0]}}toTextObject(){const e=this.toTextObjectWithoutValue();return e[""]=this.usages.map(n=>un.toString(n)).join(", "),e}}td.NAME="Extended Key Usages";var Hs;(function(t){t[t.digitalSignature=1]="digitalSignature",t[t.nonRepudiation=2]="nonRepudiation",t[t.keyEncipherment=4]="keyEncipherment",t[t.dataEncipherment=8]="dataEncipherment",t[t.keyAgreement=16]="keyAgreement",t[t.keyCertSign=32]="keyCertSign",t[t.cRLSign=64]="cRLSign",t[t.encipherOnly=128]="encipherOnly",t[t.decipherOnly=256]="decipherOnly"})(Hs||(Hs={}));class nd extends lt{constructor(...e){if(M.isBufferSource(e[0])){super(e[0]);const n=q.parse(this.value,aa);this.usages=n.toNumber()}else{const n=new aa(e[0]);super(eg,e[1],q.serialize(n)),this.usages=e[0]}}toTextObject(){const e=this.toTextObjectWithoutValue(),n=q.parse(this.value,aa);return e[""]=n.toJSON().join(", "),e}}nd.NAME="Key Usages";class ki extends lt{static async create(e,n=!1,r=$e.get()){const s=await(await gt.create(e,r)).getKeyIdentifier(r);return new ki(J.ToHex(s),n)}constructor(...e){if(M.isBufferSource(e[0])){super(e[0]);const n=q.parse(this.value,Qt);this.keyId=J.ToHex(n)}else{const n=typeof e[0]=="string"?J.FromHex(e[0]):e[0],r=new Qt(n);super(ig,e[1],q.serialize(r)),this.keyId=J.ToHex(n)}}toTextObject(){const e=this.toTextObjectWithoutValue(),n=q.parse(this.value,Qt);return e[""]=n,e}}ki.NAME="Subject Key Identifier";class $g extends lt{constructor(...e){M.isBufferSource(e[0])?super(e[0]):super(rg,e[1],new Xr(e[0]||[]).rawData)}onInit(e){super.onInit(e);const n=q.parse(e.extnValue,ic);this.names=new Xr(n)}toTextObject(){const e=this.toTextObjectWithoutValue(),n=this.names.toTextObject();for(const r in n)e[r]=n[r];return e}}$g.NAME="Subject Alternative Name";class dt{static register(e,n){this.items.set(e,n)}static create(e){const n=new lt(e),r=this.items.get(n.type);return r?new r(e):n}}dt.items=new Map;class Og extends lt{constructor(...e){var n;if(M.isBufferSource(e[0])){super(e[0]);const r=q.parse(this.value,ms);this.policies=r.map(i=>i.policyIdentifier)}else{const r=e[0],i=(n=e[1])!==null&&n!==void 0?n:!1,s=new ms(r.map(a=>new zo({policyIdentifier:a})));super(Yh,i,q.serialize(s)),this.policies=r}}toTextObject(){const e=this.toTextObjectWithoutValue();return e.Policy=this.policies.map(n=>new pe("",{},un.toString(n))),e}}Og.NAME="Certificate Policies";dt.register(Yh,Og);class Tg extends lt{constructor(...e){var n;if(M.isBufferSource(e[0]))super(e[0]);else if(Array.isArray(e[0])&&typeof e[0][0]=="string"){const i=e[0].map(a=>new _r({distributionPoint:new zn({fullName:[new ie({uniformResourceIdentifier:a})]})})),s=new Yn(i);super(Ga,e[1],q.serialize(s))}else{const r=new Yn(e[0]);super(Ga,e[1],q.serialize(r))}(n=this.distributionPoints)!==null&&n!==void 0||(this.distributionPoints=[])}onInit(e){super.onInit(e);const n=q.parse(e.extnValue,Yn);this.distributionPoints=n}toTextObject(){const e=this.toTextObjectWithoutValue();return e["Distribution Point"]=this.distributionPoints.map(n=>{var r;const i={};return n.distributionPoint&&(i[""]=(r=n.distributionPoint.fullName)===null||r===void 0?void 0:r.map(s=>new Yt(s).toString()).join(", ")),n.reasons&&(i.Reasons=n.reasons.toString()),n.cRLIssuer&&(i["CRL Issuer"]=n.cRLIssuer.map(s=>s.toString()).join(", ")),i}),e}}Tg.NAME="CRL Distribution Points";class Pg extends lt{constructor(...e){var n,r,i,s;if(M.isBufferSource(e[0]))super(e[0]);else if(e[0]instanceof Gn){const a=new Gn(e[0]);super(Ma,e[1],q.serialize(a))}else{const a=e[0],c=new Gn;Bi(c,a,au,"ocsp"),Bi(c,a,cu,"caIssuers"),Bi(c,a,lu,"timeStamping"),Bi(c,a,du,"caRepository"),super(Ma,e[1],q.serialize(c))}(n=this.ocsp)!==null&&n!==void 0||(this.ocsp=[]),(r=this.caIssuers)!==null&&r!==void 0||(this.caIssuers=[]),(i=this.timeStamping)!==null&&i!==void 0||(this.timeStamping=[]),(s=this.caRepository)!==null&&s!==void 0||(this.caRepository=[])}onInit(e){super.onInit(e),this.ocsp=[],this.caIssuers=[],this.timeStamping=[],this.caRepository=[],q.parse(e.extnValue,Gn).forEach(r=>{switch(r.accessMethod){case au:this.ocsp.push(new Yt(r.accessLocation));break;case cu:this.caIssuers.push(new Yt(r.accessLocation));break;case lu:this.timeStamping.push(new Yt(r.accessLocation));break;case du:this.caRepository.push(new Yt(r.accessLocation));break}})}toTextObject(){const e=this.toTextObjectWithoutValue();return this.ocsp.length&&Pi(e,"OCSP",this.ocsp),this.caIssuers.length&&Pi(e,"CA Issuers",this.caIssuers),this.timeStamping.length&&Pi(e,"Time Stamping",this.timeStamping),this.caRepository.length&&Pi(e,"CA Repository",this.caRepository),e}}Pg.NAME="Authority Info Access";function Pi(t,e,n){if(n.length===1)t[e]=n[0].toTextObject();else{const r=new pe("");n.forEach((i,s)=>{const a=i.toTextObject(),c=`${a[pe.NAME]} ${s+1}`;let l=r[c];Array.isArray(l)||(l=[],r[c]=l),l.push(a)}),t[e]=r}}function Bi(t,e,n,r){const i=e[r];i&&(Array.isArray(i)?i:[i]).forEach(a=>{typeof a=="string"&&(a=new Yt("url",a)),t.push(new di({accessMethod:n,accessLocation:q.parse(a.rawData,ie)}))})}class Sr extends pn{constructor(...e){let n;if(M.isBufferSource(e[0]))n=M.toArrayBuffer(e[0]);else{const r=e[0],i=Array.isArray(e[1])?e[1].map(s=>M.toArrayBuffer(s)):[];n=q.serialize(new Ut({type:r,values:i}))}super(n,Ut)}onInit(e){this.type=e.type,this.values=e.values}toTextObject(){const e=this.toTextObjectWithoutValue();return e.Value=this.values.map(n=>new pe("",{"":n})),e}toTextObjectWithoutValue(){const e=this.toTextObjectEmpty();return e[pe.NAME]===Sr.NAME&&(e[pe.NAME]=un.toString(this.type)),e}}Sr.NAME="Attribute";class Bg extends Sr{constructor(...e){var n;if(M.isBufferSource(e[0]))super(e[0]);else{const r=new Ms({printableString:e[0]});super(zg,[q.serialize(r)])}(n=this.password)!==null&&n!==void 0||(this.password="")}onInit(e){if(super.onInit(e),this.values[0]){const n=q.parse(this.values[0],Ms);this.password=n.toString()}}toTextObject(){const e=this.toTextObjectWithoutValue();return e[pe.VALUE]=this.password,e}}Bg.NAME="Challenge Password";class rd extends Sr{constructor(...e){var n;if(M.isBufferSource(e[0]))super(e[0]);else{const r=e[0],i=new nn;for(const s of r)i.push(q.parse(s.rawData,ot));super(Ql,[q.serialize(i)])}(n=this.items)!==null&&n!==void 0||(this.items=[])}onInit(e){if(super.onInit(e),this.values[0]){const n=q.parse(this.values[0],nn);this.items=n.map(r=>dt.create(q.serialize(r)))}}toTextObject(){const e=this.toTextObjectWithoutValue(),n=this.items.map(r=>r.toTextObject());for(const r of n)e[r[pe.NAME]]=r;return e}}rd.NAME="Extensions";class Jo{static register(e,n){this.items.set(e,n)}static create(e){const n=new Sr(e),r=this.items.get(n.type);return r?new r(e):n}}Jo.items=new Map;const Si="crypto.signatureFormatter";class kv{toAsnSignature(e,n){return M.toArrayBuffer(n)}toWebSignature(e,n){return M.toArrayBuffer(n)}}var Di;let Gc=Di=class{static createPssParams(e,n){const r=Di.getHashAlgorithm(e);return r?new $n({hashAlgorithm:r,maskGenAlgorithm:new F({algorithm:Vo,parameters:q.serialize(r)}),saltLength:n}):null}static getHashAlgorithm(e){const n=Be.resolve(On);return typeof e=="string"?n.toAsnAlgorithm({name:e}):typeof e=="object"&&e&&"name"in e?n.toAsnAlgorithm(e):null}toAsnAlgorithm(e){switch(e.name.toLowerCase()){case"rsassa-pkcs1-v1_5":if("hash"in e){let n;if(typeof e.hash=="string")n=e.hash;else if(e.hash&&typeof e.hash=="object"&&"name"in e.hash&&typeof e.hash.name=="string")n=e.hash.name.toUpperCase();else throw new Error("Cannot get hash algorithm name");switch(n.toLowerCase()){case"sha-1":return new F({algorithm:$s,parameters:null});case"sha-256":return new F({algorithm:Ac,parameters:null});case"sha-384":return new F({algorithm:Os,parameters:null});case"sha-512":return new F({algorithm:Ts,parameters:null})}}else return new F({algorithm:Nn,parameters:null});break;case"rsa-pss":if("hash"in e){if(!("saltLength"in e&&typeof e.saltLength=="number"))throw new Error("Cannot get 'saltLength' from 'alg' argument");const n=Di.createPssParams(e.hash,e.saltLength);if(!n)throw new Error("Cannot create PSS parameters");return new F({algorithm:Rr,parameters:q.serialize(n)})}else return new F({algorithm:Rr,parameters:null})}return null}toWebAlgorithm(e){switch(e.algorithm){case Nn:return{name:"RSASSA-PKCS1-v1_5"};case $s:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-1"}};case Ac:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case Os:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-384"}};case Ts:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-512"}};case Rr:if(e.parameters){const n=q.parse(e.parameters,$n);return{name:"RSA-PSS",hash:Be.resolve(On).toWebAlgorithm(n.hashAlgorithm),saltLength:n.saltLength}}else return{name:"RSA-PSS"}}return null}};Gc=Di=u([Ho()],Gc);Be.registerSingleton(xi,Gc);let Jc=class{toAsnAlgorithm(e){switch(e.name.toLowerCase()){case"sha-1":return new F({algorithm:Ps});case"sha-256":return new F({algorithm:Bs});case"sha-384":return new F({algorithm:Rs});case"sha-512":return new F({algorithm:Ls})}return null}toWebAlgorithm(e){switch(e.algorithm){case Ps:return{name:"SHA-1"};case Bs:return{name:"SHA-256"};case Rs:return{name:"SHA-384"};case Ls:return{name:"SHA-512"}}return null}};Jc=u([Ho()],Jc);Be.registerSingleton(xi,Jc);class st{addPadding(e,n){const r=M.toUint8Array(n),i=new Uint8Array(e);return i.set(r,e-r.length),i}removePadding(e,n=!1){let r=M.toUint8Array(e);for(let i=0;i<r.length;i++)if(r[i]){r=r.slice(i);break}if(n&&r[0]>127){const i=new Uint8Array(r.length+1);return i.set(r,1),i.buffer}return r.buffer}toAsnSignature(e,n){if(e.name==="ECDSA"){const r=e.namedCurve,i=st.namedCurveSize.get(r)||st.defaultNamedCurveSize,s=new js,a=M.toUint8Array(n);return s.r=this.removePadding(a.slice(0,i),!0),s.s=this.removePadding(a.slice(i,i+i),!0),q.serialize(s)}return null}toWebSignature(e,n){if(e.name==="ECDSA"){const r=q.parse(n,js),i=e.namedCurve,s=st.namedCurveSize.get(i)||st.defaultNamedCurveSize,a=this.addPadding(s,this.removePadding(r.r)),c=this.addPadding(s,this.removePadding(r.s));return By(a,c)}return null}}st.namedCurveSize=new Map;st.defaultNamedCurveSize=32;const ga="1.3.101.110",Ap="1.3.101.111",ma="1.3.101.112",zp="1.3.101.113";let Zc=class{toAsnAlgorithm(e){let n=null;switch(e.name.toLowerCase()){case"ed25519":n=ma;break;case"x25519":n=ga;break;case"eddsa":switch(e.namedCurve.toLowerCase()){case"ed25519":n=ma;break;case"ed448":n=zp;break}break;case"ecdh-es":switch(e.namedCurve.toLowerCase()){case"x25519":n=ga;break;case"x448":n=Ap;break}}return n?new F({algorithm:n}):null}toWebAlgorithm(e){switch(e.algorithm){case ma:return{name:"Ed25519"};case zp:return{name:"EdDSA",namedCurve:"Ed448"};case ga:return{name:"X25519"};case Ap:return{name:"ECDH-ES",namedCurve:"X448"}}return null}};Zc=u([Ho()],Zc);Be.registerSingleton(xi,Zc);class Sv extends Mt{constructor(e){Mt.isAsnEncoded(e)?super(e,Zr):super(e),this.tag=et.CertificateRequestTag}onInit(e){this.tbs=q.serialize(e.certificationRequestInfo),this.publicKey=new gt(e.certificationRequestInfo.subjectPKInfo);const n=Be.resolve(On);this.signatureAlgorithm=n.toWebAlgorithm(e.signatureAlgorithm),this.signature=e.signature,this.attributes=e.certificationRequestInfo.attributes.map(i=>Jo.create(q.serialize(i)));const r=this.getAttribute(Ql);this.extensions=[],r instanceof rd&&(this.extensions=r.items),this.subjectName=new it(e.certificationRequestInfo.subject),this.subject=this.subjectName.toString()}getAttribute(e){for(const n of this.attributes)if(n.type===e)return n;return null}getAttributes(e){return this.attributes.filter(n=>n.type===e)}getExtension(e){for(const n of this.extensions)if(n.type===e)return n;return null}getExtensions(e){return this.extensions.filter(n=>n.type===e)}async verify(e=$e.get()){const n={...this.publicKey.algorithm,...this.signatureAlgorithm},r=await this.publicKey.export(n,["verify"],e),i=Be.resolveAll(Si).reverse();let s=null;for(const c of i)if(s=c.toWebSignature(n,this.signature),s)break;if(!s)throw Error("Cannot convert WebCrypto signature value to ASN.1 format");return await e.subtle.verify(this.signatureAlgorithm,r,s,this.tbs)}toTextObject(){const e=this.toTextObjectEmpty(),n=q.parse(this.rawData,Zr),r=n.certificationRequestInfo,i=new pe("",{Version:`${En[r.version]} (${r.version})`,Subject:this.subject,"Subject Public Key Info":this.publicKey});if(this.attributes.length){const s=new pe("");for(const a of this.attributes){const c=a.toTextObject();s[c[pe.NAME]]=c}i.Attributes=s}return e.Data=i,e.Signature=new pe("",{Algorithm:Tn.serializeAlgorithm(n.signatureAlgorithm),"":n.signature}),e}}Sv.NAME="PKCS#10 Certificate Request";class id extends Mt{constructor(e){Mt.isAsnEncoded(e)?super(e,In):super(e),this.tag=et.CertificateTag}onInit(e){const n=e.tbsCertificate;this.tbs=q.serialize(n),this.serialNumber=J.ToHex(n.serialNumber),this.subjectName=new it(n.subject),this.subject=new it(n.subject).toString(),this.issuerName=new it(n.issuer),this.issuer=this.issuerName.toString();const r=Be.resolve(On);this.signatureAlgorithm=r.toWebAlgorithm(e.signatureAlgorithm),this.signature=e.signatureValue;const i=n.validity.notBefore.utcTime||n.validity.notBefore.generalTime;if(!i)throw new Error("Cannot get 'notBefore' value");this.notBefore=i;const s=n.validity.notAfter.utcTime||n.validity.notAfter.generalTime;if(!s)throw new Error("Cannot get 'notAfter' value");this.notAfter=s,this.extensions=[],n.extensions&&(this.extensions=n.extensions.map(a=>dt.create(q.serialize(a)))),this.publicKey=new gt(n.subjectPublicKeyInfo)}getExtension(e){for(const n of this.extensions)if(typeof e=="string"){if(n.type===e)return n}else if(n instanceof e)return n;return null}getExtensions(e){return this.extensions.filter(n=>typeof e=="string"?n.type===e:n instanceof e)}async verify(e={},n=$e.get()){let r,i;const s=e.publicKey;try{if(!s)r={...this.publicKey.algorithm,...this.signatureAlgorithm},i=await this.publicKey.export(r,["verify"],n);else if("publicKey"in s)r={...s.publicKey.algorithm,...this.signatureAlgorithm},i=await s.publicKey.export(r,["verify"],n);else if(s instanceof gt)r={...s.algorithm,...this.signatureAlgorithm},i=await s.export(r,["verify"],n);else if(M.isBufferSource(s)){const d=new gt(s);r={...d.algorithm,...this.signatureAlgorithm},i=await d.export(r,["verify"],n)}else r={...s.algorithm,...this.signatureAlgorithm},i=s}catch{return!1}const a=Be.resolveAll(Si).reverse();let c=null;for(const d of a)if(c=d.toWebSignature(r,this.signature),c)break;if(!c)throw Error("Cannot convert ASN.1 signature value to WebCrypto format");const l=await n.subtle.verify(this.signatureAlgorithm,i,c,this.tbs);if(e.signatureOnly)return l;{const p=(e.date||new Date).getTime();return l&&this.notBefore.getTime()<p&&p<this.notAfter.getTime()}}async getThumbprint(...e){let n,r="SHA-1";return e[0]&&(e[0].subtle?n=e[0]:(r=e[0]||r,n=e[1])),n??(n=$e.get()),await n.subtle.digest(r,this.rawData)}async isSelfSigned(e=$e.get()){return this.subject===this.issuer&&await this.verify({signatureOnly:!0},e)}toTextObject(){const e=this.toTextObjectEmpty(),n=q.parse(this.rawData,In),r=n.tbsCertificate,i=new pe("",{Version:`${En[r.version]} (${r.version})`,"Serial Number":r.serialNumber,"Signature Algorithm":Tn.serializeAlgorithm(r.signature),Issuer:this.issuer,Validity:new pe("",{"Not Before":r.validity.notBefore.getTime(),"Not After":r.validity.notAfter.getTime()}),Subject:this.subject,"Subject Public Key Info":this.publicKey});if(r.issuerUniqueID&&(i["Issuer Unique ID"]=r.issuerUniqueID),r.subjectUniqueID&&(i["Subject Unique ID"]=r.subjectUniqueID),this.extensions.length){const s=new pe("");for(const a of this.extensions){const c=a.toTextObject();s[c[pe.NAME]]=c}i.Extensions=s}return e.Data=i,e.Signature=new pe("",{Algorithm:Tn.serializeAlgorithm(n.signatureAlgorithm),"":n.signatureValue}),e}}id.NAME="Certificate";class Av{static async createSelfSigned(e,n=$e.get()){if(!e.keys.privateKey)throw new Error("Bad field 'keys' in 'params' argument. 'privateKey' is empty");if(!e.keys.publicKey)throw new Error("Bad field 'keys' in 'params' argument. 'publicKey' is empty");return this.create({serialNumber:e.serialNumber,subject:e.name,issuer:e.name,notBefore:e.notBefore,notAfter:e.notAfter,publicKey:e.keys.publicKey,signingKey:e.keys.privateKey,signingAlgorithm:e.signingAlgorithm,extensions:e.extensions},n)}static async create(e,n=$e.get()){var r;let i;e.publicKey instanceof gt?i=e.publicKey.rawData:"publicKey"in e.publicKey?i=e.publicKey.publicKey.rawData:M.isBufferSource(e.publicKey)?i=e.publicKey:i=await n.subtle.exportKey("spki",e.publicKey);const s=e.serialNumber?M.toUint8Array(J.FromHex(e.serialNumber)):n.getRandomValues(new Uint8Array(16));s[0]>127&&(s[0]&=127),s.length>1&&s[0]===0&&(s[1]|=128);const a=e.notBefore||new Date,c=e.notAfter||new Date(a.getTime()+31536e6),l=new In({tbsCertificate:new nt({version:En.v3,serialNumber:s,validity:new ui({notBefore:a,notAfter:c}),extensions:new nn(((r=e.extensions)===null||r===void 0?void 0:r.map(v=>q.parse(v.rawData,ot)))||[]),subjectPublicKeyInfo:q.parse(i,ht)})});if(e.subject){const v=e.subject instanceof it?e.subject:new it(e.subject);l.tbsCertificate.subject=q.parse(v.toArrayBuffer(),xe)}if(e.issuer){const v=e.issuer instanceof it?e.issuer:new it(e.issuer);l.tbsCertificate.issuer=q.parse(v.toArrayBuffer(),xe)}const d={hash:"SHA-256"},p="signingKey"in e?{...d,...e.signingAlgorithm,...e.signingKey.algorithm}:{...d,...e.signingAlgorithm},f=Be.resolve(On);l.tbsCertificate.signature=l.signatureAlgorithm=f.toAsnAlgorithm(p);const m=q.serialize(l.tbsCertificate),w="signingKey"in e?await n.subtle.sign(p,e.signingKey,m):e.signature,h=Be.resolveAll(Si).reverse();let _=null;for(const v of h)if(_=v.toAsnSignature(p,w),_)break;if(!_)throw Error("Cannot convert ASN.1 signature value to WebCrypto format");return l.signatureValue=_,new id(q.serialize(l))}}var Ep;(function(t){t[t.unspecified=0]="unspecified",t[t.keyCompromise=1]="keyCompromise",t[t.cACompromise=2]="cACompromise",t[t.affiliationChanged=3]="affiliationChanged",t[t.superseded=4]="superseded",t[t.cessationOfOperation=5]="cessationOfOperation",t[t.certificateHold=6]="certificateHold",t[t.removeFromCRL=8]="removeFromCRL",t[t.privilegeWithdrawn=9]="privilegeWithdrawn",t[t.aACompromise=10]="aACompromise"})(Ep||(Ep={}));dt.register(Zh,ed);dt.register(Qh,td);dt.register(eg,nd);dt.register(ig,ki);dt.register(Da,ei);dt.register(rg,$g);dt.register(Ga,Tg);dt.register(Ma,Pg);Jo.register(zg,Bg);Jo.register(Ql,rd);Be.registerSingleton(Si,kv);Be.registerSingleton(Si,st);st.namedCurveSize.set("P-256",32);st.namedCurveSize.set("K-256",32);st.namedCurveSize.set("P-384",48);st.namedCurveSize.set("P-521",66);async function Yc(t){const e={name:"RSASSA-PKCS1-v1_5",hash:"SHA-256",publicExponent:new Uint8Array([1,0,1]),modulusLength:2048},n=await crypto.subtle.generateKey(e,!0,["sign","verify"]),r=ke(),i=Na(new TextEncoder().encode(r)),s=await Av.createSelfSigned({serialNumber:i,name:t.name,notBefore:new Date,notAfter:new Date(Date.now()+365*24*60*60*1e3),signingAlgorithm:e,keys:n,extensions:[new ed(!0,2,!0),new td(["1.3.6.1.5.5.7.3.1"],!0),new nd(Hs.keyCertSign|Hs.cRLSign,!0),await ki.create(n.publicKey)]}),a=await crypto.subtle.exportKey("pkcs8",n.privateKey),c=s.toString("pem"),l=await Ev(s),d=Na(await s.getThumbprint()),p=zv("PRIVATE",a);return{kid:s.serialNumber,cert:c,thumbprint:d,fingerprint:l,pkcs7:p}}function zv(t,e){const n=B0.encode(new Uint8Array(e));let r=`-----BEGIN ${t} KEY-----\r
145
+ `)}}et.CertificateTag="CERTIFICATE";et.CrlTag="CRL";et.CertificateRequestTag="CERTIFICATE REQUEST";et.PublicKeyTag="PUBLIC KEY";et.PrivateKeyTag="PRIVATE KEY";class Mt extends pn{static isAsnEncoded(e){return M.isBufferSource(e)||typeof e=="string"}static toArrayBuffer(e){if(typeof e=="string"){if(et.isPem(e))return et.decode(e)[0];if(J.isHex(e))return J.FromHex(e);if(J.isBase64(e))return J.FromBase64(e);if(J.isBase64Url(e))return J.FromBase64Url(e);throw new TypeError("Unsupported format of 'raw' argument. Must be one of DER, PEM, HEX, Base64, or Base4Url")}else{const n=J.ToBinary(e);return et.isPem(n)?et.decode(n)[0]:J.isHex(n)?J.FromHex(n):J.isBase64(n)?J.FromBase64(n):J.isBase64Url(n)?J.FromBase64Url(n):M.toArrayBuffer(e)}}constructor(...e){Mt.isAsnEncoded(e[0])?super(Mt.toArrayBuffer(e[0]),e[1]):super(e[0])}toString(e="pem"){switch(e){case"pem":return et.encode(this.rawData,this.tag);default:return super.toString(e)}}}class gt extends Mt{static async create(e,n=$e.get()){if(e instanceof gt)return e;if(Yt.isCryptoKey(e)){if(e.type!=="public")throw new TypeError("Public key is required");const r=await n.subtle.exportKey("spki",e);return new gt(r)}else{if(e.publicKey)return e.publicKey;if(M.isBufferSource(e))return new gt(e);throw new TypeError("Unsupported PublicKeyType")}}constructor(e){Mt.isAsnEncoded(e)?super(e,ht):super(e),this.tag=et.PublicKeyTag}async export(...e){let n,r=["verify"],i={hash:"SHA-256",...this.algorithm};e.length>1?(i=e[0]||i,r=e[1]||r,n=e[2]||$e.get()):n=e[0]||$e.get();let s=this.rawData;const a=q.parse(this.rawData,ht);return a.algorithm.algorithm===Rr&&(s=xv(a,s)),n.subtle.importKey("spki",s,i,!0,r)}onInit(e){const n=Be.resolve(On),r=this.algorithm=n.toWebAlgorithm(e.algorithm);switch(e.algorithm.algorithm){case Nn:{const i=q.parse(e.subjectPublicKey,Jl),s=M.toUint8Array(i.modulus);r.publicExponent=M.toUint8Array(i.publicExponent),r.modulusLength=(s[0]?s:s.slice(1)).byteLength<<3;break}}}async getThumbprint(...e){var n;let r,i="SHA-1";return e.length>=1&&!(!((n=e[0])===null||n===void 0)&&n.subtle)?(i=e[0]||i,r=e[1]||$e.get()):r=e[0]||$e.get(),await r.subtle.digest(i,this.rawData)}async getKeyIdentifier(...e){let n,r="SHA-1";e.length===1?typeof e[0]=="string"?(r=e[0],n=$e.get()):n=e[0]:e.length===2?(r=e[0],n=e[1]):n=$e.get();const i=q.parse(this.rawData,ht);return await n.subtle.digest(r,i.subjectPublicKey)}toTextObject(){const e=this.toTextObjectEmpty(),n=q.parse(this.rawData,ht);switch(e.Algorithm=Tn.serializeAlgorithm(n.algorithm),n.algorithm.algorithm){case Gr:e["EC Point"]=n.subjectPublicKey;break;case Nn:default:e["Raw Data"]=n.subjectPublicKey}return e}}function xv(t,e){return t.algorithm=new F({algorithm:Nn,parameters:null}),e=q.serialize(t),e}class ei extends lt{static async create(e,n=!1,r=$e.get()){if("name"in e&&"serialNumber"in e)return new ei(e,n);const s=await(await gt.create(e,r)).getKeyIdentifier(r);return new ei(J.ToHex(s),n)}constructor(...e){if(M.isBufferSource(e[0]))super(e[0]);else if(typeof e[0]=="string"){const n=new wn({keyIdentifier:new Nl(J.FromHex(e[0]))});super(Ma,e[1],q.serialize(n))}else{const n=e[0],r=n.name instanceof Xr?q.parse(n.name.rawData,Me):n.name,i=new wn({authorityCertIssuer:r,authorityCertSerialNumber:J.FromHex(n.serialNumber)});super(Ma,e[1],q.serialize(i))}}onInit(e){super.onInit(e);const n=q.parse(e.extnValue,wn);n.keyIdentifier&&(this.keyId=J.ToHex(n.keyIdentifier)),(n.authorityCertIssuer||n.authorityCertSerialNumber)&&(this.certId={name:n.authorityCertIssuer||[],serialNumber:n.authorityCertSerialNumber?J.ToHex(n.authorityCertSerialNumber):""})}toTextObject(){const e=this.toTextObjectWithoutValue(),n=q.parse(this.value,wn);return n.authorityCertIssuer&&(e["Authority Issuer"]=new Xr(n.authorityCertIssuer).toTextObject()),n.authorityCertSerialNumber&&(e["Authority Serial Number"]=n.authorityCertSerialNumber),n.keyIdentifier&&(e[""]=n.keyIdentifier),e}}ei.NAME="Authority Key Identifier";class Ql extends lt{constructor(...e){if(M.isBufferSource(e[0])){super(e[0]);const n=q.parse(this.value,hs);this.ca=n.cA,this.pathLength=n.pathLenConstraint}else{const n=new hs({cA:e[0],pathLenConstraint:e[1]});super(Jh,e[2],q.serialize(n)),this.ca=e[0],this.pathLength=e[1]}}toTextObject(){const e=this.toTextObjectWithoutValue();return this.ca&&(e.CA=this.ca),this.pathLength!==void 0&&(e["Path Length"]=this.pathLength),e}}Ql.NAME="Basic Constraints";var kp;(function(t){t.serverAuth="1.3.6.1.5.5.7.3.1",t.clientAuth="1.3.6.1.5.5.7.3.2",t.codeSigning="1.3.6.1.5.5.7.3.3",t.emailProtection="1.3.6.1.5.5.7.3.4",t.timeStamping="1.3.6.1.5.5.7.3.8",t.ocspSigning="1.3.6.1.5.5.7.3.9"})(kp||(kp={}));class ed extends lt{constructor(...e){if(M.isBufferSource(e[0])){super(e[0]);const n=q.parse(this.value,ys);this.usages=n.map(r=>r)}else{const n=new ys(e[0]);super(Xh,e[1],q.serialize(n)),this.usages=e[0]}}toTextObject(){const e=this.toTextObjectWithoutValue();return e[""]=this.usages.map(n=>un.toString(n)).join(", "),e}}ed.NAME="Extended Key Usages";var Hs;(function(t){t[t.digitalSignature=1]="digitalSignature",t[t.nonRepudiation=2]="nonRepudiation",t[t.keyEncipherment=4]="keyEncipherment",t[t.dataEncipherment=8]="dataEncipherment",t[t.keyAgreement=16]="keyAgreement",t[t.keyCertSign=32]="keyCertSign",t[t.cRLSign=64]="cRLSign",t[t.encipherOnly=128]="encipherOnly",t[t.decipherOnly=256]="decipherOnly"})(Hs||(Hs={}));class td extends lt{constructor(...e){if(M.isBufferSource(e[0])){super(e[0]);const n=q.parse(this.value,oa);this.usages=n.toNumber()}else{const n=new oa(e[0]);super(Qh,e[1],q.serialize(n)),this.usages=e[0]}}toTextObject(){const e=this.toTextObjectWithoutValue(),n=q.parse(this.value,oa);return e[""]=n.toJSON().join(", "),e}}td.NAME="Key Usages";class ki extends lt{static async create(e,n=!1,r=$e.get()){const s=await(await gt.create(e,r)).getKeyIdentifier(r);return new ki(J.ToHex(s),n)}constructor(...e){if(M.isBufferSource(e[0])){super(e[0]);const n=q.parse(this.value,en);this.keyId=J.ToHex(n)}else{const n=typeof e[0]=="string"?J.FromHex(e[0]):e[0],r=new en(n);super(rg,e[1],q.serialize(r)),this.keyId=J.ToHex(n)}}toTextObject(){const e=this.toTextObjectWithoutValue(),n=q.parse(this.value,en);return e[""]=n,e}}ki.NAME="Subject Key Identifier";class jg extends lt{constructor(...e){M.isBufferSource(e[0])?super(e[0]):super(ng,e[1],new Xr(e[0]||[]).rawData)}onInit(e){super.onInit(e);const n=q.parse(e.extnValue,rc);this.names=new Xr(n)}toTextObject(){const e=this.toTextObjectWithoutValue(),n=this.names.toTextObject();for(const r in n)e[r]=n[r];return e}}jg.NAME="Subject Alternative Name";class dt{static register(e,n){this.items.set(e,n)}static create(e){const n=new lt(e),r=this.items.get(n.type);return r?new r(e):n}}dt.items=new Map;class $g extends lt{constructor(...e){var n;if(M.isBufferSource(e[0])){super(e[0]);const r=q.parse(this.value,ms);this.policies=r.map(i=>i.policyIdentifier)}else{const r=e[0],i=(n=e[1])!==null&&n!==void 0?n:!1,s=new ms(r.map(a=>new zo({policyIdentifier:a})));super(Zh,i,q.serialize(s)),this.policies=r}}toTextObject(){const e=this.toTextObjectWithoutValue();return e.Policy=this.policies.map(n=>new pe("",{},un.toString(n))),e}}$g.NAME="Certificate Policies";dt.register(Zh,$g);class Og extends lt{constructor(...e){var n;if(M.isBufferSource(e[0]))super(e[0]);else if(Array.isArray(e[0])&&typeof e[0][0]=="string"){const i=e[0].map(a=>new _r({distributionPoint:new zn({fullName:[new ie({uniformResourceIdentifier:a})]})})),s=new Yn(i);super(Wa,e[1],q.serialize(s))}else{const r=new Yn(e[0]);super(Wa,e[1],q.serialize(r))}(n=this.distributionPoints)!==null&&n!==void 0||(this.distributionPoints=[])}onInit(e){super.onInit(e);const n=q.parse(e.extnValue,Yn);this.distributionPoints=n}toTextObject(){const e=this.toTextObjectWithoutValue();return e["Distribution Point"]=this.distributionPoints.map(n=>{var r;const i={};return n.distributionPoint&&(i[""]=(r=n.distributionPoint.fullName)===null||r===void 0?void 0:r.map(s=>new Xt(s).toString()).join(", ")),n.reasons&&(i.Reasons=n.reasons.toString()),n.cRLIssuer&&(i["CRL Issuer"]=n.cRLIssuer.map(s=>s.toString()).join(", ")),i}),e}}Og.NAME="CRL Distribution Points";class Tg extends lt{constructor(...e){var n,r,i,s;if(M.isBufferSource(e[0]))super(e[0]);else if(e[0]instanceof Gn){const a=new Gn(e[0]);super(qa,e[1],q.serialize(a))}else{const a=e[0],c=new Gn;Bi(c,a,ou,"ocsp"),Bi(c,a,au,"caIssuers"),Bi(c,a,cu,"timeStamping"),Bi(c,a,lu,"caRepository"),super(qa,e[1],q.serialize(c))}(n=this.ocsp)!==null&&n!==void 0||(this.ocsp=[]),(r=this.caIssuers)!==null&&r!==void 0||(this.caIssuers=[]),(i=this.timeStamping)!==null&&i!==void 0||(this.timeStamping=[]),(s=this.caRepository)!==null&&s!==void 0||(this.caRepository=[])}onInit(e){super.onInit(e),this.ocsp=[],this.caIssuers=[],this.timeStamping=[],this.caRepository=[],q.parse(e.extnValue,Gn).forEach(r=>{switch(r.accessMethod){case ou:this.ocsp.push(new Xt(r.accessLocation));break;case au:this.caIssuers.push(new Xt(r.accessLocation));break;case cu:this.timeStamping.push(new Xt(r.accessLocation));break;case lu:this.caRepository.push(new Xt(r.accessLocation));break}})}toTextObject(){const e=this.toTextObjectWithoutValue();return this.ocsp.length&&Pi(e,"OCSP",this.ocsp),this.caIssuers.length&&Pi(e,"CA Issuers",this.caIssuers),this.timeStamping.length&&Pi(e,"Time Stamping",this.timeStamping),this.caRepository.length&&Pi(e,"CA Repository",this.caRepository),e}}Tg.NAME="Authority Info Access";function Pi(t,e,n){if(n.length===1)t[e]=n[0].toTextObject();else{const r=new pe("");n.forEach((i,s)=>{const a=i.toTextObject(),c=`${a[pe.NAME]} ${s+1}`;let l=r[c];Array.isArray(l)||(l=[],r[c]=l),l.push(a)}),t[e]=r}}function Bi(t,e,n,r){const i=e[r];i&&(Array.isArray(i)?i:[i]).forEach(a=>{typeof a=="string"&&(a=new Xt("url",a)),t.push(new di({accessMethod:n,accessLocation:q.parse(a.rawData,ie)}))})}class Sr extends pn{constructor(...e){let n;if(M.isBufferSource(e[0]))n=M.toArrayBuffer(e[0]);else{const r=e[0],i=Array.isArray(e[1])?e[1].map(s=>M.toArrayBuffer(s)):[];n=q.serialize(new Ut({type:r,values:i}))}super(n,Ut)}onInit(e){this.type=e.type,this.values=e.values}toTextObject(){const e=this.toTextObjectWithoutValue();return e.Value=this.values.map(n=>new pe("",{"":n})),e}toTextObjectWithoutValue(){const e=this.toTextObjectEmpty();return e[pe.NAME]===Sr.NAME&&(e[pe.NAME]=un.toString(this.type)),e}}Sr.NAME="Attribute";class Pg extends Sr{constructor(...e){var n;if(M.isBufferSource(e[0]))super(e[0]);else{const r=new Ms({printableString:e[0]});super(Ag,[q.serialize(r)])}(n=this.password)!==null&&n!==void 0||(this.password="")}onInit(e){if(super.onInit(e),this.values[0]){const n=q.parse(this.values[0],Ms);this.password=n.toString()}}toTextObject(){const e=this.toTextObjectWithoutValue();return e[pe.VALUE]=this.password,e}}Pg.NAME="Challenge Password";class nd extends Sr{constructor(...e){var n;if(M.isBufferSource(e[0]))super(e[0]);else{const r=e[0],i=new rn;for(const s of r)i.push(q.parse(s.rawData,ot));super(Xl,[q.serialize(i)])}(n=this.items)!==null&&n!==void 0||(this.items=[])}onInit(e){if(super.onInit(e),this.values[0]){const n=q.parse(this.values[0],rn);this.items=n.map(r=>dt.create(q.serialize(r)))}}toTextObject(){const e=this.toTextObjectWithoutValue(),n=this.items.map(r=>r.toTextObject());for(const r of n)e[r[pe.NAME]]=r;return e}}nd.NAME="Extensions";class Jo{static register(e,n){this.items.set(e,n)}static create(e){const n=new Sr(e),r=this.items.get(n.type);return r?new r(e):n}}Jo.items=new Map;const Si="crypto.signatureFormatter";class kv{toAsnSignature(e,n){return M.toArrayBuffer(n)}toWebSignature(e,n){return M.toArrayBuffer(n)}}var Di;let Wc=Di=class{static createPssParams(e,n){const r=Di.getHashAlgorithm(e);return r?new $n({hashAlgorithm:r,maskGenAlgorithm:new F({algorithm:Vo,parameters:q.serialize(r)}),saltLength:n}):null}static getHashAlgorithm(e){const n=Be.resolve(On);return typeof e=="string"?n.toAsnAlgorithm({name:e}):typeof e=="object"&&e&&"name"in e?n.toAsnAlgorithm(e):null}toAsnAlgorithm(e){switch(e.name.toLowerCase()){case"rsassa-pkcs1-v1_5":if("hash"in e){let n;if(typeof e.hash=="string")n=e.hash;else if(e.hash&&typeof e.hash=="object"&&"name"in e.hash&&typeof e.hash.name=="string")n=e.hash.name.toUpperCase();else throw new Error("Cannot get hash algorithm name");switch(n.toLowerCase()){case"sha-1":return new F({algorithm:$s,parameters:null});case"sha-256":return new F({algorithm:Sc,parameters:null});case"sha-384":return new F({algorithm:Os,parameters:null});case"sha-512":return new F({algorithm:Ts,parameters:null})}}else return new F({algorithm:Nn,parameters:null});break;case"rsa-pss":if("hash"in e){if(!("saltLength"in e&&typeof e.saltLength=="number"))throw new Error("Cannot get 'saltLength' from 'alg' argument");const n=Di.createPssParams(e.hash,e.saltLength);if(!n)throw new Error("Cannot create PSS parameters");return new F({algorithm:Rr,parameters:q.serialize(n)})}else return new F({algorithm:Rr,parameters:null})}return null}toWebAlgorithm(e){switch(e.algorithm){case Nn:return{name:"RSASSA-PKCS1-v1_5"};case $s:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-1"}};case Sc:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case Os:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-384"}};case Ts:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-512"}};case Rr:if(e.parameters){const n=q.parse(e.parameters,$n);return{name:"RSA-PSS",hash:Be.resolve(On).toWebAlgorithm(n.hashAlgorithm),saltLength:n.saltLength}}else return{name:"RSA-PSS"}}return null}};Wc=Di=u([Ho()],Wc);Be.registerSingleton(xi,Wc);let Gc=class{toAsnAlgorithm(e){switch(e.name.toLowerCase()){case"sha-1":return new F({algorithm:Ps});case"sha-256":return new F({algorithm:Bs});case"sha-384":return new F({algorithm:Rs});case"sha-512":return new F({algorithm:Ls})}return null}toWebAlgorithm(e){switch(e.algorithm){case Ps:return{name:"SHA-1"};case Bs:return{name:"SHA-256"};case Rs:return{name:"SHA-384"};case Ls:return{name:"SHA-512"}}return null}};Gc=u([Ho()],Gc);Be.registerSingleton(xi,Gc);class st{addPadding(e,n){const r=M.toUint8Array(n),i=new Uint8Array(e);return i.set(r,e-r.length),i}removePadding(e,n=!1){let r=M.toUint8Array(e);for(let i=0;i<r.length;i++)if(r[i]){r=r.slice(i);break}if(n&&r[0]>127){const i=new Uint8Array(r.length+1);return i.set(r,1),i.buffer}return r.buffer}toAsnSignature(e,n){if(e.name==="ECDSA"){const r=e.namedCurve,i=st.namedCurveSize.get(r)||st.defaultNamedCurveSize,s=new js,a=M.toUint8Array(n);return s.r=this.removePadding(a.slice(0,i),!0),s.s=this.removePadding(a.slice(i,i+i),!0),q.serialize(s)}return null}toWebSignature(e,n){if(e.name==="ECDSA"){const r=q.parse(n,js),i=e.namedCurve,s=st.namedCurveSize.get(i)||st.defaultNamedCurveSize,a=this.addPadding(s,this.removePadding(r.r)),c=this.addPadding(s,this.removePadding(r.s));return By(a,c)}return null}}st.namedCurveSize=new Map;st.defaultNamedCurveSize=32;const ha="1.3.101.110",Sp="1.3.101.111",ga="1.3.101.112",Ap="1.3.101.113";let Jc=class{toAsnAlgorithm(e){let n=null;switch(e.name.toLowerCase()){case"ed25519":n=ga;break;case"x25519":n=ha;break;case"eddsa":switch(e.namedCurve.toLowerCase()){case"ed25519":n=ga;break;case"ed448":n=Ap;break}break;case"ecdh-es":switch(e.namedCurve.toLowerCase()){case"x25519":n=ha;break;case"x448":n=Sp;break}}return n?new F({algorithm:n}):null}toWebAlgorithm(e){switch(e.algorithm){case ga:return{name:"Ed25519"};case Ap:return{name:"EdDSA",namedCurve:"Ed448"};case ha:return{name:"X25519"};case Sp:return{name:"ECDH-ES",namedCurve:"X448"}}return null}};Jc=u([Ho()],Jc);Be.registerSingleton(xi,Jc);class Sv extends Mt{constructor(e){Mt.isAsnEncoded(e)?super(e,Zr):super(e),this.tag=et.CertificateRequestTag}onInit(e){this.tbs=q.serialize(e.certificationRequestInfo),this.publicKey=new gt(e.certificationRequestInfo.subjectPKInfo);const n=Be.resolve(On);this.signatureAlgorithm=n.toWebAlgorithm(e.signatureAlgorithm),this.signature=e.signature,this.attributes=e.certificationRequestInfo.attributes.map(i=>Jo.create(q.serialize(i)));const r=this.getAttribute(Xl);this.extensions=[],r instanceof nd&&(this.extensions=r.items),this.subjectName=new it(e.certificationRequestInfo.subject),this.subject=this.subjectName.toString()}getAttribute(e){for(const n of this.attributes)if(n.type===e)return n;return null}getAttributes(e){return this.attributes.filter(n=>n.type===e)}getExtension(e){for(const n of this.extensions)if(n.type===e)return n;return null}getExtensions(e){return this.extensions.filter(n=>n.type===e)}async verify(e=$e.get()){const n={...this.publicKey.algorithm,...this.signatureAlgorithm},r=await this.publicKey.export(n,["verify"],e),i=Be.resolveAll(Si).reverse();let s=null;for(const c of i)if(s=c.toWebSignature(n,this.signature),s)break;if(!s)throw Error("Cannot convert WebCrypto signature value to ASN.1 format");return await e.subtle.verify(this.signatureAlgorithm,r,s,this.tbs)}toTextObject(){const e=this.toTextObjectEmpty(),n=q.parse(this.rawData,Zr),r=n.certificationRequestInfo,i=new pe("",{Version:`${En[r.version]} (${r.version})`,Subject:this.subject,"Subject Public Key Info":this.publicKey});if(this.attributes.length){const s=new pe("");for(const a of this.attributes){const c=a.toTextObject();s[c[pe.NAME]]=c}i.Attributes=s}return e.Data=i,e.Signature=new pe("",{Algorithm:Tn.serializeAlgorithm(n.signatureAlgorithm),"":n.signature}),e}}Sv.NAME="PKCS#10 Certificate Request";class rd extends Mt{constructor(e){Mt.isAsnEncoded(e)?super(e,In):super(e),this.tag=et.CertificateTag}onInit(e){const n=e.tbsCertificate;this.tbs=q.serialize(n),this.serialNumber=J.ToHex(n.serialNumber),this.subjectName=new it(n.subject),this.subject=new it(n.subject).toString(),this.issuerName=new it(n.issuer),this.issuer=this.issuerName.toString();const r=Be.resolve(On);this.signatureAlgorithm=r.toWebAlgorithm(e.signatureAlgorithm),this.signature=e.signatureValue;const i=n.validity.notBefore.utcTime||n.validity.notBefore.generalTime;if(!i)throw new Error("Cannot get 'notBefore' value");this.notBefore=i;const s=n.validity.notAfter.utcTime||n.validity.notAfter.generalTime;if(!s)throw new Error("Cannot get 'notAfter' value");this.notAfter=s,this.extensions=[],n.extensions&&(this.extensions=n.extensions.map(a=>dt.create(q.serialize(a)))),this.publicKey=new gt(n.subjectPublicKeyInfo)}getExtension(e){for(const n of this.extensions)if(typeof e=="string"){if(n.type===e)return n}else if(n instanceof e)return n;return null}getExtensions(e){return this.extensions.filter(n=>typeof e=="string"?n.type===e:n instanceof e)}async verify(e={},n=$e.get()){let r,i;const s=e.publicKey;try{if(!s)r={...this.publicKey.algorithm,...this.signatureAlgorithm},i=await this.publicKey.export(r,["verify"],n);else if("publicKey"in s)r={...s.publicKey.algorithm,...this.signatureAlgorithm},i=await s.publicKey.export(r,["verify"],n);else if(s instanceof gt)r={...s.algorithm,...this.signatureAlgorithm},i=await s.export(r,["verify"],n);else if(M.isBufferSource(s)){const d=new gt(s);r={...d.algorithm,...this.signatureAlgorithm},i=await d.export(r,["verify"],n)}else r={...s.algorithm,...this.signatureAlgorithm},i=s}catch{return!1}const a=Be.resolveAll(Si).reverse();let c=null;for(const d of a)if(c=d.toWebSignature(r,this.signature),c)break;if(!c)throw Error("Cannot convert ASN.1 signature value to WebCrypto format");const l=await n.subtle.verify(this.signatureAlgorithm,i,c,this.tbs);if(e.signatureOnly)return l;{const p=(e.date||new Date).getTime();return l&&this.notBefore.getTime()<p&&p<this.notAfter.getTime()}}async getThumbprint(...e){let n,r="SHA-1";return e[0]&&(e[0].subtle?n=e[0]:(r=e[0]||r,n=e[1])),n??(n=$e.get()),await n.subtle.digest(r,this.rawData)}async isSelfSigned(e=$e.get()){return this.subject===this.issuer&&await this.verify({signatureOnly:!0},e)}toTextObject(){const e=this.toTextObjectEmpty(),n=q.parse(this.rawData,In),r=n.tbsCertificate,i=new pe("",{Version:`${En[r.version]} (${r.version})`,"Serial Number":r.serialNumber,"Signature Algorithm":Tn.serializeAlgorithm(r.signature),Issuer:this.issuer,Validity:new pe("",{"Not Before":r.validity.notBefore.getTime(),"Not After":r.validity.notAfter.getTime()}),Subject:this.subject,"Subject Public Key Info":this.publicKey});if(r.issuerUniqueID&&(i["Issuer Unique ID"]=r.issuerUniqueID),r.subjectUniqueID&&(i["Subject Unique ID"]=r.subjectUniqueID),this.extensions.length){const s=new pe("");for(const a of this.extensions){const c=a.toTextObject();s[c[pe.NAME]]=c}i.Extensions=s}return e.Data=i,e.Signature=new pe("",{Algorithm:Tn.serializeAlgorithm(n.signatureAlgorithm),"":n.signatureValue}),e}}rd.NAME="Certificate";class Av{static async createSelfSigned(e,n=$e.get()){if(!e.keys.privateKey)throw new Error("Bad field 'keys' in 'params' argument. 'privateKey' is empty");if(!e.keys.publicKey)throw new Error("Bad field 'keys' in 'params' argument. 'publicKey' is empty");return this.create({serialNumber:e.serialNumber,subject:e.name,issuer:e.name,notBefore:e.notBefore,notAfter:e.notAfter,publicKey:e.keys.publicKey,signingKey:e.keys.privateKey,signingAlgorithm:e.signingAlgorithm,extensions:e.extensions},n)}static async create(e,n=$e.get()){var r;let i;e.publicKey instanceof gt?i=e.publicKey.rawData:"publicKey"in e.publicKey?i=e.publicKey.publicKey.rawData:M.isBufferSource(e.publicKey)?i=e.publicKey:i=await n.subtle.exportKey("spki",e.publicKey);const s=e.serialNumber?M.toUint8Array(J.FromHex(e.serialNumber)):n.getRandomValues(new Uint8Array(16));s[0]>127&&(s[0]&=127),s.length>1&&s[0]===0&&(s[1]|=128);const a=e.notBefore||new Date,c=e.notAfter||new Date(a.getTime()+31536e6),l=new In({tbsCertificate:new nt({version:En.v3,serialNumber:s,validity:new ui({notBefore:a,notAfter:c}),extensions:new rn(((r=e.extensions)===null||r===void 0?void 0:r.map(v=>q.parse(v.rawData,ot)))||[]),subjectPublicKeyInfo:q.parse(i,ht)})});if(e.subject){const v=e.subject instanceof it?e.subject:new it(e.subject);l.tbsCertificate.subject=q.parse(v.toArrayBuffer(),xe)}if(e.issuer){const v=e.issuer instanceof it?e.issuer:new it(e.issuer);l.tbsCertificate.issuer=q.parse(v.toArrayBuffer(),xe)}const d={hash:"SHA-256"},p="signingKey"in e?{...d,...e.signingAlgorithm,...e.signingKey.algorithm}:{...d,...e.signingAlgorithm},f=Be.resolve(On);l.tbsCertificate.signature=l.signatureAlgorithm=f.toAsnAlgorithm(p);const m=q.serialize(l.tbsCertificate),w="signingKey"in e?await n.subtle.sign(p,e.signingKey,m):e.signature,h=Be.resolveAll(Si).reverse();let _=null;for(const v of h)if(_=v.toAsnSignature(p,w),_)break;if(!_)throw Error("Cannot convert ASN.1 signature value to WebCrypto format");return l.signatureValue=_,new rd(q.serialize(l))}}var zp;(function(t){t[t.unspecified=0]="unspecified",t[t.keyCompromise=1]="keyCompromise",t[t.cACompromise=2]="cACompromise",t[t.affiliationChanged=3]="affiliationChanged",t[t.superseded=4]="superseded",t[t.cessationOfOperation=5]="cessationOfOperation",t[t.certificateHold=6]="certificateHold",t[t.removeFromCRL=8]="removeFromCRL",t[t.privilegeWithdrawn=9]="privilegeWithdrawn",t[t.aACompromise=10]="aACompromise"})(zp||(zp={}));dt.register(Jh,Ql);dt.register(Xh,ed);dt.register(Qh,td);dt.register(rg,ki);dt.register(Ma,ei);dt.register(ng,jg);dt.register(Wa,Og);dt.register(qa,Tg);Jo.register(Ag,Pg);Jo.register(Xl,nd);Be.registerSingleton(Si,kv);Be.registerSingleton(Si,st);st.namedCurveSize.set("P-256",32);st.namedCurveSize.set("K-256",32);st.namedCurveSize.set("P-384",48);st.namedCurveSize.set("P-521",66);async function Zc(t){const e={name:"RSASSA-PKCS1-v1_5",hash:"SHA-256",publicExponent:new Uint8Array([1,0,1]),modulusLength:2048},n=await crypto.subtle.generateKey(e,!0,["sign","verify"]),r=ke(),i=Ca(new TextEncoder().encode(r)),s=await Av.createSelfSigned({serialNumber:i,name:t.name,notBefore:new Date,notAfter:new Date(Date.now()+365*24*60*60*1e3),signingAlgorithm:e,keys:n,extensions:[new Ql(!0,2,!0),new ed(["1.3.6.1.5.5.7.3.1"],!0),new td(Hs.keyCertSign|Hs.cRLSign,!0),await ki.create(n.publicKey)]}),a=await crypto.subtle.exportKey("pkcs8",n.privateKey),c=s.toString("pem"),l=await Ev(s),d=Ca(await s.getThumbprint()),p=zv("PRIVATE",a);return{kid:s.serialNumber,cert:c,thumbprint:d,fingerprint:l,pkcs7:p}}function zv(t,e){const n=B0.encode(new Uint8Array(e));let r=`-----BEGIN ${t} KEY-----\r
146
146
  `,i=0;for(;i<n.length;)i+64<=n.length?r+=n.substr(i,64)+`\r
147
147
  `:r+=n.substr(i)+`\r
148
148
  `,i+=64;return r+=`-----END ${t} KEY-----\r
149
- `,r}async function Ev(t){const e=await t.publicKey.export(),n=await crypto.subtle.exportKey("jwk",e),r=JSON.stringify(n,Object.keys(n).sort()),s=new TextEncoder().encode(r);return Na(await jf(s))}const Iv=1e3*60*60*24,Cv=new o.OpenAPIHono().openapi(o.createRoute({tags:["keys"],method:"get",path:"/signing",request:{headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.array(Ca)}},description:"List of keys"}}}),async t=>{const n=(await t.env.data.keys.list()).filter(r=>"cert"in r).map(r=>r);return t.json(n)}).openapi(o.createRoute({tags:["keys"],method:"get",path:"/signing/{kid}",request:{headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({kid:o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Ca}},description:"The requested key"}}}),async t=>{const{kid:e}=t.req.valid("param"),r=(await t.env.data.keys.list()).find(i=>i.kid===e);if(!r)throw new I(404,{message:"Key not found"});return t.json(r)}).openapi(o.createRoute({tags:["keys"],method:"post",path:"/signing/rotate",request:{headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{description:"Status"}}}),async t=>{const e=await t.env.data.keys.list();for await(const r of e)await t.env.data.keys.update(r.kid,{revoked_at:new Date(Date.now()+Iv).toISOString()});const n=await Yc({name:`CN=${t.env.ORGANIZATION_NAME}`});return await t.env.data.keys.create(n),t.text("OK",{status:201})}).openapi(o.createRoute({tags:["keys"],method:"put",path:"/signing/{kid}/revoke",request:{headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({kid:o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{description:"Status"}}}),async t=>{const{kid:e}=t.req.valid("param");if(!await t.env.data.keys.update(e,{revoked_at:new Date().toISOString()}))throw new I(404,{message:"Key not found"});const r=await Yc({name:`CN=${t.env.ORGANIZATION_NAME}`});return await t.env.data.keys.create(r),t.text("OK")}),Nv=new o.OpenAPIHono().openapi(o.createRoute({tags:["users"],method:"get",path:"/",request:{query:o.z.object({email:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"tenant/json":{schema:o.z.array(il)}},description:"List of users"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{email:n}=t.req.valid("query"),i=(await gl(t.env.data.users,e,n)).filter(s=>!s.linked_to);return t.json(i)}),jv=on.extend({clients:o.z.array(mn)}),$v=new o.OpenAPIHono().openapi(o.createRoute({tags:["clients"],method:"get",path:"/",request:{query:tn,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([jv,o.z.array(mn)])}},description:"List of clients"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{page:n,per_page:r,include_totals:i,sort:s,q:a}=t.req.valid("query"),l=(await t.env.data.applications.list(e,{page:n,per_page:r,include_totals:i,sort:hr(s),q:a})).applications;return i?t.json({clients:l,start:0,limit:10,length:l.length}):t.json(l)}).openapi(o.createRoute({tags:["clients"],method:"get",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:mn}},description:"An application"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),i=(await t.env.data.applications.list(e,{page:1,per_page:0,include_totals:!1})).applications.find(s=>s.id===n);if(!i)throw new I(404);return t.json(i)}).openapi(o.createRoute({tags:["clients"],method:"delete",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param");if(!await t.env.data.applications.remove(e,n))throw new I(404,{message:"Application not found"});return t.text("OK")}).openapi(o.createRoute({tags:["clients"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:o.z.object(rs.shape).partial()}}},params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:mn}},description:"The update application"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),i=t.req.valid("json");await t.env.data.applications.update(e,n,i);const s=await t.env.data.applications.get(e,n);if(!s)throw new I(404,{message:"Application not found"});return t.json(s)}).openapi(o.createRoute({tags:["clients"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:o.z.object(rs.shape)}}},headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:o.z.object(mn.shape)}},description:"An application"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),r={...n,id:n.id||ke(),client_secret:n.client_secret||ke()},i=await t.env.data.applications.create(e,r);return t.json(i,{status:201})});o.z.object({start:o.z.number(),limit:o.z.number(),length:o.z.number()});Zs.extend({email:o.z.string(),login_count:o.z.number(),multifactor:o.z.array(o.z.string()).optional(),last_ip:o.z.string().optional(),last_login:o.z.string().optional(),user_id:o.z.string()}).catchall(o.z.any());const Ov=on.extend({tenants:o.z.array(Jn)}),Tv=new o.OpenAPIHono().openapi(o.createRoute({tags:["tenants"],method:"get",path:"/",request:{query:tn},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"tenant/json":{schema:o.z.union([o.z.array(Jn),Ov])}},description:"List of tenants"}}}),async t=>{const{page:e,per_page:n,include_totals:r,sort:i,q:s}=t.req.valid("query"),a=await t.env.data.tenants.list({page:e,per_page:n,include_totals:r,sort:hr(i),q:s});return r?t.json(a):t.json(a.tenants)}).openapi(o.createRoute({tags:["tenants"],method:"get",path:"/{id}",request:{params:o.z.object({id:o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"tenant/json":{schema:Jn}},description:"A tenant"}}}),async t=>{const{id:e}=t.req.valid("param"),n=await t.env.data.tenants.get(e);if(!n)throw new I(404);return t.json(n)}).openapi(o.createRoute({tags:["tenants"],method:"delete",path:"/{id}",request:{params:o.z.object({id:o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{id:e}=t.req.valid("param");return await t.env.data.tenants.remove(e),t.text("OK")}).openapi(o.createRoute({tags:["tenants"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:o.z.object(ss.shape).partial()}}},params:o.z.object({id:o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{id:e}=t.req.valid("param"),n=t.req.valid("json");return await t.env.data.tenants.update(e,n),t.text("OK")}).openapi(o.createRoute({tags:["tenants"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:o.z.object(ss.shape)}}}},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"tenant/json":{schema:Jn}},description:"An tenant"}}}),async t=>{const e=t.req.valid("json"),n=await t.env.data.tenants.create(e);return t.json(n,{status:201})}),Pv=on.extend({logs:o.z.array(as)}),Bv=new o.OpenAPIHono().openapi(o.createRoute({tags:["logs"],method:"get",path:"/",request:{query:tn,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([o.z.array(as),Pv])}},description:"List of log rows"}}}),async t=>{const{page:e,per_page:n,include_totals:r,sort:i,q:s}=t.req.valid("query"),{"tenant-id":a}=t.req.valid("header"),c=await t.env.data.logs.list(a,{page:e,per_page:n,include_totals:r,sort:hr(i),q:s});return r?t.json(c):t.json(c.logs)}).openapi(o.createRoute({tags:["logs"],method:"get",path:"/{id}",request:{headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({id:o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:as}},description:"A log entry"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=await t.env.data.logs.get(e,n);if(!r)throw new I(404);return t.json(r)}),Rv=on.extend({hooks:o.z.array(Kn)}),Lv=new o.OpenAPIHono().openapi(o.createRoute({tags:["hooks"],method:"get",path:"/",request:{query:tn,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([o.z.array(Kn),Rv])}},description:"List of hooks"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{page:n,per_page:r,include_totals:i,sort:s,q:a}=t.req.valid("query"),c=await t.env.data.hooks.list(e,{page:n,per_page:r,include_totals:i,sort:hr(s),q:a});return i?t.json(c):t.json(c.hooks)}).openapi(o.createRoute({tags:["hooks"],method:"post",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object(os.shape)}}}},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:Kn}},description:"The created hook"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),r=await t.env.data.hooks.create(e,n);return t.json(r,{status:201})}).openapi(o.createRoute({tags:["hooks"],method:"patch",path:"/{hook_id}",request:{headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({hook_id:o.z.string()}),body:{content:{"application/json":{schema:o.z.object(os.shape).omit({hook_id:!0}).partial()}}}},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:Kn.shape}},description:"The updated hook"},404:{description:"Hook not found"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{hook_id:n}=t.req.valid("param"),r=t.req.valid("json");await t.env.data.hooks.update(e,n,r);const i=await t.env.data.hooks.get(e,n);if(!i)throw new I(404,{message:"Hook not found"});return t.json(i)}).openapi(o.createRoute({tags:["hooks"],method:"get",path:"/{hook_id}",request:{headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({hook_id:o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Kn}},description:"A hook"},404:{description:"Hook not found"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{hook_id:n}=t.req.valid("param"),r=await t.env.data.hooks.get(e,n);if(!r)throw new I(404,{message:"Hook not found"});return t.json(r)}).openapi(o.createRoute({tags:["hooks"],method:"delete",path:"/{hook_id}",request:{headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({hook_id:o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{description:"A hook"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{hook_id:n}=t.req.valid("param");if(!await t.env.data.hooks.remove(e,n))throw new I(404,{message:"Hook not found"});return t.text("OK")}),Uv=on.extend({connections:o.z.array(Jt)}),Vv=new o.OpenAPIHono().openapi(o.createRoute({tags:["connections"],method:"get",path:"/",request:{query:tn,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([o.z.array(Jt),Uv])}},description:"List of connectionss"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{page:n,per_page:r,include_totals:i=!1,sort:s,q:a}=t.req.valid("query"),c=await t.env.data.connections.list(e,{page:n,per_page:r,include_totals:i,sort:hr(s),q:a});return i?t.json(c):t.json(c.connections)}).openapi(o.createRoute({tags:["connections"],method:"get",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Jt}},description:"A connection"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=await t.env.data.connections.get(e,n);if(!r)throw new I(404);return t.json(r)}).openapi(o.createRoute({tags:["connections"],method:"delete",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param");if(!await t.env.data.connections.remove(e,n))throw new I(404,{message:"Connection not found"});return t.text("OK")}).openapi(o.createRoute({tags:["connections"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:o.z.object(is.shape).partial()}}},params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:Jt}},description:"The updated connection"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=t.req.valid("json");if(!await t.env.data.connections.update(e,n,r))throw new I(404,{message:"Connection not found"});const s=await t.env.data.connections.get(e,n);if(!s)throw new I(404,{message:"Connection not found"});return t.json(s)}).openapi(o.createRoute({tags:["connections"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:o.z.object(is.shape)}}},headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:Jt}},description:"A connection"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),r=await t.env.data.connections.create(e,n);return t.json(r,{status:201})}),qv=new o.OpenAPIHono().openapi(o.createRoute({tags:["prompts"],method:"get",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Li}},description:"Branding settings"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=await t.env.data.promptSettings.get(e);return n?t.json(n):t.json(Li.parse({}))}).openapi(o.createRoute({tags:["prompts"],method:"patch",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object(Li.shape).partial()}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Prompts settings"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),r=await t.env.data.promptSettings.get(e);return Object.assign(r,n),await t.env.data.promptSettings.set(e,r),t.json(r)});let Ip=!1;function Rg(t){t.use(async(e,n)=>(Ip||(t.openAPIRegistry.registerComponent("securitySchemes","Bearer",{type:"oauth2",scheme:"bearer",flows:{implicit:{authorizationUrl:`${e.env.AUTH_URL}/authorize`,scopes:{openid:"Basic user information",email:"User email",profile:"User profile information"}}}}),Ip=!0),await n()))}o.z.object({alg:o.z.literal("RS256"),kty:o.z.literal("RSA"),use:o.z.literal("sig"),n:o.z.string(),e:o.z.string(),kid:o.z.string(),x5t:o.z.string(),x5c:o.z.array(o.z.string())});async function Mv(t){try{const e=await t.JWKS_SERVICE.fetch(t.JWKS_URL);if(!e.ok)throw new Error("Failed to fetch jwks");return(await e.json()).keys}catch(e){throw new I(500,{message:`Failed to fetch jwks: ${e.message}`})}}async function Dv(t,e){const r=new TextEncoder().encode([e.raw.header,e.raw.payload].join(".")),i=new Uint8Array(Array.from(e.signature).map(l=>l.charCodeAt(0))),a=(await Mv(t.env)).find(l=>l.kid===e.header.kid);if(!a)return console.log("No matching kid found"),!1;const c=await crypto.subtle.importKey("jwk",a,{name:"RSASSA-PKCS1-v1_5",hash:"SHA-256"},!1,["verify"]);return crypto.subtle.verify("RSASSA-PKCS1-v1_5",c,i,r)}function Hv(t){const[e,n,r]=t.split(".");if(!e||!n||!r)return null;const i=JSON.parse(atob(e)),s=JSON.parse(atob(n)),a=atob(r.replace(/-/g,"+").replace(/_/g,"/"));return{header:i,payload:s,signature:a,raw:{header:e,payload:n,signature:r}}}function Lg(t){return async(e,n)=>{var i,s,a;const r=t.openAPIRegistry.definitions.find(c=>"route"in c&&c.route.path===e.req.path&&c.route.method.toUpperCase()===e.req.method);if(r&&"route"in r){const c=(s=(i=r.route.security)==null?void 0:i[0])==null?void 0:s.Bearer;if(!(c!=null&&c.length))return await n();const l=e.req.header("authorization")||"",[d,p]=l.split(" ");if((d==null?void 0:d.toLowerCase())!=="bearer"||!p)throw new I(401,{message:"Missing bearer token"});const f=Hv(p);if(!f||!await Dv(e,f))throw new I(403,{message:"Invalid JWT signature"});e.set("user_id",f.payload.sub),e.set("user",f.payload);const m=f.payload.permissions||[],w=((a=f.payload.scope)==null?void 0:a.split(" "))||[];if(c.length&&!(c.some(h=>m.includes(h))||c.some(h=>w.includes(h))))throw new I(403,{message:"Unauthorized"})}return await n()}}const Fv=new o.OpenAPIHono().openapi(o.createRoute({tags:["emails"],method:"get",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Ui}},description:"Email provider"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=await t.env.data.emailProviders.get(e);if(!n)throw new I(404,{message:"Email provider not found"});return t.json(n)}).openapi(o.createRoute({tags:["emails"],method:"post",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object(Ui.shape)}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Branding settings"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json");return await t.env.data.emailProviders.create(e,n),t.text("OK",{status:201})}).openapi(o.createRoute({tags:["emails"],method:"patch",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object(Ui.shape).partial()}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Branding settings"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json");return await t.env.data.emailProviders.update(e,n),t.text("OK")}),Kv=new o.OpenAPIHono().openapi(o.createRoute({tags:["sessions"],method:"get",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Xs}},description:"A session"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=await t.env.data.sessions.get(e,n);if(!r)throw new I(404);return t.json(r)}).openapi(o.createRoute({tags:["sessions"],method:"delete",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param");if(!await t.env.data.sessions.remove(e,n))throw new I(404,{message:"Session not found"});return t.text("OK")}).openapi(o.createRoute({tags:["sessions"],method:"post",path:"/{id}/revoke",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{202:{description:"Sesssion deletion status"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param");if(!await t.env.data.sessions.update(e,n,{revoked_at:new Date().toDateString()}))throw new I(404,{message:"Session not found"});return t.text("Session deletion request accepted.",{status:202})}),Wv=new o.OpenAPIHono().openapi(o.createRoute({tags:["refresh_tokens"],method:"get",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:al}},description:"A session"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=await t.env.data.refreshTokens.get(e,n);if(!r)throw new I(404);return t.json(r)}).openapi(o.createRoute({tags:["refresh_tokens"],method:"delete",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param");if(!await t.env.data.refreshTokens.remove(e,n))throw new I(404,{message:"Session not found"});return t.text("OK")}),Gv=new o.OpenAPIHono().openapi(o.createRoute({tags:["custom-domains"],method:"get",path:"/",request:{query:tn,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.array(Gt)}},description:"List of custom domains"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=await t.env.data.customDomains.list(e);return t.json(n)}).openapi(o.createRoute({tags:["custom-domains"],method:"get",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Gt}},description:"A connection"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=await t.env.data.customDomains.get(e,n);if(!r)throw new I(404);return t.json(r)}).openapi(o.createRoute({tags:["custom-domains"],method:"delete",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param");if(!await t.env.data.customDomains.remove(e,n))throw new I(404,{message:"Custom domain not found"});return t.text("OK")}).openapi(o.createRoute({tags:["custom-domains"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:o.z.object(Gt.shape).partial()}}},params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:Gt}},description:"The updated custom domain"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=t.req.valid("json");if(!await t.env.data.customDomains.update(e,n,r))throw new I(404);const s=await t.env.data.customDomains.get(e,n);if(!s)throw new I(404);return t.json(s)}).openapi(o.createRoute({tags:["custom-domains"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:o.z.object(sl.shape)}}},headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:Gt}},description:"The created custom domain"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),r=await t.env.data.customDomains.create(e,n);return t.json(r,{status:201})}).openapi(o.createRoute({tags:["custom-domains"],method:"post",path:"/{id}/verify",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:Gt}},description:"The custom domain"}}}),async()=>{throw new I(501,{message:"Not implemented"})});async function sd(t,e){const n=t.req.header("x-forwarded-host");if(n){const i=await t.env.data.customDomains.getByDomain(n);if(i)return t.set("tenant_id",i.tenant_id),t.set("custom_domain",n),await e()}const r=t.req.header("host");if(r){const i=r.split(".");if(i.length>1&&typeof i[0]=="string"){const s=i[0];await t.env.data.tenants.get(s)&&t.set("tenant_id",s)}}return await e()}function Jv(t){const e=new o.OpenAPIHono;e.use(af({origin:r=>{var i;return r&&(i=t.allowedOrigins)!=null&&i.includes(r)?r:""},allowHeaders:["Tenant-Id","Content-Type","Content-Range","Auth0-Client","Authorization","Range","Upgrade-Insecure-Requests"],allowMethods:["POST","PUT","GET","DELETE","PATCH","OPTIONS"],exposeHeaders:["Content-Length","Content-Range"],maxAge:600,credentials:!0})),Rg(e),e.use(async(r,i)=>(r.env.data=ro(r,t.dataAdapter),i())),e.use(sd).use(Lg(e));const n=e.route("/branding",x0).route("/custom-domains",Gv).route("/email/providers",Fv).route("/users",jy).route("/keys",Cv).route("/users-by-email",Nv).route("/clients",$v).route("/tenants",Tv).route("/logs",Bv).route("/hooks",Lv).route("/connections",Vv).route("/prompts",qv).route("/sessions",Kv).route("/refresh_tokens",Wv);return n.doc("/spec",{openapi:"3.0.0",info:{version:"1.0.0",title:"Management api"},security:[{oauth2:["openid","email","profile"]}]}),n}function Zv(t,e){Object.keys(e).forEach(n=>{const r=e[n];r!=null&&r.length&&t.searchParams.set(n,r)})}var Cp;(function(t){t[t.Include=0]="Include",t[t.None=1]="None"})(Cp||(Cp={}));var Np;(function(t){t[t.Required=0]="Required",t[t.Ignore=1]="Ignore"})(Np||(Np={}));function Yv(t){return Vg(t,Xv,ti.Include)}function Ug(t){return Vg(t,Qv,ti.None)}function Vg(t,e,n){let r="";for(let i=0;i<t.byteLength;i+=3){let s=0,a=0;for(let c=0;c<3&&i+c<t.byteLength;c++)s=s<<8|t[i+c],a+=8;for(let c=0;c<4;c++)a>=6?(r+=e[s>>a-6&63],a-=6):a>0?(r+=e[s<<6-a&63],a=0):n===ti.Include&&(r+="=")}return r}const Xv="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Qv="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";var ti;(function(t){t[t.Include=0]="Include",t[t.None=1]="None"})(ti||(ti={}));var jp;(function(t){t[t.Required=0]="Required",t[t.Ignore=1]="Ignore"})(jp||(jp={}));class eb{uint8(e,n){if(e.byteLength<n+1)throw new TypeError("Insufficient bytes");return e[n]}uint16(e,n){if(e.byteLength<n+2)throw new TypeError("Insufficient bytes");return e[n]<<8|e[n+1]}uint32(e,n){if(e.byteLength<n+4)throw new TypeError("Insufficient bytes");let r=0;for(let i=0;i<4;i++)r|=e[n+i]<<24-i*8;return r}uint64(e,n){if(e.byteLength<n+8)throw new TypeError("Insufficient bytes");let r=0n;for(let i=0;i<8;i++)r|=BigInt(e[n+i])<<BigInt(56-i*8);return r}putUint8(e,n,r){if(e.length<r+1)throw new TypeError("Not enough space");if(n<0||n>255)throw new TypeError("Invalid uint8 value");e[r]=n}putUint16(e,n,r){if(e.length<r+2)throw new TypeError("Not enough space");if(n<0||n>65535)throw new TypeError("Invalid uint16 value");e[r]=n>>8,e[r+1]=n&255}putUint32(e,n,r){if(e.length<r+4)throw new TypeError("Not enough space");if(n<0||n>4294967295)throw new TypeError("Invalid uint32 value");for(let i=0;i<4;i++)e[r+i]=n>>(3-i)*8&255}putUint64(e,n,r){if(e.length<r+8)throw new TypeError("Not enough space");if(n<0||n>18446744073709551615n)throw new TypeError("Invalid uint64 value");for(let i=0;i<8;i++)e[r+i]=Number(n>>BigInt((7-i)*8)&0xffn)}}const $p=new eb;function kt(t,e){return(t<<32-e|t>>>e)>>>0}function tb(t){const e=new nb;return e.update(t),e.digest()}class nb{constructor(){te(this,"blockSize",64);te(this,"size",32);te(this,"blocks",new Uint8Array(64));te(this,"currentBlockSize",0);te(this,"H",new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]));te(this,"l",0n);te(this,"w",new Uint32Array(64))}update(e){if(this.l+=BigInt(e.byteLength)*8n,this.currentBlockSize+e.byteLength<64){this.blocks.set(e,this.currentBlockSize),this.currentBlockSize+=e.byteLength;return}let n=0;if(this.currentBlockSize>0){const r=e.slice(0,64-this.currentBlockSize);this.blocks.set(r,this.currentBlockSize),this.process(),n+=r.byteLength,this.currentBlockSize=0}for(;n+64<=e.byteLength;){const r=e.slice(n,n+64);this.blocks.set(r),this.process(),n+=64}if(e.byteLength-n>0){const r=e.slice(n);this.blocks.set(r),this.currentBlockSize=r.byteLength}}digest(){this.blocks[this.currentBlockSize]=128,this.currentBlockSize+=1,64-this.currentBlockSize<8&&(this.blocks.fill(0,this.currentBlockSize),this.process(),this.currentBlockSize=0),this.blocks.fill(0,this.currentBlockSize),$p.putUint64(this.blocks,this.l,this.blockSize-8),this.process();const e=new Uint8Array(32);for(let n=0;n<8;n++)$p.putUint32(e,this.H[n],n*4);return e}process(){for(let d=0;d<16;d++)this.w[d]=(this.blocks[d*4]<<24|this.blocks[d*4+1]<<16|this.blocks[d*4+2]<<8|this.blocks[d*4+3])>>>0;for(let d=16;d<64;d++){const p=(kt(this.w[d-2],17)^kt(this.w[d-2],19)^this.w[d-2]>>>10)>>>0,f=(kt(this.w[d-15],7)^kt(this.w[d-15],18)^this.w[d-15]>>>3)>>>0;this.w[d]=p+this.w[d-7]+f+this.w[d-16]|0}let e=this.H[0],n=this.H[1],r=this.H[2],i=this.H[3],s=this.H[4],a=this.H[5],c=this.H[6],l=this.H[7];for(let d=0;d<64;d++){const p=(kt(s,6)^kt(s,11)^kt(s,25))>>>0,f=(s&a^~s&c)>>>0,m=l+p+f+rb[d]+this.w[d]|0,w=(kt(e,2)^kt(e,13)^kt(e,22))>>>0,h=(e&n^e&r^n&r)>>>0,_=w+h|0;l=c,c=a,a=s,s=i+m|0,i=r,r=n,n=e,e=m+_|0}this.H[0]=e+this.H[0]|0,this.H[1]=n+this.H[1]|0,this.H[2]=r+this.H[2]|0,this.H[3]=i+this.H[3]|0,this.H[4]=s+this.H[4]|0,this.H[5]=a+this.H[5]|0,this.H[6]=c+this.H[6]|0,this.H[7]=l+this.H[7]|0}}const rb=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);new BigUint64Array([0x428a2f98d728ae22n,0x7137449123ef65cdn,0xb5c0fbcfec4d3b2fn,0xe9b5dba58189dbbcn,0x3956c25bf348b538n,0x59f111f1b605d019n,0x923f82a4af194f9bn,0xab1c5ed5da6d8118n,0xd807aa98a3030242n,0x12835b0145706fben,0x243185be4ee4b28cn,0x550c7dc3d5ffb4e2n,0x72be5d74f27b896fn,0x80deb1fe3b1696b1n,0x9bdc06a725c71235n,0xc19bf174cf692694n,0xe49b69c19ef14ad2n,0xefbe4786384f25e3n,0x0fc19dc68b8cd5b5n,0x240ca1cc77ac9c65n,0x2de92c6f592b0275n,0x4a7484aa6ea6e483n,0x5cb0a9dcbd41fbd4n,0x76f988da831153b5n,0x983e5152ee66dfabn,0xa831c66d2db43210n,0xb00327c898fb213fn,0xbf597fc7beef0ee4n,0xc6e00bf33da88fc2n,0xd5a79147930aa725n,0x06ca6351e003826fn,0x142929670a0e6e70n,0x27b70a8546d22ffcn,0x2e1b21385c26c926n,0x4d2c6dfc5ac42aedn,0x53380d139d95b3dfn,0x650a73548baf63den,0x766a0abb3c77b2a8n,0x81c2c92e47edaee6n,0x92722c851482353bn,0xa2bfe8a14cf10364n,0xa81a664bbc423001n,0xc24b8b70d0f89791n,0xc76c51a30654be30n,0xd192e819d6ef5218n,0xd69906245565a910n,0xf40e35855771202an,0x106aa07032bbd1b8n,0x19a4c116b8d2d0c8n,0x1e376c085141ab53n,0x2748774cdf8eeb99n,0x34b0bcb5e19b48a8n,0x391c0cb3c5c95a63n,0x4ed8aa4ae3418acbn,0x5b9cca4f7763e373n,0x682e6ff3d6b2b8a3n,0x748f82ee5defb2fcn,0x78a5636f43172f60n,0x84c87814a1f0ab72n,0x8cc702081a6439ecn,0x90befffa23631e28n,0xa4506cebde82bde9n,0xbef9a3f7b2c67915n,0xc67178f2e372532bn,0xca273eceea26619cn,0xd186b8c721c0c207n,0xeada7dd6cde0eb1en,0xf57d4f7fee6ed178n,0x06f067aa72176fban,0x0a637dc5a2c898a6n,0x113f9804bef90daen,0x1b710b35131c471bn,0x28db77f523047d84n,0x32caab7b40c72493n,0x3c9ebe0a15c9bebcn,0x431d67c49c100d4cn,0x4cc5d4becb3e42b6n,0x597f299cfc657e2an,0x5fcb6fab3ad6faecn,0x6c44198c4a475817n]);class ib{constructor(e){te(this,"data");this.data=e}tokenType(){if("token_type"in this.data&&typeof this.data.token_type=="string")return this.data.token_type;throw new Error("Missing or invalid 'token_type' field")}accessToken(){if("access_token"in this.data&&typeof this.data.access_token=="string")return this.data.access_token;throw new Error("Missing or invalid 'access_token' field")}accessTokenExpiresInSeconds(){if("expires_in"in this.data&&typeof this.data.expires_in=="number")return this.data.expires_in;throw new Error("Missing or invalid 'expires_in' field")}accessTokenExpiresAt(){return new Date(Date.now()+this.accessTokenExpiresInSeconds()*1e3)}hasRefreshToken(){return"refresh_token"in this.data&&typeof this.data.refresh_token=="string"}refreshToken(){if("refresh_token"in this.data&&typeof this.data.refresh_token=="string")return this.data.refresh_token;throw new Error("Missing or invalid 'refresh_token' field")}hasScopes(){return"scope"in this.data&&typeof this.data.scope=="string"}scopes(){if("scope"in this.data&&typeof this.data.scope=="string")return this.data.scope.split(" ");throw new Error("Missing or invalid 'scope' field")}idToken(){if("id_token"in this.data&&typeof this.data.id_token=="string")return this.data.id_token;throw new Error("Missing or invalid field 'id_token'")}}function sb(t){const e=tb(new TextEncoder().encode(t));return Ug(e)}function ob(){const t=new Uint8Array(32);return crypto.getRandomValues(t),Ug(t)}function Ur(t,e){const n=new TextEncoder().encode(e.toString()),r=new Request(t,{method:"POST",body:n});return r.headers.set("Content-Type","application/x-www-form-urlencoded"),r.headers.set("Accept","application/json"),r.headers.set("User-Agent","arctic"),r.headers.set("Content-Length",n.byteLength.toString()),r}function _a(t,e){const n=new TextEncoder().encode(`${t}:${e}`);return Yv(n)}async function Fs(t){let e;try{e=await fetch(t)}catch(n){throw new Mg(n)}if(e.status===400||e.status===401){let n;try{n=await e.json()}catch{throw new Hi(e.status)}if(typeof n!="object"||n===null)throw new Xn(e.status,n);let r;try{r=qg(n)}catch{throw new Xn(e.status,n)}throw r}if(e.status===200){let n;try{n=await e.json()}catch{throw new Hi(e.status)}if(typeof n!="object"||n===null)throw new Xn(e.status,n);return new ib(n)}throw e.body!==null&&await e.body.cancel(),new Hi(e.status)}async function ab(t){let e;try{e=await fetch(t)}catch(n){throw new Mg(n)}if(e.status===400||e.status===401){let n;try{n=await e.json()}catch{throw new Xn(e.status,null)}if(typeof n!="object"||n===null)throw new Xn(e.status,n);let r;try{r=qg(n)}catch{throw new Xn(e.status,n)}throw r}if(e.status===200){e.body!==null&&await e.body.cancel();return}throw e.body!==null&&await e.body.cancel(),new Hi(e.status)}function qg(t){let e;if("error"in t&&typeof t.error=="string")e=t.error;else throw new Error("Invalid error response");let n=null,r=null,i=null;if("error_description"in t){if(typeof t.error_description!="string")throw new Error("Invalid data");n=t.error_description}if("error_uri"in t){if(typeof t.error_uri!="string")throw new Error("Invalid data");r=t.error_uri}if("state"in t){if(typeof t.state!="string")throw new Error("Invalid data");i=t.state}return new cb(e,n,r,i)}class Mg extends Error{constructor(e){super("Failed to send request",{cause:e})}}class cb extends Error{constructor(n,r,i,s){super(`OAuth request error: ${n}`);te(this,"code");te(this,"description");te(this,"uri");te(this,"state");this.code=n,this.description=r,this.uri=i,this.state=s}}class Hi extends Error{constructor(n){super("Unexpected error response");te(this,"status");this.status=n}}class Xn extends Error{constructor(n,r){super("Unexpected error response body");te(this,"status");te(this,"data");this.status=n,this.data=r}}class od{constructor(e,n,r){te(this,"clientId");te(this,"clientPassword");te(this,"redirectURI");this.clientId=e,this.clientPassword=n,this.redirectURI=r}createAuthorizationURL(e,n,r){const i=new URL(e);return i.searchParams.set("response_type","code"),i.searchParams.set("client_id",this.clientId),this.redirectURI!==null&&i.searchParams.set("redirect_uri",this.redirectURI),i.searchParams.set("state",n),r.length>0&&i.searchParams.set("scope",r.join(" ")),i}createAuthorizationURLWithPKCE(e,n,r,i,s){const a=new URL(e);if(a.searchParams.set("response_type","code"),a.searchParams.set("client_id",this.clientId),this.redirectURI!==null&&a.searchParams.set("redirect_uri",this.redirectURI),a.searchParams.set("state",n),r===ni.S256){const c=sb(i);a.searchParams.set("code_challenge_method","S256"),a.searchParams.set("code_challenge",c)}else r===ni.Plain&&(a.searchParams.set("code_challenge_method","plain"),a.searchParams.set("code_challenge",i));return s.length>0&&a.searchParams.set("scope",s.join(" ")),a}async validateAuthorizationCode(e,n,r){const i=new URLSearchParams;i.set("grant_type","authorization_code"),i.set("code",n),this.redirectURI!==null&&i.set("redirect_uri",this.redirectURI),r!==null&&i.set("code_verifier",r),this.clientPassword===null&&i.set("client_id",this.clientId);const s=Ur(e,i);if(this.clientPassword!==null){const c=_a(this.clientId,this.clientPassword);s.headers.set("Authorization",`Basic ${c}`)}return await Fs(s)}async refreshAccessToken(e,n,r){const i=new URLSearchParams;i.set("grant_type","refresh_token"),i.set("refresh_token",n),this.clientPassword===null&&i.set("client_id",this.clientId),r.length>0&&i.set("scope",r.join(" "));const s=Ur(e,i);if(this.clientPassword!==null){const c=_a(this.clientId,this.clientPassword);s.headers.set("Authorization",`Basic ${c}`)}return await Fs(s)}async revokeToken(e,n){const r=new URLSearchParams;r.set("token",n),this.clientPassword===null&&r.set("client_id",this.clientId);const i=Ur(e,r);if(this.clientPassword!==null){const s=_a(this.clientId,this.clientPassword);i.headers.set("Authorization",`Basic ${s}`)}await ab(i)}}var ni;(function(t){t[t.S256=0]="S256",t[t.Plain=1]="Plain"})(ni||(ni={}));var Op;(function(t){t[t.Include=0]="Include",t[t.None=1]="None"})(Op||(Op={}));var Tp;(function(t){t[t.Required=0]="Required",t[t.Ignore=1]="Ignore"})(Tp||(Tp={}));function Vr(t){return lb(t,db,Ks.None)}function lb(t,e,n){let r="";for(let i=0;i<t.byteLength;i+=3){let s=0,a=0;for(let c=0;c<3&&i+c<t.byteLength;c++)s=s<<8|t[i+c],a+=8;for(let c=0;c<4;c++)a>=6?(r+=e[s>>a-6&63],a-=6):a>0?(r+=e[s<<6-a&63],a=0):n===Ks.Include&&(r+="=")}return r}const db="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";var Ks;(function(t){t[t.Include=0]="Include",t[t.None=1]="None"})(Ks||(Ks={}));var Pp;(function(t){t[t.Required=0]="Required",t[t.Ignore=1]="Ignore"})(Pp||(Pp={}));function ub(t,e,n){const r=Vr(new TextEncoder().encode(t)),i=Vr(new TextEncoder().encode(e)),s=Vr(n);return r+"."+i+"."+s}function pb(t,e){const n=Vr(new TextEncoder().encode(t)),r=Vr(new TextEncoder().encode(e)),i=n+"."+r;return new TextEncoder().encode(i)}const fb="https://appleid.apple.com/auth/authorize",hb="https://appleid.apple.com/auth/token";class Dg{constructor(e,n,r,i,s){te(this,"clientId");te(this,"teamId");te(this,"keyId");te(this,"pkcs8PrivateKey");te(this,"redirectURI");this.clientId=e,this.teamId=n,this.keyId=r,this.pkcs8PrivateKey=i,this.redirectURI=s}createAuthorizationURL(e,n){const r=new URL(fb);return r.searchParams.set("response_type","code"),r.searchParams.set("client_id",this.clientId),r.searchParams.set("state",e),n.length>0&&r.searchParams.set("scope",n.join(" ")),r.searchParams.set("redirect_uri",this.redirectURI),r}async validateAuthorizationCode(e){const n=new URLSearchParams;n.set("grant_type","authorization_code"),n.set("code",e),n.set("redirect_uri",this.redirectURI),n.set("client_id",this.clientId);const r=await this.createClientSecret();n.set("client_secret",r);const i=Ur(hb,n);return await Fs(i)}async createClientSecret(){const e=await crypto.subtle.importKey("pkcs8",this.pkcs8PrivateKey,{name:"ECDSA",namedCurve:"P-256"},!1,["sign"]),n=Math.floor(Date.now()/1e3),r=JSON.stringify({typ:"JWT",alg:"ES256",kid:this.keyId}),i=JSON.stringify({iss:this.teamId,exp:n+5*60,aud:["https://appleid.apple.com"],sub:this.clientId,iat:n}),s=new Uint8Array(await crypto.subtle.sign({name:"ECDSA",hash:"SHA-256"},e,pb(r,i)));return ub(r,i,s)}}const gb="https://www.facebook.com/v16.0/dialog/oauth",mb="https://graph.facebook.com/v16.0/oauth/access_token";class Hg{constructor(e,n,r){te(this,"clientId");te(this,"clientSecret");te(this,"redirectURI");this.clientId=e,this.clientSecret=n,this.redirectURI=r}createAuthorizationURL(e,n){const r=new URL(gb);return r.searchParams.set("response_type","code"),r.searchParams.set("client_id",this.clientId),r.searchParams.set("state",e),n.length>0&&r.searchParams.set("scope",n.join(" ")),r.searchParams.set("redirect_uri",this.redirectURI),r}async validateAuthorizationCode(e){const n=new URLSearchParams;n.set("grant_type","authorization_code"),n.set("code",e),n.set("redirect_uri",this.redirectURI),n.set("client_id",this.clientId),n.set("client_secret",this.clientSecret);const r=Ur(mb,n);return await Fs(r)}}const _b="https://accounts.google.com/o/oauth2/v2/auth",Bp="https://oauth2.googleapis.com/token",yb="https://oauth2.googleapis.com/revoke";let Fg=class{constructor(e,n,r){te(this,"client");this.client=new od(e,n,r)}createAuthorizationURL(e,n,r){return this.client.createAuthorizationURLWithPKCE(_b,e,ni.S256,n,r)}async validateAuthorizationCode(e,n){return await this.client.validateAuthorizationCode(Bp,e,n)}async refreshAccessToken(e){return await this.client.refreshAccessToken(Bp,e,[])}async revokeToken(e){await this.client.revokeToken(yb,e)}};const Zo=o.z.object({iss:o.z.string().url(),sub:o.z.string(),aud:o.z.string(),exp:o.z.number(),email:o.z.string().optional(),given_name:o.z.string().optional(),family_name:o.z.string().optional(),name:o.z.string().optional(),iat:o.z.number(),auth_time:o.z.number().optional(),nonce:o.z.string().optional(),acr:o.z.string().optional(),amr:o.z.array(o.z.string()).optional(),azp:o.z.string().optional(),at_hash:o.z.string().optional(),c_hash:o.z.string().optional()}).passthrough();Zo.omit({iat:!0,auth_time:!0,nonce:!0,acr:!0,amr:!0,azp:!0,at_hash:!0,c_hash:!0});function wb(t){return t.ISSUER}function at(t){return t.UNIVERSAL_LOGIN_URL||`${t.ISSUER}u/`}function je(t){return t.OAUTH_API_URL||t.ISSUER}function Kg(t){const{options:e}=t;if(!e||!e.client_id||!e.team_id||!e.kid||!e.app_secret)throw new Error("Missing required Apple authentication parameters");const n=Buffer.from(e.app_secret,"utf-8"),r=n.toString().replace(/-----BEGIN PRIVATE KEY-----|-----END PRIVATE KEY-----|\s/g,""),i=Uint8Array.from(Buffer.from(r,"base64"));return n.fill(0),{options:e,keyArray:i}}async function vb(t,e){var l,d;const{options:n,keyArray:r}=Kg(e),i=new Dg(n.client_id,n.team_id,n.kid,r,`${je(t.env)}callback`),s=ke(),a=await i.createAuthorizationURL(s,((l=n.scope)==null?void 0:l.split(" "))||["name","email"]);return(((d=n.scope)==null?void 0:d.split(" "))||["name","email"]).some(p=>["email","name"].includes(p))&&a.searchParams.set("response_mode","form_post"),{redirectUrl:a.href,code:s}}async function bb(t,e,n){const{options:r,keyArray:i}=Kg(e),a=await new Dg(r.client_id,r.team_id,r.kid,i,`${je(t.env)}callback`).validateAuthorizationCode(n),c=ll(a.idToken());if(!c)throw new Error("Invalid ID token");const l=Zo.parse(c.payload);return{sub:l.sub,email:l.email,given_name:l.given_name,family_name:l.family_name,name:l.name,picture:l.picture,locale:l.locale}}const xb=Object.freeze(Object.defineProperty({__proto__:null,getRedirect:vb,validateAuthorizationCodeAndGetUser:bb},Symbol.toStringTag,{value:"Module"}));async function kb(t,e){var a;const{options:n}=e;if(!(n!=null&&n.client_id)||!n.client_secret)throw new Error("Missing required authentication parameters");const r=new Hg(n.client_id,n.client_secret,`${je(t.env)}callback`),i=ke();return{redirectUrl:r.createAuthorizationURL(i,((a=n.scope)==null?void 0:a.split(" "))||["email"]).href,code:i}}async function Sb(t,e,n){const{options:r}=e;if(!(r!=null&&r.client_id)||!r.client_secret)throw new Error("Missing required authentication parameters");const s=await new Hg(r.client_id,r.client_secret,`${je(t.env)}callback`).validateAuthorizationCode(n),a=await fetch("https://graph.facebook.com/v16.0/me?fields=id,email,name",{headers:{Authorization:`Bearer ${s.accessToken()}`}});if(!a.ok)throw new Error("Failed to fetch user info");const c=await a.json();return t.set("log",`Userinfo: ${JSON.stringify(c)}`),{sub:c.id,email:c.email,name:c.name}}const Ab=Object.freeze(Object.defineProperty({__proto__:null,getRedirect:kb,validateAuthorizationCodeAndGetUser:Sb},Symbol.toStringTag,{value:"Module"}));async function zb(t,e){var c;const{options:n}=e;if(!(n!=null&&n.client_id)||!n.client_secret)throw new Error("Missing required Google authentication parameters");const r=new Fg(n.client_id,n.client_secret,`${je(t.env)}callback`),i=ke(),s=ob();return{redirectUrl:r.createAuthorizationURL(i,s,((c=n.scope)==null?void 0:c.split(" "))??["email","profile"]).href,code:i,codeVerifier:s}}async function Eb(t,e,n,r){const{options:i}=e;if(!(i!=null&&i.client_id)||!i.client_secret||!r)throw new Error("Missing required authentication parameters");const a=await new Fg(i.client_id,i.client_secret,`${je(t.env)}callback`).validateAuthorizationCode(n,r),c=ll(a.idToken());if(!c)throw new Error("Invalid ID token");const l=Zo.parse(c.payload);return{sub:l.sub,email:l.email,given_name:l.given_name,family_name:l.family_name,name:l.name,picture:l.picture,locale:l.locale}}const Ib=Object.freeze(Object.defineProperty({__proto__:null,getRedirect:zb,validateAuthorizationCodeAndGetUser:Eb},Symbol.toStringTag,{value:"Module"}));async function Cb(t,e){var a;const{options:n}=e;if(!(n!=null&&n.client_id)||!n.client_secret)throw new Error("Missing required authentication parameters");const r=new od(n.client_id,n.client_secret,`${je(t.env)}callback`),i=ke(),s=r.createAuthorizationURL("https://api.vipps.no/access-management-1.0/access/oauth2/auth",i,((a=n.scope)==null?void 0:a.split(" "))||["openid","email","phoneNumber","name","address","birthDate"]);return s.searchParams.set("response_type","code"),s.searchParams.set("response_mode","query"),{redirectUrl:s.href,code:i}}async function Nb(t,e,n){const{options:r}=e;if(!(r!=null&&r.client_id)||!r.client_secret)throw new Error("Missing required authentication parameters");const s=await new od(r.client_id,r.client_secret,`${je(t.env)}callback`).validateAuthorizationCode("https://api.vipps.no/access-management-1.0/access/oauth2/token",n,null),a=ll(s.idToken());if(!a)throw new Error("Invalid ID token");const c=Zo.parse(a.payload);if(typeof c.msn!="string")throw new Error("msn not available in id token");const l=await fetch("https://api.vipps.no/vipps-userinfo-api/userinfo",{headers:{Authorization:`Bearer ${s.accessToken()}`,"Merchant-Serial-Number":c.msn}});if(!l.ok)throw new I(400,{message:"Failed to get user from vipps"});return await l.json()}const jb=Object.freeze(Object.defineProperty({__proto__:null,getRedirect:Cb,validateAuthorizationCodeAndGetUser:Nb},Symbol.toStringTag,{value:"Module"}));function Wg(t,e){const n=t.env.STRATEGIES||{},i={apple:xb,facebook:Ab,"google-oauth2":Ib,vipps:jb,...n}[e];if(!i)throw new Error(`Strategy ${e} not found`);return i}async function Yo(t,e){const n=await t.data.clients.get(e);if(!n)throw new I(403,{message:"Client not found"});const r=t.DEFAULT_CLIENT_ID?await t.data.clients.get(t.DEFAULT_CLIENT_ID):void 0,i=await t.data.connections.list(n.tenant.id),s=t.DEFAULT_TENANT_ID?await t.data.connections.list(t.DEFAULT_TENANT_ID):{connections:[]},a=i.connections.map(c=>{var p;const l=(p=s.connections)==null?void 0:p.find(f=>f.name===c.name);return l!=null&&l.options?Jt.parse({...l||{},...c,options:{...l.options||{},...c.options}}):c}).filter(c=>c);return{...n,web_origins:[...(r==null?void 0:r.web_origins)||[],...n.web_origins||[],`${at(t)}login`],allowed_logout_urls:[...(r==null?void 0:r.allowed_logout_urls)||[],...n.allowed_logout_urls||[],t.ISSUER],callbacks:[...(r==null?void 0:r.callbacks)||[],...n.callbacks||[],`${at(t)}info`],connections:a,tenant:{...(r==null?void 0:r.tenant)||{},...n.tenant}}}function Xo(t,e=[],n={}){try{const r=new URL(t);return e.some(i=>{try{return $b(r,new URL(i),n.allowPathWildcards)}catch{return!1}})}catch{return!1}}function $b(t,e,n){if(t.protocol!==e.protocol)return!1;if(n&&e.pathname.includes("*")){const r=e.pathname.replace(/\*/g,".*").replace(/\//g,"\\/");if(!new RegExp(`^${r}$`).test(t.pathname))return!1}else if(t.pathname!==e.pathname)return!1;if(e.hostname.startsWith("*.")&&e.hostname.split(".").length>2&&["http:","https:"].includes(e.protocol)){const r=e.hostname.split(".").slice(1).join(".");return t.hostname.endsWith(r)}return t.hostname===e.hostname}async function Ob(t,e,n,r){if(!r.state)throw new I(400,{message:"State not found"});const i=e.connections.find(l=>l.name===n);if(!i){t.set("client_id",e.id);const l=we(t,{type:he.FAILED_LOGIN,description:"Connection not found"});throw await t.env.data.logs.create(e.tenant.id,l),new I(403,{message:"Connection Not Found"})}let s=await t.env.data.loginSessions.get(e.tenant.id,r.state);s||(s=await t.env.data.loginSessions.create(e.tenant.id,{expires_at:new Date(Date.now()+Qn*1e3).toISOString(),authParams:r,csrf_token:ke(),...cn(t.req)}));const c=await Wg(t,i.strategy).getRedirect(t,i);return await t.env.data.codes.create(e.tenant.id,{login_id:s.id,code_id:c.code,code_type:"oauth2_state",connection_id:i.id,code_verifier:c.codeVerifier,expires_at:new Date(Date.now()+W0*1e3).toISOString()}),t.redirect(c.redirectUrl)}async function Rp(t,{code:e,state:n}){var h;const{env:r}=t,i=await r.data.codes.get(t.var.tenant_id||"",n,"oauth2_state");if(!i||!i.connection_id)throw new I(403,{message:"State not found"});const s=await r.data.loginSessions.get(t.var.tenant_id||"",i.login_id);if(!s)throw new I(403,{message:"Session not found"});const a=await Yo(r,s.authParams.client_id);t.set("client_id",a.id),t.set("tenant_id",a.tenant.id);const c=a.connections.find(_=>_.id===i.connection_id);if(!c){const _=we(t,{type:he.FAILED_LOGIN,description:"Connection not found"});throw await r.data.logs.create(a.tenant.id,_),new I(403,{message:"Connection not found"})}if(t.set("connection",c.name),!s.authParams.redirect_uri){const _=we(t,{type:he.FAILED_LOGIN,description:"Redirect URI not defined"});throw await r.data.logs.create(a.tenant.id,_),new I(403,{message:"Redirect URI not defined"})}if(!Xo(s.authParams.redirect_uri,a.callbacks||[],{allowPathWildcards:!0})){const _=`Invalid redirect URI - ${s.authParams.redirect_uri}`,v=we(t,{type:he.FAILED_LOGIN,description:_});throw await r.data.logs.create(a.tenant.id,v),new I(403,{message:_})}const d=await Wg(t,c.strategy).validateAuthorizationCodeAndGetUser(t,c,e,i.code_verifier),{sub:p,...f}=d;t.set("user_id",p);const m=((h=d.email)==null?void 0:h.toLocaleLowerCase())||`${c.name}.${p}@${new URL(t.env.ISSUER).hostname}`;t.set("username",m);const w=await so(t,{client:a,username:m,provider:c.strategy,connection:c.name,userId:p,profileData:f,isSocial:!0,ip:t.req.header("x-real-ip")});return ln(t,{client:a,authParams:s.authParams,loginSession:s,user:w})}async function Lp(t,e,n,r,i,s){const a=await t.env.data.codes.get(t.var.tenant_id||"",e,"oauth2_state");if(!a)throw new I(400,{message:"State not found"});const c=await t.env.data.loginSessions.get(t.var.tenant_id,a.login_id);if(!c)throw new I(400,{message:"Login not found"});const{redirect_uri:l}=c.authParams;if(!l)throw new I(400,{message:"Redirect uri not found"});const d=we(t,{type:he.FAILED_LOGIN,description:`Failed connection login: ${i} ${n}, ${r}`});zt(t,t.env.data.logs.create(t.var.tenant_id,d));const p=new URL(l);return Zv(p,{error:n,error_description:r,error_reason:s,error_code:i,state:c.authParams.state}),t.redirect(`${at(t.env)}enter-email?state=${c.id}&error=${n}`)}const Tb=new o.OpenAPIHono().openapi(o.createRoute({tags:["oauth2"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string(),code:o.z.string().optional(),scope:o.z.string().optional(),hd:o.z.string().optional(),error:o.z.string().optional(),error_description:o.z.string().optional(),error_code:o.z.string().optional(),error_reason:o.z.string().optional()})},responses:{302:{description:"Redirect to the client's redirect uri"}}}),async t=>{const{state:e,code:n,error:r,error_description:i,error_code:s,error_reason:a}=t.req.valid("query");if(r)return Lp(t,e,r,i,s,a);if(!n)throw new I(400,{message:"Code is required"});return Rp(t,{code:n,state:e})}).openapi(o.createRoute({tags:["oauth2"],method:"post",path:"/",request:{body:{content:{"application/x-www-form-urlencoded":{schema:o.z.object({state:o.z.string(),code:o.z.string().optional(),scope:o.z.string().optional(),hd:o.z.string().optional(),error:o.z.string().optional(),error_description:o.z.string().optional(),error_code:o.z.string().optional(),error_reason:o.z.string().optional()})}}}},responses:{302:{description:"Redirect to the client's redirect uri"}}}),async t=>{const{state:e,code:n,error:r,error_description:i,error_code:s,error_reason:a}=t.req.valid("form");if(r)return Lp(t,e,r,i,s,a);if(!n)throw new I(400,{message:"Code is required"});return Rp(t,{code:n,state:e})}),Pb=new o.OpenAPIHono().openapi(o.createRoute({tags:["oauth2"],method:"get",path:"/",request:{query:o.z.object({client_id:o.z.string(),returnTo:o.z.string().optional()}),header:o.z.object({cookie:o.z.string().optional()})},responses:{302:{description:"Log the user out"}}}),async t=>{const{client_id:e,returnTo:n}=t.req.valid("query"),r=await t.env.data.clients.get(e);if(!r)return t.text("OK");const i=await t.env.data.clients.get("DEFAULT_CLIENT");t.set("client_id",e),t.set("tenant_id",r.tenant.id);const s=n||t.req.header("referer");if(!s)return t.text("OK");if(!Xo(s,[...r.allowed_logout_urls||[],...(i==null?void 0:i.allowed_logout_urls)||[]],{allowPathWildcards:!0}))throw new I(400,{message:"Invalid redirect uri"});const a=t.req.header("cookie");if(a){const l=ls(r.tenant.id,a);if(l){const d=await t.env.data.sessions.get(r.tenant.id,l);if(d){const p=await t.env.data.users.get(r.tenant.id,d.user_id);p&&(t.set("user_id",p.user_id),t.set("connection",p.connection));const f=await t.env.data.refreshTokens.list(r.tenant.id,{q:`session_id=${l}`,page:0,per_page:100,include_totals:!1});await Promise.all(f.refresh_tokens.map(m=>t.env.data.refreshTokens.remove(r.tenant.id,m.id))),await t.env.data.sessions.update(r.tenant.id,l,{revoked_at:new Date().toISOString()})}}}const c=we(t,{type:he.SUCCESS_LOGOUT,description:"User successfully logged out"});return await t.env.data.logs.create(r.tenant.id,c),new Response("Redirecting",{status:302,headers:{"set-cookie":X0(r.tenant.id,t.req.header("host")),location:s}})}),Up=o.z.object({sub:o.z.string(),email:o.z.string().optional(),family_name:o.z.string().optional(),given_name:o.z.string().optional(),email_verified:o.z.boolean()}),Bb=new o.OpenAPIHono().openapi(o.createRoute({tags:["oauth2"],method:"get",path:"/",request:{},security:[{Bearer:["openid"]}],responses:{200:{content:{"application/json":{schema:Up}},description:"Userinfo"}}}),async t=>{if(!t.var.user)throw new I(404,{message:"User not found"});const e=await t.env.data.users.get(t.var.user.tenant_id,t.var.user.sub);if(!e)throw new I(404,{message:"User not found"});return t.json(Up.parse({...e,sub:e.user_id}))}),Rb=new o.OpenAPIHono().openapi(o.createRoute({tags:["well known"],method:"get",path:"/jwks.json",request:{},responses:{200:{content:{"application/json":{schema:mf}},description:"List of tenants"}}}),async t=>{const e=await t.env.data.keys.list(),n=await Promise.all(e.map(async r=>{const s=await new id(r.cert).publicKey.export(),a=await crypto.subtle.exportKey("jwk",s);return ol.parse({...a,kid:r.kid})}));return t.json({keys:n},{headers:{"access-control-allow-origin":"*","access-control-allow-method":"GET","cache-control":`public, max-age=${$i}, stale-while-revalidate=${$i*2}, stale-if-error=86400`}})}).openapi(o.createRoute({tags:["well known"],method:"get",path:"/openid-configuration",request:{},responses:{200:{content:{"application/json":{schema:Ia}},description:"List of tenants"}}}),async t=>{const e=Ia.parse({issuer:wb(t.env),authorization_endpoint:`${je(t.env)}authorize`,token_endpoint:`${je(t.env)}oauth/token`,device_authorization_endpoint:`${je(t.env)}oauth/device/code`,userinfo_endpoint:`${je(t.env)}userinfo`,mfa_challenge_endpoint:`${je(t.env)}mfa/challenge`,jwks_uri:`${je(t.env)}.well-known/jwks.json`,registration_endpoint:`${je(t.env)}oidc/register`,revocation_endpoint:`${je(t.env)}oauth/revoke`,scopes_supported:["openid","profile","offline_access","name","given_name","family_name","nickname","email","email_verified","picture","created_at","identities","phone","address"],response_types_supported:["code","token","id_token","code token","code id_token","token id_token","code token id_token"],code_challenge_methods_supported:["S256","plain"],response_modes_supported:["query","fragment","form_post"],subject_types_supported:["public"],id_token_signing_alg_values_supported:["RS256"],token_endpoint_auth_methods_supported:["client_secret_basic","client_secret_post"],claims_supported:["aud","auth_time","created_at","email","email_verified","exp","family_name","given_name","iat","identities","iss","name","nickname","phone_number","picture","sub"],request_uri_parameter_supported:!1,request_parameter_supported:!1,token_endpoint_auth_signing_alg_values_supported:["RS256","RS384","PS256"]});return t.json(e,{headers:{"access-control-allow-origin":"*","access-control-allow-method":"GET","cache-control":`public, max-age=${$i}, stale-while-revalidate=${$i*2}, stale-if-error=86400`}})});function Fi(t,e){if(!t||!e||t.length!==e.length)return!1;let n=0;for(let r=0;r<t.length;r++)n|=t.charCodeAt(r)^e.charCodeAt(r);return n===0}const Gg=o.z.object({grant_type:o.z.literal("client_credentials"),scope:o.z.string().optional(),client_secret:o.z.string(),client_id:o.z.string(),audience:o.z.string().optional()});async function Lb(t,e){const n=await t.env.data.clients.get(e.client_id);if(!n)throw new I(403,{message:"Invalid client credentials"});if(n.client_secret&&!Fi(n.client_secret,e.client_secret))throw new I(403,{message:"Invalid client credentials"});const r={client_id:n.id,scope:e.scope,audience:e.audience},i=await no(t,{authParams:r,client:n});return t.json(i)}const Ub=o.z.object({grant_type:o.z.literal("authorization_code"),client_id:o.z.string(),code:o.z.string(),redirect_uri:o.z.string().optional(),client_secret:o.z.string().optional(),code_verifier:o.z.string().optional()}).refine(t=>"client_secret"in t&&!("code_verifier"in t)||!("client_secret"in t)&&"code_verifier"in t,{message:"Must provide either client_secret (standard flow) or code_verifier/code_verifier_mode (PKCE flow), but not both"});async function Vb(t,e){const n=await t.env.data.clients.get(e.client_id);if(!n)throw new I(403,{message:"Client not found"});const r=await t.env.data.codes.get(n.tenant.id,e.code,"authorization_code");if(!r||!r.user_id)throw new I(403,{message:"Invalid client credentials"});if(new Date(r.expires_at)<new Date)throw new I(403,{message:"Code expired"});if(r.used_at)throw new I(403,{message:"Code already used"});const i=await t.env.data.loginSessions.get(n.tenant.id,r.login_id);if(!i)throw new I(403,{message:"Invalid login"});if("client_secret"in e){const a=await t.env.data.clients.get("DEFAULT_CLIENT");if(!Fi(n.client_secret,e.client_secret)&&!Fi(a==null?void 0:a.client_secret,e.client_secret))throw new I(403,{message:"Invalid client credentials"})}else if("code_verifier"in e&&typeof e.code_verifier=="string"&&"code_challenge_method"in i.authParams&&typeof i.authParams.code_challenge_method=="string"){const a=await D0(e.code_verifier,i.authParams.code_challenge_method);if(!Fi(a,i.authParams.code_challenge||""))throw new I(403,{message:"Invalid client credentials"})}if(i.authParams.redirect_uri&&i.authParams.redirect_uri!==e.redirect_uri)throw new I(403,{message:"Invalid redirect uri"});const s=await t.env.data.users.get(n.tenant.id,r.user_id);if(!s)throw new I(403,{message:"User not found"});return await t.env.data.codes.used(n.tenant.id,e.code),ln(t,{user:s,client:n,loginSession:i,authParams:{...i.authParams,response_mode:Rt.WEB_MESSAGE}})}const qb=o.z.object({grant_type:o.z.literal("refresh_token"),client_id:o.z.string(),redirect_uri:o.z.string().optional(),refresh_token:o.z.string()});async function Mb(t,e){const n=await t.env.data.clients.get(e.client_id);if(!n)throw new I(403,{message:"Client not found"});const r=await t.env.data.refreshTokens.get(n.tenant.id,e.refresh_token);if(r){if(r.expires_at&&new Date(r.expires_at)<new Date||r.idle_expires_at&&new Date(r.idle_expires_at)<new Date)throw new I(403,{message:JSON.stringify({error:"invalid_grant",error_description:"Refresh token has expired"})})}else throw new I(403,{message:JSON.stringify({error:"invalid_grant",error_description:"Invalid refresh token"})});const i=await t.env.data.users.get(n.tenant.id,r.user_id);if(!i)throw new I(403,{message:"User not found"});const s=r.resource_servers[0];if(r.idle_expires_at){const a=new Date(Date.now()+2592e6);await t.env.data.refreshTokens.update(n.tenant.id,r.id,{idle_expires_at:a.toISOString(),last_exchanged_at:new Date().toISOString(),device:{...r.device,last_ip:t.req.header["x-real-ip"]||"",last_user_agent:t.req.header["user-agent"]||""}})}return ln(t,{user:i,client:n,refreshToken:r.id,sessionId:r.session_id,authParams:{client_id:n.id,audience:s==null?void 0:s.audience,scope:s==null?void 0:s.scopes,response_mode:Rt.WEB_MESSAGE}})}function ad(t){return t.includes("@")?"email":"sms"}const Db=o.z.object({client_id:o.z.string(),username:o.z.string().transform(t=>t.toLowerCase()),otp:o.z.string(),authParams:Mr.optional()});async function Jg(t,{client_id:e,username:n,otp:r,authParams:i}){const s=await t.env.data.clients.get(e);if(!s)throw new I(403,{message:"Client not found"});return cd(t,s,i||{client_id:e,response_type:It.TOKEN_ID_TOKEN,response_mode:Rt.WEB_MESSAGE},n,r)}async function cd(t,e,n,r,i,s,a){const{env:c}=t,l=await c.data.codes.get(e.tenant.id,i,"otp");if(!l)throw new I(400,{message:"Code not found or expired"});if(l.expires_at<new Date().toISOString())throw new I(400,{message:"Code expired"});if(l.used_at)throw new I(400,{message:"Code already used"});const d=ad(r),p=await c.data.loginSessions.get(e.tenant.id,l.login_id);if(!p||p.authParams.username!==r)throw new I(400,{message:"Code not found or expired"});const f=cn(t.req);if(a&&p.ip!==f.ip)return t.redirect(`${at(t.env)}invalid-session?state=${p.id}`);if(n.redirect_uri&&!Xo(n.redirect_uri,e.callbacks,{allowPathWildcards:!0}))throw new I(400,{message:`Invalid redirect URI - ${n.redirect_uri}`});const m=await so(t,{client:e,username:r,provider:d,connection:d,isSocial:!1,ip:t.req.header("x-real-ip")});return await c.data.codes.used(e.tenant.id,i),ln(t,{user:m,client:e,loginSession:p,authParams:n,ticketAuth:s})}const Vp=o.z.object({client_id:o.z.string().optional(),client_secret:o.z.string().optional()}),Hb=o.z.union([Gg.extend(Vp.shape),o.z.object({grant_type:o.z.literal("authorization_code"),client_id:o.z.string(),code:o.z.string(),redirect_uri:o.z.string(),code_verifier:o.z.string().min(43).max(128)}),o.z.object({grant_type:o.z.literal("authorization_code"),code:o.z.string(),redirect_uri:o.z.string().optional(),...Vp.shape}),o.z.object({grant_type:o.z.literal("refresh_token"),client_id:o.z.string(),refresh_token:o.z.string(),redirect_uri:o.z.string().optional()}),o.z.object({grant_type:o.z.literal("http://auth0.com/oauth/grant-type/passwordless/otp"),client_id:o.z.string(),username:o.z.string(),otp:o.z.string(),realm:o.z.enum(["email","sms"])})]);function Fb(t){if(!t)return{};const[e,n]=t.split(" ");if((e==null?void 0:e.toLowerCase())==="basic"&&n){const[r,i]=atob(n).split(":");return{client_id:r,client_secret:i}}return{}}const Kb=new o.OpenAPIHono().openapi(o.createRoute({tags:["oauth2"],method:"post",path:"/",request:{body:{content:{"application/x-www-form-urlencoded":{schema:Hb}}}},responses:{200:{content:{"application/json":{schema:xf}},description:"Tokens"}}}),async t=>{const e=t.req.valid("form"),n=Fb(t.req.header("Authorization")),r={...e,...n};if(!r.client_id)throw new I(400,{message:"client_id is required"});switch(t.set("client_id",r.client_id),e.grant_type){case Wn.AuthorizationCode:return Vb(t,Ub.parse(r));case Wn.ClientCredential:return Lb(t,Gg.parse(r));case Wn.RefreshToken:return Mb(t,qb.parse(r));case Wn.OTP:return Jg(t,Db.parse(r));default:throw new I(400,{message:"Not implemented"})}});var ld={exports:{}};const dd=[{id:0,value:"Too weak",minDiversity:0,minLength:0},{id:1,value:"Weak",minDiversity:2,minLength:6},{id:2,value:"Medium",minDiversity:4,minLength:8},{id:3,value:"Strong",minDiversity:4,minLength:10}],Zg=(t,e=dd,n="!\"#$%&'()*+,-./:;<=>?@[\\\\\\]^_`{|}~")=>{let r=t||"";e[0].minDiversity=0,e[0].minLength=0;const i=[{regex:"[a-z]",message:"lowercase"},{regex:"[A-Z]",message:"uppercase"},{regex:"[0-9]",message:"number"}];n&&i.push({regex:`[${n}]`,message:"symbol"});let s={};s.contains=i.filter(c=>new RegExp(`${c.regex}`).test(r)).map(c=>c.message),s.length=r.length;let a=e.filter(c=>s.contains.length>=c.minDiversity).filter(c=>s.length>=c.minLength).sort((c,l)=>l.id-c.id).map(c=>({id:c.id,value:c.value}));return Object.assign(s,a[0]),s};ld.exports={passwordStrength:Zg,defaultOptions:dd};var Wb=ld.exports.passwordStrength=Zg;ld.exports.defaultOptions=dd;function ud(t){return Wb(t).id<2?!1:t.length>=8&&/[a-z]/.test(t)&&/[A-Z]/.test(t)&&/[0-9]/.test(t)&&/[^A-Za-z0-9]/.test(t)}async function Ai(t,e){var i;const n=await t.env.data.emailProviders.get(t.var.tenant_id)||(t.env.DEFAULT_TENANT_ID?await t.env.data.emailProviders.get(t.env.DEFAULT_TENANT_ID):null);if(!n)throw new I(500,{message:"Email provider not found"});const r=(i=t.env.emailProviders)==null?void 0:i[n.name];if(!r)throw new I(500,{message:"Email provider not found"});await r({emailProvider:n,...e,from:n.default_from_address||`login@${t.env.ISSUER}`})}async function Gb(t,e){var a,c;const n=await t.env.data.tenants.get(t.var.tenant_id);if(!n)throw new I(500,{message:"Tenant not found"});const r=(await t.env.data.connections.list(t.var.tenant_id)).connections.find(l=>l.strategy==="sms")||(t.env.DEFAULT_TENANT_ID?(await t.env.data.connections.list(t.env.DEFAULT_TENANT_ID)).connections.find(l=>l.strategy==="sms"):null);if(!r)throw new I(500,{message:"SMS provider not found"});const i=((a=r.options)==null?void 0:a.provider)||"twilio",s=(c=t.env.smsProviders)==null?void 0:c[i];if(!s)throw new I(500,{message:"SMS provider not found"});await s({options:r.options,to:e.to,text:e.text,template:"auth-code",data:{code:e.code,tenantName:n.name,tenantId:n.id}})}async function Yg(t,e,n,r){const i=await t.env.data.tenants.get(t.var.tenant_id);if(!i)throw new I(500,{message:"Tenant not found"});const s=`${at(t.env)}reset-password?state=${r}&code=${n}`,a={vendorName:i.name,lng:i.language||"en"};await Ai(t,{to:e,subject:re("reset_password_title",a),html:`Click here to reset your password: ${at(t.env)}reset-password?state=${r}&code=${n}`,template:"auth-password-reset",data:{vendorName:i.name,logo:i.logo||"",passwordResetUrl:s,supportUrl:i.support_url||"https://support.sesamy.com",buttonColor:i.primary_color||"#7d68f4",passwordResetTitle:re("password_reset_title",a),resetPasswordEmailClickToReset:re("reset_password_email_click_to_reset",a),resetPasswordEmailReset:re("reset_password_email_reset",a),supportInfo:re("support_info",a),contactUs:re("contact_us",a),copyright:re("copyright",a),tenantName:i.name,tenantId:i.id}})}async function Xg(t,{to:e,code:n}){const r=await t.env.data.tenants.get(t.var.tenant_id);if(!r)throw new I(500,{message:"Tenant not found"});const i=ad(e),s=new URL(at(t.env)),a={vendorName:r.name,vendorId:r.id,loginDomain:s.hostname,code:n,lng:r.language||"en"};i==="email"?await Ai(t,{to:e,subject:re("code_email_subject",a),html:`Click here to validate your email: ${at(t.env)}validate-email`,template:"auth-code",data:{code:n,vendorName:r.name,logo:r.logo||"",supportUrl:r.support_url||"",buttonColor:r.primary_color||"",welcomeToYourAccount:re("welcome_to_your_account",a),linkEmailClickToLogin:re("link_email_click_to_login",a),linkEmailLogin:re("link_email_login",a),linkEmailOrEnterCode:re("link_email_or_enter_code",a),codeValid30Mins:re("code_valid_30_minutes",a),supportInfo:re("support_info",a),contactUs:re("contact_us",a),copyright:re("copyright",a)}}):i==="sms"&&await Gb(t,{to:e,text:re("sms_code_text",a),code:n});const c=we(t,{type:he.CODE_LINK_SENT,description:e});zt(t,t.env.data.logs.create(r.id,c))}async function pd(t,{to:e,code:n,authParams:r}){const i=await t.env.data.tenants.get(t.var.tenant_id);if(!i)throw new I(500,{message:"Tenant not found"});if(!r.redirect_uri)throw new I(400,{message:"redirect_uri is required"});const s=ad(e),a=new URL(je(t.env));a.pathname="passwordless/verify_redirect",a.searchParams.set("verification_code",n),a.searchParams.set("connection",s),a.searchParams.set("client_id",r.client_id),a.searchParams.set("redirect_uri",r.redirect_uri),a.searchParams.set("email",e),r.response_type&&a.searchParams.set("response_type",r.response_type),r.scope&&a.searchParams.set("scope",r.scope),r.state&&a.searchParams.set("state",r.state),r.nonce&&a.searchParams.set("nonce",r.nonce),r.code_challenge&&a.searchParams.set("code_challenge",r.code_challenge),r.code_challenge_method&&a.searchParams.set("code_challenge_method",r.code_challenge_method),r.audience&&a.searchParams.set("audience",r.audience);const c={vendorName:i.name,code:n,lng:i.language||"en"};if(s!=="email")throw new I(400,{message:"Only email connections are supported for magic links"});await Ai(t,{to:e,subject:re("code_email_subject",c),html:`Click here to validate your email: ${at(t.env)}validate-email`,template:"auth-link",data:{code:n,vendorName:i.name,logo:i.logo||"",supportUrl:i.support_url||"",magicLink:a.toString(),buttonColor:i.primary_color||"",welcomeToYourAccount:re("welcome_to_your_account",c),linkEmailClickToLogin:re("link_email_click_to_login",c),linkEmailLogin:re("link_email_login",c),linkEmailOrEnterCode:re("link_email_or_enter_code",c),codeValid30Mins:re("code_valid_30_minutes",c),supportInfo:re("support_info",c),contactUs:re("contact_us",c),copyright:re("copyright",c)}});const l=we(t,{type:he.CODE_LINK_SENT,description:e});zt(t,t.env.data.logs.create(i.id,l))}async function fd(t,e){const n=await t.env.data.tenants.get(t.var.tenant_id);if(!n)throw new I(500,{message:"Tenant not found"});if(!e.email)throw new I(400,{message:"User has no email"});const r={vendorName:n.name,lng:n.language||"en"};await Ai(t,{to:e.email,subject:re("welcome_to_your_account",r),html:`Click here to validate your email: ${at(t.env)}validate-email`,template:"auth-verify-email",data:{vendorName:n.name,logo:n.logo||"",emailValidationUrl:`${at(t.env)}validate-email`,supportUrl:n.support_url||"https://support.sesamy.com",buttonColor:n.primary_color||"#7d68f4",welcomeToYourAccount:re("welcome_to_your_account",r),verifyEmailVerify:re("verify_email_verify",r),supportInfo:re("support_info",r),contactUs:re("contact_us",r),copyright:re("copyright",r)}})}async function Jb(t,e,n,r){const i=await t.env.data.tenants.get(t.var.tenant_id);if(!i)throw new I(500,{message:"Tenant not found"});const s={vendorName:i.name,lng:i.language||"en"},a=`${at(t.env)}signup?state=${r}&code=${n}`;await Ai(t,{to:e,subject:re("register_password_account",s),html:`Click here to register: ${a}`,template:"auth-pre-signup-verification",data:{vendorName:i.name,logo:i.logo||"",signupUrl:a,setPassword:re("set_password",s),registerPasswordAccount:re("register_password_account",s),clickToSignUpDescription:re("click_to_sign_up_description",s),supportUrl:i.support_url||"https://support.sesamy.com",buttonColor:i.primary_color||"#7d68f4",welcomeToYourAccount:re("welcome_to_your_account",s),verifyEmailVerify:re("verify_email_verify",s),supportInfo:re("support_info",s),contactUs:re("contact_us",s),copyright:re("copyright",s)}})}const Zb=new o.OpenAPIHono().openapi(o.createRoute({tags:["dbconnections"],method:"post",path:"/signup",request:{body:{content:{"application/json":{schema:o.z.object({client_id:o.z.string(),connection:o.z.literal("Username-Password-Authentication"),email:o.z.string().transform(t=>t.toLowerCase()),password:o.z.string()})}}}},responses:{200:{content:{"application/json":{schema:o.z.object({_id:o.z.string(),email:o.z.string().optional(),email_verified:o.z.boolean(),app_metadata:o.z.object({}),user_metadata:o.z.object({})})}},description:"Created user"}}}),async t=>{const{email:e,password:n,client_id:r}=t.req.valid("json"),i=await t.env.data.clients.get(r);if(!i)throw new I(400,{message:"Client not found"});if(t.set("client_id",i.id),t.set("tenant_id",i.tenant.id),!ud(n))throw new I(400,{message:"Password does not meet the requirements"});if(await ds({userAdapter:t.env.data.users,tenant_id:i.tenant.id,username:e,provider:"auth2"}))throw new I(400,{message:"Invalid sign up"});const a=await t.env.data.users.create(i.tenant.id,{user_id:`auth2|${Qs()}`,email:e,email_verified:!1,provider:"auth2",connection:"Username-Password-Authentication",is_social:!1});t.set("user_id",a.user_id),t.set("username",a.email),t.set("connection",a.connection);const c=await oi.hash(n,10);await t.env.data.passwords.create(i.tenant.id,{user_id:a.user_id,password:c,algorithm:"bcrypt"}),await fd(t,a);const l=we(t,{type:he.SUCCESS_SIGNUP,description:"Successful signup"});return await t.env.data.logs.create(i.tenant.id,l),t.json({_id:a.user_id,email:a.email,email_verified:!1,app_metadata:{},user_metadata:{}})}).openapi(o.createRoute({tags:["dbconnections"],method:"post",path:"/change_password",request:{body:{content:{"application/json":{schema:o.z.object({client_id:o.z.string(),connection:o.z.literal("Username-Password-Authentication"),email:o.z.string().transform(t=>t.toLowerCase())})}}}},responses:{200:{description:"Redirect to the client's redirect uri"}}}),async t=>{const{email:e,client_id:n}=t.req.valid("json"),r=await t.env.data.clients.get(n);if(!r)throw new I(400,{message:"Client not found"});if(t.set("client_id",r.id),t.set("tenant_id",r.tenant.id),!await fr({userAdapter:t.env.data.users,tenant_id:r.tenant.id,username:e,provider:"auth2"}))return t.html("If an account with that email exists, we've sent instructions to reset your password.");const s={client_id:n,username:e},a=await t.env.data.loginSessions.create(r.tenant.id,{expires_at:new Date(Date.now()+Qn*1e3).toISOString(),authParams:s,csrf_token:ke(),...cn(t.req)});return await Yg(t,e,a.id,a.authParams.state),t.html("If an account with that email exists, we've sent instructions to reset your password.")});function Pn(){const t="1234567890";let e="";for(let n=0;n<6;n+=1)e+=t[Math.floor(Math.random()*10)];return e.toString()}const Yb=new o.OpenAPIHono().openapi(o.createRoute({tags:["passwordless"],method:"post",path:"/start",request:{body:{content:{"application/json":{schema:o.z.union([o.z.object({connection:o.z.literal("email"),client_id:o.z.string(),email:o.z.string().transform(t=>t.toLowerCase()),send:o.z.enum(["link","code"]),authParams:Mr.omit({client_id:!0})}),o.z.object({client_id:o.z.string(),connection:o.z.literal("sms"),phone_number:o.z.string(),send:o.z.enum(["link","code"]),authParams:Mr.omit({client_id:!0})})])}}}},responses:{200:{description:"Status"}}}),async t=>{const e=t.req.valid("json"),{env:n}=t,{client_id:r,send:i,authParams:s,connection:a}=e,c=await t.env.data.clients.get(r);if(!c)throw new I(400,{message:"Client not found"});t.set("client_id",c.id),t.set("tenant_id",c.tenant.id);const l=a==="email"?e.email:e.phone_number,d=await n.data.loginSessions.create(c.tenant.id,{authParams:{...s,client_id:r,username:l},expires_at:new Date(Date.now()+ja).toISOString(),csrf_token:ke(),...cn(t.req)}),p=await n.data.codes.create(c.tenant.id,{code_id:Pn(),code_type:"otp",login_id:d.id,expires_at:new Date(Date.now()+ja).toISOString()});return i==="link"?await pd(t,{to:l,code:p.code_id,authParams:{...s,client_id:r}}):await Xg(t,{to:l,code:p.code_id}),t.html("OK")}).openapi(o.createRoute({tags:["passwordless"],method:"get",path:"/verify_redirect",request:{query:o.z.object({scope:o.z.string(),response_type:o.z.nativeEnum(It),redirect_uri:o.z.string(),state:o.z.string(),nonce:o.z.string().optional(),verification_code:o.z.string(),connection:o.z.string(),client_id:o.z.string(),email:o.z.string().transform(t=>t.toLowerCase()),audience:o.z.string().optional()})},responses:{302:{description:"Status"}}}),async t=>{const{env:e}=t,{client_id:n,email:r,verification_code:i,redirect_uri:s,state:a,scope:c,audience:l,response_type:d,nonce:p}=t.req.valid("query"),f=await Yo(e,n);return t.set("client_id",f.id),t.set("tenant_id",f.tenant.id),t.set("connection","email"),cd(t,f,{client_id:n,redirect_uri:s,state:a,nonce:p,scope:c,audience:l,response_type:d},r,i,!1,!0)});class jr extends I{constructor(n,r){super(n,r);te(this,"_code");this._code=r==null?void 0:r.code}get code(){return this._code}}async function hd(t,e,n,r,i){const{env:s}=t,{username:a}=n;if(t.set("username",a),!a)throw new I(400,{message:"Username is required"});const c=await fr({userAdapter:t.env.data.users,tenant_id:e.tenant.id,username:a,provider:"auth2"});if(!c){const h=we(t,{type:he.FAILED_LOGIN_INCORRECT_PASSWORD,description:"Invalid user"});throw zt(t,t.env.data.logs.create(e.tenant.id,h)),new jr(403,{message:"User not found",code:"USER_NOT_FOUND"})}const l=c.linked_to?await s.data.users.get(e.tenant.id,c.linked_to):c;if(!l)throw new jr(403,{message:"User not found",code:"USER_NOT_FOUND"});t.set("connection",c.connection),t.set("user_id",l.user_id);const d=await s.data.passwords.get(e.tenant.id,c.user_id);if(!(d&&await oi.compare(n.password,d.password))){const h=we(t,{type:he.FAILED_LOGIN_INCORRECT_PASSWORD,description:"Invalid password"});throw zt(t,t.env.data.logs.create(e.tenant.id,h)),new jr(403,{message:"Invalid password",code:"INVALID_PASSWORD"})}if((await s.data.logs.list(e.tenant.id,{page:0,per_page:10,include_totals:!1,q:`user_id:${l.user_id}`})).logs.filter(h=>h.type===he.FAILED_LOGIN_INCORRECT_PASSWORD&&new Date(h.date)>new Date(Date.now()-1e3*60*5)).length>=3){const h=we(t,{type:he.FAILED_LOGIN,description:"Too many failed login attempts"});throw zt(t,t.env.data.logs.create(e.tenant.id,h)),new jr(403,{message:"Too many failed login attempts",code:"TOO_MANY_FAILED_LOGINS"})}if(!c.email_verified&&e.email_validation==="enforced"){await fd(t,c);const h=we(t,{type:he.FAILED_LOGIN,description:"Email not verified"});throw await t.env.data.logs.create(e.tenant.id,h),new jr(403,{message:"Email not verified",code:"EMAIL_NOT_VERIFIED"})}const w=we(t,{type:he.SUCCESS_LOGIN,description:"Successful login",strategy_type:"Username-Password-Authentication",strategy:"Username-Password-Authentication"});return zt(t,t.env.data.logs.create(e.tenant.id,w)),ln(t,{client:e,authParams:n,user:l,ticketAuth:i,loginSession:r})}async function Xb(t,e,n,r){await so(t,{client:e,username:n,provider:"auth2",connection:"Username-Password-Authentication",isSocial:!1,ip:t.req.header("x-real-ip")});let i=Pn(),s=await t.env.data.codes.get(e.tenant.id,i,"password_reset");for(;s;)i=Pn(),s=await t.env.data.codes.get(e.tenant.id,i,"password_reset");const a=await t.env.data.loginSessions.create(e.tenant.id,{expires_at:new Date(Date.now()+Z0).toISOString(),authParams:{client_id:e.id,username:n},csrf_token:ke(),...cn(t.req)}),c=await t.env.data.codes.create(e.tenant.id,{code_id:i,code_type:"password_reset",login_id:a.id,expires_at:new Date(Date.now()+J0).toISOString()});await Yg(t,n,c.code_id,r)}const Qb=new o.OpenAPIHono().openapi(o.createRoute({tags:["oauth"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:o.z.union([o.z.object({credential_type:o.z.literal("http://auth0.com/oauth/grant-type/passwordless/otp"),otp:o.z.string(),client_id:o.z.string(),username:o.z.string().transform(t=>t.toLowerCase()),realm:o.z.enum(["email"]),scope:o.z.string().optional()}),o.z.object({credential_type:o.z.literal("http://auth0.com/oauth/grant-type/password-realm"),client_id:o.z.string(),username:o.z.string().transform(t=>t.toLowerCase()),password:o.z.string(),realm:o.z.enum(["Username-Password-Authentication"]),scope:o.z.string().optional()})])}}}},responses:{200:{description:"List of tenants"}}}),async t=>{const e=t.req.valid("json"),{client_id:n,username:r}=e;t.set("username",r);const i=await t.env.data.clients.get(n);if(!i)throw new I(400,{message:"Client not found"});t.set("client_id",n),t.set("tenant_id",i.tenant.id);const s=r.toLocaleLowerCase();if("otp"in e)return cd(t,i,{client_id:n,username:s},s,e.otp,!0);if("password"in e){const a=await t.env.data.loginSessions.create(i.tenant.id,{expires_at:new Date(Date.now()+Qn*1e3).toISOString(),authParams:{client_id:n,username:s},csrf_token:ke(),...cn(t.req)});return hd(t,i,{username:s,password:e.password,client_id:n},a,!0)}else throw new I(400,{message:"Code or password required"})});function e1(t,e){var r,i,s;if(!t||e.length===0)return!1;const n=((r=ya(t))==null?void 0:r.host)??null;if(!n)return!1;for(const a of e){let c;if(a.startsWith("http://")||a.startsWith("https://")?c=((i=ya(a))==null?void 0:i.host)??null:c=((s=ya("https://"+a))==null?void 0:s.host)??null,n===c)return!0}return!1}function ya(t){try{return new URL(t)}catch{return null}}async function t1({ctx:t,session:e,client:n,authParams:r,connection:i,login_hint:s}){const a=await t.env.data.loginSessions.create(n.tenant.id,{expires_at:new Date(Date.now()+Qn*1e3).toISOString(),authParams:r,csrf_token:ke(),authorization_url:t.req.url,...cn(t.req)});if(e&&s){const c=await t.env.data.users.get(n.tenant.id,e.user_id);if((c==null?void 0:c.email)===s)return ln(t,{client:n,loginSession:a,authParams:r,user:c,sessionId:e.id})}if(i==="email"&&s){const c=Pn();return await t.env.data.codes.create(n.tenant.id,{code_id:c,code_type:"otp",login_id:a.id,expires_at:new Date(Date.now()+Qn*1e3).toISOString()}),await pd(t,{code:c,to:s,authParams:r}),t.redirect(`/u/enter-code?state=${a.id}`)}return e?t.redirect(`/u/check-account?state=${a.id}`):t.redirect(`/u/enter-email?state=${a.id}`)}function n1(t){if(t==="Username-Password-Authentication")return"auth2";if(t==="email")return"email";throw new I(403,{message:"Invalid realm"})}async function r1(t,e,n,r,i){var m;const{env:s}=t;t.set("connection",i);const a=await s.data.codes.get(e,n,"ticket");if(!a||a.used_at)throw new I(403,{message:"Ticket not found"});const c=await s.data.loginSessions.get(e,a.login_id);if(!c||!c.authParams.username)throw new I(403,{message:"Session not found"});const l=await s.data.clients.get(c.authParams.client_id);if(!l)throw new I(403,{message:"Client not found"});t.set("client_id",c.authParams.client_id),await s.data.codes.used(e,n);const d=n1(i);let p=await so(t,{username:c.authParams.username,provider:d,client:l,connection:d==="auth2"?"Username-Password-Authentication":"email",isSocial:!1,ip:t.req.header("x-real-ip")});t.set("username",p.email||p.phone_number),t.set("user_id",p.user_id);const f=await Ff(t,{user:p,client:l,loginSession:c});return ln(t,{authParams:{scope:(m=c.authParams)==null?void 0:m.scope,...r},loginSession:c,sessionId:f.id,user:p,client:l})}async function qp(t,e){return`<!DOCTYPE html>
149
+ `,r}async function Ev(t){const e=await t.publicKey.export(),n=await crypto.subtle.exportKey("jwk",e),r=JSON.stringify(n,Object.keys(n).sort()),s=new TextEncoder().encode(r);return Ca(await Nf(s))}const Iv=1e3*60*60*24,Cv=new o.OpenAPIHono().openapi(o.createRoute({tags:["keys"],method:"get",path:"/signing",request:{headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.array(Ia)}},description:"List of keys"}}}),async t=>{const n=(await t.env.data.keys.list()).filter(r=>"cert"in r).map(r=>r);return t.json(n)}).openapi(o.createRoute({tags:["keys"],method:"get",path:"/signing/{kid}",request:{headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({kid:o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Ia}},description:"The requested key"}}}),async t=>{const{kid:e}=t.req.valid("param"),r=(await t.env.data.keys.list()).find(i=>i.kid===e);if(!r)throw new I(404,{message:"Key not found"});return t.json(r)}).openapi(o.createRoute({tags:["keys"],method:"post",path:"/signing/rotate",request:{headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{description:"Status"}}}),async t=>{const e=await t.env.data.keys.list();for await(const r of e)await t.env.data.keys.update(r.kid,{revoked_at:new Date(Date.now()+Iv).toISOString()});const n=await Zc({name:`CN=${t.env.ORGANIZATION_NAME}`});return await t.env.data.keys.create(n),t.text("OK",{status:201})}).openapi(o.createRoute({tags:["keys"],method:"put",path:"/signing/{kid}/revoke",request:{headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({kid:o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{description:"Status"}}}),async t=>{const{kid:e}=t.req.valid("param");if(!await t.env.data.keys.update(e,{revoked_at:new Date().toISOString()}))throw new I(404,{message:"Key not found"});const r=await Zc({name:`CN=${t.env.ORGANIZATION_NAME}`});return await t.env.data.keys.create(r),t.text("OK")}),Nv=new o.OpenAPIHono().openapi(o.createRoute({tags:["users"],method:"get",path:"/",request:{query:o.z.object({email:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"tenant/json":{schema:o.z.array(rl)}},description:"List of users"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{email:n}=t.req.valid("query"),i=(await hl(t.env.data.users,e,n)).filter(s=>!s.linked_to);return t.json(i)}),jv=an.extend({clients:o.z.array(mn)}),$v=new o.OpenAPIHono().openapi(o.createRoute({tags:["clients"],method:"get",path:"/",request:{query:nn,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([jv,o.z.array(mn)])}},description:"List of clients"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{page:n,per_page:r,include_totals:i,sort:s,q:a}=t.req.valid("query"),l=(await t.env.data.applications.list(e,{page:n,per_page:r,include_totals:i,sort:hr(s),q:a})).applications;return i?t.json({clients:l,start:0,limit:10,length:l.length}):t.json(l)}).openapi(o.createRoute({tags:["clients"],method:"get",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:mn}},description:"An application"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),i=(await t.env.data.applications.list(e,{page:1,per_page:0,include_totals:!1})).applications.find(s=>s.id===n);if(!i)throw new I(404);return t.json(i)}).openapi(o.createRoute({tags:["clients"],method:"delete",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param");if(!await t.env.data.applications.remove(e,n))throw new I(404,{message:"Application not found"});return t.text("OK")}).openapi(o.createRoute({tags:["clients"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:o.z.object(rs.shape).partial()}}},params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:mn}},description:"The update application"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),i=t.req.valid("json");await t.env.data.applications.update(e,n,i);const s=await t.env.data.applications.get(e,n);if(!s)throw new I(404,{message:"Application not found"});return t.json(s)}).openapi(o.createRoute({tags:["clients"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:o.z.object(rs.shape)}}},headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:o.z.object(mn.shape)}},description:"An application"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),r={...n,id:n.id||ke(),client_secret:n.client_secret||ke()},i=await t.env.data.applications.create(e,r);return t.json(i,{status:201})});o.z.object({start:o.z.number(),limit:o.z.number(),length:o.z.number()});Zs.extend({email:o.z.string(),login_count:o.z.number(),multifactor:o.z.array(o.z.string()).optional(),last_ip:o.z.string().optional(),last_login:o.z.string().optional(),user_id:o.z.string()}).catchall(o.z.any());const Ov=an.extend({tenants:o.z.array(Jn)}),Tv=new o.OpenAPIHono().openapi(o.createRoute({tags:["tenants"],method:"get",path:"/",request:{query:nn},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"tenant/json":{schema:o.z.union([o.z.array(Jn),Ov])}},description:"List of tenants"}}}),async t=>{const{page:e,per_page:n,include_totals:r,sort:i,q:s}=t.req.valid("query"),a=await t.env.data.tenants.list({page:e,per_page:n,include_totals:r,sort:hr(i),q:s});return r?t.json(a):t.json(a.tenants)}).openapi(o.createRoute({tags:["tenants"],method:"get",path:"/{id}",request:{params:o.z.object({id:o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"tenant/json":{schema:Jn}},description:"A tenant"}}}),async t=>{const{id:e}=t.req.valid("param"),n=await t.env.data.tenants.get(e);if(!n)throw new I(404);return t.json(n)}).openapi(o.createRoute({tags:["tenants"],method:"delete",path:"/{id}",request:{params:o.z.object({id:o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{id:e}=t.req.valid("param");return await t.env.data.tenants.remove(e),t.text("OK")}).openapi(o.createRoute({tags:["tenants"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:o.z.object(ss.shape).partial()}}},params:o.z.object({id:o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{id:e}=t.req.valid("param"),n=t.req.valid("json");return await t.env.data.tenants.update(e,n),t.text("OK")}).openapi(o.createRoute({tags:["tenants"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:o.z.object(ss.shape)}}}},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"tenant/json":{schema:Jn}},description:"An tenant"}}}),async t=>{const e=t.req.valid("json"),n=await t.env.data.tenants.create(e);return t.json(n,{status:201})}),Pv=an.extend({logs:o.z.array(as)}),Bv=new o.OpenAPIHono().openapi(o.createRoute({tags:["logs"],method:"get",path:"/",request:{query:nn,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([o.z.array(as),Pv])}},description:"List of log rows"}}}),async t=>{const{page:e,per_page:n,include_totals:r,sort:i,q:s}=t.req.valid("query"),{"tenant-id":a}=t.req.valid("header"),c=await t.env.data.logs.list(a,{page:e,per_page:n,include_totals:r,sort:hr(i),q:s});return r?t.json(c):t.json(c.logs)}).openapi(o.createRoute({tags:["logs"],method:"get",path:"/{id}",request:{headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({id:o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:as}},description:"A log entry"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=await t.env.data.logs.get(e,n);if(!r)throw new I(404);return t.json(r)}),Rv=an.extend({hooks:o.z.array(Kn)}),Lv=new o.OpenAPIHono().openapi(o.createRoute({tags:["hooks"],method:"get",path:"/",request:{query:nn,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([o.z.array(Kn),Rv])}},description:"List of hooks"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{page:n,per_page:r,include_totals:i,sort:s,q:a}=t.req.valid("query"),c=await t.env.data.hooks.list(e,{page:n,per_page:r,include_totals:i,sort:hr(s),q:a});return i?t.json(c):t.json(c.hooks)}).openapi(o.createRoute({tags:["hooks"],method:"post",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object(os.shape)}}}},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:Kn}},description:"The created hook"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),r=await t.env.data.hooks.create(e,n);return t.json(r,{status:201})}).openapi(o.createRoute({tags:["hooks"],method:"patch",path:"/{hook_id}",request:{headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({hook_id:o.z.string()}),body:{content:{"application/json":{schema:o.z.object(os.shape).omit({hook_id:!0}).partial()}}}},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:Kn.shape}},description:"The updated hook"},404:{description:"Hook not found"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{hook_id:n}=t.req.valid("param"),r=t.req.valid("json");await t.env.data.hooks.update(e,n,r);const i=await t.env.data.hooks.get(e,n);if(!i)throw new I(404,{message:"Hook not found"});return t.json(i)}).openapi(o.createRoute({tags:["hooks"],method:"get",path:"/{hook_id}",request:{headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({hook_id:o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Kn}},description:"A hook"},404:{description:"Hook not found"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{hook_id:n}=t.req.valid("param"),r=await t.env.data.hooks.get(e,n);if(!r)throw new I(404,{message:"Hook not found"});return t.json(r)}).openapi(o.createRoute({tags:["hooks"],method:"delete",path:"/{hook_id}",request:{headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({hook_id:o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{description:"A hook"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{hook_id:n}=t.req.valid("param");if(!await t.env.data.hooks.remove(e,n))throw new I(404,{message:"Hook not found"});return t.text("OK")}),Uv=an.extend({connections:o.z.array(Zt)}),Vv=new o.OpenAPIHono().openapi(o.createRoute({tags:["connections"],method:"get",path:"/",request:{query:nn,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([o.z.array(Zt),Uv])}},description:"List of connectionss"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{page:n,per_page:r,include_totals:i=!1,sort:s,q:a}=t.req.valid("query"),c=await t.env.data.connections.list(e,{page:n,per_page:r,include_totals:i,sort:hr(s),q:a});return i?t.json(c):t.json(c.connections)}).openapi(o.createRoute({tags:["connections"],method:"get",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Zt}},description:"A connection"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=await t.env.data.connections.get(e,n);if(!r)throw new I(404);return t.json(r)}).openapi(o.createRoute({tags:["connections"],method:"delete",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param");if(!await t.env.data.connections.remove(e,n))throw new I(404,{message:"Connection not found"});return t.text("OK")}).openapi(o.createRoute({tags:["connections"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:o.z.object(is.shape).partial()}}},params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:Zt}},description:"The updated connection"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=t.req.valid("json");if(!await t.env.data.connections.update(e,n,r))throw new I(404,{message:"Connection not found"});const s=await t.env.data.connections.get(e,n);if(!s)throw new I(404,{message:"Connection not found"});return t.json(s)}).openapi(o.createRoute({tags:["connections"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:o.z.object(is.shape)}}},headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:Zt}},description:"A connection"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),r=await t.env.data.connections.create(e,n);return t.json(r,{status:201})}),qv=new o.OpenAPIHono().openapi(o.createRoute({tags:["prompts"],method:"get",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Li}},description:"Branding settings"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=await t.env.data.promptSettings.get(e);return n?t.json(n):t.json(Li.parse({}))}).openapi(o.createRoute({tags:["prompts"],method:"patch",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object(Li.shape).partial()}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Prompts settings"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),r=await t.env.data.promptSettings.get(e);return Object.assign(r,n),await t.env.data.promptSettings.set(e,r),t.json(r)});let Ep=!1;function Bg(t){t.use(async(e,n)=>(Ep||(t.openAPIRegistry.registerComponent("securitySchemes","Bearer",{type:"oauth2",scheme:"bearer",flows:{implicit:{authorizationUrl:`${e.env.AUTH_URL}/authorize`,scopes:{openid:"Basic user information",email:"User email",profile:"User profile information"}}}}),Ep=!0),await n()))}o.z.object({alg:o.z.literal("RS256"),kty:o.z.literal("RSA"),use:o.z.literal("sig"),n:o.z.string(),e:o.z.string(),kid:o.z.string(),x5t:o.z.string(),x5c:o.z.array(o.z.string())});async function Mv(t){try{const e=await t.JWKS_SERVICE.fetch(t.JWKS_URL);if(!e.ok)throw new Error("Failed to fetch jwks");return(await e.json()).keys}catch(e){throw new I(500,{message:`Failed to fetch jwks: ${e.message}`})}}async function Dv(t,e){const r=new TextEncoder().encode([e.raw.header,e.raw.payload].join(".")),i=new Uint8Array(Array.from(e.signature).map(l=>l.charCodeAt(0))),a=(await Mv(t.env)).find(l=>l.kid===e.header.kid);if(!a)return console.log("No matching kid found"),!1;const c=await crypto.subtle.importKey("jwk",a,{name:"RSASSA-PKCS1-v1_5",hash:"SHA-256"},!1,["verify"]);return crypto.subtle.verify("RSASSA-PKCS1-v1_5",c,i,r)}function Hv(t){const[e,n,r]=t.split(".");if(!e||!n||!r)return null;const i=JSON.parse(atob(e)),s=JSON.parse(atob(n)),a=atob(r.replace(/-/g,"+").replace(/_/g,"/"));return{header:i,payload:s,signature:a,raw:{header:e,payload:n,signature:r}}}function Rg(t){return async(e,n)=>{var i,s,a;const r=t.openAPIRegistry.definitions.find(c=>"route"in c&&c.route.path===e.req.path&&c.route.method.toUpperCase()===e.req.method);if(r&&"route"in r){const c=(s=(i=r.route.security)==null?void 0:i[0])==null?void 0:s.Bearer;if(!(c!=null&&c.length))return await n();const l=e.req.header("authorization")||"",[d,p]=l.split(" ");if((d==null?void 0:d.toLowerCase())!=="bearer"||!p)throw new I(401,{message:"Missing bearer token"});const f=Hv(p);if(!f||!await Dv(e,f))throw new I(403,{message:"Invalid JWT signature"});e.set("user_id",f.payload.sub),e.set("user",f.payload);const m=f.payload.permissions||[],w=((a=f.payload.scope)==null?void 0:a.split(" "))||[];if(c.length&&!(c.some(h=>m.includes(h))||c.some(h=>w.includes(h))))throw new I(403,{message:"Unauthorized"})}return await n()}}const Fv=new o.OpenAPIHono().openapi(o.createRoute({tags:["emails"],method:"get",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Ui}},description:"Email provider"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=await t.env.data.emailProviders.get(e);if(!n)throw new I(404,{message:"Email provider not found"});return t.json(n)}).openapi(o.createRoute({tags:["emails"],method:"post",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object(Ui.shape)}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Branding settings"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json");return await t.env.data.emailProviders.create(e,n),t.text("OK",{status:201})}).openapi(o.createRoute({tags:["emails"],method:"patch",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object(Ui.shape).partial()}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Branding settings"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json");return await t.env.data.emailProviders.update(e,n),t.text("OK")}),Kv=new o.OpenAPIHono().openapi(o.createRoute({tags:["sessions"],method:"get",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Xs}},description:"A session"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=await t.env.data.sessions.get(e,n);if(!r)throw new I(404);return t.json(r)}).openapi(o.createRoute({tags:["sessions"],method:"delete",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param");if(!await t.env.data.sessions.remove(e,n))throw new I(404,{message:"Session not found"});return t.text("OK")}).openapi(o.createRoute({tags:["sessions"],method:"post",path:"/{id}/revoke",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{202:{description:"Sesssion deletion status"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param");if(!await t.env.data.sessions.update(e,n,{revoked_at:new Date().toDateString()}))throw new I(404,{message:"Session not found"});return t.text("Session deletion request accepted.",{status:202})}),Wv=new o.OpenAPIHono().openapi(o.createRoute({tags:["refresh_tokens"],method:"get",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:ol}},description:"A session"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=await t.env.data.refreshTokens.get(e,n);if(!r)throw new I(404);return t.json(r)}).openapi(o.createRoute({tags:["refresh_tokens"],method:"delete",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param");if(!await t.env.data.refreshTokens.remove(e,n))throw new I(404,{message:"Session not found"});return t.text("OK")}),Gv=new o.OpenAPIHono().openapi(o.createRoute({tags:["custom-domains"],method:"get",path:"/",request:{query:nn,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.array(Jt)}},description:"List of custom domains"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=await t.env.data.customDomains.list(e);return t.json(n)}).openapi(o.createRoute({tags:["custom-domains"],method:"get",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Jt}},description:"A connection"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=await t.env.data.customDomains.get(e,n);if(!r)throw new I(404);return t.json(r)}).openapi(o.createRoute({tags:["custom-domains"],method:"delete",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param");if(!await t.env.data.customDomains.remove(e,n))throw new I(404,{message:"Custom domain not found"});return t.text("OK")}).openapi(o.createRoute({tags:["custom-domains"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:o.z.object(Jt.shape).partial()}}},params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:Jt}},description:"The updated custom domain"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=t.req.valid("json");if(!await t.env.data.customDomains.update(e,n,r))throw new I(404);const s=await t.env.data.customDomains.get(e,n);if(!s)throw new I(404);return t.json(s)}).openapi(o.createRoute({tags:["custom-domains"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:o.z.object(il.shape)}}},headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:Jt}},description:"The created custom domain"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),r=await t.env.data.customDomains.create(e,n);return t.json(r,{status:201})}).openapi(o.createRoute({tags:["custom-domains"],method:"post",path:"/{id}/verify",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:Jt}},description:"The custom domain"}}}),async()=>{throw new I(501,{message:"Not implemented"})});async function id(t,e){const n=t.req.header("x-forwarded-host");if(n){const i=await t.env.data.customDomains.getByDomain(n);if(i)return t.set("tenant_id",i.tenant_id),t.set("custom_domain",n),await e()}const r=t.req.header("host");if(r){const i=r.split(".");if(i.length>1&&typeof i[0]=="string"){const s=i[0];await t.env.data.tenants.get(s)&&t.set("tenant_id",s)}}return await e()}function Jv(t){const e=new o.OpenAPIHono;e.use(of({origin:r=>{var i;return r&&(i=t.allowedOrigins)!=null&&i.includes(r)?r:""},allowHeaders:["Tenant-Id","Content-Type","Content-Range","Auth0-Client","Authorization","Range","Upgrade-Insecure-Requests"],allowMethods:["POST","PUT","GET","DELETE","PATCH","OPTIONS"],exposeHeaders:["Content-Length","Content-Range"],maxAge:600,credentials:!0})),Bg(e),e.use(async(r,i)=>(r.env.data=ro(r,t.dataAdapter),i())),e.use(id).use(Rg(e));const n=e.route("/branding",x0).route("/custom-domains",Gv).route("/email/providers",Fv).route("/users",jy).route("/keys",Cv).route("/users-by-email",Nv).route("/clients",$v).route("/tenants",Tv).route("/logs",Bv).route("/hooks",Lv).route("/connections",Vv).route("/prompts",qv).route("/sessions",Kv).route("/refresh_tokens",Wv);return n.doc("/spec",{openapi:"3.0.0",info:{version:"1.0.0",title:"Management api"},security:[{oauth2:["openid","email","profile"]}]}),n}function Zv(t,e){Object.keys(e).forEach(n=>{const r=e[n];r!=null&&r.length&&t.searchParams.set(n,r)})}var Ip;(function(t){t[t.Include=0]="Include",t[t.None=1]="None"})(Ip||(Ip={}));var Cp;(function(t){t[t.Required=0]="Required",t[t.Ignore=1]="Ignore"})(Cp||(Cp={}));function Yv(t){return Ug(t,Xv,ti.Include)}function Lg(t){return Ug(t,Qv,ti.None)}function Ug(t,e,n){let r="";for(let i=0;i<t.byteLength;i+=3){let s=0,a=0;for(let c=0;c<3&&i+c<t.byteLength;c++)s=s<<8|t[i+c],a+=8;for(let c=0;c<4;c++)a>=6?(r+=e[s>>a-6&63],a-=6):a>0?(r+=e[s<<6-a&63],a=0):n===ti.Include&&(r+="=")}return r}const Xv="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Qv="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";var ti;(function(t){t[t.Include=0]="Include",t[t.None=1]="None"})(ti||(ti={}));var Np;(function(t){t[t.Required=0]="Required",t[t.Ignore=1]="Ignore"})(Np||(Np={}));class eb{uint8(e,n){if(e.byteLength<n+1)throw new TypeError("Insufficient bytes");return e[n]}uint16(e,n){if(e.byteLength<n+2)throw new TypeError("Insufficient bytes");return e[n]<<8|e[n+1]}uint32(e,n){if(e.byteLength<n+4)throw new TypeError("Insufficient bytes");let r=0;for(let i=0;i<4;i++)r|=e[n+i]<<24-i*8;return r}uint64(e,n){if(e.byteLength<n+8)throw new TypeError("Insufficient bytes");let r=0n;for(let i=0;i<8;i++)r|=BigInt(e[n+i])<<BigInt(56-i*8);return r}putUint8(e,n,r){if(e.length<r+1)throw new TypeError("Not enough space");if(n<0||n>255)throw new TypeError("Invalid uint8 value");e[r]=n}putUint16(e,n,r){if(e.length<r+2)throw new TypeError("Not enough space");if(n<0||n>65535)throw new TypeError("Invalid uint16 value");e[r]=n>>8,e[r+1]=n&255}putUint32(e,n,r){if(e.length<r+4)throw new TypeError("Not enough space");if(n<0||n>4294967295)throw new TypeError("Invalid uint32 value");for(let i=0;i<4;i++)e[r+i]=n>>(3-i)*8&255}putUint64(e,n,r){if(e.length<r+8)throw new TypeError("Not enough space");if(n<0||n>18446744073709551615n)throw new TypeError("Invalid uint64 value");for(let i=0;i<8;i++)e[r+i]=Number(n>>BigInt((7-i)*8)&0xffn)}}const jp=new eb;function kt(t,e){return(t<<32-e|t>>>e)>>>0}function tb(t){const e=new nb;return e.update(t),e.digest()}class nb{constructor(){te(this,"blockSize",64);te(this,"size",32);te(this,"blocks",new Uint8Array(64));te(this,"currentBlockSize",0);te(this,"H",new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]));te(this,"l",0n);te(this,"w",new Uint32Array(64))}update(e){if(this.l+=BigInt(e.byteLength)*8n,this.currentBlockSize+e.byteLength<64){this.blocks.set(e,this.currentBlockSize),this.currentBlockSize+=e.byteLength;return}let n=0;if(this.currentBlockSize>0){const r=e.slice(0,64-this.currentBlockSize);this.blocks.set(r,this.currentBlockSize),this.process(),n+=r.byteLength,this.currentBlockSize=0}for(;n+64<=e.byteLength;){const r=e.slice(n,n+64);this.blocks.set(r),this.process(),n+=64}if(e.byteLength-n>0){const r=e.slice(n);this.blocks.set(r),this.currentBlockSize=r.byteLength}}digest(){this.blocks[this.currentBlockSize]=128,this.currentBlockSize+=1,64-this.currentBlockSize<8&&(this.blocks.fill(0,this.currentBlockSize),this.process(),this.currentBlockSize=0),this.blocks.fill(0,this.currentBlockSize),jp.putUint64(this.blocks,this.l,this.blockSize-8),this.process();const e=new Uint8Array(32);for(let n=0;n<8;n++)jp.putUint32(e,this.H[n],n*4);return e}process(){for(let d=0;d<16;d++)this.w[d]=(this.blocks[d*4]<<24|this.blocks[d*4+1]<<16|this.blocks[d*4+2]<<8|this.blocks[d*4+3])>>>0;for(let d=16;d<64;d++){const p=(kt(this.w[d-2],17)^kt(this.w[d-2],19)^this.w[d-2]>>>10)>>>0,f=(kt(this.w[d-15],7)^kt(this.w[d-15],18)^this.w[d-15]>>>3)>>>0;this.w[d]=p+this.w[d-7]+f+this.w[d-16]|0}let e=this.H[0],n=this.H[1],r=this.H[2],i=this.H[3],s=this.H[4],a=this.H[5],c=this.H[6],l=this.H[7];for(let d=0;d<64;d++){const p=(kt(s,6)^kt(s,11)^kt(s,25))>>>0,f=(s&a^~s&c)>>>0,m=l+p+f+rb[d]+this.w[d]|0,w=(kt(e,2)^kt(e,13)^kt(e,22))>>>0,h=(e&n^e&r^n&r)>>>0,_=w+h|0;l=c,c=a,a=s,s=i+m|0,i=r,r=n,n=e,e=m+_|0}this.H[0]=e+this.H[0]|0,this.H[1]=n+this.H[1]|0,this.H[2]=r+this.H[2]|0,this.H[3]=i+this.H[3]|0,this.H[4]=s+this.H[4]|0,this.H[5]=a+this.H[5]|0,this.H[6]=c+this.H[6]|0,this.H[7]=l+this.H[7]|0}}const rb=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);new BigUint64Array([0x428a2f98d728ae22n,0x7137449123ef65cdn,0xb5c0fbcfec4d3b2fn,0xe9b5dba58189dbbcn,0x3956c25bf348b538n,0x59f111f1b605d019n,0x923f82a4af194f9bn,0xab1c5ed5da6d8118n,0xd807aa98a3030242n,0x12835b0145706fben,0x243185be4ee4b28cn,0x550c7dc3d5ffb4e2n,0x72be5d74f27b896fn,0x80deb1fe3b1696b1n,0x9bdc06a725c71235n,0xc19bf174cf692694n,0xe49b69c19ef14ad2n,0xefbe4786384f25e3n,0x0fc19dc68b8cd5b5n,0x240ca1cc77ac9c65n,0x2de92c6f592b0275n,0x4a7484aa6ea6e483n,0x5cb0a9dcbd41fbd4n,0x76f988da831153b5n,0x983e5152ee66dfabn,0xa831c66d2db43210n,0xb00327c898fb213fn,0xbf597fc7beef0ee4n,0xc6e00bf33da88fc2n,0xd5a79147930aa725n,0x06ca6351e003826fn,0x142929670a0e6e70n,0x27b70a8546d22ffcn,0x2e1b21385c26c926n,0x4d2c6dfc5ac42aedn,0x53380d139d95b3dfn,0x650a73548baf63den,0x766a0abb3c77b2a8n,0x81c2c92e47edaee6n,0x92722c851482353bn,0xa2bfe8a14cf10364n,0xa81a664bbc423001n,0xc24b8b70d0f89791n,0xc76c51a30654be30n,0xd192e819d6ef5218n,0xd69906245565a910n,0xf40e35855771202an,0x106aa07032bbd1b8n,0x19a4c116b8d2d0c8n,0x1e376c085141ab53n,0x2748774cdf8eeb99n,0x34b0bcb5e19b48a8n,0x391c0cb3c5c95a63n,0x4ed8aa4ae3418acbn,0x5b9cca4f7763e373n,0x682e6ff3d6b2b8a3n,0x748f82ee5defb2fcn,0x78a5636f43172f60n,0x84c87814a1f0ab72n,0x8cc702081a6439ecn,0x90befffa23631e28n,0xa4506cebde82bde9n,0xbef9a3f7b2c67915n,0xc67178f2e372532bn,0xca273eceea26619cn,0xd186b8c721c0c207n,0xeada7dd6cde0eb1en,0xf57d4f7fee6ed178n,0x06f067aa72176fban,0x0a637dc5a2c898a6n,0x113f9804bef90daen,0x1b710b35131c471bn,0x28db77f523047d84n,0x32caab7b40c72493n,0x3c9ebe0a15c9bebcn,0x431d67c49c100d4cn,0x4cc5d4becb3e42b6n,0x597f299cfc657e2an,0x5fcb6fab3ad6faecn,0x6c44198c4a475817n]);class ib{constructor(e){te(this,"data");this.data=e}tokenType(){if("token_type"in this.data&&typeof this.data.token_type=="string")return this.data.token_type;throw new Error("Missing or invalid 'token_type' field")}accessToken(){if("access_token"in this.data&&typeof this.data.access_token=="string")return this.data.access_token;throw new Error("Missing or invalid 'access_token' field")}accessTokenExpiresInSeconds(){if("expires_in"in this.data&&typeof this.data.expires_in=="number")return this.data.expires_in;throw new Error("Missing or invalid 'expires_in' field")}accessTokenExpiresAt(){return new Date(Date.now()+this.accessTokenExpiresInSeconds()*1e3)}hasRefreshToken(){return"refresh_token"in this.data&&typeof this.data.refresh_token=="string"}refreshToken(){if("refresh_token"in this.data&&typeof this.data.refresh_token=="string")return this.data.refresh_token;throw new Error("Missing or invalid 'refresh_token' field")}hasScopes(){return"scope"in this.data&&typeof this.data.scope=="string"}scopes(){if("scope"in this.data&&typeof this.data.scope=="string")return this.data.scope.split(" ");throw new Error("Missing or invalid 'scope' field")}idToken(){if("id_token"in this.data&&typeof this.data.id_token=="string")return this.data.id_token;throw new Error("Missing or invalid field 'id_token'")}}function sb(t){const e=tb(new TextEncoder().encode(t));return Lg(e)}function ob(){const t=new Uint8Array(32);return crypto.getRandomValues(t),Lg(t)}function Ur(t,e){const n=new TextEncoder().encode(e.toString()),r=new Request(t,{method:"POST",body:n});return r.headers.set("Content-Type","application/x-www-form-urlencoded"),r.headers.set("Accept","application/json"),r.headers.set("User-Agent","arctic"),r.headers.set("Content-Length",n.byteLength.toString()),r}function ma(t,e){const n=new TextEncoder().encode(`${t}:${e}`);return Yv(n)}async function Fs(t){let e;try{e=await fetch(t)}catch(n){throw new qg(n)}if(e.status===400||e.status===401){let n;try{n=await e.json()}catch{throw new Hi(e.status)}if(typeof n!="object"||n===null)throw new Xn(e.status,n);let r;try{r=Vg(n)}catch{throw new Xn(e.status,n)}throw r}if(e.status===200){let n;try{n=await e.json()}catch{throw new Hi(e.status)}if(typeof n!="object"||n===null)throw new Xn(e.status,n);return new ib(n)}throw e.body!==null&&await e.body.cancel(),new Hi(e.status)}async function ab(t){let e;try{e=await fetch(t)}catch(n){throw new qg(n)}if(e.status===400||e.status===401){let n;try{n=await e.json()}catch{throw new Xn(e.status,null)}if(typeof n!="object"||n===null)throw new Xn(e.status,n);let r;try{r=Vg(n)}catch{throw new Xn(e.status,n)}throw r}if(e.status===200){e.body!==null&&await e.body.cancel();return}throw e.body!==null&&await e.body.cancel(),new Hi(e.status)}function Vg(t){let e;if("error"in t&&typeof t.error=="string")e=t.error;else throw new Error("Invalid error response");let n=null,r=null,i=null;if("error_description"in t){if(typeof t.error_description!="string")throw new Error("Invalid data");n=t.error_description}if("error_uri"in t){if(typeof t.error_uri!="string")throw new Error("Invalid data");r=t.error_uri}if("state"in t){if(typeof t.state!="string")throw new Error("Invalid data");i=t.state}return new cb(e,n,r,i)}class qg extends Error{constructor(e){super("Failed to send request",{cause:e})}}class cb extends Error{constructor(n,r,i,s){super(`OAuth request error: ${n}`);te(this,"code");te(this,"description");te(this,"uri");te(this,"state");this.code=n,this.description=r,this.uri=i,this.state=s}}class Hi extends Error{constructor(n){super("Unexpected error response");te(this,"status");this.status=n}}class Xn extends Error{constructor(n,r){super("Unexpected error response body");te(this,"status");te(this,"data");this.status=n,this.data=r}}class sd{constructor(e,n,r){te(this,"clientId");te(this,"clientPassword");te(this,"redirectURI");this.clientId=e,this.clientPassword=n,this.redirectURI=r}createAuthorizationURL(e,n,r){const i=new URL(e);return i.searchParams.set("response_type","code"),i.searchParams.set("client_id",this.clientId),this.redirectURI!==null&&i.searchParams.set("redirect_uri",this.redirectURI),i.searchParams.set("state",n),r.length>0&&i.searchParams.set("scope",r.join(" ")),i}createAuthorizationURLWithPKCE(e,n,r,i,s){const a=new URL(e);if(a.searchParams.set("response_type","code"),a.searchParams.set("client_id",this.clientId),this.redirectURI!==null&&a.searchParams.set("redirect_uri",this.redirectURI),a.searchParams.set("state",n),r===ni.S256){const c=sb(i);a.searchParams.set("code_challenge_method","S256"),a.searchParams.set("code_challenge",c)}else r===ni.Plain&&(a.searchParams.set("code_challenge_method","plain"),a.searchParams.set("code_challenge",i));return s.length>0&&a.searchParams.set("scope",s.join(" ")),a}async validateAuthorizationCode(e,n,r){const i=new URLSearchParams;i.set("grant_type","authorization_code"),i.set("code",n),this.redirectURI!==null&&i.set("redirect_uri",this.redirectURI),r!==null&&i.set("code_verifier",r),this.clientPassword===null&&i.set("client_id",this.clientId);const s=Ur(e,i);if(this.clientPassword!==null){const c=ma(this.clientId,this.clientPassword);s.headers.set("Authorization",`Basic ${c}`)}return await Fs(s)}async refreshAccessToken(e,n,r){const i=new URLSearchParams;i.set("grant_type","refresh_token"),i.set("refresh_token",n),this.clientPassword===null&&i.set("client_id",this.clientId),r.length>0&&i.set("scope",r.join(" "));const s=Ur(e,i);if(this.clientPassword!==null){const c=ma(this.clientId,this.clientPassword);s.headers.set("Authorization",`Basic ${c}`)}return await Fs(s)}async revokeToken(e,n){const r=new URLSearchParams;r.set("token",n),this.clientPassword===null&&r.set("client_id",this.clientId);const i=Ur(e,r);if(this.clientPassword!==null){const s=ma(this.clientId,this.clientPassword);i.headers.set("Authorization",`Basic ${s}`)}await ab(i)}}var ni;(function(t){t[t.S256=0]="S256",t[t.Plain=1]="Plain"})(ni||(ni={}));var $p;(function(t){t[t.Include=0]="Include",t[t.None=1]="None"})($p||($p={}));var Op;(function(t){t[t.Required=0]="Required",t[t.Ignore=1]="Ignore"})(Op||(Op={}));function Vr(t){return lb(t,db,Ks.None)}function lb(t,e,n){let r="";for(let i=0;i<t.byteLength;i+=3){let s=0,a=0;for(let c=0;c<3&&i+c<t.byteLength;c++)s=s<<8|t[i+c],a+=8;for(let c=0;c<4;c++)a>=6?(r+=e[s>>a-6&63],a-=6):a>0?(r+=e[s<<6-a&63],a=0):n===Ks.Include&&(r+="=")}return r}const db="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";var Ks;(function(t){t[t.Include=0]="Include",t[t.None=1]="None"})(Ks||(Ks={}));var Tp;(function(t){t[t.Required=0]="Required",t[t.Ignore=1]="Ignore"})(Tp||(Tp={}));function ub(t,e,n){const r=Vr(new TextEncoder().encode(t)),i=Vr(new TextEncoder().encode(e)),s=Vr(n);return r+"."+i+"."+s}function pb(t,e){const n=Vr(new TextEncoder().encode(t)),r=Vr(new TextEncoder().encode(e)),i=n+"."+r;return new TextEncoder().encode(i)}const fb="https://appleid.apple.com/auth/authorize",hb="https://appleid.apple.com/auth/token";class Mg{constructor(e,n,r,i,s){te(this,"clientId");te(this,"teamId");te(this,"keyId");te(this,"pkcs8PrivateKey");te(this,"redirectURI");this.clientId=e,this.teamId=n,this.keyId=r,this.pkcs8PrivateKey=i,this.redirectURI=s}createAuthorizationURL(e,n){const r=new URL(fb);return r.searchParams.set("response_type","code"),r.searchParams.set("client_id",this.clientId),r.searchParams.set("state",e),n.length>0&&r.searchParams.set("scope",n.join(" ")),r.searchParams.set("redirect_uri",this.redirectURI),r}async validateAuthorizationCode(e){const n=new URLSearchParams;n.set("grant_type","authorization_code"),n.set("code",e),n.set("redirect_uri",this.redirectURI),n.set("client_id",this.clientId);const r=await this.createClientSecret();n.set("client_secret",r);const i=Ur(hb,n);return await Fs(i)}async createClientSecret(){const e=await crypto.subtle.importKey("pkcs8",this.pkcs8PrivateKey,{name:"ECDSA",namedCurve:"P-256"},!1,["sign"]),n=Math.floor(Date.now()/1e3),r=JSON.stringify({typ:"JWT",alg:"ES256",kid:this.keyId}),i=JSON.stringify({iss:this.teamId,exp:n+5*60,aud:["https://appleid.apple.com"],sub:this.clientId,iat:n}),s=new Uint8Array(await crypto.subtle.sign({name:"ECDSA",hash:"SHA-256"},e,pb(r,i)));return ub(r,i,s)}}const gb="https://www.facebook.com/v16.0/dialog/oauth",mb="https://graph.facebook.com/v16.0/oauth/access_token";class Dg{constructor(e,n,r){te(this,"clientId");te(this,"clientSecret");te(this,"redirectURI");this.clientId=e,this.clientSecret=n,this.redirectURI=r}createAuthorizationURL(e,n){const r=new URL(gb);return r.searchParams.set("response_type","code"),r.searchParams.set("client_id",this.clientId),r.searchParams.set("state",e),n.length>0&&r.searchParams.set("scope",n.join(" ")),r.searchParams.set("redirect_uri",this.redirectURI),r}async validateAuthorizationCode(e){const n=new URLSearchParams;n.set("grant_type","authorization_code"),n.set("code",e),n.set("redirect_uri",this.redirectURI),n.set("client_id",this.clientId),n.set("client_secret",this.clientSecret);const r=Ur(mb,n);return await Fs(r)}}const _b="https://accounts.google.com/o/oauth2/v2/auth",Pp="https://oauth2.googleapis.com/token",yb="https://oauth2.googleapis.com/revoke";let Hg=class{constructor(e,n,r){te(this,"client");this.client=new sd(e,n,r)}createAuthorizationURL(e,n,r){return this.client.createAuthorizationURLWithPKCE(_b,e,ni.S256,n,r)}async validateAuthorizationCode(e,n){return await this.client.validateAuthorizationCode(Pp,e,n)}async refreshAccessToken(e){return await this.client.refreshAccessToken(Pp,e,[])}async revokeToken(e){await this.client.revokeToken(yb,e)}};const Zo=o.z.object({iss:o.z.string().url(),sub:o.z.string(),aud:o.z.string(),exp:o.z.number(),email:o.z.string().optional(),given_name:o.z.string().optional(),family_name:o.z.string().optional(),name:o.z.string().optional(),iat:o.z.number(),auth_time:o.z.number().optional(),nonce:o.z.string().optional(),acr:o.z.string().optional(),amr:o.z.array(o.z.string()).optional(),azp:o.z.string().optional(),at_hash:o.z.string().optional(),c_hash:o.z.string().optional()}).passthrough();Zo.omit({iat:!0,auth_time:!0,nonce:!0,acr:!0,amr:!0,azp:!0,at_hash:!0,c_hash:!0});function wb(t){return t.ISSUER}function at(t){return t.UNIVERSAL_LOGIN_URL||`${t.ISSUER}u/`}function je(t){return t.OAUTH_API_URL||t.ISSUER}function Fg(t){const{options:e}=t;if(!e||!e.client_id||!e.team_id||!e.kid||!e.app_secret)throw new Error("Missing required Apple authentication parameters");const n=Buffer.from(e.app_secret,"utf-8"),r=n.toString().replace(/-----BEGIN PRIVATE KEY-----|-----END PRIVATE KEY-----|\s/g,""),i=Uint8Array.from(Buffer.from(r,"base64"));return n.fill(0),{options:e,keyArray:i}}async function vb(t,e){var l,d;const{options:n,keyArray:r}=Fg(e),i=new Mg(n.client_id,n.team_id,n.kid,r,`${je(t.env)}callback`),s=ke(),a=await i.createAuthorizationURL(s,((l=n.scope)==null?void 0:l.split(" "))||["name","email"]);return(((d=n.scope)==null?void 0:d.split(" "))||["name","email"]).some(p=>["email","name"].includes(p))&&a.searchParams.set("response_mode","form_post"),{redirectUrl:a.href,code:s}}async function bb(t,e,n){const{options:r,keyArray:i}=Fg(e),a=await new Mg(r.client_id,r.team_id,r.kid,i,`${je(t.env)}callback`).validateAuthorizationCode(n),c=cl(a.idToken());if(!c)throw new Error("Invalid ID token");const l=Zo.parse(c.payload);return{sub:l.sub,email:l.email,given_name:l.given_name,family_name:l.family_name,name:l.name,picture:l.picture,locale:l.locale}}const xb=Object.freeze(Object.defineProperty({__proto__:null,getRedirect:vb,validateAuthorizationCodeAndGetUser:bb},Symbol.toStringTag,{value:"Module"}));async function kb(t,e){var a;const{options:n}=e;if(!(n!=null&&n.client_id)||!n.client_secret)throw new Error("Missing required authentication parameters");const r=new Dg(n.client_id,n.client_secret,`${je(t.env)}callback`),i=ke();return{redirectUrl:r.createAuthorizationURL(i,((a=n.scope)==null?void 0:a.split(" "))||["email"]).href,code:i}}async function Sb(t,e,n){const{options:r}=e;if(!(r!=null&&r.client_id)||!r.client_secret)throw new Error("Missing required authentication parameters");const s=await new Dg(r.client_id,r.client_secret,`${je(t.env)}callback`).validateAuthorizationCode(n),a=await fetch("https://graph.facebook.com/v16.0/me?fields=id,email,name",{headers:{Authorization:`Bearer ${s.accessToken()}`}});if(!a.ok)throw new Error("Failed to fetch user info");const c=await a.json();return t.set("log",`Userinfo: ${JSON.stringify(c)}`),{sub:c.id,email:c.email,name:c.name}}const Ab=Object.freeze(Object.defineProperty({__proto__:null,getRedirect:kb,validateAuthorizationCodeAndGetUser:Sb},Symbol.toStringTag,{value:"Module"}));async function zb(t,e){var c;const{options:n}=e;if(!(n!=null&&n.client_id)||!n.client_secret)throw new Error("Missing required Google authentication parameters");const r=new Hg(n.client_id,n.client_secret,`${je(t.env)}callback`),i=ke(),s=ob();return{redirectUrl:r.createAuthorizationURL(i,s,((c=n.scope)==null?void 0:c.split(" "))??["email","profile"]).href,code:i,codeVerifier:s}}async function Eb(t,e,n,r){const{options:i}=e;if(!(i!=null&&i.client_id)||!i.client_secret||!r)throw new Error("Missing required authentication parameters");const a=await new Hg(i.client_id,i.client_secret,`${je(t.env)}callback`).validateAuthorizationCode(n,r),c=cl(a.idToken());if(!c)throw new Error("Invalid ID token");const l=Zo.parse(c.payload);return{sub:l.sub,email:l.email,given_name:l.given_name,family_name:l.family_name,name:l.name,picture:l.picture,locale:l.locale}}const Ib=Object.freeze(Object.defineProperty({__proto__:null,getRedirect:zb,validateAuthorizationCodeAndGetUser:Eb},Symbol.toStringTag,{value:"Module"}));async function Cb(t,e){var a;const{options:n}=e;if(!(n!=null&&n.client_id)||!n.client_secret)throw new Error("Missing required authentication parameters");const r=new sd(n.client_id,n.client_secret,`${je(t.env)}callback`),i=ke(),s=r.createAuthorizationURL("https://api.vipps.no/access-management-1.0/access/oauth2/auth",i,((a=n.scope)==null?void 0:a.split(" "))||["openid","email","phoneNumber","name","address","birthDate"]);return s.searchParams.set("response_type","code"),s.searchParams.set("response_mode","query"),{redirectUrl:s.href,code:i}}async function Nb(t,e,n){const{options:r}=e;if(!(r!=null&&r.client_id)||!r.client_secret)throw new Error("Missing required authentication parameters");const s=await new sd(r.client_id,r.client_secret,`${je(t.env)}callback`).validateAuthorizationCode("https://api.vipps.no/access-management-1.0/access/oauth2/token",n,null),a=cl(s.idToken());if(!a)throw new Error("Invalid ID token");const c=Zo.parse(a.payload);if(typeof c.msn!="string")throw new Error("msn not available in id token");const l=await fetch("https://api.vipps.no/vipps-userinfo-api/userinfo",{headers:{Authorization:`Bearer ${s.accessToken()}`,"Merchant-Serial-Number":c.msn}});if(!l.ok)throw new I(400,{message:"Failed to get user from vipps"});return await l.json()}const jb=Object.freeze(Object.defineProperty({__proto__:null,getRedirect:Cb,validateAuthorizationCodeAndGetUser:Nb},Symbol.toStringTag,{value:"Module"}));function Kg(t,e){const n=t.env.STRATEGIES||{},i={apple:xb,facebook:Ab,"google-oauth2":Ib,vipps:jb,...n}[e];if(!i)throw new Error(`Strategy ${e} not found`);return i}async function Yo(t,e){const n=await t.data.clients.get(e);if(!n)throw new I(403,{message:"Client not found"});const r=t.DEFAULT_CLIENT_ID?await t.data.clients.get(t.DEFAULT_CLIENT_ID):void 0,i=await t.data.connections.list(n.tenant.id),s=t.DEFAULT_TENANT_ID?await t.data.connections.list(t.DEFAULT_TENANT_ID):{connections:[]},a=i.connections.map(c=>{var p;const l=(p=s.connections)==null?void 0:p.find(f=>f.name===c.name);return l!=null&&l.options?Zt.parse({...l||{},...c,options:{...l.options||{},...c.options}}):c}).filter(c=>c);return{...n,web_origins:[...(r==null?void 0:r.web_origins)||[],...n.web_origins||[],`${at(t)}login`],allowed_logout_urls:[...(r==null?void 0:r.allowed_logout_urls)||[],...n.allowed_logout_urls||[],t.ISSUER],callbacks:[...(r==null?void 0:r.callbacks)||[],...n.callbacks||[],`${at(t)}info`],connections:a,tenant:{...(r==null?void 0:r.tenant)||{},...n.tenant}}}async function $b(t,e,n,r){if(!r.state)throw new I(400,{message:"State not found"});const i=e.connections.find(l=>l.name===n);if(!i){t.set("client_id",e.id);const l=we(t,{type:ge.FAILED_LOGIN,description:"Connection not found"});throw await t.env.data.logs.create(e.tenant.id,l),new I(403,{message:"Connection Not Found"})}let s=await t.env.data.loginSessions.get(e.tenant.id,r.state);s||(s=await t.env.data.loginSessions.create(e.tenant.id,{expires_at:new Date(Date.now()+Qn*1e3).toISOString(),authParams:r,csrf_token:ke(),...Ht(t.req)}));const c=await Kg(t,i.strategy).getRedirect(t,i);return await t.env.data.codes.create(e.tenant.id,{login_id:s.id,code_id:c.code,code_type:"oauth2_state",connection_id:i.id,code_verifier:c.codeVerifier,expires_at:new Date(Date.now()+W0*1e3).toISOString()}),t.redirect(c.redirectUrl)}async function Bp(t,{code:e,state:n}){var h;const{env:r}=t,i=await r.data.codes.get(t.var.tenant_id||"",n,"oauth2_state");if(!i||!i.connection_id)throw new I(403,{message:"State not found"});const s=await r.data.loginSessions.get(t.var.tenant_id||"",i.login_id);if(!s)throw new I(403,{message:"Session not found"});const a=await Yo(r,s.authParams.client_id);t.set("client_id",a.id),t.set("tenant_id",a.tenant.id);const c=a.connections.find(_=>_.id===i.connection_id);if(!c){const _=we(t,{type:ge.FAILED_LOGIN,description:"Connection not found"});throw await r.data.logs.create(a.tenant.id,_),new I(403,{message:"Connection not found"})}if(t.set("connection",c.name),!s.authParams.redirect_uri){const _=we(t,{type:ge.FAILED_LOGIN,description:"Redirect URI not defined"});throw await r.data.logs.create(a.tenant.id,_),new I(403,{message:"Redirect URI not defined"})}const d=await Kg(t,c.strategy).validateAuthorizationCodeAndGetUser(t,c,e,i.code_verifier),{sub:p,...f}=d;t.set("user_id",p);const m=((h=d.email)==null?void 0:h.toLocaleLowerCase())||`${c.name}.${p}@${new URL(t.env.ISSUER).hostname}`;t.set("username",m);const w=await so(t,{client:a,username:m,provider:c.strategy,connection:c.name,userId:p,profileData:f,isSocial:!0,ip:t.req.header("x-real-ip")});return ln(t,{client:a,authParams:s.authParams,loginSession:s,user:w})}async function Rp(t,e,n,r,i,s){const a=await t.env.data.codes.get(t.var.tenant_id||"",e,"oauth2_state");if(!a)throw new I(400,{message:"State not found"});const c=await t.env.data.loginSessions.get(t.var.tenant_id,a.login_id);if(!c)throw new I(400,{message:"Login not found"});const{redirect_uri:l}=c.authParams;if(!l)throw new I(400,{message:"Redirect uri not found"});const d=we(t,{type:ge.FAILED_LOGIN,description:`Failed connection login: ${i} ${n}, ${r}`});zt(t,t.env.data.logs.create(t.var.tenant_id,d));const p=new URL(l);return Zv(p,{error:n,error_description:r,error_reason:s,error_code:i,state:c.authParams.state}),t.redirect(`${at(t.env)}login/identifier?state=${c.id}&error=${n}`)}const Ob=new o.OpenAPIHono().openapi(o.createRoute({tags:["oauth2"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string(),code:o.z.string().optional(),scope:o.z.string().optional(),hd:o.z.string().optional(),error:o.z.string().optional(),error_description:o.z.string().optional(),error_code:o.z.string().optional(),error_reason:o.z.string().optional()})},responses:{302:{description:"Redirect to the client's redirect uri"}}}),async t=>{const{state:e,code:n,error:r,error_description:i,error_code:s,error_reason:a}=t.req.valid("query");if(r)return Rp(t,e,r,i,s,a);if(!n)throw new I(400,{message:"Code is required"});return Bp(t,{code:n,state:e})}).openapi(o.createRoute({tags:["oauth2"],method:"post",path:"/",request:{body:{content:{"application/x-www-form-urlencoded":{schema:o.z.object({state:o.z.string(),code:o.z.string().optional(),scope:o.z.string().optional(),hd:o.z.string().optional(),error:o.z.string().optional(),error_description:o.z.string().optional(),error_code:o.z.string().optional(),error_reason:o.z.string().optional()})}}}},responses:{302:{description:"Redirect to the client's redirect uri"}}}),async t=>{const{state:e,code:n,error:r,error_description:i,error_code:s,error_reason:a}=t.req.valid("form");if(r)return Rp(t,e,r,i,s,a);if(!n)throw new I(400,{message:"Code is required"});return Bp(t,{code:n,state:e})});function Wg(t,e=[],n={}){try{const r=new URL(t);return e.some(i=>{try{return Tb(r,new URL(i),n.allowPathWildcards)}catch{return!1}})}catch{return!1}}function Tb(t,e,n){if(t.protocol!==e.protocol)return!1;if(n&&e.pathname.includes("*")){const r=e.pathname.replace(/\*/g,".*").replace(/\//g,"\\/");if(!new RegExp(`^${r}$`).test(t.pathname))return!1}else if(t.pathname!==e.pathname)return!1;if(e.hostname.startsWith("*.")&&e.hostname.split(".").length>2&&["http:","https:"].includes(e.protocol)){const r=e.hostname.split(".").slice(1).join(".");return t.hostname.endsWith(r)}return t.hostname===e.hostname}const Pb=new o.OpenAPIHono().openapi(o.createRoute({tags:["oauth2"],method:"get",path:"/",request:{query:o.z.object({client_id:o.z.string(),returnTo:o.z.string().optional()}),header:o.z.object({cookie:o.z.string().optional()})},responses:{302:{description:"Log the user out"}}}),async t=>{const{client_id:e,returnTo:n}=t.req.valid("query"),r=await t.env.data.clients.get(e);if(!r)return t.text("OK");const i=await t.env.data.clients.get("DEFAULT_CLIENT");t.set("client_id",e),t.set("tenant_id",r.tenant.id);const s=n||t.req.header("referer");if(!s)return t.text("OK");if(!Wg(s,[...r.allowed_logout_urls||[],...(i==null?void 0:i.allowed_logout_urls)||[]],{allowPathWildcards:!0}))throw new I(400,{message:"Invalid redirect uri"});const a=t.req.header("cookie");if(a){const l=ls(r.tenant.id,a);if(l){const d=await t.env.data.sessions.get(r.tenant.id,l);if(d){const p=await t.env.data.users.get(r.tenant.id,d.user_id);p&&(t.set("user_id",p.user_id),t.set("connection",p.connection));const f=await t.env.data.refreshTokens.list(r.tenant.id,{q:`session_id=${l}`,page:0,per_page:100,include_totals:!1});await Promise.all(f.refresh_tokens.map(m=>t.env.data.refreshTokens.remove(r.tenant.id,m.id))),await t.env.data.sessions.update(r.tenant.id,l,{revoked_at:new Date().toISOString()})}}}const c=we(t,{type:ge.SUCCESS_LOGOUT,description:"User successfully logged out"});return await t.env.data.logs.create(r.tenant.id,c),new Response("Redirecting",{status:302,headers:{"set-cookie":X0(r.tenant.id,t.req.header("host")),location:s}})}),Lp=o.z.object({sub:o.z.string(),email:o.z.string().optional(),family_name:o.z.string().optional(),given_name:o.z.string().optional(),email_verified:o.z.boolean()}),Bb=new o.OpenAPIHono().openapi(o.createRoute({tags:["oauth2"],method:"get",path:"/",request:{},security:[{Bearer:["openid"]}],responses:{200:{content:{"application/json":{schema:Lp}},description:"Userinfo"}}}),async t=>{if(!t.var.user)throw new I(404,{message:"User not found"});const e=await t.env.data.users.get(t.var.user.tenant_id,t.var.user.sub);if(!e)throw new I(404,{message:"User not found"});return t.json(Lp.parse({...e,sub:e.user_id}))}),Rb=new o.OpenAPIHono().openapi(o.createRoute({tags:["well known"],method:"get",path:"/jwks.json",request:{},responses:{200:{content:{"application/json":{schema:gf}},description:"List of tenants"}}}),async t=>{const e=await t.env.data.keys.list(),n=await Promise.all(e.map(async r=>{const s=await new rd(r.cert).publicKey.export(),a=await crypto.subtle.exportKey("jwk",s);return sl.parse({...a,kid:r.kid})}));return t.json({keys:n},{headers:{"access-control-allow-origin":"*","access-control-allow-method":"GET","cache-control":`public, max-age=${$i}, stale-while-revalidate=${$i*2}, stale-if-error=86400`}})}).openapi(o.createRoute({tags:["well known"],method:"get",path:"/openid-configuration",request:{},responses:{200:{content:{"application/json":{schema:Ea}},description:"List of tenants"}}}),async t=>{const e=Ea.parse({issuer:wb(t.env),authorization_endpoint:`${je(t.env)}authorize`,token_endpoint:`${je(t.env)}oauth/token`,device_authorization_endpoint:`${je(t.env)}oauth/device/code`,userinfo_endpoint:`${je(t.env)}userinfo`,mfa_challenge_endpoint:`${je(t.env)}mfa/challenge`,jwks_uri:`${je(t.env)}.well-known/jwks.json`,registration_endpoint:`${je(t.env)}oidc/register`,revocation_endpoint:`${je(t.env)}oauth/revoke`,scopes_supported:["openid","profile","offline_access","name","given_name","family_name","nickname","email","email_verified","picture","created_at","identities","phone","address"],response_types_supported:["code","token","id_token","code token","code id_token","token id_token","code token id_token"],code_challenge_methods_supported:["S256","plain"],response_modes_supported:["query","fragment","form_post"],subject_types_supported:["public"],id_token_signing_alg_values_supported:["RS256"],token_endpoint_auth_methods_supported:["client_secret_basic","client_secret_post"],claims_supported:["aud","auth_time","created_at","email","email_verified","exp","family_name","given_name","iat","identities","iss","name","nickname","phone_number","picture","sub"],request_uri_parameter_supported:!1,request_parameter_supported:!1,token_endpoint_auth_signing_alg_values_supported:["RS256","RS384","PS256"]});return t.json(e,{headers:{"access-control-allow-origin":"*","access-control-allow-method":"GET","cache-control":`public, max-age=${$i}, stale-while-revalidate=${$i*2}, stale-if-error=86400`}})});function Fi(t,e){if(!t||!e||t.length!==e.length)return!1;let n=0;for(let r=0;r<t.length;r++)n|=t.charCodeAt(r)^e.charCodeAt(r);return n===0}const Gg=o.z.object({grant_type:o.z.literal("client_credentials"),scope:o.z.string().optional(),client_secret:o.z.string(),client_id:o.z.string(),audience:o.z.string().optional()});async function Lb(t,e){const n=await t.env.data.clients.get(e.client_id);if(!n)throw new I(403,{message:"Invalid client credentials"});if(n.client_secret&&!Fi(n.client_secret,e.client_secret))throw new I(403,{message:"Invalid client credentials"});const r={client_id:n.id,scope:e.scope,audience:e.audience},i=await no(t,{authParams:r,client:n});return t.json(i)}const Ub=o.z.object({grant_type:o.z.literal("authorization_code"),client_id:o.z.string(),code:o.z.string(),redirect_uri:o.z.string().optional(),client_secret:o.z.string().optional(),code_verifier:o.z.string().optional()}).refine(t=>"client_secret"in t&&!("code_verifier"in t)||!("client_secret"in t)&&"code_verifier"in t,{message:"Must provide either client_secret (standard flow) or code_verifier/code_verifier_mode (PKCE flow), but not both"});async function Vb(t,e){const n=await t.env.data.clients.get(e.client_id);if(!n)throw new I(403,{message:"Client not found"});const r=await t.env.data.codes.get(n.tenant.id,e.code,"authorization_code");if(!r||!r.user_id)throw new I(403,{message:"Invalid client credentials"});if(new Date(r.expires_at)<new Date)throw new I(403,{message:"Code expired"});if(r.used_at)throw new I(403,{message:"Code already used"});const i=await t.env.data.loginSessions.get(n.tenant.id,r.login_id);if(!i)throw new I(403,{message:"Invalid login"});if("client_secret"in e){const a=await t.env.data.clients.get("DEFAULT_CLIENT");if(!Fi(n.client_secret,e.client_secret)&&!Fi(a==null?void 0:a.client_secret,e.client_secret))throw new I(403,{message:"Invalid client credentials"})}else if("code_verifier"in e&&typeof e.code_verifier=="string"&&"code_challenge_method"in i.authParams&&typeof i.authParams.code_challenge_method=="string"){const a=await D0(e.code_verifier,i.authParams.code_challenge_method);if(!Fi(a,i.authParams.code_challenge||""))throw new I(403,{message:"Invalid client credentials"})}if(i.authParams.redirect_uri&&i.authParams.redirect_uri!==e.redirect_uri)throw new I(403,{message:"Invalid redirect uri"});const s=await t.env.data.users.get(n.tenant.id,r.user_id);if(!s)throw new I(403,{message:"User not found"});return await t.env.data.codes.used(n.tenant.id,e.code),ln(t,{user:s,client:n,loginSession:i,authParams:{...i.authParams,response_mode:Rt.WEB_MESSAGE}})}const qb=o.z.object({grant_type:o.z.literal("refresh_token"),client_id:o.z.string(),redirect_uri:o.z.string().optional(),refresh_token:o.z.string()});async function Mb(t,e){const n=await t.env.data.clients.get(e.client_id);if(!n)throw new I(403,{message:"Client not found"});const r=await t.env.data.refreshTokens.get(n.tenant.id,e.refresh_token);if(r){if(r.expires_at&&new Date(r.expires_at)<new Date||r.idle_expires_at&&new Date(r.idle_expires_at)<new Date)throw new I(403,{message:JSON.stringify({error:"invalid_grant",error_description:"Refresh token has expired"})})}else throw new I(403,{message:JSON.stringify({error:"invalid_grant",error_description:"Invalid refresh token"})});const i=await t.env.data.users.get(n.tenant.id,r.user_id);if(!i)throw new I(403,{message:"User not found"});const s=r.resource_servers[0];if(r.idle_expires_at){const a=new Date(Date.now()+2592e6);await t.env.data.refreshTokens.update(n.tenant.id,r.id,{idle_expires_at:a.toISOString(),last_exchanged_at:new Date().toISOString(),device:{...r.device,last_ip:t.req.header["x-real-ip"]||"",last_user_agent:t.req.header["user-agent"]||""}})}return ln(t,{user:i,client:n,refreshToken:r.id,sessionId:r.session_id,authParams:{client_id:n.id,audience:s==null?void 0:s.audience,scope:s==null?void 0:s.scopes,response_mode:Rt.WEB_MESSAGE}})}function od(t){return t.includes("@")?"email":"sms"}const Db=o.z.object({client_id:o.z.string(),username:o.z.string().transform(t=>t.toLowerCase()),otp:o.z.string(),authParams:Mr.optional()});async function Jg(t,{client_id:e,username:n,otp:r,authParams:i}){const s=await t.env.data.clients.get(e);if(!s)throw new I(403,{message:"Client not found"});return ad(t,s,i||{client_id:e,response_type:It.TOKEN_ID_TOKEN,response_mode:Rt.WEB_MESSAGE},n,r)}async function ad(t,e,n,r,i,s,a){const{env:c}=t,l=await c.data.codes.get(e.tenant.id,i,"otp");if(!l)throw new I(400,{message:"Code not found or expired"});if(l.expires_at<new Date().toISOString())throw new I(400,{message:"Code expired"});if(l.used_at)throw new I(400,{message:"Code already used"});const d=od(r),p=await c.data.loginSessions.get(e.tenant.id,l.login_id);if(!p||p.authParams.username!==r)throw new I(400,{message:"Code not found or expired"});const f=Ht(t.req);if(a&&p.ip!==f.ip)return t.redirect(`${at(t.env)}invalid-session?state=${p.id}`);const m=await so(t,{client:e,username:r,provider:d,connection:d,isSocial:!1,ip:t.req.header("x-real-ip")});return await c.data.codes.used(e.tenant.id,i),ln(t,{user:m,client:e,loginSession:p,authParams:n,ticketAuth:s})}const Up=o.z.object({client_id:o.z.string().optional(),client_secret:o.z.string().optional()}),Hb=o.z.union([Gg.extend(Up.shape),o.z.object({grant_type:o.z.literal("authorization_code"),client_id:o.z.string(),code:o.z.string(),redirect_uri:o.z.string(),code_verifier:o.z.string().min(43).max(128)}),o.z.object({grant_type:o.z.literal("authorization_code"),code:o.z.string(),redirect_uri:o.z.string().optional(),...Up.shape}),o.z.object({grant_type:o.z.literal("refresh_token"),client_id:o.z.string(),refresh_token:o.z.string(),redirect_uri:o.z.string().optional()}),o.z.object({grant_type:o.z.literal("http://auth0.com/oauth/grant-type/passwordless/otp"),client_id:o.z.string(),username:o.z.string(),otp:o.z.string(),realm:o.z.enum(["email","sms"])})]);function Fb(t){if(!t)return{};const[e,n]=t.split(" ");if((e==null?void 0:e.toLowerCase())==="basic"&&n){const[r,i]=atob(n).split(":");return{client_id:r,client_secret:i}}return{}}const Kb=new o.OpenAPIHono().openapi(o.createRoute({tags:["oauth2"],method:"post",path:"/",request:{body:{content:{"application/x-www-form-urlencoded":{schema:Hb}}}},responses:{200:{content:{"application/json":{schema:bf}},description:"Tokens"}}}),async t=>{const e=t.req.valid("form"),n=Fb(t.req.header("Authorization")),r={...e,...n};if(!r.client_id)throw new I(400,{message:"client_id is required"});switch(t.set("client_id",r.client_id),e.grant_type){case Wn.AuthorizationCode:return Vb(t,Ub.parse(r));case Wn.ClientCredential:return Lb(t,Gg.parse(r));case Wn.RefreshToken:return Mb(t,qb.parse(r));case Wn.OTP:return Jg(t,Db.parse(r));default:throw new I(400,{message:"Not implemented"})}});var cd={exports:{}};const ld=[{id:0,value:"Too weak",minDiversity:0,minLength:0},{id:1,value:"Weak",minDiversity:2,minLength:6},{id:2,value:"Medium",minDiversity:4,minLength:8},{id:3,value:"Strong",minDiversity:4,minLength:10}],Zg=(t,e=ld,n="!\"#$%&'()*+,-./:;<=>?@[\\\\\\]^_`{|}~")=>{let r=t||"";e[0].minDiversity=0,e[0].minLength=0;const i=[{regex:"[a-z]",message:"lowercase"},{regex:"[A-Z]",message:"uppercase"},{regex:"[0-9]",message:"number"}];n&&i.push({regex:`[${n}]`,message:"symbol"});let s={};s.contains=i.filter(c=>new RegExp(`${c.regex}`).test(r)).map(c=>c.message),s.length=r.length;let a=e.filter(c=>s.contains.length>=c.minDiversity).filter(c=>s.length>=c.minLength).sort((c,l)=>l.id-c.id).map(c=>({id:c.id,value:c.value}));return Object.assign(s,a[0]),s};cd.exports={passwordStrength:Zg,defaultOptions:ld};var Wb=cd.exports.passwordStrength=Zg;cd.exports.defaultOptions=ld;function dd(t){return Wb(t).id<2?!1:t.length>=8&&/[a-z]/.test(t)&&/[A-Z]/.test(t)&&/[0-9]/.test(t)&&/[^A-Za-z0-9]/.test(t)}async function Ai(t,e){var i;const n=await t.env.data.emailProviders.get(t.var.tenant_id)||(t.env.DEFAULT_TENANT_ID?await t.env.data.emailProviders.get(t.env.DEFAULT_TENANT_ID):null);if(!n)throw new I(500,{message:"Email provider not found"});const r=(i=t.env.emailProviders)==null?void 0:i[n.name];if(!r)throw new I(500,{message:"Email provider not found"});await r({emailProvider:n,...e,from:n.default_from_address||`login@${t.env.ISSUER}`})}async function Gb(t,e){var a,c;const n=await t.env.data.tenants.get(t.var.tenant_id);if(!n)throw new I(500,{message:"Tenant not found"});const r=(await t.env.data.connections.list(t.var.tenant_id)).connections.find(l=>l.strategy==="sms")||(t.env.DEFAULT_TENANT_ID?(await t.env.data.connections.list(t.env.DEFAULT_TENANT_ID)).connections.find(l=>l.strategy==="sms"):null);if(!r)throw new I(500,{message:"SMS provider not found"});const i=((a=r.options)==null?void 0:a.provider)||"twilio",s=(c=t.env.smsProviders)==null?void 0:c[i];if(!s)throw new I(500,{message:"SMS provider not found"});await s({options:r.options,to:e.to,text:e.text,template:"auth-code",data:{code:e.code,tenantName:n.name,tenantId:n.id}})}async function Yg(t,e,n,r){const i=await t.env.data.tenants.get(t.var.tenant_id);if(!i)throw new I(500,{message:"Tenant not found"});const s=`${at(t.env)}reset-password?state=${r}&code=${n}`,a={vendorName:i.name,lng:i.language||"en"};await Ai(t,{to:e,subject:re("reset_password_title",a),html:`Click here to reset your password: ${at(t.env)}reset-password?state=${r}&code=${n}`,template:"auth-password-reset",data:{vendorName:i.name,logo:i.logo||"",passwordResetUrl:s,supportUrl:i.support_url||"https://support.sesamy.com",buttonColor:i.primary_color||"#7d68f4",passwordResetTitle:re("password_reset_title",a),resetPasswordEmailClickToReset:re("reset_password_email_click_to_reset",a),resetPasswordEmailReset:re("reset_password_email_reset",a),supportInfo:re("support_info",a),contactUs:re("contact_us",a),copyright:re("copyright",a),tenantName:i.name,tenantId:i.id}})}async function Xg(t,{to:e,code:n}){const r=await t.env.data.tenants.get(t.var.tenant_id);if(!r)throw new I(500,{message:"Tenant not found"});const i=od(e),s=new URL(at(t.env)),a={vendorName:r.name,vendorId:r.id,loginDomain:s.hostname,code:n,lng:r.language||"en"};i==="email"?await Ai(t,{to:e,subject:re("code_email_subject",a),html:`Click here to validate your email: ${at(t.env)}validate-email`,template:"auth-code",data:{code:n,vendorName:r.name,logo:r.logo||"",supportUrl:r.support_url||"",buttonColor:r.primary_color||"",welcomeToYourAccount:re("welcome_to_your_account",a),linkEmailClickToLogin:re("link_email_click_to_login",a),linkEmailLogin:re("link_email_login",a),linkEmailOrEnterCode:re("link_email_or_enter_code",a),codeValid30Mins:re("code_valid_30_minutes",a),supportInfo:re("support_info",a),contactUs:re("contact_us",a),copyright:re("copyright",a)}}):i==="sms"&&await Gb(t,{to:e,text:re("sms_code_text",a),code:n});const c=we(t,{type:ge.CODE_LINK_SENT,description:e});zt(t,t.env.data.logs.create(r.id,c))}async function ud(t,{to:e,code:n,authParams:r}){const i=await t.env.data.tenants.get(t.var.tenant_id);if(!i)throw new I(500,{message:"Tenant not found"});if(!r.redirect_uri)throw new I(400,{message:"redirect_uri is required"});const s=od(e),a=new URL(je(t.env));a.pathname="passwordless/verify_redirect",a.searchParams.set("verification_code",n),a.searchParams.set("connection",s),a.searchParams.set("client_id",r.client_id),a.searchParams.set("redirect_uri",r.redirect_uri),a.searchParams.set("email",e),r.response_type&&a.searchParams.set("response_type",r.response_type),r.scope&&a.searchParams.set("scope",r.scope),r.state&&a.searchParams.set("state",r.state),r.nonce&&a.searchParams.set("nonce",r.nonce),r.code_challenge&&a.searchParams.set("code_challenge",r.code_challenge),r.code_challenge_method&&a.searchParams.set("code_challenge_method",r.code_challenge_method),r.audience&&a.searchParams.set("audience",r.audience);const c={vendorName:i.name,code:n,lng:i.language||"en"};if(s!=="email")throw new I(400,{message:"Only email connections are supported for magic links"});await Ai(t,{to:e,subject:re("code_email_subject",c),html:`Click here to validate your email: ${at(t.env)}validate-email`,template:"auth-link",data:{code:n,vendorName:i.name,logo:i.logo||"",supportUrl:i.support_url||"",magicLink:a.toString(),buttonColor:i.primary_color||"",welcomeToYourAccount:re("welcome_to_your_account",c),linkEmailClickToLogin:re("link_email_click_to_login",c),linkEmailLogin:re("link_email_login",c),linkEmailOrEnterCode:re("link_email_or_enter_code",c),codeValid30Mins:re("code_valid_30_minutes",c),supportInfo:re("support_info",c),contactUs:re("contact_us",c),copyright:re("copyright",c)}});const l=we(t,{type:ge.CODE_LINK_SENT,description:e});zt(t,t.env.data.logs.create(i.id,l))}async function pd(t,e){const n=await t.env.data.tenants.get(t.var.tenant_id);if(!n)throw new I(500,{message:"Tenant not found"});if(!e.email)throw new I(400,{message:"User has no email"});const r={vendorName:n.name,lng:n.language||"en"};await Ai(t,{to:e.email,subject:re("welcome_to_your_account",r),html:`Click here to validate your email: ${at(t.env)}validate-email`,template:"auth-verify-email",data:{vendorName:n.name,logo:n.logo||"",emailValidationUrl:`${at(t.env)}validate-email`,supportUrl:n.support_url||"https://support.sesamy.com",buttonColor:n.primary_color||"#7d68f4",welcomeToYourAccount:re("welcome_to_your_account",r),verifyEmailVerify:re("verify_email_verify",r),supportInfo:re("support_info",r),contactUs:re("contact_us",r),copyright:re("copyright",r)}})}async function Jb(t,e,n,r){const i=await t.env.data.tenants.get(t.var.tenant_id);if(!i)throw new I(500,{message:"Tenant not found"});const s={vendorName:i.name,lng:i.language||"en"},a=`${at(t.env)}signup?state=${r}&code=${n}`;await Ai(t,{to:e,subject:re("register_password_account",s),html:`Click here to register: ${a}`,template:"auth-pre-signup-verification",data:{vendorName:i.name,logo:i.logo||"",signupUrl:a,setPassword:re("set_password",s),registerPasswordAccount:re("register_password_account",s),clickToSignUpDescription:re("click_to_sign_up_description",s),supportUrl:i.support_url||"https://support.sesamy.com",buttonColor:i.primary_color||"#7d68f4",welcomeToYourAccount:re("welcome_to_your_account",s),verifyEmailVerify:re("verify_email_verify",s),supportInfo:re("support_info",s),contactUs:re("contact_us",s),copyright:re("copyright",s)}})}const Zb=new o.OpenAPIHono().openapi(o.createRoute({tags:["dbconnections"],method:"post",path:"/signup",request:{body:{content:{"application/json":{schema:o.z.object({client_id:o.z.string(),connection:o.z.literal("Username-Password-Authentication"),email:o.z.string().transform(t=>t.toLowerCase()),password:o.z.string()})}}}},responses:{200:{content:{"application/json":{schema:o.z.object({_id:o.z.string(),email:o.z.string().optional(),email_verified:o.z.boolean(),app_metadata:o.z.object({}),user_metadata:o.z.object({})})}},description:"Created user"}}}),async t=>{const{email:e,password:n,client_id:r}=t.req.valid("json"),i=await t.env.data.clients.get(r);if(!i)throw new I(400,{message:"Client not found"});if(t.set("client_id",i.id),t.set("tenant_id",i.tenant.id),!dd(n))throw new I(400,{message:"Password does not meet the requirements"});if(await ds({userAdapter:t.env.data.users,tenant_id:i.tenant.id,username:e,provider:"auth2"}))throw new I(400,{message:"Invalid sign up"});const a=await t.env.data.users.create(i.tenant.id,{user_id:`auth2|${Qs()}`,email:e,email_verified:!1,provider:"auth2",connection:"Username-Password-Authentication",is_social:!1});t.set("user_id",a.user_id),t.set("username",a.email),t.set("connection",a.connection);const c=await oi.hash(n,10);await t.env.data.passwords.create(i.tenant.id,{user_id:a.user_id,password:c,algorithm:"bcrypt"}),await pd(t,a);const l=we(t,{type:ge.SUCCESS_SIGNUP,description:"Successful signup"});return await t.env.data.logs.create(i.tenant.id,l),t.json({_id:a.user_id,email:a.email,email_verified:!1,app_metadata:{},user_metadata:{}})}).openapi(o.createRoute({tags:["dbconnections"],method:"post",path:"/change_password",request:{body:{content:{"application/json":{schema:o.z.object({client_id:o.z.string(),connection:o.z.literal("Username-Password-Authentication"),email:o.z.string().transform(t=>t.toLowerCase())})}}}},responses:{200:{description:"Redirect to the client's redirect uri"}}}),async t=>{const{email:e,client_id:n}=t.req.valid("json"),r=await t.env.data.clients.get(n);if(!r)throw new I(400,{message:"Client not found"});if(t.set("client_id",r.id),t.set("tenant_id",r.tenant.id),!await fr({userAdapter:t.env.data.users,tenant_id:r.tenant.id,username:e,provider:"auth2"}))return t.html("If an account with that email exists, we've sent instructions to reset your password.");const s={client_id:n,username:e},a=await t.env.data.loginSessions.create(r.tenant.id,{expires_at:new Date(Date.now()+Qn*1e3).toISOString(),authParams:s,csrf_token:ke(),...Ht(t.req)});return await Yg(t,e,a.id,a.authParams.state),t.html("If an account with that email exists, we've sent instructions to reset your password.")});function Pn(){const t="1234567890";let e="";for(let n=0;n<6;n+=1)e+=t[Math.floor(Math.random()*10)];return e.toString()}const Yb=new o.OpenAPIHono().openapi(o.createRoute({tags:["passwordless"],method:"post",path:"/start",request:{body:{content:{"application/json":{schema:o.z.union([o.z.object({connection:o.z.literal("email"),client_id:o.z.string(),email:o.z.string().transform(t=>t.toLowerCase()),send:o.z.enum(["link","code"]),authParams:Mr.omit({client_id:!0})}),o.z.object({client_id:o.z.string(),connection:o.z.literal("sms"),phone_number:o.z.string(),send:o.z.enum(["link","code"]),authParams:Mr.omit({client_id:!0})})])}}}},responses:{200:{description:"Status"}}}),async t=>{const e=t.req.valid("json"),{env:n}=t,{client_id:r,send:i,authParams:s,connection:a}=e,c=await t.env.data.clients.get(r);if(!c)throw new I(400,{message:"Client not found"});t.set("client_id",c.id),t.set("tenant_id",c.tenant.id);const l=a==="email"?e.email:e.phone_number,d=await n.data.loginSessions.create(c.tenant.id,{authParams:{...s,client_id:r,username:l},expires_at:new Date(Date.now()+Na).toISOString(),csrf_token:ke(),...Ht(t.req)}),p=await n.data.codes.create(c.tenant.id,{code_id:Pn(),code_type:"otp",login_id:d.id,expires_at:new Date(Date.now()+Na).toISOString()});return i==="link"?await ud(t,{to:l,code:p.code_id,authParams:{...s,client_id:r}}):await Xg(t,{to:l,code:p.code_id}),t.html("OK")}).openapi(o.createRoute({tags:["passwordless"],method:"get",path:"/verify_redirect",request:{query:o.z.object({scope:o.z.string(),response_type:o.z.nativeEnum(It),redirect_uri:o.z.string(),state:o.z.string(),nonce:o.z.string().optional(),verification_code:o.z.string(),connection:o.z.string(),client_id:o.z.string(),email:o.z.string().transform(t=>t.toLowerCase()),audience:o.z.string().optional()})},responses:{302:{description:"Status"}}}),async t=>{const{env:e}=t,{client_id:n,email:r,verification_code:i,redirect_uri:s,state:a,scope:c,audience:l,response_type:d,nonce:p}=t.req.valid("query"),f=await Yo(e,n);return t.set("client_id",f.id),t.set("tenant_id",f.tenant.id),t.set("connection","email"),ad(t,f,{client_id:n,redirect_uri:s,state:a,nonce:p,scope:c,audience:l,response_type:d},r,i,!1,!0)});class jr extends I{constructor(n,r){super(n,r);te(this,"_code");this._code=r==null?void 0:r.code}get code(){return this._code}}async function fd(t,e,n,r,i){const{env:s}=t,{username:a}=n;if(t.set("username",a),!a)throw new I(400,{message:"Username is required"});const c=await fr({userAdapter:t.env.data.users,tenant_id:e.tenant.id,username:a,provider:"auth2"});if(!c){const h=we(t,{type:ge.FAILED_LOGIN_INCORRECT_PASSWORD,description:"Invalid user"});throw zt(t,t.env.data.logs.create(e.tenant.id,h)),new jr(403,{message:"User not found",code:"USER_NOT_FOUND"})}const l=c.linked_to?await s.data.users.get(e.tenant.id,c.linked_to):c;if(!l)throw new jr(403,{message:"User not found",code:"USER_NOT_FOUND"});t.set("connection",c.connection),t.set("user_id",l.user_id);const d=await s.data.passwords.get(e.tenant.id,c.user_id);if(!(d&&await oi.compare(n.password,d.password))){const h=we(t,{type:ge.FAILED_LOGIN_INCORRECT_PASSWORD,description:"Invalid password"});throw zt(t,t.env.data.logs.create(e.tenant.id,h)),new jr(403,{message:"Invalid password",code:"INVALID_PASSWORD"})}if((await s.data.logs.list(e.tenant.id,{page:0,per_page:10,include_totals:!1,q:`user_id:${l.user_id}`})).logs.filter(h=>h.type===ge.FAILED_LOGIN_INCORRECT_PASSWORD&&new Date(h.date)>new Date(Date.now()-1e3*60*5)).length>=3){const h=we(t,{type:ge.FAILED_LOGIN,description:"Too many failed login attempts"});throw zt(t,t.env.data.logs.create(e.tenant.id,h)),new jr(403,{message:"Too many failed login attempts",code:"TOO_MANY_FAILED_LOGINS"})}if(!c.email_verified&&e.email_validation==="enforced"){await pd(t,c);const h=we(t,{type:ge.FAILED_LOGIN,description:"Email not verified"});throw await t.env.data.logs.create(e.tenant.id,h),new jr(403,{message:"Email not verified",code:"EMAIL_NOT_VERIFIED"})}const w=we(t,{type:ge.SUCCESS_LOGIN,description:"Successful login",strategy_type:"Username-Password-Authentication",strategy:"Username-Password-Authentication"});return zt(t,t.env.data.logs.create(e.tenant.id,w)),ln(t,{client:e,authParams:n,user:l,ticketAuth:i,loginSession:r})}async function Xb(t,e,n,r){await so(t,{client:e,username:n,provider:"auth2",connection:"Username-Password-Authentication",isSocial:!1,ip:t.req.header("x-real-ip")});let i=Pn(),s=await t.env.data.codes.get(e.tenant.id,i,"password_reset");for(;s;)i=Pn(),s=await t.env.data.codes.get(e.tenant.id,i,"password_reset");const a=await t.env.data.loginSessions.create(e.tenant.id,{expires_at:new Date(Date.now()+Z0).toISOString(),authParams:{client_id:e.id,username:n},csrf_token:ke(),...Ht(t.req)}),c=await t.env.data.codes.create(e.tenant.id,{code_id:i,code_type:"password_reset",login_id:a.id,expires_at:new Date(Date.now()+J0).toISOString()});await Yg(t,n,c.code_id,r)}const Qb=new o.OpenAPIHono().openapi(o.createRoute({tags:["oauth"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:o.z.union([o.z.object({credential_type:o.z.literal("http://auth0.com/oauth/grant-type/passwordless/otp"),otp:o.z.string(),client_id:o.z.string(),username:o.z.string().transform(t=>t.toLowerCase()),realm:o.z.enum(["email"]),scope:o.z.string().optional()}),o.z.object({credential_type:o.z.literal("http://auth0.com/oauth/grant-type/password-realm"),client_id:o.z.string(),username:o.z.string().transform(t=>t.toLowerCase()),password:o.z.string(),realm:o.z.enum(["Username-Password-Authentication"]),scope:o.z.string().optional()})])}}}},responses:{200:{description:"List of tenants"}}}),async t=>{const e=t.req.valid("json"),{client_id:n,username:r}=e;t.set("username",r);const i=await t.env.data.clients.get(n);if(!i)throw new I(400,{message:"Client not found"});t.set("client_id",n),t.set("tenant_id",i.tenant.id);const s=r.toLocaleLowerCase();if("otp"in e)return ad(t,i,{client_id:n,username:s},s,e.otp,!0);if("password"in e){const a=await t.env.data.loginSessions.create(i.tenant.id,{expires_at:new Date(Date.now()+Qn*1e3).toISOString(),authParams:{client_id:n,username:s},csrf_token:ke(),...Ht(t.req)});return fd(t,i,{username:s,password:e.password,client_id:n},a,!0)}else throw new I(400,{message:"Code or password required"})});function e1(t,e){var r,i,s;if(!t||e.length===0)return!1;const n=((r=_a(t))==null?void 0:r.host)??null;if(!n)return!1;for(const a of e){let c;if(a.startsWith("http://")||a.startsWith("https://")?c=((i=_a(a))==null?void 0:i.host)??null:c=((s=_a("https://"+a))==null?void 0:s.host)??null,n===c)return!0}return!1}function _a(t){try{return new URL(t)}catch{return null}}async function t1({ctx:t,session:e,client:n,authParams:r,connection:i,login_hint:s}){const a=await t.env.data.loginSessions.create(n.tenant.id,{expires_at:new Date(Date.now()+Qn*1e3).toISOString(),authParams:r,csrf_token:ke(),authorization_url:t.req.url,...Ht(t.req)});if(e&&s){const c=await t.env.data.users.get(n.tenant.id,e.user_id);if((c==null?void 0:c.email)===s)return ln(t,{client:n,loginSession:a,authParams:r,user:c,sessionId:e.id})}if(i==="email"&&s){const c=Pn();return await t.env.data.codes.create(n.tenant.id,{code_id:c,code_type:"otp",login_id:a.id,expires_at:new Date(Date.now()+Qn*1e3).toISOString()}),await ud(t,{code:c,to:s,authParams:r}),t.redirect(`/u/enter-code?state=${a.id}`)}return e?t.redirect(`/u/check-account?state=${a.id}`):t.redirect(`/u/login/identifier?state=${a.id}`)}function n1(t){if(t==="Username-Password-Authentication")return"auth2";if(t==="email")return"email";throw new I(403,{message:"Invalid realm"})}async function r1(t,e,n,r,i){var m;const{env:s}=t;t.set("connection",i);const a=await s.data.codes.get(e,n,"ticket");if(!a||a.used_at)throw new I(403,{message:"Ticket not found"});const c=await s.data.loginSessions.get(e,a.login_id);if(!c||!c.authParams.username)throw new I(403,{message:"Session not found"});const l=await s.data.clients.get(c.authParams.client_id);if(!l)throw new I(403,{message:"Client not found"});t.set("client_id",c.authParams.client_id),await s.data.codes.used(e,n);const d=n1(i);let p=await so(t,{username:c.authParams.username,provider:d,client:l,connection:d==="auth2"?"Username-Password-Authentication":"email",isSocial:!1,ip:t.req.header("x-real-ip")});t.set("username",p.email||p.phone_number),t.set("user_id",p.user_id);const f=await Hf(t,{user:p,client:l,loginSession:c});return ln(t,{authParams:{scope:(m=c.authParams)==null?void 0:m.scope,...r},loginSession:c,sessionId:f.id,user:p,client:l})}async function Vp(t,e){return`<!DOCTYPE html>
150
150
  <html>
151
151
 
152
152
  <head>
@@ -189,17 +189,17 @@ PERFORMANCE OF THIS SOFTWARE.
189
189
  <\/script>
190
190
  </body>
191
191
 
192
- </html>`}async function i1({ctx:t,client:e,session:n,redirect_uri:r,state:i,nonce:s,code_challenge_method:a,code_challenge:c,audience:l,scope:d,response_type:p}){const{env:f}=t,m=new URL(r),w=`${m.protocol}//${m.host}`;async function h(ce="Login required"){const le=we(t,{type:he.FAILED_SILENT_AUTH,description:ce});return await t.env.data.logs.create(e.tenant.id,le),t.html(qp(w,JSON.stringify({error:"login_required",error_description:ce,state:i})))}if(!n||(n==null?void 0:n.expires_at)&&new Date(n.expires_at)<new Date||(n==null?void 0:n.idle_expires_at)&&new Date(n.idle_expires_at)<new Date)return h();t.set("user_id",n.user_id);const v=await f.data.users.get(e.tenant.id,n.user_id);if(!v)return console.error("User not found",n.user_id),h("User not found");t.set("username",v.email),t.set("connection",v.connection);const A={client:e,authParams:{client_id:e.id,audience:l,code_challenge_method:a,code_challenge:c,scope:d,state:i,nonce:s,response_type:p},user:v,session_id:n.id},C=p===It.CODE?await Hf(t,A):await no(t,A);await f.data.sessions.update(e.tenant.id,n.id,{used_at:new Date().toISOString(),last_interaction_at:new Date().toISOString(),device:{...n.device,last_ip:t.req.header("x-real-ip")||"",last_user_agent:t.req.header("user-agent")||""},idle_expires_at:n.idle_expires_at?new Date(Date.now()+eo*1e3).toISOString():void 0});const O=we(t,{type:he.SUCCESS_SILENT_AUTH,description:"Successful silent authentication"});await t.env.data.logs.create(e.tenant.id,O);const L=new Headers;L.set("Server-Timing","cf-nel=0; no-cloudflare-insights=1");const Q=Bf(e.tenant.id,n.id,t.req.header("host"));return L.set("set-cookie",Q),t.html(qp(w,JSON.stringify(C)),{headers:L})}const s1=new o.OpenAPIHono().openapi(o.createRoute({tags:["oauth"],method:"get",path:"/",request:{query:o.z.object({client_id:o.z.string(),vendor_id:o.z.string().optional(),redirect_uri:o.z.string(),scope:o.z.string().optional(),state:o.z.string(),prompt:o.z.string().optional(),response_mode:o.z.nativeEnum(Rt).optional(),response_type:o.z.nativeEnum(It).optional(),audience:o.z.string().optional(),connection:o.z.string().optional(),nonce:o.z.string().optional(),max_age:o.z.string().optional(),login_ticket:o.z.string().optional(),code_challenge_method:o.z.nativeEnum(Ys).optional(),code_challenge:o.z.string().optional(),realm:o.z.string().optional(),auth0Client:o.z.string().optional(),organization:o.z.string().optional(),login_hint:o.z.string().optional(),screen_hint:o.z.string().openapi({example:"signup",description:'Optional hint for the screen to show, like "signup" or "login".'}).optional(),ui_locales:o.z.string().optional()})},responses:{200:{description:"Silent authentication page"},302:{description:"Redirect to the client's redirect uri"}}}),async t=>{const{env:e}=t,{client_id:n,vendor_id:r,redirect_uri:i,scope:s,state:a,audience:c,nonce:l,connection:d,response_type:p,response_mode:f,code_challenge:m,code_challenge_method:w,prompt:h,login_ticket:_,realm:v,auth0Client:A,login_hint:C,ui_locales:O,organization:L}=t.req.valid("query");t.set("log","authorize");const Q=await Yo(e,n);t.set("client_id",Q.id),t.set("tenant_id",Q.tenant.id);const ce={redirect_uri:i,scope:s,state:a,client_id:n,vendor_id:r,audience:c,nonce:l,prompt:h,response_type:p,response_mode:f,code_challenge:m,code_challenge_method:w,username:C,ui_locales:O,organization:L},le=t.req.header("origin");if(le&&!e1(le,Q.web_origins||[]))throw new I(403,{message:`Origin ${le} not allowed`});if(ce.redirect_uri&&!Xo(ce.redirect_uri,Q.callbacks||[],{allowPathWildcards:!0}))throw new I(400,{message:`Invalid redirect URI - ${ce.redirect_uri}`});const He=ls(Q.tenant.id,t.req.header("cookie")),Ve=He?await e.data.sessions.get(Q.tenant.id,He):void 0,Re=Ve&&!Ve.revoked_at?Ve:void 0;if(h=="none"){if(!p)throw new I(400,{message:"Missing response_type"});return i1({ctx:t,session:Re||void 0,redirect_uri:i,state:a,response_type:p,client:Q,nonce:l,code_challenge_method:w,code_challenge:m,audience:c,scope:s})}return d&&d!=="email"?Ob(t,Q,d,ce):_?r1(t,Q.tenant.id,_,ce,v):t1({ctx:t,client:Q,auth0Client:A,authParams:ce,session:Re||void 0,connection:d,login_hint:C})});function o1(t){const e=new o.OpenAPIHono;e.use(async(r,i)=>(r.env.data=ro(r,t.dataAdapter),i())),e.use("/oauth/token",af({origin:r=>r||"",allowHeaders:["Tenant-Id","Content-Type","Auth0-Client","Upgrade-Insecure-Requests"],allowMethods:["POST"],maxAge:600})),e.use(sd).use(Lg(e));const n=e.route("/v2/logout",Pb).route("/userinfo",Bb).route("/.well-known",Rb).route("/oauth/token",Kb).route("/dbconnections",Zb).route("/passwordless",Yb).route("/co/authenticate",Qb).route("/authorize",s1).route("/callback",Tb);return n.doc("/spec",{openapi:"3.0.0",info:{version:"1.0.0",title:"Oauth API"},security:[{oauth2:["openid","email","profile"]}]}),Rg(n),n}var a1={Stringify:1,BeforeStream:2,Stream:3},mt=(t,e)=>{const n=new String(t);return n.isEscaped=!0,n.callbacks=e,n},c1=/[&<>'"]/,Qg=async(t,e)=>{let n="";e||(e=[]);const r=await Promise.all(t);for(let i=r.length-1;n+=r[i],i--,!(i<0);i--){let s=r[i];typeof s=="object"&&e.push(...s.callbacks||[]);const a=s.isEscaped;if(s=await(typeof s=="object"?s.toString():s),typeof s=="object"&&e.push(...s.callbacks||[]),s.isEscaped??a)n+=s;else{const c=[n];en(s,c),n=c[0]}}return mt(n,e)},en=(t,e)=>{const n=t.search(c1);if(n===-1){e[0]+=t;return}let r,i,s=0;for(i=n;i<t.length;i++){switch(t.charCodeAt(i)){case 34:r="&quot;";break;case 39:r="&#39;";break;case 38:r="&amp;";break;case 60:r="&lt;";break;case 62:r="&gt;";break;default:continue}e[0]+=t.substring(s,i)+r,s=i+1}e[0]+=t.substring(s,i)},em=t=>{const e=t.callbacks;if(!(e!=null&&e.length))return t;const n=[t],r={};return e.forEach(i=>i({phase:a1.Stringify,buffer:n,context:r})),n[0]},l1=(t,...e)=>{const n=[""];for(let r=0,i=t.length-1;r<i;r++){n[0]+=t[r];const s=Array.isArray(e[r])?e[r].flat(1/0):[e[r]];for(let a=0,c=s.length;a<c;a++){const l=s[a];if(typeof l=="string")en(l,n);else if(typeof l=="number")n[0]+=l;else{if(typeof l=="boolean"||l===null||l===void 0)continue;if(typeof l=="object"&&l.isEscaped)if(l.callbacks)n.unshift("",l);else{const d=l.toString();d instanceof Promise?n.unshift("",d):n[0]+=d}else l instanceof Promise?n.unshift("",l):en(l.toString(),n)}}}return n[0]+=t[t.length-1],n.length===1?"callbacks"in n?mt(em(mt(n[0],n.callbacks))):mt(n[0]):Qg(n,n.callbacks)},gd=Symbol("RENDERER"),Xc=Symbol("ERROR_HANDLER"),Ae=Symbol("STASH"),tm=Symbol("INTERNAL"),d1=Symbol("MEMO"),Ws=Symbol("PERMALINK"),Mp=t=>(t[tm]=!0,t),nm=t=>({value:e,children:n})=>{if(!n)return;const r={children:[{tag:Mp(()=>{t.push(e)}),props:{}}]};Array.isArray(n)?r.children.push(...n.flat()):r.children.push(n),r.children.push({tag:Mp(()=>{t.pop()}),props:{}});const i={tag:"",props:r,type:""};return i[Xc]=s=>{throw t.pop(),s},i},rm=t=>{const e=[t],n=nm(e);return n.values=e,n.Provider=n,ur.push(n),n},ur=[],u1=t=>{const e=[t],n=r=>{e.push(r.value);let i;try{i=r.children?(Array.isArray(r.children)?new am("",{},r.children):r.children).toString():""}finally{e.pop()}return i instanceof Promise?i.then(s=>mt(s,s.callbacks)):mt(i)};return n.values=e,n.Provider=n,n[gd]=nm(e),ur.push(n),n},Ar=t=>t.values.at(-1),Ki={title:[],script:["src"],style:["data-href"],link:["href"],meta:["name","httpEquiv","charset","itemProp"]},Qc={},Wi="data-precedence",zi=t=>Array.isArray(t)?t:[t],Dp=new WeakMap,Hp=(t,e,n,r)=>({buffer:i,context:s})=>{if(!i)return;const a=Dp.get(s)||{};Dp.set(s,a);const c=a[t]||(a[t]=[]);let l=!1;const d=Ki[t];if(d.length>0){e:for(const[,p]of c)for(const f of d)if(((p==null?void 0:p[f])??null)===(n==null?void 0:n[f])){l=!0;break e}}if(l?i[0]=i[0].replaceAll(e,""):d.length>0?c.push([e,n,r]):c.unshift([e,n,r]),i[0].indexOf("</head>")!==-1){let p;if(r===void 0)p=c.map(([f])=>f);else{const f=[];p=c.map(([m,,w])=>{let h=f.indexOf(w);return h===-1&&(f.push(w),h=f.length-1),[m,h]}).sort((m,w)=>m[1]-w[1]).map(([m])=>m)}p.forEach(f=>{i[0]=i[0].replaceAll(f,"")}),i[0]=i[0].replace(/(?=<\/head>)/,p.join(""))}},Ei=(t,e,n)=>mt(new _t(t,n,zi(e??[])).toString()),Ii=(t,e,n,r)=>{if("itemProp"in n)return Ei(t,e,n);let{precedence:i,blocking:s,...a}=n;i=r?i??"":void 0,r&&(a[Wi]=i);const c=new _t(t,a,zi(e||[])).toString();return c instanceof Promise?c.then(l=>mt(c,[...l.callbacks||[],Hp(t,l,a,i)])):mt(c,[Hp(t,c,a,i)])},p1=({children:t,...e})=>{const n=md();if(n){const r=Ar(n);if(r==="svg"||r==="head")return new _t("title",e,zi(t??[]))}return Ii("title",t,e,!1)},f1=({children:t,...e})=>{const n=md();return["src","async"].some(r=>!e[r])||n&&Ar(n)==="head"?Ei("script",t,e):Ii("script",t,e,!1)},h1=({children:t,...e})=>["href","precedence"].every(n=>n in e)?(e["data-href"]=e.href,delete e.href,Ii("style",t,e,!0)):Ei("style",t,e),g1=({children:t,...e})=>["onLoad","onError"].some(n=>n in e)||e.rel==="stylesheet"&&(!("precedence"in e)||"disabled"in e)?Ei("link",t,e):Ii("link",t,e,"precedence"in e),m1=({children:t,...e})=>{const n=md();return n&&Ar(n)==="head"?Ei("meta",t,e):Ii("meta",t,e,!1)},im=(t,{children:e,...n})=>new _t(t,n,zi(e??[])),_1=t=>(typeof t.action=="function"&&(t.action=Ws in t.action?t.action[Ws]:void 0),im("form",t)),sm=(t,e)=>(typeof e.formAction=="function"&&(e.formAction=Ws in e.formAction?e.formAction[Ws]:void 0),im(t,e)),y1=t=>sm("input",t),w1=t=>sm("button",t);const wa=Object.freeze(Object.defineProperty({__proto__:null,button:w1,form:_1,input:y1,link:g1,meta:m1,script:f1,style:h1,title:p1},Symbol.toStringTag,{value:"Module"}));var v1=new Map([["className","class"],["htmlFor","for"],["crossOrigin","crossorigin"],["httpEquiv","http-equiv"],["itemProp","itemprop"],["fetchPriority","fetchpriority"],["noModule","nomodule"],["formAction","formaction"]]),Gs=t=>v1.get(t)||t,om=(t,e)=>{for(const[n,r]of Object.entries(t)){const i=n[0]==="-"||!/[A-Z]/.test(n)?n:n.replace(/[A-Z]/g,s=>`-${s.toLowerCase()}`);e(i,r==null?null:typeof r=="number"?i.match(/^(?:a|border-im|column(?:-c|s)|flex(?:$|-[^b])|grid-(?:ar|[^a])|font-w|li|or|sca|st|ta|wido|z)|ty$/)?`${r}`:`${r}px`:r)}},ri=void 0,md=()=>ri,b1=t=>/[A-Z]/.test(t)&&t.match(/^(?:al|basel|clip(?:Path|Rule)$|co|do|fill|fl|fo|gl|let|lig|i|marker[EMS]|o|pai|pointe|sh|st[or]|text[^L]|tr|u|ve|w)/)?t.replace(/([A-Z])/g,"-$1").toLowerCase():t,x1=["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],k1=["allowfullscreen","async","autofocus","autoplay","checked","controls","default","defer","disabled","download","formnovalidate","hidden","inert","ismap","itemscope","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],_d=(t,e)=>{for(let n=0,r=t.length;n<r;n++){const i=t[n];if(typeof i=="string")en(i,e);else{if(typeof i=="boolean"||i===null||i===void 0)continue;i instanceof _t?i.toStringToBuffer(e):typeof i=="number"||i.isEscaped?e[0]+=i:i instanceof Promise?e.unshift("",i):_d(i,e)}}},_t=class{constructor(t,e,n){te(this,"tag");te(this,"props");te(this,"key");te(this,"children");te(this,"isEscaped",!0);te(this,"localContexts");this.tag=t,this.props=e,this.children=n}get type(){return this.tag}get ref(){return this.props.ref||null}toString(){var e,n;const t=[""];(e=this.localContexts)==null||e.forEach(([r,i])=>{r.values.push(i)});try{this.toStringToBuffer(t)}finally{(n=this.localContexts)==null||n.forEach(([r])=>{r.values.pop()})}return t.length===1?"callbacks"in t?em(mt(t[0],t.callbacks)).toString():t[0]:Qg(t,t.callbacks)}toStringToBuffer(t){const e=this.tag,n=this.props;let{children:r}=this;t[0]+=`<${e}`;const i=ri&&Ar(ri)==="svg"?s=>b1(Gs(s)):s=>Gs(s);for(let[s,a]of Object.entries(n))if(s=i(s),s!=="children"){if(s==="style"&&typeof a=="object"){let c="";om(a,(l,d)=>{d!=null&&(c+=`${c?";":""}${l}:${d}`)}),t[0]+=' style="',en(c,t),t[0]+='"'}else if(typeof a=="string")t[0]+=` ${s}="`,en(a,t),t[0]+='"';else if(a!=null)if(typeof a=="number"||a.isEscaped)t[0]+=` ${s}="${a}"`;else if(typeof a=="boolean"&&k1.includes(s))a&&(t[0]+=` ${s}=""`);else if(s==="dangerouslySetInnerHTML"){if(r.length>0)throw"Can only set one of `children` or `props.dangerouslySetInnerHTML`.";r=[mt(a.__html)]}else if(a instanceof Promise)t[0]+=` ${s}="`,t.unshift('"',a);else if(typeof a=="function"){if(!s.startsWith("on"))throw`Invalid prop '${s}' of type 'function' supplied to '${e}'.`}else t[0]+=` ${s}="`,en(a.toString(),t),t[0]+='"'}if(x1.includes(e)&&r.length===0){t[0]+="/>";return}t[0]+=">",_d(r,t),t[0]+=`</${e}>`}},va=class extends _t{toStringToBuffer(t){const{children:e}=this,n=this.tag.call(null,{...this.props,children:e.length<=1?e[0]:e});if(!(typeof n=="boolean"||n==null))if(n instanceof Promise)if(ur.length===0)t.unshift("",n);else{const r=ur.map(i=>[i,i.values.at(-1)]);t.unshift("",n.then(i=>(i instanceof _t&&(i.localContexts=r),i)))}else n instanceof _t?n.toStringToBuffer(t):typeof n=="number"||n.isEscaped?(t[0]+=n,n.callbacks&&(t.callbacks||(t.callbacks=[]),t.callbacks.push(...n.callbacks))):en(n,t)}},am=class extends _t{toStringToBuffer(t){_d(this.children,t)}},S1=(t,e,...n)=>{e??(e={}),n.length&&(e.children=n.length===1?n[0]:n);const r=e.key;delete e.key;const i=Gi(t,e,n);return i.key=r,i},Fp=!1,Gi=(t,e,n)=>{if(!Fp){for(const r in Qc)wa[r][gd]=Qc[r];Fp=!0}return typeof t=="function"?new va(t,e,n):wa[t]?new va(wa[t],e,n):t==="svg"||t==="head"?(ri||(ri=u1("")),new _t(t,e,[new va(ri,{value:t},n)])):new _t(t,e,n)},cm=({children:t})=>new am("",{children:t},Array.isArray(t)?t:t?[t]:[]),A1=(t,e,...n)=>S1(t.tag,{...t.props,...e},...n);function y(t,e,n){let r;if(!e||!("children"in e))r=Gi(t,e,[]);else{const i=e.children;r=Array.isArray(i)?Gi(t,e,i):Gi(t,e,[i])}return r.key=n,r}const Kp={name:"sesamy",logoUrl:"https://assets.sesamy.com/static/images/email/sesamy-logo.png",style:{primaryColor:"#7D68F4",buttonTextColor:"#FFFFFF",primaryHoverColor:"#A091F2"},loginBackgroundImage:"",checkoutHideSocial:!1,supportEmail:"support@sesamy.com",supportUrl:"https://support.sesamy.com",siteUrl:"https://sesamy.com",termsAndConditionsUrl:"https://store.sesamy.com/pages/terms-of-service",manageSubscriptionsUrl:"https://account.sesamy.com/manage-subscriptions"};async function yd(t,e,n){if(!n&&!e)return Kp;const r=n||e;try{const i=await fetch(`${t.API_URL}/profile/vendors/${r}/style`);if(!i.ok)throw new Error("Failed to fetch vendor settings");const s=await i.json();return pf.parse(s)}catch(i){return console.error(i),Kp}}async function Ee(t,e,n=!1){var d;const{env:r}=t,i=await r.data.loginSessions.get(t.var.tenant_id||"",e);if(i)i.session_id;else throw new I(400,{message:"Login session not found"});t.set("loginSession",i);const s=await Yo(r,i.authParams.client_id);t.set("client_id",s.id),t.set("tenant_id",s.tenant.id);const a=await r.data.tenants.get(s.tenant.id);if(a){if(i.session_id&&!n)throw new I(400,{message:"Login session closed"})}else throw new I(400,{message:"Tenant not found"});const c=await yd(r,s.id,i.authParams.vendor_id),l=(d=i.authParams.ui_locales)==null?void 0:d.split(" ").map(p=>p.split("-")[0]).find(p=>{if(Array.isArray(B.options.supportedLngs))return B.options.supportedLngs.includes(p)});return await B.changeLanguage(l||a.language||"sv"),{vendorSettings:{...c,termsAndConditionsUrl:s.id==="fokus-app"?"https://www.fokus.se/kopvillkor-app/":c.termsAndConditionsUrl},client:s,tenant:a,loginSession:i}}async function z1(t,e,n,r){if(r!==void 0)return r==="password";const i=await io({userAdapter:t.env.data.users,tenant_id:e.tenant.id,email:n});if(i){const a=await t.env.data.logs.list(e.tenant.id,{page:0,per_page:10,include_totals:!1,sort:{sort_by:"date",sort_order:"desc"},q:`type:${he.SUCCESS_LOGIN} user_id:${i.user_id}`}),[c]=a.logs.filter(l=>l.strategy&&["Username-Password-Authentication","passwordless","email"].includes(l.strategy));if(c)return c.strategy==="Username-Password-Authentication"}return(await t.env.data.promptSettings.get(e.tenant.id)).password_first}const lm=({vendorSettings:t})=>t!=null&&t.logoUrl?y("div",{className:"flex h-9 items-center",children:y("img",{src:t.logoUrl,className:"max-h-full",alt:"Vendor logo"})}):y(cm,{}),dm=({vendorSettings:t})=>{const{termsAndConditionsUrl:e}=t;return y("div",{className:"mt-8",children:e&&y("div",{className:"text-xs text-gray-300",children:[B.t("agree_to")," ",y("a",{href:e,className:"text-primary hover:underline",target:"_blank",rel:"noreferrer",children:B.t("terms")})]})})};var um={exports:{}};/*!
192
+ </html>`}async function i1({ctx:t,client:e,session:n,redirect_uri:r,state:i,nonce:s,code_challenge_method:a,code_challenge:c,audience:l,scope:d,response_type:p}){const{env:f}=t,m=new URL(r),w=`${m.protocol}//${m.host}`;async function h(ce="Login required"){const le=we(t,{type:ge.FAILED_SILENT_AUTH,description:ce});return await t.env.data.logs.create(e.tenant.id,le),t.html(Vp(w,JSON.stringify({error:"login_required",error_description:ce,state:i})))}if(!n||(n==null?void 0:n.expires_at)&&new Date(n.expires_at)<new Date||(n==null?void 0:n.idle_expires_at)&&new Date(n.idle_expires_at)<new Date)return h();t.set("user_id",n.user_id);const v=await f.data.users.get(e.tenant.id,n.user_id);if(!v)return console.error("User not found",n.user_id),h("User not found");t.set("username",v.email),t.set("connection",v.connection);const A={client:e,authParams:{client_id:e.id,audience:l,code_challenge_method:a,code_challenge:c,scope:d,state:i,nonce:s,response_type:p},user:v,session_id:n.id},C=p===It.CODE?await Df(t,A):await no(t,A);await f.data.sessions.update(e.tenant.id,n.id,{used_at:new Date().toISOString(),last_interaction_at:new Date().toISOString(),device:{...n.device,last_ip:t.req.header("x-real-ip")||"",last_user_agent:t.req.header("user-agent")||""},idle_expires_at:n.idle_expires_at?new Date(Date.now()+eo*1e3).toISOString():void 0});const O=we(t,{type:ge.SUCCESS_SILENT_AUTH,description:"Successful silent authentication"});await t.env.data.logs.create(e.tenant.id,O);const L=new Headers;L.set("Server-Timing","cf-nel=0; no-cloudflare-insights=1");const Q=Pf(e.tenant.id,n.id,t.req.header("host"));return L.set("set-cookie",Q),t.html(Vp(w,JSON.stringify(C)),{headers:L})}const s1=new o.OpenAPIHono().openapi(o.createRoute({tags:["oauth"],method:"get",path:"/",request:{query:o.z.object({client_id:o.z.string(),vendor_id:o.z.string().optional(),redirect_uri:o.z.string(),scope:o.z.string().optional(),state:o.z.string(),prompt:o.z.string().optional(),response_mode:o.z.nativeEnum(Rt).optional(),response_type:o.z.nativeEnum(It).optional(),audience:o.z.string().optional(),connection:o.z.string().optional(),nonce:o.z.string().optional(),max_age:o.z.string().optional(),login_ticket:o.z.string().optional(),code_challenge_method:o.z.nativeEnum(Ys).optional(),code_challenge:o.z.string().optional(),realm:o.z.string().optional(),auth0Client:o.z.string().optional(),organization:o.z.string().optional(),login_hint:o.z.string().optional(),screen_hint:o.z.string().openapi({example:"signup",description:'Optional hint for the screen to show, like "signup" or "login".'}).optional(),ui_locales:o.z.string().optional()})},responses:{200:{description:"Silent authentication page"},302:{description:"Redirect to the client's redirect uri"}}}),async t=>{const{env:e}=t,{client_id:n,vendor_id:r,redirect_uri:i,scope:s,state:a,audience:c,nonce:l,connection:d,response_type:p,response_mode:f,code_challenge:m,code_challenge_method:w,prompt:h,login_ticket:_,realm:v,auth0Client:A,login_hint:C,ui_locales:O,organization:L}=t.req.valid("query");t.set("log","authorize");const Q=await Yo(e,n);t.set("client_id",Q.id),t.set("tenant_id",Q.tenant.id);const ce={redirect_uri:i,scope:s,state:a,client_id:n,vendor_id:r,audience:c,nonce:l,prompt:h,response_type:p,response_mode:f,code_challenge:m,code_challenge_method:w,username:C,ui_locales:O,organization:L},le=t.req.header("origin");if(le&&!e1(le,Q.web_origins||[]))throw new I(403,{message:`Origin ${le} not allowed`});if(ce.redirect_uri&&!Wg(ce.redirect_uri,Q.callbacks||[],{allowPathWildcards:!0}))throw new I(400,{message:`Invalid redirect URI - ${ce.redirect_uri}`});const He=ls(Q.tenant.id,t.req.header("cookie")),Ve=He?await e.data.sessions.get(Q.tenant.id,He):void 0,Re=Ve&&!Ve.revoked_at?Ve:void 0;if(h=="none"){if(!p)throw new I(400,{message:"Missing response_type"});return i1({ctx:t,session:Re||void 0,redirect_uri:i,state:a,response_type:p,client:Q,nonce:l,code_challenge_method:w,code_challenge:m,audience:c,scope:s})}return d&&d!=="email"?$b(t,Q,d,ce):_?r1(t,Q.tenant.id,_,ce,v):t1({ctx:t,client:Q,auth0Client:A,authParams:ce,session:Re||void 0,connection:d,login_hint:C})});function o1(t){const e=new o.OpenAPIHono;e.use(async(r,i)=>(r.env.data=ro(r,t.dataAdapter),i())),e.use("/oauth/token",of({origin:r=>r||"",allowHeaders:["Tenant-Id","Content-Type","Auth0-Client","Upgrade-Insecure-Requests"],allowMethods:["POST"],maxAge:600})),e.use(id).use(Rg(e));const n=e.route("/v2/logout",Pb).route("/userinfo",Bb).route("/.well-known",Rb).route("/oauth/token",Kb).route("/dbconnections",Zb).route("/passwordless",Yb).route("/co/authenticate",Qb).route("/authorize",s1).route("/callback",Ob);return n.doc("/spec",{openapi:"3.0.0",info:{version:"1.0.0",title:"Oauth API"},security:[{oauth2:["openid","email","profile"]}]}),Bg(n),n}var a1={Stringify:1,BeforeStream:2,Stream:3},mt=(t,e)=>{const n=new String(t);return n.isEscaped=!0,n.callbacks=e,n},c1=/[&<>'"]/,Qg=async(t,e)=>{let n="";e||(e=[]);const r=await Promise.all(t);for(let i=r.length-1;n+=r[i],i--,!(i<0);i--){let s=r[i];typeof s=="object"&&e.push(...s.callbacks||[]);const a=s.isEscaped;if(s=await(typeof s=="object"?s.toString():s),typeof s=="object"&&e.push(...s.callbacks||[]),s.isEscaped??a)n+=s;else{const c=[n];tn(s,c),n=c[0]}}return mt(n,e)},tn=(t,e)=>{const n=t.search(c1);if(n===-1){e[0]+=t;return}let r,i,s=0;for(i=n;i<t.length;i++){switch(t.charCodeAt(i)){case 34:r="&quot;";break;case 39:r="&#39;";break;case 38:r="&amp;";break;case 60:r="&lt;";break;case 62:r="&gt;";break;default:continue}e[0]+=t.substring(s,i)+r,s=i+1}e[0]+=t.substring(s,i)},em=t=>{const e=t.callbacks;if(!(e!=null&&e.length))return t;const n=[t],r={};return e.forEach(i=>i({phase:a1.Stringify,buffer:n,context:r})),n[0]},l1=(t,...e)=>{const n=[""];for(let r=0,i=t.length-1;r<i;r++){n[0]+=t[r];const s=Array.isArray(e[r])?e[r].flat(1/0):[e[r]];for(let a=0,c=s.length;a<c;a++){const l=s[a];if(typeof l=="string")tn(l,n);else if(typeof l=="number")n[0]+=l;else{if(typeof l=="boolean"||l===null||l===void 0)continue;if(typeof l=="object"&&l.isEscaped)if(l.callbacks)n.unshift("",l);else{const d=l.toString();d instanceof Promise?n.unshift("",d):n[0]+=d}else l instanceof Promise?n.unshift("",l):tn(l.toString(),n)}}}return n[0]+=t[t.length-1],n.length===1?"callbacks"in n?mt(em(mt(n[0],n.callbacks))):mt(n[0]):Qg(n,n.callbacks)},hd=Symbol("RENDERER"),Yc=Symbol("ERROR_HANDLER"),Ae=Symbol("STASH"),tm=Symbol("INTERNAL"),d1=Symbol("MEMO"),Ws=Symbol("PERMALINK"),qp=t=>(t[tm]=!0,t),nm=t=>({value:e,children:n})=>{if(!n)return;const r={children:[{tag:qp(()=>{t.push(e)}),props:{}}]};Array.isArray(n)?r.children.push(...n.flat()):r.children.push(n),r.children.push({tag:qp(()=>{t.pop()}),props:{}});const i={tag:"",props:r,type:""};return i[Yc]=s=>{throw t.pop(),s},i},rm=t=>{const e=[t],n=nm(e);return n.values=e,n.Provider=n,ur.push(n),n},ur=[],u1=t=>{const e=[t],n=r=>{e.push(r.value);let i;try{i=r.children?(Array.isArray(r.children)?new am("",{},r.children):r.children).toString():""}finally{e.pop()}return i instanceof Promise?i.then(s=>mt(s,s.callbacks)):mt(i)};return n.values=e,n.Provider=n,n[hd]=nm(e),ur.push(n),n},Ar=t=>t.values.at(-1),Ki={title:[],script:["src"],style:["data-href"],link:["href"],meta:["name","httpEquiv","charset","itemProp"]},Xc={},Wi="data-precedence",zi=t=>Array.isArray(t)?t:[t],Mp=new WeakMap,Dp=(t,e,n,r)=>({buffer:i,context:s})=>{if(!i)return;const a=Mp.get(s)||{};Mp.set(s,a);const c=a[t]||(a[t]=[]);let l=!1;const d=Ki[t];if(d.length>0){e:for(const[,p]of c)for(const f of d)if(((p==null?void 0:p[f])??null)===(n==null?void 0:n[f])){l=!0;break e}}if(l?i[0]=i[0].replaceAll(e,""):d.length>0?c.push([e,n,r]):c.unshift([e,n,r]),i[0].indexOf("</head>")!==-1){let p;if(r===void 0)p=c.map(([f])=>f);else{const f=[];p=c.map(([m,,w])=>{let h=f.indexOf(w);return h===-1&&(f.push(w),h=f.length-1),[m,h]}).sort((m,w)=>m[1]-w[1]).map(([m])=>m)}p.forEach(f=>{i[0]=i[0].replaceAll(f,"")}),i[0]=i[0].replace(/(?=<\/head>)/,p.join(""))}},Ei=(t,e,n)=>mt(new _t(t,n,zi(e??[])).toString()),Ii=(t,e,n,r)=>{if("itemProp"in n)return Ei(t,e,n);let{precedence:i,blocking:s,...a}=n;i=r?i??"":void 0,r&&(a[Wi]=i);const c=new _t(t,a,zi(e||[])).toString();return c instanceof Promise?c.then(l=>mt(c,[...l.callbacks||[],Dp(t,l,a,i)])):mt(c,[Dp(t,c,a,i)])},p1=({children:t,...e})=>{const n=gd();if(n){const r=Ar(n);if(r==="svg"||r==="head")return new _t("title",e,zi(t??[]))}return Ii("title",t,e,!1)},f1=({children:t,...e})=>{const n=gd();return["src","async"].some(r=>!e[r])||n&&Ar(n)==="head"?Ei("script",t,e):Ii("script",t,e,!1)},h1=({children:t,...e})=>["href","precedence"].every(n=>n in e)?(e["data-href"]=e.href,delete e.href,Ii("style",t,e,!0)):Ei("style",t,e),g1=({children:t,...e})=>["onLoad","onError"].some(n=>n in e)||e.rel==="stylesheet"&&(!("precedence"in e)||"disabled"in e)?Ei("link",t,e):Ii("link",t,e,"precedence"in e),m1=({children:t,...e})=>{const n=gd();return n&&Ar(n)==="head"?Ei("meta",t,e):Ii("meta",t,e,!1)},im=(t,{children:e,...n})=>new _t(t,n,zi(e??[])),_1=t=>(typeof t.action=="function"&&(t.action=Ws in t.action?t.action[Ws]:void 0),im("form",t)),sm=(t,e)=>(typeof e.formAction=="function"&&(e.formAction=Ws in e.formAction?e.formAction[Ws]:void 0),im(t,e)),y1=t=>sm("input",t),w1=t=>sm("button",t);const ya=Object.freeze(Object.defineProperty({__proto__:null,button:w1,form:_1,input:y1,link:g1,meta:m1,script:f1,style:h1,title:p1},Symbol.toStringTag,{value:"Module"}));var v1=new Map([["className","class"],["htmlFor","for"],["crossOrigin","crossorigin"],["httpEquiv","http-equiv"],["itemProp","itemprop"],["fetchPriority","fetchpriority"],["noModule","nomodule"],["formAction","formaction"]]),Gs=t=>v1.get(t)||t,om=(t,e)=>{for(const[n,r]of Object.entries(t)){const i=n[0]==="-"||!/[A-Z]/.test(n)?n:n.replace(/[A-Z]/g,s=>`-${s.toLowerCase()}`);e(i,r==null?null:typeof r=="number"?i.match(/^(?:a|border-im|column(?:-c|s)|flex(?:$|-[^b])|grid-(?:ar|[^a])|font-w|li|or|sca|st|ta|wido|z)|ty$/)?`${r}`:`${r}px`:r)}},ri=void 0,gd=()=>ri,b1=t=>/[A-Z]/.test(t)&&t.match(/^(?:al|basel|clip(?:Path|Rule)$|co|do|fill|fl|fo|gl|let|lig|i|marker[EMS]|o|pai|pointe|sh|st[or]|text[^L]|tr|u|ve|w)/)?t.replace(/([A-Z])/g,"-$1").toLowerCase():t,x1=["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],k1=["allowfullscreen","async","autofocus","autoplay","checked","controls","default","defer","disabled","download","formnovalidate","hidden","inert","ismap","itemscope","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],md=(t,e)=>{for(let n=0,r=t.length;n<r;n++){const i=t[n];if(typeof i=="string")tn(i,e);else{if(typeof i=="boolean"||i===null||i===void 0)continue;i instanceof _t?i.toStringToBuffer(e):typeof i=="number"||i.isEscaped?e[0]+=i:i instanceof Promise?e.unshift("",i):md(i,e)}}},_t=class{constructor(t,e,n){te(this,"tag");te(this,"props");te(this,"key");te(this,"children");te(this,"isEscaped",!0);te(this,"localContexts");this.tag=t,this.props=e,this.children=n}get type(){return this.tag}get ref(){return this.props.ref||null}toString(){var e,n;const t=[""];(e=this.localContexts)==null||e.forEach(([r,i])=>{r.values.push(i)});try{this.toStringToBuffer(t)}finally{(n=this.localContexts)==null||n.forEach(([r])=>{r.values.pop()})}return t.length===1?"callbacks"in t?em(mt(t[0],t.callbacks)).toString():t[0]:Qg(t,t.callbacks)}toStringToBuffer(t){const e=this.tag,n=this.props;let{children:r}=this;t[0]+=`<${e}`;const i=ri&&Ar(ri)==="svg"?s=>b1(Gs(s)):s=>Gs(s);for(let[s,a]of Object.entries(n))if(s=i(s),s!=="children"){if(s==="style"&&typeof a=="object"){let c="";om(a,(l,d)=>{d!=null&&(c+=`${c?";":""}${l}:${d}`)}),t[0]+=' style="',tn(c,t),t[0]+='"'}else if(typeof a=="string")t[0]+=` ${s}="`,tn(a,t),t[0]+='"';else if(a!=null)if(typeof a=="number"||a.isEscaped)t[0]+=` ${s}="${a}"`;else if(typeof a=="boolean"&&k1.includes(s))a&&(t[0]+=` ${s}=""`);else if(s==="dangerouslySetInnerHTML"){if(r.length>0)throw"Can only set one of `children` or `props.dangerouslySetInnerHTML`.";r=[mt(a.__html)]}else if(a instanceof Promise)t[0]+=` ${s}="`,t.unshift('"',a);else if(typeof a=="function"){if(!s.startsWith("on"))throw`Invalid prop '${s}' of type 'function' supplied to '${e}'.`}else t[0]+=` ${s}="`,tn(a.toString(),t),t[0]+='"'}if(x1.includes(e)&&r.length===0){t[0]+="/>";return}t[0]+=">",md(r,t),t[0]+=`</${e}>`}},wa=class extends _t{toStringToBuffer(t){const{children:e}=this,n=this.tag.call(null,{...this.props,children:e.length<=1?e[0]:e});if(!(typeof n=="boolean"||n==null))if(n instanceof Promise)if(ur.length===0)t.unshift("",n);else{const r=ur.map(i=>[i,i.values.at(-1)]);t.unshift("",n.then(i=>(i instanceof _t&&(i.localContexts=r),i)))}else n instanceof _t?n.toStringToBuffer(t):typeof n=="number"||n.isEscaped?(t[0]+=n,n.callbacks&&(t.callbacks||(t.callbacks=[]),t.callbacks.push(...n.callbacks))):tn(n,t)}},am=class extends _t{toStringToBuffer(t){md(this.children,t)}},S1=(t,e,...n)=>{e??(e={}),n.length&&(e.children=n.length===1?n[0]:n);const r=e.key;delete e.key;const i=Gi(t,e,n);return i.key=r,i},Hp=!1,Gi=(t,e,n)=>{if(!Hp){for(const r in Xc)ya[r][hd]=Xc[r];Hp=!0}return typeof t=="function"?new wa(t,e,n):ya[t]?new wa(ya[t],e,n):t==="svg"||t==="head"?(ri||(ri=u1("")),new _t(t,e,[new wa(ri,{value:t},n)])):new _t(t,e,n)},cm=({children:t})=>new am("",{children:t},Array.isArray(t)?t:t?[t]:[]),A1=(t,e,...n)=>S1(t.tag,{...t.props,...e},...n);function y(t,e,n){let r;if(!e||!("children"in e))r=Gi(t,e,[]);else{const i=e.children;r=Array.isArray(i)?Gi(t,e,i):Gi(t,e,[i])}return r.key=n,r}const Fp={name:"sesamy",logoUrl:"https://assets.sesamy.com/static/images/email/sesamy-logo.png",style:{primaryColor:"#7D68F4",buttonTextColor:"#FFFFFF",primaryHoverColor:"#A091F2"},loginBackgroundImage:"",checkoutHideSocial:!1,supportEmail:"support@sesamy.com",supportUrl:"https://support.sesamy.com",siteUrl:"https://sesamy.com",termsAndConditionsUrl:"https://store.sesamy.com/pages/terms-of-service",manageSubscriptionsUrl:"https://account.sesamy.com/manage-subscriptions"};async function _d(t,e,n){if(!n&&!e)return Fp;const r=n||e;try{const i=await fetch(`${t.API_URL}/profile/vendors/${r}/style`);if(!i.ok)throw new Error("Failed to fetch vendor settings");const s=await i.json();return uf.parse(s)}catch(i){return console.error(i),Fp}}async function Ee(t,e,n=!1){var d;const{env:r}=t,i=await r.data.loginSessions.get(t.var.tenant_id||"",e);if(i)i.session_id;else throw new I(400,{message:"Login session not found"});t.set("loginSession",i);const s=await Yo(r,i.authParams.client_id);t.set("client_id",s.id),t.set("tenant_id",s.tenant.id);const a=await r.data.tenants.get(s.tenant.id);if(a){if(i.session_id&&!n)throw new I(400,{message:"Login session closed"})}else throw new I(400,{message:"Tenant not found"});const c=await _d(r,s.id,i.authParams.vendor_id),l=(d=i.authParams.ui_locales)==null?void 0:d.split(" ").map(p=>p.split("-")[0]).find(p=>{if(Array.isArray(B.options.supportedLngs))return B.options.supportedLngs.includes(p)});return await B.changeLanguage(l||a.language||"sv"),{vendorSettings:{...c,termsAndConditionsUrl:s.id==="fokus-app"?"https://www.fokus.se/kopvillkor-app/":c.termsAndConditionsUrl},client:s,tenant:a,loginSession:i}}async function z1(t,e,n,r){if(r!==void 0)return r==="password";const i=await io({userAdapter:t.env.data.users,tenant_id:e.tenant.id,email:n});if(i){const a=await t.env.data.logs.list(e.tenant.id,{page:0,per_page:10,include_totals:!1,sort:{sort_by:"date",sort_order:"desc"},q:`type:${ge.SUCCESS_LOGIN} user_id:${i.user_id}`}),[c]=a.logs.filter(l=>l.strategy&&["Username-Password-Authentication","passwordless","email"].includes(l.strategy));if(c)return c.strategy==="Username-Password-Authentication"}return(await t.env.data.promptSettings.get(e.tenant.id)).password_first}const lm=({vendorSettings:t})=>t!=null&&t.logoUrl?y("div",{className:"flex h-9 items-center",children:y("img",{src:t.logoUrl,className:"max-h-full",alt:"Vendor logo"})}):y(cm,{}),dm=({vendorSettings:t})=>{const{termsAndConditionsUrl:e}=t;return y("div",{className:"mt-8",children:e&&y("div",{className:"text-xs text-gray-300",children:[B.t("agree_to")," ",y("a",{href:e,className:"text-primary hover:underline",target:"_blank",rel:"noreferrer",children:B.t("terms")})]})})};var um={exports:{}};/*!
193
193
  Copyright (c) 2018 Jed Watson.
194
194
  Licensed under the MIT License (MIT), see
195
195
  http://jedwatson.github.io/classnames
196
- */(function(t){(function(){var e={}.hasOwnProperty;function n(){for(var s="",a=0;a<arguments.length;a++){var c=arguments[a];c&&(s=i(s,r(c)))}return s}function r(s){if(typeof s=="string"||typeof s=="number")return s;if(typeof s!="object")return"";if(Array.isArray(s))return n.apply(null,s);if(s.toString!==Object.prototype.toString&&!s.toString.toString().includes("[native code]"))return s.toString();var a="";for(var c in s)e.call(s,c)&&s[c]&&(a=i(a,c));return a}function i(s,a){return a?s?s+" "+a:s+a:s}t.exports?(n.default=n,t.exports=n):window.classNames=n})()})(um);var E1=um.exports;const Dt=Cf(E1),I1=t=>t==="small"?"text-base":t==="medium"?"text-2xl":t==="large"?"text-3xl":"",Ge=({name:t,size:e,className:n=""})=>{const r=I1(e);return y("span",{className:Dt(`uicon-${t}`,n,r)})};var Wp=Object.freeze,C1=Object.defineProperty,N1=(t,e)=>Wp(C1(t,"raw",{value:Wp(t.slice())})),Gp;const j1=t=>{const{style:e}=t;return`
196
+ */(function(t){(function(){var e={}.hasOwnProperty;function n(){for(var s="",a=0;a<arguments.length;a++){var c=arguments[a];c&&(s=i(s,r(c)))}return s}function r(s){if(typeof s=="string"||typeof s=="number")return s;if(typeof s!="object")return"";if(Array.isArray(s))return n.apply(null,s);if(s.toString!==Object.prototype.toString&&!s.toString.toString().includes("[native code]"))return s.toString();var a="";for(var c in s)e.call(s,c)&&s[c]&&(a=i(a,c));return a}function i(s,a){return a?s?s+" "+a:s+a:s}t.exports?(n.default=n,t.exports=n):window.classNames=n})()})(um);var E1=um.exports;const Dt=If(E1),I1=t=>t==="small"?"text-base":t==="medium"?"text-2xl":t==="large"?"text-3xl":"",Ge=({name:t,size:e,className:n=""})=>{const r=I1(e);return y("span",{className:Dt(`uicon-${t}`,n,r)})};var Kp=Object.freeze,C1=Object.defineProperty,N1=(t,e)=>Kp(C1(t,"raw",{value:Kp(t.slice())})),Wp;const j1=t=>{const{style:e}=t;return`
197
197
  body {
198
198
  --primary-color: ${e.primaryColor};
199
199
  --primary-hover: ${e.primaryHoverColor};
200
200
  --text-on-primary: ${e.buttonTextColor};
201
201
  }
202
- `},$1="https://assets.sesamy.com/images/login-bg.jpg",Ue=({title:t,children:e,vendorSettings:n})=>{const r={backgroundImage:`url(${(n==null?void 0:n.loginBackgroundImage)||$1})`};return y("html",{lang:"en",children:[y("head",{children:[y("title",{children:t}),y("meta",{charset:"UTF-8"}),y("meta",{name:"robots",content:"noindex, follow"}),y("link",{rel:"preload",href:"https://assets.sesamy.com/fonts/khteka/WOFF2/KHTeka-Regular.woff2",as:"font",type:"font/woff2",crossOrigin:"anonymous"}),y("link",{rel:"preload",href:"https://assets.sesamy.com/fonts/khteka/WOFF2/KHTeka-Medium.woff2",as:"font",type:"font/woff2",crossOrigin:"anonymous"}),y("link",{rel:"preload",href:"https://assets.sesamy.com/fonts/khteka/WOFF2/KHTeka-Bold.woff2",as:"font",type:"font/woff2",crossOrigin:"anonymous"}),y("link",{rel:"stylesheet",href:"/u/css/tailwind.css"}),y("meta",{name:"viewport",content:"width=device-width, initial-scale=1, maximum-scale=1"}),y("style",{children:j1(n)}),y("meta",{name:"theme-color",content:"#000000"})]}),y("body",{children:y("div",{className:"row min-h-full w-full overflow-hidden bg-cover bg-center text-sm sm:bg-fixed sm:bg-left-top sm:pt-16 py-2",style:r,children:y("div",{className:"row-up-left w-[calc(100%-theme(space.2)-theme(space.2))] max-w-[1295px] !flex-nowrap sm:w-[calc(100%-theme(space.16)-theme(space.16))]",children:y("div",{className:"column-left w-full sm:w-auto",children:[y("div",{className:"relative flex w-full flex-col rounded-2xl bg-white px-5 py-10 dark:bg-gray-800 dark:text-white sm:min-h-[700px] sm:max-w-md sm:px-14 sm:py-14 md:min-w-[448px] short:min-h-[558px] min-h-[calc(100vh-83px)]",children:[y("div",{className:"mb-16",children:y(lm,{vendorSettings:n})}),y("div",{className:"flex flex-1 flex-col",children:[e,y(dm,{vendorSettings:n})]})]}),y("div",{className:"flex w-full items-center px-6 pb-8 pt-4 justify-between",children:[y("div",{className:"flex justify-center leading-[0]",children:y("a",{href:"https://sesamy.com",target:"_blank",rel:"noreferrer",children:y(Ge,{name:"sesamy",className:"text-xl text-white"})})}),y("div",{className:"flex justify-center space-x-2 text-xs text-white sm:justify-normal md:text-xs",children:n.supportUrl&&y("a",{className:"text-xs text-white hover:underline md:text-xs",href:n.supportUrl,target:"_blank",rel:"noopener noreferrer",children:B.t("contact_support")})})]})]})})})}),l1(Gp||(Gp=N1([`
202
+ `},$1="https://assets.sesamy.com/images/login-bg.jpg",Ue=({title:t,children:e,vendorSettings:n})=>{const r={backgroundImage:`url(${(n==null?void 0:n.loginBackgroundImage)||$1})`};return y("html",{lang:"en",children:[y("head",{children:[y("title",{children:t}),y("meta",{charset:"UTF-8"}),y("meta",{name:"robots",content:"noindex, follow"}),y("link",{rel:"preload",href:"https://assets.sesamy.com/fonts/khteka/WOFF2/KHTeka-Regular.woff2",as:"font",type:"font/woff2",crossOrigin:"anonymous"}),y("link",{rel:"preload",href:"https://assets.sesamy.com/fonts/khteka/WOFF2/KHTeka-Medium.woff2",as:"font",type:"font/woff2",crossOrigin:"anonymous"}),y("link",{rel:"preload",href:"https://assets.sesamy.com/fonts/khteka/WOFF2/KHTeka-Bold.woff2",as:"font",type:"font/woff2",crossOrigin:"anonymous"}),y("link",{rel:"stylesheet",href:"/u/css/tailwind.css"}),y("meta",{name:"viewport",content:"width=device-width, initial-scale=1, maximum-scale=1"}),y("style",{children:j1(n)}),y("meta",{name:"theme-color",content:"#000000"})]}),y("body",{children:y("div",{className:"row min-h-full w-full overflow-hidden bg-cover bg-center text-sm sm:bg-fixed sm:bg-left-top sm:pt-16 py-2",style:r,children:y("div",{className:"row-up-left w-[calc(100%-theme(space.2)-theme(space.2))] max-w-[1295px] !flex-nowrap sm:w-[calc(100%-theme(space.16)-theme(space.16))]",children:y("div",{className:"column-left w-full sm:w-auto",children:[y("div",{className:"relative flex w-full flex-col rounded-2xl bg-white px-5 py-10 dark:bg-gray-800 dark:text-white sm:min-h-[700px] sm:max-w-md sm:px-14 sm:py-14 md:min-w-[448px] short:min-h-[558px] min-h-[calc(100vh-83px)]",children:[y("div",{className:"mb-16",children:y(lm,{vendorSettings:n})}),y("div",{className:"flex flex-1 flex-col",children:[e,y(dm,{vendorSettings:n})]})]}),y("div",{className:"flex w-full items-center px-6 pb-8 pt-4 justify-between",children:[y("div",{className:"flex justify-center leading-[0]",children:y("a",{href:"https://sesamy.com",target:"_blank",rel:"noreferrer",children:y(Ge,{name:"sesamy",className:"text-xl text-white"})})}),y("div",{className:"flex justify-center space-x-2 text-xs text-white sm:justify-normal md:text-xs",children:n.supportUrl&&y("a",{className:"text-xs text-white hover:underline md:text-xs",href:n.supportUrl,target:"_blank",rel:"noopener noreferrer",children:B.t("contact_support")})})]})]})})})}),l1(Wp||(Wp=N1([`
203
203
  <script>
204
204
  // Add loading class to submit button on form submission
205
205
  var form = document.getElementById("form");
@@ -214,12 +214,12 @@ PERFORMANCE OF THIS SOFTWARE.
214
214
  }
215
215
  });
216
216
  <\/script>
217
- `])))]})},Un=({children:t})=>y("div",{className:"mb-2 text-sm text-red",children:t}),O1=t=>t==="small"?"text-base":t==="medium"?"text-2xl":t==="large"?"text-3xl":"",pm=({size:t})=>{const e=O1(t);return y("div",{className:"relative inline-block leading-[0]",children:[y(Ge,{className:Dt("text-gray-200 dark:text-[#201a41]",{[e]:e}),name:"spinner-circle"}),y(Ge,{className:Dt("absolute inset-0 animate-spin text-primary",{[e]:e}),name:"spinner-inner"})]})},Ze=({children:t,className:e,Component:n="button",variant:r="primary",href:i,disabled:s,isLoading:a,id:c})=>{const l=n==="a"?{href:i}:{};return y(n,{class:Dt("btn relative w-full rounded-lg text-center",{"px-4 py-5":r!=="custom","bg-primary text-textOnPrimary hover:bg-primaryHover":r==="primary","border border-gray-300 bg-white text-black":r==="secondary","pointer-events-none cursor-not-allowed opacity-40":s,"is-loading":a},"focus:outline-none focus:ring",e),type:"submit",disabled:s,id:c,...l,children:[y("span",{className:"btn-label flex items-center justify-center space-x-2",children:t}),y("div",{className:"btn-spinner absolute left-0 top-0 flex h-full w-full items-center justify-center",children:y(pm,{size:"medium"})})]})},$r=({connection:t,text:e,icon:n=null,canResize:r=!1,loginSession:i})=>{const s=new URLSearchParams({client_id:i.authParams.client_id,connection:t});i.authParams.response_type&&s.set("response_type",i.authParams.response_type),i.authParams.redirect_uri&&s.set("redirect_uri",i.authParams.redirect_uri),i.authParams.scope&&s.set("scope",i.authParams.scope),i.authParams.nonce&&s.set("nonce",i.authParams.nonce),i.authParams.response_type&&s.set("response_type",i.authParams.response_type),i.authParams.state&&s.set("state",i.id);const a=`/authorize?${s.toString()}`;return y(Ze,{className:Dt("border border-gray-200 bg-white hover:bg-gray-100 dark:border-gray-400 dark:bg-black dark:hover:bg-black/90",{"px-0 py-3 sm:px-10 sm:py-4 short:px-0 short:py-3":r,"px-10 py-3":!r}),variant:"custom","aria-label":e,Component:"a",href:a,children:[n||"",y("div",{className:Dt("text-left text-black dark:text-white sm:text-base",{"hidden sm:inline short:hidden":r}),children:e})]})},fm=({...t})=>y("svg",{width:"45",height:"45",viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",...t,children:[y("path",{d:"M44.1035 23.0123C44.1054 21.4791 43.9758 19.9486 43.716 18.4375H22.498V27.1028H34.6507C34.4021 28.4868 33.8757 29.8061 33.1034 30.9812C32.3311 32.1562 31.3289 33.1628 30.1571 33.9401V39.5649H37.41C41.6567 35.6494 44.1035 29.859 44.1035 23.0123Z",fill:"#4285F4"}),y("path",{d:"M22.4982 44.9997C28.5698 44.9997 33.6821 43.0061 37.4101 39.5687L30.1573 33.9439C28.1386 35.3126 25.5387 36.0938 22.4982 36.0938C16.6296 36.0938 11.6485 32.1377 9.86736 26.8066H2.39575V32.6033C4.26839 36.3297 7.13989 39.4622 10.6896 41.6512C14.2394 43.8402 18.3277 44.9995 22.4982 44.9997Z",fill:"#34A853"}),y("path",{d:"M9.86737 26.8073C8.92572 24.0138 8.92572 20.9886 9.86737 18.1951V12.3984H2.39576C0.820432 15.5332 0 18.9929 0 22.5012C0 26.0095 0.820432 29.4692 2.39576 32.604L9.86737 26.8073Z",fill:"#FBBC04"}),y("path",{d:"M22.4982 8.90741C25.7068 8.85499 28.8071 10.0673 31.1291 12.2823L37.5507 5.86064C33.4788 2.03602 28.0843 -0.0637686 22.4982 0.00147616C18.3277 0.00166623 14.2394 1.16098 10.6896 3.34999C7.13989 5.539 4.26839 8.67155 2.39575 12.3979L9.86736 18.1946C11.6485 12.8635 16.6296 8.90741 22.4982 8.90741Z",fill:"#EA4335"})]}),Wt=({children:t,className:e})=>y("form",{id:"form",method:"post",className:e,children:t}),hm=({...t})=>y("svg",{version:"1.1",id:"Layer_1",xmlns:"http://www.w3.org/2000/svg",x:"0px",y:"0px",viewBox:"0 0 48 48",enableBackground:"new 0 0 48 48",width:"45",height:"45",...t,children:[y("path",{fill:"#FF5B24",d:"M3.5,8h41c1.9,0,3.5,1.6,3.5,3.5v25c0,1.9-1.6,3.5-3.5,3.5h-41C1.6,40,0,38.4,0,36.5v-25C0,9.6,1.6,8,3.5,8z"}),y("path",{fillRule:"evenodd",clipRule:"evenodd",fill:"#FFFFFF",d:`M27.9,20.3c1.4,0,2.6-1,2.6-2.5h0c0-1.5-1.2-2.5-2.6-2.5c-1.4,0-2.6,1-2.6,2.5C25.3,19.2,26.5,20.3,27.9,20.3z
217
+ `])))]})},Un=({children:t})=>y("div",{className:"mb-2 text-sm text-red",children:t}),O1=t=>t==="small"?"text-base":t==="medium"?"text-2xl":t==="large"?"text-3xl":"",pm=({size:t})=>{const e=O1(t);return y("div",{className:"relative inline-block leading-[0]",children:[y(Ge,{className:Dt("text-gray-200 dark:text-[#201a41]",{[e]:e}),name:"spinner-circle"}),y(Ge,{className:Dt("absolute inset-0 animate-spin text-primary",{[e]:e}),name:"spinner-inner"})]})},Ze=({children:t,className:e,Component:n="button",variant:r="primary",href:i,disabled:s,isLoading:a,id:c})=>{const l=n==="a"?{href:i}:{};return y(n,{class:Dt("btn relative w-full rounded-lg text-center",{"px-4 py-5":r!=="custom","bg-primary text-textOnPrimary hover:bg-primaryHover":r==="primary","border border-gray-300 bg-white text-black":r==="secondary","pointer-events-none cursor-not-allowed opacity-40":s,"is-loading":a},"focus:outline-none focus:ring",e),type:"submit",disabled:s,id:c,...l,children:[y("span",{className:"btn-label flex items-center justify-center space-x-2",children:t}),y("div",{className:"btn-spinner absolute left-0 top-0 flex h-full w-full items-center justify-center",children:y(pm,{size:"medium"})})]})},$r=({connection:t,text:e,icon:n=null,canResize:r=!1,loginSession:i})=>{const s=new URLSearchParams({client_id:i.authParams.client_id,connection:t});i.authParams.response_type&&s.set("response_type",i.authParams.response_type),i.authParams.redirect_uri&&s.set("redirect_uri",i.authParams.redirect_uri),i.authParams.scope&&s.set("scope",i.authParams.scope),i.authParams.nonce&&s.set("nonce",i.authParams.nonce),i.authParams.response_type&&s.set("response_type",i.authParams.response_type),i.authParams.state&&s.set("state",i.id);const a=`/authorize?${s.toString()}`;return y(Ze,{className:Dt("border border-gray-200 bg-white hover:bg-gray-100 dark:border-gray-400 dark:bg-black dark:hover:bg-black/90",{"px-0 py-3 sm:px-10 sm:py-4 short:px-0 short:py-3":r,"px-10 py-3":!r}),variant:"custom","aria-label":e,Component:"a",href:a,children:[n||"",y("div",{className:Dt("text-left text-black dark:text-white sm:text-base",{"hidden sm:inline short:hidden":r}),children:e})]})},fm=({...t})=>y("svg",{width:"45",height:"45",viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",...t,children:[y("path",{d:"M44.1035 23.0123C44.1054 21.4791 43.9758 19.9486 43.716 18.4375H22.498V27.1028H34.6507C34.4021 28.4868 33.8757 29.8061 33.1034 30.9812C32.3311 32.1562 31.3289 33.1628 30.1571 33.9401V39.5649H37.41C41.6567 35.6494 44.1035 29.859 44.1035 23.0123Z",fill:"#4285F4"}),y("path",{d:"M22.4982 44.9997C28.5698 44.9997 33.6821 43.0061 37.4101 39.5687L30.1573 33.9439C28.1386 35.3126 25.5387 36.0938 22.4982 36.0938C16.6296 36.0938 11.6485 32.1377 9.86736 26.8066H2.39575V32.6033C4.26839 36.3297 7.13989 39.4622 10.6896 41.6512C14.2394 43.8402 18.3277 44.9995 22.4982 44.9997Z",fill:"#34A853"}),y("path",{d:"M9.86737 26.8073C8.92572 24.0138 8.92572 20.9886 9.86737 18.1951V12.3984H2.39576C0.820432 15.5332 0 18.9929 0 22.5012C0 26.0095 0.820432 29.4692 2.39576 32.604L9.86737 26.8073Z",fill:"#FBBC04"}),y("path",{d:"M22.4982 8.90741C25.7068 8.85499 28.8071 10.0673 31.1291 12.2823L37.5507 5.86064C33.4788 2.03602 28.0843 -0.0637686 22.4982 0.00147616C18.3277 0.00166623 14.2394 1.16098 10.6896 3.34999C7.13989 5.539 4.26839 8.67155 2.39575 12.3979L9.86736 18.1946C11.6485 12.8635 16.6296 8.90741 22.4982 8.90741Z",fill:"#EA4335"})]}),Gt=({children:t,className:e})=>y("form",{id:"form",method:"post",className:e,children:t}),hm=({...t})=>y("svg",{version:"1.1",id:"Layer_1",xmlns:"http://www.w3.org/2000/svg",x:"0px",y:"0px",viewBox:"0 0 48 48",enableBackground:"new 0 0 48 48",width:"45",height:"45",...t,children:[y("path",{fill:"#FF5B24",d:"M3.5,8h41c1.9,0,3.5,1.6,3.5,3.5v25c0,1.9-1.6,3.5-3.5,3.5h-41C1.6,40,0,38.4,0,36.5v-25C0,9.6,1.6,8,3.5,8z"}),y("path",{fillRule:"evenodd",clipRule:"evenodd",fill:"#FFFFFF",d:`M27.9,20.3c1.4,0,2.6-1,2.6-2.5h0c0-1.5-1.2-2.5-2.6-2.5c-1.4,0-2.6,1-2.6,2.5C25.3,19.2,26.5,20.3,27.9,20.3z
218
218
  M31.2,24.4c-1.7,2.2-3.5,3.8-6.7,3.8h0c-3.2,0-5.8-2-7.7-4.8c-0.8-1.2-2-1.4-2.9-0.8c-0.8,0.6-1,1.8-0.3,2.9
219
- c2.7,4.1,6.5,6.6,10.9,6.6c4,0,7.2-2,9.6-5.2c0.9-1.2,0.9-2.5,0-3.1C33.3,22.9,32.1,23.2,31.2,24.4z`})]}),el=({error:t,vendorSettings:e,loginSession:n,email:r,client:i,impersonation:s})=>{const a=i.connections.map(({name:m})=>m),c=a.includes("facebook"),l=a.includes("google-oauth2"),d=a.includes("apple"),p=a.includes("vipps"),f=c||l||d||p;return y(Ue,{title:B.t("welcome"),vendorSettings:e,children:[y("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:B.t("welcome")}),y("div",{className:"mb-8 text-gray-300",children:B.t("login_description")}),y("div",{className:"flex flex-1 flex-col justify-center",children:[y(Wt,{className:"mb-7",children:[y("input",{type:"email",name:"username",placeholder:B.t("email_placeholder"),className:Dt("mb-2 w-full rounded-lg border bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",{"border-red":t,"border-gray-100 dark:border-gray-500":!t}),required:!0,value:r||""}),s&&y("input",{type:"email",name:"act_as",placeholder:"Impersonate as",className:Dt("mb-2 w-full rounded-lg border bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",{"border-red":t,"border-gray-100 dark:border-gray-500":!t}),required:!0,value:""}),t&&y(Un,{children:t}),y(Ze,{className:"sm:mt-4 !text-base",children:[y("span",{children:B.t("continue")}),y(Ge,{className:"text-xs",name:"arrow-right"})]})]}),f&&y("div",{className:"relative mb-5 block text-center text-gray-300 dark:text-gray-300",children:[y("div",{className:"absolute left-0 right-0 top-1/2 border-b border-gray-200 dark:border-gray-600"}),y("div",{className:"relative inline-block bg-white px-2 dark:bg-gray-800",children:B.t("continue_social_login")})]}),y("div",{className:"flex space-x-4 sm:flex-col sm:space-x-0 sm:space-y-4 short:flex-row short:space-x-4 short:space-y-0",children:[c&&y($r,{connection:"facebook",text:B.t("continue_with",{provider:"Facebook"}),canResize:!0,icon:y(Ge,{className:"text-xl text-[#1196F5] sm:absolute sm:left-4 sm:top-1/2 sm:-translate-y-1/2 sm:text-2xl short:static short:left-auto short:top-auto short:translate-y-0 short:text-xl",name:"facebook"}),loginSession:n}),l&&y($r,{connection:"google-oauth2",text:B.t("continue_with",{provider:"Google"}),canResize:!0,icon:y(fm,{className:"h-5 w-5 sm:absolute sm:left-4 sm:top-1/2 sm:h-6 sm:w-6 sm:-translate-y-1/2 short:static short:left-auto short:top-auto short:h-5 short:w-5 short:translate-y-0"}),loginSession:n}),d&&y($r,{connection:"apple",text:B.t("continue_with",{provider:"Apple"}),canResize:!0,icon:y(Ge,{className:"text-xl text-black dark:text-white sm:absolute sm:left-4 sm:top-1/2 sm:-translate-y-1/2 sm:text-2xl short:static short:left-auto short:top-auto short:translate-y-0 short:text-xl",name:"apple"}),loginSession:n}),p&&y($r,{connection:"vipps",text:B.t("continue_with",{provider:"Vipps"}),canResize:!0,icon:y(hm,{className:"h-5 w-5 sm:absolute sm:left-4 sm:top-1/2 sm:h-6 sm:w-6 sm:-translate-y-1/2 short:static short:left-auto short:top-auto short:h-5 short:w-5 short:translate-y-0"}),loginSession:n})]})]})]})},T1=["Auth0.swift"];function P1(t){if(!t)return"code";const e=atob(t),n=JSON.parse(e);return T1.includes(n.name)?"code":"link"}const B1=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"}),impersonation:o.z.string().optional()})},responses:{200:{description:"Response"}}}),async t=>{const{state:e,impersonation:n}=t.req.valid("query"),{vendorSettings:r,loginSession:i,client:s}=await Ee(t,e);return t.html(y(el,{vendorSettings:r,loginSession:i,client:s,email:i.authParams.username,impersonation:n==="true"}))}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})}),body:{content:{"application/x-www-form-urlencoded":{schema:o.z.object({username:o.z.string().transform(t=>t.toLowerCase()),act_as:o.z.string().transform(t=>t.toLowerCase()).optional(),login_selection:o.z.enum(["code","password"]).optional()})}}}},responses:{200:{description:"Response"}}}),async t=>{const{env:e}=t,{state:n}=t.req.valid("query"),r=t.req.valid("form");t.set("body",r),t.set("username",r.username);const{client:i,loginSession:s,vendorSettings:a}=await Ee(t,n);t.set("client_id",i.id);const c=r.username,l=await io({userAdapter:e.data.users,tenant_id:i.tenant.id,email:c});if(l&&t.set("user_id",l.user_id),!l)try{await Cy(t,i,t.env.data,r.username)}catch{const w=we(t,{type:he.FAILED_SIGNUP,description:"Public signup is disabled"});return await t.env.data.logs.create(i.tenant.id,w),t.html(y(el,{vendorSettings:a,loginSession:s,error:B.t("user_account_does_not_exist"),email:r.username,client:i}),400)}if(s.authParams.username=r.username,s.authParams.act_as=r.act_as,await e.data.loginSessions.update(i.tenant.id,s.id,s),await z1(t,i,r.username,r.login_selection))return t.redirect(`/u/enter-password?state=${n}`);let d=Pn(),p=await e.data.codes.get(i.tenant.id,d,"otp");for(;p;)d=Pn(),p=await e.data.codes.get(i.tenant.id,d,"otp");const f=await t.env.data.codes.create(i.tenant.id,{code_id:d,code_type:"otp",login_id:s.id,expires_at:new Date(Date.now()+ja).toISOString()});return P1(s.auth0Client)==="link"&&!r.username.includes("online.no")?await pd(t,{to:r.username,code:f.code_id,authParams:s.authParams}):await Xg(t,{to:r.username,code:f.code_id}),t.redirect(`/u/enter-code?state=${n}`)}),yt=t=>y("a",{className:"block text-primary hover:text-primaryHover text-center",href:`/u/enter-email?state=${t.state}`,children:B.t("go_back")});var ii="_hp",R1={Change:"Input",DoubleClick:"DblClick"},L1={svg:"2000/svg",math:"1998/Math/MathML"},si=[],tl=new WeakMap,pr=void 0,U1=()=>pr,Ot=t=>"t"in t,ba={onClick:["click",!1]},Jp=t=>{if(!t.startsWith("on"))return;if(ba[t])return ba[t];const e=t.match(/^on([A-Z][a-zA-Z]+?(?:PointerCapture)?)(Capture)?$/);if(e){const[,n,r]=e;return ba[t]=[(R1[n]||n).toLowerCase(),!!r]}},Zp=(t,e)=>pr&&t instanceof SVGElement&&/[A-Z]/.test(e)&&(e in t.style||e.match(/^(?:o|pai|str|u|ve)/))?e.replace(/([A-Z])/g,"-$1").toLowerCase():e,V1=(t,e,n)=>{var r;e||(e={});for(let i in e){const s=e[i];if(i!=="children"&&(!n||n[i]!==s)){i=Gs(i);const a=Jp(i);if(a){if((n==null?void 0:n[i])!==s&&(n&&t.removeEventListener(a[0],n[i],a[1]),s!=null)){if(typeof s!="function")throw new Error(`Event handler for "${i}" is not a function`);t.addEventListener(a[0],s,a[1])}}else if(i==="dangerouslySetInnerHTML"&&s)t.innerHTML=s.__html;else if(i==="ref"){let c;typeof s=="function"?c=s(t)||(()=>s(null)):s&&"current"in s&&(s.current=t,c=()=>s.current=null),tl.set(t,c)}else if(i==="style"){const c=t.style;typeof s=="string"?c.cssText=s:(c.cssText="",s!=null&&om(s,c.setProperty.bind(c)))}else{if(i==="value"){const l=t.nodeName;if(l==="INPUT"||l==="TEXTAREA"||l==="SELECT"){if(t.value=s==null||s===!1?null:s,l==="TEXTAREA"){t.textContent=s;continue}else if(l==="SELECT"){t.selectedIndex===-1&&(t.selectedIndex=0);continue}}}else(i==="checked"&&t.nodeName==="INPUT"||i==="selected"&&t.nodeName==="OPTION")&&(t[i]=s);const c=Zp(t,i);s==null||s===!1?t.removeAttribute(c):s===!0?t.setAttribute(c,""):typeof s=="string"||typeof s=="number"?t.setAttribute(c,s):t.setAttribute(c,s.toString())}}}if(n)for(let i in n){const s=n[i];if(i!=="children"&&!(i in e)){i=Gs(i);const a=Jp(i);a?t.removeEventListener(a[0],s,a[1]):i==="ref"?(r=tl.get(t))==null||r():t.removeAttribute(Zp(t,i))}}},q1=(t,e)=>{e[Ae][0]=0,si.push([t,e]);const n=e.tag[gd]||e.tag,r=n.defaultProps?{...n.defaultProps,...e.props}:e.props;try{return[n.call(null,r)]}finally{si.pop()}},gm=(t,e,n,r,i)=>{var s,a;(s=t.vR)!=null&&s.length&&(r.push(...t.vR),delete t.vR),typeof t.tag=="function"&&((a=t[Ae][1][wm])==null||a.forEach(c=>i.push(c))),t.vC.forEach(c=>{var l;if(Ot(c))n.push(c);else if(typeof c.tag=="function"||c.tag===""){c.c=e;const d=n.length;if(gm(c,e,n,r,i),c.s){for(let p=d;p<n.length;p++)n[p].s=!0;c.s=!1}}else n.push(c),(l=c.vR)!=null&&l.length&&(r.push(...c.vR),delete c.vR)})},M1=t=>{for(;;t=t.tag===ii||!t.vC||!t.pP?t.nN:t.vC[0]){if(!t)return null;if(t.tag!==ii&&t.e)return t.e}},mm=t=>{var e,n,r,i,s,a;Ot(t)||((n=(e=t[Ae])==null?void 0:e[1][wm])==null||n.forEach(c=>{var l;return(l=c[2])==null?void 0:l.call(c)}),(r=tl.get(t.e))==null||r(),t.p===2&&((i=t.vC)==null||i.forEach(c=>c.p=2)),(s=t.vC)==null||s.forEach(mm)),t.p||((a=t.e)==null||a.remove(),delete t.e),typeof t.tag=="function"&&(Or.delete(t),Ji.delete(t),delete t[Ae][3],t.a=!0)},_m=(t,e,n)=>{t.c=e,ym(t,e,n)},Yp=(t,e)=>{if(e){for(let n=0,r=t.length;n<r;n++)if(t[n]===e)return n}},Xp=Symbol(),ym=(t,e,n)=>{var d;const r=[],i=[],s=[];gm(t,e,r,i,s),i.forEach(mm);const a=n?void 0:e.childNodes;let c,l=null;if(n)c=-1;else if(!a.length)c=0;else{const p=Yp(a,M1(t.nN));p!==void 0?(l=a[p],c=p):c=Yp(a,(d=r.find(f=>f.tag!==ii&&f.e))==null?void 0:d.e)??-1,c===-1&&(n=!0)}for(let p=0,f=r.length;p<f;p++,c++){const m=r[p];let w;if(m.s&&m.e)w=m.e,m.s=!1;else{const h=n||!m.e;Ot(m)?(m.e&&m.d&&(m.e.textContent=m.t),m.d=!1,w=m.e||(m.e=document.createTextNode(m.t))):(w=m.e||(m.e=m.n?document.createElementNS(m.n,m.tag):document.createElement(m.tag)),V1(w,m.props,m.pP),ym(m,w,h))}m.tag===ii?c--:n?w.parentNode||e.appendChild(w):a[c]!==w&&a[c-1]!==w&&(a[c+1]===w?e.appendChild(a[c]):e.insertBefore(w,l||a[c]||null))}if(t.pP&&delete t.pP,s.length){const p=[],f=[];s.forEach(([,m,,w,h])=>{m&&p.push(m),w&&f.push(w),h==null||h()}),p.forEach(m=>m()),f.length&&requestAnimationFrame(()=>{f.forEach(m=>m())})}},Ji=new WeakMap,nl=(t,e,n)=>{var s,a,c,l,d,p;const r=!n&&e.pC;n&&(e.pC||(e.pC=e.vC));let i;try{n||(n=typeof e.tag=="function"?q1(t,e):zi(e.props.children)),((s=n[0])==null?void 0:s.tag)===""&&n[0][Xc]&&(i=n[0][Xc],t[5].push([t,i,e]));const f=r?[...e.pC]:e.vC?[...e.vC]:void 0,m=[];let w;for(let h=0;h<n.length;h++){Array.isArray(n[h])&&n.splice(h,1,...n[h].flat());let _=D1(n[h]);if(_){typeof _.tag=="function"&&!_.tag[tm]&&(ur.length>0&&(_[Ae][2]=ur.map(A=>[A,A.values.at(-1)])),(a=t[5])!=null&&a.length&&(_[Ae][3]=t[5].at(-1)));let v;if(f&&f.length){const A=f.findIndex(Ot(_)?C=>Ot(C):_.key!==void 0?C=>C.key===_.key&&C.tag===_.tag:C=>C.tag===_.tag);A!==-1&&(v=f[A],f.splice(A,1))}if(v)if(Ot(_))v.t!==_.t&&(v.t=_.t,v.d=!0),_=v;else{const A=v.pP=v.props;v.props=_.props,v.f||(v.f=_.f||e.f),typeof _.tag=="function"&&(v[Ae][2]=_[Ae][2]||[],v[Ae][3]=_[Ae][3],!v.f&&((v.o||v)===_.o||(l=(c=v.tag)[d1])!=null&&l.call(c,A,v.props))&&(v.s=!0)),_=v}else if(!Ot(_)&&pr){const A=Ar(pr);A&&(_.n=A)}if(!Ot(_)&&!_.s&&(nl(t,_),delete _.f),m.push(_),w&&!w.s&&!_.s)for(let A=w;A&&!Ot(A);A=(d=A.vC)==null?void 0:d.at(-1))A.nN=_;w=_}}e.vR=r?[...e.vC,...f||[]]:f||[],e.vC=m,r&&delete e.pC}catch(f){if(e.f=!0,f===Xp){if(i)return;throw f}const[m,w,h]=((p=e[Ae])==null?void 0:p[3])||[];if(w){const _=()=>Zi([0,!1,t[2]],h),v=Ji.get(h)||[];v.push(_),Ji.set(h,v);const A=w(f,()=>{const C=Ji.get(h);if(C){const O=C.indexOf(_);if(O!==-1)return C.splice(O,1),_()}});if(A){if(t[0]===1)t[1]=!0;else if(nl(t,h,[A]),(w.length===1||t!==m)&&h.c){_m(h,h.c,!1);return}throw Xp}}throw f}finally{i&&t[5].pop()}},D1=t=>{if(!(t==null||typeof t=="boolean")){if(typeof t=="string"||typeof t=="number")return{t:t.toString(),d:!0};if("vR"in t&&(t={tag:t.tag,props:t.props,key:t.key,f:t.f,type:t.tag,ref:t.props.ref,o:t.o||t}),typeof t.tag=="function")t[Ae]=[0,[]];else{const e=L1[t.tag];e&&(pr||(pr=rm("")),t.props.children=[{tag:pr,props:{value:t.n=`http://www.w3.org/${e}`,children:t.props.children}}])}return t}},Qp=(t,e)=>{var n,r;(n=e[Ae][2])==null||n.forEach(([i,s])=>{i.values.push(s)});try{nl(t,e,void 0)}catch{return}if(e.a){delete e.a;return}(r=e[Ae][2])==null||r.forEach(([i])=>{i.values.pop()}),(t[0]!==1||!t[1])&&_m(e,e.c,!1)},Or=new WeakMap,ef=[],Zi=async(t,e)=>{t[5]||(t[5]=[]);const n=Or.get(e);n&&n[0](void 0);let r;const i=new Promise(s=>r=s);if(Or.set(e,[r,()=>{t[2]?t[2](t,e,s=>{Qp(s,e)}).then(()=>r(e)):(Qp(t,e),r(e))}]),ef.length)ef.at(-1).add(e);else{await Promise.resolve();const s=Or.get(e);s&&(Or.delete(e),s[1]())}return i},H1=(t,e,n)=>({tag:ii,props:{children:t},key:n,e,p:1}),xa=0,wm=1,ka=2,Sa=3,Aa=new WeakMap,vm=(t,e)=>!t||!e||t.length!==e.length||e.some((n,r)=>n!==t[r]),F1=void 0,tf=[],K1=t=>{var a;const e=()=>typeof t=="function"?t():t,n=si.at(-1);if(!n)return[e(),()=>{}];const[,r]=n,i=(a=r[Ae][1])[xa]||(a[xa]=[]),s=r[Ae][0]++;return i[s]||(i[s]=[e(),c=>{const l=F1,d=i[s];if(typeof c=="function"&&(c=c(d[0])),!Object.is(c,d[0]))if(d[0]=c,tf.length){const[p,f]=tf.at(-1);Promise.all([p===3?r:Zi([p,!1,l],r),f]).then(([m])=>{if(!m||!(p===2||p===3))return;const w=m.vC;requestAnimationFrame(()=>{setTimeout(()=>{w===m.vC&&Zi([p===3?1:0,!1,l],m)})})})}else Zi([0,!1,l],r)}])},wd=(t,e)=>{var c;const n=si.at(-1);if(!n)return t;const[,r]=n,i=(c=r[Ae][1])[ka]||(c[ka]=[]),s=r[Ae][0]++,a=i[s];return vm(a==null?void 0:a[1],e)?i[s]=[t,e]:t=i[s][0],t},W1=t=>{const e=Aa.get(t);if(e){if(e.length===2)throw e[1];return e[0]}throw t.then(n=>Aa.set(t,[n]),n=>Aa.set(t,[void 0,n])),t},G1=(t,e)=>{var c;const n=si.at(-1);if(!n)return t();const[,r]=n,i=(c=r[Ae][1])[Sa]||(c[Sa]=[]),s=r[Ae][0]++,a=i[s];return vm(a==null?void 0:a[1],e)&&(i[s]=[t(),e]),i[s][0]},J1=rm({pending:!1,data:null,method:null,action:null}),nf=new Set,Z1=t=>{nf.add(t),t.finally(()=>nf.delete(t))},vd=(t,e)=>G1(()=>n=>{let r;t&&(typeof t=="function"?r=t(n)||(()=>{t(null)}):t&&"current"in t&&(t.current=n,r=()=>{t.current=null}));const i=e(n);return()=>{i==null||i(),r==null||r()}},[t]),Dn=Object.create(null),Ri=Object.create(null),Ci=(t,e,n,r,i)=>{if(e!=null&&e.itemProp)return{tag:t,props:e,type:t,ref:e.ref};const s=document.head;let{onLoad:a,onError:c,precedence:l,blocking:d,...p}=e,f=null,m=!1;const w=Ki[t];let h;if(w.length>0){const C=s.querySelectorAll(t);e:for(const O of C)for(const L of Ki[t])if(O.getAttribute(L)===e[L]){f=O;break e}if(!f){const O=w.reduce((L,Q)=>e[Q]===void 0?L:`${L}-${Q}-${e[Q]}`,t);m=!Ri[O],f=Ri[O]||(Ri[O]=(()=>{const L=document.createElement(t);for(const Q of w)e[Q]!==void 0&&L.setAttribute(Q,e[Q]),e.rel&&L.setAttribute("rel",e.rel);return L})())}}else h=s.querySelectorAll(t);l=r?l??"":void 0,r&&(p[Wi]=l);const _=wd(C=>{if(w.length>0){let O=!1;for(const L of s.querySelectorAll(t)){if(O&&L.getAttribute(Wi)!==l){s.insertBefore(C,L);return}L.getAttribute(Wi)===l&&(O=!0)}s.appendChild(C)}else if(h){let O=!1;for(const L of h)if(L===C){O=!0;break}O||s.insertBefore(C,s.contains(h[0])?h[0]:s.querySelector(t)),h=void 0}},[l]),v=vd(e.ref,C=>{var Q;const O=w[0];if(n===2&&(C.innerHTML=""),(m||h)&&_(C),!c&&!a)return;let L=Dn[Q=C.getAttribute(O)]||(Dn[Q]=new Promise((ce,le)=>{C.addEventListener("load",ce),C.addEventListener("error",le)}));a&&(L=L.then(a)),c&&(L=L.catch(c)),L.catch(()=>{})});if(i&&d==="render"){const C=Ki[t][0];if(e[C]){const O=e[C],L=Dn[O]||(Dn[O]=new Promise((Q,ce)=>{_(f),f.addEventListener("load",Q),f.addEventListener("error",ce)}));W1(L)}}const A={tag:t,type:t,props:{...p,ref:v},ref:v};return A.p=n,f&&(A.e=f),H1(A,s)},Y1=t=>{const e=U1(),n=e&&Ar(e);return n!=null&&n.endsWith("svg")?{tag:"title",props:t,type:"title",ref:t.ref}:Ci("title",t,void 0,!1,!1)},X1=t=>!t||["src","async"].some(e=>!t[e])?{tag:"script",props:t,type:"script",ref:t.ref}:Ci("script",t,1,!1,!0),Q1=t=>!t||!["href","precedence"].every(e=>e in t)?{tag:"style",props:t,type:"style",ref:t.ref}:(t["data-href"]=t.href,delete t.href,Ci("style",t,2,!0,!0)),ex=t=>!t||["onLoad","onError"].some(e=>e in t)||t.rel==="stylesheet"&&(!("precedence"in t)||"disabled"in t)?{tag:"link",props:t,type:"link",ref:t.ref}:Ci("link",t,1,"precedence"in t,!0),tx=t=>Ci("meta",t,void 0,!1,!1),bm=Symbol(),nx=t=>{const{action:e,...n}=t;typeof e!="function"&&(n.action=e);const[r,i]=K1([null,!1]),s=wd(async d=>{const p=d.isTrusted?e:d.detail[bm];if(typeof p!="function")return;d.preventDefault();const f=new FormData(d.target);i([f,!0]);const m=p(f);m instanceof Promise&&(Z1(m),await m),i([null,!0])},[]),a=vd(t.ref,d=>(d.addEventListener("submit",s),()=>{d.removeEventListener("submit",s)})),[c,l]=r;return r[1]=!1,{tag:J1,props:{value:{pending:c!==null,data:c,method:c?"post":null,action:c?e:null},children:{tag:"form",props:{...n,ref:a},type:"form",ref:a}},f:l}},xm=(t,{formAction:e,...n})=>{if(typeof e=="function"){const r=wd(i=>{i.preventDefault(),i.currentTarget.form.dispatchEvent(new CustomEvent("submit",{detail:{[bm]:e}}))},[]);n.ref=vd(n.ref,i=>(i.addEventListener("click",r),()=>{i.removeEventListener("click",r)}))}return{tag:t,props:n,type:t,ref:n.ref}},rx=t=>xm("input",t),ix=t=>xm("button",t);Object.assign(Qc,{title:Y1,script:X1,style:Q1,link:ex,meta:tx,form:nx,input:rx,button:ix});new TextEncoder;const Qo=t=>{const{i18nKey:e,values:n,components:r}=t,i=B.t(e,n),s=/<(\d+)>(.*?)<\/\d+>/g,a=[];let c=0,l;for(;(l=s.exec(i))!==null;){const[,d,p]=l,f=i.substring(c,l.index);f&&a.push(f);const m=parseInt(d,10);a.push(A1(r[m],{},p)),c=s.lastIndex}return c<i.length&&a.push(i.substring(c)),y(cm,{children:a})},rf=6,rl=({error:t,vendorSettings:e,email:n,state:r,client:i,hasPasswordLogin:s})=>{const a=new URLSearchParams({state:r}),l=i.connections.map(({name:d})=>d).includes("auth2");return y(Ue,{title:B.t("verify_your_email"),vendorSettings:e,children:[y("div",{className:"mb-4 text-2xl font-medium",children:B.t("verify_your_email")}),y("div",{className:"mb-8 text-gray-300",children:y(Qo,{i18nKey:"we_sent_a_code_to",components:[y("span",{className:"text-black dark:text-white"},"span")],values:{email:n}})}),y("div",{className:"flex flex-1 flex-col justify-center",children:[y(Wt,{className:"pt-2",children:[y("input",{autoFocus:!0,type:"text",pattern:"[0-9]*",maxLength:rf,inputMode:"numeric",name:"code",placeholder:"******",className:Dt("mb-2 w-full rounded-lg border bg-gray-100 px-4 pb-2 pt-2.5 text-center indent-[5px] font-mono text-3xl placeholder:text-gray-300 dark:bg-gray-600 md:text-3xl",{"border-red":t,"border-gray-100 dark:border-gray-500":!t}),minLength:rf,required:!0,id:"code-input"}),t&&y(Un,{children:t}),y(Ze,{className:"sm:mt-4 !text-base",children:[y("span",{children:B.t("login")}),y(Ge,{className:"text-xs",name:"arrow-right"})]}),y("div",{className:"my-4 flex space-x-2 text-sm text-[#B2B2B2]",children:[y(Ge,{className:"text-base",name:"info-bubble"}),y("div",{className:"text-sm text-gray-300 md:text-sm",children:B.t("sent_code_spam")})]}),l&&y("div",{className:"text-center mb-12",children:[y("div",{className:"relative mb-5 block text-center text-gray-300 dark:text-gray-300",children:[y("div",{className:"absolute left-0 right-0 top-1/2 border-b border-gray-200 dark:border-gray-600"}),y("div",{className:"relative inline-block bg-white px-2 dark:bg-gray-800",children:B.t("or")})]}),y(Ze,{Component:"a",href:`/u/${s?"enter-password":"pre-signup"}?${a.toString()}`,variant:"secondary",className:"block",children:B.t("enter_your_password_btn")})]})]}),y(yt,{state:r})]})]})},sx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{vendorSettings:n,loginSession:r,client:i}=await Ee(t,e);if(!r.authParams.username)throw new I(400,{message:"Username not found in state"});const s=await ds({userAdapter:t.env.data.users,tenant_id:i.tenant.id,username:r.authParams.username,provider:"auth2"});return t.html(y(rl,{vendorSettings:n,email:r.authParams.username,state:e,client:i,hasPasswordLogin:!!s}))}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state"})}),body:{content:{"application/x-www-form-urlencoded":{schema:o.z.object({code:o.z.string()})}}}},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{code:n}=t.req.valid("form"),{loginSession:r,client:i,vendorSettings:s}=await Ee(t,e);if(t.set("client_id",i.id),!r.authParams.username)throw new I(400,{message:"Username not found in state"});try{return await Jg(t,{client_id:i.id,authParams:r.authParams,username:r.authParams.username,otp:n})}catch(a){const c=a,l=await ds({userAdapter:t.env.data.users,tenant_id:i.tenant.id,username:r.authParams.username,provider:"auth2"});return t.html(y(rl,{vendorSettings:s,email:r.authParams.username,state:e,client:i,error:c.message,hasPasswordLogin:!!l}),400)}}),km=t=>{const{vendorSettings:e,state:n}=t;return y(Ue,{title:B.t("unverified_email"),vendorSettings:e,children:[y("div",{className:"flex flex-1 flex-col justify-center",children:[y("p",{className:"mb-8 text-gray-300 text-lg",children:B.t("unverified_email")}),y("div",{className:"my-4 flex space-x-2 text-sm text-[#B2B2B2]",children:[y(Ge,{className:"text-base",name:"info-bubble"}),y("div",{className:"text-sm text-gray-300 md:text-sm",children:B.t("sent_code_spam")})]}),y(yt,{state:n})]}),y(yt,{state:n})]})},Yi=t=>{const{error:e,vendorSettings:n,email:r,state:i}=t,s=new URLSearchParams({state:i});return y(Ue,{title:B.t("enter_password"),vendorSettings:n,children:[y("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:B.t("enter_password")}),y("div",{className:"mb-6 text-gray-300",children:B.t("enter_password_description")}),y("div",{className:"flex flex-1 flex-col justify-center",children:[y(Wt,{className:"mb-7",children:[y("input",{type:"text",name:"username",placeholder:B.t("email_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",value:r}),y("input",{type:"password",name:"password",placeholder:B.t("password")||"",className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",required:!0}),e&&y(Un,{children:e}),y(Ze,{className:"sm:mt-4 !text-base",children:[y("span",{children:B.t("login")}),y(Ge,{className:"text-xs",name:"arrow-right"})]})]}),y("a",{href:`/u/forgot-password?${s.toString()}`,className:"text-primary hover:underline mb-4",children:B.t("forgot_password_link")}),y("div",{className:"text-center mb-12",children:[y("div",{className:"relative mb-5 block text-center text-gray-300 dark:text-gray-300",children:[y("div",{className:"absolute left-0 right-0 top-1/2 border-b border-gray-200 dark:border-gray-600"}),y("div",{className:"relative inline-block bg-white px-2 dark:bg-gray-800",children:B.t("or")})]}),y("form",{method:"post",action:`/u/enter-email?${s.toString()}`,children:[y("input",{type:"hidden",name:"login_selection",value:"code"}),y("input",{type:"hidden",name:"username",value:r}),y(Ze,{variant:"secondary",className:"block",children:B.t("enter_a_code_btn")})]})]}),y(yt,{state:i})]})]})},ox=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{vendorSettings:n,client:r,loginSession:i}=await Ee(t,e);if(!i.authParams.username)throw new I(400,{message:"Username required"});return t.html(y(Yi,{vendorSettings:n,email:i.authParams.username,state:e,client:r}))}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})}),body:{content:{"application/x-www-form-urlencoded":{schema:o.z.object({password:o.z.string()})}}}},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),n=t.req.valid("form"),{password:r}=n,{vendorSettings:i,client:s,loginSession:a}=await Ee(t,e),{username:c}=a.authParams;if(!c)throw new I(400,{message:"Username required"});try{return await hd(t,s,{...a.authParams,password:r},a)}catch(l){const d=l;return d.code==="INVALID_PASSWORD"||d.code==="USER_NOT_FOUND"?t.html(y(Yi,{vendorSettings:i,email:c,error:B.t("invalid_password"),state:e,client:s}),400):d.code==="EMAIL_NOT_VERIFIED"?t.html(y(km,{vendorSettings:i,state:e}),400):t.html(y(Yi,{vendorSettings:i,email:c,error:d.message,state:e,client:s}),400)}}),Hn=t=>{const{state:e,error:n,vendorSettings:r,email:i,code:s}=t;return y(Ue,{title:B.t("create_account_title"),vendorSettings:r,children:[y("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:B.t("create_account_title")}),y("div",{className:"mb-6 text-gray-300",children:B.t("create_account_description")}),y("div",{className:"flex flex-1 flex-col justify-center",children:[y(Wt,{children:[y("input",{type:"hidden",name:"code",value:s}),y("input",{type:"email",name:"username",placeholder:B.t("email_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",required:!0,value:i,disabled:!!i}),y("input",{type:"password",name:"password",placeholder:B.t("enter_new_password_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base"}),y("input",{type:"password",name:"re-enter-password",placeholder:B.t("reenter_new_password_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base"}),n&&y(Un,{children:n}),y(Ze,{className:"sm:mt-4 !text-base",children:B.t("continue")})]}),y(yt,{state:e})]})]})},ea=t=>{const{message:e,vendorSettings:n,pageTitle:r,state:i}=t;return y(Ue,{title:"Login",vendorSettings:n,children:[r?y("div",{className:"mb-6 text-gray-300",children:r}):"",y("div",{className:"flex flex-1 flex-col justify-center",children:e}),i?y(yt,{state:i}):""]})},ax=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"}),code:o.z.string().optional().openapi({description:"The code parameter from an email verification link"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e,code:n}=t.req.valid("query"),{vendorSettings:r,loginSession:i}=await Ee(t,e),{username:s}=i.authParams;if(!s)throw new I(400,{message:"Username required"});return n?t.html(y(Hn,{state:e,vendorSettings:r,email:s,code:n})):t.html(y(Hn,{state:e,vendorSettings:r,email:s}))}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})}),body:{content:{"application/x-www-form-urlencoded":{schema:o.z.object({password:o.z.string(),"re-enter-password":o.z.string(),code:o.z.string().optional()})}}}},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),n=t.req.valid("form"),{env:r}=t,{vendorSettings:i,client:s,loginSession:a}=await Ee(t,e),c="Username-Password-Authentication";t.set("client_id",s.id),t.set("connection",c);const{username:l}=a.authParams;if(!l)throw new I(400,{message:"Username required"});if(n.password!==n["re-enter-password"])return t.html(y(Hn,{state:e,code:n.code,vendorSettings:i,error:B.t("create_account_passwords_didnt_match"),email:a.authParams.username}),400);if(!ud(n.password))return t.html(y(Hn,{state:e,code:n.code,vendorSettings:i,error:B.t("create_account_weak_password"),email:a.authParams.username}),400);const d=n.code?await r.data.codes.get(s.tenant.id,n.code,"email_verification"):void 0,p=d?await r.data.loginSessions.get(s.tenant.id,d.login_id):void 0;try{if(await fr({userAdapter:t.env.data.users,tenant_id:s.tenant.id,username:l,provider:"auth2"}))throw new I(400,{message:"Invalid sign up"});const m=(p==null?void 0:p.authParams.username)===l,w=await Kf(t).users.create(s.tenant.id,{user_id:`auth2|${Qs()}`,email:l,email_verified:m,provider:"auth2",connection:c,is_social:!1});return await r.data.passwords.create(s.tenant.id,{user_id:w.user_id,password:await oi.hash(n.password,10),algorithm:"bcrypt"}),m?await hd(t,s,{...a.authParams,password:n.password},a):(await fd(t,w),t.html(y(ea,{message:B.t("validate_email_body"),pageTitle:B.t("validate_email_title"),vendorSettings:i,state:e})))}catch(f){const m=await yd(r,s.id,a.authParams.vendor_id),w=f;return t.html(y(Hn,{state:e,vendorSettings:m,error:w.message,email:l}),400)}}),Fn=t=>{const{error:e,vendorSettings:n,email:r}=t;return y(Ue,{title:B.t("reset_password_title"),vendorSettings:n,children:[y("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:B.t("reset_password_title")}),y("div",{className:"mb-6 text-gray-300",children:`${B.t("reset_password_description")} ${r}`}),y("div",{className:"flex flex-1 flex-col justify-center",children:y(Wt,{children:[y("input",{type:"password",name:"password",placeholder:B.t("enter_new_password_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base"}),y("input",{type:"password",name:"re-enter-password",placeholder:B.t("reenter_new_password_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base"}),e&&y(Un,{children:e}),y(Ze,{className:"sm:mt-4 !text-base",children:B.t("reset_password_cta")})]})})]})},cx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"}),code:o.z.string().openapi({description:"The code parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{vendorSettings:n,loginSession:r}=await Ee(t,e);if(!r.authParams.username)throw new I(400,{message:"Username required"});return t.html(y(Fn,{vendorSettings:n,email:r.authParams.username}))}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"}),code:o.z.string().openapi({description:"The code parameter from the authorization request"})}),body:{content:{"application/x-www-form-urlencoded":{schema:o.z.object({password:o.z.string(),"re-enter-password":o.z.string()})}}}},responses:{200:{description:"Response"}}}),async t=>{const{state:e,code:n}=t.req.valid("query"),{password:r,"re-enter-password":i}=t.req.valid("form"),{env:s}=t,{vendorSettings:a,client:c,loginSession:l}=await Ee(t,e);if(!l.authParams.username)throw new I(400,{message:"Username required"});if(r!==i)return t.html(y(Fn,{error:B.t("create_account_passwords_didnt_match"),vendorSettings:a,email:l.authParams.username}),400);if(!ud(r))return t.html(y(Fn,{error:B.t("create_account_weak_password"),vendorSettings:a,email:l.authParams.username}),400);const d=await fr({userAdapter:s.data.users,tenant_id:c.tenant.id,username:l.authParams.username,provider:"auth2"});if(!d)throw new I(400,{message:"User not found"});try{if(!await s.data.codes.get(c.tenant.id,n,"password_reset"))return t.html(y(Fn,{error:"Code not found or expired",vendorSettings:a,email:l.authParams.username}),400);const f={user_id:d.user_id,password:await oi.hash(r,10),algorithm:"bcrypt"};await s.data.passwords.get(c.tenant.id,d.user_id)?await s.data.passwords.update(c.tenant.id,f):await s.data.passwords.create(c.tenant.id,f),d.email_verified||await s.data.users.update(c.tenant.id,d.user_id,{email_verified:!0})}catch{return t.html(y(Fn,{error:"The password could not be reset",vendorSettings:a,email:l.authParams.username}),400)}return t.html(y(ea,{message:B.t("password_has_been_reset"),vendorSettings:a,state:e}))}),Sm=t=>{const{error:e,vendorSettings:n,email:r,state:i}=t;return y(Ue,{title:B.t("forgot_password_title"),vendorSettings:n,children:[y("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:B.t("forgot_password_title")}),y("div",{className:"mb-6 text-gray-300",children:B.t("forgot_password_description")}),y("div",{className:"flex flex-1 flex-col justify-center",children:[y(Wt,{className:"pt-2",children:[y("input",{type:"email",name:"username",placeholder:B.t("email_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",value:r,disabled:!!r}),e&&y(Un,{children:e}),y(Ze,{className:"sm:mt-4 !text-base",children:B.t("forgot_password_cta")})]}),y(yt,{state:i})]})]})},Am=t=>{const{vendorSettings:e,state:n}=t;return y(Ue,{title:"Login",vendorSettings:e,children:[y("div",{className:"flex flex-1 flex-col justify-center",children:[y("div",{children:B.t("forgot_password_email_sent")}),y("div",{className:"my-4 flex space-x-2 text-sm text-[#B2B2B2]",children:[y(Ge,{className:"text-base",name:"info-bubble"}),y("div",{className:"text-sm text-gray-300 md:text-sm",children:B.t("sent_code_spam")})]})]}),y(yt,{state:n})]})},lx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{vendorSettings:n,loginSession:r}=await Ee(t,e);return t.html(y(Sm,{vendorSettings:n,state:e,email:r.authParams.username}))}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{vendorSettings:n,client:r,loginSession:i}=await Ee(t,e);return await Xb(t,r,i.authParams.username,i.id),t.html(y(Am,{vendorSettings:n,state:e}))}),zm=({vendorSettings:t,state:e,user:n})=>y(Ue,{title:re("check_email_title"),vendorSettings:t,children:y("div",{className:"flex flex-1 flex-col justify-center",children:[y("div",{className:"mb-8 text-gray-700 dark:text-gray-300",children:[y(Qo,{i18nKey:"currently_logged_in_as",components:[y("span",{className:"font-semibold text-gray-900 dark:text-white"},"span")],values:{email:n.email||""}}),y("br",{}),re("continue_with_sso_provider_headline")]}),y("div",{className:"space-y-6",children:[y(Wt,{children:y(Ze,{className:"!text-base",children:y("span",{children:B.t("yes_continue_with_existing_account")})})}),y("a",{className:"block text-center text-primary hover:text-primaryHover focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 dark:focus:ring-offset-gray-900",href:`/u/enter-email?state=${encodeURIComponent(e)}`,children:B.t("no_use_another")})]})]})}),dx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{env:e}=t,{state:n}=t.req.valid("query"),{vendorSettings:r,client:i}=await Ee(t,n),s=ls(i.tenant.id,t.req.header("cookie")),a=s?await e.data.sessions.get(i.tenant.id,s):null;if(!a)return t.redirect(`/u/enter-email?state=${n}`);const c=await e.data.users.get(i.tenant.id,a.user_id);return c?t.html(y(zm,{vendorSettings:r,state:n,user:c})):t.redirect(`/u/enter-email?state=${n}`)}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{302:{description:"Redirect"}}}),async t=>{const{env:e}=t,{state:n}=t.req.valid("query"),{loginSession:r,client:i}=await Ee(t,n),s=ls(i.tenant.id,t.req.header("cookie")),a=s?await e.data.sessions.get(i.tenant.id,s):null;if(!a)return t.redirect(`/u/enter-email?state=${n}`);const c=await e.data.users.get(i.tenant.id,a.user_id);return c?ln(t,{user:c,authParams:r.authParams,client:i,loginSession:r}):t.redirect(`/u/enter-email?state=${n}`)}),Em=t=>{const{vendorSettings:e,email:n,state:r}=t;return y(Ue,{title:B.t("create_password_account_title"),vendorSettings:e,children:[y("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:B.t("create_password_account_title")}),y("div",{className:"mb-6 text-gray-300",children:B.t("enter_email_for_verification_description")}),y("div",{className:"flex flex-1 flex-col justify-center",children:y(Wt,{className:"pt-2",children:[y("input",{type:"email",name:"username",placeholder:B.t("email_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",required:!0,value:n,disabled:!0}),y(Ze,{className:"sm:mt-4 !text-base",children:B.t("send")})]})}),y(yt,{state:r})]})},ux=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{vendorSettings:n,loginSession:r}=await Ee(t,e),{username:i}=r.authParams;if(!i)throw new I(400,{message:"Username required"});return t.html(y(Em,{state:e,vendorSettings:n,email:i}))}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{loginSession:n,client:r}=await Ee(t,e),{username:i}=n.authParams;if(!i)throw new I(400,{message:"Username required"});const s=await t.env.data.codes.create(r.tenant.id,{code_id:Pn(),code_type:"email_verification",login_id:n.id,expires_at:new Date(Date.now()+F0).toISOString()});return await Jb(t,i,s.code_id,n.id),t.redirect(`/u/pre-signup-sent?state=${e}`)}),Im=t=>{const{redirectUrl:e,vendorSettings:n}=t;return y(Ue,{title:B.t("invalid_session_title"),vendorSettings:n,children:[y("div",{className:"flex flex-1 flex-col justify-center",children:B.t("invalid_session_body")}),y("div",{className:"flex flex-1 flex-col justify-center",children:e&&y("a",{className:"block text-primary hover:text-primaryHover text-center",href:e,children:B.t("go_back")})})]})},px=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string()})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{vendorSettings:n,loginSession:r}=await Ee(t,e);let i;return r.authParams.redirect_uri&&r.authParams.state&&(i=new URL(r.authParams.redirect_uri),i.searchParams.set("state",r.authParams.state),i.searchParams.set("error","invalid_session"),i.searchParams.set("error_description",r.authParams.username||"")),t.html(y(Im,{redirectUrl:i==null?void 0:i.href,vendorSettings:n}))}),fx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"}),code:o.z.string().openapi({description:"The code parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const e=await yd(t.env),{state:n}=t.req.valid("query");return t.html(y(ea,{message:"Not implemented",pageTitle:"User info",vendorSettings:e,state:n}))}),Cm=({vendorSettings:t,state:e})=>{const n=new URLSearchParams({state:e});return y(Ue,{title:B.t("email_validated"),vendorSettings:t,children:[y("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:B.t("email_validated")}),y("div",{className:"flex flex-1 flex-col justify-center mb-7",children:y(Ze,{Component:"a",href:`/u/enter-password?${n}`,className:"text-base sm:mt-4 md:text-base",children:y("div",{className:"flex items-center space-x-2",children:[y("span",{children:B.t("email_validated_cta")}),y(Ge,{className:"text-xs",name:"arrow-right"})]})})})]})},hx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"}),code:o.z.string().openapi({description:"The code parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{var m;const{state:e,code:n}=t.req.valid("query"),{env:r}=t,{client:i,loginSession:s,vendorSettings:a}=await Ee(t,e),{username:c}=s.authParams;if(!c)throw new I(400,{message:"Username not found in state"});const l=await fr({userAdapter:r.data.users,tenant_id:i.tenant.id,username:c,provider:"auth2"});if(!l)throw new I(500,{message:"No user found"});if(!await r.data.codes.get(i.tenant.id,n,"email_verification"))throw new I(400,{message:"Code not found or expired"});await r.data.users.update(i.tenant.id,l.user_id,{email_verified:!0});const f=(await gl(r.data.users,i.tenant.id,c)).filter(w=>w.provider!=="auth2");if(f.length>0){const w=f.filter(h=>!h.linked_to);w.length>1&&console.error("More than one primary user found for email",c),w.length===0&&console.error("No primary user found for email",c),w.length===1&&await r.data.users.update(i.tenant.id,l.user_id,{linked_to:(m=w[0])==null?void 0:m.user_id})}return t.html(y(Cm,{vendorSettings:a,state:e}))}),Nm=t=>{const{vendorSettings:e,email:n,state:r}=t;return y(Ue,{title:B.t("email_verification_for_signup_sent_title"),vendorSettings:e,children:[y("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:B.t("email_verification_for_signup_sent_title")}),y("div",{className:"flex flex-1 flex-col justify-center",children:[y("div",{className:"mb-6 text-gray-300",children:y(Qo,{i18nKey:"email_verification_for_signup_sent_description",components:[y("span",{className:"text-black dark:text-white"},"span")],values:{email:n}})}),y("div",{className:"my-4 flex space-x-2 text-sm text-[#B2B2B2]",children:[y(Ge,{className:"text-base",name:"info-bubble"}),y("div",{className:"text-sm text-gray-300 md:text-sm",children:B.t("sent_code_spam")})]})]}),y(yt,{state:r})]})},gx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{vendorSettings:n,loginSession:r}=await Ee(t,e),{username:i}=r.authParams;if(!i)throw new I(400,{message:"Username required"});return t.html(y(Nm,{vendorSettings:n,state:e,email:i}))}),bd=`
219
+ c2.7,4.1,6.5,6.6,10.9,6.6c4,0,7.2-2,9.6-5.2c0.9-1.2,0.9-2.5,0-3.1C33.3,22.9,32.1,23.2,31.2,24.4z`})]}),Qc=({error:t,vendorSettings:e,loginSession:n,email:r,client:i,impersonation:s})=>{const a=i.connections.map(({name:m})=>m),c=a.includes("facebook"),l=a.includes("google-oauth2"),d=a.includes("apple"),p=a.includes("vipps"),f=c||l||d||p;return y(Ue,{title:B.t("welcome"),vendorSettings:e,children:[y("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:B.t("welcome")}),y("div",{className:"mb-8 text-gray-300",children:B.t("login_description")}),y("div",{className:"flex flex-1 flex-col justify-center",children:[y(Gt,{className:"mb-7",children:[y("input",{type:"email",name:"username",placeholder:B.t("email_placeholder"),className:Dt("mb-2 w-full rounded-lg border bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",{"border-red":t,"border-gray-100 dark:border-gray-500":!t}),required:!0,value:r||""}),s&&y("input",{type:"email",name:"act_as",placeholder:"Impersonate as",className:Dt("mb-2 w-full rounded-lg border bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",{"border-red":t,"border-gray-100 dark:border-gray-500":!t}),required:!0,value:""}),t&&y(Un,{children:t}),y(Ze,{className:"sm:mt-4 !text-base",children:[y("span",{children:B.t("continue")}),y(Ge,{className:"text-xs",name:"arrow-right"})]})]}),f&&y("div",{className:"relative mb-5 block text-center text-gray-300 dark:text-gray-300",children:[y("div",{className:"absolute left-0 right-0 top-1/2 border-b border-gray-200 dark:border-gray-600"}),y("div",{className:"relative inline-block bg-white px-2 dark:bg-gray-800",children:B.t("continue_social_login")})]}),y("div",{className:"flex space-x-4 sm:flex-col sm:space-x-0 sm:space-y-4 short:flex-row short:space-x-4 short:space-y-0",children:[c&&y($r,{connection:"facebook",text:B.t("continue_with",{provider:"Facebook"}),canResize:!0,icon:y(Ge,{className:"text-xl text-[#1196F5] sm:absolute sm:left-4 sm:top-1/2 sm:-translate-y-1/2 sm:text-2xl short:static short:left-auto short:top-auto short:translate-y-0 short:text-xl",name:"facebook"}),loginSession:n}),l&&y($r,{connection:"google-oauth2",text:B.t("continue_with",{provider:"Google"}),canResize:!0,icon:y(fm,{className:"h-5 w-5 sm:absolute sm:left-4 sm:top-1/2 sm:h-6 sm:w-6 sm:-translate-y-1/2 short:static short:left-auto short:top-auto short:h-5 short:w-5 short:translate-y-0"}),loginSession:n}),d&&y($r,{connection:"apple",text:B.t("continue_with",{provider:"Apple"}),canResize:!0,icon:y(Ge,{className:"text-xl text-black dark:text-white sm:absolute sm:left-4 sm:top-1/2 sm:-translate-y-1/2 sm:text-2xl short:static short:left-auto short:top-auto short:translate-y-0 short:text-xl",name:"apple"}),loginSession:n}),p&&y($r,{connection:"vipps",text:B.t("continue_with",{provider:"Vipps"}),canResize:!0,icon:y(hm,{className:"h-5 w-5 sm:absolute sm:left-4 sm:top-1/2 sm:h-6 sm:w-6 sm:-translate-y-1/2 short:static short:left-auto short:top-auto short:h-5 short:w-5 short:translate-y-0"}),loginSession:n})]})]})]})},T1=["Auth0.swift"];function P1(t){if(!t)return"code";const e=atob(t),n=JSON.parse(e);return T1.includes(n.name)?"code":"link"}const B1=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"}),impersonation:o.z.string().optional()})},responses:{200:{description:"Response"}}}),async t=>{const{state:e,impersonation:n}=t.req.valid("query"),{vendorSettings:r,loginSession:i,client:s}=await Ee(t,e);return t.html(y(Qc,{vendorSettings:r,loginSession:i,client:s,email:i.authParams.username,impersonation:n==="true"}))}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})}),body:{content:{"application/x-www-form-urlencoded":{schema:o.z.object({username:o.z.string().transform(t=>t.toLowerCase()),act_as:o.z.string().transform(t=>t.toLowerCase()).optional(),login_selection:o.z.enum(["code","password"]).optional()})}}}},responses:{200:{description:"Response"}}}),async t=>{const{env:e}=t,{state:n}=t.req.valid("query"),r=t.req.valid("form");t.set("body",r),t.set("username",r.username);const{client:i,loginSession:s,vendorSettings:a}=await Ee(t,n);t.set("client_id",i.id);const c=r.username,l=await io({userAdapter:e.data.users,tenant_id:i.tenant.id,email:c});if(l&&t.set("user_id",l.user_id),!l)try{await Cy(t,i,t.env.data,r.username)}catch{const w=we(t,{type:ge.FAILED_SIGNUP,description:"Public signup is disabled"});return await t.env.data.logs.create(i.tenant.id,w),t.html(y(Qc,{vendorSettings:a,loginSession:s,error:B.t("user_account_does_not_exist"),email:r.username,client:i}),400)}if(s.authParams.username=r.username,s.authParams.act_as=r.act_as,await e.data.loginSessions.update(i.tenant.id,s.id,s),await z1(t,i,r.username,r.login_selection))return t.redirect(`/u/enter-password?state=${n}`);let d=Pn(),p=await e.data.codes.get(i.tenant.id,d,"otp");for(;p;)d=Pn(),p=await e.data.codes.get(i.tenant.id,d,"otp");const f=await t.env.data.codes.create(i.tenant.id,{code_id:d,code_type:"otp",login_id:s.id,expires_at:new Date(Date.now()+Na).toISOString()});return P1(s.auth0Client)==="link"&&!r.username.includes("online.no")?await ud(t,{to:r.username,code:f.code_id,authParams:s.authParams}):await Xg(t,{to:r.username,code:f.code_id}),t.redirect(`/u/enter-code?state=${n}`)}),yt=t=>y("a",{className:"block text-primary hover:text-primaryHover text-center",href:`/u/login/identifier?state=${t.state}`,children:B.t("go_back")});var ii="_hp",R1={Change:"Input",DoubleClick:"DblClick"},L1={svg:"2000/svg",math:"1998/Math/MathML"},si=[],el=new WeakMap,pr=void 0,U1=()=>pr,Ot=t=>"t"in t,va={onClick:["click",!1]},Gp=t=>{if(!t.startsWith("on"))return;if(va[t])return va[t];const e=t.match(/^on([A-Z][a-zA-Z]+?(?:PointerCapture)?)(Capture)?$/);if(e){const[,n,r]=e;return va[t]=[(R1[n]||n).toLowerCase(),!!r]}},Jp=(t,e)=>pr&&t instanceof SVGElement&&/[A-Z]/.test(e)&&(e in t.style||e.match(/^(?:o|pai|str|u|ve)/))?e.replace(/([A-Z])/g,"-$1").toLowerCase():e,V1=(t,e,n)=>{var r;e||(e={});for(let i in e){const s=e[i];if(i!=="children"&&(!n||n[i]!==s)){i=Gs(i);const a=Gp(i);if(a){if((n==null?void 0:n[i])!==s&&(n&&t.removeEventListener(a[0],n[i],a[1]),s!=null)){if(typeof s!="function")throw new Error(`Event handler for "${i}" is not a function`);t.addEventListener(a[0],s,a[1])}}else if(i==="dangerouslySetInnerHTML"&&s)t.innerHTML=s.__html;else if(i==="ref"){let c;typeof s=="function"?c=s(t)||(()=>s(null)):s&&"current"in s&&(s.current=t,c=()=>s.current=null),el.set(t,c)}else if(i==="style"){const c=t.style;typeof s=="string"?c.cssText=s:(c.cssText="",s!=null&&om(s,c.setProperty.bind(c)))}else{if(i==="value"){const l=t.nodeName;if(l==="INPUT"||l==="TEXTAREA"||l==="SELECT"){if(t.value=s==null||s===!1?null:s,l==="TEXTAREA"){t.textContent=s;continue}else if(l==="SELECT"){t.selectedIndex===-1&&(t.selectedIndex=0);continue}}}else(i==="checked"&&t.nodeName==="INPUT"||i==="selected"&&t.nodeName==="OPTION")&&(t[i]=s);const c=Jp(t,i);s==null||s===!1?t.removeAttribute(c):s===!0?t.setAttribute(c,""):typeof s=="string"||typeof s=="number"?t.setAttribute(c,s):t.setAttribute(c,s.toString())}}}if(n)for(let i in n){const s=n[i];if(i!=="children"&&!(i in e)){i=Gs(i);const a=Gp(i);a?t.removeEventListener(a[0],s,a[1]):i==="ref"?(r=el.get(t))==null||r():t.removeAttribute(Jp(t,i))}}},q1=(t,e)=>{e[Ae][0]=0,si.push([t,e]);const n=e.tag[hd]||e.tag,r=n.defaultProps?{...n.defaultProps,...e.props}:e.props;try{return[n.call(null,r)]}finally{si.pop()}},gm=(t,e,n,r,i)=>{var s,a;(s=t.vR)!=null&&s.length&&(r.push(...t.vR),delete t.vR),typeof t.tag=="function"&&((a=t[Ae][1][wm])==null||a.forEach(c=>i.push(c))),t.vC.forEach(c=>{var l;if(Ot(c))n.push(c);else if(typeof c.tag=="function"||c.tag===""){c.c=e;const d=n.length;if(gm(c,e,n,r,i),c.s){for(let p=d;p<n.length;p++)n[p].s=!0;c.s=!1}}else n.push(c),(l=c.vR)!=null&&l.length&&(r.push(...c.vR),delete c.vR)})},M1=t=>{for(;;t=t.tag===ii||!t.vC||!t.pP?t.nN:t.vC[0]){if(!t)return null;if(t.tag!==ii&&t.e)return t.e}},mm=t=>{var e,n,r,i,s,a;Ot(t)||((n=(e=t[Ae])==null?void 0:e[1][wm])==null||n.forEach(c=>{var l;return(l=c[2])==null?void 0:l.call(c)}),(r=el.get(t.e))==null||r(),t.p===2&&((i=t.vC)==null||i.forEach(c=>c.p=2)),(s=t.vC)==null||s.forEach(mm)),t.p||((a=t.e)==null||a.remove(),delete t.e),typeof t.tag=="function"&&(Or.delete(t),Ji.delete(t),delete t[Ae][3],t.a=!0)},_m=(t,e,n)=>{t.c=e,ym(t,e,n)},Zp=(t,e)=>{if(e){for(let n=0,r=t.length;n<r;n++)if(t[n]===e)return n}},Yp=Symbol(),ym=(t,e,n)=>{var d;const r=[],i=[],s=[];gm(t,e,r,i,s),i.forEach(mm);const a=n?void 0:e.childNodes;let c,l=null;if(n)c=-1;else if(!a.length)c=0;else{const p=Zp(a,M1(t.nN));p!==void 0?(l=a[p],c=p):c=Zp(a,(d=r.find(f=>f.tag!==ii&&f.e))==null?void 0:d.e)??-1,c===-1&&(n=!0)}for(let p=0,f=r.length;p<f;p++,c++){const m=r[p];let w;if(m.s&&m.e)w=m.e,m.s=!1;else{const h=n||!m.e;Ot(m)?(m.e&&m.d&&(m.e.textContent=m.t),m.d=!1,w=m.e||(m.e=document.createTextNode(m.t))):(w=m.e||(m.e=m.n?document.createElementNS(m.n,m.tag):document.createElement(m.tag)),V1(w,m.props,m.pP),ym(m,w,h))}m.tag===ii?c--:n?w.parentNode||e.appendChild(w):a[c]!==w&&a[c-1]!==w&&(a[c+1]===w?e.appendChild(a[c]):e.insertBefore(w,l||a[c]||null))}if(t.pP&&delete t.pP,s.length){const p=[],f=[];s.forEach(([,m,,w,h])=>{m&&p.push(m),w&&f.push(w),h==null||h()}),p.forEach(m=>m()),f.length&&requestAnimationFrame(()=>{f.forEach(m=>m())})}},Ji=new WeakMap,tl=(t,e,n)=>{var s,a,c,l,d,p;const r=!n&&e.pC;n&&(e.pC||(e.pC=e.vC));let i;try{n||(n=typeof e.tag=="function"?q1(t,e):zi(e.props.children)),((s=n[0])==null?void 0:s.tag)===""&&n[0][Yc]&&(i=n[0][Yc],t[5].push([t,i,e]));const f=r?[...e.pC]:e.vC?[...e.vC]:void 0,m=[];let w;for(let h=0;h<n.length;h++){Array.isArray(n[h])&&n.splice(h,1,...n[h].flat());let _=D1(n[h]);if(_){typeof _.tag=="function"&&!_.tag[tm]&&(ur.length>0&&(_[Ae][2]=ur.map(A=>[A,A.values.at(-1)])),(a=t[5])!=null&&a.length&&(_[Ae][3]=t[5].at(-1)));let v;if(f&&f.length){const A=f.findIndex(Ot(_)?C=>Ot(C):_.key!==void 0?C=>C.key===_.key&&C.tag===_.tag:C=>C.tag===_.tag);A!==-1&&(v=f[A],f.splice(A,1))}if(v)if(Ot(_))v.t!==_.t&&(v.t=_.t,v.d=!0),_=v;else{const A=v.pP=v.props;v.props=_.props,v.f||(v.f=_.f||e.f),typeof _.tag=="function"&&(v[Ae][2]=_[Ae][2]||[],v[Ae][3]=_[Ae][3],!v.f&&((v.o||v)===_.o||(l=(c=v.tag)[d1])!=null&&l.call(c,A,v.props))&&(v.s=!0)),_=v}else if(!Ot(_)&&pr){const A=Ar(pr);A&&(_.n=A)}if(!Ot(_)&&!_.s&&(tl(t,_),delete _.f),m.push(_),w&&!w.s&&!_.s)for(let A=w;A&&!Ot(A);A=(d=A.vC)==null?void 0:d.at(-1))A.nN=_;w=_}}e.vR=r?[...e.vC,...f||[]]:f||[],e.vC=m,r&&delete e.pC}catch(f){if(e.f=!0,f===Yp){if(i)return;throw f}const[m,w,h]=((p=e[Ae])==null?void 0:p[3])||[];if(w){const _=()=>Zi([0,!1,t[2]],h),v=Ji.get(h)||[];v.push(_),Ji.set(h,v);const A=w(f,()=>{const C=Ji.get(h);if(C){const O=C.indexOf(_);if(O!==-1)return C.splice(O,1),_()}});if(A){if(t[0]===1)t[1]=!0;else if(tl(t,h,[A]),(w.length===1||t!==m)&&h.c){_m(h,h.c,!1);return}throw Yp}}throw f}finally{i&&t[5].pop()}},D1=t=>{if(!(t==null||typeof t=="boolean")){if(typeof t=="string"||typeof t=="number")return{t:t.toString(),d:!0};if("vR"in t&&(t={tag:t.tag,props:t.props,key:t.key,f:t.f,type:t.tag,ref:t.props.ref,o:t.o||t}),typeof t.tag=="function")t[Ae]=[0,[]];else{const e=L1[t.tag];e&&(pr||(pr=rm("")),t.props.children=[{tag:pr,props:{value:t.n=`http://www.w3.org/${e}`,children:t.props.children}}])}return t}},Xp=(t,e)=>{var n,r;(n=e[Ae][2])==null||n.forEach(([i,s])=>{i.values.push(s)});try{tl(t,e,void 0)}catch{return}if(e.a){delete e.a;return}(r=e[Ae][2])==null||r.forEach(([i])=>{i.values.pop()}),(t[0]!==1||!t[1])&&_m(e,e.c,!1)},Or=new WeakMap,Qp=[],Zi=async(t,e)=>{t[5]||(t[5]=[]);const n=Or.get(e);n&&n[0](void 0);let r;const i=new Promise(s=>r=s);if(Or.set(e,[r,()=>{t[2]?t[2](t,e,s=>{Xp(s,e)}).then(()=>r(e)):(Xp(t,e),r(e))}]),Qp.length)Qp.at(-1).add(e);else{await Promise.resolve();const s=Or.get(e);s&&(Or.delete(e),s[1]())}return i},H1=(t,e,n)=>({tag:ii,props:{children:t},key:n,e,p:1}),ba=0,wm=1,xa=2,ka=3,Sa=new WeakMap,vm=(t,e)=>!t||!e||t.length!==e.length||e.some((n,r)=>n!==t[r]),F1=void 0,ef=[],K1=t=>{var a;const e=()=>typeof t=="function"?t():t,n=si.at(-1);if(!n)return[e(),()=>{}];const[,r]=n,i=(a=r[Ae][1])[ba]||(a[ba]=[]),s=r[Ae][0]++;return i[s]||(i[s]=[e(),c=>{const l=F1,d=i[s];if(typeof c=="function"&&(c=c(d[0])),!Object.is(c,d[0]))if(d[0]=c,ef.length){const[p,f]=ef.at(-1);Promise.all([p===3?r:Zi([p,!1,l],r),f]).then(([m])=>{if(!m||!(p===2||p===3))return;const w=m.vC;requestAnimationFrame(()=>{setTimeout(()=>{w===m.vC&&Zi([p===3?1:0,!1,l],m)})})})}else Zi([0,!1,l],r)}])},yd=(t,e)=>{var c;const n=si.at(-1);if(!n)return t;const[,r]=n,i=(c=r[Ae][1])[xa]||(c[xa]=[]),s=r[Ae][0]++,a=i[s];return vm(a==null?void 0:a[1],e)?i[s]=[t,e]:t=i[s][0],t},W1=t=>{const e=Sa.get(t);if(e){if(e.length===2)throw e[1];return e[0]}throw t.then(n=>Sa.set(t,[n]),n=>Sa.set(t,[void 0,n])),t},G1=(t,e)=>{var c;const n=si.at(-1);if(!n)return t();const[,r]=n,i=(c=r[Ae][1])[ka]||(c[ka]=[]),s=r[Ae][0]++,a=i[s];return vm(a==null?void 0:a[1],e)&&(i[s]=[t(),e]),i[s][0]},J1=rm({pending:!1,data:null,method:null,action:null}),tf=new Set,Z1=t=>{tf.add(t),t.finally(()=>tf.delete(t))},wd=(t,e)=>G1(()=>n=>{let r;t&&(typeof t=="function"?r=t(n)||(()=>{t(null)}):t&&"current"in t&&(t.current=n,r=()=>{t.current=null}));const i=e(n);return()=>{i==null||i(),r==null||r()}},[t]),Dn=Object.create(null),Ri=Object.create(null),Ci=(t,e,n,r,i)=>{if(e!=null&&e.itemProp)return{tag:t,props:e,type:t,ref:e.ref};const s=document.head;let{onLoad:a,onError:c,precedence:l,blocking:d,...p}=e,f=null,m=!1;const w=Ki[t];let h;if(w.length>0){const C=s.querySelectorAll(t);e:for(const O of C)for(const L of Ki[t])if(O.getAttribute(L)===e[L]){f=O;break e}if(!f){const O=w.reduce((L,Q)=>e[Q]===void 0?L:`${L}-${Q}-${e[Q]}`,t);m=!Ri[O],f=Ri[O]||(Ri[O]=(()=>{const L=document.createElement(t);for(const Q of w)e[Q]!==void 0&&L.setAttribute(Q,e[Q]),e.rel&&L.setAttribute("rel",e.rel);return L})())}}else h=s.querySelectorAll(t);l=r?l??"":void 0,r&&(p[Wi]=l);const _=yd(C=>{if(w.length>0){let O=!1;for(const L of s.querySelectorAll(t)){if(O&&L.getAttribute(Wi)!==l){s.insertBefore(C,L);return}L.getAttribute(Wi)===l&&(O=!0)}s.appendChild(C)}else if(h){let O=!1;for(const L of h)if(L===C){O=!0;break}O||s.insertBefore(C,s.contains(h[0])?h[0]:s.querySelector(t)),h=void 0}},[l]),v=wd(e.ref,C=>{var Q;const O=w[0];if(n===2&&(C.innerHTML=""),(m||h)&&_(C),!c&&!a)return;let L=Dn[Q=C.getAttribute(O)]||(Dn[Q]=new Promise((ce,le)=>{C.addEventListener("load",ce),C.addEventListener("error",le)}));a&&(L=L.then(a)),c&&(L=L.catch(c)),L.catch(()=>{})});if(i&&d==="render"){const C=Ki[t][0];if(e[C]){const O=e[C],L=Dn[O]||(Dn[O]=new Promise((Q,ce)=>{_(f),f.addEventListener("load",Q),f.addEventListener("error",ce)}));W1(L)}}const A={tag:t,type:t,props:{...p,ref:v},ref:v};return A.p=n,f&&(A.e=f),H1(A,s)},Y1=t=>{const e=U1(),n=e&&Ar(e);return n!=null&&n.endsWith("svg")?{tag:"title",props:t,type:"title",ref:t.ref}:Ci("title",t,void 0,!1,!1)},X1=t=>!t||["src","async"].some(e=>!t[e])?{tag:"script",props:t,type:"script",ref:t.ref}:Ci("script",t,1,!1,!0),Q1=t=>!t||!["href","precedence"].every(e=>e in t)?{tag:"style",props:t,type:"style",ref:t.ref}:(t["data-href"]=t.href,delete t.href,Ci("style",t,2,!0,!0)),ex=t=>!t||["onLoad","onError"].some(e=>e in t)||t.rel==="stylesheet"&&(!("precedence"in t)||"disabled"in t)?{tag:"link",props:t,type:"link",ref:t.ref}:Ci("link",t,1,"precedence"in t,!0),tx=t=>Ci("meta",t,void 0,!1,!1),bm=Symbol(),nx=t=>{const{action:e,...n}=t;typeof e!="function"&&(n.action=e);const[r,i]=K1([null,!1]),s=yd(async d=>{const p=d.isTrusted?e:d.detail[bm];if(typeof p!="function")return;d.preventDefault();const f=new FormData(d.target);i([f,!0]);const m=p(f);m instanceof Promise&&(Z1(m),await m),i([null,!0])},[]),a=wd(t.ref,d=>(d.addEventListener("submit",s),()=>{d.removeEventListener("submit",s)})),[c,l]=r;return r[1]=!1,{tag:J1,props:{value:{pending:c!==null,data:c,method:c?"post":null,action:c?e:null},children:{tag:"form",props:{...n,ref:a},type:"form",ref:a}},f:l}},xm=(t,{formAction:e,...n})=>{if(typeof e=="function"){const r=yd(i=>{i.preventDefault(),i.currentTarget.form.dispatchEvent(new CustomEvent("submit",{detail:{[bm]:e}}))},[]);n.ref=wd(n.ref,i=>(i.addEventListener("click",r),()=>{i.removeEventListener("click",r)}))}return{tag:t,props:n,type:t,ref:n.ref}},rx=t=>xm("input",t),ix=t=>xm("button",t);Object.assign(Xc,{title:Y1,script:X1,style:Q1,link:ex,meta:tx,form:nx,input:rx,button:ix});new TextEncoder;const Xo=t=>{const{i18nKey:e,values:n,components:r}=t,i=B.t(e,n),s=/<(\d+)>(.*?)<\/\d+>/g,a=[];let c=0,l;for(;(l=s.exec(i))!==null;){const[,d,p]=l,f=i.substring(c,l.index);f&&a.push(f);const m=parseInt(d,10);a.push(A1(r[m],{},p)),c=s.lastIndex}return c<i.length&&a.push(i.substring(c)),y(cm,{children:a})},nf=6,nl=({error:t,vendorSettings:e,email:n,state:r,client:i,hasPasswordLogin:s})=>{const a=new URLSearchParams({state:r}),l=i.connections.map(({name:d})=>d).includes("auth2");return y(Ue,{title:B.t("verify_your_email"),vendorSettings:e,children:[y("div",{className:"mb-4 text-2xl font-medium",children:B.t("verify_your_email")}),y("div",{className:"mb-8 text-gray-300",children:y(Xo,{i18nKey:"we_sent_a_code_to",components:[y("span",{className:"text-black dark:text-white"},"span")],values:{email:n}})}),y("div",{className:"flex flex-1 flex-col justify-center",children:[y(Gt,{className:"pt-2",children:[y("input",{autoFocus:!0,type:"text",pattern:"[0-9]*",maxLength:nf,inputMode:"numeric",name:"code",placeholder:"******",className:Dt("mb-2 w-full rounded-lg border bg-gray-100 px-4 pb-2 pt-2.5 text-center indent-[5px] font-mono text-3xl placeholder:text-gray-300 dark:bg-gray-600 md:text-3xl",{"border-red":t,"border-gray-100 dark:border-gray-500":!t}),minLength:nf,required:!0,id:"code-input"}),t&&y(Un,{children:t}),y(Ze,{className:"sm:mt-4 !text-base",children:[y("span",{children:B.t("login")}),y(Ge,{className:"text-xs",name:"arrow-right"})]}),y("div",{className:"my-4 flex space-x-2 text-sm text-[#B2B2B2]",children:[y(Ge,{className:"text-base",name:"info-bubble"}),y("div",{className:"text-sm text-gray-300 md:text-sm",children:B.t("sent_code_spam")})]}),l&&y("div",{className:"text-center mb-12",children:[y("div",{className:"relative mb-5 block text-center text-gray-300 dark:text-gray-300",children:[y("div",{className:"absolute left-0 right-0 top-1/2 border-b border-gray-200 dark:border-gray-600"}),y("div",{className:"relative inline-block bg-white px-2 dark:bg-gray-800",children:B.t("or")})]}),y(Ze,{Component:"a",href:`/u/${s?"enter-password":"pre-signup"}?${a.toString()}`,variant:"secondary",className:"block",children:B.t("enter_your_password_btn")})]})]}),y(yt,{state:r})]})]})},sx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{vendorSettings:n,loginSession:r,client:i}=await Ee(t,e);if(!r.authParams.username)throw new I(400,{message:"Username not found in state"});const s=await ds({userAdapter:t.env.data.users,tenant_id:i.tenant.id,username:r.authParams.username,provider:"auth2"});return t.html(y(nl,{vendorSettings:n,email:r.authParams.username,state:e,client:i,hasPasswordLogin:!!s}))}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state"})}),body:{content:{"application/x-www-form-urlencoded":{schema:o.z.object({code:o.z.string()})}}}},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{code:n}=t.req.valid("form"),{loginSession:r,client:i,vendorSettings:s}=await Ee(t,e);if(t.set("client_id",i.id),!r.authParams.username)throw new I(400,{message:"Username not found in state"});try{return await Jg(t,{client_id:i.id,authParams:r.authParams,username:r.authParams.username,otp:n})}catch(a){const c=a,l=await ds({userAdapter:t.env.data.users,tenant_id:i.tenant.id,username:r.authParams.username,provider:"auth2"});return t.html(y(nl,{vendorSettings:s,email:r.authParams.username,state:e,client:i,error:c.message,hasPasswordLogin:!!l}),400)}}),km=t=>{const{vendorSettings:e,state:n}=t;return y(Ue,{title:B.t("unverified_email"),vendorSettings:e,children:[y("div",{className:"flex flex-1 flex-col justify-center",children:[y("p",{className:"mb-8 text-gray-300 text-lg",children:B.t("unverified_email")}),y("div",{className:"my-4 flex space-x-2 text-sm text-[#B2B2B2]",children:[y(Ge,{className:"text-base",name:"info-bubble"}),y("div",{className:"text-sm text-gray-300 md:text-sm",children:B.t("sent_code_spam")})]}),y(yt,{state:n})]}),y(yt,{state:n})]})},Yi=t=>{const{error:e,vendorSettings:n,email:r,state:i}=t,s=new URLSearchParams({state:i});return y(Ue,{title:B.t("enter_password"),vendorSettings:n,children:[y("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:B.t("enter_password")}),y("div",{className:"mb-6 text-gray-300",children:B.t("enter_password_description")}),y("div",{className:"flex flex-1 flex-col justify-center",children:[y(Gt,{className:"mb-7",children:[y("input",{type:"text",name:"username",placeholder:B.t("email_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",value:r}),y("input",{type:"password",name:"password",placeholder:B.t("password")||"",className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",required:!0}),e&&y(Un,{children:e}),y(Ze,{className:"sm:mt-4 !text-base",children:[y("span",{children:B.t("login")}),y(Ge,{className:"text-xs",name:"arrow-right"})]})]}),y("a",{href:`/u/forgot-password?${s.toString()}`,className:"text-primary hover:underline mb-4",children:B.t("forgot_password_link")}),y("div",{className:"text-center mb-12",children:[y("div",{className:"relative mb-5 block text-center text-gray-300 dark:text-gray-300",children:[y("div",{className:"absolute left-0 right-0 top-1/2 border-b border-gray-200 dark:border-gray-600"}),y("div",{className:"relative inline-block bg-white px-2 dark:bg-gray-800",children:B.t("or")})]}),y("form",{method:"post",action:`/u/login/identifier?${s.toString()}`,children:[y("input",{type:"hidden",name:"login_selection",value:"code"}),y("input",{type:"hidden",name:"username",value:r}),y(Ze,{variant:"secondary",className:"block",children:B.t("enter_a_code_btn")})]})]}),y(yt,{state:i})]})]})},ox=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{vendorSettings:n,client:r,loginSession:i}=await Ee(t,e);if(!i.authParams.username)throw new I(400,{message:"Username required"});return t.html(y(Yi,{vendorSettings:n,email:i.authParams.username,state:e,client:r}))}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})}),body:{content:{"application/x-www-form-urlencoded":{schema:o.z.object({password:o.z.string()})}}}},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),n=t.req.valid("form"),{password:r}=n,{vendorSettings:i,client:s,loginSession:a}=await Ee(t,e),{username:c}=a.authParams;if(!c)throw new I(400,{message:"Username required"});try{return await fd(t,s,{...a.authParams,password:r},a)}catch(l){const d=l;return d.code==="INVALID_PASSWORD"||d.code==="USER_NOT_FOUND"?t.html(y(Yi,{vendorSettings:i,email:c,error:B.t("invalid_password"),state:e,client:s}),400):d.code==="EMAIL_NOT_VERIFIED"?t.html(y(km,{vendorSettings:i,state:e}),400):t.html(y(Yi,{vendorSettings:i,email:c,error:d.message,state:e,client:s}),400)}}),Hn=t=>{const{state:e,error:n,vendorSettings:r,email:i,code:s}=t;return y(Ue,{title:B.t("create_account_title"),vendorSettings:r,children:[y("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:B.t("create_account_title")}),y("div",{className:"mb-6 text-gray-300",children:B.t("create_account_description")}),y("div",{className:"flex flex-1 flex-col justify-center",children:[y(Gt,{children:[y("input",{type:"hidden",name:"code",value:s}),y("input",{type:"email",name:"username",placeholder:B.t("email_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",required:!0,value:i,disabled:!!i}),y("input",{type:"password",name:"password",placeholder:B.t("enter_new_password_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base"}),y("input",{type:"password",name:"re-enter-password",placeholder:B.t("reenter_new_password_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base"}),n&&y(Un,{children:n}),y(Ze,{className:"sm:mt-4 !text-base",children:B.t("continue")})]}),y(yt,{state:e})]})]})},Qo=t=>{const{message:e,vendorSettings:n,pageTitle:r,state:i}=t;return y(Ue,{title:"Login",vendorSettings:n,children:[r?y("div",{className:"mb-6 text-gray-300",children:r}):"",y("div",{className:"flex flex-1 flex-col justify-center",children:e}),i?y(yt,{state:i}):""]})},ax=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"}),code:o.z.string().optional().openapi({description:"The code parameter from an email verification link"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e,code:n}=t.req.valid("query"),{vendorSettings:r,loginSession:i}=await Ee(t,e),{username:s}=i.authParams;if(!s)throw new I(400,{message:"Username required"});return n?t.html(y(Hn,{state:e,vendorSettings:r,email:s,code:n})):t.html(y(Hn,{state:e,vendorSettings:r,email:s}))}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})}),body:{content:{"application/x-www-form-urlencoded":{schema:o.z.object({password:o.z.string(),"re-enter-password":o.z.string(),code:o.z.string().optional()})}}}},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),n=t.req.valid("form"),{env:r}=t,{vendorSettings:i,client:s,loginSession:a}=await Ee(t,e),c="Username-Password-Authentication";t.set("client_id",s.id),t.set("connection",c);const{username:l}=a.authParams;if(!l)throw new I(400,{message:"Username required"});if(n.password!==n["re-enter-password"])return t.html(y(Hn,{state:e,code:n.code,vendorSettings:i,error:B.t("create_account_passwords_didnt_match"),email:a.authParams.username}),400);if(!dd(n.password))return t.html(y(Hn,{state:e,code:n.code,vendorSettings:i,error:B.t("create_account_weak_password"),email:a.authParams.username}),400);const d=n.code?await r.data.codes.get(s.tenant.id,n.code,"email_verification"):void 0,p=d?await r.data.loginSessions.get(s.tenant.id,d.login_id):void 0;try{if(await fr({userAdapter:t.env.data.users,tenant_id:s.tenant.id,username:l,provider:"auth2"}))throw new I(400,{message:"Invalid sign up"});const m=(p==null?void 0:p.authParams.username)===l,w=await Ff(t).users.create(s.tenant.id,{user_id:`auth2|${Qs()}`,email:l,email_verified:m,provider:"auth2",connection:c,is_social:!1});return await r.data.passwords.create(s.tenant.id,{user_id:w.user_id,password:await oi.hash(n.password,10),algorithm:"bcrypt"}),m?await fd(t,s,{...a.authParams,password:n.password},a):(await pd(t,w),t.html(y(Qo,{message:B.t("validate_email_body"),pageTitle:B.t("validate_email_title"),vendorSettings:i,state:e})))}catch(f){const m=await _d(r,s.id,a.authParams.vendor_id),w=f;return t.html(y(Hn,{state:e,vendorSettings:m,error:w.message,email:l}),400)}}),Fn=t=>{const{error:e,vendorSettings:n,email:r}=t;return y(Ue,{title:B.t("reset_password_title"),vendorSettings:n,children:[y("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:B.t("reset_password_title")}),y("div",{className:"mb-6 text-gray-300",children:`${B.t("reset_password_description")} ${r}`}),y("div",{className:"flex flex-1 flex-col justify-center",children:y(Gt,{children:[y("input",{type:"password",name:"password",placeholder:B.t("enter_new_password_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base"}),y("input",{type:"password",name:"re-enter-password",placeholder:B.t("reenter_new_password_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base"}),e&&y(Un,{children:e}),y(Ze,{className:"sm:mt-4 !text-base",children:B.t("reset_password_cta")})]})})]})},cx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"}),code:o.z.string().openapi({description:"The code parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{vendorSettings:n,loginSession:r}=await Ee(t,e);if(!r.authParams.username)throw new I(400,{message:"Username required"});return t.html(y(Fn,{vendorSettings:n,email:r.authParams.username}))}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"}),code:o.z.string().openapi({description:"The code parameter from the authorization request"})}),body:{content:{"application/x-www-form-urlencoded":{schema:o.z.object({password:o.z.string(),"re-enter-password":o.z.string()})}}}},responses:{200:{description:"Response"}}}),async t=>{const{state:e,code:n}=t.req.valid("query"),{password:r,"re-enter-password":i}=t.req.valid("form"),{env:s}=t,{vendorSettings:a,client:c,loginSession:l}=await Ee(t,e);if(!l.authParams.username)throw new I(400,{message:"Username required"});if(r!==i)return t.html(y(Fn,{error:B.t("create_account_passwords_didnt_match"),vendorSettings:a,email:l.authParams.username}),400);if(!dd(r))return t.html(y(Fn,{error:B.t("create_account_weak_password"),vendorSettings:a,email:l.authParams.username}),400);const d=await fr({userAdapter:s.data.users,tenant_id:c.tenant.id,username:l.authParams.username,provider:"auth2"});if(!d)throw new I(400,{message:"User not found"});try{if(!await s.data.codes.get(c.tenant.id,n,"password_reset"))return t.html(y(Fn,{error:"Code not found or expired",vendorSettings:a,email:l.authParams.username}),400);const f={user_id:d.user_id,password:await oi.hash(r,10),algorithm:"bcrypt"};await s.data.passwords.get(c.tenant.id,d.user_id)?await s.data.passwords.update(c.tenant.id,f):await s.data.passwords.create(c.tenant.id,f),d.email_verified||await s.data.users.update(c.tenant.id,d.user_id,{email_verified:!0})}catch{return t.html(y(Fn,{error:"The password could not be reset",vendorSettings:a,email:l.authParams.username}),400)}return t.html(y(Qo,{message:B.t("password_has_been_reset"),vendorSettings:a,state:e}))}),Sm=t=>{const{error:e,vendorSettings:n,email:r,state:i}=t;return y(Ue,{title:B.t("forgot_password_title"),vendorSettings:n,children:[y("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:B.t("forgot_password_title")}),y("div",{className:"mb-6 text-gray-300",children:B.t("forgot_password_description")}),y("div",{className:"flex flex-1 flex-col justify-center",children:[y(Gt,{className:"pt-2",children:[y("input",{type:"email",name:"username",placeholder:B.t("email_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",value:r,disabled:!!r}),e&&y(Un,{children:e}),y(Ze,{className:"sm:mt-4 !text-base",children:B.t("forgot_password_cta")})]}),y(yt,{state:i})]})]})},Am=t=>{const{vendorSettings:e,state:n}=t;return y(Ue,{title:"Login",vendorSettings:e,children:[y("div",{className:"flex flex-1 flex-col justify-center",children:[y("div",{children:B.t("forgot_password_email_sent")}),y("div",{className:"my-4 flex space-x-2 text-sm text-[#B2B2B2]",children:[y(Ge,{className:"text-base",name:"info-bubble"}),y("div",{className:"text-sm text-gray-300 md:text-sm",children:B.t("sent_code_spam")})]})]}),y(yt,{state:n})]})},lx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{vendorSettings:n,loginSession:r}=await Ee(t,e);return t.html(y(Sm,{vendorSettings:n,state:e,email:r.authParams.username}))}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{vendorSettings:n,client:r,loginSession:i}=await Ee(t,e);return await Xb(t,r,i.authParams.username,i.id),t.html(y(Am,{vendorSettings:n,state:e}))}),zm=({vendorSettings:t,state:e,user:n})=>y(Ue,{title:re("check_email_title"),vendorSettings:t,children:y("div",{className:"flex flex-1 flex-col justify-center",children:[y("div",{className:"mb-8 text-gray-700 dark:text-gray-300",children:[y(Xo,{i18nKey:"currently_logged_in_as",components:[y("span",{className:"font-semibold text-gray-900 dark:text-white"},"span")],values:{email:n.email||""}}),y("br",{}),re("continue_with_sso_provider_headline")]}),y("div",{className:"space-y-6",children:[y(Gt,{children:y(Ze,{className:"!text-base",children:y("span",{children:B.t("yes_continue_with_existing_account")})})}),y("a",{className:"block text-center text-primary hover:text-primaryHover focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 dark:focus:ring-offset-gray-900",href:`/u/login/identifier?state=${encodeURIComponent(e)}`,children:B.t("no_use_another")})]})]})}),dx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{env:e}=t,{state:n}=t.req.valid("query"),{vendorSettings:r,client:i}=await Ee(t,n),s=ls(i.tenant.id,t.req.header("cookie")),a=s?await e.data.sessions.get(i.tenant.id,s):null;if(!a)return t.redirect(`/u/login/identifier?state=${n}`);const c=await e.data.users.get(i.tenant.id,a.user_id);return c?t.html(y(zm,{vendorSettings:r,state:n,user:c})):t.redirect(`/u/login/identifier?state=${n}`)}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{302:{description:"Redirect"}}}),async t=>{const{env:e}=t,{state:n}=t.req.valid("query"),{loginSession:r,client:i}=await Ee(t,n),s=ls(i.tenant.id,t.req.header("cookie")),a=s?await e.data.sessions.get(i.tenant.id,s):null;if(!a)return t.redirect(`/u/login/identifier?state=${n}`);const c=await e.data.users.get(i.tenant.id,a.user_id);return c?ln(t,{user:c,authParams:r.authParams,client:i,loginSession:r}):t.redirect(`/u/login/identifier?state=${n}`)}),Em=t=>{const{vendorSettings:e,email:n,state:r}=t;return y(Ue,{title:B.t("create_password_account_title"),vendorSettings:e,children:[y("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:B.t("create_password_account_title")}),y("div",{className:"mb-6 text-gray-300",children:B.t("enter_email_for_verification_description")}),y("div",{className:"flex flex-1 flex-col justify-center",children:y(Gt,{className:"pt-2",children:[y("input",{type:"email",name:"username",placeholder:B.t("email_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",required:!0,value:n,disabled:!0}),y(Ze,{className:"sm:mt-4 !text-base",children:B.t("send")})]})}),y(yt,{state:r})]})},ux=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{vendorSettings:n,loginSession:r}=await Ee(t,e),{username:i}=r.authParams;if(!i)throw new I(400,{message:"Username required"});return t.html(y(Em,{state:e,vendorSettings:n,email:i}))}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{loginSession:n,client:r}=await Ee(t,e),{username:i}=n.authParams;if(!i)throw new I(400,{message:"Username required"});const s=await t.env.data.codes.create(r.tenant.id,{code_id:Pn(),code_type:"email_verification",login_id:n.id,expires_at:new Date(Date.now()+F0).toISOString()});return await Jb(t,i,s.code_id,n.id),t.redirect(`/u/pre-signup-sent?state=${e}`)}),Im=t=>{const{redirectUrl:e,vendorSettings:n}=t;return y(Ue,{title:B.t("invalid_session_title"),vendorSettings:n,children:[y("div",{className:"flex flex-1 flex-col justify-center",children:B.t("invalid_session_body")}),y("div",{className:"flex flex-1 flex-col justify-center",children:e&&y("a",{className:"block text-primary hover:text-primaryHover text-center",href:e,children:B.t("go_back")})})]})},px=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string()})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{vendorSettings:n,loginSession:r}=await Ee(t,e);let i;return r.authParams.redirect_uri&&r.authParams.state&&(i=new URL(r.authParams.redirect_uri),i.searchParams.set("state",r.authParams.state),i.searchParams.set("error","invalid_session"),i.searchParams.set("error_description",r.authParams.username||"")),t.html(y(Im,{redirectUrl:i==null?void 0:i.href,vendorSettings:n}))}),fx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"}),code:o.z.string().openapi({description:"The code parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const e=await _d(t.env),{state:n}=t.req.valid("query");return t.html(y(Qo,{message:"Not implemented",pageTitle:"User info",vendorSettings:e,state:n}))}),Cm=({vendorSettings:t,state:e})=>{const n=new URLSearchParams({state:e});return y(Ue,{title:B.t("email_validated"),vendorSettings:t,children:[y("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:B.t("email_validated")}),y("div",{className:"flex flex-1 flex-col justify-center mb-7",children:y(Ze,{Component:"a",href:`/u/enter-password?${n}`,className:"text-base sm:mt-4 md:text-base",children:y("div",{className:"flex items-center space-x-2",children:[y("span",{children:B.t("email_validated_cta")}),y(Ge,{className:"text-xs",name:"arrow-right"})]})})})]})},hx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"}),code:o.z.string().openapi({description:"The code parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{var m;const{state:e,code:n}=t.req.valid("query"),{env:r}=t,{client:i,loginSession:s,vendorSettings:a}=await Ee(t,e),{username:c}=s.authParams;if(!c)throw new I(400,{message:"Username not found in state"});const l=await fr({userAdapter:r.data.users,tenant_id:i.tenant.id,username:c,provider:"auth2"});if(!l)throw new I(500,{message:"No user found"});if(!await r.data.codes.get(i.tenant.id,n,"email_verification"))throw new I(400,{message:"Code not found or expired"});await r.data.users.update(i.tenant.id,l.user_id,{email_verified:!0});const f=(await hl(r.data.users,i.tenant.id,c)).filter(w=>w.provider!=="auth2");if(f.length>0){const w=f.filter(h=>!h.linked_to);w.length>1&&console.error("More than one primary user found for email",c),w.length===0&&console.error("No primary user found for email",c),w.length===1&&await r.data.users.update(i.tenant.id,l.user_id,{linked_to:(m=w[0])==null?void 0:m.user_id})}return t.html(y(Cm,{vendorSettings:a,state:e}))}),Nm=t=>{const{vendorSettings:e,email:n,state:r}=t;return y(Ue,{title:B.t("email_verification_for_signup_sent_title"),vendorSettings:e,children:[y("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:B.t("email_verification_for_signup_sent_title")}),y("div",{className:"flex flex-1 flex-col justify-center",children:[y("div",{className:"mb-6 text-gray-300",children:y(Xo,{i18nKey:"email_verification_for_signup_sent_description",components:[y("span",{className:"text-black dark:text-white"},"span")],values:{email:n}})}),y("div",{className:"my-4 flex space-x-2 text-sm text-[#B2B2B2]",children:[y(Ge,{className:"text-base",name:"info-bubble"}),y("div",{className:"text-sm text-gray-300 md:text-sm",children:B.t("sent_code_spam")})]})]}),y(yt,{state:r})]})},gx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{vendorSettings:n,loginSession:r}=await Ee(t,e),{username:i}=r.authParams;if(!i)throw new I(400,{message:"Username required"});return t.html(y(Nm,{vendorSettings:n,state:e,email:i}))}),vd=`
220
220
  @font-face{font-display:swap;font-family:KHTeka;font-style:normal;font-weight:400;src:url(https://assets.sesamy.com/fonts/khteka/WOFF2/KHTeka-Regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:KHTeka;font-style:normal;font-weight:500;src:url(https://assets.sesamy.com/fonts/khteka/WOFF2/KHTeka-Medium.woff2) format("woff2")}@font-face{font-display:swap;font-family:KHTeka;font-style:normal;font-weight:600;src:url(https://assets.sesamy.com/fonts/khteka/WOFF2/KHTeka-Bold.woff2) format("woff2")}@font-face{font-family:uicon;src:url(https://login2.sesamy.com/_next/static/media/uicon.0b00e08a.woff2)}[class*=" uicon-"],[class^=uicon-]{font-family:uicon!important;font-size:inherit;font-style:normal;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.uicon-apple:before{content:"\\ea01"}.uicon-arrow-down:before{content:"\\ea02"}.uicon-arrow-left:before{content:"\\ea03"}.uicon-arrow-right:before{content:"\\ea04"}.uicon-arrow-up:before{content:"\\ea05"}.uicon-facebook:before{content:"\\ea06"}.uicon-google:before{content:"\\ea07"}.uicon-info-bubble:before{content:"\\ea08"}.uicon-info:before{content:"\\ea09"}.uicon-sesamy:before{content:"\\ea0a"}.uicon-spinner-circle:before{content:"\\ea0b"}.uicon-spinner-inner:before{content:"\\ea0c"}
221
221
 
222
- /*! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #bfbcd7;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:KHTeka,Helvetica Neue,HelveticaNeue,TeX Gyre Heros,TeXGyreHeros,FreeSans,Nimbus Sans L,Liberation Sans,Arimo,Helvetica,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#4b4a58;opacity:1}input::placeholder,textarea::placeholder{color:#4b4a58;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}body,html{height:100%}body{--tw-bg-opacity:1;background-color:rgb(248 249 251/var(--tw-bg-opacity));font-size:1rem;letter-spacing:.0125rem;line-height:120%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (min-width:1280px){body{font-size:1.125rem;line-height:120%}}:is(.dark body){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}button,input,optgroup,select,textarea{font-size:.875rem;letter-spacing:.0125rem;line-height:120%}@media (min-width:1280px){button,input,optgroup,select,textarea{font-size:1rem;line-height:120%}}h1{font-size:1.5rem;font-weight:500;line-height:120%}@media (min-width:1280px){h1{font-size:2rem;line-height:120%}}@media (min-width:640px){h1{font-size:3rem;letter-spacing:-.0625rem;line-height:100%}}@media (min-width:1280px){h1{font-size:3.5rem;letter-spacing:-.0625rem;line-height:100%}}h2{font-size:1.25rem;font-weight:500;line-height:120%}@media (min-width:1280px){h2{font-size:1.5rem;line-height:120%}}@media (min-width:640px){h2{font-size:2rem;letter-spacing:0;line-height:120%}}@media (min-width:1280px){h2{font-size:3rem;letter-spacing:-.0625rem;line-height:100%}}h3{font-size:1.125rem;font-weight:500;line-height:120%}@media (min-width:1280px){h3{font-size:1.25rem;line-height:120%}}@media (min-width:640px){h3{font-size:1.5rem;line-height:120%}}@media (min-width:1280px){h3{font-size:2rem;line-height:120%}}h4{font-size:1rem;font-weight:500;line-height:120%}@media (min-width:1280px){h4{font-size:1.125rem;line-height:120%}}@media (min-width:640px){h4{font-size:1.125rem;line-height:120%}}@media (min-width:1280px){h4{font-size:1.5rem;line-height:120%}}h5{font-size:.875rem;font-weight:500;line-height:120%}@media (min-width:1280px){h5{font-size:1rem;line-height:120%}}@media (min-width:640px){h5{font-size:1rem;line-height:120%}}@media (min-width:1280px){h5{font-size:1.125rem;line-height:120%}}h6{font-size:.75rem;font-weight:500;line-height:135%}@media (min-width:1280px){h6{font-size:.875rem;line-height:120%}}@media (min-width:640px){h6{font-size:.875rem;line-height:120%}}@media (min-width:1280px){h6{font-size:1rem;line-height:120%}}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.left-0{left:0}.right-0{right:0}.top-0{top:0}.top-1\\/2{top:50%}.my-4{margin-bottom:1rem;margin-top:1rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.mb-8{margin-bottom:2rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.hidden{display:none}.h-5{height:1.25rem}.h-9{height:2.25rem}.h-full{height:100%}.max-h-full{max-height:100%}.min-h-\\[calc\\(100vh-83px\\)\\]{min-height:calc(100vh - 83px)}.min-h-full{min-height:100%}.w-5{width:1.25rem}.w-\\[calc\\(100\\%-theme\\(space\\.2\\)-theme\\(space\\.2\\)\\)\\]{width:calc(100% - 1rem)}.w-full{width:100%}.max-w-\\[1295px\\]{max-width:1295px}.flex-1{flex:1 1 0%}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.flex-col{flex-direction:column}.\\!flex-nowrap{flex-wrap:nowrap!important}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.rounded-2xl{border-radius:1.25rem}.rounded-lg{border-radius:.625rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-gray-100{--tw-border-opacity:1;border-color:rgb(248 249 251/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(191 188 215/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(136 134 159/var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(59 57 70/var(--tw-border-opacity))}.border-red{--tw-border-opacity:1;border-color:rgb(252 90 90/var(--tw-border-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(248 249 251/var(--tw-bg-opacity))}.bg-primary{background-color:var(--primary-color)}.bg-primaryHover{background-color:var(--primary-hover)}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-cover{background-size:cover}.bg-center{background-position:50%}.px-0{padding-left:0;padding-right:0}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.pb-2{padding-bottom:.5rem}.pb-8{padding-bottom:2rem}.pt-2{padding-top:.5rem}.pt-2\\.5{padding-top:.625rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.indent-\\[5px\\]{text-indent:5px}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.\\!text-base{font-size:1rem!important;line-height:120%!important}.text-2xl{font-size:1.5rem;line-height:120%}.text-3xl{font-size:2rem;line-height:120%}.text-base{font-size:1rem;line-height:120%}.text-lg{font-size:1.125rem;line-height:120%}.text-sm{font-size:.875rem;line-height:120%}.text-xl{font-size:1.25rem;line-height:120%}.text-xs{font-size:.75rem;line-height:135%}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-\\[0\\]{line-height:0}.text-\\[\\#1196F5\\]{--tw-text-opacity:1;color:rgb(17 150 245/var(--tw-text-opacity))}.text-\\[\\#B2B2B2\\]{--tw-text-opacity:1;color:rgb(178 178 178/var(--tw-text-opacity))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgb(191 188 215/var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity:1;color:rgb(136 134 159/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(30 30 39/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(8 8 14/var(--tw-text-opacity))}.text-primary{color:var(--primary-color)}.text-red{--tw-text-opacity:1;color:rgb(252 90 90/var(--tw-text-opacity))}.text-textOnPrimary{color:var(--text-on-primary)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.opacity-40{opacity:.4}.row-up-left{align-content:flex-start;justify-content:flex-start}.row,.row-up-left{display:flex;flex-direction:row;flex-wrap:wrap}.row{align-content:center;align-items:center;justify-content:center}.column-left{align-items:flex-start;display:flex;flex-direction:column;justify-content:center}@media (min-width:1280px){.text-5xl{font-size:5.125rem;letter-spacing:-.125rem;line-height:100%}.text-4xl{font-size:3.5rem}.text-3xl,.text-4xl{letter-spacing:-.0625rem;line-height:100%}.text-3xl{font-size:3rem}.text-2xl{font-size:2rem}.text-2xl,.text-xl{line-height:120%}.text-xl{font-size:1.5rem}.text-lg{font-size:1.25rem}.text-base,.text-lg{line-height:120%}.text-base{font-size:1.125rem}.text-sm{font-size:1rem}.text-sm,.text-xs{line-height:120%}.text-xs{font-size:.875rem}}:root{--primary-color:#7d68f4;--primary-hover:#7e69f4;--text-on-primary:#fff}svg{transform:translate3d(var(--tw-translate-x),var(--tw-translate-y),0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}*,:after,:before{text-underline-offset:4px}input[type=number],input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:textfield!important}.btn.is-loading{cursor:not-allowed;opacity:.4;pointer-events:none}.btn .btn-spinner,.btn.is-loading .btn-label{opacity:0;visibility:hidden}.btn.is-loading .btn-spinner{opacity:1;visibility:visible}[class*=" uicon-"],[class^=uicon-]{letter-spacing:0;line-height:100%}.placeholder\\:text-gray-300::-moz-placeholder{--tw-text-opacity:1;color:rgb(136 134 159/var(--tw-text-opacity))}.placeholder\\:text-gray-300::placeholder{--tw-text-opacity:1;color:rgb(136 134 159/var(--tw-text-opacity))}.hover\\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(248 249 251/var(--tw-bg-opacity))}.hover\\:bg-primaryHover:hover{background-color:var(--primary-hover)}.hover\\:text-primaryHover:hover{color:var(--primary-hover)}.hover\\:underline:hover{text-decoration-line:underline}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\\:ring-2:focus,.focus\\:ring:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\\:ring-primary:focus{--tw-ring-color:var(--primary-color)}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}:is(.dark .dark\\:border-gray-400){--tw-border-opacity:1;border-color:rgb(75 74 88/var(--tw-border-opacity))}:is(.dark .dark\\:border-gray-500){--tw-border-opacity:1;border-color:rgb(59 57 70/var(--tw-border-opacity))}:is(.dark .dark\\:border-gray-600){--tw-border-opacity:1;border-color:rgb(40 40 52/var(--tw-border-opacity))}:is(.dark .dark\\:bg-black){--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}:is(.dark .dark\\:bg-gray-600){--tw-bg-opacity:1;background-color:rgb(40 40 52/var(--tw-bg-opacity))}:is(.dark .dark\\:bg-gray-800){--tw-bg-opacity:1;background-color:rgb(20 20 26/var(--tw-bg-opacity))}:is(.dark .dark\\:text-\\[\\#201a41\\]){--tw-text-opacity:1;color:rgb(32 26 65/var(--tw-text-opacity))}:is(.dark .dark\\:text-gray-300){--tw-text-opacity:1;color:rgb(136 134 159/var(--tw-text-opacity))}:is(.dark .dark\\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\\:hover\\:bg-black\\/90:hover){background-color:rgba(0,0,0,.9)}:is(.dark .dark\\:focus\\:ring-offset-gray-900:focus){--tw-ring-offset-color:#08080e}@media (min-width:640px){.sm\\:absolute{position:absolute}.sm\\:left-4{left:1rem}.sm\\:top-1\\/2{top:50%}.sm\\:mt-4{margin-top:1rem}.sm\\:inline{display:inline}.sm\\:h-6{height:1.5rem}.sm\\:min-h-\\[700px\\]{min-height:700px}.sm\\:w-6{width:1.5rem}.sm\\:w-\\[calc\\(100\\%-theme\\(space\\.16\\)-theme\\(space\\.16\\)\\)\\]{width:calc(100% - 8rem)}.sm\\:w-auto{width:auto}.sm\\:max-w-md{max-width:28rem}.sm\\:-translate-y-1\\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\\:flex-col{flex-direction:column}.sm\\:justify-normal{justify-content:normal}.sm\\:space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(0px*(1 - var(--tw-space-x-reverse)));margin-right:calc(0px*var(--tw-space-x-reverse))}.sm\\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.sm\\:bg-fixed{background-attachment:fixed}.sm\\:bg-left-top{background-position:0 0}.sm\\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\\:px-14{padding-left:3.5rem;padding-right:3.5rem}.sm\\:py-14{padding-bottom:3.5rem;padding-top:3.5rem}.sm\\:py-4{padding-bottom:1rem;padding-top:1rem}.sm\\:pt-16{padding-top:4rem}.sm\\:text-2xl{font-size:1.5rem;line-height:120%}.sm\\:text-base{font-size:1rem;line-height:120%}}@media (min-width:1280px){.md\\:min-w-\\[448px\\]{min-width:448px}.md\\:text-3xl{font-size:2rem;line-height:120%}.md\\:text-base{font-size:1rem;line-height:120%}.md\\:text-sm{font-size:.875rem;line-height:120%}.md\\:text-xs{font-size:.75rem;line-height:135%}}@media (max-height:900px) and (min-width:640px){.short\\:static{position:static}.short\\:left-auto{left:auto}.short\\:top-auto{top:auto}.short\\:hidden{display:none}.short\\:h-5{height:1.25rem}.short\\:min-h-\\[558px\\]{min-height:558px}.short\\:w-5{width:1.25rem}.short\\:translate-y-0{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.short\\:flex-row{flex-direction:row}.short\\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.short\\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.short\\:px-0{padding-left:0;padding-right:0}.short\\:py-3{padding-bottom:.75rem;padding-top:.75rem}.short\\:text-xl{font-size:1.25rem;line-height:120%}}`;function mx(){if(typeof document<"u"){const t=document.createElement("style");t.innerHTML=bd,t.setAttribute("data-authhero-tailwind",""),document.head.appendChild(t)}}function _x(t){const e=new o.OpenAPIHono;e.use(sd).use(async(r,i)=>(r.env.data=ro(r,t.dataAdapter),i())),e.get("/css/tailwind.css",async r=>{const i=bd;return r.text(i,200,{"content-type":"text/css; charset=utf-8"})});const n=e.route("/info",fx).route("/check-account",dx).route("/enter-email",B1).route("/enter-code",sx).route("/enter-password",ox).route("/invalid-session",px).route("/pre-signup",ux).route("/pre-signup-sent",gx).route("/reset-password",cx).route("/forgot-password",lx).route("/validate-email",hx).route("/signup",ax);return n.doc("/u/spec",{openapi:"3.0.0",info:{version:"1.0.0",title:"Universal login"}}),n}const yx="Account detected",wx="We have detected that you have already created an account through",vx="By signing in, you agree to our",bx="and",xx="Callback URL mismatch",kx="The provided redirect_uri is not in the list of allowed callback URLs.",Sx="continue with user",Ax="Please click the button to create a new password account.",zx="Enter the code at {{vendorName}} to complete the login",Ex="Welcome to {{vendorName}}! {{code}} is the login code",Ix="Welcome to {{vendorName}}! {{code}} is the login code",Cx="The code is valid for 30 minutes",Nx="Confirm password",jx="Need Help?",$x="Contact us",Ox="or continue with social account",Tx="Continue with {{provider}}",Px="Would you like to continue with your existing account?",Bx="Copyright © 2023 SESAMY. All rights reserved.",Rx="©2023 Sesamy",Lx="Choose a password with a mix of uppercase and lowercase letters, numbers, and symbols.",Ux="Please enter a valid email address.",Vx="The passwords didn't match. Try again.",qx="Choose password",Mx="Password must be at least 8 characters long and contain at least one lowercase letter, one uppercase letter, one number and one symbol.",Dx="Create new account",Hx="Sign up with password",Fx="You are currently logged in as <0>{{email}}</0>",Kx="Email",Wx="Email address",Gx="Your email address has been validated",Jx="Now enter your password to login again",Zx="An email has been sent to <0>{{email}}</0> with a verification link. Please click the link to verify your email address and set a password.",Yx="Email verification sent",Xx="Enter a code",Qx="We'll send you a verification link to ensure you own this email address.",ek="Enter new password",tk="Enter password",nk="Enter your email address and password to login.",rk="Enter your password",ik="The magic link has expired. Please click on the button below to receive a new link in your inbox.",sk="Hey! We updated our login experience. <0>Click here to learn more about it.</0>",ok="Send password reset email",ak="Click the button below and we’ll send instructions on how to reset your password.",ck="Password reset email sent",lk="Forgot password?",dk="Forgot password?",uk="Go back",pk="Invalid password",fk=`The link is no longer valid.
222
+ /*! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #bfbcd7;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:KHTeka,Helvetica Neue,HelveticaNeue,TeX Gyre Heros,TeXGyreHeros,FreeSans,Nimbus Sans L,Liberation Sans,Arimo,Helvetica,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#4b4a58;opacity:1}input::placeholder,textarea::placeholder{color:#4b4a58;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}body,html{height:100%}body{--tw-bg-opacity:1;background-color:rgb(248 249 251/var(--tw-bg-opacity));font-size:1rem;letter-spacing:.0125rem;line-height:120%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (min-width:1280px){body{font-size:1.125rem;line-height:120%}}:is(.dark body){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}button,input,optgroup,select,textarea{font-size:.875rem;letter-spacing:.0125rem;line-height:120%}@media (min-width:1280px){button,input,optgroup,select,textarea{font-size:1rem;line-height:120%}}h1{font-size:1.5rem;font-weight:500;line-height:120%}@media (min-width:1280px){h1{font-size:2rem;line-height:120%}}@media (min-width:640px){h1{font-size:3rem;letter-spacing:-.0625rem;line-height:100%}}@media (min-width:1280px){h1{font-size:3.5rem;letter-spacing:-.0625rem;line-height:100%}}h2{font-size:1.25rem;font-weight:500;line-height:120%}@media (min-width:1280px){h2{font-size:1.5rem;line-height:120%}}@media (min-width:640px){h2{font-size:2rem;letter-spacing:0;line-height:120%}}@media (min-width:1280px){h2{font-size:3rem;letter-spacing:-.0625rem;line-height:100%}}h3{font-size:1.125rem;font-weight:500;line-height:120%}@media (min-width:1280px){h3{font-size:1.25rem;line-height:120%}}@media (min-width:640px){h3{font-size:1.5rem;line-height:120%}}@media (min-width:1280px){h3{font-size:2rem;line-height:120%}}h4{font-size:1rem;font-weight:500;line-height:120%}@media (min-width:1280px){h4{font-size:1.125rem;line-height:120%}}@media (min-width:640px){h4{font-size:1.125rem;line-height:120%}}@media (min-width:1280px){h4{font-size:1.5rem;line-height:120%}}h5{font-size:.875rem;font-weight:500;line-height:120%}@media (min-width:1280px){h5{font-size:1rem;line-height:120%}}@media (min-width:640px){h5{font-size:1rem;line-height:120%}}@media (min-width:1280px){h5{font-size:1.125rem;line-height:120%}}h6{font-size:.75rem;font-weight:500;line-height:135%}@media (min-width:1280px){h6{font-size:.875rem;line-height:120%}}@media (min-width:640px){h6{font-size:.875rem;line-height:120%}}@media (min-width:1280px){h6{font-size:1rem;line-height:120%}}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.left-0{left:0}.right-0{right:0}.top-0{top:0}.top-1\\/2{top:50%}.my-4{margin-bottom:1rem;margin-top:1rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.mb-8{margin-bottom:2rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.hidden{display:none}.h-5{height:1.25rem}.h-9{height:2.25rem}.h-full{height:100%}.max-h-full{max-height:100%}.min-h-\\[calc\\(100vh-83px\\)\\]{min-height:calc(100vh - 83px)}.min-h-full{min-height:100%}.w-5{width:1.25rem}.w-\\[calc\\(100\\%-theme\\(space\\.2\\)-theme\\(space\\.2\\)\\)\\]{width:calc(100% - 1rem)}.w-full{width:100%}.max-w-\\[1295px\\]{max-width:1295px}.flex-1{flex:1 1 0%}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.flex-col{flex-direction:column}.\\!flex-nowrap{flex-wrap:nowrap!important}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.rounded-2xl{border-radius:1.25rem}.rounded-lg{border-radius:.625rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-gray-100{--tw-border-opacity:1;border-color:rgb(248 249 251/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(191 188 215/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(136 134 159/var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(59 57 70/var(--tw-border-opacity))}.border-red{--tw-border-opacity:1;border-color:rgb(252 90 90/var(--tw-border-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(248 249 251/var(--tw-bg-opacity))}.bg-primary{background-color:var(--primary-color)}.bg-primaryHover{background-color:var(--primary-hover)}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-cover{background-size:cover}.bg-center{background-position:50%}.px-0{padding-left:0;padding-right:0}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.pb-2{padding-bottom:.5rem}.pb-8{padding-bottom:2rem}.pt-2{padding-top:.5rem}.pt-2\\.5{padding-top:.625rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.indent-\\[5px\\]{text-indent:5px}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.\\!text-base{font-size:1rem!important;line-height:120%!important}.text-2xl{font-size:1.5rem;line-height:120%}.text-3xl{font-size:2rem;line-height:120%}.text-base{font-size:1rem;line-height:120%}.text-lg{font-size:1.125rem;line-height:120%}.text-sm{font-size:.875rem;line-height:120%}.text-xl{font-size:1.25rem;line-height:120%}.text-xs{font-size:.75rem;line-height:135%}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-\\[0\\]{line-height:0}.text-\\[\\#1196F5\\]{--tw-text-opacity:1;color:rgb(17 150 245/var(--tw-text-opacity))}.text-\\[\\#B2B2B2\\]{--tw-text-opacity:1;color:rgb(178 178 178/var(--tw-text-opacity))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgb(191 188 215/var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity:1;color:rgb(136 134 159/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(30 30 39/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(8 8 14/var(--tw-text-opacity))}.text-primary{color:var(--primary-color)}.text-red{--tw-text-opacity:1;color:rgb(252 90 90/var(--tw-text-opacity))}.text-textOnPrimary{color:var(--text-on-primary)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.opacity-40{opacity:.4}.row-up-left{align-content:flex-start;justify-content:flex-start}.row,.row-up-left{display:flex;flex-direction:row;flex-wrap:wrap}.row{align-content:center;align-items:center;justify-content:center}.column-left{align-items:flex-start;display:flex;flex-direction:column;justify-content:center}@media (min-width:1280px){.text-5xl{font-size:5.125rem;letter-spacing:-.125rem;line-height:100%}.text-4xl{font-size:3.5rem}.text-3xl,.text-4xl{letter-spacing:-.0625rem;line-height:100%}.text-3xl{font-size:3rem}.text-2xl{font-size:2rem}.text-2xl,.text-xl{line-height:120%}.text-xl{font-size:1.5rem}.text-lg{font-size:1.25rem}.text-base,.text-lg{line-height:120%}.text-base{font-size:1.125rem}.text-sm{font-size:1rem}.text-sm,.text-xs{line-height:120%}.text-xs{font-size:.875rem}}:root{--primary-color:#7d68f4;--primary-hover:#7e69f4;--text-on-primary:#fff}svg{transform:translate3d(var(--tw-translate-x),var(--tw-translate-y),0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}*,:after,:before{text-underline-offset:4px}input[type=number],input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:textfield!important}.btn.is-loading{cursor:not-allowed;opacity:.4;pointer-events:none}.btn .btn-spinner,.btn.is-loading .btn-label{opacity:0;visibility:hidden}.btn.is-loading .btn-spinner{opacity:1;visibility:visible}[class*=" uicon-"],[class^=uicon-]{letter-spacing:0;line-height:100%}.placeholder\\:text-gray-300::-moz-placeholder{--tw-text-opacity:1;color:rgb(136 134 159/var(--tw-text-opacity))}.placeholder\\:text-gray-300::placeholder{--tw-text-opacity:1;color:rgb(136 134 159/var(--tw-text-opacity))}.hover\\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(248 249 251/var(--tw-bg-opacity))}.hover\\:bg-primaryHover:hover{background-color:var(--primary-hover)}.hover\\:text-primaryHover:hover{color:var(--primary-hover)}.hover\\:underline:hover{text-decoration-line:underline}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\\:ring-2:focus,.focus\\:ring:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\\:ring-primary:focus{--tw-ring-color:var(--primary-color)}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}:is(.dark .dark\\:border-gray-400){--tw-border-opacity:1;border-color:rgb(75 74 88/var(--tw-border-opacity))}:is(.dark .dark\\:border-gray-500){--tw-border-opacity:1;border-color:rgb(59 57 70/var(--tw-border-opacity))}:is(.dark .dark\\:border-gray-600){--tw-border-opacity:1;border-color:rgb(40 40 52/var(--tw-border-opacity))}:is(.dark .dark\\:bg-black){--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}:is(.dark .dark\\:bg-gray-600){--tw-bg-opacity:1;background-color:rgb(40 40 52/var(--tw-bg-opacity))}:is(.dark .dark\\:bg-gray-800){--tw-bg-opacity:1;background-color:rgb(20 20 26/var(--tw-bg-opacity))}:is(.dark .dark\\:text-\\[\\#201a41\\]){--tw-text-opacity:1;color:rgb(32 26 65/var(--tw-text-opacity))}:is(.dark .dark\\:text-gray-300){--tw-text-opacity:1;color:rgb(136 134 159/var(--tw-text-opacity))}:is(.dark .dark\\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\\:hover\\:bg-black\\/90:hover){background-color:rgba(0,0,0,.9)}:is(.dark .dark\\:focus\\:ring-offset-gray-900:focus){--tw-ring-offset-color:#08080e}@media (min-width:640px){.sm\\:absolute{position:absolute}.sm\\:left-4{left:1rem}.sm\\:top-1\\/2{top:50%}.sm\\:mt-4{margin-top:1rem}.sm\\:inline{display:inline}.sm\\:h-6{height:1.5rem}.sm\\:min-h-\\[700px\\]{min-height:700px}.sm\\:w-6{width:1.5rem}.sm\\:w-\\[calc\\(100\\%-theme\\(space\\.16\\)-theme\\(space\\.16\\)\\)\\]{width:calc(100% - 8rem)}.sm\\:w-auto{width:auto}.sm\\:max-w-md{max-width:28rem}.sm\\:-translate-y-1\\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\\:flex-col{flex-direction:column}.sm\\:justify-normal{justify-content:normal}.sm\\:space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(0px*(1 - var(--tw-space-x-reverse)));margin-right:calc(0px*var(--tw-space-x-reverse))}.sm\\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.sm\\:bg-fixed{background-attachment:fixed}.sm\\:bg-left-top{background-position:0 0}.sm\\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\\:px-14{padding-left:3.5rem;padding-right:3.5rem}.sm\\:py-14{padding-bottom:3.5rem;padding-top:3.5rem}.sm\\:py-4{padding-bottom:1rem;padding-top:1rem}.sm\\:pt-16{padding-top:4rem}.sm\\:text-2xl{font-size:1.5rem;line-height:120%}.sm\\:text-base{font-size:1rem;line-height:120%}}@media (min-width:1280px){.md\\:min-w-\\[448px\\]{min-width:448px}.md\\:text-3xl{font-size:2rem;line-height:120%}.md\\:text-base{font-size:1rem;line-height:120%}.md\\:text-sm{font-size:.875rem;line-height:120%}.md\\:text-xs{font-size:.75rem;line-height:135%}}@media (max-height:900px) and (min-width:640px){.short\\:static{position:static}.short\\:left-auto{left:auto}.short\\:top-auto{top:auto}.short\\:hidden{display:none}.short\\:h-5{height:1.25rem}.short\\:min-h-\\[558px\\]{min-height:558px}.short\\:w-5{width:1.25rem}.short\\:translate-y-0{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.short\\:flex-row{flex-direction:row}.short\\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.short\\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.short\\:px-0{padding-left:0;padding-right:0}.short\\:py-3{padding-bottom:.75rem;padding-top:.75rem}.short\\:text-xl{font-size:1.25rem;line-height:120%}}`;function mx(){if(typeof document<"u"){const t=document.createElement("style");t.innerHTML=vd,t.setAttribute("data-authhero-tailwind",""),document.head.appendChild(t)}}function _x(t){const e=new o.OpenAPIHono;e.use(id).use(async(r,i)=>(r.env.data=ro(r,t.dataAdapter),i())),e.get("/css/tailwind.css",async r=>{const i=vd;return r.text(i,200,{"content-type":"text/css; charset=utf-8"})});const n=e.route("/info",fx).route("/check-account",dx).route("/login/identifier",B1).route("/enter-code",sx).route("/enter-password",ox).route("/invalid-session",px).route("/pre-signup",ux).route("/pre-signup-sent",gx).route("/reset-password",cx).route("/forgot-password",lx).route("/validate-email",hx).route("/signup",ax);return n.doc("/u/spec",{openapi:"3.0.0",info:{version:"1.0.0",title:"Universal login"}}),n}const yx="Account detected",wx="We have detected that you have already created an account through",vx="By signing in, you agree to our",bx="and",xx="Callback URL mismatch",kx="The provided redirect_uri is not in the list of allowed callback URLs.",Sx="continue with user",Ax="Please click the button to create a new password account.",zx="Enter the code at {{vendorName}} to complete the login",Ex="Welcome to {{vendorName}}! {{code}} is the login code",Ix="Welcome to {{vendorName}}! {{code}} is the login code",Cx="The code is valid for 30 minutes",Nx="Confirm password",jx="Need Help?",$x="Contact us",Ox="or continue with social account",Tx="Continue with {{provider}}",Px="Would you like to continue with your existing account?",Bx="Copyright © 2023 SESAMY. All rights reserved.",Rx="©2023 Sesamy",Lx="Choose a password with a mix of uppercase and lowercase letters, numbers, and symbols.",Ux="Please enter a valid email address.",Vx="The passwords didn't match. Try again.",qx="Choose password",Mx="Password must be at least 8 characters long and contain at least one lowercase letter, one uppercase letter, one number and one symbol.",Dx="Create new account",Hx="Sign up with password",Fx="You are currently logged in as <0>{{email}}</0>",Kx="Email",Wx="Email address",Gx="Your email address has been validated",Jx="Now enter your password to login again",Zx="An email has been sent to <0>{{email}}</0> with a verification link. Please click the link to verify your email address and set a password.",Yx="Email verification sent",Xx="Enter a code",Qx="We'll send you a verification link to ensure you own this email address.",ek="Enter new password",tk="Enter password",nk="Enter your email address and password to login.",rk="Enter your password",ik="The magic link has expired. Please click on the button below to receive a new link in your inbox.",sk="Hey! We updated our login experience. <0>Click here to learn more about it.</0>",ok="Send password reset email",ak="Click the button below and we’ll send instructions on how to reset your password.",ck="Password reset email sent",lk="Forgot password?",dk="Forgot password?",uk="Go back",pk="Invalid password",fk=`The link is no longer valid.
223
223
 
224
224
  Please make sure to open the login link in the same browser you started the login with.
225
225
 
@@ -247,4 +247,4 @@ Kliknutím na odkaz níže můžete zahájit nové přihlášení.`,dC="Neplatn
247
247
 
248
248
  Varmista, että avaat kirjautumislinkin samalla selaimella, jolla aloitit kirjautumisen.
249
249
 
250
- Voit aloittaa uuden kirjautumisen klikkaamalla alla olevaa linkkiä.`,vj="Virheellinen linkki",bj="Kirjaudu sisään napsauttamalla painiketta",xj="Kirjaudu sisään",kj="Tai kirjoita koodi osoitteessa {{vendorName}} kirjautumisen loppuun saattamiseksi.",Sj="Kirjoita sähköpostiosoitteesi avataksesi tämän ohjelman osoitteessa {{service}}",Aj="Yhdistä tilisi {{service}}",zj="Olet kirjautunut sisään nimellä",Ej="Kirjaudu sisään",Ij="Kirjoita sähköpostiosoitteesi kirjautuaksesi sisään.",Cj="Anna sähköpostiosoitteesi, niin lähetämme sinulle kirjautumiskoodin.",Nj="Anna sähköpostiosoitteesi, niin lähetämme sinulle kirjautumislinkin.",jj="Kirjaudu ulos",$j="Ei, haluan käyttää toista tiliä",Oj="tai",Tj="Salasana",Pj="Salasana on nollattu",Bj="Menestys",Rj="Vaihda salasana tilillesi {{vendorName}} ",Lj="Vaihda salasana tilillesi {{vendorName}} ",Uj="Tietosuojakäytäntö",Vj="Uudelleenohjaus",qj="Vahvista salasana",Mj="Rekisteröi uusi salasana",Dj="Lähetä koodi uudelleen",Hj="Vaihda salasana",Fj="Kirjoita alla oleva uusi salasanasi sähköpostitiliä varten: ",Kj="Napsauta painiketta salasanasi palauttamiseksi",Wj="Napsauta painiketta salasanasi palauttamiseksi",Gj="Nollaa salasanasi",Jj="Vaihda salasana tilillesi {{vendorName}} ",Zj="Nollaa salasana",Yj="Lähetä",Xj="Lähetä minulle uusi maaginen linkki",Qj="Muista tarkistaa roskapostikansiosi, jos sähköposti ei ole saapunut.",e$="Aseta salasana",t$="Kirjaudu sisään",n$="Rekisteröityminen",r$="Rekisteröidy onnistuneesti",i$="{{code}} on kirjautumiskoodisi {{vendorName}}",s$="Näyttää siltä, että Spotify-tilisi on tällä hetkellä yhdistetty toiseen Sesamy-tiliin. Mutta älä pelkää, me opastamme sinua prosessin läpi, jotta saat tämän korjattua.",o$="Siirry Spotifyn Content Access -sivulle",a$='Aloitetaan poistamalla Spotify-tilisi linkitys. Klikkaa alla olevaa painiketta siirtyäksesi Spotifyn Content Access -sivulle. Kun olet kirjautunut sisään Spotify-tilillesi, etsi Sesamy yhdistettyjen alustojen luettelosta. Napsauta "Unlink" Sesamyn logon vieressä.',c$="Vaihe 1: Poista Spotify-tilisi linkitys",l$="Kun olet onnistuneesti irrottanut Spotify-tilisi, voit yhdistää sen uudelleen Sesamyn kanssa. Toista vain aiemmin tekemäsi vaiheet, jotka johtivat sinut tälle sivulle.",d$="Vaihe 2: Yhdistä Spotify-tilisi uudelleen Sesamyn kanssa",u$="Hups! Spotify-tilisi on jo linkitetty",p$="Jos sinulla on kysyttävää tai tarvitset apua, voit ottaa yhteyttä tukitiimiimme.",f$="Ehdot ja edellytykset",h$="Sähköpostiosoitteesi on vahvistettava. Olemme lähettäneet uuden sähköpostiviestin sähköpostiisi.",g$="Käyttäjätiliä ei ole olemassa",m$="Käyttäjätiliä ei ole olemassa",_$="Emme löytäneet käyttäjää, jolla on annettu sähköpostiosoite. Yritä uudelleen.",y$="Yritä uudelleen.",w$="Validoi koodi",v$="Tarkista sähköpostin vahvistusohjeet postilaatikostasi.",b$="Rekisteröitynyt",x$="Vahvista sähköpostiosoitteesi napsauttamalla painiketta",k$="Vahvista sähköpostiosoitteesi",S$="Vahvista sähköpostiosoitteesi",A$="Vahvista tili",z$="Vahvista sähköpostiosoitteesi",E$="Tarkista sähköpostisi osoitteesta <0>{{email}}</0> ja syötä lähettämämme kuusinumeroinen koodi.",I$="Tervetuloa",C$="Tervetuloa tilillesi {{vendorName}}!",N$="Jatka tällä tilillä",j$="Kyllä, jatka {{text}}",$$="Kyllä, jatka olemassa olevalla tilillä",O$={"Server error: Invalid code":"Virheellinen koodi","Wrong email or verification code":{"":"Väärä sähköpostiosoite tai vahvistuskoodi."},account_detected:SN,account_with_sso_provider:AN,agree_to:zN,and:EN,callback_url_mismatch:IN,callback_url_not_allowed:CN,check_email_title:NN,click_to_sign_up_description:jN,code_email_enter_code:$N,code_email_subject:ON,code_email_title:TN,code_valid_30_minutes:PN,confirm_password:BN,contact_support:RN,contact_us:LN,continue:"Jatka",continue_social_login:UN,continue_with:VN,continue_with_sso_provider_headline:qN,copyright:MN,copyright_sesamy:DN,create_account_description:HN,create_account_email_invalid:FN,create_account_passwords_didnt_match:KN,create_account_title:WN,create_account_weak_password:GN,create_new_account_link:JN,create_password_account_title:ZN,currently_logged_in_as:YN,email:XN,email_placeholder:QN,email_validated:ej,email_validated_cta:tj,email_verification_for_signup_sent_description:nj,email_verification_for_signup_sent_title:rj,enter_a_code_btn:ij,enter_email_for_verification_description:sj,enter_new_password_placeholder:oj,enter_password:aj,enter_password_description:cj,enter_your_password_btn:lj,expired_code:dj,fokus_info_message:uj,forgot_password_cta:pj,forgot_password_description:fj,forgot_password_email_sent:hj,forgot_password_link:gj,forgot_password_title:mj,go_back:_j,"invalid-email":"Virheellinen sähköpostiosoite",invalid_password:yj,invalid_session_body:wj,invalid_session_title:vj,link_email_click_to_login:bj,link_email_login:xj,link_email_or_enter_code:kj,link_page_body:Sj,link_page_headline:Aj,logged_in_as:zj,login:Ej,login_description:Ij,login_description_code:Cj,login_description_link:Nj,logout:jj,no_use_another:$j,or:Oj,password:Tj,password_has_been_reset:Pj,password_has_been_reset_title:Bj,password_reset_subject:Rj,password_reset_title:Lj,privacy_policy:Uj,redirecting:Vj,reenter_new_password_placeholder:qj,register_password_account:Mj,resend_code:Dj,reset_password_cta:Hj,reset_password_description:Fj,reset_password_email_click_to_reset:Kj,reset_password_email_cta:Wj,reset_password_email_reset:Gj,reset_password_subject:Jj,reset_password_title:Zj,send:Yj,send_me_a_new_magic_link:Xj,sent_code_spam:Qj,set_password:e$,sign_in:t$,signup:n$,signup_success:r$,sms_code_text:i$,spotify_already_linked_body:s$,spotify_already_linked_cta:o$,spotify_already_linked_step1_body:a$,spotify_already_linked_step1_title:c$,spotify_already_linked_step2_body:l$,spotify_already_linked_step2_title:d$,spotify_already_linked_title:u$,support_info:p$,terms:f$,unverified_email:h$,user_account_does_not_exist:g$,user_not_found:m$,user_not_found_body:_$,user_not_found_cta:y$,validate_code:w$,validate_email_body:v$,validate_email_title:b$,verify_email_click_to_verify:x$,verify_email_subject:k$,verify_email_title:S$,verify_email_verify:A$,verify_your_email:z$,we_sent_a_code_to:E$,welcome:I$,welcome_to_your_account:C$,yes_continue:N$,yes_continue_with:j$,yes_continue_with_existing_account:$$},T$=t=>{const{vendorSettings:e,authParams:n}=t,i=`/authorize?${new URLSearchParams({...n})}`;return y(Ue,{vendorSettings:e,title:B.t("user_not_found"),children:y("div",{className:"flex flex-1 flex-col justify-center",children:[y("p",{className:"mb-8 text-gray-300 text-lg",children:B.t("user_not_found_body")}),y(Ze,{Component:"a",href:i,children:B.t("user_not_found_cta")})]})})};B.init({supportedLngs:["en","it","nb","sv","pl","cs","fi"],fallbackLng:"en",resources:{en:{translation:E2},it:{translation:RA},nb:{translation:Wz},sv:{translation:rI},pl:{translation:f5},cs:{translation:kN},fi:{translation:O$}}});function P$(t){const e=new o.OpenAPIHono;e.get("/",s=>s.json({name:"authhero"}));const n=Jv(t);e.route("/api/v2",n);const r=o1(t);e.route("/",r);const i=_x(t);return e.route("/u",i),{app:e,managementApp:n,oauthApp:r,universalApp:i,createX509Certificate:Yc}}exports.AppLogo=lm;exports.Auth0Client=yf;exports.AuthorizationResponseMode=Rt;exports.AuthorizationResponseType=It;exports.Button=Ze;exports.CheckEmailPage=zm;exports.CodeChallengeMethod=Ys;exports.EmailValidatedPage=Cm;exports.EnterCodePage=rl;exports.EnterEmailPage=el;exports.EnterPasswordPage=Yi;exports.ErrorMessage=Un;exports.Footer=dm;exports.ForgotPasswordPage=Sm;exports.ForgotPasswordSentPage=Am;exports.Form=Wt;exports.GoBack=yt;exports.GoogleLogo=fm;exports.GrantType=Wn;exports.Icon=Ge;exports.InvalidSession=Im;exports.Layout=Ue;exports.LogTypes=he;exports.Message=ea;exports.PreSignUpConfirmationPage=Nm;exports.PreSignUpPage=Em;exports.ResetPasswordPage=Fn;exports.SignUpPage=Hn;exports.SocialButton=$r;exports.Spinner=pm;exports.Trans=Qo;exports.UnverifiedEmailPage=km;exports.UserNotFoundPage=T$;exports.VippsLogo=hm;exports.applicationInsertSchema=rs;exports.applicationSchema=mn;exports.auth0UserResponseSchema=St;exports.authParamsSchema=Mr;exports.baseUserSchema=Zs;exports.bordersSchema=kf;exports.brandingSchema=Ea;exports.codeInsertSchema=hf;exports.codeSchema=p0;exports.codeTypeSchema=ff;exports.colorsSchema=Sf;exports.connectionInsertSchema=is;exports.connectionSchema=Jt;exports.customDomainInsertSchema=sl;exports.customDomainSchema=Gt;exports.customDomainWithTenantIdSchema=f0;exports.emailProviderSchema=Ui;exports.fontDetailsSchema=hn;exports.fontsSchema=Af;exports.hookInsertSchema=os;exports.hookSchema=Kn;exports.identitySchema=df;exports.init=P$;exports.injectTailwindCSS=mx;exports.jwksKeySchema=mf;exports.jwksSchema=ol;exports.logSchema=as;exports.loginSessionInsertSchema=_f;exports.loginSessionSchema=h0;exports.openIDConfigurationSchema=Ia;exports.pageBackgroundSchema=zf;exports.parseUserId=b0;exports.passwordInsertSchema=wf;exports.passwordSchema=m0;exports.profileDataSchema=lf;exports.promptSettingSchema=Li;exports.refreshTokenInsertSchema=al;exports.refreshTokenSchema=y0;exports.samlpAddon=uf;exports.sessionInsertSchema=bf;exports.sessionSchema=Xs;exports.signingKeySchema=Ca;exports.smsProviderSchema=v0;exports.smsSendParamsSchema=w0;exports.tailwindCss=bd;exports.tenantInsertSchema=ss;exports.tenantSchema=Jn;exports.themeInsertSchema=If;exports.themeSchema=_0;exports.tokenResponseSchema=xf;exports.totalsSchema=on;exports.userInsertSchema=ns;exports.userResponseSchema=l0;exports.userSchema=il;exports.vendorSettingsSchema=pf;exports.verificationMethodsSchema=gf;exports.widgetSchema=Ef;
250
+ Voit aloittaa uuden kirjautumisen klikkaamalla alla olevaa linkkiä.`,vj="Virheellinen linkki",bj="Kirjaudu sisään napsauttamalla painiketta",xj="Kirjaudu sisään",kj="Tai kirjoita koodi osoitteessa {{vendorName}} kirjautumisen loppuun saattamiseksi.",Sj="Kirjoita sähköpostiosoitteesi avataksesi tämän ohjelman osoitteessa {{service}}",Aj="Yhdistä tilisi {{service}}",zj="Olet kirjautunut sisään nimellä",Ej="Kirjaudu sisään",Ij="Kirjoita sähköpostiosoitteesi kirjautuaksesi sisään.",Cj="Anna sähköpostiosoitteesi, niin lähetämme sinulle kirjautumiskoodin.",Nj="Anna sähköpostiosoitteesi, niin lähetämme sinulle kirjautumislinkin.",jj="Kirjaudu ulos",$j="Ei, haluan käyttää toista tiliä",Oj="tai",Tj="Salasana",Pj="Salasana on nollattu",Bj="Menestys",Rj="Vaihda salasana tilillesi {{vendorName}} ",Lj="Vaihda salasana tilillesi {{vendorName}} ",Uj="Tietosuojakäytäntö",Vj="Uudelleenohjaus",qj="Vahvista salasana",Mj="Rekisteröi uusi salasana",Dj="Lähetä koodi uudelleen",Hj="Vaihda salasana",Fj="Kirjoita alla oleva uusi salasanasi sähköpostitiliä varten: ",Kj="Napsauta painiketta salasanasi palauttamiseksi",Wj="Napsauta painiketta salasanasi palauttamiseksi",Gj="Nollaa salasanasi",Jj="Vaihda salasana tilillesi {{vendorName}} ",Zj="Nollaa salasana",Yj="Lähetä",Xj="Lähetä minulle uusi maaginen linkki",Qj="Muista tarkistaa roskapostikansiosi, jos sähköposti ei ole saapunut.",e$="Aseta salasana",t$="Kirjaudu sisään",n$="Rekisteröityminen",r$="Rekisteröidy onnistuneesti",i$="{{code}} on kirjautumiskoodisi {{vendorName}}",s$="Näyttää siltä, että Spotify-tilisi on tällä hetkellä yhdistetty toiseen Sesamy-tiliin. Mutta älä pelkää, me opastamme sinua prosessin läpi, jotta saat tämän korjattua.",o$="Siirry Spotifyn Content Access -sivulle",a$='Aloitetaan poistamalla Spotify-tilisi linkitys. Klikkaa alla olevaa painiketta siirtyäksesi Spotifyn Content Access -sivulle. Kun olet kirjautunut sisään Spotify-tilillesi, etsi Sesamy yhdistettyjen alustojen luettelosta. Napsauta "Unlink" Sesamyn logon vieressä.',c$="Vaihe 1: Poista Spotify-tilisi linkitys",l$="Kun olet onnistuneesti irrottanut Spotify-tilisi, voit yhdistää sen uudelleen Sesamyn kanssa. Toista vain aiemmin tekemäsi vaiheet, jotka johtivat sinut tälle sivulle.",d$="Vaihe 2: Yhdistä Spotify-tilisi uudelleen Sesamyn kanssa",u$="Hups! Spotify-tilisi on jo linkitetty",p$="Jos sinulla on kysyttävää tai tarvitset apua, voit ottaa yhteyttä tukitiimiimme.",f$="Ehdot ja edellytykset",h$="Sähköpostiosoitteesi on vahvistettava. Olemme lähettäneet uuden sähköpostiviestin sähköpostiisi.",g$="Käyttäjätiliä ei ole olemassa",m$="Käyttäjätiliä ei ole olemassa",_$="Emme löytäneet käyttäjää, jolla on annettu sähköpostiosoite. Yritä uudelleen.",y$="Yritä uudelleen.",w$="Validoi koodi",v$="Tarkista sähköpostin vahvistusohjeet postilaatikostasi.",b$="Rekisteröitynyt",x$="Vahvista sähköpostiosoitteesi napsauttamalla painiketta",k$="Vahvista sähköpostiosoitteesi",S$="Vahvista sähköpostiosoitteesi",A$="Vahvista tili",z$="Vahvista sähköpostiosoitteesi",E$="Tarkista sähköpostisi osoitteesta <0>{{email}}</0> ja syötä lähettämämme kuusinumeroinen koodi.",I$="Tervetuloa",C$="Tervetuloa tilillesi {{vendorName}}!",N$="Jatka tällä tilillä",j$="Kyllä, jatka {{text}}",$$="Kyllä, jatka olemassa olevalla tilillä",O$={"Server error: Invalid code":"Virheellinen koodi","Wrong email or verification code":{"":"Väärä sähköpostiosoite tai vahvistuskoodi."},account_detected:SN,account_with_sso_provider:AN,agree_to:zN,and:EN,callback_url_mismatch:IN,callback_url_not_allowed:CN,check_email_title:NN,click_to_sign_up_description:jN,code_email_enter_code:$N,code_email_subject:ON,code_email_title:TN,code_valid_30_minutes:PN,confirm_password:BN,contact_support:RN,contact_us:LN,continue:"Jatka",continue_social_login:UN,continue_with:VN,continue_with_sso_provider_headline:qN,copyright:MN,copyright_sesamy:DN,create_account_description:HN,create_account_email_invalid:FN,create_account_passwords_didnt_match:KN,create_account_title:WN,create_account_weak_password:GN,create_new_account_link:JN,create_password_account_title:ZN,currently_logged_in_as:YN,email:XN,email_placeholder:QN,email_validated:ej,email_validated_cta:tj,email_verification_for_signup_sent_description:nj,email_verification_for_signup_sent_title:rj,enter_a_code_btn:ij,enter_email_for_verification_description:sj,enter_new_password_placeholder:oj,enter_password:aj,enter_password_description:cj,enter_your_password_btn:lj,expired_code:dj,fokus_info_message:uj,forgot_password_cta:pj,forgot_password_description:fj,forgot_password_email_sent:hj,forgot_password_link:gj,forgot_password_title:mj,go_back:_j,"invalid-email":"Virheellinen sähköpostiosoite",invalid_password:yj,invalid_session_body:wj,invalid_session_title:vj,link_email_click_to_login:bj,link_email_login:xj,link_email_or_enter_code:kj,link_page_body:Sj,link_page_headline:Aj,logged_in_as:zj,login:Ej,login_description:Ij,login_description_code:Cj,login_description_link:Nj,logout:jj,no_use_another:$j,or:Oj,password:Tj,password_has_been_reset:Pj,password_has_been_reset_title:Bj,password_reset_subject:Rj,password_reset_title:Lj,privacy_policy:Uj,redirecting:Vj,reenter_new_password_placeholder:qj,register_password_account:Mj,resend_code:Dj,reset_password_cta:Hj,reset_password_description:Fj,reset_password_email_click_to_reset:Kj,reset_password_email_cta:Wj,reset_password_email_reset:Gj,reset_password_subject:Jj,reset_password_title:Zj,send:Yj,send_me_a_new_magic_link:Xj,sent_code_spam:Qj,set_password:e$,sign_in:t$,signup:n$,signup_success:r$,sms_code_text:i$,spotify_already_linked_body:s$,spotify_already_linked_cta:o$,spotify_already_linked_step1_body:a$,spotify_already_linked_step1_title:c$,spotify_already_linked_step2_body:l$,spotify_already_linked_step2_title:d$,spotify_already_linked_title:u$,support_info:p$,terms:f$,unverified_email:h$,user_account_does_not_exist:g$,user_not_found:m$,user_not_found_body:_$,user_not_found_cta:y$,validate_code:w$,validate_email_body:v$,validate_email_title:b$,verify_email_click_to_verify:x$,verify_email_subject:k$,verify_email_title:S$,verify_email_verify:A$,verify_your_email:z$,we_sent_a_code_to:E$,welcome:I$,welcome_to_your_account:C$,yes_continue:N$,yes_continue_with:j$,yes_continue_with_existing_account:$$},T$=t=>{const{vendorSettings:e,authParams:n}=t,i=`/authorize?${new URLSearchParams({...n})}`;return y(Ue,{vendorSettings:e,title:B.t("user_not_found"),children:y("div",{className:"flex flex-1 flex-col justify-center",children:[y("p",{className:"mb-8 text-gray-300 text-lg",children:B.t("user_not_found_body")}),y(Ze,{Component:"a",href:i,children:B.t("user_not_found_cta")})]})})};B.init({supportedLngs:["en","it","nb","sv","pl","cs","fi"],fallbackLng:"en",resources:{en:{translation:E2},it:{translation:RA},nb:{translation:Wz},sv:{translation:rI},pl:{translation:f5},cs:{translation:kN},fi:{translation:O$}}});function P$(t){const e=new o.OpenAPIHono;e.get("/",s=>s.json({name:"authhero"}));const n=Jv(t);e.route("/api/v2",n);const r=o1(t);e.route("/",r);const i=_x(t);return e.route("/u",i),{app:e,managementApp:n,oauthApp:r,universalApp:i,createX509Certificate:Zc}}exports.AppLogo=lm;exports.Auth0Client=_f;exports.AuthorizationResponseMode=Rt;exports.AuthorizationResponseType=It;exports.Button=Ze;exports.CheckEmailPage=zm;exports.CodeChallengeMethod=Ys;exports.EmailValidatedPage=Cm;exports.EnterCodePage=nl;exports.EnterPasswordPage=Yi;exports.ErrorMessage=Un;exports.Footer=dm;exports.ForgotPasswordPage=Sm;exports.ForgotPasswordSentPage=Am;exports.Form=Gt;exports.GoBack=yt;exports.GoogleLogo=fm;exports.GrantType=Wn;exports.Icon=Ge;exports.IdentifierPage=Qc;exports.InvalidSession=Im;exports.Layout=Ue;exports.LogTypes=ge;exports.Message=Qo;exports.PreSignUpConfirmationPage=Nm;exports.PreSignUpPage=Em;exports.ResetPasswordPage=Fn;exports.SignUpPage=Hn;exports.SocialButton=$r;exports.Spinner=pm;exports.Trans=Xo;exports.UnverifiedEmailPage=km;exports.UserNotFoundPage=T$;exports.VippsLogo=hm;exports.applicationInsertSchema=rs;exports.applicationSchema=mn;exports.auth0UserResponseSchema=St;exports.authParamsSchema=Mr;exports.baseUserSchema=Zs;exports.bordersSchema=xf;exports.brandingSchema=za;exports.codeInsertSchema=ff;exports.codeSchema=p0;exports.codeTypeSchema=pf;exports.colorsSchema=kf;exports.connectionInsertSchema=is;exports.connectionSchema=Zt;exports.customDomainInsertSchema=il;exports.customDomainSchema=Jt;exports.customDomainWithTenantIdSchema=f0;exports.emailProviderSchema=Ui;exports.fontDetailsSchema=hn;exports.fontsSchema=Sf;exports.hookInsertSchema=os;exports.hookSchema=Kn;exports.identitySchema=lf;exports.init=P$;exports.injectTailwindCSS=mx;exports.jwksKeySchema=gf;exports.jwksSchema=sl;exports.logSchema=as;exports.loginSessionInsertSchema=mf;exports.loginSessionSchema=h0;exports.openIDConfigurationSchema=Ea;exports.pageBackgroundSchema=Af;exports.parseUserId=b0;exports.passwordInsertSchema=yf;exports.passwordSchema=m0;exports.profileDataSchema=cf;exports.promptSettingSchema=Li;exports.refreshTokenInsertSchema=ol;exports.refreshTokenSchema=y0;exports.samlpAddon=df;exports.sessionInsertSchema=vf;exports.sessionSchema=Xs;exports.signingKeySchema=Ia;exports.smsProviderSchema=v0;exports.smsSendParamsSchema=w0;exports.tailwindCss=vd;exports.tenantInsertSchema=ss;exports.tenantSchema=Jn;exports.themeInsertSchema=Ef;exports.themeSchema=_0;exports.tokenResponseSchema=bf;exports.totalsSchema=an;exports.userInsertSchema=ns;exports.userResponseSchema=l0;exports.userSchema=rl;exports.vendorSettingsSchema=uf;exports.verificationMethodsSchema=hf;exports.widgetSchema=zf;