authhero 0.62.0 → 0.64.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 +40 -40
- package/dist/authhero.d.ts +64 -4
- package/dist/authhero.mjs +8778 -7812
- package/package.json +1 -1
package/dist/authhero.cjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
"use strict";var _g=Object.defineProperty;var mg=(t,e,n)=>e in t?_g(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var Q=(t,e,n)=>mg(t,typeof e!="symbol"?e+"":e,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("@hono/zod-openapi"),ee=t=>typeof t=="string",ci=()=>{let t,e;const n=new Promise((i,r)=>{t=i,e=r});return n.resolve=t,n.reject=e,n},Ol=t=>t==null?"":""+t,yg=(t,e,n)=>{t.forEach(i=>{e[i]&&(n[i]=e[i])})},vg=/###/g,Bl=t=>t&&t.indexOf("###")>-1?t.replace(vg,"."):t,Tl=t=>!t||ee(t),fi=(t,e,n)=>{const i=ee(e)?e.split("."):e;let r=0;for(;r<i.length-1;){if(Tl(t))return{};const s=Bl(i[r]);!t[s]&&n&&(t[s]=new n),Object.prototype.hasOwnProperty.call(t,s)?t=t[s]:t={},++r}return Tl(t)?{}:{obj:t,k:Bl(i[r])}},Rl=(t,e,n)=>{const{obj:i,k:r}=fi(t,e,Object);if(i!==void 0||e.length===1){i[r]=n;return}let s=e[e.length-1],o=e.slice(0,e.length-1),c=fi(t,o,Object);for(;c.obj===void 0&&o.length;)s=`${o[o.length-1]}.${s}`,o=o.slice(0,o.length-1),c=fi(t,o,Object),c!=null&&c.obj&&typeof c.obj[`${c.k}.${s}`]<"u"&&(c.obj=void 0);c.obj[`${c.k}.${s}`]=n},wg=(t,e,n,i)=>{const{obj:r,k:s}=fi(t,e,Object);r[s]=r[s]||[],r[s].push(n)},vr=(t,e)=>{const{obj:n,k:i}=fi(t,e);if(n&&Object.prototype.hasOwnProperty.call(n,i))return n[i]},bg=(t,e,n)=>{const i=vr(t,n);return i!==void 0?i:vr(e,n)},ip=(t,e,n)=>{for(const i in e)i!=="__proto__"&&i!=="constructor"&&(i in t?ee(t[i])||t[i]instanceof String||ee(e[i])||e[i]instanceof String?n&&(t[i]=e[i]):ip(t[i],e[i],n):t[i]=e[i]);return t},En=t=>t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var kg={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};const xg=t=>ee(t)?t.replace(/[&<>"'\/]/g,e=>kg[e]):t;class Sg{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 i=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,i),this.regExpQueue.push(e),i}}const Ag=[" ",",","?","!",";"],Ig=new Sg(20),Eg=(t,e,n)=>{e=e||"",n=n||"";const i=Ag.filter(o=>e.indexOf(o)<0&&n.indexOf(o)<0);if(i.length===0)return!0;const r=Ig.getRegExp(`(${i.map(o=>o==="?"?"\\?":o).join("|")})`);let s=!r.test(t);if(!s){const o=t.indexOf(n);o>0&&!r.test(t.substring(0,o))&&(s=!0)}return s},Vo=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 i=e.split(n);let r=t;for(let s=0;s<i.length;){if(!r||typeof r!="object")return;let o,c="";for(let l=s;l<i.length;++l)if(l!==s&&(c+=n),c+=i[l],o=r[c],o!==void 0){if(["string","number","boolean"].indexOf(typeof o)>-1&&l<i.length-1)continue;s+=l-s+1;break}r=o}return r},wr=t=>t==null?void 0:t.replace("_","-"),Cg={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,i;(i=(n=console==null?void 0:console[t])==null?void 0:n.apply)==null||i.call(n,console,e)}};class br{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||Cg,this.options=n,this.debug=n.debug}log(){for(var e=arguments.length,n=new Array(e),i=0;i<e;i++)n[i]=arguments[i];return this.forward(n,"log","",!0)}warn(){for(var e=arguments.length,n=new Array(e),i=0;i<e;i++)n[i]=arguments[i];return this.forward(n,"warn","",!0)}error(){for(var e=arguments.length,n=new Array(e),i=0;i<e;i++)n[i]=arguments[i];return this.forward(n,"error","")}deprecate(){for(var e=arguments.length,n=new Array(e),i=0;i<e;i++)n[i]=arguments[i];return this.forward(n,"warn","WARNING DEPRECATED: ",!0)}forward(e,n,i,r){return r&&!this.debug?null:(ee(e[0])&&(e[0]=`${i}${this.prefix} ${e[0]}`),this.logger[n](e))}create(e){return new br(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return e=e||this.options,e.prefix=e.prefix||this.prefix,new br(this.logger,e)}}var vt=new br;class gs{constructor(){this.observers={}}on(e,n){return e.split(" ").forEach(i=>{this.observers[i]||(this.observers[i]=new Map);const r=this.observers[i].get(n)||0;this.observers[i].set(n,r+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,i=new Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];this.observers[e]&&Array.from(this.observers[e].entries()).forEach(o=>{let[c,l]=o;for(let u=0;u<l;u++)c(...i)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(o=>{let[c,l]=o;for(let u=0;u<l;u++)c.apply(c,[e,...i])})}}class Pl extends gs{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,i){var u,p;let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const s=r.keySeparator!==void 0?r.keySeparator:this.options.keySeparator,o=r.ignoreJSONStructure!==void 0?r.ignoreJSONStructure:this.options.ignoreJSONStructure;let c;e.indexOf(".")>-1?c=e.split("."):(c=[e,n],i&&(Array.isArray(i)?c.push(...i):ee(i)&&s?c.push(...i.split(s)):c.push(i)));const l=vr(this.data,c);return!l&&!n&&!i&&e.indexOf(".")>-1&&(e=c[0],n=c[1],i=c.slice(2).join(".")),l||!o||!ee(i)?l:Vo((p=(u=this.data)==null?void 0:u[e])==null?void 0:p[n],i,s)}addResource(e,n,i,r){let s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const o=s.keySeparator!==void 0?s.keySeparator:this.options.keySeparator;let c=[e,n];i&&(c=c.concat(o?i.split(o):i)),e.indexOf(".")>-1&&(c=e.split("."),r=n,n=c[1]),this.addNamespaces(n),Rl(this.data,c,r),s.silent||this.emit("added",e,n,i,r)}addResources(e,n,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const s in i)(ee(i[s])||Array.isArray(i[s]))&&this.addResource(e,n,s,i[s],{silent:!0});r.silent||this.emit("added",e,n,i)}addResourceBundle(e,n,i,r,s){let o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1,skipCopy:!1},c=[e,n];e.indexOf(".")>-1&&(c=e.split("."),r=i,i=n,n=c[1]),this.addNamespaces(n);let l=vr(this.data,c)||{};o.skipCopy||(i=JSON.parse(JSON.stringify(i))),r?ip(l,i,s):l={...l,...i},Rl(this.data,c,l),o.silent||this.emit("added",e,n,i)}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(r=>n[r]&&Object.keys(n[r]).length>0)}toJSON(){return this.data}}var rp={processors:{},addPostProcessor(t){this.processors[t.name]=t},handle(t,e,n,i,r){return t.forEach(s=>{var o;e=((o=this.processors[s])==null?void 0:o.process(e,n,i,r))??e}),e}};const Ll={};class kr extends gs{constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),yg(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=vt.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 i=this.resolve(e,n);return(i==null?void 0:i.res)!==void 0}extractFromKey(e,n){let i=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;i===void 0&&(i=":");const r=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let s=n.ns||this.options.defaultNS||[];const o=i&&e.indexOf(i)>-1,c=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!Eg(e,i,r);if(o&&!c){const l=e.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:e,namespaces:ee(s)?[s]:s};const u=e.split(i);(i!==r||i===r&&this.options.ns.indexOf(u[0])>-1)&&(s=u.shift()),e=u.join(r)}return{key:e,namespaces:ee(s)?[s]:s}}translate(e,n,i){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 r=n.returnDetails!==void 0?n.returnDetails:this.options.returnDetails,s=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,{key:o,namespaces:c}=this.extractFromKey(e[e.length-1],n),l=c[c.length-1],u=n.lng||this.language,p=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if((u==null?void 0:u.toLowerCase())==="cimode"){if(p){const K=n.nsSeparator||this.options.nsSeparator;return r?{res:`${l}${K}${o}`,usedKey:o,exactUsedKey:o,usedLng:u,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:`${l}${K}${o}`}return r?{res:o,usedKey:o,exactUsedKey:o,usedLng:u,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:o}const g=this.resolve(e,n);let _=g==null?void 0:g.res;const k=(g==null?void 0:g.usedKey)||o,h=(g==null?void 0:g.exactUsedKey)||o,m=Object.prototype.toString.apply(_),b=["[object Number]","[object Function]","[object RegExp]"],S=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,O=!this.i18nFormat||this.i18nFormat.handleAsObject,T=!ee(_)&&typeof _!="boolean"&&typeof _!="number";if(O&&_&&T&&b.indexOf(m)<0&&!(ee(S)&&Array.isArray(_))){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const K=this.options.returnedObjectHandler?this.options.returnedObjectHandler(k,_,{...n,ns:c}):`key '${o} (${this.language})' returned an object instead of string.`;return r?(g.res=K,g.usedParams=this.getUsedParamsDetails(n),g):K}if(s){const K=Array.isArray(_),ce=K?[]:{},he=K?h:k;for(const ue in _)if(Object.prototype.hasOwnProperty.call(_,ue)){const Le=`${he}${s}${ue}`;ce[ue]=this.translate(Le,{...n,joinArrays:!1,ns:c}),ce[ue]===Le&&(ce[ue]=_[ue])}_=ce}}else if(O&&ee(S)&&Array.isArray(_))_=_.join(S),_&&(_=this.extendTranslation(_,e,n,i));else{let K=!1,ce=!1;const he=n.count!==void 0&&!ee(n.count),ue=kr.hasDefaultValue(n),Le=he?this.pluralResolver.getSuffix(u,n.count,n):"",st=n.ordinal&&he?this.pluralResolver.getSuffix(u,n.count,{ordinal:!1}):"",Ke=he&&!n.ordinal&&n.count===0,C=Ke&&n[`defaultValue${this.options.pluralSeparator}zero`]||n[`defaultValue${Le}`]||n[`defaultValue${st}`]||n.defaultValue;!this.isValidLookup(_)&&ue&&(K=!0,_=C),this.isValidLookup(_)||(ce=!0,_=o);const A=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&ce?void 0:_,w=ue&&C!==_&&this.options.updateMissing;if(ce||K||w){if(this.logger.log(w?"updateKey":"missingKey",u,l,o,w?C:_),s){const Y=this.resolve(o,{...n,keySeparator:!1});Y&&Y.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 v=[];const z=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&z&&z[0])for(let Y=0;Y<z.length;Y++)v.push(z[Y]);else this.options.saveMissingTo==="all"?v=this.languageUtils.toResolveHierarchy(n.lng||this.language):v.push(n.lng||this.language);const R=(Y,W,ne)=>{var D;const ae=ue&&ne!==_?ne:A;this.options.missingKeyHandler?this.options.missingKeyHandler(Y,l,W,ae,w,n):(D=this.backendConnector)!=null&&D.saveMissing&&this.backendConnector.saveMissing(Y,l,W,ae,w,n),this.emit("missingKey",Y,l,W,_)};this.options.saveMissing&&(this.options.saveMissingPlurals&&he?v.forEach(Y=>{const W=this.pluralResolver.getSuffixes(Y,n);Ke&&n[`defaultValue${this.options.pluralSeparator}zero`]&&W.indexOf(`${this.options.pluralSeparator}zero`)<0&&W.push(`${this.options.pluralSeparator}zero`),W.forEach(ne=>{R([Y],o+ne,n[`defaultValue${ne}`]||C)})}):R(v,o,C))}_=this.extendTranslation(_,e,n,g,i),ce&&_===o&&this.options.appendNamespaceToMissingKey&&(_=`${l}:${o}`),(ce||K)&&this.options.parseMissingKeyHandler&&(_=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${o}`:o,K?_:void 0))}return r?(g.res=_,g.usedParams=this.getUsedParamsDetails(n),g):_}extendTranslation(e,n,i,r,s){var u,p;var o=this;if((u=this.i18nFormat)!=null&&u.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...i},i.lng||this.language||r.usedLng,r.usedNS,r.usedKey,{resolved:r});else if(!i.skipInterpolation){i.interpolation&&this.interpolator.init({...i,interpolation:{...this.options.interpolation,...i.interpolation}});const g=ee(e)&&(((p=i==null?void 0:i.interpolation)==null?void 0:p.skipOnVariables)!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let _;if(g){const h=e.match(this.interpolator.nestingRegexp);_=h&&h.length}let k=i.replace&&!ee(i.replace)?i.replace:i;if(this.options.interpolation.defaultVariables&&(k={...this.options.interpolation.defaultVariables,...k}),e=this.interpolator.interpolate(e,k,i.lng||this.language||r.usedLng,i),g){const h=e.match(this.interpolator.nestingRegexp),m=h&&h.length;_<m&&(i.nest=!1)}!i.lng&&r&&r.res&&(i.lng=this.language||r.usedLng),i.nest!==!1&&(e=this.interpolator.nest(e,function(){for(var h=arguments.length,m=new Array(h),b=0;b<h;b++)m[b]=arguments[b];return(s==null?void 0:s[0])===m[0]&&!i.context?(o.logger.warn(`It seems you are nesting recursively key: ${m[0]} in key: ${n[0]}`),null):o.translate(...m,n)},i)),i.interpolation&&this.interpolator.reset()}const c=i.postProcess||this.options.postProcess,l=ee(c)?[c]:c;return e!=null&&(l!=null&&l.length)&&i.applyPostProcessor!==!1&&(e=rp.handle(l,e,n,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...r,usedParams:this.getUsedParamsDetails(i)},...i}:i,this)),e}resolve(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i,r,s,o,c;return ee(e)&&(e=[e]),e.forEach(l=>{if(this.isValidLookup(i))return;const u=this.extractFromKey(l,n),p=u.key;r=p;let g=u.namespaces;this.options.fallbackNS&&(g=g.concat(this.options.fallbackNS));const _=n.count!==void 0&&!ee(n.count),k=_&&!n.ordinal&&n.count===0,h=n.context!==void 0&&(ee(n.context)||typeof n.context=="number")&&n.context!=="",m=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);g.forEach(b=>{var S,O;this.isValidLookup(i)||(c=b,!Ll[`${m[0]}-${b}`]&&((S=this.utils)!=null&&S.hasLoadedNamespace)&&!((O=this.utils)!=null&&O.hasLoadedNamespace(c))&&(Ll[`${m[0]}-${b}`]=!0,this.logger.warn(`key "${r}" for languages "${m.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!!!")),m.forEach(T=>{var he;if(this.isValidLookup(i))return;o=T;const K=[p];if((he=this.i18nFormat)!=null&&he.addLookupKeys)this.i18nFormat.addLookupKeys(K,p,T,b,n);else{let ue;_&&(ue=this.pluralResolver.getSuffix(T,n.count,n));const Le=`${this.options.pluralSeparator}zero`,st=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(_&&(K.push(p+ue),n.ordinal&&ue.indexOf(st)===0&&K.push(p+ue.replace(st,this.options.pluralSeparator)),k&&K.push(p+Le)),h){const Ke=`${p}${this.options.contextSeparator}${n.context}`;K.push(Ke),_&&(K.push(Ke+ue),n.ordinal&&ue.indexOf(st)===0&&K.push(Ke+ue.replace(st,this.options.pluralSeparator)),k&&K.push(Ke+Le))}}let ce;for(;ce=K.pop();)this.isValidLookup(i)||(s=ce,i=this.getResource(T,b,ce,n))}))})}),{res:i,usedKey:r,exactUsedKey:s,usedLng:o,usedNS:c}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e==="")}getResource(e,n,i){var s;let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return(s=this.i18nFormat)!=null&&s.getResource?this.i18nFormat.getResource(e,n,i,r):this.resourceStore.getResource(e,n,i,r)}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"],i=e.replace&&!ee(e.replace);let r=i?e.replace:e;if(i&&typeof e.count<"u"&&(r.count=e.count),this.options.interpolation.defaultVariables&&(r={...this.options.interpolation.defaultVariables,...r}),!i){r={...r};for(const s of n)delete r[s]}return r}static hasDefaultValue(e){const n="defaultValue";for(const i in e)if(Object.prototype.hasOwnProperty.call(e,i)&&n===i.substring(0,n.length)&&e[i]!==void 0)return!0;return!1}}class Ul{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=vt.create("languageUtils")}getScriptPartFromCode(e){if(e=wr(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=wr(e),!e||e.indexOf("-")<0)return e;const n=e.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(e){if(ee(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(i=>{if(n)return;const r=this.formatLanguageCode(i);(!this.options.supportedLngs||this.isSupportedCode(r))&&(n=r)}),!n&&this.options.supportedLngs&&e.forEach(i=>{if(n)return;const r=this.getLanguagePartFromCode(i);if(this.isSupportedCode(r))return n=r;n=this.options.supportedLngs.find(s=>{if(s===r)return s;if(!(s.indexOf("-")<0&&r.indexOf("-")<0)&&(s.indexOf("-")>0&&r.indexOf("-")<0&&s.substring(0,s.indexOf("-"))===r||s.indexOf(r)===0&&r.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)),ee(e)&&(e=[e]),Array.isArray(e))return e;if(!n)return e.default||[];let i=e[n];return i||(i=e[this.getScriptPartFromCode(n)]),i||(i=e[this.formatLanguageCode(n)]),i||(i=e[this.getLanguagePartFromCode(n)]),i||(i=e.default),i||[]}toResolveHierarchy(e,n){const i=this.getFallbackCodes(n||this.options.fallbackLng||[],e),r=[],s=o=>{o&&(this.isSupportedCode(o)?r.push(o):this.logger.warn(`rejecting language code not found in supportedLngs: ${o}`))};return ee(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))):ee(e)&&s(this.formatLanguageCode(e)),i.forEach(o=>{r.indexOf(o)<0&&s(this.formatLanguageCode(o))}),r}}const Vl={zero:0,one:1,two:2,few:3,many:4,other:5},Ml={select:t=>t===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class zg{constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=e,this.options=n,this.logger=vt.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 i=wr(e==="dev"?"en":e),r=n.ordinal?"ordinal":"cardinal",s=JSON.stringify({cleanedCode:i,type:r});if(s in this.pluralRulesCache)return this.pluralRulesCache[s];let o;try{o=new Intl.PluralRules(i,{type:r})}catch{if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),Ml;if(!e.match(/-|_/))return Ml;const l=this.languageUtils.getLanguagePartFromCode(e);o=this.getRule(l,n)}return this.pluralRulesCache[s]=o,o}needsPlural(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=this.getRule(e,n);return i||(i=this.getRule("dev",n)),(i==null?void 0:i.resolvedOptions().pluralCategories.length)>1}getPluralFormsOfKey(e,n){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(e,i).map(r=>`${n}${r}`)}getSuffixes(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=this.getRule(e,n);return i||(i=this.getRule("dev",n)),i?i.resolvedOptions().pluralCategories.sort((r,s)=>Vl[r]-Vl[s]).map(r=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${r}`):[]}getSuffix(e,n){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const r=this.getRule(e,i);return r?`${this.options.prepend}${i.ordinal?`ordinal${this.options.prepend}`:""}${r.select(n)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",n,i))}}const Dl=function(t,e,n){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=bg(t,e,n);return!s&&r&&ee(n)&&(s=Vo(t,n,i),s===void 0&&(s=Vo(e,n,i))),s},ko=t=>t.replace(/\$/g,"$$$$");class $g{constructor(){var n;let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=vt.create("interpolator"),this.options=e,this.format=((n=e==null?void 0:e.interpolation)==null?void 0:n.format)||(i=>i),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:i,useRawValueToEscape:r,prefix:s,prefixEscaped:o,suffix:c,suffixEscaped:l,formatSeparator:u,unescapeSuffix:p,unescapePrefix:g,nestingPrefix:_,nestingPrefixEscaped:k,nestingSuffix:h,nestingSuffixEscaped:m,nestingOptionsSeparator:b,maxReplaces:S,alwaysFormat:O}=e.interpolation;this.escape=n!==void 0?n:xg,this.escapeValue=i!==void 0?i:!0,this.useRawValueToEscape=r!==void 0?r:!1,this.prefix=s?En(s):o||"{{",this.suffix=c?En(c):l||"}}",this.formatSeparator=u||",",this.unescapePrefix=p?"":g||"-",this.unescapeSuffix=this.unescapePrefix?"":p||"",this.nestingPrefix=_?En(_):k||En("$t("),this.nestingSuffix=h?En(h):m||En(")"),this.nestingOptionsSeparator=b||",",this.maxReplaces=S||1e3,this.alwaysFormat=O!==void 0?O:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(n,i)=>(n==null?void 0:n.source)===i?(n.lastIndex=0,n):new RegExp(i,"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,i,r){var k;let s,o,c;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},u=h=>{if(h.indexOf(this.formatSeparator)<0){const O=Dl(n,l,h,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(O,void 0,i,{...r,...n,interpolationkey:h}):O}const m=h.split(this.formatSeparator),b=m.shift().trim(),S=m.join(this.formatSeparator).trim();return this.format(Dl(n,l,b,this.options.keySeparator,this.options.ignoreJSONStructure),S,i,{...r,...n,interpolationkey:b})};this.resetRegExp();const p=(r==null?void 0:r.missingInterpolationHandler)||this.options.missingInterpolationHandler,g=((k=r==null?void 0:r.interpolation)==null?void 0:k.skipOnVariables)!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:h=>ko(h)},{regex:this.regexp,safeValue:h=>this.escapeValue?ko(this.escape(h)):ko(h)}].forEach(h=>{for(c=0;s=h.regex.exec(e);){const m=s[1].trim();if(o=u(m),o===void 0)if(typeof p=="function"){const S=p(e,s,r);o=ee(S)?S:""}else if(r&&Object.prototype.hasOwnProperty.call(r,m))o="";else if(g){o=s[0];continue}else this.logger.warn(`missed to pass in variable ${m} for interpolating ${e}`),o="";else!ee(o)&&!this.useRawValueToEscape&&(o=Ol(o));const b=h.safeValue(o);if(e=e.replace(s[0],b),g?(h.regex.lastIndex+=o.length,h.regex.lastIndex-=s[0].length):h.regex.lastIndex=0,c++,c>=this.maxReplaces)break}}),e}nest(e,n){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r,s,o;const c=(l,u)=>{const p=this.nestingOptionsSeparator;if(l.indexOf(p)<0)return l;const g=l.split(new RegExp(`${p}[ ]*{`));let _=`{${g[1]}`;l=g[0],_=this.interpolate(_,o);const k=_.match(/'/g),h=_.match(/"/g);(((k==null?void 0:k.length)??0)%2===0&&!h||h.length%2!==0)&&(_=_.replace(/'/g,'"'));try{o=JSON.parse(_),u&&(o={...u,...o})}catch(m){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,m),`${l}${p}${_}`}return o.defaultValue&&o.defaultValue.indexOf(this.prefix)>-1&&delete o.defaultValue,l};for(;r=this.nestingRegexp.exec(e);){let l=[];o={...i},o=o.replace&&!ee(o.replace)?o.replace:o,o.applyPostProcessor=!1,delete o.defaultValue;let u=!1;if(r[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(r[1])){const p=r[1].split(this.formatSeparator).map(g=>g.trim());r[1]=p.shift(),l=p,u=!0}if(s=n(c.call(this,r[1].trim(),o),o),s&&r[0]===e&&!ee(s))return s;ee(s)||(s=Ol(s)),s||(this.logger.warn(`missed to resolve ${r[1]} for nesting ${e}`),s=""),u&&(s=l.reduce((p,g)=>this.format(p,g,i.lng,{...i,interpolationkey:r[1].trim()}),s.trim())),e=e.replace(r[0],s),this.regexp.lastIndex=0}return e}}const jg=t=>{let e=t.toLowerCase().trim();const n={};if(t.indexOf("(")>-1){const i=t.split("(");e=i[0].toLowerCase().trim();const r=i[1].substring(0,i[1].length-1);e==="currency"&&r.indexOf(":")<0?n.currency||(n.currency=r.trim()):e==="relativetime"&&r.indexOf(":")<0?n.range||(n.range=r.trim()):r.split(";").forEach(o=>{if(o){const[c,...l]=o.split(":"),u=l.join(":").trim().replace(/^'+|'+$/g,""),p=c.trim();n[p]||(n[p]=u),u==="false"&&(n[p]=!1),u==="true"&&(n[p]=!0),isNaN(u)||(n[p]=parseInt(u,10))}})}return{formatName:e,formatOptions:n}},Cn=t=>{const e={};return(n,i,r)=>{let s=r;r&&r.interpolationkey&&r.formatParams&&r.formatParams[r.interpolationkey]&&r[r.interpolationkey]&&(s={...s,[r.interpolationkey]:void 0});const o=i+JSON.stringify(s);let c=e[o];return c||(c=t(wr(i),r),e[o]=c),c(n)}};class Ng{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=vt.create("formatter"),this.options=e,this.formats={number:Cn((n,i)=>{const r=new Intl.NumberFormat(n,{...i});return s=>r.format(s)}),currency:Cn((n,i)=>{const r=new Intl.NumberFormat(n,{...i,style:"currency"});return s=>r.format(s)}),datetime:Cn((n,i)=>{const r=new Intl.DateTimeFormat(n,{...i});return s=>r.format(s)}),relativetime:Cn((n,i)=>{const r=new Intl.RelativeTimeFormat(n,{...i});return s=>r.format(s,i.range||"day")}),list:Cn((n,i)=>{const r=new Intl.ListFormat(n,{...i});return s=>r.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()]=Cn(n)}format(e,n,i){let r=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 g;const{formatName:u,formatOptions:p}=jg(l);if(this.formats[u]){let _=c;try{const k=((g=r==null?void 0:r.formatParams)==null?void 0:g[r.interpolationkey])||{},h=k.locale||k.lng||r.locale||r.lng||i;_=this.formats[u](c,h,{...p,...r,...k})}catch(k){this.logger.warn(k)}return _}else this.logger.warn(`there was no format function for ${u}`);return c},e)}}const Og=(t,e)=>{t.pending[e]!==void 0&&(delete t.pending[e],t.pendingCount--)};class Bg extends gs{constructor(e,n,i){var s,o;let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=e,this.store=n,this.services=i,this.languageUtils=i.languageUtils,this.options=r,this.logger=vt.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=r.maxParallelReads||10,this.readingCalls=0,this.maxRetries=r.maxRetries>=0?r.maxRetries:5,this.retryTimeout=r.retryTimeout>=1?r.retryTimeout:350,this.state={},this.queue=[],(o=(s=this.backend)==null?void 0:s.init)==null||o.call(s,i,r.backend,r)}queueLoad(e,n,i,r){const s={},o={},c={},l={};return e.forEach(u=>{let p=!0;n.forEach(g=>{const _=`${u}|${g}`;!i.reload&&this.store.hasResourceBundle(u,g)?this.state[_]=2:this.state[_]<0||(this.state[_]===1?o[_]===void 0&&(o[_]=!0):(this.state[_]=1,p=!1,o[_]===void 0&&(o[_]=!0),s[_]===void 0&&(s[_]=!0),l[g]===void 0&&(l[g]=!0)))}),p||(c[u]=!0)}),(Object.keys(s).length||Object.keys(o).length)&&this.queue.push({pending:o,pendingCount:Object.keys(o).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(s),pending:Object.keys(o),toLoadLanguages:Object.keys(c),toLoadNamespaces:Object.keys(l)}}loaded(e,n,i){const r=e.split("|"),s=r[0],o=r[1];n&&this.emit("failedLoading",s,o,n),!n&&i&&this.store.addResourceBundle(s,o,i,void 0,void 0,{skipCopy:!0}),this.state[e]=n?-1:2,n&&i&&(this.state[e]=0);const c={};this.queue.forEach(l=>{wg(l.loaded,[s],o),Og(l,e),n&&l.errors.push(n),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(u=>{c[u]||(c[u]={});const p=l.loaded[u];p.length&&p.forEach(g=>{c[u][g]===void 0&&(c[u][g]=!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,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,o=arguments.length>5?arguments[5]:void 0;if(!e.length)return o(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:n,fcName:i,tried:r,wait:s,callback:o});return}this.readingCalls++;const c=(u,p)=>{if(this.readingCalls--,this.waitingReads.length>0){const g=this.waitingReads.shift();this.read(g.lng,g.ns,g.fcName,g.tried,g.wait,g.callback)}if(u&&p&&r<this.maxRetries){setTimeout(()=>{this.read.call(this,e,n,i,r+1,s*2,o)},s);return}o(u,p)},l=this.backend[i].bind(this.backend);if(l.length===2){try{const u=l(e,n);u&&typeof u.then=="function"?u.then(p=>c(null,p)).catch(c):c(null,u)}catch(u){c(u)}return}return l(e,n,c)}prepareLoading(e,n){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=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."),r&&r();ee(e)&&(e=this.languageUtils.toResolveHierarchy(e)),ee(n)&&(n=[n]);const s=this.queueLoad(e,n,i,r);if(!s.toLoad.length)return s.pending.length||r(),null;s.toLoad.forEach(o=>{this.loadOne(o)})}load(e,n,i){this.prepareLoading(e,n,{},i)}reload(e,n,i){this.prepareLoading(e,n,{reload:!0},i)}loadOne(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const i=e.split("|"),r=i[0],s=i[1];this.read(r,s,"read",void 0,void 0,(o,c)=>{o&&this.logger.warn(`${n}loading namespace ${s} for language ${r} failed`,o),!o&&c&&this.logger.log(`${n}loaded namespace ${s} for language ${r}`,c),this.loaded(e,o,c)})}saveMissing(e,n,i,r,s){var l,u,p,g,_;let o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},c=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if((u=(l=this.services)==null?void 0:l.utils)!=null&&u.hasLoadedNamespace&&!((g=(p=this.services)==null?void 0:p.utils)!=null&&g.hasLoadedNamespace(n))){this.logger.warn(`did not save key "${i}" 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(!(i==null||i==="")){if((_=this.backend)!=null&&_.create){const k={...o,isUpdate:s},h=this.backend.create.bind(this.backend);if(h.length<6)try{let m;h.length===5?m=h(e,n,i,r,k):m=h(e,n,i,r),m&&typeof m.then=="function"?m.then(b=>c(null,b)).catch(c):c(null,m)}catch(m){c(m)}else h(e,n,i,r,c,k)}!e||!e[0]||this.store.addResource(e[0],n,i,r)}}}const Fl=()=>({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]),ee(t[1])&&(e.defaultValue=t[1]),ee(t[2])&&(e.tDescription=t[2]),typeof t[2]=="object"||typeof t[3]=="object"){const n=t[3]||t[2];Object.keys(n).forEach(i=>{e[i]=n[i]})}return e},interpolation:{escapeValue:!0,format:t=>t,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}),Hl=t=>{var e,n;return ee(t.ns)&&(t.ns=[t.ns]),ee(t.fallbackLng)&&(t.fallbackLng=[t.fallbackLng]),ee(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},rr=()=>{},Tg=t=>{Object.getOwnPropertyNames(Object.getPrototypeOf(t)).forEach(n=>{typeof t[n]=="function"&&(t[n]=t[n].bind(t))})};class bi extends gs{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=Hl(e),this.services={},this.logger=vt,this.modules={external:[]},Tg(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]:{},i=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,typeof n=="function"&&(i=n,n={}),!n.defaultNS&&n.defaultNS!==!1&&n.ns&&(ee(n.ns)?n.defaultNS=n.ns:n.ns.indexOf("translation")<0&&(n.defaultNS=n.ns[0]));const r=Fl();this.options={...r,...this.options,...Hl(n)},this.options.interpolation={...r.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?vt.init(s(this.modules.logger),this.options):vt.init(null,this.options);let p;this.modules.formatter?p=this.modules.formatter:p=Ng;const g=new Ul(this.options);this.store=new Pl(this.options.resources,this.options);const _=this.services;_.logger=vt,_.resourceStore=this.store,_.languageUtils=g,_.pluralResolver=new zg(g,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),p&&(!this.options.interpolation.format||this.options.interpolation.format===r.interpolation.format)&&(_.formatter=s(p),_.formatter.init(_,this.options),this.options.interpolation.format=_.formatter.format.bind(_.formatter)),_.interpolator=new $g(this.options),_.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},_.backendConnector=new Bg(s(this.modules.backend),_.resourceStore,_,this.options),_.backendConnector.on("*",function(k){for(var h=arguments.length,m=new Array(h>1?h-1:0),b=1;b<h;b++)m[b-1]=arguments[b];e.emit(k,...m)}),this.modules.languageDetector&&(_.languageDetector=s(this.modules.languageDetector),_.languageDetector.init&&_.languageDetector.init(_,this.options.detection,this.options)),this.modules.i18nFormat&&(_.i18nFormat=s(this.modules.i18nFormat),_.i18nFormat.init&&_.i18nFormat.init(this)),this.translator=new kr(this.services,this.options),this.translator.on("*",function(k){for(var h=arguments.length,m=new Array(h>1?h-1:0),b=1;b<h;b++)m[b-1]=arguments[b];e.emit(k,...m)}),this.modules.external.forEach(k=>{k.init&&k.init(this)})}if(this.format=this.options.interpolation.format,i||(i=rr),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=ci(),u=()=>{const p=(g,_)=>{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(_),i(g,_)};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?u():setTimeout(u,0),l}loadResources(e){var s,o;let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:rr;const r=ee(e)?e:this.language;if(typeof e=="function"&&(i=e),!this.options.resources||this.options.partialBundledLanguages){if((r==null?void 0:r.toLowerCase())==="cimode"&&(!this.options.preload||this.options.preload.length===0))return i();const c=[],l=u=>{if(!u||u==="cimode")return;this.services.languageUtils.toResolveHierarchy(u).forEach(g=>{g!=="cimode"&&c.indexOf(g)<0&&c.push(g)})};r?l(r):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(p=>l(p)),(o=(s=this.options.preload)==null?void 0:s.forEach)==null||o.call(s,u=>l(u)),this.services.backendConnector.load(c,this.options.ns,u=>{!u&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),i(u)})}else i(null)}reloadResources(e,n,i){const r=ci();return typeof e=="function"&&(i=e,e=void 0),typeof n=="function"&&(i=n,n=void 0),e||(e=this.languages),n||(n=this.options.ns),i||(i=rr),this.services.backendConnector.reload(e,n,s=>{r.resolve(),i(s)}),r}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"&&rp.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 i=this.languages[n];if(!(["cimode","dev"].indexOf(i)>-1)&&this.store.hasLanguageSomeTranslations(i)){this.resolvedLanguage=i;break}}}changeLanguage(e,n){var i=this;this.isLanguageChangingTo=e;const r=ci();this.emit("languageChanging",e);const s=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},o=(l,u)=>{u?(s(u),this.translator.changeLanguage(u),this.isLanguageChangingTo=void 0,this.emit("languageChanged",u),this.logger.log("languageChanged",u)):this.isLanguageChangingTo=void 0,r.resolve(function(){return i.t(...arguments)}),n&&n(l,function(){return i.t(...arguments)})},c=l=>{var p,g;!e&&!l&&this.services.languageDetector&&(l=[]);const u=ee(l)?l:this.services.languageUtils.getBestMatchFromCodes(l);u&&(this.language||s(u),this.translator.language||this.translator.changeLanguage(u),(g=(p=this.services.languageDetector)==null?void 0:p.cacheUserLanguage)==null||g.call(p,u)),this.loadResources(u,_=>{o(_,u)})};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),r}getFixedT(e,n,i){var r=this;const s=function(o,c){let l;if(typeof c!="object"){for(var u=arguments.length,p=new Array(u>2?u-2:0),g=2;g<u;g++)p[g-2]=arguments[g];l=r.options.overloadTranslationOptionHandler([o,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||i||s.keyPrefix);const _=r.options.keySeparator||".";let k;return l.keyPrefix&&Array.isArray(o)?k=o.map(h=>`${l.keyPrefix}${_}${h}`):k=l.keyPrefix?`${l.keyPrefix}${_}${o}`:o,r.t(k,l)};return ee(e)?s.lng=e:s.lngs=e,s.ns=n,s.keyPrefix=i,s}t(){var r;for(var e=arguments.length,n=new Array(e),i=0;i<e;i++)n[i]=arguments[i];return(r=this.translator)==null?void 0:r.translate(...n)}exists(){var r;for(var e=arguments.length,n=new Array(e),i=0;i<e;i++)n[i]=arguments[i];return(r=this.translator)==null?void 0:r.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 i=n.lng||this.resolvedLanguage||this.languages[0],r=this.options?this.options.fallbackLng:!1,s=this.languages[this.languages.length-1];if(i.toLowerCase()==="cimode")return!0;const o=(c,l)=>{const u=this.services.backendConnector.state[`${c}|${l}`];return u===-1||u===0||u===2};if(n.precheck){const c=n.precheck(this,o);if(c!==void 0)return c}return!!(this.hasResourceBundle(i,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||o(i,e)&&(!r||o(s,e)))}loadNamespaces(e,n){const i=ci();return this.options.ns?(ee(e)&&(e=[e]),e.forEach(r=>{this.options.ns.indexOf(r)<0&&this.options.ns.push(r)}),this.loadResources(r=>{i.resolve(),n&&n(r)}),i):(n&&n(),Promise.resolve())}loadLanguages(e,n){const i=ci();ee(e)&&(e=[e]);const r=this.options.preload||[],s=e.filter(o=>r.indexOf(o)<0&&this.services.languageUtils.isSupportedCode(o));return s.length?(this.options.preload=r.concat(s),this.loadResources(o=>{i.resolve(),n&&n(o)}),i):(n&&n(),Promise.resolve())}dir(e){var r,s;if(e||(e=this.resolvedLanguage||(((r=this.languages)==null?void 0:r.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"],i=((s=this.services)==null?void 0:s.languageUtils)||new Ul(Fl());return n.indexOf(i.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 bi(e,n)}cloneInstance(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:rr;const i=e.forkResourceStore;i&&delete e.forkResourceStore;const r={...this.options,...e,isClone:!0},s=new bi(r);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)},i){const c=Object.keys(this.store.data).reduce((l,u)=>(l[u]={...this.store.data[u]},Object.keys(l[u]).reduce((p,g)=>(p[g]={...l[u][g]},p),{})),{});s.store=new Pl(c,r),s.services.resourceStore=s.store}return s.translator=new kr(s.services,r),s.translator.on("*",function(c){for(var l=arguments.length,u=new Array(l>1?l-1:0),p=1;p<l;p++)u[p-1]=arguments[p];s.emit(c,...u)}),s.init(r,n),s.translator.options=r,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 se=bi.createInstance();se.createInstance=bi.createInstance;se.createInstance;se.dir;se.init;se.loadResources;se.reloadResources;se.use;se.changeLanguage;se.getFixedT;const pe=se.t;se.exists;se.setDefaultNamespace;se.hasLoadedNamespace;se.loadNamespaces;se.loadLanguages;const Gt=a.z.object({start:a.z.number(),limit:a.z.number(),length:a.z.number()}),hc=a.z.object({created_at:a.z.string(),updated_at:a.z.string()}),sp=a.z.object({email:a.z.string().optional(),email_verified:a.z.boolean().optional(),name:a.z.string().optional(),username:a.z.string().optional(),given_name:a.z.string().optional(),phone_number:a.z.string().optional(),phone_verified:a.z.boolean().optional(),family_name:a.z.string().optional()}).catchall(a.z.any()),op=a.z.object({connection:a.z.string(),user_id:a.z.string(),provider:a.z.string(),isSocial:a.z.boolean(),access_token:a.z.string().optional(),access_token_secret:a.z.string().optional(),refresh_token:a.z.string().optional(),profileData:sp.optional()}),_s=a.z.object({email:a.z.string().optional(),username:a.z.string().optional(),given_name:a.z.string().optional(),family_name:a.z.string().optional(),nickname:a.z.string().optional(),name:a.z.string().optional(),picture:a.z.string().optional(),locale:a.z.string().optional(),linked_to:a.z.string().optional(),profileData:a.z.string().optional(),user_id:a.z.string().optional(),app_metadata:a.z.any().default({}).optional(),user_metadata:a.z.any().default({}).optional()}),xr=_s.extend({email_verified:a.z.boolean().default(!1),verify_email:a.z.boolean().optional(),last_ip:a.z.string().optional(),last_login:a.z.string().optional(),user_id:a.z.string().optional(),provider:a.z.string().default("email"),connection:a.z.string().default("email"),is_social:a.z.boolean().optional()}),gc=a.z.object({...xr.shape,...hc.shape,user_id:a.z.string(),is_social:a.z.boolean(),email:a.z.string(),login_count:a.z.number(),identities:a.z.array(op).optional()}),yt=gc,Rg=_s.extend({email:a.z.string(),login_count:a.z.number(),multifactor:a.z.array(a.z.string()).optional(),last_ip:a.z.string().optional(),last_login:a.z.string().optional(),user_id:a.z.string()}).catchall(a.z.any()),Pg="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let Lg=(t=21)=>{let e="",n=crypto.getRandomValues(new Uint8Array(t));for(;t--;)e+=Pg[n[t]&63];return e};const ap=a.z.object({audience:a.z.string().optional(),recipient:a.z.string().optional(),createUpnClaim:a.z.boolean().optional(),mapUnknownClaimsAsIs:a.z.boolean().optional(),passthroughClaimsWithNoMapping:a.z.boolean().optional(),mapIdentities:a.z.boolean().optional(),signatureAlgorithm:a.z.string().optional(),digestAlgorithm:a.z.string().optional(),issuer:a.z.string().optional(),destination:a.z.string().optional(),lifetimeInSeconds:a.z.number().optional(),signResponse:a.z.boolean().optional(),nameIdentifierFormat:a.z.string().optional(),nameIdentifierProbes:a.z.array(a.z.string()).optional(),authnContextClassRef:a.z.string().optional(),mappings:a.z.record(a.z.string()).optional()}),Sr=a.z.object({id:a.z.string(),name:a.z.string(),callbacks:a.z.array(a.z.string()).default([]).optional().openapi({description:"Comma-separated list of URLs whitelisted to use as a callback to the client after authentication."}),allowed_origins:a.z.array(a.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:a.z.array(a.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:a.z.array(a.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:a.z.array(a.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:a.z.object({samlp:ap.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:a.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:a.z.string().default(()=>Lg()).optional(),disable_sign_ups:a.z.boolean().optional().default(!1).openapi({description:"Prevents users from signing up using the hosted login page. This is not available in auth0"})}),nn=a.z.object({created_at:a.z.string().transform(t=>t===null?"":t),updated_at:a.z.string().transform(t=>t===null?"":t),...Sr.shape});var un=(t=>(t.TOKEN="token",t.TOKEN_ID_TOKEN="token id_token",t.CODE="code",t))(un||{}),Ht=(t=>(t.QUERY="query",t.FRAGMENT="fragment",t.FORM_POST="form_post",t.WEB_MESSAGE="web_message",t.SAML_POST="saml_post",t))(Ht||{}),ms=(t=>(t.S256="S256",t.Plain="plain",t))(ms||{});const _c=a.z.object({client_id:a.z.string(),vendor_id:a.z.string().optional(),act_as:a.z.string().optional(),response_type:a.z.nativeEnum(un).optional(),response_mode:a.z.nativeEnum(Ht).optional(),redirect_uri:a.z.string().optional(),audience:a.z.string().optional(),state:a.z.string().optional(),nonce:a.z.string().optional(),scope:a.z.string().optional(),prompt:a.z.string().optional(),code_challenge_method:a.z.nativeEnum(ms).optional(),code_challenge:a.z.string().optional(),username:a.z.string().optional(),ui_locales:a.z.string().optional()}),Mo=a.z.object({colors:a.z.object({primary:a.z.string(),page_background:a.z.object({type:a.z.string().optional(),start:a.z.string().optional(),end:a.z.string().optional(),angle_deg:a.z.number().optional()}).optional()}).optional(),logo_url:a.z.string().optional(),favicon_url:a.z.string().optional(),font:a.z.object({url:a.z.string()}).optional()}),Ar=a.z.object({id:a.z.string().optional(),name:a.z.string(),strategy:a.z.string(),options:a.z.object({kid:a.z.string().optional(),team_id:a.z.string().optional(),realms:a.z.string().optional(),client_id:a.z.string().optional(),client_secret:a.z.string().optional(),app_secret:a.z.string().optional(),scope:a.z.string().optional(),authorization_endpoint:a.z.string().default("").optional(),token_endpoint:a.z.string().default("").optional(),userinfo_endpoint:a.z.string().default("").optional(),jwks_uri:a.z.string().default("").optional(),discovery_url:a.z.string().default("").optional(),issuer:a.z.string().default("").optional()}).default({}).optional(),enabled_clients:a.z.array(a.z.string()).default([]).optional(),response_type:a.z.custom().optional(),response_mode:a.z.custom().optional()}),Lt=a.z.object({id:a.z.string(),created_at:a.z.string().transform(t=>t===null?"":t),updated_at:a.z.string().transform(t=>t===null?"":t)}).extend(Ar.shape),Ir=a.z.object({name:a.z.string(),audience:a.z.string(),sender_email:a.z.string().email(),sender_name:a.z.string(),support_url:a.z.string().url().optional(),logo:a.z.string().url().optional(),primary_color:a.z.string().optional(),secondary_color:a.z.string().optional(),language:a.z.string().optional(),id:a.z.string().optional()}),Nn=a.z.object({created_at:a.z.string().transform(t=>t===null?"":t),updated_at:a.z.string().transform(t=>t===null?"":t),...Ir.shape,id:a.z.string()}),cp=a.z.object({logoUrl:a.z.string(),loginBackgroundImage:a.z.string().nullish(),style:a.z.object({primaryColor:a.z.string(),buttonTextColor:a.z.string(),primaryHoverColor:a.z.string()}),supportEmail:a.z.string().nullable(),supportUrl:a.z.string().nullable(),name:a.z.string(),showGreyishBackground:a.z.boolean().optional(),termsAndConditionsUrl:a.z.string().nullable(),companyName:a.z.string().optional(),checkoutHideSocial:a.z.boolean().optional(),siteUrl:a.z.string().nullable(),manageSubscriptionsUrl:a.z.string().optional()}),Ug=a.z.object({domain:a.z.string(),dkim_private_key:a.z.string().optional(),dkim_public_key:a.z.string().optional(),email_api_key:a.z.string().optional(),email_service:a.z.string().optional()});a.z.object({...nn.shape,domains:a.z.array(Ug),tenant:Nn,connections:a.z.array(Lt)});const lp=a.z.enum(["password_reset","email_verification","otp","authorization_code","oauth2_state","ticket"]),up=a.z.object({code_id:a.z.string().openapi({description:"The code that will be used in for instance an email verification flow"}),login_id:a.z.string().openapi({description:"The id of the login session that the code is connected to"}),connection_id:a.z.string().optional().openapi({description:"The connection that the code is connected to"}),code_type:lp,code_verifier:a.z.string().optional().openapi({description:"The code verifier used in PKCE in outbound flows"}),expires_at:a.z.string(),used_at:a.z.string().optional(),user_id:a.z.string().optional()}),Vg=a.z.object({...up.shape,created_at:a.z.string()}),dp=a.z.object({domain:a.z.string(),dkim_private_key:a.z.string().optional(),dkim_public_key:a.z.string().optional(),email_api_key:a.z.string().optional(),email_service:a.z.string().optional()}),Mg=hc.extend({...dp.shape,id:a.z.string()}),Er=a.z.object({trigger_id:a.z.enum(["pre-user-signup","post-user-registration","post-user-login"]),enabled:a.z.boolean().default(!1),url:a.z.string(),hook_id:a.z.string().optional(),synchronous:a.z.boolean().default(!1),priority:a.z.number().optional()}),$n=Er.extend({...hc.shape,hook_id:a.z.string()}),mc=a.z.object({alg:a.z.enum(["RS256","RS384","RS512","ES256","ES384","ES512","HS256","HS384","HS512"]),e:a.z.string(),kid:a.z.string(),kty:a.z.enum(["RSA","EC","oct"]),n:a.z.string(),x5t:a.z.string().optional(),x5c:a.z.array(a.z.string()).optional(),use:a.z.enum(["sig","enc"]).optional()}),pp=a.z.object({keys:a.z.array(mc)}),Do=a.z.object({issuer:a.z.string(),authorization_endpoint:a.z.string(),token_endpoint:a.z.string(),device_authorization_endpoint:a.z.string(),userinfo_endpoint:a.z.string(),mfa_challenge_endpoint:a.z.string(),jwks_uri:a.z.string(),registration_endpoint:a.z.string(),revocation_endpoint:a.z.string(),scopes_supported:a.z.array(a.z.string()),response_types_supported:a.z.array(a.z.string()),code_challenge_methods_supported:a.z.array(a.z.string()),response_modes_supported:a.z.array(a.z.string()),subject_types_supported:a.z.array(a.z.string()),id_token_signing_alg_values_supported:a.z.array(a.z.string()),token_endpoint_auth_methods_supported:a.z.array(a.z.string()),claims_supported:a.z.array(a.z.string()),request_uri_parameter_supported:a.z.boolean(),request_parameter_supported:a.z.boolean(),token_endpoint_auth_signing_alg_values_supported:a.z.array(a.z.string())}),fp=a.z.object({auth0Client:a.z.string().optional(),authParams:_c,expires_at:a.z.string(),deleted_at:a.z.string().optional(),ip:a.z.string().optional(),useragent:a.z.string().optional()}).openapi({description:"This represents a login sesion"}),Dg=a.z.object({...fp.shape,login_id:a.z.string().openapi({description:"This is is used as the state in the universal login"}),created_at:a.z.string(),updated_at:a.z.string()});var _e=(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))(_e||{});const Fg=a.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"]),hp=a.z.object({name:a.z.string(),version:a.z.string(),env:a.z.object({node:a.z.string().optional()}).optional()}),Cr=a.z.object({type:Fg,date:a.z.string(),description:a.z.string().optional(),log_id:a.z.string().optional(),_id:a.z.string().optional(),ip:a.z.string(),user_agent:a.z.string(),details:a.z.any().optional(),isMobile:a.z.boolean(),user_id:a.z.string().optional(),user_name:a.z.string().optional(),connection:a.z.string().optional(),connection_id:a.z.string().optional(),client_id:a.z.string().optional(),client_name:a.z.string().optional(),audience:a.z.string().optional(),scope:a.z.array(a.z.string()).optional(),strategy:a.z.string().optional(),strategy_type:a.z.string().optional(),hostname:a.z.string().optional(),auth0_client:hp.optional()}),gp=a.z.object({user_id:a.z.string(),password:a.z.string(),algorithm:a.z.enum(["bcrypt","argon2id"]).default("argon2id")}),Hg=a.z.object({...gp.shape,created_at:a.z.string(),updated_at:a.z.string()}),_p=a.z.object({initial_user_agent:a.z.string().describe("First user agent of the device from which this user logged in"),initial_ip:a.z.string().describe("First IP address associated with this session"),initial_asn:a.z.string().describe("First autonomous system number associated with this session"),last_user_agent:a.z.string().describe("Last user agent of the device from which this user logged in"),last_ip:a.z.string().describe("Last IP address from which this user logged in"),last_asn:a.z.string().describe("Last autonomous system number from which this user logged in")}),mp=a.z.object({id:a.z.string(),revoked_at:a.z.string().optional(),used_at:a.z.string().optional(),user_id:a.z.string().describe("The user ID associated with the session"),expires_at:a.z.string().optional(),idle_expires_at:a.z.string().optional(),device:_p.describe("Metadata related to the device used in the session"),clients:a.z.array(a.z.string()).describe("List of client details for the session")}),ys=a.z.object({created_at:a.z.string(),updated_at:a.z.string(),authenticated_at:a.z.string(),last_interaction_at:a.z.string(),...mp.shape}),Fo=a.z.object({kid:a.z.string().openapi({description:"The key id of the signing key"}),cert:a.z.string().openapi({description:"The public certificate of the signing key"}),fingerprint:a.z.string().openapi({description:"The cert fingerprint"}),thumbprint:a.z.string().openapi({description:"The cert thumbprint"}),pkcs7:a.z.string().optional().openapi({description:"The private key in pkcs7 format"}),current:a.z.boolean().optional().openapi({description:"True if the key is the current key"}),next:a.z.boolean().optional().openapi({description:"True if the key is the next key"}),previous:a.z.boolean().optional().openapi({description:"True if the key is the previous key"}),current_since:a.z.string().optional().openapi({description:"The date and time when the key became the current key"}),current_until:a.z.string().optional().openapi({description:"The date and time when the current key was rotated"}),revoked:a.z.boolean().optional().openapi({description:"True if the key is revoked"}),revoked_at:a.z.string().optional().openapi({description:"The date and time when the key was revoked"})});var hi=(t=>(t.RefreshToken="refresh_token",t.AuthorizationCode="authorization_code",t.ClientCredential="client_credentials",t.Passwordless="passwordless",t.Password="password",t))(hi||{});const yp=a.z.object({access_token:a.z.string(),id_token:a.z.string().optional(),scope:a.z.string().optional(),state:a.z.string().optional(),refresh_token:a.z.string().optional(),token_type:a.z.string(),expires_in:a.z.number()});a.z.object({code:a.z.string(),state:a.z.string().optional()});const vp=a.z.object({button_border_radius:a.z.number(),button_border_weight:a.z.number(),buttons_style:a.z.enum(["pill"]),input_border_radius:a.z.number(),input_border_weight:a.z.number(),inputs_style:a.z.enum(["pill"]),show_widget_shadow:a.z.boolean(),widget_border_weight:a.z.number(),widget_corner_radius:a.z.number()}),wp=a.z.object({base_focus_color:a.z.string(),base_hover_color:a.z.string(),body_text:a.z.string(),captcha_widget_theme:a.z.enum(["auto"]),error:a.z.string(),header:a.z.string(),icons:a.z.string(),input_background:a.z.string(),input_border:a.z.string(),input_filled_text:a.z.string(),input_labels_placeholders:a.z.string(),links_focused_components:a.z.string(),primary_button:a.z.string(),primary_button_label:a.z.string(),secondary_button_border:a.z.string(),secondary_button_label:a.z.string(),success:a.z.string(),widget_background:a.z.string(),widget_border:a.z.string()}),en=a.z.object({bold:a.z.boolean(),size:a.z.number()}),bp=a.z.object({body_text:en,buttons_text:en,font_url:a.z.string(),input_labels:en,links:en,links_style:a.z.enum(["normal"]),reference_text_size:a.z.number(),subtitle:en,title:en}),kp=a.z.object({background_color:a.z.string(),background_image_url:a.z.string(),page_layout:a.z.enum(["center"])}),xp=a.z.object({header_text_alignment:a.z.enum(["center"]),logo_height:a.z.number(),logo_position:a.z.enum(["center"]),logo_url:a.z.string(),social_buttons_layout:a.z.enum(["bottom"])}),Sp=a.z.object({borders:vp,colors:wp,displayName:a.z.string(),fonts:bp,page_background:kp,widget:xp}),qg=Sp.extend({themeId:a.z.string()}),dr=a.z.object({universal_login_experience:a.z.enum(["new","classic"]).default("new"),identifier_first:a.z.boolean().default(!0),password_first:a.z.boolean().default(!1),webauthn_platform_first_factor:a.z.boolean()}),pr=a.z.object({name:a.z.string(),enabled:a.z.boolean().optional().default(!0),default_from_address:a.z.string().optional(),credentials:a.z.union([a.z.object({accessKeyId:a.z.string(),secretAccessKey:a.z.string(),region:a.z.string()}),a.z.object({smtp_host:a.z.array(a.z.string()),smtp_port:a.z.number(),smtp_user:a.z.string(),smtp_pass:a.z.string()}),a.z.object({api_key:a.z.string(),domain:a.z.string().optional()}),a.z.object({connectionString:a.z.string()}),a.z.object({tenantId:a.z.string(),clientId:a.z.string(),clientSecret:a.z.string()})]),settings:a.z.object({}).optional()}),yc=a.z.object({id:a.z.string(),session_id:a.z.string(),user_id:a.z.string(),client_id:a.z.string(),expires_at:a.z.string().optional(),idle_expires_at:a.z.string().optional(),last_exchanged_at:a.z.string().optional(),device:_p,resource_servers:a.z.array(a.z.object({audience:a.z.string(),scopes:a.z.string()})),rotating:a.z.boolean()}),Kg=a.z.object({created_at:a.z.string(),...yc.shape});function Wg(t){const[e,n]=t.split("|");if(!e||!n)throw new Error(`Invalid user_id: ${t}`);return{connection:e,id:n}}const Gg=new a.OpenAPIHono().openapi(a.createRoute({tags:["branding"],method:"get",path:"/",request:{headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Mo}},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(a.createRoute({tags:["branding"],method:"patch",path:"/",request:{headers:a.z.object({"tenant-id":a.z.string()}),body:{content:{"application/json":{schema:a.z.object(Mo.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 j=class extends Error{constructor(e=500,n){super(n==null?void 0:n.message,{cause:n==null?void 0:n.cause});Q(this,"res");Q(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})}},zr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ap(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function Jg(t){if(t.__esModule)return t;var e=t.default;if(typeof e=="function"){var n=function i(){return this instanceof i?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(i){var r=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(n,i,r.get?r:{enumerable:!0,get:function(){return t[i]}})}),n}function Zg(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 Ip={exports:{}};const Yg={},Xg=Object.freeze(Object.defineProperty({__proto__:null,default:Yg},Symbol.toStringTag,{value:"Module"})),Qg=Jg(Xg);(function(t){/**
|
|
1
|
+
"use strict";var pm=Object.defineProperty;var fm=(t,e,n)=>e in t?pm(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var ee=(t,e,n)=>fm(t,typeof e!="symbol"?e+"":e,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("@hono/zod-openapi"),ne=t=>typeof t=="string",gr=()=>{let t,e;const n=new Promise((r,i)=>{t=r,e=i});return n.resolve=t,n.reject=e,n},hu=t=>t==null?"":""+t,hm=(t,e,n)=>{t.forEach(r=>{e[r]&&(n[r]=e[r])})},gm=/###/g,gu=t=>t&&t.indexOf("###")>-1?t.replace(gm,"."):t,mu=t=>!t||ne(t),br=(t,e,n)=>{const r=ne(e)?e.split("."):e;let i=0;for(;i<r.length-1;){if(mu(t))return{};const s=gu(r[i]);!t[s]&&n&&(t[s]=new n),Object.prototype.hasOwnProperty.call(t,s)?t=t[s]:t={},++i}return mu(t)?{}:{obj:t,k:gu(r[i])}},_u=(t,e,n)=>{const{obj:r,k:i}=br(t,e,Object);if(r!==void 0||e.length===1){r[i]=n;return}let s=e[e.length-1],o=e.slice(0,e.length-1),c=br(t,o,Object);for(;c.obj===void 0&&o.length;)s=`${o[o.length-1]}.${s}`,o=o.slice(0,o.length-1),c=br(t,o,Object),c!=null&&c.obj&&typeof c.obj[`${c.k}.${s}`]<"u"&&(c.obj=void 0);c.obj[`${c.k}.${s}`]=n},mm=(t,e,n,r)=>{const{obj:i,k:s}=br(t,e,Object);i[s]=i[s]||[],i[s].push(n)},Vi=(t,e)=>{const{obj:n,k:r}=br(t,e);if(n&&Object.prototype.hasOwnProperty.call(n,r))return n[r]},_m=(t,e,n)=>{const r=Vi(t,n);return r!==void 0?r:Vi(e,n)},qp=(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]):qp(t[r],e[r],n):t[r]=e[r]);return t},zn=t=>t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var ym={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};const vm=t=>ne(t)?t.replace(/[&<>"'\/]/g,e=>ym[e]):t;class wm{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 bm=[" ",",","?","!",";"],km=new wm(20),xm=(t,e,n)=>{e=e||"",n=n||"";const r=bm.filter(o=>e.indexOf(o)<0&&n.indexOf(o)<0);if(r.length===0)return!0;const i=km.getRegExp(`(${r.map(o=>o==="?"?"\\?":o).join("|")})`);let s=!i.test(t);if(!s){const o=t.indexOf(n);o>0&&!i.test(t.substring(0,o))&&(s=!0)}return s},da=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 o,c="";for(let l=s;l<r.length;++l)if(l!==s&&(c+=n),c+=r[l],o=i[c],o!==void 0){if(["string","number","boolean"].indexOf(typeof o)>-1&&l<r.length-1)continue;s+=l-s+1;break}i=o}return i},Mi=t=>t==null?void 0:t.replace("_","-"),Sm={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 qi{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||Sm,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 qi(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return e=e||this.options,e.prefix=e.prefix||this.prefix,new qi(this.logger,e)}}var wt=new qi;class Rs{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(o=>{let[c,l]=o;for(let u=0;u<l;u++)c(...r)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(o=>{let[c,l]=o;for(let u=0;u<l;u++)c.apply(c,[e,...r])})}}class yu extends Rs{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 u,p;let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const s=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,o=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=Vi(this.data,c);return!l&&!n&&!r&&e.indexOf(".")>-1&&(e=c[0],n=c[1],r=c.slice(2).join(".")),l||!o||!ne(r)?l:da((p=(u=this.data)==null?void 0:u[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 o=s.keySeparator!==void 0?s.keySeparator:this.options.keySeparator;let c=[e,n];r&&(c=c.concat(o?r.split(o):r)),e.indexOf(".")>-1&&(c=e.split("."),i=n,n=c[1]),this.addNamespaces(n),_u(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 o=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=Vi(this.data,c)||{};o.skipCopy||(r=JSON.parse(JSON.stringify(r))),i?qp(l,r,s):l={...l,...r},_u(this.data,c,l),o.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 Dp={processors:{},addPostProcessor(t){this.processors[t.name]=t},handle(t,e,n,r,i){return t.forEach(s=>{var o;e=((o=this.processors[s])==null?void 0:o.process(e,n,r,i))??e}),e}};const vu={};class Di extends Rs{constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),hm(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=wt.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 o=r&&e.indexOf(r)>-1,c=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!xm(e,r,i);if(o&&!c){const l=e.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:e,namespaces:ne(s)?[s]:s};const u=e.split(r);(r!==i||r===i&&this.options.ns.indexOf(u[0])>-1)&&(s=u.shift()),e=u.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:o,namespaces:c}=this.extractFromKey(e[e.length-1],n),l=c[c.length-1],u=n.lng||this.language,p=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if((u==null?void 0:u.toLowerCase())==="cimode"){if(p){const R=n.nsSeparator||this.options.nsSeparator;return i?{res:`${l}${R}${o}`,usedKey:o,exactUsedKey:o,usedLng:u,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:`${l}${R}${o}`}return i?{res:o,usedKey:o,exactUsedKey:o,usedLng:u,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:o}const h=this.resolve(e,n);let m=h==null?void 0:h.res;const y=(h==null?void 0:h.usedKey)||o,f=(h==null?void 0:h.exactUsedKey)||o,_=Object.prototype.toString.apply(m),v=["[object Number]","[object Function]","[object RegExp]"],x=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,N=!this.i18nFormat||this.i18nFormat.handleAsObject,B=!ne(m)&&typeof m!="boolean"&&typeof m!="number";if(N&&m&&B&&v.indexOf(_)<0&&!(ne(x)&&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 R=this.options.returnedObjectHandler?this.options.returnedObjectHandler(y,m,{...n,ns:c}):`key '${o} (${this.language})' returned an object instead of string.`;return i?(h.res=R,h.usedParams=this.getUsedParamsDetails(n),h):R}if(s){const R=Array.isArray(m),te=R?[]:{},pe=R?f:y;for(const le in m)if(Object.prototype.hasOwnProperty.call(m,le)){const Ue=`${pe}${s}${le}`;te[le]=this.translate(Ue,{...n,joinArrays:!1,ns:c}),te[le]===Ue&&(te[le]=m[le])}m=te}}else if(N&&ne(x)&&Array.isArray(m))m=m.join(x),m&&(m=this.extendTranslation(m,e,n,r));else{let R=!1,te=!1;const pe=n.count!==void 0&&!ne(n.count),le=Di.hasDefaultValue(n),Ue=pe?this.pluralResolver.getSuffix(u,n.count,n):"",ot=n.ordinal&&pe?this.pluralResolver.getSuffix(u,n.count,{ordinal:!1}):"",We=pe&&!n.ordinal&&n.count===0,$=We&&n[`defaultValue${this.options.pluralSeparator}zero`]||n[`defaultValue${Ue}`]||n[`defaultValue${ot}`]||n.defaultValue;!this.isValidLookup(m)&&le&&(R=!0,m=$),this.isValidLookup(m)||(te=!0,m=o);const A=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&te?void 0:m,k=le&&$!==m&&this.options.updateMissing;if(te||R||k){if(this.logger.log(k?"updateKey":"missingKey",u,l,o,k?$:m),s){const X=this.resolve(o,{...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 b=[];const z=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&z&&z[0])for(let X=0;X<z.length;X++)b.push(z[X]);else this.options.saveMissingTo==="all"?b=this.languageUtils.toResolveHierarchy(n.lng||this.language):b.push(n.lng||this.language);const L=(X,W,ie)=>{var D;const ce=le&&ie!==m?ie:A;this.options.missingKeyHandler?this.options.missingKeyHandler(X,l,W,ce,k,n):(D=this.backendConnector)!=null&&D.saveMissing&&this.backendConnector.saveMissing(X,l,W,ce,k,n),this.emit("missingKey",X,l,W,m)};this.options.saveMissing&&(this.options.saveMissingPlurals&&pe?b.forEach(X=>{const W=this.pluralResolver.getSuffixes(X,n);We&&n[`defaultValue${this.options.pluralSeparator}zero`]&&W.indexOf(`${this.options.pluralSeparator}zero`)<0&&W.push(`${this.options.pluralSeparator}zero`),W.forEach(ie=>{L([X],o+ie,n[`defaultValue${ie}`]||$)})}):L(b,o,$))}m=this.extendTranslation(m,e,n,h,r),te&&m===o&&this.options.appendNamespaceToMissingKey&&(m=`${l}:${o}`),(te||R)&&this.options.parseMissingKeyHandler&&(m=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${o}`:o,R?m:void 0))}return i?(h.res=m,h.usedParams=this.getUsedParamsDetails(n),h):m}extendTranslation(e,n,r,i,s){var u,p;var o=this;if((u=this.i18nFormat)!=null&&u.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 h=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(h){const f=e.match(this.interpolator.nestingRegexp);m=f&&f.length}let y=r.replace&&!ne(r.replace)?r.replace:r;if(this.options.interpolation.defaultVariables&&(y={...this.options.interpolation.defaultVariables,...y}),e=this.interpolator.interpolate(e,y,r.lng||this.language||i.usedLng,r),h){const f=e.match(this.interpolator.nestingRegexp),_=f&&f.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 f=arguments.length,_=new Array(f),v=0;v<f;v++)_[v]=arguments[v];return(s==null?void 0:s[0])===_[0]&&!r.context?(o.logger.warn(`It seems you are nesting recursively key: ${_[0]} in key: ${n[0]}`),null):o.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=Dp.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,o,c;return ne(e)&&(e=[e]),e.forEach(l=>{if(this.isValidLookup(r))return;const u=this.extractFromKey(l,n),p=u.key;i=p;let h=u.namespaces;this.options.fallbackNS&&(h=h.concat(this.options.fallbackNS));const m=n.count!==void 0&&!ne(n.count),y=m&&!n.ordinal&&n.count===0,f=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);h.forEach(v=>{var x,N;this.isValidLookup(r)||(c=v,!vu[`${_[0]}-${v}`]&&((x=this.utils)!=null&&x.hasLoadedNamespace)&&!((N=this.utils)!=null&&N.hasLoadedNamespace(c))&&(vu[`${_[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(B=>{var pe;if(this.isValidLookup(r))return;o=B;const R=[p];if((pe=this.i18nFormat)!=null&&pe.addLookupKeys)this.i18nFormat.addLookupKeys(R,p,B,v,n);else{let le;m&&(le=this.pluralResolver.getSuffix(B,n.count,n));const Ue=`${this.options.pluralSeparator}zero`,ot=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(m&&(R.push(p+le),n.ordinal&&le.indexOf(ot)===0&&R.push(p+le.replace(ot,this.options.pluralSeparator)),y&&R.push(p+Ue)),f){const We=`${p}${this.options.contextSeparator}${n.context}`;R.push(We),m&&(R.push(We+le),n.ordinal&&le.indexOf(ot)===0&&R.push(We+le.replace(ot,this.options.pluralSeparator)),y&&R.push(We+Ue))}}let te;for(;te=R.pop();)this.isValidLookup(r)||(s=te,r=this.getResource(B,v,te,n))}))})}),{res:r,usedKey:i,exactUsedKey:s,usedLng:o,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 wu{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=wt.create("languageUtils")}getScriptPartFromCode(e){if(e=Mi(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=Mi(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=o=>{o&&(this.isSupportedCode(o)?i.push(o):this.logger.warn(`rejecting language code not found in supportedLngs: ${o}`))};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(o=>{i.indexOf(o)<0&&s(this.formatLanguageCode(o))}),i}}const bu={zero:0,one:1,two:2,few:3,many:4,other:5},ku={select:t=>t===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class Am{constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=e,this.options=n,this.logger=wt.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=Mi(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 o;try{o=new Intl.PluralRules(r,{type:i})}catch{if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),ku;if(!e.match(/-|_/))return ku;const l=this.languageUtils.getLanguagePartFromCode(e);o=this.getRule(l,n)}return this.pluralRulesCache[s]=o,o}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)=>bu[i]-bu[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 xu=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=_m(t,e,n);return!s&&i&&ne(n)&&(s=da(t,n,r),s===void 0&&(s=da(e,n,r))),s},qo=t=>t.replace(/\$/g,"$$$$");class Em{constructor(){var n;let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=wt.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:o,suffix:c,suffixEscaped:l,formatSeparator:u,unescapeSuffix:p,unescapePrefix:h,nestingPrefix:m,nestingPrefixEscaped:y,nestingSuffix:f,nestingSuffixEscaped:_,nestingOptionsSeparator:v,maxReplaces:x,alwaysFormat:N}=e.interpolation;this.escape=n!==void 0?n:vm,this.escapeValue=r!==void 0?r:!0,this.useRawValueToEscape=i!==void 0?i:!1,this.prefix=s?zn(s):o||"{{",this.suffix=c?zn(c):l||"}}",this.formatSeparator=u||",",this.unescapePrefix=p?"":h||"-",this.unescapeSuffix=this.unescapePrefix?"":p||"",this.nestingPrefix=m?zn(m):y||zn("$t("),this.nestingSuffix=f?zn(f):_||zn(")"),this.nestingOptionsSeparator=v||",",this.maxReplaces=x||1e3,this.alwaysFormat=N!==void 0?N:!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 y;let s,o,c;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},u=f=>{if(f.indexOf(this.formatSeparator)<0){const N=xu(n,l,f,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(N,void 0,r,{...i,...n,interpolationkey:f}):N}const _=f.split(this.formatSeparator),v=_.shift().trim(),x=_.join(this.formatSeparator).trim();return this.format(xu(n,l,v,this.options.keySeparator,this.options.ignoreJSONStructure),x,r,{...i,...n,interpolationkey:v})};this.resetRegExp();const p=(i==null?void 0:i.missingInterpolationHandler)||this.options.missingInterpolationHandler,h=((y=i==null?void 0:i.interpolation)==null?void 0:y.skipOnVariables)!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:f=>qo(f)},{regex:this.regexp,safeValue:f=>this.escapeValue?qo(this.escape(f)):qo(f)}].forEach(f=>{for(c=0;s=f.regex.exec(e);){const _=s[1].trim();if(o=u(_),o===void 0)if(typeof p=="function"){const x=p(e,s,i);o=ne(x)?x:""}else if(i&&Object.prototype.hasOwnProperty.call(i,_))o="";else if(h){o=s[0];continue}else this.logger.warn(`missed to pass in variable ${_} for interpolating ${e}`),o="";else!ne(o)&&!this.useRawValueToEscape&&(o=hu(o));const v=f.safeValue(o);if(e=e.replace(s[0],v),h?(f.regex.lastIndex+=o.length,f.regex.lastIndex-=s[0].length):f.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,o;const c=(l,u)=>{const p=this.nestingOptionsSeparator;if(l.indexOf(p)<0)return l;const h=l.split(new RegExp(`${p}[ ]*{`));let m=`{${h[1]}`;l=h[0],m=this.interpolate(m,o);const y=m.match(/'/g),f=m.match(/"/g);(((y==null?void 0:y.length)??0)%2===0&&!f||f.length%2!==0)&&(m=m.replace(/'/g,'"'));try{o=JSON.parse(m),u&&(o={...u,...o})}catch(_){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,_),`${l}${p}${m}`}return o.defaultValue&&o.defaultValue.indexOf(this.prefix)>-1&&delete o.defaultValue,l};for(;i=this.nestingRegexp.exec(e);){let l=[];o={...r},o=o.replace&&!ne(o.replace)?o.replace:o,o.applyPostProcessor=!1,delete o.defaultValue;let u=!1;if(i[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(i[1])){const p=i[1].split(this.formatSeparator).map(h=>h.trim());i[1]=p.shift(),l=p,u=!0}if(s=n(c.call(this,i[1].trim(),o),o),s&&i[0]===e&&!ne(s))return s;ne(s)||(s=hu(s)),s||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${e}`),s=""),u&&(s=l.reduce((p,h)=>this.format(p,h,r.lng,{...r,interpolationkey:i[1].trim()}),s.trim())),e=e.replace(i[0],s),this.regexp.lastIndex=0}return e}}const Im=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(o=>{if(o){const[c,...l]=o.split(":"),u=l.join(":").trim().replace(/^'+|'+$/g,""),p=c.trim();n[p]||(n[p]=u),u==="false"&&(n[p]=!1),u==="true"&&(n[p]=!0),isNaN(u)||(n[p]=parseInt(u,10))}})}return{formatName:e,formatOptions:n}},jn=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 o=r+JSON.stringify(s);let c=e[o];return c||(c=t(Mi(r),i),e[o]=c),c(n)}};class Cm{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=wt.create("formatter"),this.options=e,this.formats={number:jn((n,r)=>{const i=new Intl.NumberFormat(n,{...r});return s=>i.format(s)}),currency:jn((n,r)=>{const i=new Intl.NumberFormat(n,{...r,style:"currency"});return s=>i.format(s)}),datetime:jn((n,r)=>{const i=new Intl.DateTimeFormat(n,{...r});return s=>i.format(s)}),relativetime:jn((n,r)=>{const i=new Intl.RelativeTimeFormat(n,{...r});return s=>i.format(s,r.range||"day")}),list:jn((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()]=jn(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 h;const{formatName:u,formatOptions:p}=Im(l);if(this.formats[u]){let m=c;try{const y=((h=i==null?void 0:i.formatParams)==null?void 0:h[i.interpolationkey])||{},f=y.locale||y.lng||i.locale||i.lng||r;m=this.formats[u](c,f,{...p,...i,...y})}catch(y){this.logger.warn(y)}return m}else this.logger.warn(`there was no format function for ${u}`);return c},e)}}const Nm=(t,e)=>{t.pending[e]!==void 0&&(delete t.pending[e],t.pendingCount--)};class $m extends Rs{constructor(e,n,r){var s,o;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=wt.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=[],(o=(s=this.backend)==null?void 0:s.init)==null||o.call(s,r,i.backend,i)}queueLoad(e,n,r,i){const s={},o={},c={},l={};return e.forEach(u=>{let p=!0;n.forEach(h=>{const m=`${u}|${h}`;!r.reload&&this.store.hasResourceBundle(u,h)?this.state[m]=2:this.state[m]<0||(this.state[m]===1?o[m]===void 0&&(o[m]=!0):(this.state[m]=1,p=!1,o[m]===void 0&&(o[m]=!0),s[m]===void 0&&(s[m]=!0),l[h]===void 0&&(l[h]=!0)))}),p||(c[u]=!0)}),(Object.keys(s).length||Object.keys(o).length)&&this.queue.push({pending:o,pendingCount:Object.keys(o).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(s),pending:Object.keys(o),toLoadLanguages:Object.keys(c),toLoadNamespaces:Object.keys(l)}}loaded(e,n,r){const i=e.split("|"),s=i[0],o=i[1];n&&this.emit("failedLoading",s,o,n),!n&&r&&this.store.addResourceBundle(s,o,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=>{mm(l.loaded,[s],o),Nm(l,e),n&&l.errors.push(n),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(u=>{c[u]||(c[u]={});const p=l.loaded[u];p.length&&p.forEach(h=>{c[u][h]===void 0&&(c[u][h]=!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,o=arguments.length>5?arguments[5]:void 0;if(!e.length)return o(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:n,fcName:r,tried:i,wait:s,callback:o});return}this.readingCalls++;const c=(u,p)=>{if(this.readingCalls--,this.waitingReads.length>0){const h=this.waitingReads.shift();this.read(h.lng,h.ns,h.fcName,h.tried,h.wait,h.callback)}if(u&&p&&i<this.maxRetries){setTimeout(()=>{this.read.call(this,e,n,r,i+1,s*2,o)},s);return}o(u,p)},l=this.backend[r].bind(this.backend);if(l.length===2){try{const u=l(e,n);u&&typeof u.then=="function"?u.then(p=>c(null,p)).catch(c):c(null,u)}catch(u){c(u)}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(o=>{this.loadOne(o)})}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,(o,c)=>{o&&this.logger.warn(`${n}loading namespace ${s} for language ${i} failed`,o),!o&&c&&this.logger.log(`${n}loaded namespace ${s} for language ${i}`,c),this.loaded(e,o,c)})}saveMissing(e,n,r,i,s){var l,u,p,h,m;let o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},c=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if((u=(l=this.services)==null?void 0:l.utils)!=null&&u.hasLoadedNamespace&&!((h=(p=this.services)==null?void 0:p.utils)!=null&&h.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 y={...o,isUpdate:s},f=this.backend.create.bind(this.backend);if(f.length<6)try{let _;f.length===5?_=f(e,n,r,i,y):_=f(e,n,r,i),_&&typeof _.then=="function"?_.then(v=>c(null,v)).catch(c):c(null,_)}catch(_){c(_)}else f(e,n,r,i,c,y)}!e||!e[0]||this.store.addResource(e[0],n,r,i)}}}const Su=()=>({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}}),Au=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},vi=()=>{},zm=t=>{Object.getOwnPropertyNames(Object.getPrototypeOf(t)).forEach(n=>{typeof t[n]=="function"&&(t[n]=t[n].bind(t))})};class Nr extends Rs{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=Au(e),this.services={},this.logger=wt,this.modules={external:[]},zm(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=Su();this.options={...i,...this.options,...Au(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?wt.init(s(this.modules.logger),this.options):wt.init(null,this.options);let p;this.modules.formatter?p=this.modules.formatter:p=Cm;const h=new wu(this.options);this.store=new yu(this.options.resources,this.options);const m=this.services;m.logger=wt,m.resourceStore=this.store,m.languageUtils=h,m.pluralResolver=new Am(h,{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 Em(this.options),m.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},m.backendConnector=new $m(s(this.modules.backend),m.resourceStore,m,this.options),m.backendConnector.on("*",function(y){for(var f=arguments.length,_=new Array(f>1?f-1:0),v=1;v<f;v++)_[v-1]=arguments[v];e.emit(y,..._)}),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 Di(this.services,this.options),this.translator.on("*",function(y){for(var f=arguments.length,_=new Array(f>1?f-1:0),v=1;v<f;v++)_[v-1]=arguments[v];e.emit(y,..._)}),this.modules.external.forEach(y=>{y.init&&y.init(this)})}if(this.format=this.options.interpolation.format,r||(r=vi),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=gr(),u=()=>{const p=(h,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(h,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?u():setTimeout(u,0),l}loadResources(e){var s,o;let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:vi;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=u=>{if(!u||u==="cimode")return;this.services.languageUtils.toResolveHierarchy(u).forEach(h=>{h!=="cimode"&&c.indexOf(h)<0&&c.push(h)})};i?l(i):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(p=>l(p)),(o=(s=this.options.preload)==null?void 0:s.forEach)==null||o.call(s,u=>l(u)),this.services.backendConnector.load(c,this.options.ns,u=>{!u&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(u)})}else r(null)}reloadResources(e,n,r){const i=gr();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=vi),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"&&Dp.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=gr();this.emit("languageChanging",e);const s=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},o=(l,u)=>{u?(s(u),this.translator.changeLanguage(u),this.isLanguageChangingTo=void 0,this.emit("languageChanged",u),this.logger.log("languageChanged",u)):this.isLanguageChangingTo=void 0,i.resolve(function(){return r.t(...arguments)}),n&&n(l,function(){return r.t(...arguments)})},c=l=>{var p,h;!e&&!l&&this.services.languageDetector&&(l=[]);const u=ne(l)?l:this.services.languageUtils.getBestMatchFromCodes(l);u&&(this.language||s(u),this.translator.language||this.translator.changeLanguage(u),(h=(p=this.services.languageDetector)==null?void 0:p.cacheUserLanguage)==null||h.call(p,u)),this.loadResources(u,m=>{o(m,u)})};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(o,c){let l;if(typeof c!="object"){for(var u=arguments.length,p=new Array(u>2?u-2:0),h=2;h<u;h++)p[h-2]=arguments[h];l=i.options.overloadTranslationOptionHandler([o,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 y;return l.keyPrefix&&Array.isArray(o)?y=o.map(f=>`${l.keyPrefix}${m}${f}`):y=l.keyPrefix?`${l.keyPrefix}${m}${o}`:o,i.t(y,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 o=(c,l)=>{const u=this.services.backendConnector.state[`${c}|${l}`];return u===-1||u===0||u===2};if(n.precheck){const c=n.precheck(this,o);if(c!==void 0)return c}return!!(this.hasResourceBundle(r,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||o(r,e)&&(!i||o(s,e)))}loadNamespaces(e,n){const r=gr();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=gr();ne(e)&&(e=[e]);const i=this.options.preload||[],s=e.filter(o=>i.indexOf(o)<0&&this.services.languageUtils.isSupportedCode(o));return s.length?(this.options.preload=i.concat(s),this.loadResources(o=>{r.resolve(),n&&n(o)}),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 wu(Su());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 Nr(e,n)}cloneInstance(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:vi;const r=e.forkResourceStore;r&&delete e.forkResourceStore;const i={...this.options,...e,isClone:!0},s=new Nr(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,u)=>(l[u]={...this.store.data[u]},Object.keys(l[u]).reduce((p,h)=>(p[h]={...l[u][h]},p),{})),{});s.store=new yu(c,i),s.services.resourceStore=s.store}return s.translator=new Di(s.services,i),s.translator.on("*",function(c){for(var l=arguments.length,u=new Array(l>1?l-1:0),p=1;p<l;p++)u[p-1]=arguments[p];s.emit(c,...u)}),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 Y=Nr.createInstance();Y.createInstance=Nr.createInstance;Y.createInstance;Y.dir;Y.init;Y.loadResources;Y.reloadResources;Y.use;Y.changeLanguage;Y.getFixedT;const fe=Y.t;Y.exists;Y.setDefaultNamespace;Y.hasLoadedNamespace;Y.loadNamespaces;Y.loadLanguages;const Yt=a.z.object({start:a.z.number(),limit:a.z.number(),length:a.z.number()}),Mc=a.z.object({created_at:a.z.string(),updated_at:a.z.string()}),Fp=a.z.object({email:a.z.string().optional(),email_verified:a.z.boolean().optional(),name:a.z.string().optional(),username:a.z.string().optional(),given_name:a.z.string().optional(),phone_number:a.z.string().optional(),phone_verified:a.z.boolean().optional(),family_name:a.z.string().optional()}).catchall(a.z.any()),Hp=a.z.object({connection:a.z.string(),user_id:a.z.string(),provider:a.z.string(),isSocial:a.z.boolean(),access_token:a.z.string().optional(),access_token_secret:a.z.string().optional(),refresh_token:a.z.string().optional(),profileData:Fp.optional()}),Ls=a.z.object({email:a.z.string().optional(),username:a.z.string().optional(),given_name:a.z.string().optional(),family_name:a.z.string().optional(),nickname:a.z.string().optional(),name:a.z.string().optional(),picture:a.z.string().optional(),locale:a.z.string().optional(),linked_to:a.z.string().optional(),profileData:a.z.string().optional(),user_id:a.z.string().optional(),app_metadata:a.z.any().default({}).optional(),user_metadata:a.z.any().default({}).optional()}),Fi=Ls.extend({email_verified:a.z.boolean().default(!1),verify_email:a.z.boolean().optional(),last_ip:a.z.string().optional(),last_login:a.z.string().optional(),user_id:a.z.string().optional(),provider:a.z.string().default("email"),connection:a.z.string().default("email"),is_social:a.z.boolean().optional()}),qc=a.z.object({...Fi.shape,...Mc.shape,user_id:a.z.string(),is_social:a.z.boolean(),email:a.z.string(),login_count:a.z.number(),identities:a.z.array(Hp).optional()}),vt=qc,jm=Ls.extend({email:a.z.string(),login_count:a.z.number(),multifactor:a.z.array(a.z.string()).optional(),last_ip:a.z.string().optional(),last_login:a.z.string().optional(),user_id:a.z.string()}).catchall(a.z.any()),Om="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let Bm=(t=21)=>{let e="",n=crypto.getRandomValues(new Uint8Array(t));for(;t--;)e+=Om[n[t]&63];return e};const Kp=a.z.object({audience:a.z.string().optional(),recipient:a.z.string().optional(),createUpnClaim:a.z.boolean().optional(),mapUnknownClaimsAsIs:a.z.boolean().optional(),passthroughClaimsWithNoMapping:a.z.boolean().optional(),mapIdentities:a.z.boolean().optional(),signatureAlgorithm:a.z.string().optional(),digestAlgorithm:a.z.string().optional(),issuer:a.z.string().optional(),destination:a.z.string().optional(),lifetimeInSeconds:a.z.number().optional(),signResponse:a.z.boolean().optional(),nameIdentifierFormat:a.z.string().optional(),nameIdentifierProbes:a.z.array(a.z.string()).optional(),authnContextClassRef:a.z.string().optional(),mappings:a.z.record(a.z.string()).optional()}),Hi=a.z.object({id:a.z.string(),name:a.z.string(),callbacks:a.z.array(a.z.string()).default([]).optional().openapi({description:"Comma-separated list of URLs whitelisted to use as a callback to the client after authentication."}),allowed_origins:a.z.array(a.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:a.z.array(a.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:a.z.array(a.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:a.z.array(a.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:a.z.object({samlp:Kp.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:a.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:a.z.string().default(()=>Bm()).optional(),disable_sign_ups:a.z.boolean().optional().default(!1).openapi({description:"Prevents users from signing up using the hosted login page. This is not available in auth0"})}),on=a.z.object({created_at:a.z.string().transform(t=>t===null?"":t),updated_at:a.z.string().transform(t=>t===null?"":t),...Hi.shape});var fn=(t=>(t.TOKEN="token",t.TOKEN_ID_TOKEN="token id_token",t.CODE="code",t))(fn||{}),Wt=(t=>(t.QUERY="query",t.FRAGMENT="fragment",t.FORM_POST="form_post",t.WEB_MESSAGE="web_message",t.SAML_POST="saml_post",t))(Wt||{}),Us=(t=>(t.S256="S256",t.Plain="plain",t))(Us||{});const Dc=a.z.object({client_id:a.z.string(),vendor_id:a.z.string().optional(),act_as:a.z.string().optional(),response_type:a.z.nativeEnum(fn).optional(),response_mode:a.z.nativeEnum(Wt).optional(),redirect_uri:a.z.string().optional(),audience:a.z.string().optional(),state:a.z.string().optional(),nonce:a.z.string().optional(),scope:a.z.string().optional(),prompt:a.z.string().optional(),code_challenge_method:a.z.nativeEnum(Us).optional(),code_challenge:a.z.string().optional(),username:a.z.string().optional(),ui_locales:a.z.string().optional()}),pa=a.z.object({colors:a.z.object({primary:a.z.string(),page_background:a.z.object({type:a.z.string().optional(),start:a.z.string().optional(),end:a.z.string().optional(),angle_deg:a.z.number().optional()}).optional()}).optional(),logo_url:a.z.string().optional(),favicon_url:a.z.string().optional(),font:a.z.object({url:a.z.string()}).optional()}),Ki=a.z.object({id:a.z.string().optional(),name:a.z.string(),strategy:a.z.string(),options:a.z.object({kid:a.z.string().optional(),team_id:a.z.string().optional(),realms:a.z.string().optional(),client_id:a.z.string().optional(),client_secret:a.z.string().optional(),app_secret:a.z.string().optional(),scope:a.z.string().optional(),authorization_endpoint:a.z.string().default("").optional(),token_endpoint:a.z.string().default("").optional(),userinfo_endpoint:a.z.string().default("").optional(),jwks_uri:a.z.string().default("").optional(),discovery_url:a.z.string().default("").optional(),issuer:a.z.string().default("").optional()}).default({}).optional(),enabled_clients:a.z.array(a.z.string()).default([]).optional(),response_type:a.z.custom().optional(),response_mode:a.z.custom().optional()}),Mt=a.z.object({id:a.z.string(),created_at:a.z.string().transform(t=>t===null?"":t),updated_at:a.z.string().transform(t=>t===null?"":t)}).extend(Ki.shape),Wi=a.z.object({name:a.z.string(),audience:a.z.string(),sender_email:a.z.string().email(),sender_name:a.z.string(),support_url:a.z.string().url().optional(),logo:a.z.string().url().optional(),primary_color:a.z.string().optional(),secondary_color:a.z.string().optional(),language:a.z.string().optional(),id:a.z.string().optional()}),Rn=a.z.object({created_at:a.z.string().transform(t=>t===null?"":t),updated_at:a.z.string().transform(t=>t===null?"":t),...Wi.shape,id:a.z.string()}),Wp=a.z.object({logoUrl:a.z.string(),loginBackgroundImage:a.z.string().nullish(),style:a.z.object({primaryColor:a.z.string(),buttonTextColor:a.z.string(),primaryHoverColor:a.z.string()}),supportEmail:a.z.string().nullable(),supportUrl:a.z.string().nullable(),name:a.z.string(),showGreyishBackground:a.z.boolean().optional(),termsAndConditionsUrl:a.z.string().nullable(),companyName:a.z.string().optional(),checkoutHideSocial:a.z.boolean().optional(),siteUrl:a.z.string().nullable(),manageSubscriptionsUrl:a.z.string().optional()}),Tm=a.z.object({domain:a.z.string(),dkim_private_key:a.z.string().optional(),dkim_public_key:a.z.string().optional(),email_api_key:a.z.string().optional(),email_service:a.z.string().optional()});a.z.object({...on.shape,domains:a.z.array(Tm),tenant:Rn,connections:a.z.array(Mt)});const Gp=a.z.enum(["password_reset","email_verification","otp","authorization_code","oauth2_state","ticket"]),Jp=a.z.object({code_id:a.z.string().openapi({description:"The code that will be used in for instance an email verification flow"}),login_id:a.z.string().openapi({description:"The id of the login session that the code is connected to"}),connection_id:a.z.string().optional().openapi({description:"The connection that the code is connected to"}),code_type:Gp,code_verifier:a.z.string().optional().openapi({description:"The code verifier used in PKCE in outbound flows"}),expires_at:a.z.string(),used_at:a.z.string().optional(),user_id:a.z.string().optional()}),Pm=a.z.object({...Jp.shape,created_at:a.z.string()}),Zp=a.z.object({domain:a.z.string(),dkim_private_key:a.z.string().optional(),dkim_public_key:a.z.string().optional(),email_api_key:a.z.string().optional(),email_service:a.z.string().optional()}),Rm=Mc.extend({...Zp.shape,id:a.z.string()}),Gi=a.z.object({trigger_id:a.z.enum(["pre-user-signup","post-user-registration","post-user-login"]),enabled:a.z.boolean().default(!1),url:a.z.string(),hook_id:a.z.string().optional(),synchronous:a.z.boolean().default(!1),priority:a.z.number().optional()}),Tn=Gi.extend({...Mc.shape,hook_id:a.z.string()}),Fc=a.z.object({alg:a.z.enum(["RS256","RS384","RS512","ES256","ES384","ES512","HS256","HS384","HS512"]),e:a.z.string(),kid:a.z.string(),kty:a.z.enum(["RSA","EC","oct"]),n:a.z.string(),x5t:a.z.string().optional(),x5c:a.z.array(a.z.string()).optional(),use:a.z.enum(["sig","enc"]).optional()}),Yp=a.z.object({keys:a.z.array(Fc)}),fa=a.z.object({issuer:a.z.string(),authorization_endpoint:a.z.string(),token_endpoint:a.z.string(),device_authorization_endpoint:a.z.string(),userinfo_endpoint:a.z.string(),mfa_challenge_endpoint:a.z.string(),jwks_uri:a.z.string(),registration_endpoint:a.z.string(),revocation_endpoint:a.z.string(),scopes_supported:a.z.array(a.z.string()),response_types_supported:a.z.array(a.z.string()),code_challenge_methods_supported:a.z.array(a.z.string()),response_modes_supported:a.z.array(a.z.string()),subject_types_supported:a.z.array(a.z.string()),id_token_signing_alg_values_supported:a.z.array(a.z.string()),token_endpoint_auth_methods_supported:a.z.array(a.z.string()),claims_supported:a.z.array(a.z.string()),request_uri_parameter_supported:a.z.boolean(),request_parameter_supported:a.z.boolean(),token_endpoint_auth_signing_alg_values_supported:a.z.array(a.z.string())}),Xp=a.z.object({auth0Client:a.z.string().optional(),authParams:Dc,expires_at:a.z.string(),deleted_at:a.z.string().optional(),ip:a.z.string().optional(),useragent:a.z.string().optional()}).openapi({description:"This represents a login sesion"}),Lm=a.z.object({...Xp.shape,login_id:a.z.string().openapi({description:"This is is used as the state in the universal login"}),created_at:a.z.string(),updated_at:a.z.string()});var me=(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))(me||{});const Um=a.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"]),Qp=a.z.object({name:a.z.string(),version:a.z.string(),env:a.z.object({node:a.z.string().optional()}).optional()}),Ji=a.z.object({type:Um,date:a.z.string(),description:a.z.string().optional(),log_id:a.z.string().optional(),_id:a.z.string().optional(),ip:a.z.string(),user_agent:a.z.string(),details:a.z.any().optional(),isMobile:a.z.boolean(),user_id:a.z.string().optional(),user_name:a.z.string().optional(),connection:a.z.string().optional(),connection_id:a.z.string().optional(),client_id:a.z.string().optional(),client_name:a.z.string().optional(),audience:a.z.string().optional(),scope:a.z.array(a.z.string()).optional(),strategy:a.z.string().optional(),strategy_type:a.z.string().optional(),hostname:a.z.string().optional(),auth0_client:Qp.optional()}),ef=a.z.object({user_id:a.z.string(),password:a.z.string(),algorithm:a.z.enum(["bcrypt","argon2id"]).default("argon2id")}),Vm=a.z.object({...ef.shape,created_at:a.z.string(),updated_at:a.z.string()}),tf=a.z.object({initial_user_agent:a.z.string().describe("First user agent of the device from which this user logged in"),initial_ip:a.z.string().describe("First IP address associated with this session"),initial_asn:a.z.string().describe("First autonomous system number associated with this session"),last_user_agent:a.z.string().describe("Last user agent of the device from which this user logged in"),last_ip:a.z.string().describe("Last IP address from which this user logged in"),last_asn:a.z.string().describe("Last autonomous system number from which this user logged in")}),nf=a.z.object({id:a.z.string(),revoked_at:a.z.string().optional(),used_at:a.z.string().optional(),user_id:a.z.string().describe("The user ID associated with the session"),expires_at:a.z.string().optional(),idle_expires_at:a.z.string().optional(),device:tf.describe("Metadata related to the device used in the session"),clients:a.z.array(a.z.string()).describe("List of client details for the session")}),Vs=a.z.object({created_at:a.z.string(),updated_at:a.z.string(),authenticated_at:a.z.string(),last_interaction_at:a.z.string(),...nf.shape}),ha=a.z.object({kid:a.z.string().openapi({description:"The key id of the signing key"}),cert:a.z.string().openapi({description:"The public certificate of the signing key"}),fingerprint:a.z.string().openapi({description:"The cert fingerprint"}),thumbprint:a.z.string().openapi({description:"The cert thumbprint"}),pkcs7:a.z.string().optional().openapi({description:"The private key in pkcs7 format"}),current:a.z.boolean().optional().openapi({description:"True if the key is the current key"}),next:a.z.boolean().optional().openapi({description:"True if the key is the next key"}),previous:a.z.boolean().optional().openapi({description:"True if the key is the previous key"}),current_since:a.z.string().optional().openapi({description:"The date and time when the key became the current key"}),current_until:a.z.string().optional().openapi({description:"The date and time when the current key was rotated"}),revoked:a.z.boolean().optional().openapi({description:"True if the key is revoked"}),revoked_at:a.z.string().optional().openapi({description:"The date and time when the key was revoked"})});var kr=(t=>(t.RefreshToken="refresh_token",t.AuthorizationCode="authorization_code",t.ClientCredential="client_credentials",t.Passwordless="passwordless",t.Password="password",t))(kr||{});const rf=a.z.object({access_token:a.z.string(),id_token:a.z.string().optional(),scope:a.z.string().optional(),state:a.z.string().optional(),refresh_token:a.z.string().optional(),token_type:a.z.string(),expires_in:a.z.number()});a.z.object({code:a.z.string(),state:a.z.string().optional()});const sf=a.z.object({button_border_radius:a.z.number(),button_border_weight:a.z.number(),buttons_style:a.z.enum(["pill"]),input_border_radius:a.z.number(),input_border_weight:a.z.number(),inputs_style:a.z.enum(["pill"]),show_widget_shadow:a.z.boolean(),widget_border_weight:a.z.number(),widget_corner_radius:a.z.number()}),of=a.z.object({base_focus_color:a.z.string(),base_hover_color:a.z.string(),body_text:a.z.string(),captcha_widget_theme:a.z.enum(["auto"]),error:a.z.string(),header:a.z.string(),icons:a.z.string(),input_background:a.z.string(),input_border:a.z.string(),input_filled_text:a.z.string(),input_labels_placeholders:a.z.string(),links_focused_components:a.z.string(),primary_button:a.z.string(),primary_button_label:a.z.string(),secondary_button_border:a.z.string(),secondary_button_label:a.z.string(),success:a.z.string(),widget_background:a.z.string(),widget_border:a.z.string()}),rn=a.z.object({bold:a.z.boolean(),size:a.z.number()}),af=a.z.object({body_text:rn,buttons_text:rn,font_url:a.z.string(),input_labels:rn,links:rn,links_style:a.z.enum(["normal"]),reference_text_size:a.z.number(),subtitle:rn,title:rn}),cf=a.z.object({background_color:a.z.string(),background_image_url:a.z.string(),page_layout:a.z.enum(["center"])}),lf=a.z.object({header_text_alignment:a.z.enum(["center"]),logo_height:a.z.number(),logo_position:a.z.enum(["center"]),logo_url:a.z.string(),social_buttons_layout:a.z.enum(["bottom"])}),uf=a.z.object({borders:sf,colors:of,displayName:a.z.string(),fonts:af,page_background:cf,widget:lf}),Mm=uf.extend({themeId:a.z.string()}),Ii=a.z.object({universal_login_experience:a.z.enum(["new","classic"]).default("new"),identifier_first:a.z.boolean().default(!0),password_first:a.z.boolean().default(!1),webauthn_platform_first_factor:a.z.boolean()}),Ci=a.z.object({name:a.z.string(),enabled:a.z.boolean().optional().default(!0),default_from_address:a.z.string().optional(),credentials:a.z.union([a.z.object({accessKeyId:a.z.string(),secretAccessKey:a.z.string(),region:a.z.string()}),a.z.object({smtp_host:a.z.array(a.z.string()),smtp_port:a.z.number(),smtp_user:a.z.string(),smtp_pass:a.z.string()}),a.z.object({api_key:a.z.string(),domain:a.z.string().optional()}),a.z.object({connectionString:a.z.string()}),a.z.object({tenantId:a.z.string(),clientId:a.z.string(),clientSecret:a.z.string()})]),settings:a.z.object({}).optional()}),Hc=a.z.object({id:a.z.string(),session_id:a.z.string(),user_id:a.z.string(),client_id:a.z.string(),expires_at:a.z.string().optional(),idle_expires_at:a.z.string().optional(),last_exchanged_at:a.z.string().optional(),device:tf,resource_servers:a.z.array(a.z.object({audience:a.z.string(),scopes:a.z.string()})),rotating:a.z.boolean()}),qm=a.z.object({created_at:a.z.string(),...Hc.shape});function Dm(t){const[e,n]=t.split("|");if(!e||!n)throw new Error(`Invalid user_id: ${t}`);return{connection:e,id:n}}const Fm=new a.OpenAPIHono().openapi(a.createRoute({tags:["branding"],method:"get",path:"/",request:{headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:pa}},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(a.createRoute({tags:["branding"],method:"patch",path:"/",request:{headers:a.z.object({"tenant-id":a.z.string()}),body:{content:{"application/json":{schema:a.z.object(pa.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 O=class extends Error{constructor(e=500,n){super(n==null?void 0:n.message,{cause:n==null?void 0:n.cause});ee(this,"res");ee(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})}},Zi=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function df(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function Hm(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 Km(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 pf={exports:{}};const Wm={},Gm=Object.freeze(Object.defineProperty({__proto__:null,default:Wm},Symbol.toStringTag,{value:"Module"})),Jm=Hm(Gm);(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 Zg=="function"&&t&&t.exports?t.exports=n():(e.dcodeIO=e.dcodeIO||{}).bcrypt=n()})(zr,function(){var e={},n=null;function i(C){if(t&&t.exports)try{return Qg.randomBytes(C)}catch{}try{var E;return(self.crypto||self.msCrypto).getRandomValues(E=new Uint32Array(C)),Array.prototype.slice.call(E)}catch{}if(!n)throw Error("Neither WebCryptoAPI nor a crypto module is available. Use bcrypt.setRandomFallback to set an alternative");return n(C)}var r=!1;try{i(1),r=!0}catch{}n=null,e.setRandomFallback=function(C){n=C},e.genSaltSync=function(C,E){if(C=C||m,typeof C!="number")throw Error("Illegal arguments: "+typeof C+", "+typeof E);C<4?C=4:C>31&&(C=31);var A=[];return A.push("$2a$"),C<10&&A.push("0"),A.push(C.toString()),A.push("$"),A.push(g(i(h),h)),A.join("")},e.genSalt=function(C,E,A){if(typeof E=="function"&&(A=E,E=void 0),typeof C=="function"&&(A=C,C=void 0),typeof C>"u")C=m;else if(typeof C!="number")throw Error("illegal arguments: "+typeof C);function w(v){o(function(){try{v(null,e.genSaltSync(C))}catch(z){v(z)}})}if(A){if(typeof A!="function")throw Error("Illegal callback: "+typeof A);w(A)}else return new Promise(function(v,z){w(function(R,Y){if(R){z(R);return}v(Y)})})},e.hashSync=function(C,E){if(typeof E>"u"&&(E=m),typeof E=="number"&&(E=e.genSaltSync(E)),typeof C!="string"||typeof E!="string")throw Error("Illegal arguments: "+typeof C+", "+typeof E);return Ke(C,E)},e.hash=function(C,E,A,w){function v(z){typeof C=="string"&&typeof E=="number"?e.genSalt(E,function(R,Y){Ke(C,Y,z,w)}):typeof C=="string"&&typeof E=="string"?Ke(C,E,z,w):o(z.bind(this,Error("Illegal arguments: "+typeof C+", "+typeof E)))}if(A){if(typeof A!="function")throw Error("Illegal callback: "+typeof A);v(A)}else return new Promise(function(z,R){v(function(Y,W){if(Y){R(Y);return}z(W)})})};function s(C,E){for(var A=0,w=0,v=0,z=C.length;v<z;++v)C.charCodeAt(v)===E.charCodeAt(v)?++A:++w;return A<0?!1:w===0}e.compareSync=function(C,E){if(typeof C!="string"||typeof E!="string")throw Error("Illegal arguments: "+typeof C+", "+typeof E);return E.length!==60?!1:s(e.hashSync(C,E.substr(0,E.length-31)),E)},e.compare=function(C,E,A,w){function v(z){if(typeof C!="string"||typeof E!="string"){o(z.bind(this,Error("Illegal arguments: "+typeof C+", "+typeof E)));return}if(E.length!==60){o(z.bind(this,null,!1));return}e.hash(C,E.substr(0,29),function(R,Y){R?z(R):z(null,s(Y,E))},w)}if(A){if(typeof A!="function")throw Error("Illegal callback: "+typeof A);v(A)}else return new Promise(function(z,R){v(function(Y,W){if(Y){R(Y);return}z(W)})})},e.getRounds=function(C){if(typeof C!="string")throw Error("Illegal arguments: "+typeof C);return parseInt(C.split("$")[2],10)},e.getSalt=function(C){if(typeof C!="string")throw Error("Illegal arguments: "+typeof C);if(C.length!==60)throw Error("Illegal hash length: "+C.length+" != 60");return C.substring(0,29)};var o=typeof process<"u"&&process&&typeof process.nextTick=="function"?typeof setImmediate=="function"?setImmediate:process.nextTick:setTimeout;function c(C){var E=[],A=0;return k.encodeUTF16toUTF8(function(){return A>=C.length?null:C.charCodeAt(A++)},function(w){E.push(w)}),E}var l="./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),u=[-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 g(C,E){var A=0,w=[],v,z;if(E<=0||E>C.length)throw Error("Illegal len: "+E);for(;A<E;){if(v=C[A++]&255,w.push(l[v>>2&63]),v=(v&3)<<4,A>=E){w.push(l[v&63]);break}if(z=C[A++]&255,v|=z>>4&15,w.push(l[v&63]),v=(z&15)<<2,A>=E){w.push(l[v&63]);break}z=C[A++]&255,v|=z>>6&3,w.push(l[v&63]),w.push(l[z&63])}return w.join("")}function _(C,E){var A=0,w=C.length,v=0,z=[],R,Y,W,ne,ae,D;if(E<=0)throw Error("Illegal len: "+E);for(;A<w-1&&v<E&&(D=C.charCodeAt(A++),R=D<u.length?u[D]:-1,D=C.charCodeAt(A++),Y=D<u.length?u[D]:-1,!(R==-1||Y==-1||(ae=R<<2>>>0,ae|=(Y&48)>>4,z.push(p(ae)),++v>=E||A>=w)||(D=C.charCodeAt(A++),W=D<u.length?u[D]:-1,W==-1)||(ae=(Y&15)<<4>>>0,ae|=(W&60)>>2,z.push(p(ae)),++v>=E||A>=w)));)D=C.charCodeAt(A++),ne=D<u.length?u[D]:-1,ae=(W&3)<<6>>>0,ae|=ne,z.push(p(ae)),++v;var Ie=[];for(A=0;A<v;A++)Ie.push(z[A].charCodeAt(0));return Ie}var k=function(){var C={};return C.MAX_CODEPOINT=1114111,C.encodeUTF8=function(E,A){var w=null;for(typeof E=="number"&&(w=E,E=function(){return null});w!==null||(w=E())!==null;)w<128?A(w&127):w<2048?(A(w>>6&31|192),A(w&63|128)):w<65536?(A(w>>12&15|224),A(w>>6&63|128),A(w&63|128)):(A(w>>18&7|240),A(w>>12&63|128),A(w>>6&63|128),A(w&63|128)),w=null},C.decodeUTF8=function(E,A){for(var w,v,z,R,Y=function(W){W=W.slice(0,W.indexOf(null));var ne=Error(W.toString());throw ne.name="TruncatedError",ne.bytes=W,ne};(w=E())!==null;)if(!(w&128))A(w);else if((w&224)===192)(v=E())===null&&Y([w,v]),A((w&31)<<6|v&63);else if((w&240)===224)((v=E())===null||(z=E())===null)&&Y([w,v,z]),A((w&15)<<12|(v&63)<<6|z&63);else if((w&248)===240)((v=E())===null||(z=E())===null||(R=E())===null)&&Y([w,v,z,R]),A((w&7)<<18|(v&63)<<12|(z&63)<<6|R&63);else throw RangeError("Illegal starting byte: "+w)},C.UTF16toUTF8=function(E,A){for(var w,v=null;(w=v!==null?v:E())!==null;){if(w>=55296&&w<=57343&&(v=E())!==null&&v>=56320&&v<=57343){A((w-55296)*1024+v-56320+65536),v=null;continue}A(w)}v!==null&&A(v)},C.UTF8toUTF16=function(E,A){var w=null;for(typeof E=="number"&&(w=E,E=function(){return null});w!==null||(w=E())!==null;)w<=65535?A(w):(w-=65536,A((w>>10)+55296),A(w%1024+56320)),w=null},C.encodeUTF16toUTF8=function(E,A){C.UTF16toUTF8(E,function(w){C.encodeUTF8(w,A)})},C.decodeUTF8toUTF16=function(E,A){C.decodeUTF8(E,function(w){C.UTF8toUTF16(w,A)})},C.calculateCodePoint=function(E){return E<128?1:E<2048?2:E<65536?3:4},C.calculateUTF8=function(E){for(var A,w=0;(A=E())!==null;)w+=C.calculateCodePoint(A);return w},C.calculateUTF16asUTF8=function(E){var A=0,w=0;return C.UTF16toUTF8(E,function(v){++A,w+=C.calculateCodePoint(v)}),[A,w]},C}();Date.now=Date.now||function(){return+new Date};var h=16,m=10,b=16,S=100,O=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],T=[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],K=[1332899944,1700884034,1701343084,1684370003,1668446532,1869963892];function ce(C,E,A,w){var v,z=C[E],R=C[E+1];return z^=A[0],v=w[z>>>24],v+=w[256|z>>16&255],v^=w[512|z>>8&255],v+=w[768|z&255],R^=v^A[1],v=w[R>>>24],v+=w[256|R>>16&255],v^=w[512|R>>8&255],v+=w[768|R&255],z^=v^A[2],v=w[z>>>24],v+=w[256|z>>16&255],v^=w[512|z>>8&255],v+=w[768|z&255],R^=v^A[3],v=w[R>>>24],v+=w[256|R>>16&255],v^=w[512|R>>8&255],v+=w[768|R&255],z^=v^A[4],v=w[z>>>24],v+=w[256|z>>16&255],v^=w[512|z>>8&255],v+=w[768|z&255],R^=v^A[5],v=w[R>>>24],v+=w[256|R>>16&255],v^=w[512|R>>8&255],v+=w[768|R&255],z^=v^A[6],v=w[z>>>24],v+=w[256|z>>16&255],v^=w[512|z>>8&255],v+=w[768|z&255],R^=v^A[7],v=w[R>>>24],v+=w[256|R>>16&255],v^=w[512|R>>8&255],v+=w[768|R&255],z^=v^A[8],v=w[z>>>24],v+=w[256|z>>16&255],v^=w[512|z>>8&255],v+=w[768|z&255],R^=v^A[9],v=w[R>>>24],v+=w[256|R>>16&255],v^=w[512|R>>8&255],v+=w[768|R&255],z^=v^A[10],v=w[z>>>24],v+=w[256|z>>16&255],v^=w[512|z>>8&255],v+=w[768|z&255],R^=v^A[11],v=w[R>>>24],v+=w[256|R>>16&255],v^=w[512|R>>8&255],v+=w[768|R&255],z^=v^A[12],v=w[z>>>24],v+=w[256|z>>16&255],v^=w[512|z>>8&255],v+=w[768|z&255],R^=v^A[13],v=w[R>>>24],v+=w[256|R>>16&255],v^=w[512|R>>8&255],v+=w[768|R&255],z^=v^A[14],v=w[z>>>24],v+=w[256|z>>16&255],v^=w[512|z>>8&255],v+=w[768|z&255],R^=v^A[15],v=w[R>>>24],v+=w[256|R>>16&255],v^=w[512|R>>8&255],v+=w[768|R&255],z^=v^A[16],C[E]=R^A[b+1],C[E+1]=z,C}function he(C,E){for(var A=0,w=0;A<4;++A)w=w<<8|C[E]&255,E=(E+1)%C.length;return{key:w,offp:E}}function ue(C,E,A){for(var w=0,v=[0,0],z=E.length,R=A.length,Y,W=0;W<z;W++)Y=he(C,w),w=Y.offp,E[W]=E[W]^Y.key;for(W=0;W<z;W+=2)v=ce(v,0,E,A),E[W]=v[0],E[W+1]=v[1];for(W=0;W<R;W+=2)v=ce(v,0,E,A),A[W]=v[0],A[W+1]=v[1]}function Le(C,E,A,w){for(var v=0,z=[0,0],R=A.length,Y=w.length,W,ne=0;ne<R;ne++)W=he(E,v),v=W.offp,A[ne]=A[ne]^W.key;for(v=0,ne=0;ne<R;ne+=2)W=he(C,v),v=W.offp,z[0]^=W.key,W=he(C,v),v=W.offp,z[1]^=W.key,z=ce(z,0,A,w),A[ne]=z[0],A[ne+1]=z[1];for(ne=0;ne<Y;ne+=2)W=he(C,v),v=W.offp,z[0]^=W.key,W=he(C,v),v=W.offp,z[1]^=W.key,z=ce(z,0,A,w),w[ne]=z[0],w[ne+1]=z[1]}function st(C,E,A,w,v){var z=K.slice(),R=z.length,Y;if(A<4||A>31)if(Y=Error("Illegal number of rounds (4-31): "+A),w){o(w.bind(this,Y));return}else throw Y;if(E.length!==h)if(Y=Error("Illegal salt length: "+E.length+" != "+h),w){o(w.bind(this,Y));return}else throw Y;A=1<<A>>>0;var W,ne,ae=0,D;Int32Array?(W=new Int32Array(O),ne=new Int32Array(T)):(W=O.slice(),ne=T.slice()),Le(E,C,W,ne);function Ie(){if(v&&v(ae/A),ae<A)for(var fe=Date.now();ae<A&&(ae=ae+1,ue(C,W,ne),ue(E,W,ne),!(Date.now()-fe>S)););else{for(ae=0;ae<64;ae++)for(D=0;D<R>>1;D++)ce(z,D<<1,W,ne);var xe=[];for(ae=0;ae<R;ae++)xe.push((z[ae]>>24&255)>>>0),xe.push((z[ae]>>16&255)>>>0),xe.push((z[ae]>>8&255)>>>0),xe.push((z[ae]&255)>>>0);if(w){w(null,xe);return}else return xe}w&&o(Ie)}if(typeof w<"u")Ie();else for(var Qt;;)if(typeof(Qt=Ie())<"u")return Qt||[]}function Ke(C,E,A,w){var v;if(typeof C!="string"||typeof E!="string")if(v=Error("Invalid string / salt: Not a string"),A){o(A.bind(this,v));return}else throw v;var z,R;if(E.charAt(0)!=="$"||E.charAt(1)!=="2")if(v=Error("Invalid salt version: "+E.substring(0,2)),A){o(A.bind(this,v));return}else throw v;if(E.charAt(2)==="$")z="\0",R=3;else{if(z=E.charAt(2),z!=="a"&&z!=="b"&&z!=="y"||E.charAt(3)!=="$")if(v=Error("Invalid salt revision: "+E.substring(2,4)),A){o(A.bind(this,v));return}else throw v;R=4}if(E.charAt(R+2)>"$")if(v=Error("Missing salt rounds"),A){o(A.bind(this,v));return}else throw v;var Y=parseInt(E.substring(R,R+1),10)*10,W=parseInt(E.substring(R+1,R+2),10),ne=Y+W,ae=E.substring(R+3,R+25);C+=z>="a"?"\0":"";var D=c(C),Ie=_(ae,h);function Qt(fe){var xe=[];return xe.push("$2"),z>="a"&&xe.push(z),xe.push("$"),ne<10&&xe.push("0"),xe.push(ne.toString()),xe.push("$"),xe.push(g(Ie,Ie.length)),xe.push(g(fe,K.length*4-1)),xe.join("")}if(typeof A>"u")return Qt(st(D,Ie,ne));st(D,Ie,ne,function(fe,xe){fe?A(fe,null):A(null,Qt(xe))},w)}return e.encodeBase64=g,e.decodeBase64=_,e})})(Ip);var e_=Ip.exports;const vc=Ap(e_),t_="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let n_=t=>crypto.getRandomValues(new Uint8Array(t)),i_=(t,e,n)=>{let i=(2<<Math.log2(t.length-1))-1,r=-~(1.6*i*e/t.length);return(s=e)=>{let o="";for(;;){let c=n(r),l=r;for(;l--;)if(o+=t[c[l]&i]||"",o.length===s)return o}}},r_=(t,e=21)=>i_(t,e,n_),De=(t=21)=>{let e="",n=crypto.getRandomValues(new Uint8Array(t));for(;t--;)e+=t_[n[t]&63];return e};const s_=24;function wc(){return r_("0123456789abcdef",s_)()}function ql(t){if(!t.includes("|"))return console.error("Invalid user_id format"),t;const[,e]=t.split("|");return e}async function Ep(t,e,n){return(await t.list(e,{page:0,per_page:10,include_totals:!1,q:`email:${n}`})).users}async function bc({userAdapter:t,tenant_id:e,email:n,provider:i}){const{users:r}=await t.list(e,{page:0,per_page:10,include_totals:!1,q:`email:${n} provider:${i}`});return r.length>1&&console.error("More than one user found for same email and provider"),r[0]||null}async function vs({userAdapter:t,tenant_id:e,email:n}){var c;const{users:i}=await t.list(e,{page:0,per_page:10,include_totals:!1,q:`email:${n}`}),r=i.filter(l=>!(l.provider==="auth2"&&!l.email_verified));if(r.length===0)return;const s=r.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 o=await t.get(e,(c=r[0])==null?void 0:c.linked_to);if(!o)throw new Error("Primary account not found");return o}async function ws({userAdapter:t,tenant_id:e,email:n,provider:i}){const r=await bc({userAdapter:t,tenant_id:e,email:n,provider:i});return r?r.linked_to?t.get(e,r.linked_to):r:null}const dn=a.z.object({page:a.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:a.z.string().min(1).optional().default("10").transform(t=>parseInt(t,10)).openapi({description:"The number of items per page"}),include_totals:a.z.string().optional().default("false").transform(t=>t==="true").openapi({description:"If the total number of items should be included in the response"}),sort:a.z.string().regex(/^.+:(-1|1)$/).optional().openapi({description:"A property that should have the format 'string:-1' or 'string:1'"}),q:a.z.string().optional().openapi({description:"A lucene query string used to filter the results"})});function Jn(t){if(!t)return;const[e,n]=t.split(":"),i=n==="1"?"asc":"desc";if(!(!e||!i))return{sort_by:e,sort_order:i}}function be(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:[]}}var o_={deno:"Deno",bun:"Bun",workerd:"Cloudflare-Workers",node:"Node.js"},a_=()=>{var n,i;const t=globalThis;if(typeof navigator<"u"&&typeof navigator.userAgent=="string"){for(const[r,s]of Object.entries(o_))if(c_(s))return r}return typeof(t==null?void 0:t.EdgeRuntime)=="string"?"edge-light":(t==null?void 0:t.fastly)!==void 0?"fastly":((i=(n=t==null?void 0:t.process)==null?void 0:n.release)==null?void 0:i.name)==="node"?"node":"other"},c_=t=>navigator.userAgent.startsWith(t);function Ye(t,e){a_()==="workerd"&&t.executionCtx.waitUntil(e)}const Kl=Gt.extend({users:a.z.array(yt)}),l_=Gt.extend({sessions:a.z.array(ys)}),u_=new a.OpenAPIHono().openapi(a.createRoute({tags:["users"],method:"get",path:"/",request:{query:dn,headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:a.z.union([a.z.array(yt),Kl])}},description:"List of users"}}}),async t=>{const{page:e,per_page:n,include_totals:i,sort:r,q:s}=t.req.valid("query"),{"tenant-id":o}=t.req.valid("header");if(s!=null&&s.includes("identities.profileData.email")){const p=s.split("=")[1],_=(await t.env.data.users.list(o,{page:e,per_page:n,include_totals:i,q:`email:${p}`})).users.filter(m=>m.linked_to),[k]=_;if(!k)return t.json([]);const h=await t.env.data.users.get(o,k.linked_to);if(!h)throw new j(500,{message:"Primary account not found"});return t.json([yt.parse(h)])}const c=["-_exists_:linked_to"];s&&c.push(s);const l=await t.env.data.users.list(o,{page:e,per_page:n,include_totals:i,sort:Jn(r),q:c.join(" ")}),u=l.users.filter(p=>!p.linked_to);return i?t.json(Kl.parse({users:u,length:l.length,start:l.start,limit:l.limit})):t.json(a.z.array(yt).parse(u))}).openapi(a.createRoute({tags:["users"],method:"get",path:"/{user_id}",request:{headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({user_id:a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:yt}},description:"List of users"}}}),async t=>{const{user_id:e}=t.req.valid("param"),{"tenant-id":n}=t.req.valid("header"),i=await t.env.data.users.get(n,e);if(!i)throw new j(404);if(i.linked_to)throw new j(404,{message:"User is linked to another user"});return t.json(i)}).openapi(a.createRoute({tags:["users"],method:"delete",path:"/{user_id}",request:{headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({user_id:a.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 j(404);return t.text("OK")}).openapi(a.createRoute({tags:["users"],method:"post",path:"/",request:{headers:a.z.object({"tenant-id":a.z.string()}),body:{content:{"application/json":{schema:a.z.object({...xr.shape})}}}},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:yt}},description:"Status"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json");t.set("body",n);const{email:i}=n;if(!i)throw new j(400,{message:"Email is required"});const r=i.toLowerCase(),s=`${n.provider}|${n.user_id||wc()}`;try{const o=await t.env.data.users.create(e,{email:r,user_id:s,name:n.name||r,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",o.user_id);const c=be(t,{type:_e.SUCCESS_API_OPERATION,description:"User created"});Ye(t,t.env.data.logs.create(e,c));const l={...o,identities:[{connection:o.connection,provider:o.provider,user_id:ql(o.user_id),isSocial:o.is_social}]};return t.json(yt.parse(l),{status:201})}catch(o){throw o.message==="User already exists"?new j(409,{message:"User already exists"}):o}}).openapi(a.createRoute({tags:["users"],method:"patch",path:"/{user_id}",request:{headers:a.z.object({"tenant-id":a.z.string()}),body:{content:{"application/json":{schema:a.z.object({...xr.shape,verify_email:a.z.boolean(),password:a.z.string()}).partial()}}},params:a.z.object({user_id:a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{var u;const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),{user_id:i}=t.req.valid("param"),{verify_email:r,password:s,...o}=n,c=await t.env.data.users.get(e,i);if(!c)throw new j(404);if(o.email&&o.email!==c.email){const p=await Ep(t.env.data.users,e,o.email);if(p.length&&p.some(g=>g.user_id!==i))throw new j(409,{message:"Another user with the same email address already exists."})}if(c.linked_to)throw new j(404,{message:"User is linked to another user"});if(await t.env.data.users.update(e,i,o),s){const p=(u=c.identities)==null?void 0:u.find(g=>g.connection==="Username-Password-Authentication");if(!p)throw new j(400,{message:"User does not have a password identity"});await t.env.data.passwords.update(e,{user_id:`${p.provider}|${p.user_id}`,password:vc.hashSync(s,10),algorithm:"bcrypt"})}const l=await t.env.data.users.get(e,i);if(!l)throw new j(500);return t.json(l)}).openapi(a.createRoute({tags:["users"],method:"post",path:"/{user_id}/identities",request:{headers:a.z.object({"tenant-id":a.z.string()}),body:{content:{"application/json":{schema:a.z.union([a.z.object({link_with:a.z.string()}),a.z.object({user_id:a.z.string(),provider:a.z.string(),connection:a.z.string().optional()})])}}},params:a.z.object({user_id:a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:a.z.array(a.z.object({connection:a.z.string(),provider:a.z.string(),user_id:a.z.string(),isSocial:a.z.boolean()}))}},description:"Status"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),{user_id:i}=t.req.valid("param"),r="link_with"in n?n.link_with:n.user_id,s=await t.env.data.users.get(e,i);if(!s)throw new j(400,{message:"Linking an inexistent identity is not allowed."});await t.env.data.users.update(e,r,{linked_to:i});const o=await t.env.data.users.list(e,{page:0,per_page:10,include_totals:!1,q:`linked_to:${i}`}),c=[s,...o.users].map(l=>({connection:l.connection,provider:l.provider,user_id:ql(l.user_id),isSocial:l.is_social}));return t.json(c,{status:201})}).openapi(a.createRoute({tags:["users"],method:"delete",path:"/{user_id}/identities/{provider}/{linked_user_id}",request:{headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({user_id:a.z.string(),provider:a.z.string(),linked_user_id:a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:a.z.array(yt)}},description:"Status"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{user_id:n,provider:i,linked_user_id:r}=t.req.valid("param");await t.env.data.users.unlink(e,n,i,r);const s=await t.env.data.users.get(e,n);if(!s)throw new j(404);return t.json([yt.parse(s)])}).openapi(a.createRoute({tags:["users"],method:"get",path:"/{user_id}/sessions",request:{query:dn,headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({user_id:a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:a.z.union([a.z.array(ys),l_])}},description:"List of sessions"}}}),async t=>{const{user_id:e}=t.req.valid("param"),{include_totals:n}=t.req.valid("query"),{"tenant-id":i}=t.req.valid("header"),r=await t.env.data.sessions.list(i,{page:0,per_page:10,include_totals:!1,q:`user_id:${e}`});return n?t.json(r):t.json(r.sessions)});/*! *****************************************************************************
|
|
5
|
+
*/(function(e,n){typeof Km=="function"&&t&&t.exports?t.exports=n():(e.dcodeIO=e.dcodeIO||{}).bcrypt=n()})(Zi,function(){var e={},n=null;function r($){if(t&&t.exports)try{return Jm.randomBytes($)}catch{}try{var C;return(self.crypto||self.msCrypto).getRandomValues(C=new Uint32Array($)),Array.prototype.slice.call(C)}catch{}if(!n)throw Error("Neither WebCryptoAPI nor a crypto module is available. Use bcrypt.setRandomFallback to set an alternative");return n($)}var i=!1;try{r(1),i=!0}catch{}n=null,e.setRandomFallback=function($){n=$},e.genSaltSync=function($,C){if($=$||_,typeof $!="number")throw Error("Illegal arguments: "+typeof $+", "+typeof C);$<4?$=4:$>31&&($=31);var A=[];return A.push("$2a$"),$<10&&A.push("0"),A.push($.toString()),A.push("$"),A.push(h(r(f),f)),A.join("")},e.genSalt=function($,C,A){if(typeof C=="function"&&(A=C,C=void 0),typeof $=="function"&&(A=$,$=void 0),typeof $>"u")$=_;else if(typeof $!="number")throw Error("illegal arguments: "+typeof $);function k(b){o(function(){try{b(null,e.genSaltSync($))}catch(z){b(z)}})}if(A){if(typeof A!="function")throw Error("Illegal callback: "+typeof A);k(A)}else return new Promise(function(b,z){k(function(L,X){if(L){z(L);return}b(X)})})},e.hashSync=function($,C){if(typeof C>"u"&&(C=_),typeof C=="number"&&(C=e.genSaltSync(C)),typeof $!="string"||typeof C!="string")throw Error("Illegal arguments: "+typeof $+", "+typeof C);return We($,C)},e.hash=function($,C,A,k){function b(z){typeof $=="string"&&typeof C=="number"?e.genSalt(C,function(L,X){We($,X,z,k)}):typeof $=="string"&&typeof C=="string"?We($,C,z,k):o(z.bind(this,Error("Illegal arguments: "+typeof $+", "+typeof C)))}if(A){if(typeof A!="function")throw Error("Illegal callback: "+typeof A);b(A)}else return new Promise(function(z,L){b(function(X,W){if(X){L(X);return}z(W)})})};function s($,C){for(var A=0,k=0,b=0,z=$.length;b<z;++b)$.charCodeAt(b)===C.charCodeAt(b)?++A:++k;return A<0?!1:k===0}e.compareSync=function($,C){if(typeof $!="string"||typeof C!="string")throw Error("Illegal arguments: "+typeof $+", "+typeof C);return C.length!==60?!1:s(e.hashSync($,C.substr(0,C.length-31)),C)},e.compare=function($,C,A,k){function b(z){if(typeof $!="string"||typeof C!="string"){o(z.bind(this,Error("Illegal arguments: "+typeof $+", "+typeof C)));return}if(C.length!==60){o(z.bind(this,null,!1));return}e.hash($,C.substr(0,29),function(L,X){L?z(L):z(null,s(X,C))},k)}if(A){if(typeof A!="function")throw Error("Illegal callback: "+typeof A);b(A)}else return new Promise(function(z,L){b(function(X,W){if(X){L(X);return}z(W)})})},e.getRounds=function($){if(typeof $!="string")throw Error("Illegal arguments: "+typeof $);return parseInt($.split("$")[2],10)},e.getSalt=function($){if(typeof $!="string")throw Error("Illegal arguments: "+typeof $);if($.length!==60)throw Error("Illegal hash length: "+$.length+" != 60");return $.substring(0,29)};var o=typeof process<"u"&&process&&typeof process.nextTick=="function"?typeof setImmediate=="function"?setImmediate:process.nextTick:setTimeout;function c($){var C=[],A=0;return y.encodeUTF16toUTF8(function(){return A>=$.length?null:$.charCodeAt(A++)},function(k){C.push(k)}),C}var l="./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),u=[-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 h($,C){var A=0,k=[],b,z;if(C<=0||C>$.length)throw Error("Illegal len: "+C);for(;A<C;){if(b=$[A++]&255,k.push(l[b>>2&63]),b=(b&3)<<4,A>=C){k.push(l[b&63]);break}if(z=$[A++]&255,b|=z>>4&15,k.push(l[b&63]),b=(z&15)<<2,A>=C){k.push(l[b&63]);break}z=$[A++]&255,b|=z>>6&3,k.push(l[b&63]),k.push(l[z&63])}return k.join("")}function m($,C){var A=0,k=$.length,b=0,z=[],L,X,W,ie,ce,D;if(C<=0)throw Error("Illegal len: "+C);for(;A<k-1&&b<C&&(D=$.charCodeAt(A++),L=D<u.length?u[D]:-1,D=$.charCodeAt(A++),X=D<u.length?u[D]:-1,!(L==-1||X==-1||(ce=L<<2>>>0,ce|=(X&48)>>4,z.push(p(ce)),++b>=C||A>=k)||(D=$.charCodeAt(A++),W=D<u.length?u[D]:-1,W==-1)||(ce=(X&15)<<4>>>0,ce|=(W&60)>>2,z.push(p(ce)),++b>=C||A>=k)));)D=$.charCodeAt(A++),ie=D<u.length?u[D]:-1,ce=(W&3)<<6>>>0,ce|=ie,z.push(p(ce)),++b;var Ie=[];for(A=0;A<b;A++)Ie.push(z[A].charCodeAt(0));return Ie}var y=function(){var $={};return $.MAX_CODEPOINT=1114111,$.encodeUTF8=function(C,A){var k=null;for(typeof C=="number"&&(k=C,C=function(){return null});k!==null||(k=C())!==null;)k<128?A(k&127):k<2048?(A(k>>6&31|192),A(k&63|128)):k<65536?(A(k>>12&15|224),A(k>>6&63|128),A(k&63|128)):(A(k>>18&7|240),A(k>>12&63|128),A(k>>6&63|128),A(k&63|128)),k=null},$.decodeUTF8=function(C,A){for(var k,b,z,L,X=function(W){W=W.slice(0,W.indexOf(null));var ie=Error(W.toString());throw ie.name="TruncatedError",ie.bytes=W,ie};(k=C())!==null;)if(!(k&128))A(k);else if((k&224)===192)(b=C())===null&&X([k,b]),A((k&31)<<6|b&63);else if((k&240)===224)((b=C())===null||(z=C())===null)&&X([k,b,z]),A((k&15)<<12|(b&63)<<6|z&63);else if((k&248)===240)((b=C())===null||(z=C())===null||(L=C())===null)&&X([k,b,z,L]),A((k&7)<<18|(b&63)<<12|(z&63)<<6|L&63);else throw RangeError("Illegal starting byte: "+k)},$.UTF16toUTF8=function(C,A){for(var k,b=null;(k=b!==null?b:C())!==null;){if(k>=55296&&k<=57343&&(b=C())!==null&&b>=56320&&b<=57343){A((k-55296)*1024+b-56320+65536),b=null;continue}A(k)}b!==null&&A(b)},$.UTF8toUTF16=function(C,A){var k=null;for(typeof C=="number"&&(k=C,C=function(){return null});k!==null||(k=C())!==null;)k<=65535?A(k):(k-=65536,A((k>>10)+55296),A(k%1024+56320)),k=null},$.encodeUTF16toUTF8=function(C,A){$.UTF16toUTF8(C,function(k){$.encodeUTF8(k,A)})},$.decodeUTF8toUTF16=function(C,A){$.decodeUTF8(C,function(k){$.UTF8toUTF16(k,A)})},$.calculateCodePoint=function(C){return C<128?1:C<2048?2:C<65536?3:4},$.calculateUTF8=function(C){for(var A,k=0;(A=C())!==null;)k+=$.calculateCodePoint(A);return k},$.calculateUTF16asUTF8=function(C){var A=0,k=0;return $.UTF16toUTF8(C,function(b){++A,k+=$.calculateCodePoint(b)}),[A,k]},$}();Date.now=Date.now||function(){return+new Date};var f=16,_=10,v=16,x=100,N=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],B=[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],R=[1332899944,1700884034,1701343084,1684370003,1668446532,1869963892];function te($,C,A,k){var b,z=$[C],L=$[C+1];return z^=A[0],b=k[z>>>24],b+=k[256|z>>16&255],b^=k[512|z>>8&255],b+=k[768|z&255],L^=b^A[1],b=k[L>>>24],b+=k[256|L>>16&255],b^=k[512|L>>8&255],b+=k[768|L&255],z^=b^A[2],b=k[z>>>24],b+=k[256|z>>16&255],b^=k[512|z>>8&255],b+=k[768|z&255],L^=b^A[3],b=k[L>>>24],b+=k[256|L>>16&255],b^=k[512|L>>8&255],b+=k[768|L&255],z^=b^A[4],b=k[z>>>24],b+=k[256|z>>16&255],b^=k[512|z>>8&255],b+=k[768|z&255],L^=b^A[5],b=k[L>>>24],b+=k[256|L>>16&255],b^=k[512|L>>8&255],b+=k[768|L&255],z^=b^A[6],b=k[z>>>24],b+=k[256|z>>16&255],b^=k[512|z>>8&255],b+=k[768|z&255],L^=b^A[7],b=k[L>>>24],b+=k[256|L>>16&255],b^=k[512|L>>8&255],b+=k[768|L&255],z^=b^A[8],b=k[z>>>24],b+=k[256|z>>16&255],b^=k[512|z>>8&255],b+=k[768|z&255],L^=b^A[9],b=k[L>>>24],b+=k[256|L>>16&255],b^=k[512|L>>8&255],b+=k[768|L&255],z^=b^A[10],b=k[z>>>24],b+=k[256|z>>16&255],b^=k[512|z>>8&255],b+=k[768|z&255],L^=b^A[11],b=k[L>>>24],b+=k[256|L>>16&255],b^=k[512|L>>8&255],b+=k[768|L&255],z^=b^A[12],b=k[z>>>24],b+=k[256|z>>16&255],b^=k[512|z>>8&255],b+=k[768|z&255],L^=b^A[13],b=k[L>>>24],b+=k[256|L>>16&255],b^=k[512|L>>8&255],b+=k[768|L&255],z^=b^A[14],b=k[z>>>24],b+=k[256|z>>16&255],b^=k[512|z>>8&255],b+=k[768|z&255],L^=b^A[15],b=k[L>>>24],b+=k[256|L>>16&255],b^=k[512|L>>8&255],b+=k[768|L&255],z^=b^A[16],$[C]=L^A[v+1],$[C+1]=z,$}function pe($,C){for(var A=0,k=0;A<4;++A)k=k<<8|$[C]&255,C=(C+1)%$.length;return{key:k,offp:C}}function le($,C,A){for(var k=0,b=[0,0],z=C.length,L=A.length,X,W=0;W<z;W++)X=pe($,k),k=X.offp,C[W]=C[W]^X.key;for(W=0;W<z;W+=2)b=te(b,0,C,A),C[W]=b[0],C[W+1]=b[1];for(W=0;W<L;W+=2)b=te(b,0,C,A),A[W]=b[0],A[W+1]=b[1]}function Ue($,C,A,k){for(var b=0,z=[0,0],L=A.length,X=k.length,W,ie=0;ie<L;ie++)W=pe(C,b),b=W.offp,A[ie]=A[ie]^W.key;for(b=0,ie=0;ie<L;ie+=2)W=pe($,b),b=W.offp,z[0]^=W.key,W=pe($,b),b=W.offp,z[1]^=W.key,z=te(z,0,A,k),A[ie]=z[0],A[ie+1]=z[1];for(ie=0;ie<X;ie+=2)W=pe($,b),b=W.offp,z[0]^=W.key,W=pe($,b),b=W.offp,z[1]^=W.key,z=te(z,0,A,k),k[ie]=z[0],k[ie+1]=z[1]}function ot($,C,A,k,b){var z=R.slice(),L=z.length,X;if(A<4||A>31)if(X=Error("Illegal number of rounds (4-31): "+A),k){o(k.bind(this,X));return}else throw X;if(C.length!==f)if(X=Error("Illegal salt length: "+C.length+" != "+f),k){o(k.bind(this,X));return}else throw X;A=1<<A>>>0;var W,ie,ce=0,D;Int32Array?(W=new Int32Array(N),ie=new Int32Array(B)):(W=N.slice(),ie=B.slice()),Ue(C,$,W,ie);function Ie(){if(b&&b(ce/A),ce<A)for(var he=Date.now();ce<A&&(ce=ce+1,le($,W,ie),le(C,W,ie),!(Date.now()-he>x)););else{for(ce=0;ce<64;ce++)for(D=0;D<L>>1;D++)te(z,D<<1,W,ie);var xe=[];for(ce=0;ce<L;ce++)xe.push((z[ce]>>24&255)>>>0),xe.push((z[ce]>>16&255)>>>0),xe.push((z[ce]>>8&255)>>>0),xe.push((z[ce]&255)>>>0);if(k){k(null,xe);return}else return xe}k&&o(Ie)}if(typeof k<"u")Ie();else for(var nn;;)if(typeof(nn=Ie())<"u")return nn||[]}function We($,C,A,k){var b;if(typeof $!="string"||typeof C!="string")if(b=Error("Invalid string / salt: Not a string"),A){o(A.bind(this,b));return}else throw b;var z,L;if(C.charAt(0)!=="$"||C.charAt(1)!=="2")if(b=Error("Invalid salt version: "+C.substring(0,2)),A){o(A.bind(this,b));return}else throw b;if(C.charAt(2)==="$")z="\0",L=3;else{if(z=C.charAt(2),z!=="a"&&z!=="b"&&z!=="y"||C.charAt(3)!=="$")if(b=Error("Invalid salt revision: "+C.substring(2,4)),A){o(A.bind(this,b));return}else throw b;L=4}if(C.charAt(L+2)>"$")if(b=Error("Missing salt rounds"),A){o(A.bind(this,b));return}else throw b;var X=parseInt(C.substring(L,L+1),10)*10,W=parseInt(C.substring(L+1,L+2),10),ie=X+W,ce=C.substring(L+3,L+25);$+=z>="a"?"\0":"";var D=c($),Ie=m(ce,f);function nn(he){var xe=[];return xe.push("$2"),z>="a"&&xe.push(z),xe.push("$"),ie<10&&xe.push("0"),xe.push(ie.toString()),xe.push("$"),xe.push(h(Ie,Ie.length)),xe.push(h(he,R.length*4-1)),xe.join("")}if(typeof A>"u")return nn(ot(D,Ie,ie));ot(D,Ie,ie,function(he,xe){he?A(he,null):A(null,nn(xe))},k)}return e.encodeBase64=h,e.decodeBase64=m,e})})(pf);var Zm=pf.exports;const Kc=df(Zm),Ym="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let Xm=t=>crypto.getRandomValues(new Uint8Array(t)),Qm=(t,e,n)=>{let r=(2<<Math.log2(t.length-1))-1,i=-~(1.6*r*e/t.length);return(s=e)=>{let o="";for(;;){let c=n(i),l=i;for(;l--;)if(o+=t[c[l]&r]||"",o.length===s)return o}}},e_=(t,e=21)=>Qm(t,e,Xm),qe=(t=21)=>{let e="",n=crypto.getRandomValues(new Uint8Array(t));for(;t--;)e+=Ym[n[t]&63];return e};const t_=24;function Wc(){return e_("0123456789abcdef",t_)()}function Eu(t){if(!t.includes("|"))return console.error("Invalid user_id format"),t;const[,e]=t.split("|");return e}async function ff(t,e,n){return(await t.list(e,{page:0,per_page:10,include_totals:!1,q:`email:${n}`})).users}async function Gc({userAdapter:t,tenant_id:e,email:n,provider:r}){const{users:i}=await t.list(e,{page:0,per_page:10,include_totals:!1,q:`email:${n} provider:${r}`});return i.length>1&&console.error("More than one user found for same email and provider"),i[0]||null}async function Ms({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 o=await t.get(e,(c=i[0])==null?void 0:c.linked_to);if(!o)throw new Error("Primary account not found");return o}async function Jr({userAdapter:t,tenant_id:e,email:n,provider:r}){const i=await Gc({userAdapter:t,tenant_id:e,email:n,provider:r});return i?i.linked_to?t.get(e,i.linked_to):i:null}const hn=a.z.object({page:a.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:a.z.string().min(1).optional().default("10").transform(t=>parseInt(t,10)).openapi({description:"The number of items per page"}),include_totals:a.z.string().optional().default("false").transform(t=>t==="true").openapi({description:"If the total number of items should be included in the response"}),sort:a.z.string().regex(/^.+:(-1|1)$/).optional().openapi({description:"A property that should have the format 'string:-1' or 'string:1'"}),q:a.z.string().optional().openapi({description:"A lucene query string used to filter the results"})});function tr(t){if(!t)return;const[e,n]=t.split(":"),r=n==="1"?"asc":"desc";if(!(!e||!r))return{sort_by:e,sort_order:r}}function be(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:[]}}var n_={deno:"Deno",bun:"Bun",workerd:"Cloudflare-Workers",node:"Node.js"},r_=()=>{var n,r;const t=globalThis;if(typeof navigator<"u"&&typeof navigator.userAgent=="string"){for(const[i,s]of Object.entries(n_))if(i_(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"},i_=t=>navigator.userAgent.startsWith(t);function Xe(t,e){r_()==="workerd"&&t.executionCtx.waitUntil(e)}const Iu=Yt.extend({users:a.z.array(vt)}),s_=Yt.extend({sessions:a.z.array(Vs)}),o_=new a.OpenAPIHono().openapi(a.createRoute({tags:["users"],method:"get",path:"/",request:{query:hn,headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:a.z.union([a.z.array(vt),Iu])}},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":o}=t.req.valid("header");if(s!=null&&s.includes("identities.profileData.email")){const p=s.split("=")[1],m=(await t.env.data.users.list(o,{page:e,per_page:n,include_totals:r,q:`email:${p}`})).users.filter(_=>_.linked_to),[y]=m;if(!y)return t.json([]);const f=await t.env.data.users.get(o,y.linked_to);if(!f)throw new O(500,{message:"Primary account not found"});return t.json([vt.parse(f)])}const c=["-_exists_:linked_to"];s&&c.push(s);const l=await t.env.data.users.list(o,{page:e,per_page:n,include_totals:r,sort:tr(i),q:c.join(" ")}),u=l.users.filter(p=>!p.linked_to);return r?t.json(Iu.parse({users:u,length:l.length,start:l.start,limit:l.limit})):t.json(a.z.array(vt).parse(u))}).openapi(a.createRoute({tags:["users"],method:"get",path:"/{user_id}",request:{headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({user_id:a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:vt}},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 O(404);if(r.linked_to)throw new O(404,{message:"User is linked to another user"});return t.json(r)}).openapi(a.createRoute({tags:["users"],method:"delete",path:"/{user_id}",request:{headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({user_id:a.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 O(404);return t.text("OK")}).openapi(a.createRoute({tags:["users"],method:"post",path:"/",request:{headers:a.z.object({"tenant-id":a.z.string()}),body:{content:{"application/json":{schema:a.z.object({...Fi.shape})}}}},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:vt}},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 O(400,{message:"Email is required"});const i=r.toLowerCase(),s=`${n.provider}|${n.user_id||Wc()}`;try{const o=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",o.user_id);const c=be(t,{type:me.SUCCESS_API_OPERATION,description:"User created"});Xe(t,t.env.data.logs.create(e,c));const l={...o,identities:[{connection:o.connection,provider:o.provider,user_id:Eu(o.user_id),isSocial:o.is_social}]};return t.json(vt.parse(l),{status:201})}catch(o){throw o.message==="User already exists"?new O(409,{message:"User already exists"}):o}}).openapi(a.createRoute({tags:["users"],method:"patch",path:"/{user_id}",request:{headers:a.z.object({"tenant-id":a.z.string()}),body:{content:{"application/json":{schema:a.z.object({...Fi.shape,verify_email:a.z.boolean(),password:a.z.string()}).partial()}}},params:a.z.object({user_id:a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{var u;const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),{user_id:r}=t.req.valid("param"),{verify_email:i,password:s,...o}=n,c=await t.env.data.users.get(e,r);if(!c)throw new O(404);if(o.email&&o.email!==c.email){const p=await ff(t.env.data.users,e,o.email);if(p.length&&p.some(h=>h.user_id!==r))throw new O(409,{message:"Another user with the same email address already exists."})}if(c.linked_to)throw new O(404,{message:"User is linked to another user"});if(await t.env.data.users.update(e,r,o),s){const p=(u=c.identities)==null?void 0:u.find(h=>h.connection==="Username-Password-Authentication");if(!p)throw new O(400,{message:"User does not have a password identity"});await t.env.data.passwords.update(e,{user_id:`${p.provider}|${p.user_id}`,password:Kc.hashSync(s,10),algorithm:"bcrypt"})}const l=await t.env.data.users.get(e,r);if(!l)throw new O(500);return t.json(l)}).openapi(a.createRoute({tags:["users"],method:"post",path:"/{user_id}/identities",request:{headers:a.z.object({"tenant-id":a.z.string()}),body:{content:{"application/json":{schema:a.z.union([a.z.object({link_with:a.z.string()}),a.z.object({user_id:a.z.string(),provider:a.z.string(),connection:a.z.string().optional()})])}}},params:a.z.object({user_id:a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:a.z.array(a.z.object({connection:a.z.string(),provider:a.z.string(),user_id:a.z.string(),isSocial:a.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 O(400,{message:"Linking an inexistent identity is not allowed."});await t.env.data.users.update(e,i,{linked_to:r});const o=await t.env.data.users.list(e,{page:0,per_page:10,include_totals:!1,q:`linked_to:${r}`}),c=[s,...o.users].map(l=>({connection:l.connection,provider:l.provider,user_id:Eu(l.user_id),isSocial:l.is_social}));return t.json(c,{status:201})}).openapi(a.createRoute({tags:["users"],method:"delete",path:"/{user_id}/identities/{provider}/{linked_user_id}",request:{headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({user_id:a.z.string(),provider:a.z.string(),linked_user_id:a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:a.z.array(vt)}},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 O(404);return t.json([vt.parse(s)])}).openapi(a.createRoute({tags:["users"],method:"get",path:"/{user_id}/sessions",request:{query:hn,headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({user_id:a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:a.z.union([a.z.array(Vs),s_])}},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)});/*! *****************************************************************************
|
|
6
6
|
Copyright (C) Microsoft. All rights reserved.
|
|
7
7
|
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
8
8
|
this file except in compliance with the License. You may obtain a copy of the
|
|
@@ -15,7 +15,7 @@ MERCHANTABLITY OR NON-INFRINGEMENT.
|
|
|
15
15
|
|
|
16
16
|
See the Apache Version 2.0 License for specific language governing permissions
|
|
17
17
|
and limitations under the License.
|
|
18
|
-
***************************************************************************** */var Wl;(function(t){(function(e){var n=typeof globalThis=="object"?globalThis:typeof zr=="object"?zr:typeof self=="object"?self:typeof this=="object"?this:c(),i=r(t);typeof n.Reflect<"u"&&(i=r(n.Reflect,i)),e(i,n),typeof n.Reflect>"u"&&(n.Reflect=t);function r(l,u){return function(p,g){Object.defineProperty(l,p,{configurable:!0,writable:!0,value:g}),u&&u(p,g)}}function s(){try{return Function("return this;")()}catch{}}function o(){try{return(0,eval)("(function() { return this; })()")}catch{}}function c(){return s()||o()}})(function(e,n){var i=Object.prototype.hasOwnProperty,r=typeof Symbol=="function",s=r&&typeof Symbol.toPrimitive<"u"?Symbol.toPrimitive:"@@toPrimitive",o=r&&typeof Symbol.iterator<"u"?Symbol.iterator:"@@iterator",c=typeof Object.create=="function",l={__proto__:[]}instanceof Array,u=!c&&!l,p={create:c?function(){return bo(Object.create(null))}:l?function(){return bo({__proto__:null})}:function(){return bo({})},has:u?function(x,I){return i.call(x,I)}:function(x,I){return I in x},get:u?function(x,I){return i.call(x,I)?x[I]:void 0}:function(x,I){return x[I]}},g=Object.getPrototypeOf(Function),_=typeof Map=="function"&&typeof Map.prototype.entries=="function"?Map:dg(),k=typeof Set=="function"&&typeof Set.prototype.entries=="function"?Set:pg(),h=typeof WeakMap=="function"?WeakMap:fg(),m=r?Symbol.for("@reflect-metadata:registry"):void 0,b=cg(),S=lg(b);function O(x,I,$,L){if(D($)){if(!Al(x))throw new TypeError;if(!Il(I))throw new TypeError;return E(x,I)}else{if(!Al(x))throw new TypeError;if(!fe(I))throw new TypeError;if(!fe(L)&&!D(L)&&!Ie(L))throw new TypeError;return Ie(L)&&(L=void 0),$=gt($),A(x,I,$,L)}}e("decorate",O);function T(x,I){function $(L,X){if(!fe(L))throw new TypeError;if(!D(X)&&!og(X))throw new TypeError;Y(x,I,L,X)}return $}e("metadata",T);function K(x,I,$,L){if(!fe($))throw new TypeError;return D(L)||(L=gt(L)),Y(x,I,$,L)}e("defineMetadata",K);function ce(x,I,$){if(!fe(I))throw new TypeError;return D($)||($=gt($)),w(x,I,$)}e("hasMetadata",ce);function he(x,I,$){if(!fe(I))throw new TypeError;return D($)||($=gt($)),v(x,I,$)}e("hasOwnMetadata",he);function ue(x,I,$){if(!fe(I))throw new TypeError;return D($)||($=gt($)),z(x,I,$)}e("getMetadata",ue);function Le(x,I,$){if(!fe(I))throw new TypeError;return D($)||($=gt($)),R(x,I,$)}e("getOwnMetadata",Le);function st(x,I){if(!fe(x))throw new TypeError;return D(I)||(I=gt(I)),W(x,I)}e("getMetadataKeys",st);function Ke(x,I){if(!fe(x))throw new TypeError;return D(I)||(I=gt(I)),ne(x,I)}e("getOwnMetadataKeys",Ke);function C(x,I,$){if(!fe(I))throw new TypeError;if(D($)||($=gt($)),!fe(I))throw new TypeError;D($)||($=gt($));var L=ai(I,$,!1);return D(L)?!1:L.OrdinaryDeleteMetadata(x,I,$)}e("deleteMetadata",C);function E(x,I){for(var $=x.length-1;$>=0;--$){var L=x[$],X=L(I);if(!D(X)&&!Ie(X)){if(!Il(X))throw new TypeError;I=X}}return I}function A(x,I,$,L){for(var X=x.length-1;X>=0;--X){var Ee=x[X],Se=Ee(I,$,L);if(!D(Se)&&!Ie(Se)){if(!fe(Se))throw new TypeError;L=Se}}return L}function w(x,I,$){var L=v(x,I,$);if(L)return!0;var X=wo(I);return Ie(X)?!1:w(x,X,$)}function v(x,I,$){var L=ai(I,$,!1);return D(L)?!1:Sl(L.OrdinaryHasOwnMetadata(x,I,$))}function z(x,I,$){var L=v(x,I,$);if(L)return R(x,I,$);var X=wo(I);if(!Ie(X))return z(x,X,$)}function R(x,I,$){var L=ai(I,$,!1);if(!D(L))return L.OrdinaryGetOwnMetadata(x,I,$)}function Y(x,I,$,L){var X=ai($,L,!0);X.OrdinaryDefineOwnMetadata(x,I,$,L)}function W(x,I){var $=ne(x,I),L=wo(x);if(L===null)return $;var X=W(L,I);if(X.length<=0)return $;if($.length<=0)return X;for(var Ee=new k,Se=[],ie=0,M=$;ie<M.length;ie++){var q=M[ie],J=Ee.has(q);J||(Ee.add(q),Se.push(q))}for(var Z=0,re=X;Z<re.length;Z++){var q=re[Z],J=Ee.has(q);J||(Ee.add(q),Se.push(q))}return Se}function ne(x,I){var $=ai(x,I,!1);return $?$.OrdinaryOwnMetadataKeys(x,I):[]}function ae(x){if(x===null)return 1;switch(typeof x){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return x===null?1:6;default:return 6}}function D(x){return x===void 0}function Ie(x){return x===null}function Qt(x){return typeof x=="symbol"}function fe(x){return typeof x=="object"?x!==null:typeof x=="function"}function xe(x,I){switch(ae(x)){case 0:return x;case 1:return x;case 2:return x;case 3:return x;case 4:return x;case 5:return x}var $="string",L=El(x,s);if(L!==void 0){var X=L.call(x,$);if(fe(X))throw new TypeError;return X}return rg(x)}function rg(x,I){var $,L;{var X=x.toString;if(ir(X)){var L=X.call(x);if(!fe(L))return L}var $=x.valueOf;if(ir($)){var L=$.call(x);if(!fe(L))return L}}throw new TypeError}function Sl(x){return!!x}function sg(x){return""+x}function gt(x){var I=xe(x);return Qt(I)?I:sg(I)}function Al(x){return Array.isArray?Array.isArray(x):x instanceof Object?x instanceof Array:Object.prototype.toString.call(x)==="[object Array]"}function ir(x){return typeof x=="function"}function Il(x){return typeof x=="function"}function og(x){switch(ae(x)){case 3:return!0;case 4:return!0;default:return!1}}function vo(x,I){return x===I||x!==x&&I!==I}function El(x,I){var $=x[I];if($!=null){if(!ir($))throw new TypeError;return $}}function Cl(x){var I=El(x,o);if(!ir(I))throw new TypeError;var $=I.call(x);if(!fe($))throw new TypeError;return $}function zl(x){return x.value}function $l(x){var I=x.next();return I.done?!1:I}function jl(x){var I=x.return;I&&I.call(x)}function wo(x){var I=Object.getPrototypeOf(x);if(typeof x!="function"||x===g||I!==g)return I;var $=x.prototype,L=$&&Object.getPrototypeOf($);if(L==null||L===Object.prototype)return I;var X=L.constructor;return typeof X!="function"||X===x?I:X}function ag(){var x;!D(m)&&typeof n.Reflect<"u"&&!(m in n.Reflect)&&typeof n.Reflect.defineMetadata=="function"&&(x=ug(n.Reflect));var I,$,L,X=new h,Ee={registerProvider:Se,getProvider:M,setProvider:J};return Ee;function Se(Z){if(!Object.isExtensible(Ee))throw new Error("Cannot add provider to a frozen registry.");switch(!0){case x===Z:break;case D(I):I=Z;break;case I===Z:break;case D($):$=Z;break;case $===Z:break;default:L===void 0&&(L=new k),L.add(Z);break}}function ie(Z,re){if(!D(I)){if(I.isProviderFor(Z,re))return I;if(!D($)){if($.isProviderFor(Z,re))return I;if(!D(L))for(var ge=Cl(L);;){var ve=$l(ge);if(!ve)return;var ot=zl(ve);if(ot.isProviderFor(Z,re))return jl(ge),ot}}}if(!D(x)&&x.isProviderFor(Z,re))return x}function M(Z,re){var ge=X.get(Z),ve;return D(ge)||(ve=ge.get(re)),D(ve)&&(ve=ie(Z,re),D(ve)||(D(ge)&&(ge=new _,X.set(Z,ge)),ge.set(re,ve))),ve}function q(Z){if(D(Z))throw new TypeError;return I===Z||$===Z||!D(L)&&L.has(Z)}function J(Z,re,ge){if(!q(ge))throw new Error("Metadata provider not registered.");var ve=M(Z,re);if(ve!==ge){if(!D(ve))return!1;var ot=X.get(Z);D(ot)&&(ot=new _,X.set(Z,ot)),ot.set(re,ge)}return!0}}function cg(){var x;return!D(m)&&fe(n.Reflect)&&Object.isExtensible(n.Reflect)&&(x=n.Reflect[m]),D(x)&&(x=ag()),!D(m)&&fe(n.Reflect)&&Object.isExtensible(n.Reflect)&&Object.defineProperty(n.Reflect,m,{enumerable:!1,configurable:!1,writable:!1,value:x}),x}function lg(x){var I=new h,$={isProviderFor:function(q,J){var Z=I.get(q);return D(Z)?!1:Z.has(J)},OrdinaryDefineOwnMetadata:Se,OrdinaryHasOwnMetadata:X,OrdinaryGetOwnMetadata:Ee,OrdinaryOwnMetadataKeys:ie,OrdinaryDeleteMetadata:M};return b.registerProvider($),$;function L(q,J,Z){var re=I.get(q),ge=!1;if(D(re)){if(!Z)return;re=new _,I.set(q,re),ge=!0}var ve=re.get(J);if(D(ve)){if(!Z)return;if(ve=new _,re.set(J,ve),!x.setProvider(q,J,$))throw re.delete(J),ge&&I.delete(q),new Error("Wrong provider for target.")}return ve}function X(q,J,Z){var re=L(J,Z,!1);return D(re)?!1:Sl(re.has(q))}function Ee(q,J,Z){var re=L(J,Z,!1);if(!D(re))return re.get(q)}function Se(q,J,Z,re){var ge=L(Z,re,!0);ge.set(q,J)}function ie(q,J){var Z=[],re=L(q,J,!1);if(D(re))return Z;for(var ge=re.keys(),ve=Cl(ge),ot=0;;){var Nl=$l(ve);if(!Nl)return Z.length=ot,Z;var hg=zl(Nl);try{Z[ot]=hg}catch(gg){try{jl(ve)}finally{throw gg}}ot++}}function M(q,J,Z){var re=L(J,Z,!1);if(D(re)||!re.delete(q))return!1;if(re.size===0){var ge=I.get(J);D(ge)||(ge.delete(Z),ge.size===0&&I.delete(ge))}return!0}}function ug(x){var I=x.defineMetadata,$=x.hasOwnMetadata,L=x.getOwnMetadata,X=x.getOwnMetadataKeys,Ee=x.deleteMetadata,Se=new h,ie={isProviderFor:function(M,q){var J=Se.get(M);return!D(J)&&J.has(q)?!0:X(M,q).length?(D(J)&&(J=new k,Se.set(M,J)),J.add(q),!0):!1},OrdinaryDefineOwnMetadata:I,OrdinaryHasOwnMetadata:$,OrdinaryGetOwnMetadata:L,OrdinaryOwnMetadataKeys:X,OrdinaryDeleteMetadata:Ee};return ie}function ai(x,I,$){var L=b.getProvider(x,I);if(!D(L))return L;if($){if(b.setProvider(x,I,S))return S;throw new Error("Illegal state.")}}function dg(){var x={},I=[],$=function(){function ie(M,q,J){this._index=0,this._keys=M,this._values=q,this._selector=J}return ie.prototype["@@iterator"]=function(){return this},ie.prototype[o]=function(){return this},ie.prototype.next=function(){var M=this._index;if(M>=0&&M<this._keys.length){var q=this._selector(this._keys[M],this._values[M]);return M+1>=this._keys.length?(this._index=-1,this._keys=I,this._values=I):this._index++,{value:q,done:!1}}return{value:void 0,done:!0}},ie.prototype.throw=function(M){throw this._index>=0&&(this._index=-1,this._keys=I,this._values=I),M},ie.prototype.return=function(M){return this._index>=0&&(this._index=-1,this._keys=I,this._values=I),{value:M,done:!0}},ie}(),L=function(){function ie(){this._keys=[],this._values=[],this._cacheKey=x,this._cacheIndex=-2}return Object.defineProperty(ie.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),ie.prototype.has=function(M){return this._find(M,!1)>=0},ie.prototype.get=function(M){var q=this._find(M,!1);return q>=0?this._values[q]:void 0},ie.prototype.set=function(M,q){var J=this._find(M,!0);return this._values[J]=q,this},ie.prototype.delete=function(M){var q=this._find(M,!1);if(q>=0){for(var J=this._keys.length,Z=q+1;Z<J;Z++)this._keys[Z-1]=this._keys[Z],this._values[Z-1]=this._values[Z];return this._keys.length--,this._values.length--,vo(M,this._cacheKey)&&(this._cacheKey=x,this._cacheIndex=-2),!0}return!1},ie.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=x,this._cacheIndex=-2},ie.prototype.keys=function(){return new $(this._keys,this._values,X)},ie.prototype.values=function(){return new $(this._keys,this._values,Ee)},ie.prototype.entries=function(){return new $(this._keys,this._values,Se)},ie.prototype["@@iterator"]=function(){return this.entries()},ie.prototype[o]=function(){return this.entries()},ie.prototype._find=function(M,q){if(!vo(this._cacheKey,M)){this._cacheIndex=-1;for(var J=0;J<this._keys.length;J++)if(vo(this._keys[J],M)){this._cacheIndex=J;break}}return this._cacheIndex<0&&q&&(this._cacheIndex=this._keys.length,this._keys.push(M),this._values.push(void 0)),this._cacheIndex},ie}();return L;function X(ie,M){return ie}function Ee(ie,M){return M}function Se(ie,M){return[ie,M]}}function pg(){var x=function(){function I(){this._map=new _}return Object.defineProperty(I.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),I.prototype.has=function($){return this._map.has($)},I.prototype.add=function($){return this._map.set($,$),this},I.prototype.delete=function($){return this._map.delete($)},I.prototype.clear=function(){this._map.clear()},I.prototype.keys=function(){return this._map.keys()},I.prototype.values=function(){return this._map.keys()},I.prototype.entries=function(){return this._map.entries()},I.prototype["@@iterator"]=function(){return this.keys()},I.prototype[o]=function(){return this.keys()},I}();return x}function fg(){var x=16,I=p.create(),$=L();return function(){function M(){this._key=L()}return M.prototype.has=function(q){var J=X(q,!1);return J!==void 0?p.has(J,this._key):!1},M.prototype.get=function(q){var J=X(q,!1);return J!==void 0?p.get(J,this._key):void 0},M.prototype.set=function(q,J){var Z=X(q,!0);return Z[this._key]=J,this},M.prototype.delete=function(q){var J=X(q,!1);return J!==void 0?delete J[this._key]:!1},M.prototype.clear=function(){this._key=L()},M}();function L(){var M;do M="@@WeakMap@@"+ie();while(p.has(I,M));return I[M]=!0,M}function X(M,q){if(!i.call(M,$)){if(!q)return;Object.defineProperty(M,$,{value:p.create()})}return M[$]}function Ee(M,q){for(var J=0;J<q;++J)M[J]=Math.random()*255|0;return M}function Se(M){if(typeof Uint8Array=="function"){var q=new Uint8Array(M);return typeof crypto<"u"?crypto.getRandomValues(q):typeof msCrypto<"u"?msCrypto.getRandomValues(q):Ee(q,M),q}return Ee(new Array(M),M)}function ie(){var M=Se(x);M[6]=M[6]&79|64,M[8]=M[8]&191|128;for(var q="",J=0;J<x;++J){var Z=M[J];(J===4||J===6||J===8)&&(q+="-"),Z<16&&(q+="0"),q+=Z.toString(16).toLowerCase()}return q}}function bo(x){return x.__=void 0,delete x.__,x}})})(Wl||(Wl={}));/*!
|
|
18
|
+
***************************************************************************** */var Cu;(function(t){(function(e){var n=typeof globalThis=="object"?globalThis:typeof Zi=="object"?Zi: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,u){return function(p,h){Object.defineProperty(l,p,{configurable:!0,writable:!0,value:h}),u&&u(p,h)}}function s(){try{return Function("return this;")()}catch{}}function o(){try{return(0,eval)("(function() { return this; })()")}catch{}}function c(){return s()||o()}})(function(e,n){var r=Object.prototype.hasOwnProperty,i=typeof Symbol=="function",s=i&&typeof Symbol.toPrimitive<"u"?Symbol.toPrimitive:"@@toPrimitive",o=i&&typeof Symbol.iterator<"u"?Symbol.iterator:"@@iterator",c=typeof Object.create=="function",l={__proto__:[]}instanceof Array,u=!c&&!l,p={create:c?function(){return Mo(Object.create(null))}:l?function(){return Mo({__proto__:null})}:function(){return Mo({})},has:u?function(S,I){return r.call(S,I)}:function(S,I){return I in S},get:u?function(S,I){return r.call(S,I)?S[I]:void 0}:function(S,I){return S[I]}},h=Object.getPrototypeOf(Function),m=typeof Map=="function"&&typeof Map.prototype.entries=="function"?Map:am(),y=typeof Set=="function"&&typeof Set.prototype.entries=="function"?Set:cm(),f=typeof WeakMap=="function"?WeakMap:lm(),_=i?Symbol.for("@reflect-metadata:registry"):void 0,v=im(),x=sm(v);function N(S,I,j,U){if(D(j)){if(!ou(S))throw new TypeError;if(!au(I))throw new TypeError;return C(S,I)}else{if(!ou(S))throw new TypeError;if(!he(I))throw new TypeError;if(!he(U)&&!D(U)&&!Ie(U))throw new TypeError;return Ie(U)&&(U=void 0),j=mt(j),A(S,I,j,U)}}e("decorate",N);function B(S,I){function j(U,Q){if(!he(U))throw new TypeError;if(!D(Q)&&!nm(Q))throw new TypeError;X(S,I,U,Q)}return j}e("metadata",B);function R(S,I,j,U){if(!he(j))throw new TypeError;return D(U)||(U=mt(U)),X(S,I,j,U)}e("defineMetadata",R);function te(S,I,j){if(!he(I))throw new TypeError;return D(j)||(j=mt(j)),k(S,I,j)}e("hasMetadata",te);function pe(S,I,j){if(!he(I))throw new TypeError;return D(j)||(j=mt(j)),b(S,I,j)}e("hasOwnMetadata",pe);function le(S,I,j){if(!he(I))throw new TypeError;return D(j)||(j=mt(j)),z(S,I,j)}e("getMetadata",le);function Ue(S,I,j){if(!he(I))throw new TypeError;return D(j)||(j=mt(j)),L(S,I,j)}e("getOwnMetadata",Ue);function ot(S,I){if(!he(S))throw new TypeError;return D(I)||(I=mt(I)),W(S,I)}e("getMetadataKeys",ot);function We(S,I){if(!he(S))throw new TypeError;return D(I)||(I=mt(I)),ie(S,I)}e("getOwnMetadataKeys",We);function $(S,I,j){if(!he(I))throw new TypeError;if(D(j)||(j=mt(j)),!he(I))throw new TypeError;D(j)||(j=mt(j));var U=hr(I,j,!1);return D(U)?!1:U.OrdinaryDeleteMetadata(S,I,j)}e("deleteMetadata",$);function C(S,I){for(var j=S.length-1;j>=0;--j){var U=S[j],Q=U(I);if(!D(Q)&&!Ie(Q)){if(!au(Q))throw new TypeError;I=Q}}return I}function A(S,I,j,U){for(var Q=S.length-1;Q>=0;--Q){var Ce=S[Q],Ae=Ce(I,j,U);if(!D(Ae)&&!Ie(Ae)){if(!he(Ae))throw new TypeError;U=Ae}}return U}function k(S,I,j){var U=b(S,I,j);if(U)return!0;var Q=Vo(I);return Ie(Q)?!1:k(S,Q,j)}function b(S,I,j){var U=hr(I,j,!1);return D(U)?!1:su(U.OrdinaryHasOwnMetadata(S,I,j))}function z(S,I,j){var U=b(S,I,j);if(U)return L(S,I,j);var Q=Vo(I);if(!Ie(Q))return z(S,Q,j)}function L(S,I,j){var U=hr(I,j,!1);if(!D(U))return U.OrdinaryGetOwnMetadata(S,I,j)}function X(S,I,j,U){var Q=hr(j,U,!0);Q.OrdinaryDefineOwnMetadata(S,I,j,U)}function W(S,I){var j=ie(S,I),U=Vo(S);if(U===null)return j;var Q=W(U,I);if(Q.length<=0)return j;if(j.length<=0)return Q;for(var Ce=new y,Ae=[],se=0,q=j;se<q.length;se++){var K=q[se],J=Ce.has(K);J||(Ce.add(K),Ae.push(K))}for(var Z=0,oe=Q;Z<oe.length;Z++){var K=oe[Z],J=Ce.has(K);J||(Ce.add(K),Ae.push(K))}return Ae}function ie(S,I){var j=hr(S,I,!1);return j?j.OrdinaryOwnMetadataKeys(S,I):[]}function ce(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 D(S){return S===void 0}function Ie(S){return S===null}function nn(S){return typeof S=="symbol"}function he(S){return typeof S=="object"?S!==null:typeof S=="function"}function xe(S,I){switch(ce(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 j="string",U=cu(S,s);if(U!==void 0){var Q=U.call(S,j);if(he(Q))throw new TypeError;return Q}return em(S)}function em(S,I){var j,U;{var Q=S.toString;if(yi(Q)){var U=Q.call(S);if(!he(U))return U}var j=S.valueOf;if(yi(j)){var U=j.call(S);if(!he(U))return U}}throw new TypeError}function su(S){return!!S}function tm(S){return""+S}function mt(S){var I=xe(S);return nn(I)?I:tm(I)}function ou(S){return Array.isArray?Array.isArray(S):S instanceof Object?S instanceof Array:Object.prototype.toString.call(S)==="[object Array]"}function yi(S){return typeof S=="function"}function au(S){return typeof S=="function"}function nm(S){switch(ce(S)){case 3:return!0;case 4:return!0;default:return!1}}function Uo(S,I){return S===I||S!==S&&I!==I}function cu(S,I){var j=S[I];if(j!=null){if(!yi(j))throw new TypeError;return j}}function lu(S){var I=cu(S,o);if(!yi(I))throw new TypeError;var j=I.call(S);if(!he(j))throw new TypeError;return j}function uu(S){return S.value}function du(S){var I=S.next();return I.done?!1:I}function pu(S){var I=S.return;I&&I.call(S)}function Vo(S){var I=Object.getPrototypeOf(S);if(typeof S!="function"||S===h||I!==h)return I;var j=S.prototype,U=j&&Object.getPrototypeOf(j);if(U==null||U===Object.prototype)return I;var Q=U.constructor;return typeof Q!="function"||Q===S?I:Q}function rm(){var S;!D(_)&&typeof n.Reflect<"u"&&!(_ in n.Reflect)&&typeof n.Reflect.defineMetadata=="function"&&(S=om(n.Reflect));var I,j,U,Q=new f,Ce={registerProvider:Ae,getProvider:q,setProvider:J};return Ce;function Ae(Z){if(!Object.isExtensible(Ce))throw new Error("Cannot add provider to a frozen registry.");switch(!0){case S===Z:break;case D(I):I=Z;break;case I===Z:break;case D(j):j=Z;break;case j===Z:break;default:U===void 0&&(U=new y),U.add(Z);break}}function se(Z,oe){if(!D(I)){if(I.isProviderFor(Z,oe))return I;if(!D(j)){if(j.isProviderFor(Z,oe))return I;if(!D(U))for(var ge=lu(U);;){var ve=du(ge);if(!ve)return;var at=uu(ve);if(at.isProviderFor(Z,oe))return pu(ge),at}}}if(!D(S)&&S.isProviderFor(Z,oe))return S}function q(Z,oe){var ge=Q.get(Z),ve;return D(ge)||(ve=ge.get(oe)),D(ve)&&(ve=se(Z,oe),D(ve)||(D(ge)&&(ge=new m,Q.set(Z,ge)),ge.set(oe,ve))),ve}function K(Z){if(D(Z))throw new TypeError;return I===Z||j===Z||!D(U)&&U.has(Z)}function J(Z,oe,ge){if(!K(ge))throw new Error("Metadata provider not registered.");var ve=q(Z,oe);if(ve!==ge){if(!D(ve))return!1;var at=Q.get(Z);D(at)&&(at=new m,Q.set(Z,at)),at.set(oe,ge)}return!0}}function im(){var S;return!D(_)&&he(n.Reflect)&&Object.isExtensible(n.Reflect)&&(S=n.Reflect[_]),D(S)&&(S=rm()),!D(_)&&he(n.Reflect)&&Object.isExtensible(n.Reflect)&&Object.defineProperty(n.Reflect,_,{enumerable:!1,configurable:!1,writable:!1,value:S}),S}function sm(S){var I=new f,j={isProviderFor:function(K,J){var Z=I.get(K);return D(Z)?!1:Z.has(J)},OrdinaryDefineOwnMetadata:Ae,OrdinaryHasOwnMetadata:Q,OrdinaryGetOwnMetadata:Ce,OrdinaryOwnMetadataKeys:se,OrdinaryDeleteMetadata:q};return v.registerProvider(j),j;function U(K,J,Z){var oe=I.get(K),ge=!1;if(D(oe)){if(!Z)return;oe=new m,I.set(K,oe),ge=!0}var ve=oe.get(J);if(D(ve)){if(!Z)return;if(ve=new m,oe.set(J,ve),!S.setProvider(K,J,j))throw oe.delete(J),ge&&I.delete(K),new Error("Wrong provider for target.")}return ve}function Q(K,J,Z){var oe=U(J,Z,!1);return D(oe)?!1:su(oe.has(K))}function Ce(K,J,Z){var oe=U(J,Z,!1);if(!D(oe))return oe.get(K)}function Ae(K,J,Z,oe){var ge=U(Z,oe,!0);ge.set(K,J)}function se(K,J){var Z=[],oe=U(K,J,!1);if(D(oe))return Z;for(var ge=oe.keys(),ve=lu(ge),at=0;;){var fu=du(ve);if(!fu)return Z.length=at,Z;var um=uu(fu);try{Z[at]=um}catch(dm){try{pu(ve)}finally{throw dm}}at++}}function q(K,J,Z){var oe=U(J,Z,!1);if(D(oe)||!oe.delete(K))return!1;if(oe.size===0){var ge=I.get(J);D(ge)||(ge.delete(Z),ge.size===0&&I.delete(ge))}return!0}}function om(S){var I=S.defineMetadata,j=S.hasOwnMetadata,U=S.getOwnMetadata,Q=S.getOwnMetadataKeys,Ce=S.deleteMetadata,Ae=new f,se={isProviderFor:function(q,K){var J=Ae.get(q);return!D(J)&&J.has(K)?!0:Q(q,K).length?(D(J)&&(J=new y,Ae.set(q,J)),J.add(K),!0):!1},OrdinaryDefineOwnMetadata:I,OrdinaryHasOwnMetadata:j,OrdinaryGetOwnMetadata:U,OrdinaryOwnMetadataKeys:Q,OrdinaryDeleteMetadata:Ce};return se}function hr(S,I,j){var U=v.getProvider(S,I);if(!D(U))return U;if(j){if(v.setProvider(S,I,x))return x;throw new Error("Illegal state.")}}function am(){var S={},I=[],j=function(){function se(q,K,J){this._index=0,this._keys=q,this._values=K,this._selector=J}return se.prototype["@@iterator"]=function(){return this},se.prototype[o]=function(){return this},se.prototype.next=function(){var q=this._index;if(q>=0&&q<this._keys.length){var K=this._selector(this._keys[q],this._values[q]);return q+1>=this._keys.length?(this._index=-1,this._keys=I,this._values=I):this._index++,{value:K,done:!1}}return{value:void 0,done:!0}},se.prototype.throw=function(q){throw this._index>=0&&(this._index=-1,this._keys=I,this._values=I),q},se.prototype.return=function(q){return this._index>=0&&(this._index=-1,this._keys=I,this._values=I),{value:q,done:!0}},se}(),U=function(){function se(){this._keys=[],this._values=[],this._cacheKey=S,this._cacheIndex=-2}return Object.defineProperty(se.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),se.prototype.has=function(q){return this._find(q,!1)>=0},se.prototype.get=function(q){var K=this._find(q,!1);return K>=0?this._values[K]:void 0},se.prototype.set=function(q,K){var J=this._find(q,!0);return this._values[J]=K,this},se.prototype.delete=function(q){var K=this._find(q,!1);if(K>=0){for(var J=this._keys.length,Z=K+1;Z<J;Z++)this._keys[Z-1]=this._keys[Z],this._values[Z-1]=this._values[Z];return this._keys.length--,this._values.length--,Uo(q,this._cacheKey)&&(this._cacheKey=S,this._cacheIndex=-2),!0}return!1},se.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=S,this._cacheIndex=-2},se.prototype.keys=function(){return new j(this._keys,this._values,Q)},se.prototype.values=function(){return new j(this._keys,this._values,Ce)},se.prototype.entries=function(){return new j(this._keys,this._values,Ae)},se.prototype["@@iterator"]=function(){return this.entries()},se.prototype[o]=function(){return this.entries()},se.prototype._find=function(q,K){if(!Uo(this._cacheKey,q)){this._cacheIndex=-1;for(var J=0;J<this._keys.length;J++)if(Uo(this._keys[J],q)){this._cacheIndex=J;break}}return this._cacheIndex<0&&K&&(this._cacheIndex=this._keys.length,this._keys.push(q),this._values.push(void 0)),this._cacheIndex},se}();return U;function Q(se,q){return se}function Ce(se,q){return q}function Ae(se,q){return[se,q]}}function cm(){var S=function(){function I(){this._map=new m}return Object.defineProperty(I.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),I.prototype.has=function(j){return this._map.has(j)},I.prototype.add=function(j){return this._map.set(j,j),this},I.prototype.delete=function(j){return this._map.delete(j)},I.prototype.clear=function(){this._map.clear()},I.prototype.keys=function(){return this._map.keys()},I.prototype.values=function(){return this._map.keys()},I.prototype.entries=function(){return this._map.entries()},I.prototype["@@iterator"]=function(){return this.keys()},I.prototype[o]=function(){return this.keys()},I}();return S}function lm(){var S=16,I=p.create(),j=U();return function(){function q(){this._key=U()}return q.prototype.has=function(K){var J=Q(K,!1);return J!==void 0?p.has(J,this._key):!1},q.prototype.get=function(K){var J=Q(K,!1);return J!==void 0?p.get(J,this._key):void 0},q.prototype.set=function(K,J){var Z=Q(K,!0);return Z[this._key]=J,this},q.prototype.delete=function(K){var J=Q(K,!1);return J!==void 0?delete J[this._key]:!1},q.prototype.clear=function(){this._key=U()},q}();function U(){var q;do q="@@WeakMap@@"+se();while(p.has(I,q));return I[q]=!0,q}function Q(q,K){if(!r.call(q,j)){if(!K)return;Object.defineProperty(q,j,{value:p.create()})}return q[j]}function Ce(q,K){for(var J=0;J<K;++J)q[J]=Math.random()*255|0;return q}function Ae(q){if(typeof Uint8Array=="function"){var K=new Uint8Array(q);return typeof crypto<"u"?crypto.getRandomValues(K):typeof msCrypto<"u"?msCrypto.getRandomValues(K):Ce(K,q),K}return Ce(new Array(q),q)}function se(){var q=Ae(S);q[6]=q[6]&79|64,q[8]=q[8]&191|128;for(var K="",J=0;J<S;++J){var Z=q[J];(J===4||J===6||J===8)&&(K+="-"),Z<16&&(K+="0"),K+=Z.toString(16).toLowerCase()}return K}}function Mo(S){return S.__=void 0,delete S.__,S}})})(Cu||(Cu={}));/*!
|
|
19
19
|
* MIT License
|
|
20
20
|
*
|
|
21
21
|
* Copyright (c) 2017-2022 Peculiar Ventures, LLC
|
|
@@ -38,9 +38,9 @@ and limitations under the License.
|
|
|
38
38
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
39
39
|
* SOFTWARE.
|
|
40
40
|
*
|
|
41
|
-
*/const
|
|
41
|
+
*/const a_="[object ArrayBuffer]";class M{static isArrayBuffer(e){return Object.prototype.toString.call(e)===a_}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 o of n)r+=o.byteLength;const i=new Uint8Array(r);let s=0;for(const o of n){const c=this.toUint8Array(o);i.set(c,s),s+=c.length}return e[e.length-1]instanceof Function?this.toView(i,e[e.length-1]):i.buffer}}const Do="string",c_=/^[0-9a-f]+$/i,l_=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,u_=/^[a-zA-Z0-9-_]+$/;class Nu{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 _t{static toString(e,n=!1){const r=M.toArrayBuffer(e),i=new DataView(r);let s="";for(let o=0;o<r.byteLength;o+=2){const c=i.getUint16(o,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 G{static isHex(e){return typeof e===Do&&c_.test(e)}static isBase64(e){return typeof e===Do&&l_.test(e)}static isBase64Url(e){return typeof e===Do&&u_.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 _t.toString(r,!0);case"utf16":case"utf16be":return _t.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 _t.fromString(e,!0);case"utf16":case"utf16be":return _t.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(!G.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(!G.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=G.DEFAULT_UTF8_ENCODING){switch(n){case"ascii":return this.FromBinary(e);case"utf8":return Nu.fromString(e);case"utf16":case"utf16be":return _t.fromString(e);case"utf16le":case"usc2":return _t.fromString(e,!0);default:throw new Error(`Unknown type of encoding '${n}'`)}}static ToUtf8String(e,n=G.DEFAULT_UTF8_ENCODING){switch(n){case"ascii":return this.ToBinary(e);case"utf8":return Nu.toString(e);case"utf16":case"utf16be":return _t.toString(e);case"utf16le":case"usc2":return _t.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 o=n[s];o<16&&(r+="0"),r+=o.toString(16)}return r}static FromHex(e){let n=this.formatString(e);if(!n)return new ArrayBuffer(0);if(!G.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 _t.toString(e,n)}static FromUtf16String(e,n=!1){return _t.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,""))||""}}G.DEFAULT_UTF8_ENCODING="utf8";function d_(...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 hf(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}/*!
|
|
42
42
|
Copyright (c) Peculiar Ventures, LLC
|
|
43
|
-
*/function
|
|
43
|
+
*/function Mn(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 gn(t,e,n=-1){const r=n;let i=t,s=0,o=Math.pow(2,e);for(let c=1;c<8;c++){if(t<o){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 u=new Uint8Array(l);for(let p=c-1;p>=0;p--){const h=Math.pow(2,p*e);u[s-p-1]=Math.floor(i/h),i-=u[s-p-1]*h}return l}o*=Math.pow(2,e)}return new ArrayBuffer(0)}function ga(...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=Mn(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,Mn(s,8)-r}function p_(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 o=n-e,c=gn(o,8,r),l=new Uint8Array(c);return l[0]|=128,c}let i=gn(e,8,r),s=new Uint8Array(i);if(s[0]&128){const o=i.slice(0),c=new Uint8Array(o);i=new ArrayBuffer(i.byteLength+1),s=new Uint8Array(i);for(let l=0;l<o.byteLength;l++)s[l+1]=c[l];s[0]=0}return i}n*=Math.pow(2,8)}return new ArrayBuffer(0)}function f_(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 Ge(t,e){const n=t.toString(10);if(e<n.length)return"";const r=e-n.length,i=new Array(r);for(let o=0;o<r;o++)i[o]="0";return i.join("").concat(n)}/*!
|
|
44
44
|
* Copyright (c) 2014, GMO GlobalSign
|
|
45
45
|
* Copyright (c) 2015-2022, Peculiar Ventures
|
|
46
46
|
* All rights reserved.
|
|
@@ -72,11 +72,11 @@ and limitations under the License.
|
|
|
72
72
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
73
73
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
74
74
|
*
|
|
75
|
-
*/function $r(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function kc(t){let e=0,n=0;for(let r=0;r<t.length;r++){const s=t[r];e+=s.byteLength}const i=new Uint8Array(e);for(let r=0;r<t.length;r++){const s=t[r];i.set(new Uint8Array(s),n),n+=s.byteLength}return i.buffer}function Tt(t,e,n,i){return e instanceof Uint8Array?e.byteLength?n<0?(t.error="Wrong parameter: inputOffset less than zero",!1):i<0?(t.error="Wrong parameter: inputLength less than zero",!1):e.byteLength-n-i<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 bs{constructor(){this.items=[]}write(e){this.items.push(e)}final(){return kc(this.items)}}const li=[new Uint8Array([1])],Jl="0123456789",So="name",Zl="valueHexView",y_="isHexOnly",v_="idBlock",w_="tagClass",b_="tagNumber",k_="isConstructed",x_="fromBER",S_="toBER",A_="local",Ve="",ft=new ArrayBuffer(0),ks=new Uint8Array(0),ki="EndOfContent",$p="OCTET STRING",jp="BIT STRING";function xt(t){var e;return e=class extends t{constructor(...i){var r;super(...i);const s=i[0]||{};this.isHexOnly=(r=s.isHexOnly)!==null&&r!==void 0?r:!1,this.valueHexView=s.valueHex?V.toUint8Array(s.valueHex):ks}get valueHex(){return this.valueHexView.slice().buffer}set valueHex(i){this.valueHexView=new Uint8Array(i)}fromBER(i,r,s){const o=i instanceof ArrayBuffer?new Uint8Array(i):i;if(!Tt(this,o,r,s))return-1;const c=r+s;return this.valueHexView=o.subarray(r,c),this.valueHexView.length?(this.blockLength=s,c):(this.warnings.push("Zero buffer length"),r)}toBER(i=!1){return this.isHexOnly?i?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",ft)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:G.ToHex(this.valueHexView)}}},e.NAME="hexBlock",e}class Sn{constructor({blockLength:e=0,error:n=Ve,warnings:i=[],valueBeforeDecode:r=ks}={}){this.blockLength=e,this.error=n,this.warnings=i,this.valueBeforeDecodeView=V.toUint8Array(r)}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:G.ToHex(this.valueBeforeDecodeView)}}}Sn.NAME="baseBlock";class Pe extends Sn{fromBER(e,n,i){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'")}}Pe.NAME="valueBlock";class Np extends xt(Sn){constructor({idBlock:e={}}={}){var n,i,r,s;super(),e?(this.isHexOnly=(n=e.isHexOnly)!==null&&n!==void 0?n:!1,this.valueHexView=e.valueHex?V.toUint8Array(e.valueHex):ks,this.tagClass=(i=e.tagClass)!==null&&i!==void 0?i:-1,this.tagNumber=(r=e.tagNumber)!==null&&r!==void 0?r:-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",ft}if(this.isConstructed&&(n|=32),this.tagNumber<31&&!this.isHexOnly){const r=new Uint8Array(1);if(!e){let s=this.tagNumber;s&=31,n|=s,r[0]=n}return r.buffer}if(!this.isHexOnly){const r=pn(this.tagNumber,7),s=new Uint8Array(r),o=r.byteLength,c=new Uint8Array(o+1);if(c[0]=n|31,!e){for(let l=0;l<o-1;l++)c[l+1]=s[l]|128;c[o]=s[o-1]}return c.buffer}const i=new Uint8Array(this.valueHexView.byteLength+1);if(i[0]=n|31,!e){const r=this.valueHexView;for(let s=0;s<r.length-1;s++)i[s+1]=r[s]|128;i[this.valueHexView.byteLength]=r[r.length-1]}return i.buffer}fromBER(e,n,i){const r=V.toUint8Array(e);if(!Tt(this,r,n,i))return-1;const s=r.subarray(n,n+i);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,u=this.valueHexView=new Uint8Array(255),p=255;for(;s[l]&128;){if(u[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 _=new Uint8Array(p);for(let k=0;k<u.length;k++)_[k]=u[k];u=this.valueHexView=new Uint8Array(p)}}this.blockLength=l+1,u[l-1]=s[l]&127;const g=new Uint8Array(l);for(let _=0;_<l;_++)g[_]=u[_];u=this.valueHexView=new Uint8Array(l),u.set(g),this.blockLength<=9?this.tagNumber=Pn(u,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}}}Np.NAME="identificationBlock";class Op extends Sn{constructor({lenBlock:e={}}={}){var n,i,r;super(),this.isIndefiniteForm=(n=e.isIndefiniteForm)!==null&&n!==void 0?n:!1,this.longFormUsed=(i=e.longFormUsed)!==null&&i!==void 0?i:!1,this.length=(r=e.length)!==null&&r!==void 0?r:0}fromBER(e,n,i){const r=V.toUint8Array(e);if(!Tt(this,r,n,i))return-1;const s=r.subarray(n,n+i);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 o=s[0]&127;if(o>8)return this.error="Too big integer",-1;if(o+1>s.length)return this.error="End of input reached before message was fully decoded",-1;const c=n+1,l=r.subarray(c,c+o);return l[o-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=Pn(l,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=o+1,n+this.blockLength}toBER(e=!1){let n,i;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return n=new ArrayBuffer(1),e===!1&&(i=new Uint8Array(n),i[0]=128),n;if(this.longFormUsed){const r=pn(this.length,8);if(r.byteLength>127)return this.error="Too big length",ft;if(n=new ArrayBuffer(r.byteLength+1),e)return n;const s=new Uint8Array(r);i=new Uint8Array(n),i[0]=r.byteLength|128;for(let o=0;o<r.byteLength;o++)i[o+1]=s[o];return n}return n=new ArrayBuffer(1),e===!1&&(i=new Uint8Array(n),i[0]=this.length),n}toJSON(){return{...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}}Op.NAME="lengthBlock";const H={};class je extends Sn{constructor({name:e=Ve,optional:n=!1,primitiveSchema:i,...r}={},s){super(r),this.name=e,this.optional=n,i&&(this.primitiveSchema=i),this.idBlock=new Np(r),this.lenBlock=new Op(r),this.valueBlock=s?new s(r):new Pe(r)}fromBER(e,n,i){const r=this.valueBlock.fromBER(e,n,this.lenBlock.isIndefiniteForm?i:this.lenBlock.length);return r===-1?(this.error=this.valueBlock.error,r):(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),r)}toBER(e,n){const i=n||new bs;n||Bp(this);const r=this.idBlock.toBER(e);if(i.write(r),this.lenBlock.isIndefiniteForm)i.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(e,i),i.write(new ArrayBuffer(2));else{const s=this.valueBlock.toBER(e);this.lenBlock.length=s.byteLength;const o=this.lenBlock.toBER(e);i.write(o),i.write(s)}return n?ft:i.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():G.ToHex(this.toBER())}onAsciiEncoding(){return`${this.constructor.NAME} : ${G.ToHex(this.valueBlock.valueBeforeDecodeView)}`}isEqual(e){if(this===e)return!0;if(!(e instanceof this.constructor))return!1;const n=this.toBER(),i=e.toBER();return m_(n,i)}}je.NAME="BaseBlock";function Bp(t){if(t instanceof H.Constructed)for(const e of t.valueBlock.value)Bp(e)&&(t.lenBlock.isIndefiniteForm=!0);return!!t.lenBlock.isIndefiniteForm}class xc extends je{constructor({value:e=Ve,...n}={},i){super(n,i),e&&this.fromString(e)}getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e}fromBER(e,n,i){const r=this.valueBlock.fromBER(e,n,this.lenBlock.isIndefiniteForm?i:this.lenBlock.length);return r===-1?(this.error=this.valueBlock.error,r):(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),r)}onAsciiEncoding(){return`${this.constructor.NAME} : '${this.valueBlock.value}'`}}xc.NAME="BaseStringBlock";class Tp extends xt(Pe){constructor({isHexOnly:e=!0,...n}={}){super(n),this.isHexOnly=e}}Tp.NAME="PrimitiveValueBlock";var Rp;class Pi extends je{constructor(e={}){super(e,Tp),this.idBlock.isConstructed=!1}}Rp=Pi;H.Primitive=Rp;Pi.NAME="PRIMITIVE";function I_(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 Zn(t,e=0,n=t.length){const i=e;let r=new je({},Pe);const s=new Sn;if(!Tt(s,t,e,n))return r.error=s.error,{offset:-1,result:r};if(!t.subarray(e,e+n).length)return r.error="Zero buffer length",{offset:-1,result:r};let c=r.idBlock.fromBER(t,e,n);if(r.idBlock.warnings.length&&r.warnings.concat(r.idBlock.warnings),c===-1)return r.error=r.idBlock.error,{offset:-1,result:r};if(e=c,n-=r.idBlock.blockLength,c=r.lenBlock.fromBER(t,e,n),r.lenBlock.warnings.length&&r.warnings.concat(r.lenBlock.warnings),c===-1)return r.error=r.lenBlock.error,{offset:-1,result:r};if(e=c,n-=r.lenBlock.blockLength,!r.idBlock.isConstructed&&r.lenBlock.isIndefiniteForm)return r.error="Indefinite length form used for primitive encoding form",{offset:-1,result:r};let l=je;switch(r.idBlock.tagClass){case 1:if(r.idBlock.tagNumber>=37&&r.idBlock.isHexOnly===!1)return r.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:r};switch(r.idBlock.tagNumber){case 0:if(r.idBlock.isConstructed&&r.lenBlock.length>0)return r.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:r};l=H.EndOfContent;break;case 1:l=H.Boolean;break;case 2:l=H.Integer;break;case 3:l=H.BitString;break;case 4:l=H.OctetString;break;case 5:l=H.Null;break;case 6:l=H.ObjectIdentifier;break;case 10:l=H.Enumerated;break;case 12:l=H.Utf8String;break;case 13:l=H.RelativeObjectIdentifier;break;case 14:l=H.TIME;break;case 15:return r.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:r};case 16:l=H.Sequence;break;case 17:l=H.Set;break;case 18:l=H.NumericString;break;case 19:l=H.PrintableString;break;case 20:l=H.TeletexString;break;case 21:l=H.VideotexString;break;case 22:l=H.IA5String;break;case 23:l=H.UTCTime;break;case 24:l=H.GeneralizedTime;break;case 25:l=H.GraphicString;break;case 26:l=H.VisibleString;break;case 27:l=H.GeneralString;break;case 28:l=H.UniversalString;break;case 29:l=H.CharacterString;break;case 30:l=H.BmpString;break;case 31:l=H.DATE;break;case 32:l=H.TimeOfDay;break;case 33:l=H.DateTime;break;case 34:l=H.Duration;break;default:{const u=r.idBlock.isConstructed?new H.Constructed:new H.Primitive;u.idBlock=r.idBlock,u.lenBlock=r.lenBlock,u.warnings=r.warnings,r=u}}break;case 2:case 3:case 4:default:l=r.idBlock.isConstructed?H.Constructed:H.Primitive}return r=I_(r,l),c=r.fromBER(t,e,r.lenBlock.isIndefiniteForm?n:r.lenBlock.length),r.valueBeforeDecodeView=t.subarray(i,i+r.blockLength),{offset:c,result:r}}function On(t){if(!t.byteLength){const e=new je({},Pe);return e.error="Input buffer has zero length",{offset:-1,result:e}}return Zn(V.toUint8Array(t).slice(),0,t.byteLength)}function E_(t,e){return t?1:e}class Mt extends Pe{constructor({value:e=[],isIndefiniteForm:n=!1,...i}={}){super(i),this.value=e,this.isIndefiniteForm=n}fromBER(e,n,i){const r=V.toUint8Array(e);if(!Tt(this,r,n,i))return-1;if(this.valueBeforeDecodeView=r.subarray(n,n+i),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),n;let s=n;for(;E_(this.isIndefiniteForm,i)>0;){const o=Zn(r,s,i);if(o.offset===-1)return this.error=o.result.error,this.warnings.concat(o.result.warnings),-1;if(s=o.offset,this.blockLength+=o.result.blockLength,i-=o.result.blockLength,this.value.push(o.result),this.isIndefiniteForm&&o.result.constructor.NAME===ki)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===ki?this.value.pop():this.warnings.push("No EndOfContent block encoded")),s}toBER(e,n){const i=n||new bs;for(let r=0;r<this.value.length;r++)this.value[r].toBER(e,i);return n?ft:i.final()}toJSON(){const e={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(const n of this.value)e.value.push(n.toJSON());return e}}Mt.NAME="ConstructedValueBlock";var Pp;class Me extends je{constructor(e={}){super(e,Mt),this.idBlock.isConstructed=!0}fromBER(e,n,i){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;const r=this.valueBlock.fromBER(e,n,this.lenBlock.isIndefiniteForm?i:this.lenBlock.length);return r===-1?(this.error=this.valueBlock.error,r):(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),r)}onAsciiEncoding(){const e=[];for(const i of this.valueBlock.value)e.push(i.toString("ascii").split(`
|
|
76
|
-
`).map(
|
|
75
|
+
*/function Yi(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function Jc(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 Lt(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 qs{constructor(){this.items=[]}write(e){this.items.push(e)}final(){return Jc(this.items)}}const mr=[new Uint8Array([1])],$u="0123456789",Fo="name",zu="valueHexView",h_="isHexOnly",g_="idBlock",m_="tagClass",__="tagNumber",y_="isConstructed",v_="fromBER",w_="toBER",b_="local",Me="",ht=new ArrayBuffer(0),Ds=new Uint8Array(0),$r="EndOfContent",mf="OCTET STRING",_f="BIT STRING";function Et(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):Ds}get valueHex(){return this.valueHexView.slice().buffer}set valueHex(r){this.valueHexView=new Uint8Array(r)}fromBER(r,i,s){const o=r instanceof ArrayBuffer?new Uint8Array(r):r;if(!Lt(this,o,i,s))return-1;const c=i+s;return this.valueHexView=o.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",ht)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:G.ToHex(this.valueHexView)}}},e.NAME="hexBlock",e}class In{constructor({blockLength:e=0,error:n=Me,warnings:r=[],valueBeforeDecode:i=Ds}={}){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:G.ToHex(this.valueBeforeDecodeView)}}}In.NAME="baseBlock";class Le extends In{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'")}}Le.NAME="valueBlock";class yf extends Et(In){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):Ds,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",ht}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=gn(this.tagNumber,7),s=new Uint8Array(i),o=i.byteLength,c=new Uint8Array(o+1);if(c[0]=n|31,!e){for(let l=0;l<o-1;l++)c[l+1]=s[l]|128;c[o]=s[o-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(!Lt(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,u=this.valueHexView=new Uint8Array(255),p=255;for(;s[l]&128;){if(u[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 y=0;y<u.length;y++)m[y]=u[y];u=this.valueHexView=new Uint8Array(p)}}this.blockLength=l+1,u[l-1]=s[l]&127;const h=new Uint8Array(l);for(let m=0;m<l;m++)h[m]=u[m];u=this.valueHexView=new Uint8Array(l),u.set(h),this.blockLength<=9?this.tagNumber=Mn(u,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 vf extends In{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(!Lt(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 o=s[0]&127;if(o>8)return this.error="Too big integer",-1;if(o+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+o);return l[o-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=Mn(l,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=o+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=gn(this.length,8);if(i.byteLength>127)return this.error="Too big length",ht;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 o=0;o<i.byteLength;o++)r[o+1]=s[o];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}}}vf.NAME="lengthBlock";const H={};class je extends In{constructor({name:e=Me,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 vf(i),this.valueBlock=s?new s(i):new Le(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 qs;n||wf(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 o=this.lenBlock.toBER(e);r.write(o),r.write(s)}return n?ht: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():G.ToHex(this.toBER())}onAsciiEncoding(){return`${this.constructor.NAME} : ${G.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 f_(n,r)}}je.NAME="BaseBlock";function wf(t){if(t instanceof H.Constructed)for(const e of t.valueBlock.value)wf(e)&&(t.lenBlock.isIndefiniteForm=!0);return!!t.lenBlock.isIndefiniteForm}class Zc extends je{constructor({value:e=Me,...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}'`}}Zc.NAME="BaseStringBlock";class bf extends Et(Le){constructor({isHexOnly:e=!0,...n}={}){super(n),this.isHexOnly=e}}bf.NAME="PrimitiveValueBlock";var kf;class Zr extends je{constructor(e={}){super(e,bf),this.idBlock.isConstructed=!1}}kf=Zr;H.Primitive=kf;Zr.NAME="PRIMITIVE";function k_(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 nr(t,e=0,n=t.length){const r=e;let i=new je({},Le);const s=new In;if(!Lt(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=je;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=H.EndOfContent;break;case 1:l=H.Boolean;break;case 2:l=H.Integer;break;case 3:l=H.BitString;break;case 4:l=H.OctetString;break;case 5:l=H.Null;break;case 6:l=H.ObjectIdentifier;break;case 10:l=H.Enumerated;break;case 12:l=H.Utf8String;break;case 13:l=H.RelativeObjectIdentifier;break;case 14:l=H.TIME;break;case 15:return i.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:i};case 16:l=H.Sequence;break;case 17:l=H.Set;break;case 18:l=H.NumericString;break;case 19:l=H.PrintableString;break;case 20:l=H.TeletexString;break;case 21:l=H.VideotexString;break;case 22:l=H.IA5String;break;case 23:l=H.UTCTime;break;case 24:l=H.GeneralizedTime;break;case 25:l=H.GraphicString;break;case 26:l=H.VisibleString;break;case 27:l=H.GeneralString;break;case 28:l=H.UniversalString;break;case 29:l=H.CharacterString;break;case 30:l=H.BmpString;break;case 31:l=H.DATE;break;case 32:l=H.TimeOfDay;break;case 33:l=H.DateTime;break;case 34:l=H.Duration;break;default:{const u=i.idBlock.isConstructed?new H.Constructed:new H.Primitive;u.idBlock=i.idBlock,u.lenBlock=i.lenBlock,u.warnings=i.warnings,i=u}}break;case 2:case 3:case 4:default:l=i.idBlock.isConstructed?H.Constructed:H.Primitive}return i=k_(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 Ln(t){if(!t.byteLength){const e=new je({},Le);return e.error="Input buffer has zero length",{offset:-1,result:e}}return nr(M.toUint8Array(t).slice(),0,t.byteLength)}function x_(t,e){return t?1:e}class Ft extends Le{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(!Lt(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(;x_(this.isIndefiniteForm,r)>0;){const o=nr(i,s,r);if(o.offset===-1)return this.error=o.result.error,this.warnings.concat(o.result.warnings),-1;if(s=o.offset,this.blockLength+=o.result.blockLength,r-=o.result.blockLength,this.value.push(o.result),this.isIndefiniteForm&&o.result.constructor.NAME===$r)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===$r?this.value.pop():this.warnings.push("No EndOfContent block encoded")),s}toBER(e,n){const r=n||new qs;for(let i=0;i<this.value.length;i++)this.value[i].toBER(e,r);return n?ht:r.final()}toJSON(){const e={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(const n of this.value)e.value.push(n.toJSON());return e}}Ft.NAME="ConstructedValueBlock";var xf;class De extends je{constructor(e={}){super(e,Ft),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(`
|
|
76
|
+
`).map(i=>` ${i}`).join(`
|
|
77
77
|
`));const n=this.idBlock.tagClass===3?`[${this.idBlock.tagNumber}]`:this.constructor.NAME;return e.length?`${n} :
|
|
78
78
|
${e.join(`
|
|
79
|
-
`)}`:`${n} :`}}Pp=Me;H.Constructed=Pp;Me.NAME="CONSTRUCTED";class Lp extends Pe{fromBER(e,n,i){return n}toBER(e){return ft}}Lp.override="EndOfContentValueBlock";var Up;class Sc extends je{constructor(e={}){super(e,Lp),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}}Up=Sc;H.EndOfContent=Up;Sc.NAME=ki;var Vp;class fn extends je{constructor(e={}){super(e,Pe),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(e,n,i){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+=i,n+i>e.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):n+i}toBER(e,n){const i=new ArrayBuffer(2);if(!e){const r=new Uint8Array(i);r[0]=5,r[1]=0}return n&&n.write(i),i}onAsciiEncoding(){return`${this.constructor.NAME}`}}Vp=fn;H.Null=Vp;fn.NAME="NULL";class Mp extends xt(Pe){constructor({value:e,...n}={}){super(n),n.valueHex?this.valueHexView=V.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,i){const r=V.toUint8Array(e);return Tt(this,r,n,i)?(this.valueHexView=r.subarray(n,n+i),i>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,zp.call(this),this.blockLength=i,n+i):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}}Mp.NAME="BooleanValueBlock";var Dp;class xs extends je{constructor(e={}){super(e,Mp),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}`}}Dp=xs;H.Boolean=Dp;xs.NAME="BOOLEAN";class Fp extends xt(Mt){constructor({isConstructed:e=!1,...n}={}){super(n),this.isConstructed=e}fromBER(e,n,i){let r=0;if(this.isConstructed){if(this.isHexOnly=!1,r=Mt.prototype.fromBER.call(this,e,n,i),r===-1)return r;for(let s=0;s<this.value.length;s++){const o=this.value[s].constructor.NAME;if(o===ki){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(o!==$p)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,r=super.fromBER(e,n,i),this.blockLength=i;return r}toBER(e,n){return this.isConstructed?Mt.prototype.toBER.call(this,e,n):e?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}}Fp.NAME="OctetStringValueBlock";var Hp;let an=class qp extends je{constructor({idBlock:e={},lenBlock:n={},...i}={}){var r,s;(r=i.isConstructed)!==null&&r!==void 0||(i.isConstructed=!!(!((s=i.value)===null||s===void 0)&&s.length)),super({idBlock:{isConstructed:i.isConstructed,...e},lenBlock:{...n,isIndefiniteForm:!!i.isIndefiniteForm},...i},Fp),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(e,n,i){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,i===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+i);try{if(s.byteLength){const o=Zn(s,0,s.byteLength);o.offset!==-1&&o.offset===i&&(this.valueBlock.value=[o.result])}}catch{}}return super.fromBER(e,n,i)}onAsciiEncoding(){return this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length?Me.prototype.onAsciiEncoding.call(this):`${this.constructor.NAME} : ${G.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 qp&&e.push(n.valueBlock.valueHexView);return V.concat(e)}};Hp=an;H.OctetString=Hp;an.NAME=$p;class Kp extends xt(Mt){constructor({unusedBits:e=0,isConstructed:n=!1,...i}={}){super(i),this.unusedBits=e,this.isConstructed=n,this.blockLength=this.valueHexView.byteLength}fromBER(e,n,i){if(!i)return n;let r=-1;if(this.isConstructed){if(r=Mt.prototype.fromBER.call(this,e,n,i),r===-1)return r;for(const c of this.value){const l=c.constructor.NAME;if(l===ki){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(l!==jp)return this.error="BIT STRING may consists of BIT STRINGs only",-1;const u=c.valueBlock;if(this.unusedBits>0&&u.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=u.unusedBits}return r}const s=V.toUint8Array(e);if(!Tt(this,s,n,i))return-1;const o=s.subarray(n,n+i);if(this.unusedBits=o[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){const c=o.subarray(1);try{if(c.byteLength){const l=Zn(c,0,c.byteLength);l.offset!==-1&&l.offset===i-1&&(this.value=[l.result])}}catch{}}return this.valueHexView=o.subarray(1),this.blockLength=o.length,n+i}toBER(e,n){if(this.isConstructed)return Mt.prototype.toBER.call(this,e,n);if(e)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return ft;const i=new Uint8Array(this.valueHexView.length+1);return i[0]=this.unusedBits,i.set(this.valueHexView,1),i.buffer}toJSON(){return{...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}}Kp.NAME="BitStringValueBlock";var Wp;let cn=class extends je{constructor({idBlock:e={},lenBlock:n={},...i}={}){var r,s;(r=i.isConstructed)!==null&&r!==void 0||(i.isConstructed=!!(!((s=i.value)===null||s===void 0)&&s.length)),super({idBlock:{isConstructed:i.isConstructed,...e},lenBlock:{...n,isIndefiniteForm:!!i.isIndefiniteForm},...i},Kp),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(e,n,i){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(e,n,i)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return Me.prototype.onAsciiEncoding.call(this);{const e=[],n=this.valueBlock.valueHexView;for(const r of n)e.push(r.toString(2).padStart(8,"0"));const i=e.join("");return`${this.constructor.NAME} : ${i.substring(0,i.length-this.valueBlock.unusedBits)}`}}};Wp=cn;H.BitString=Wp;cn.NAME=jp;var Gp;function C_(t,e){const n=new Uint8Array([0]),i=new Uint8Array(t),r=new Uint8Array(e);let s=i.slice(0);const o=s.length-1,c=r.slice(0),l=c.length-1;let u=0;const p=l<o?o:l;let g=0;for(let _=p;_>=0;_--,g++){switch(!0){case g<c.length:u=s[o-g]+c[l-g]+n[0];break;default:u=s[o-g]+n[0]}switch(n[0]=u/10,!0){case g>=s.length:s=Ho(new Uint8Array([u%10]),s);break;default:s[o-g]=u%10}}return n[0]>0&&(s=Ho(n,s)),s}function Yl(t){if(t>=li.length)for(let e=li.length;e<=t;e++){const n=new Uint8Array([0]);let i=li[e-1].slice(0);for(let r=i.length-1;r>=0;r--){const s=new Uint8Array([(i[r]<<1)+n[0]]);n[0]=s[0]/10,i[r]=s[0]%10}n[0]>0&&(i=Ho(n,i)),li.push(i)}return li[t]}function z_(t,e){let n=0;const i=new Uint8Array(t),r=new Uint8Array(e),s=i.slice(0),o=s.length-1,c=r.slice(0),l=c.length-1;let u,p=0;for(let g=l;g>=0;g--,p++)switch(u=s[o-p]-c[l-p]-n,!0){case u<0:n=1,s[o-p]=u+10;break;default:n=0,s[o-p]=u}if(n>0)for(let g=o-l+1;g>=0;g--,p++)if(u=s[o-p]-n,u<0)n=1,s[o-p]=u+10;else{n=0,s[o-p]=u;break}return s.slice()}class Ac extends xt(Pe){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=zp.call(this)))}set valueDec(e){this._valueDec=e,this.isHexOnly=!1,this.valueHexView=new Uint8Array(__(e))}get valueDec(){return this._valueDec}fromDER(e,n,i,r=0){const s=this.fromBER(e,n,i);if(s===-1)return s;const o=this.valueHexView;return o[0]===0&&o[1]&128?this.valueHexView=o.subarray(1):r!==0&&o.length<r&&(r-o.length>1&&(r=o.length+1),this.valueHexView=o.subarray(r-o.length)),s}toDER(e=!1){const n=this.valueHexView;switch(!0){case(n[0]&128)!==0:{const i=new Uint8Array(this.valueHexView.length+1);i[0]=0,i.set(n,1),this.valueHexView=i}break;case(n[0]===0&&(n[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(e)}fromBER(e,n,i){const r=super.fromBER(e,n,i);return r===-1||this.setValueHex(),r}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),i=0,r;const s=this.valueHexView;let o="",c=!1;for(let l=s.byteLength-1;l>=0;l--){r=s[l];for(let u=0;u<8;u++){if((r&1)===1)switch(i){case e:n=z_(Yl(i),n),o="-";break;default:n=C_(n,Yl(i))}i++,r>>=1}}for(let l=0;l<n.length;l++)n[l]&&(c=!0),c&&(o+=Jl.charAt(n[l]));return c===!1&&(o+=Jl.charAt(0)),o}}Gp=Ac;Ac.NAME="IntegerValueBlock";Object.defineProperty(Gp.prototype,"valueHex",{set:function(t){this.valueHexView=new Uint8Array(t),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});var Jp;class wt extends je{constructor(e={}){super(e,Ac),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return $r(),BigInt(this.valueBlock.toString())}static fromBigInt(e){$r();const n=BigInt(e),i=new bs,r=n.toString(16).replace(/^-/,""),s=new Uint8Array(G.FromHex(r));if(n<0){const c=new Uint8Array(s.length+(s[0]&128?1:0));c[0]|=128;const u=BigInt(`0x${G.ToHex(c)}`)+n,p=V.toUint8Array(G.FromHex(u.toString(16)));p[0]|=128,i.write(p)}else s[0]&128&&i.write(new Uint8Array([0])),i.write(s);return new wt({valueHex:i.final()})}convertToDER(){const e=new wt({valueHex:this.valueBlock.valueHexView});return e.valueBlock.toDER(),e}convertFromDER(){return new wt({valueHex:this.valueBlock.valueHexView[0]===0?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()}`}}Jp=wt;H.Integer=Jp;wt.NAME="INTEGER";var Zp;class Ss extends wt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}}Zp=Ss;H.Enumerated=Zp;Ss.NAME="ENUMERATED";class qo extends xt(Pe){constructor({valueDec:e=-1,isFirstSid:n=!1,...i}={}){super(i),this.valueDec=e,this.isFirstSid=n}fromBER(e,n,i){if(!i)return n;const r=V.toUint8Array(e);if(!Tt(this,r,n,i))return-1;const s=r.subarray(n,n+i);this.valueHexView=new Uint8Array(i);for(let c=0;c<i&&(this.valueHexView[c]=s[c]&127,this.blockLength++,!!(s[c]&128));c++);const o=new Uint8Array(this.blockLength);for(let c=0;c<this.blockLength;c++)o[c]=this.valueHexView[c];return this.valueHexView=o,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=Pn(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),n+this.blockLength)}set valueBigInt(e){$r();let n=BigInt(e).toString(2);for(;n.length%7;)n="0"+n;const i=new Uint8Array(n.length/7);for(let r=0;r<i.length;r++)i[r]=parseInt(n.slice(r*7,r*7+7),2)+(r+1<i.length?128:0);this.fromBER(i.buffer,0,i.length)}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);const r=this.valueHexView,s=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength-1;o++)s[o]=r[o]|128;return s[this.blockLength-1]=r[this.blockLength-1],s.buffer}const n=pn(this.valueDec,7);if(n.byteLength===0)return this.error="Error during encoding SID value",ft;const i=new Uint8Array(n.byteLength);if(!e){const r=new Uint8Array(n),s=n.byteLength-1;for(let o=0;o<s;o++)i[o]=r[o]|128;i[s]=r[s]}return i}toString(){let e="";if(this.isHexOnly)e=G.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}}}qo.NAME="sidBlock";class Yp extends Pe{constructor({value:e=Ve,...n}={}){super(n),this.value=[],e&&this.fromString(e)}fromBER(e,n,i){let r=n;for(;i>0;){const s=new qo;if(r=s.fromBER(e,r,i),r===-1)return this.blockLength=0,this.error=s.error,r;this.value.length===0&&(s.isFirstSid=!0),this.blockLength+=s.blockLength,i-=s.blockLength,this.value.push(s)}return r}toBER(e){const n=[];for(let i=0;i<this.value.length;i++){const r=this.value[i].toBER(e);if(r.byteLength===0)return this.error=this.value[i].error,ft;n.push(r)}return kc(n)}fromString(e){this.value=[];let n=0,i=0,r="",s=!1;do if(i=e.indexOf(".",n),i===-1?r=e.substring(n):r=e.substring(n,i),n=i+1,s){const o=this.value[0];let c=0;switch(o.valueDec){case 0:break;case 1:c=40;break;case 2:c=80;break;default:this.value=[];return}const l=parseInt(r,10);if(isNaN(l))return;o.valueDec=l+c,s=!1}else{const o=new qo;if(r>Number.MAX_SAFE_INTEGER){$r();const c=BigInt(r);o.valueBigInt=c}else if(o.valueDec=parseInt(r,10),isNaN(o.valueDec))return;this.value.length||(o.isFirstSid=!0,s=!0),this.value.push(o)}while(i!==-1)}toString(){let e="",n=!1;for(let i=0;i<this.value.length;i++){n=this.value[i].isHexOnly;let r=this.value[i].toString();i!==0&&(e=`${e}.`),n?(r=`{${r}}`,this.value[i].isFirstSid?e=`2.{${r} - 80}`:e+=r):e+=r}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}}Yp.NAME="ObjectIdentifierValueBlock";var Xp;class As extends je{constructor(e={}){super(e,Yp),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()}}}Xp=As;H.ObjectIdentifier=Xp;As.NAME="OBJECT IDENTIFIER";class Ko extends xt(Sn){constructor({valueDec:e=0,...n}={}){super(n),this.valueDec=e}fromBER(e,n,i){if(i===0)return n;const r=V.toUint8Array(e);if(!Tt(this,r,n,i))return-1;const s=r.subarray(n,n+i);this.valueHexView=new Uint8Array(i);for(let c=0;c<i&&(this.valueHexView[c]=s[c]&127,this.blockLength++,!!(s[c]&128));c++);const o=new Uint8Array(this.blockLength);for(let c=0;c<this.blockLength;c++)o[c]=this.valueHexView[c];return this.valueHexView=o,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=Pn(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 r=this.valueHexView,s=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength-1;o++)s[o]=r[o]|128;return s[this.blockLength-1]=r[this.blockLength-1],s.buffer}const n=pn(this.valueDec,7);if(n.byteLength===0)return this.error="Error during encoding SID value",ft;const i=new Uint8Array(n.byteLength);if(!e){const r=new Uint8Array(n),s=n.byteLength-1;for(let o=0;o<s;o++)i[o]=r[o]|128;i[s]=r[s]}return i.buffer}toString(){let e="";return this.isHexOnly?e=G.ToHex(this.valueHexView):e=this.valueDec.toString(),e}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}}Ko.NAME="relativeSidBlock";class Qp extends Pe{constructor({value:e=Ve,...n}={}){super(n),this.value=[],e&&this.fromString(e)}fromBER(e,n,i){let r=n;for(;i>0;){const s=new Ko;if(r=s.fromBER(e,r,i),r===-1)return this.blockLength=0,this.error=s.error,r;this.blockLength+=s.blockLength,i-=s.blockLength,this.value.push(s)}return r}toBER(e,n){const i=[];for(let r=0;r<this.value.length;r++){const s=this.value[r].toBER(e);if(s.byteLength===0)return this.error=this.value[r].error,ft;i.push(s)}return kc(i)}fromString(e){this.value=[];let n=0,i=0,r="";do{i=e.indexOf(".",n),i===-1?r=e.substring(n):r=e.substring(n,i),n=i+1;const s=new Ko;if(s.valueDec=parseInt(r,10),isNaN(s.valueDec))return!0;this.value.push(s)}while(i!==-1);return!0}toString(){let e="",n=!1;for(let i=0;i<this.value.length;i++){n=this.value[i].isHexOnly;let r=this.value[i].toString();i!==0&&(e=`${e}.`),n&&(r=`{${r}}`),e+=r}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}}Qp.NAME="RelativeObjectIdentifierValueBlock";var ef;class Ic extends je{constructor(e={}){super(e,Qp),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()}}}ef=Ic;H.RelativeObjectIdentifier=ef;Ic.NAME="RelativeObjectIdentifier";var tf;class Et extends Me{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}}tf=Et;H.Sequence=tf;Et.NAME="SEQUENCE";var nf;let Ct=class extends Me{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}};nf=Ct;H.Set=nf;Ct.NAME="SET";class rf extends xt(Pe){constructor({...e}={}){super(e),this.isHexOnly=!0,this.value=Ve}toJSON(){return{...super.toJSON(),value:this.value}}}rf.NAME="StringValueBlock";class sf extends rf{}sf.NAME="SimpleStringValueBlock";class Je extends xc{constructor({...e}={}){super(e,sf)}fromBuffer(e){this.valueBlock.value=String.fromCharCode.apply(null,V.toUint8Array(e))}fromString(e){const n=e.length,i=this.valueBlock.valueHexView=new Uint8Array(n);for(let r=0;r<n;r++)i[r]=e.charCodeAt(r);this.valueBlock.value=e}}Je.NAME="SIMPLE STRING";class of extends Je{fromBuffer(e){this.valueBlock.valueHexView=V.toUint8Array(e);try{this.valueBlock.value=G.ToUtf8String(e)}catch(n){this.warnings.push(`Error during "decodeURIComponent": ${n}, using raw string`),this.valueBlock.value=G.ToBinary(e)}}fromString(e){this.valueBlock.valueHexView=new Uint8Array(G.FromUtf8String(e)),this.valueBlock.value=e}}of.NAME="Utf8StringValueBlock";var af;class Rt extends of{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}}af=Rt;H.Utf8String=af;Rt.NAME="UTF8String";class cf extends Je{fromBuffer(e){this.valueBlock.value=G.ToUtf16String(e),this.valueBlock.valueHexView=V.toUint8Array(e)}fromString(e){this.valueBlock.value=e,this.valueBlock.valueHexView=new Uint8Array(G.FromUtf16String(e))}}cf.NAME="BmpStringValueBlock";var lf;class Is extends cf{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}}lf=Is;H.BmpString=lf;Is.NAME="BMPString";class uf extends Je{fromBuffer(e){const n=ArrayBuffer.isView(e)?e.slice().buffer:e.slice(0),i=new Uint8Array(n);for(let r=0;r<i.length;r+=4)i[r]=i[r+3],i[r+1]=i[r+2],i[r+2]=0,i[r+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(n))}fromString(e){const n=e.length,i=this.valueBlock.valueHexView=new Uint8Array(n*4);for(let r=0;r<n;r++){const s=pn(e.charCodeAt(r),8),o=new Uint8Array(s);if(o.length>4)continue;const c=4-o.length;for(let l=o.length-1;l>=0;l--)i[r*4+l+c]=o[l]}this.valueBlock.value=e}}uf.NAME="UniversalStringValueBlock";var df;class Es extends uf{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}}df=Es;H.UniversalString=df;Es.NAME="UniversalString";var pf;class Cs extends Je{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}}pf=Cs;H.NumericString=pf;Cs.NAME="NumericString";var ff;class zs extends Je{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}}ff=zs;H.PrintableString=ff;zs.NAME="PrintableString";var hf;class $s extends Je{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}}hf=$s;H.TeletexString=hf;$s.NAME="TeletexString";var gf;class js extends Je{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}}gf=js;H.VideotexString=gf;js.NAME="VideotexString";var _f;class Ns extends Je{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}}_f=Ns;H.IA5String=_f;Ns.NAME="IA5String";var mf;class Os extends Je{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}}mf=Os;H.GraphicString=mf;Os.NAME="GraphicString";var yf;class Li extends Je{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}}yf=Li;H.VisibleString=yf;Li.NAME="VisibleString";var vf;class Bs extends Je{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}}vf=Bs;H.GeneralString=vf;Bs.NAME="GeneralString";var wf;class Ts extends Je{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}}wf=Ts;H.CharacterString=wf;Ts.NAME="CharacterString";var bf;class Ui extends Li{constructor({value:e,valueDate:n,...i}={}){if(super(i),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 r=0;r<e.length;r++)this.valueBlock.valueHexView[r]=e.charCodeAt(r)}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,V.toUint8Array(e)))}toBuffer(){const e=this.toString(),n=new ArrayBuffer(e.length),i=new Uint8Array(n);for(let r=0;r<e.length;r++)i[r]=e.charCodeAt(r);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 i=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(e);if(i===null){this.error="Wrong input string for conversion";return}const r=parseInt(i[1],10);r>=50?this.year=1900+r:this.year=2e3+r,this.month=parseInt(i[2],10),this.day=parseInt(i[3],10),this.hour=parseInt(i[4],10),this.minute=parseInt(i[5],10),this.second=parseInt(i[6],10)}toString(e="iso"){if(e==="iso"){const n=new Array(7);return n[0]=We(this.year<2e3?this.year-1900:this.year-2e3,2),n[1]=We(this.month,2),n[2]=We(this.day,2),n[3]=We(this.hour,2),n[4]=We(this.minute,2),n[5]=We(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}}}bf=Ui;H.UTCTime=bf;Ui.NAME="UTCTime";var kf;class Rs extends Ui{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,i="",r="",s=0,o,c=0,l=0;if(e[e.length-1]==="Z")i=e.substring(0,e.length-1),n=!0;else{const g=new Number(e[e.length-1]);if(isNaN(g.valueOf()))throw new Error("Wrong input string for conversion");i=e}if(n){if(i.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(i.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else{let g=1,_=i.indexOf("+"),k="";if(_===-1&&(_=i.indexOf("-"),g=-1),_!==-1){if(k=i.substring(_+1),i=i.substring(0,_),k.length!==2&&k.length!==4)throw new Error("Wrong input string for conversion");let h=parseInt(k.substring(0,2),10);if(isNaN(h.valueOf()))throw new Error("Wrong input string for conversion");if(c=g*h,k.length===4){if(h=parseInt(k.substring(2,4),10),isNaN(h.valueOf()))throw new Error("Wrong input string for conversion");l=g*h}}}let u=i.indexOf(".");if(u===-1&&(u=i.indexOf(",")),u!==-1){const g=new Number(`0${i.substring(u)}`);if(isNaN(g.valueOf()))throw new Error("Wrong input string for conversion");s=g.valueOf(),r=i.substring(0,u)}else r=i;switch(!0){case r.length===8:if(o=/(\d{4})(\d{2})(\d{2})/ig,u!==-1)throw new Error("Wrong input string for conversion");break;case r.length===10:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let g=60*s;this.minute=Math.floor(g),g=60*(g-this.minute),this.second=Math.floor(g),g=1e3*(g-this.second),this.millisecond=Math.floor(g)}break;case r.length===12:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let g=60*s;this.second=Math.floor(g),g=1e3*(g-this.second),this.millisecond=Math.floor(g)}break;case r.length===14:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){const g=1e3*s;this.millisecond=Math.floor(g)}break;default:throw new Error("Wrong input string for conversion")}const p=o.exec(r);if(p===null)throw new Error("Wrong input string for conversion");for(let g=1;g<p.length;g++)switch(g){case 1:this.year=parseInt(p[g],10);break;case 2:this.month=parseInt(p[g],10);break;case 3:this.day=parseInt(p[g],10);break;case 4:this.hour=parseInt(p[g],10)+c;break;case 5:this.minute=parseInt(p[g],10)+l;break;case 6:this.second=parseInt(p[g],10);break;default:throw new Error("Wrong input string for conversion")}if(n===!1){const g=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=g.getUTCFullYear(),this.month=g.getUTCMonth(),this.day=g.getUTCDay(),this.hour=g.getUTCHours(),this.minute=g.getUTCMinutes(),this.second=g.getUTCSeconds(),this.millisecond=g.getUTCMilliseconds()}}toString(e="iso"){if(e==="iso"){const n=[];return n.push(We(this.year,4)),n.push(We(this.month,2)),n.push(We(this.day,2)),n.push(We(this.hour,2)),n.push(We(this.minute,2)),n.push(We(this.second,2)),this.millisecond!==0&&(n.push("."),n.push(We(this.millisecond,3))),n.push("Z"),n.join("")}return super.toString(e)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}}kf=Rs;H.GeneralizedTime=kf;Rs.NAME="GeneralizedTime";var xf;class Ec extends Rt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}}xf=Ec;H.DATE=xf;Ec.NAME="DATE";var Sf;class Cc extends Rt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}}Sf=Cc;H.TimeOfDay=Sf;Cc.NAME="TimeOfDay";var Af;class zc extends Rt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}}Af=zc;H.DateTime=Af;zc.NAME="DateTime";var If;class $c extends Rt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}}If=$c;H.Duration=If;$c.NAME="Duration";var Ef;class jc extends Rt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}}Ef=jc;H.TIME=Ef;jc.NAME="TIME";class hn{constructor({name:e=Ve,optional:n=!1}={}){this.name=e,this.optional=n}}class Nc extends hn{constructor({value:e=[],...n}={}){super(n),this.value=e}}class jr extends hn{constructor({value:e=new hn,local:n=!1,...i}={}){super(i),this.value=e,this.local=n}}class $_{constructor({data:e=ks}={}){this.dataView=V.toUint8Array(e)}get data(){return this.dataView.slice().buffer}set data(e){this.dataView=V.toUint8Array(e)}fromBER(e,n,i){const r=n+i;return this.dataView=V.toUint8Array(e).subarray(n,r),r}toBER(e){return this.dataView.slice().buffer}}function rn(t,e,n){if(n instanceof Nc){for(let s=0;s<n.value.length;s++)if(rn(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(So)&&(s.name=n.name),s}}if(n instanceof hn)return n.hasOwnProperty(So)&&(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(!(v_ in n))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(x_ in n.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(S_ in n.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};const i=n.idBlock.toBER(!1);if(i.byteLength===0)return{verified:!1,result:{error:"Error encoding idBlock for ASN.1 schema"}};if(n.idBlock.fromBER(i,0,i.byteLength)===-1)return{verified:!1,result:{error:"Error decoding idBlock for ASN.1 schema"}};if(n.idBlock.hasOwnProperty(w_)===!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(b_)===!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(k_)===!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(n.idBlock.isConstructed!==e.idBlock.isConstructed)return{verified:!1,result:t};if(!(y_ 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(!(Zl in n.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};const s=n.idBlock.valueHexView,o=e.idBlock.valueHexView;if(s.length!==o.length)return{verified:!1,result:t};for(let c=0;c<s.length;c++)if(s[c]!==o[1])return{verified:!1,result:t}}if(n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,Ve),n.name&&(t[n.name]=e)),n instanceof H.Constructed){let s=0,o={verified:!1,result:{error:"Unknown error"}},c=n.valueBlock.value.length;if(c>0&&n.valueBlock.value[0]instanceof jr&&(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 u=0;u<n.valueBlock.value.length;u++)l=l&&(n.valueBlock.value[u].optional||!1);return l?{verified:!0,result:t}:(n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,Ve),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 u={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,Ve),n.name&&(delete t[n.name],u.name=n.name)),u}}else if(n.valueBlock.value[0]instanceof jr){if(o=rn(t,e.valueBlock.value[l],n.valueBlock.value[0].value),o.verified===!1)if(n.valueBlock.value[0].optional)s++;else return n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,Ve),n.name&&delete t[n.name]),o;if(So in n.valueBlock.value[0]&&n.valueBlock.value[0].name.length>0){let u={};A_ in n.valueBlock.value[0]&&n.valueBlock.value[0].local?u=e:u=t,typeof u[n.valueBlock.value[0].name]>"u"&&(u[n.valueBlock.value[0].name]=[]),u[n.valueBlock.value[0].name].push(e.valueBlock.value[l])}}else if(o=rn(t,e.valueBlock.value[l-s],n.valueBlock.value[l]),o.verified===!1)if(n.valueBlock.value[l].optional)s++;else return n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,Ve),n.name&&delete t[n.name]),o;if(o.verified===!1){const l={verified:!1,result:t};return n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,Ve),n.name&&(delete t[n.name],l.name=n.name)),l}return{verified:!0,result:t}}if(n.primitiveSchema&&Zl in e.valueBlock){const s=Zn(e.valueBlock.valueHexView);if(s.offset===-1){const o={verified:!1,result:s.result};return n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,Ve),n.name&&(delete t[n.name],o.name=n.name)),o}return rn(t,s.result,n.primitiveSchema)}return{verified:!0,result:t}}function j_(t,e){if(!(e instanceof Object))return{verified:!1,result:{error:"Wrong ASN.1 schema type"}};const n=Zn(V.toUint8Array(t));return n.offset===-1?{verified:!1,result:n.result}:rn(n.result,n.result,e)}const Cf=Object.freeze(Object.defineProperty({__proto__:null,Any:hn,BaseBlock:je,BaseStringBlock:xc,BitString:cn,BmpString:Is,Boolean:xs,CharacterString:Ts,Choice:Nc,Constructed:Me,DATE:Ec,DateTime:zc,Duration:$c,EndOfContent:Sc,Enumerated:Ss,GeneralString:Bs,GeneralizedTime:Rs,GraphicString:Os,HexBlock:xt,IA5String:Ns,Integer:wt,Null:fn,NumericString:Cs,ObjectIdentifier:As,OctetString:an,Primitive:Pi,PrintableString:zs,RawData:$_,RelativeObjectIdentifier:Ic,Repeated:jr,Sequence:Et,Set:Ct,TIME:jc,TeletexString:$s,TimeOfDay:Cc,UTCTime:Ui,UniversalString:Es,Utf8String:Rt,ValueBlock:Pe,VideotexString:js,ViewWriter:bs,VisibleString:Li,compareSchema:rn,fromBER:On,verifySchema:j_},Symbol.toStringTag,{value:"Module"}));var N;(function(t){t[t.Sequence=0]="Sequence",t[t.Set=1]="Set",t[t.Choice=2]="Choice"})(N||(N={}));var y;(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"})(y||(y={}));class Ps{constructor(e,n=0){if(this.unusedBits=0,this.value=new ArrayBuffer(0),e)if(typeof e=="number")this.fromNumber(e);else if(V.isBufferSource(e))this.unusedBits=n,this.value=V.toArrayBuffer(e);else throw TypeError("Unsupported type of 'params' argument for BitString")}fromASN(e){if(!(e instanceof cn))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 cn({unusedBits:this.unusedBits,valueHex:this.value})}toSchema(e){return new cn({name:e})}toNumber(){let e="";const n=new Uint8Array(this.value);for(const i of n)e+=i.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 i=n.length+7>>3;this.unusedBits=(i<<3)-n.length;const r=new Uint8Array(i);n=n.padStart(i<<3,"0").split("").reverse().join("");let s=0;for(;s<i;)r[s]=parseInt(n.slice(s<<3,(s<<3)+8),2),s++;this.value=r.buffer}}class oe{get byteLength(){return this.buffer.byteLength}get byteOffset(){return 0}constructor(e){typeof e=="number"?this.buffer=new ArrayBuffer(e):V.isBufferSource(e)?this.buffer=V.toArrayBuffer(e):Array.isArray(e)?this.buffer=new Uint8Array(e):this.buffer=new ArrayBuffer(0)}fromASN(e){if(!(e instanceof an))throw new TypeError("Argument 'asn' is not instance of ASN.1 OctetString");return this.buffer=e.valueBlock.valueHex,this}toASN(){return new an({valueHex:this.buffer})}toSchema(e){return new an({name:e})}}const N_={fromASN:t=>t instanceof fn?null:t.valueBeforeDecodeView,toASN:t=>{if(t===null)return new fn;const e=On(t);if(e.result.error)throw new Error(e.result.error);return e.result}},O_={fromASN:t=>t.valueBlock.valueHexView.byteLength>=4?t.valueBlock.toString():t.valueBlock.valueDec,toASN:t=>new wt({value:+t})},B_={fromASN:t=>t.valueBlock.valueDec,toASN:t=>new Ss({value:t})},me={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new wt({valueHex:t})},T_={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new cn({valueHex:t})},R_={fromASN:t=>t.valueBlock.toString(),toASN:t=>new As({value:t})},P_={fromASN:t=>t.valueBlock.value,toASN:t=>new xs({value:t})},Nr={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new an({valueHex:t})},L_={fromASN:t=>new oe(t.getValue()),toASN:t=>t.toASN()};function nt(t){return{fromASN:e=>e.valueBlock.value,toASN:e=>new t({value:e})}}const zf=nt(Rt),U_=nt(Is),V_=nt(Es),M_=nt(Cs),D_=nt(zs),F_=nt($s),H_=nt(js),q_=nt(Ns),K_=nt(Os),W_=nt(Li),G_=nt(Bs),J_=nt(Ts),Z_={fromASN:t=>t.toDate(),toASN:t=>new Ui({valueDate:t})},Y_={fromASN:t=>t.toDate(),toASN:t=>new Rs({valueDate:t})},X_={fromASN:()=>null,toASN:()=>new fn};function Oc(t){switch(t){case y.Any:return N_;case y.BitString:return T_;case y.BmpString:return U_;case y.Boolean:return P_;case y.CharacterString:return J_;case y.Enumerated:return B_;case y.GeneralString:return G_;case y.GeneralizedTime:return Y_;case y.GraphicString:return K_;case y.IA5String:return q_;case y.Integer:return O_;case y.Null:return X_;case y.NumericString:return M_;case y.ObjectIdentifier:return R_;case y.OctetString:return Nr;case y.PrintableString:return D_;case y.TeletexString:return F_;case y.UTCTime:return Z_;case y.UniversalString:return V_;case y.Utf8String:return zf;case y.VideotexString:return H_;case y.VisibleString:return W_;default:return null}}function It(t){return typeof t=="function"&&t.prototype?t.prototype.toASN&&t.prototype.fromASN?!0:It(t.prototype):!!(t&&typeof t=="object"&&"toASN"in t&&"fromASN"in t)}function $f(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:$f(n)}return!1}function Q_(t,e){if(!(t&&e)||t.byteLength!==e.byteLength)return!1;const n=new Uint8Array(t),i=new Uint8Array(e);for(let r=0;r<t.byteLength;r++)if(n[r]!==i[r])return!1;return!0}class em{constructor(){this.items=new WeakMap}has(e){return this.items.has(e)}get(e,n=!1){const i=this.items.get(e);if(!i)throw new Error(`Cannot get schema for '${e.prototype.constructor.name}' target`);if(n&&!i.schema)throw new Error(`Schema '${e.prototype.constructor.name}' doesn't contain ASN.1 schema. Call 'AsnSchemaStorage.cache'.`);return i}cache(e){const n=this.get(e);n.schema||(n.schema=this.create(e,!0))}createDefault(e){const n={type:N.Sequence,items:{}},i=this.findParentSchema(e);return i&&(Object.assign(n,i),n.items=Object.assign({},n.items,i.items)),n}create(e,n){const i=this.items.get(e)||this.createDefault(e),r=[];for(const s in i.items){const o=i.items[s],c=n?s:"";let l;if(typeof o.type=="number"){const p=y[o.type],g=Cf[p];if(!g)throw new Error(`Cannot get ASN1 class by name '${p}'`);l=new g({name:c})}else It(o.type)?l=new o.type().toSchema(c):o.optional?this.get(o.type).type===N.Choice?l=new hn({name:c}):(l=this.create(o.type,!1),l.name=c):l=new hn({name:c});const u=!!o.optional||o.defaultValue!==void 0;if(o.repeated){l.name="";const p=o.repeated==="set"?Ct:Et;l=new p({name:"",value:[new jr({name:c,value:l})]})}if(o.context!==null&&o.context!==void 0)if(o.implicit)if(typeof o.type=="number"||It(o.type)){const p=o.repeated?Me:Pi;r.push(new p({name:c,optional:u,idBlock:{tagClass:3,tagNumber:o.context}}))}else{this.cache(o.type);const p=!!o.repeated;let g=p?l:this.get(o.type,!0).schema;g="valueBlock"in g?g.valueBlock.value:g.value,r.push(new Me({name:p?"":c,optional:u,idBlock:{tagClass:3,tagNumber:o.context},value:g}))}else r.push(new Me({optional:u,idBlock:{tagClass:3,tagNumber:o.context},value:[l]}));else l.optional=u,r.push(l)}switch(i.type){case N.Sequence:return new Et({value:r,name:""});case N.Set:return new Ct({value:r,name:""});case N.Choice:return new Nc({value:r,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 Xe=new em,B=t=>e=>{let n;Xe.has(e)?n=Xe.get(e):(n=Xe.createDefault(e),Xe.set(e,n)),Object.assign(n,t)},f=t=>(e,n)=>{let i;Xe.has(e.constructor)?i=Xe.get(e.constructor):(i=Xe.createDefault(e.constructor),Xe.set(e.constructor,i));const r=Object.assign({},t);if(typeof r.type=="number"&&!r.converter){const s=Oc(t.type);if(!s)throw new Error(`Cannot get default converter for property '${n}' of ${e.constructor.name}`);r.converter=s}i.items[n]=r};class Xl extends Error{constructor(){super(...arguments),this.schemas=[]}}class tm{static parse(e,n){const i=On(e);if(i.result.error)throw new Error(i.result.error);return this.fromASN(i.result,n)}static fromASN(e,n){var i;try{if(It(n))return new n().fromASN(e);const r=Xe.get(n);Xe.cache(n);let s=r.schema;if(e.constructor===Me&&r.type!==N.Choice){s=new Me({idBlock:{tagClass:3,tagNumber:e.idBlock.tagNumber},value:r.schema.valueBlock.value});for(const l in r.items)delete e[l]}const o=rn({},e,s);if(!o.verified)throw new Xl(`Data does not match to ${n.name} ASN1 schema. ${o.result.error}`);const c=new n;if($f(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=r.itemType;if(typeof l=="number"){const u=Oc(l);if(!u)throw new Error(`Cannot get default converter for array item of ${n.name} ASN1 schema`);return n.from(e.valueBlock.value,p=>u.fromASN(p))}else return n.from(e.valueBlock.value,u=>this.fromASN(u,l))}for(const l in r.items){const u=o.result[l];if(!u)continue;const p=r.items[l],g=p.type;if(typeof g=="number"||It(g)){const _=(i=p.converter)!==null&&i!==void 0?i:It(g)?new g:null;if(!_)throw new Error("Converter is empty");if(p.repeated)if(p.implicit){const k=p.repeated==="sequence"?Et:Ct,h=new k;h.valueBlock=u.valueBlock;const m=On(h.toBER(!1));if(m.offset===-1)throw new Error(`Cannot parse the child item. ${m.result.error}`);if(!("value"in m.result.valueBlock&&Array.isArray(m.result.valueBlock.value)))throw new Error("Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.");const b=m.result.valueBlock.value;c[l]=Array.from(b,S=>_.fromASN(S))}else c[l]=Array.from(u,k=>_.fromASN(k));else{let k=u;if(p.implicit){let h;if(It(g))h=new g().toSchema("");else{const m=y[g],b=Cf[m];if(!b)throw new Error(`Cannot get '${m}' class from asn1js module`);h=new b}h.valueBlock=k.valueBlock,k=On(h.toBER(!1)).result}c[l]=_.fromASN(k)}}else if(p.repeated){if(!Array.isArray(u))throw new Error("Cannot get list of items from the ASN.1 parsed value. ASN.1 value should be iterable.");c[l]=Array.from(u,_=>this.fromASN(_,g))}else c[l]=this.fromASN(u,g)}return c}catch(r){throw r instanceof Xl&&r.schemas.push(n.name),r}}}class Bc{static serialize(e){return e instanceof je?e.toBER(!1):this.toASN(e).toBER(!1)}static toASN(e){if(e&&typeof e=="object"&&It(e))return e.toASN();if(!(e&&typeof e=="object"))throw new TypeError("Parameter 1 should be type of Object.");const n=e.constructor,i=Xe.get(n);Xe.cache(n);let r=[];if(i.itemType){if(!Array.isArray(e))throw new TypeError("Parameter 1 should be type of Array.");if(typeof i.itemType=="number"){const o=Oc(i.itemType);if(!o)throw new Error(`Cannot get default converter for array item of ${n.name} ASN1 schema`);r=e.map(c=>o.toASN(c))}else r=e.map(o=>this.toAsnItem({type:i.itemType},"[]",n,o))}else for(const o in i.items){const c=i.items[o],l=e[o];if(l===void 0||c.defaultValue===l||typeof c.defaultValue=="object"&&typeof l=="object"&&Q_(this.serialize(c.defaultValue),this.serialize(l)))continue;const u=Bc.toAsnItem(c,o,n,l);if(typeof c.context=="number")if(c.implicit)if(!c.repeated&&(typeof c.type=="number"||It(c.type))){const p={};p.valueHex=u instanceof fn?u.valueBeforeDecodeView:u.valueBlock.toBER(),r.push(new Pi({optional:c.optional,idBlock:{tagClass:3,tagNumber:c.context},...p}))}else r.push(new Me({optional:c.optional,idBlock:{tagClass:3,tagNumber:c.context},value:u.valueBlock.value}));else r.push(new Me({optional:c.optional,idBlock:{tagClass:3,tagNumber:c.context},value:[u]}));else c.repeated?r=r.concat(u):r.push(u)}let s;switch(i.type){case N.Sequence:s=new Et({value:r});break;case N.Set:s=new Ct({value:r});break;case N.Choice:if(!r[0])throw new Error(`Schema '${n.name}' has wrong data. Choice cannot be empty.`);s=r[0];break}return s}static toAsnItem(e,n,i,r){let s;if(typeof e.type=="number"){const o=e.converter;if(!o)throw new Error(`Property '${n}' doesn't have converter for type ${y[e.type]} in schema '${i.name}'`);if(e.repeated){if(!Array.isArray(r))throw new TypeError("Parameter 'objProp' should be type of Array.");const c=Array.from(r,u=>o.toASN(u)),l=e.repeated==="sequence"?Et:Ct;s=new l({value:c})}else s=o.toASN(r)}else if(e.repeated){if(!Array.isArray(r))throw new TypeError("Parameter 'objProp' should be type of Array.");const o=Array.from(r,l=>this.toASN(l)),c=e.repeated==="sequence"?Et:Ct;s=new c({value:o})}else s=this.toASN(r);return s}}class de extends Array{constructor(e=[]){if(typeof e=="number")super(e);else{super();for(const n of e)this.push(n)}}}class U{static serialize(e){return Bc.serialize(e)}static parse(e,n){return tm.parse(e,n)}static toString(e){const n=V.isBufferSource(e)?V.toArrayBuffer(e):U.serialize(e),i=On(n);if(i.offset===-1)throw new Error(`Cannot decode ASN.1 data. ${i.result.error}`);return i.result.toString()}}function d(t,e,n,i){var r=arguments.length,s=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,n):i,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(t,e,n,i);else for(var c=t.length-1;c>=0;c--)(o=t[c])&&(s=(r<3?o(s):r>3?o(e,n,s):o(e,n))||s);return r>3&&s&&Object.defineProperty(e,n,s),s}var jf={exports:{}};(function(t){(function(e){const n="(0?\\d+|0x[a-f0-9]+)",i={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")},r=new RegExp("^0[0-7]+$","i"),s=new RegExp("^0x[a-f0-9]+$","i"),o="%[0-9a-z]{1,}",c="(?:[0-9a-f]+::?)+",l={zoneIndex:new RegExp(o,"i"),native:new RegExp(`^(::)?(${c})?([0-9a-f]+)?(::)?(${o})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${n}\\.${n}\\.${n}\\.${n}(${o})?)$`,"i"),transitional:new RegExp(`^((?:${c})|(?:::)(?:${c})?)${n}\\.${n}\\.${n}\\.${n}(${o})?$`,"i")};function u(h,m){if(h.indexOf("::")!==h.lastIndexOf("::"))return null;let b=0,S=-1,O=(h.match(l.zoneIndex)||[])[0],T,K;for(O&&(O=O.substring(1),h=h.replace(/%.+$/,""));(S=h.indexOf(":",S+1))>=0;)b++;if(h.substr(0,2)==="::"&&b--,h.substr(-2,2)==="::"&&b--,b>m)return null;for(K=m-b,T=":";K--;)T+="0:";return h=h.replace("::",T),h[0]===":"&&(h=h.slice(1)),h[h.length-1]===":"&&(h=h.slice(0,-1)),m=function(){const ce=h.split(":"),he=[];for(let ue=0;ue<ce.length;ue++)he.push(parseInt(ce[ue],16));return he}(),{parts:m,zoneId:O}}function p(h,m,b,S){if(h.length!==m.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let O=0,T;for(;S>0;){if(T=b-S,T<0&&(T=0),h[O]>>T!==m[O]>>T)return!1;S-=b,O+=1}return!0}function g(h){if(s.test(h))return parseInt(h,16);if(h[0]==="0"&&!isNaN(parseInt(h[1],10))){if(r.test(h))return parseInt(h,8);throw new Error(`ipaddr: cannot parse ${h} as octal`)}return parseInt(h,10)}function _(h,m){for(;h.length<m;)h=`0${h}`;return h}const k={};k.IPv4=function(){function h(m){if(m.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let b,S;for(b=0;b<m.length;b++)if(S=m[b],!(0<=S&&S<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=m}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(m,b){let S;if(b===void 0&&(S=m,m=S[0],b=S[1]),m.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return p(this.octets,m.octets,8,b)},h.prototype.prefixLengthFromSubnetMask=function(){let m=0,b=!1;const S={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0};let O,T,K;for(O=3;O>=0;O-=1)if(T=this.octets[O],T in S){if(K=S[T],b&&K!==0)return null;K!==8&&(b=!0),m+=K}else return null;return 32-m},h.prototype.range=function(){return k.subnetMatch(this,this.SpecialRanges)},h.prototype.toByteArray=function(){return this.octets.slice(0)},h.prototype.toIPv4MappedAddress=function(){return k.IPv6.parse(`::ffff:${this.toString()}`)},h.prototype.toNormalizedString=function(){return this.toString()},h.prototype.toString=function(){return this.octets.join(".")},h}(),k.IPv4.broadcastAddressFromCIDR=function(h){try{const m=this.parseCIDR(h),b=m[0].toByteArray(),S=this.subnetMaskFromPrefixLength(m[1]).toByteArray(),O=[];let T=0;for(;T<4;)O.push(parseInt(b[T],10)|parseInt(S[T],10)^255),T++;return new this(O)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},k.IPv4.isIPv4=function(h){return this.parser(h)!==null},k.IPv4.isValid=function(h){try{return new this(this.parser(h)),!0}catch{return!1}},k.IPv4.isValidCIDR=function(h){try{return this.parseCIDR(h),!0}catch{return!1}},k.IPv4.isValidFourPartDecimal=function(h){return!!(k.IPv4.isValid(h)&&h.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},k.IPv4.networkAddressFromCIDR=function(h){let m,b,S,O,T;try{for(m=this.parseCIDR(h),S=m[0].toByteArray(),T=this.subnetMaskFromPrefixLength(m[1]).toByteArray(),O=[],b=0;b<4;)O.push(parseInt(S[b],10)&parseInt(T[b],10)),b++;return new this(O)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},k.IPv4.parse=function(h){const m=this.parser(h);if(m===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(m)},k.IPv4.parseCIDR=function(h){let m;if(m=h.match(/^(.+)\/(\d+)$/)){const b=parseInt(m[2]);if(b>=0&&b<=32){const S=[this.parse(m[1]),b];return Object.defineProperty(S,"toString",{value:function(){return this.join("/")}}),S}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},k.IPv4.parser=function(h){let m,b,S;if(m=h.match(i.fourOctet))return function(){const O=m.slice(1,6),T=[];for(let K=0;K<O.length;K++)b=O[K],T.push(g(b));return T}();if(m=h.match(i.longValue)){if(S=g(m[1]),S>4294967295||S<0)throw new Error("ipaddr: address outside defined range");return function(){const O=[];let T;for(T=0;T<=24;T+=8)O.push(S>>T&255);return O}().reverse()}else return(m=h.match(i.twoOctet))?function(){const O=m.slice(1,4),T=[];if(S=g(O[1]),S>16777215||S<0)throw new Error("ipaddr: address outside defined range");return T.push(g(O[0])),T.push(S>>16&255),T.push(S>>8&255),T.push(S&255),T}():(m=h.match(i.threeOctet))?function(){const O=m.slice(1,5),T=[];if(S=g(O[2]),S>65535||S<0)throw new Error("ipaddr: address outside defined range");return T.push(g(O[0])),T.push(g(O[1])),T.push(S>>8&255),T.push(S&255),T}():null},k.IPv4.subnetMaskFromPrefixLength=function(h){if(h=parseInt(h),h<0||h>32)throw new Error("ipaddr: invalid IPv4 prefix length");const m=[0,0,0,0];let b=0;const S=Math.floor(h/8);for(;b<S;)m[b]=255,b++;return S<4&&(m[S]=Math.pow(2,h%8)-1<<8-h%8),new this(m)},k.IPv6=function(){function h(m,b){let S,O;if(m.length===16)for(this.parts=[],S=0;S<=14;S+=2)this.parts.push(m[S]<<8|m[S+1]);else if(m.length===8)this.parts=m;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(S=0;S<this.parts.length;S++)if(O=this.parts[S],!(0<=O&&O<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");b&&(this.zoneId=b)}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(m,b){let S;if(b===void 0&&(S=m,m=S[0],b=S[1]),m.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return p(this.parts,m.parts,16,b)},h.prototype.prefixLengthFromSubnetMask=function(){let m=0,b=!1;const S={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 O,T;for(let K=7;K>=0;K-=1)if(O=this.parts[K],O in S){if(T=S[O],b&&T!==0)return null;T!==16&&(b=!0),m+=T}else return null;return 128-m},h.prototype.range=function(){return k.subnetMatch(this,this.SpecialRanges)},h.prototype.toByteArray=function(){let m;const b=[],S=this.parts;for(let O=0;O<S.length;O++)m=S[O],b.push(m>>8),b.push(m&255);return b},h.prototype.toFixedLengthString=function(){const m=(function(){const S=[];for(let O=0;O<this.parts.length;O++)S.push(_(this.parts[O].toString(16),4));return S}).call(this).join(":");let b="";return this.zoneId&&(b=`%${this.zoneId}`),m+b},h.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");const m=this.parts.slice(-2),b=m[0],S=m[1];return new k.IPv4([b>>8,b&255,S>>8,S&255])},h.prototype.toNormalizedString=function(){const m=(function(){const S=[];for(let O=0;O<this.parts.length;O++)S.push(this.parts[O].toString(16));return S}).call(this).join(":");let b="";return this.zoneId&&(b=`%${this.zoneId}`),m+b},h.prototype.toRFC5952String=function(){const m=/((^|:)(0(:|$)){2,})/g,b=this.toNormalizedString();let S=0,O=-1,T;for(;T=m.exec(b);)T[0].length>O&&(S=T.index,O=T[0].length);return O<0?b:`${b.substring(0,S)}::${b.substring(S+O)}`},h.prototype.toString=function(){return this.toRFC5952String()},h}(),k.IPv6.broadcastAddressFromCIDR=function(h){try{const m=this.parseCIDR(h),b=m[0].toByteArray(),S=this.subnetMaskFromPrefixLength(m[1]).toByteArray(),O=[];let T=0;for(;T<16;)O.push(parseInt(b[T],10)|parseInt(S[T],10)^255),T++;return new this(O)}catch(m){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${m})`)}},k.IPv6.isIPv6=function(h){return this.parser(h)!==null},k.IPv6.isValid=function(h){if(typeof h=="string"&&h.indexOf(":")===-1)return!1;try{const m=this.parser(h);return new this(m.parts,m.zoneId),!0}catch{return!1}},k.IPv6.isValidCIDR=function(h){if(typeof h=="string"&&h.indexOf(":")===-1)return!1;try{return this.parseCIDR(h),!0}catch{return!1}},k.IPv6.networkAddressFromCIDR=function(h){let m,b,S,O,T;try{for(m=this.parseCIDR(h),S=m[0].toByteArray(),T=this.subnetMaskFromPrefixLength(m[1]).toByteArray(),O=[],b=0;b<16;)O.push(parseInt(S[b],10)&parseInt(T[b],10)),b++;return new this(O)}catch(K){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${K})`)}},k.IPv6.parse=function(h){const m=this.parser(h);if(m.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(m.parts,m.zoneId)},k.IPv6.parseCIDR=function(h){let m,b,S;if((b=h.match(/^(.+)\/(\d+)$/))&&(m=parseInt(b[2]),m>=0&&m<=128))return S=[this.parse(b[1]),m],Object.defineProperty(S,"toString",{value:function(){return this.join("/")}}),S;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},k.IPv6.parser=function(h){let m,b,S,O,T,K;if(S=h.match(l.deprecatedTransitional))return this.parser(`::ffff:${S[1]}`);if(l.native.test(h))return u(h,8);if((S=h.match(l.transitional))&&(K=S[6]||"",m=S[1],S[1].endsWith("::")||(m=m.slice(0,-1)),m=u(m+K,6),m.parts)){for(T=[parseInt(S[2]),parseInt(S[3]),parseInt(S[4]),parseInt(S[5])],b=0;b<T.length;b++)if(O=T[b],!(0<=O&&O<=255))return null;return m.parts.push(T[0]<<8|T[1]),m.parts.push(T[2]<<8|T[3]),{parts:m.parts,zoneId:m.zoneId}}return null},k.IPv6.subnetMaskFromPrefixLength=function(h){if(h=parseInt(h),h<0||h>128)throw new Error("ipaddr: invalid IPv6 prefix length");const m=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];let b=0;const S=Math.floor(h/8);for(;b<S;)m[b]=255,b++;return S<16&&(m[S]=Math.pow(2,h%8)-1<<8-h%8),new this(m)},k.fromByteArray=function(h){const m=h.length;if(m===4)return new k.IPv4(h);if(m===16)return new k.IPv6(h);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},k.isValid=function(h){return k.IPv6.isValid(h)||k.IPv4.isValid(h)},k.isValidCIDR=function(h){return k.IPv6.isValidCIDR(h)||k.IPv4.isValidCIDR(h)},k.parse=function(h){if(k.IPv6.isValid(h))return k.IPv6.parse(h);if(k.IPv4.isValid(h))return k.IPv4.parse(h);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},k.parseCIDR=function(h){try{return k.IPv6.parseCIDR(h)}catch{try{return k.IPv4.parseCIDR(h)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},k.process=function(h){const m=this.parse(h);return m.kind()==="ipv6"&&m.isIPv4MappedAddress()?m.toIPv4Address():m},k.subnetMatch=function(h,m,b){let S,O,T,K;b==null&&(b="unicast");for(O in m)if(Object.prototype.hasOwnProperty.call(m,O)){for(T=m[O],T[0]&&!(T[0]instanceof Array)&&(T=[T]),S=0;S<T.length;S++)if(K=T[S],h.kind()===K[0].kind()&&h.match.apply(h,K))return O}return b},t.exports?t.exports=k:e.ipaddr=k})(zr)})(jf);var Ql=jf.exports;class eu{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((r,s)=>r+ +s,0);let i=e.slice(0,8).replace(/(.{2})/g,r=>`${parseInt(r,16)}.`);return i=i.slice(0,-1),`${i}/${n}`}static toString(e){if(e.byteLength===4||e.byteLength===16){const n=new Uint8Array(e);return Ql.fromByteArray(Array.from(n)).toString()}return this.decodeIP(G.ToHex(e))}static fromString(e){const n=Ql.parse(e);return new Uint8Array(n.toByteArray()).buffer}}var Wo,Go,Jo;let Ne=class{constructor(e={}){Object.assign(this,e)}toString(){return this.bmpString||this.printableString||this.teletexString||this.universalString||this.utf8String||""}};d([f({type:y.TeletexString})],Ne.prototype,"teletexString",void 0);d([f({type:y.PrintableString})],Ne.prototype,"printableString",void 0);d([f({type:y.UniversalString})],Ne.prototype,"universalString",void 0);d([f({type:y.Utf8String})],Ne.prototype,"utf8String",void 0);d([f({type:y.BmpString})],Ne.prototype,"bmpString",void 0);Ne=d([B({type:N.Choice})],Ne);let Ln=class extends Ne{constructor(e={}){super(e),Object.assign(this,e)}toString(){return this.ia5String||(this.anyValue?G.ToHex(this.anyValue):super.toString())}};d([f({type:y.IA5String})],Ln.prototype,"ia5String",void 0);d([f({type:y.Any})],Ln.prototype,"anyValue",void 0);Ln=d([B({type:N.Choice})],Ln);class Ls{constructor(e={}){this.type="",this.value=new Ln,Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],Ls.prototype,"type",void 0);d([f({type:Ln})],Ls.prototype,"value",void 0);let Un=Wo=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Wo.prototype)}};Un=Wo=d([B({type:N.Set,itemType:Ls})],Un);let Zo=Go=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Go.prototype)}};Zo=Go=d([B({type:N.Sequence,itemType:Un})],Zo);let ke=Jo=class extends Zo{constructor(e){super(e),Object.setPrototypeOf(this,Jo.prototype)}};ke=Jo=d([B({type:N.Sequence})],ke);const nm={fromASN:t=>eu.toString(Nr.fromASN(t)),toASN:t=>Nr.toASN(eu.fromString(t))};class xi{constructor(e={}){this.typeId="",this.value=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],xi.prototype,"typeId",void 0);d([f({type:y.Any,context:0})],xi.prototype,"value",void 0);class Tc{constructor(e={}){this.partyName=new Ne,Object.assign(this,e)}}d([f({type:Ne,optional:!0,context:0,implicit:!0})],Tc.prototype,"nameAssigner",void 0);d([f({type:Ne,context:1,implicit:!0})],Tc.prototype,"partyName",void 0);let te=class{constructor(e={}){Object.assign(this,e)}};d([f({type:xi,context:0,implicit:!0})],te.prototype,"otherName",void 0);d([f({type:y.IA5String,context:1,implicit:!0})],te.prototype,"rfc822Name",void 0);d([f({type:y.IA5String,context:2,implicit:!0})],te.prototype,"dNSName",void 0);d([f({type:y.Any,context:3,implicit:!0})],te.prototype,"x400Address",void 0);d([f({type:ke,context:4,implicit:!1})],te.prototype,"directoryName",void 0);d([f({type:Tc,context:5})],te.prototype,"ediPartyName",void 0);d([f({type:y.IA5String,context:6,implicit:!0})],te.prototype,"uniformResourceIdentifier",void 0);d([f({type:y.OctetString,context:7,implicit:!0,converter:nm})],te.prototype,"iPAddress",void 0);d([f({type:y.ObjectIdentifier,context:8,implicit:!0})],te.prototype,"registeredID",void 0);te=d([B({type:N.Choice})],te);const Rc="1.3.6.1.5.5.7",im=`${Rc}.1`,Yn=`${Rc}.3`,Us=`${Rc}.48`,tu=`${Us}.1`,nu=`${Us}.2`,iu=`${Us}.3`,ru=`${Us}.5`,Jt="2.5.29";var Yo;const Xo=`${im}.1`;class Vi{constructor(e={}){this.accessMethod="",this.accessLocation=new te,Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],Vi.prototype,"accessMethod",void 0);d([f({type:te})],Vi.prototype,"accessLocation",void 0);let jn=Yo=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Yo.prototype)}};jn=Yo=d([B({type:N.Sequence,itemType:Vi})],jn);const Qo=`${Jt}.35`;class Pc extends oe{}class sn{constructor(e={}){e&&Object.assign(this,e)}}d([f({type:Pc,context:0,optional:!0,implicit:!0})],sn.prototype,"keyIdentifier",void 0);d([f({type:te,context:1,optional:!0,implicit:!0,repeated:"sequence"})],sn.prototype,"authorityCertIssuer",void 0);d([f({type:y.Integer,context:2,optional:!0,implicit:!0,converter:me})],sn.prototype,"authorityCertSerialNumber",void 0);const Nf=`${Jt}.19`;class Or{constructor(e={}){this.cA=!1,Object.assign(this,e)}}d([f({type:y.Boolean,defaultValue:!1})],Or.prototype,"cA",void 0);d([f({type:y.Integer,optional:!0})],Or.prototype,"pathLenConstraint",void 0);var ea;let Re=ea=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,ea.prototype)}};Re=ea=d([B({type:N.Sequence,itemType:te})],Re);var ta;let su=ta=class extends Re{constructor(e){super(e),Object.setPrototypeOf(this,ta.prototype)}};su=ta=d([B({type:N.Sequence})],su);var na;const Of=`${Jt}.32`;let zt=class{constructor(e={}){Object.assign(this,e)}toString(){return this.ia5String||this.visibleString||this.bmpString||this.utf8String||""}};d([f({type:y.IA5String})],zt.prototype,"ia5String",void 0);d([f({type:y.VisibleString})],zt.prototype,"visibleString",void 0);d([f({type:y.BmpString})],zt.prototype,"bmpString",void 0);d([f({type:y.Utf8String})],zt.prototype,"utf8String",void 0);zt=d([B({type:N.Choice})],zt);class Lc{constructor(e={}){this.organization=new zt,this.noticeNumbers=[],Object.assign(this,e)}}d([f({type:zt})],Lc.prototype,"organization",void 0);d([f({type:y.Integer,repeated:"sequence"})],Lc.prototype,"noticeNumbers",void 0);class Uc{constructor(e={}){Object.assign(this,e)}}d([f({type:Lc,optional:!0})],Uc.prototype,"noticeRef",void 0);d([f({type:zt,optional:!0})],Uc.prototype,"explicitText",void 0);let Br=class{constructor(e={}){Object.assign(this,e)}};d([f({type:y.IA5String})],Br.prototype,"cPSuri",void 0);d([f({type:Uc})],Br.prototype,"userNotice",void 0);Br=d([B({type:N.Choice})],Br);class Vc{constructor(e={}){this.policyQualifierId="",this.qualifier=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],Vc.prototype,"policyQualifierId",void 0);d([f({type:y.Any})],Vc.prototype,"qualifier",void 0);class Vs{constructor(e={}){this.policyIdentifier="",Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],Vs.prototype,"policyIdentifier",void 0);d([f({type:Vc,repeated:"sequence",optional:!0})],Vs.prototype,"policyQualifiers",void 0);let Tr=na=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,na.prototype)}};Tr=na=d([B({type:N.Sequence,itemType:Vs})],Tr);let Rr=class{constructor(e=0){this.value=e}};d([f({type:y.Integer})],Rr.prototype,"value",void 0);Rr=d([B({type:N.Choice})],Rr);let ou=class extends Rr{};ou=d([B({type:N.Choice})],ou);var ia;const ra=`${Jt}.31`;var at;(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"})(at||(at={}));class Bf extends Ps{toJSON(){const e=[],n=this.toNumber();return n&at.aACompromise&&e.push("aACompromise"),n&at.affiliationChanged&&e.push("affiliationChanged"),n&at.cACompromise&&e.push("cACompromise"),n&at.certificateHold&&e.push("certificateHold"),n&at.cessationOfOperation&&e.push("cessationOfOperation"),n&at.keyCompromise&&e.push("keyCompromise"),n&at.privilegeWithdrawn&&e.push("privilegeWithdrawn"),n&at.superseded&&e.push("superseded"),n&at.unused&&e.push("unused"),e}toString(){return`[${this.toJSON().join(", ")}]`}}let gn=class{constructor(e={}){Object.assign(this,e)}};d([f({type:te,context:0,repeated:"sequence",implicit:!0})],gn.prototype,"fullName",void 0);d([f({type:Un,context:1,implicit:!0})],gn.prototype,"nameRelativeToCRLIssuer",void 0);gn=d([B({type:N.Choice})],gn);class Xn{constructor(e={}){Object.assign(this,e)}}d([f({type:gn,context:0,optional:!0})],Xn.prototype,"distributionPoint",void 0);d([f({type:Bf,context:1,optional:!0,implicit:!0})],Xn.prototype,"reasons",void 0);d([f({type:te,context:2,optional:!0,repeated:"sequence",implicit:!0})],Xn.prototype,"cRLIssuer",void 0);let Bn=ia=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,ia.prototype)}};Bn=ia=d([B({type:N.Sequence,itemType:Xn})],Bn);var sa;let au=sa=class extends Bn{constructor(e){super(e),Object.setPrototypeOf(this,sa.prototype)}};au=sa=d([B({type:N.Sequence,itemType:Xn})],au);class Be{constructor(e={}){this.onlyContainsUserCerts=Be.ONLY,this.onlyContainsCACerts=Be.ONLY,this.indirectCRL=Be.ONLY,this.onlyContainsAttributeCerts=Be.ONLY,Object.assign(this,e)}}Be.ONLY=!1;d([f({type:gn,context:0,optional:!0})],Be.prototype,"distributionPoint",void 0);d([f({type:y.Boolean,context:1,defaultValue:Be.ONLY,implicit:!0})],Be.prototype,"onlyContainsUserCerts",void 0);d([f({type:y.Boolean,context:2,defaultValue:Be.ONLY,implicit:!0})],Be.prototype,"onlyContainsCACerts",void 0);d([f({type:Bf,context:3,optional:!0,implicit:!0})],Be.prototype,"onlySomeReasons",void 0);d([f({type:y.Boolean,context:4,defaultValue:Be.ONLY,implicit:!0})],Be.prototype,"indirectCRL",void 0);d([f({type:y.Boolean,context:5,defaultValue:Be.ONLY,implicit:!0})],Be.prototype,"onlyContainsAttributeCerts",void 0);var gi;(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"})(gi||(gi={}));let oa=class{constructor(e=gi.unspecified){this.reason=gi.unspecified,this.reason=e}toJSON(){return gi[this.reason]}toString(){return this.toJSON()}};d([f({type:y.Enumerated})],oa.prototype,"reason",void 0);oa=d([B({type:N.Choice})],oa);var aa;const Tf=`${Jt}.37`;let Pr=aa=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,aa.prototype)}};Pr=aa=d([B({type:N.Sequence,itemType:y.ObjectIdentifier})],Pr);const rm=`${Yn}.1`,sm=`${Yn}.2`,om=`${Yn}.3`,am=`${Yn}.4`,cm=`${Yn}.8`,lm=`${Yn}.9`;let ca=class{constructor(e=new ArrayBuffer(0)){this.value=e}};d([f({type:y.Integer,converter:me})],ca.prototype,"value",void 0);ca=d([B({type:N.Choice})],ca);let la=class{constructor(e){this.value=new Date,e&&(this.value=e)}};d([f({type:y.GeneralizedTime})],la.prototype,"value",void 0);la=d([B({type:N.Choice})],la);var ua;let cu=ua=class extends Re{constructor(e){super(e),Object.setPrototypeOf(this,ua.prototype)}};cu=ua=d([B({type:N.Sequence})],cu);const Rf=`${Jt}.15`;var ct;(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"})(ct||(ct={}));class Ao extends Ps{toJSON(){const e=this.toNumber(),n=[];return e&ct.cRLSign&&n.push("crlSign"),e&ct.dataEncipherment&&n.push("dataEncipherment"),e&ct.decipherOnly&&n.push("decipherOnly"),e&ct.digitalSignature&&n.push("digitalSignature"),e&ct.encipherOnly&&n.push("encipherOnly"),e&ct.keyAgreement&&n.push("keyAgreement"),e&ct.keyCertSign&&n.push("keyCertSign"),e&ct.keyEncipherment&&n.push("keyEncipherment"),e&ct.nonRepudiation&&n.push("nonRepudiation"),n}toString(){return`[${this.toJSON().join(", ")}]`}}var da;class Ms{constructor(e={}){this.base=new te,this.minimum=0,Object.assign(this,e)}}d([f({type:te})],Ms.prototype,"base",void 0);d([f({type:y.Integer,context:0,defaultValue:0,implicit:!0})],Ms.prototype,"minimum",void 0);d([f({type:y.Integer,context:1,optional:!0,implicit:!0})],Ms.prototype,"maximum",void 0);let Lr=da=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,da.prototype)}};Lr=da=d([B({type:N.Sequence,itemType:Ms})],Lr);class Pf{constructor(e={}){Object.assign(this,e)}}d([f({type:Lr,context:0,optional:!0,implicit:!0})],Pf.prototype,"permittedSubtrees",void 0);d([f({type:Lr,context:1,optional:!0,implicit:!0})],Pf.prototype,"excludedSubtrees",void 0);class Lf{constructor(e={}){Object.assign(this,e)}}d([f({type:y.Integer,context:0,implicit:!0,optional:!0,converter:me})],Lf.prototype,"requireExplicitPolicy",void 0);d([f({type:y.Integer,context:1,implicit:!0,optional:!0,converter:me})],Lf.prototype,"inhibitPolicyMapping",void 0);var pa;class Mc{constructor(e={}){this.issuerDomainPolicy="",this.subjectDomainPolicy="",Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],Mc.prototype,"issuerDomainPolicy",void 0);d([f({type:y.ObjectIdentifier})],Mc.prototype,"subjectDomainPolicy",void 0);let lu=pa=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,pa.prototype)}};lu=pa=d([B({type:N.Sequence,itemType:Mc})],lu);var fa;const Uf=`${Jt}.17`;let ha=fa=class extends Re{constructor(e){super(e),Object.setPrototypeOf(this,fa.prototype)}};ha=fa=d([B({type:N.Sequence})],ha);let $t=class{constructor(e={}){this.type="",this.values=[],Object.assign(this,e)}};d([f({type:y.ObjectIdentifier})],$t.prototype,"type",void 0);d([f({type:y.Any,repeated:"set"})],$t.prototype,"values",void 0);var ga;let uu=ga=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,ga.prototype)}};uu=ga=d([B({type:N.Sequence,itemType:$t})],uu);const Vf=`${Jt}.14`;class Dt extends Pc{}class Mf{constructor(e={}){Object.assign(this,e)}}d([f({type:y.GeneralizedTime,context:0,implicit:!0,optional:!0})],Mf.prototype,"notBefore",void 0);d([f({type:y.GeneralizedTime,context:1,implicit:!0,optional:!0})],Mf.prototype,"notAfter",void 0);var _i;(function(t){t[t.keyUpdateAllowed=1]="keyUpdateAllowed",t[t.newExtensions=2]="newExtensions",t[t.pKIXCertificate=4]="pKIXCertificate"})(_i||(_i={}));class Df extends Ps{toJSON(){const e=[],n=this.toNumber();return n&_i.pKIXCertificate&&e.push("pKIXCertificate"),n&_i.newExtensions&&e.push("newExtensions"),n&_i.keyUpdateAllowed&&e.push("keyUpdateAllowed"),e}toString(){return`[${this.toJSON().join(", ")}]`}}class Ff{constructor(e={}){this.entrustVers="",this.entrustInfoFlags=new Df,Object.assign(this,e)}}d([f({type:y.GeneralString})],Ff.prototype,"entrustVers",void 0);d([f({type:Df})],Ff.prototype,"entrustInfoFlags",void 0);var _a;let du=_a=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,_a.prototype)}};du=_a=d([B({type:N.Sequence,itemType:Vi})],du);class F{constructor(e={}){this.algorithm="",Object.assign(this,e)}isEqual(e){return e instanceof F&&e.algorithm==this.algorithm&&(e.parameters&&this.parameters&&Cp(e.parameters,this.parameters)||e.parameters===this.parameters)}}d([f({type:y.ObjectIdentifier})],F.prototype,"algorithm",void 0);d([f({type:y.Any,optional:!0})],F.prototype,"parameters",void 0);class lt{constructor(e={}){this.algorithm=new F,this.subjectPublicKey=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:F})],lt.prototype,"algorithm",void 0);d([f({type:y.BitString})],lt.prototype,"subjectPublicKey",void 0);let $e=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}};d([f({type:y.UTCTime})],$e.prototype,"utcTime",void 0);d([f({type:y.GeneralizedTime})],$e.prototype,"generalTime",void 0);$e=d([B({type:N.Choice})],$e);class Mi{constructor(e){this.notBefore=new $e(new Date),this.notAfter=new $e(new Date),e&&(this.notBefore=new $e(e.notBefore),this.notAfter=new $e(e.notAfter))}}d([f({type:$e})],Mi.prototype,"notBefore",void 0);d([f({type:$e})],Mi.prototype,"notAfter",void 0);var ma;let tt=class Hf{constructor(e={}){this.extnID="",this.critical=Hf.CRITICAL,this.extnValue=new oe,Object.assign(this,e)}};tt.CRITICAL=!1;d([f({type:y.ObjectIdentifier})],tt.prototype,"extnID",void 0);d([f({type:y.Boolean,defaultValue:tt.CRITICAL})],tt.prototype,"critical",void 0);d([f({type:oe})],tt.prototype,"extnValue",void 0);let qt=ma=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,ma.prototype)}};qt=ma=d([B({type:N.Sequence,itemType:tt})],qt);var _n;(function(t){t[t.v1=0]="v1",t[t.v2=1]="v2",t[t.v3=2]="v3"})(_n||(_n={}));class Ze{constructor(e={}){this.version=_n.v1,this.serialNumber=new ArrayBuffer(0),this.signature=new F,this.issuer=new ke,this.validity=new Mi,this.subject=new ke,this.subjectPublicKeyInfo=new lt,Object.assign(this,e)}}d([f({type:y.Integer,context:0,defaultValue:_n.v1})],Ze.prototype,"version",void 0);d([f({type:y.Integer,converter:me})],Ze.prototype,"serialNumber",void 0);d([f({type:F})],Ze.prototype,"signature",void 0);d([f({type:ke})],Ze.prototype,"issuer",void 0);d([f({type:Mi})],Ze.prototype,"validity",void 0);d([f({type:ke})],Ze.prototype,"subject",void 0);d([f({type:lt})],Ze.prototype,"subjectPublicKeyInfo",void 0);d([f({type:y.BitString,context:1,implicit:!0,optional:!0})],Ze.prototype,"issuerUniqueID",void 0);d([f({type:y.BitString,context:2,implicit:!0,optional:!0})],Ze.prototype,"subjectUniqueID",void 0);d([f({type:qt,context:3,optional:!0})],Ze.prototype,"extensions",void 0);class mn{constructor(e={}){this.tbsCertificate=new Ze,this.signatureAlgorithm=new F,this.signatureValue=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:Ze})],mn.prototype,"tbsCertificate",void 0);d([f({type:F})],mn.prototype,"signatureAlgorithm",void 0);d([f({type:y.BitString})],mn.prototype,"signatureValue",void 0);class Ds{constructor(e={}){this.userCertificate=new ArrayBuffer(0),this.revocationDate=new $e,Object.assign(this,e)}}d([f({type:y.Integer,converter:me})],Ds.prototype,"userCertificate",void 0);d([f({type:$e})],Ds.prototype,"revocationDate",void 0);d([f({type:tt,optional:!0,repeated:"sequence"})],Ds.prototype,"crlEntryExtensions",void 0);class Pt{constructor(e={}){this.signature=new F,this.issuer=new ke,this.thisUpdate=new $e,Object.assign(this,e)}}d([f({type:y.Integer,optional:!0})],Pt.prototype,"version",void 0);d([f({type:F})],Pt.prototype,"signature",void 0);d([f({type:ke})],Pt.prototype,"issuer",void 0);d([f({type:$e})],Pt.prototype,"thisUpdate",void 0);d([f({type:$e,optional:!0})],Pt.prototype,"nextUpdate",void 0);d([f({type:Ds,repeated:"sequence",optional:!0})],Pt.prototype,"revokedCertificates",void 0);d([f({type:tt,optional:!0,context:0,repeated:"sequence"})],Pt.prototype,"crlExtensions",void 0);class Dc{constructor(e={}){this.tbsCertList=new Pt,this.signatureAlgorithm=new F,this.signature=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:Pt})],Dc.prototype,"tbsCertList",void 0);d([f({type:F})],Dc.prototype,"signatureAlgorithm",void 0);d([f({type:y.BitString})],Dc.prototype,"signature",void 0);class Qn{constructor(e={}){this.issuer=new ke,this.serialNumber=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:ke})],Qn.prototype,"issuer",void 0);d([f({type:y.Integer,converter:me})],Qn.prototype,"serialNumber",void 0);let Vn=class{constructor(e={}){Object.assign(this,e)}};d([f({type:Dt,context:0,implicit:!0})],Vn.prototype,"subjectKeyIdentifier",void 0);d([f({type:Qn})],Vn.prototype,"issuerAndSerialNumber",void 0);Vn=d([B({type:N.Choice})],Vn);var jt;(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"})(jt||(jt={}));let Si=class extends F{};Si=d([B({type:N.Sequence})],Si);let Ur=class extends F{};Ur=d([B({type:N.Sequence})],Ur);let bt=class extends F{};bt=d([B({type:N.Sequence})],bt);let Vr=class extends F{};Vr=d([B({type:N.Sequence})],Vr);let pu=class extends F{};pu=d([B({type:N.Sequence})],pu);let ya=class extends F{};ya=d([B({type:N.Sequence})],ya);let ei=class{constructor(e={}){this.attrType="",this.attrValues=[],Object.assign(this,e)}};d([f({type:y.ObjectIdentifier})],ei.prototype,"attrType",void 0);d([f({type:y.Any,repeated:"set"})],ei.prototype,"attrValues",void 0);var va;class St{constructor(e={}){this.version=jt.v0,this.sid=new Vn,this.digestAlgorithm=new Si,this.signatureAlgorithm=new Ur,this.signature=new oe,Object.assign(this,e)}}d([f({type:y.Integer})],St.prototype,"version",void 0);d([f({type:Vn})],St.prototype,"sid",void 0);d([f({type:Si})],St.prototype,"digestAlgorithm",void 0);d([f({type:ei,repeated:"set",context:0,implicit:!0,optional:!0})],St.prototype,"signedAttrs",void 0);d([f({type:Ur})],St.prototype,"signatureAlgorithm",void 0);d([f({type:oe})],St.prototype,"signature",void 0);d([f({type:ei,repeated:"set",context:1,implicit:!0,optional:!0})],St.prototype,"unsignedAttrs",void 0);let Mr=va=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,va.prototype)}};Mr=va=d([B({type:N.Set,itemType:St})],Mr);let fu=class extends $e{};fu=d([B({type:N.Choice})],fu);let hu=class extends St{};hu=d([B({type:N.Sequence})],hu);class Fc{constructor(e={}){this.acIssuer=new te,this.acSerial=0,this.attrs=[],Object.assign(this,e)}}d([f({type:te})],Fc.prototype,"acIssuer",void 0);d([f({type:y.Integer})],Fc.prototype,"acSerial",void 0);d([f({type:$t,repeated:"sequence"})],Fc.prototype,"attrs",void 0);var wa;let Dr=wa=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,wa.prototype)}};Dr=wa=d([B({type:N.Sequence,itemType:y.ObjectIdentifier})],Dr);class Fs{constructor(e={}){this.permitUnSpecified=!0,Object.assign(this,e)}}d([f({type:y.Integer,optional:!0})],Fs.prototype,"pathLenConstraint",void 0);d([f({type:Dr,implicit:!0,context:0,optional:!0})],Fs.prototype,"permittedAttrs",void 0);d([f({type:Dr,implicit:!0,context:1,optional:!0})],Fs.prototype,"excludedAttrs",void 0);d([f({type:y.Boolean,defaultValue:!0})],Fs.prototype,"permitUnSpecified",void 0);class An{constructor(e={}){this.issuer=new Re,this.serial=new ArrayBuffer(0),this.issuerUID=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:Re})],An.prototype,"issuer",void 0);d([f({type:y.Integer,converter:me})],An.prototype,"serial",void 0);d([f({type:y.BitString,optional:!0})],An.prototype,"issuerUID",void 0);var ba;(function(t){t[t.publicKey=0]="publicKey",t[t.publicKeyCert=1]="publicKeyCert",t[t.otherObjectTypes=2]="otherObjectTypes"})(ba||(ba={}));class In{constructor(e={}){this.digestedObjectType=ba.publicKey,this.digestAlgorithm=new F,this.objectDigest=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.Enumerated})],In.prototype,"digestedObjectType",void 0);d([f({type:y.ObjectIdentifier,optional:!0})],In.prototype,"otherObjectTypeID",void 0);d([f({type:F})],In.prototype,"digestAlgorithm",void 0);d([f({type:y.BitString})],In.prototype,"objectDigest",void 0);class Hs{constructor(e={}){Object.assign(this,e)}}d([f({type:Re,optional:!0})],Hs.prototype,"issuerName",void 0);d([f({type:An,context:0,implicit:!0,optional:!0})],Hs.prototype,"baseCertificateID",void 0);d([f({type:In,context:1,implicit:!0,optional:!0})],Hs.prototype,"objectDigestInfo",void 0);let Mn=class{constructor(e={}){Object.assign(this,e)}};d([f({type:te,repeated:"sequence"})],Mn.prototype,"v1Form",void 0);d([f({type:Hs,context:0,implicit:!0})],Mn.prototype,"v2Form",void 0);Mn=d([B({type:N.Choice})],Mn);class qs{constructor(e={}){this.notBeforeTime=new Date,this.notAfterTime=new Date,Object.assign(this,e)}}d([f({type:y.GeneralizedTime})],qs.prototype,"notBeforeTime",void 0);d([f({type:y.GeneralizedTime})],qs.prototype,"notAfterTime",void 0);class Di{constructor(e={}){Object.assign(this,e)}}d([f({type:An,implicit:!0,context:0,optional:!0})],Di.prototype,"baseCertificateID",void 0);d([f({type:Re,implicit:!0,context:1,optional:!0})],Di.prototype,"entityName",void 0);d([f({type:In,implicit:!0,context:2,optional:!0})],Di.prototype,"objectDigestInfo",void 0);var ka;(function(t){t[t.v2=1]="v2"})(ka||(ka={}));class ht{constructor(e={}){this.version=ka.v2,this.holder=new Di,this.issuer=new Mn,this.signature=new F,this.serialNumber=new ArrayBuffer(0),this.attrCertValidityPeriod=new qs,this.attributes=[],Object.assign(this,e)}}d([f({type:y.Integer})],ht.prototype,"version",void 0);d([f({type:Di})],ht.prototype,"holder",void 0);d([f({type:Mn})],ht.prototype,"issuer",void 0);d([f({type:F})],ht.prototype,"signature",void 0);d([f({type:y.Integer,converter:me})],ht.prototype,"serialNumber",void 0);d([f({type:qs})],ht.prototype,"attrCertValidityPeriod",void 0);d([f({type:$t,repeated:"sequence"})],ht.prototype,"attributes",void 0);d([f({type:y.BitString,optional:!0})],ht.prototype,"issuerUniqueID",void 0);d([f({type:qt,optional:!0})],ht.prototype,"extensions",void 0);class Ks{constructor(e={}){this.acinfo=new ht,this.signatureAlgorithm=new F,this.signatureValue=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:ht})],Ks.prototype,"acinfo",void 0);d([f({type:F})],Ks.prototype,"signatureAlgorithm",void 0);d([f({type:y.BitString})],Ks.prototype,"signatureValue",void 0);var Fr;(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"})(Fr||(Fr={}));class xa extends Ps{}class Hc{constructor(e={}){this.type="",this.value=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.ObjectIdentifier,implicit:!0,context:0})],Hc.prototype,"type",void 0);d([f({type:y.Any,implicit:!0,context:1})],Hc.prototype,"value",void 0);class qc{constructor(e={}){this.policyId="",this.classList=new xa(Fr.unclassified),Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],qc.prototype,"policyId",void 0);d([f({type:xa,defaultValue:new xa(Fr.unclassified)})],qc.prototype,"classList",void 0);d([f({type:Hc,repeated:"set"})],qc.prototype,"securityCategories",void 0);class Ws{constructor(e={}){Object.assign(this,e)}}d([f({type:oe})],Ws.prototype,"cotets",void 0);d([f({type:y.ObjectIdentifier})],Ws.prototype,"oid",void 0);d([f({type:y.Utf8String})],Ws.prototype,"string",void 0);class qf{constructor(e={}){this.values=[],Object.assign(this,e)}}d([f({type:Re,implicit:!0,context:0,optional:!0})],qf.prototype,"policyAuthority",void 0);d([f({type:Ws,repeated:"sequence"})],qf.prototype,"values",void 0);var Sa;class Gs{constructor(e={}){this.targetCertificate=new An,Object.assign(this,e)}}d([f({type:An})],Gs.prototype,"targetCertificate",void 0);d([f({type:te,optional:!0})],Gs.prototype,"targetName",void 0);d([f({type:In,optional:!0})],Gs.prototype,"certDigestInfo",void 0);let Dn=class{constructor(e={}){Object.assign(this,e)}};d([f({type:te,context:0,implicit:!0})],Dn.prototype,"targetName",void 0);d([f({type:te,context:1,implicit:!0})],Dn.prototype,"targetGroup",void 0);d([f({type:Gs,context:2,implicit:!0})],Dn.prototype,"targetCert",void 0);Dn=d([B({type:N.Choice})],Dn);let Aa=Sa=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Sa.prototype)}};Aa=Sa=d([B({type:N.Sequence,itemType:Dn})],Aa);var Ia;let gu=Ia=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Ia.prototype)}};gu=Ia=d([B({type:N.Sequence,itemType:Aa})],gu);class Kf{constructor(e={}){Object.assign(this,e)}}d([f({type:Re,implicit:!0,context:0,optional:!0})],Kf.prototype,"roleAuthority",void 0);d([f({type:te,implicit:!0,context:1})],Kf.prototype,"roleName",void 0);class Kc{constructor(e={}){this.service=new te,this.ident=new te,Object.assign(this,e)}}d([f({type:te})],Kc.prototype,"service",void 0);d([f({type:te})],Kc.prototype,"ident",void 0);d([f({type:oe,optional:!0})],Kc.prototype,"authInfo",void 0);var Ea;class Wc{constructor(e={}){this.otherCertFormat="",this.otherCert=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],Wc.prototype,"otherCertFormat",void 0);d([f({type:y.Any})],Wc.prototype,"otherCert",void 0);let Fn=class{constructor(e={}){Object.assign(this,e)}};d([f({type:mn})],Fn.prototype,"certificate",void 0);d([f({type:Ks,context:2,implicit:!0})],Fn.prototype,"v2AttrCert",void 0);d([f({type:Wc,context:3,implicit:!0})],Fn.prototype,"other",void 0);Fn=d([B({type:N.Choice})],Fn);let Hr=Ea=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Ea.prototype)}};Hr=Ea=d([B({type:N.Set,itemType:Fn})],Hr);class ti{constructor(e={}){this.contentType="",this.content=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],ti.prototype,"contentType",void 0);d([f({type:y.Any,context:0})],ti.prototype,"content",void 0);let Ai=class{constructor(e={}){Object.assign(this,e)}};d([f({type:oe})],Ai.prototype,"single",void 0);d([f({type:y.Any})],Ai.prototype,"any",void 0);Ai=d([B({type:N.Choice})],Ai);class Js{constructor(e={}){this.eContentType="",Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],Js.prototype,"eContentType",void 0);d([f({type:Ai,context:0,optional:!0})],Js.prototype,"eContent",void 0);let Ii=class{constructor(e={}){Object.assign(this,e)}};d([f({type:oe,context:0,implicit:!0,optional:!0})],Ii.prototype,"value",void 0);d([f({type:oe,converter:L_,context:0,implicit:!0,optional:!0,repeated:"sequence"})],Ii.prototype,"constructedValue",void 0);Ii=d([B({type:N.Choice})],Ii);class Fi{constructor(e={}){this.contentType="",this.contentEncryptionAlgorithm=new Vr,Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],Fi.prototype,"contentType",void 0);d([f({type:Vr})],Fi.prototype,"contentEncryptionAlgorithm",void 0);d([f({type:Ii,optional:!0})],Fi.prototype,"encryptedContent",void 0);class Zs{constructor(e={}){this.keyAttrId="",Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],Zs.prototype,"keyAttrId",void 0);d([f({type:y.Any,optional:!0})],Zs.prototype,"keyAttr",void 0);var Ca;class Ys{constructor(e={}){this.subjectKeyIdentifier=new Dt,Object.assign(this,e)}}d([f({type:Dt})],Ys.prototype,"subjectKeyIdentifier",void 0);d([f({type:y.GeneralizedTime,optional:!0})],Ys.prototype,"date",void 0);d([f({type:Zs,optional:!0})],Ys.prototype,"other",void 0);let Hn=class{constructor(e={}){Object.assign(this,e)}};d([f({type:Ys,context:0,implicit:!0,optional:!0})],Hn.prototype,"rKeyId",void 0);d([f({type:Qn,optional:!0})],Hn.prototype,"issuerAndSerialNumber",void 0);Hn=d([B({type:N.Choice})],Hn);class Gc{constructor(e={}){this.rid=new Hn,this.encryptedKey=new oe,Object.assign(this,e)}}d([f({type:Hn})],Gc.prototype,"rid",void 0);d([f({type:oe})],Gc.prototype,"encryptedKey",void 0);let qr=Ca=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Ca.prototype)}};qr=Ca=d([B({type:N.Sequence,itemType:Gc})],qr);class Jc{constructor(e={}){this.algorithm=new F,this.publicKey=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:F})],Jc.prototype,"algorithm",void 0);d([f({type:y.BitString})],Jc.prototype,"publicKey",void 0);let yn=class{constructor(e={}){Object.assign(this,e)}};d([f({type:Dt,context:0,implicit:!0,optional:!0})],yn.prototype,"subjectKeyIdentifier",void 0);d([f({type:Jc,context:1,implicit:!0,optional:!0})],yn.prototype,"originatorKey",void 0);d([f({type:Qn,optional:!0})],yn.prototype,"issuerAndSerialNumber",void 0);yn=d([B({type:N.Choice})],yn);class ni{constructor(e={}){this.version=jt.v3,this.originator=new yn,this.keyEncryptionAlgorithm=new bt,this.recipientEncryptedKeys=new qr,Object.assign(this,e)}}d([f({type:y.Integer})],ni.prototype,"version",void 0);d([f({type:yn,context:0})],ni.prototype,"originator",void 0);d([f({type:oe,context:1,optional:!0})],ni.prototype,"ukm",void 0);d([f({type:bt})],ni.prototype,"keyEncryptionAlgorithm",void 0);d([f({type:qr})],ni.prototype,"recipientEncryptedKeys",void 0);let qn=class{constructor(e={}){Object.assign(this,e)}};d([f({type:Dt,context:0,implicit:!0})],qn.prototype,"subjectKeyIdentifier",void 0);d([f({type:Qn})],qn.prototype,"issuerAndSerialNumber",void 0);qn=d([B({type:N.Choice})],qn);class Hi{constructor(e={}){this.version=jt.v0,this.rid=new qn,this.keyEncryptionAlgorithm=new bt,this.encryptedKey=new oe,Object.assign(this,e)}}d([f({type:y.Integer})],Hi.prototype,"version",void 0);d([f({type:qn})],Hi.prototype,"rid",void 0);d([f({type:bt})],Hi.prototype,"keyEncryptionAlgorithm",void 0);d([f({type:oe})],Hi.prototype,"encryptedKey",void 0);class qi{constructor(e={}){this.keyIdentifier=new oe,Object.assign(this,e)}}d([f({type:oe})],qi.prototype,"keyIdentifier",void 0);d([f({type:y.GeneralizedTime,optional:!0})],qi.prototype,"date",void 0);d([f({type:Zs,optional:!0})],qi.prototype,"other",void 0);class Ki{constructor(e={}){this.version=jt.v4,this.kekid=new qi,this.keyEncryptionAlgorithm=new bt,this.encryptedKey=new oe,Object.assign(this,e)}}d([f({type:y.Integer})],Ki.prototype,"version",void 0);d([f({type:qi})],Ki.prototype,"kekid",void 0);d([f({type:bt})],Ki.prototype,"keyEncryptionAlgorithm",void 0);d([f({type:oe})],Ki.prototype,"encryptedKey",void 0);class Wi{constructor(e={}){this.version=jt.v0,this.keyEncryptionAlgorithm=new bt,this.encryptedKey=new oe,Object.assign(this,e)}}d([f({type:y.Integer})],Wi.prototype,"version",void 0);d([f({type:ya,context:0,optional:!0})],Wi.prototype,"keyDerivationAlgorithm",void 0);d([f({type:bt})],Wi.prototype,"keyEncryptionAlgorithm",void 0);d([f({type:oe})],Wi.prototype,"encryptedKey",void 0);class Zc{constructor(e={}){this.oriType="",this.oriValue=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],Zc.prototype,"oriType",void 0);d([f({type:y.Any})],Zc.prototype,"oriValue",void 0);let Kt=class{constructor(e={}){Object.assign(this,e)}};d([f({type:Hi,optional:!0})],Kt.prototype,"ktri",void 0);d([f({type:ni,context:1,implicit:!0,optional:!0})],Kt.prototype,"kari",void 0);d([f({type:Ki,context:2,implicit:!0,optional:!0})],Kt.prototype,"kekri",void 0);d([f({type:Wi,context:3,implicit:!0,optional:!0})],Kt.prototype,"pwri",void 0);d([f({type:Zc,context:4,implicit:!0,optional:!0})],Kt.prototype,"ori",void 0);Kt=d([B({type:N.Choice})],Kt);var za;let Kr=za=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,za.prototype)}};Kr=za=d([B({type:N.Set,itemType:Kt})],Kr);var $a;class Xs{constructor(e={}){this.otherRevInfoFormat="",this.otherRevInfo=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],Xs.prototype,"otherRevInfoFormat",void 0);d([f({type:y.Any})],Xs.prototype,"otherRevInfo",void 0);let Wr=class{constructor(e={}){this.other=new Xs,Object.assign(this,e)}};d([f({type:Xs,context:1,implicit:!0})],Wr.prototype,"other",void 0);Wr=d([B({type:N.Choice})],Wr);let Gr=$a=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,$a.prototype)}};Gr=$a=d([B({type:N.Set,itemType:Wr})],Gr);class Yc{constructor(e={}){Object.assign(this,e)}}d([f({type:Hr,context:0,implicit:!0,optional:!0})],Yc.prototype,"certs",void 0);d([f({type:Gr,context:1,implicit:!0,optional:!0})],Yc.prototype,"crls",void 0);var ja;let Na=ja=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,ja.prototype)}};Na=ja=d([B({type:N.Set,itemType:ei})],Na);class Gi{constructor(e={}){this.version=jt.v0,this.recipientInfos=new Kr,this.encryptedContentInfo=new Fi,Object.assign(this,e)}}d([f({type:y.Integer})],Gi.prototype,"version",void 0);d([f({type:Yc,context:0,implicit:!0,optional:!0})],Gi.prototype,"originatorInfo",void 0);d([f({type:Kr})],Gi.prototype,"recipientInfos",void 0);d([f({type:Fi})],Gi.prototype,"encryptedContentInfo",void 0);d([f({type:Na,context:1,implicit:!0,optional:!0})],Gi.prototype,"unprotectedAttrs",void 0);const um="1.2.840.113549.1.7.2";var Oa;let Jr=Oa=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Oa.prototype)}};Jr=Oa=d([B({type:N.Set,itemType:Si})],Jr);class ii{constructor(e={}){this.version=jt.v0,this.digestAlgorithms=new Jr,this.encapContentInfo=new Js,this.signerInfos=new Mr,Object.assign(this,e)}}d([f({type:y.Integer})],ii.prototype,"version",void 0);d([f({type:Jr})],ii.prototype,"digestAlgorithms",void 0);d([f({type:Js})],ii.prototype,"encapContentInfo",void 0);d([f({type:Hr,context:0,implicit:!0,optional:!0})],ii.prototype,"certificates",void 0);d([f({type:Gr,context:1,implicit:!0,optional:!0})],ii.prototype,"crls",void 0);d([f({type:Mr})],ii.prototype,"signerInfos",void 0);const Ei="1.2.840.10045.2.1",Xc="1.2.840.10045.4.1",Wf="1.2.840.10045.4.3.1",Qc="1.2.840.10045.4.3.2",el="1.2.840.10045.4.3.3",tl="1.2.840.10045.4.3.4",_u="1.2.840.10045.3.1.7",mu="1.3.132.0.34",yu="1.3.132.0.35";function Ji(t){return new F({algorithm:t})}const dm=Ji(Xc);Ji(Wf);const pm=Ji(Qc),fm=Ji(el),hm=Ji(tl);let Ci=class{constructor(e={}){Object.assign(this,e)}};d([f({type:y.ObjectIdentifier})],Ci.prototype,"fieldType",void 0);d([f({type:y.Any})],Ci.prototype,"parameters",void 0);Ci=d([B({type:N.Sequence})],Ci);class gm extends oe{}let Kn=class{constructor(e={}){Object.assign(this,e)}};d([f({type:y.OctetString})],Kn.prototype,"a",void 0);d([f({type:y.OctetString})],Kn.prototype,"b",void 0);d([f({type:y.BitString,optional:!0})],Kn.prototype,"seed",void 0);Kn=d([B({type:N.Sequence})],Kn);var Ba;(function(t){t[t.ecpVer1=1]="ecpVer1"})(Ba||(Ba={}));let Nt=class{constructor(e={}){this.version=Ba.ecpVer1,Object.assign(this,e)}};d([f({type:y.Integer})],Nt.prototype,"version",void 0);d([f({type:Ci})],Nt.prototype,"fieldID",void 0);d([f({type:Kn})],Nt.prototype,"curve",void 0);d([f({type:gm})],Nt.prototype,"base",void 0);d([f({type:y.Integer,converter:me})],Nt.prototype,"order",void 0);d([f({type:y.Integer,optional:!0})],Nt.prototype,"cofactor",void 0);Nt=d([B({type:N.Sequence})],Nt);let Wt=class{constructor(e={}){Object.assign(this,e)}};d([f({type:y.ObjectIdentifier})],Wt.prototype,"namedCurve",void 0);d([f({type:y.Null})],Wt.prototype,"implicitCurve",void 0);d([f({type:Nt})],Wt.prototype,"specifiedCurve",void 0);Wt=d([B({type:N.Choice})],Wt);class Qs{constructor(e={}){this.version=1,this.privateKey=new oe,Object.assign(this,e)}}d([f({type:y.Integer})],Qs.prototype,"version",void 0);d([f({type:oe})],Qs.prototype,"privateKey",void 0);d([f({type:Wt,context:0,optional:!0})],Qs.prototype,"parameters",void 0);d([f({type:y.BitString,context:1,optional:!0})],Qs.prototype,"publicKey",void 0);class Zr{constructor(e={}){this.r=new ArrayBuffer(0),this.s=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.Integer,converter:me})],Zr.prototype,"r",void 0);d([f({type:y.Integer,converter:me})],Zr.prototype,"s",void 0);const He="1.2.840.113549.1.1",vn=`${He}.1`,_m=`${He}.7`,mm=`${He}.9`,mi=`${He}.10`,ym=`${He}.2`,vm=`${He}.4`,Yr=`${He}.5`,wm=`${He}.14`,Ta=`${He}.11`,Xr=`${He}.12`,Qr=`${He}.13`,Gf=`${He}.15`,Jf=`${He}.16`,es="1.3.14.3.2.26",Zf="2.16.840.1.101.3.4.2.4",ts="2.16.840.1.101.3.4.2.1",ns="2.16.840.1.101.3.4.2.2",is="2.16.840.1.101.3.4.2.3",bm="2.16.840.1.101.3.4.2.5",km="2.16.840.1.101.3.4.2.6",xm="1.2.840.113549.2.2",Sm="1.2.840.113549.2.5",eo=`${He}.8`;function Ae(t){return new F({algorithm:t,parameters:null})}Ae(xm);Ae(Sm);const wn=Ae(es);Ae(Zf);Ae(ts);Ae(ns);Ae(is);Ae(bm);Ae(km);const Yf=new F({algorithm:eo,parameters:U.serialize(wn)}),Xf=new F({algorithm:mm,parameters:U.serialize(Nr.toASN(new Uint8Array([218,57,163,238,94,107,75,13,50,85,191,239,149,96,24,144,175,216,7,9]).buffer))});Ae(vn);Ae(ym);Ae(vm);Ae(Yr);Ae(Gf);Ae(Jf);Ae(Xr);Ae(Qr);Ae(Gf);Ae(Jf);class to{constructor(e={}){this.hashAlgorithm=new F(wn),this.maskGenAlgorithm=new F({algorithm:eo,parameters:U.serialize(wn)}),this.pSourceAlgorithm=new F(Xf),Object.assign(this,e)}}d([f({type:F,context:0,defaultValue:wn})],to.prototype,"hashAlgorithm",void 0);d([f({type:F,context:1,defaultValue:Yf})],to.prototype,"maskGenAlgorithm",void 0);d([f({type:F,context:2,defaultValue:Xf})],to.prototype,"pSourceAlgorithm",void 0);new F({algorithm:_m,parameters:U.serialize(new to)});class bn{constructor(e={}){this.hashAlgorithm=new F(wn),this.maskGenAlgorithm=new F({algorithm:eo,parameters:U.serialize(wn)}),this.saltLength=20,this.trailerField=1,Object.assign(this,e)}}d([f({type:F,context:0,defaultValue:wn})],bn.prototype,"hashAlgorithm",void 0);d([f({type:F,context:1,defaultValue:Yf})],bn.prototype,"maskGenAlgorithm",void 0);d([f({type:y.Integer,context:2,defaultValue:20})],bn.prototype,"saltLength",void 0);d([f({type:y.Integer,context:3,defaultValue:1})],bn.prototype,"trailerField",void 0);new F({algorithm:mi,parameters:U.serialize(new bn)});class no{constructor(e={}){this.digestAlgorithm=new F,this.digest=new oe,Object.assign(this,e)}}d([f({type:F})],no.prototype,"digestAlgorithm",void 0);d([f({type:oe})],no.prototype,"digest",void 0);var Ra;class io{constructor(e={}){this.prime=new ArrayBuffer(0),this.exponent=new ArrayBuffer(0),this.coefficient=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.Integer,converter:me})],io.prototype,"prime",void 0);d([f({type:y.Integer,converter:me})],io.prototype,"exponent",void 0);d([f({type:y.Integer,converter:me})],io.prototype,"coefficient",void 0);let Pa=Ra=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Ra.prototype)}};Pa=Ra=d([B({type:N.Sequence,itemType:io})],Pa);class At{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)}}d([f({type:y.Integer})],At.prototype,"version",void 0);d([f({type:y.Integer,converter:me})],At.prototype,"modulus",void 0);d([f({type:y.Integer,converter:me})],At.prototype,"publicExponent",void 0);d([f({type:y.Integer,converter:me})],At.prototype,"privateExponent",void 0);d([f({type:y.Integer,converter:me})],At.prototype,"prime1",void 0);d([f({type:y.Integer,converter:me})],At.prototype,"prime2",void 0);d([f({type:y.Integer,converter:me})],At.prototype,"exponent1",void 0);d([f({type:y.Integer,converter:me})],At.prototype,"exponent2",void 0);d([f({type:y.Integer,converter:me})],At.prototype,"coefficient",void 0);d([f({type:Pa,optional:!0})],At.prototype,"otherPrimeInfos",void 0);class nl{constructor(e={}){this.modulus=new ArrayBuffer(0),this.publicExponent=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.Integer,converter:me})],nl.prototype,"modulus",void 0);d([f({type:y.Integer,converter:me})],nl.prototype,"publicExponent",void 0);var La;(function(t){t[t.Transient=0]="Transient",t[t.Singleton=1]="Singleton",t[t.ResolutionScoped=2]="ResolutionScoped",t[t.ContainerScoped=3]="ContainerScoped"})(La||(La={}));const Ue=La;/*! *****************************************************************************
|
|
79
|
+
`)}`:`${n} :`}}xf=De;H.Constructed=xf;De.NAME="CONSTRUCTED";class Sf extends Le{fromBER(e,n,r){return n}toBER(e){return ht}}Sf.override="EndOfContentValueBlock";var Af;class Yc extends je{constructor(e={}){super(e,Sf),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}}Af=Yc;H.EndOfContent=Af;Yc.NAME=$r;var Ef;class mn extends je{constructor(e={}){super(e,Le),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}`}}Ef=mn;H.Null=Ef;mn.NAME="NULL";class If extends Et(Le){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 Lt(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}}}If.NAME="BooleanValueBlock";var Cf;class Fs extends je{constructor(e={}){super(e,If),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}`}}Cf=Fs;H.Boolean=Cf;Fs.NAME="BOOLEAN";class Nf extends Et(Ft){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=Ft.prototype.fromBER.call(this,e,n,r),i===-1)return i;for(let s=0;s<this.value.length;s++){const o=this.value[s].constructor.NAME;if(o===$r){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(o!==mf)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?Ft.prototype.toBER.call(this,e,n):e?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}}Nf.NAME="OctetStringValueBlock";var $f;let un=class zf extends je{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},Nf),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 o=nr(s,0,s.byteLength);o.offset!==-1&&o.offset===r&&(this.valueBlock.value=[o.result])}}catch{}}return super.fromBER(e,n,r)}onAsciiEncoding(){return this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length?De.prototype.onAsciiEncoding.call(this):`${this.constructor.NAME} : ${G.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 zf&&e.push(n.valueBlock.valueHexView);return M.concat(e)}};$f=un;H.OctetString=$f;un.NAME=mf;class jf extends Et(Ft){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=Ft.prototype.fromBER.call(this,e,n,r),i===-1)return i;for(const c of this.value){const l=c.constructor.NAME;if(l===$r){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(l!==_f)return this.error="BIT STRING may consists of BIT STRINGs only",-1;const u=c.valueBlock;if(this.unusedBits>0&&u.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=u.unusedBits}return i}const s=M.toUint8Array(e);if(!Lt(this,s,n,r))return-1;const o=s.subarray(n,n+r);if(this.unusedBits=o[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){const c=o.subarray(1);try{if(c.byteLength){const l=nr(c,0,c.byteLength);l.offset!==-1&&l.offset===r-1&&(this.value=[l.result])}}catch{}}return this.valueHexView=o.subarray(1),this.blockLength=o.length,n+r}toBER(e,n){if(this.isConstructed)return Ft.prototype.toBER.call(this,e,n);if(e)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return ht;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}}}jf.NAME="BitStringValueBlock";var Of;let dn=class extends je{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},jf),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 De.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)}`}}};Of=dn;H.BitString=Of;dn.NAME=_f;var Bf;function S_(t,e){const n=new Uint8Array([0]),r=new Uint8Array(t),i=new Uint8Array(e);let s=r.slice(0);const o=s.length-1,c=i.slice(0),l=c.length-1;let u=0;const p=l<o?o:l;let h=0;for(let m=p;m>=0;m--,h++){switch(!0){case h<c.length:u=s[o-h]+c[l-h]+n[0];break;default:u=s[o-h]+n[0]}switch(n[0]=u/10,!0){case h>=s.length:s=ga(new Uint8Array([u%10]),s);break;default:s[o-h]=u%10}}return n[0]>0&&(s=ga(n,s)),s}function ju(t){if(t>=mr.length)for(let e=mr.length;e<=t;e++){const n=new Uint8Array([0]);let r=mr[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=ga(n,r)),mr.push(r)}return mr[t]}function A_(t,e){let n=0;const r=new Uint8Array(t),i=new Uint8Array(e),s=r.slice(0),o=s.length-1,c=i.slice(0),l=c.length-1;let u,p=0;for(let h=l;h>=0;h--,p++)switch(u=s[o-p]-c[l-p]-n,!0){case u<0:n=1,s[o-p]=u+10;break;default:n=0,s[o-p]=u}if(n>0)for(let h=o-l+1;h>=0;h--,p++)if(u=s[o-p]-n,u<0)n=1,s[o-p]=u+10;else{n=0,s[o-p]=u;break}return s.slice()}class Xc extends Et(Le){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(p_(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 o=this.valueHexView;return o[0]===0&&o[1]&128?this.valueHexView=o.subarray(1):i!==0&&o.length<i&&(i-o.length>1&&(i=o.length+1),this.valueHexView=o.subarray(i-o.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 o="",c=!1;for(let l=s.byteLength-1;l>=0;l--){i=s[l];for(let u=0;u<8;u++){if((i&1)===1)switch(r){case e:n=A_(ju(r),n),o="-";break;default:n=S_(n,ju(r))}r++,i>>=1}}for(let l=0;l<n.length;l++)n[l]&&(c=!0),c&&(o+=$u.charAt(n[l]));return c===!1&&(o+=$u.charAt(0)),o}}Bf=Xc;Xc.NAME="IntegerValueBlock";Object.defineProperty(Bf.prototype,"valueHex",{set:function(t){this.valueHexView=new Uint8Array(t),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});var Tf;class bt extends je{constructor(e={}){super(e,Xc),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return Yi(),BigInt(this.valueBlock.toString())}static fromBigInt(e){Yi();const n=BigInt(e),r=new qs,i=n.toString(16).replace(/^-/,""),s=new Uint8Array(G.FromHex(i));if(n<0){const c=new Uint8Array(s.length+(s[0]&128?1:0));c[0]|=128;const u=BigInt(`0x${G.ToHex(c)}`)+n,p=M.toUint8Array(G.FromHex(u.toString(16)));p[0]|=128,r.write(p)}else s[0]&128&&r.write(new Uint8Array([0])),r.write(s);return new bt({valueHex:r.final()})}convertToDER(){const e=new bt({valueHex:this.valueBlock.valueHexView});return e.valueBlock.toDER(),e}convertFromDER(){return new bt({valueHex:this.valueBlock.valueHexView[0]===0?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()}`}}Tf=bt;H.Integer=Tf;bt.NAME="INTEGER";var Pf;class Hs extends bt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}}Pf=Hs;H.Enumerated=Pf;Hs.NAME="ENUMERATED";class ma extends Et(Le){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(!Lt(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 o=new Uint8Array(this.blockLength);for(let c=0;c<this.blockLength;c++)o[c]=this.valueHexView[c];return this.valueHexView=o,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=Mn(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),n+this.blockLength)}set valueBigInt(e){Yi();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 o=0;o<this.blockLength-1;o++)s[o]=i[o]|128;return s[this.blockLength-1]=i[this.blockLength-1],s.buffer}const n=gn(this.valueDec,7);if(n.byteLength===0)return this.error="Error during encoding SID value",ht;const r=new Uint8Array(n.byteLength);if(!e){const i=new Uint8Array(n),s=n.byteLength-1;for(let o=0;o<s;o++)r[o]=i[o]|128;r[s]=i[s]}return r}toString(){let e="";if(this.isHexOnly)e=G.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}}}ma.NAME="sidBlock";class Rf extends Le{constructor({value:e=Me,...n}={}){super(n),this.value=[],e&&this.fromString(e)}fromBER(e,n,r){let i=n;for(;r>0;){const s=new ma;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,ht;n.push(i)}return Jc(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 o=this.value[0];let c=0;switch(o.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;o.valueDec=l+c,s=!1}else{const o=new ma;if(i>Number.MAX_SAFE_INTEGER){Yi();const c=BigInt(i);o.valueBigInt=c}else if(o.valueDec=parseInt(i,10),isNaN(o.valueDec))return;this.value.length||(o.isFirstSid=!0,s=!0),this.value.push(o)}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}}Rf.NAME="ObjectIdentifierValueBlock";var Lf;class Ks extends je{constructor(e={}){super(e,Rf),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()}}}Lf=Ks;H.ObjectIdentifier=Lf;Ks.NAME="OBJECT IDENTIFIER";class _a extends Et(In){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(!Lt(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 o=new Uint8Array(this.blockLength);for(let c=0;c<this.blockLength;c++)o[c]=this.valueHexView[c];return this.valueHexView=o,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=Mn(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 o=0;o<this.blockLength-1;o++)s[o]=i[o]|128;return s[this.blockLength-1]=i[this.blockLength-1],s.buffer}const n=gn(this.valueDec,7);if(n.byteLength===0)return this.error="Error during encoding SID value",ht;const r=new Uint8Array(n.byteLength);if(!e){const i=new Uint8Array(n),s=n.byteLength-1;for(let o=0;o<s;o++)r[o]=i[o]|128;r[s]=i[s]}return r.buffer}toString(){let e="";return this.isHexOnly?e=G.ToHex(this.valueHexView):e=this.valueDec.toString(),e}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}}_a.NAME="relativeSidBlock";class Uf extends Le{constructor({value:e=Me,...n}={}){super(n),this.value=[],e&&this.fromString(e)}fromBER(e,n,r){let i=n;for(;r>0;){const s=new _a;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,ht;r.push(s)}return Jc(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 _a;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}}Uf.NAME="RelativeObjectIdentifierValueBlock";var Vf;class Qc extends je{constructor(e={}){super(e,Uf),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()}}}Vf=Qc;H.RelativeObjectIdentifier=Vf;Qc.NAME="RelativeObjectIdentifier";var Mf;class zt extends De{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}}Mf=zt;H.Sequence=Mf;zt.NAME="SEQUENCE";var qf;let jt=class extends De{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}};qf=jt;H.Set=qf;jt.NAME="SET";class Df extends Et(Le){constructor({...e}={}){super(e),this.isHexOnly=!0,this.value=Me}toJSON(){return{...super.toJSON(),value:this.value}}}Df.NAME="StringValueBlock";class Ff extends Df{}Ff.NAME="SimpleStringValueBlock";class Ze extends Zc{constructor({...e}={}){super(e,Ff)}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}}Ze.NAME="SIMPLE STRING";class Hf extends Ze{fromBuffer(e){this.valueBlock.valueHexView=M.toUint8Array(e);try{this.valueBlock.value=G.ToUtf8String(e)}catch(n){this.warnings.push(`Error during "decodeURIComponent": ${n}, using raw string`),this.valueBlock.value=G.ToBinary(e)}}fromString(e){this.valueBlock.valueHexView=new Uint8Array(G.FromUtf8String(e)),this.valueBlock.value=e}}Hf.NAME="Utf8StringValueBlock";var Kf;class Ut extends Hf{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}}Kf=Ut;H.Utf8String=Kf;Ut.NAME="UTF8String";class Wf extends Ze{fromBuffer(e){this.valueBlock.value=G.ToUtf16String(e),this.valueBlock.valueHexView=M.toUint8Array(e)}fromString(e){this.valueBlock.value=e,this.valueBlock.valueHexView=new Uint8Array(G.FromUtf16String(e))}}Wf.NAME="BmpStringValueBlock";var Gf;class Ws extends Wf{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}}Gf=Ws;H.BmpString=Gf;Ws.NAME="BMPString";class Jf extends Ze{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=gn(e.charCodeAt(i),8),o=new Uint8Array(s);if(o.length>4)continue;const c=4-o.length;for(let l=o.length-1;l>=0;l--)r[i*4+l+c]=o[l]}this.valueBlock.value=e}}Jf.NAME="UniversalStringValueBlock";var Zf;class Gs extends Jf{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}}Zf=Gs;H.UniversalString=Zf;Gs.NAME="UniversalString";var Yf;class Js extends Ze{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}}Yf=Js;H.NumericString=Yf;Js.NAME="NumericString";var Xf;class Zs extends Ze{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}}Xf=Zs;H.PrintableString=Xf;Zs.NAME="PrintableString";var Qf;class Ys extends Ze{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}}Qf=Ys;H.TeletexString=Qf;Ys.NAME="TeletexString";var eh;class Xs extends Ze{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}}eh=Xs;H.VideotexString=eh;Xs.NAME="VideotexString";var th;class Qs extends Ze{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}}th=Qs;H.IA5String=th;Qs.NAME="IA5String";var nh;class eo extends Ze{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}}nh=eo;H.GraphicString=nh;eo.NAME="GraphicString";var rh;class Yr extends Ze{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}}rh=Yr;H.VisibleString=rh;Yr.NAME="VisibleString";var ih;class to extends Ze{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}}ih=to;H.GeneralString=ih;to.NAME="GeneralString";var sh;class no extends Ze{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}}sh=no;H.CharacterString=sh;no.NAME="CharacterString";var oh;class Xr extends Yr{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]=Ge(this.year<2e3?this.year-1900:this.year-2e3,2),n[1]=Ge(this.month,2),n[2]=Ge(this.day,2),n[3]=Ge(this.hour,2),n[4]=Ge(this.minute,2),n[5]=Ge(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}}}oh=Xr;H.UTCTime=oh;Xr.NAME="UTCTime";var ah;class ro extends Xr{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,o,c=0,l=0;if(e[e.length-1]==="Z")r=e.substring(0,e.length-1),n=!0;else{const h=new Number(e[e.length-1]);if(isNaN(h.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 h=1,m=r.indexOf("+"),y="";if(m===-1&&(m=r.indexOf("-"),h=-1),m!==-1){if(y=r.substring(m+1),r=r.substring(0,m),y.length!==2&&y.length!==4)throw new Error("Wrong input string for conversion");let f=parseInt(y.substring(0,2),10);if(isNaN(f.valueOf()))throw new Error("Wrong input string for conversion");if(c=h*f,y.length===4){if(f=parseInt(y.substring(2,4),10),isNaN(f.valueOf()))throw new Error("Wrong input string for conversion");l=h*f}}}let u=r.indexOf(".");if(u===-1&&(u=r.indexOf(",")),u!==-1){const h=new Number(`0${r.substring(u)}`);if(isNaN(h.valueOf()))throw new Error("Wrong input string for conversion");s=h.valueOf(),i=r.substring(0,u)}else i=r;switch(!0){case i.length===8:if(o=/(\d{4})(\d{2})(\d{2})/ig,u!==-1)throw new Error("Wrong input string for conversion");break;case i.length===10:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let h=60*s;this.minute=Math.floor(h),h=60*(h-this.minute),this.second=Math.floor(h),h=1e3*(h-this.second),this.millisecond=Math.floor(h)}break;case i.length===12:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let h=60*s;this.second=Math.floor(h),h=1e3*(h-this.second),this.millisecond=Math.floor(h)}break;case i.length===14:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){const h=1e3*s;this.millisecond=Math.floor(h)}break;default:throw new Error("Wrong input string for conversion")}const p=o.exec(i);if(p===null)throw new Error("Wrong input string for conversion");for(let h=1;h<p.length;h++)switch(h){case 1:this.year=parseInt(p[h],10);break;case 2:this.month=parseInt(p[h],10);break;case 3:this.day=parseInt(p[h],10);break;case 4:this.hour=parseInt(p[h],10)+c;break;case 5:this.minute=parseInt(p[h],10)+l;break;case 6:this.second=parseInt(p[h],10);break;default:throw new Error("Wrong input string for conversion")}if(n===!1){const h=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=h.getUTCFullYear(),this.month=h.getUTCMonth(),this.day=h.getUTCDay(),this.hour=h.getUTCHours(),this.minute=h.getUTCMinutes(),this.second=h.getUTCSeconds(),this.millisecond=h.getUTCMilliseconds()}}toString(e="iso"){if(e==="iso"){const n=[];return n.push(Ge(this.year,4)),n.push(Ge(this.month,2)),n.push(Ge(this.day,2)),n.push(Ge(this.hour,2)),n.push(Ge(this.minute,2)),n.push(Ge(this.second,2)),this.millisecond!==0&&(n.push("."),n.push(Ge(this.millisecond,3))),n.push("Z"),n.join("")}return super.toString(e)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}}ah=ro;H.GeneralizedTime=ah;ro.NAME="GeneralizedTime";var ch;class el extends Ut{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}}ch=el;H.DATE=ch;el.NAME="DATE";var lh;class tl extends Ut{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}}lh=tl;H.TimeOfDay=lh;tl.NAME="TimeOfDay";var uh;class nl extends Ut{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}}uh=nl;H.DateTime=uh;nl.NAME="DateTime";var dh;class rl extends Ut{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}}dh=rl;H.Duration=dh;rl.NAME="Duration";var ph;class il extends Ut{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}}ph=il;H.TIME=ph;il.NAME="TIME";class _n{constructor({name:e=Me,optional:n=!1}={}){this.name=e,this.optional=n}}class sl extends _n{constructor({value:e=[],...n}={}){super(n),this.value=e}}class Xi extends _n{constructor({value:e=new _n,local:n=!1,...r}={}){super(r),this.value=e,this.local=n}}class E_{constructor({data:e=Ds}={}){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 an(t,e,n){if(n instanceof sl){for(let s=0;s<n.value.length;s++)if(an(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(Fo)&&(s.name=n.name),s}}if(n instanceof _n)return n.hasOwnProperty(Fo)&&(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(!(g_ in n))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(v_ in n.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(w_ 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(m_)===!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(__)===!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(y_)===!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(n.idBlock.isConstructed!==e.idBlock.isConstructed)return{verified:!1,result:t};if(!(h_ 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(!(zu in n.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};const s=n.idBlock.valueHexView,o=e.idBlock.valueHexView;if(s.length!==o.length)return{verified:!1,result:t};for(let c=0;c<s.length;c++)if(s[c]!==o[1])return{verified:!1,result:t}}if(n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,Me),n.name&&(t[n.name]=e)),n instanceof H.Constructed){let s=0,o={verified:!1,result:{error:"Unknown error"}},c=n.valueBlock.value.length;if(c>0&&n.valueBlock.value[0]instanceof Xi&&(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 u=0;u<n.valueBlock.value.length;u++)l=l&&(n.valueBlock.value[u].optional||!1);return l?{verified:!0,result:t}:(n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,Me),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 u={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,Me),n.name&&(delete t[n.name],u.name=n.name)),u}}else if(n.valueBlock.value[0]instanceof Xi){if(o=an(t,e.valueBlock.value[l],n.valueBlock.value[0].value),o.verified===!1)if(n.valueBlock.value[0].optional)s++;else return n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,Me),n.name&&delete t[n.name]),o;if(Fo in n.valueBlock.value[0]&&n.valueBlock.value[0].name.length>0){let u={};b_ in n.valueBlock.value[0]&&n.valueBlock.value[0].local?u=e:u=t,typeof u[n.valueBlock.value[0].name]>"u"&&(u[n.valueBlock.value[0].name]=[]),u[n.valueBlock.value[0].name].push(e.valueBlock.value[l])}}else if(o=an(t,e.valueBlock.value[l-s],n.valueBlock.value[l]),o.verified===!1)if(n.valueBlock.value[l].optional)s++;else return n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,Me),n.name&&delete t[n.name]),o;if(o.verified===!1){const l={verified:!1,result:t};return n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,Me),n.name&&(delete t[n.name],l.name=n.name)),l}return{verified:!0,result:t}}if(n.primitiveSchema&&zu in e.valueBlock){const s=nr(e.valueBlock.valueHexView);if(s.offset===-1){const o={verified:!1,result:s.result};return n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,Me),n.name&&(delete t[n.name],o.name=n.name)),o}return an(t,s.result,n.primitiveSchema)}return{verified:!0,result:t}}function I_(t,e){if(!(e instanceof Object))return{verified:!1,result:{error:"Wrong ASN.1 schema type"}};const n=nr(M.toUint8Array(t));return n.offset===-1?{verified:!1,result:n.result}:an(n.result,n.result,e)}const fh=Object.freeze(Object.defineProperty({__proto__:null,Any:_n,BaseBlock:je,BaseStringBlock:Zc,BitString:dn,BmpString:Ws,Boolean:Fs,CharacterString:no,Choice:sl,Constructed:De,DATE:el,DateTime:nl,Duration:rl,EndOfContent:Yc,Enumerated:Hs,GeneralString:to,GeneralizedTime:ro,GraphicString:eo,HexBlock:Et,IA5String:Qs,Integer:bt,Null:mn,NumericString:Js,ObjectIdentifier:Ks,OctetString:un,Primitive:Zr,PrintableString:Zs,RawData:E_,RelativeObjectIdentifier:Qc,Repeated:Xi,Sequence:zt,Set:jt,TIME:il,TeletexString:Ys,TimeOfDay:tl,UTCTime:Xr,UniversalString:Gs,Utf8String:Ut,ValueBlock:Le,VideotexString:Xs,ViewWriter:qs,VisibleString:Yr,compareSchema:an,fromBER:Ln,verifySchema:I_},Symbol.toStringTag,{value:"Module"}));var T;(function(t){t[t.Sequence=0]="Sequence",t[t.Set=1]="Set",t[t.Choice=2]="Choice"})(T||(T={}));var w;(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"})(w||(w={}));class io{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 dn))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 dn({unusedBits:this.unusedBits,valueHex:this.value})}toSchema(e){return new dn({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 ae{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 un))throw new TypeError("Argument 'asn' is not instance of ASN.1 OctetString");return this.buffer=e.valueBlock.valueHex,this}toASN(){return new un({valueHex:this.buffer})}toSchema(e){return new un({name:e})}}const C_={fromASN:t=>t instanceof mn?null:t.valueBeforeDecodeView,toASN:t=>{if(t===null)return new mn;const e=Ln(t);if(e.result.error)throw new Error(e.result.error);return e.result}},N_={fromASN:t=>t.valueBlock.valueHexView.byteLength>=4?t.valueBlock.toString():t.valueBlock.valueDec,toASN:t=>new bt({value:+t})},$_={fromASN:t=>t.valueBlock.valueDec,toASN:t=>new Hs({value:t})},_e={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new bt({valueHex:t})},z_={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new dn({valueHex:t})},j_={fromASN:t=>t.valueBlock.toString(),toASN:t=>new Ks({value:t})},O_={fromASN:t=>t.valueBlock.value,toASN:t=>new Fs({value:t})},Qi={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new un({valueHex:t})},B_={fromASN:t=>new ae(t.getValue()),toASN:t=>t.toASN()};function rt(t){return{fromASN:e=>e.valueBlock.value,toASN:e=>new t({value:e})}}const hh=rt(Ut),T_=rt(Ws),P_=rt(Gs),R_=rt(Js),L_=rt(Zs),U_=rt(Ys),V_=rt(Xs),M_=rt(Qs),q_=rt(eo),D_=rt(Yr),F_=rt(to),H_=rt(no),K_={fromASN:t=>t.toDate(),toASN:t=>new Xr({valueDate:t})},W_={fromASN:t=>t.toDate(),toASN:t=>new ro({valueDate:t})},G_={fromASN:()=>null,toASN:()=>new mn};function ol(t){switch(t){case w.Any:return C_;case w.BitString:return z_;case w.BmpString:return T_;case w.Boolean:return O_;case w.CharacterString:return H_;case w.Enumerated:return $_;case w.GeneralString:return F_;case w.GeneralizedTime:return W_;case w.GraphicString:return q_;case w.IA5String:return M_;case w.Integer:return N_;case w.Null:return G_;case w.NumericString:return R_;case w.ObjectIdentifier:return j_;case w.OctetString:return Qi;case w.PrintableString:return L_;case w.TeletexString:return U_;case w.UTCTime:return K_;case w.UniversalString:return P_;case w.Utf8String:return hh;case w.VideotexString:return V_;case w.VisibleString:return D_;default:return null}}function $t(t){return typeof t=="function"&&t.prototype?t.prototype.toASN&&t.prototype.fromASN?!0:$t(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 J_(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 Z_{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:T.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 o=r.items[s],c=n?s:"";let l;if(typeof o.type=="number"){const p=w[o.type],h=fh[p];if(!h)throw new Error(`Cannot get ASN1 class by name '${p}'`);l=new h({name:c})}else $t(o.type)?l=new o.type().toSchema(c):o.optional?this.get(o.type).type===T.Choice?l=new _n({name:c}):(l=this.create(o.type,!1),l.name=c):l=new _n({name:c});const u=!!o.optional||o.defaultValue!==void 0;if(o.repeated){l.name="";const p=o.repeated==="set"?jt:zt;l=new p({name:"",value:[new Xi({name:c,value:l})]})}if(o.context!==null&&o.context!==void 0)if(o.implicit)if(typeof o.type=="number"||$t(o.type)){const p=o.repeated?De:Zr;i.push(new p({name:c,optional:u,idBlock:{tagClass:3,tagNumber:o.context}}))}else{this.cache(o.type);const p=!!o.repeated;let h=p?l:this.get(o.type,!0).schema;h="valueBlock"in h?h.valueBlock.value:h.value,i.push(new De({name:p?"":c,optional:u,idBlock:{tagClass:3,tagNumber:o.context},value:h}))}else i.push(new De({optional:u,idBlock:{tagClass:3,tagNumber:o.context},value:[l]}));else l.optional=u,i.push(l)}switch(r.type){case T.Sequence:return new zt({value:i,name:""});case T.Set:return new jt({value:i,name:""});case T.Choice:return new sl({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 Qe=new Z_,P=t=>e=>{let n;Qe.has(e)?n=Qe.get(e):(n=Qe.createDefault(e),Qe.set(e,n)),Object.assign(n,t)},g=t=>(e,n)=>{let r;Qe.has(e.constructor)?r=Qe.get(e.constructor):(r=Qe.createDefault(e.constructor),Qe.set(e.constructor,r));const i=Object.assign({},t);if(typeof i.type=="number"&&!i.converter){const s=ol(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 Ou extends Error{constructor(){super(...arguments),this.schemas=[]}}class Y_{static parse(e,n){const r=Ln(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($t(n))return new n().fromASN(e);const i=Qe.get(n);Qe.cache(n);let s=i.schema;if(e.constructor===De&&i.type!==T.Choice){s=new De({idBlock:{tagClass:3,tagNumber:e.idBlock.tagNumber},value:i.schema.valueBlock.value});for(const l in i.items)delete e[l]}const o=an({},e,s);if(!o.verified)throw new Ou(`Data does not match to ${n.name} ASN1 schema. ${o.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 u=ol(l);if(!u)throw new Error(`Cannot get default converter for array item of ${n.name} ASN1 schema`);return n.from(e.valueBlock.value,p=>u.fromASN(p))}else return n.from(e.valueBlock.value,u=>this.fromASN(u,l))}for(const l in i.items){const u=o.result[l];if(!u)continue;const p=i.items[l],h=p.type;if(typeof h=="number"||$t(h)){const m=(r=p.converter)!==null&&r!==void 0?r:$t(h)?new h:null;if(!m)throw new Error("Converter is empty");if(p.repeated)if(p.implicit){const y=p.repeated==="sequence"?zt:jt,f=new y;f.valueBlock=u.valueBlock;const _=Ln(f.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,x=>m.fromASN(x))}else c[l]=Array.from(u,y=>m.fromASN(y));else{let y=u;if(p.implicit){let f;if($t(h))f=new h().toSchema("");else{const _=w[h],v=fh[_];if(!v)throw new Error(`Cannot get '${_}' class from asn1js module`);f=new v}f.valueBlock=y.valueBlock,y=Ln(f.toBER(!1)).result}c[l]=m.fromASN(y)}}else if(p.repeated){if(!Array.isArray(u))throw new Error("Cannot get list of items from the ASN.1 parsed value. ASN.1 value should be iterable.");c[l]=Array.from(u,m=>this.fromASN(m,h))}else c[l]=this.fromASN(u,h)}return c}catch(i){throw i instanceof Ou&&i.schemas.push(n.name),i}}}class al{static serialize(e){return e instanceof je?e.toBER(!1):this.toASN(e).toBER(!1)}static toASN(e){if(e&&typeof e=="object"&&$t(e))return e.toASN();if(!(e&&typeof e=="object"))throw new TypeError("Parameter 1 should be type of Object.");const n=e.constructor,r=Qe.get(n);Qe.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 o=ol(r.itemType);if(!o)throw new Error(`Cannot get default converter for array item of ${n.name} ASN1 schema`);i=e.map(c=>o.toASN(c))}else i=e.map(o=>this.toAsnItem({type:r.itemType},"[]",n,o))}else for(const o in r.items){const c=r.items[o],l=e[o];if(l===void 0||c.defaultValue===l||typeof c.defaultValue=="object"&&typeof l=="object"&&J_(this.serialize(c.defaultValue),this.serialize(l)))continue;const u=al.toAsnItem(c,o,n,l);if(typeof c.context=="number")if(c.implicit)if(!c.repeated&&(typeof c.type=="number"||$t(c.type))){const p={};p.valueHex=u instanceof mn?u.valueBeforeDecodeView:u.valueBlock.toBER(),i.push(new Zr({optional:c.optional,idBlock:{tagClass:3,tagNumber:c.context},...p}))}else i.push(new De({optional:c.optional,idBlock:{tagClass:3,tagNumber:c.context},value:u.valueBlock.value}));else i.push(new De({optional:c.optional,idBlock:{tagClass:3,tagNumber:c.context},value:[u]}));else c.repeated?i=i.concat(u):i.push(u)}let s;switch(r.type){case T.Sequence:s=new zt({value:i});break;case T.Set:s=new jt({value:i});break;case T.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 o=e.converter;if(!o)throw new Error(`Property '${n}' doesn't have converter for type ${w[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,u=>o.toASN(u)),l=e.repeated==="sequence"?zt:jt;s=new l({value:c})}else s=o.toASN(i)}else if(e.repeated){if(!Array.isArray(i))throw new TypeError("Parameter 'objProp' should be type of Array.");const o=Array.from(i,l=>this.toASN(l)),c=e.repeated==="sequence"?zt:jt;s=new c({value:o})}else s=this.toASN(i);return s}}class de extends Array{constructor(e=[]){if(typeof e=="number")super(e);else{super();for(const n of e)this.push(n)}}}class V{static serialize(e){return al.serialize(e)}static parse(e,n){return Y_.parse(e,n)}static toString(e){const n=M.isBufferSource(e)?M.toArrayBuffer(e):V.serialize(e),r=Ln(n);if(r.offset===-1)throw new Error(`Cannot decode ASN.1 data. ${r.result.error}`);return r.result.toString()}}function d(t,e,n,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,n):r,o;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--)(o=t[c])&&(s=(i<3?o(s):i>3?o(e,n,s):o(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s}var mh={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"),o="%[0-9a-z]{1,}",c="(?:[0-9a-f]+::?)+",l={zoneIndex:new RegExp(o,"i"),native:new RegExp(`^(::)?(${c})?([0-9a-f]+)?(::)?(${o})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${n}\\.${n}\\.${n}\\.${n}(${o})?)$`,"i"),transitional:new RegExp(`^((?:${c})|(?:::)(?:${c})?)${n}\\.${n}\\.${n}\\.${n}(${o})?$`,"i")};function u(f,_){if(f.indexOf("::")!==f.lastIndexOf("::"))return null;let v=0,x=-1,N=(f.match(l.zoneIndex)||[])[0],B,R;for(N&&(N=N.substring(1),f=f.replace(/%.+$/,""));(x=f.indexOf(":",x+1))>=0;)v++;if(f.substr(0,2)==="::"&&v--,f.substr(-2,2)==="::"&&v--,v>_)return null;for(R=_-v,B=":";R--;)B+="0:";return f=f.replace("::",B),f[0]===":"&&(f=f.slice(1)),f[f.length-1]===":"&&(f=f.slice(0,-1)),_=function(){const te=f.split(":"),pe=[];for(let le=0;le<te.length;le++)pe.push(parseInt(te[le],16));return pe}(),{parts:_,zoneId:N}}function p(f,_,v,x){if(f.length!==_.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let N=0,B;for(;x>0;){if(B=v-x,B<0&&(B=0),f[N]>>B!==_[N]>>B)return!1;x-=v,N+=1}return!0}function h(f){if(s.test(f))return parseInt(f,16);if(f[0]==="0"&&!isNaN(parseInt(f[1],10))){if(i.test(f))return parseInt(f,8);throw new Error(`ipaddr: cannot parse ${f} as octal`)}return parseInt(f,10)}function m(f,_){for(;f.length<_;)f=`0${f}`;return f}const y={};y.IPv4=function(){function f(_){if(_.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let v,x;for(v=0;v<_.length;v++)if(x=_[v],!(0<=x&&x<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=_}return f.prototype.SpecialRanges={unspecified:[[new f([0,0,0,0]),8]],broadcast:[[new f([255,255,255,255]),32]],multicast:[[new f([224,0,0,0]),4]],linkLocal:[[new f([169,254,0,0]),16]],loopback:[[new f([127,0,0,0]),8]],carrierGradeNat:[[new f([100,64,0,0]),10]],private:[[new f([10,0,0,0]),8],[new f([172,16,0,0]),12],[new f([192,168,0,0]),16]],reserved:[[new f([192,0,0,0]),24],[new f([192,0,2,0]),24],[new f([192,88,99,0]),24],[new f([198,18,0,0]),15],[new f([198,51,100,0]),24],[new f([203,0,113,0]),24],[new f([240,0,0,0]),4]],as112:[[new f([192,175,48,0]),24],[new f([192,31,196,0]),24]],amt:[[new f([192,52,193,0]),24]]},f.prototype.kind=function(){return"ipv4"},f.prototype.match=function(_,v){let x;if(v===void 0&&(x=_,_=x[0],v=x[1]),_.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return p(this.octets,_.octets,8,v)},f.prototype.prefixLengthFromSubnetMask=function(){let _=0,v=!1;const x={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0};let N,B,R;for(N=3;N>=0;N-=1)if(B=this.octets[N],B in x){if(R=x[B],v&&R!==0)return null;R!==8&&(v=!0),_+=R}else return null;return 32-_},f.prototype.range=function(){return y.subnetMatch(this,this.SpecialRanges)},f.prototype.toByteArray=function(){return this.octets.slice(0)},f.prototype.toIPv4MappedAddress=function(){return y.IPv6.parse(`::ffff:${this.toString()}`)},f.prototype.toNormalizedString=function(){return this.toString()},f.prototype.toString=function(){return this.octets.join(".")},f}(),y.IPv4.broadcastAddressFromCIDR=function(f){try{const _=this.parseCIDR(f),v=_[0].toByteArray(),x=this.subnetMaskFromPrefixLength(_[1]).toByteArray(),N=[];let B=0;for(;B<4;)N.push(parseInt(v[B],10)|parseInt(x[B],10)^255),B++;return new this(N)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},y.IPv4.isIPv4=function(f){return this.parser(f)!==null},y.IPv4.isValid=function(f){try{return new this(this.parser(f)),!0}catch{return!1}},y.IPv4.isValidCIDR=function(f){try{return this.parseCIDR(f),!0}catch{return!1}},y.IPv4.isValidFourPartDecimal=function(f){return!!(y.IPv4.isValid(f)&&f.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},y.IPv4.networkAddressFromCIDR=function(f){let _,v,x,N,B;try{for(_=this.parseCIDR(f),x=_[0].toByteArray(),B=this.subnetMaskFromPrefixLength(_[1]).toByteArray(),N=[],v=0;v<4;)N.push(parseInt(x[v],10)&parseInt(B[v],10)),v++;return new this(N)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},y.IPv4.parse=function(f){const _=this.parser(f);if(_===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(_)},y.IPv4.parseCIDR=function(f){let _;if(_=f.match(/^(.+)\/(\d+)$/)){const v=parseInt(_[2]);if(v>=0&&v<=32){const x=[this.parse(_[1]),v];return Object.defineProperty(x,"toString",{value:function(){return this.join("/")}}),x}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},y.IPv4.parser=function(f){let _,v,x;if(_=f.match(r.fourOctet))return function(){const N=_.slice(1,6),B=[];for(let R=0;R<N.length;R++)v=N[R],B.push(h(v));return B}();if(_=f.match(r.longValue)){if(x=h(_[1]),x>4294967295||x<0)throw new Error("ipaddr: address outside defined range");return function(){const N=[];let B;for(B=0;B<=24;B+=8)N.push(x>>B&255);return N}().reverse()}else return(_=f.match(r.twoOctet))?function(){const N=_.slice(1,4),B=[];if(x=h(N[1]),x>16777215||x<0)throw new Error("ipaddr: address outside defined range");return B.push(h(N[0])),B.push(x>>16&255),B.push(x>>8&255),B.push(x&255),B}():(_=f.match(r.threeOctet))?function(){const N=_.slice(1,5),B=[];if(x=h(N[2]),x>65535||x<0)throw new Error("ipaddr: address outside defined range");return B.push(h(N[0])),B.push(h(N[1])),B.push(x>>8&255),B.push(x&255),B}():null},y.IPv4.subnetMaskFromPrefixLength=function(f){if(f=parseInt(f),f<0||f>32)throw new Error("ipaddr: invalid IPv4 prefix length");const _=[0,0,0,0];let v=0;const x=Math.floor(f/8);for(;v<x;)_[v]=255,v++;return x<4&&(_[x]=Math.pow(2,f%8)-1<<8-f%8),new this(_)},y.IPv6=function(){function f(_,v){let x,N;if(_.length===16)for(this.parts=[],x=0;x<=14;x+=2)this.parts.push(_[x]<<8|_[x+1]);else if(_.length===8)this.parts=_;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(x=0;x<this.parts.length;x++)if(N=this.parts[x],!(0<=N&&N<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");v&&(this.zoneId=v)}return f.prototype.SpecialRanges={unspecified:[new f([0,0,0,0,0,0,0,0]),128],linkLocal:[new f([65152,0,0,0,0,0,0,0]),10],multicast:[new f([65280,0,0,0,0,0,0,0]),8],loopback:[new f([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new f([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new f([0,0,0,0,0,65535,0,0]),96],discard:[new f([256,0,0,0,0,0,0,0]),64],rfc6145:[new f([0,0,0,0,65535,0,0,0]),96],rfc6052:[new f([100,65435,0,0,0,0,0,0]),96],"6to4":[new f([8194,0,0,0,0,0,0,0]),16],teredo:[new f([8193,0,0,0,0,0,0,0]),32],benchmarking:[new f([8193,2,0,0,0,0,0,0]),48],amt:[new f([8193,3,0,0,0,0,0,0]),32],as112v6:[[new f([8193,4,274,0,0,0,0,0]),48],[new f([9760,79,32768,0,0,0,0,0]),48]],deprecated:[new f([8193,16,0,0,0,0,0,0]),28],orchid2:[new f([8193,32,0,0,0,0,0,0]),28],droneRemoteIdProtocolEntityTags:[new f([8193,48,0,0,0,0,0,0]),28],reserved:[[new f([8193,0,0,0,0,0,0,0]),23],[new f([8193,3512,0,0,0,0,0,0]),32]]},f.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},f.prototype.kind=function(){return"ipv6"},f.prototype.match=function(_,v){let x;if(v===void 0&&(x=_,_=x[0],v=x[1]),_.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return p(this.parts,_.parts,16,v)},f.prototype.prefixLengthFromSubnetMask=function(){let _=0,v=!1;const x={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 N,B;for(let R=7;R>=0;R-=1)if(N=this.parts[R],N in x){if(B=x[N],v&&B!==0)return null;B!==16&&(v=!0),_+=B}else return null;return 128-_},f.prototype.range=function(){return y.subnetMatch(this,this.SpecialRanges)},f.prototype.toByteArray=function(){let _;const v=[],x=this.parts;for(let N=0;N<x.length;N++)_=x[N],v.push(_>>8),v.push(_&255);return v},f.prototype.toFixedLengthString=function(){const _=(function(){const x=[];for(let N=0;N<this.parts.length;N++)x.push(m(this.parts[N].toString(16),4));return x}).call(this).join(":");let v="";return this.zoneId&&(v=`%${this.zoneId}`),_+v},f.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],x=_[1];return new y.IPv4([v>>8,v&255,x>>8,x&255])},f.prototype.toNormalizedString=function(){const _=(function(){const x=[];for(let N=0;N<this.parts.length;N++)x.push(this.parts[N].toString(16));return x}).call(this).join(":");let v="";return this.zoneId&&(v=`%${this.zoneId}`),_+v},f.prototype.toRFC5952String=function(){const _=/((^|:)(0(:|$)){2,})/g,v=this.toNormalizedString();let x=0,N=-1,B;for(;B=_.exec(v);)B[0].length>N&&(x=B.index,N=B[0].length);return N<0?v:`${v.substring(0,x)}::${v.substring(x+N)}`},f.prototype.toString=function(){return this.toRFC5952String()},f}(),y.IPv6.broadcastAddressFromCIDR=function(f){try{const _=this.parseCIDR(f),v=_[0].toByteArray(),x=this.subnetMaskFromPrefixLength(_[1]).toByteArray(),N=[];let B=0;for(;B<16;)N.push(parseInt(v[B],10)|parseInt(x[B],10)^255),B++;return new this(N)}catch(_){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${_})`)}},y.IPv6.isIPv6=function(f){return this.parser(f)!==null},y.IPv6.isValid=function(f){if(typeof f=="string"&&f.indexOf(":")===-1)return!1;try{const _=this.parser(f);return new this(_.parts,_.zoneId),!0}catch{return!1}},y.IPv6.isValidCIDR=function(f){if(typeof f=="string"&&f.indexOf(":")===-1)return!1;try{return this.parseCIDR(f),!0}catch{return!1}},y.IPv6.networkAddressFromCIDR=function(f){let _,v,x,N,B;try{for(_=this.parseCIDR(f),x=_[0].toByteArray(),B=this.subnetMaskFromPrefixLength(_[1]).toByteArray(),N=[],v=0;v<16;)N.push(parseInt(x[v],10)&parseInt(B[v],10)),v++;return new this(N)}catch(R){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${R})`)}},y.IPv6.parse=function(f){const _=this.parser(f);if(_.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(_.parts,_.zoneId)},y.IPv6.parseCIDR=function(f){let _,v,x;if((v=f.match(/^(.+)\/(\d+)$/))&&(_=parseInt(v[2]),_>=0&&_<=128))return x=[this.parse(v[1]),_],Object.defineProperty(x,"toString",{value:function(){return this.join("/")}}),x;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},y.IPv6.parser=function(f){let _,v,x,N,B,R;if(x=f.match(l.deprecatedTransitional))return this.parser(`::ffff:${x[1]}`);if(l.native.test(f))return u(f,8);if((x=f.match(l.transitional))&&(R=x[6]||"",_=x[1],x[1].endsWith("::")||(_=_.slice(0,-1)),_=u(_+R,6),_.parts)){for(B=[parseInt(x[2]),parseInt(x[3]),parseInt(x[4]),parseInt(x[5])],v=0;v<B.length;v++)if(N=B[v],!(0<=N&&N<=255))return null;return _.parts.push(B[0]<<8|B[1]),_.parts.push(B[2]<<8|B[3]),{parts:_.parts,zoneId:_.zoneId}}return null},y.IPv6.subnetMaskFromPrefixLength=function(f){if(f=parseInt(f),f<0||f>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 x=Math.floor(f/8);for(;v<x;)_[v]=255,v++;return x<16&&(_[x]=Math.pow(2,f%8)-1<<8-f%8),new this(_)},y.fromByteArray=function(f){const _=f.length;if(_===4)return new y.IPv4(f);if(_===16)return new y.IPv6(f);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},y.isValid=function(f){return y.IPv6.isValid(f)||y.IPv4.isValid(f)},y.isValidCIDR=function(f){return y.IPv6.isValidCIDR(f)||y.IPv4.isValidCIDR(f)},y.parse=function(f){if(y.IPv6.isValid(f))return y.IPv6.parse(f);if(y.IPv4.isValid(f))return y.IPv4.parse(f);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},y.parseCIDR=function(f){try{return y.IPv6.parseCIDR(f)}catch{try{return y.IPv4.parseCIDR(f)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},y.process=function(f){const _=this.parse(f);return _.kind()==="ipv6"&&_.isIPv4MappedAddress()?_.toIPv4Address():_},y.subnetMatch=function(f,_,v){let x,N,B,R;v==null&&(v="unicast");for(N in _)if(Object.prototype.hasOwnProperty.call(_,N)){for(B=_[N],B[0]&&!(B[0]instanceof Array)&&(B=[B]),x=0;x<B.length;x++)if(R=B[x],f.kind()===R[0].kind()&&f.match.apply(f,R))return N}return v},t.exports?t.exports=y:e.ipaddr=y})(Zi)})(mh);var Bu=mh.exports;class Tu{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 Bu.fromByteArray(Array.from(n)).toString()}return this.decodeIP(G.ToHex(e))}static fromString(e){const n=Bu.parse(e);return new Uint8Array(n.toByteArray()).buffer}}var ya,va,wa;let Oe=class{constructor(e={}){Object.assign(this,e)}toString(){return this.bmpString||this.printableString||this.teletexString||this.universalString||this.utf8String||""}};d([g({type:w.TeletexString})],Oe.prototype,"teletexString",void 0);d([g({type:w.PrintableString})],Oe.prototype,"printableString",void 0);d([g({type:w.UniversalString})],Oe.prototype,"universalString",void 0);d([g({type:w.Utf8String})],Oe.prototype,"utf8String",void 0);d([g({type:w.BmpString})],Oe.prototype,"bmpString",void 0);Oe=d([P({type:T.Choice})],Oe);let qn=class extends Oe{constructor(e={}){super(e),Object.assign(this,e)}toString(){return this.ia5String||(this.anyValue?G.ToHex(this.anyValue):super.toString())}};d([g({type:w.IA5String})],qn.prototype,"ia5String",void 0);d([g({type:w.Any})],qn.prototype,"anyValue",void 0);qn=d([P({type:T.Choice})],qn);class so{constructor(e={}){this.type="",this.value=new qn,Object.assign(this,e)}}d([g({type:w.ObjectIdentifier})],so.prototype,"type",void 0);d([g({type:qn})],so.prototype,"value",void 0);let Dn=ya=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,ya.prototype)}};Dn=ya=d([P({type:T.Set,itemType:so})],Dn);let ba=va=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,va.prototype)}};ba=va=d([P({type:T.Sequence,itemType:Dn})],ba);let ke=wa=class extends ba{constructor(e){super(e),Object.setPrototypeOf(this,wa.prototype)}};ke=wa=d([P({type:T.Sequence})],ke);const X_={fromASN:t=>Tu.toString(Qi.fromASN(t)),toASN:t=>Qi.toASN(Tu.fromString(t))};class zr{constructor(e={}){this.typeId="",this.value=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:w.ObjectIdentifier})],zr.prototype,"typeId",void 0);d([g({type:w.Any,context:0})],zr.prototype,"value",void 0);class cl{constructor(e={}){this.partyName=new Oe,Object.assign(this,e)}}d([g({type:Oe,optional:!0,context:0,implicit:!0})],cl.prototype,"nameAssigner",void 0);d([g({type:Oe,context:1,implicit:!0})],cl.prototype,"partyName",void 0);let re=class{constructor(e={}){Object.assign(this,e)}};d([g({type:zr,context:0,implicit:!0})],re.prototype,"otherName",void 0);d([g({type:w.IA5String,context:1,implicit:!0})],re.prototype,"rfc822Name",void 0);d([g({type:w.IA5String,context:2,implicit:!0})],re.prototype,"dNSName",void 0);d([g({type:w.Any,context:3,implicit:!0})],re.prototype,"x400Address",void 0);d([g({type:ke,context:4,implicit:!1})],re.prototype,"directoryName",void 0);d([g({type:cl,context:5})],re.prototype,"ediPartyName",void 0);d([g({type:w.IA5String,context:6,implicit:!0})],re.prototype,"uniformResourceIdentifier",void 0);d([g({type:w.OctetString,context:7,implicit:!0,converter:X_})],re.prototype,"iPAddress",void 0);d([g({type:w.ObjectIdentifier,context:8,implicit:!0})],re.prototype,"registeredID",void 0);re=d([P({type:T.Choice})],re);const ll="1.3.6.1.5.5.7",Q_=`${ll}.1`,rr=`${ll}.3`,oo=`${ll}.48`,Pu=`${oo}.1`,Ru=`${oo}.2`,Lu=`${oo}.3`,Uu=`${oo}.5`,Xt="2.5.29";var ka;const xa=`${Q_}.1`;class Qr{constructor(e={}){this.accessMethod="",this.accessLocation=new re,Object.assign(this,e)}}d([g({type:w.ObjectIdentifier})],Qr.prototype,"accessMethod",void 0);d([g({type:re})],Qr.prototype,"accessLocation",void 0);let Pn=ka=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,ka.prototype)}};Pn=ka=d([P({type:T.Sequence,itemType:Qr})],Pn);const Sa=`${Xt}.35`;class ul extends ae{}class cn{constructor(e={}){e&&Object.assign(this,e)}}d([g({type:ul,context:0,optional:!0,implicit:!0})],cn.prototype,"keyIdentifier",void 0);d([g({type:re,context:1,optional:!0,implicit:!0,repeated:"sequence"})],cn.prototype,"authorityCertIssuer",void 0);d([g({type:w.Integer,context:2,optional:!0,implicit:!0,converter:_e})],cn.prototype,"authorityCertSerialNumber",void 0);const _h=`${Xt}.19`;class es{constructor(e={}){this.cA=!1,Object.assign(this,e)}}d([g({type:w.Boolean,defaultValue:!1})],es.prototype,"cA",void 0);d([g({type:w.Integer,optional:!0})],es.prototype,"pathLenConstraint",void 0);var Aa;let Re=Aa=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Aa.prototype)}};Re=Aa=d([P({type:T.Sequence,itemType:re})],Re);var Ea;let Vu=Ea=class extends Re{constructor(e){super(e),Object.setPrototypeOf(this,Ea.prototype)}};Vu=Ea=d([P({type:T.Sequence})],Vu);var Ia;const yh=`${Xt}.32`;let Ot=class{constructor(e={}){Object.assign(this,e)}toString(){return this.ia5String||this.visibleString||this.bmpString||this.utf8String||""}};d([g({type:w.IA5String})],Ot.prototype,"ia5String",void 0);d([g({type:w.VisibleString})],Ot.prototype,"visibleString",void 0);d([g({type:w.BmpString})],Ot.prototype,"bmpString",void 0);d([g({type:w.Utf8String})],Ot.prototype,"utf8String",void 0);Ot=d([P({type:T.Choice})],Ot);class dl{constructor(e={}){this.organization=new Ot,this.noticeNumbers=[],Object.assign(this,e)}}d([g({type:Ot})],dl.prototype,"organization",void 0);d([g({type:w.Integer,repeated:"sequence"})],dl.prototype,"noticeNumbers",void 0);class pl{constructor(e={}){Object.assign(this,e)}}d([g({type:dl,optional:!0})],pl.prototype,"noticeRef",void 0);d([g({type:Ot,optional:!0})],pl.prototype,"explicitText",void 0);let ts=class{constructor(e={}){Object.assign(this,e)}};d([g({type:w.IA5String})],ts.prototype,"cPSuri",void 0);d([g({type:pl})],ts.prototype,"userNotice",void 0);ts=d([P({type:T.Choice})],ts);class fl{constructor(e={}){this.policyQualifierId="",this.qualifier=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:w.ObjectIdentifier})],fl.prototype,"policyQualifierId",void 0);d([g({type:w.Any})],fl.prototype,"qualifier",void 0);class ao{constructor(e={}){this.policyIdentifier="",Object.assign(this,e)}}d([g({type:w.ObjectIdentifier})],ao.prototype,"policyIdentifier",void 0);d([g({type:fl,repeated:"sequence",optional:!0})],ao.prototype,"policyQualifiers",void 0);let ns=Ia=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Ia.prototype)}};ns=Ia=d([P({type:T.Sequence,itemType:ao})],ns);let rs=class{constructor(e=0){this.value=e}};d([g({type:w.Integer})],rs.prototype,"value",void 0);rs=d([P({type:T.Choice})],rs);let Mu=class extends rs{};Mu=d([P({type:T.Choice})],Mu);var Ca;const Na=`${Xt}.31`;var ct;(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"})(ct||(ct={}));class vh extends io{toJSON(){const e=[],n=this.toNumber();return n&ct.aACompromise&&e.push("aACompromise"),n&ct.affiliationChanged&&e.push("affiliationChanged"),n&ct.cACompromise&&e.push("cACompromise"),n&ct.certificateHold&&e.push("certificateHold"),n&ct.cessationOfOperation&&e.push("cessationOfOperation"),n&ct.keyCompromise&&e.push("keyCompromise"),n&ct.privilegeWithdrawn&&e.push("privilegeWithdrawn"),n&ct.superseded&&e.push("superseded"),n&ct.unused&&e.push("unused"),e}toString(){return`[${this.toJSON().join(", ")}]`}}let yn=class{constructor(e={}){Object.assign(this,e)}};d([g({type:re,context:0,repeated:"sequence",implicit:!0})],yn.prototype,"fullName",void 0);d([g({type:Dn,context:1,implicit:!0})],yn.prototype,"nameRelativeToCRLIssuer",void 0);yn=d([P({type:T.Choice})],yn);class ir{constructor(e={}){Object.assign(this,e)}}d([g({type:yn,context:0,optional:!0})],ir.prototype,"distributionPoint",void 0);d([g({type:vh,context:1,optional:!0,implicit:!0})],ir.prototype,"reasons",void 0);d([g({type:re,context:2,optional:!0,repeated:"sequence",implicit:!0})],ir.prototype,"cRLIssuer",void 0);let Un=Ca=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Ca.prototype)}};Un=Ca=d([P({type:T.Sequence,itemType:ir})],Un);var $a;let qu=$a=class extends Un{constructor(e){super(e),Object.setPrototypeOf(this,$a.prototype)}};qu=$a=d([P({type:T.Sequence,itemType:ir})],qu);class Te{constructor(e={}){this.onlyContainsUserCerts=Te.ONLY,this.onlyContainsCACerts=Te.ONLY,this.indirectCRL=Te.ONLY,this.onlyContainsAttributeCerts=Te.ONLY,Object.assign(this,e)}}Te.ONLY=!1;d([g({type:yn,context:0,optional:!0})],Te.prototype,"distributionPoint",void 0);d([g({type:w.Boolean,context:1,defaultValue:Te.ONLY,implicit:!0})],Te.prototype,"onlyContainsUserCerts",void 0);d([g({type:w.Boolean,context:2,defaultValue:Te.ONLY,implicit:!0})],Te.prototype,"onlyContainsCACerts",void 0);d([g({type:vh,context:3,optional:!0,implicit:!0})],Te.prototype,"onlySomeReasons",void 0);d([g({type:w.Boolean,context:4,defaultValue:Te.ONLY,implicit:!0})],Te.prototype,"indirectCRL",void 0);d([g({type:w.Boolean,context:5,defaultValue:Te.ONLY,implicit:!0})],Te.prototype,"onlyContainsAttributeCerts",void 0);var xr;(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"})(xr||(xr={}));let za=class{constructor(e=xr.unspecified){this.reason=xr.unspecified,this.reason=e}toJSON(){return xr[this.reason]}toString(){return this.toJSON()}};d([g({type:w.Enumerated})],za.prototype,"reason",void 0);za=d([P({type:T.Choice})],za);var ja;const wh=`${Xt}.37`;let is=ja=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,ja.prototype)}};is=ja=d([P({type:T.Sequence,itemType:w.ObjectIdentifier})],is);const e0=`${rr}.1`,t0=`${rr}.2`,n0=`${rr}.3`,r0=`${rr}.4`,i0=`${rr}.8`,s0=`${rr}.9`;let Oa=class{constructor(e=new ArrayBuffer(0)){this.value=e}};d([g({type:w.Integer,converter:_e})],Oa.prototype,"value",void 0);Oa=d([P({type:T.Choice})],Oa);let Ba=class{constructor(e){this.value=new Date,e&&(this.value=e)}};d([g({type:w.GeneralizedTime})],Ba.prototype,"value",void 0);Ba=d([P({type:T.Choice})],Ba);var Ta;let Du=Ta=class extends Re{constructor(e){super(e),Object.setPrototypeOf(this,Ta.prototype)}};Du=Ta=d([P({type:T.Sequence})],Du);const bh=`${Xt}.15`;var lt;(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"})(lt||(lt={}));class Ho extends io{toJSON(){const e=this.toNumber(),n=[];return e<.cRLSign&&n.push("crlSign"),e<.dataEncipherment&&n.push("dataEncipherment"),e<.decipherOnly&&n.push("decipherOnly"),e<.digitalSignature&&n.push("digitalSignature"),e<.encipherOnly&&n.push("encipherOnly"),e<.keyAgreement&&n.push("keyAgreement"),e<.keyCertSign&&n.push("keyCertSign"),e<.keyEncipherment&&n.push("keyEncipherment"),e<.nonRepudiation&&n.push("nonRepudiation"),n}toString(){return`[${this.toJSON().join(", ")}]`}}var Pa;class co{constructor(e={}){this.base=new re,this.minimum=0,Object.assign(this,e)}}d([g({type:re})],co.prototype,"base",void 0);d([g({type:w.Integer,context:0,defaultValue:0,implicit:!0})],co.prototype,"minimum",void 0);d([g({type:w.Integer,context:1,optional:!0,implicit:!0})],co.prototype,"maximum",void 0);let ss=Pa=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Pa.prototype)}};ss=Pa=d([P({type:T.Sequence,itemType:co})],ss);class kh{constructor(e={}){Object.assign(this,e)}}d([g({type:ss,context:0,optional:!0,implicit:!0})],kh.prototype,"permittedSubtrees",void 0);d([g({type:ss,context:1,optional:!0,implicit:!0})],kh.prototype,"excludedSubtrees",void 0);class xh{constructor(e={}){Object.assign(this,e)}}d([g({type:w.Integer,context:0,implicit:!0,optional:!0,converter:_e})],xh.prototype,"requireExplicitPolicy",void 0);d([g({type:w.Integer,context:1,implicit:!0,optional:!0,converter:_e})],xh.prototype,"inhibitPolicyMapping",void 0);var Ra;class hl{constructor(e={}){this.issuerDomainPolicy="",this.subjectDomainPolicy="",Object.assign(this,e)}}d([g({type:w.ObjectIdentifier})],hl.prototype,"issuerDomainPolicy",void 0);d([g({type:w.ObjectIdentifier})],hl.prototype,"subjectDomainPolicy",void 0);let Fu=Ra=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Ra.prototype)}};Fu=Ra=d([P({type:T.Sequence,itemType:hl})],Fu);var La;const Sh=`${Xt}.17`;let Ua=La=class extends Re{constructor(e){super(e),Object.setPrototypeOf(this,La.prototype)}};Ua=La=d([P({type:T.Sequence})],Ua);let Bt=class{constructor(e={}){this.type="",this.values=[],Object.assign(this,e)}};d([g({type:w.ObjectIdentifier})],Bt.prototype,"type",void 0);d([g({type:w.Any,repeated:"set"})],Bt.prototype,"values",void 0);var Va;let Hu=Va=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Va.prototype)}};Hu=Va=d([P({type:T.Sequence,itemType:Bt})],Hu);const Ah=`${Xt}.14`;class Ht extends ul{}class Eh{constructor(e={}){Object.assign(this,e)}}d([g({type:w.GeneralizedTime,context:0,implicit:!0,optional:!0})],Eh.prototype,"notBefore",void 0);d([g({type:w.GeneralizedTime,context:1,implicit:!0,optional:!0})],Eh.prototype,"notAfter",void 0);var Sr;(function(t){t[t.keyUpdateAllowed=1]="keyUpdateAllowed",t[t.newExtensions=2]="newExtensions",t[t.pKIXCertificate=4]="pKIXCertificate"})(Sr||(Sr={}));class Ih extends io{toJSON(){const e=[],n=this.toNumber();return n&Sr.pKIXCertificate&&e.push("pKIXCertificate"),n&Sr.newExtensions&&e.push("newExtensions"),n&Sr.keyUpdateAllowed&&e.push("keyUpdateAllowed"),e}toString(){return`[${this.toJSON().join(", ")}]`}}class Ch{constructor(e={}){this.entrustVers="",this.entrustInfoFlags=new Ih,Object.assign(this,e)}}d([g({type:w.GeneralString})],Ch.prototype,"entrustVers",void 0);d([g({type:Ih})],Ch.prototype,"entrustInfoFlags",void 0);var Ma;let Ku=Ma=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Ma.prototype)}};Ku=Ma=d([P({type:T.Sequence,itemType:Qr})],Ku);class F{constructor(e={}){this.algorithm="",Object.assign(this,e)}isEqual(e){return e instanceof F&&e.algorithm==this.algorithm&&(e.parameters&&this.parameters&&hf(e.parameters,this.parameters)||e.parameters===this.parameters)}}d([g({type:w.ObjectIdentifier})],F.prototype,"algorithm",void 0);d([g({type:w.Any,optional:!0})],F.prototype,"parameters",void 0);class ut{constructor(e={}){this.algorithm=new F,this.subjectPublicKey=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:F})],ut.prototype,"algorithm",void 0);d([g({type:w.BitString})],ut.prototype,"subjectPublicKey",void 0);let ze=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}};d([g({type:w.UTCTime})],ze.prototype,"utcTime",void 0);d([g({type:w.GeneralizedTime})],ze.prototype,"generalTime",void 0);ze=d([P({type:T.Choice})],ze);class ei{constructor(e){this.notBefore=new ze(new Date),this.notAfter=new ze(new Date),e&&(this.notBefore=new ze(e.notBefore),this.notAfter=new ze(e.notAfter))}}d([g({type:ze})],ei.prototype,"notBefore",void 0);d([g({type:ze})],ei.prototype,"notAfter",void 0);var qa;let nt=class Nh{constructor(e={}){this.extnID="",this.critical=Nh.CRITICAL,this.extnValue=new ae,Object.assign(this,e)}};nt.CRITICAL=!1;d([g({type:w.ObjectIdentifier})],nt.prototype,"extnID",void 0);d([g({type:w.Boolean,defaultValue:nt.CRITICAL})],nt.prototype,"critical",void 0);d([g({type:ae})],nt.prototype,"extnValue",void 0);let Gt=qa=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,qa.prototype)}};Gt=qa=d([P({type:T.Sequence,itemType:nt})],Gt);var vn;(function(t){t[t.v1=0]="v1",t[t.v2=1]="v2",t[t.v3=2]="v3"})(vn||(vn={}));class Ye{constructor(e={}){this.version=vn.v1,this.serialNumber=new ArrayBuffer(0),this.signature=new F,this.issuer=new ke,this.validity=new ei,this.subject=new ke,this.subjectPublicKeyInfo=new ut,Object.assign(this,e)}}d([g({type:w.Integer,context:0,defaultValue:vn.v1})],Ye.prototype,"version",void 0);d([g({type:w.Integer,converter:_e})],Ye.prototype,"serialNumber",void 0);d([g({type:F})],Ye.prototype,"signature",void 0);d([g({type:ke})],Ye.prototype,"issuer",void 0);d([g({type:ei})],Ye.prototype,"validity",void 0);d([g({type:ke})],Ye.prototype,"subject",void 0);d([g({type:ut})],Ye.prototype,"subjectPublicKeyInfo",void 0);d([g({type:w.BitString,context:1,implicit:!0,optional:!0})],Ye.prototype,"issuerUniqueID",void 0);d([g({type:w.BitString,context:2,implicit:!0,optional:!0})],Ye.prototype,"subjectUniqueID",void 0);d([g({type:Gt,context:3,optional:!0})],Ye.prototype,"extensions",void 0);class wn{constructor(e={}){this.tbsCertificate=new Ye,this.signatureAlgorithm=new F,this.signatureValue=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:Ye})],wn.prototype,"tbsCertificate",void 0);d([g({type:F})],wn.prototype,"signatureAlgorithm",void 0);d([g({type:w.BitString})],wn.prototype,"signatureValue",void 0);class lo{constructor(e={}){this.userCertificate=new ArrayBuffer(0),this.revocationDate=new ze,Object.assign(this,e)}}d([g({type:w.Integer,converter:_e})],lo.prototype,"userCertificate",void 0);d([g({type:ze})],lo.prototype,"revocationDate",void 0);d([g({type:nt,optional:!0,repeated:"sequence"})],lo.prototype,"crlEntryExtensions",void 0);class Vt{constructor(e={}){this.signature=new F,this.issuer=new ke,this.thisUpdate=new ze,Object.assign(this,e)}}d([g({type:w.Integer,optional:!0})],Vt.prototype,"version",void 0);d([g({type:F})],Vt.prototype,"signature",void 0);d([g({type:ke})],Vt.prototype,"issuer",void 0);d([g({type:ze})],Vt.prototype,"thisUpdate",void 0);d([g({type:ze,optional:!0})],Vt.prototype,"nextUpdate",void 0);d([g({type:lo,repeated:"sequence",optional:!0})],Vt.prototype,"revokedCertificates",void 0);d([g({type:nt,optional:!0,context:0,repeated:"sequence"})],Vt.prototype,"crlExtensions",void 0);class gl{constructor(e={}){this.tbsCertList=new Vt,this.signatureAlgorithm=new F,this.signature=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:Vt})],gl.prototype,"tbsCertList",void 0);d([g({type:F})],gl.prototype,"signatureAlgorithm",void 0);d([g({type:w.BitString})],gl.prototype,"signature",void 0);class sr{constructor(e={}){this.issuer=new ke,this.serialNumber=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:ke})],sr.prototype,"issuer",void 0);d([g({type:w.Integer,converter:_e})],sr.prototype,"serialNumber",void 0);let Fn=class{constructor(e={}){Object.assign(this,e)}};d([g({type:Ht,context:0,implicit:!0})],Fn.prototype,"subjectKeyIdentifier",void 0);d([g({type:sr})],Fn.prototype,"issuerAndSerialNumber",void 0);Fn=d([P({type:T.Choice})],Fn);var Tt;(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"})(Tt||(Tt={}));let jr=class extends F{};jr=d([P({type:T.Sequence})],jr);let os=class extends F{};os=d([P({type:T.Sequence})],os);let xt=class extends F{};xt=d([P({type:T.Sequence})],xt);let as=class extends F{};as=d([P({type:T.Sequence})],as);let Wu=class extends F{};Wu=d([P({type:T.Sequence})],Wu);let Da=class extends F{};Da=d([P({type:T.Sequence})],Da);let or=class{constructor(e={}){this.attrType="",this.attrValues=[],Object.assign(this,e)}};d([g({type:w.ObjectIdentifier})],or.prototype,"attrType",void 0);d([g({type:w.Any,repeated:"set"})],or.prototype,"attrValues",void 0);var Fa;class It{constructor(e={}){this.version=Tt.v0,this.sid=new Fn,this.digestAlgorithm=new jr,this.signatureAlgorithm=new os,this.signature=new ae,Object.assign(this,e)}}d([g({type:w.Integer})],It.prototype,"version",void 0);d([g({type:Fn})],It.prototype,"sid",void 0);d([g({type:jr})],It.prototype,"digestAlgorithm",void 0);d([g({type:or,repeated:"set",context:0,implicit:!0,optional:!0})],It.prototype,"signedAttrs",void 0);d([g({type:os})],It.prototype,"signatureAlgorithm",void 0);d([g({type:ae})],It.prototype,"signature",void 0);d([g({type:or,repeated:"set",context:1,implicit:!0,optional:!0})],It.prototype,"unsignedAttrs",void 0);let cs=Fa=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Fa.prototype)}};cs=Fa=d([P({type:T.Set,itemType:It})],cs);let Gu=class extends ze{};Gu=d([P({type:T.Choice})],Gu);let Ju=class extends It{};Ju=d([P({type:T.Sequence})],Ju);class ml{constructor(e={}){this.acIssuer=new re,this.acSerial=0,this.attrs=[],Object.assign(this,e)}}d([g({type:re})],ml.prototype,"acIssuer",void 0);d([g({type:w.Integer})],ml.prototype,"acSerial",void 0);d([g({type:Bt,repeated:"sequence"})],ml.prototype,"attrs",void 0);var Ha;let ls=Ha=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Ha.prototype)}};ls=Ha=d([P({type:T.Sequence,itemType:w.ObjectIdentifier})],ls);class uo{constructor(e={}){this.permitUnSpecified=!0,Object.assign(this,e)}}d([g({type:w.Integer,optional:!0})],uo.prototype,"pathLenConstraint",void 0);d([g({type:ls,implicit:!0,context:0,optional:!0})],uo.prototype,"permittedAttrs",void 0);d([g({type:ls,implicit:!0,context:1,optional:!0})],uo.prototype,"excludedAttrs",void 0);d([g({type:w.Boolean,defaultValue:!0})],uo.prototype,"permitUnSpecified",void 0);class Cn{constructor(e={}){this.issuer=new Re,this.serial=new ArrayBuffer(0),this.issuerUID=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:Re})],Cn.prototype,"issuer",void 0);d([g({type:w.Integer,converter:_e})],Cn.prototype,"serial",void 0);d([g({type:w.BitString,optional:!0})],Cn.prototype,"issuerUID",void 0);var Ka;(function(t){t[t.publicKey=0]="publicKey",t[t.publicKeyCert=1]="publicKeyCert",t[t.otherObjectTypes=2]="otherObjectTypes"})(Ka||(Ka={}));class Nn{constructor(e={}){this.digestedObjectType=Ka.publicKey,this.digestAlgorithm=new F,this.objectDigest=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:w.Enumerated})],Nn.prototype,"digestedObjectType",void 0);d([g({type:w.ObjectIdentifier,optional:!0})],Nn.prototype,"otherObjectTypeID",void 0);d([g({type:F})],Nn.prototype,"digestAlgorithm",void 0);d([g({type:w.BitString})],Nn.prototype,"objectDigest",void 0);class po{constructor(e={}){Object.assign(this,e)}}d([g({type:Re,optional:!0})],po.prototype,"issuerName",void 0);d([g({type:Cn,context:0,implicit:!0,optional:!0})],po.prototype,"baseCertificateID",void 0);d([g({type:Nn,context:1,implicit:!0,optional:!0})],po.prototype,"objectDigestInfo",void 0);let Hn=class{constructor(e={}){Object.assign(this,e)}};d([g({type:re,repeated:"sequence"})],Hn.prototype,"v1Form",void 0);d([g({type:po,context:0,implicit:!0})],Hn.prototype,"v2Form",void 0);Hn=d([P({type:T.Choice})],Hn);class fo{constructor(e={}){this.notBeforeTime=new Date,this.notAfterTime=new Date,Object.assign(this,e)}}d([g({type:w.GeneralizedTime})],fo.prototype,"notBeforeTime",void 0);d([g({type:w.GeneralizedTime})],fo.prototype,"notAfterTime",void 0);class ti{constructor(e={}){Object.assign(this,e)}}d([g({type:Cn,implicit:!0,context:0,optional:!0})],ti.prototype,"baseCertificateID",void 0);d([g({type:Re,implicit:!0,context:1,optional:!0})],ti.prototype,"entityName",void 0);d([g({type:Nn,implicit:!0,context:2,optional:!0})],ti.prototype,"objectDigestInfo",void 0);var Wa;(function(t){t[t.v2=1]="v2"})(Wa||(Wa={}));class gt{constructor(e={}){this.version=Wa.v2,this.holder=new ti,this.issuer=new Hn,this.signature=new F,this.serialNumber=new ArrayBuffer(0),this.attrCertValidityPeriod=new fo,this.attributes=[],Object.assign(this,e)}}d([g({type:w.Integer})],gt.prototype,"version",void 0);d([g({type:ti})],gt.prototype,"holder",void 0);d([g({type:Hn})],gt.prototype,"issuer",void 0);d([g({type:F})],gt.prototype,"signature",void 0);d([g({type:w.Integer,converter:_e})],gt.prototype,"serialNumber",void 0);d([g({type:fo})],gt.prototype,"attrCertValidityPeriod",void 0);d([g({type:Bt,repeated:"sequence"})],gt.prototype,"attributes",void 0);d([g({type:w.BitString,optional:!0})],gt.prototype,"issuerUniqueID",void 0);d([g({type:Gt,optional:!0})],gt.prototype,"extensions",void 0);class ho{constructor(e={}){this.acinfo=new gt,this.signatureAlgorithm=new F,this.signatureValue=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:gt})],ho.prototype,"acinfo",void 0);d([g({type:F})],ho.prototype,"signatureAlgorithm",void 0);d([g({type:w.BitString})],ho.prototype,"signatureValue",void 0);var us;(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"})(us||(us={}));class Ga extends io{}class _l{constructor(e={}){this.type="",this.value=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:w.ObjectIdentifier,implicit:!0,context:0})],_l.prototype,"type",void 0);d([g({type:w.Any,implicit:!0,context:1})],_l.prototype,"value",void 0);class yl{constructor(e={}){this.policyId="",this.classList=new Ga(us.unclassified),Object.assign(this,e)}}d([g({type:w.ObjectIdentifier})],yl.prototype,"policyId",void 0);d([g({type:Ga,defaultValue:new Ga(us.unclassified)})],yl.prototype,"classList",void 0);d([g({type:_l,repeated:"set"})],yl.prototype,"securityCategories",void 0);class go{constructor(e={}){Object.assign(this,e)}}d([g({type:ae})],go.prototype,"cotets",void 0);d([g({type:w.ObjectIdentifier})],go.prototype,"oid",void 0);d([g({type:w.Utf8String})],go.prototype,"string",void 0);class $h{constructor(e={}){this.values=[],Object.assign(this,e)}}d([g({type:Re,implicit:!0,context:0,optional:!0})],$h.prototype,"policyAuthority",void 0);d([g({type:go,repeated:"sequence"})],$h.prototype,"values",void 0);var Ja;class mo{constructor(e={}){this.targetCertificate=new Cn,Object.assign(this,e)}}d([g({type:Cn})],mo.prototype,"targetCertificate",void 0);d([g({type:re,optional:!0})],mo.prototype,"targetName",void 0);d([g({type:Nn,optional:!0})],mo.prototype,"certDigestInfo",void 0);let Kn=class{constructor(e={}){Object.assign(this,e)}};d([g({type:re,context:0,implicit:!0})],Kn.prototype,"targetName",void 0);d([g({type:re,context:1,implicit:!0})],Kn.prototype,"targetGroup",void 0);d([g({type:mo,context:2,implicit:!0})],Kn.prototype,"targetCert",void 0);Kn=d([P({type:T.Choice})],Kn);let Za=Ja=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Ja.prototype)}};Za=Ja=d([P({type:T.Sequence,itemType:Kn})],Za);var Ya;let Zu=Ya=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Ya.prototype)}};Zu=Ya=d([P({type:T.Sequence,itemType:Za})],Zu);class zh{constructor(e={}){Object.assign(this,e)}}d([g({type:Re,implicit:!0,context:0,optional:!0})],zh.prototype,"roleAuthority",void 0);d([g({type:re,implicit:!0,context:1})],zh.prototype,"roleName",void 0);class vl{constructor(e={}){this.service=new re,this.ident=new re,Object.assign(this,e)}}d([g({type:re})],vl.prototype,"service",void 0);d([g({type:re})],vl.prototype,"ident",void 0);d([g({type:ae,optional:!0})],vl.prototype,"authInfo",void 0);var Xa;class wl{constructor(e={}){this.otherCertFormat="",this.otherCert=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:w.ObjectIdentifier})],wl.prototype,"otherCertFormat",void 0);d([g({type:w.Any})],wl.prototype,"otherCert",void 0);let Wn=class{constructor(e={}){Object.assign(this,e)}};d([g({type:wn})],Wn.prototype,"certificate",void 0);d([g({type:ho,context:2,implicit:!0})],Wn.prototype,"v2AttrCert",void 0);d([g({type:wl,context:3,implicit:!0})],Wn.prototype,"other",void 0);Wn=d([P({type:T.Choice})],Wn);let ds=Xa=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Xa.prototype)}};ds=Xa=d([P({type:T.Set,itemType:Wn})],ds);class ar{constructor(e={}){this.contentType="",this.content=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:w.ObjectIdentifier})],ar.prototype,"contentType",void 0);d([g({type:w.Any,context:0})],ar.prototype,"content",void 0);let Or=class{constructor(e={}){Object.assign(this,e)}};d([g({type:ae})],Or.prototype,"single",void 0);d([g({type:w.Any})],Or.prototype,"any",void 0);Or=d([P({type:T.Choice})],Or);class _o{constructor(e={}){this.eContentType="",Object.assign(this,e)}}d([g({type:w.ObjectIdentifier})],_o.prototype,"eContentType",void 0);d([g({type:Or,context:0,optional:!0})],_o.prototype,"eContent",void 0);let Br=class{constructor(e={}){Object.assign(this,e)}};d([g({type:ae,context:0,implicit:!0,optional:!0})],Br.prototype,"value",void 0);d([g({type:ae,converter:B_,context:0,implicit:!0,optional:!0,repeated:"sequence"})],Br.prototype,"constructedValue",void 0);Br=d([P({type:T.Choice})],Br);class ni{constructor(e={}){this.contentType="",this.contentEncryptionAlgorithm=new as,Object.assign(this,e)}}d([g({type:w.ObjectIdentifier})],ni.prototype,"contentType",void 0);d([g({type:as})],ni.prototype,"contentEncryptionAlgorithm",void 0);d([g({type:Br,optional:!0})],ni.prototype,"encryptedContent",void 0);class yo{constructor(e={}){this.keyAttrId="",Object.assign(this,e)}}d([g({type:w.ObjectIdentifier})],yo.prototype,"keyAttrId",void 0);d([g({type:w.Any,optional:!0})],yo.prototype,"keyAttr",void 0);var Qa;class vo{constructor(e={}){this.subjectKeyIdentifier=new Ht,Object.assign(this,e)}}d([g({type:Ht})],vo.prototype,"subjectKeyIdentifier",void 0);d([g({type:w.GeneralizedTime,optional:!0})],vo.prototype,"date",void 0);d([g({type:yo,optional:!0})],vo.prototype,"other",void 0);let Gn=class{constructor(e={}){Object.assign(this,e)}};d([g({type:vo,context:0,implicit:!0,optional:!0})],Gn.prototype,"rKeyId",void 0);d([g({type:sr,optional:!0})],Gn.prototype,"issuerAndSerialNumber",void 0);Gn=d([P({type:T.Choice})],Gn);class bl{constructor(e={}){this.rid=new Gn,this.encryptedKey=new ae,Object.assign(this,e)}}d([g({type:Gn})],bl.prototype,"rid",void 0);d([g({type:ae})],bl.prototype,"encryptedKey",void 0);let ps=Qa=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Qa.prototype)}};ps=Qa=d([P({type:T.Sequence,itemType:bl})],ps);class kl{constructor(e={}){this.algorithm=new F,this.publicKey=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:F})],kl.prototype,"algorithm",void 0);d([g({type:w.BitString})],kl.prototype,"publicKey",void 0);let bn=class{constructor(e={}){Object.assign(this,e)}};d([g({type:Ht,context:0,implicit:!0,optional:!0})],bn.prototype,"subjectKeyIdentifier",void 0);d([g({type:kl,context:1,implicit:!0,optional:!0})],bn.prototype,"originatorKey",void 0);d([g({type:sr,optional:!0})],bn.prototype,"issuerAndSerialNumber",void 0);bn=d([P({type:T.Choice})],bn);class cr{constructor(e={}){this.version=Tt.v3,this.originator=new bn,this.keyEncryptionAlgorithm=new xt,this.recipientEncryptedKeys=new ps,Object.assign(this,e)}}d([g({type:w.Integer})],cr.prototype,"version",void 0);d([g({type:bn,context:0})],cr.prototype,"originator",void 0);d([g({type:ae,context:1,optional:!0})],cr.prototype,"ukm",void 0);d([g({type:xt})],cr.prototype,"keyEncryptionAlgorithm",void 0);d([g({type:ps})],cr.prototype,"recipientEncryptedKeys",void 0);let Jn=class{constructor(e={}){Object.assign(this,e)}};d([g({type:Ht,context:0,implicit:!0})],Jn.prototype,"subjectKeyIdentifier",void 0);d([g({type:sr})],Jn.prototype,"issuerAndSerialNumber",void 0);Jn=d([P({type:T.Choice})],Jn);class ri{constructor(e={}){this.version=Tt.v0,this.rid=new Jn,this.keyEncryptionAlgorithm=new xt,this.encryptedKey=new ae,Object.assign(this,e)}}d([g({type:w.Integer})],ri.prototype,"version",void 0);d([g({type:Jn})],ri.prototype,"rid",void 0);d([g({type:xt})],ri.prototype,"keyEncryptionAlgorithm",void 0);d([g({type:ae})],ri.prototype,"encryptedKey",void 0);class ii{constructor(e={}){this.keyIdentifier=new ae,Object.assign(this,e)}}d([g({type:ae})],ii.prototype,"keyIdentifier",void 0);d([g({type:w.GeneralizedTime,optional:!0})],ii.prototype,"date",void 0);d([g({type:yo,optional:!0})],ii.prototype,"other",void 0);class si{constructor(e={}){this.version=Tt.v4,this.kekid=new ii,this.keyEncryptionAlgorithm=new xt,this.encryptedKey=new ae,Object.assign(this,e)}}d([g({type:w.Integer})],si.prototype,"version",void 0);d([g({type:ii})],si.prototype,"kekid",void 0);d([g({type:xt})],si.prototype,"keyEncryptionAlgorithm",void 0);d([g({type:ae})],si.prototype,"encryptedKey",void 0);class oi{constructor(e={}){this.version=Tt.v0,this.keyEncryptionAlgorithm=new xt,this.encryptedKey=new ae,Object.assign(this,e)}}d([g({type:w.Integer})],oi.prototype,"version",void 0);d([g({type:Da,context:0,optional:!0})],oi.prototype,"keyDerivationAlgorithm",void 0);d([g({type:xt})],oi.prototype,"keyEncryptionAlgorithm",void 0);d([g({type:ae})],oi.prototype,"encryptedKey",void 0);class xl{constructor(e={}){this.oriType="",this.oriValue=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:w.ObjectIdentifier})],xl.prototype,"oriType",void 0);d([g({type:w.Any})],xl.prototype,"oriValue",void 0);let Jt=class{constructor(e={}){Object.assign(this,e)}};d([g({type:ri,optional:!0})],Jt.prototype,"ktri",void 0);d([g({type:cr,context:1,implicit:!0,optional:!0})],Jt.prototype,"kari",void 0);d([g({type:si,context:2,implicit:!0,optional:!0})],Jt.prototype,"kekri",void 0);d([g({type:oi,context:3,implicit:!0,optional:!0})],Jt.prototype,"pwri",void 0);d([g({type:xl,context:4,implicit:!0,optional:!0})],Jt.prototype,"ori",void 0);Jt=d([P({type:T.Choice})],Jt);var ec;let fs=ec=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,ec.prototype)}};fs=ec=d([P({type:T.Set,itemType:Jt})],fs);var tc;class wo{constructor(e={}){this.otherRevInfoFormat="",this.otherRevInfo=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:w.ObjectIdentifier})],wo.prototype,"otherRevInfoFormat",void 0);d([g({type:w.Any})],wo.prototype,"otherRevInfo",void 0);let hs=class{constructor(e={}){this.other=new wo,Object.assign(this,e)}};d([g({type:wo,context:1,implicit:!0})],hs.prototype,"other",void 0);hs=d([P({type:T.Choice})],hs);let gs=tc=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,tc.prototype)}};gs=tc=d([P({type:T.Set,itemType:hs})],gs);class Sl{constructor(e={}){Object.assign(this,e)}}d([g({type:ds,context:0,implicit:!0,optional:!0})],Sl.prototype,"certs",void 0);d([g({type:gs,context:1,implicit:!0,optional:!0})],Sl.prototype,"crls",void 0);var nc;let rc=nc=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,nc.prototype)}};rc=nc=d([P({type:T.Set,itemType:or})],rc);class ai{constructor(e={}){this.version=Tt.v0,this.recipientInfos=new fs,this.encryptedContentInfo=new ni,Object.assign(this,e)}}d([g({type:w.Integer})],ai.prototype,"version",void 0);d([g({type:Sl,context:0,implicit:!0,optional:!0})],ai.prototype,"originatorInfo",void 0);d([g({type:fs})],ai.prototype,"recipientInfos",void 0);d([g({type:ni})],ai.prototype,"encryptedContentInfo",void 0);d([g({type:rc,context:1,implicit:!0,optional:!0})],ai.prototype,"unprotectedAttrs",void 0);const o0="1.2.840.113549.1.7.2";var ic;let ms=ic=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,ic.prototype)}};ms=ic=d([P({type:T.Set,itemType:jr})],ms);class lr{constructor(e={}){this.version=Tt.v0,this.digestAlgorithms=new ms,this.encapContentInfo=new _o,this.signerInfos=new cs,Object.assign(this,e)}}d([g({type:w.Integer})],lr.prototype,"version",void 0);d([g({type:ms})],lr.prototype,"digestAlgorithms",void 0);d([g({type:_o})],lr.prototype,"encapContentInfo",void 0);d([g({type:ds,context:0,implicit:!0,optional:!0})],lr.prototype,"certificates",void 0);d([g({type:gs,context:1,implicit:!0,optional:!0})],lr.prototype,"crls",void 0);d([g({type:cs})],lr.prototype,"signerInfos",void 0);const Tr="1.2.840.10045.2.1",Al="1.2.840.10045.4.1",jh="1.2.840.10045.4.3.1",El="1.2.840.10045.4.3.2",Il="1.2.840.10045.4.3.3",Cl="1.2.840.10045.4.3.4",Yu="1.2.840.10045.3.1.7",Xu="1.3.132.0.34",Qu="1.3.132.0.35";function ci(t){return new F({algorithm:t})}const a0=ci(Al);ci(jh);const c0=ci(El),l0=ci(Il),u0=ci(Cl);let Pr=class{constructor(e={}){Object.assign(this,e)}};d([g({type:w.ObjectIdentifier})],Pr.prototype,"fieldType",void 0);d([g({type:w.Any})],Pr.prototype,"parameters",void 0);Pr=d([P({type:T.Sequence})],Pr);class d0 extends ae{}let Zn=class{constructor(e={}){Object.assign(this,e)}};d([g({type:w.OctetString})],Zn.prototype,"a",void 0);d([g({type:w.OctetString})],Zn.prototype,"b",void 0);d([g({type:w.BitString,optional:!0})],Zn.prototype,"seed",void 0);Zn=d([P({type:T.Sequence})],Zn);var sc;(function(t){t[t.ecpVer1=1]="ecpVer1"})(sc||(sc={}));let Pt=class{constructor(e={}){this.version=sc.ecpVer1,Object.assign(this,e)}};d([g({type:w.Integer})],Pt.prototype,"version",void 0);d([g({type:Pr})],Pt.prototype,"fieldID",void 0);d([g({type:Zn})],Pt.prototype,"curve",void 0);d([g({type:d0})],Pt.prototype,"base",void 0);d([g({type:w.Integer,converter:_e})],Pt.prototype,"order",void 0);d([g({type:w.Integer,optional:!0})],Pt.prototype,"cofactor",void 0);Pt=d([P({type:T.Sequence})],Pt);let Zt=class{constructor(e={}){Object.assign(this,e)}};d([g({type:w.ObjectIdentifier})],Zt.prototype,"namedCurve",void 0);d([g({type:w.Null})],Zt.prototype,"implicitCurve",void 0);d([g({type:Pt})],Zt.prototype,"specifiedCurve",void 0);Zt=d([P({type:T.Choice})],Zt);class bo{constructor(e={}){this.version=1,this.privateKey=new ae,Object.assign(this,e)}}d([g({type:w.Integer})],bo.prototype,"version",void 0);d([g({type:ae})],bo.prototype,"privateKey",void 0);d([g({type:Zt,context:0,optional:!0})],bo.prototype,"parameters",void 0);d([g({type:w.BitString,context:1,optional:!0})],bo.prototype,"publicKey",void 0);class _s{constructor(e={}){this.r=new ArrayBuffer(0),this.s=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:w.Integer,converter:_e})],_s.prototype,"r",void 0);d([g({type:w.Integer,converter:_e})],_s.prototype,"s",void 0);const He="1.2.840.113549.1.1",kn=`${He}.1`,p0=`${He}.7`,f0=`${He}.9`,Ar=`${He}.10`,h0=`${He}.2`,g0=`${He}.4`,ys=`${He}.5`,m0=`${He}.14`,oc=`${He}.11`,vs=`${He}.12`,ws=`${He}.13`,Oh=`${He}.15`,Bh=`${He}.16`,bs="1.3.14.3.2.26",Th="2.16.840.1.101.3.4.2.4",ks="2.16.840.1.101.3.4.2.1",xs="2.16.840.1.101.3.4.2.2",Ss="2.16.840.1.101.3.4.2.3",_0="2.16.840.1.101.3.4.2.5",y0="2.16.840.1.101.3.4.2.6",v0="1.2.840.113549.2.2",w0="1.2.840.113549.2.5",ko=`${He}.8`;function Ee(t){return new F({algorithm:t,parameters:null})}Ee(v0);Ee(w0);const xn=Ee(bs);Ee(Th);Ee(ks);Ee(xs);Ee(Ss);Ee(_0);Ee(y0);const Ph=new F({algorithm:ko,parameters:V.serialize(xn)}),Rh=new F({algorithm:f0,parameters:V.serialize(Qi.toASN(new Uint8Array([218,57,163,238,94,107,75,13,50,85,191,239,149,96,24,144,175,216,7,9]).buffer))});Ee(kn);Ee(h0);Ee(g0);Ee(ys);Ee(Oh);Ee(Bh);Ee(vs);Ee(ws);Ee(Oh);Ee(Bh);class xo{constructor(e={}){this.hashAlgorithm=new F(xn),this.maskGenAlgorithm=new F({algorithm:ko,parameters:V.serialize(xn)}),this.pSourceAlgorithm=new F(Rh),Object.assign(this,e)}}d([g({type:F,context:0,defaultValue:xn})],xo.prototype,"hashAlgorithm",void 0);d([g({type:F,context:1,defaultValue:Ph})],xo.prototype,"maskGenAlgorithm",void 0);d([g({type:F,context:2,defaultValue:Rh})],xo.prototype,"pSourceAlgorithm",void 0);new F({algorithm:p0,parameters:V.serialize(new xo)});class Sn{constructor(e={}){this.hashAlgorithm=new F(xn),this.maskGenAlgorithm=new F({algorithm:ko,parameters:V.serialize(xn)}),this.saltLength=20,this.trailerField=1,Object.assign(this,e)}}d([g({type:F,context:0,defaultValue:xn})],Sn.prototype,"hashAlgorithm",void 0);d([g({type:F,context:1,defaultValue:Ph})],Sn.prototype,"maskGenAlgorithm",void 0);d([g({type:w.Integer,context:2,defaultValue:20})],Sn.prototype,"saltLength",void 0);d([g({type:w.Integer,context:3,defaultValue:1})],Sn.prototype,"trailerField",void 0);new F({algorithm:Ar,parameters:V.serialize(new Sn)});class So{constructor(e={}){this.digestAlgorithm=new F,this.digest=new ae,Object.assign(this,e)}}d([g({type:F})],So.prototype,"digestAlgorithm",void 0);d([g({type:ae})],So.prototype,"digest",void 0);var ac;class Ao{constructor(e={}){this.prime=new ArrayBuffer(0),this.exponent=new ArrayBuffer(0),this.coefficient=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:w.Integer,converter:_e})],Ao.prototype,"prime",void 0);d([g({type:w.Integer,converter:_e})],Ao.prototype,"exponent",void 0);d([g({type:w.Integer,converter:_e})],Ao.prototype,"coefficient",void 0);let cc=ac=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,ac.prototype)}};cc=ac=d([P({type:T.Sequence,itemType:Ao})],cc);class Ct{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)}}d([g({type:w.Integer})],Ct.prototype,"version",void 0);d([g({type:w.Integer,converter:_e})],Ct.prototype,"modulus",void 0);d([g({type:w.Integer,converter:_e})],Ct.prototype,"publicExponent",void 0);d([g({type:w.Integer,converter:_e})],Ct.prototype,"privateExponent",void 0);d([g({type:w.Integer,converter:_e})],Ct.prototype,"prime1",void 0);d([g({type:w.Integer,converter:_e})],Ct.prototype,"prime2",void 0);d([g({type:w.Integer,converter:_e})],Ct.prototype,"exponent1",void 0);d([g({type:w.Integer,converter:_e})],Ct.prototype,"exponent2",void 0);d([g({type:w.Integer,converter:_e})],Ct.prototype,"coefficient",void 0);d([g({type:cc,optional:!0})],Ct.prototype,"otherPrimeInfos",void 0);class Nl{constructor(e={}){this.modulus=new ArrayBuffer(0),this.publicExponent=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:w.Integer,converter:_e})],Nl.prototype,"modulus",void 0);d([g({type:w.Integer,converter:_e})],Nl.prototype,"publicExponent",void 0);var lc;(function(t){t[t.Transient=0]="Transient",t[t.Singleton=1]="Singleton",t[t.ResolutionScoped=2]="ResolutionScoped",t[t.ContainerScoped=3]="ContainerScoped"})(lc||(lc={}));const Ve=lc;/*! *****************************************************************************
|
|
80
80
|
Copyright (c) Microsoft Corporation.
|
|
81
81
|
|
|
82
82
|
Permission to use, copy, modify, and/or distribute this software for any
|
|
@@ -89,9 +89,9 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
|
89
89
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
90
90
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
91
91
|
PERFORMANCE OF THIS SOFTWARE.
|
|
92
|
-
***************************************************************************** */var
|
|
93
|
-
`).map(function(
|
|
94
|
-
`)}function Tm(t,e,n){var i=rs(t.toString().match(/constructor\(([\w, ]+)\)/)||[],2),r=i[1],s=r===void 0?null:r,o=Om(s,e);return Bm("Cannot inject the dependency "+o+' of "'+t.name+'" constructor. Reason:',n)}function Rm(t){if(typeof t.dispose!="function")return!1;var e=t.dispose;return!(e.length>0)}var Pm=function(t){il(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e}(rl),Lm=function(t){il(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e}(rl),Um=function(){function t(){this.preResolution=new Pm,this.postResolution=new Lm}return t}(),th=new Map,Vm=function(){function t(e){this.parent=e,this._registry=new Nm,this.interceptors=new Um,this.disposed=!1,this.disposables=new Set}return t.prototype.register=function(e,n,i){i===void 0&&(i={lifecycle:Ue.Transient}),this.ensureNotDisposed();var r;if(jm(n)?r=n:r={useClass:n},fr(r))for(var s=[e],o=r;o!=null;){var c=o.useToken;if(s.includes(c))throw new Error("Token registration cycle detected! "+tn(s,[c]).join(" -> "));s.push(c);var l=this._registry.get(c);l&&fr(l.provider)?o=l.provider:o=null}if((i.lifecycle===Ue.Singleton||i.lifecycle==Ue.ContainerScoped||i.lifecycle==Ue.ResolutionScoped)&&(hr(r)||Va(r)))throw new Error('Cannot use lifecycle "'+Ue[i.lifecycle]+'" with ValueProviders or FactoryProviders');return this._registry.set(e,{provider:r,options:i}),this},t.prototype.registerType=function(e,n){return this.ensureNotDisposed(),zn(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(),zn(e)){if(zn(n))return this.register(e,{useToken:n},{lifecycle:Ue.Singleton});if(n)return this.register(e,{useClass:n},{lifecycle:Ue.Singleton});throw new Error('Cannot register a type name as a singleton without a "to" token')}var i=e;return n&&!zn(n)&&(i=n),this.register(e,{useClass:i},{lifecycle:Ue.Singleton})},t.prototype.resolve=function(e,n){n===void 0&&(n=new wu),this.ensureNotDisposed();var i=this.getRegistration(e);if(!i&&zn(e))throw new Error('Attempted to resolve unregistered dependency token: "'+e.toString()+'"');if(this.executePreResolutionInterceptor(e,"Single"),i){var r=this.resolveRegistration(i,n);return this.executePostResolutionInterceptor(e,r,"Single"),r}if($m(e)){var r=this.construct(e,n);return this.executePostResolutionInterceptor(e,r,"Single"),r}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 i,r;if(this.interceptors.preResolution.has(e)){var s=[];try{for(var o=sr(this.interceptors.preResolution.getAll(e)),c=o.next();!c.done;c=o.next()){var l=c.value;l.options.frequency!="Once"&&s.push(l),l.callback(e,n)}}catch(u){i={error:u}}finally{try{c&&!c.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}this.interceptors.preResolution.setAll(e,s)}},t.prototype.executePostResolutionInterceptor=function(e,n,i){var r,s;if(this.interceptors.postResolution.has(e)){var o=[];try{for(var c=sr(this.interceptors.postResolution.getAll(e)),l=c.next();!l.done;l=c.next()){var u=l.value;u.options.frequency!="Once"&&o.push(u),u.callback(e,n,i)}}catch(p){r={error:p}}finally{try{l&&!l.done&&(s=c.return)&&s.call(c)}finally{if(r)throw r.error}}this.interceptors.postResolution.setAll(e,o)}},t.prototype.resolveRegistration=function(e,n){if(this.ensureNotDisposed(),e.options.lifecycle===Ue.ResolutionScoped&&n.scopedResolutions.has(e))return n.scopedResolutions.get(e);var i=e.options.lifecycle===Ue.Singleton,r=e.options.lifecycle===Ue.ContainerScoped,s=i||r,o;return hr(e.provider)?o=e.provider.useValue:fr(e.provider)?o=s?e.instance||(e.instance=this.resolve(e.provider.useToken,n)):this.resolve(e.provider.useToken,n):Qf(e.provider)?o=s?e.instance||(e.instance=this.construct(e.provider.useClass,n)):this.construct(e.provider.useClass,n):Va(e.provider)?o=e.provider.useFactory(this):o=this.construct(e.provider,n),e.options.lifecycle===Ue.ResolutionScoped&&n.scopedResolutions.set(e,o),o},t.prototype.resolveAll=function(e,n){var i=this;n===void 0&&(n=new wu),this.ensureNotDisposed();var r=this.getAllRegistrations(e);if(!r&&zn(e))throw new Error('Attempted to resolve unregistered dependency token: "'+e.toString()+'"');if(this.executePreResolutionInterceptor(e,"All"),r){var s=r.map(function(c){return i.resolveRegistration(c,n)});return this.executePostResolutionInterceptor(e,s,"All"),s}var o=[this.construct(e,n)];return this.executePostResolutionInterceptor(e,o,"All"),o},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 i=sr(this._registry.entries()),r=i.next();!r.done;r=i.next()){var s=rs(r.value,2),o=s[0],c=s[1];this._registry.setAll(o,c.filter(function(l){return!hr(l.provider)}).map(function(l){return l.instance=void 0,l}))}}catch(l){e={error:l}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}},t.prototype.createChildContainer=function(){var e,n;this.ensureNotDisposed();var i=new t(this);try{for(var r=sr(this._registry.entries()),s=r.next();!s.done;s=r.next()){var o=rs(s.value,2),c=o[0],l=o[1];l.some(function(u){var p=u.options;return p.lifecycle===Ue.ContainerScoped})&&i._registry.setAll(c,l.map(function(u){return u.options.lifecycle===Ue.ContainerScoped?{provider:u.provider,options:u.options}:u}))}}catch(u){e={error:u}}finally{try{s&&!s.done&&(n=r.return)&&n.call(r)}finally{if(e)throw e.error}}return i},t.prototype.beforeResolution=function(e,n,i){i===void 0&&(i={frequency:"Always"}),this.interceptors.preResolution.set(e,{callback:n,options:i})},t.prototype.afterResolution=function(e,n,i){i===void 0&&(i={frequency:"Always"}),this.interceptors.postResolution.set(e,{callback:n,options:i})},t.prototype.dispose=function(){return Am(this,void 0,void 0,function(){var e;return Im(this,function(n){switch(n.label){case 0:return this.disposed=!0,e=[],this.disposables.forEach(function(i){var r=i.dispose();r&&e.push(r)}),[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 i=this;if(e instanceof eh)return e.createProxy(function(s){return i.resolve(s,n)});var r=function(){var s=th.get(e);if(!s||s.length===0){if(e.length===0)return new e;throw new Error('TypeInfo not known for "'+e.name+'"')}var o=s.map(i.resolveParams(n,e));return new(e.bind.apply(e,tn([void 0],o)))}();return Rm(r)&&this.disposables.add(r),r},t.prototype.resolveParams=function(e,n){var i=this;return function(r,s){var o,c,l;try{return zm(r)?vu(r)?r.multiple?(o=i.resolve(r.transform)).transform.apply(o,tn([i.resolveAll(r.token)],r.transformArgs)):(c=i.resolve(r.transform)).transform.apply(c,tn([i.resolve(r.token,e)],r.transformArgs)):r.multiple?i.resolveAll(r.token):i.resolve(r.token,e):vu(r)?(l=i.resolve(r.transform,e)).transform.apply(l,tn([i.resolve(r.token,e)],r.transformArgs)):i.resolve(r,e)}catch(u){throw new Error(Tm(n,s,u))}}},t.prototype.ensureNotDisposed=function(){if(this.disposed)throw new Error("This container has been disposed, you cannot interact with a disposed container")},t}(),Oe=new Vm;function ro(){return function(t){th.set(t,Cm(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 Ma;class so{constructor(e={}){this.attrId="",this.attrValues=[],Object.assign(e)}}d([f({type:y.ObjectIdentifier})],so.prototype,"attrId",void 0);d([f({type:y.Any,repeated:"set"})],so.prototype,"attrValues",void 0);let bu=Ma=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Ma.prototype)}};bu=Ma=d([B({type:N.Sequence,itemType:so})],bu);var Da;let ku=Da=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Da.prototype)}};ku=Da=d([B({type:N.Sequence,itemType:ti})],ku);class nh{constructor(e={}){this.certId="",this.certValue=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],nh.prototype,"certId",void 0);d([f({type:y.Any,context:0})],nh.prototype,"certValue",void 0);class ih{constructor(e={}){this.crlId="",this.crltValue=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],ih.prototype,"crlId",void 0);d([f({type:y.Any,context:0})],ih.prototype,"crltValue",void 0);class rh extends oe{}let oo=class{constructor(e={}){this.encryptionAlgorithm=new F,this.encryptedData=new rh,Object.assign(this,e)}};d([f({type:F})],oo.prototype,"encryptionAlgorithm",void 0);d([f({type:rh})],oo.prototype,"encryptedData",void 0);var Fa,Ha;(function(t){t[t.v1=0]="v1"})(Ha||(Ha={}));class sh extends oe{}let qa=Fa=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Fa.prototype)}};qa=Fa=d([B({type:N.Sequence,itemType:$t})],qa);class Zi{constructor(e={}){this.version=Ha.v1,this.privateKeyAlgorithm=new F,this.privateKey=new sh,Object.assign(this,e)}}d([f({type:y.Integer})],Zi.prototype,"version",void 0);d([f({type:F})],Zi.prototype,"privateKeyAlgorithm",void 0);d([f({type:sh})],Zi.prototype,"privateKey",void 0);d([f({type:qa,implicit:!0,context:0,optional:!0})],Zi.prototype,"attributes",void 0);let xu=class extends Zi{};xu=d([B({type:N.Sequence})],xu);let Su=class extends oo{};Su=d([B({type:N.Sequence})],Su);class oh{constructor(e={}){this.secretTypeId="",this.secretValue=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],oh.prototype,"secretTypeId",void 0);d([f({type:y.Any,context:0})],oh.prototype,"secretValue",void 0);class Yi{constructor(e={}){this.mac=new no,this.macSalt=new oe,this.iterations=1,Object.assign(this,e)}}d([f({type:no})],Yi.prototype,"mac",void 0);d([f({type:oe})],Yi.prototype,"macSalt",void 0);d([f({type:y.Integer,defaultValue:1})],Yi.prototype,"iterations",void 0);class ao{constructor(e={}){this.version=3,this.authSafe=new ti,this.macData=new Yi,Object.assign(this,e)}}d([f({type:y.Integer})],ao.prototype,"version",void 0);d([f({type:ti})],ao.prototype,"authSafe",void 0);d([f({type:Yi,optional:!0})],ao.prototype,"macData",void 0);var Ka;class co{constructor(e={}){this.bagId="",this.bagValue=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],co.prototype,"bagId",void 0);d([f({type:y.Any,context:0})],co.prototype,"bagValue",void 0);d([f({type:so,repeated:"set",optional:!0})],co.prototype,"bagAttributes",void 0);let Au=Ka=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Ka.prototype)}};Au=Ka=d([B({type:N.Sequence,itemType:co})],Au);var Wa,Ga,Ja;const ah="1.2.840.113549.1.9",ch=`${ah}.7`,sl=`${ah}.14`;let ss=class extends Ne{constructor(e={}){super(e)}toString(){return this.ia5String||super.toString()}};d([f({type:y.IA5String})],ss.prototype,"ia5String",void 0);ss=d([B({type:N.Choice})],ss);let Iu=class extends ti{};Iu=d([B({type:N.Sequence})],Iu);let Eu=class extends ao{};Eu=d([B({type:N.Sequence})],Eu);let Cu=class extends oo{};Cu=d([B({type:N.Sequence})],Cu);let Za=class{constructor(e=""){this.value=e}toString(){return this.value}};d([f({type:y.IA5String})],Za.prototype,"value",void 0);Za=d([B({type:N.Choice})],Za);let zu=class extends ss{};zu=d([B({type:N.Choice})],zu);let $u=class extends Ne{};$u=d([B({type:N.Choice})],$u);let Ya=class{constructor(e=new Date){this.value=e}};d([f({type:y.GeneralizedTime})],Ya.prototype,"value",void 0);Ya=d([B({type:N.Choice})],Ya);let ju=class extends Ne{};ju=d([B({type:N.Choice})],ju);let Xa=class{constructor(e="M"){this.value=e}toString(){return this.value}};d([f({type:y.PrintableString})],Xa.prototype,"value",void 0);Xa=d([B({type:N.Choice})],Xa);let os=class{constructor(e=""){this.value=e}toString(){return this.value}};d([f({type:y.PrintableString})],os.prototype,"value",void 0);os=d([B({type:N.Choice})],os);let Nu=class extends os{};Nu=d([B({type:N.Choice})],Nu);let Ou=class extends Ne{};Ou=d([B({type:N.Choice})],Ou);let Qa=class{constructor(e=""){this.value=e}toString(){return this.value}};d([f({type:y.ObjectIdentifier})],Qa.prototype,"value",void 0);Qa=d([B({type:N.Choice})],Qa);let Bu=class extends $e{};Bu=d([B({type:N.Choice})],Bu);let ec=class{constructor(e=0){this.value=e}toString(){return this.value.toString()}};d([f({type:y.Integer})],ec.prototype,"value",void 0);ec=d([B({type:N.Choice})],ec);let Tu=class extends St{};Tu=d([B({type:N.Sequence})],Tu);let as=class extends Ne{};as=d([B({type:N.Choice})],as);let Ru=Wa=class extends qt{constructor(e){super(e),Object.setPrototypeOf(this,Wa.prototype)}};Ru=Wa=d([B({type:N.Sequence})],Ru);let Pu=Ga=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Ga.prototype)}};Pu=Ga=d([B({type:N.Set,itemType:ei})],Pu);let tc=class{constructor(e=""){this.value=e}toString(){return this.value}};d([f({type:y.BmpString})],tc.prototype,"value",void 0);tc=d([B({type:N.Choice})],tc);let nc=class extends F{};nc=d([B({type:N.Sequence})],nc);let Lu=Ja=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Ja.prototype)}};Lu=Ja=d([B({type:N.Sequence,itemType:nc})],Lu);var ic;let cs=ic=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,ic.prototype)}};cs=ic=d([B({type:N.Sequence,itemType:$t})],cs);class ri{constructor(e={}){this.version=0,this.subject=new ke,this.subjectPKInfo=new lt,this.attributes=new cs,Object.assign(this,e)}}d([f({type:y.Integer})],ri.prototype,"version",void 0);d([f({type:ke})],ri.prototype,"subject",void 0);d([f({type:lt})],ri.prototype,"subjectPKInfo",void 0);d([f({type:cs,implicit:!0,context:0})],ri.prototype,"attributes",void 0);class zi{constructor(e={}){this.certificationRequestInfo=new ri,this.signatureAlgorithm=new F,this.signature=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:ri})],zi.prototype,"certificationRequestInfo",void 0);d([f({type:F})],zi.prototype,"signatureAlgorithm",void 0);d([f({type:y.BitString})],zi.prototype,"signature",void 0);/*!
|
|
92
|
+
***************************************************************************** */var uc=function(t,e){return uc=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])},uc(t,e)};function $l(t,e){uc(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}function b0(t,e,n,r){function i(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function c(p){try{u(r.next(p))}catch(h){o(h)}}function l(p){try{u(r.throw(p))}catch(h){o(h)}}function u(p){p.done?s(p.value):i(p.value).then(c,l)}u((r=r.apply(t,[])).next())})}function k0(t,e){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,i,s,o;return o={next:c(0),throw:c(1),return:c(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function c(u){return function(p){return l([u,p])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(s=u[0]&2?i.return:u[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,u[1])).done)return s;switch(i=0,s&&(u=[u[0]&2,s.value]),u[0]){case 0:case 1:s=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,i=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(s=n.trys,!(s=s.length>0&&s[s.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!s||u[1]>s[0]&&u[1]<s[3])){n.label=u[1];break}if(u[0]===6&&n.label<s[1]){n.label=s[1],s=u;break}if(s&&n.label<s[2]){n.label=s[2],n.ops.push(u);break}s[2]&&n.ops.pop(),n.trys.pop();continue}u=e.call(t,n)}catch(p){u=[6,p],i=0}finally{r=s=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function wi(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 As(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(c){o={error:c}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return s}function sn(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(As(arguments[e]));return t}var x0="injectionTokens";function S0(t){var e=Reflect.getMetadata("design:paramtypes",t)||[],n=Reflect.getOwnMetadata(x0,t)||{};return Object.keys(n).forEach(function(r){e[+r]=n[r]}),e}function Lh(t){return!!t.useClass}function dc(t){return!!t.useFactory}var Uh=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,o=function(){return i||(s=e(n.wrap()),i=!0),s};return new Proxy(r,this.createHandler(o))},t.prototype.createHandler=function(e){var n={},r=function(i){n[i]=function(){for(var s=[],o=0;o<arguments.length;o++)s[o]=arguments[o];s[0]=e();var c=Reflect[i];return c.apply(void 0,sn(s))}};return this.reflectMethods.forEach(r),n},t}();function On(t){return typeof t=="string"||typeof t=="symbol"}function A0(t){return typeof t=="object"&&"token"in t&&"multiple"in t}function ed(t){return typeof t=="object"&&"token"in t&&"transform"in t}function E0(t){return typeof t=="function"||t instanceof Uh}function Ni(t){return!!t.useToken}function $i(t){return t.useValue!=null}function I0(t){return Lh(t)||$i(t)||Ni(t)||dc(t)}var zl=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}(),C0=function(t){$l(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e}(zl),td=function(){function t(){this.scopedResolutions=new Map}return t}();function N0(t,e){if(t===null)return"at position #"+e;var n=t.split(",")[e].trim();return'"'+n+'" at position #'+e}function $0(t,e,n){return n===void 0&&(n=" "),sn([t],e.message.split(`
|
|
93
|
+
`).map(function(r){return n+r})).join(`
|
|
94
|
+
`)}function z0(t,e,n){var r=As(t.toString().match(/constructor\(([\w, ]+)\)/)||[],2),i=r[1],s=i===void 0?null:i,o=N0(s,e);return $0("Cannot inject the dependency "+o+' of "'+t.name+'" constructor. Reason:',n)}function j0(t){if(typeof t.dispose!="function")return!1;var e=t.dispose;return!(e.length>0)}var O0=function(t){$l(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e}(zl),B0=function(t){$l(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e}(zl),T0=function(){function t(){this.preResolution=new O0,this.postResolution=new B0}return t}(),Vh=new Map,P0=function(){function t(e){this.parent=e,this._registry=new C0,this.interceptors=new T0,this.disposed=!1,this.disposables=new Set}return t.prototype.register=function(e,n,r){r===void 0&&(r={lifecycle:Ve.Transient}),this.ensureNotDisposed();var i;if(I0(n)?i=n:i={useClass:n},Ni(i))for(var s=[e],o=i;o!=null;){var c=o.useToken;if(s.includes(c))throw new Error("Token registration cycle detected! "+sn(s,[c]).join(" -> "));s.push(c);var l=this._registry.get(c);l&&Ni(l.provider)?o=l.provider:o=null}if((r.lifecycle===Ve.Singleton||r.lifecycle==Ve.ContainerScoped||r.lifecycle==Ve.ResolutionScoped)&&($i(i)||dc(i)))throw new Error('Cannot use lifecycle "'+Ve[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(),On(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(),On(e)){if(On(n))return this.register(e,{useToken:n},{lifecycle:Ve.Singleton});if(n)return this.register(e,{useClass:n},{lifecycle:Ve.Singleton});throw new Error('Cannot register a type name as a singleton without a "to" token')}var r=e;return n&&!On(n)&&(r=n),this.register(e,{useClass:r},{lifecycle:Ve.Singleton})},t.prototype.resolve=function(e,n){n===void 0&&(n=new td),this.ensureNotDisposed();var r=this.getRegistration(e);if(!r&&On(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(E0(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 o=wi(this.interceptors.preResolution.getAll(e)),c=o.next();!c.done;c=o.next()){var l=c.value;l.options.frequency!="Once"&&s.push(l),l.callback(e,n)}}catch(u){r={error:u}}finally{try{c&&!c.done&&(i=o.return)&&i.call(o)}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 o=[];try{for(var c=wi(this.interceptors.postResolution.getAll(e)),l=c.next();!l.done;l=c.next()){var u=l.value;u.options.frequency!="Once"&&o.push(u),u.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,o)}},t.prototype.resolveRegistration=function(e,n){if(this.ensureNotDisposed(),e.options.lifecycle===Ve.ResolutionScoped&&n.scopedResolutions.has(e))return n.scopedResolutions.get(e);var r=e.options.lifecycle===Ve.Singleton,i=e.options.lifecycle===Ve.ContainerScoped,s=r||i,o;return $i(e.provider)?o=e.provider.useValue:Ni(e.provider)?o=s?e.instance||(e.instance=this.resolve(e.provider.useToken,n)):this.resolve(e.provider.useToken,n):Lh(e.provider)?o=s?e.instance||(e.instance=this.construct(e.provider.useClass,n)):this.construct(e.provider.useClass,n):dc(e.provider)?o=e.provider.useFactory(this):o=this.construct(e.provider,n),e.options.lifecycle===Ve.ResolutionScoped&&n.scopedResolutions.set(e,o),o},t.prototype.resolveAll=function(e,n){var r=this;n===void 0&&(n=new td),this.ensureNotDisposed();var i=this.getAllRegistrations(e);if(!i&&On(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 o=[this.construct(e,n)];return this.executePostResolutionInterceptor(e,o,"All"),o},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=wi(this._registry.entries()),i=r.next();!i.done;i=r.next()){var s=As(i.value,2),o=s[0],c=s[1];this._registry.setAll(o,c.filter(function(l){return!$i(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=wi(this._registry.entries()),s=i.next();!s.done;s=i.next()){var o=As(s.value,2),c=o[0],l=o[1];l.some(function(u){var p=u.options;return p.lifecycle===Ve.ContainerScoped})&&r._registry.setAll(c,l.map(function(u){return u.options.lifecycle===Ve.ContainerScoped?{provider:u.provider,options:u.options}:u}))}}catch(u){e={error:u}}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 b0(this,void 0,void 0,function(){var e;return k0(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 Uh)return e.createProxy(function(s){return r.resolve(s,n)});var i=function(){var s=Vh.get(e);if(!s||s.length===0){if(e.length===0)return new e;throw new Error('TypeInfo not known for "'+e.name+'"')}var o=s.map(r.resolveParams(n,e));return new(e.bind.apply(e,sn([void 0],o)))}();return j0(i)&&this.disposables.add(i),i},t.prototype.resolveParams=function(e,n){var r=this;return function(i,s){var o,c,l;try{return A0(i)?ed(i)?i.multiple?(o=r.resolve(i.transform)).transform.apply(o,sn([r.resolveAll(i.token)],i.transformArgs)):(c=r.resolve(i.transform)).transform.apply(c,sn([r.resolve(i.token,e)],i.transformArgs)):i.multiple?r.resolveAll(i.token):r.resolve(i.token,e):ed(i)?(l=r.resolve(i.transform,e)).transform.apply(l,sn([r.resolve(i.token,e)],i.transformArgs)):r.resolve(i,e)}catch(u){throw new Error(z0(n,s,u))}}},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 P0;function Eo(){return function(t){Vh.set(t,S0(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 pc;class Io{constructor(e={}){this.attrId="",this.attrValues=[],Object.assign(e)}}d([g({type:w.ObjectIdentifier})],Io.prototype,"attrId",void 0);d([g({type:w.Any,repeated:"set"})],Io.prototype,"attrValues",void 0);let nd=pc=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,pc.prototype)}};nd=pc=d([P({type:T.Sequence,itemType:Io})],nd);var fc;let rd=fc=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,fc.prototype)}};rd=fc=d([P({type:T.Sequence,itemType:ar})],rd);class Mh{constructor(e={}){this.certId="",this.certValue=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:w.ObjectIdentifier})],Mh.prototype,"certId",void 0);d([g({type:w.Any,context:0})],Mh.prototype,"certValue",void 0);class qh{constructor(e={}){this.crlId="",this.crltValue=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:w.ObjectIdentifier})],qh.prototype,"crlId",void 0);d([g({type:w.Any,context:0})],qh.prototype,"crltValue",void 0);class Dh extends ae{}let Co=class{constructor(e={}){this.encryptionAlgorithm=new F,this.encryptedData=new Dh,Object.assign(this,e)}};d([g({type:F})],Co.prototype,"encryptionAlgorithm",void 0);d([g({type:Dh})],Co.prototype,"encryptedData",void 0);var hc,gc;(function(t){t[t.v1=0]="v1"})(gc||(gc={}));class Fh extends ae{}let mc=hc=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,hc.prototype)}};mc=hc=d([P({type:T.Sequence,itemType:Bt})],mc);class li{constructor(e={}){this.version=gc.v1,this.privateKeyAlgorithm=new F,this.privateKey=new Fh,Object.assign(this,e)}}d([g({type:w.Integer})],li.prototype,"version",void 0);d([g({type:F})],li.prototype,"privateKeyAlgorithm",void 0);d([g({type:Fh})],li.prototype,"privateKey",void 0);d([g({type:mc,implicit:!0,context:0,optional:!0})],li.prototype,"attributes",void 0);let id=class extends li{};id=d([P({type:T.Sequence})],id);let sd=class extends Co{};sd=d([P({type:T.Sequence})],sd);class Hh{constructor(e={}){this.secretTypeId="",this.secretValue=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:w.ObjectIdentifier})],Hh.prototype,"secretTypeId",void 0);d([g({type:w.Any,context:0})],Hh.prototype,"secretValue",void 0);class ui{constructor(e={}){this.mac=new So,this.macSalt=new ae,this.iterations=1,Object.assign(this,e)}}d([g({type:So})],ui.prototype,"mac",void 0);d([g({type:ae})],ui.prototype,"macSalt",void 0);d([g({type:w.Integer,defaultValue:1})],ui.prototype,"iterations",void 0);class No{constructor(e={}){this.version=3,this.authSafe=new ar,this.macData=new ui,Object.assign(this,e)}}d([g({type:w.Integer})],No.prototype,"version",void 0);d([g({type:ar})],No.prototype,"authSafe",void 0);d([g({type:ui,optional:!0})],No.prototype,"macData",void 0);var _c;class $o{constructor(e={}){this.bagId="",this.bagValue=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:w.ObjectIdentifier})],$o.prototype,"bagId",void 0);d([g({type:w.Any,context:0})],$o.prototype,"bagValue",void 0);d([g({type:Io,repeated:"set",optional:!0})],$o.prototype,"bagAttributes",void 0);let od=_c=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,_c.prototype)}};od=_c=d([P({type:T.Sequence,itemType:$o})],od);var yc,vc,wc;const Kh="1.2.840.113549.1.9",Wh=`${Kh}.7`,jl=`${Kh}.14`;let Es=class extends Oe{constructor(e={}){super(e)}toString(){return this.ia5String||super.toString()}};d([g({type:w.IA5String})],Es.prototype,"ia5String",void 0);Es=d([P({type:T.Choice})],Es);let ad=class extends ar{};ad=d([P({type:T.Sequence})],ad);let cd=class extends No{};cd=d([P({type:T.Sequence})],cd);let ld=class extends Co{};ld=d([P({type:T.Sequence})],ld);let bc=class{constructor(e=""){this.value=e}toString(){return this.value}};d([g({type:w.IA5String})],bc.prototype,"value",void 0);bc=d([P({type:T.Choice})],bc);let ud=class extends Es{};ud=d([P({type:T.Choice})],ud);let dd=class extends Oe{};dd=d([P({type:T.Choice})],dd);let kc=class{constructor(e=new Date){this.value=e}};d([g({type:w.GeneralizedTime})],kc.prototype,"value",void 0);kc=d([P({type:T.Choice})],kc);let pd=class extends Oe{};pd=d([P({type:T.Choice})],pd);let xc=class{constructor(e="M"){this.value=e}toString(){return this.value}};d([g({type:w.PrintableString})],xc.prototype,"value",void 0);xc=d([P({type:T.Choice})],xc);let Is=class{constructor(e=""){this.value=e}toString(){return this.value}};d([g({type:w.PrintableString})],Is.prototype,"value",void 0);Is=d([P({type:T.Choice})],Is);let fd=class extends Is{};fd=d([P({type:T.Choice})],fd);let hd=class extends Oe{};hd=d([P({type:T.Choice})],hd);let Sc=class{constructor(e=""){this.value=e}toString(){return this.value}};d([g({type:w.ObjectIdentifier})],Sc.prototype,"value",void 0);Sc=d([P({type:T.Choice})],Sc);let gd=class extends ze{};gd=d([P({type:T.Choice})],gd);let Ac=class{constructor(e=0){this.value=e}toString(){return this.value.toString()}};d([g({type:w.Integer})],Ac.prototype,"value",void 0);Ac=d([P({type:T.Choice})],Ac);let md=class extends It{};md=d([P({type:T.Sequence})],md);let Cs=class extends Oe{};Cs=d([P({type:T.Choice})],Cs);let _d=yc=class extends Gt{constructor(e){super(e),Object.setPrototypeOf(this,yc.prototype)}};_d=yc=d([P({type:T.Sequence})],_d);let yd=vc=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,vc.prototype)}};yd=vc=d([P({type:T.Set,itemType:or})],yd);let Ec=class{constructor(e=""){this.value=e}toString(){return this.value}};d([g({type:w.BmpString})],Ec.prototype,"value",void 0);Ec=d([P({type:T.Choice})],Ec);let Ic=class extends F{};Ic=d([P({type:T.Sequence})],Ic);let vd=wc=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,wc.prototype)}};vd=wc=d([P({type:T.Sequence,itemType:Ic})],vd);var Cc;let Ns=Cc=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Cc.prototype)}};Ns=Cc=d([P({type:T.Sequence,itemType:Bt})],Ns);class ur{constructor(e={}){this.version=0,this.subject=new ke,this.subjectPKInfo=new ut,this.attributes=new Ns,Object.assign(this,e)}}d([g({type:w.Integer})],ur.prototype,"version",void 0);d([g({type:ke})],ur.prototype,"subject",void 0);d([g({type:ut})],ur.prototype,"subjectPKInfo",void 0);d([g({type:Ns,implicit:!0,context:0})],ur.prototype,"attributes",void 0);class Rr{constructor(e={}){this.certificationRequestInfo=new ur,this.signatureAlgorithm=new F,this.signature=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:ur})],Rr.prototype,"certificationRequestInfo",void 0);d([g({type:F})],Rr.prototype,"signatureAlgorithm",void 0);d([g({type:w.BitString})],Rr.prototype,"signature",void 0);/*!
|
|
95
95
|
* MIT License
|
|
96
96
|
*
|
|
97
97
|
* Copyright (c) Peculiar Ventures. All rights reserved.
|
|
@@ -114,21 +114,21 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
114
114
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
115
115
|
* SOFTWARE.
|
|
116
116
|
*
|
|
117
|
-
*/const
|
|
118
|
-
`)}static pad(e=0){return"".padStart(2*e," ")}static serializeObj(e,n=0){const
|
|
119
|
-
`).replace(/\\0d/ig,"\r").replace(/\\0g/ig," ").replace(/\\(.)/g,"$1")}toArrayBuffer(){return
|
|
120
|
-
`)}else{if(!n)throw new Error("Required argument 'tag' is missed");return this.encodeStruct({type:n,rawData:
|
|
121
|
-
`)}}Ge.CertificateTag="CERTIFICATE";Ge.CrlTag="CRL";Ge.CertificateRequestTag="CERTIFICATE REQUEST";Ge.PublicKeyTag="PUBLIC KEY";Ge.PrivateKeyTag="PRIVATE KEY";class Ot extends Yt{static isAsnEncoded(e){return V.isBufferSource(e)||typeof e=="string"}static toArrayBuffer(e){if(typeof e=="string"){if(Ge.isPem(e))return Ge.decode(e)[0];if(G.isHex(e))return G.FromHex(e);if(G.isBase64(e))return G.FromBase64(e);if(G.isBase64Url(e))return G.FromBase64Url(e);throw new TypeError("Unsupported format of 'raw' argument. Must be one of DER, PEM, HEX, Base64, or Base4Url")}else{const n=G.ToBinary(e);return Ge.isPem(n)?Ge.decode(n)[0]:G.isHex(n)?G.FromHex(n):G.isBase64(n)?G.FromBase64(n):G.isBase64Url(n)?G.FromBase64Url(n):V.toArrayBuffer(e)}}constructor(...e){Ot.isAsnEncoded(e[0])?super(Ot.toArrayBuffer(e[0]),e[1]):super(e[0])}toString(e="pem"){switch(e){case"pem":return Ge.encode(this.rawData,this.tag);default:return super.toString(e)}}}class ut extends Ot{static async create(e,n=ze.get()){if(e instanceof ut)return e;if(Ut.isCryptoKey(e)){if(e.type!=="public")throw new TypeError("Public key is required");const i=await n.subtle.exportKey("spki",e);return new ut(i)}else{if(e.publicKey)return e.publicKey;if(V.isBufferSource(e))return new ut(e);throw new TypeError("Unsupported PublicKeyType")}}constructor(e){Ot.isAsnEncoded(e)?super(e,lt):super(e),this.tag=Ge.PublicKeyTag}async export(...e){let n,i=["verify"],r={hash:"SHA-256",...this.algorithm};e.length>1?(r=e[0]||r,i=e[1]||i,n=e[2]||ze.get()):n=e[0]||ze.get();let s=this.rawData;const o=U.parse(this.rawData,lt);return o.algorithm.algorithm===mi&&(s=t0(o,s)),n.subtle.importKey("spki",s,r,!0,i)}onInit(e){const n=Oe.resolve(kn),i=this.algorithm=n.toWebAlgorithm(e.algorithm);switch(e.algorithm.algorithm){case vn:{const r=U.parse(e.subjectPublicKey,nl),s=V.toUint8Array(r.modulus);i.publicExponent=V.toUint8Array(r.publicExponent),i.modulusLength=(s[0]?s:s.slice(1)).byteLength<<3;break}}}async getThumbprint(...e){var n;let i,r="SHA-1";return e.length>=1&&!(!((n=e[0])===null||n===void 0)&&n.subtle)?(r=e[0]||r,i=e[1]||ze.get()):i=e[0]||ze.get(),await i.subtle.digest(r,this.rawData)}async getKeyIdentifier(...e){let n,i="SHA-1";e.length===1?typeof e[0]=="string"?(i=e[0],n=ze.get()):n=e[0]:e.length===2?(i=e[0],n=e[1]):n=ze.get();const r=U.parse(this.rawData,lt);return await n.subtle.digest(i,r.subjectPublicKey)}toTextObject(){const e=this.toTextObjectEmpty(),n=U.parse(this.rawData,lt);switch(e.Algorithm=xn.serializeAlgorithm(n.algorithm),n.algorithm.algorithm){case Ei:e["EC Point"]=n.subjectPublicKey;break;case vn:default:e["Raw Data"]=n.subjectPublicKey}return e}}function t0(t,e){return t.algorithm=new F({algorithm:vn,parameters:null}),e=U.serialize(t),e}class Oi extends it{static async create(e,n=!1,i=ze.get()){if("name"in e&&"serialNumber"in e)return new Oi(e,n);const s=await(await ut.create(e,i)).getKeyIdentifier(i);return new Oi(G.ToHex(s),n)}constructor(...e){if(V.isBufferSource(e[0]))super(e[0]);else if(typeof e[0]=="string"){const n=new sn({keyIdentifier:new Pc(G.FromHex(e[0]))});super(Qo,e[1],U.serialize(n))}else{const n=e[0],i=n.name instanceof ji?U.parse(n.name.rawData,Re):n.name,r=new sn({authorityCertIssuer:i,authorityCertSerialNumber:G.FromHex(n.serialNumber)});super(Qo,e[1],U.serialize(r))}}onInit(e){super.onInit(e);const n=U.parse(e.extnValue,sn);n.keyIdentifier&&(this.keyId=G.ToHex(n.keyIdentifier)),(n.authorityCertIssuer||n.authorityCertSerialNumber)&&(this.certId={name:n.authorityCertIssuer||[],serialNumber:n.authorityCertSerialNumber?G.ToHex(n.authorityCertSerialNumber):""})}toTextObject(){const e=this.toTextObjectWithoutValue(),n=U.parse(this.value,sn);return n.authorityCertIssuer&&(e["Authority Issuer"]=new ji(n.authorityCertIssuer).toTextObject()),n.authorityCertSerialNumber&&(e["Authority Serial Number"]=n.authorityCertSerialNumber),n.keyIdentifier&&(e[""]=n.keyIdentifier),e}}Oi.NAME="Authority Key Identifier";class ol extends it{constructor(...e){if(V.isBufferSource(e[0])){super(e[0]);const n=U.parse(this.value,Or);this.ca=n.cA,this.pathLength=n.pathLenConstraint}else{const n=new Or({cA:e[0],pathLenConstraint:e[1]});super(Nf,e[2],U.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}}ol.NAME="Basic Constraints";var yd;(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"})(yd||(yd={}));class al extends it{constructor(...e){if(V.isBufferSource(e[0])){super(e[0]);const n=U.parse(this.value,Pr);this.usages=n.map(i=>i)}else{const n=new Pr(e[0]);super(Tf,e[1],U.serialize(n)),this.usages=e[0]}}toTextObject(){const e=this.toTextObjectWithoutValue();return e[""]=this.usages.map(n=>Zt.toString(n)).join(", "),e}}al.NAME="Extended Key Usages";var ls;(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"})(ls||(ls={}));class cl extends it{constructor(...e){if(V.isBufferSource(e[0])){super(e[0]);const n=U.parse(this.value,Ao);this.usages=n.toNumber()}else{const n=new Ao(e[0]);super(Rf,e[1],U.serialize(n)),this.usages=e[0]}}toTextObject(){const e=this.toTextObjectWithoutValue(),n=U.parse(this.value,Ao);return e[""]=n.toJSON().join(", "),e}}cl.NAME="Key Usages";class Qi extends it{static async create(e,n=!1,i=ze.get()){const s=await(await ut.create(e,i)).getKeyIdentifier(i);return new Qi(G.ToHex(s),n)}constructor(...e){if(V.isBufferSource(e[0])){super(e[0]);const n=U.parse(this.value,Dt);this.keyId=G.ToHex(n)}else{const n=typeof e[0]=="string"?G.FromHex(e[0]):e[0],i=new Dt(n);super(Vf,e[1],U.serialize(i)),this.keyId=G.ToHex(n)}}toTextObject(){const e=this.toTextObjectWithoutValue(),n=U.parse(this.value,Dt);return e[""]=n,e}}Qi.NAME="Subject Key Identifier";class hh extends it{constructor(...e){V.isBufferSource(e[0])?super(e[0]):super(Uf,e[1],new ji(e[0]||[]).rawData)}onInit(e){super.onInit(e);const n=U.parse(e.extnValue,ha);this.names=new ji(n)}toTextObject(){const e=this.toTextObjectWithoutValue(),n=this.names.toTextObject();for(const i in n)e[i]=n[i];return e}}hh.NAME="Subject Alternative Name";class rt{static register(e,n){this.items.set(e,n)}static create(e){const n=new it(e),i=this.items.get(n.type);return i?new i(e):n}}rt.items=new Map;class gh extends it{constructor(...e){var n;if(V.isBufferSource(e[0])){super(e[0]);const i=U.parse(this.value,Tr);this.policies=i.map(r=>r.policyIdentifier)}else{const i=e[0],r=(n=e[1])!==null&&n!==void 0?n:!1,s=new Tr(i.map(o=>new Vs({policyIdentifier:o})));super(Of,r,U.serialize(s)),this.policies=i}}toTextObject(){const e=this.toTextObjectWithoutValue();return e.Policy=this.policies.map(n=>new le("",{},Zt.toString(n))),e}}gh.NAME="Certificate Policies";rt.register(Of,gh);class _h extends it{constructor(...e){var n;if(V.isBufferSource(e[0]))super(e[0]);else if(Array.isArray(e[0])&&typeof e[0][0]=="string"){const r=e[0].map(o=>new Xn({distributionPoint:new gn({fullName:[new te({uniformResourceIdentifier:o})]})})),s=new Bn(r);super(ra,e[1],U.serialize(s))}else{const i=new Bn(e[0]);super(ra,e[1],U.serialize(i))}(n=this.distributionPoints)!==null&&n!==void 0||(this.distributionPoints=[])}onInit(e){super.onInit(e);const n=U.parse(e.extnValue,Bn);this.distributionPoints=n}toTextObject(){const e=this.toTextObjectWithoutValue();return e["Distribution Point"]=this.distributionPoints.map(n=>{var i;const r={};return n.distributionPoint&&(r[""]=(i=n.distributionPoint.fullName)===null||i===void 0?void 0:i.map(s=>new Vt(s).toString()).join(", ")),n.reasons&&(r.Reasons=n.reasons.toString()),n.cRLIssuer&&(r["CRL Issuer"]=n.cRLIssuer.map(s=>s.toString()).join(", ")),r}),e}}_h.NAME="CRL Distribution Points";class mh extends it{constructor(...e){var n,i,r,s;if(V.isBufferSource(e[0]))super(e[0]);else if(e[0]instanceof jn){const o=new jn(e[0]);super(Xo,e[1],U.serialize(o))}else{const o=e[0],c=new jn;cr(c,o,tu,"ocsp"),cr(c,o,nu,"caIssuers"),cr(c,o,iu,"timeStamping"),cr(c,o,ru,"caRepository"),super(Xo,e[1],U.serialize(c))}(n=this.ocsp)!==null&&n!==void 0||(this.ocsp=[]),(i=this.caIssuers)!==null&&i!==void 0||(this.caIssuers=[]),(r=this.timeStamping)!==null&&r!==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=[],U.parse(e.extnValue,jn).forEach(i=>{switch(i.accessMethod){case tu:this.ocsp.push(new Vt(i.accessLocation));break;case nu:this.caIssuers.push(new Vt(i.accessLocation));break;case iu:this.timeStamping.push(new Vt(i.accessLocation));break;case ru:this.caRepository.push(new Vt(i.accessLocation));break}})}toTextObject(){const e=this.toTextObjectWithoutValue();return this.ocsp.length&&ar(e,"OCSP",this.ocsp),this.caIssuers.length&&ar(e,"CA Issuers",this.caIssuers),this.timeStamping.length&&ar(e,"Time Stamping",this.timeStamping),this.caRepository.length&&ar(e,"CA Repository",this.caRepository),e}}mh.NAME="Authority Info Access";function ar(t,e,n){if(n.length===1)t[e]=n[0].toTextObject();else{const i=new le("");n.forEach((r,s)=>{const o=r.toTextObject(),c=`${o[le.NAME]} ${s+1}`;let l=i[c];Array.isArray(l)||(l=[],i[c]=l),l.push(o)}),t[e]=i}}function cr(t,e,n,i){const r=e[i];r&&(Array.isArray(r)?r:[r]).forEach(o=>{typeof o=="string"&&(o=new Vt("url",o)),t.push(new Vi({accessMethod:n,accessLocation:U.parse(o.rawData,te)}))})}class si extends Yt{constructor(...e){let n;if(V.isBufferSource(e[0]))n=V.toArrayBuffer(e[0]);else{const i=e[0],r=Array.isArray(e[1])?e[1].map(s=>V.toArrayBuffer(s)):[];n=U.serialize(new $t({type:i,values:r}))}super(n,$t)}onInit(e){this.type=e.type,this.values=e.values}toTextObject(){const e=this.toTextObjectWithoutValue();return e.Value=this.values.map(n=>new le("",{"":n})),e}toTextObjectWithoutValue(){const e=this.toTextObjectEmpty();return e[le.NAME]===si.NAME&&(e[le.NAME]=Zt.toString(this.type)),e}}si.NAME="Attribute";class yh extends si{constructor(...e){var n;if(V.isBufferSource(e[0]))super(e[0]);else{const i=new as({printableString:e[0]});super(ch,[U.serialize(i)])}(n=this.password)!==null&&n!==void 0||(this.password="")}onInit(e){if(super.onInit(e),this.values[0]){const n=U.parse(this.values[0],as);this.password=n.toString()}}toTextObject(){const e=this.toTextObjectWithoutValue();return e[le.VALUE]=this.password,e}}yh.NAME="Challenge Password";class ll extends si{constructor(...e){var n;if(V.isBufferSource(e[0]))super(e[0]);else{const i=e[0],r=new qt;for(const s of i)r.push(U.parse(s.rawData,tt));super(sl,[U.serialize(r)])}(n=this.items)!==null&&n!==void 0||(this.items=[])}onInit(e){if(super.onInit(e),this.values[0]){const n=U.parse(this.values[0],qt);this.items=n.map(i=>rt.create(U.serialize(i)))}}toTextObject(){const e=this.toTextObjectWithoutValue(),n=this.items.map(i=>i.toTextObject());for(const i of n)e[i[le.NAME]]=i;return e}}ll.NAME="Extensions";class lo{static register(e,n){this.items.set(e,n)}static create(e){const n=new si(e),i=this.items.get(n.type);return i?new i(e):n}}lo.items=new Map;const er="crypto.signatureFormatter";class n0{toAsnSignature(e,n){return V.toArrayBuffer(n)}toWebSignature(e,n){return V.toArrayBuffer(n)}}var _r;let rc=_r=class{static createPssParams(e,n){const i=_r.getHashAlgorithm(e);return i?new bn({hashAlgorithm:i,maskGenAlgorithm:new F({algorithm:eo,parameters:U.serialize(i)}),saltLength:n}):null}static getHashAlgorithm(e){const n=Oe.resolve(kn);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:Yr,parameters:null});case"sha-256":return new F({algorithm:Ta,parameters:null});case"sha-384":return new F({algorithm:Xr,parameters:null});case"sha-512":return new F({algorithm:Qr,parameters:null})}}else return new F({algorithm:vn,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=_r.createPssParams(e.hash,e.saltLength);if(!n)throw new Error("Cannot create PSS parameters");return new F({algorithm:mi,parameters:U.serialize(n)})}else return new F({algorithm:mi,parameters:null})}return null}toWebAlgorithm(e){switch(e.algorithm){case vn:return{name:"RSASSA-PKCS1-v1_5"};case Yr:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-1"}};case Ta:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case Xr:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-384"}};case Qr:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-512"}};case mi:if(e.parameters){const n=U.parse(e.parameters,bn);return{name:"RSA-PSS",hash:Oe.resolve(kn).toWebAlgorithm(n.hashAlgorithm),saltLength:n.saltLength}}else return{name:"RSA-PSS"}}return null}};rc=_r=d([ro()],rc);Oe.registerSingleton(Xi,rc);let sc=class{toAsnAlgorithm(e){switch(e.name.toLowerCase()){case"sha-1":return new F({algorithm:es});case"sha-256":return new F({algorithm:ts});case"sha-384":return new F({algorithm:ns});case"sha-512":return new F({algorithm:is})}return null}toWebAlgorithm(e){switch(e.algorithm){case es:return{name:"SHA-1"};case ts:return{name:"SHA-256"};case ns:return{name:"SHA-384"};case is:return{name:"SHA-512"}}return null}};sc=d([ro()],sc);Oe.registerSingleton(Xi,sc);class et{addPadding(e,n){const i=V.toUint8Array(n),r=new Uint8Array(e);return r.set(i,e-i.length),r}removePadding(e,n=!1){let i=V.toUint8Array(e);for(let r=0;r<i.length;r++)if(i[r]){i=i.slice(r);break}if(n&&i[0]>127){const r=new Uint8Array(i.length+1);return r.set(i,1),r.buffer}return i.buffer}toAsnSignature(e,n){if(e.name==="ECDSA"){const i=e.namedCurve,r=et.namedCurveSize.get(i)||et.defaultNamedCurveSize,s=new Zr,o=V.toUint8Array(n);return s.r=this.removePadding(o.slice(0,r),!0),s.s=this.removePadding(o.slice(r,r+r),!0),U.serialize(s)}return null}toWebSignature(e,n){if(e.name==="ECDSA"){const i=U.parse(n,Zr),r=e.namedCurve,s=et.namedCurveSize.get(r)||et.defaultNamedCurveSize,o=this.addPadding(s,this.removePadding(i.r)),c=this.addPadding(s,this.removePadding(i.s));return g_(o,c)}return null}}et.namedCurveSize=new Map;et.defaultNamedCurveSize=32;const Oo="1.3.101.110",vd="1.3.101.111",Bo="1.3.101.112",wd="1.3.101.113";let oc=class{toAsnAlgorithm(e){let n=null;switch(e.name.toLowerCase()){case"ed25519":n=Bo;break;case"x25519":n=Oo;break;case"eddsa":switch(e.namedCurve.toLowerCase()){case"ed25519":n=Bo;break;case"ed448":n=wd;break}break;case"ecdh-es":switch(e.namedCurve.toLowerCase()){case"x25519":n=Oo;break;case"x448":n=vd;break}}return n?new F({algorithm:n}):null}toWebAlgorithm(e){switch(e.algorithm){case Bo:return{name:"Ed25519"};case wd:return{name:"EdDSA",namedCurve:"Ed448"};case Oo:return{name:"X25519"};case vd:return{name:"ECDH-ES",namedCurve:"X448"}}return null}};oc=d([ro()],oc);Oe.registerSingleton(Xi,oc);class i0 extends Ot{constructor(e){Ot.isAsnEncoded(e)?super(e,zi):super(e),this.tag=Ge.CertificateRequestTag}onInit(e){this.tbs=U.serialize(e.certificationRequestInfo),this.publicKey=new ut(e.certificationRequestInfo.subjectPKInfo);const n=Oe.resolve(kn);this.signatureAlgorithm=n.toWebAlgorithm(e.signatureAlgorithm),this.signature=e.signature,this.attributes=e.certificationRequestInfo.attributes.map(r=>lo.create(U.serialize(r)));const i=this.getAttribute(sl);this.extensions=[],i instanceof ll&&(this.extensions=i.items),this.subjectName=new Qe(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=ze.get()){const n={...this.publicKey.algorithm,...this.signatureAlgorithm},i=await this.publicKey.export(n,["verify"],e),r=Oe.resolveAll(er).reverse();let s=null;for(const c of r)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,i,s,this.tbs)}toTextObject(){const e=this.toTextObjectEmpty(),n=U.parse(this.rawData,zi),i=n.certificationRequestInfo,r=new le("",{Version:`${_n[i.version]} (${i.version})`,Subject:this.subject,"Subject Public Key Info":this.publicKey});if(this.attributes.length){const s=new le("");for(const o of this.attributes){const c=o.toTextObject();s[c[le.NAME]]=c}r.Attributes=s}return e.Data=r,e.Signature=new le("",{Algorithm:xn.serializeAlgorithm(n.signatureAlgorithm),"":n.signature}),e}}i0.NAME="PKCS#10 Certificate Request";class ul extends Ot{constructor(e){Ot.isAsnEncoded(e)?super(e,mn):super(e),this.tag=Ge.CertificateTag}onInit(e){const n=e.tbsCertificate;this.tbs=U.serialize(n),this.serialNumber=G.ToHex(n.serialNumber),this.subjectName=new Qe(n.subject),this.subject=new Qe(n.subject).toString(),this.issuerName=new Qe(n.issuer),this.issuer=this.issuerName.toString();const i=Oe.resolve(kn);this.signatureAlgorithm=i.toWebAlgorithm(e.signatureAlgorithm),this.signature=e.signatureValue;const r=n.validity.notBefore.utcTime||n.validity.notBefore.generalTime;if(!r)throw new Error("Cannot get 'notBefore' value");this.notBefore=r;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(o=>rt.create(U.serialize(o)))),this.publicKey=new ut(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=ze.get()){let i,r;const s=e.publicKey;try{if(!s)i={...this.publicKey.algorithm,...this.signatureAlgorithm},r=await this.publicKey.export(i,["verify"],n);else if("publicKey"in s)i={...s.publicKey.algorithm,...this.signatureAlgorithm},r=await s.publicKey.export(i,["verify"],n);else if(s instanceof ut)i={...s.algorithm,...this.signatureAlgorithm},r=await s.export(i,["verify"],n);else if(V.isBufferSource(s)){const u=new ut(s);i={...u.algorithm,...this.signatureAlgorithm},r=await u.export(i,["verify"],n)}else i={...s.algorithm,...this.signatureAlgorithm},r=s}catch{return!1}const o=Oe.resolveAll(er).reverse();let c=null;for(const u of o)if(c=u.toWebSignature(i,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,r,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,i="SHA-1";return e[0]&&(e[0].subtle?n=e[0]:(i=e[0]||i,n=e[1])),n??(n=ze.get()),await n.subtle.digest(i,this.rawData)}async isSelfSigned(e=ze.get()){return this.subject===this.issuer&&await this.verify({signatureOnly:!0},e)}toTextObject(){const e=this.toTextObjectEmpty(),n=U.parse(this.rawData,mn),i=n.tbsCertificate,r=new le("",{Version:`${_n[i.version]} (${i.version})`,"Serial Number":i.serialNumber,"Signature Algorithm":xn.serializeAlgorithm(i.signature),Issuer:this.issuer,Validity:new le("",{"Not Before":i.validity.notBefore.getTime(),"Not After":i.validity.notAfter.getTime()}),Subject:this.subject,"Subject Public Key Info":this.publicKey});if(i.issuerUniqueID&&(r["Issuer Unique ID"]=i.issuerUniqueID),i.subjectUniqueID&&(r["Subject Unique ID"]=i.subjectUniqueID),this.extensions.length){const s=new le("");for(const o of this.extensions){const c=o.toTextObject();s[c[le.NAME]]=c}r.Extensions=s}return e.Data=r,e.Signature=new le("",{Algorithm:xn.serializeAlgorithm(n.signatureAlgorithm),"":n.signatureValue}),e}}ul.NAME="Certificate";class r0{static async createSelfSigned(e,n=ze.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=ze.get()){var i;let r;e.publicKey instanceof ut?r=e.publicKey.rawData:"publicKey"in e.publicKey?r=e.publicKey.publicKey.rawData:V.isBufferSource(e.publicKey)?r=e.publicKey:r=await n.subtle.exportKey("spki",e.publicKey);const s=e.serialNumber?V.toUint8Array(G.FromHex(e.serialNumber)):n.getRandomValues(new Uint8Array(16));s[0]>127&&(s[0]&=127),s.length>1&&s[0]===0&&(s[1]|=128);const o=e.notBefore||new Date,c=e.notAfter||new Date(o.getTime()+31536e6),l=new mn({tbsCertificate:new Ze({version:_n.v3,serialNumber:s,validity:new Mi({notBefore:o,notAfter:c}),extensions:new qt(((i=e.extensions)===null||i===void 0?void 0:i.map(b=>U.parse(b.rawData,tt)))||[]),subjectPublicKeyInfo:U.parse(r,lt)})});if(e.subject){const b=e.subject instanceof Qe?e.subject:new Qe(e.subject);l.tbsCertificate.subject=U.parse(b.toArrayBuffer(),ke)}if(e.issuer){const b=e.issuer instanceof Qe?e.issuer:new Qe(e.issuer);l.tbsCertificate.issuer=U.parse(b.toArrayBuffer(),ke)}const u={hash:"SHA-256"},p="signingKey"in e?{...u,...e.signingAlgorithm,...e.signingKey.algorithm}:{...u,...e.signingAlgorithm},g=Oe.resolve(kn);l.tbsCertificate.signature=l.signatureAlgorithm=g.toAsnAlgorithm(p);const _=U.serialize(l.tbsCertificate),k="signingKey"in e?await n.subtle.sign(p,e.signingKey,_):e.signature,h=Oe.resolveAll(er).reverse();let m=null;for(const b of h)if(m=b.toAsnSignature(p,k),m)break;if(!m)throw Error("Cannot convert ASN.1 signature value to WebCrypto format");return l.signatureValue=m,new ul(U.serialize(l))}}var bd;(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"})(bd||(bd={}));rt.register(Nf,ol);rt.register(Tf,al);rt.register(Rf,cl);rt.register(Vf,Qi);rt.register(Qo,Oi);rt.register(Uf,hh);rt.register(ra,_h);rt.register(Xo,mh);lo.register(ch,yh);lo.register(sl,ll);Oe.registerSingleton(er,n0);Oe.registerSingleton(er,et);et.namedCurveSize.set("P-256",32);et.namedCurveSize.set("K-256",32);et.namedCurveSize.set("P-384",48);et.namedCurveSize.set("P-521",66);const kd="0123456789abcdef";function ac(t){const e=new Uint8Array(t);let n="";for(let i=0;i<e.length;i++){const r=e[i]>>4;n+=kd[r];const s=e[i]&15;n+=kd[s]}return n}class vh{constructor(e,n){Q(this,"alphabet");Q(this,"padding");Q(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 i=0;i<e.length;i++)this.decodeMap.set(e[i],i)}encode(e,n){let i="",r=0,s=0;for(let c=0;c<e.length;c++)for(r=r<<8|e[c],s+=8;s>=5;)s-=5,i+=this.alphabet[r>>s&31];if(s>0&&(i+=this.alphabet[r<<5-s&31]),(n==null?void 0:n.includePadding)??!0){const c=(8-i.length%8)%8;for(let l=0;l<c;l++)i+="="}return i}decode(e,n){const i=(n==null?void 0:n.strict)??!0,r=Math.ceil(e.length/8),s=[];for(let o=0;o<r;o++){let c=0;const l=[];for(let p=0;p<8;p++){const g=e[o*8+p];if(g==="="){if(o+1!==r)throw new Error(`Invalid character: ${g}`);c+=1;continue}if(g===void 0){if(i)throw new Error("Invalid data");c+=1;continue}const _=this.decodeMap.get(g)??null;if(_===null)throw new Error(`Invalid character: ${g}`);l.push(_)}if(c===8||c===7||c===5||c===2)throw new Error("Invalid padding");const u=(l[0]<<3)+(l[1]>>2);if(s.push(u),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 vh("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567");new vh("0123456789ABCDEFGHIJKLMNOPQRSTUV");class wh{constructor(e,n){Q(this,"alphabet");Q(this,"padding");Q(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 i=0;i<e.length;i++)this.decodeMap.set(e[i],i)}encode(e,n){let i="",r=0,s=0;for(let c=0;c<e.length;c++)for(r=r<<8|e[c],s+=8;s>=6;)s+=-6,i+=this.alphabet[r>>s&63];if(s>0&&(i+=this.alphabet[r<<6-s&63]),(n==null?void 0:n.includePadding)??!0){const c=(4-i.length%4)%4;for(let l=0;l<c;l++)i+="="}return i}decode(e,n){const i=(n==null?void 0:n.strict)??!0,r=Math.ceil(e.length/4),s=[];for(let o=0;o<r;o++){let c=0,l=0;for(let u=0;u<4;u++){const p=e[o*4+u];if(p==="="){if(o+1!==r)throw new Error(`Invalid character: ${p}`);c+=1;continue}if(p===void 0){if(i)throw new Error("Invalid data");c+=1;continue}const g=this.decodeMap.get(p)??null;if(g===null)throw new Error(`Invalid character: ${p}`);l+=g<<6*(3-u)}s.push(l>>16&255),c<2&&s.push(l>>8&255),c<1&&s.push(l&255)}return Uint8Array.from(s)}}const s0=new wh("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),ln=new wh("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_");class o0{constructor(e){Q(this,"hash");this.hash=e}async verify(e,n,i){const r=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",r,n,i)}async sign(e,n){const i=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",i,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"]),i=await crypto.subtle.exportKey("pkcs8",n.privateKey),r=await crypto.subtle.exportKey("spki",n.publicKey);return{privateKey:i,publicKey:r}}}async function bh(t){return await crypto.subtle.digest("SHA-256",t)}async function cc(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"]),i=De(),r=ac(new TextEncoder().encode(i)),s=await r0.createSelfSigned({serialNumber:r,name:t.name,notBefore:new Date,notAfter:new Date(Date.now()+365*24*60*60*1e3),signingAlgorithm:e,keys:n,extensions:[new ol(!0,2,!0),new al(["1.3.6.1.5.5.7.3.1"],!0),new cl(ls.keyCertSign|ls.cRLSign,!0),await Qi.create(n.publicKey)]}),o=await crypto.subtle.exportKey("pkcs8",n.privateKey),c=s.toString("pem"),l=await c0(s),u=ac(await s.getThumbprint()),p=a0("PRIVATE",o);return{kid:s.serialNumber,cert:c,thumbprint:u,fingerprint:l,pkcs7:p}}function a0(t,e){const n=s0.encode(new Uint8Array(e));let i=`-----BEGIN ${t} KEY-----\r
|
|
122
|
-
`,
|
|
123
|
-
`:
|
|
124
|
-
`,
|
|
125
|
-
`,i}async function c0(t){const e=await t.publicKey.export(),n=await crypto.subtle.exportKey("jwk",e),i=JSON.stringify(n,Object.keys(n).sort()),s=new TextEncoder().encode(i);return ac(await bh(s))}const l0=1e3*60*60*24,u0=new a.OpenAPIHono().openapi(a.createRoute({tags:["keys"],method:"get",path:"/signing",request:{headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:a.z.array(Fo)}},description:"List of keys"}}}),async t=>{const n=(await t.env.data.keys.list()).filter(i=>"cert"in i).map(i=>i);return t.json(n)}).openapi(a.createRoute({tags:["keys"],method:"get",path:"/signing/{kid}",request:{headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({kid:a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Fo}},description:"The requested key"}}}),async t=>{const{kid:e}=t.req.valid("param"),i=(await t.env.data.keys.list()).find(r=>r.kid===e);if(!i)throw new j(404,{message:"Key not found"});return t.json(i)}).openapi(a.createRoute({tags:["keys"],method:"post",path:"/signing/rotate",request:{headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{description:"Status"}}}),async t=>{const e=await t.env.data.keys.list();for await(const i of e)await t.env.data.keys.update(i.kid,{revoked_at:new Date(Date.now()+l0).toISOString()});const n=await cc({name:`CN=${t.env.ORGANIZATION_NAME}`});return await t.env.data.keys.create(n),t.text("OK",{status:201})}).openapi(a.createRoute({tags:["keys"],method:"put",path:"/signing/{kid}/revoke",request:{headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({kid:a.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 j(404,{message:"Key not found"});const i=await cc({name:`CN=${t.env.ORGANIZATION_NAME}`});return await t.env.data.keys.create(i),t.text("OK")}),d0=new a.OpenAPIHono().openapi(a.createRoute({tags:["users"],method:"get",path:"/",request:{query:a.z.object({email:a.z.string()}),headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"tenant/json":{schema:a.z.array(gc)}},description:"List of users"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{email:n}=t.req.valid("query"),r=(await Ep(t.env.data.users,e,n)).filter(s=>!s.linked_to);return t.json(r)}),p0=Gt.extend({clients:a.z.array(nn)}),f0=new a.OpenAPIHono().openapi(a.createRoute({tags:["clients"],method:"get",path:"/",request:{query:dn,headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:a.z.union([p0,a.z.array(nn)])}},description:"List of clients"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{page:n,per_page:i,include_totals:r,sort:s,q:o}=t.req.valid("query"),l=(await t.env.data.applications.list(e,{page:n,per_page:i,include_totals:r,sort:Jn(s),q:o})).applications;return r?t.json({clients:l,start:0,limit:10,length:l.length}):t.json(l)}).openapi(a.createRoute({tags:["clients"],method:"get",path:"/{id}",request:{params:a.z.object({id:a.z.string()}),headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:nn}},description:"An application"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=(await t.env.data.applications.list(e,{page:1,per_page:0,include_totals:!1})).applications.find(s=>s.id===n);if(!r)throw new j(404);return t.json(r)}).openapi(a.createRoute({tags:["clients"],method:"delete",path:"/{id}",request:{params:a.z.object({id:a.z.string()}),headers:a.z.object({"tenant-id":a.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 j(404,{message:"Application not found"});return t.text("OK")}).openapi(a.createRoute({tags:["clients"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:a.z.object(Sr.shape).partial()}}},params:a.z.object({id:a.z.string()}),headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:nn}},description:"The update application"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=t.req.valid("json");await t.env.data.applications.update(e,n,r);const s=await t.env.data.applications.get(e,n);if(!s)throw new j(404,{message:"Application not found"});return t.json(s)}).openapi(a.createRoute({tags:["clients"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:a.z.object(Sr.shape)}}},headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:a.z.object(nn.shape)}},description:"An application"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),i={...n,id:n.id||De(),client_secret:n.client_secret||De()},r=await t.env.data.applications.create(e,i);return t.json(r,{status:201})});a.z.object({start:a.z.number(),limit:a.z.number(),length:a.z.number()});_s.extend({email:a.z.string(),login_count:a.z.number(),multifactor:a.z.array(a.z.string()).optional(),last_ip:a.z.string().optional(),last_login:a.z.string().optional(),user_id:a.z.string()}).catchall(a.z.any());const h0=Gt.extend({tenants:a.z.array(Nn)}),g0=new a.OpenAPIHono().openapi(a.createRoute({tags:["tenants"],method:"get",path:"/",request:{query:dn},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"tenant/json":{schema:a.z.union([a.z.array(Nn),h0])}},description:"List of tenants"}}}),async t=>{const{page:e,per_page:n,include_totals:i,sort:r,q:s}=t.req.valid("query"),o=await t.env.data.tenants.list({page:e,per_page:n,include_totals:i,sort:Jn(r),q:s});return i?t.json(o):t.json(o.tenants)}).openapi(a.createRoute({tags:["tenants"],method:"get",path:"/{id}",request:{params:a.z.object({id:a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"tenant/json":{schema:Nn}},description:"A tenant"}}}),async t=>{const{id:e}=t.req.valid("param"),n=await t.env.data.tenants.get(e);if(!n)throw new j(404);return t.json(n)}).openapi(a.createRoute({tags:["tenants"],method:"delete",path:"/{id}",request:{params:a.z.object({id:a.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(a.createRoute({tags:["tenants"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:a.z.object(Ir.shape).partial()}}},params:a.z.object({id:a.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(a.createRoute({tags:["tenants"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:a.z.object(Ir.shape)}}}},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"tenant/json":{schema:Nn}},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})}),_0=Gt.extend({logs:a.z.array(Cr)}),m0=new a.OpenAPIHono().openapi(a.createRoute({tags:["logs"],method:"get",path:"/",request:{query:dn,headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:a.z.union([a.z.array(Cr),_0])}},description:"List of log rows"}}}),async t=>{const{page:e,per_page:n,include_totals:i,sort:r,q:s}=t.req.valid("query"),{"tenant-id":o}=t.req.valid("header"),c=await t.env.data.logs.list(o,{page:e,per_page:n,include_totals:i,sort:Jn(r),q:s});return i?t.json(c):t.json(c.logs)}).openapi(a.createRoute({tags:["logs"],method:"get",path:"/{id}",request:{headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({id:a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Cr}},description:"A log entry"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),i=await t.env.data.logs.get(e,n);if(!i)throw new j(404);return t.json(i)}),y0=Gt.extend({hooks:a.z.array($n)}),v0=new a.OpenAPIHono().openapi(a.createRoute({tags:["hooks"],method:"get",path:"/",request:{query:dn,headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:a.z.union([a.z.array($n),y0])}},description:"List of hooks"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{page:n,per_page:i,include_totals:r,sort:s,q:o}=t.req.valid("query"),c=await t.env.data.hooks.list(e,{page:n,per_page:i,include_totals:r,sort:Jn(s),q:o});return r?t.json(c):t.json(c.hooks)}).openapi(a.createRoute({tags:["hooks"],method:"post",path:"/",request:{headers:a.z.object({"tenant-id":a.z.string()}),body:{content:{"application/json":{schema:a.z.object(Er.shape)}}}},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:$n}},description:"The created hook"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),i=await t.env.data.hooks.create(e,n);return t.json(i,{status:201})}).openapi(a.createRoute({tags:["hooks"],method:"patch",path:"/{hook_id}",request:{headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({hook_id:a.z.string()}),body:{content:{"application/json":{schema:a.z.object(Er.shape).omit({hook_id:!0}).partial()}}}},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:$n.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"),i=t.req.valid("json");await t.env.data.hooks.update(e,n,i);const r=await t.env.data.hooks.get(e,n);if(!r)throw new j(404,{message:"Hook not found"});return t.json(r)}).openapi(a.createRoute({tags:["hooks"],method:"get",path:"/{hook_id}",request:{headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({hook_id:a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:$n}},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"),i=await t.env.data.hooks.get(e,n);if(!i)throw new j(404,{message:"Hook not found"});return t.json(i)}).openapi(a.createRoute({tags:["hooks"],method:"delete",path:"/{hook_id}",request:{headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({hook_id:a.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 j(404,{message:"Hook not found"});return t.text("OK")}),w0=Gt.extend({connections:a.z.array(Lt)}),b0=new a.OpenAPIHono().openapi(a.createRoute({tags:["connections"],method:"get",path:"/",request:{query:dn,headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:a.z.union([a.z.array(Lt),w0])}},description:"List of connectionss"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{page:n,per_page:i,include_totals:r=!1,sort:s,q:o}=t.req.valid("query"),c=await t.env.data.connections.list(e,{page:n,per_page:i,include_totals:r,sort:Jn(s),q:o});return r?t.json(c):t.json(c.connections)}).openapi(a.createRoute({tags:["connections"],method:"get",path:"/{id}",request:{params:a.z.object({id:a.z.string()}),headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Lt}},description:"A connection"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),i=await t.env.data.connections.get(e,n);if(!i)throw new j(404);return t.json(i)}).openapi(a.createRoute({tags:["connections"],method:"delete",path:"/{id}",request:{params:a.z.object({id:a.z.string()}),headers:a.z.object({"tenant-id":a.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 j(404,{message:"Connection not found"});return t.text("OK")}).openapi(a.createRoute({tags:["connections"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:a.z.object(Ar.shape).partial()}}},params:a.z.object({id:a.z.string()}),headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:Lt}},description:"The updated connection"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),i=t.req.valid("json");if(!await t.env.data.connections.update(e,n,i))throw new j(404,{message:"Connection not found"});const s=await t.env.data.connections.get(e,n);if(!s)throw new j(404,{message:"Connection not found"});return t.json(s)}).openapi(a.createRoute({tags:["connections"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:a.z.object(Ar.shape)}}},headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:Lt}},description:"A connection"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),i=await t.env.data.connections.create(e,n);return t.json(i,{status:201})}),k0=new a.OpenAPIHono().openapi(a.createRoute({tags:["prompts"],method:"get",path:"/",request:{headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:dr}},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(dr.parse({}))}).openapi(a.createRoute({tags:["prompts"],method:"patch",path:"/",request:{headers:a.z.object({"tenant-id":a.z.string()}),body:{content:{"application/json":{schema:a.z.object(dr.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"),i=await t.env.data.promptSettings.get(e);return Object.assign(i,n),await t.env.data.promptSettings.set(e,i),t.json(i)});let xd=!1;function kh(t){t.use(async(e,n)=>(xd||(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"}}}}),xd=!0),await n()))}a.z.object({alg:a.z.literal("RS256"),kty:a.z.literal("RSA"),use:a.z.literal("sig"),n:a.z.string(),e:a.z.string(),kid:a.z.string(),x5t:a.z.string(),x5c:a.z.array(a.z.string())});async function x0(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 j(500,{message:`Failed to fetch jwks: ${e.message}`})}}async function S0(t,e){const i=new TextEncoder().encode([e.raw.header,e.raw.payload].join(".")),r=new Uint8Array(Array.from(e.signature).map(l=>l.charCodeAt(0))),o=(await x0(t.env)).find(l=>l.kid===e.header.kid);if(!o)return console.log("No matching kid found"),!1;const c=await crypto.subtle.importKey("jwk",o,{name:"RSASSA-PKCS1-v1_5",hash:"SHA-256"},!1,["verify"]);return crypto.subtle.verify("RSASSA-PKCS1-v1_5",c,r,i)}function A0(t){const[e,n,i]=t.split(".");if(!e||!n||!i)return null;const r=JSON.parse(atob(e)),s=JSON.parse(atob(n)),o=atob(i.replace(/-/g,"+").replace(/_/g,"/"));return{header:r,payload:s,signature:o,raw:{header:e,payload:n,signature:i}}}function xh(t){return async(e,n)=>{var r,s,o;const i=t.openAPIRegistry.definitions.find(c=>"route"in c&&c.route.path===e.req.path&&c.route.method.toUpperCase()===e.req.method);if(i&&"route"in i){const c=(s=(r=i.route.security)==null?void 0:r[0])==null?void 0:s.Bearer;if(!(c!=null&&c.length))return await n();const l=e.req.header("authorization")||"",[u,p]=l.split(" ");if((u==null?void 0:u.toLowerCase())!=="bearer"||!p)throw new j(401,{message:"Missing bearer token"});const g=A0(p);if(!g||!await S0(e,g))throw new j(403,{message:"Invalid JWT signature"});e.set("user_id",g.payload.sub),e.set("user",g.payload);const _=g.payload.permissions||[],k=((o=g.payload.scope)==null?void 0:o.split(" "))||[];if(c.length&&!(c.some(h=>_.includes(h))||c.some(h=>k.includes(h))))throw new j(403,{message:"Unauthorized"})}return await n()}}const I0=new a.OpenAPIHono().openapi(a.createRoute({tags:["emails"],method:"get",path:"/",request:{headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:pr}},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 j(404,{message:"Email provider not found"});return t.json(n)}).openapi(a.createRoute({tags:["emails"],method:"post",path:"/",request:{headers:a.z.object({"tenant-id":a.z.string()}),body:{content:{"application/json":{schema:a.z.object(pr.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(a.createRoute({tags:["emails"],method:"patch",path:"/",request:{headers:a.z.object({"tenant-id":a.z.string()}),body:{content:{"application/json":{schema:a.z.object(pr.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")}),E0=new a.OpenAPIHono().openapi(a.createRoute({tags:["sessions"],method:"get",path:"/{id}",request:{params:a.z.object({id:a.z.string()}),headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:ys}},description:"A session"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),i=await t.env.data.sessions.get(e,n);if(!i)throw new j(404);return t.json(i)}).openapi(a.createRoute({tags:["sessions"],method:"delete",path:"/{id}",request:{params:a.z.object({id:a.z.string()}),headers:a.z.object({"tenant-id":a.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 j(404,{message:"Session not found"});return t.text("OK")}).openapi(a.createRoute({tags:["sessions"],method:"post",path:"/{id}/revoke",request:{params:a.z.object({id:a.z.string()}),headers:a.z.object({"tenant-id":a.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 j(404,{message:"Session not found"});return t.text("Session deletion request accepted.",{status:202})}),C0=new a.OpenAPIHono().openapi(a.createRoute({tags:["refresh_tokens"],method:"get",path:"/{id}",request:{params:a.z.object({id:a.z.string()}),headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:yc}},description:"A session"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),i=await t.env.data.refreshTokens.get(e,n);if(!i)throw new j(404);return t.json(i)}).openapi(a.createRoute({tags:["refresh_tokens"],method:"delete",path:"/{id}",request:{params:a.z.object({id:a.z.string()}),headers:a.z.object({"tenant-id":a.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 j(404,{message:"Session not found"});return t.text("OK")});function z0(){const t=new a.OpenAPIHono;t.use(xh(t));const e=t.route("/branding",Gg).route("/email/providers",I0).route("/users",u_).route("/keys",u0).route("/users-by-email",d0).route("/clients",f0).route("/tenants",g0).route("/logs",m0).route("/hooks",v0).route("/connections",b0).route("/prompts",k0).route("/sessions",E0).route("/refresh_tokens",C0);return kh(e),e.doc("/spec",{openapi:"3.0.0",info:{version:"1.0.0",title:"Management api"}}),e}function $0(t,e){Object.keys(e).forEach(n=>{const i=e[n];i!=null&&i.length&&t.searchParams.set(n,i)})}function Gn(t){var e,n,i;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:(i=t.header("user-agent"))==null?void 0:i.slice(0,512)}}const lr=60*5,uo=30*24*60*60,us=24*60*60,j0="auth-token",lc=30*60*1e3,N0=5*60,O0=5*60;var Sd;(function(t){t[t.Include=0]="Include",t[t.None=1]="None"})(Sd||(Sd={}));var Ad;(function(t){t[t.Required=0]="Required",t[t.Ignore=1]="Ignore"})(Ad||(Ad={}));function B0(t){return Ah(t,T0,Bi.Include)}function Sh(t){return Ah(t,R0,Bi.None)}function Ah(t,e,n){let i="";for(let r=0;r<t.byteLength;r+=3){let s=0,o=0;for(let c=0;c<3&&r+c<t.byteLength;c++)s=s<<8|t[r+c],o+=8;for(let c=0;c<4;c++)o>=6?(i+=e[s>>o-6&63],o-=6):o>0?(i+=e[s<<6-o&63],o=0):n===Bi.Include&&(i+="=")}return i}const T0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",R0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";var Bi;(function(t){t[t.Include=0]="Include",t[t.None=1]="None"})(Bi||(Bi={}));var Id;(function(t){t[t.Required=0]="Required",t[t.Ignore=1]="Ignore"})(Id||(Id={}));class P0{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 i=0;for(let r=0;r<4;r++)i|=e[n+r]<<24-r*8;return i}uint64(e,n){if(e.byteLength<n+8)throw new TypeError("Insufficient bytes");let i=0n;for(let r=0;r<8;r++)i|=BigInt(e[n+r])<<BigInt(56-r*8);return i}putUint8(e,n,i){if(e.length<i+1)throw new TypeError("Not enough space");if(n<0||n>255)throw new TypeError("Invalid uint8 value");e[i]=n}putUint16(e,n,i){if(e.length<i+2)throw new TypeError("Not enough space");if(n<0||n>65535)throw new TypeError("Invalid uint16 value");e[i]=n>>8,e[i+1]=n&255}putUint32(e,n,i){if(e.length<i+4)throw new TypeError("Not enough space");if(n<0||n>4294967295)throw new TypeError("Invalid uint32 value");for(let r=0;r<4;r++)e[i+r]=n>>(3-r)*8&255}putUint64(e,n,i){if(e.length<i+8)throw new TypeError("Not enough space");if(n<0||n>18446744073709551615n)throw new TypeError("Invalid uint64 value");for(let r=0;r<8;r++)e[i+r]=Number(n>>BigInt((7-r)*8)&0xffn)}}const Ed=new P0;function mt(t,e){return(t<<32-e|t>>>e)>>>0}function L0(t){const e=new U0;return e.update(t),e.digest()}class U0{constructor(){Q(this,"blockSize",64);Q(this,"size",32);Q(this,"blocks",new Uint8Array(64));Q(this,"currentBlockSize",0);Q(this,"H",new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]));Q(this,"l",0n);Q(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 i=e.slice(0,64-this.currentBlockSize);this.blocks.set(i,this.currentBlockSize),this.process(),n+=i.byteLength,this.currentBlockSize=0}for(;n+64<=e.byteLength;){const i=e.slice(n,n+64);this.blocks.set(i),this.process(),n+=64}if(e.byteLength-n>0){const i=e.slice(n);this.blocks.set(i),this.currentBlockSize=i.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),Ed.putUint64(this.blocks,this.l,this.blockSize-8),this.process();const e=new Uint8Array(32);for(let n=0;n<8;n++)Ed.putUint32(e,this.H[n],n*4);return e}process(){for(let u=0;u<16;u++)this.w[u]=(this.blocks[u*4]<<24|this.blocks[u*4+1]<<16|this.blocks[u*4+2]<<8|this.blocks[u*4+3])>>>0;for(let u=16;u<64;u++){const p=(mt(this.w[u-2],17)^mt(this.w[u-2],19)^this.w[u-2]>>>10)>>>0,g=(mt(this.w[u-15],7)^mt(this.w[u-15],18)^this.w[u-15]>>>3)>>>0;this.w[u]=p+this.w[u-7]+g+this.w[u-16]|0}let e=this.H[0],n=this.H[1],i=this.H[2],r=this.H[3],s=this.H[4],o=this.H[5],c=this.H[6],l=this.H[7];for(let u=0;u<64;u++){const p=(mt(s,6)^mt(s,11)^mt(s,25))>>>0,g=(s&o^~s&c)>>>0,_=l+p+g+V0[u]+this.w[u]|0,k=(mt(e,2)^mt(e,13)^mt(e,22))>>>0,h=(e&n^e&i^n&i)>>>0,m=k+h|0;l=c,c=o,o=s,s=r+_|0,r=i,i=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]=i+this.H[2]|0,this.H[3]=r+this.H[3]|0,this.H[4]=s+this.H[4]|0,this.H[5]=o+this.H[5]|0,this.H[6]=c+this.H[6]|0,this.H[7]=l+this.H[7]|0}}const V0=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 M0{constructor(e){Q(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 D0(t){const e=L0(new TextEncoder().encode(t));return Sh(e)}function F0(){const t=new Uint8Array(32);return crypto.getRandomValues(t),Sh(t)}function vi(t,e){const n=new TextEncoder().encode(e.toString()),i=new Request(t,{method:"POST",body:n});return i.headers.set("Content-Type","application/x-www-form-urlencoded"),i.headers.set("Accept","application/json"),i.headers.set("User-Agent","arctic"),i.headers.set("Content-Length",n.byteLength.toString()),i}function To(t,e){const n=new TextEncoder().encode(`${t}:${e}`);return B0(n)}async function ds(t){let e;try{e=await fetch(t)}catch(n){throw new Eh(n)}if(e.status===400||e.status===401){let n;try{n=await e.json()}catch{throw new mr(e.status)}if(typeof n!="object"||n===null)throw new Tn(e.status,n);let i;try{i=Ih(n)}catch{throw new Tn(e.status,n)}throw i}if(e.status===200){let n;try{n=await e.json()}catch{throw new mr(e.status)}if(typeof n!="object"||n===null)throw new Tn(e.status,n);return new M0(n)}throw e.body!==null&&await e.body.cancel(),new mr(e.status)}async function H0(t){let e;try{e=await fetch(t)}catch(n){throw new Eh(n)}if(e.status===400||e.status===401){let n;try{n=await e.json()}catch{throw new Tn(e.status,null)}if(typeof n!="object"||n===null)throw new Tn(e.status,n);let i;try{i=Ih(n)}catch{throw new Tn(e.status,n)}throw i}if(e.status===200){e.body!==null&&await e.body.cancel();return}throw e.body!==null&&await e.body.cancel(),new mr(e.status)}function Ih(t){let e;if("error"in t&&typeof t.error=="string")e=t.error;else throw new Error("Invalid error response");let n=null,i=null,r=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");i=t.error_uri}if("state"in t){if(typeof t.state!="string")throw new Error("Invalid data");r=t.state}return new q0(e,n,i,r)}class Eh extends Error{constructor(e){super("Failed to send request",{cause:e})}}class q0 extends Error{constructor(n,i,r,s){super(`OAuth request error: ${n}`);Q(this,"code");Q(this,"description");Q(this,"uri");Q(this,"state");this.code=n,this.description=i,this.uri=r,this.state=s}}class mr extends Error{constructor(n){super("Unexpected error response");Q(this,"status");this.status=n}}class Tn extends Error{constructor(n,i){super("Unexpected error response body");Q(this,"status");Q(this,"data");this.status=n,this.data=i}}class dl{constructor(e,n,i){Q(this,"clientId");Q(this,"clientPassword");Q(this,"redirectURI");this.clientId=e,this.clientPassword=n,this.redirectURI=i}createAuthorizationURL(e,n,i){const r=new URL(e);return r.searchParams.set("response_type","code"),r.searchParams.set("client_id",this.clientId),this.redirectURI!==null&&r.searchParams.set("redirect_uri",this.redirectURI),r.searchParams.set("state",n),i.length>0&&r.searchParams.set("scope",i.join(" ")),r}createAuthorizationURLWithPKCE(e,n,i,r,s){const o=new URL(e);if(o.searchParams.set("response_type","code"),o.searchParams.set("client_id",this.clientId),this.redirectURI!==null&&o.searchParams.set("redirect_uri",this.redirectURI),o.searchParams.set("state",n),i===Ti.S256){const c=D0(r);o.searchParams.set("code_challenge_method","S256"),o.searchParams.set("code_challenge",c)}else i===Ti.Plain&&(o.searchParams.set("code_challenge_method","plain"),o.searchParams.set("code_challenge",r));return s.length>0&&o.searchParams.set("scope",s.join(" ")),o}async validateAuthorizationCode(e,n,i){const r=new URLSearchParams;r.set("grant_type","authorization_code"),r.set("code",n),this.redirectURI!==null&&r.set("redirect_uri",this.redirectURI),i!==null&&r.set("code_verifier",i),this.clientPassword===null&&r.set("client_id",this.clientId);const s=vi(e,r);if(this.clientPassword!==null){const c=To(this.clientId,this.clientPassword);s.headers.set("Authorization",`Basic ${c}`)}return await ds(s)}async refreshAccessToken(e,n,i){const r=new URLSearchParams;r.set("grant_type","refresh_token"),r.set("refresh_token",n),this.clientPassword===null&&r.set("client_id",this.clientId),i.length>0&&r.set("scope",i.join(" "));const s=vi(e,r);if(this.clientPassword!==null){const c=To(this.clientId,this.clientPassword);s.headers.set("Authorization",`Basic ${c}`)}return await ds(s)}async revokeToken(e,n){const i=new URLSearchParams;i.set("token",n),this.clientPassword===null&&i.set("client_id",this.clientId);const r=vi(e,i);if(this.clientPassword!==null){const s=To(this.clientId,this.clientPassword);r.headers.set("Authorization",`Basic ${s}`)}await H0(r)}}var Ti;(function(t){t[t.S256=0]="S256",t[t.Plain=1]="Plain"})(Ti||(Ti={}));var Cd;(function(t){t[t.Include=0]="Include",t[t.None=1]="None"})(Cd||(Cd={}));var zd;(function(t){t[t.Required=0]="Required",t[t.Ignore=1]="Ignore"})(zd||(zd={}));function wi(t){return K0(t,W0,ps.None)}function K0(t,e,n){let i="";for(let r=0;r<t.byteLength;r+=3){let s=0,o=0;for(let c=0;c<3&&r+c<t.byteLength;c++)s=s<<8|t[r+c],o+=8;for(let c=0;c<4;c++)o>=6?(i+=e[s>>o-6&63],o-=6):o>0?(i+=e[s<<6-o&63],o=0):n===ps.Include&&(i+="=")}return i}const W0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";var ps;(function(t){t[t.Include=0]="Include",t[t.None=1]="None"})(ps||(ps={}));var $d;(function(t){t[t.Required=0]="Required",t[t.Ignore=1]="Ignore"})($d||($d={}));function G0(t,e,n){const i=wi(new TextEncoder().encode(t)),r=wi(new TextEncoder().encode(e)),s=wi(n);return i+"."+r+"."+s}function J0(t,e){const n=wi(new TextEncoder().encode(t)),i=wi(new TextEncoder().encode(e)),r=n+"."+i;return new TextEncoder().encode(r)}const Z0="https://appleid.apple.com/auth/authorize",Y0="https://appleid.apple.com/auth/token";class Ch{constructor(e,n,i,r,s){Q(this,"clientId");Q(this,"teamId");Q(this,"keyId");Q(this,"pkcs8PrivateKey");Q(this,"redirectURI");this.clientId=e,this.teamId=n,this.keyId=i,this.pkcs8PrivateKey=r,this.redirectURI=s}createAuthorizationURL(e,n){const i=new URL(Z0);return i.searchParams.set("response_type","code"),i.searchParams.set("client_id",this.clientId),i.searchParams.set("state",e),n.length>0&&i.searchParams.set("scope",n.join(" ")),i.searchParams.set("redirect_uri",this.redirectURI),i}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 i=await this.createClientSecret();n.set("client_secret",i);const r=vi(Y0,n);return await ds(r)}async createClientSecret(){const e=await crypto.subtle.importKey("pkcs8",this.pkcs8PrivateKey,{name:"ECDSA",namedCurve:"P-256"},!1,["sign"]),n=Math.floor(Date.now()/1e3),i=JSON.stringify({typ:"JWT",alg:"ES256",kid:this.keyId}),r=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,J0(i,r)));return G0(i,r,s)}}const X0="https://www.facebook.com/v16.0/dialog/oauth",Q0="https://graph.facebook.com/v16.0/oauth/access_token";class zh{constructor(e,n,i){Q(this,"clientId");Q(this,"clientSecret");Q(this,"redirectURI");this.clientId=e,this.clientSecret=n,this.redirectURI=i}createAuthorizationURL(e,n){const i=new URL(X0);return i.searchParams.set("response_type","code"),i.searchParams.set("client_id",this.clientId),i.searchParams.set("state",e),n.length>0&&i.searchParams.set("scope",n.join(" ")),i.searchParams.set("redirect_uri",this.redirectURI),i}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 i=vi(Q0,n);return await ds(i)}}const ey="https://accounts.google.com/o/oauth2/v2/auth",jd="https://oauth2.googleapis.com/token",ty="https://oauth2.googleapis.com/revoke";let $h=class{constructor(e,n,i){Q(this,"client");this.client=new dl(e,n,i)}createAuthorizationURL(e,n,i){return this.client.createAuthorizationURLWithPKCE(ey,e,Ti.S256,n,i)}async validateAuthorizationCode(e,n){return await this.client.validateAuthorizationCode(jd,e,n)}async refreshAccessToken(e){return await this.client.refreshAccessToken(jd,e,[])}async revokeToken(e){await this.client.revokeToken(ty,e)}};class pl{constructor(e,n){Q(this,"value");Q(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 pl(Math.round(this.milliseconds()*e),"ms")}}async function Nd(t,e,n,i){const r={alg:t,typ:"JWT",...i==null?void 0:i.headers},s={...n};(i==null?void 0:i.audiences)!==void 0&&(s.aud=i.audiences),(i==null?void 0:i.subject)!==void 0&&(s.sub=i.subject),(i==null?void 0:i.issuer)!==void 0&&(s.iss=i.issuer),(i==null?void 0:i.jwtId)!==void 0&&(s.jti=i.jwtId),(i==null?void 0:i.expiresIn)!==void 0&&(s.exp=Math.floor(Date.now()/1e3)+i.expiresIn.seconds()),(i==null?void 0:i.notBefore)!==void 0&&(s.nbf=Math.floor(i.notBefore.getTime()/1e3)),s.iat=Math.floor(Date.now()/1e3);const o=new TextEncoder,c=ln.encode(o.encode(JSON.stringify(r)),{includePadding:!1}),l=ln.encode(o.encode(JSON.stringify(s)),{includePadding:!1}),u=o.encode([c,l].join(".")),p=await iy(t).sign(e,u),g=ln.encode(new Uint8Array(p),{includePadding:!1});return[c,l,g].join(".")}function ny(t){const e=t.split(".");return e.length!==3?null:e}function fl(t){const e=ny(t);if(!e)return null;const n=new TextDecoder,i=ln.decode(e[0],{strict:!1}),r=ln.decode(e[1],{strict:!1}),s=JSON.parse(n.decode(i));if(typeof s!="object"||s===null||!("alg"in s)||!ry(s.alg)||"typ"in s&&s.typ!=="JWT")return null;const o=JSON.parse(n.decode(r));if(typeof o!="object"||o===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 o){if(typeof o.exp!="number")return null;c.expiresAt=new Date(o.exp*1e3)}if("iss"in o){if(typeof o.iss!="string")return null;c.issuer=o.iss}if("sub"in o){if(typeof o.sub!="string")return null;c.subject=o.sub}if("aud"in o)if(Array.isArray(o.aud)){for(const l of o.aud)if(typeof l!="string")return null;c.audiences=o.aud}else{if(typeof o.aud!="string")return null;c.audiences=[o.aud]}if("nbf"in o){if(typeof o.nbf!="number")return null;c.notBefore=new Date(o.nbf*1e3)}if("iat"in o){if(typeof o.iat!="number")return null;c.issuedAt=new Date(o.iat*1e3)}if("jti"in o){if(typeof o.jti!="string")return null;c.jwtId=o.jti}return{value:t,header:{...s,typ:"JWT",alg:s.alg},payload:{...o},parts:e,...c}}function iy(t){return new o0(sy[t])}function ry(t){return typeof t!="string"?!1:["HS256","HS384","HS512","RS256","RS384","RS512","ES256","ES384","ES512","PS256","PS384","PS512"].includes(t)}const sy={RS256:"SHA-256",RS384:"SHA-384",RS512:"SHA-512"},po=a.z.object({iss:a.z.string().url(),sub:a.z.string(),aud:a.z.string(),exp:a.z.number(),email:a.z.string().optional(),given_name:a.z.string().optional(),family_name:a.z.string().optional(),name:a.z.string().optional(),iat:a.z.number(),auth_time:a.z.number().optional(),nonce:a.z.string().optional(),acr:a.z.string().optional(),amr:a.z.array(a.z.string()).optional(),azp:a.z.string().optional(),at_hash:a.z.string().optional(),c_hash:a.z.string().optional()}).passthrough();po.omit({iat:!0,auth_time:!0,nonce:!0,acr:!0,amr:!0,azp:!0,at_hash:!0,c_hash:!0});function oy(t){return t.ISSUER}function kt(t){return t.UNIVERSAL_LOGIN_URL||`${t.ISSUER}u/`}function Ce(t){return t.OAUTH_API_URL||t.ISSUER}function jh(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"),i=n.toString().replace(/-----BEGIN PRIVATE KEY-----|-----END PRIVATE KEY-----|\s/g,""),r=Uint8Array.from(Buffer.from(i,"base64"));return n.fill(0),{options:e,keyArray:r}}async function ay(t,e){var l,u;const{options:n,keyArray:i}=jh(e),r=new Ch(n.client_id,n.team_id,n.kid,i,`${Ce(t.env)}callback`),s=De(),o=await r.createAuthorizationURL(s,((l=n.scope)==null?void 0:l.split(" "))||["name","email"]);return(((u=n.scope)==null?void 0:u.split(" "))||["name","email"]).some(p=>["email","name"].includes(p))&&o.searchParams.set("response_mode","form_post"),{redirectUrl:o.href,code:s}}async function cy(t,e,n){const{options:i,keyArray:r}=jh(e),o=await new Ch(i.client_id,i.team_id,i.kid,r,`${Ce(t.env)}callback`).validateAuthorizationCode(n),c=fl(o.idToken());if(!c)throw new Error("Invalid ID token");const l=po.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 ly=Object.freeze(Object.defineProperty({__proto__:null,getRedirect:ay,validateAuthorizationCodeAndGetUser:cy},Symbol.toStringTag,{value:"Module"}));async function uy(t,e){var o;const{options:n}=e;if(!(n!=null&&n.client_id)||!n.client_secret)throw new Error("Missing required authentication parameters");const i=new zh(n.client_id,n.client_secret,`${Ce(t.env)}callback`),r=De();return{redirectUrl:i.createAuthorizationURL(r,((o=n.scope)==null?void 0:o.split(" "))||["email"]).href,code:r}}async function dy(t,e,n){const{options:i}=e;if(!(i!=null&&i.client_id)||!i.client_secret)throw new Error("Missing required authentication parameters");const s=await new zh(i.client_id,i.client_secret,`${Ce(t.env)}callback`).validateAuthorizationCode(n),o=await fetch("https://graph.facebook.com/v16.0/me?fields=id,email,name",{headers:{Authorization:`Bearer ${s.accessToken()}`}});if(!o.ok)throw new Error("Failed to fetch user info");const c=await o.json();return t.set("log",`Userinfo: ${JSON.stringify(c)}`),{sub:c.id,email:c.email,name:c.name}}const py=Object.freeze(Object.defineProperty({__proto__:null,getRedirect:uy,validateAuthorizationCodeAndGetUser:dy},Symbol.toStringTag,{value:"Module"}));async function fy(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 i=new $h(n.client_id,n.client_secret,`${Ce(t.env)}callback`),r=De(),s=F0();return{redirectUrl:i.createAuthorizationURL(r,s,((c=n.scope)==null?void 0:c.split(" "))??["email","profile"]).href,code:r,codeVerifier:s}}async function hy(t,e,n,i){const{options:r}=e;if(!(r!=null&&r.client_id)||!r.client_secret||!i)throw new Error("Missing required authentication parameters");const o=await new $h(r.client_id,r.client_secret,`${Ce(t.env)}callback`).validateAuthorizationCode(n,i);console.log("got here");const c=fl(o.idToken());if(!c)throw new Error("Invalid ID token");const l=po.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 gy=Object.freeze(Object.defineProperty({__proto__:null,getRedirect:fy,validateAuthorizationCodeAndGetUser:hy},Symbol.toStringTag,{value:"Module"}));async function _y(t,e){var o;const{options:n}=e;if(!(n!=null&&n.client_id)||!n.client_secret)throw new Error("Missing required authentication parameters");const i=new dl(n.client_id,n.client_secret,`${Ce(t.env)}callback`),r=De(),s=i.createAuthorizationURL("https://api.vipps.no/access-management-1.0/access/oauth2/auth",r,((o=n.scope)==null?void 0:o.split(" "))||["openid","email","phoneNumber","name","address","birthDate"]);return s.searchParams.set("response_type","code"),s.searchParams.set("response_mode","query"),{redirectUrl:s.href,code:r}}async function my(t,e,n){const{options:i}=e;if(!(i!=null&&i.client_id)||!i.client_secret)throw new Error("Missing required authentication parameters");const s=await new dl(i.client_id,i.client_secret,`${Ce(t.env)}callback`).validateAuthorizationCode("https://api.vipps.no/access-management-1.0/access/oauth2/token",n,null),o=fl(s.idToken());if(!o)throw new Error("Invalid ID token");const c=po.parse(o.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 j(400,{message:"Failed to get user from vipps"});return await l.json()}const yy=Object.freeze(Object.defineProperty({__proto__:null,getRedirect:_y,validateAuthorizationCodeAndGetUser:my},Symbol.toStringTag,{value:"Module"}));function Nh(t,e){const n=t.env.STRATEGIES||{},r={apple:ly,facebook:py,"google-oauth2":gy,vipps:yy,...n}[e];if(!r)throw new Error(`Strategy ${e} not found`);return r}async function fo(t,e){const n=await t.data.clients.get(e);if(!n)throw new j(403,{message:"Client not found"});const i=t.DEFAULT_CLIENT_ID?await t.data.clients.get(t.DEFAULT_CLIENT_ID):void 0,r=await t.data.connections.list(n.tenant.id),s=t.DEFAULT_TENANT_ID?await t.data.connections.list(t.DEFAULT_TENANT_ID):{connections:[]},o=r.connections.map(c=>{var p;const l=(p=s.connections)==null?void 0:p.find(g=>g.name===c.name);return l!=null&&l.options?Lt.parse({...l||{},...c,options:{...l.options||{},...c.options}}):c}).filter(c=>c);return{...n,web_origins:[...(i==null?void 0:i.web_origins)||[],...n.web_origins||[],`${kt(t)}login`],allowed_logout_urls:[...(i==null?void 0:i.allowed_logout_urls)||[],...n.allowed_logout_urls||[],t.ISSUER],callbacks:[...(i==null?void 0:i.callbacks)||[],...n.callbacks||[],`${kt(t)}info`],connections:o,domains:[...n.domains||[],...(i==null?void 0:i.domains)||[]],tenant:{...(i==null?void 0:i.tenant)||{},...n.tenant}}}function ho(t,e=[],n={}){try{const i=new URL(t);return e.some(r=>{try{return vy(i,new URL(r),n.allowPathWildcards)}catch{return!1}})}catch{return!1}}function vy(t,e,n){if(t.protocol!==e.protocol)return!1;if(n&&e.pathname.includes("*")){const i=e.pathname.replace(/\*/g,".*").replace(/\//g,"\\/");if(!new RegExp(`^${i}$`).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 i=e.hostname.split(".").slice(1).join(".");return t.hostname.endsWith(i)}return t.hostname===e.hostname}function wy(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,"")),i=>i.charCodeAt(0)).buffer}finally{t=t.replace(/./g,"\0")}}async function by(t,e){if(e==="plain")return t;const n=new TextEncoder().encode(t),i=await bh(n);return ln.encode(new Uint8Array(i),{includePadding:!1})}function Oh(t,e,n){const i=[];return i.push([encodeURIComponent(t),encodeURIComponent(e)]),(n==null?void 0:n.domain)!==void 0&&i.push(["Domain",n.domain]),(n==null?void 0:n.expires)!==void 0&&i.push(["Expires",n.expires.toUTCString()]),n!=null&&n.httpOnly&&i.push(["HttpOnly"]),(n==null?void 0:n.maxAge)!==void 0&&i.push(["Max-Age",n.maxAge.toString()]),(n==null?void 0:n.path)!==void 0&&i.push(["Path",n.path]),(n==null?void 0:n.sameSite)==="lax"&&i.push(["SameSite","Lax"]),(n==null?void 0:n.sameSite)==="none"&&i.push(["SameSite","None"]),(n==null?void 0:n.sameSite)==="strict"&&i.push(["SameSite","Strict"]),n!=null&&n.secure&&i.push(["Secure"]),i.map(r=>r.join("=")).join("; ")}function ky(t){const e=new Map,n=t.split("; ");for(const i of n){const r=i.split("="),s=r[0],o=r[1]??"";s&&e.set(decodeURIComponent(s),decodeURIComponent(o))}return e}function hl(t){return`${t}-${j0}`}function Bh(t,e){return e?(console.log("cookieHeaders",e),ky(e).get(hl(t))):void 0}function xy(t){const e={path:"/",httpOnly:!0,secure:!0,maxAge:0};return Oh(hl(t),"",{...e,sameSite:"none"})}function Th(t,e){const n={path:"/",httpOnly:!0,secure:!0,maxAge:uo};return Oh(hl(t),e,{...n,sameSite:"none"})}var gl={},go={};(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",i="["+e+"]["+n+"]*",r=new RegExp("^"+i+"$"),s=function(c,l){const u=[];let p=l.exec(c);for(;p;){const g=[];g.startIndex=l.lastIndex-p[0].length;const _=p.length;for(let k=0;k<_;k++)g.push(p[k]);u.push(g),p=l.exec(c)}return u},o=function(c){const l=r.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,u){if(l){const p=Object.keys(l),g=p.length;for(let _=0;_<g;_++)u==="strict"?c[p[_]]=[l[p[_]]]:c[p[_]]=l[p[_]]}},t.getValue=function(c){return t.isExist(c)?c:""},t.isName=o,t.getAllMatches=s,t.nameRegexp=i})(go);const _l=go,Sy={allowBooleanAttributes:!1,unpairedTags:[]};gl.validate=function(t,e){e=Object.assign({},Sy,e);const n=[];let i=!1,r=!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=Bd(t,s),s.err)return s}else if(t[s]==="<"){let o=s;if(s++,t[s]==="!"){s=Td(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]!==`
|
|
126
|
-
`&&t[s]!=="\r";s++)l+=t[s];if(l=l.trim(),l[l.length-1]==="/"&&(l=l.substring(0,l.length-1),s--),!
|
|
127
|
-
`||t==="\r"}function
|
|
128
|
-
`);const e=new
|
|
129
|
-
`;function
|
|
117
|
+
*/const di="crypto.algorithm";class R0{getAlgorithms(){return Be.resolveAll(di)}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 An="crypto.algorithmProvider";Be.registerSingleton(An,R0);var zi;const Ke="1.3.36.3.3.2.8.1.1",wd=`${Ke}.1`,bd=`${Ke}.2`,kd=`${Ke}.3`,xd=`${Ke}.4`,Sd=`${Ke}.5`,Ad=`${Ke}.6`,Ed=`${Ke}.7`,Id=`${Ke}.8`,Cd=`${Ke}.9`,Nd=`${Ke}.10`,$d=`${Ke}.11`,zd=`${Ke}.12`,jd=`${Ke}.13`,Od=`${Ke}.14`,Bd="brainpoolP160r1",Td="brainpoolP160t1",Pd="brainpoolP192r1",Rd="brainpoolP192t1",Ld="brainpoolP224r1",Ud="brainpoolP224t1",Vd="brainpoolP256r1",Md="brainpoolP256t1",qd="brainpoolP320r1",Dd="brainpoolP320t1",Fd="brainpoolP384r1",Hd="brainpoolP384t1",Kd="brainpoolP512r1",Wd="brainpoolP512t1",ye="ECDSA";let Lr=zi=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 a0;case"sha-256":return c0;case"sha-384":return l0;case"sha-512":return u0}else if("namedCurve"in e){let n="";switch(e.namedCurve){case"P-256":n=Yu;break;case"K-256":n=zi.SECP256K1;break;case"P-384":n=Xu;break;case"P-521":n=Qu;break;case Bd:n=wd;break;case Td:n=bd;break;case Pd:n=kd;break;case Rd:n=xd;break;case Ld:n=Sd;break;case Ud:n=Ad;break;case Vd:n=Ed;break;case Md:n=Id;break;case qd:n=Cd;break;case Dd:n=Nd;break;case Fd:n=$d;break;case Hd:n=zd;break;case Kd:n=jd;break;case Wd:n=Od;break}if(n)return new F({algorithm:Tr,parameters:V.serialize(new Zt({namedCurve:n}))})}}return null}toWebAlgorithm(e){switch(e.algorithm){case Al:return{name:ye,hash:{name:"SHA-1"}};case El:return{name:ye,hash:{name:"SHA-256"}};case Il:return{name:ye,hash:{name:"SHA-384"}};case Cl:return{name:ye,hash:{name:"SHA-512"}};case Tr:{if(!e.parameters)throw new TypeError("Cannot get required parameters from EC algorithm");switch(V.parse(e.parameters,Zt).namedCurve){case Yu:return{name:ye,namedCurve:"P-256"};case zi.SECP256K1:return{name:ye,namedCurve:"K-256"};case Xu:return{name:ye,namedCurve:"P-384"};case Qu:return{name:ye,namedCurve:"P-521"};case wd:return{name:ye,namedCurve:Bd};case bd:return{name:ye,namedCurve:Td};case kd:return{name:ye,namedCurve:Pd};case xd:return{name:ye,namedCurve:Rd};case Sd:return{name:ye,namedCurve:Ld};case Ad:return{name:ye,namedCurve:Ud};case Ed:return{name:ye,namedCurve:Vd};case Id:return{name:ye,namedCurve:Md};case Cd:return{name:ye,namedCurve:qd};case Nd:return{name:ye,namedCurve:Dd};case $d:return{name:ye,namedCurve:Fd};case zd:return{name:ye,namedCurve:Hd};case jd:return{name:ye,namedCurve:Kd};case Od:return{name:ye,namedCurve:Wd}}}}return null}};Lr.SECP256K1="1.3.132.0.10";Lr=zi=d([Eo()],Lr);Be.registerSingleton(di,Lr);const Gh=Symbol("name"),Jh=Symbol("value");class ue{constructor(e,n={},r=""){this[Gh]=e,this[Jh]=r;for(const i in n)this[i]=n[i]}}ue.NAME=Gh;ue.VALUE=Jh;class L0{static toTextObject(e){const n=new ue("Algorithm Identifier",{},Qt.toString(e.algorithm));if(e.parameters)switch(e.algorithm){case Tr:{const r=new Lr().toWebAlgorithm(e);r&&"namedCurve"in r?n["Named Curve"]=r.namedCurve:n.Parameters=e.parameters;break}default:n.Parameters=e.parameters}return n}}class Qt{static toString(e){const n=this.items[e];return n||e}}Qt.items={[bs]:"sha1",[Th]:"sha224",[ks]:"sha256",[xs]:"sha384",[Ss]:"sha512",[kn]:"rsaEncryption",[ys]:"sha1WithRSAEncryption",[m0]:"sha224WithRSAEncryption",[oc]:"sha256WithRSAEncryption",[vs]:"sha384WithRSAEncryption",[ws]:"sha512WithRSAEncryption",[Tr]:"ecPublicKey",[Al]:"ecdsaWithSHA1",[jh]:"ecdsaWithSHA224",[El]:"ecdsaWithSHA256",[Il]:"ecdsaWithSHA384",[Cl]:"ecdsaWithSHA512",[e0]:"TLS WWW server authentication",[t0]:"TLS WWW client authentication",[n0]:"Code Signing",[r0]:"E-mail Protection",[i0]:"Time Stamping",[s0]:"OCSP Signing",[o0]:"Signed Data"};class En{static serialize(e){return this.serializeObj(e).join(`
|
|
118
|
+
`)}static pad(e=0){return"".padStart(2*e," ")}static serializeObj(e,n=0){const r=[];let i=this.pad(n++),s="";const o=e[ue.VALUE];o&&(s=` ${o}`),r.push(`${i}${e[ue.NAME]}:${s}`),i=this.pad(n);for(const c in e){if(typeof c=="symbol")continue;const l=e[c],u=c?`${c}: `:"";if(typeof l=="string"||typeof l=="number"||typeof l=="boolean")r.push(`${i}${u}${l}`);else if(l instanceof Date)r.push(`${i}${u}${l.toUTCString()}`);else if(Array.isArray(l))for(const p of l)p[ue.NAME]=c,r.push(...this.serializeObj(p,n));else if(l instanceof ue)l[ue.NAME]=c,r.push(...this.serializeObj(l,n));else if(M.isBufferSource(l))c?(r.push(`${i}${u}`),r.push(...this.serializeBufferSource(l,n+1))):r.push(...this.serializeBufferSource(l,n));else if("toTextObject"in l){const p=l.toTextObject();p[ue.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 o=0;o<i.length;){const c=[];for(let l=0;l<16&&o<i.length;l++){l===8&&c.push("");const u=i[o++].toString(16).padStart(2,"0");c.push(u)}s.push(`${r}${c.join(" ")}`)}return s}static serializeAlgorithm(e){return this.algorithmSerializer.toTextObject(e)}}En.oidSerializer=Qt;En.algorithmSerializer=L0;class en{constructor(...e){if(e.length===1){const n=e[0];this.rawData=V.serialize(n),this.onInit(n)}else{const n=V.parse(e[0],e[1]);this.rawData=M.toArrayBuffer(e[0]),this.onInit(n)}}equal(e){return e instanceof en?hf(e.rawData,this.rawData):!1}toString(e="text"){switch(e){case"asn":return V.toString(this.rawData);case"text":return En.serialize(this.toTextObject());case"hex":return G.ToHex(this.rawData);case"base64":return G.ToBase64(this.rawData);case"base64url":return G.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 ue(this.getTextName(),{},e)}}en.NAME="ASN";class it extends en{constructor(...e){let n;M.isBufferSource(e[0])?n=M.toArrayBuffer(e[0]):n=V.serialize(new nt({extnID:e[0],critical:e[1],extnValue:new ae(M.toArrayBuffer(e[2]))})),super(n,nt)}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[ue.NAME]===it.NAME&&(e[ue.NAME]=Qt.toString(this.type)),e}}var Zh;class qt{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[Zh]="CryptoProvider",typeof self<"u"&&typeof crypto<"u"?this.set(qt.DEFAULT,crypto):typeof global<"u"&&global.crypto&&global.crypto.subtle&&this.set(qt.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=qt.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(qt.DEFAULT,e);return this}}Zh=Symbol.toStringTag;qt.DEFAULT="default";const $e=new qt,U0=/^[0-2](?:\.[1-9][0-9]*)+$/;function V0(t){return new RegExp(U0).test(t)}class Yh{constructor(e={}){this.items={};for(const n in e)this.register(n,e[n])}get(e){return this.items[e]||null}findId(e){return V0(e)?e:this.get(e)}register(e,n){this.items[e]=n,this.items[n]=e}}const Fe=new Yh;Fe.register("CN","2.5.4.3");Fe.register("L","2.5.4.7");Fe.register("ST","2.5.4.8");Fe.register("O","2.5.4.10");Fe.register("OU","2.5.4.11");Fe.register("C","2.5.4.6");Fe.register("DC","0.9.2342.19200300.100.1.25");Fe.register("E","1.2.840.113549.1.9.1");Fe.register("G","2.5.4.42");Fe.register("I","2.5.4.43");Fe.register("SN","2.5.4.4");Fe.register("T","2.5.4.12");function M0(t,e){return`\\${G.ToHex(G.FromUtf8String(e)).toUpperCase()}`}function q0(t){return t.replace(/([,+"\\<>;])/g,"\\$1").replace(/^([ #])/,"\\$1").replace(/([ ]$)/,"\\$1").replace(/([\r\n\t])/,M0)}class et{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 Yh,this.asn=new ke;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 ke?this.asn=e:M.isBufferSource(e)?this.asn=V.parse(e,ke):this.asn=this.fromJSON(e)}getField(e){const n=this.extraNames.findId(e)||Fe.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)||Fe.get(e)}toString(){return this.asn.map(e=>e.map(n=>{const r=this.getName(n.type)||n.type,i=n.value.anyValue?`#${G.ToHex(n.value.anyValue)}`:q0(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 o=this.getName(s.type)||s.type;(e=i[o])!==null&&e!==void 0||(i[o]=[]),i[o].push(s.value.anyValue?`#${G.ToHex(s.value.anyValue)}`:s.value.toString())}n.push(i)}return n}fromString(e){const n=new ke,r=/(\d\.[\d.]*\d|[A-Za-z]+)=((?:"")|(?:".*?[^\\]")|(?:[^,+].*?(?:[^\\][,+]))|(?:))([,+])?/g;let i=null,s=",";for(;i=r.exec(`${e},`);){let[,o,c]=i;const l=c[c.length-1];(l===","||l==="+")&&(c=c.slice(0,c.length-1),i[3]=l);const u=i[3];o=this.getTypeOid(o);const p=this.createAttribute(o,c);s==="+"?n[n.length-1].push(p):n.push(new Dn([p])),s=u}return n}fromJSON(e){const n=new ke;for(const r of e){const i=new Dn;for(const s in r){const o=this.getTypeOid(s),c=r[s];for(const l of c){const u=this.createAttribute(o,l);i.push(u)}}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=G.FromHex(n.slice(1));else{const i=this.processStringValue(n);e===this.getName("E")||e===this.getName("DC")?r.value.ia5String=i:et.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,`
|
|
119
|
+
`).replace(/\\0d/ig,"\r").replace(/\\0g/ig," ").replace(/\\(.)/g,"$1")}toArrayBuffer(){return V.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 Xh="Cannot initialize GeneralName from ASN.1 data.",Gd=`${Xh} Unsupported string format in use.`,D0=`${Xh} Value doesn't match to GUID regular expression.`,Jd=/^([0-9a-f]{8})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{12})$/i,Zd="1.3.6.1.4.1.311.25.1",Yd="1.3.6.1.4.1.311.20.2.3",Ko="dns",Wo="dn",Go="email",Jo="ip",Zo="url",Yo="guid",Xo="upn",bi="id";class Dt extends en{constructor(...e){let n;if(e.length===2)switch(e[0]){case Wo:{const r=new et(e[1]).toArrayBuffer(),i=V.parse(r,ke);n=new re({directoryName:i});break}case Ko:n=new re({dNSName:e[1]});break;case Go:n=new re({rfc822Name:e[1]});break;case Yo:{const r=new RegExp(Jd,"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,o)=>o<3?G.ToHex(new Uint8Array(G.FromHex(s)).reverse()):s).join("");n=new re({otherName:new zr({typeId:Zd,value:V.serialize(new ae(G.FromHex(i)))})});break}case Jo:n=new re({iPAddress:e[1]});break;case bi:n=new re({registeredID:e[1]});break;case Xo:{n=new re({otherName:new zr({typeId:Yd,value:V.serialize(hh.toASN(e[1]))})});break}case Zo:n=new re({uniformResourceIdentifier:e[1]});break;default:throw new Error("Cannot create GeneralName. Unsupported type of the name")}else M.isBufferSource(e[0])?n=V.parse(e[0],re):n=e[0];super(n)}onInit(e){if(e.dNSName!=null)this.type=Ko,this.value=e.dNSName;else if(e.rfc822Name!=null)this.type=Go,this.value=e.rfc822Name;else if(e.iPAddress!=null)this.type=Jo,this.value=e.iPAddress;else if(e.uniformResourceIdentifier!=null)this.type=Zo,this.value=e.uniformResourceIdentifier;else if(e.registeredID!=null)this.type=bi,this.value=e.registeredID;else if(e.directoryName!=null)this.type=Wo,this.value=new et(e.directoryName).toString();else if(e.otherName!=null)if(e.otherName.typeId===Zd){this.type=Yo;const n=V.parse(e.otherName.value,ae),r=new RegExp(Jd,"i").exec(G.ToHex(n));if(!r)throw new Error(D0);this.value=r.slice(1).map((i,s)=>s<3?G.ToHex(new Uint8Array(G.FromHex(i)).reverse()):i).join("-")}else if(e.otherName.typeId===Yd)this.type=Xo,this.value=V.parse(e.otherName.value,Oe).toString();else throw new Error(Gd);else throw new Error(Gd)}toJSON(){return{type:this.type,value:this.value}}toTextObject(){let e;switch(this.type){case Wo:case Ko:case Yo:case Jo:case bi:case Xo:case Zo:e=this.type.toUpperCase();break;case Go:e="Email";break;default:throw new Error("Unsupported GeneralName type")}let n=this.value;return this.type===bi&&(n=Qt.toString(n)),new ue(e,void 0,n)}}class Ur extends en{constructor(e){let n;if(e instanceof Re)n=e;else if(Array.isArray(e)){const r=[];for(const i of e)if(i instanceof re)r.push(i);else{const s=V.parse(new Dt(i.type,i.value).rawData,re);r.push(s)}n=new Re(r)}else if(M.isBufferSource(e))n=V.parse(e,Re);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 Dt(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[ue.NAME]];Array.isArray(i)||(i=[],e[r[ue.NAME]]=i),i.push(r)}return e}}Ur.NAME="GeneralNames";const Er="-{5}",Vr="\\n",F0=`[^${Vr}]+`,H0=`${Er}BEGIN (${F0}(?=${Er}))${Er}`,K0=`${Er}END \\1${Er}`,Yn="\\n",W0=`[^:${Vr}]+`,G0=`(?:[^${Vr}]+${Yn}(?: +[^${Vr}]+${Yn})*)`,J0="[a-zA-Z0-9=+/]+",Z0=`(?:${J0}${Yn})+`,Xd=`${H0}${Yn}(?:((?:${W0}: ${G0})+))?${Yn}?(${Z0})${K0}`;class Je{static isPem(e){return typeof e=="string"&&new RegExp(Xd,"g").test(e)}static decodeWithHeaders(e){e=e.replace(/\r/g,"");const n=new RegExp(Xd,"g"),r=[];let i=null;for(;i=n.exec(e);){const s=i[3].replace(new RegExp(`[${Vr}]+`,"g"),""),o={type:i[1],headers:[],rawData:G.FromBase64(s)},c=i[2];if(c){const l=c.split(new RegExp(Yn,"g"));let u=null;for(const p of l){const[h,m]=p.split(/:(.*)/);if(m===void 0){if(!u)throw new Error("Cannot parse PEM string. Incorrect header value");u.value+=h.trim()}else u&&o.headers.push(u),u={key:h,value:m.trim()}}u&&o.headers.push(u)}r.push(o)}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(`
|
|
120
|
+
`)}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 u of e.headers)i.push(`${u.key}: ${u.value}`);i.push("")}const s=G.ToBase64(e.rawData);let o,c=0;const l=Array();for(;c<s.length&&(s.length-c<64?o=s.substring(c):(o=s.substring(c,c+64),c+=64),o.length!==0);)if(l.push(o),o.length<64)break;return i.push(...l),i.push(`-----END ${r}-----`),i.join(`
|
|
121
|
+
`)}}Je.CertificateTag="CERTIFICATE";Je.CrlTag="CRL";Je.CertificateRequestTag="CERTIFICATE REQUEST";Je.PublicKeyTag="PUBLIC KEY";Je.PrivateKeyTag="PRIVATE KEY";class Rt extends en{static isAsnEncoded(e){return M.isBufferSource(e)||typeof e=="string"}static toArrayBuffer(e){if(typeof e=="string"){if(Je.isPem(e))return Je.decode(e)[0];if(G.isHex(e))return G.FromHex(e);if(G.isBase64(e))return G.FromBase64(e);if(G.isBase64Url(e))return G.FromBase64Url(e);throw new TypeError("Unsupported format of 'raw' argument. Must be one of DER, PEM, HEX, Base64, or Base4Url")}else{const n=G.ToBinary(e);return Je.isPem(n)?Je.decode(n)[0]:G.isHex(n)?G.FromHex(n):G.isBase64(n)?G.FromBase64(n):G.isBase64Url(n)?G.FromBase64Url(n):M.toArrayBuffer(e)}}constructor(...e){Rt.isAsnEncoded(e[0])?super(Rt.toArrayBuffer(e[0]),e[1]):super(e[0])}toString(e="pem"){switch(e){case"pem":return Je.encode(this.rawData,this.tag);default:return super.toString(e)}}}class dt extends Rt{static async create(e,n=$e.get()){if(e instanceof dt)return e;if(qt.isCryptoKey(e)){if(e.type!=="public")throw new TypeError("Public key is required");const r=await n.subtle.exportKey("spki",e);return new dt(r)}else{if(e.publicKey)return e.publicKey;if(M.isBufferSource(e))return new dt(e);throw new TypeError("Unsupported PublicKeyType")}}constructor(e){Rt.isAsnEncoded(e)?super(e,ut):super(e),this.tag=Je.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 o=V.parse(this.rawData,ut);return o.algorithm.algorithm===Ar&&(s=Y0(o,s)),n.subtle.importKey("spki",s,i,!0,r)}onInit(e){const n=Be.resolve(An),r=this.algorithm=n.toWebAlgorithm(e.algorithm);switch(e.algorithm.algorithm){case kn:{const i=V.parse(e.subjectPublicKey,Nl),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=V.parse(this.rawData,ut);return await n.subtle.digest(r,i.subjectPublicKey)}toTextObject(){const e=this.toTextObjectEmpty(),n=V.parse(this.rawData,ut);switch(e.Algorithm=En.serializeAlgorithm(n.algorithm),n.algorithm.algorithm){case Tr:e["EC Point"]=n.subjectPublicKey;break;case kn:default:e["Raw Data"]=n.subjectPublicKey}return e}}function Y0(t,e){return t.algorithm=new F({algorithm:kn,parameters:null}),e=V.serialize(t),e}class Mr extends it{static async create(e,n=!1,r=$e.get()){if("name"in e&&"serialNumber"in e)return new Mr(e,n);const s=await(await dt.create(e,r)).getKeyIdentifier(r);return new Mr(G.ToHex(s),n)}constructor(...e){if(M.isBufferSource(e[0]))super(e[0]);else if(typeof e[0]=="string"){const n=new cn({keyIdentifier:new ul(G.FromHex(e[0]))});super(Sa,e[1],V.serialize(n))}else{const n=e[0],r=n.name instanceof Ur?V.parse(n.name.rawData,Re):n.name,i=new cn({authorityCertIssuer:r,authorityCertSerialNumber:G.FromHex(n.serialNumber)});super(Sa,e[1],V.serialize(i))}}onInit(e){super.onInit(e);const n=V.parse(e.extnValue,cn);n.keyIdentifier&&(this.keyId=G.ToHex(n.keyIdentifier)),(n.authorityCertIssuer||n.authorityCertSerialNumber)&&(this.certId={name:n.authorityCertIssuer||[],serialNumber:n.authorityCertSerialNumber?G.ToHex(n.authorityCertSerialNumber):""})}toTextObject(){const e=this.toTextObjectWithoutValue(),n=V.parse(this.value,cn);return n.authorityCertIssuer&&(e["Authority Issuer"]=new Ur(n.authorityCertIssuer).toTextObject()),n.authorityCertSerialNumber&&(e["Authority Serial Number"]=n.authorityCertSerialNumber),n.keyIdentifier&&(e[""]=n.keyIdentifier),e}}Mr.NAME="Authority Key Identifier";class Ol extends it{constructor(...e){if(M.isBufferSource(e[0])){super(e[0]);const n=V.parse(this.value,es);this.ca=n.cA,this.pathLength=n.pathLenConstraint}else{const n=new es({cA:e[0],pathLenConstraint:e[1]});super(_h,e[2],V.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}}Ol.NAME="Basic Constraints";var Qd;(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"})(Qd||(Qd={}));class Bl extends it{constructor(...e){if(M.isBufferSource(e[0])){super(e[0]);const n=V.parse(this.value,is);this.usages=n.map(r=>r)}else{const n=new is(e[0]);super(wh,e[1],V.serialize(n)),this.usages=e[0]}}toTextObject(){const e=this.toTextObjectWithoutValue();return e[""]=this.usages.map(n=>Qt.toString(n)).join(", "),e}}Bl.NAME="Extended Key Usages";var $s;(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"})($s||($s={}));class Tl extends it{constructor(...e){if(M.isBufferSource(e[0])){super(e[0]);const n=V.parse(this.value,Ho);this.usages=n.toNumber()}else{const n=new Ho(e[0]);super(bh,e[1],V.serialize(n)),this.usages=e[0]}}toTextObject(){const e=this.toTextObjectWithoutValue(),n=V.parse(this.value,Ho);return e[""]=n.toJSON().join(", "),e}}Tl.NAME="Key Usages";class pi extends it{static async create(e,n=!1,r=$e.get()){const s=await(await dt.create(e,r)).getKeyIdentifier(r);return new pi(G.ToHex(s),n)}constructor(...e){if(M.isBufferSource(e[0])){super(e[0]);const n=V.parse(this.value,Ht);this.keyId=G.ToHex(n)}else{const n=typeof e[0]=="string"?G.FromHex(e[0]):e[0],r=new Ht(n);super(Ah,e[1],V.serialize(r)),this.keyId=G.ToHex(n)}}toTextObject(){const e=this.toTextObjectWithoutValue(),n=V.parse(this.value,Ht);return e[""]=n,e}}pi.NAME="Subject Key Identifier";class Qh extends it{constructor(...e){M.isBufferSource(e[0])?super(e[0]):super(Sh,e[1],new Ur(e[0]||[]).rawData)}onInit(e){super.onInit(e);const n=V.parse(e.extnValue,Ua);this.names=new Ur(n)}toTextObject(){const e=this.toTextObjectWithoutValue(),n=this.names.toTextObject();for(const r in n)e[r]=n[r];return e}}Qh.NAME="Subject Alternative Name";class st{static register(e,n){this.items.set(e,n)}static create(e){const n=new it(e),r=this.items.get(n.type);return r?new r(e):n}}st.items=new Map;class eg extends it{constructor(...e){var n;if(M.isBufferSource(e[0])){super(e[0]);const r=V.parse(this.value,ns);this.policies=r.map(i=>i.policyIdentifier)}else{const r=e[0],i=(n=e[1])!==null&&n!==void 0?n:!1,s=new ns(r.map(o=>new ao({policyIdentifier:o})));super(yh,i,V.serialize(s)),this.policies=r}}toTextObject(){const e=this.toTextObjectWithoutValue();return e.Policy=this.policies.map(n=>new ue("",{},Qt.toString(n))),e}}eg.NAME="Certificate Policies";st.register(yh,eg);class tg extends it{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(o=>new ir({distributionPoint:new yn({fullName:[new re({uniformResourceIdentifier:o})]})})),s=new Un(i);super(Na,e[1],V.serialize(s))}else{const r=new Un(e[0]);super(Na,e[1],V.serialize(r))}(n=this.distributionPoints)!==null&&n!==void 0||(this.distributionPoints=[])}onInit(e){super.onInit(e);const n=V.parse(e.extnValue,Un);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 Dt(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 ng extends it{constructor(...e){var n,r,i,s;if(M.isBufferSource(e[0]))super(e[0]);else if(e[0]instanceof Pn){const o=new Pn(e[0]);super(xa,e[1],V.serialize(o))}else{const o=e[0],c=new Pn;xi(c,o,Pu,"ocsp"),xi(c,o,Ru,"caIssuers"),xi(c,o,Lu,"timeStamping"),xi(c,o,Uu,"caRepository"),super(xa,e[1],V.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=[],V.parse(e.extnValue,Pn).forEach(r=>{switch(r.accessMethod){case Pu:this.ocsp.push(new Dt(r.accessLocation));break;case Ru:this.caIssuers.push(new Dt(r.accessLocation));break;case Lu:this.timeStamping.push(new Dt(r.accessLocation));break;case Uu:this.caRepository.push(new Dt(r.accessLocation));break}})}toTextObject(){const e=this.toTextObjectWithoutValue();return this.ocsp.length&&ki(e,"OCSP",this.ocsp),this.caIssuers.length&&ki(e,"CA Issuers",this.caIssuers),this.timeStamping.length&&ki(e,"Time Stamping",this.timeStamping),this.caRepository.length&&ki(e,"CA Repository",this.caRepository),e}}ng.NAME="Authority Info Access";function ki(t,e,n){if(n.length===1)t[e]=n[0].toTextObject();else{const r=new ue("");n.forEach((i,s)=>{const o=i.toTextObject(),c=`${o[ue.NAME]} ${s+1}`;let l=r[c];Array.isArray(l)||(l=[],r[c]=l),l.push(o)}),t[e]=r}}function xi(t,e,n,r){const i=e[r];i&&(Array.isArray(i)?i:[i]).forEach(o=>{typeof o=="string"&&(o=new Dt("url",o)),t.push(new Qr({accessMethod:n,accessLocation:V.parse(o.rawData,re)}))})}class dr extends en{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=V.serialize(new Bt({type:r,values:i}))}super(n,Bt)}onInit(e){this.type=e.type,this.values=e.values}toTextObject(){const e=this.toTextObjectWithoutValue();return e.Value=this.values.map(n=>new ue("",{"":n})),e}toTextObjectWithoutValue(){const e=this.toTextObjectEmpty();return e[ue.NAME]===dr.NAME&&(e[ue.NAME]=Qt.toString(this.type)),e}}dr.NAME="Attribute";class rg extends dr{constructor(...e){var n;if(M.isBufferSource(e[0]))super(e[0]);else{const r=new Cs({printableString:e[0]});super(Wh,[V.serialize(r)])}(n=this.password)!==null&&n!==void 0||(this.password="")}onInit(e){if(super.onInit(e),this.values[0]){const n=V.parse(this.values[0],Cs);this.password=n.toString()}}toTextObject(){const e=this.toTextObjectWithoutValue();return e[ue.VALUE]=this.password,e}}rg.NAME="Challenge Password";class Pl extends dr{constructor(...e){var n;if(M.isBufferSource(e[0]))super(e[0]);else{const r=e[0],i=new Gt;for(const s of r)i.push(V.parse(s.rawData,nt));super(jl,[V.serialize(i)])}(n=this.items)!==null&&n!==void 0||(this.items=[])}onInit(e){if(super.onInit(e),this.values[0]){const n=V.parse(this.values[0],Gt);this.items=n.map(r=>st.create(V.serialize(r)))}}toTextObject(){const e=this.toTextObjectWithoutValue(),n=this.items.map(r=>r.toTextObject());for(const r of n)e[r[ue.NAME]]=r;return e}}Pl.NAME="Extensions";class zo{static register(e,n){this.items.set(e,n)}static create(e){const n=new dr(e),r=this.items.get(n.type);return r?new r(e):n}}zo.items=new Map;const fi="crypto.signatureFormatter";class X0{toAsnSignature(e,n){return M.toArrayBuffer(n)}toWebSignature(e,n){return M.toArrayBuffer(n)}}var ji;let Nc=ji=class{static createPssParams(e,n){const r=ji.getHashAlgorithm(e);return r?new Sn({hashAlgorithm:r,maskGenAlgorithm:new F({algorithm:ko,parameters:V.serialize(r)}),saltLength:n}):null}static getHashAlgorithm(e){const n=Be.resolve(An);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:ys,parameters:null});case"sha-256":return new F({algorithm:oc,parameters:null});case"sha-384":return new F({algorithm:vs,parameters:null});case"sha-512":return new F({algorithm:ws,parameters:null})}}else return new F({algorithm:kn,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=ji.createPssParams(e.hash,e.saltLength);if(!n)throw new Error("Cannot create PSS parameters");return new F({algorithm:Ar,parameters:V.serialize(n)})}else return new F({algorithm:Ar,parameters:null})}return null}toWebAlgorithm(e){switch(e.algorithm){case kn:return{name:"RSASSA-PKCS1-v1_5"};case ys:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-1"}};case oc:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case vs:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-384"}};case ws:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-512"}};case Ar:if(e.parameters){const n=V.parse(e.parameters,Sn);return{name:"RSA-PSS",hash:Be.resolve(An).toWebAlgorithm(n.hashAlgorithm),saltLength:n.saltLength}}else return{name:"RSA-PSS"}}return null}};Nc=ji=d([Eo()],Nc);Be.registerSingleton(di,Nc);let $c=class{toAsnAlgorithm(e){switch(e.name.toLowerCase()){case"sha-1":return new F({algorithm:bs});case"sha-256":return new F({algorithm:ks});case"sha-384":return new F({algorithm:xs});case"sha-512":return new F({algorithm:Ss})}return null}toWebAlgorithm(e){switch(e.algorithm){case bs:return{name:"SHA-1"};case ks:return{name:"SHA-256"};case xs:return{name:"SHA-384"};case Ss:return{name:"SHA-512"}}return null}};$c=d([Eo()],$c);Be.registerSingleton(di,$c);class tt{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=tt.namedCurveSize.get(r)||tt.defaultNamedCurveSize,s=new _s,o=M.toUint8Array(n);return s.r=this.removePadding(o.slice(0,i),!0),s.s=this.removePadding(o.slice(i,i+i),!0),V.serialize(s)}return null}toWebSignature(e,n){if(e.name==="ECDSA"){const r=V.parse(n,_s),i=e.namedCurve,s=tt.namedCurveSize.get(i)||tt.defaultNamedCurveSize,o=this.addPadding(s,this.removePadding(r.r)),c=this.addPadding(s,this.removePadding(r.s));return d_(o,c)}return null}}tt.namedCurveSize=new Map;tt.defaultNamedCurveSize=32;const Qo="1.3.101.110",ep="1.3.101.111",ea="1.3.101.112",tp="1.3.101.113";let zc=class{toAsnAlgorithm(e){let n=null;switch(e.name.toLowerCase()){case"ed25519":n=ea;break;case"x25519":n=Qo;break;case"eddsa":switch(e.namedCurve.toLowerCase()){case"ed25519":n=ea;break;case"ed448":n=tp;break}break;case"ecdh-es":switch(e.namedCurve.toLowerCase()){case"x25519":n=Qo;break;case"x448":n=ep;break}}return n?new F({algorithm:n}):null}toWebAlgorithm(e){switch(e.algorithm){case ea:return{name:"Ed25519"};case tp:return{name:"EdDSA",namedCurve:"Ed448"};case Qo:return{name:"X25519"};case ep:return{name:"ECDH-ES",namedCurve:"X448"}}return null}};zc=d([Eo()],zc);Be.registerSingleton(di,zc);class Q0 extends Rt{constructor(e){Rt.isAsnEncoded(e)?super(e,Rr):super(e),this.tag=Je.CertificateRequestTag}onInit(e){this.tbs=V.serialize(e.certificationRequestInfo),this.publicKey=new dt(e.certificationRequestInfo.subjectPKInfo);const n=Be.resolve(An);this.signatureAlgorithm=n.toWebAlgorithm(e.signatureAlgorithm),this.signature=e.signature,this.attributes=e.certificationRequestInfo.attributes.map(i=>zo.create(V.serialize(i)));const r=this.getAttribute(jl);this.extensions=[],r instanceof Pl&&(this.extensions=r.items),this.subjectName=new et(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(fi).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=V.parse(this.rawData,Rr),r=n.certificationRequestInfo,i=new ue("",{Version:`${vn[r.version]} (${r.version})`,Subject:this.subject,"Subject Public Key Info":this.publicKey});if(this.attributes.length){const s=new ue("");for(const o of this.attributes){const c=o.toTextObject();s[c[ue.NAME]]=c}i.Attributes=s}return e.Data=i,e.Signature=new ue("",{Algorithm:En.serializeAlgorithm(n.signatureAlgorithm),"":n.signature}),e}}Q0.NAME="PKCS#10 Certificate Request";class Rl extends Rt{constructor(e){Rt.isAsnEncoded(e)?super(e,wn):super(e),this.tag=Je.CertificateTag}onInit(e){const n=e.tbsCertificate;this.tbs=V.serialize(n),this.serialNumber=G.ToHex(n.serialNumber),this.subjectName=new et(n.subject),this.subject=new et(n.subject).toString(),this.issuerName=new et(n.issuer),this.issuer=this.issuerName.toString();const r=Be.resolve(An);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(o=>st.create(V.serialize(o)))),this.publicKey=new dt(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 dt)r={...s.algorithm,...this.signatureAlgorithm},i=await s.export(r,["verify"],n);else if(M.isBufferSource(s)){const u=new dt(s);r={...u.algorithm,...this.signatureAlgorithm},i=await u.export(r,["verify"],n)}else r={...s.algorithm,...this.signatureAlgorithm},i=s}catch{return!1}const o=Be.resolveAll(fi).reverse();let c=null;for(const u of o)if(c=u.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=V.parse(this.rawData,wn),r=n.tbsCertificate,i=new ue("",{Version:`${vn[r.version]} (${r.version})`,"Serial Number":r.serialNumber,"Signature Algorithm":En.serializeAlgorithm(r.signature),Issuer:this.issuer,Validity:new ue("",{"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 ue("");for(const o of this.extensions){const c=o.toTextObject();s[c[ue.NAME]]=c}i.Extensions=s}return e.Data=i,e.Signature=new ue("",{Algorithm:En.serializeAlgorithm(n.signatureAlgorithm),"":n.signatureValue}),e}}Rl.NAME="Certificate";class ey{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 dt?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(G.FromHex(e.serialNumber)):n.getRandomValues(new Uint8Array(16));s[0]>127&&(s[0]&=127),s.length>1&&s[0]===0&&(s[1]|=128);const o=e.notBefore||new Date,c=e.notAfter||new Date(o.getTime()+31536e6),l=new wn({tbsCertificate:new Ye({version:vn.v3,serialNumber:s,validity:new ei({notBefore:o,notAfter:c}),extensions:new Gt(((r=e.extensions)===null||r===void 0?void 0:r.map(v=>V.parse(v.rawData,nt)))||[]),subjectPublicKeyInfo:V.parse(i,ut)})});if(e.subject){const v=e.subject instanceof et?e.subject:new et(e.subject);l.tbsCertificate.subject=V.parse(v.toArrayBuffer(),ke)}if(e.issuer){const v=e.issuer instanceof et?e.issuer:new et(e.issuer);l.tbsCertificate.issuer=V.parse(v.toArrayBuffer(),ke)}const u={hash:"SHA-256"},p="signingKey"in e?{...u,...e.signingAlgorithm,...e.signingKey.algorithm}:{...u,...e.signingAlgorithm},h=Be.resolve(An);l.tbsCertificate.signature=l.signatureAlgorithm=h.toAsnAlgorithm(p);const m=V.serialize(l.tbsCertificate),y="signingKey"in e?await n.subtle.sign(p,e.signingKey,m):e.signature,f=Be.resolveAll(fi).reverse();let _=null;for(const v of f)if(_=v.toAsnSignature(p,y),_)break;if(!_)throw Error("Cannot convert ASN.1 signature value to WebCrypto format");return l.signatureValue=_,new Rl(V.serialize(l))}}var np;(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"})(np||(np={}));st.register(_h,Ol);st.register(wh,Bl);st.register(bh,Tl);st.register(Ah,pi);st.register(Sa,Mr);st.register(Sh,Qh);st.register(Na,tg);st.register(xa,ng);zo.register(Wh,rg);zo.register(jl,Pl);Be.registerSingleton(fi,X0);Be.registerSingleton(fi,tt);tt.namedCurveSize.set("P-256",32);tt.namedCurveSize.set("K-256",32);tt.namedCurveSize.set("P-384",48);tt.namedCurveSize.set("P-521",66);const rp="0123456789abcdef";function jc(t){const e=new Uint8Array(t);let n="";for(let r=0;r<e.length;r++){const i=e[r]>>4;n+=rp[i];const s=e[r]&15;n+=rp[s]}return n}class ig{constructor(e,n){ee(this,"alphabet");ee(this,"padding");ee(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 o=0;o<i;o++){let c=0;const l=[];for(let p=0;p<8;p++){const h=e[o*8+p];if(h==="="){if(o+1!==i)throw new Error(`Invalid character: ${h}`);c+=1;continue}if(h===void 0){if(r)throw new Error("Invalid data");c+=1;continue}const m=this.decodeMap.get(h)??null;if(m===null)throw new Error(`Invalid character: ${h}`);l.push(m)}if(c===8||c===7||c===5||c===2)throw new Error("Invalid padding");const u=(l[0]<<3)+(l[1]>>2);if(s.push(u),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 ig("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567");new ig("0123456789ABCDEFGHIJKLMNOPQRSTUV");class sg{constructor(e,n){ee(this,"alphabet");ee(this,"padding");ee(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 o=0;o<i;o++){let c=0,l=0;for(let u=0;u<4;u++){const p=e[o*4+u];if(p==="="){if(o+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 h=this.decodeMap.get(p)??null;if(h===null)throw new Error(`Invalid character: ${p}`);l+=h<<6*(3-u)}s.push(l>>16&255),c<2&&s.push(l>>8&255),c<1&&s.push(l&255)}return Uint8Array.from(s)}}const ty=new sg("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),pn=new sg("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_");class ny{constructor(e){ee(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 og(t){return await crypto.subtle.digest("SHA-256",t)}async function Oc(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=qe(),i=jc(new TextEncoder().encode(r)),s=await ey.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 Ol(!0,2,!0),new Bl(["1.3.6.1.5.5.7.3.1"],!0),new Tl($s.keyCertSign|$s.cRLSign,!0),await pi.create(n.publicKey)]}),o=await crypto.subtle.exportKey("pkcs8",n.privateKey),c=s.toString("pem"),l=await iy(s),u=jc(await s.getThumbprint()),p=ry("PRIVATE",o);return{kid:s.serialNumber,cert:c,thumbprint:u,fingerprint:l,pkcs7:p}}function ry(t,e){const n=ty.encode(new Uint8Array(e));let r=`-----BEGIN ${t} KEY-----\r
|
|
122
|
+
`,i=0;for(;i<n.length;)i+64<=n.length?r+=n.substr(i,64)+`\r
|
|
123
|
+
`:r+=n.substr(i)+`\r
|
|
124
|
+
`,i+=64;return r+=`-----END ${t} KEY-----\r
|
|
125
|
+
`,r}async function iy(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 jc(await og(s))}const sy=1e3*60*60*24,oy=new a.OpenAPIHono().openapi(a.createRoute({tags:["keys"],method:"get",path:"/signing",request:{headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:a.z.array(ha)}},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(a.createRoute({tags:["keys"],method:"get",path:"/signing/{kid}",request:{headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({kid:a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:ha}},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 O(404,{message:"Key not found"});return t.json(r)}).openapi(a.createRoute({tags:["keys"],method:"post",path:"/signing/rotate",request:{headers:a.z.object({"tenant-id":a.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()+sy).toISOString()});const n=await Oc({name:`CN=${t.env.ORGANIZATION_NAME}`});return await t.env.data.keys.create(n),t.text("OK",{status:201})}).openapi(a.createRoute({tags:["keys"],method:"put",path:"/signing/{kid}/revoke",request:{headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({kid:a.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 O(404,{message:"Key not found"});const r=await Oc({name:`CN=${t.env.ORGANIZATION_NAME}`});return await t.env.data.keys.create(r),t.text("OK")}),ay=new a.OpenAPIHono().openapi(a.createRoute({tags:["users"],method:"get",path:"/",request:{query:a.z.object({email:a.z.string()}),headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"tenant/json":{schema:a.z.array(qc)}},description:"List of users"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{email:n}=t.req.valid("query"),i=(await ff(t.env.data.users,e,n)).filter(s=>!s.linked_to);return t.json(i)}),cy=Yt.extend({clients:a.z.array(on)}),ly=new a.OpenAPIHono().openapi(a.createRoute({tags:["clients"],method:"get",path:"/",request:{query:hn,headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:a.z.union([cy,a.z.array(on)])}},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:o}=t.req.valid("query"),l=(await t.env.data.applications.list(e,{page:n,per_page:r,include_totals:i,sort:tr(s),q:o})).applications;return i?t.json({clients:l,start:0,limit:10,length:l.length}):t.json(l)}).openapi(a.createRoute({tags:["clients"],method:"get",path:"/{id}",request:{params:a.z.object({id:a.z.string()}),headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:on}},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 O(404);return t.json(i)}).openapi(a.createRoute({tags:["clients"],method:"delete",path:"/{id}",request:{params:a.z.object({id:a.z.string()}),headers:a.z.object({"tenant-id":a.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 O(404,{message:"Application not found"});return t.text("OK")}).openapi(a.createRoute({tags:["clients"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:a.z.object(Hi.shape).partial()}}},params:a.z.object({id:a.z.string()}),headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:on}},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 O(404,{message:"Application not found"});return t.json(s)}).openapi(a.createRoute({tags:["clients"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:a.z.object(Hi.shape)}}},headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:a.z.object(on.shape)}},description:"An application"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),r={...n,id:n.id||qe(),client_secret:n.client_secret||qe()},i=await t.env.data.applications.create(e,r);return t.json(i,{status:201})});a.z.object({start:a.z.number(),limit:a.z.number(),length:a.z.number()});Ls.extend({email:a.z.string(),login_count:a.z.number(),multifactor:a.z.array(a.z.string()).optional(),last_ip:a.z.string().optional(),last_login:a.z.string().optional(),user_id:a.z.string()}).catchall(a.z.any());const uy=Yt.extend({tenants:a.z.array(Rn)}),dy=new a.OpenAPIHono().openapi(a.createRoute({tags:["tenants"],method:"get",path:"/",request:{query:hn},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"tenant/json":{schema:a.z.union([a.z.array(Rn),uy])}},description:"List of tenants"}}}),async t=>{const{page:e,per_page:n,include_totals:r,sort:i,q:s}=t.req.valid("query"),o=await t.env.data.tenants.list({page:e,per_page:n,include_totals:r,sort:tr(i),q:s});return r?t.json(o):t.json(o.tenants)}).openapi(a.createRoute({tags:["tenants"],method:"get",path:"/{id}",request:{params:a.z.object({id:a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"tenant/json":{schema:Rn}},description:"A tenant"}}}),async t=>{const{id:e}=t.req.valid("param"),n=await t.env.data.tenants.get(e);if(!n)throw new O(404);return t.json(n)}).openapi(a.createRoute({tags:["tenants"],method:"delete",path:"/{id}",request:{params:a.z.object({id:a.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(a.createRoute({tags:["tenants"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:a.z.object(Wi.shape).partial()}}},params:a.z.object({id:a.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(a.createRoute({tags:["tenants"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:a.z.object(Wi.shape)}}}},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"tenant/json":{schema:Rn}},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})}),py=Yt.extend({logs:a.z.array(Ji)}),fy=new a.OpenAPIHono().openapi(a.createRoute({tags:["logs"],method:"get",path:"/",request:{query:hn,headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:a.z.union([a.z.array(Ji),py])}},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":o}=t.req.valid("header"),c=await t.env.data.logs.list(o,{page:e,per_page:n,include_totals:r,sort:tr(i),q:s});return r?t.json(c):t.json(c.logs)}).openapi(a.createRoute({tags:["logs"],method:"get",path:"/{id}",request:{headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({id:a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Ji}},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 O(404);return t.json(r)}),hy=Yt.extend({hooks:a.z.array(Tn)}),gy=new a.OpenAPIHono().openapi(a.createRoute({tags:["hooks"],method:"get",path:"/",request:{query:hn,headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:a.z.union([a.z.array(Tn),hy])}},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:o}=t.req.valid("query"),c=await t.env.data.hooks.list(e,{page:n,per_page:r,include_totals:i,sort:tr(s),q:o});return i?t.json(c):t.json(c.hooks)}).openapi(a.createRoute({tags:["hooks"],method:"post",path:"/",request:{headers:a.z.object({"tenant-id":a.z.string()}),body:{content:{"application/json":{schema:a.z.object(Gi.shape)}}}},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:Tn}},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(a.createRoute({tags:["hooks"],method:"patch",path:"/{hook_id}",request:{headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({hook_id:a.z.string()}),body:{content:{"application/json":{schema:a.z.object(Gi.shape).omit({hook_id:!0}).partial()}}}},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:Tn.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 O(404,{message:"Hook not found"});return t.json(i)}).openapi(a.createRoute({tags:["hooks"],method:"get",path:"/{hook_id}",request:{headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({hook_id:a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Tn}},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 O(404,{message:"Hook not found"});return t.json(r)}).openapi(a.createRoute({tags:["hooks"],method:"delete",path:"/{hook_id}",request:{headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({hook_id:a.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 O(404,{message:"Hook not found"});return t.text("OK")}),my=Yt.extend({connections:a.z.array(Mt)}),_y=new a.OpenAPIHono().openapi(a.createRoute({tags:["connections"],method:"get",path:"/",request:{query:hn,headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:a.z.union([a.z.array(Mt),my])}},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:o}=t.req.valid("query"),c=await t.env.data.connections.list(e,{page:n,per_page:r,include_totals:i,sort:tr(s),q:o});return i?t.json(c):t.json(c.connections)}).openapi(a.createRoute({tags:["connections"],method:"get",path:"/{id}",request:{params:a.z.object({id:a.z.string()}),headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Mt}},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 O(404);return t.json(r)}).openapi(a.createRoute({tags:["connections"],method:"delete",path:"/{id}",request:{params:a.z.object({id:a.z.string()}),headers:a.z.object({"tenant-id":a.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 O(404,{message:"Connection not found"});return t.text("OK")}).openapi(a.createRoute({tags:["connections"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:a.z.object(Ki.shape).partial()}}},params:a.z.object({id:a.z.string()}),headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:Mt}},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 O(404,{message:"Connection not found"});const s=await t.env.data.connections.get(e,n);if(!s)throw new O(404,{message:"Connection not found"});return t.json(s)}).openapi(a.createRoute({tags:["connections"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:a.z.object(Ki.shape)}}},headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:Mt}},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})}),yy=new a.OpenAPIHono().openapi(a.createRoute({tags:["prompts"],method:"get",path:"/",request:{headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Ii}},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(Ii.parse({}))}).openapi(a.createRoute({tags:["prompts"],method:"patch",path:"/",request:{headers:a.z.object({"tenant-id":a.z.string()}),body:{content:{"application/json":{schema:a.z.object(Ii.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 ag(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()))}a.z.object({alg:a.z.literal("RS256"),kty:a.z.literal("RSA"),use:a.z.literal("sig"),n:a.z.string(),e:a.z.string(),kid:a.z.string(),x5t:a.z.string(),x5c:a.z.array(a.z.string())});async function vy(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 O(500,{message:`Failed to fetch jwks: ${e.message}`})}}async function wy(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))),o=(await vy(t.env)).find(l=>l.kid===e.header.kid);if(!o)return console.log("No matching kid found"),!1;const c=await crypto.subtle.importKey("jwk",o,{name:"RSASSA-PKCS1-v1_5",hash:"SHA-256"},!1,["verify"]);return crypto.subtle.verify("RSASSA-PKCS1-v1_5",c,i,r)}function by(t){const[e,n,r]=t.split(".");if(!e||!n||!r)return null;const i=JSON.parse(atob(e)),s=JSON.parse(atob(n)),o=atob(r.replace(/-/g,"+").replace(/_/g,"/"));return{header:i,payload:s,signature:o,raw:{header:e,payload:n,signature:r}}}function cg(t){return async(e,n)=>{var i,s,o;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")||"",[u,p]=l.split(" ");if((u==null?void 0:u.toLowerCase())!=="bearer"||!p)throw new O(401,{message:"Missing bearer token"});const h=by(p);if(!h||!await wy(e,h))throw new O(403,{message:"Invalid JWT signature"});e.set("user_id",h.payload.sub),e.set("user",h.payload);const m=h.payload.permissions||[],y=((o=h.payload.scope)==null?void 0:o.split(" "))||[];if(c.length&&!(c.some(f=>m.includes(f))||c.some(f=>y.includes(f))))throw new O(403,{message:"Unauthorized"})}return await n()}}const ky=new a.OpenAPIHono().openapi(a.createRoute({tags:["emails"],method:"get",path:"/",request:{headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Ci}},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 O(404,{message:"Email provider not found"});return t.json(n)}).openapi(a.createRoute({tags:["emails"],method:"post",path:"/",request:{headers:a.z.object({"tenant-id":a.z.string()}),body:{content:{"application/json":{schema:a.z.object(Ci.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(a.createRoute({tags:["emails"],method:"patch",path:"/",request:{headers:a.z.object({"tenant-id":a.z.string()}),body:{content:{"application/json":{schema:a.z.object(Ci.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")}),xy=new a.OpenAPIHono().openapi(a.createRoute({tags:["sessions"],method:"get",path:"/{id}",request:{params:a.z.object({id:a.z.string()}),headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Vs}},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 O(404);return t.json(r)}).openapi(a.createRoute({tags:["sessions"],method:"delete",path:"/{id}",request:{params:a.z.object({id:a.z.string()}),headers:a.z.object({"tenant-id":a.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 O(404,{message:"Session not found"});return t.text("OK")}).openapi(a.createRoute({tags:["sessions"],method:"post",path:"/{id}/revoke",request:{params:a.z.object({id:a.z.string()}),headers:a.z.object({"tenant-id":a.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 O(404,{message:"Session not found"});return t.text("Session deletion request accepted.",{status:202})}),Sy=new a.OpenAPIHono().openapi(a.createRoute({tags:["refresh_tokens"],method:"get",path:"/{id}",request:{params:a.z.object({id:a.z.string()}),headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Hc}},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 O(404);return t.json(r)}).openapi(a.createRoute({tags:["refresh_tokens"],method:"delete",path:"/{id}",request:{params:a.z.object({id:a.z.string()}),headers:a.z.object({"tenant-id":a.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 O(404,{message:"Session not found"});return t.text("OK")});function Ay(){const t=new a.OpenAPIHono;t.use(cg(t));const e=t.route("/branding",Fm).route("/email/providers",ky).route("/users",o_).route("/keys",oy).route("/users-by-email",ay).route("/clients",ly).route("/tenants",dy).route("/logs",fy).route("/hooks",gy).route("/connections",_y).route("/prompts",yy).route("/sessions",xy).route("/refresh_tokens",Sy);return ag(e),e.doc("/spec",{openapi:"3.0.0",info:{version:"1.0.0",title:"Management api"}}),e}function Ey(t,e){Object.keys(e).forEach(n=>{const r=e[n];r!=null&&r.length&&t.searchParams.set(n,r)})}function pr(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 Si=60*5,jo=30*24*60*60,qr=24*60*60,Iy="auth-token",Bc=30*60*1e3,Cy=5*60,Ny=5*60,$y=30*60*1e3;var sp;(function(t){t[t.Include=0]="Include",t[t.None=1]="None"})(sp||(sp={}));var op;(function(t){t[t.Required=0]="Required",t[t.Ignore=1]="Ignore"})(op||(op={}));function zy(t){return ug(t,jy,Dr.Include)}function lg(t){return ug(t,Oy,Dr.None)}function ug(t,e,n){let r="";for(let i=0;i<t.byteLength;i+=3){let s=0,o=0;for(let c=0;c<3&&i+c<t.byteLength;c++)s=s<<8|t[i+c],o+=8;for(let c=0;c<4;c++)o>=6?(r+=e[s>>o-6&63],o-=6):o>0?(r+=e[s<<6-o&63],o=0):n===Dr.Include&&(r+="=")}return r}const jy="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Oy="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";var Dr;(function(t){t[t.Include=0]="Include",t[t.None=1]="None"})(Dr||(Dr={}));var ap;(function(t){t[t.Required=0]="Required",t[t.Ignore=1]="Ignore"})(ap||(ap={}));class By{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 cp=new By;function yt(t,e){return(t<<32-e|t>>>e)>>>0}function Ty(t){const e=new Py;return e.update(t),e.digest()}class Py{constructor(){ee(this,"blockSize",64);ee(this,"size",32);ee(this,"blocks",new Uint8Array(64));ee(this,"currentBlockSize",0);ee(this,"H",new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]));ee(this,"l",0n);ee(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),cp.putUint64(this.blocks,this.l,this.blockSize-8),this.process();const e=new Uint8Array(32);for(let n=0;n<8;n++)cp.putUint32(e,this.H[n],n*4);return e}process(){for(let u=0;u<16;u++)this.w[u]=(this.blocks[u*4]<<24|this.blocks[u*4+1]<<16|this.blocks[u*4+2]<<8|this.blocks[u*4+3])>>>0;for(let u=16;u<64;u++){const p=(yt(this.w[u-2],17)^yt(this.w[u-2],19)^this.w[u-2]>>>10)>>>0,h=(yt(this.w[u-15],7)^yt(this.w[u-15],18)^this.w[u-15]>>>3)>>>0;this.w[u]=p+this.w[u-7]+h+this.w[u-16]|0}let e=this.H[0],n=this.H[1],r=this.H[2],i=this.H[3],s=this.H[4],o=this.H[5],c=this.H[6],l=this.H[7];for(let u=0;u<64;u++){const p=(yt(s,6)^yt(s,11)^yt(s,25))>>>0,h=(s&o^~s&c)>>>0,m=l+p+h+Ry[u]+this.w[u]|0,y=(yt(e,2)^yt(e,13)^yt(e,22))>>>0,f=(e&n^e&r^n&r)>>>0,_=y+f|0;l=c,c=o,o=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]=o+this.H[5]|0,this.H[6]=c+this.H[6]|0,this.H[7]=l+this.H[7]|0}}const Ry=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 Ly{constructor(e){ee(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 Uy(t){const e=Ty(new TextEncoder().encode(t));return lg(e)}function Vy(){const t=new Uint8Array(32);return crypto.getRandomValues(t),lg(t)}function Ir(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 ta(t,e){const n=new TextEncoder().encode(`${t}:${e}`);return zy(n)}async function zs(t){let e;try{e=await fetch(t)}catch(n){throw new pg(n)}if(e.status===400||e.status===401){let n;try{n=await e.json()}catch{throw new Oi(e.status)}if(typeof n!="object"||n===null)throw new Vn(e.status,n);let r;try{r=dg(n)}catch{throw new Vn(e.status,n)}throw r}if(e.status===200){let n;try{n=await e.json()}catch{throw new Oi(e.status)}if(typeof n!="object"||n===null)throw new Vn(e.status,n);return new Ly(n)}throw e.body!==null&&await e.body.cancel(),new Oi(e.status)}async function My(t){let e;try{e=await fetch(t)}catch(n){throw new pg(n)}if(e.status===400||e.status===401){let n;try{n=await e.json()}catch{throw new Vn(e.status,null)}if(typeof n!="object"||n===null)throw new Vn(e.status,n);let r;try{r=dg(n)}catch{throw new Vn(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 Oi(e.status)}function dg(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 qy(e,n,r,i)}class pg extends Error{constructor(e){super("Failed to send request",{cause:e})}}class qy extends Error{constructor(n,r,i,s){super(`OAuth request error: ${n}`);ee(this,"code");ee(this,"description");ee(this,"uri");ee(this,"state");this.code=n,this.description=r,this.uri=i,this.state=s}}class Oi extends Error{constructor(n){super("Unexpected error response");ee(this,"status");this.status=n}}class Vn extends Error{constructor(n,r){super("Unexpected error response body");ee(this,"status");ee(this,"data");this.status=n,this.data=r}}class Ll{constructor(e,n,r){ee(this,"clientId");ee(this,"clientPassword");ee(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 o=new URL(e);if(o.searchParams.set("response_type","code"),o.searchParams.set("client_id",this.clientId),this.redirectURI!==null&&o.searchParams.set("redirect_uri",this.redirectURI),o.searchParams.set("state",n),r===Fr.S256){const c=Uy(i);o.searchParams.set("code_challenge_method","S256"),o.searchParams.set("code_challenge",c)}else r===Fr.Plain&&(o.searchParams.set("code_challenge_method","plain"),o.searchParams.set("code_challenge",i));return s.length>0&&o.searchParams.set("scope",s.join(" ")),o}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=Ir(e,i);if(this.clientPassword!==null){const c=ta(this.clientId,this.clientPassword);s.headers.set("Authorization",`Basic ${c}`)}return await zs(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=Ir(e,i);if(this.clientPassword!==null){const c=ta(this.clientId,this.clientPassword);s.headers.set("Authorization",`Basic ${c}`)}return await zs(s)}async revokeToken(e,n){const r=new URLSearchParams;r.set("token",n),this.clientPassword===null&&r.set("client_id",this.clientId);const i=Ir(e,r);if(this.clientPassword!==null){const s=ta(this.clientId,this.clientPassword);i.headers.set("Authorization",`Basic ${s}`)}await My(i)}}var Fr;(function(t){t[t.S256=0]="S256",t[t.Plain=1]="Plain"})(Fr||(Fr={}));var lp;(function(t){t[t.Include=0]="Include",t[t.None=1]="None"})(lp||(lp={}));var up;(function(t){t[t.Required=0]="Required",t[t.Ignore=1]="Ignore"})(up||(up={}));function Cr(t){return Dy(t,Fy,js.None)}function Dy(t,e,n){let r="";for(let i=0;i<t.byteLength;i+=3){let s=0,o=0;for(let c=0;c<3&&i+c<t.byteLength;c++)s=s<<8|t[i+c],o+=8;for(let c=0;c<4;c++)o>=6?(r+=e[s>>o-6&63],o-=6):o>0?(r+=e[s<<6-o&63],o=0):n===js.Include&&(r+="=")}return r}const Fy="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";var js;(function(t){t[t.Include=0]="Include",t[t.None=1]="None"})(js||(js={}));var dp;(function(t){t[t.Required=0]="Required",t[t.Ignore=1]="Ignore"})(dp||(dp={}));function Hy(t,e,n){const r=Cr(new TextEncoder().encode(t)),i=Cr(new TextEncoder().encode(e)),s=Cr(n);return r+"."+i+"."+s}function Ky(t,e){const n=Cr(new TextEncoder().encode(t)),r=Cr(new TextEncoder().encode(e)),i=n+"."+r;return new TextEncoder().encode(i)}const Wy="https://appleid.apple.com/auth/authorize",Gy="https://appleid.apple.com/auth/token";class fg{constructor(e,n,r,i,s){ee(this,"clientId");ee(this,"teamId");ee(this,"keyId");ee(this,"pkcs8PrivateKey");ee(this,"redirectURI");this.clientId=e,this.teamId=n,this.keyId=r,this.pkcs8PrivateKey=i,this.redirectURI=s}createAuthorizationURL(e,n){const r=new URL(Wy);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=Ir(Gy,n);return await zs(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,Ky(r,i)));return Hy(r,i,s)}}const Jy="https://www.facebook.com/v16.0/dialog/oauth",Zy="https://graph.facebook.com/v16.0/oauth/access_token";class hg{constructor(e,n,r){ee(this,"clientId");ee(this,"clientSecret");ee(this,"redirectURI");this.clientId=e,this.clientSecret=n,this.redirectURI=r}createAuthorizationURL(e,n){const r=new URL(Jy);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=Ir(Zy,n);return await zs(r)}}const Yy="https://accounts.google.com/o/oauth2/v2/auth",pp="https://oauth2.googleapis.com/token",Xy="https://oauth2.googleapis.com/revoke";let gg=class{constructor(e,n,r){ee(this,"client");this.client=new Ll(e,n,r)}createAuthorizationURL(e,n,r){return this.client.createAuthorizationURLWithPKCE(Yy,e,Fr.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(Xy,e)}};class Ul{constructor(e,n){ee(this,"value");ee(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 Ul(Math.round(this.milliseconds()*e),"ms")}}async function fp(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 o=new TextEncoder,c=pn.encode(o.encode(JSON.stringify(i)),{includePadding:!1}),l=pn.encode(o.encode(JSON.stringify(s)),{includePadding:!1}),u=o.encode([c,l].join(".")),p=await ev(t).sign(e,u),h=pn.encode(new Uint8Array(p),{includePadding:!1});return[c,l,h].join(".")}function Qy(t){const e=t.split(".");return e.length!==3?null:e}function Vl(t){const e=Qy(t);if(!e)return null;const n=new TextDecoder,r=pn.decode(e[0],{strict:!1}),i=pn.decode(e[1],{strict:!1}),s=JSON.parse(n.decode(r));if(typeof s!="object"||s===null||!("alg"in s)||!tv(s.alg)||"typ"in s&&s.typ!=="JWT")return null;const o=JSON.parse(n.decode(i));if(typeof o!="object"||o===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 o){if(typeof o.exp!="number")return null;c.expiresAt=new Date(o.exp*1e3)}if("iss"in o){if(typeof o.iss!="string")return null;c.issuer=o.iss}if("sub"in o){if(typeof o.sub!="string")return null;c.subject=o.sub}if("aud"in o)if(Array.isArray(o.aud)){for(const l of o.aud)if(typeof l!="string")return null;c.audiences=o.aud}else{if(typeof o.aud!="string")return null;c.audiences=[o.aud]}if("nbf"in o){if(typeof o.nbf!="number")return null;c.notBefore=new Date(o.nbf*1e3)}if("iat"in o){if(typeof o.iat!="number")return null;c.issuedAt=new Date(o.iat*1e3)}if("jti"in o){if(typeof o.jti!="string")return null;c.jwtId=o.jti}return{value:t,header:{...s,typ:"JWT",alg:s.alg},payload:{...o},parts:e,...c}}function ev(t){return new ny(nv[t])}function tv(t){return typeof t!="string"?!1:["HS256","HS384","HS512","RS256","RS384","RS512","ES256","ES384","ES512","PS256","PS384","PS512"].includes(t)}const nv={RS256:"SHA-256",RS384:"SHA-384",RS512:"SHA-512"},Oo=a.z.object({iss:a.z.string().url(),sub:a.z.string(),aud:a.z.string(),exp:a.z.number(),email:a.z.string().optional(),given_name:a.z.string().optional(),family_name:a.z.string().optional(),name:a.z.string().optional(),iat:a.z.number(),auth_time:a.z.number().optional(),nonce:a.z.string().optional(),acr:a.z.string().optional(),amr:a.z.array(a.z.string()).optional(),azp:a.z.string().optional(),at_hash:a.z.string().optional(),c_hash:a.z.string().optional()}).passthrough();Oo.omit({iat:!0,auth_time:!0,nonce:!0,acr:!0,amr:!0,azp:!0,at_hash:!0,c_hash:!0});function rv(t){return t.ISSUER}function St(t){return t.UNIVERSAL_LOGIN_URL||`${t.ISSUER}u/`}function Ne(t){return t.OAUTH_API_URL||t.ISSUER}function mg(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 iv(t,e){var l,u;const{options:n,keyArray:r}=mg(e),i=new fg(n.client_id,n.team_id,n.kid,r,`${Ne(t.env)}callback`),s=qe(),o=await i.createAuthorizationURL(s,((l=n.scope)==null?void 0:l.split(" "))||["name","email"]);return(((u=n.scope)==null?void 0:u.split(" "))||["name","email"]).some(p=>["email","name"].includes(p))&&o.searchParams.set("response_mode","form_post"),{redirectUrl:o.href,code:s}}async function sv(t,e,n){const{options:r,keyArray:i}=mg(e),o=await new fg(r.client_id,r.team_id,r.kid,i,`${Ne(t.env)}callback`).validateAuthorizationCode(n),c=Vl(o.idToken());if(!c)throw new Error("Invalid ID token");const l=Oo.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 ov=Object.freeze(Object.defineProperty({__proto__:null,getRedirect:iv,validateAuthorizationCodeAndGetUser:sv},Symbol.toStringTag,{value:"Module"}));async function av(t,e){var o;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,`${Ne(t.env)}callback`),i=qe();return{redirectUrl:r.createAuthorizationURL(i,((o=n.scope)==null?void 0:o.split(" "))||["email"]).href,code:i}}async function cv(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,`${Ne(t.env)}callback`).validateAuthorizationCode(n),o=await fetch("https://graph.facebook.com/v16.0/me?fields=id,email,name",{headers:{Authorization:`Bearer ${s.accessToken()}`}});if(!o.ok)throw new Error("Failed to fetch user info");const c=await o.json();return t.set("log",`Userinfo: ${JSON.stringify(c)}`),{sub:c.id,email:c.email,name:c.name}}const lv=Object.freeze(Object.defineProperty({__proto__:null,getRedirect:av,validateAuthorizationCodeAndGetUser:cv},Symbol.toStringTag,{value:"Module"}));async function uv(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 gg(n.client_id,n.client_secret,`${Ne(t.env)}callback`),i=qe(),s=Vy();return{redirectUrl:r.createAuthorizationURL(i,s,((c=n.scope)==null?void 0:c.split(" "))??["email","profile"]).href,code:i,codeVerifier:s}}async function dv(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 o=await new gg(i.client_id,i.client_secret,`${Ne(t.env)}callback`).validateAuthorizationCode(n,r);console.log("got here");const c=Vl(o.idToken());if(!c)throw new Error("Invalid ID token");const l=Oo.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 pv=Object.freeze(Object.defineProperty({__proto__:null,getRedirect:uv,validateAuthorizationCodeAndGetUser:dv},Symbol.toStringTag,{value:"Module"}));async function fv(t,e){var o;const{options:n}=e;if(!(n!=null&&n.client_id)||!n.client_secret)throw new Error("Missing required authentication parameters");const r=new Ll(n.client_id,n.client_secret,`${Ne(t.env)}callback`),i=qe(),s=r.createAuthorizationURL("https://api.vipps.no/access-management-1.0/access/oauth2/auth",i,((o=n.scope)==null?void 0:o.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 hv(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 Ll(r.client_id,r.client_secret,`${Ne(t.env)}callback`).validateAuthorizationCode("https://api.vipps.no/access-management-1.0/access/oauth2/token",n,null),o=Vl(s.idToken());if(!o)throw new Error("Invalid ID token");const c=Oo.parse(o.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 O(400,{message:"Failed to get user from vipps"});return await l.json()}const gv=Object.freeze(Object.defineProperty({__proto__:null,getRedirect:fv,validateAuthorizationCodeAndGetUser:hv},Symbol.toStringTag,{value:"Module"}));function _g(t,e){const n=t.env.STRATEGIES||{},i={apple:ov,facebook:lv,"google-oauth2":pv,vipps:gv,...n}[e];if(!i)throw new Error(`Strategy ${e} not found`);return i}async function Bo(t,e){const n=await t.data.clients.get(e);if(!n)throw new O(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:[]},o=i.connections.map(c=>{var p;const l=(p=s.connections)==null?void 0:p.find(h=>h.name===c.name);return l!=null&&l.options?Mt.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||[],`${St(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||[],`${St(t)}info`],connections:o,domains:[...n.domains||[],...(r==null?void 0:r.domains)||[]],tenant:{...(r==null?void 0:r.tenant)||{},...n.tenant}}}function To(t,e=[],n={}){try{const r=new URL(t);return e.some(i=>{try{return mv(r,new URL(i),n.allowPathWildcards)}catch{return!1}})}catch{return!1}}function mv(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}function _v(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 yv(t,e){if(e==="plain")return t;const n=new TextEncoder().encode(t),r=await og(n);return pn.encode(new Uint8Array(r),{includePadding:!1})}function yg(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 vv(t){const e=new Map,n=t.split("; ");for(const r of n){const i=r.split("="),s=i[0],o=i[1]??"";s&&e.set(decodeURIComponent(s),decodeURIComponent(o))}return e}function Ml(t){return`${t}-${Iy}`}function vg(t,e){return e?(console.log("cookieHeaders",e),vv(e).get(Ml(t))):void 0}function wv(t){const e={path:"/",httpOnly:!0,secure:!0,maxAge:0};return yg(Ml(t),"",{...e,sameSite:"none"})}function wg(t,e){const n={path:"/",httpOnly:!0,secure:!0,maxAge:jo};return yg(Ml(t),e,{...n,sameSite:"none"})}var ql={},Po={};(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 u=[];let p=l.exec(c);for(;p;){const h=[];h.startIndex=l.lastIndex-p[0].length;const m=p.length;for(let y=0;y<m;y++)h.push(p[y]);u.push(h),p=l.exec(c)}return u},o=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,u){if(l){const p=Object.keys(l),h=p.length;for(let m=0;m<h;m++)u==="strict"?c[p[m]]=[l[p[m]]]:c[p[m]]=l[p[m]]}},t.getValue=function(c){return t.isExist(c)?c:""},t.isName=o,t.getAllMatches=s,t.nameRegexp=r})(Po);const Dl=Po,bv={allowBooleanAttributes:!1,unpairedTags:[]};ql.validate=function(t,e){e=Object.assign({},bv,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=gp(t,s),s.err)return s}else if(t[s]==="<"){let o=s;if(s++,t[s]==="!"){s=mp(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]!==`
|
|
126
|
+
`&&t[s]!=="\r";s++)l+=t[s];if(l=l.trim(),l[l.length-1]==="/"&&(l=l.substring(0,l.length-1),s--),!Nv(l)){let h;return l.trim().length===0?h="Invalid space after '<'.":h="Tag '"+l+"' is an invalid name.",we("InvalidTag",h,Pe(t,s))}const u=Sv(t,s);if(u===!1)return we("InvalidAttr","Attributes for '"+l+"' have open quote.",Pe(t,s));let p=u.value;if(s=u.index,p[p.length-1]==="/"){const h=s-p.length;p=p.substring(0,p.length-1);const m=_p(p,e);if(m===!0)r=!0;else return we(m.err.code,m.err.msg,Pe(t,h+m.err.line))}else if(c)if(u.tagClosed){if(p.trim().length>0)return we("InvalidTag","Closing tag '"+l+"' can't have attributes or invalid starting.",Pe(t,o));if(n.length===0)return we("InvalidTag","Closing tag '"+l+"' has not been opened.",Pe(t,o));{const h=n.pop();if(l!==h.tagName){let m=Pe(t,h.tagStartPos);return we("InvalidTag","Expected closing tag '"+h.tagName+"' (opened in line "+m.line+", col "+m.col+") instead of closing tag '"+l+"'.",Pe(t,o))}n.length==0&&(i=!0)}}else return we("InvalidTag","Closing tag '"+l+"' doesn't have proper closing.",Pe(t,s));else{const h=_p(p,e);if(h!==!0)return we(h.err.code,h.err.msg,Pe(t,s-p.length+h.err.line));if(i===!0)return we("InvalidXml","Multiple possible root nodes found.",Pe(t,s));e.unpairedTags.indexOf(l)!==-1||n.push({tagName:l,tagStartPos:o}),r=!0}for(s++;s<t.length;s++)if(t[s]==="<")if(t[s+1]==="!"){s++,s=mp(t,s);continue}else if(t[s+1]==="?"){if(s=gp(t,++s),s.err)return s}else break;else if(t[s]==="&"){const h=Iv(t,s);if(h==-1)return we("InvalidChar","char '&' is not expected.",Pe(t,s));s=h}else if(i===!0&&!hp(t[s]))return we("InvalidXml","Extra text at the end",Pe(t,s));t[s]==="<"&&s--}}else{if(hp(t[s]))continue;return we("InvalidChar","char '"+t[s]+"' is not expected.",Pe(t,s))}if(r){if(n.length==1)return we("InvalidTag","Unclosed tag '"+n[0].tagName+"'.",Pe(t,n[0].tagStartPos));if(n.length>0)return we("InvalidXml","Invalid '"+JSON.stringify(n.map(s=>s.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return we("InvalidXml","Start tag expected.",1);return!0};function hp(t){return t===" "||t===" "||t===`
|
|
127
|
+
`||t==="\r"}function gp(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 we("InvalidXml","XML declaration allowed only at the start of the document.",Pe(t,e));if(t[e]=="?"&&t[e+1]==">"){e++;break}else continue}return e}function mp(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 kv='"',xv="'";function Sv(t,e){let n="",r="",i=!1;for(;e<t.length;e++){if(t[e]===kv||t[e]===xv)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 Av=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function _p(t,e){const n=Dl.getAllMatches(t,Av),r={};for(let i=0;i<n.length;i++){if(n[i][1].length===0)return we("InvalidAttr","Attribute '"+n[i][2]+"' has no space in starting.",_r(n[i]));if(n[i][3]!==void 0&&n[i][4]===void 0)return we("InvalidAttr","Attribute '"+n[i][2]+"' is without value.",_r(n[i]));if(n[i][3]===void 0&&!e.allowBooleanAttributes)return we("InvalidAttr","boolean attribute '"+n[i][2]+"' is not allowed.",_r(n[i]));const s=n[i][2];if(!Cv(s))return we("InvalidAttr","Attribute '"+s+"' is an invalid name.",_r(n[i]));if(!r.hasOwnProperty(s))r[s]=1;else return we("InvalidAttr","Attribute '"+s+"' is repeated.",_r(n[i]))}return!0}function Ev(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 Iv(t,e){if(e++,t[e]===";")return-1;if(t[e]==="#")return e++,Ev(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 we(t,e,n){return{err:{code:t,msg:e,line:n.line||n,col:n.col}}}function Cv(t){return Dl.isName(t)}function Nv(t){return Dl.isName(t)}function Pe(t,e){const n=t.substring(0,e).split(/\r?\n/);return{line:n.length,col:n[n.length-1].length+1}}function _r(t){return t.startIndex+t[1].length}var Fl={};const bg={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}},$v=function(t){return Object.assign({},bg,t)};Fl.buildOptions=$v;Fl.defaultOptions=bg;class zv{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 jv=zv;const Ov=Po;function Bv(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,o="";for(;e<t.length;e++)if(t[e]==="<"&&!s){if(i&&Rv(t,e)){e+=7;let c,l;[c,l,e]=Tv(t,e+1),l.indexOf("&")===-1&&(n[Mv(c)]={regx:RegExp(`&${c};`,"g"),val:l})}else if(i&&Lv(t,e))e+=8;else if(i&&Uv(t,e))e+=8;else if(i&&Vv(t,e))e+=9;else if(Pv)s=!0;else throw new Error("Invalid DOCTYPE");r++,o=""}else if(t[e]===">"){if(s?t[e-1]==="-"&&t[e-2]==="-"&&(s=!1,r--):r--,r===0)break}else t[e]==="["?i=!0:o+=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 Tv(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 Pv(t,e){return t[e+1]==="!"&&t[e+2]==="-"&&t[e+3]==="-"}function Rv(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 Lv(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 Uv(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 Vv(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 Mv(t){if(Ov.isName(t))return t;throw new Error(`Invalid entity name ${t}`)}var qv=Bv;const Dv=/^[-+]?0x[a-fA-F0-9]+$/,Fv=/^([\-\+])?(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 Hv={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function Kv(t,e={}){if(e=Object.assign({},Hv,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&&Dv.test(n))return Number.parseInt(n,16);{const r=Fv.exec(n);if(r){const i=r[1],s=r[2];let o=Wv(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),u=""+l;return u.search(/[eE]/)!==-1||c?e.eNotation?l:t:n.indexOf(".")!==-1?u==="0"&&o===""||u===o||i&&u==="-"+o?l:t:s?o===u||i+o===u?l:t:n===u||n===i+u?l:t}}else return t}}function Wv(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 Gv=Kv;function Jv(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 kg=Jv;const xg=Po,yr=jv,Zv=qv,Yv=Gv,Xv=kg;let Qv=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=ew,this.parseXml=sw,this.parseTextData=tw,this.resolveNameSpace=nw,this.buildAttributesMap=iw,this.isItStopNode=lw,this.replaceEntitiesValue=aw,this.readStopNodeData=dw,this.saveTextToParentTag=cw,this.addChild=ow,this.ignoreAttributesFn=Xv(this.options.ignoreAttributes)}};function ew(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 tw(t,e,n,r,i,s,o){if(t!==void 0&&(this.options.trimValues&&!r&&(t=t.trim()),t.length>0)){o||(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?Pc(t,this.options.parseTagValue,this.options.numberParseOptions):t.trim()===t?Pc(t,this.options.parseTagValue,this.options.numberParseOptions):t}}function nw(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 rw=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function iw(t,e,n){if(this.options.ignoreAttributes!==!0&&typeof t=="string"){const r=xg.getAllMatches(t,rw),i=r.length,s={};for(let o=0;o<i;o++){const c=this.resolveNameSpace(r[o][1]);if(this.ignoreAttributesFn(c,e))continue;let l=r[o][4],u=this.options.attributeNamePrefix+c;if(c.length)if(this.options.transformAttributeName&&(u=this.options.transformAttributeName(u)),u==="__proto__"&&(u="#__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[u]=l:typeof p!=typeof l||p!==l?s[u]=p:s[u]=Pc(l,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(s[u]=!0)}if(!Object.keys(s).length)return;if(this.options.attributesGroupName){const o={};return o[this.options.attributesGroupName]=s,o}return s}}const sw=function(t){t=t.replace(/\r\n?/g,`
|
|
128
|
+
`);const e=new yr("!xml");let n=e,r="",i="";for(let s=0;s<t.length;s++)if(t[s]==="<")if(t[s+1]==="/"){const c=ln(t,">",s,"Closing Tag is not closed.");let l=t.substring(s+2,c).trim();if(this.options.removeNSPrefix){const h=l.indexOf(":");h!==-1&&(l=l.substr(h+1))}this.options.transformTagName&&(l=this.options.transformTagName(l)),n&&(r=this.saveTextToParentTag(r,n,i));const u=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;u&&this.options.unpairedTags.indexOf(u)!==-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=Tc(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 yr(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=ln(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=Zv(t,s);this.docTypeEntities=c.entities,s=c.i}else if(t.substr(s+1,2)==="!["){const c=ln(t,"]]>",s,"CDATA is not closed.")-2,l=t.substring(s+9,c);r=this.saveTextToParentTag(r,n,i);let u=this.parseTextData(l,n.tagname,i,!0,!1,!0,!0);u==null&&(u=""),this.options.cdataPropName?n.add(this.options.cdataPropName,[{[this.options.textNodeName]:l}]):n.add(this.options.textNodeName,u),s=c+2}else{let c=Tc(t,s,this.options.removeNSPrefix),l=c.tagName;const u=c.rawTagName;let p=c.tagExp,h=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 y=n;if(y&&this.options.unpairedTags.indexOf(y.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 f="";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,u,m+1);if(!v)throw new Error(`Unexpected end of ${u}`);s=v.i,f=v.tagContent}const _=new yr(l);l!==p&&h&&(_[":@"]=this.buildAttributesMap(p,i,l)),f&&(f=this.parseTextData(f,l,i,!0,h,!0,!0)),i=i.substr(0,i.lastIndexOf(".")),_.add(this.options.textNodeName,f),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 f=new yr(l);l!==p&&h&&(f[":@"]=this.buildAttributesMap(p,i,l)),this.addChild(n,f,i),i=i.substr(0,i.lastIndexOf("."))}else{const f=new yr(l);this.tagsNodeStack.push(n),l!==p&&h&&(f[":@"]=this.buildAttributesMap(p,i,l)),this.addChild(n,f,i),n=f}r="",s=m}}else r+=t[s];return e.child};function ow(t,e,n){const r=this.options.updateTag(e.tagname,n,e[":@"]);r===!1||(typeof r=="string"&&(e.tagname=r),t.addChild(e))}const aw=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 cw(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 lw(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 uw(t,e,n=">"){let r,i="";for(let s=e;s<t.length;s++){let o=t[s];if(r)o===r&&(r="");else if(o==='"'||o==="'")r=o;else if(o===n[0])if(n[1]){if(t[s+1]===n[1])return{data:i,index:s}}else return{data:i,index:s};else o===" "&&(o=" ");i+=o}}function ln(t,e,n,r){const i=t.indexOf(e,n);if(i===-1)throw new Error(r);return i+e.length-1}function Tc(t,e,n,r=">"){const i=uw(t,e+1,r);if(!i)return;let s=i.data;const o=i.index,c=s.search(/\s/);let l=s,u=!0;c!==-1&&(l=s.substring(0,c),s=s.substring(c+1).trimStart());const p=l;if(n){const h=l.indexOf(":");h!==-1&&(l=l.substr(h+1),u=l!==i.data.substr(h+1))}return{tagName:l,tagExp:s,closeIndex:o,attrExpPresent:u,rawTagName:p}}function dw(t,e,n){const r=n;let i=1;for(;n<t.length;n++)if(t[n]==="<")if(t[n+1]==="/"){const s=ln(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=ln(t,"?>",n+1,"StopNode is not closed.");else if(t.substr(n+1,3)==="!--")n=ln(t,"-->",n+3,"StopNode is not closed.");else if(t.substr(n+1,2)==="![")n=ln(t,"]]>",n,"StopNode is not closed.")-2;else{const s=Tc(t,n,">");s&&((s&&s.tagName)===e&&s.tagExp[s.tagExp.length-1]!=="/"&&i++,n=s.closeIndex)}}function Pc(t,e,n){if(e&&typeof t=="string"){const r=t.trim();return r==="true"?!0:r==="false"?!1:Yv(t,n)}else return xg.isExist(t)?t:""}var pw=Qv,Sg={};function fw(t,e){return Ag(t,e)}function Ag(t,e,n){let r;const i={};for(let s=0;s<t.length;s++){const o=t[s],c=hw(o);let l="";if(n===void 0?l=c:l=n+"."+c,c===e.textNodeName)r===void 0?r=o[c]:r+=""+o[c];else{if(c===void 0)continue;if(o[c]){let u=Ag(o[c],e,l);const p=mw(u,e);o[":@"]?gw(u,o[":@"],l,e):Object.keys(u).length===1&&u[e.textNodeName]!==void 0&&!e.alwaysCreateTextNode?u=u[e.textNodeName]:Object.keys(u).length===0&&(e.alwaysCreateTextNode?u[e.textNodeName]="":u=""),i[c]!==void 0&&i.hasOwnProperty(c)?(Array.isArray(i[c])||(i[c]=[i[c]]),i[c].push(u)):e.isArray(c,l,p)?i[c]=[u]:i[c]=u}}}return typeof r=="string"?r.length>0&&(i[e.textNodeName]=r):r!==void 0&&(i[e.textNodeName]=r),i}function hw(t){const e=Object.keys(t);for(let n=0;n<e.length;n++){const r=e[n];if(r!==":@")return r}}function gw(t,e,n,r){if(e){const i=Object.keys(e),s=i.length;for(let o=0;o<s;o++){const c=i[o];r.isArray(c,n+"."+c,!0,!0)?t[c]=[e[c]]:t[c]=e[c]}}}function mw(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))}Sg.prettify=fw;const{buildOptions:_w}=Fl,yw=pw,{prettify:vw}=Sg,ww=ql;let bw=class{constructor(e){this.externalEntities={},this.options=_w(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=ww.validate(e,n);if(s!==!0)throw Error(`${s.err.msg}:${s.err.line}:${s.err.col}`)}const r=new yw(this.options);r.addExternalEntities(this.externalEntities);const i=r.parseXml(e);return this.options.preserveOrder||i===void 0?i:vw(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 '
'");if(n==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[e]=n}};var kw=bw;const xw=`
|
|
129
|
+
`;function Sw(t,e){let n="";return e.format&&e.indentBy.length>0&&(n=xw),Eg(t,e,"",n)}function Eg(t,e,n,r){let i="",s=!1;for(let o=0;o<t.length;o++){const c=t[o],l=Aw(c);if(l===void 0)continue;let u="";if(n.length===0?u=l:u=`${n}.${l}`,l===e.textNodeName){let f=c[l];Ew(u,e)||(f=e.tagValueProcessor(l,f),f=Ig(f,e)),s&&(i+=r),i+=f,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 f=yp(c[":@"],e),_=l==="?xml"?"":r;let v=c[l][0][e.textNodeName];v=v.length!==0?" "+v:"",i+=_+`<${l}${v}${f}?>`,s=!0;continue}let p=r;p!==""&&(p+=e.indentBy);const h=yp(c[":@"],e),m=r+`<${l}${h}`,y=Eg(c[l],e,u,p);e.unpairedTags.indexOf(l)!==-1?e.suppressUnpairedNode?i+=m+">":i+=m+"/>":(!y||y.length===0)&&e.suppressEmptyNode?i+=m+"/>":y&&y.endsWith(">")?i+=m+`>${y}${r}</${l}>`:(i+=m+">",y&&r!==""&&(y.includes("/>")||y.includes("</"))?i+=r+e.indentBy+y+r:i+=y,i+=`</${l}>`),s=!0}return i}function Aw(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 yp(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=Ig(i,e),i===!0&&e.suppressBooleanAttributes?n+=` ${r.substr(e.attributeNamePrefix.length)}`:n+=` ${r.substr(e.attributeNamePrefix.length)}="${i}"`}return n}function Ew(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 Ig(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 Iw=Sw;const Cw=Iw,Nw=kg,$w={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:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[],oneListGroup:!1};function tn(t){this.options=Object.assign({},$w,t),this.options.ignoreAttributes===!0||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn=Nw(this.options.ignoreAttributes),this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=Ow),this.processTextOrObjNode=zw,this.options.format?(this.indentate=jw,this.tagEndChar=`>
|
|
130
130
|
`,this.newLine=`
|
|
131
|
-
`):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}
|
|
131
|
+
`):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}tn.prototype.build=function(t){return this.options.preserveOrder?Cw(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t}),this.j2x(t,0,[]).val)};tn.prototype.j2x=function(t,e,n){let r="",i="";const s=n.join(".");for(let o in t)if(Object.prototype.hasOwnProperty.call(t,o))if(typeof t[o]>"u")this.isAttribute(o)&&(i+="");else if(t[o]===null)this.isAttribute(o)?i+="":o[0]==="?"?i+=this.indentate(e)+"<"+o+"?"+this.tagEndChar:i+=this.indentate(e)+"<"+o+"/"+this.tagEndChar;else if(t[o]instanceof Date)i+=this.buildTextValNode(t[o],o,"",e);else if(typeof t[o]!="object"){const c=this.isAttribute(o);if(c&&!this.ignoreAttributesFn(c,s))r+=this.buildAttrPairStr(c,""+t[o]);else if(!c)if(o===this.options.textNodeName){let l=this.options.tagValueProcessor(o,""+t[o]);i+=this.replaceEntitiesValue(l)}else i+=this.buildTextValNode(t[o],o,"",e)}else if(Array.isArray(t[o])){const c=t[o].length;let l="",u="";for(let p=0;p<c;p++){const h=t[o][p];if(!(typeof h>"u"))if(h===null)o[0]==="?"?i+=this.indentate(e)+"<"+o+"?"+this.tagEndChar:i+=this.indentate(e)+"<"+o+"/"+this.tagEndChar;else if(typeof h=="object")if(this.options.oneListGroup){const m=this.j2x(h,e+1,n.concat(o));l+=m.val,this.options.attributesGroupName&&h.hasOwnProperty(this.options.attributesGroupName)&&(u+=m.attrStr)}else l+=this.processTextOrObjNode(h,o,e,n);else if(this.options.oneListGroup){let m=this.options.tagValueProcessor(o,h);m=this.replaceEntitiesValue(m),l+=m}else l+=this.buildTextValNode(h,o,"",e)}this.options.oneListGroup&&(l=this.buildObjectNode(l,o,u,e)),i+=l}else if(this.options.attributesGroupName&&o===this.options.attributesGroupName){const c=Object.keys(t[o]),l=c.length;for(let u=0;u<l;u++)r+=this.buildAttrPairStr(c[u],""+t[o][c[u]])}else i+=this.processTextOrObjNode(t[o],o,e,n);return{attrStr:r,val:i}};tn.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 zw(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)}tn.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}};tn.prototype.closeTag=function(t){let e="";return this.options.unpairedTags.indexOf(t)!==-1?this.options.suppressUnpairedNode||(e="/"):this.options.suppressEmptyNode?e="/":e=`></${t}`,e};tn.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}};tn.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 jw(t){return this.options.indentBy.repeat(t)}function Ow(t){return t.startsWith(this.options.attributeNamePrefix)&&t!==this.options.textNodeName?t.substr(this.attrPrefixLen):!1}var Bw=tn;const Tw=ql,Pw=kw,Rw=Bw;var Lw={XMLParser:Pw,XMLValidator:Tw,XMLBuilder:Rw};function Uw(t,e,n){const r=n?`<input type="hidden" name="RelayState" value="${n}" />`:"",i=`
|
|
132
132
|
<!DOCTYPE html>
|
|
133
133
|
<html>
|
|
134
134
|
<body onload="document.forms[0].submit()">
|
|
@@ -138,7 +138,7 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
138
138
|
</noscript>
|
|
139
139
|
<form method="post" action="${t}">
|
|
140
140
|
<input type="hidden" name="SAMLResponse" value="${e}" />
|
|
141
|
-
${
|
|
141
|
+
${r}
|
|
142
142
|
</form>
|
|
143
143
|
<script>
|
|
144
144
|
window.onload = function() {{
|
|
@@ -146,7 +146,7 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
146
146
|
}};
|
|
147
147
|
<\/script>
|
|
148
148
|
</body>
|
|
149
|
-
</html>`;return new Response(r,{headers:{"Content-Type":"text/html"}})}async function Fv(t,e,n,i,r){var _,k,h;if(!n.redirect_uri)throw new j(400,{message:"Missing redirect_uri in authParams"});const[s]=await t.env.data.keys.list();if(!s)throw new j(500,{message:"No signing key found"});if(!((_=e.addons)!=null&&_.samlp))throw new j(400,{message:`SAML Addon is not enabled for client ${e.id}`});const{recipient:o,audience:c}=e.addons.samlp,l=n.state||"";if(!o||!l||!i||!n.state)throw new j(400,{message:"Missing recipient or inResponseTo"});const u=JSON.parse(n.state),p=new URL(n.redirect_uri),g=await Hv(t,{issuer:t.env.ISSUER,audience:c||n.client_id,destination:p.toString(),inResponseTo:u.requestId,userId:((h=(k=i.app_metadata)==null?void 0:k.vimeo)==null?void 0:h.user_id)||i.user_id,email:i.email,sessionIndex:r,signature:{privateKeyPem:s.pkcs7,cert:s.cert,kid:s.kid}});return Dv(p.toString(),g,u.relayState)}async function Hv(t,e){const n=e.notBefore||new Date().toISOString(),i=e.notAfter||new Date(new Date(n).getTime()+10*60*1e3).toISOString(),r=e.issueInstant||n,s=e.sessionNotOnOrAfter||i,o=e.responseId||`_${De()}`,c=e.assertionId||`_${De()}`,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":i,"@_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":i}},{"saml:AuthnStatement":[{"saml:AuthnContext":[{"saml:AuthnContextClassRef":[{"#text":"urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified"}]}]}],":@":{"@_AuthnInstant":r,"@_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":r,"@_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":o,"@_InResponseTo":e.inResponseTo,"@_IssueInstant":r,"@_Version":"2.0"}}];let p=new Mv.XMLBuilder({ignoreAttributes:!1,suppressEmptyNode:!0,preserveOrder:!0}).build(l);if(e.signature){const _=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(!_.ok)throw new Error(`Failed to sign SAML response: ${_.status}`);p=await _.text()}return e.encode===!1?p:btoa(p)}const Ld=["sub","iss","aud","exp","nbf","iat","jti"];async function yl(t,e){var m,b;const{authParams:n,user:i,client:r,session_id:s}=e,c=(await t.env.data.keys.list()).filter(S=>!S.revoked_at||new Date(S.revoked_at)>new Date),l=c[c.length-1];if(!(l!=null&&l.pkcs7))throw new j(500,{message:"No signing key available"});const u=wy(l.pkcs7),p={aud:n.audience||"default",scope:n.scope||"",sub:(i==null?void 0:i.user_id)||n.client_id,iss:t.env.ISSUER,tenant_id:t.var.tenant_id,sid:s},g=i&&((m=n.scope)!=null&&m.split(" ").includes("openid"))?{aud:n.client_id,sub:i.user_id,iss:t.env.ISSUER,sid:s,nonce:n.nonce,given_name:i.given_name,family_name:i.family_name,nickname:i.nickname,picture:i.picture,locale:i.locale,name:i.name,email:i.email,email_verified:i.email_verified}:void 0;(b=t.env.hooks)!=null&&b.onExecuteCredentialsExchange&&await t.env.hooks.onExecuteCredentialsExchange({client:r,user:i,scope:n.scope||"",grant_type:""},{accessToken:{setCustomClaim:(S,O)=>{if(Ld.includes(S))throw new Error(`Cannot overwrite reserved claim '${S}'`);p[S]=O}},idToken:{setCustomClaim:(S,O)=>{if(Ld.includes(S))throw new Error(`Cannot overwrite reserved claim '${S}'`);g&&(g[S]=O)}},access:{deny:S=>{throw new j(400,{message:`Access denied: ${S}`})}}});const _={includeIssuedTimestamp:!0,expiresIn:new pl(1,"d"),headers:{kid:l.kid}},k=await Nd("RS256",u,p,_),h=g?await Nd("RS256",u,g,_):void 0;return{access_token:k,refresh_token:e.refresh_token,id_token:h,token_type:"Bearer",expires_in:86400}}async function qv(t,e){const{client:n,scope:i,audience:r=n.tenant.audience,session_id:s}=e;return await t.env.data.refreshTokens.create(n.tenant.id,{id:De(),session_id:s,client_id:n.id,expires_at:new Date(Date.now()+uo*1e3).toISOString(),user_id:e.user.user_id,device:{last_ip:"",initial_ip:"",last_user_agent:"",initial_user_agent:"",initial_asn:"",last_asn:""},resource_servers:[{audience:r,scopes:i}],rotating:!1})}async function Fh(t,e){const{user:n,client:i,scope:r,audience:s}=e,o=await t.env.data.sessions.create(i.tenant.id,{id:De(),user_id:n.user_id,expires_at:new Date(Date.now()+uo*1e3).toISOString(),used_at:new Date().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:[i.id]}),c=r!=null&&r.split(" ").includes("offline_access")?await qv(t,{...e,session_id:o.id,scope:r,audience:s}):void 0;return{...o,refresh_token:c}}async function oi(t,e){var g;const{authParams:n,user:i,client:r}=e,s=be(t,{type:_e.SUCCESS_LOGIN,description:`Successful login for ${i.user_id}`,userId:i.user_id});Ye(t,t.env.data.logs.create(r.tenant.id,s)),Ye(t,t.env.data.users.update(r.tenant.id,i.user_id,{last_login:new Date().toISOString(),last_ip:t.req.header("x-real-ip")||"",login_count:i.login_count+1}));let o=e.refreshToken,c=e.sessionId;if(!c){const _=await Fh(t,{user:i,client:r,scope:n.scope,audience:n.audience});c=_.id,o=(g=_.refresh_token)==null?void 0:g.id}if(e.authParams.response_mode===Ht.SAML_POST)return Fv(t,e.client,e.authParams,i,c);const l=await yl(t,{authParams:n,user:i,client:r,session_id:c,refresh_token:o}),u=new Headers({"set-cookie":Th(r.tenant.id,c)});if(n.response_mode===Ht.WEB_MESSAGE)return t.json(l,{headers:u});if((n.response_type||un.CODE)===un.CODE){if(!e.loginSession)throw new j(500,{message:"Login session not found"});const _=await t.env.data.codes.create(r.tenant.id,{code_id:De(),user_id:i.user_id,code_type:"authorization_code",login_id:e.loginSession.login_id,expires_at:new Date(Date.now()+N0*1e3).toISOString()});u.set("location",`${n.redirect_uri}?state=${e.authParams.state}&code=${_.code_id}`)}return new Response("Redirecting",{status:302,headers:u})}function Kv(t){return async(e,n)=>{if(!n.email||!n.email_verified)return t.users.create(e,n);const i=await vs({userAdapter:t.users,tenant_id:e,email:n.email});return i?(await t.users.create(e,{...n,linked_to:i.user_id}),i):t.users.create(e,n)}}async function Hh(t,e,n){for await(const i of e)if(!(await fetch(i.url,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)})).ok){const s=be(t,{type:_e.FAILED_LOGIN_INCORRECT_PASSWORD,description:"Invalid password"});await n.logs.create(t.var.tenant_id,s)}}function Wv(t,e){return async(n,i)=>{const{hooks:r}=await e.hooks.list(n);return await Hh(t,r,{tenant_id:n,user:i,trigger_id:"post-user-registration"}),i}}function Gv(t,e){return async(n,i)=>{const{hooks:r}=await e.hooks.list(n,{q:"trigger_id:pre-user-signup",page:0,per_page:100,include_totals:!1});await Hh(t,r,{tenant_id:n,email:i,trigger_id:"pre-user-signup"})}}function Jv(t,e){return async(n,i)=>{let r=await Kv(e)(n,i);return await Wv(t,e)(n,r),r}}async function qh(t,e,n,i){if(e.disable_sign_ups&&!await vs({userAdapter:t.env.data.users,tenant_id:e.tenant.id,email:i})){const s=be(t,{type:_e.FAILED_SIGNUP,description:"Public signup is disabled"});throw await t.env.data.logs.create(e.tenant.id,s),new j(400,{message:"Signups are disabled for this client"})}await Gv(t,n)(t.var.tenant_id||"",i)}function Zv(t,e){return{...e,users:{...e.users,create:Jv(t,e)}}}async function Yv(t,e,n,i){if(!i.state)throw new j(400,{message:"State not found"});const r=e.connections.find(l=>l.name===n);if(!r){t.set("client_id",e.id);const l=be(t,{type:_e.FAILED_LOGIN,description:"Connection not found"});throw await t.env.data.logs.create(e.tenant.id,l),new j(403,{message:"Connection Not Found"})}let s=await t.env.data.logins.get(e.tenant.id,i.state);s||(s=await t.env.data.logins.create(e.tenant.id,{expires_at:new Date(Date.now()+us*1e3).toISOString(),authParams:i,...Gn(t.req)}));const c=await Nh(t,r.strategy).getRedirect(t,r);return await t.env.data.codes.create(e.tenant.id,{login_id:s.login_id,code_id:c.code,code_type:"oauth2_state",connection_id:r.id,code_verifier:c.codeVerifier,expires_at:new Date(Date.now()+O0*1e3).toISOString()}),t.redirect(c.redirectUrl)}async function Ud(t,{code:e,state:n}){var h;const{env:i}=t,r=await i.data.codes.get(t.var.tenant_id||"",n,"oauth2_state");if(!r||!r.connection_id)throw new j(403,{message:"State not found"});const s=await i.data.logins.get(t.var.tenant_id||"",r.login_id);if(!s)throw new j(403,{message:"Session not found"});const o=await fo(i,s.authParams.client_id);t.set("client_id",o.id),t.set("tenant_id",o.tenant.id);const c=o.connections.find(m=>m.id===r.connection_id);if(!c){const m=be(t,{type:_e.FAILED_LOGIN,description:"Connection not found"});throw await i.data.logs.create(o.tenant.id,m),new j(403,{message:"Connection not found"})}if(t.set("connection",c.name),!s.authParams.redirect_uri){const m=be(t,{type:_e.FAILED_LOGIN,description:"Redirect URI not defined"});throw await i.data.logs.create(o.tenant.id,m),new j(403,{message:"Redirect URI not defined"})}if(!ho(s.authParams.redirect_uri,o.callbacks||[],{allowPathWildcards:!0})){const m=`Invalid redirect URI - ${s.authParams.redirect_uri}`,b=be(t,{type:_e.FAILED_LOGIN,description:m});throw await i.data.logs.create(o.tenant.id,b),new j(403,{message:m})}const u=await Nh(t,c.strategy).validateAuthorizationCodeAndGetUser(t,c,e,r.code_verifier),{sub:p,...g}=u;t.set("user_id",p);const _=((h=u.email)==null?void 0:h.toLocaleLowerCase())||`${c.name}.${p}@${new URL(t.env.ISSUER).hostname}`;t.set("username",_);let k=await ws({userAdapter:i.data.users,tenant_id:o.tenant.id,email:_,provider:c.name});if(!k){try{await qh(t,o,t.env.data,_)}catch(m){const b=m;throw new j(500,{message:`Failed to run preUserSignupHook: ${b.message}`})}k=await i.data.users.create(o.tenant.id,{user_id:`${c.name}|${p}`,email:_,name:_,provider:c.name,connection:c.name,email_verified:!0,last_ip:"",is_social:!0,last_login:new Date().toISOString(),profileData:JSON.stringify(g)}),t.set("user_id",k.user_id)}return oi(t,{client:o,authParams:s.authParams,loginSession:s,user:k})}async function Vd(t,e,n,i,r,s){const o=await t.env.data.codes.get(t.var.tenant_id||"",e,"oauth2_state");if(!o)throw new j(400,{message:"State not found"});const c=await t.env.data.logins.get(t.var.tenant_id,o.login_id);if(!c)throw new j(400,{message:"Login not found"});const{redirect_uri:l}=c.authParams;if(!l)throw new j(400,{message:"Redirect uri not found"});const u=be(t,{type:_e.FAILED_LOGIN,description:`Failed connection login: ${r} ${n}, ${i}`});Ye(t,t.env.data.logs.create(t.var.tenant_id,u));const p=new URL(l);return $0(p,{error:n,error_description:i,error_reason:s,error_code:r,state:c.authParams.state}),t.redirect(`${kt(t.env)}enter-email?state=${c.login_id}&error=${n}`)}const Xv=new a.OpenAPIHono().openapi(a.createRoute({tags:["oauth2"],method:"get",path:"/",request:{query:a.z.object({state:a.z.string(),code:a.z.string().optional(),scope:a.z.string().optional(),hd:a.z.string().optional(),error:a.z.string().optional(),error_description:a.z.string().optional(),error_code:a.z.string().optional(),error_reason:a.z.string().optional()})},responses:{302:{description:"Redirect to the client's redirect uri"}}}),async t=>{const{state:e,code:n,error:i,error_description:r,error_code:s,error_reason:o}=t.req.valid("query");if(i)return Vd(t,e,i,r,s,o);if(!n)throw new j(400,{message:"Code is required"});return Ud(t,{code:n,state:e})}).openapi(a.createRoute({tags:["oauth2"],method:"post",path:"/",request:{body:{content:{"application/x-www-form-urlencoded":{schema:a.z.object({state:a.z.string(),code:a.z.string().optional(),scope:a.z.string().optional(),hd:a.z.string().optional(),error:a.z.string().optional(),error_description:a.z.string().optional(),error_code:a.z.string().optional(),error_reason:a.z.string().optional()})}}}},responses:{302:{description:"Redirect to the client's redirect uri"}}}),async t=>{const{state:e,code:n,error:i,error_description:r,error_code:s,error_reason:o}=t.req.valid("form");if(i)return Vd(t,e,i,r,s,o);if(!n)throw new j(400,{message:"Code is required"});return Ud(t,{code:n,state:e})}),Qv=new a.OpenAPIHono().openapi(a.createRoute({tags:["oauth2"],method:"get",path:"/",request:{query:a.z.object({client_id:a.z.string(),returnTo:a.z.string().optional()}),header:a.z.object({cookie:a.z.string().optional()})},responses:{302:{description:"Log the user out"}}}),async t=>{const{client_id:e,returnTo:n}=t.req.valid("query"),i=await t.env.data.clients.get(e);if(!i)return t.text("OK");const r=await t.env.data.clients.get("DEFAULT_CLIENT");t.set("client_id",e),t.set("tenant_id",i.tenant.id);const s=n||t.req.header("referer");if(!s)return t.text("OK");if(!ho(s,[...i.allowed_logout_urls||[],...(r==null?void 0:r.allowed_logout_urls)||[]],{allowPathWildcards:!0}))throw new j(400,{message:"Invalid redirect uri"});const o=t.req.header("cookie");if(o){const l=Bh(i.tenant.id,o);if(l){const u=await t.env.data.sessions.get(i.tenant.id,l);if(u){const p=await t.env.data.users.get(i.tenant.id,u.user_id);p&&(t.set("user_id",p.user_id),t.set("connection",p.connection))}await t.env.data.sessions.remove(i.tenant.id,l)}}const c=be(t,{type:_e.SUCCESS_LOGOUT,description:"User successfully logged out"});return await t.env.data.logs.create(i.tenant.id,c),new Response("Redirecting",{status:302,headers:{"set-cookie":xy(i.tenant.id),location:s}})}),Md=a.z.object({sub:a.z.string(),email:a.z.string().optional(),family_name:a.z.string().optional(),given_name:a.z.string().optional(),email_verified:a.z.boolean()}),ew=new a.OpenAPIHono().openapi(a.createRoute({tags:["oauth2"],method:"get",path:"/",request:{},security:[{Bearer:["openid"]}],responses:{200:{content:{"application/json":{schema:Md}},description:"Userinfo"}}}),async t=>{if(!t.var.user)throw new j(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 j(404,{message:"User not found"});return t.json(Md.parse({...e,sub:e.user_id}))}),tw=new a.OpenAPIHono().openapi(a.createRoute({tags:["well known"],method:"get",path:"/jwks.json",request:{},responses:{200:{content:{"application/json":{schema:pp}},description:"List of tenants"}}}),async t=>{const e=await t.env.data.keys.list(),n=await Promise.all(e.map(async i=>{const s=await new ul(i.cert).publicKey.export(),o=await crypto.subtle.exportKey("jwk",s);return mc.parse({...o,kid:i.kid})}));return t.json({keys:n},{headers:{"access-control-allow-origin":"*","access-control-allow-method":"GET","cache-control":`public, max-age=${lr}, stale-while-revalidate=${lr*2}, stale-if-error=86400`}})}).openapi(a.createRoute({tags:["well known"],method:"get",path:"/openid-configuration",request:{},responses:{200:{content:{"application/json":{schema:Do}},description:"List of tenants"}}}),async t=>{const e=Do.parse({issuer:oy(t.env),authorization_endpoint:`${Ce(t.env)}authorize`,token_endpoint:`${Ce(t.env)}oauth/token`,device_authorization_endpoint:`${Ce(t.env)}oauth/device/code`,userinfo_endpoint:`${Ce(t.env)}userinfo`,mfa_challenge_endpoint:`${Ce(t.env)}mfa/challenge`,jwks_uri:`${Ce(t.env)}.well-known/jwks.json`,registration_endpoint:`${Ce(t.env)}oidc/register`,revocation_endpoint:`${Ce(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=${lr}, stale-while-revalidate=${lr*2}, stale-if-error=86400`}})});function yr(t,e){if(!t||!e||t.length!==e.length)return!1;let n=0;for(let i=0;i<t.length;i++)n|=t.charCodeAt(i)^e.charCodeAt(i);return n===0}const Kh=a.z.object({grant_type:a.z.literal("client_credentials"),scope:a.z.string().optional(),client_secret:a.z.string(),client_id:a.z.string(),audience:a.z.string().optional()});async function nw(t,e){const n=await t.env.data.clients.get(e.client_id);if(!n)throw new j(403,{message:"Invalid client credentials"});if(n.client_secret&&!yr(n.client_secret,e.client_secret))throw new j(403,{message:"Invalid client credentials"});const i={client_id:n.id,scope:e.scope,audience:e.audience},r=await yl(t,{authParams:i,client:n});return t.json(r)}const iw=a.z.object({grant_type:a.z.literal("authorization_code"),client_id:a.z.string(),code:a.z.string(),redirect_uri:a.z.string().optional(),client_secret:a.z.string().optional(),code_verifier:a.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 rw(t,e){const n=await t.env.data.clients.get(e.client_id);if(!n)throw new j(403,{message:"Client not found"});const i=await t.env.data.codes.get(n.tenant.id,e.code,"authorization_code");if(!i||!i.user_id)throw new j(403,{message:"Invalid client credentials"});if(new Date(i.expires_at)<new Date)throw new j(403,{message:"Code expired"});if(i.used_at)throw new j(403,{message:"Code already used"});const r=await t.env.data.logins.get(n.tenant.id,i.login_id);if(!r)throw new j(403,{message:"Invalid login"});if("client_secret"in e){const o=await t.env.data.clients.get("DEFAULT_CLIENT");if(!yr(n.client_secret,e.client_secret)&&!yr(o==null?void 0:o.client_secret,e.client_secret))throw new j(403,{message:"Invalid client credentials"})}else if("code_verifier"in e&&typeof e.code_verifier=="string"&&"code_challenge_method"in r.authParams&&typeof r.authParams.code_challenge_method=="string"){const o=await by(e.code_verifier,r.authParams.code_challenge_method);if(!yr(o,r.authParams.code_challenge||""))throw new j(403,{message:"Invalid client credentials"})}if(r.authParams.redirect_uri&&r.authParams.redirect_uri!==e.redirect_uri)throw new j(403,{message:"Invalid redirect uri"});const s=await t.env.data.users.get(n.tenant.id,i.user_id);if(!s)throw new j(403,{message:"User not found"});return await t.env.data.codes.used(n.tenant.id,e.code),oi(t,{user:s,client:n,loginSession:r,authParams:{...r.authParams,response_mode:Ht.WEB_MESSAGE}})}const sw=a.z.object({grant_type:a.z.literal("refresh_token"),client_id:a.z.string(),redirect_uri:a.z.string().optional(),refresh_token:a.z.string()});async function ow(t,e){const n=await t.env.data.clients.get(e.client_id);if(!n)throw new j(403,{message:"Client not found"});const i=await t.env.data.refreshTokens.get(n.tenant.id,e.refresh_token);if(i){if(i.expires_at&&new Date(i.expires_at)<new Date||i.idle_expires_at&&new Date(i.idle_expires_at)<new Date)throw new j(403,{message:JSON.stringify({error:"invalid_grant",error_description:"Refresh token has expired"})})}else throw new j(403,{message:JSON.stringify({error:"invalid_grant",error_description:"Invalid refresh token"})});const r=await t.env.data.users.get(n.tenant.id,i.user_id);if(!r)throw new j(403,{message:"User not found"});const s=i.resource_servers[0];if(i.idle_expires_at){const o=new Date(Date.now()+2592e6);await t.env.data.refreshTokens.update(n.tenant.id,i.id,{idle_expires_at:o.toISOString(),last_exchanged_at:new Date().toISOString(),device:{...i.device,last_ip:t.req.header["x-real-ip"]||"",last_user_agent:t.req.header["user-agent"]||""}})}return oi(t,{user:r,client:n,refreshToken:i.id,sessionId:i.session_id,authParams:{client_id:n.id,audience:s==null?void 0:s.audience,scope:s==null?void 0:s.scopes,response_mode:Ht.WEB_MESSAGE}})}const Dd=a.z.object({client_id:a.z.string().optional(),client_secret:a.z.string().optional()}),aw=a.z.union([Kh.extend(Dd.shape),a.z.object({grant_type:a.z.literal("authorization_code"),client_id:a.z.string(),code:a.z.string(),redirect_uri:a.z.string(),code_verifier:a.z.string().min(43).max(128)}),a.z.object({grant_type:a.z.literal("authorization_code"),code:a.z.string(),redirect_uri:a.z.string().optional(),...Dd.shape}),a.z.object({grant_type:a.z.literal("refresh_token"),client_id:a.z.string(),refresh_token:a.z.string(),redirect_uri:a.z.string().optional()})]);function cw(t){if(!t)return{};const[e,n]=t.split(" ");if((e==null?void 0:e.toLowerCase())==="basic"&&n){const[i,r]=atob(n).split(":");return{client_id:i,client_secret:r}}return{}}const lw=new a.OpenAPIHono().openapi(a.createRoute({tags:["oauth2"],method:"post",path:"/",request:{body:{content:{"application/x-www-form-urlencoded":{schema:aw}}}},responses:{200:{content:{"application/json":{schema:yp}},description:"Tokens"}}}),async t=>{const e=t.req.valid("form"),n=cw(t.req.header("Authorization")),i={...e,...n};if(!i.client_id)throw new j(400,{message:"client_id is required"});switch(e.grant_type){case hi.AuthorizationCode:return rw(t,iw.parse(i));case hi.ClientCredential:return nw(t,Kh.parse(i));case hi.RefreshToken:return ow(t,sw.parse(i));default:throw new j(400,{message:"Not implemented"})}});var vl={exports:{}};const wl=[{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}],Wh=(t,e=wl,n="!\"#$%&'()*+,-./:;<=>?@[\\\\\\]^_`{|}~")=>{let i=t||"";e[0].minDiversity=0,e[0].minLength=0;const r=[{regex:"[a-z]",message:"lowercase"},{regex:"[A-Z]",message:"uppercase"},{regex:"[0-9]",message:"number"}];n&&r.push({regex:`[${n}]`,message:"symbol"});let s={};s.contains=r.filter(c=>new RegExp(`${c.regex}`).test(i)).map(c=>c.message),s.length=i.length;let o=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,o[0]),s};vl.exports={passwordStrength:Wh,defaultOptions:wl};var uw=vl.exports.passwordStrength=Wh;vl.exports.defaultOptions=wl;function dw(t){return uw(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 _o(t,e){var r;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 j(500,{message:"Email provider not found"});const i=(r=t.env.emailProviders)==null?void 0:r[n.name];if(!i)throw new j(500,{message:"Email provider not found"});await i({emailProvider:n,...e,from:n.default_from_address||`login@${t.env.ISSUER}`})}async function pw(t,e,n,i){const r=await t.env.data.tenants.get(t.var.tenant_id);if(!r)throw new j(500,{message:"Tenant not found"});const s=`${kt(t.env)}reset-password?state=${i}&code=${n}`,o={vendorName:r.name,lng:r.language||"en"};await _o(t,{to:e,subject:"Reset your password",html:`Click here to reset your password: ${kt(t.env)}reset-password?state=${i}&code=${n}`,template:"auth-password-reset",data:{vendorName:r.name,logo:r.logo||"",passwordResetUrl:s,supportUrl:r.support_url||"https://support.sesamy.com",buttonColor:r.primary_color||"#7d68f4",passwordResetTitle:pe("password_reset_title",o),resetPasswordEmailClickToReset:pe("reset_password_email_click_to_reset",o),resetPasswordEmailReset:pe("reset_password_email_reset",o),supportInfo:pe("support_info",o),contactUs:pe("contact_us",o),copyright:pe("copyright",o)}})}async function Gh(t,e,n){const i=await t.env.data.tenants.get(t.var.tenant_id);if(!i)throw new j(500,{message:"Tenant not found"});const r={vendorName:i.name,code:n,lng:i.language||"en"};await _o(t,{to:e,subject:pe("code_email_subject",r),html:`Click here to validate your email: ${kt(t.env)}validate-email`,template:"auth-link",data:{code:n,vendorName:i.name,logo:i.logo||"",supportUrl:i.support_url||"",magicLink:`${Ce(t.env)}passwordless/verify_redirect?ticket=${n}`,buttonColor:i.primary_color||"",welcomeToYourAccount:pe("welcome_to_your_account",r),linkEmailClickToLogin:pe("link_email_click_to_login",r),linkEmailLogin:pe("link_email_login",r),linkEmailOrEnterCode:pe("link_email_or_enter_code",r),codeValid30Mins:pe("code_valid_30_minutes",r),supportInfo:pe("support_info",r),contactUs:pe("contact_us",r),copyright:pe("copyright",r)}});const s=be(t,{type:_e.CODE_LINK_SENT,description:e});Ye(t,t.env.data.logs.create(i.id,s))}async function bl(t,e,n){const i=await t.env.data.tenants.get(t.var.tenant_id);if(!i)throw new j(500,{message:"Tenant not found"});const r={vendorName:i.name,code:n,lng:i.language||"en"};await _o(t,{to:e,subject:pe("code_email_subject",r),html:`Click here to validate your email: ${kt(t.env)}validate-email`,template:"auth-link",data:{code:n,vendorName:i.name,logo:i.logo||"",supportUrl:i.support_url||"",magicLink:`${Ce(t.env)}passwordless/verify_redirect?ticket=${n}`,buttonColor:i.primary_color||"",welcomeToYourAccount:pe("welcome_to_your_account",r),linkEmailClickToLogin:pe("link_email_click_to_login",r),linkEmailLogin:pe("link_email_login",r),linkEmailOrEnterCode:pe("link_email_or_enter_code",r),codeValid30Mins:pe("code_valid_30_minutes",r),supportInfo:pe("support_info",r),contactUs:pe("contact_us",r),copyright:pe("copyright",r)}});const s=be(t,{type:_e.CODE_LINK_SENT,description:e});Ye(t,t.env.data.logs.create(i.id,s))}async function Jh(t,e){const n=await t.env.data.tenants.get(t.var.tenant_id);if(!n)throw new j(500,{message:"Tenant not found"});const i={vendorName:n.name,lng:n.language||"en"};await _o(t,{to:e.email,subject:"Validate your email address",html:`Click here to validate your email: ${kt(t.env)}validate-email`,template:"auth-verify-email",data:{vendorName:n.name,logo:n.logo||"",emailValidationUrl:`${kt(t.env)}validate-email`,supportUrl:n.support_url||"https://support.sesamy.com",buttonColor:n.primary_color||"#7d68f4",welcomeToYourAccount:pe("welcome_to_your_account",i),verifyEmailVerify:pe("verify_email_verify",i),supportInfo:pe("support_info",i),contactUs:pe("contact_us",i),copyright:pe("copyright",i)}})}const fw=new a.OpenAPIHono().openapi(a.createRoute({tags:["dbconnections"],method:"post",path:"/signup",request:{body:{content:{"application/json":{schema:a.z.object({client_id:a.z.string(),connection:a.z.literal("Username-Password-Authentication"),email:a.z.string().transform(t=>t.toLowerCase()),password:a.z.string()})}}}},responses:{200:{content:{"application/json":{schema:a.z.object({_id:a.z.string(),email:a.z.string(),email_verified:a.z.boolean(),app_metadata:a.z.object({}),user_metadata:a.z.object({})})}},description:"Created user"}}}),async t=>{const{email:e,password:n,client_id:i}=t.req.valid("json"),r=await t.env.data.clients.get(i);if(!r)throw new j(400,{message:"Client not found"});if(t.set("client_id",r.id),t.set("tenant_id",r.tenant.id),!dw(n))throw new j(400,{message:"Password does not meet the requirements"});if(await ws({userAdapter:t.env.data.users,tenant_id:r.tenant.id,email:e,provider:"auth2"}))throw new j(400,{message:"Invalid sign up"});const o=await t.env.data.users.create(r.tenant.id,{user_id:`auth2|${wc()}`,email:e,email_verified:!1,provider:"auth2",connection:"Username-Password-Authentication",is_social:!1});t.set("user_id",o.user_id),t.set("username",o.email),t.set("connection",o.connection);const c=await vc.hash(n,10);await t.env.data.passwords.create(r.tenant.id,{user_id:o.user_id,password:c,algorithm:"bcrypt"}),await Jh(t,o);const l=be(t,{type:_e.SUCCESS_SIGNUP,description:"Successful signup"});return await t.env.data.logs.create(r.tenant.id,l),t.json({_id:o.user_id,email:o.email,email_verified:!1,app_metadata:{},user_metadata:{}})}).openapi(a.createRoute({tags:["dbconnections"],method:"post",path:"/change_password",request:{body:{content:{"application/json":{schema:a.z.object({client_id:a.z.string(),connection:a.z.literal("Username-Password-Authentication"),email:a.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"),i=await t.env.data.clients.get(n);if(!i)throw new j(400,{message:"Client not found"});if(t.set("client_id",i.id),t.set("tenant_id",i.tenant.id),!await bc({userAdapter:t.env.data.users,tenant_id:i.tenant.id,email: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},o=await t.env.data.logins.create(i.tenant.id,{expires_at:new Date(Date.now()+us*1e3).toISOString(),authParams:s,...Gn(t.req)});return await pw(t,e,o.login_id,o.authParams.state),t.html("If an account with that email exists, we've sent instructions to reset your password.")});function fs(){const t="1234567890";let e="";for(let n=0;n<6;n+=1)e+=t[Math.floor(Math.random()*10)];return e.toString()}const hw=new a.OpenAPIHono().openapi(a.createRoute({tags:["passwordless"],method:"post",path:"/start",request:{body:{content:{"application/json":{schema:a.z.object({client_id:a.z.string(),connection:a.z.string(),email:a.z.string().transform(t=>t.toLowerCase()),send:a.z.enum(["link","code"]),authParams:_c.omit({client_id:!0})})}}}},responses:{200:{description:"Status"}}}),async t=>{const e=t.req.valid("json"),{env:n}=t,{client_id:i,email:r,send:s,authParams:o}=e,c=await t.env.data.clients.get(i);if(!c)throw new j(400,{message:"Client not found"});t.set("client_id",c.id),t.set("tenant_id",c.tenant.id);const l=await n.data.logins.create(c.tenant.id,{authParams:{...o,client_id:i,username:r},expires_at:new Date(Date.now()+lc).toISOString(),...Gn(t.req)}),u=await n.data.codes.create(c.tenant.id,{code_id:fs(),code_type:"otp",login_id:l.login_id,expires_at:new Date(Date.now()+lc).toISOString()});return s==="link"?await bl(t,r,u.code_id):await Gh(t,r,u.code_id),t.html("OK")}).openapi(a.createRoute({tags:["passwordless"],method:"get",path:"/verify_redirect",request:{query:a.z.object({scope:a.z.string(),response_type:a.z.nativeEnum(un),redirect_uri:a.z.string(),state:a.z.string(),nonce:a.z.string().optional(),verification_code:a.z.string(),connection:a.z.string(),client_id:a.z.string(),email:a.z.string().transform(t=>t.toLowerCase()),audience:a.z.string().optional()})},responses:{302:{description:"Status"}}}),async t=>{const{env:e}=t,{client_id:n,email:i,verification_code:r,redirect_uri:s,state:o,scope:c,audience:l,response_type:u,nonce:p}=t.req.valid("query"),g=await fo(e,n);t.set("client_id",g.id),t.set("tenant_id",g.tenant.id),t.set("connection","email");const _=await e.data.codes.get(g.tenant.id,r,"otp");if(!_)throw new j(400,{message:"Code not found or expired"});if(_.expires_at<new Date().toISOString())throw new j(400,{message:"Code expired"});const k=await e.data.logins.get(g.tenant.id,_.login_id);if(!k||k.authParams.username!==i)throw new j(400,{message:"Code not found or expired"});const h=Gn(t.req);if(k.ip!==h.ip)return t.redirect(`${kt(t.env)}invalid-session?state=${k.login_id}`);if(!ho(s,g.callbacks,{allowPathWildcards:!0}))throw new j(400,{message:`Invalid redirect URI - ${s}`});const m={client_id:n,redirect_uri:s,state:o,nonce:p,scope:c,audience:l,response_type:u},b=await ws({userAdapter:e.data.users,tenant_id:g.tenant.id,email:i,provider:"email"});if(!b)throw new j(400,{message:"User not found"});return oi(t,{user:b,client:g,loginSession:k,authParams:m})});class pi extends j{constructor(n,i){super(n,i);Q(this,"_code");this._code=i==null?void 0:i.code}get code(){return this._code}}async function gw(t,e,n){const{env:i}=t,r=n.username;if(t.set("username",r),!r)throw new j(400,{message:"Username is required"});const s=await bc({userAdapter:t.env.data.users,tenant_id:e.tenant.id,email:r,provider:"auth2"});if(!s){const _=be(t,{type:_e.FAILED_LOGIN_INCORRECT_PASSWORD,description:"Invalid user"});throw Ye(t,t.env.data.logs.create(e.tenant.id,_)),new pi(403,{message:"User not found",code:"USER_NOT_FOUND"})}const o=s.linked_to?await i.data.users.get(e.tenant.id,s.linked_to):s;if(!o)throw new pi(403,{message:"User not found",code:"USER_NOT_FOUND"});t.set("connection",s.connection),t.set("user_id",o.user_id);const{password:c}=await i.data.passwords.get(e.tenant.id,s.user_id);if(!await vc.compare(n.password,c)){const _=be(t,{type:_e.FAILED_LOGIN_INCORRECT_PASSWORD,description:"Invalid password"});throw Ye(t,t.env.data.logs.create(e.tenant.id,_)),new pi(403,{message:"Invalid password",code:"INVALID_PASSWORD"})}if((await i.data.logs.list(e.tenant.id,{page:0,per_page:10,include_totals:!1,q:`user_id:${o.user_id}`})).logs.filter(_=>_.type===_e.FAILED_LOGIN_INCORRECT_PASSWORD&&new Date(_.date)>new Date(Date.now()-1e3*60*5)).length>=3){const _=be(t,{type:_e.FAILED_LOGIN,description:"Too many failed login attempts"});throw Ye(t,t.env.data.logs.create(e.tenant.id,_)),new pi(403,{message:"Too many failed login attempts",code:"TOO_MANY_FAILED_LOGINS"})}if(!s.email_verified&&e.email_validation==="enforced"){await Jh(t,s);const _=be(t,{type:_e.FAILED_LOGIN,description:"Email not verified"});throw await t.env.data.logs.create(e.tenant.id,_),new pi(403,{message:"Email not verified",code:"EMAIL_NOT_VERIFIED"})}const g=be(t,{type:_e.SUCCESS_LOGIN,description:"Successful login",strategy_type:"Username-Password-Authentication",strategy:"Username-Password-Authentication"});return Ye(t,t.env.data.logs.create(e.tenant.id,g)),o}function _w(){const t=new Uint8Array(32);return crypto.getRandomValues(t),ln.encode(t,{includePadding:!1})}function Fd(){return new j(403,{res:new Response(JSON.stringify({error:"access_denied",error_description:"Wrong email or verification code."}),{status:403,headers:{"Content-Type":"application/json"}}),message:"Wrong email or verification code."})}const Hd=30*60*1e3,mw=new a.OpenAPIHono().openapi(a.createRoute({tags:["oauth"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:a.z.union([a.z.object({credential_type:a.z.literal("http://auth0.com/oauth/grant-type/passwordless/otp"),otp:a.z.string(),client_id:a.z.string(),username:a.z.string().transform(t=>t.toLowerCase()),realm:a.z.enum(["email"]),scope:a.z.string().optional()}),a.z.object({credential_type:a.z.literal("http://auth0.com/oauth/grant-type/password-realm"),client_id:a.z.string(),username:a.z.string().transform(t=>t.toLowerCase()),password:a.z.string(),realm:a.z.enum(["Username-Password-Authentication"]),scope:a.z.string().optional()})])}}}},responses:{200:{description:"List of tenants"}}}),async t=>{const e=t.req.valid("json"),{client_id:n,username:i}=e;t.set("username",i);const r=await t.env.data.clients.get(n);if(!r)throw new j(400,{message:"Client not found"});t.set("client_id",n),t.set("tenant_id",r.tenant.id);const s=i.toLocaleLowerCase();let o;if("otp"in e){const p=await t.env.data.codes.get(r.tenant.id,e.otp,"otp");if(!p)throw Fd();const g=await t.env.data.logins.get(r.tenant.id,p.login_id);if(!g||g.authParams.username!==s)throw Fd();o=g}else if("password"in e)await gw(t,r,{username:i,password:e.password,client_id:n}),o=await t.env.data.logins.create(r.tenant.id,{expires_at:new Date(Date.now()+Hd).toISOString(),authParams:{client_id:r.id,username:s},...Gn(t.req)});else throw new j(400,{message:"Code or password required"});const c=_w(),l=De(12),u=await t.env.data.codes.create(r.tenant.id,{code_id:De(),code_type:"ticket",login_id:o.login_id,expires_at:new Date(Date.now()+Hd).toISOString(),code_verifier:[l,c].join("|")});return t.json({login_ticket:u.code_id,co_verifier:c,co_id:l})});function yw(t,e){var i,r,s;if(!t||e.length===0)return!1;const n=((i=Ro(t))==null?void 0:i.host)??null;if(!n)return!1;for(const o of e){let c;if(o.startsWith("http://")||o.startsWith("https://")?c=((r=Ro(o))==null?void 0:r.host)??null:c=((s=Ro("https://"+o))==null?void 0:s.host)??null,n===c)return!0}return!1}function Ro(t){try{return new URL(t)}catch{return null}}async function vw({ctx:t,session:e,client:n,authParams:i,connection:r,login_hint:s}){const o=await t.env.data.logins.create(n.tenant.id,{expires_at:new Date(Date.now()+us*1e3).toISOString(),authParams:i,...Gn(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 oi(t,{client:n,loginSession:o,authParams:i,user:c,sessionId:e.id})}if(r==="email"&&s){const c=fs();return await t.env.data.codes.create(n.tenant.id,{code_id:c,code_type:"otp",login_id:o.login_id,expires_at:new Date(Date.now()+us*1e3).toISOString()}),await bl(t,s,c),t.redirect(`/u/enter-code?state=${o.login_id}`)}return e?t.redirect(`/u/check-account?state=${o.login_id}`):t.redirect(`/u/enter-email?state=${o.login_id}`)}function ww(t){if(t==="Username-Password-Authentication")return"auth2";if(t==="email")return"email";throw new j(403,{message:"Invalid realm"})}async function bw(t,e,n,i,r){var _;const{env:s}=t;t.set("connection",r);const o=await s.data.codes.get(e,n,"ticket");if(!o||o.used_at)throw new j(403,{message:"Ticket not found"});const c=await s.data.logins.get(e,o.login_id);if(!c||!c.authParams.username)throw new j(403,{message:"Session not found"});const l=await s.data.clients.get(c.authParams.client_id);if(!l)throw new j(403,{message:"Client not found"});t.set("client_id",c.authParams.client_id),await s.data.codes.used(e,n);const u=ww(r);let p=await ws({userAdapter:s.data.users,tenant_id:e,email:c.authParams.username,provider:u});p||(p=await s.data.users.create(e,{user_id:`email|${wc()}`,email:c.authParams.username,name:c.authParams.username,provider:"email",connection:"email",email_verified:!0,is_social:!1,last_ip:"",last_login:new Date().toISOString()})),t.set("username",p.email),t.set("user_id",p.user_id);const g=await Fh(t,{user:p,client:l,scope:i.scope,audience:i.audience});return oi(t,{authParams:{scope:(_=c.authParams)==null?void 0:_.scope,...i},loginSession:c,sessionId:g.id,user:p,client:l})}async function qd(t,e){return`<!DOCTYPE html>
|
|
149
|
+
</html>`;return new Response(i,{headers:{"Content-Type":"text/html"}})}async function Vw(t,e,n,r,i){var m,y,f;if(!n.redirect_uri)throw new O(400,{message:"Missing redirect_uri in authParams"});const[s]=await t.env.data.keys.list();if(!s)throw new O(500,{message:"No signing key found"});if(!((m=e.addons)!=null&&m.samlp))throw new O(400,{message:`SAML Addon is not enabled for client ${e.id}`});const{recipient:o,audience:c}=e.addons.samlp,l=n.state||"";if(!o||!l||!r||!n.state)throw new O(400,{message:"Missing recipient or inResponseTo"});const u=JSON.parse(n.state),p=new URL(n.redirect_uri),h=await Mw(t,{issuer:t.env.ISSUER,audience:c||n.client_id,destination:p.toString(),inResponseTo:u.requestId,userId:((f=(y=r.app_metadata)==null?void 0:y.vimeo)==null?void 0:f.user_id)||r.user_id,email:r.email,sessionIndex:i,signature:{privateKeyPem:s.pkcs7,cert:s.cert,kid:s.kid}});return Uw(p.toString(),h,u.relayState)}async function Mw(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,o=e.responseId||`_${qe()}`,c=e.assertionId||`_${qe()}`,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":o,"@_InResponseTo":e.inResponseTo,"@_IssueInstant":i,"@_Version":"2.0"}}];let p=new Lw.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)}function qw(){const t=new Uint8Array(32);return crypto.getRandomValues(t),pn.encode(t,{includePadding:!1})}const vp=["sub","iss","aud","exp","nbf","iat","jti"];async function Hl(t,e){var _,v;const{authParams:n,user:r,client:i,session_id:s}=e,c=(await t.env.data.keys.list()).filter(x=>!x.revoked_at||new Date(x.revoked_at)>new Date),l=c[c.length-1];if(!(l!=null&&l.pkcs7))throw new O(500,{message:"No signing key available"});const u=_v(l.pkcs7),p={aud:n.audience||"default",scope:n.scope||"",sub:(r==null?void 0:r.user_id)||n.client_id,iss:t.env.ISSUER,tenant_id:t.var.tenant_id,sid:s},h=r&&((_=n.scope)!=null&&_.split(" ").includes("openid"))?{aud:n.client_id,sub:r.user_id,iss:t.env.ISSUER,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;(v=t.env.hooks)!=null&&v.onExecuteCredentialsExchange&&await t.env.hooks.onExecuteCredentialsExchange({client:i,user:r,scope:n.scope||"",grant_type:""},{accessToken:{setCustomClaim:(x,N)=>{if(vp.includes(x))throw new Error(`Cannot overwrite reserved claim '${x}'`);p[x]=N}},idToken:{setCustomClaim:(x,N)=>{if(vp.includes(x))throw new Error(`Cannot overwrite reserved claim '${x}'`);h&&(h[x]=N)}},access:{deny:x=>{throw new O(400,{message:`Access denied: ${x}`})}}});const m={includeIssuedTimestamp:!0,expiresIn:new Ul(1,"d"),headers:{kid:l.kid}},y=await fp("RS256",u,p,m),f=h?await fp("RS256",u,h,m):void 0;return{access_token:y,refresh_token:e.refresh_token,id_token:f,token_type:"Bearer",expires_in:86400}}async function Dw(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:qe(),session_id:s,client_id:n.id,expires_at:new Date(Date.now()+jo*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 Cg(t,e){const{user:n,client:r,scope:i,audience:s}=e,o=await t.env.data.sessions.create(r.tenant.id,{id:qe(),user_id:n.user_id,idle_expires_at:new Date(Date.now()+jo*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:[r.id]}),c=i!=null&&i.split(" ").includes("offline_access")?await Dw(t,{...e,session_id:o.id,scope:i,audience:s}):void 0;return{...o,refresh_token:c}}async function $n(t,e){var h;const{authParams:n,user:r,client:i}=e,s=be(t,{type:me.SUCCESS_LOGIN,description:`Successful login for ${r.user_id}`,userId:r.user_id});if(Xe(t,t.env.data.logs.create(i.tenant.id,s)),Xe(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})),e!=null&&e.ticketAuth){if(!e.loginSession)throw new O(500,{message:"Login session not found"});const m=qw(),y=qe(12),f=await t.env.data.codes.create(i.tenant.id,{code_id:qe(),code_type:"ticket",login_id:e.loginSession.login_id,expires_at:new Date(Date.now()+$y).toISOString(),code_verifier:[y,m].join("|")});return t.json({login_ticket:f.code_id,co_verifier:m,co_id:y})}let o=e.refreshToken,c=e.sessionId;if(!c){const m=await Cg(t,{user:r,client:i,scope:n.scope,audience:n.audience});c=m.id,o=(h=m.refresh_token)==null?void 0:h.id}if(e.authParams.response_mode===Wt.SAML_POST)return Vw(t,e.client,e.authParams,r,c);const l=await Hl(t,{authParams:n,user:r,client:i,session_id:c,refresh_token:o}),u=new Headers({"set-cookie":wg(i.tenant.id,c)});if(n.response_mode===Wt.WEB_MESSAGE)return t.json(l,{headers:u});if((n.response_type||fn.CODE)===fn.CODE){if(!e.loginSession)throw new O(500,{message:"Login session not found"});const m=await t.env.data.codes.create(i.tenant.id,{code_id:qe(),user_id:r.user_id,code_type:"authorization_code",login_id:e.loginSession.login_id,expires_at:new Date(Date.now()+Cy*1e3).toISOString()});u.set("location",`${n.redirect_uri}?state=${e.authParams.state}&code=${m.code_id}`)}return new Response("Redirecting",{status:302,headers:u})}function Fw(t){return async(e,n)=>{if(!n.email||!n.email_verified)return t.users.create(e,n);const r=await Ms({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)}}async function Ng(t,e,n){for await(const r of e)if(!(await fetch(r.url,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)})).ok){const s=be(t,{type:me.FAILED_LOGIN_INCORRECT_PASSWORD,description:"Invalid password"});await n.logs.create(t.var.tenant_id,s)}}function Hw(t,e){return async(n,r)=>{const{hooks:i}=await e.hooks.list(n);return await Ng(t,i,{tenant_id:n,user:r,trigger_id:"post-user-registration"}),r}}function Kw(t,e){return async(n,r)=>{const{hooks:i}=await e.hooks.list(n,{q:"trigger_id:pre-user-signup",page:0,per_page:100,include_totals:!1});await Ng(t,i,{tenant_id:n,email:r,trigger_id:"pre-user-signup"})}}function Ww(t,e){return async(n,r)=>{let i=await Fw(e)(n,r);return await Hw(t,e)(n,i),i}}async function $g(t,e,n,r){if(e.disable_sign_ups&&!await Ms({userAdapter:t.env.data.users,tenant_id:e.tenant.id,email:r})){const s=be(t,{type:me.FAILED_SIGNUP,description:"Public signup is disabled"});throw await t.env.data.logs.create(e.tenant.id,s),new O(400,{message:"Signups are disabled for this client"})}await Kw(t,n)(t.var.tenant_id||"",r)}function Gw(t,e){return{...e,users:{...e.users,create:Ww(t,e)}}}async function Jw(t,e,n,r){if(!r.state)throw new O(400,{message:"State not found"});const i=e.connections.find(l=>l.name===n);if(!i){t.set("client_id",e.id);const l=be(t,{type:me.FAILED_LOGIN,description:"Connection not found"});throw await t.env.data.logs.create(e.tenant.id,l),new O(403,{message:"Connection Not Found"})}let s=await t.env.data.logins.get(e.tenant.id,r.state);s||(s=await t.env.data.logins.create(e.tenant.id,{expires_at:new Date(Date.now()+qr*1e3).toISOString(),authParams:r,...pr(t.req)}));const c=await _g(t,i.strategy).getRedirect(t,i);return await t.env.data.codes.create(e.tenant.id,{login_id:s.login_id,code_id:c.code,code_type:"oauth2_state",connection_id:i.id,code_verifier:c.codeVerifier,expires_at:new Date(Date.now()+Ny*1e3).toISOString()}),t.redirect(c.redirectUrl)}async function wp(t,{code:e,state:n}){var f;const{env:r}=t,i=await r.data.codes.get(t.var.tenant_id||"",n,"oauth2_state");if(!i||!i.connection_id)throw new O(403,{message:"State not found"});const s=await r.data.logins.get(t.var.tenant_id||"",i.login_id);if(!s)throw new O(403,{message:"Session not found"});const o=await Bo(r,s.authParams.client_id);t.set("client_id",o.id),t.set("tenant_id",o.tenant.id);const c=o.connections.find(_=>_.id===i.connection_id);if(!c){const _=be(t,{type:me.FAILED_LOGIN,description:"Connection not found"});throw await r.data.logs.create(o.tenant.id,_),new O(403,{message:"Connection not found"})}if(t.set("connection",c.name),!s.authParams.redirect_uri){const _=be(t,{type:me.FAILED_LOGIN,description:"Redirect URI not defined"});throw await r.data.logs.create(o.tenant.id,_),new O(403,{message:"Redirect URI not defined"})}if(!To(s.authParams.redirect_uri,o.callbacks||[],{allowPathWildcards:!0})){const _=`Invalid redirect URI - ${s.authParams.redirect_uri}`,v=be(t,{type:me.FAILED_LOGIN,description:_});throw await r.data.logs.create(o.tenant.id,v),new O(403,{message:_})}const u=await _g(t,c.strategy).validateAuthorizationCodeAndGetUser(t,c,e,i.code_verifier),{sub:p,...h}=u;t.set("user_id",p);const m=((f=u.email)==null?void 0:f.toLocaleLowerCase())||`${c.name}.${p}@${new URL(t.env.ISSUER).hostname}`;t.set("username",m);let y=await Jr({userAdapter:r.data.users,tenant_id:o.tenant.id,email:m,provider:c.name});if(!y){try{await $g(t,o,t.env.data,m)}catch(_){const v=_;throw new O(500,{message:`Failed to run preUserSignupHook: ${v.message}`})}y=await r.data.users.create(o.tenant.id,{user_id:`${c.name}|${p}`,email:m,name:m,provider:c.name,connection:c.name,email_verified:!0,last_ip:"",is_social:!0,last_login:new Date().toISOString(),profileData:JSON.stringify(h)}),t.set("user_id",y.user_id)}return $n(t,{client:o,authParams:s.authParams,loginSession:s,user:y})}async function bp(t,e,n,r,i,s){const o=await t.env.data.codes.get(t.var.tenant_id||"",e,"oauth2_state");if(!o)throw new O(400,{message:"State not found"});const c=await t.env.data.logins.get(t.var.tenant_id,o.login_id);if(!c)throw new O(400,{message:"Login not found"});const{redirect_uri:l}=c.authParams;if(!l)throw new O(400,{message:"Redirect uri not found"});const u=be(t,{type:me.FAILED_LOGIN,description:`Failed connection login: ${i} ${n}, ${r}`});Xe(t,t.env.data.logs.create(t.var.tenant_id,u));const p=new URL(l);return Ey(p,{error:n,error_description:r,error_reason:s,error_code:i,state:c.authParams.state}),t.redirect(`${St(t.env)}enter-email?state=${c.login_id}&error=${n}`)}const Zw=new a.OpenAPIHono().openapi(a.createRoute({tags:["oauth2"],method:"get",path:"/",request:{query:a.z.object({state:a.z.string(),code:a.z.string().optional(),scope:a.z.string().optional(),hd:a.z.string().optional(),error:a.z.string().optional(),error_description:a.z.string().optional(),error_code:a.z.string().optional(),error_reason:a.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:o}=t.req.valid("query");if(r)return bp(t,e,r,i,s,o);if(!n)throw new O(400,{message:"Code is required"});return wp(t,{code:n,state:e})}).openapi(a.createRoute({tags:["oauth2"],method:"post",path:"/",request:{body:{content:{"application/x-www-form-urlencoded":{schema:a.z.object({state:a.z.string(),code:a.z.string().optional(),scope:a.z.string().optional(),hd:a.z.string().optional(),error:a.z.string().optional(),error_description:a.z.string().optional(),error_code:a.z.string().optional(),error_reason:a.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:o}=t.req.valid("form");if(r)return bp(t,e,r,i,s,o);if(!n)throw new O(400,{message:"Code is required"});return wp(t,{code:n,state:e})}),Yw=new a.OpenAPIHono().openapi(a.createRoute({tags:["oauth2"],method:"get",path:"/",request:{query:a.z.object({client_id:a.z.string(),returnTo:a.z.string().optional()}),header:a.z.object({cookie:a.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(!To(s,[...r.allowed_logout_urls||[],...(i==null?void 0:i.allowed_logout_urls)||[]],{allowPathWildcards:!0}))throw new O(400,{message:"Invalid redirect uri"});const o=t.req.header("cookie");if(o){const l=vg(r.tenant.id,o);if(l){const u=await t.env.data.sessions.get(r.tenant.id,l);if(u){const p=await t.env.data.users.get(r.tenant.id,u.user_id);p&&(t.set("user_id",p.user_id),t.set("connection",p.connection))}await t.env.data.sessions.remove(r.tenant.id,l)}}const c=be(t,{type:me.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":wv(r.tenant.id),location:s}})}),kp=a.z.object({sub:a.z.string(),email:a.z.string().optional(),family_name:a.z.string().optional(),given_name:a.z.string().optional(),email_verified:a.z.boolean()}),Xw=new a.OpenAPIHono().openapi(a.createRoute({tags:["oauth2"],method:"get",path:"/",request:{},security:[{Bearer:["openid"]}],responses:{200:{content:{"application/json":{schema:kp}},description:"Userinfo"}}}),async t=>{if(!t.var.user)throw new O(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 O(404,{message:"User not found"});return t.json(kp.parse({...e,sub:e.user_id}))}),Qw=new a.OpenAPIHono().openapi(a.createRoute({tags:["well known"],method:"get",path:"/jwks.json",request:{},responses:{200:{content:{"application/json":{schema:Yp}},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 Rl(r.cert).publicKey.export(),o=await crypto.subtle.exportKey("jwk",s);return Fc.parse({...o,kid:r.kid})}));return t.json({keys:n},{headers:{"access-control-allow-origin":"*","access-control-allow-method":"GET","cache-control":`public, max-age=${Si}, stale-while-revalidate=${Si*2}, stale-if-error=86400`}})}).openapi(a.createRoute({tags:["well known"],method:"get",path:"/openid-configuration",request:{},responses:{200:{content:{"application/json":{schema:fa}},description:"List of tenants"}}}),async t=>{const e=fa.parse({issuer:rv(t.env),authorization_endpoint:`${Ne(t.env)}authorize`,token_endpoint:`${Ne(t.env)}oauth/token`,device_authorization_endpoint:`${Ne(t.env)}oauth/device/code`,userinfo_endpoint:`${Ne(t.env)}userinfo`,mfa_challenge_endpoint:`${Ne(t.env)}mfa/challenge`,jwks_uri:`${Ne(t.env)}.well-known/jwks.json`,registration_endpoint:`${Ne(t.env)}oidc/register`,revocation_endpoint:`${Ne(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=${Si}, stale-while-revalidate=${Si*2}, stale-if-error=86400`}})});function Bi(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 zg=a.z.object({grant_type:a.z.literal("client_credentials"),scope:a.z.string().optional(),client_secret:a.z.string(),client_id:a.z.string(),audience:a.z.string().optional()});async function eb(t,e){const n=await t.env.data.clients.get(e.client_id);if(!n)throw new O(403,{message:"Invalid client credentials"});if(n.client_secret&&!Bi(n.client_secret,e.client_secret))throw new O(403,{message:"Invalid client credentials"});const r={client_id:n.id,scope:e.scope,audience:e.audience},i=await Hl(t,{authParams:r,client:n});return t.json(i)}const tb=a.z.object({grant_type:a.z.literal("authorization_code"),client_id:a.z.string(),code:a.z.string(),redirect_uri:a.z.string().optional(),client_secret:a.z.string().optional(),code_verifier:a.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 nb(t,e){const n=await t.env.data.clients.get(e.client_id);if(!n)throw new O(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 O(403,{message:"Invalid client credentials"});if(new Date(r.expires_at)<new Date)throw new O(403,{message:"Code expired"});if(r.used_at)throw new O(403,{message:"Code already used"});const i=await t.env.data.logins.get(n.tenant.id,r.login_id);if(!i)throw new O(403,{message:"Invalid login"});if("client_secret"in e){const o=await t.env.data.clients.get("DEFAULT_CLIENT");if(!Bi(n.client_secret,e.client_secret)&&!Bi(o==null?void 0:o.client_secret,e.client_secret))throw new O(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 o=await yv(e.code_verifier,i.authParams.code_challenge_method);if(!Bi(o,i.authParams.code_challenge||""))throw new O(403,{message:"Invalid client credentials"})}if(i.authParams.redirect_uri&&i.authParams.redirect_uri!==e.redirect_uri)throw new O(403,{message:"Invalid redirect uri"});const s=await t.env.data.users.get(n.tenant.id,r.user_id);if(!s)throw new O(403,{message:"User not found"});return await t.env.data.codes.used(n.tenant.id,e.code),$n(t,{user:s,client:n,loginSession:i,authParams:{...i.authParams,response_mode:Wt.WEB_MESSAGE}})}const rb=a.z.object({grant_type:a.z.literal("refresh_token"),client_id:a.z.string(),redirect_uri:a.z.string().optional(),refresh_token:a.z.string()});async function ib(t,e){const n=await t.env.data.clients.get(e.client_id);if(!n)throw new O(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 O(403,{message:JSON.stringify({error:"invalid_grant",error_description:"Refresh token has expired"})})}else throw new O(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 O(403,{message:"User not found"});const s=r.resource_servers[0];if(r.idle_expires_at){const o=new Date(Date.now()+2592e6);await t.env.data.refreshTokens.update(n.tenant.id,r.id,{idle_expires_at:o.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 $n(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:Wt.WEB_MESSAGE}})}const xp=a.z.object({client_id:a.z.string().optional(),client_secret:a.z.string().optional()}),sb=a.z.union([zg.extend(xp.shape),a.z.object({grant_type:a.z.literal("authorization_code"),client_id:a.z.string(),code:a.z.string(),redirect_uri:a.z.string(),code_verifier:a.z.string().min(43).max(128)}),a.z.object({grant_type:a.z.literal("authorization_code"),code:a.z.string(),redirect_uri:a.z.string().optional(),...xp.shape}),a.z.object({grant_type:a.z.literal("refresh_token"),client_id:a.z.string(),refresh_token:a.z.string(),redirect_uri:a.z.string().optional()})]);function ob(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 ab=new a.OpenAPIHono().openapi(a.createRoute({tags:["oauth2"],method:"post",path:"/",request:{body:{content:{"application/x-www-form-urlencoded":{schema:sb}}}},responses:{200:{content:{"application/json":{schema:rf}},description:"Tokens"}}}),async t=>{const e=t.req.valid("form"),n=ob(t.req.header("Authorization")),r={...e,...n};if(!r.client_id)throw new O(400,{message:"client_id is required"});switch(e.grant_type){case kr.AuthorizationCode:return nb(t,tb.parse(r));case kr.ClientCredential:return eb(t,zg.parse(r));case kr.RefreshToken:return ib(t,rb.parse(r));default:throw new O(400,{message:"Not implemented"})}});var Kl={exports:{}};const Wl=[{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}],jg=(t,e=Wl,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 o=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,o[0]),s};Kl.exports={passwordStrength:jg,defaultOptions:Wl};var cb=Kl.exports.passwordStrength=jg;Kl.exports.defaultOptions=Wl;function lb(t){return cb(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 Ro(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 O(500,{message:"Email provider not found"});const r=(i=t.env.emailProviders)==null?void 0:i[n.name];if(!r)throw new O(500,{message:"Email provider not found"});await r({emailProvider:n,...e,from:n.default_from_address||`login@${t.env.ISSUER}`})}async function ub(t,e,n,r){const i=await t.env.data.tenants.get(t.var.tenant_id);if(!i)throw new O(500,{message:"Tenant not found"});const s=`${St(t.env)}reset-password?state=${r}&code=${n}`,o={vendorName:i.name,lng:i.language||"en"};await Ro(t,{to:e,subject:"Reset your password",html:`Click here to reset your password: ${St(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:fe("password_reset_title",o),resetPasswordEmailClickToReset:fe("reset_password_email_click_to_reset",o),resetPasswordEmailReset:fe("reset_password_email_reset",o),supportInfo:fe("support_info",o),contactUs:fe("contact_us",o),copyright:fe("copyright",o)}})}async function Og(t,e,n){const r=await t.env.data.tenants.get(t.var.tenant_id);if(!r)throw new O(500,{message:"Tenant not found"});const i={vendorName:r.name,code:n,lng:r.language||"en"};await Ro(t,{to:e,subject:fe("code_email_subject",i),html:`Click here to validate your email: ${St(t.env)}validate-email`,template:"auth-link",data:{code:n,vendorName:r.name,logo:r.logo||"",supportUrl:r.support_url||"",magicLink:`${Ne(t.env)}passwordless/verify_redirect?ticket=${n}`,buttonColor:r.primary_color||"",welcomeToYourAccount:fe("welcome_to_your_account",i),linkEmailClickToLogin:fe("link_email_click_to_login",i),linkEmailLogin:fe("link_email_login",i),linkEmailOrEnterCode:fe("link_email_or_enter_code",i),codeValid30Mins:fe("code_valid_30_minutes",i),supportInfo:fe("support_info",i),contactUs:fe("contact_us",i),copyright:fe("copyright",i)}});const s=be(t,{type:me.CODE_LINK_SENT,description:e});Xe(t,t.env.data.logs.create(r.id,s))}async function Gl(t,e,n){const r=await t.env.data.tenants.get(t.var.tenant_id);if(!r)throw new O(500,{message:"Tenant not found"});const i={vendorName:r.name,code:n,lng:r.language||"en"};await Ro(t,{to:e,subject:fe("code_email_subject",i),html:`Click here to validate your email: ${St(t.env)}validate-email`,template:"auth-link",data:{code:n,vendorName:r.name,logo:r.logo||"",supportUrl:r.support_url||"",magicLink:`${Ne(t.env)}passwordless/verify_redirect?ticket=${n}`,buttonColor:r.primary_color||"",welcomeToYourAccount:fe("welcome_to_your_account",i),linkEmailClickToLogin:fe("link_email_click_to_login",i),linkEmailLogin:fe("link_email_login",i),linkEmailOrEnterCode:fe("link_email_or_enter_code",i),codeValid30Mins:fe("code_valid_30_minutes",i),supportInfo:fe("support_info",i),contactUs:fe("contact_us",i),copyright:fe("copyright",i)}});const s=be(t,{type:me.CODE_LINK_SENT,description:e});Xe(t,t.env.data.logs.create(r.id,s))}async function Bg(t,e){const n=await t.env.data.tenants.get(t.var.tenant_id);if(!n)throw new O(500,{message:"Tenant not found"});const r={vendorName:n.name,lng:n.language||"en"};await Ro(t,{to:e.email,subject:"Validate your email address",html:`Click here to validate your email: ${St(t.env)}validate-email`,template:"auth-verify-email",data:{vendorName:n.name,logo:n.logo||"",emailValidationUrl:`${St(t.env)}validate-email`,supportUrl:n.support_url||"https://support.sesamy.com",buttonColor:n.primary_color||"#7d68f4",welcomeToYourAccount:fe("welcome_to_your_account",r),verifyEmailVerify:fe("verify_email_verify",r),supportInfo:fe("support_info",r),contactUs:fe("contact_us",r),copyright:fe("copyright",r)}})}const db=new a.OpenAPIHono().openapi(a.createRoute({tags:["dbconnections"],method:"post",path:"/signup",request:{body:{content:{"application/json":{schema:a.z.object({client_id:a.z.string(),connection:a.z.literal("Username-Password-Authentication"),email:a.z.string().transform(t=>t.toLowerCase()),password:a.z.string()})}}}},responses:{200:{content:{"application/json":{schema:a.z.object({_id:a.z.string(),email:a.z.string(),email_verified:a.z.boolean(),app_metadata:a.z.object({}),user_metadata:a.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 O(400,{message:"Client not found"});if(t.set("client_id",i.id),t.set("tenant_id",i.tenant.id),!lb(n))throw new O(400,{message:"Password does not meet the requirements"});if(await Jr({userAdapter:t.env.data.users,tenant_id:i.tenant.id,email:e,provider:"auth2"}))throw new O(400,{message:"Invalid sign up"});const o=await t.env.data.users.create(i.tenant.id,{user_id:`auth2|${Wc()}`,email:e,email_verified:!1,provider:"auth2",connection:"Username-Password-Authentication",is_social:!1});t.set("user_id",o.user_id),t.set("username",o.email),t.set("connection",o.connection);const c=await Kc.hash(n,10);await t.env.data.passwords.create(i.tenant.id,{user_id:o.user_id,password:c,algorithm:"bcrypt"}),await Bg(t,o);const l=be(t,{type:me.SUCCESS_SIGNUP,description:"Successful signup"});return await t.env.data.logs.create(i.tenant.id,l),t.json({_id:o.user_id,email:o.email,email_verified:!1,app_metadata:{},user_metadata:{}})}).openapi(a.createRoute({tags:["dbconnections"],method:"post",path:"/change_password",request:{body:{content:{"application/json":{schema:a.z.object({client_id:a.z.string(),connection:a.z.literal("Username-Password-Authentication"),email:a.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 O(400,{message:"Client not found"});if(t.set("client_id",r.id),t.set("tenant_id",r.tenant.id),!await Gc({userAdapter:t.env.data.users,tenant_id:r.tenant.id,email: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},o=await t.env.data.logins.create(r.tenant.id,{expires_at:new Date(Date.now()+qr*1e3).toISOString(),authParams:s,...pr(t.req)});return await ub(t,e,o.login_id,o.authParams.state),t.html("If an account with that email exists, we've sent instructions to reset your password.")});function Os(){const t="1234567890";let e="";for(let n=0;n<6;n+=1)e+=t[Math.floor(Math.random()*10)];return e.toString()}async function Jl(t,e,n,r,i,s){const{env:o}=t,c=await o.data.codes.get(e.tenant.id,i,"otp");if(!c)throw new O(400,{message:"Code not found or expired"});if(c.expires_at<new Date().toISOString())throw new O(400,{message:"Code expired"});const l=await o.data.logins.get(e.tenant.id,c.login_id);if(!l||l.authParams.username!==r)throw new O(400,{message:"Code not found or expired"});const u=pr(t.req);if(l.ip!==u.ip)return t.redirect(`${St(t.env)}invalid-session?state=${l.login_id}`);if(n.redirect_uri&&!To(n.redirect_uri,e.callbacks,{allowPathWildcards:!0}))throw new O(400,{message:`Invalid redirect URI - ${n.redirect_uri}`});const p=await Jr({userAdapter:o.data.users,tenant_id:e.tenant.id,email:r,provider:"email"});if(!p)throw new O(400,{message:"User not found"});return $n(t,{user:p,client:e,loginSession:l,authParams:n,ticketAuth:s})}const pb=new a.OpenAPIHono().openapi(a.createRoute({tags:["passwordless"],method:"post",path:"/start",request:{body:{content:{"application/json":{schema:a.z.object({client_id:a.z.string(),connection:a.z.string(),email:a.z.string().transform(t=>t.toLowerCase()),send:a.z.enum(["link","code"]),authParams:Dc.omit({client_id:!0})})}}}},responses:{200:{description:"Status"}}}),async t=>{const e=t.req.valid("json"),{env:n}=t,{client_id:r,email:i,send:s,authParams:o}=e,c=await t.env.data.clients.get(r);if(!c)throw new O(400,{message:"Client not found"});t.set("client_id",c.id),t.set("tenant_id",c.tenant.id);const l=await n.data.logins.create(c.tenant.id,{authParams:{...o,client_id:r,username:i},expires_at:new Date(Date.now()+Bc).toISOString(),...pr(t.req)}),u=await n.data.codes.create(c.tenant.id,{code_id:Os(),code_type:"otp",login_id:l.login_id,expires_at:new Date(Date.now()+Bc).toISOString()});return s==="link"?await Gl(t,i,u.code_id):await Og(t,i,u.code_id),t.html("OK")}).openapi(a.createRoute({tags:["passwordless"],method:"get",path:"/verify_redirect",request:{query:a.z.object({scope:a.z.string(),response_type:a.z.nativeEnum(fn),redirect_uri:a.z.string(),state:a.z.string(),nonce:a.z.string().optional(),verification_code:a.z.string(),connection:a.z.string(),client_id:a.z.string(),email:a.z.string().transform(t=>t.toLowerCase()),audience:a.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:o,scope:c,audience:l,response_type:u,nonce:p}=t.req.valid("query"),h=await Bo(e,n);return t.set("client_id",h.id),t.set("tenant_id",h.tenant.id),t.set("connection","email"),Jl(t,h,{client_id:n,redirect_uri:s,state:o,nonce:p,scope:c,audience:l,response_type:u},r,i)});class vr extends O{constructor(n,r){super(n,r);ee(this,"_code");this._code=r==null?void 0:r.code}get code(){return this._code}}async function Tg(t,e,n,r,i){const{env:s}=t,o=n.username;if(t.set("username",o),!o)throw new O(400,{message:"Username is required"});const c=await Gc({userAdapter:t.env.data.users,tenant_id:e.tenant.id,email:o,provider:"auth2"});if(!c){const f=be(t,{type:me.FAILED_LOGIN_INCORRECT_PASSWORD,description:"Invalid user"});throw Xe(t,t.env.data.logs.create(e.tenant.id,f)),new vr(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 vr(403,{message:"User not found",code:"USER_NOT_FOUND"});t.set("connection",c.connection),t.set("user_id",l.user_id);const{password:u}=await s.data.passwords.get(e.tenant.id,c.user_id);if(!await Kc.compare(n.password,u)){const f=be(t,{type:me.FAILED_LOGIN_INCORRECT_PASSWORD,description:"Invalid password"});throw Xe(t,t.env.data.logs.create(e.tenant.id,f)),new vr(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(f=>f.type===me.FAILED_LOGIN_INCORRECT_PASSWORD&&new Date(f.date)>new Date(Date.now()-1e3*60*5)).length>=3){const f=be(t,{type:me.FAILED_LOGIN,description:"Too many failed login attempts"});throw Xe(t,t.env.data.logs.create(e.tenant.id,f)),new vr(403,{message:"Too many failed login attempts",code:"TOO_MANY_FAILED_LOGINS"})}if(!c.email_verified&&e.email_validation==="enforced"){await Bg(t,c);const f=be(t,{type:me.FAILED_LOGIN,description:"Email not verified"});throw await t.env.data.logs.create(e.tenant.id,f),new vr(403,{message:"Email not verified",code:"EMAIL_NOT_VERIFIED"})}const y=be(t,{type:me.SUCCESS_LOGIN,description:"Successful login",strategy_type:"Username-Password-Authentication",strategy:"Username-Password-Authentication"});return Xe(t,t.env.data.logs.create(e.tenant.id,y)),$n(t,{client:e,authParams:n,user:l,ticketAuth:i,loginSession:r})}const fb=new a.OpenAPIHono().openapi(a.createRoute({tags:["oauth"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:a.z.union([a.z.object({credential_type:a.z.literal("http://auth0.com/oauth/grant-type/passwordless/otp"),otp:a.z.string(),client_id:a.z.string(),username:a.z.string().transform(t=>t.toLowerCase()),realm:a.z.enum(["email"]),scope:a.z.string().optional()}),a.z.object({credential_type:a.z.literal("http://auth0.com/oauth/grant-type/password-realm"),client_id:a.z.string(),username:a.z.string().transform(t=>t.toLowerCase()),password:a.z.string(),realm:a.z.enum(["Username-Password-Authentication"]),scope:a.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 O(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 Jl(t,i,{client_id:n,username:s},s,e.otp,!0);if("password"in e){const o=await t.env.data.logins.create(i.tenant.id,{expires_at:new Date(Date.now()+qr*1e3).toISOString(),authParams:{client_id:n,username:s},...pr(t.req)});return Tg(t,i,{username:s,password:e.password,client_id:n},o,!0)}else throw new O(400,{message:"Code or password required"})});function hb(t,e){var r,i,s;if(!t||e.length===0)return!1;const n=((r=na(t))==null?void 0:r.host)??null;if(!n)return!1;for(const o of e){let c;if(o.startsWith("http://")||o.startsWith("https://")?c=((i=na(o))==null?void 0:i.host)??null:c=((s=na("https://"+o))==null?void 0:s.host)??null,n===c)return!0}return!1}function na(t){try{return new URL(t)}catch{return null}}async function gb({ctx:t,session:e,client:n,authParams:r,connection:i,login_hint:s}){const o=await t.env.data.logins.create(n.tenant.id,{expires_at:new Date(Date.now()+qr*1e3).toISOString(),authParams:r,...pr(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 $n(t,{client:n,loginSession:o,authParams:r,user:c,sessionId:e.id})}if(i==="email"&&s){const c=Os();return await t.env.data.codes.create(n.tenant.id,{code_id:c,code_type:"otp",login_id:o.login_id,expires_at:new Date(Date.now()+qr*1e3).toISOString()}),await Gl(t,s,c),t.redirect(`/u/enter-code?state=${o.login_id}`)}return e?t.redirect(`/u/check-account?state=${o.login_id}`):t.redirect(`/u/enter-email?state=${o.login_id}`)}function mb(t){if(t==="Username-Password-Authentication")return"auth2";if(t==="email")return"email";throw new O(403,{message:"Invalid realm"})}async function _b(t,e,n,r,i){var m;const{env:s}=t;t.set("connection",i);const o=await s.data.codes.get(e,n,"ticket");if(!o||o.used_at)throw new O(403,{message:"Ticket not found"});const c=await s.data.logins.get(e,o.login_id);if(!c||!c.authParams.username)throw new O(403,{message:"Session not found"});const l=await s.data.clients.get(c.authParams.client_id);if(!l)throw new O(403,{message:"Client not found"});t.set("client_id",c.authParams.client_id),await s.data.codes.used(e,n);const u=mb(i);let p=await Jr({userAdapter:s.data.users,tenant_id:e,email:c.authParams.username,provider:u});p||(p=await s.data.users.create(e,{user_id:`email|${Wc()}`,email:c.authParams.username,name:c.authParams.username,provider:"email",connection:"email",email_verified:!0,is_social:!1,last_ip:"",last_login:new Date().toISOString()})),t.set("username",p.email),t.set("user_id",p.user_id);const h=await Cg(t,{user:p,client:l,scope:r.scope,audience:r.audience});return $n(t,{authParams:{scope:(m=c.authParams)==null?void 0:m.scope,...r},loginSession:c,sessionId:h.id,user:p,client:l})}async function Sp(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 kw({ctx:t,client:e,session:n,redirect_uri:i,state:r,nonce:s,code_challenge_method:o,code_challenge:c,audience:l,scope:u,response_type:p}){const{env:g}=t,_=new URL(i);if(n!=null&&n.expires_at&&new Date(n.expires_at)>new Date){t.set("user_id",n.user_id);const h=new Headers,m=Th(e.tenant.id,n.id);h.set("set-cookie",m);const b=await g.data.users.get(e.tenant.id,n.user_id);if(b){t.set("username",b.email),t.set("connection",b.connection);const S=await yl(t,{client:e,authParams:{client_id:e.id,audience:l,code_challenge_method:o,code_challenge:c,scope:u,state:r,nonce:s,response_type:p},user:b,session_id:n.id});await g.data.sessions.update(e.tenant.id,n.id,{used_at:new Date().toISOString(),expires_at:new Date(Date.now()+uo*1e3).toISOString()});const O=be(t,{type:_e.SUCCESS_SILENT_AUTH,description:"Successful silent authentication"});return await t.env.data.logs.create(e.tenant.id,O),t.html(qd(`${_.protocol}//${_.host}`,JSON.stringify(S)),{headers:h})}}const k=be(t,{type:_e.FAILED_SILENT_AUTH,description:"Login required"});return await t.env.data.logs.create(e.tenant.id,k),t.html(qd(`${_.protocol}//${_.host}`,JSON.stringify({error:"login_required",error_description:"Login required",state:r})))}const xw=new a.OpenAPIHono().openapi(a.createRoute({tags:["oauth"],method:"get",path:"/",request:{query:a.z.object({client_id:a.z.string(),vendor_id:a.z.string().optional(),redirect_uri:a.z.string(),scope:a.z.string().optional(),state:a.z.string(),prompt:a.z.string().optional(),response_mode:a.z.nativeEnum(Ht).optional(),response_type:a.z.nativeEnum(un).optional(),audience:a.z.string().optional(),connection:a.z.string().optional(),nonce:a.z.string().optional(),max_age:a.z.string().optional(),login_ticket:a.z.string().optional(),code_challenge_method:a.z.nativeEnum(ms).optional(),code_challenge:a.z.string().optional(),realm:a.z.string().optional(),auth0Client:a.z.string().optional(),login_hint:a.z.string().optional(),ui_locales:a.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:i,redirect_uri:r,scope:s,state:o,audience:c,nonce:l,connection:u,response_type:p,response_mode:g,code_challenge:_,code_challenge_method:k,prompt:h,login_ticket:m,realm:b,auth0Client:S,login_hint:O,ui_locales:T}=t.req.valid("query");t.set("log","authorize");const K=await fo(e,n);t.set("client_id",K.id),t.set("tenant_id",K.tenant.id);const ce={redirect_uri:r,scope:s,state:o,client_id:n,vendor_id:i,audience:c,nonce:l,prompt:h,response_type:p,response_mode:g,code_challenge:_,code_challenge_method:k,username:O,ui_locales:T},he=t.req.header("origin");if(he&&!yw(he,K.web_origins||[]))throw new j(403,{message:`Origin ${he} not allowed`});if(ce.redirect_uri&&!ho(ce.redirect_uri,K.callbacks||[],{allowPathWildcards:!0}))throw new j(400,{message:`Invalid redirect URI - ${ce.redirect_uri}`});const ue=Bh(K.tenant.id,t.req.header("cookie")),Le=ue?await e.data.sessions.get(K.tenant.id,ue):void 0;if(h=="none"){if(!p)throw new j(400,{message:"Missing response_type"});return kw({ctx:t,session:Le||void 0,redirect_uri:r,state:o,response_type:p,client:K,nonce:l,code_challenge_method:k,code_challenge:_,audience:c,scope:s})}return u&&u!=="email"?Yv(t,K,u,ce):m?bw(t,K.tenant.id,m,ce,b):vw({ctx:t,client:K,auth0Client:S,authParams:ce,session:Le||void 0,connection:u,login_hint:O})});function Sw(){const t=new a.OpenAPIHono;t.use(xh(t));const e=t.route("/v2/logout",Qv).route("/userinfo",ew).route("/.well-known",tw).route("/oauth/token",lw).route("/dbconnections",fw).route("/passwordless",hw).route("/co/authenticate",mw).route("/authorize",xw).route("/callback",Xv);return e.doc("/spec",{openapi:"3.0.0",info:{version:"1.0.0",title:"Oauth API"}}),kh(e),e}var Aw={Stringify:1,BeforeStream:2,Stream:3},dt=(t,e)=>{const n=new String(t);return n.isEscaped=!0,n.callbacks=e,n},Iw=/[&<>'"]/,Zh=async(t,e)=>{let n="";e||(e=[]);const i=await Promise.all(t);for(let r=i.length-1;n+=i[r],r--,!(r<0);r--){let s=i[r];typeof s=="object"&&e.push(...s.callbacks||[]);const o=s.isEscaped;if(s=await(typeof s=="object"?s.toString():s),typeof s=="object"&&e.push(...s.callbacks||[]),s.isEscaped??o)n+=s;else{const c=[n];Ft(s,c),n=c[0]}}return dt(n,e)},Ft=(t,e)=>{const n=t.search(Iw);if(n===-1){e[0]+=t;return}let i,r,s=0;for(r=n;r<t.length;r++){switch(t.charCodeAt(r)){case 34:i=""";break;case 39:i="'";break;case 38:i="&";break;case 60:i="<";break;case 62:i=">";break;default:continue}e[0]+=t.substring(s,r)+i,s=r+1}e[0]+=t.substring(s,r)},Yh=t=>{const e=t.callbacks;if(!(e!=null&&e.length))return t;const n=[t],i={};return e.forEach(r=>r({phase:Aw.Stringify,buffer:n,context:i})),n[0]},Ew=(t,...e)=>{const n=[""];for(let i=0,r=t.length-1;i<r;i++){n[0]+=t[i];const s=Array.isArray(e[i])?e[i].flat(1/0):[e[i]];for(let o=0,c=s.length;o<c;o++){const l=s[o];if(typeof l=="string")Ft(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 u=l.toString();u instanceof Promise?n.unshift("",u):n[0]+=u}else l instanceof Promise?n.unshift("",l):Ft(l.toString(),n)}}}return n[0]+=t[t.length-1],n.length===1?"callbacks"in n?dt(Yh(dt(n[0],n.callbacks))):dt(n[0]):Zh(n,n.callbacks)},Xh=Symbol("RENDERER"),Cw=Symbol("ERROR_HANDLER"),zw=Symbol("INTERNAL"),hs=Symbol("PERMALINK"),Kd=t=>(t[zw]=!0,t),$w=t=>({value:e,children:n})=>{if(!n)return;const i={children:[{tag:Kd(()=>{t.push(e)}),props:{}}]};Array.isArray(n)?i.children.push(...n.flat()):i.children.push(n),i.children.push({tag:Kd(()=>{t.pop()}),props:{}});const r={tag:"",props:i,type:""};return r[Cw]=s=>{throw t.pop(),s},r},pc=[],jw=t=>{const e=[t],n=i=>{e.push(i.value);let r;try{r=i.children?(Array.isArray(i.children)?new tg("",{},i.children):i.children).toString():""}finally{e.pop()}return r instanceof Promise?r.then(s=>dt(s,s.callbacks)):dt(r)};return n.values=e,n.Provider=n,n[Xh]=$w(e),pc.push(n),n},mo=t=>t.values.at(-1),Nw={title:[],script:["src"],style:["data-href"],link:["href"],meta:["name","httpEquiv","charset","itemProp"]},Wd={},Ow="data-precedence",yo=t=>Array.isArray(t)?t:[t],Gd=new WeakMap,Jd=(t,e,n,i)=>({buffer:r,context:s})=>{if(!r)return;const o=Gd.get(s)||{};Gd.set(s,o);const c=o[t]||(o[t]=[]);let l=!1;const u=Nw[t];if(u.length>0){e:for(const[,p]of c)for(const g of u)if(((p==null?void 0:p[g])??null)===(n==null?void 0:n[g])){l=!0;break e}}if(l?r[0]=r[0].replaceAll(e,""):u.length>0?c.push([e,n,i]):c.unshift([e,n,i]),r[0].indexOf("</head>")!==-1){let p;if(i===void 0)p=c.map(([g])=>g);else{const g=[];p=c.map(([_,,k])=>{let h=g.indexOf(k);return h===-1&&(g.push(k),h=g.length-1),[_,h]}).sort((_,k)=>_[1]-k[1]).map(([_])=>_)}p.forEach(g=>{r[0]=r[0].replaceAll(g,"")}),r[0]=r[0].replace(/(?=<\/head>)/,p.join(""))}},tr=(t,e,n)=>dt(new pt(t,n,yo(e??[])).toString()),nr=(t,e,n,i)=>{if("itemProp"in n)return tr(t,e,n);let{precedence:r,blocking:s,...o}=n;r=i?r??"":void 0,i&&(o[Ow]=r);const c=new pt(t,o,yo(e||[])).toString();return c instanceof Promise?c.then(l=>dt(c,[...l.callbacks||[],Jd(t,l,o,r)])):dt(c,[Jd(t,c,o,r)])},Bw=({children:t,...e})=>{const n=kl();if(n){const i=mo(n);if(i==="svg"||i==="head")return new pt("title",e,yo(t??[]))}return nr("title",t,e,!1)},Tw=({children:t,...e})=>{const n=kl();return["src","async"].some(i=>!e[i])||n&&mo(n)==="head"?tr("script",t,e):nr("script",t,e,!1)},Rw=({children:t,...e})=>["href","precedence"].every(n=>n in e)?(e["data-href"]=e.href,delete e.href,nr("style",t,e,!0)):tr("style",t,e),Pw=({children:t,...e})=>["onLoad","onError"].some(n=>n in e)||e.rel==="stylesheet"&&(!("precedence"in e)||"disabled"in e)?tr("link",t,e):nr("link",t,e,"precedence"in e),Lw=({children:t,...e})=>{const n=kl();return n&&mo(n)==="head"?tr("meta",t,e):nr("meta",t,e,!1)},Qh=(t,{children:e,...n})=>new pt(t,n,yo(e??[])),Uw=t=>(typeof t.action=="function"&&(t.action=hs in t.action?t.action[hs]:void 0),Qh("form",t)),eg=(t,e)=>(typeof e.formAction=="function"&&(e.formAction=hs in e.formAction?e.formAction[hs]:void 0),Qh(t,e)),Vw=t=>eg("input",t),Mw=t=>eg("button",t);const Po=Object.freeze(Object.defineProperty({__proto__:null,button:Mw,form:Uw,input:Vw,link:Pw,meta:Lw,script:Tw,style:Rw,title:Bw},Symbol.toStringTag,{value:"Module"}));var Dw=new Map([["className","class"],["htmlFor","for"],["crossOrigin","crossorigin"],["httpEquiv","http-equiv"],["itemProp","itemprop"],["fetchPriority","fetchpriority"],["noModule","nomodule"],["formAction","formaction"]]),Zd=t=>Dw.get(t)||t,Fw=(t,e)=>{for(const[n,i]of Object.entries(t)){const r=n[0]==="-"||!/[A-Z]/.test(n)?n:n.replace(/[A-Z]/g,s=>`-${s.toLowerCase()}`);e(r,i==null?null:typeof i=="number"?r.match(/^(?:a|border-im|column(?:-c|s)|flex(?:$|-[^b])|grid-(?:ar|[^a])|font-w|li|or|sca|st|ta|wido|z)|ty$/)?`${i}`:`${i}px`:i)}},Ri=void 0,kl=()=>Ri,Hw=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,qw=["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],Kw=["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"],xl=(t,e)=>{for(let n=0,i=t.length;n<i;n++){const r=t[n];if(typeof r=="string")Ft(r,e);else{if(typeof r=="boolean"||r===null||r===void 0)continue;r instanceof pt?r.toStringToBuffer(e):typeof r=="number"||r.isEscaped?e[0]+=r:r instanceof Promise?e.unshift("",r):xl(r,e)}}},pt=class{constructor(t,e,n){Q(this,"tag");Q(this,"props");Q(this,"key");Q(this,"children");Q(this,"isEscaped",!0);Q(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(([i,r])=>{i.values.push(r)});try{this.toStringToBuffer(t)}finally{(n=this.localContexts)==null||n.forEach(([i])=>{i.values.pop()})}return t.length===1?"callbacks"in t?Yh(dt(t[0],t.callbacks)).toString():t[0]:Zh(t,t.callbacks)}toStringToBuffer(t){const e=this.tag,n=this.props;let{children:i}=this;t[0]+=`<${e}`;const r=Ri&&mo(Ri)==="svg"?s=>Hw(Zd(s)):s=>Zd(s);for(let[s,o]of Object.entries(n))if(s=r(s),s!=="children"){if(s==="style"&&typeof o=="object"){let c="";Fw(o,(l,u)=>{u!=null&&(c+=`${c?";":""}${l}:${u}`)}),t[0]+=' style="',Ft(c,t),t[0]+='"'}else if(typeof o=="string")t[0]+=` ${s}="`,Ft(o,t),t[0]+='"';else if(o!=null)if(typeof o=="number"||o.isEscaped)t[0]+=` ${s}="${o}"`;else if(typeof o=="boolean"&&Kw.includes(s))o&&(t[0]+=` ${s}=""`);else if(s==="dangerouslySetInnerHTML"){if(i.length>0)throw"Can only set one of `children` or `props.dangerouslySetInnerHTML`.";i=[dt(o.__html)]}else if(o instanceof Promise)t[0]+=` ${s}="`,t.unshift('"',o);else if(typeof o=="function"){if(!s.startsWith("on"))throw`Invalid prop '${s}' of type 'function' supplied to '${e}'.`}else t[0]+=` ${s}="`,Ft(o.toString(),t),t[0]+='"'}if(qw.includes(e)&&i.length===0){t[0]+="/>";return}t[0]+=">",xl(i,t),t[0]+=`</${e}>`}},Lo=class extends pt{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(pc.length===0)t.unshift("",n);else{const i=pc.map(r=>[r,r.values.at(-1)]);t.unshift("",n.then(r=>(r instanceof pt&&(r.localContexts=i),r)))}else n instanceof pt?n.toStringToBuffer(t):typeof n=="number"||n.isEscaped?(t[0]+=n,n.callbacks&&(t.callbacks||(t.callbacks=[]),t.callbacks.push(...n.callbacks))):Ft(n,t)}},tg=class extends pt{toStringToBuffer(t){xl(this.children,t)}},Yd=!1,Uo=(t,e,n)=>{if(!Yd){for(const i in Wd)Po[i][Xh]=Wd[i];Yd=!0}return typeof t=="function"?new Lo(t,e,n):Po[t]?new Lo(Po[t],e,n):t==="svg"||t==="head"?(Ri||(Ri=jw("")),new pt(t,e,[new Lo(Ri,{value:t},n)])):new pt(t,e,n)},ng=({children:t})=>new tg("",{children:t},Array.isArray(t)?t:t?[t]:[]);function P(t,e,n){let i;if(!e||!("children"in e))i=Uo(t,e,[]);else{const r=e.children;i=Array.isArray(r)?Uo(t,e,r):Uo(t,e,[r])}return i.key=n,i}const Ww=({vendorSettings:t})=>t!=null&&t.logoUrl?P("div",{className:"flex h-9 items-center",children:P("img",{src:t.logoUrl,className:"max-h-full",alt:"Vendor logo"})}):P(ng,{}),Gw=({vendorSettings:t})=>{const{termsAndConditionsUrl:e}=t;return P("div",{className:"mt-8",children:e&&P("div",{className:"text-xs text-gray-300",children:[se.t("agree_to")," ",P("a",{href:e,className:"text-primary hover:underline",target:"_blank",rel:"noreferrer",children:se.t("terms")})]})})};var ig={exports:{}};/*!
|
|
192
|
+
</html>`}async function yb({ctx:t,client:e,session:n,redirect_uri:r,state:i,nonce:s,code_challenge_method:o,code_challenge:c,audience:l,scope:u,response_type:p}){const{env:h}=t,m=new URL(r);if(n!=null&&n.expires_at&&new Date(n.expires_at)>new Date){t.set("user_id",n.user_id);const f=new Headers,_=wg(e.tenant.id,n.id);f.set("set-cookie",_);const v=await h.data.users.get(e.tenant.id,n.user_id);if(v){t.set("username",v.email),t.set("connection",v.connection);const x=await Hl(t,{client:e,authParams:{client_id:e.id,audience:l,code_challenge_method:o,code_challenge:c,scope:u,state:i,nonce:s,response_type:p},user:v,session_id:n.id});await h.data.sessions.update(e.tenant.id,n.id,{used_at:new Date().toISOString(),expires_at:new Date(Date.now()+jo*1e3).toISOString()});const N=be(t,{type:me.SUCCESS_SILENT_AUTH,description:"Successful silent authentication"});return await t.env.data.logs.create(e.tenant.id,N),t.html(Sp(`${m.protocol}//${m.host}`,JSON.stringify(x)),{headers:f})}}const y=be(t,{type:me.FAILED_SILENT_AUTH,description:"Login required"});return await t.env.data.logs.create(e.tenant.id,y),t.html(Sp(`${m.protocol}//${m.host}`,JSON.stringify({error:"login_required",error_description:"Login required",state:i})))}const vb=new a.OpenAPIHono().openapi(a.createRoute({tags:["oauth"],method:"get",path:"/",request:{query:a.z.object({client_id:a.z.string(),vendor_id:a.z.string().optional(),redirect_uri:a.z.string(),scope:a.z.string().optional(),state:a.z.string(),prompt:a.z.string().optional(),response_mode:a.z.nativeEnum(Wt).optional(),response_type:a.z.nativeEnum(fn).optional(),audience:a.z.string().optional(),connection:a.z.string().optional(),nonce:a.z.string().optional(),max_age:a.z.string().optional(),login_ticket:a.z.string().optional(),code_challenge_method:a.z.nativeEnum(Us).optional(),code_challenge:a.z.string().optional(),realm:a.z.string().optional(),auth0Client:a.z.string().optional(),login_hint:a.z.string().optional(),ui_locales:a.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:o,audience:c,nonce:l,connection:u,response_type:p,response_mode:h,code_challenge:m,code_challenge_method:y,prompt:f,login_ticket:_,realm:v,auth0Client:x,login_hint:N,ui_locales:B}=t.req.valid("query");t.set("log","authorize");const R=await Bo(e,n);t.set("client_id",R.id),t.set("tenant_id",R.tenant.id);const te={redirect_uri:i,scope:s,state:o,client_id:n,vendor_id:r,audience:c,nonce:l,prompt:f,response_type:p,response_mode:h,code_challenge:m,code_challenge_method:y,username:N,ui_locales:B},pe=t.req.header("origin");if(pe&&!hb(pe,R.web_origins||[]))throw new O(403,{message:`Origin ${pe} not allowed`});if(te.redirect_uri&&!To(te.redirect_uri,R.callbacks||[],{allowPathWildcards:!0}))throw new O(400,{message:`Invalid redirect URI - ${te.redirect_uri}`});const le=vg(R.tenant.id,t.req.header("cookie")),Ue=le?await e.data.sessions.get(R.tenant.id,le):void 0;if(f=="none"){if(!p)throw new O(400,{message:"Missing response_type"});return yb({ctx:t,session:Ue||void 0,redirect_uri:i,state:o,response_type:p,client:R,nonce:l,code_challenge_method:y,code_challenge:m,audience:c,scope:s})}return u&&u!=="email"?Jw(t,R,u,te):_?_b(t,R.tenant.id,_,te,v):gb({ctx:t,client:R,auth0Client:x,authParams:te,session:Ue||void 0,connection:u,login_hint:N})});function wb(){const t=new a.OpenAPIHono;t.use(cg(t));const e=t.route("/v2/logout",Yw).route("/userinfo",Xw).route("/.well-known",Qw).route("/oauth/token",ab).route("/dbconnections",db).route("/passwordless",pb).route("/co/authenticate",fb).route("/authorize",vb).route("/callback",Zw);return e.doc("/spec",{openapi:"3.0.0",info:{version:"1.0.0",title:"Oauth API"}}),ag(e),e}var bb={Stringify:1,BeforeStream:2,Stream:3},pt=(t,e)=>{const n=new String(t);return n.isEscaped=!0,n.callbacks=e,n},kb=/[&<>'"]/,Pg=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 o=s.isEscaped;if(s=await(typeof s=="object"?s.toString():s),typeof s=="object"&&e.push(...s.callbacks||[]),s.isEscaped??o)n+=s;else{const c=[n];Kt(s,c),n=c[0]}}return pt(n,e)},Kt=(t,e)=>{const n=t.search(kb);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=""";break;case 39:r="'";break;case 38:r="&";break;case 60:r="<";break;case 62:r=">";break;default:continue}e[0]+=t.substring(s,i)+r,s=i+1}e[0]+=t.substring(s,i)},Rg=t=>{const e=t.callbacks;if(!(e!=null&&e.length))return t;const n=[t],r={};return e.forEach(i=>i({phase:bb.Stringify,buffer:n,context:r})),n[0]},xb=(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 o=0,c=s.length;o<c;o++){const l=s[o];if(typeof l=="string")Kt(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 u=l.toString();u instanceof Promise?n.unshift("",u):n[0]+=u}else l instanceof Promise?n.unshift("",l):Kt(l.toString(),n)}}}return n[0]+=t[t.length-1],n.length===1?"callbacks"in n?pt(Rg(pt(n[0],n.callbacks))):pt(n[0]):Pg(n,n.callbacks)},Zl=Symbol("RENDERER"),Rc=Symbol("ERROR_HANDLER"),Se=Symbol("STASH"),Lg=Symbol("INTERNAL"),Sb=Symbol("MEMO"),Bs=Symbol("PERMALINK"),Ap=t=>(t[Lg]=!0,t),Ug=t=>({value:e,children:n})=>{if(!n)return;const r={children:[{tag:Ap(()=>{t.push(e)}),props:{}}]};Array.isArray(n)?r.children.push(...n.flat()):r.children.push(n),r.children.push({tag:Ap(()=>{t.pop()}),props:{}});const i={tag:"",props:r,type:""};return i[Rc]=s=>{throw t.pop(),s},i},Vg=t=>{const e=[t],n=Ug(e);return n.values=e,n.Provider=n,Xn.push(n),n},Xn=[],Ab=t=>{const e=[t],n=r=>{e.push(r.value);let i;try{i=r.children?(Array.isArray(r.children)?new Fg("",{},r.children):r.children).toString():""}finally{e.pop()}return i instanceof Promise?i.then(s=>pt(s,s.callbacks)):pt(i)};return n.values=e,n.Provider=n,n[Zl]=Ug(e),Xn.push(n),n},fr=t=>t.values.at(-1),Ti={title:[],script:["src"],style:["data-href"],link:["href"],meta:["name","httpEquiv","charset","itemProp"]},Lc={},Pi="data-precedence",hi=t=>Array.isArray(t)?t:[t],Ep=new WeakMap,Ip=(t,e,n,r)=>({buffer:i,context:s})=>{if(!i)return;const o=Ep.get(s)||{};Ep.set(s,o);const c=o[t]||(o[t]=[]);let l=!1;const u=Ti[t];if(u.length>0){e:for(const[,p]of c)for(const h of u)if(((p==null?void 0:p[h])??null)===(n==null?void 0:n[h])){l=!0;break e}}if(l?i[0]=i[0].replaceAll(e,""):u.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(([h])=>h);else{const h=[];p=c.map(([m,,y])=>{let f=h.indexOf(y);return f===-1&&(h.push(y),f=h.length-1),[m,f]}).sort((m,y)=>m[1]-y[1]).map(([m])=>m)}p.forEach(h=>{i[0]=i[0].replaceAll(h,"")}),i[0]=i[0].replace(/(?=<\/head>)/,p.join(""))}},gi=(t,e,n)=>pt(new ft(t,n,hi(e??[])).toString()),mi=(t,e,n,r)=>{if("itemProp"in n)return gi(t,e,n);let{precedence:i,blocking:s,...o}=n;i=r?i??"":void 0,r&&(o[Pi]=i);const c=new ft(t,o,hi(e||[])).toString();return c instanceof Promise?c.then(l=>pt(c,[...l.callbacks||[],Ip(t,l,o,i)])):pt(c,[Ip(t,c,o,i)])},Eb=({children:t,...e})=>{const n=Yl();if(n){const r=fr(n);if(r==="svg"||r==="head")return new ft("title",e,hi(t??[]))}return mi("title",t,e,!1)},Ib=({children:t,...e})=>{const n=Yl();return["src","async"].some(r=>!e[r])||n&&fr(n)==="head"?gi("script",t,e):mi("script",t,e,!1)},Cb=({children:t,...e})=>["href","precedence"].every(n=>n in e)?(e["data-href"]=e.href,delete e.href,mi("style",t,e,!0)):gi("style",t,e),Nb=({children:t,...e})=>["onLoad","onError"].some(n=>n in e)||e.rel==="stylesheet"&&(!("precedence"in e)||"disabled"in e)?gi("link",t,e):mi("link",t,e,"precedence"in e),$b=({children:t,...e})=>{const n=Yl();return n&&fr(n)==="head"?gi("meta",t,e):mi("meta",t,e,!1)},Mg=(t,{children:e,...n})=>new ft(t,n,hi(e??[])),zb=t=>(typeof t.action=="function"&&(t.action=Bs in t.action?t.action[Bs]:void 0),Mg("form",t)),qg=(t,e)=>(typeof e.formAction=="function"&&(e.formAction=Bs in e.formAction?e.formAction[Bs]:void 0),Mg(t,e)),jb=t=>qg("input",t),Ob=t=>qg("button",t);const ra=Object.freeze(Object.defineProperty({__proto__:null,button:Ob,form:zb,input:jb,link:Nb,meta:$b,script:Ib,style:Cb,title:Eb},Symbol.toStringTag,{value:"Module"}));var Bb=new Map([["className","class"],["htmlFor","for"],["crossOrigin","crossorigin"],["httpEquiv","http-equiv"],["itemProp","itemprop"],["fetchPriority","fetchpriority"],["noModule","nomodule"],["formAction","formaction"]]),Ts=t=>Bb.get(t)||t,Dg=(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)}},Hr=void 0,Yl=()=>Hr,Tb=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,Pb=["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],Rb=["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"],Xl=(t,e)=>{for(let n=0,r=t.length;n<r;n++){const i=t[n];if(typeof i=="string")Kt(i,e);else{if(typeof i=="boolean"||i===null||i===void 0)continue;i instanceof ft?i.toStringToBuffer(e):typeof i=="number"||i.isEscaped?e[0]+=i:i instanceof Promise?e.unshift("",i):Xl(i,e)}}},ft=class{constructor(t,e,n){ee(this,"tag");ee(this,"props");ee(this,"key");ee(this,"children");ee(this,"isEscaped",!0);ee(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?Rg(pt(t[0],t.callbacks)).toString():t[0]:Pg(t,t.callbacks)}toStringToBuffer(t){const e=this.tag,n=this.props;let{children:r}=this;t[0]+=`<${e}`;const i=Hr&&fr(Hr)==="svg"?s=>Tb(Ts(s)):s=>Ts(s);for(let[s,o]of Object.entries(n))if(s=i(s),s!=="children"){if(s==="style"&&typeof o=="object"){let c="";Dg(o,(l,u)=>{u!=null&&(c+=`${c?";":""}${l}:${u}`)}),t[0]+=' style="',Kt(c,t),t[0]+='"'}else if(typeof o=="string")t[0]+=` ${s}="`,Kt(o,t),t[0]+='"';else if(o!=null)if(typeof o=="number"||o.isEscaped)t[0]+=` ${s}="${o}"`;else if(typeof o=="boolean"&&Rb.includes(s))o&&(t[0]+=` ${s}=""`);else if(s==="dangerouslySetInnerHTML"){if(r.length>0)throw"Can only set one of `children` or `props.dangerouslySetInnerHTML`.";r=[pt(o.__html)]}else if(o instanceof Promise)t[0]+=` ${s}="`,t.unshift('"',o);else if(typeof o=="function"){if(!s.startsWith("on"))throw`Invalid prop '${s}' of type 'function' supplied to '${e}'.`}else t[0]+=` ${s}="`,Kt(o.toString(),t),t[0]+='"'}if(Pb.includes(e)&&r.length===0){t[0]+="/>";return}t[0]+=">",Xl(r,t),t[0]+=`</${e}>`}},ia=class extends ft{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(Xn.length===0)t.unshift("",n);else{const r=Xn.map(i=>[i,i.values.at(-1)]);t.unshift("",n.then(i=>(i instanceof ft&&(i.localContexts=r),i)))}else n instanceof ft?n.toStringToBuffer(t):typeof n=="number"||n.isEscaped?(t[0]+=n,n.callbacks&&(t.callbacks||(t.callbacks=[]),t.callbacks.push(...n.callbacks))):Kt(n,t)}},Fg=class extends ft{toStringToBuffer(t){Xl(this.children,t)}},Lb=(t,e,...n)=>{e??(e={}),n.length&&(e.children=n.length===1?n[0]:n);const r=e.key;delete e.key;const i=Ri(t,e,n);return i.key=r,i},Cp=!1,Ri=(t,e,n)=>{if(!Cp){for(const r in Lc)ra[r][Zl]=Lc[r];Cp=!0}return typeof t=="function"?new ia(t,e,n):ra[t]?new ia(ra[t],e,n):t==="svg"||t==="head"?(Hr||(Hr=Ab("")),new ft(t,e,[new ia(Hr,{value:t},n)])):new ft(t,e,n)},Ql=({children:t})=>new Fg("",{children:t},Array.isArray(t)?t:t?[t]:[]),Ub=(t,e,...n)=>Lb(t.tag,{...t.props,...e},...n);function E(t,e,n){let r;if(!e||!("children"in e))r=Ri(t,e,[]);else{const i=e.children;r=Array.isArray(i)?Ri(t,e,i):Ri(t,e,[i])}return r.key=n,r}const Vb=({vendorSettings:t})=>t!=null&&t.logoUrl?E("div",{className:"flex h-9 items-center",children:E("img",{src:t.logoUrl,className:"max-h-full",alt:"Vendor logo"})}):E(Ql,{}),Mb=({vendorSettings:t})=>{const{termsAndConditionsUrl:e}=t;return E("div",{className:"mt-8",children:e&&E("div",{className:"text-xs text-gray-300",children:[Y.t("agree_to")," ",E("a",{href:e,className:"text-primary hover:underline",target:"_blank",rel:"noreferrer",children:Y.t("terms")})]})})};var Hg={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="",o=0;o<arguments.length;o++){var c=arguments[o];c&&(s=
|
|
196
|
+
*/(function(t){(function(){var e={}.hasOwnProperty;function n(){for(var s="",o=0;o<arguments.length;o++){var c=arguments[o];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 o="";for(var c in s)e.call(s,c)&&s[c]&&(o=i(o,c));return o}function i(s,o){return o?s?s+" "+o:s+o:s}t.exports?(n.default=n,t.exports=n):window.classNames=n})()})(Hg);var qb=Hg.exports;const At=df(qb),Db=t=>t==="small"?"text-base":t==="medium"?"text-2xl":t==="large"?"text-3xl":"",kt=({name:t,size:e,className:n=""})=>{const r=Db(e);return E("span",{className:At(`uicon-${t}`,n,r)})};var Np=Object.freeze,Fb=Object.defineProperty,Hb=(t,e)=>Np(Fb(t,"raw",{value:Np(t.slice())})),$p;const Kb=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
|
-
`},
|
|
202
|
+
`},Wb="https://assets.sesamy.com/images/login-bg.jpg",Lo=({title:t,children:e,vendorSettings:n})=>{const r={backgroundImage:`url(${(n==null?void 0:n.loginBackgroundImage)||Wb})`};return E("html",{lang:"en",children:[E("head",{children:[E("title",{children:t}),E("meta",{charset:"UTF-8"}),E("meta",{name:"robots",content:"noindex, follow"}),E("link",{rel:"preload",href:"https://assets.sesamy.com/fonts/khteka/WOFF2/KHTeka-Regular.woff2",as:"font",type:"font/woff2",crossOrigin:"anonymous"}),E("link",{rel:"preload",href:"https://assets.sesamy.com/fonts/khteka/WOFF2/KHTeka-Medium.woff2",as:"font",type:"font/woff2",crossOrigin:"anonymous"}),E("link",{rel:"preload",href:"https://assets.sesamy.com/fonts/khteka/WOFF2/KHTeka-Bold.woff2",as:"font",type:"font/woff2",crossOrigin:"anonymous"}),E("link",{rel:"stylesheet",href:"/css/tailwind.css"}),E("meta",{name:"viewport",content:"width=device-width, initial-scale=1, maximum-scale=1"}),E("style",{children:Kb(n)}),E("meta",{name:"theme-color",content:"#000000"})]}),E("body",{children:E("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:E("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:E("div",{className:"column-left w-full sm:w-auto",children:[E("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:[E("div",{className:"mb-16",children:E(Vb,{vendorSettings:n})}),E("div",{className:"flex flex-1 flex-col",children:[e,E(Mb,{vendorSettings:n})]})]}),E("div",{className:"flex w-full items-center px-6 pb-8 pt-4 justify-between",children:[E("div",{className:"flex justify-center leading-[0]",children:E("a",{href:"https://sesamy.com",target:"_blank",rel:"noreferrer",children:E(kt,{name:"sesamy",className:"text-xl text-white"})})}),E("div",{className:"flex justify-center space-x-2 text-xs text-white sm:justify-normal md:text-xs",children:[n.supportUrl&&E("a",{className:"text-xs text-white hover:underline md:text-xs",href:n.supportUrl,target:"_blank",rel:"noopener noreferrer",children:Y.t("contact_support")}),E("span",{className:"text-gray-300",children:"|"})," ",E("span",{children:Y.t("copyright_sesamy")})]})]})]})})})}),xb($p||($p=Hb([`
|
|
203
203
|
<script>
|
|
204
204
|
function swapButtons() {
|
|
205
205
|
document.getElementById("initial-btn").classList.add("hidden");
|
|
@@ -214,37 +214,37 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
214
214
|
};
|
|
215
215
|
}
|
|
216
216
|
<\/script>
|
|
217
|
-
`])))]})},
|
|
217
|
+
`])))]})},Ps=t=>E("a",{className:"block text-primary hover:text-primaryHover text-center",href:`/u/enter-email?state=${t.state}`,children:Y.t("go_back")}),zp={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 Gb(t,e,n){if(!n&&!e)return zp;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 Wp.parse(s)}catch(i){return console.error(i),zp}}async function Qn(t,e){var l;const{env:n}=t,r=await n.data.logins.get(t.var.tenant_id||"",e);if(!r)throw new O(400,{message:"Session not found"});t.set("login",r);const i=await Bo(n,r.authParams.client_id);t.set("client_id",i.id),t.set("tenant_id",i.tenant.id);const s=await n.data.tenants.get(i.tenant.id);if(!s)throw new O(400,{message:"Tenant not found"});const o=await Gb(n,i.id,r.authParams.vendor_id),c=(l=r.authParams.ui_locales)==null?void 0:l.split(" ").map(u=>u.split("-")[0]).find(u=>{if(Array.isArray(Y.options.supportedLngs))return Y.options.supportedLngs.includes(u)});return await Y.changeLanguage(c||s.language||"sv"),{vendorSettings:{...o,termsAndConditionsUrl:i.id==="fokus-app"?"https://www.fokus.se/kopvillkor-app/":o.termsAndConditionsUrl},client:i,tenant:s,session:r}}async function Jb(t,e,n,r){if(r!==void 0)return r==="password";const i=await Ms({userAdapter:t.env.data.users,tenant_id:e.tenant.id,email:n});if(i){const o=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:${me.SUCCESS_LOGIN} user_id:${i.user_id}`}),[c]=o.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 eu=({children:t})=>E("div",{className:"mb-2 text-sm text-red",children:t}),Zb=t=>t==="small"?"text-base":t==="medium"?"text-2xl":t==="large"?"text-3xl":"",Yb=({size:t})=>{const e=Zb(t);return E("div",{className:"relative inline-block leading-[0]",children:[E(kt,{className:At("text-gray-200 dark:text-[#201a41]",{[e]:e}),name:"spinner-circle"}),E(kt,{className:At("absolute inset-0 animate-spin text-primary",{[e]:e}),name:"spinner-inner"})]})},Kr=({children:t,className:e,Component:n="button",variant:r="primary",href:i,disabled:s,isLoading:o,id:c})=>{const l=n==="a"?{href:i}:{};return E(n,{class:At("relative w-full rounded-lg text-center",e,{"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},"focus:outline-none focus:ring"),type:"submit",disabled:s,id:c,...l,children:[E("span",{className:`
|
|
218
218
|
flex items-center justify-center space-x-2
|
|
219
219
|
${o?"invisible h-0":"visible h-auto"}
|
|
220
|
-
`,children:t}),o&&
|
|
220
|
+
`,children:t}),o&&E("div",{className:"absolute left-0 top-0 flex h-full w-full items-center justify-center",children:E(Yb,{size:"medium"})})]})},Ai=({connection:t,text:e,icon:n=null,canResize:r=!1,session: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.login_id);const o=`/authorize?${s.toString()}`;return E(Kr,{className:At("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:o,children:[n||"",E("div",{className:At("text-left text-black dark:text-white sm:text-base",{"hidden sm:inline short:hidden":r}),children:e})]})},Xb=({...t})=>E("svg",{width:"45",height:"45",viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",...t,children:[E("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"}),E("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"}),E("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"}),E("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"})]}),tu=({children:t,className:e})=>E(Ql,{children:[E(Kr,{className:e,id:"initial-btn",children:t}),E(Kr,{className:At(e,"hidden"),isLoading:!0,id:"loading-btn",disabled:!0,children:" "})]}),nu=({children:t,className:e})=>E("form",{id:"form",method:"post",className:e,children:t}),Qb=({...t})=>E("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:[E("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"}),E("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
|
|
221
221
|
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
|
|
222
|
-
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`})]}),np=({error:t,vendorSettings:e,session:n,email:i,client:r,impersonation:s})=>{const o=r.connections.map(({name:_})=>_),c=o.includes("facebook"),l=o.includes("google-oauth2"),u=o.includes("apple"),p=o.includes("vipps"),g=c||l||u||p;return P(tb,{title:se.t("welcome"),vendorSettings:e,children:[P("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:se.t("welcome")}),P("div",{className:"mb-8 text-gray-300",children:se.t("login_description")}),P("div",{className:"flex flex-1 flex-col justify-center",children:[P(lb,{className:"mb-7",children:[P("input",{type:"email",name:"username",placeholder:se.t("email_placeholder"),className:Bt("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:i||""}),s&&P("input",{type:"email",name:"act_as",placeholder:"Impersonate as",className:Bt("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&&P(rb,{children:t}),P(cb,{className:"text-base sm:mt-4 md:text-base",children:P("div",{className:"flex items-center space-x-2",children:[P("span",{children:se.t("continue")}),P(Rn,{className:"text-xs",name:"arrow-right"})]})})]}),g&&P("div",{className:"relative mb-5 block text-center text-gray-300 dark:text-gray-300",children:[P("div",{className:"absolute left-0 right-0 top-1/2 border-b border-gray-200 dark:border-gray-600"}),P("div",{className:"relative inline-block bg-white px-2 dark:bg-gray-800",children:se.t("continue_social_login")})]}),P("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&&P(ur,{connection:"facebook",text:se.t("continue_with",{provider:"Facebook"}),canResize:!0,icon:P(Rn,{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"}),session:n}),l&&P(ur,{connection:"google-oauth2",text:se.t("continue_with",{provider:"Google"}),canResize:!0,icon:P(ab,{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"}),session:n}),u&&P(ur,{connection:"apple",text:se.t("continue_with",{provider:"Apple"}),canResize:!0,icon:P(Rn,{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"}),session:n}),p&&P(ur,{connection:"vipps",text:se.t("continue_with",{provider:"Vipps"}),canResize:!0,icon:P(ub,{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"}),session:n})]})]})]})},db=["Auth0.swift"];function pb(t){if(!t)return"link";const e=atob(t),n=JSON.parse(e);return db.includes(n.name)?"code":"link"}const fb=new a.OpenAPIHono().openapi(a.createRoute({tags:["login"],method:"get",path:"/enter-email",request:{query:a.z.object({state:a.z.string().openapi({description:"The state parameter from the authorization request"}),impersonation:a.z.string().optional()})},responses:{200:{description:"Response"}}}),async t=>{const{state:e,impersonation:n}=t.req.valid("query"),{vendorSettings:i,session:r,client:s}=await tp(t,e);return t.html(P(np,{vendorSettings:i,session:r,client:s,email:r.authParams.username,impersonation:n==="true"}))}).openapi(a.createRoute({tags:["login"],method:"post",path:"/enter-email",request:{query:a.z.object({state:a.z.string().openapi({description:"The state parameter from the authorization request"})}),body:{content:{"application/x-www-form-urlencoded":{schema:a.z.object({username:a.z.string().transform(t=>t.toLowerCase()),act_as:a.z.string().transform(t=>t.toLowerCase()).optional(),login_selection:a.z.enum(["code","password"]).optional()})}}}},responses:{200:{description:"Response"}}}),async t=>{const{env:e}=t,{state:n}=t.req.valid("query"),i=t.req.valid("form");t.set("body",i),t.set("username",i.username);const{client:r,session:s,vendorSettings:o}=await tp(t,n);t.set("client_id",r.id);const c=i.username,l=await vs({userAdapter:e.data.users,tenant_id:r.tenant.id,email:c});if(l&&t.set("user_id",l.user_id),!l)try{await qh(t,r,t.env.data,i.username)}catch{const k=be(t,{type:_e.FAILED_SIGNUP,description:"Public signup is disabled"});return await t.env.data.logs.create(r.tenant.id,k),t.html(P(np,{vendorSettings:o,session:s,error:se.t("user_account_does_not_exist"),email:i.username,client:r}),400)}if(s.authParams.username=i.username,s.authParams.act_as=i.act_as,await e.data.logins.update(r.tenant.id,s.login_id,s),await ib(t,r,i.username,i.login_selection))return t.redirect(`/u/enter-password?state=${n}`);let u=fs(),p=await e.data.codes.get(r.tenant.id,u,"otp");for(;p;)u=fs(),p=await e.data.codes.get(r.tenant.id,u,"otp");const g=await t.env.data.codes.create(r.tenant.id,{code_id:u,code_type:"otp",login_id:s.login_id,expires_at:new Date(Date.now()+lc).toISOString()});return pb(s.auth0Client)==="link"&&!i.username.includes("online.no")?Ye(t,bl(t,i.username,g.code_id)):Ye(t,Gh(t,i.username,g.code_id)),t.redirect(`/u/enter-code?state=${n}`)});function hb(){const e=new a.OpenAPIHono().route("/enter-email",fb);return e.doc("/u/spec",{openapi:"3.0.0",info:{version:"1.0.0",title:"Universal login"}}),e}const gb="Account detected",_b="We have detected that you have already created an account through",mb="By signing in, you agree to our",yb="and",vb="Callback URL mismatch",wb="The provided redirect_uri is not in the list of allowed callback URLs.",bb="continue with user",kb="Please click the button to create a new password account.",xb="Enter the code at {{vendorName}} to complete the login",Sb="Welcome to {{vendorName}}! {{code}} is the login code",Ab="Welcome to {{vendorName}}! {{code}} is the login code",Ib="The code is valid for 30 minutes",Eb="Confirm password",Cb="Need Help?",zb="Contact us",$b="or continue with social account",jb="Continue with {{provider}}",Nb="Would you like to continue with your existing account?",Ob="Copyright © 2023 SESAMY. All rights reserved.",Bb="©2023 Sesamy",Tb="Choose a password with a mix of uppercase and lowercase letters, numbers, and symbols.",Rb="Please enter a valid email address.",Pb="The passwords didn't match. Try again.",Lb="Choose password",Ub="Password must be at least 8 characters long and contain at least one lowercase letter, one uppercase letter, one number and one symbol.",Vb="Create new account",Mb="Sign up with password",Db="You are currently logged in as <0>{{email}}</0>",Fb="Email",Hb="Email address",qb="Your email address has been validated",Kb="Now enter your password to login again",Wb="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.",Gb="Email verification sent",Jb="Enter a code",Zb="We'll send you a verification link to ensure you own this email address.",Yb="Enter new password",Xb="Enter password",Qb="Enter your email address and password to login.",e1="Enter your password",t1="The magic link has expired. Please click on the button below to receive a new link in your inbox.",n1="Hey! We updated our login experience. <0>Click here to learn more about it.</0>",i1="Send password reset email",r1="Click the button below and we’ll send instructions on how to reset your password.",s1="Password reset email sent",o1="Forgot password?",a1="Forgot password?",c1="Go back",l1="Invalid password",u1=`The link is no longer valid.
|
|
222
|
+
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`})]}),jp=({error:t,vendorSettings:e,session:n,email:r,client:i,impersonation:s})=>{const o=i.connections.map(({name:m})=>m),c=o.includes("facebook"),l=o.includes("google-oauth2"),u=o.includes("apple"),p=o.includes("vipps"),h=c||l||u||p;return E(Lo,{title:Y.t("welcome"),vendorSettings:e,children:[E("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:Y.t("welcome")}),E("div",{className:"mb-8 text-gray-300",children:Y.t("login_description")}),E("div",{className:"flex flex-1 flex-col justify-center",children:[E(nu,{className:"mb-7",children:[E("input",{type:"email",name:"username",placeholder:Y.t("email_placeholder"),className:At("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&&E("input",{type:"email",name:"act_as",placeholder:"Impersonate as",className:At("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&&E(eu,{children:t}),E(tu,{className:"text-base sm:mt-4 md:text-base",children:E("div",{className:"flex items-center space-x-2",children:[E("span",{children:Y.t("continue")}),E(kt,{className:"text-xs",name:"arrow-right"})]})})]}),h&&E("div",{className:"relative mb-5 block text-center text-gray-300 dark:text-gray-300",children:[E("div",{className:"absolute left-0 right-0 top-1/2 border-b border-gray-200 dark:border-gray-600"}),E("div",{className:"relative inline-block bg-white px-2 dark:bg-gray-800",children:Y.t("continue_social_login")})]}),E("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&&E(Ai,{connection:"facebook",text:Y.t("continue_with",{provider:"Facebook"}),canResize:!0,icon:E(kt,{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"}),session:n}),l&&E(Ai,{connection:"google-oauth2",text:Y.t("continue_with",{provider:"Google"}),canResize:!0,icon:E(Xb,{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"}),session:n}),u&&E(Ai,{connection:"apple",text:Y.t("continue_with",{provider:"Apple"}),canResize:!0,icon:E(kt,{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"}),session:n}),p&&E(Ai,{connection:"vipps",text:Y.t("continue_with",{provider:"Vipps"}),canResize:!0,icon:E(Qb,{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"}),session:n})]})]})]})},e1=["Auth0.swift"];function t1(t){if(!t)return"link";const e=atob(t),n=JSON.parse(e);return e1.includes(n.name)?"code":"link"}const n1=new a.OpenAPIHono().openapi(a.createRoute({tags:["login"],method:"get",path:"/",request:{query:a.z.object({state:a.z.string().openapi({description:"The state parameter from the authorization request"}),impersonation:a.z.string().optional()})},responses:{200:{description:"Response"}}}),async t=>{const{state:e,impersonation:n}=t.req.valid("query"),{vendorSettings:r,session:i,client:s}=await Qn(t,e);return t.html(E(jp,{vendorSettings:r,session:i,client:s,email:i.authParams.username,impersonation:n==="true"}))}).openapi(a.createRoute({tags:["login"],method:"post",path:"/",request:{query:a.z.object({state:a.z.string().openapi({description:"The state parameter from the authorization request"})}),body:{content:{"application/x-www-form-urlencoded":{schema:a.z.object({username:a.z.string().transform(t=>t.toLowerCase()),act_as:a.z.string().transform(t=>t.toLowerCase()).optional(),login_selection:a.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,session:s,vendorSettings:o}=await Qn(t,n);t.set("client_id",i.id);const c=r.username,l=await Ms({userAdapter:e.data.users,tenant_id:i.tenant.id,email:c});if(l&&t.set("user_id",l.user_id),!l)try{await $g(t,i,t.env.data,r.username)}catch{const y=be(t,{type:me.FAILED_SIGNUP,description:"Public signup is disabled"});return await t.env.data.logs.create(i.tenant.id,y),t.html(E(jp,{vendorSettings:o,session:s,error:Y.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.logins.update(i.tenant.id,s.login_id,s),await Jb(t,i,r.username,r.login_selection))return t.redirect(`/u/enter-password?state=${n}`);let u=Os(),p=await e.data.codes.get(i.tenant.id,u,"otp");for(;p;)u=Os(),p=await e.data.codes.get(i.tenant.id,u,"otp");const h=await t.env.data.codes.create(i.tenant.id,{code_id:u,code_type:"otp",login_id:s.login_id,expires_at:new Date(Date.now()+Bc).toISOString()});return t1(s.auth0Client)==="link"&&!r.username.includes("online.no")?Xe(t,Gl(t,r.username,h.code_id)):Xe(t,Og(t,r.username,h.code_id)),t.redirect(`/u/enter-code?state=${n}`)});var Wr="_hp",r1={Change:"Input",DoubleClick:"DblClick"},i1={svg:"2000/svg",math:"1998/Math/MathML"},Gr=[],Uc=new WeakMap,er=void 0,s1=()=>er,Nt=t=>"t"in t,sa={onClick:["click",!1]},Op=t=>{if(!t.startsWith("on"))return;if(sa[t])return sa[t];const e=t.match(/^on([A-Z][a-zA-Z]+?(?:PointerCapture)?)(Capture)?$/);if(e){const[,n,r]=e;return sa[t]=[(r1[n]||n).toLowerCase(),!!r]}},Bp=(t,e)=>er&&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,o1=(t,e,n)=>{var r;e||(e={});for(let i in e){const s=e[i];if(i!=="children"&&(!n||n[i]!==s)){i=Ts(i);const o=Op(i);if(o){if((n==null?void 0:n[i])!==s&&(n&&t.removeEventListener(o[0],n[i],o[1]),s!=null)){if(typeof s!="function")throw new Error(`Event handler for "${i}" is not a function`);t.addEventListener(o[0],s,o[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),Uc.set(t,c)}else if(i==="style"){const c=t.style;typeof s=="string"?c.cssText=s:(c.cssText="",s!=null&&Dg(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=Bp(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=Ts(i);const o=Op(i);o?t.removeEventListener(o[0],s,o[1]):i==="ref"?(r=Uc.get(t))==null||r():t.removeAttribute(Bp(t,i))}}},a1=(t,e)=>{e[Se][0]=0,Gr.push([t,e]);const n=e.tag[Zl]||e.tag,r=n.defaultProps?{...n.defaultProps,...e.props}:e.props;try{return[n.call(null,r)]}finally{Gr.pop()}},Kg=(t,e,n,r,i)=>{var s,o;(s=t.vR)!=null&&s.length&&(r.push(...t.vR),delete t.vR),typeof t.tag=="function"&&((o=t[Se][1][Zg])==null||o.forEach(c=>i.push(c))),t.vC.forEach(c=>{var l;if(Nt(c))n.push(c);else if(typeof c.tag=="function"||c.tag===""){c.c=e;const u=n.length;if(Kg(c,e,n,r,i),c.s){for(let p=u;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)})},c1=t=>{for(;;t=t.tag===Wr||!t.vC||!t.pP?t.nN:t.vC[0]){if(!t)return null;if(t.tag!==Wr&&t.e)return t.e}},Wg=t=>{var e,n,r,i,s,o;Nt(t)||((n=(e=t[Se])==null?void 0:e[1][Zg])==null||n.forEach(c=>{var l;return(l=c[2])==null?void 0:l.call(c)}),(r=Uc.get(t.e))==null||r(),t.p===2&&((i=t.vC)==null||i.forEach(c=>c.p=2)),(s=t.vC)==null||s.forEach(Wg)),t.p||((o=t.e)==null||o.remove(),delete t.e),typeof t.tag=="function"&&(wr.delete(t),Li.delete(t),delete t[Se][3],t.a=!0)},Gg=(t,e,n)=>{t.c=e,Jg(t,e,n)},Tp=(t,e)=>{if(e){for(let n=0,r=t.length;n<r;n++)if(t[n]===e)return n}},Pp=Symbol(),Jg=(t,e,n)=>{var u;const r=[],i=[],s=[];Kg(t,e,r,i,s),i.forEach(Wg);const o=n?void 0:e.childNodes;let c,l=null;if(n)c=-1;else if(!o.length)c=0;else{const p=Tp(o,c1(t.nN));p!==void 0?(l=o[p],c=p):c=Tp(o,(u=r.find(h=>h.tag!==Wr&&h.e))==null?void 0:u.e)??-1,c===-1&&(n=!0)}for(let p=0,h=r.length;p<h;p++,c++){const m=r[p];let y;if(m.s&&m.e)y=m.e,m.s=!1;else{const f=n||!m.e;Nt(m)?(m.e&&m.d&&(m.e.textContent=m.t),m.d=!1,y=m.e||(m.e=document.createTextNode(m.t))):(y=m.e||(m.e=m.n?document.createElementNS(m.n,m.tag):document.createElement(m.tag)),o1(y,m.props,m.pP),Jg(m,y,f))}m.tag===Wr?c--:n?y.parentNode||e.appendChild(y):o[c]!==y&&o[c-1]!==y&&(o[c+1]===y?e.appendChild(o[c]):e.insertBefore(y,l||o[c]||null))}if(t.pP&&delete t.pP,s.length){const p=[],h=[];s.forEach(([,m,,y,f])=>{m&&p.push(m),y&&h.push(y),f==null||f()}),p.forEach(m=>m()),h.length&&requestAnimationFrame(()=>{h.forEach(m=>m())})}},Li=new WeakMap,Vc=(t,e,n)=>{var s,o,c,l,u,p;const r=!n&&e.pC;n&&(e.pC||(e.pC=e.vC));let i;try{n||(n=typeof e.tag=="function"?a1(t,e):hi(e.props.children)),((s=n[0])==null?void 0:s.tag)===""&&n[0][Rc]&&(i=n[0][Rc],t[5].push([t,i,e]));const h=r?[...e.pC]:e.vC?[...e.vC]:void 0,m=[];let y;for(let f=0;f<n.length;f++){Array.isArray(n[f])&&n.splice(f,1,...n[f].flat());let _=l1(n[f]);if(_){typeof _.tag=="function"&&!_.tag[Lg]&&(Xn.length>0&&(_[Se][2]=Xn.map(x=>[x,x.values.at(-1)])),(o=t[5])!=null&&o.length&&(_[Se][3]=t[5].at(-1)));let v;if(h&&h.length){const x=h.findIndex(Nt(_)?N=>Nt(N):_.key!==void 0?N=>N.key===_.key&&N.tag===_.tag:N=>N.tag===_.tag);x!==-1&&(v=h[x],h.splice(x,1))}if(v)if(Nt(_))v.t!==_.t&&(v.t=_.t,v.d=!0),_=v;else{const x=v.pP=v.props;v.props=_.props,v.f||(v.f=_.f||e.f),typeof _.tag=="function"&&(v[Se][2]=_[Se][2]||[],v[Se][3]=_[Se][3],!v.f&&((v.o||v)===_.o||(l=(c=v.tag)[Sb])!=null&&l.call(c,x,v.props))&&(v.s=!0)),_=v}else if(!Nt(_)&&er){const x=fr(er);x&&(_.n=x)}if(!Nt(_)&&!_.s&&(Vc(t,_),delete _.f),m.push(_),y&&!y.s&&!_.s)for(let x=y;x&&!Nt(x);x=(u=x.vC)==null?void 0:u.at(-1))x.nN=_;y=_}}e.vR=r?[...e.vC,...h||[]]:h||[],e.vC=m,r&&delete e.pC}catch(h){if(e.f=!0,h===Pp){if(i)return;throw h}const[m,y,f]=((p=e[Se])==null?void 0:p[3])||[];if(y){const _=()=>Ui([0,!1,t[2]],f),v=Li.get(f)||[];v.push(_),Li.set(f,v);const x=y(h,()=>{const N=Li.get(f);if(N){const B=N.indexOf(_);if(B!==-1)return N.splice(B,1),_()}});if(x){if(t[0]===1)t[1]=!0;else if(Vc(t,f,[x]),(y.length===1||t!==m)&&f.c){Gg(f,f.c,!1);return}throw Pp}}throw h}finally{i&&t[5].pop()}},l1=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[Se]=[0,[]];else{const e=i1[t.tag];e&&(er||(er=Vg("")),t.props.children=[{tag:er,props:{value:t.n=`http://www.w3.org/${e}`,children:t.props.children}}])}return t}},Rp=(t,e)=>{var n,r;(n=e[Se][2])==null||n.forEach(([i,s])=>{i.values.push(s)});try{Vc(t,e,void 0)}catch{return}if(e.a){delete e.a;return}(r=e[Se][2])==null||r.forEach(([i])=>{i.values.pop()}),(t[0]!==1||!t[1])&&Gg(e,e.c,!1)},wr=new WeakMap,Lp=[],Ui=async(t,e)=>{t[5]||(t[5]=[]);const n=wr.get(e);n&&n[0](void 0);let r;const i=new Promise(s=>r=s);if(wr.set(e,[r,()=>{t[2]?t[2](t,e,s=>{Rp(s,e)}).then(()=>r(e)):(Rp(t,e),r(e))}]),Lp.length)Lp.at(-1).add(e);else{await Promise.resolve();const s=wr.get(e);s&&(wr.delete(e),s[1]())}return i},u1=(t,e,n)=>({tag:Wr,props:{children:t},key:n,e,p:1}),oa=0,Zg=1,aa=2,ca=3,la=new WeakMap,Yg=(t,e)=>!t||!e||t.length!==e.length||e.some((n,r)=>n!==t[r]),d1=void 0,Up=[],p1=t=>{var o;const e=()=>typeof t=="function"?t():t,n=Gr.at(-1);if(!n)return[e(),()=>{}];const[,r]=n,i=(o=r[Se][1])[oa]||(o[oa]=[]),s=r[Se][0]++;return i[s]||(i[s]=[e(),c=>{const l=d1,u=i[s];if(typeof c=="function"&&(c=c(u[0])),!Object.is(c,u[0]))if(u[0]=c,Up.length){const[p,h]=Up.at(-1);Promise.all([p===3?r:Ui([p,!1,l],r),h]).then(([m])=>{if(!m||!(p===2||p===3))return;const y=m.vC;requestAnimationFrame(()=>{setTimeout(()=>{y===m.vC&&Ui([p===3?1:0,!1,l],m)})})})}else Ui([0,!1,l],r)}])},ru=(t,e)=>{var c;const n=Gr.at(-1);if(!n)return t;const[,r]=n,i=(c=r[Se][1])[aa]||(c[aa]=[]),s=r[Se][0]++,o=i[s];return Yg(o==null?void 0:o[1],e)?i[s]=[t,e]:t=i[s][0],t},f1=t=>{const e=la.get(t);if(e){if(e.length===2)throw e[1];return e[0]}throw t.then(n=>la.set(t,[n]),n=>la.set(t,[void 0,n])),t},h1=(t,e)=>{var c;const n=Gr.at(-1);if(!n)return t();const[,r]=n,i=(c=r[Se][1])[ca]||(c[ca]=[]),s=r[Se][0]++,o=i[s];return Yg(o==null?void 0:o[1],e)&&(i[s]=[t(),e]),i[s][0]},g1=Vg({pending:!1,data:null,method:null,action:null}),Vp=new Set,m1=t=>{Vp.add(t),t.finally(()=>Vp.delete(t))},iu=(t,e)=>h1(()=>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]),Bn=Object.create(null),Ei=Object.create(null),_i=(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:o,onError:c,precedence:l,blocking:u,...p}=e,h=null,m=!1;const y=Ti[t];let f;if(y.length>0){const N=s.querySelectorAll(t);e:for(const B of N)for(const R of Ti[t])if(B.getAttribute(R)===e[R]){h=B;break e}if(!h){const B=y.reduce((R,te)=>e[te]===void 0?R:`${R}-${te}-${e[te]}`,t);m=!Ei[B],h=Ei[B]||(Ei[B]=(()=>{const R=document.createElement(t);for(const te of y)e[te]!==void 0&&R.setAttribute(te,e[te]),e.rel&&R.setAttribute("rel",e.rel);return R})())}}else f=s.querySelectorAll(t);l=r?l??"":void 0,r&&(p[Pi]=l);const _=ru(N=>{if(y.length>0){let B=!1;for(const R of s.querySelectorAll(t)){if(B&&R.getAttribute(Pi)!==l){s.insertBefore(N,R);return}R.getAttribute(Pi)===l&&(B=!0)}s.appendChild(N)}else if(f){let B=!1;for(const R of f)if(R===N){B=!0;break}B||s.insertBefore(N,s.contains(f[0])?f[0]:s.querySelector(t)),f=void 0}},[l]),v=iu(e.ref,N=>{var te;const B=y[0];if(n===2&&(N.innerHTML=""),(m||f)&&_(N),!c&&!o)return;let R=Bn[te=N.getAttribute(B)]||(Bn[te]=new Promise((pe,le)=>{N.addEventListener("load",pe),N.addEventListener("error",le)}));o&&(R=R.then(o)),c&&(R=R.catch(c)),R.catch(()=>{})});if(i&&u==="render"){const N=Ti[t][0];if(e[N]){const B=e[N],R=Bn[B]||(Bn[B]=new Promise((te,pe)=>{_(h),h.addEventListener("load",te),h.addEventListener("error",pe)}));f1(R)}}const x={tag:t,type:t,props:{...p,ref:v},ref:v};return x.p=n,h&&(x.e=h),u1(x,s)},_1=t=>{const e=s1(),n=e&&fr(e);return n!=null&&n.endsWith("svg")?{tag:"title",props:t,type:"title",ref:t.ref}:_i("title",t,void 0,!1,!1)},y1=t=>!t||["src","async"].some(e=>!t[e])?{tag:"script",props:t,type:"script",ref:t.ref}:_i("script",t,1,!1,!0),v1=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,_i("style",t,2,!0,!0)),w1=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}:_i("link",t,1,"precedence"in t,!0),b1=t=>_i("meta",t,void 0,!1,!1),Xg=Symbol(),k1=t=>{const{action:e,...n}=t;typeof e!="function"&&(n.action=e);const[r,i]=p1([null,!1]),s=ru(async u=>{const p=u.isTrusted?e:u.detail[Xg];if(typeof p!="function")return;u.preventDefault();const h=new FormData(u.target);i([h,!0]);const m=p(h);m instanceof Promise&&(m1(m),await m),i([null,!0])},[]),o=iu(t.ref,u=>(u.addEventListener("submit",s),()=>{u.removeEventListener("submit",s)})),[c,l]=r;return r[1]=!1,{tag:g1,props:{value:{pending:c!==null,data:c,method:c?"post":null,action:c?e:null},children:{tag:"form",props:{...n,ref:o},type:"form",ref:o}},f:l}},Qg=(t,{formAction:e,...n})=>{if(typeof e=="function"){const r=ru(i=>{i.preventDefault(),i.currentTarget.form.dispatchEvent(new CustomEvent("submit",{detail:{[Xg]:e}}))},[]);n.ref=iu(n.ref,i=>(i.addEventListener("click",r),()=>{i.removeEventListener("click",r)}))}return{tag:t,props:n,type:t,ref:n.ref}},x1=t=>Qg("input",t),S1=t=>Qg("button",t);Object.assign(Lc,{title:_1,script:y1,style:v1,link:w1,meta:b1,form:k1,input:x1,button:S1});new TextEncoder;const A1=t=>{const{i18nKey:e,values:n,components:r}=t,i=Y.t(e,n),s=/<(\d+)>(.*?)<\/\d+>/g,o=[];let c=0,l;for(;(l=s.exec(i))!==null;){const[,u,p]=l,h=i.substring(c,l.index);h&&o.push(h);const m=parseInt(u,10);o.push(Ub(r[m],{},p)),c=s.lastIndex}return c<i.length&&o.push(i.substring(c)),E(Ql,{children:o})},Mp=6,E1=({error:t,vendorSettings:e,email:n,state:r,client:i,hasPasswordLogin:s})=>{const o=new URLSearchParams({state:r}),l=i.connections.map(({name:u})=>u).includes("auth2");return E(Lo,{title:Y.t("verify_your_email"),vendorSettings:e,children:[E("div",{className:"mb-4 text-2xl font-medium",children:Y.t("verify_your_email")}),E("div",{className:"mb-8 text-gray-300",children:E(A1,{i18nKey:"we_sent_a_code_to",components:[E("span",{className:"text-black dark:text-white"},"span")],values:{email:n}})}),E("div",{className:"flex flex-1 flex-col justify-center",children:[E(nu,{className:"pt-2",children:[E("input",{autoFocus:!0,type:"text",pattern:"[0-9]*",maxLength:Mp,inputMode:"numeric",name:"code",placeholder:"******",className:At("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:Mp,required:!0,id:"code-input"}),t&&E(eu,{children:t}),E("div",{className:"text-center sm:mt-2",children:E(tu,{className:"text-base sm:mt-4 md:text-base",children:E("div",{className:"flex items-center space-x-2",children:[E("span",{children:Y.t("login")}),E(kt,{className:"text-xs",name:"arrow-right"})]})})}),E("div",{className:"my-4 flex space-x-2 text-sm text-[#B2B2B2]",children:[E(kt,{className:"text-base",name:"info-bubble"}),E("div",{className:"text-sm text-gray-300 md:text-sm",children:Y.t("sent_code_spam")})]}),l&&E("div",{className:"text-center mb-12",children:[E("div",{className:"relative mb-5 block text-center text-gray-300 dark:text-gray-300",children:[E("div",{className:"absolute left-0 right-0 top-1/2 border-b border-gray-200 dark:border-gray-600"}),E("div",{className:"relative inline-block bg-white px-2 dark:bg-gray-800",children:Y.t("or")})]}),E(Kr,{Component:"a",href:`/u/${s?"enter-password":"pre-signup"}?${o.toString()}`,variant:"secondary",className:"block",children:Y.t("enter_your_password_btn")})]})]}),E(Ps,{state:r})]})]})},I1=new a.OpenAPIHono().openapi(a.createRoute({tags:["login"],method:"get",path:"/",request:{query:a.z.object({state:a.z.string().openapi({description:"The state"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{vendorSettings:n,session:r,client:i}=await Qn(t,e);if(!r.authParams.username)throw new O(400,{message:"Username not found in state"});const s=await Jr({userAdapter:t.env.data.users,tenant_id:i.tenant.id,email:r.authParams.username,provider:"auth2"});return t.html(E(E1,{vendorSettings:n,email:r.authParams.username,state:e,client:i,hasPasswordLogin:!!s}))}).openapi(a.createRoute({tags:["login"],method:"post",path:"/",request:{query:a.z.object({state:a.z.string().openapi({description:"The state"})}),body:{content:{"application/x-www-form-urlencoded":{schema:a.z.object({code:a.z.string()})}}}},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{code:n}=t.req.valid("form"),{session:r,client:i}=await Qn(t,e);if(t.set("client_id",i.id),!r.authParams.username)throw new O(400,{message:"Username not found in state"});return Jl(t,i,r.authParams,r.authParams.username,n)}),C1=t=>{const{vendorSettings:e,state:n}=t;return E(Lo,{title:Y.t("unverified_email"),vendorSettings:e,children:[E("div",{className:"flex flex-1 flex-col justify-center",children:[E("p",{className:"mb-8 text-gray-300 text-lg",children:Y.t("unverified_email")}),E("div",{className:"my-4 flex space-x-2 text-sm text-[#B2B2B2]",children:[E(kt,{className:"text-base",name:"info-bubble"}),E("div",{className:"text-sm text-gray-300 md:text-sm",children:Y.t("sent_code_spam")})]}),E(Ps,{state:n})]}),E(Ps,{state:n})]})},ua=t=>{const{error:e,vendorSettings:n,email:r,state:i}=t,s=new URLSearchParams({state:i});return E(Lo,{title:Y.t("enter_password"),vendorSettings:n,children:[E("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:Y.t("enter_password")}),E("div",{className:"mb-6 text-gray-300",children:Y.t("enter_password_description")}),E("div",{className:"flex flex-1 flex-col justify-center",children:[E(nu,{className:"mb-7",children:[E("input",{type:"text",name:"username",placeholder:Y.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}),E("input",{type:"password",name:"password",placeholder:Y.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&&E(eu,{children:e}),E(tu,{className:"text-base sm:mt-4 md:text-base",children:E("div",{className:"flex items-center space-x-2",children:[E("span",{children:Y.t("login")}),E(kt,{className:"text-xs",name:"arrow-right"})]})})]}),E("a",{href:`/u/forgot-password?${s.toString()}`,className:"text-primary hover:underline mb-4",children:Y.t("forgot_password_link")}),E("div",{className:"text-center mb-12",children:[E("div",{className:"relative mb-5 block text-center text-gray-300 dark:text-gray-300",children:[E("div",{className:"absolute left-0 right-0 top-1/2 border-b border-gray-200 dark:border-gray-600"}),E("div",{className:"relative inline-block bg-white px-2 dark:bg-gray-800",children:Y.t("or")})]}),E("form",{method:"post",action:`/u/enter-email?${s.toString()}`,children:[E("input",{type:"hidden",name:"login_selection",value:"code"}),E("input",{type:"hidden",name:"username",value:r}),E(Kr,{variant:"secondary",className:"block",children:Y.t("enter_a_code_btn")})]})]}),E(Ps,{state:i})]})]})},N1=new a.OpenAPIHono().openapi(a.createRoute({tags:["login"],method:"get",path:"/enter-password",request:{query:a.z.object({state:a.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,session:i}=await Qn(t,e);if(!i.authParams.username)throw new O(400,{message:"Username required"});return t.html(E(ua,{vendorSettings:n,email:i.authParams.username,state:e,client:r}))}).openapi(a.createRoute({tags:["login"],method:"post",path:"/enter-password",request:{query:a.z.object({state:a.z.string().openapi({description:"The state parameter from the authorization request"})}),body:{content:{"application/x-www-form-urlencoded":{schema:a.z.object({password:a.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,session:o}=await Qn(t,e),{username:c}=o.authParams;if(!c)throw new O(400,{message:"Username required"});try{return Tg(t,s,{...o.authParams,password:r})}catch(l){const u=l;return u.code==="INVALID_PASSWORD"||u.code==="USER_NOT_FOUND"?t.html(E(ua,{vendorSettings:i,email:c,error:Y.t("invalid_password"),state:e,client:s}),400):u.code==="EMAIL_NOT_VERIFIED"?t.html(E(C1,{vendorSettings:i,state:e}),400):t.html(E(ua,{vendorSettings:i,email:c,error:u.message,state:e,client:s}),400)}});function $1(){const e=new a.OpenAPIHono().route("/enter-email",n1).route("/enter-code",I1).route("/enter-password",N1);return e.doc("/u/spec",{openapi:"3.0.0",info:{version:"1.0.0",title:"Universal login"}}),e}const z1="Account detected",j1="We have detected that you have already created an account through",O1="By signing in, you agree to our",B1="and",T1="Callback URL mismatch",P1="The provided redirect_uri is not in the list of allowed callback URLs.",R1="continue with user",L1="Please click the button to create a new password account.",U1="Enter the code at {{vendorName}} to complete the login",V1="Welcome to {{vendorName}}! {{code}} is the login code",M1="Welcome to {{vendorName}}! {{code}} is the login code",q1="The code is valid for 30 minutes",D1="Confirm password",F1="Need Help?",H1="Contact us",K1="or continue with social account",W1="Continue with {{provider}}",G1="Would you like to continue with your existing account?",J1="Copyright © 2023 SESAMY. All rights reserved.",Z1="©2023 Sesamy",Y1="Choose a password with a mix of uppercase and lowercase letters, numbers, and symbols.",X1="Please enter a valid email address.",Q1="The passwords didn't match. Try again.",ek="Choose password",tk="Password must be at least 8 characters long and contain at least one lowercase letter, one uppercase letter, one number and one symbol.",nk="Create new account",rk="Sign up with password",ik="You are currently logged in as <0>{{email}}</0>",sk="Email",ok="Email address",ak="Your email address has been validated",ck="Now enter your password to login again",lk="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.",uk="Email verification sent",dk="Enter a code",pk="We'll send you a verification link to ensure you own this email address.",fk="Enter new password",hk="Enter password",gk="Enter your email address and password to login.",mk="Enter your password",_k="The magic link has expired. Please click on the button below to receive a new link in your inbox.",yk="Hey! We updated our login experience. <0>Click here to learn more about it.</0>",vk="Send password reset email",wk="Click the button below and we’ll send instructions on how to reset your password.",bk="Password reset email sent",kk="Forgot password?",xk="Forgot password?",Sk="Go back",Ak="Invalid password",Ek=`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
|
|
|
226
|
-
You can click the link below to start a new login.`,
|
|
226
|
+
You can click the link below to start a new login.`,Ik="Invalid link",Ck="Click the button to log in",Nk="Login",$k="Or enter the code at {{vendorName}} to complete the login.",zk="Enter your email address to unlock this show on {{service}}",jk="Link your account with {{service}}",Ok="You are logged in as",Bk="Login",Tk="Enter your email address to sign in.",Pk="Enter your email address and we will send you a login code.",Rk="Enter your email address and we will send you a login link.",Lk="Log out",Uk="No, I want to use another account",Vk="or",Mk="Password",qk="The password has been reset",Dk="Success",Fk="Change password for your {{vendorName}} account",Hk="Change password for your {{vendorName}} account",Kk="Privacy Policy",Wk="Redirecting",Gk="Confirm password",Jk="Register a new password",Zk="Resend code",Yk="Change password",Xk="Enter your new password below for the email account: ",Qk="Click the button to reset your password",ex="Click the button to reset your password",tx="Reset your password",nx="Change password for your {{vendorName}} account",rx="Reset password",ix="Send",sx="Send me a new magic link",ox="Remember to check your spam folder if the email did not arrive.",ax="Set password",cx="Sign in",lx="Signup",ux="Sign up successful",dx="It appears that your Spotify account is currently linked to another Sesamy account. But fear not, we're here to guide you through the process to get this fixed.",px="Go to Spotify's Content Access page",fx=`Let's start by unlinking your Spotify account. Click the button below to go to Spotify's Content Access page. After you've logged in to your Spotify account, find Sesamy on the list of connected platforms. Click "Unlink" next to the Sesamy logo.`,hx="Step 1: Unlink Your Spotify Account",gx="Once you've successfully unlinked your Spotify account, you can relink it to Sesamy. Simply repeat the steps you previously took that led you to this page.",mx="Step 2: Relink Your Spotify Account to Sesamy",_x="Oops! Your Spotify Account Is Already Linked",yx="If you have questions or need assistance, you can contact our support team",vx="Terms and Conditions",wx="Your email address needs validating. We have sent a new email to your inbox",bx="User account does not exist",kx="User account does not exist",xx="We could not find a user with the provided email address. Please, try again.",Sx="Try again.",Ax="Validate code",Ex="Check your inbox for email validation instructions.",Ix="Signed up",Cx="Click the button to verify your email address",Nx="Validate your email address",$x="Validate your email address",zx="Verify account",jx="Verify your email",Ox="Please check your email at <0>{{email}}</0> and enter the six-digit code that we've sent you.",Bx="Welcome",Tx="Welcome to your {{vendorName}} account!",Px="Continue with this account",Rx="Yes, continue with {{text}}",Lx="Yes, continue with existing account",Ux={"Server error: Invalid code":"Invalid code","Wrong email or verification code":{"":"Wrong email or verification code."},account_detected:z1,account_with_sso_provider:j1,agree_to:O1,and:B1,callback_url_mismatch:T1,callback_url_not_allowed:P1,check_email_title:R1,click_to_sign_up_description:L1,code_email_enter_code:U1,code_email_subject:V1,code_email_title:M1,code_valid_30_minutes:q1,confirm_password:D1,contact_support:F1,contact_us:H1,continue:"Continue",continue_social_login:K1,continue_with:W1,continue_with_sso_provider_headline:G1,copyright:J1,copyright_sesamy:Z1,create_account_description:Y1,create_account_email_invalid:X1,create_account_passwords_didnt_match:Q1,create_account_title:ek,create_account_weak_password:tk,create_new_account_link:nk,create_password_account_title:rk,currently_logged_in_as:ik,email:sk,email_placeholder:ok,email_validated:ak,email_validated_cta:ck,email_verification_for_signup_sent_description:lk,email_verification_for_signup_sent_title:uk,enter_a_code_btn:dk,enter_email_for_verification_description:pk,enter_new_password_placeholder:fk,enter_password:hk,enter_password_description:gk,enter_your_password_btn:mk,expired_code:_k,fokus_info_message:yk,forgot_password_cta:vk,forgot_password_description:wk,forgot_password_email_sent:bk,forgot_password_link:kk,forgot_password_title:xk,go_back:Sk,"invalid-email":"Invalid email",invalid_password:Ak,invalid_session_body:Ek,invalid_session_title:Ik,link_email_click_to_login:Ck,link_email_login:Nk,link_email_or_enter_code:$k,link_page_body:zk,link_page_headline:jk,logged_in_as:Ok,login:Bk,login_description:Tk,login_description_code:Pk,login_description_link:Rk,logout:Lk,no_use_another:Uk,or:Vk,password:Mk,password_has_been_reset:qk,password_has_been_reset_title:Dk,password_reset_subject:Fk,password_reset_title:Hk,privacy_policy:Kk,redirecting:Wk,reenter_new_password_placeholder:Gk,register_password_account:Jk,resend_code:Zk,reset_password_cta:Yk,reset_password_description:Xk,reset_password_email_click_to_reset:Qk,reset_password_email_cta:ex,reset_password_email_reset:tx,reset_password_subject:nx,reset_password_title:rx,send:ix,send_me_a_new_magic_link:sx,sent_code_spam:ox,set_password:ax,sign_in:cx,signup:lx,signup_success:ux,spotify_already_linked_body:dx,spotify_already_linked_cta:px,spotify_already_linked_step1_body:fx,spotify_already_linked_step1_title:hx,spotify_already_linked_step2_body:gx,spotify_already_linked_step2_title:mx,spotify_already_linked_title:_x,support_info:yx,terms:vx,unverified_email:wx,user_account_does_not_exist:bx,user_not_found:kx,user_not_found_body:xx,user_not_found_cta:Sx,validate_code:Ax,validate_email_body:Ex,validate_email_title:Ix,verify_email_click_to_verify:Cx,verify_email_subject:Nx,verify_email_title:$x,verify_email_verify:zx,verify_your_email:jx,we_sent_a_code_to:Ox,welcome:Bx,welcome_to_your_account:Tx,yes_continue:Px,yes_continue_with:Rx,yes_continue_with_existing_account:Lx},Vx="Account rilevato",Mx="Abbiamo rilevato che l'utente ha già creato un account tramite",qx="Effettuando l'accesso, l'utente accetta la nostra",Dx="e",Fx="Mancata corrispondenza dell'URL di callback",Hx="Il redirect_uri fornito non è nell'elenco degli URL di callback consentiti.",Kx="continuare con l'utente",Wx="Fare clic sul pulsante per creare un nuovo account con password.",Gx="Inserite il codice all'indirizzo {{vendorName}} per completare il login.",Jx="Benvenuti su {{vendorName}}! {{code}} è il codice di accesso",Zx="Benvenuti su {{vendorName}}! {{code}} è il codice di accesso",Yx="Il codice è valido per 30 minuti",Xx="Confermare la password",Qx="Avete bisogno di aiuto?",eS="Contattateci",tS="o continuare con il conto sociale",nS="Continua con {{provider}}",rS="Desidera continuare a utilizzare l'account esistente?",iS="Copyright © 2023 SESAMY. Tutti i diritti riservati.",sS="©2023 Sesamy",oS="Scegliete una password con un mix di lettere maiuscole e minuscole, numeri e simboli.",aS="Inserire un indirizzo e-mail valido.",cS="Le password non corrispondono. Riprovare.",lS="Scegliere la password",uS="La password deve essere lunga almeno 8 caratteri e contenere almeno una lettera minuscola, una lettera maiuscola, un numero e un simbolo.",dS="Creare un nuovo account",pS="Iscriviti con la password",fS="Attualmente si è connessi come <0>{{email}}</0>",hS="Email",gS="Indirizzo e-mail",mS="Il tuo indirizzo e-mail è stato convalidato",_S="Ora inserire la password per accedere nuovamente",yS="È stata inviata un'e-mail a <0>{{email}}</0> con un link di verifica. Fare clic sul link per verificare l'indirizzo e-mail e impostare una password.",vS="Email di verifica inviata",wS="Inserire un codice",bS="Vi invieremo un link di verifica per assicurarvi di possedere questo indirizzo e-mail.",kS="Inserire la nuova password",xS="Inserire la password",SS="Inserire l'indirizzo e-mail e la password per accedere.",AS="Inserire la password",ES="Il link magico è scaduto. Cliccate sul pulsante sottostante per ricevere un nuovo link nella vostra casella di posta elettronica.",IS="Abbiamo aggiornato la nostra esperienza di accesso. <0>Clicca qui per saperne di più.</0>",CS="Inviare l'e-mail di reimpostazione della password",NS="Fare clic sul pulsante sottostante per ricevere le istruzioni su come reimpostare la password.",$S="Email di reimpostazione della password inviata",zS="Hai dimenticato la password?",jS="Hai dimenticato la password?",OS="Torna indietro",BS="Password non valida",TS=`Il link non è più valido.
|
|
227
227
|
|
|
228
228
|
Assicuratevi di aprire il link di accesso con lo stesso browser con cui avete iniziato l'accesso.
|
|
229
229
|
|
|
230
|
-
Potete fare clic sul link sottostante per iniziare un nuovo accesso.`,
|
|
230
|
+
Potete fare clic sul link sottostante per iniziare un nuovo accesso.`,PS="Collegamento non valido",RS="Fare clic sul pulsante per accedere",LS="Accedi",US="Oppure inserire il codice all'indirizzo {{vendorName}} per completare il login.",VS="Inserisci il tuo indirizzo e-mail per sbloccare questo spettacolo su {{service}}",MS="Collegate il vostro account con {{service}}",qS="L'utente ha effettuato l'accesso come",DS="Accesso",FS="Inserire l'indirizzo e-mail per accedere.",HS="Inserite il vostro indirizzo e-mail e vi invieremo un codice di accesso.",KS="Inserite il vostro indirizzo e-mail e vi invieremo un link di accesso.",WS="Disconnettersi",GS="No, voglio usare un altro account",JS="o",ZS="Password",YS="La password è stata reimpostata",XS="Il successo",QS="Modifica della password dell'account {{vendorName}}",e2="Modifica della password dell'account {{vendorName}} ",t2="Informativa sulla privacy",n2="Reindirizzamento",r2="Confermare la password",i2="Registrazione di una nuova password",s2="Reinvio del codice",o2="Modifica della password",a2="Immettere di seguito la nuova password per l'account e-mail: ",c2="Fare clic sul pulsante per reimpostare la password",l2="Fare clic sul pulsante per reimpostare la password",u2="Reimpostare la password",d2="Modifica della password dell'account {{vendorName}} ",p2="Reimpostare la password",f2="Inviare",h2="Inviami un nuovo link magico",g2="Ricordate di controllare la cartella spam se l'e-mail non è arrivata.",m2="Impostare la password",_2="Accedi",y2="Iscriviti",v2="Iscriviti con successo",w2="Sembra che il vostro account Spotify sia attualmente collegato a un altro account Sesamy. Ma non temete, siamo qui per guidarvi attraverso la procedura per risolvere il problema.",b2="Vai alla pagina di accesso ai contenuti di Spotify",k2=`Cominciamo con lo scollegare il vostro account Spotify. Fare clic sul pulsante sottostante per accedere alla pagina di accesso ai contenuti di Spotify. Dopo aver effettuato l'accesso al vostro account Spotify, trovate Sesamy nell'elenco delle piattaforme collegate. Fate clic su "Unlink" accanto al logo di Sesamy.`,x2="Passo 1: Disconnettere l'account Spotify",S2="Dopo aver scollegato con successo il proprio account Spotify, è possibile ricollegarlo a Sesamy. È sufficiente ripetere i passaggi precedenti che vi hanno portato a questa pagina.",A2="Passo 2: ricollegare l'account Spotify a Sesamy",E2="Ops! Il tuo account Spotify è già collegato",I2="Se avete domande o bisogno di assistenza, potete contattare il nostro team di supporto",C2="Termini e condizioni",N2="Il tuo indirizzo e-mail deve essere convalidato. Abbiamo inviato una nuova e-mail alla tua casella di posta.",$2="L'account utente non esiste",z2="L'account utente non esiste",j2="Non è stato possibile trovare un utente con l'indirizzo e-mail fornito. Si prega di riprovare.",O2="Riprova.",B2="Convalida del codice",T2="Controllate la vostra casella di posta per le istruzioni di convalida dell'e-mail.",P2="Iscritta",R2="Fare clic sul pulsante per verificare l'indirizzo e-mail",L2="Convalidare l'indirizzo e-mail",U2="Convalidare l'indirizzo e-mail",V2="Verifica dell'account",M2="Verificare l'e-mail",q2="Controllate la vostra e-mail all'indirizzo <0>{{email}}</0> e inserisca il codice a sei cifre che le abbiamo inviato.",D2="Benvenuti",F2="Benvenuto nel tuo account {{vendorName}}!",H2="Continuare con questo account",K2="Sì, continuare con {{text}}",W2="Sì, continuare con l'account esistente",G2={"Server error: Invalid code":"Codice non valido","Wrong email or verification code":{"":"Email o codice di verifica errati."},account_detected:Vx,account_with_sso_provider:Mx,agree_to:qx,and:Dx,callback_url_mismatch:Fx,callback_url_not_allowed:Hx,check_email_title:Kx,click_to_sign_up_description:Wx,code_email_enter_code:Gx,code_email_subject:Jx,code_email_title:Zx,code_valid_30_minutes:Yx,confirm_password:Xx,contact_support:Qx,contact_us:eS,continue:"Continua",continue_social_login:tS,continue_with:nS,continue_with_sso_provider_headline:rS,copyright:iS,copyright_sesamy:sS,create_account_description:oS,create_account_email_invalid:aS,create_account_passwords_didnt_match:cS,create_account_title:lS,create_account_weak_password:uS,create_new_account_link:dS,create_password_account_title:pS,currently_logged_in_as:fS,email:hS,email_placeholder:gS,email_validated:mS,email_validated_cta:_S,email_verification_for_signup_sent_description:yS,email_verification_for_signup_sent_title:vS,enter_a_code_btn:wS,enter_email_for_verification_description:bS,enter_new_password_placeholder:kS,enter_password:xS,enter_password_description:SS,enter_your_password_btn:AS,expired_code:ES,fokus_info_message:IS,forgot_password_cta:CS,forgot_password_description:NS,forgot_password_email_sent:$S,forgot_password_link:zS,forgot_password_title:jS,go_back:OS,"invalid-email":"Email non valida",invalid_password:BS,invalid_session_body:TS,invalid_session_title:PS,link_email_click_to_login:RS,link_email_login:LS,link_email_or_enter_code:US,link_page_body:VS,link_page_headline:MS,logged_in_as:qS,login:DS,login_description:FS,login_description_code:HS,login_description_link:KS,logout:WS,no_use_another:GS,or:JS,password:ZS,password_has_been_reset:YS,password_has_been_reset_title:XS,password_reset_subject:QS,password_reset_title:e2,privacy_policy:t2,redirecting:n2,reenter_new_password_placeholder:r2,register_password_account:i2,resend_code:s2,reset_password_cta:o2,reset_password_description:a2,reset_password_email_click_to_reset:c2,reset_password_email_cta:l2,reset_password_email_reset:u2,reset_password_subject:d2,reset_password_title:p2,send:f2,send_me_a_new_magic_link:h2,sent_code_spam:g2,set_password:m2,sign_in:_2,signup:y2,signup_success:v2,spotify_already_linked_body:w2,spotify_already_linked_cta:b2,spotify_already_linked_step1_body:k2,spotify_already_linked_step1_title:x2,spotify_already_linked_step2_body:S2,spotify_already_linked_step2_title:A2,spotify_already_linked_title:E2,support_info:I2,terms:C2,unverified_email:N2,user_account_does_not_exist:$2,user_not_found:z2,user_not_found_body:j2,user_not_found_cta:O2,validate_code:B2,validate_email_body:T2,validate_email_title:P2,verify_email_click_to_verify:R2,verify_email_subject:L2,verify_email_title:U2,verify_email_verify:V2,verify_your_email:M2,we_sent_a_code_to:q2,welcome:D2,welcome_to_your_account:F2,yes_continue:H2,yes_continue_with:K2,yes_continue_with_existing_account:W2},J2="Konto oppdaget",Z2="Vi har oppdaget at du allerede har opprettet en konto gjennom",Y2="Ved å logge på godtar du vår",X2="og",Q2="Callback-URLen samsvarer ikke",eA="Den oppgitte redirect_uri er ikke på listen over tillatte tilbakeringings-URLer.",tA="fortsett med bruker",nA="Klikk på knappen for å opprette en ny passordkonto.",rA="Skriv inn koden på {{vendorName}} for å fullføre påloggingen",iA="Velkommen til {{vendorName}} ! {{code}} er påloggingskoden",sA="Velkommen til {{vendorName}}! {{code}} er påloggingskoden",oA="Koden er gyldig i 30 minutter",aA="Bekreft passord",cA="Trenger hjelp?",lA="Kontakt oss",uA="eller fortsett med sosial konto",dA="Fortsett med {{provider}}",pA="Vil du fortsette med din eksisterende konto?",fA="Opphavsrett © 2023 SESAMY. Alle rettigheter forbeholdt.",hA="©2023 Sesamy",gA="Velg et passord med en blanding av store og små bokstaver, tall og symboler.",mA="Vennligst skriv inn en gyldig e-postadresse.",_A="Passordene stemte ikke overens. Prøv igjen.",yA="Velg passord",vA="Passordet må være på minst 8 tegn og inneholde minst én liten bokstav, én stor bokstav, ett tall og ett symbol.",wA="Opprett ny konto",bA="Registrer deg med passord",kA="Du er logget på som <0> {{email}}</0>",xA="E-post",SA="E-postadresse",AA="E-postadressen din har blitt validert",EA="Skriv nå inn passordet ditt for å logge inn igjen",IA="En e-post har blitt sendt til <0>{{email}}</0> med en bekreftelseslenke. Klikk på lenken for å bekrefte e-postadressen din og angi et passord.",CA="E-postbekreftelse sendt",NA="Angi en kode",$A="Vi sender deg en bekreftelseskobling for å sikre at du eier denne e-postadressen.",zA="Skriv inn nytt passord",jA="Oppgi passord",OA="Skriv inn e-postadressen og passordet ditt for å logge inn.",BA="Skriv inn passordet ditt",TA="Den magiske lenken er utløpt. Vennligst klikk på knappen nedenfor for å motta en ny lenke i innboksen din.",PA="Hei! Vi oppdaterte påloggingsopplevelsen vår. <0>Klikk her for å lære mer om det.</0>",RA="Send e-post om tilbakestilling av passord",LA="Klikk på knappen nedenfor, så sender vi deg instruksjoner om hvordan du tilbakestiller passordet ditt.",UA="E-post om tilbakestilling av passord sendt",VA="Har du glemt passordet?",MA="Har du glemt passordet?",qA="Gå tilbake",DA="Ugyldig passord",FA=`Lenken er ikke lenger gyldig.
|
|
231
231
|
|
|
232
232
|
Sørg for å åpne påloggingslenken i samme nettleser som du startet påloggingen med.
|
|
233
233
|
|
|
234
|
-
Du kan klikke på lenken nedenfor for å starte en ny pålogging.`,
|
|
234
|
+
Du kan klikke på lenken nedenfor for å starte en ny pålogging.`,HA="Ugyldig lenke",KA="Klikk på knappen for å logge inn",WA="Logg inn",GA="Eller skriv inn koden på {{vendorName}} for å fullføre påloggingen.",JA="Skriv inn e-postadressen din for å låse opp dette programmet på {{service}}",ZA="Koble kontoen din til {{service}}",YA="Du er innlogget som",XA="Logg inn",QA="Skriv inn e-postadressen din for å logge på.",e4="Skriv inn e-postadressen din og vi sender deg en påloggingskode.",t4="Skriv inn e-postadressen din og vi sender deg en påloggingslenke.",n4="Logg ut",r4="Nei, jeg vil bruke en annen konto",i4="eller",s4="Passord",o4="Passordet har blitt tilbakestilt",a4="Suksess",c4="Endre passord for {{vendorName}} kontoen din",l4="Endre passord for {{vendorName}} kontoen din",u4="Personvernerklæring",d4="Omdirigerer",p4="Bekreft passord",f4="Registrer et nytt passord",h4="Send kode på nytt",g4="Endre passord",m4="Skriv inn det nye passordet for e-postkontoen nedenfor: ",_4="Klikk på knappen for å tilbakestille passordet ditt",y4="Klikk på knappen for å tilbakestille passordet ditt",v4="Tilbakestill passordet ditt",w4="Endre passord for {{vendorName}} -kontoen din",b4="Tilbakestill passord",k4="Send",x4="Send meg en ny magisk lenke",S4="Husk å sjekke søppelpostmappen din hvis e-posten ikke kom.",A4="Angi passord",E4="Logg inn",I4="Påmelding",C4="Vellykket registrering",N4="Det ser ut til at Spotify-kontoen din for øyeblikket er koblet til en annen Sesamy-konto. Men ikke vær redd, vi er her for å veilede deg gjennom prosessen for å få dette fikset.",$4="Gå til Spotifys innholdstilgangsside",z4='La oss starte med å koble fra Spotify-kontoen din. Klikk på knappen nedenfor for å gå til Spotifys innholdstilgang-side. Etter at du har logget på Spotify-kontoen din, finner du Sesamy på listen over tilkoblede plattformer. Klikk "Fjern kobling" ved siden av Sesamy-logoen.',j4="Trinn 1: Koble fra Spotify-kontoen din",O4="Når du har koblet fra Spotify-kontoen din, kan du koble den til Sesamy på nytt. Bare gjenta trinnene du tidligere tok som førte deg til denne siden.",B4="Trinn 2: Koble Spotify-kontoen din til Sesamy på nytt",T4="Oops! Spotify-kontoen din er allerede koblet",P4="Hvis du har spørsmål eller trenger hjelp, kan du kontakte supportteamet vårt",R4="vilkår",L4="E-postadressen din må bekreftes. Vi har sendt en ny e-post til innboksen din.",U4="Brukerkonto eksisterer ikke",V4="Brukerkonto eksisterer ikke",M4="Vi kunne ikke finne en bruker med den oppgitte e-postadressen. Vær så snill, prøv på nytt.",q4="Prøv igjen.",D4="Bekreft koden",F4="Sjekk innboksen din for instruksjoner om e-postvalidering.",H4="Registrerte seg",K4="Klikk på knappen for å bekrefte e-postadressen din",W4="Bekreft e-postadressen din",G4="Bekreft e-postadressen din",J4="Bekreft konto",Z4="Bekreft e-posten din",Y4="Vennligst sjekk e-posten din på <0>{{email}}</0> og skriv inn den sekssifrede koden som vi har sendt deg.",X4="Velkommen",Q4="Velkommen til din brukerkonto hos {{vendorName}} !",eE="Fortsett med denne kontoen",tE="Ja, fortsett med {{text}}",nE="Ja, fortsett med eksisterende konto",rE={"Server error: Invalid code":"Ugyldig kode","Wrong email or verification code":{"":"Feil e-post eller bekreftelseskode."},account_detected:J2,account_with_sso_provider:Z2,agree_to:Y2,and:X2,callback_url_mismatch:Q2,callback_url_not_allowed:eA,check_email_title:tA,click_to_sign_up_description:nA,code_email_enter_code:rA,code_email_subject:iA,code_email_title:sA,code_valid_30_minutes:oA,confirm_password:aA,contact_support:cA,contact_us:lA,continue:"Fortsette",continue_social_login:uA,continue_with:dA,continue_with_sso_provider_headline:pA,copyright:fA,copyright_sesamy:hA,create_account_description:gA,create_account_email_invalid:mA,create_account_passwords_didnt_match:_A,create_account_title:yA,create_account_weak_password:vA,create_new_account_link:wA,create_password_account_title:bA,currently_logged_in_as:kA,email:xA,email_placeholder:SA,email_validated:AA,email_validated_cta:EA,email_verification_for_signup_sent_description:IA,email_verification_for_signup_sent_title:CA,enter_a_code_btn:NA,enter_email_for_verification_description:$A,enter_new_password_placeholder:zA,enter_password:jA,enter_password_description:OA,enter_your_password_btn:BA,expired_code:TA,fokus_info_message:PA,forgot_password_cta:RA,forgot_password_description:LA,forgot_password_email_sent:UA,forgot_password_link:VA,forgot_password_title:MA,go_back:qA,"invalid-email":"Ugyldig epost",invalid_password:DA,invalid_session_body:FA,invalid_session_title:HA,link_email_click_to_login:KA,link_email_login:WA,link_email_or_enter_code:GA,link_page_body:JA,link_page_headline:ZA,logged_in_as:YA,login:XA,login_description:QA,login_description_code:e4,login_description_link:t4,logout:n4,no_use_another:r4,or:i4,password:s4,password_has_been_reset:o4,password_has_been_reset_title:a4,password_reset_subject:c4,password_reset_title:l4,privacy_policy:u4,redirecting:d4,reenter_new_password_placeholder:p4,register_password_account:f4,resend_code:h4,reset_password_cta:g4,reset_password_description:m4,reset_password_email_click_to_reset:_4,reset_password_email_cta:y4,reset_password_email_reset:v4,reset_password_subject:w4,reset_password_title:b4,send:k4,send_me_a_new_magic_link:x4,sent_code_spam:S4,set_password:A4,sign_in:E4,signup:I4,signup_success:C4,spotify_already_linked_body:N4,spotify_already_linked_cta:$4,spotify_already_linked_step1_body:z4,spotify_already_linked_step1_title:j4,spotify_already_linked_step2_body:O4,spotify_already_linked_step2_title:B4,spotify_already_linked_title:T4,support_info:P4,terms:R4,unverified_email:L4,user_account_does_not_exist:U4,user_not_found:V4,user_not_found_body:M4,user_not_found_cta:q4,validate_code:D4,validate_email_body:F4,validate_email_title:H4,verify_email_click_to_verify:K4,verify_email_subject:W4,verify_email_title:G4,verify_email_verify:J4,verify_your_email:Z4,we_sent_a_code_to:Y4,welcome:X4,welcome_to_your_account:Q4,yes_continue:eE,yes_continue_with:tE,yes_continue_with_existing_account:nE},iE="Fortsätt med existerande konto",sE="Det verkar som att du redan har skapat ett konto genom",oE="Genom att logga in godkänner du våra",aE="och",cE="Callback URL mismatch",lE="The provided redirect_uri is not in the list of allowed callback URLs.",uE="fortsätt med användaren",dE="Klicka på knappen för att skapa ett nytt lösenordskonto.",pE="Skriv in koden på {{vendorName}} för att slutföra inloggningen",fE="Välkommen till {{vendorName}}! {{code}} är koden för att logga in",hE="Välkommen till {{vendorName}}! {{code}} är koden för att logga in",gE="Koden är giltig i 30 minuter",mE="Bekräfta lösenord",_E="Behöver du hjälp?",yE="Kontakta oss",vE="eller via sociala medier",wE="Fortsätt med {{provider}}",bE="Vill du fortsätta med det här kontot?",kE="Copyright © 2023 SESAMY. Alla rättigheter förbehållna.",xE="©2023 Sesamy",SE="Välj ett lösenord med en blandning av stora och små bokstäver, siffror och symboler.",AE="Ange en giltig e-postadress.",EE="Lösenorden stämde inte överens. Försök igen.",IE="Välj lösenord",CE="Lösenordet måste vara minst 8 tecken långt och innehålla minst en gemen bokstav, en versal bokstav, en siffra och en symbol.",NE="Skapa nytt konto",$E="Registrera dig med lösenord",zE="Du är inloggad som <0>{{email}}</0>",jE="E-postadress",OE="E-postadress",BE="Din e-postadress har validerats",TE="Ange nu ditt lösenord för att logga in igen",PE="Ett e-postmeddelande har skickats till <0>{{email}}</0> med en verifieringslänk. Vänligen klicka på länken för att verifiera din e-postadress och välja ett lösenord.",RE="E-postverifiering skickad",LE="Logga in med kod",UE="Vi skickar dig en verifieringslänk för att säkerställa att du äger den här e-postadressen.",VE="Ange nytt lösenord",ME="Ange lösenord",qE="Ange din e-postadress och ditt lösenord för att logga in.",DE="Logga in med lösenord",FE="Länken är inte längre giltig. Klicka på knappen för att skicka en ny länk till din epost.",HE="Vi har bytt inloggningssystem, <0>här kan du läsa mer om vad det innebär</0>",KE="Skicka",WE="Klicka på knappen nedan så skickar vi instruktioner om hur du återställer ditt lösenord.",GE="Vi har skickat ett e-postmeddelande med instruktioner om hur du återställer ditt lösenord till den e-postadress du angav.",JE="Har du glömt lösenordet?",ZE="Har du glömt lösenordet?",YE="Gå tillbaka",XE="Ogiltigt lösenord",QE=`Länken är inte längre giltig.
|
|
235
235
|
|
|
236
236
|
Vänligen se till att öppna inloggningslänken i samma webbläsare som du startade inloggningen med.
|
|
237
237
|
|
|
238
|
-
Du kan klicka på länken nedan för att starta en ny inloggning.`,
|
|
238
|
+
Du kan klicka på länken nedan för att starta en ny inloggning.`,eI="Ogiltig länk",tI="Klicka på knappen för att logga in",nI="Logga in",rI="Eller skriv in koden på {{vendorName}} för att slutföra inloggningen.",iI="Ange din epost för att låsa upp den här showen på {{service}}",sI="Koppla ditt konto till {{service}}",oI="Du är inloggad som",aI="Logga in",cI="Ange din e-postadress för att logga in.",lI="Ange din mejladress, så skickar vi en kod till dig som du kan logga in med.",uI="Ange din mejladress, så skickar vi en länk till dig som du kan logga in med.",dI="Logga ut",pI="Nej, jag vill använda ett annat konto",fI="eller",hI="Lösenord",gI="Lösenordet har återställts",mI="Framgång",_I="Byt lösenord för ditt {{vendorName}} konto",yI="Byt lösenord för ditt {{vendorName}} konto",vI="Integritetspolicy",wI="Du skickas vidare",bI="Bekräfta lösenord",kI="Registrera ett nytt lösenord",xI="Skicka koden igen",SI="Ändra lösenord",AI="Ange ditt nya lösenord nedan för e-postkontot: ",EI="Klicka på knappen för att återställa ditt lösenord",II="Klicka på knappen för att återställa ditt lösenord",CI="Återställ ditt lösenord",NI="Byt lösenord för ditt {{vendorName}} konto",$I="Återställ lösenord",zI="Skicka",jI="Skicka en ny inloggninglänk",OI="Kom ihåg att kontrollera din skräppost om du inte kan hitta mailet vi har skickat.",BI="Välj lösenord",TI="Logga in",PI="Registrera dig",RI="Registrera dig framgångsrik",LI="Det verkar som att ditt Spotify-konto för närvarande är kopplat till ett annat Sesamy-konto. Ingen fara, vi är här för att guida dig genom processen för att lösa detta.",UI="Gå till Spotify's Content Access sida",VI=`Vi börjar med att avlänka ditt Spotify-konto. Klicka på knappen nedan för att komma till Spotify's Content Access sida. När du har loggat in på ditt Spotify-konto, leta upp Sesamy i listan över anslutna plattformar. Klicka på "Unlink" bredvid Sesamys logotyp.`,MI="Steg 1: Avlänka ditt Spotify-konto",qI="När du har avlänkat ditt Spotify-konto kan du koppla det till Sesamy igen. Upprepa helt enkelt de steg du tog som ledde dig till den här sidan.",DI="Steg 2: Koppla ditt Spotify-konto till Sesamy igen",FI="Oj! Ditt Spotify-konto är redan kopplat",HI="Om du har frågor eller behöver hjälp kan du kontakta vårt supportteam",KI="Villkor",WI="Din e-postadress behöver valideras. Vi har skickat ett nytt e-postmeddelande till din inkorg",GI="Kontot existerar inte",JI="Kontot extisterar inte",ZI="Vi kan inte hitta en användare med denna eposten. Vänligen försök igen.",YI="Försök igen.",XI="Validera kod",QI="Kontrollera din inkorg för instruktioner om validering av e-post.",e3="Registrerad",t3="Klicka på knappen för att verifiera din e-postadress",n3="Bekräfta din e-postadress",r3="Bekräfta din e-postadress",i3="Verifiera konto",s3="Ange engångskod",o3="Vänligen kontrollera din e-post för <0>{{email}}</0> och ange den sexsiffriga koden som vi har skickat till dig.",a3="Välkommen",c3="Välkommen till ditt {{vendorName}}-konto!",l3="Fortsätt med konto",u3="Ja, fortsätt med {{text}}",d3="Ja, fortsätt med detta kontot",p3={"Server error: Invalid code":"Koden är inte giltig","Wrong email or verification code":{"":"Fel e-post eller verifieringskod."},account_detected:iE,account_with_sso_provider:sE,agree_to:oE,and:aE,callback_url_mismatch:cE,callback_url_not_allowed:lE,check_email_title:uE,click_to_sign_up_description:dE,code_email_enter_code:pE,code_email_subject:fE,code_email_title:hE,code_valid_30_minutes:gE,confirm_password:mE,contact_support:_E,contact_us:yE,continue:"Fortsätt",continue_social_login:vE,continue_with:wE,continue_with_sso_provider_headline:bE,copyright:kE,copyright_sesamy:xE,create_account_description:SE,create_account_email_invalid:AE,create_account_passwords_didnt_match:EE,create_account_title:IE,create_account_weak_password:CE,create_new_account_link:NE,create_password_account_title:$E,currently_logged_in_as:zE,email:jE,email_placeholder:OE,email_validated:BE,email_validated_cta:TE,email_verification_for_signup_sent_description:PE,email_verification_for_signup_sent_title:RE,enter_a_code_btn:LE,enter_email_for_verification_description:UE,enter_new_password_placeholder:VE,enter_password:ME,enter_password_description:qE,enter_your_password_btn:DE,expired_code:FE,fokus_info_message:HE,forgot_password_cta:KE,forgot_password_description:WE,forgot_password_email_sent:GE,forgot_password_link:JE,forgot_password_title:ZE,go_back:YE,"invalid-email":"Ogiltig e-postadress",invalid_password:XE,invalid_session_body:QE,invalid_session_title:eI,link_email_click_to_login:tI,link_email_login:nI,link_email_or_enter_code:rI,link_page_body:iI,link_page_headline:sI,logged_in_as:oI,login:aI,login_description:cI,login_description_code:lI,login_description_link:uI,logout:dI,no_use_another:pI,or:fI,password:hI,password_has_been_reset:gI,password_has_been_reset_title:mI,password_reset_subject:_I,password_reset_title:yI,privacy_policy:vI,redirecting:wI,reenter_new_password_placeholder:bI,register_password_account:kI,resend_code:xI,reset_password_cta:SI,reset_password_description:AI,reset_password_email_click_to_reset:EI,reset_password_email_cta:II,reset_password_email_reset:CI,reset_password_subject:NI,reset_password_title:$I,send:zI,send_me_a_new_magic_link:jI,sent_code_spam:OI,set_password:BI,sign_in:TI,signup:PI,signup_success:RI,spotify_already_linked_body:LI,spotify_already_linked_cta:UI,spotify_already_linked_step1_body:VI,spotify_already_linked_step1_title:MI,spotify_already_linked_step2_body:qI,spotify_already_linked_step2_title:DI,spotify_already_linked_title:FI,support_info:HI,terms:KI,unverified_email:WI,user_account_does_not_exist:GI,user_not_found:JI,user_not_found_body:ZI,user_not_found_cta:YI,validate_code:XI,validate_email_body:QI,validate_email_title:e3,verify_email_click_to_verify:t3,verify_email_subject:n3,verify_email_title:r3,verify_email_verify:i3,verify_your_email:s3,we_sent_a_code_to:o3,welcome:a3,welcome_to_your_account:c3,yes_continue:l3,yes_continue_with:u3,yes_continue_with_existing_account:d3},f3="Wykryto konto",h3="Wykryliśmy, że użytkownik utworzył już konto za pośrednictwem",g3="Logując się, wyrażasz zgodę na nasze",m3="i",_3="Niezgodność adresu URL wywołania zwrotnego",y3="Podany adres redirect_uri nie znajduje się na liście dozwolonych adresów URL wywołania zwrotnego.",v3="kontynuować z użytkownikiem",w3="Kliknij przycisk, aby utworzyć nowe konto z hasłem.",b3="Wpisz kod na stronie {{vendorName}}, aby się zalogować.",k3="Witamy na {{vendorName}}! {{code}} to kod logowania do Twojego konta.",x3="Witamy na {{vendorName}}! {{code}} to kod logowania.",S3="Kod jest ważny przez 30 minut",A3="Potwierdź hasło",E3="Potrzebujesz pomocy?",I3="Skontaktuj się z nami",C3="lub kontynuować korzystanie z konta społecznościowego",N3="Kontynuuj {{provider}}",$3="Czy chcesz kontynuować korzystanie z istniejącego konta?",z3="Copyright © 2023 SESAMY. Wszelkie prawa zastrzeżone.",j3="©2023 Sesamy",O3="Wybierz hasło składające się z małych i wielkich liter, cyfr i symboli.",B3="Wprowadź prawidłowy adres e-mail.",T3="Hasła nie są zgodne. Spróbuj ponownie.",P3="Wybierz hasło",R3="Hasło musi mieć co najmniej 8 znaków i zawierać co najmniej jedną małą literę, jedną wielką literę, jedną cyfrę i jeden symbol.",L3="Utwórz nowe konto",U3="Zarejestruj się przy użyciu hasła",V3="Jesteś obecnie zalogowany jako <0>{{email}}</0>",M3="E-mail",q3="Adres e-mail",D3="Twój adres e-mail został zweryfikowany",F3="Teraz wprowadź hasło, aby zalogować się ponownie",H3="Wiadomość e-mail została wysłana do <0>{{email}}</0> z linkiem weryfikacyjnym. Kliknij łącze, aby zweryfikować swój adres e-mail i ustawić hasło.",K3="Wysłano weryfikację e-mail",W3="Wprowadź kod",G3="Wyślemy Ci link weryfikacyjny, aby upewnić się, że posiadasz ten adres e-mail.",J3="Wprowadź nowe hasło",Z3="Wprowadź hasło",Y3="Wprowadź swój adres e-mail i hasło, aby się zalogować.",X3="Wprowadź hasło",Q3="Magiczny link wygasł. Kliknij poniższy przycisk, aby otrzymać nowy link w skrzynce odbiorczej.",e6="Zaktualizowaliśmy sposób logowania. <0>Kliknij tutaj, aby dowiedzieć się więcej.</0>",t6="Wyślij wiadomość e-mail z resetem hasła",n6="Kliknij poniższy przycisk, a my wyślemy Ci instrukcje, jak zresetować hasło.",r6="Wysłano wiadomość e-mail z resetem hasła",i6="Zapomniałeś hasła?",s6="Zapomniałeś hasła?",o6="Wróć",a6="Nieprawidłowe hasło",c6=`Link jest już nieaktualny.
|
|
239
239
|
|
|
240
240
|
Upewnij się, że otworzyłeś link logowania w tej samej przeglądarce, w której rozpocząłeś logowanie.
|
|
241
241
|
|
|
242
|
-
Możesz kliknąć poniższy link, aby rozpocząć nowe logowanie.`,
|
|
242
|
+
Możesz kliknąć poniższy link, aby rozpocząć nowe logowanie.`,l6="Nieprawidłowy link",u6="Kliknij przycisk, aby się zalogować",d6="Zaloguj się",p6="Lub wprowadź kod na stronie {{vendorName}}, aby dokończyć logowanie.",f6="Wprowadź swój adres e-mail, aby odblokować ten program na {{service}}",h6="Połącz swoje konto z {{service}}",g6="Jesteś zalogowany jako",m6="Logowanie",_6="Wprowadź swój adres e-mail, aby się zalogować.",y6="Wprowadź swój adres e-mail, a my wyślemy Ci kod logowania.",v6="Wprowadź swój adres e-mail, a my wyślemy Ci link do logowania.",w6="Wylogowanie",b6="Nie, chcę użyć innego konta",k6="lub",x6="Hasło",S6="Hasło zostało zresetowane",A6="Sukces",E6="Zmień hasło do konta {{vendorName}} ",I6="Zmiana hasła do konta {{vendorName}} ",C6="Polityka prywatności",N6="Przekierowanie",$6="Potwierdź hasło",z6="Zarejestruj nowe hasło",j6="Wyślij ponownie kod",O6="Zmiana hasła",B6="Wprowadź poniżej nowe hasło do konta e-mail: ",T6="Kliknij przycisk, aby zresetować hasło",P6="Kliknij przycisk, aby zresetować hasło",R6="Zmień hasło",L6="Zmiana hasła do konta {{vendorName}} ",U6="Resetowanie hasła",V6="Wyślij",M6="Wyślij mi nowy magiczny link",q6="Pamiętaj, aby sprawdzić folder spamu, jeśli wiadomość e-mail nie dotarła.",D6="Ustaw hasło",F6="Zaloguj się",H6="Rejestracja",K6="Rejestracja zakończona sukcesem",W6="Wygląda na to, że Twoje konto Spotify jest obecnie połączone z innym kontem Sesamy. Ale nie martw się, jesteśmy tutaj, aby poprowadzić Cię przez proces, aby to naprawić.",G6="Przejdź do strony dostępu do treści Spotify",J6='Zacznijmy od odłączenia konta Spotify. Kliknij poniższy przycisk, aby przejść do strony dostępu do treści Spotify. Po zalogowaniu się na swoje konto Spotify, znajdź Sesamy na liście połączonych platform. Kliknij "Odłącz" obok logo Sesamy.',Z6="Krok 1: Odłącz swoje konto Spotify",Y6="Po pomyślnym odłączeniu konta Spotify możesz ponownie połączyć je z Sesamy. Wystarczy powtórzyć poprzednie kroki, które doprowadziły Cię do tej strony.",X6="Krok 2: Połącz ponownie swoje konto Spotify z Sesamy",Q6="Ups! Twoje konto Spotify jest już połączone",eC="Jeśli masz pytania lub potrzebujesz pomocy, skontaktuj się z nami",tC="Zasady i warunki",nC="Twój adres e-mail wymaga weryfikacji. Wysłaliśmy nową wiadomość e-mail na Twoją skrzynkę odbiorczą",rC="Konto użytkownika nie istnieje",iC="Konto użytkownika nie istnieje",sC="Nie mogliśmy znaleźć użytkownika o podanym adresie e-mail. Spróbuj ponownie.",oC="Spróbuj ponownie.",aC="Sprawdź poprawność kodu",cC="Sprawdź swoją skrzynkę odbiorczą, aby uzyskać instrukcje dotyczące weryfikacji wiadomości e-mail.",lC="Zarejestrowany",uC="Kliknij przycisk, aby zweryfikować swój adres e-mail",dC="Potwierdź swój adres e-mail",pC="Potwierdź swój adres e-mail",fC="Zweryfikuj konto",hC="Zweryfikuj swój adres e-mail",gC="Sprawdź swoją skrzynkę e-mail pod adresem <0>{{email}}</0> i wprowadź sześciocyfrowy kod, który wysłaliśmy.",mC="Witamy",_C="Witamy na koncie {{vendorName}}!",yC="Kontynuuj korzystanie z tego konta",vC="Tak, kontynuuj {{text}}",wC="Tak, kontynuuj korzystanie z istniejącego konta",bC={"Server error: Invalid code":"Nieprawidłowy kod","Wrong email or verification code":{"":"Nieprawidłowy adres e-mail lub kod weryfikacyjny."},account_detected:f3,account_with_sso_provider:h3,agree_to:g3,and:m3,callback_url_mismatch:_3,callback_url_not_allowed:y3,check_email_title:v3,click_to_sign_up_description:w3,code_email_enter_code:b3,code_email_subject:k3,code_email_title:x3,code_valid_30_minutes:S3,confirm_password:A3,contact_support:E3,contact_us:I3,continue:"Kontynuuj",continue_social_login:C3,continue_with:N3,continue_with_sso_provider_headline:$3,copyright:z3,copyright_sesamy:j3,create_account_description:O3,create_account_email_invalid:B3,create_account_passwords_didnt_match:T3,create_account_title:P3,create_account_weak_password:R3,create_new_account_link:L3,create_password_account_title:U3,currently_logged_in_as:V3,email:M3,email_placeholder:q3,email_validated:D3,email_validated_cta:F3,email_verification_for_signup_sent_description:H3,email_verification_for_signup_sent_title:K3,enter_a_code_btn:W3,enter_email_for_verification_description:G3,enter_new_password_placeholder:J3,enter_password:Z3,enter_password_description:Y3,enter_your_password_btn:X3,expired_code:Q3,fokus_info_message:e6,forgot_password_cta:t6,forgot_password_description:n6,forgot_password_email_sent:r6,forgot_password_link:i6,forgot_password_title:s6,go_back:o6,"invalid-email":"Nieprawidłowy adres e-mail",invalid_password:a6,invalid_session_body:c6,invalid_session_title:l6,link_email_click_to_login:u6,link_email_login:d6,link_email_or_enter_code:p6,link_page_body:f6,link_page_headline:h6,logged_in_as:g6,login:m6,login_description:_6,login_description_code:y6,login_description_link:v6,logout:w6,no_use_another:b6,or:k6,password:x6,password_has_been_reset:S6,password_has_been_reset_title:A6,password_reset_subject:E6,password_reset_title:I6,privacy_policy:C6,redirecting:N6,reenter_new_password_placeholder:$6,register_password_account:z6,resend_code:j6,reset_password_cta:O6,reset_password_description:B6,reset_password_email_click_to_reset:T6,reset_password_email_cta:P6,reset_password_email_reset:R6,reset_password_subject:L6,reset_password_title:U6,send:V6,send_me_a_new_magic_link:M6,sent_code_spam:q6,set_password:D6,sign_in:F6,signup:H6,signup_success:K6,spotify_already_linked_body:W6,spotify_already_linked_cta:G6,spotify_already_linked_step1_body:J6,spotify_already_linked_step1_title:Z6,spotify_already_linked_step2_body:Y6,spotify_already_linked_step2_title:X6,spotify_already_linked_title:Q6,support_info:eC,terms:tC,unverified_email:nC,user_account_does_not_exist:rC,user_not_found:iC,user_not_found_body:sC,user_not_found_cta:oC,validate_code:aC,validate_email_body:cC,validate_email_title:lC,verify_email_click_to_verify:uC,verify_email_subject:dC,verify_email_title:pC,verify_email_verify:fC,verify_your_email:hC,we_sent_a_code_to:gC,welcome:mC,welcome_to_your_account:_C,yes_continue:yC,yes_continue_with:vC,yes_continue_with_existing_account:wC},kC="Zjištěný účet",xC="Zjistili jsme, že jste si již vytvořili účet prostřednictvím",SC="Přihlášením souhlasíte s našimi",AC="a",EC="Neshoda adresy URL zpětného volání",IC="Zadané redirect_uri není v seznamu povolených zpětných adres URL.",CC="pokračovat s uživatelem",NC="Klikněte na tlačítko pro vytvoření nového účtu s heslem.",$C="Pro dokončení přihlášení zadejte kód na adrese {{vendorName}}.",zC="Vítejte na {{vendorName}}! {{code}} je přihlašovací kód.",jC="Vítejte na {{vendorName}}! {{code}} je přihlašovací kód.",OC="Kód je platný po dobu 30 minut",BC="Potvrzení hesla",TC="Potřebujete pomoc?",PC="Kontaktujte nás",RC="nebo pokračovat v sociálním účtu",LC="Pokračovat s {{provider}}",UC="Chcete pokračovat ve svém stávajícím účtu?",VC="Copyright © 2023 SESAMY. Všechna práva vyhrazena.",MC="©2023 Sesamy",qC="Zvolte heslo složené z velkých a malých písmen, číslic a symbolů.",DC="Zadejte prosím platnou e-mailovou adresu.",FC="Hesla se neshodovala. Zkuste to znovu.",HC="Zvolte heslo",KC="Heslo musí mít alespoň 8 znaků a obsahovat alespoň jedno malé písmeno, jedno velké písmeno, jednu číslici a jeden symbol.",WC="Vytvořit nový účet",GC="Zaregistrujte se pomocí hesla",JC="V současné době jste přihlášeni jako <0>{{email}}</0>",ZC="E-mail",YC="E-mailová adresa",XC="Vaše e-mailová adresa byla ověřena",QC="Nyní zadejte své heslo a znovu se přihlaste",eN="E-mail byl odeslán na adresu <0>{{email}}</0> s ověřovacím odkazem. Kliknutím na odkaz ověřte svou e-mailovou adresu a nastavte heslo.",tN="Ověření e-mailem odesláno",nN="Zadejte kód",rN="Pošleme vám ověřovací odkaz, abychom se ujistili, že tuto e-mailovou adresu vlastníte.",iN="Zadejte nové heslo",sN="Zadejte heslo",oN="Pro přihlášení zadejte svou e-mailovou adresu a heslo.",aN="Zadejte své heslo",cN="Platnost kouzelného odkazu vypršela. Klikněte na tlačítko níže, abyste obdrželi nový odkaz do své e-mailové schránky.",lN="Ahoj! Aktualizovali jsme naše přihlašovací prostředí. <0>Klikněte sem a dozvíte se o něm více.</0>",uN="Odeslání e-mailu pro obnovení hesla",dN="Klikněte na tlačítko níže a my vám zašleme pokyny k obnovení hesla.",pN="Odeslání e-mailu s žádostí o obnovení hesla",fN="Zapomněli jste heslo?",hN="Zapomněli jste heslo?",gN="Vrátit se zpět",mN="Neplatné heslo",_N=`Odkaz již není platný.
|
|
243
243
|
|
|
244
244
|
Ujistěte se, že jste odkaz na přihlášení otevřeli ve stejném prohlížeči, ve kterém jste přihlášení zahájili.
|
|
245
245
|
|
|
246
|
-
Kliknutím na odkaz níže můžete zahájit nové přihlášení.`,
|
|
246
|
+
Kliknutím na odkaz níže můžete zahájit nové přihlášení.`,yN="Neplatný odkaz",vN="Kliknutím na tlačítko se přihlásíte",wN="Přihlášení",bN="Nebo zadejte kód na adrese {{vendorName}} a dokončete přihlášení.",kN="Zadejte svou e-mailovou adresu pro odemknutí tohoto pořadu na {{service}}",xN="Propojte svůj účet s {{service}}",SN="Jste přihlášeni jako",AN="Přihlášení",EN="Pro přihlášení zadejte svou e-mailovou adresu.",IN="Zadejte svou e-mailovou adresu a my vám zašleme přihlašovací kód.",CN="Zadejte svou e-mailovou adresu a my vám zašleme odkaz pro přihlášení.",NN="Odhlášení",$N="Ne, chci použít jiný účet",zN="nebo",jN="Heslo",ON="Heslo bylo resetováno",BN="Úspěch",TN="Změna hesla k účtu {{vendorName}} ",PN="Změna hesla k účtu {{vendorName}} ",RN="Zásady ochrany osobních údajů",LN="Přesměrování",UN="Potvrzení hesla",VN="Registrace nového hesla",MN="Opětovné odeslání kódu",qN="Změna hesla",DN="Níže zadejte nové heslo k e-mailovému účtu: ",FN="Kliknutím na tlačítko obnovíte své heslo",HN="Kliknutím na tlačítko obnovíte své heslo",KN="Obnovení hesla",WN="Změna hesla k účtu {{vendorName}} ",GN="Obnovení hesla",JN="Odeslat",ZN="Pošlete mi nový kouzelný odkaz",YN="Pokud e-mail nedorazil, nezapomeňte zkontrolovat složku nevyžádané pošty.",XN="Nastavení hesla",QN="Přihlásit se",e$="Registrace",t$="Úspěšná registrace",n$="Zdá se, že váš účet Spotify je v současné době propojen s jiným účtem Sesamy. Ale nebojte se, jsme tu, abychom vás provedli procesem, jak to napravit.",r$="Přejděte na stránku Spotify pro přístup k obsahu",i$='Začněme odpojením účtu Spotify. Kliknutím na tlačítko níže přejděte na stránku přístupu k obsahu služby Spotify. Po přihlášení k účtu Spotify najděte v seznamu připojených platforem položku Sesamy. Klikněte na tlačítko "Unlink" vedle loga Sesamy.',s$="Krok 1: Odpojení účtu Spotify",o$="Po úspěšném odpojení účtu Spotify jej můžete znovu propojit se službou Sesamy. Stačí zopakovat předchozí kroky, které vás přivedly na tuto stránku.",a$="Krok 2: Propojení účtu Spotify s aplikací Sesamy",c$="Ups! Váš účet Spotify je již propojen",l$="Pokud máte dotazy nebo potřebujete pomoc, můžete se obrátit na náš tým podpory.",u$="Podmínky a pravidla",d$="Vaši e-mailovou adresu je třeba ověřit. Do vaší e-mailové schránky jsme odeslali nový e-mail.",p$="Uživatelský účet neexistuje",f$="Uživatelský účet neexistuje",h$="Nepodařilo se nám najít uživatele se zadanou e-mailovou adresou. Zkuste to prosím znovu.",g$="Zkuste to znovu.",m$="Ověření kódu",_$="Pokyny k ověření e-mailu najdete ve své e-mailové schránce.",y$="Zaregistrovali jste se",v$="Klikněte na tlačítko pro ověření e-mailové adresy",w$="Ověřte svou e-mailovou adresu",b$="Ověřte svou e-mailovou adresu",k$="Ověření účtu",x$="Ověření e-mailu",S$="Zkontrolujte si prosím svůj e-mail na adrese <0>{{email}}</0> a zadejte šestimístný kód, který jsme vám zaslali.",A$="Vítejte na",E$="Vítejte na svém účtu {{vendorName}}!",I$="Pokračujte s tímto účtem",C$="Ano, pokračujte {{text}}",N$="Ano, pokračujte ve stávajícím účtu",$$={"Server error: Invalid code":"Neplatný kód","Wrong email or verification code":{"":"Špatný e-mail nebo ověřovací kód."},account_detected:kC,account_with_sso_provider:xC,agree_to:SC,and:AC,callback_url_mismatch:EC,callback_url_not_allowed:IC,check_email_title:CC,click_to_sign_up_description:NC,code_email_enter_code:$C,code_email_subject:zC,code_email_title:jC,code_valid_30_minutes:OC,confirm_password:BC,contact_support:TC,contact_us:PC,continue:"Pokračovat",continue_social_login:RC,continue_with:LC,continue_with_sso_provider_headline:UC,copyright:VC,copyright_sesamy:MC,create_account_description:qC,create_account_email_invalid:DC,create_account_passwords_didnt_match:FC,create_account_title:HC,create_account_weak_password:KC,create_new_account_link:WC,create_password_account_title:GC,currently_logged_in_as:JC,email:ZC,email_placeholder:YC,email_validated:XC,email_validated_cta:QC,email_verification_for_signup_sent_description:eN,email_verification_for_signup_sent_title:tN,enter_a_code_btn:nN,enter_email_for_verification_description:rN,enter_new_password_placeholder:iN,enter_password:sN,enter_password_description:oN,enter_your_password_btn:aN,expired_code:cN,fokus_info_message:lN,forgot_password_cta:uN,forgot_password_description:dN,forgot_password_email_sent:pN,forgot_password_link:fN,forgot_password_title:hN,go_back:gN,"invalid-email":"Neplatný e-mail",invalid_password:mN,invalid_session_body:_N,invalid_session_title:yN,link_email_click_to_login:vN,link_email_login:wN,link_email_or_enter_code:bN,link_page_body:kN,link_page_headline:xN,logged_in_as:SN,login:AN,login_description:EN,login_description_code:IN,login_description_link:CN,logout:NN,no_use_another:$N,or:zN,password:jN,password_has_been_reset:ON,password_has_been_reset_title:BN,password_reset_subject:TN,password_reset_title:PN,privacy_policy:RN,redirecting:LN,reenter_new_password_placeholder:UN,register_password_account:VN,resend_code:MN,reset_password_cta:qN,reset_password_description:DN,reset_password_email_click_to_reset:FN,reset_password_email_cta:HN,reset_password_email_reset:KN,reset_password_subject:WN,reset_password_title:GN,send:JN,send_me_a_new_magic_link:ZN,sent_code_spam:YN,set_password:XN,sign_in:QN,signup:e$,signup_success:t$,spotify_already_linked_body:n$,spotify_already_linked_cta:r$,spotify_already_linked_step1_body:i$,spotify_already_linked_step1_title:s$,spotify_already_linked_step2_body:o$,spotify_already_linked_step2_title:a$,spotify_already_linked_title:c$,support_info:l$,terms:u$,unverified_email:d$,user_account_does_not_exist:p$,user_not_found:f$,user_not_found_body:h$,user_not_found_cta:g$,validate_code:m$,validate_email_body:_$,validate_email_title:y$,verify_email_click_to_verify:v$,verify_email_subject:w$,verify_email_title:b$,verify_email_verify:k$,verify_your_email:x$,we_sent_a_code_to:S$,welcome:A$,welcome_to_your_account:E$,yes_continue:I$,yes_continue_with:C$,yes_continue_with_existing_account:N$},z$="Tili havaittu",j$="Olemme havainneet, että olet jo luonut tilin kautta",O$="Kirjautumalla sisään hyväksyt",B$="ja",T$="Takaisinkutsun URL-osoite ei vastaa toisiaan",P$="Annettu redirect_uri ei ole sallittujen takaisinsoitto-URL-osoitteiden luettelossa.",R$="jatka käyttäjän kanssa",L$="Klikkaa painiketta luodaksesi uuden salasanatilin.",U$="Kirjoita koodi osoitteessa {{vendorName}} kirjautumisen loppuun saattamiseksi.",V$="Tervetuloa osoitteeseen {{vendorName}}! {{code}} on kirjautumiskoodi.",M$="Tervetuloa osoitteeseen {{vendorName}}! {{code}} on kirjautumiskoodi.",q$="Koodi on voimassa 30 minuuttia",D$="Vahvista salasana",F$="Tarvitsetko apua?",H$="Ota yhteyttä",K$="tai jatka sosiaalisella tilillä",W$="Jatka {{provider}}",G$="Haluatko jatkaa olemassa olevalla tililläsi?",J$="Copyright © 2023 SESAMY. Kaikki oikeudet pidätetään.",Z$="©2023 Sesamy",Y$="Valitse salasana, jossa on isoja ja pieniä kirjaimia, numeroita ja symboleja.",X$="Kirjoita voimassa oleva sähköpostiosoite.",Q$="Salasanat eivät vastanneet toisiaan. Yritä uudelleen.",ez="Valitse salasana",tz="Salasanan on oltava vähintään 8 merkkiä pitkä ja sisällettävä vähintään yksi pieni kirjain, yksi iso kirjain, yksi numero ja yksi symboli.",nz="Luo uusi tili",rz="Rekisteröidy salasanalla",iz="Olet tällä hetkellä kirjautuneena sisään nimellä <0>{{email}}</0>",sz="Sähköposti",oz="Sähköpostiosoite",az="Sähköpostiosoitteesi on vahvistettu",cz="Kirjoita nyt salasanasi kirjautuaksesi uudelleen",lz="Sähköposti on lähetetty osoitteeseen <0>{{email}}</0> jossa on vahvistuslinkki. Klikkaa linkkiä vahvistaaksesi sähköpostiosoitteesi ja asettaaksesi salasanan.",uz="Sähköpostivarmennus lähetetty",dz="Syötä koodi",pz="Lähetämme sinulle vahvistuslinkin varmistaaksemme, että omistat tämän sähköpostiosoitteen.",fz="Anna uusi salasana",hz="Anna salasana",gz="Anna sähköpostiosoitteesi ja salasanasi kirjautuaksesi sisään.",mz="Syötä salasanasi",_z="Taikalinkki on vanhentunut. Klikkaa alla olevaa painiketta saadaksesi uuden linkin sähköpostiisi.",yz="Hei! Päivitimme kirjautumiskokemuksemme. <0>Klikkaa tästä saadaksesi lisätietoja siitä.</0>",vz="Lähetä salasanan palautussähköposti",wz="Napsauta alla olevaa painiketta, niin lähetämme ohjeet salasanasi palauttamiseen.",bz="Salasanan palautussähköposti lähetetty",kz="Unohditko salasanan?",xz="Unohditko salasanan?",Sz="Palaa takaisin",Az="Virheellinen salasana",Ez=`Linkki ei ole enää voimassa.
|
|
247
247
|
|
|
248
248
|
Varmista, että avaat kirjautumislinkin samalla selaimella, jolla aloitit kirjautumisen.
|
|
249
249
|
|
|
250
|
-
Voit aloittaa uuden kirjautumisen klikkaamalla alla olevaa linkkiä.`,
|
|
250
|
+
Voit aloittaa uuden kirjautumisen klikkaamalla alla olevaa linkkiä.`,Iz="Virheellinen linkki",Cz="Kirjaudu sisään napsauttamalla painiketta",Nz="Kirjaudu sisään",$z="Tai kirjoita koodi osoitteessa {{vendorName}} kirjautumisen loppuun saattamiseksi.",zz="Kirjoita sähköpostiosoitteesi avataksesi tämän ohjelman osoitteessa {{service}}",jz="Yhdistä tilisi {{service}}",Oz="Olet kirjautunut sisään nimellä",Bz="Kirjaudu sisään",Tz="Kirjoita sähköpostiosoitteesi kirjautuaksesi sisään.",Pz="Anna sähköpostiosoitteesi, niin lähetämme sinulle kirjautumiskoodin.",Rz="Anna sähköpostiosoitteesi, niin lähetämme sinulle kirjautumislinkin.",Lz="Kirjaudu ulos",Uz="Ei, haluan käyttää toista tiliä",Vz="tai",Mz="Salasana",qz="Salasana on nollattu",Dz="Menestys",Fz="Vaihda salasana tilillesi {{vendorName}} ",Hz="Vaihda salasana tilillesi {{vendorName}} ",Kz="Tietosuojakäytäntö",Wz="Uudelleenohjaus",Gz="Vahvista salasana",Jz="Rekisteröi uusi salasana",Zz="Lähetä koodi uudelleen",Yz="Vaihda salasana",Xz="Kirjoita alla oleva uusi salasanasi sähköpostitiliä varten: ",Qz="Napsauta painiketta salasanasi palauttamiseksi",ej="Napsauta painiketta salasanasi palauttamiseksi",tj="Nollaa salasanasi",nj="Vaihda salasana tilillesi {{vendorName}} ",rj="Nollaa salasana",ij="Lähetä",sj="Lähetä minulle uusi maaginen linkki",oj="Muista tarkistaa roskapostikansiosi, jos sähköposti ei ole saapunut.",aj="Aseta salasana",cj="Kirjaudu sisään",lj="Rekisteröityminen",uj="Rekisteröidy onnistuneesti",dj="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.",pj="Siirry Spotifyn Content Access -sivulle",fj='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ä.',hj="Vaihe 1: Poista Spotify-tilisi linkitys",gj="Kun olet onnistuneesti irrottanut Spotify-tilisi, voit yhdistää sen uudelleen Sesamyn kanssa. Toista vain aiemmin tekemäsi vaiheet, jotka johtivat sinut tälle sivulle.",mj="Vaihe 2: Yhdistä Spotify-tilisi uudelleen Sesamyn kanssa",_j="Hups! Spotify-tilisi on jo linkitetty",yj="Jos sinulla on kysyttävää tai tarvitset apua, voit ottaa yhteyttä tukitiimiimme.",vj="Ehdot ja edellytykset",wj="Sähköpostiosoitteesi on vahvistettava. Olemme lähettäneet uuden sähköpostiviestin sähköpostiisi.",bj="Käyttäjätiliä ei ole olemassa",kj="Käyttäjätiliä ei ole olemassa",xj="Emme löytäneet käyttäjää, jolla on annettu sähköpostiosoite. Yritä uudelleen.",Sj="Yritä uudelleen.",Aj="Validoi koodi",Ej="Tarkista sähköpostin vahvistusohjeet postilaatikostasi.",Ij="Rekisteröitynyt",Cj="Vahvista sähköpostiosoitteesi napsauttamalla painiketta",Nj="Vahvista sähköpostiosoitteesi",$j="Vahvista sähköpostiosoitteesi",zj="Vahvista tili",jj="Vahvista sähköpostiosoitteesi",Oj="Tarkista sähköpostisi osoitteesta <0>{{email}}</0> ja syötä lähettämämme kuusinumeroinen koodi.",Bj="Tervetuloa",Tj="Tervetuloa tilillesi {{vendorName}}!",Pj="Jatka tällä tilillä",Rj="Kyllä, jatka {{text}}",Lj="Kyllä, jatka olemassa olevalla tilillä",Uj={"Server error: Invalid code":"Virheellinen koodi","Wrong email or verification code":{"":"Väärä sähköpostiosoite tai vahvistuskoodi."},account_detected:z$,account_with_sso_provider:j$,agree_to:O$,and:B$,callback_url_mismatch:T$,callback_url_not_allowed:P$,check_email_title:R$,click_to_sign_up_description:L$,code_email_enter_code:U$,code_email_subject:V$,code_email_title:M$,code_valid_30_minutes:q$,confirm_password:D$,contact_support:F$,contact_us:H$,continue:"Jatka",continue_social_login:K$,continue_with:W$,continue_with_sso_provider_headline:G$,copyright:J$,copyright_sesamy:Z$,create_account_description:Y$,create_account_email_invalid:X$,create_account_passwords_didnt_match:Q$,create_account_title:ez,create_account_weak_password:tz,create_new_account_link:nz,create_password_account_title:rz,currently_logged_in_as:iz,email:sz,email_placeholder:oz,email_validated:az,email_validated_cta:cz,email_verification_for_signup_sent_description:lz,email_verification_for_signup_sent_title:uz,enter_a_code_btn:dz,enter_email_for_verification_description:pz,enter_new_password_placeholder:fz,enter_password:hz,enter_password_description:gz,enter_your_password_btn:mz,expired_code:_z,fokus_info_message:yz,forgot_password_cta:vz,forgot_password_description:wz,forgot_password_email_sent:bz,forgot_password_link:kz,forgot_password_title:xz,go_back:Sz,"invalid-email":"Virheellinen sähköpostiosoite",invalid_password:Az,invalid_session_body:Ez,invalid_session_title:Iz,link_email_click_to_login:Cz,link_email_login:Nz,link_email_or_enter_code:$z,link_page_body:zz,link_page_headline:jz,logged_in_as:Oz,login:Bz,login_description:Tz,login_description_code:Pz,login_description_link:Rz,logout:Lz,no_use_another:Uz,or:Vz,password:Mz,password_has_been_reset:qz,password_has_been_reset_title:Dz,password_reset_subject:Fz,password_reset_title:Hz,privacy_policy:Kz,redirecting:Wz,reenter_new_password_placeholder:Gz,register_password_account:Jz,resend_code:Zz,reset_password_cta:Yz,reset_password_description:Xz,reset_password_email_click_to_reset:Qz,reset_password_email_cta:ej,reset_password_email_reset:tj,reset_password_subject:nj,reset_password_title:rj,send:ij,send_me_a_new_magic_link:sj,sent_code_spam:oj,set_password:aj,sign_in:cj,signup:lj,signup_success:uj,spotify_already_linked_body:dj,spotify_already_linked_cta:pj,spotify_already_linked_step1_body:fj,spotify_already_linked_step1_title:hj,spotify_already_linked_step2_body:gj,spotify_already_linked_step2_title:mj,spotify_already_linked_title:_j,support_info:yj,terms:vj,unverified_email:wj,user_account_does_not_exist:bj,user_not_found:kj,user_not_found_body:xj,user_not_found_cta:Sj,validate_code:Aj,validate_email_body:Ej,validate_email_title:Ij,verify_email_click_to_verify:Cj,verify_email_subject:Nj,verify_email_title:$j,verify_email_verify:zj,verify_your_email:jj,we_sent_a_code_to:Oj,welcome:Bj,welcome_to_your_account:Tj,yes_continue:Pj,yes_continue_with:Rj,yes_continue_with_existing_account:Lj};Y.init({supportedLngs:["en","it","nb","sv","pl","cs","fi"],fallbackLng:"en",resources:{en:{translation:Ux},it:{translation:G2},nb:{translation:rE},sv:{translation:p3},pl:{translation:bC},cs:{translation:$$},fi:{translation:Uj}}});function Vj(t){const e=new a.OpenAPIHono;e.use(async(s,o)=>(s.env.data=Gw(s,t.dataAdapter),o())),e.get("/",s=>s.json({name:"authhero"}));const n=Ay();e.route("/api/v2",n);const r=wb();e.route("/",r);const i=$1();return e.route("/u",i),{app:e,managementApp:n,oauthApp:r,universalApp:i,createX509Certificate:Oc}}exports.Auth0Client=Qp;exports.AuthorizationResponseMode=Wt;exports.AuthorizationResponseType=fn;exports.CodeChallengeMethod=Us;exports.GrantType=kr;exports.LogTypes=me;exports.applicationInsertSchema=Hi;exports.applicationSchema=on;exports.auth0UserResponseSchema=vt;exports.authParamsSchema=Dc;exports.baseUserSchema=Ls;exports.bordersSchema=sf;exports.brandingSchema=pa;exports.codeInsertSchema=Jp;exports.codeSchema=Pm;exports.codeTypeSchema=Gp;exports.colorsSchema=of;exports.connectionInsertSchema=Ki;exports.connectionSchema=Mt;exports.domainInsertSchema=Zp;exports.domainSchema=Rm;exports.emailProviderSchema=Ci;exports.fontDetailsSchema=rn;exports.fontsSchema=af;exports.hookInsertSchema=Gi;exports.hookSchema=Tn;exports.identitySchema=Hp;exports.init=Vj;exports.jwksKeySchema=Yp;exports.jwksSchema=Fc;exports.logSchema=Ji;exports.loginInsertSchema=Xp;exports.loginSchema=Lm;exports.openIDConfigurationSchema=fa;exports.pageBackgroundSchema=cf;exports.parseUserId=Dm;exports.passwordInsertSchema=ef;exports.passwordSchema=Vm;exports.profileDataSchema=Fp;exports.promptSettingSchema=Ii;exports.refreshTokenInsertSchema=Hc;exports.refreshTokenSchema=qm;exports.samlpAddon=Kp;exports.sessionInsertSchema=nf;exports.sessionSchema=Vs;exports.signingKeySchema=ha;exports.tenantInsertSchema=Wi;exports.tenantSchema=Rn;exports.themeInsertSchema=uf;exports.themeSchema=Mm;exports.tokenResponseSchema=rf;exports.totalsSchema=Yt;exports.userInsertSchema=Fi;exports.userResponseSchema=jm;exports.userSchema=qc;exports.vendorSettingsSchema=Wp;exports.widgetSchema=lf;
|