@canton-network/wallet-gateway-remote 0.20.0 → 0.21.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/dapp-api/controller.d.ts.map +1 -1
- package/dist/dapp-api/controller.js +5 -9
- package/dist/dapp-api/rpc-gen/typings.d.ts +1 -1
- package/dist/dapp-api/rpc-gen/typings.d.ts.map +1 -1
- package/dist/ledger/party-allocation-service.d.ts +1 -2
- package/dist/ledger/party-allocation-service.d.ts.map +1 -1
- package/dist/ledger/party-allocation-service.js +2 -4
- package/dist/ledger/party-allocation-service.test.js +7 -4
- package/dist/ledger/wallet-allocation/signing-providers/blockdaemon-wallet-allocator.d.ts +17 -0
- package/dist/ledger/wallet-allocation/signing-providers/blockdaemon-wallet-allocator.d.ts.map +1 -0
- package/dist/ledger/wallet-allocation/signing-providers/blockdaemon-wallet-allocator.js +146 -0
- package/dist/ledger/wallet-allocation/signing-providers/fireblocks-wallet-allocator.d.ts +17 -0
- package/dist/ledger/wallet-allocation/signing-providers/fireblocks-wallet-allocator.d.ts.map +1 -0
- package/dist/ledger/wallet-allocation/signing-providers/fireblocks-wallet-allocator.js +140 -0
- package/dist/ledger/wallet-allocation/signing-providers/kernel-wallet-allocator.d.ts +17 -0
- package/dist/ledger/wallet-allocation/signing-providers/kernel-wallet-allocator.d.ts.map +1 -0
- package/dist/ledger/wallet-allocation/signing-providers/kernel-wallet-allocator.js +79 -0
- package/dist/ledger/wallet-allocation/signing-providers/participant-wallet-allocator.d.ts +15 -0
- package/dist/ledger/wallet-allocation/signing-providers/participant-wallet-allocator.d.ts.map +1 -0
- package/dist/ledger/wallet-allocation/signing-providers/participant-wallet-allocator.js +37 -0
- package/dist/ledger/wallet-allocation/wallet-allocation-service.d.ts +20 -0
- package/dist/ledger/wallet-allocation/wallet-allocation-service.d.ts.map +1 -0
- package/dist/ledger/wallet-allocation/wallet-allocation-service.js +70 -0
- package/dist/ledger/wallet-allocation/wallet-allocation-service.test.d.ts +2 -0
- package/dist/ledger/wallet-allocation/wallet-allocation-service.test.d.ts.map +1 -0
- package/dist/ledger/wallet-allocation/wallet-allocation-service.test.js +301 -0
- package/dist/ledger/wallet-sync-service.d.ts +7 -12
- package/dist/ledger/wallet-sync-service.d.ts.map +1 -1
- package/dist/ledger/wallet-sync-service.js +128 -100
- package/dist/ledger/wallet-sync-service.test.js +194 -46
- package/dist/user-api/controller.d.ts +1 -0
- package/dist/user-api/controller.d.ts.map +1 -1
- package/dist/user-api/controller.js +53 -247
- package/dist/user-api/rpc-gen/index.d.ts +3 -0
- package/dist/user-api/rpc-gen/index.d.ts.map +1 -1
- package/dist/user-api/rpc-gen/index.js +1 -0
- package/dist/user-api/rpc-gen/typings.d.ts +32 -35
- package/dist/user-api/rpc-gen/typings.d.ts.map +1 -1
- package/dist/web/frontend/404/index.html +2 -2
- package/dist/web/frontend/approve/index.html +4 -3
- package/dist/web/frontend/assets/{404-CKmKuu6H.js → 404-C-OWOQ3D.js} +1 -1
- package/dist/web/frontend/assets/approve-CPkaFbuR.js +17 -0
- package/dist/web/frontend/assets/callback-Bev8B02C.js +1 -0
- package/dist/web/frontend/assets/index-CZYV-CqB.js +1679 -0
- package/dist/web/frontend/assets/login-D2fXBXBX.js +7 -0
- package/dist/web/frontend/assets/{settings-Br8FgNOa.js → settings-laHcyEOv.js} +1 -1
- package/dist/web/frontend/assets/{state-1o1CuDWy.js → state-BZtCpgb6.js} +1 -1
- package/dist/web/frontend/assets/transactions-n26INLpW.js +28 -0
- package/dist/web/frontend/assets/utils-DqekxUsS.js +1 -0
- package/dist/web/frontend/assets/wallets-dk9ilN4k.js +62 -0
- package/dist/web/frontend/callback/index.html +2 -2
- package/dist/web/frontend/index.html +1 -1
- package/dist/web/frontend/login/index.html +3 -3
- package/dist/web/frontend/settings/index.html +3 -3
- package/dist/web/frontend/transactions/index.html +4 -3
- package/dist/web/frontend/wallets/index.html +4 -3
- package/package.json +19 -19
- package/dist/web/frontend/assets/approve-MzXNo4XO.js +0 -17
- package/dist/web/frontend/assets/callback-CcXLRr7Q.js +0 -1
- package/dist/web/frontend/assets/index-BnEARqU4.js +0 -1679
- package/dist/web/frontend/assets/login-Btlo0Zla.js +0 -7
- package/dist/web/frontend/assets/transactions-Cnu9eUFe.js +0 -28
- package/dist/web/frontend/assets/wallets-Dj5yeBJd.js +0 -63
|
@@ -1,1679 +0,0 @@
|
|
|
1
|
-
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))o(n);new MutationObserver(n=>{for(const i of n)if(i.type==="childList")for(const a of i.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&o(a)}).observe(document,{childList:!0,subtree:!0});function r(n){const i={};return n.integrity&&(i.integrity=n.integrity),n.referrerPolicy&&(i.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?i.credentials="include":n.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function o(n){if(n.ep)return;n.ep=!0;const i=r(n);fetch(n.href,i)}})();const Ve=globalThis,vo=Ve.ShadowRoot&&(Ve.ShadyCSS===void 0||Ve.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,wo=Symbol(),on=new WeakMap;let xo=class{constructor(e,r,o){if(this._$cssResult$=!0,o!==wo)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=r}get styleSheet(){let e=this.o;const r=this.t;if(vo&&e===void 0){const o=r!==void 0&&r.length===1;o&&(e=on.get(r)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),o&&on.set(r,e))}return e}toString(){return this.cssText}};const vr=t=>new xo(typeof t=="string"?t:t+"",void 0,wo),K=(t,...e)=>{const r=t.length===1?t[0]:e.reduce((o,n,i)=>o+(a=>{if(a._$cssResult$===!0)return a.cssText;if(typeof a=="number")return a;throw Error("Value passed to 'css' function must be a 'css' function result: "+a+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(n)+t[i+1],t[0]);return new xo(r,t,wo)},ks=(t,e)=>{if(vo)t.adoptedStyleSheets=e.map(r=>r instanceof CSSStyleSheet?r:r.styleSheet);else for(const r of e){const o=document.createElement("style"),n=Ve.litNonce;n!==void 0&&o.setAttribute("nonce",n),o.textContent=r.cssText,t.appendChild(o)}},nn=vo?t=>t:t=>t instanceof CSSStyleSheet?(e=>{let r="";for(const o of e.cssRules)r+=o.cssText;return vr(r)})(t):t;const{is:_s,defineProperty:zs,getOwnPropertyDescriptor:As,getOwnPropertyNames:Ss,getOwnPropertySymbols:$s,getPrototypeOf:Es}=Object,Tr=globalThis,an=Tr.trustedTypes,Os=an?an.emptyScript:"",Is=Tr.reactiveElementPolyfillSupport,fe=(t,e)=>t,oo={toAttribute(t,e){switch(e){case Boolean:t=t?Os:null;break;case Object:case Array:t=t==null?t:JSON.stringify(t)}return t},fromAttribute(t,e){let r=t;switch(e){case Boolean:r=t!==null;break;case Number:r=t===null?null:Number(t);break;case Object:case Array:try{r=JSON.parse(t)}catch{r=null}}return r}},bi=(t,e)=>!_s(t,e),sn={attribute:!0,type:String,converter:oo,reflect:!1,useDefault:!1,hasChanged:bi};Symbol.metadata??=Symbol("metadata"),Tr.litPropertyMetadata??=new WeakMap;let Gt=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,r=sn){if(r.state&&(r.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((r=Object.create(r)).wrapped=!0),this.elementProperties.set(e,r),!r.noAccessor){const o=Symbol(),n=this.getPropertyDescriptor(e,o,r);n!==void 0&&zs(this.prototype,e,n)}}static getPropertyDescriptor(e,r,o){const{get:n,set:i}=As(this.prototype,e)??{get(){return this[r]},set(a){this[r]=a}};return{get:n,set(a){const s=n?.call(this);i?.call(this,a),this.requestUpdate(e,s,o)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??sn}static _$Ei(){if(this.hasOwnProperty(fe("elementProperties")))return;const e=Es(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(fe("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(fe("properties"))){const r=this.properties,o=[...Ss(r),...$s(r)];for(const n of o)this.createProperty(n,r[n])}const e=this[Symbol.metadata];if(e!==null){const r=litPropertyMetadata.get(e);if(r!==void 0)for(const[o,n]of r)this.elementProperties.set(o,n)}this._$Eh=new Map;for(const[r,o]of this.elementProperties){const n=this._$Eu(r,o);n!==void 0&&this._$Eh.set(n,r)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const r=[];if(Array.isArray(e)){const o=new Set(e.flat(1/0).reverse());for(const n of o)r.unshift(nn(n))}else e!==void 0&&r.push(nn(e));return r}static _$Eu(e,r){const o=r.attribute;return o===!1?void 0:typeof o=="string"?o:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){const e=new Map,r=this.constructor.elementProperties;for(const o of r.keys())this.hasOwnProperty(o)&&(e.set(o,this[o]),delete this[o]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return ks(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,r,o){this._$AK(e,o)}_$ET(e,r){const o=this.constructor.elementProperties.get(e),n=this.constructor._$Eu(e,o);if(n!==void 0&&o.reflect===!0){const i=(o.converter?.toAttribute!==void 0?o.converter:oo).toAttribute(r,o.type);this._$Em=e,i==null?this.removeAttribute(n):this.setAttribute(n,i),this._$Em=null}}_$AK(e,r){const o=this.constructor,n=o._$Eh.get(e);if(n!==void 0&&this._$Em!==n){const i=o.getPropertyOptions(n),a=typeof i.converter=="function"?{fromAttribute:i.converter}:i.converter?.fromAttribute!==void 0?i.converter:oo;this._$Em=n;const s=a.fromAttribute(r,i.type);this[n]=s??this._$Ej?.get(n)??s,this._$Em=null}}requestUpdate(e,r,o,n=!1,i){if(e!==void 0){const a=this.constructor;if(n===!1&&(i=this[e]),o??=a.getPropertyOptions(e),!((o.hasChanged??bi)(i,r)||o.useDefault&&o.reflect&&i===this._$Ej?.get(e)&&!this.hasAttribute(a._$Eu(e,o))))return;this.C(e,r,o)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(e,r,{useDefault:o,reflect:n,wrapped:i},a){o&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,a??r??this[e]),i!==!0||a!==void 0)||(this._$AL.has(e)||(this.hasUpdated||o||(r=void 0),this._$AL.set(e,r)),n===!0&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(r){Promise.reject(r)}const e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[n,i]of this._$Ep)this[n]=i;this._$Ep=void 0}const o=this.constructor.elementProperties;if(o.size>0)for(const[n,i]of o){const{wrapped:a}=i,s=this[n];a!==!0||this._$AL.has(n)||s===void 0||this.C(n,void 0,i,s)}}let e=!1;const r=this._$AL;try{e=this.shouldUpdate(r),e?(this.willUpdate(r),this._$EO?.forEach(o=>o.hostUpdate?.()),this.update(r)):this._$EM()}catch(o){throw e=!1,this._$EM(),o}e&&this._$AE(r)}willUpdate(e){}_$AE(e){this._$EO?.forEach(r=>r.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach(r=>this._$ET(r,this[r])),this._$EM()}updated(e){}firstUpdated(e){}};Gt.elementStyles=[],Gt.shadowRootOptions={mode:"open"},Gt[fe("elementProperties")]=new Map,Gt[fe("finalized")]=new Map,Is?.({ReactiveElement:Gt}),(Tr.reactiveElementVersions??=[]).push("2.1.2");const yo=globalThis,ln=t=>t,wr=yo.trustedTypes,dn=wr?wr.createPolicy("lit-html",{createHTML:t=>t}):void 0,ui="$lit$",ut=`lit$${Math.random().toFixed(9).slice(2)}$`,gi="?"+ut,js=`<${gi}>`,Et=document,xe=()=>Et.createComment(""),ye=t=>t===null||typeof t!="object"&&typeof t!="function",ko=Array.isArray,Ps=t=>ko(t)||typeof t?.[Symbol.iterator]=="function",Wr=`[
|
|
2
|
-
\f\r]`,me=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,cn=/-->/g,pn=/>/g,At=RegExp(`>|${Wr}(?:([^\\s"'>=/]+)(${Wr}*=${Wr}*(?:[^
|
|
3
|
-
\f\r"'\`<>=]|("|')|))|$)`,"g"),mn=/'/g,bn=/"/g,fi=/^(?:script|style|textarea|title)$/i,Ts=t=>(e,...r)=>({_$litType$:t,strings:e,values:r}),f=Ts(1),Xt=Symbol.for("lit-noChange"),A=Symbol.for("lit-nothing"),un=new WeakMap,St=Et.createTreeWalker(Et,129);function hi(t,e){if(!ko(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return dn!==void 0?dn.createHTML(e):e}const Cs=(t,e)=>{const r=t.length-1,o=[];let n,i=e===2?"<svg>":e===3?"<math>":"",a=me;for(let s=0;s<r;s++){const l=t[s];let d,c,p=-1,u=0;for(;u<l.length&&(a.lastIndex=u,c=a.exec(l),c!==null);)u=a.lastIndex,a===me?c[1]==="!--"?a=cn:c[1]!==void 0?a=pn:c[2]!==void 0?(fi.test(c[2])&&(n=RegExp("</"+c[2],"g")),a=At):c[3]!==void 0&&(a=At):a===At?c[0]===">"?(a=n??me,p=-1):c[1]===void 0?p=-2:(p=a.lastIndex-c[2].length,d=c[1],a=c[3]===void 0?At:c[3]==='"'?bn:mn):a===bn||a===mn?a=At:a===cn||a===pn?a=me:(a=At,n=void 0);const g=a===At&&t[s+1].startsWith("/>")?" ":"";i+=a===me?l+js:p>=0?(o.push(d),l.slice(0,p)+ui+l.slice(p)+ut+g):l+ut+(p===-2?s:g)}return[hi(t,i+(t[r]||"<?>")+(e===2?"</svg>":e===3?"</math>":"")),o]};let no=class vi{constructor({strings:e,_$litType$:r},o){let n;this.parts=[];let i=0,a=0;const s=e.length-1,l=this.parts,[d,c]=Cs(e,r);if(this.el=vi.createElement(d,o),St.currentNode=this.el.content,r===2||r===3){const p=this.el.content.firstChild;p.replaceWith(...p.childNodes)}for(;(n=St.nextNode())!==null&&l.length<s;){if(n.nodeType===1){if(n.hasAttributes())for(const p of n.getAttributeNames())if(p.endsWith(ui)){const u=c[a++],g=n.getAttribute(p).split(ut),x=/([.?@])?(.*)/.exec(u);l.push({type:1,index:i,name:x[2],strings:g,ctor:x[1]==="."?Zs:x[1]==="?"?Rs:x[1]==="@"?Ds:Cr}),n.removeAttribute(p)}else p.startsWith(ut)&&(l.push({type:6,index:i}),n.removeAttribute(p));if(fi.test(n.tagName)){const p=n.textContent.split(ut),u=p.length-1;if(u>0){n.textContent=wr?wr.emptyScript:"";for(let g=0;g<u;g++)n.append(p[g],xe()),St.nextNode(),l.push({type:2,index:++i});n.append(p[u],xe())}}}else if(n.nodeType===8)if(n.data===gi)l.push({type:2,index:i});else{let p=-1;for(;(p=n.data.indexOf(ut,p+1))!==-1;)l.push({type:7,index:i}),p+=ut.length-1}i++}}static createElement(e,r){const o=Et.createElement("template");return o.innerHTML=e,o}};function Kt(t,e,r=t,o){if(e===Xt)return e;let n=o!==void 0?r._$Co?.[o]:r._$Cl;const i=ye(e)?void 0:e._$litDirective$;return n?.constructor!==i&&(n?._$AO?.(!1),i===void 0?n=void 0:(n=new i(t),n._$AT(t,r,o)),o!==void 0?(r._$Co??=[])[o]=n:r._$Cl=n),n!==void 0&&(e=Kt(t,n._$AS(t,e.values),n,o)),e}let Ns=class{constructor(e,r){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=r}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){const{el:{content:r},parts:o}=this._$AD,n=(e?.creationScope??Et).importNode(r,!0);St.currentNode=n;let i=St.nextNode(),a=0,s=0,l=o[0];for(;l!==void 0;){if(a===l.index){let d;l.type===2?d=new _o(i,i.nextSibling,this,e):l.type===1?d=new l.ctor(i,l.name,l.strings,this,e):l.type===6&&(d=new Us(i,this,e)),this._$AV.push(d),l=o[++s]}a!==l?.index&&(i=St.nextNode(),a++)}return St.currentNode=Et,n}p(e){let r=0;for(const o of this._$AV)o!==void 0&&(o.strings!==void 0?(o._$AI(e,o,r),r+=o.strings.length-2):o._$AI(e[r])),r++}},_o=class wi{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,r,o,n){this.type=2,this._$AH=A,this._$AN=void 0,this._$AA=e,this._$AB=r,this._$AM=o,this.options=n,this._$Cv=n?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode;const r=this._$AM;return r!==void 0&&e?.nodeType===11&&(e=r.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,r=this){e=Kt(this,e,r),ye(e)?e===A||e==null||e===""?(this._$AH!==A&&this._$AR(),this._$AH=A):e!==this._$AH&&e!==Xt&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):Ps(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==A&&ye(this._$AH)?this._$AA.nextSibling.data=e:this.T(Et.createTextNode(e)),this._$AH=e}$(e){const{values:r,_$litType$:o}=e,n=typeof o=="number"?this._$AC(e):(o.el===void 0&&(o.el=no.createElement(hi(o.h,o.h[0]),this.options)),o);if(this._$AH?._$AD===n)this._$AH.p(r);else{const i=new Ns(n,this),a=i.u(this.options);i.p(r),this.T(a),this._$AH=i}}_$AC(e){let r=un.get(e.strings);return r===void 0&&un.set(e.strings,r=new no(e)),r}k(e){ko(this._$AH)||(this._$AH=[],this._$AR());const r=this._$AH;let o,n=0;for(const i of e)n===r.length?r.push(o=new wi(this.O(xe()),this.O(xe()),this,this.options)):o=r[n],o._$AI(i),n++;n<r.length&&(this._$AR(o&&o._$AB.nextSibling,n),r.length=n)}_$AR(e=this._$AA.nextSibling,r){for(this._$AP?.(!1,!0,r);e!==this._$AB;){const o=ln(e).nextSibling;ln(e).remove(),e=o}}setConnected(e){this._$AM===void 0&&(this._$Cv=e,this._$AP?.(e))}},Cr=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,r,o,n,i){this.type=1,this._$AH=A,this._$AN=void 0,this.element=e,this.name=r,this._$AM=n,this.options=i,o.length>2||o[0]!==""||o[1]!==""?(this._$AH=Array(o.length-1).fill(new String),this.strings=o):this._$AH=A}_$AI(e,r=this,o,n){const i=this.strings;let a=!1;if(i===void 0)e=Kt(this,e,r,0),a=!ye(e)||e!==this._$AH&&e!==Xt,a&&(this._$AH=e);else{const s=e;let l,d;for(e=i[0],l=0;l<i.length-1;l++)d=Kt(this,s[o+l],r,l),d===Xt&&(d=this._$AH[l]),a||=!ye(d)||d!==this._$AH[l],d===A?e=A:e!==A&&(e+=(d??"")+i[l+1]),this._$AH[l]=d}a&&!n&&this.j(e)}j(e){e===A?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}},Zs=class extends Cr{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===A?void 0:e}},Rs=class extends Cr{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==A)}},Ds=class extends Cr{constructor(e,r,o,n,i){super(e,r,o,n,i),this.type=5}_$AI(e,r=this){if((e=Kt(this,e,r,0)??A)===Xt)return;const o=this._$AH,n=e===A&&o!==A||e.capture!==o.capture||e.once!==o.once||e.passive!==o.passive,i=e!==A&&(o===A||n);n&&this.element.removeEventListener(this.name,this,o),i&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}},Us=class{constructor(e,r,o){this.element=e,this.type=6,this._$AN=void 0,this._$AM=r,this.options=o}get _$AU(){return this._$AM._$AU}_$AI(e){Kt(this,e)}};const Ms=yo.litHtmlPolyfillSupport;Ms?.(no,_o),(yo.litHtmlVersions??=[]).push("3.3.2");const Bs=(t,e,r)=>{const o=r?.renderBefore??e;let n=o._$litPart$;if(n===void 0){const i=r?.renderBefore??null;o._$litPart$=n=new _o(e.insertBefore(xe(),i),i,void 0,r??{})}return n._$AI(t),n};const zo=globalThis;class gt extends Gt{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){const r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=Bs(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return Xt}}gt._$litElement$=!0,gt.finalized=!0,zo.litElementHydrateSupport?.({LitElement:gt});const Ls=zo.litElementPolyfillSupport;Ls?.({LitElement:gt});(zo.litElementVersions??=[]).push("4.2.2");const M=t=>(e,r)=>{r!==void 0?r.addInitializer(()=>{customElements.define(t,e)}):customElements.define(t,e)},We=globalThis,Ao=We.ShadowRoot&&(We.ShadyCSS===void 0||We.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,xi=Symbol(),gn=new WeakMap;let Fs=class{constructor(t,e,r){if(this._$cssResult$=!0,r!==xi)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(Ao&&t===void 0){const r=e!==void 0&&e.length===1;r&&(t=gn.get(e)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),r&&gn.set(e,t))}return t}toString(){return this.cssText}};const Gs=t=>new Fs(typeof t=="string"?t:t+"",void 0,xi),Js=(t,e)=>{if(Ao)t.adoptedStyleSheets=e.map(r=>r instanceof CSSStyleSheet?r:r.styleSheet);else for(const r of e){const o=document.createElement("style"),n=We.litNonce;n!==void 0&&o.setAttribute("nonce",n),o.textContent=r.cssText,t.appendChild(o)}},fn=Ao?t=>t:t=>t instanceof CSSStyleSheet?(e=>{let r="";for(const o of e.cssRules)r+=o.cssText;return Gs(r)})(t):t,{is:Ys,defineProperty:Hs,getOwnPropertyDescriptor:Vs,getOwnPropertyNames:Ws,getOwnPropertySymbols:qs,getPrototypeOf:Xs}=Object,Nr=globalThis,hn=Nr.trustedTypes,Ks=hn?hn.emptyScript:"",Qs=Nr.reactiveElementPolyfillSupport,he=(t,e)=>t,xr={toAttribute(t,e){switch(e){case Boolean:t=t?Ks:null;break;case Object:case Array:t=t==null?t:JSON.stringify(t)}return t},fromAttribute(t,e){let r=t;switch(e){case Boolean:r=t!==null;break;case Number:r=t===null?null:Number(t);break;case Object:case Array:try{r=JSON.parse(t)}catch{r=null}}return r}},So=(t,e)=>!Ys(t,e),vn={attribute:!0,type:String,converter:xr,reflect:!1,useDefault:!1,hasChanged:So};Symbol.metadata??=Symbol("metadata"),Nr.litPropertyMetadata??=new WeakMap;class be extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,r=vn){if(r.state&&(r.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((r=Object.create(r)).wrapped=!0),this.elementProperties.set(e,r),!r.noAccessor){const o=Symbol(),n=this.getPropertyDescriptor(e,o,r);n!==void 0&&Hs(this.prototype,e,n)}}static getPropertyDescriptor(e,r,o){const{get:n,set:i}=Vs(this.prototype,e)??{get(){return this[r]},set(a){this[r]=a}};return{get:n,set(a){const s=n?.call(this);i?.call(this,a),this.requestUpdate(e,s,o)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??vn}static _$Ei(){if(this.hasOwnProperty(he("elementProperties")))return;const e=Xs(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(he("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(he("properties"))){const r=this.properties,o=[...Ws(r),...qs(r)];for(const n of o)this.createProperty(n,r[n])}const e=this[Symbol.metadata];if(e!==null){const r=litPropertyMetadata.get(e);if(r!==void 0)for(const[o,n]of r)this.elementProperties.set(o,n)}this._$Eh=new Map;for(const[r,o]of this.elementProperties){const n=this._$Eu(r,o);n!==void 0&&this._$Eh.set(n,r)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const r=[];if(Array.isArray(e)){const o=new Set(e.flat(1/0).reverse());for(const n of o)r.unshift(fn(n))}else e!==void 0&&r.push(fn(e));return r}static _$Eu(e,r){const o=r.attribute;return o===!1?void 0:typeof o=="string"?o:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){const e=new Map,r=this.constructor.elementProperties;for(const o of r.keys())this.hasOwnProperty(o)&&(e.set(o,this[o]),delete this[o]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return Js(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,r,o){this._$AK(e,o)}_$ET(e,r){const o=this.constructor.elementProperties.get(e),n=this.constructor._$Eu(e,o);if(n!==void 0&&o.reflect===!0){const i=(o.converter?.toAttribute!==void 0?o.converter:xr).toAttribute(r,o.type);this._$Em=e,i==null?this.removeAttribute(n):this.setAttribute(n,i),this._$Em=null}}_$AK(e,r){const o=this.constructor,n=o._$Eh.get(e);if(n!==void 0&&this._$Em!==n){const i=o.getPropertyOptions(n),a=typeof i.converter=="function"?{fromAttribute:i.converter}:i.converter?.fromAttribute!==void 0?i.converter:xr;this._$Em=n;const s=a.fromAttribute(r,i.type);this[n]=s??this._$Ej?.get(n)??s,this._$Em=null}}requestUpdate(e,r,o,n=!1,i){if(e!==void 0){const a=this.constructor;if(n===!1&&(i=this[e]),o??=a.getPropertyOptions(e),!((o.hasChanged??So)(i,r)||o.useDefault&&o.reflect&&i===this._$Ej?.get(e)&&!this.hasAttribute(a._$Eu(e,o))))return;this.C(e,r,o)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(e,r,{useDefault:o,reflect:n,wrapped:i},a){o&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,a??r??this[e]),i!==!0||a!==void 0)||(this._$AL.has(e)||(this.hasUpdated||o||(r=void 0),this._$AL.set(e,r)),n===!0&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(r){Promise.reject(r)}const e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[n,i]of this._$Ep)this[n]=i;this._$Ep=void 0}const o=this.constructor.elementProperties;if(o.size>0)for(const[n,i]of o){const{wrapped:a}=i,s=this[n];a!==!0||this._$AL.has(n)||s===void 0||this.C(n,void 0,i,s)}}let e=!1;const r=this._$AL;try{e=this.shouldUpdate(r),e?(this.willUpdate(r),this._$EO?.forEach(o=>o.hostUpdate?.()),this.update(r)):this._$EM()}catch(o){throw e=!1,this._$EM(),o}e&&this._$AE(r)}willUpdate(e){}_$AE(e){this._$EO?.forEach(r=>r.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach(r=>this._$ET(r,this[r])),this._$EM()}updated(e){}firstUpdated(e){}}be.elementStyles=[],be.shadowRootOptions={mode:"open"},be[he("elementProperties")]=new Map,be[he("finalized")]=new Map,Qs?.({ReactiveElement:be}),(Nr.reactiveElementVersions??=[]).push("2.1.2");const tl={attribute:!0,type:String,converter:xr,reflect:!1,hasChanged:So},el=(t=tl,e,r)=>{const{kind:o,metadata:n}=r;let i=globalThis.litPropertyMetadata.get(n);if(i===void 0&&globalThis.litPropertyMetadata.set(n,i=new Map),o==="setter"&&((t=Object.create(t)).wrapped=!0),i.set(r.name,t),o==="accessor"){const{name:a}=r;return{set(s){const l=e.get.call(this);e.set.call(this,s),this.requestUpdate(a,l,t,!0,s)},init(s){return s!==void 0&&this.C(a,void 0,t,s),s}}}if(o==="setter"){const{name:a}=r;return function(s){const l=this[a];e.call(this,s),this.requestUpdate(a,l,t,!0,s)}}throw Error("Unsupported decorator location: "+o)};function w(t){return(e,r)=>typeof r=="object"?el(t,e,r):((o,n,i)=>{const a=n.hasOwnProperty(i);return n.constructor.createProperty(i,o),a?Object.getOwnPropertyDescriptor(n,i):void 0})(t,e,r)}function G(t){return w({...t,state:!0,attribute:!1})}const rl=(t,e,r)=>(r.configurable=!0,r.enumerable=!0,Reflect.decorate&&typeof e!="object"&&Object.defineProperty(t,e,r),r);function $o(t,e){return(r,o,n)=>{const i=a=>a.renderRoot?.querySelector(t)??null;return rl(r,o,{get(){return i(this)}})}}const ol=`@charset "UTF-8";:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, .75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, .5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, .175);--bs-border-radius:.375rem;--bs-border-radius-sm:.25rem;--bs-border-radius-lg:.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 .5rem 1rem rgba(0, 0, 0, .15);--bs-box-shadow-sm:0 .125rem .25rem rgba(0, 0, 0, .075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, .175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, .075);--bs-focus-ring-width:.25rem;--bs-focus-ring-opacity:.25;--bs-focus-ring-color:rgba(13, 110, 253, .25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, .75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, .5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, .15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,:after,:before{box-sizing:border-box}@media(prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media(min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media(min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media(min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media(min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;line-height:inherit;font-size:calc(1.275rem + .3vw)}@media(min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button{cursor:pointer;filter:grayscale(1)}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-weight:300;line-height:1.2;font-size:calc(1.625rem + 4.5vw)}@media(min-width:1200px){.display-1{font-size:5rem}}.display-2{font-weight:300;line-height:1.2;font-size:calc(1.575rem + 3.9vw)}@media(min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-weight:300;line-height:1.2;font-size:calc(1.525rem + 3.3vw)}@media(min-width:1200px){.display-3{font-size:4rem}}.display-4{font-weight:300;line-height:1.2;font-size:calc(1.475rem + 2.7vw)}@media(min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-weight:300;line-height:1.2;font-size:calc(1.425rem + 2.1vw)}@media(min-width:1200px){.display-5{font-size:3rem}}.display-6{font-weight:300;line-height:1.2;font-size:calc(1.375rem + 1.5vw)}@media(min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled,.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer:before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media(min-width:576px){.container,.container-sm{max-width:540px}}@media(min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media(min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media(min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media(min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:.25rem}.g-1,.gy-1{--bs-gutter-y:.25rem}.g-2,.gx-2{--bs-gutter-x:.5rem}.g-2,.gy-2{--bs-gutter-y:.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media(min-width:576px){.col-sm{flex:1 0 0}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media(min-width:768px){.col-md{flex:1 0 0}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media(min-width:992px){.col-lg{flex:1 0 0}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media(min-width:1200px){.col-xl{flex:1 0 0}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media(min-width:1400px){.col-xxl{flex:1 0 0}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb), .05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb), .1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb), .075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-table-hover-color);--bs-table-bg-state:var(--bs-table-hover-bg)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#a6b5cc;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#b5b6b7;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#a7b9b1;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#a6c3ca;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#c6c7c8;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#212529;--bs-table-border-color:#4d5154;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-moz-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;max-width:100%;height:100%;padding:1rem .75rem;overflow:hidden;color:rgba(var(--bs-body-color-rgb),.65);text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media(prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem;padding-left:.75rem}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control:-webkit-autofill~label{transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>textarea:focus~label:after,.form-floating>textarea:not(:placeholder-shown)~label:after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>textarea:disabled~label:after{background-color:var(--bs-secondary-bg)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:#6c757d}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(-1 * var(--bs-border-width));border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3.75rem + 1.5em)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3.75rem + 1.5em)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:.75rem;--bs-btn-padding-y:.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, .15),0 1px 1px rgba(0, 0, 0, .075);--bs-btn-disabled-opacity:.65;--bs-btn-focus-box-shadow:0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:.25rem;--bs-btn-padding-x:.5rem;--bs-btn-font-size:.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media(prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media(prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media(prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:.5rem;--bs-dropdown-spacer:.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:.5rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media(min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media(min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media(min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media(min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media(min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-toggle:after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle:after{display:none}.dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty:after{margin-left:0}.dropstart .dropdown-toggle:before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, .15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(-1 * var(--bs-border-width))}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropend .dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after{margin-left:0}.dropstart .dropdown-toggle-split:before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(-1 * var(--bs-border-width))}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:nth-child(n+3),.btn-group-vertical>:not(.btn-check)+.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media(prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:var(--bs-border-radius);--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-grow:1;flex-basis:0;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), .65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), .8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), .3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:.5rem;--bs-navbar-toggler-padding-y:.25rem;--bs-navbar-toggler-padding-x:.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), .15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:.25rem;--bs-navbar-toggler-transition:box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-grow:1;flex-basis:100%;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media(prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media(min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, .55);--bs-navbar-hover-color:rgba(255, 255, 255, .75);--bs-navbar-disabled-color:rgba(255, 255, 255, .25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, .1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y:.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), .03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;inset:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media(min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child)>.card-header,.card-group>.card:not(:last-child)>.card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child)>.card-footer,.card-group>.card:not(:last-child)>.card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child)>.card-header,.card-group>.card:not(:first-child)>.card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child)>.card-footer,.card-group>.card:not(:first-child)>.card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--bs-accordion-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform .2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 .25rem rgba(13, 110, 253, .25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media(prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed):after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button:after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media(prefers-reduced-motion:reduce){.accordion-button:after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-collapse,.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button:after{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:.75rem;--bs-pagination-padding-y:.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-body-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-focus-box-shadow:0 0 0 .25rem rgba(13, 110, 253, .25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(-1 * var(--bs-border-width))}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:.5rem;--bs-pagination-padding-y:.25rem;--bs-pagination-font-size:.875rem;--bs-pagination-border-radius:var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x:.65em;--bs-badge-padding-y:.35em;--bs-badge-font-size:.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:var(--bs-primary-text-emphasis);--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle);--bs-alert-link-color:var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color:var(--bs-secondary-text-emphasis);--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle);--bs-alert-link-color:var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color:var(--bs-success-text-emphasis);--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle);--bs-alert-link-color:var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color:var(--bs-info-text-emphasis);--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle);--bs-alert-link-color:var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color:var(--bs-warning-text-emphasis);--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle);--bs-alert-link-color:var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color:var(--bs-danger-text-emphasis);--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle);--bs-alert-link-color:var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color:var(--bs-light-text-emphasis);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color:var(--bs-dark-text-emphasis);--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle);--bs-alert-link-color:var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:var(--bs-progress-height)}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width .6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media(prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media(prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item:before{content:counters(section,".") ". ";counter-increment:section}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:not(.active):focus,.list-group-item-action:not(.active):hover{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:not(.active):active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media(min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color:var(--bs-primary-text-emphasis);--bs-list-group-bg:var(--bs-primary-bg-subtle);--bs-list-group-border-color:var(--bs-primary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-primary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-primary-border-subtle);--bs-list-group-active-color:var(--bs-primary-bg-subtle);--bs-list-group-active-bg:var(--bs-primary-text-emphasis);--bs-list-group-active-border-color:var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color:var(--bs-secondary-text-emphasis);--bs-list-group-bg:var(--bs-secondary-bg-subtle);--bs-list-group-border-color:var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-secondary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-secondary-border-subtle);--bs-list-group-active-color:var(--bs-secondary-bg-subtle);--bs-list-group-active-bg:var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color:var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color:var(--bs-success-text-emphasis);--bs-list-group-bg:var(--bs-success-bg-subtle);--bs-list-group-border-color:var(--bs-success-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-success-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-success-border-subtle);--bs-list-group-active-color:var(--bs-success-bg-subtle);--bs-list-group-active-bg:var(--bs-success-text-emphasis);--bs-list-group-active-border-color:var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color:var(--bs-info-text-emphasis);--bs-list-group-bg:var(--bs-info-bg-subtle);--bs-list-group-border-color:var(--bs-info-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-info-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-info-border-subtle);--bs-list-group-active-color:var(--bs-info-bg-subtle);--bs-list-group-active-bg:var(--bs-info-text-emphasis);--bs-list-group-active-border-color:var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color:var(--bs-warning-text-emphasis);--bs-list-group-bg:var(--bs-warning-bg-subtle);--bs-list-group-border-color:var(--bs-warning-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-warning-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-warning-border-subtle);--bs-list-group-active-color:var(--bs-warning-bg-subtle);--bs-list-group-active-bg:var(--bs-warning-text-emphasis);--bs-list-group-active-border-color:var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color:var(--bs-danger-text-emphasis);--bs-list-group-bg:var(--bs-danger-bg-subtle);--bs-list-group-border-color:var(--bs-danger-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-danger-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-danger-border-subtle);--bs-list-group-active-color:var(--bs-danger-bg-subtle);--bs-list-group-active-bg:var(--bs-danger-text-emphasis);--bs-list-group-active-border-color:var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color:var(--bs-light-text-emphasis);--bs-list-group-bg:var(--bs-light-bg-subtle);--bs-list-group-border-color:var(--bs-light-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-light-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-light-border-subtle);--bs-list-group-active-color:var(--bs-light-bg-subtle);--bs-list-group-active-bg:var(--bs-light-text-emphasis);--bs-list-group-active-border-color:var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color:var(--bs-dark-text-emphasis);--bs-list-group-bg:var(--bs-dark-bg-subtle);--bs-list-group-border-color:var(--bs-dark-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-dark-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-dark-border-subtle);--bs-list-group-active-color:var(--bs-dark-bg-subtle);--bs-list-group-active-bg:var(--bs-dark-text-emphasis);--bs-list-group-active-border-color:var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e");--bs-btn-close-opacity:.5;--bs-btn-close-hover-opacity:.75;--bs-btn-close-focus-shadow:0 0 0 .25rem rgba(13, 110, 253, .25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:.25;box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;filter:var(--bs-btn-close-filter);border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{--bs-btn-close-filter:invert(1) grayscale(100%) brightness(200%)}:root,[data-bs-theme=light]{--bs-btn-close-filter: }[data-bs-theme=dark]{--bs-btn-close-filter:invert(1) grayscale(100%) brightness(200%)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:.75rem;--bs-toast-padding-y:.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), .85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), .85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:.5rem;--bs-modal-color:var(--bs-body-color);--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transform:translateY(-50px);transition:transform .3s ease-out}@media(prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin-top:calc(-.5 * var(--bs-modal-header-padding-y));margin-right:calc(-.5 * var(--bs-modal-header-padding-x));margin-bottom:calc(-.5 * var(--bs-modal-header-padding-y));margin-left:auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media(min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media(min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media(min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media(max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media(max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media(max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media(max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media(max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:.5rem;--bs-tooltip-padding-y:.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:.9;--bs-tooltip-arrow-width:.8rem;--bs-tooltip-arrow-height:.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before,.bs-tooltip-top .tooltip-arrow:before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before,.bs-tooltip-end .tooltip-arrow:before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before,.bs-tooltip-bottom .tooltip-arrow:before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before,.bs-tooltip-start .tooltip-arrow:before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow:after,.popover .popover-arrow:before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:after,.bs-popover-top>.popover-arrow:before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after,.bs-popover-top>.popover-arrow:after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:after,.bs-popover-end>.popover-arrow:before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after,.bs-popover-end>.popover-arrow:after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:after,.bs-popover-bottom>.popover-arrow:before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after,.bs-popover-bottom>.popover-arrow:after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:after,.bs-popover-start>.popover-arrow:before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after,.bs-popover-start>.popover-arrow:after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media(prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translate(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translate(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media(prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;filter:var(--bs-carousel-control-icon-filter);border:0;opacity:.5;transition:opacity .15s ease}@media(prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:var(--bs-carousel-indicator-active-bg);background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media(prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:var(--bs-carousel-caption-color);text-align:center}.carousel-dark{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}:root,[data-bs-theme=light]{--bs-carousel-indicator-active-bg:#fff;--bs-carousel-caption-color:#fff;--bs-carousel-control-icon-filter: }[data-bs-theme=dark]{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}.spinner-border,.spinner-grow{display:inline-block;flex-shrink:0;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-.125em;--bs-spinner-border-width:.25em;--bs-spinner-animation-speed:.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-.125em;--bs-spinner-animation-speed:.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media(prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform .3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@media(max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width:575.98px)and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media(max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media(min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media(max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width:767.98px)and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media(max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media(min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media(max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width:991.98px)and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media(max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media(min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media(max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width:1199.98px)and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media(max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media(min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media(max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width:1399.98px)and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media(max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media(min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media(prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y));margin-left:auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn:before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,#000c,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{to{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix:after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity,1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important}.link-primary:focus,.link-primary:hover{color:RGBA(10,88,202,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important}.link-secondary:focus,.link-secondary:hover{color:RGBA(86,94,100,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important}.link-success:focus,.link-success:hover{color:RGBA(20,108,67,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important}.link-info:focus,.link-info:hover{color:RGBA(61,213,243,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important}.link-warning:focus,.link-warning:hover{color:RGBA(255,205,57,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important}.link-danger:focus,.link-danger:hover{color:RGBA(176,42,55,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important}.link-light:focus,.link-light:hover{color:RGBA(249,250,251,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important}.link-dark:focus,.link-dark:hover{color:RGBA(26,30,33,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,.75))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,.75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x,0) var(--bs-focus-ring-y,0) var(--bs-focus-ring-blur,0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,.5));text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,.5));text-underline-offset:.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media(prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}.ratio{position:relative;width:100%}.ratio:before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media(min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media(min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media(min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media(min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media(min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.visually-hidden *,.visually-hidden-focusable:not(:focus):not(:focus-within) *{overflow:hidden!important}.stretched-link:after{position:absolute;inset:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translate(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity:1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity:.1}.border-opacity-25{--bs-border-opacity:.25}.border-opacity-50{--bs-border-opacity:.5}.border-opacity-75{--bs-border-opacity:.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:#00000080!important}.text-white-50{--bs-text-opacity:1;color:#ffffff80!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:.25}.text-opacity-50{--bs-text-opacity:.5}.text-opacity-75{--bs-text-opacity:.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10,.link-opacity-10-hover:hover{--bs-link-opacity:.1}.link-opacity-25,.link-opacity-25-hover:hover{--bs-link-opacity:.25}.link-opacity-50,.link-opacity-50-hover:hover{--bs-link-opacity:.5}.link-opacity-75,.link-opacity-75-hover:hover{--bs-link-opacity:.75}.link-opacity-100,.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1,.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2,.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3,.link-offset-3-hover:hover{text-underline-offset:.375em!important}.link-underline-primary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-underline-opacity-0,.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10,.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:.1}.link-underline-opacity-25,.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:.25}.link-underline-opacity-50,.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:.5}.link-underline-opacity-75,.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:.75}.link-underline-opacity-100,.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:.1}.bg-opacity-25{--bs-bg-opacity:.25}.bg-opacity-50{--bs-bg-opacity:.5}.bg-opacity-75{--bs-bg-opacity:.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media(min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media(min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media(min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media(min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media(min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media(min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}`,yi=":root,:host{--wg-theme-background-color: #ffffff;--wg-theme-text-color: #1a1a1a;--wg-theme-font-family: sans-serif;--wg-theme-border-color: #e5e7eb;--wg-theme-text-secondary: #6b7280;--wg-theme-surface-color: #ffffff;--wg-theme-surface-hover: #ede9fe;--wg-theme-primary-color: #000000;--wg-theme-primary-hover: #363636;--wg-theme-primary-text-color: #ffffff;--wg-theme-success-color: #22c55e;--wg-theme-error-color: #ef4444;--wg-theme-icon-bg: rgba(0, 0, 0, .04);--wg-theme-badge-bg: rgba(0, 0, 0, .06);--wg-theme-accent-color: #7c3aed;--wg-bg: var(--wg-theme-background-color);--wg-text: var(--wg-theme-text-color);--wg-text-secondary: var(--wg-theme-text-secondary);--wg-font-family: var(--wg-theme-font-family);--wg-border: var(--wg-theme-border-color);--wg-surface: var(--wg-theme-surface-color);--wg-surface-hover: var(--wg-theme-surface-hover);--wg-primary: var(--wg-theme-primary-color);--wg-primary-hover: var(--wg-theme-primary-hover);--wg-accent: var(--wg-theme-accent-color);--wg-success: var(--wg-theme-success-color);--wg-error: var(--wg-theme-error-color)}",nl=K`
|
|
4
|
-
.container {
|
|
5
|
-
padding: 20px;
|
|
6
|
-
}
|
|
7
|
-
`,il=[nl],ki=class extends gt{};ki.styles=[il,K`
|
|
8
|
-
${vr(ol.replaceAll(/:root/g,":root,:host"))}
|
|
9
|
-
${vr(yi)}
|
|
10
|
-
|
|
11
|
-
:host {
|
|
12
|
-
--bs-body-color: var(--wg-theme-text-color);
|
|
13
|
-
|
|
14
|
-
margin: 0;
|
|
15
|
-
font-family: var(--bs-body-font-family);
|
|
16
|
-
font-size: var(--bs-body-font-size);
|
|
17
|
-
font-weight: var(--bs-body-font-weight);
|
|
18
|
-
line-height: var(--bs-body-line-height);
|
|
19
|
-
color: var(--bs-body-color);
|
|
20
|
-
text-align: var(--bs-body-text-align);
|
|
21
|
-
background-color: var(--bs-body-bg);
|
|
22
|
-
-webkit-text-size-adjust: 100%;
|
|
23
|
-
-webkit-tap-highlight-color: transparent;
|
|
24
|
-
}
|
|
25
|
-
`];let k=ki;const _i=["/login","/wallets","/settings","/transactions","/approve","/","/404","/callback"];function al(t){return _i.includes(t)}const sl=_i.filter(t=>t!=="/").sort((t,e)=>e.length-t.length);function zi(t){if(!t||t==="/")return"/";const e=t.replace(/\/+$/,"")||"/";return e==="/index.html"?"/":e.endsWith("/index.html")?e.slice(0,-11)||"/":e}function $t(t){const e=zi(t);if(e==="/")return"/";for(const r of sl)if(e===r||e.endsWith(`${r}`))return r;return null}function ll(t){const e=zi(t),r=$t(e);return r===null||r==="/"?e==="/"?"":e:e.slice(0,-r.length)||""}function Qt(t,e=window.location.pathname){const r=ll(e),o=t.startsWith("/")?t:`/${t}`;return r?o==="/"?`${r}/`:`${r}${o}`:o}function ft(t,e=window.location.pathname){return Qt(t==="/"?"/":`${t}/`,e)}var dl=Object.defineProperty,cl=Object.getOwnPropertyDescriptor,Zr=(t,e,r,o)=>{for(var n=o>1?void 0:o?cl(e,r):e,i=t.length-1,a;i>=0;i--)(a=t[i])&&(n=(o?a(e,r,n):a(n))||n);return o&&n&&dl(e,r,n),n};class pl extends Event{constructor(){super("logout",{bubbles:!0,composed:!0})}}let te=class extends k{constructor(){super(...arguments),this.iconSrc="images/icon.png",this.menuOpen=!1,this.darkMode=localStorage.getItem("theme")==="dark"}connectedCallback(){super.connectedCallback(),this.updateThemeAttribute()}updateThemeAttribute(){this.darkMode?this.setAttribute("theme","dark"):this.removeAttribute("theme")}toggleMenu(){this.menuOpen=!this.menuOpen}toggleTheme(){this.darkMode=!this.darkMode,localStorage.setItem("theme",this.darkMode?"dark":"light"),this.updateThemeAttribute()}navigateTo(t){window.location.href=Qt(t)}async logout(){try{console.log("Logging out..."),this.dispatchEvent(new pl)}catch(t){console.error("Error during logout:",t)}}render(){return f`
|
|
26
|
-
<header>
|
|
27
|
-
<div class="logo-box" @click=${()=>this.navigateTo("/")}>
|
|
28
|
-
<img src=${this.iconSrc} alt="App Icon" />Wallet Gateway
|
|
29
|
-
</div>
|
|
30
|
-
|
|
31
|
-
<button
|
|
32
|
-
class="hamburger"
|
|
33
|
-
@click=${this.toggleMenu}
|
|
34
|
-
aria-label="Toggle menu"
|
|
35
|
-
name="toggle menu"
|
|
36
|
-
>
|
|
37
|
-
☰
|
|
38
|
-
</button>
|
|
39
|
-
|
|
40
|
-
<div class="dropdown ${this.menuOpen?"open":""}">
|
|
41
|
-
<button @click=${()=>this.navigateTo("/wallets/")}>
|
|
42
|
-
💰 Wallets
|
|
43
|
-
</button>
|
|
44
|
-
<button @click=${()=>this.navigateTo("/transactions/")}>
|
|
45
|
-
🧾 Transactions
|
|
46
|
-
</button>
|
|
47
|
-
<button @click=${()=>this.navigateTo("/settings/")}>
|
|
48
|
-
⚙️ Settings
|
|
49
|
-
</button>
|
|
50
|
-
<button @click=${this.logout}>🚪 Logout</button>
|
|
51
|
-
|
|
52
|
-
<div class="theme-toggle" @click=${this.toggleTheme}>
|
|
53
|
-
<span
|
|
54
|
-
>${this.darkMode?"🌙 Dark Mode":"☀️ Light Mode"}</span
|
|
55
|
-
>
|
|
56
|
-
<div
|
|
57
|
-
class="toggle-switch ${this.darkMode?"on":""}"
|
|
58
|
-
></div>
|
|
59
|
-
</div>
|
|
60
|
-
</div>
|
|
61
|
-
</header>
|
|
62
|
-
`}};te.styles=[k.styles,K`
|
|
63
|
-
:host {
|
|
64
|
-
display: block;
|
|
65
|
-
width: 100%;
|
|
66
|
-
background-color: var(--header-bg, #fff);
|
|
67
|
-
border-bottom: 1px solid #e5e7eb;
|
|
68
|
-
position: sticky; /* Make sticky */
|
|
69
|
-
top: 0; /* Stick to top */
|
|
70
|
-
z-index: 1000; /* Ensure above other content */
|
|
71
|
-
--header-bg: #fff;
|
|
72
|
-
--menu-bg: #fff;
|
|
73
|
-
--text-color: #222;
|
|
74
|
-
--border-color: #ccc;
|
|
75
|
-
--shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
|
|
76
|
-
--hover-bg: rgba(0, 0, 0, 0.05);
|
|
77
|
-
}
|
|
78
|
-
:host([theme='dark']) {
|
|
79
|
-
--header-bg: #1e1e1e;
|
|
80
|
-
--menu-bg: #2b2b2b;
|
|
81
|
-
--text-color: #fff;
|
|
82
|
-
--border-color: #555;
|
|
83
|
-
--hover-bg: rgba(255, 255, 255, 0.1);
|
|
84
|
-
}
|
|
85
|
-
header {
|
|
86
|
-
display: flex;
|
|
87
|
-
justify-content: space-between;
|
|
88
|
-
align-items: center;
|
|
89
|
-
padding: 0.75rem 1rem;
|
|
90
|
-
width: 100%;
|
|
91
|
-
box-sizing: border-box;
|
|
92
|
-
}
|
|
93
|
-
.logo-box {
|
|
94
|
-
display: flex;
|
|
95
|
-
align-items: center;
|
|
96
|
-
gap: 8px;
|
|
97
|
-
font-weight: 600;
|
|
98
|
-
cursor: pointer;
|
|
99
|
-
color: var(--text-color);
|
|
100
|
-
user-select: none;
|
|
101
|
-
}
|
|
102
|
-
.logo-box img {
|
|
103
|
-
width: 24px;
|
|
104
|
-
height: 24px;
|
|
105
|
-
}
|
|
106
|
-
/* Hamburger */
|
|
107
|
-
.hamburger {
|
|
108
|
-
background: none;
|
|
109
|
-
border: none;
|
|
110
|
-
font-size: 1.8rem;
|
|
111
|
-
cursor: pointer;
|
|
112
|
-
color: var(--text-color);
|
|
113
|
-
padding: 0;
|
|
114
|
-
line-height: 1;
|
|
115
|
-
}
|
|
116
|
-
/* Dropdown menu */
|
|
117
|
-
.dropdown {
|
|
118
|
-
position: absolute;
|
|
119
|
-
top: 100%;
|
|
120
|
-
right: 1rem;
|
|
121
|
-
background: var(--menu-bg);
|
|
122
|
-
border-radius: 12px;
|
|
123
|
-
box-shadow: var(--shadow);
|
|
124
|
-
display: flex;
|
|
125
|
-
flex-direction: column;
|
|
126
|
-
min-width: 200px;
|
|
127
|
-
margin-top: 0.25rem;
|
|
128
|
-
padding: 0.25rem 0;
|
|
129
|
-
opacity: 0;
|
|
130
|
-
transform: translateY(-5px);
|
|
131
|
-
pointer-events: none;
|
|
132
|
-
transition:
|
|
133
|
-
opacity 0.15s ease,
|
|
134
|
-
transform 0.15s ease;
|
|
135
|
-
z-index: 1100; /* Above other content */
|
|
136
|
-
}
|
|
137
|
-
.dropdown.open {
|
|
138
|
-
opacity: 1;
|
|
139
|
-
transform: translateY(0);
|
|
140
|
-
pointer-events: auto;
|
|
141
|
-
}
|
|
142
|
-
.dropdown button {
|
|
143
|
-
width: 100%;
|
|
144
|
-
text-align: left;
|
|
145
|
-
border: none;
|
|
146
|
-
background: transparent;
|
|
147
|
-
padding: 0.5rem 1rem;
|
|
148
|
-
cursor: pointer;
|
|
149
|
-
transition: background 0.15s ease;
|
|
150
|
-
color: var(--text-color);
|
|
151
|
-
font-size: 0.95rem;
|
|
152
|
-
}
|
|
153
|
-
.dropdown button:hover {
|
|
154
|
-
background: var(--hover-bg);
|
|
155
|
-
}
|
|
156
|
-
.theme-toggle {
|
|
157
|
-
display: flex;
|
|
158
|
-
justify-content: space-between;
|
|
159
|
-
align-items: center;
|
|
160
|
-
padding: 0.5rem 1rem;
|
|
161
|
-
border-top: 1px solid var(--border-color);
|
|
162
|
-
margin-top: 0.25rem;
|
|
163
|
-
cursor: pointer;
|
|
164
|
-
color: var(--text-color);
|
|
165
|
-
}
|
|
166
|
-
.theme-toggle span {
|
|
167
|
-
color: var(--text-color);
|
|
168
|
-
font-size: 0.95rem;
|
|
169
|
-
}
|
|
170
|
-
.toggle-switch {
|
|
171
|
-
position: relative;
|
|
172
|
-
width: 40px;
|
|
173
|
-
height: 20px;
|
|
174
|
-
background: #ccc;
|
|
175
|
-
border-radius: 20px;
|
|
176
|
-
transition: background 0.15s;
|
|
177
|
-
flex-shrink: 0;
|
|
178
|
-
}
|
|
179
|
-
.toggle-switch::after {
|
|
180
|
-
content: '';
|
|
181
|
-
position: absolute;
|
|
182
|
-
top: 2px;
|
|
183
|
-
left: 2px;
|
|
184
|
-
width: 16px;
|
|
185
|
-
height: 16px;
|
|
186
|
-
background: white;
|
|
187
|
-
border-radius: 50%;
|
|
188
|
-
transition: transform 0.15s;
|
|
189
|
-
}
|
|
190
|
-
.toggle-switch.on {
|
|
191
|
-
background: #4caf50;
|
|
192
|
-
}
|
|
193
|
-
.toggle-switch.on::after {
|
|
194
|
-
transform: translateX(20px);
|
|
195
|
-
}
|
|
196
|
-
`];Zr([w({type:String})],te.prototype,"iconSrc",2);Zr([G()],te.prototype,"menuOpen",2);Zr([G()],te.prototype,"darkMode",2);te=Zr([M("app-header")],te);var ml=Object.defineProperty,bl=Object.getOwnPropertyDescriptor,Eo=(t,e,r,o)=>{for(var n=o>1?void 0:o?bl(e,r):e,i=t.length-1,a;i>=0;i--)(a=t[i])&&(n=(o?a(e,r,n):a(n))||n);return o&&n&&ml(e,r,n),n};let ke=class extends k{constructor(){super(...arguments),this.iconSrc="/images/icon.png",this.customThemeCss=null}async updated(t){if(t.has("themeSrc"))if(this.themeSrc){try{const e=await fetch(this.themeSrc);if(!e.ok)throw new Error(`HTTP ${e.status}`);this.customThemeCss=await e.text()}catch(e){console.warn(`[app-layout] Failed to load theme from "${this.themeSrc}":`,e),this.customThemeCss=null}this.requestUpdate()}else this.customThemeCss=null}get effectiveThemeCss(){return this.customThemeCss??yi}render(){return f`
|
|
197
|
-
<style>
|
|
198
|
-
${vr(this.effectiveThemeCss)}
|
|
199
|
-
</style>
|
|
200
|
-
|
|
201
|
-
<app-header .iconSrc=${this.iconSrc}></app-header>
|
|
202
|
-
<div class="container" id="mainContent">
|
|
203
|
-
<slot></slot>
|
|
204
|
-
</div>
|
|
205
|
-
`}};ke.styles=[k.styles];Eo([w({type:String})],ke.prototype,"iconSrc",2);Eo([w({type:String})],ke.prototype,"themeSrc",2);ke=Eo([M("app-layout")],ke);var ul=Object.defineProperty,gl=Object.getOwnPropertyDescriptor,de=(t,e,r,o)=>{for(var n=o>1?void 0:o?gl(e,r):e,i=t.length-1,a;i>=0;i--)(a=t[i])&&(n=(o?a(e,r,n):a(n))||n);return o&&n&&ul(e,r,n),n};let lt=class extends k{constructor(){super(...arguments),this.title="",this.message="",this.buttonText="Okay",this.type="error",this.closing=!1}closeToast(){this.closing=!0,setTimeout(()=>{this.closing=!1,this.remove()},600)}connectedCallback(){super.connectedCallback(),setTimeout(()=>this.closeToast(),5e3)}render(){const t=this.type==="success"?"btn-success":this.type==="error"?"btn-danger":"btn-primary";return f`
|
|
206
|
-
<div
|
|
207
|
-
class="toast-wrapper ${this.type} ${this.closing?"closing":""}"
|
|
208
|
-
role="alert"
|
|
209
|
-
aria-live="assertive"
|
|
210
|
-
aria-atomic="true"
|
|
211
|
-
>
|
|
212
|
-
<h5 class="toast-title">${this.title}</h5>
|
|
213
|
-
<h6 class="toast-message">${this.message}</h6>
|
|
214
|
-
<button
|
|
215
|
-
type="button"
|
|
216
|
-
class="btn ${t}"
|
|
217
|
-
@click=${this.closeToast}
|
|
218
|
-
>
|
|
219
|
-
${this.buttonText}
|
|
220
|
-
</button>
|
|
221
|
-
</div>
|
|
222
|
-
`}};lt.styles=[k.styles,K`
|
|
223
|
-
:host {
|
|
224
|
-
position: fixed;
|
|
225
|
-
bottom: 20px;
|
|
226
|
-
right: 20px;
|
|
227
|
-
max-width: 500px;
|
|
228
|
-
z-index: 1000;
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
.toast-wrapper {
|
|
232
|
-
display: flex;
|
|
233
|
-
flex-direction: column;
|
|
234
|
-
border: 2px solid;
|
|
235
|
-
padding: 12px 20px;
|
|
236
|
-
border-radius: 6px;
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
.info {
|
|
240
|
-
background-color: var(--bs-primary-bg-subtle);
|
|
241
|
-
border-color: var(--bs-primary-border-subtle);
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
.success {
|
|
245
|
-
background-color: var(--bs-success-bg-subtle);
|
|
246
|
-
border-color: var(--bs-success-border-subtle);
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
.error {
|
|
250
|
-
background-color: var(--bs-danger-bg-subtle);
|
|
251
|
-
border-color: var(--bs-danger-border-subtle);
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
.toast-title {
|
|
255
|
-
font-weight: 700;
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
.info .toast-title,
|
|
259
|
-
.info .toast-message {
|
|
260
|
-
color: var(--bs-primary-text-emphasis);
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
.success .toast-title,
|
|
264
|
-
.success .toast-message {
|
|
265
|
-
color: var(--bs-success-text-emphasis);
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
.error .toast-title,
|
|
269
|
-
.error .toast-message {
|
|
270
|
-
color: var(--bs-error-text-emphasis);
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
.btn {
|
|
274
|
-
align-self: flex-end;
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
@keyframes fadeIn {
|
|
278
|
-
from {
|
|
279
|
-
opacity: 0;
|
|
280
|
-
transform: translateY(20px);
|
|
281
|
-
}
|
|
282
|
-
to {
|
|
283
|
-
opacity: 1;
|
|
284
|
-
transform: translateY(0);
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
@keyframes fadeOut {
|
|
289
|
-
from {
|
|
290
|
-
opacity: 1;
|
|
291
|
-
transform: translateY(0);
|
|
292
|
-
}
|
|
293
|
-
to {
|
|
294
|
-
opacity: 0;
|
|
295
|
-
transform: translateY(20px);
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
.toast-wrapper {
|
|
300
|
-
animation: fadeIn 0.6s ease-out;
|
|
301
|
-
transition: opacity 0.6s ease-out;
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
.toast-wrapper.closing {
|
|
305
|
-
animation: fadeOut 0.6s ease-in forwards;
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
@media (max-width: 600px) {
|
|
309
|
-
:host {
|
|
310
|
-
max-width: 300px;
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
`];de([w({type:String})],lt.prototype,"title",2);de([w({type:String})],lt.prototype,"message",2);de([w({type:String})],lt.prototype,"buttonText",2);de([w({type:String})],lt.prototype,"type",2);de([w({type:Boolean})],lt.prototype,"closing",2);lt=de([M("custom-toast")],lt);function Ai(t){return Array.isArray(t)?t.reduce((e,r)=>e+Ai(r),""):t instanceof xo?t.cssText:""}const fl=Ai([k.styles,K`
|
|
314
|
-
* {
|
|
315
|
-
box-sizing: border-box;
|
|
316
|
-
font-family: var(
|
|
317
|
-
--wg-theme-font-family,
|
|
318
|
-
-apple-system,
|
|
319
|
-
BlinkMacSystemFont,
|
|
320
|
-
'Segoe UI',
|
|
321
|
-
Roboto,
|
|
322
|
-
'Helvetica Neue',
|
|
323
|
-
Arial,
|
|
324
|
-
sans-serif
|
|
325
|
-
);
|
|
326
|
-
color: var(--wg-theme-text-color, #1a1a1a);
|
|
327
|
-
}
|
|
328
|
-
|
|
329
|
-
.root {
|
|
330
|
-
background-color: var(--wg-theme-background-color, #ffffff);
|
|
331
|
-
width: 100%;
|
|
332
|
-
height: 100%;
|
|
333
|
-
display: flex;
|
|
334
|
-
flex-direction: column;
|
|
335
|
-
}
|
|
336
|
-
|
|
337
|
-
.view-container {
|
|
338
|
-
display: flex;
|
|
339
|
-
flex-direction: column;
|
|
340
|
-
height: 100%;
|
|
341
|
-
}
|
|
342
|
-
|
|
343
|
-
.header {
|
|
344
|
-
height: 40px;
|
|
345
|
-
padding: 0 24px;
|
|
346
|
-
display: flex;
|
|
347
|
-
align-items: center;
|
|
348
|
-
border-bottom: 1px solid var(--wg-theme-border-color, #e5e7eb);
|
|
349
|
-
}
|
|
350
|
-
|
|
351
|
-
.header-logo {
|
|
352
|
-
width: 28px;
|
|
353
|
-
height: 28px;
|
|
354
|
-
}
|
|
355
|
-
|
|
356
|
-
.view-title {
|
|
357
|
-
font-size: 20px;
|
|
358
|
-
font-weight: 600;
|
|
359
|
-
padding: 16px 24px 12px;
|
|
360
|
-
color: var(--wg-theme-text-color, #1a1a1a);
|
|
361
|
-
}
|
|
362
|
-
|
|
363
|
-
.wallet-list {
|
|
364
|
-
flex: 1;
|
|
365
|
-
overflow-y: auto;
|
|
366
|
-
padding: 4px 12px 0;
|
|
367
|
-
}
|
|
368
|
-
|
|
369
|
-
.wallet-card {
|
|
370
|
-
display: flex;
|
|
371
|
-
align-items: center;
|
|
372
|
-
gap: 12px;
|
|
373
|
-
padding: 14px 16px;
|
|
374
|
-
border-radius: 8px;
|
|
375
|
-
border: 1px solid var(--wg-theme-border-color, #e5e7eb);
|
|
376
|
-
background: var(--wg-theme-surface-color, #ffffff);
|
|
377
|
-
cursor: pointer;
|
|
378
|
-
transition: all 0.15s ease;
|
|
379
|
-
margin-bottom: 8px;
|
|
380
|
-
width: 100%;
|
|
381
|
-
text-align: left;
|
|
382
|
-
}
|
|
383
|
-
|
|
384
|
-
.wallet-card:hover {
|
|
385
|
-
background: var(--wg-theme-surface-hover, #ede9fe);
|
|
386
|
-
border-color: var(--wg-theme-accent-color, #7c3aed);
|
|
387
|
-
}
|
|
388
|
-
|
|
389
|
-
.wallet-card:active {
|
|
390
|
-
transform: scale(0.99);
|
|
391
|
-
}
|
|
392
|
-
|
|
393
|
-
.wallet-icon {
|
|
394
|
-
width: 42px;
|
|
395
|
-
height: 42px;
|
|
396
|
-
border-radius: 8px;
|
|
397
|
-
background: var(--wg-theme-icon-bg, rgba(0, 0, 0, 0.04));
|
|
398
|
-
display: flex;
|
|
399
|
-
align-items: center;
|
|
400
|
-
justify-content: center;
|
|
401
|
-
flex-shrink: 0;
|
|
402
|
-
overflow: hidden;
|
|
403
|
-
}
|
|
404
|
-
|
|
405
|
-
.wallet-icon img {
|
|
406
|
-
width: 42px;
|
|
407
|
-
height: 42px;
|
|
408
|
-
border-radius: 8px;
|
|
409
|
-
object-fit: cover;
|
|
410
|
-
}
|
|
411
|
-
|
|
412
|
-
.wallet-icon svg {
|
|
413
|
-
width: 22px;
|
|
414
|
-
height: 22px;
|
|
415
|
-
color: var(--wg-theme-text-secondary, #6b7280);
|
|
416
|
-
}
|
|
417
|
-
|
|
418
|
-
.wallet-name {
|
|
419
|
-
font-size: 15px;
|
|
420
|
-
font-weight: 500;
|
|
421
|
-
}
|
|
422
|
-
|
|
423
|
-
.custom-url-section {
|
|
424
|
-
padding: 8px 12px 16px;
|
|
425
|
-
}
|
|
426
|
-
|
|
427
|
-
.custom-url-label {
|
|
428
|
-
display: flex;
|
|
429
|
-
align-items: center;
|
|
430
|
-
gap: 6px;
|
|
431
|
-
font-size: 11px;
|
|
432
|
-
font-weight: 600;
|
|
433
|
-
text-transform: uppercase;
|
|
434
|
-
letter-spacing: 0.05em;
|
|
435
|
-
color: var(--wg-theme-text-color, #1a1a1a);
|
|
436
|
-
padding: 0 4px 8px;
|
|
437
|
-
}
|
|
438
|
-
|
|
439
|
-
.custom-url-label .info-icon {
|
|
440
|
-
display: inline-flex;
|
|
441
|
-
align-items: center;
|
|
442
|
-
width: 14px;
|
|
443
|
-
height: 14px;
|
|
444
|
-
color: var(--wg-theme-text-secondary, #6b7280);
|
|
445
|
-
}
|
|
446
|
-
|
|
447
|
-
.custom-url-row {
|
|
448
|
-
display: flex;
|
|
449
|
-
gap: 8px;
|
|
450
|
-
align-items: center;
|
|
451
|
-
}
|
|
452
|
-
|
|
453
|
-
.custom-url-input {
|
|
454
|
-
flex: 1;
|
|
455
|
-
padding: 10px 14px;
|
|
456
|
-
border: 1px solid var(--wg-theme-border-color, #e5e7eb);
|
|
457
|
-
border-radius: 8px;
|
|
458
|
-
font-size: 14px;
|
|
459
|
-
outline: none;
|
|
460
|
-
background: var(--wg-theme-surface-color, #ffffff);
|
|
461
|
-
color: var(--wg-theme-text-color, #1a1a1a);
|
|
462
|
-
}
|
|
463
|
-
|
|
464
|
-
.custom-url-input:focus {
|
|
465
|
-
border-color: var(--wg-theme-accent-color, #7c3aed);
|
|
466
|
-
box-shadow: 0 0 0 2px rgba(124, 58, 237, 0.15);
|
|
467
|
-
}
|
|
468
|
-
|
|
469
|
-
.custom-url-input::placeholder {
|
|
470
|
-
color: var(--wg-theme-text-secondary, #6b7280);
|
|
471
|
-
}
|
|
472
|
-
|
|
473
|
-
.btn-add {
|
|
474
|
-
background: var(--wg-theme-primary-color, #000000);
|
|
475
|
-
color: var(--wg-theme-primary-text-color, #ffffff);
|
|
476
|
-
border: none;
|
|
477
|
-
border-radius: 20px;
|
|
478
|
-
padding: 10px 24px;
|
|
479
|
-
font-size: 14px;
|
|
480
|
-
font-weight: 500;
|
|
481
|
-
cursor: pointer;
|
|
482
|
-
transition: background 0.15s;
|
|
483
|
-
white-space: nowrap;
|
|
484
|
-
}
|
|
485
|
-
|
|
486
|
-
.btn-add:hover {
|
|
487
|
-
background: var(--wg-theme-primary-hover, #363636);
|
|
488
|
-
}
|
|
489
|
-
|
|
490
|
-
.btn-add:disabled {
|
|
491
|
-
opacity: 0.5;
|
|
492
|
-
cursor: default;
|
|
493
|
-
}
|
|
494
|
-
|
|
495
|
-
.status-view {
|
|
496
|
-
display: flex;
|
|
497
|
-
flex-direction: column;
|
|
498
|
-
align-items: center;
|
|
499
|
-
justify-content: center;
|
|
500
|
-
padding: 48px 24px;
|
|
501
|
-
gap: 16px;
|
|
502
|
-
text-align: center;
|
|
503
|
-
flex: 1;
|
|
504
|
-
}
|
|
505
|
-
|
|
506
|
-
.status-view h3 {
|
|
507
|
-
margin: 0;
|
|
508
|
-
font-size: 16px;
|
|
509
|
-
font-weight: 600;
|
|
510
|
-
}
|
|
511
|
-
|
|
512
|
-
.status-view p {
|
|
513
|
-
margin: 0;
|
|
514
|
-
font-size: 14px;
|
|
515
|
-
color: var(--wg-theme-text-secondary, #6b7280);
|
|
516
|
-
}
|
|
517
|
-
|
|
518
|
-
.spinner {
|
|
519
|
-
width: 36px;
|
|
520
|
-
height: 36px;
|
|
521
|
-
border: 3px solid var(--wg-theme-border-color, #e5e7eb);
|
|
522
|
-
border-top-color: var(--wg-theme-accent-color, #7c3aed);
|
|
523
|
-
border-radius: 50%;
|
|
524
|
-
animation: spin 0.8s linear infinite;
|
|
525
|
-
}
|
|
526
|
-
|
|
527
|
-
@keyframes spin {
|
|
528
|
-
to {
|
|
529
|
-
transform: rotate(360deg);
|
|
530
|
-
}
|
|
531
|
-
}
|
|
532
|
-
|
|
533
|
-
.success-icon {
|
|
534
|
-
color: var(--wg-theme-success-color, #22c55e);
|
|
535
|
-
}
|
|
536
|
-
|
|
537
|
-
.error-icon {
|
|
538
|
-
color: var(--wg-theme-error-color, #ef4444);
|
|
539
|
-
}
|
|
540
|
-
|
|
541
|
-
.btn-row {
|
|
542
|
-
display: flex;
|
|
543
|
-
gap: 8px;
|
|
544
|
-
margin-top: 8px;
|
|
545
|
-
}
|
|
546
|
-
|
|
547
|
-
.btn-primary {
|
|
548
|
-
background: var(--wg-theme-primary-color, #80deea);
|
|
549
|
-
color: var(--wg-theme-primary-text-color, #ffffff);
|
|
550
|
-
border: none;
|
|
551
|
-
border-radius: 8px;
|
|
552
|
-
padding: 10px 24px;
|
|
553
|
-
font-size: 14px;
|
|
554
|
-
font-weight: 500;
|
|
555
|
-
cursor: pointer;
|
|
556
|
-
transition: background 0.15s;
|
|
557
|
-
}
|
|
558
|
-
|
|
559
|
-
.btn-primary:hover {
|
|
560
|
-
background: var(--wg-theme-primary-hover, #60c8d6);
|
|
561
|
-
}
|
|
562
|
-
|
|
563
|
-
.btn-secondary {
|
|
564
|
-
background: transparent;
|
|
565
|
-
color: var(--wg-theme-text-secondary, #6b7280);
|
|
566
|
-
border: 1px solid var(--wg-theme-border-color, #e5e7eb);
|
|
567
|
-
border-radius: 8px;
|
|
568
|
-
padding: 10px 24px;
|
|
569
|
-
font-size: 14px;
|
|
570
|
-
font-weight: 500;
|
|
571
|
-
cursor: pointer;
|
|
572
|
-
}
|
|
573
|
-
|
|
574
|
-
.empty-state {
|
|
575
|
-
color: var(--wg-theme-text-secondary, #6b7280);
|
|
576
|
-
}
|
|
577
|
-
`]),Si=class extends HTMLElement{constructor(){super(),this.RECENT_KEY="splice_wallet_picker_recent",this.entries=[],this.recentGateways=[],this.state="list",this.selectedEntry=null,this.errorMessage="",this.attachShadow({mode:"open"});const e=this.constructor;if(e.styles){const r=document.createElement("style");r.textContent=e.styles,this.shadowRoot.appendChild(r)}this.root=document.createElement("div"),this.root.className="root",this.loadEntries(),this.recentGateways=this.loadRecentGateways()}loadRecentGateways(){try{const e=localStorage.getItem(this.RECENT_KEY);if(e)return JSON.parse(e)}catch{}return[]}saveRecentGateway(e){const r=this.loadRecentGateways().filter(o=>o.rpcUrl!==e.rpcUrl);r.unshift(e),localStorage.setItem(this.RECENT_KEY,JSON.stringify(r.slice(0,5)))}loadEntries(){const e=localStorage.getItem("splice_wallet_picker_entries");if(e)try{this.entries=JSON.parse(e)}catch{this.entries=[]}}getAllEntries(){const e=new Set(this.entries.filter(o=>o.type==="remote"&&o.url).map(o=>o.url)),r=this.recentGateways.filter(o=>!e.has(o.rpcUrl)).map(o=>({providerId:"remote:"+o.rpcUrl,name:o.name,type:"remote",url:o.rpcUrl}));return[...this.entries,...r]}selectWallet(e){this.selectedEntry=e,this.state="connecting",this.render(),window.opener&&window.opener.postMessage({messageType:"SPLICE_WALLET_PICKER_RESULT",providerId:e.providerId,name:e.name,walletType:e.type,url:e.url},"*")}connectCustomUrl(e){const r=e.trim();r&&(this.saveRecentGateway({name:r,rpcUrl:r}),this.selectWallet({providerId:"remote:"+r,name:r,type:"remote",url:r}))}setConnected(){this.state="connected",this.render(),setTimeout(()=>{window.opener&&window.close()},1200)}setError(e){this.errorMessage=e,this.state="error",this.render()}renderHeader(){const e=this.el("div","",{class:"header"}),r=this.el("img","",{class:"header-logo",src:"data:image/png;base64,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",alt:"Canton"});return e.appendChild(r),e}renderWalletCard(e){const r=this.el("button","",{class:"wallet-card"}),o=this.el("div","",{class:"wallet-icon"});if(e.icon){const n=this.el("img","",{src:e.icon,alt:e.name});o.appendChild(n)}else o.innerHTML=e.type==="browser"?'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="11" width="18" height="11" rx="2" ry="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/></svg>':'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="3" width="20" height="14" rx="2"/><path d="M8 21h8"/><path d="M12 17v4"/><circle cx="12" cy="10" r="2"/></svg>';return r.appendChild(o),r.appendChild(this.el("span",e.name,{class:"wallet-name"})),r.addEventListener("click",()=>this.selectWallet(e)),r}renderList(){const e=this.el("div","",{class:"view-container"});e.appendChild(this.renderHeader());const r=this.el("div","Connect a wallet",{class:"view-title"});e.appendChild(r);const o=this.getAllEntries(),n=this.el("div","",{class:"wallet-list"});if(o.length===0){const u=this.el("div","",{class:"status-view"});u.appendChild(this.el("h3","No wallets available",{class:"empty-state"})),u.appendChild(this.el("p","Install a Canton wallet extension or enter a Wallet Gateway URL below.")),n.appendChild(u)}else for(const u of o)n.appendChild(this.renderWalletCard(u));e.appendChild(n);const i=this.el("div","",{class:"custom-url-section"}),a=this.el("div","",{class:"custom-url-label"});a.appendChild(document.createTextNode("CUSTOM WALLET URL"));const s=document.createElement("span");s.className="info-icon",s.innerHTML='<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><line x1="12" x2="12" y1="16" y2="12"/><line x1="12" x2="12.01" y1="8" y2="8"/></svg>',a.appendChild(s),i.appendChild(a);const l=this.el("div","",{class:"custom-url-row"}),d=this.el("input","",{class:"custom-url-input",type:"text",placeholder:"Enter your wallet URL"}),c=this.el("button","Add",{class:"btn-add"}),p=()=>{const u=d.value;u.trim()&&this.connectCustomUrl(u)};return c.addEventListener("click",p),d.addEventListener("keydown",u=>{u.key==="Enter"&&p()}),l.append(d,c),i.appendChild(l),e.appendChild(i),e}renderConnecting(){const e=this.el("div","",{class:"view-container"});e.appendChild(this.renderHeader()),e.appendChild(this.el("div","Connecting...",{class:"view-title"}));const r=this.el("div","",{class:"status-view"});return r.appendChild(this.el("div","",{class:"spinner"})),r.appendChild(this.el("h3","Connecting to "+(this.selectedEntry?.name||"")+"...")),r.appendChild(this.el("p",this.selectedEntry?.type==="remote"?"Approve the connection in the wallet popup":"Approve the connection in your extension")),e.appendChild(r),e}renderConnected(){const e=this.el("div","",{class:"view-container"});e.appendChild(this.renderHeader()),e.appendChild(this.el("div","Connected",{class:"view-title"}));const r=this.el("div","",{class:"status-view"}),o=this.el("div","",{class:"success-icon"});return o.innerHTML='<svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg>',r.appendChild(o),r.appendChild(this.el("h3","Connected to "+(this.selectedEntry?.name||"wallet"))),e.appendChild(r),e}renderError(){const e=this.el("div","",{class:"view-container"});e.appendChild(this.renderHeader()),e.appendChild(this.el("div","Connection Failed",{class:"view-title"}));const r=this.el("div","",{class:"status-view"}),o=this.el("div","",{class:"error-icon"});o.innerHTML='<svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><line x1="12" x2="12" y1="8" y2="12"/><line x1="12" x2="12.01" y1="16" y2="16"/></svg>',r.appendChild(o),r.appendChild(this.el("h3","Failed to connect")),r.appendChild(this.el("p",this.errorMessage||"An unexpected error occurred"));const n=this.el("div","",{class:"btn-row"}),i=this.el("button","Try Again",{class:"btn-primary"});i.addEventListener("click",()=>{this.state="list",this.selectedEntry=null,this.errorMessage="",this.render()});const a=this.el("button","Cancel",{class:"btn-secondary"});return a.addEventListener("click",()=>window.close()),n.append(i,a),r.appendChild(n),e.appendChild(r),e}render(){let e;switch(this.state){case"connecting":e=this.renderConnecting();break;case"connected":e=this.renderConnected();break;case"error":e=this.renderError();break;default:e=this.renderList()}this.shadowRoot&&(Array.from(this.shadowRoot.childNodes).forEach(r=>{r instanceof HTMLStyleElement||this.shadowRoot.removeChild(r)}),this.shadowRoot.appendChild(e))}connectedCallback(){this.render()}el(e,r,o={}){const n=document.createElement(e);r&&(n.innerText=r);for(const[i,a]of Object.entries(o))n.setAttribute(i,a);return n}};Si.styles=fl;let hl=Si;customElements.define("swk-wallet-picker",hl);const vl=f`
|
|
578
|
-
<svg
|
|
579
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
580
|
-
width="16"
|
|
581
|
-
height="16"
|
|
582
|
-
fill="currentColor"
|
|
583
|
-
class="bi bi-eye-fill"
|
|
584
|
-
viewBox="0 0 16 16"
|
|
585
|
-
>
|
|
586
|
-
<path d="M10.5 8a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0" />
|
|
587
|
-
<path
|
|
588
|
-
d="M0 8s3-5.5 8-5.5S16 8 16 8s-3 5.5-8 5.5S0 8 0 8m8 3.5a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7"
|
|
589
|
-
/>
|
|
590
|
-
</svg>
|
|
591
|
-
`,wl=f`
|
|
592
|
-
<svg
|
|
593
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
594
|
-
width="16"
|
|
595
|
-
height="16"
|
|
596
|
-
fill="currentColor"
|
|
597
|
-
class="bi bi-eye-slash"
|
|
598
|
-
viewBox="0 0 16 16"
|
|
599
|
-
>
|
|
600
|
-
<path
|
|
601
|
-
d="M13.359 11.238C15.06 9.72 16 8 16 8s-3-5.5-8-5.5a7 7 0 0 0-2.79.588l.77.771A6 6 0 0 1 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13 13 0 0 1 14.828 8q-.086.13-.195.288c-.335.48-.83 1.12-1.465 1.755q-.247.248-.517.486z"
|
|
602
|
-
/>
|
|
603
|
-
<path
|
|
604
|
-
d="M11.297 9.176a3.5 3.5 0 0 0-4.474-4.474l.823.823a2.5 2.5 0 0 1 2.829 2.829zm-2.943 1.299.822.822a3.5 3.5 0 0 1-4.474-4.474l.823.823a2.5 2.5 0 0 0 2.829 2.829"
|
|
605
|
-
/>
|
|
606
|
-
<path
|
|
607
|
-
d="M3.35 5.47q-.27.24-.518.487A13 13 0 0 0 1.172 8l.195.288c.335.48.83 1.12 1.465 1.755C4.121 11.332 5.881 12.5 8 12.5c.716 0 1.39-.133 2.02-.36l.77.772A7 7 0 0 1 8 13.5C3 13.5 0 8 0 8s.939-1.721 2.641-3.238l.708.709zm10.296 8.884-12-12 .708-.708 12 12z"
|
|
608
|
-
/>
|
|
609
|
-
</svg>
|
|
610
|
-
`;f` <svg
|
|
611
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
612
|
-
width="16"
|
|
613
|
-
height="16"
|
|
614
|
-
fill="currentColor"
|
|
615
|
-
class="bi bi-info-circle-fill"
|
|
616
|
-
viewBox="0 0 16 16"
|
|
617
|
-
>
|
|
618
|
-
<path
|
|
619
|
-
d="M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16m.93-9.412-1 4.705c-.07.34.029.533.304.533.194 0 .487-.07.686-.246l-.088.416c-.287.346-.92.598-1.465.598-.703 0-1.002-.422-.808-1.319l.738-3.468c.064-.293.006-.399-.287-.47l-.451-.081.082-.381 2.29-.287zM8 5.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2"
|
|
620
|
-
/>
|
|
621
|
-
</svg>`;var xl=Object.defineProperty,yl=Object.getOwnPropertyDescriptor,Ct=(t,e,r,o)=>{for(var n=o>1?void 0:o?yl(e,r):e,i=t.length-1,a;i>=0;i--)(a=t[i])&&(n=(o?a(e,r,n):a(n))||n);return o&&n&&xl(e,r,n),n};class kl extends Event{constructor(e){super("form-input-change",{bubbles:!0,composed:!0}),this.value=e}}let dt=class extends k{constructor(){super(...arguments),this.label="",this.value="",this.text="",this.required=!1,this.hideable=!1,this.hidden=!0}render(){return f`
|
|
622
|
-
<div class="mb-3">
|
|
623
|
-
<label for=${this.label}>${this.label}</label>
|
|
624
|
-
<div class="input-group">
|
|
625
|
-
${this.hideable?f`<button
|
|
626
|
-
class="btn btn-outline-secondary"
|
|
627
|
-
@click=${()=>this.hidden=!this.hidden}
|
|
628
|
-
type="button"
|
|
629
|
-
id="button-addon2"
|
|
630
|
-
>
|
|
631
|
-
${this.hidden?wl:vl}
|
|
632
|
-
</button>`:null}
|
|
633
|
-
<input
|
|
634
|
-
.value=${this.value}
|
|
635
|
-
?required=${this.required}
|
|
636
|
-
type=${this.hideable&&this.hidden?"password":"text"}
|
|
637
|
-
@change=${t=>{const e=t.target;this.value=e.value,this.dispatchEvent(new kl(this.value))}}
|
|
638
|
-
type="text"
|
|
639
|
-
class="form-control"
|
|
640
|
-
name=${this.label}
|
|
641
|
-
/>
|
|
642
|
-
</div>
|
|
643
|
-
${this.text?f`<div class="form-text">${this.text}</div>`:null}
|
|
644
|
-
</div>
|
|
645
|
-
`}};dt.styles=[k.styles];Ct([w({type:String})],dt.prototype,"label",2);Ct([w({type:String})],dt.prototype,"value",2);Ct([w({type:String})],dt.prototype,"text",2);Ct([w({type:Boolean})],dt.prototype,"required",2);Ct([w({type:Boolean})],dt.prototype,"hideable",2);Ct([w({type:Boolean})],dt.prototype,"hidden",2);dt=Ct([M("form-input")],dt);const Rr=K`
|
|
646
|
-
.network-card {
|
|
647
|
-
background: #fff;
|
|
648
|
-
border: none;
|
|
649
|
-
border-radius: 8px;
|
|
650
|
-
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
|
|
651
|
-
display: flex;
|
|
652
|
-
flex-direction: column;
|
|
653
|
-
gap: 0.5rem;
|
|
654
|
-
min-width: 0;
|
|
655
|
-
}
|
|
656
|
-
.network-meta {
|
|
657
|
-
color: var(--bs-gray-600);
|
|
658
|
-
margin-bottom: 0.5rem;
|
|
659
|
-
word-break: break-all;
|
|
660
|
-
}
|
|
661
|
-
.network-desc {
|
|
662
|
-
color: var(--bs-gray-700);
|
|
663
|
-
margin-bottom: 0.5rem;
|
|
664
|
-
word-break: break-all;
|
|
665
|
-
}
|
|
666
|
-
`;var _l=Object.defineProperty,zl=Object.getOwnPropertyDescriptor,Oo=(t,e,r,o)=>{for(var n=o>1?void 0:o?zl(e,r):e,i=t.length-1,a;i>=0;i--)(a=t[i])&&(n=(o?a(e,r,n):a(n))||n);return o&&n&&_l(e,r,n),n};class Al extends Event{constructor(e){super("delete",{bubbles:!0,composed:!0}),this.idp=e}}class Sl extends Event{constructor(){super("update",{bubbles:!0,composed:!0})}}let _e=class extends k{constructor(){super(...arguments),this.idp=null,this.readonly=!1}render(){let t=f`<p>no idp supplied</p>`;return this.idp!==null&&(t=f` <h6 class="card-title text-primary fw-bold">
|
|
667
|
-
${this.idp.id}
|
|
668
|
-
</h6>
|
|
669
|
-
<div class="network-meta">
|
|
670
|
-
<strong>Type:</strong> ${this.idp.type}<br />
|
|
671
|
-
<strong>Issuer:</strong>
|
|
672
|
-
${this.idp.issuer}<br />
|
|
673
|
-
${"configUrl"in this.idp?f`
|
|
674
|
-
<strong>Config URL:</strong> ${this.idp.configUrl}
|
|
675
|
-
`:""}
|
|
676
|
-
<br />
|
|
677
|
-
</div>
|
|
678
|
-
${this.readonly?"":f`<div>
|
|
679
|
-
<button
|
|
680
|
-
class="btn btn-sm btn-secondary"
|
|
681
|
-
@click=${()=>this.dispatchEvent(new Sl)}
|
|
682
|
-
>
|
|
683
|
-
Update
|
|
684
|
-
</button>
|
|
685
|
-
<button
|
|
686
|
-
class="btn btn-sm btn-danger"
|
|
687
|
-
@click=${()=>this.dispatchEvent(new Al(this.idp))}
|
|
688
|
-
>
|
|
689
|
-
Delete
|
|
690
|
-
</button>
|
|
691
|
-
</div>`}`),f`<div class="col card network-card">
|
|
692
|
-
<div class="card-body">${t}</div>
|
|
693
|
-
</div>`}};_e.styles=[k.styles,Rr];Oo([w({type:Object})],_e.prototype,"idp",2);Oo([w({type:Boolean})],_e.prototype,"readonly",2);_e=Oo([M("idp-card")],_e);const $i=K`
|
|
694
|
-
.modal {
|
|
695
|
-
position: fixed;
|
|
696
|
-
top: 0;
|
|
697
|
-
left: 0;
|
|
698
|
-
right: 0;
|
|
699
|
-
bottom: 0;
|
|
700
|
-
background: rgba(0, 0, 0, 0.25);
|
|
701
|
-
display: flex;
|
|
702
|
-
align-items: center;
|
|
703
|
-
justify-content: center;
|
|
704
|
-
z-index: 1000;
|
|
705
|
-
}
|
|
706
|
-
.modal-content {
|
|
707
|
-
background: #fff;
|
|
708
|
-
padding: 2rem;
|
|
709
|
-
border-radius: 8px;
|
|
710
|
-
min-width: 300px;
|
|
711
|
-
max-width: 95vw;
|
|
712
|
-
max-height: 75vh;
|
|
713
|
-
overflow-y: scroll;
|
|
714
|
-
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);
|
|
715
|
-
}
|
|
716
|
-
@media (max-width: 600px) {
|
|
717
|
-
.modal-content {
|
|
718
|
-
padding: 1rem;
|
|
719
|
-
min-width: unset;
|
|
720
|
-
}
|
|
721
|
-
}
|
|
722
|
-
@media (max-width: 400px) {
|
|
723
|
-
.modal-content {
|
|
724
|
-
padding: 0.5rem;
|
|
725
|
-
}
|
|
726
|
-
}
|
|
727
|
-
`;var $l=Object.defineProperty,El=Object.getOwnPropertyDescriptor,Ei=t=>{throw TypeError(t)},Oe=(t,e,r,o)=>{for(var n=o>1?void 0:o?El(e,r):e,i=t.length-1,a;i>=0;i--)(a=t[i])&&(n=(o?a(e,r,n):a(n))||n);return o&&n&&$l(e,r,n),n},Oi=(t,e,r)=>e.has(t)||Ei("Cannot "+r),Te=(t,e,r)=>(Oi(t,e,"read from private field"),r?r.call(t):e.get(t)),Ce=(t,e,r)=>e.has(t)?Ei("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),Ne=(t,e,r,o)=>(Oi(t,e,"write to private field"),e.set(t,r),r),qe,Xe,Ke,Qe;class Ol extends Event{constructor(e){super("idp-add",{bubbles:!0,composed:!0}),this.idp=e}}let Ot=class extends k{constructor(){super(...arguments),Ce(this,qe,[]),Ce(this,Xe,!1),Ce(this,Ke,!1),Ce(this,Qe,{id:"",type:"oauth",issuer:"",configUrl:""}),this.openAddModal=()=>{this.isModalOpen=!0,this.modalIdp={id:"",type:"oauth",issuer:"",configUrl:""}},this.closeModal=()=>{this.isModalOpen=!1}}get idps(){return Te(this,qe)}set idps(t){Ne(this,qe,t)}get readonly(){return Te(this,Xe)}set readonly(t){Ne(this,Xe,t)}get isModalOpen(){return Te(this,Ke)}set isModalOpen(t){Ne(this,Ke,t)}get modalIdp(){return Te(this,Qe)}set modalIdp(t){Ne(this,Qe,t)}connectedCallback(){super.connectedCallback()}render(){return f`
|
|
728
|
-
<div class="mb-5">
|
|
729
|
-
<div class="header">
|
|
730
|
-
<h1>Identity Providers</h1>
|
|
731
|
-
</div>
|
|
732
|
-
|
|
733
|
-
${this.readonly?"":f`<button
|
|
734
|
-
class="btn btn-primary"
|
|
735
|
-
@click=${this.openAddModal}
|
|
736
|
-
>
|
|
737
|
-
Add Identity Provider
|
|
738
|
-
</button>`}
|
|
739
|
-
|
|
740
|
-
<div class="mt-4">
|
|
741
|
-
${this.idps.map(t=>f`<div class="mb-2">
|
|
742
|
-
<idp-card
|
|
743
|
-
.idp=${t}
|
|
744
|
-
.readonly=${this.readonly}
|
|
745
|
-
@update=${e=>{this.modalIdp=t,this.isModalOpen=!0,e.stopPropagation()}}
|
|
746
|
-
></idp-card>
|
|
747
|
-
</div>`)}
|
|
748
|
-
</div>
|
|
749
|
-
|
|
750
|
-
${this.isModalOpen?f`
|
|
751
|
-
<div class="modal" @click=${this.closeModal}>
|
|
752
|
-
<div
|
|
753
|
-
class="modal-content"
|
|
754
|
-
@click=${t=>t.stopPropagation()}
|
|
755
|
-
>
|
|
756
|
-
<h3>
|
|
757
|
-
${this.modalIdp?"Edit Identity Provider":"Add Identity Provider"}
|
|
758
|
-
</h3>
|
|
759
|
-
|
|
760
|
-
<form
|
|
761
|
-
@submit=${t=>{t.preventDefault(),this.dispatchEvent(new Ol(this.modalIdp)),this.closeModal()}}
|
|
762
|
-
>
|
|
763
|
-
<form-input
|
|
764
|
-
label="ID"
|
|
765
|
-
@form-input-change=${t=>{this.modalIdp.id=t.value}}
|
|
766
|
-
.value=${this.modalIdp.id}
|
|
767
|
-
required
|
|
768
|
-
></form-input>
|
|
769
|
-
|
|
770
|
-
<label for="idp-type">Type</label>
|
|
771
|
-
<select
|
|
772
|
-
id="idp-type"
|
|
773
|
-
class="form-select mb-3"
|
|
774
|
-
@change=${t=>{const e=t.target;this.modalIdp.type=e.value,this.modalIdp.type!=="oauth"&&delete this.modalIdp.configUrl,this.requestUpdate()}}
|
|
775
|
-
.value=${this.modalIdp.type}
|
|
776
|
-
>
|
|
777
|
-
<option value="oauth">oauth</option>
|
|
778
|
-
<option value="self_signed">
|
|
779
|
-
self_signed
|
|
780
|
-
</option>
|
|
781
|
-
</select>
|
|
782
|
-
|
|
783
|
-
<form-input
|
|
784
|
-
label="Issuer"
|
|
785
|
-
@form-input-change=${t=>{this.modalIdp.issuer=t.value}}
|
|
786
|
-
.value=${this.modalIdp.issuer}
|
|
787
|
-
required
|
|
788
|
-
></form-input>
|
|
789
|
-
|
|
790
|
-
${this.modalIdp.type==="oauth"?f`<form-input
|
|
791
|
-
label="Config URL"
|
|
792
|
-
@form-input-change=${t=>{this.modalIdp.configUrl=t.value}}
|
|
793
|
-
.value=${this.modalIdp.configUrl||""}
|
|
794
|
-
></form-input>`:""}
|
|
795
|
-
|
|
796
|
-
<div>
|
|
797
|
-
<button
|
|
798
|
-
class="btn btn-primary btn-sm"
|
|
799
|
-
type="submit"
|
|
800
|
-
>
|
|
801
|
-
Save
|
|
802
|
-
</button>
|
|
803
|
-
|
|
804
|
-
<button
|
|
805
|
-
class="btn btn-secondary btn-sm"
|
|
806
|
-
@click=${()=>this.closeModal()}
|
|
807
|
-
>
|
|
808
|
-
Cancel
|
|
809
|
-
</button>
|
|
810
|
-
</div>
|
|
811
|
-
</form>
|
|
812
|
-
</div>
|
|
813
|
-
</div>
|
|
814
|
-
`:""}
|
|
815
|
-
</div>
|
|
816
|
-
`}};qe=new WeakMap;Xe=new WeakMap;Ke=new WeakMap;Qe=new WeakMap;Ot.styles=[k.styles,$i];Oe([w({type:Array})],Ot.prototype,"idps",1);Oe([w({type:Boolean})],Ot.prototype,"readonly",1);Oe([G()],Ot.prototype,"isModalOpen",1);Oe([G()],Ot.prototype,"modalIdp",1);Ot=Oe([M("wg-idps")],Ot);var Il=Object.defineProperty,jl=Object.getOwnPropertyDescriptor,Dr=(t,e,r,o)=>{for(var n=o>1?void 0:o?jl(e,r):e,i=t.length-1,a;i>=0;i--)(a=t[i])&&(n=(o?a(e,r,n):a(n))||n);return o&&n&&Il(e,r,n),n};let ee=class extends k{constructor(){super(...arguments),this.networks=[],this.activeSessions=[],this.readonly=!1}render(){return f`
|
|
817
|
-
<div class="container p-0 m-0">
|
|
818
|
-
<div
|
|
819
|
-
class="row row-cols-1 row-cols-md-2 row-cols-lg-3 g-md-2 g-lg-2 g-0"
|
|
820
|
-
>
|
|
821
|
-
${this.networks.map(t=>{const e=this.activeSessions.some(r=>r.network.id===t.id);return f`
|
|
822
|
-
<network-card
|
|
823
|
-
.network=${t}
|
|
824
|
-
.activeSession=${e}
|
|
825
|
-
.readonly=${this.readonly}
|
|
826
|
-
></network-card>
|
|
827
|
-
`})}
|
|
828
|
-
</div>
|
|
829
|
-
</div>
|
|
830
|
-
`}};ee.styles=[k.styles];Dr([w({type:Array})],ee.prototype,"networks",2);Dr([w({type:Array})],ee.prototype,"activeSessions",2);Dr([w({type:Boolean})],ee.prototype,"readonly",2);ee=Dr([M("network-table")],ee);var Pl=Object.defineProperty,Tl=Object.getOwnPropertyDescriptor,Ie=(t,e,r,o)=>{for(var n=o>1?void 0:o?Tl(e,r):e,i=t.length-1,a;i>=0;i--)(a=t[i])&&(n=(o?a(e,r,n):a(n))||n);return o&&n&&Pl(e,r,n),n};class Cl extends Event{constructor(e){super("delete",{bubbles:!0,composed:!0}),this.network=e}}let It=class extends k{constructor(){super(...arguments),this.network=null,this.activeSession=!1,this.readonly=!1,this._editing=!1}render(){let t=f`<p>no network supplied</p>`;return this.network!==null&&(this._editing?t=f` <network-form
|
|
831
|
-
.network=${this.network}
|
|
832
|
-
@network-edit-cancel=${()=>this._editing=!1}
|
|
833
|
-
@network-edit-save=${()=>this._editing=!1}
|
|
834
|
-
></network-form>`:t=f` <h6 class="card-title text-primary fw-bold">
|
|
835
|
-
${this.network.name}
|
|
836
|
-
${this.activeSession?f`<span class="badge bg-success ms-2"
|
|
837
|
-
>Active</span
|
|
838
|
-
>`:""}
|
|
839
|
-
</h6>
|
|
840
|
-
<div class="network-meta">
|
|
841
|
-
<strong>ID:</strong>
|
|
842
|
-
${this.network.id}<br />
|
|
843
|
-
<strong>Auth:</strong> ${this.network.auth.method}<br />
|
|
844
|
-
<strong>Synchronizer:</strong>
|
|
845
|
-
${this.network.synchronizerId}
|
|
846
|
-
</div>
|
|
847
|
-
<div class="network-desc">${this.network.description}</div>
|
|
848
|
-
${this.readonly?"":f`<div>
|
|
849
|
-
<button
|
|
850
|
-
class="btn btn-sm btn-secondary"
|
|
851
|
-
@click=${()=>this._editing=!0}
|
|
852
|
-
>
|
|
853
|
-
Update
|
|
854
|
-
</button>
|
|
855
|
-
<button
|
|
856
|
-
class="btn btn-sm btn-danger"
|
|
857
|
-
@click=${()=>this.dispatchEvent(new Cl(this.network))}
|
|
858
|
-
>
|
|
859
|
-
Delete
|
|
860
|
-
</button>
|
|
861
|
-
</div>`}`),f`<div class="col card network-card">
|
|
862
|
-
<div class="card-body">${t}</div>
|
|
863
|
-
</div>`}};It.styles=[k.styles,Rr];Ie([w({type:Object})],It.prototype,"network",2);Ie([w({type:Boolean})],It.prototype,"activeSession",2);Ie([w({type:Boolean})],It.prototype,"readonly",2);Ie([G()],It.prototype,"_editing",2);It=Ie([M("network-card")],It);function b(t,e,r){function o(s,l){if(s._zod||Object.defineProperty(s,"_zod",{value:{def:l,constr:a,traits:new Set},enumerable:!1}),s._zod.traits.has(t))return;s._zod.traits.add(t),e(s,l);const d=a.prototype,c=Object.keys(d);for(let p=0;p<c.length;p++){const u=c[p];u in s||(s[u]=d[u].bind(s))}}const n=r?.Parent??Object;class i extends n{}Object.defineProperty(i,"name",{value:t});function a(s){var l;const d=r?.Parent?new i:this;o(d,s),(l=d._zod).deferred??(l.deferred=[]);for(const c of d._zod.deferred)c();return d}return Object.defineProperty(a,"init",{value:o}),Object.defineProperty(a,Symbol.hasInstance,{value:s=>r?.Parent&&s instanceof r.Parent?!0:s?._zod?.traits?.has(t)}),Object.defineProperty(a,"name",{value:t}),a}class Wt extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class Ii extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}}const ji={};function ht(t){return ji}function Pi(t){const e=Object.values(t).filter(r=>typeof r=="number");return Object.entries(t).filter(([r,o])=>e.indexOf(+r)===-1).map(([r,o])=>o)}function io(t,e){return typeof e=="bigint"?e.toString():e}function Ur(t){return{get value(){{const e=t();return Object.defineProperty(this,"value",{value:e}),e}}}}function Io(t){return t==null}function jo(t){const e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}function Nl(t,e){const r=(t.toString().split(".")[1]||"").length,o=e.toString();let n=(o.split(".")[1]||"").length;if(n===0&&/\d?e-\d?/.test(o)){const l=o.match(/\d?e-(\d?)/);l?.[1]&&(n=Number.parseInt(l[1]))}const i=r>n?r:n,a=Number.parseInt(t.toFixed(i).replace(".","")),s=Number.parseInt(e.toFixed(i).replace(".",""));return a%s/10**i}const wn=Symbol("evaluating");function _(t,e,r){let o;Object.defineProperty(t,e,{get(){if(o!==wn)return o===void 0&&(o=wn,o=r()),o},set(n){Object.defineProperty(t,e,{value:n})},configurable:!0})}function Nt(t,e,r){Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function yt(...t){const e={};for(const r of t){const o=Object.getOwnPropertyDescriptors(r);Object.assign(e,o)}return Object.defineProperties({},e)}function xn(t){return JSON.stringify(t)}function Zl(t){return t.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const Ti="captureStackTrace"in Error?Error.captureStackTrace:(...t)=>{};function ze(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}const Rl=Ur(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const t=Function;return new t(""),!0}catch{return!1}});function re(t){if(ze(t)===!1)return!1;const e=t.constructor;if(e===void 0||typeof e!="function")return!0;const r=e.prototype;return!(ze(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function Ci(t){return re(t)?{...t}:Array.isArray(t)?[...t]:t}const Dl=new Set(["string","number","symbol"]);function oe(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function kt(t,e,r){const o=new t._zod.constr(e??t._zod.def);return(!e||r?.parent)&&(o._zod.parent=t),o}function v(t){const e=t;if(!e)return{};if(typeof e=="string")return{error:()=>e};if(e?.message!==void 0){if(e?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,typeof e.error=="string"?{...e,error:()=>e.error}:e}function Ul(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}const Ml={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Bl(t,e){const r=t._zod.def,o=r.checks;if(o&&o.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const n=yt(t._zod.def,{get shape(){const i={};for(const a in e){if(!(a in r.shape))throw new Error(`Unrecognized key: "${a}"`);e[a]&&(i[a]=r.shape[a])}return Nt(this,"shape",i),i},checks:[]});return kt(t,n)}function Ll(t,e){const r=t._zod.def,o=r.checks;if(o&&o.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const n=yt(t._zod.def,{get shape(){const i={...t._zod.def.shape};for(const a in e){if(!(a in r.shape))throw new Error(`Unrecognized key: "${a}"`);e[a]&&delete i[a]}return Nt(this,"shape",i),i},checks:[]});return kt(t,n)}function Fl(t,e){if(!re(e))throw new Error("Invalid input to extend: expected a plain object");const r=t._zod.def.checks;if(r&&r.length>0){const n=t._zod.def.shape;for(const i in e)if(Object.getOwnPropertyDescriptor(n,i)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const o=yt(t._zod.def,{get shape(){const n={...t._zod.def.shape,...e};return Nt(this,"shape",n),n}});return kt(t,o)}function Gl(t,e){if(!re(e))throw new Error("Invalid input to safeExtend: expected a plain object");const r=yt(t._zod.def,{get shape(){const o={...t._zod.def.shape,...e};return Nt(this,"shape",o),o}});return kt(t,r)}function Jl(t,e){const r=yt(t._zod.def,{get shape(){const o={...t._zod.def.shape,...e._zod.def.shape};return Nt(this,"shape",o),o},get catchall(){return e._zod.def.catchall},checks:[]});return kt(t,r)}function Yl(t,e,r){const o=e._zod.def.checks;if(o&&o.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");const n=yt(e._zod.def,{get shape(){const i=e._zod.def.shape,a={...i};if(r)for(const s in r){if(!(s in i))throw new Error(`Unrecognized key: "${s}"`);r[s]&&(a[s]=t?new t({type:"optional",innerType:i[s]}):i[s])}else for(const s in i)a[s]=t?new t({type:"optional",innerType:i[s]}):i[s];return Nt(this,"shape",a),a},checks:[]});return kt(e,n)}function Hl(t,e,r){const o=yt(e._zod.def,{get shape(){const n=e._zod.def.shape,i={...n};if(r)for(const a in r){if(!(a in i))throw new Error(`Unrecognized key: "${a}"`);r[a]&&(i[a]=new t({type:"nonoptional",innerType:n[a]}))}else for(const a in n)i[a]=new t({type:"nonoptional",innerType:n[a]});return Nt(this,"shape",i),i}});return kt(e,o)}function Jt(t,e=0){if(t.aborted===!0)return!0;for(let r=e;r<t.issues.length;r++)if(t.issues[r]?.continue!==!0)return!0;return!1}function Yt(t,e){return e.map(r=>{var o;return(o=r).path??(o.path=[]),r.path.unshift(t),r})}function Ze(t){return typeof t=="string"?t:t?.message}function vt(t,e,r){const o={...t,path:t.path??[]};if(!t.message){const n=Ze(t.inst?._zod.def?.error?.(t))??Ze(e?.error?.(t))??Ze(r.customError?.(t))??Ze(r.localeError?.(t))??"Invalid input";o.message=n}return delete o.inst,delete o.continue,e?.reportInput||delete o.input,o}function Po(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}function Ae(...t){const[e,r,o]=t;return typeof e=="string"?{message:e,code:"custom",input:r,inst:o}:{...e}}const Ni=(t,e)=>{t.name="$ZodError",Object.defineProperty(t,"_zod",{value:t._zod,enumerable:!1}),Object.defineProperty(t,"issues",{value:e,enumerable:!1}),t.message=JSON.stringify(e,io,2),Object.defineProperty(t,"toString",{value:()=>t.message,enumerable:!1})},Zi=b("$ZodError",Ni),Ri=b("$ZodError",Ni,{Parent:Error});function Vl(t,e=r=>r.message){const r={},o=[];for(const n of t.issues)n.path.length>0?(r[n.path[0]]=r[n.path[0]]||[],r[n.path[0]].push(e(n))):o.push(e(n));return{formErrors:o,fieldErrors:r}}function Wl(t,e=r=>r.message){const r={_errors:[]},o=n=>{for(const i of n.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(a=>o({issues:a}));else if(i.code==="invalid_key")o({issues:i.issues});else if(i.code==="invalid_element")o({issues:i.issues});else if(i.path.length===0)r._errors.push(e(i));else{let a=r,s=0;for(;s<i.path.length;){const l=i.path[s];s===i.path.length-1?(a[l]=a[l]||{_errors:[]},a[l]._errors.push(e(i))):a[l]=a[l]||{_errors:[]},a=a[l],s++}}};return o(t),r}const To=t=>(e,r,o,n)=>{const i=o?Object.assign(o,{async:!1}):{async:!1},a=e._zod.run({value:r,issues:[]},i);if(a instanceof Promise)throw new Wt;if(a.issues.length){const s=new(n?.Err??t)(a.issues.map(l=>vt(l,i,ht())));throw Ti(s,n?.callee),s}return a.value},Co=t=>async(e,r,o,n)=>{const i=o?Object.assign(o,{async:!0}):{async:!0};let a=e._zod.run({value:r,issues:[]},i);if(a instanceof Promise&&(a=await a),a.issues.length){const s=new(n?.Err??t)(a.issues.map(l=>vt(l,i,ht())));throw Ti(s,n?.callee),s}return a.value},Mr=t=>(e,r,o)=>{const n=o?{...o,async:!1}:{async:!1},i=e._zod.run({value:r,issues:[]},n);if(i instanceof Promise)throw new Wt;return i.issues.length?{success:!1,error:new(t??Zi)(i.issues.map(a=>vt(a,n,ht())))}:{success:!0,data:i.value}},ql=Mr(Ri),Br=t=>async(e,r,o)=>{const n=o?Object.assign(o,{async:!0}):{async:!0};let i=e._zod.run({value:r,issues:[]},n);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new t(i.issues.map(a=>vt(a,n,ht())))}:{success:!0,data:i.value}},Xl=Br(Ri),Kl=t=>(e,r,o)=>{const n=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return To(t)(e,r,n)},Ql=t=>(e,r,o)=>To(t)(e,r,o),td=t=>async(e,r,o)=>{const n=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return Co(t)(e,r,n)},ed=t=>async(e,r,o)=>Co(t)(e,r,o),rd=t=>(e,r,o)=>{const n=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return Mr(t)(e,r,n)},od=t=>(e,r,o)=>Mr(t)(e,r,o),nd=t=>async(e,r,o)=>{const n=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return Br(t)(e,r,n)},id=t=>async(e,r,o)=>Br(t)(e,r,o),ad=/^[cC][^\s-]{8,}$/,sd=/^[0-9a-z]+$/,ld=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,dd=/^[0-9a-vA-V]{20}$/,cd=/^[A-Za-z0-9]{27}$/,pd=/^[a-zA-Z0-9_-]{21}$/,md=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,bd=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,yn=t=>t?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${t}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,ud=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,gd="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function fd(){return new RegExp(gd,"u")}const hd=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,vd=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,wd=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,xd=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,yd=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Di=/^[A-Za-z0-9_-]*$/,kd=/^\+[1-9]\d{6,14}$/,Ui="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",_d=new RegExp(`^${Ui}$`);function Mi(t){const e="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof t.precision=="number"?t.precision===-1?`${e}`:t.precision===0?`${e}:[0-5]\\d`:`${e}:[0-5]\\d\\.\\d{${t.precision}}`:`${e}(?::[0-5]\\d(?:\\.\\d+)?)?`}function zd(t){return new RegExp(`^${Mi(t)}$`)}function Ad(t){const e=Mi({precision:t.precision}),r=["Z"];t.local&&r.push(""),t.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const o=`${e}(?:${r.join("|")})`;return new RegExp(`^${Ui}T(?:${o})$`)}const Sd=t=>{const e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)},$d=/^-?\d+$/,Bi=/^-?\d+(?:\.\d+)?$/,Ed=/^(?:true|false)$/i,Od=/^null$/i,Id=/^undefined$/i,jd=/^[^A-Z]*$/,Pd=/^[^a-z]*$/,W=b("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),Li={number:"number",bigint:"bigint",object:"date"},Fi=b("$ZodCheckLessThan",(t,e)=>{W.init(t,e);const r=Li[typeof e.value];t._zod.onattach.push(o=>{const n=o._zod.bag,i=(e.inclusive?n.maximum:n.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value<i&&(e.inclusive?n.maximum=e.value:n.exclusiveMaximum=e.value)}),t._zod.check=o=>{(e.inclusive?o.value<=e.value:o.value<e.value)||o.issues.push({origin:r,code:"too_big",maximum:typeof e.value=="object"?e.value.getTime():e.value,input:o.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),Gi=b("$ZodCheckGreaterThan",(t,e)=>{W.init(t,e);const r=Li[typeof e.value];t._zod.onattach.push(o=>{const n=o._zod.bag,i=(e.inclusive?n.minimum:n.exclusiveMinimum)??Number.NEGATIVE_INFINITY;e.value>i&&(e.inclusive?n.minimum=e.value:n.exclusiveMinimum=e.value)}),t._zod.check=o=>{(e.inclusive?o.value>=e.value:o.value>e.value)||o.issues.push({origin:r,code:"too_small",minimum:typeof e.value=="object"?e.value.getTime():e.value,input:o.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),Td=b("$ZodCheckMultipleOf",(t,e)=>{W.init(t,e),t._zod.onattach.push(r=>{var o;(o=r._zod.bag).multipleOf??(o.multipleOf=e.value)}),t._zod.check=r=>{if(typeof r.value!=typeof e.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%e.value===BigInt(0):Nl(r.value,e.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:e.value,input:r.value,inst:t,continue:!e.abort})}}),Cd=b("$ZodCheckNumberFormat",(t,e)=>{W.init(t,e),e.format=e.format||"float64";const r=e.format?.includes("int"),o=r?"int":"number",[n,i]=Ml[e.format];t._zod.onattach.push(a=>{const s=a._zod.bag;s.format=e.format,s.minimum=n,s.maximum=i,r&&(s.pattern=$d)}),t._zod.check=a=>{const s=a.value;if(r){if(!Number.isInteger(s)){a.issues.push({expected:o,format:e.format,code:"invalid_type",continue:!1,input:s,inst:t});return}if(!Number.isSafeInteger(s)){s>0?a.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:o,inclusive:!0,continue:!e.abort}):a.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:o,inclusive:!0,continue:!e.abort});return}}s<n&&a.issues.push({origin:"number",input:s,code:"too_small",minimum:n,inclusive:!0,inst:t,continue:!e.abort}),s>i&&a.issues.push({origin:"number",input:s,code:"too_big",maximum:i,inclusive:!0,inst:t,continue:!e.abort})}}),Nd=b("$ZodCheckMaxLength",(t,e)=>{var r;W.init(t,e),(r=t._zod.def).when??(r.when=o=>{const n=o.value;return!Io(n)&&n.length!==void 0}),t._zod.onattach.push(o=>{const n=o._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum<n&&(o._zod.bag.maximum=e.maximum)}),t._zod.check=o=>{const n=o.value;if(n.length<=e.maximum)return;const i=Po(n);o.issues.push({origin:i,code:"too_big",maximum:e.maximum,inclusive:!0,input:n,inst:t,continue:!e.abort})}}),Zd=b("$ZodCheckMinLength",(t,e)=>{var r;W.init(t,e),(r=t._zod.def).when??(r.when=o=>{const n=o.value;return!Io(n)&&n.length!==void 0}),t._zod.onattach.push(o=>{const n=o._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>n&&(o._zod.bag.minimum=e.minimum)}),t._zod.check=o=>{const n=o.value;if(n.length>=e.minimum)return;const i=Po(n);o.issues.push({origin:i,code:"too_small",minimum:e.minimum,inclusive:!0,input:n,inst:t,continue:!e.abort})}}),Rd=b("$ZodCheckLengthEquals",(t,e)=>{var r;W.init(t,e),(r=t._zod.def).when??(r.when=o=>{const n=o.value;return!Io(n)&&n.length!==void 0}),t._zod.onattach.push(o=>{const n=o._zod.bag;n.minimum=e.length,n.maximum=e.length,n.length=e.length}),t._zod.check=o=>{const n=o.value,i=n.length;if(i===e.length)return;const a=Po(n),s=i>e.length;o.issues.push({origin:a,...s?{code:"too_big",maximum:e.length}:{code:"too_small",minimum:e.length},inclusive:!0,exact:!0,input:o.value,inst:t,continue:!e.abort})}}),Lr=b("$ZodCheckStringFormat",(t,e)=>{var r,o;W.init(t,e),t._zod.onattach.push(n=>{const i=n._zod.bag;i.format=e.format,e.pattern&&(i.patterns??(i.patterns=new Set),i.patterns.add(e.pattern))}),e.pattern?(r=t._zod).check??(r.check=n=>{e.pattern.lastIndex=0,!e.pattern.test(n.value)&&n.issues.push({origin:"string",code:"invalid_format",format:e.format,input:n.value,...e.pattern?{pattern:e.pattern.toString()}:{},inst:t,continue:!e.abort})}):(o=t._zod).check??(o.check=()=>{})}),Dd=b("$ZodCheckRegex",(t,e)=>{Lr.init(t,e),t._zod.check=r=>{e.pattern.lastIndex=0,!e.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:e.pattern.toString(),inst:t,continue:!e.abort})}}),Ud=b("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=jd),Lr.init(t,e)}),Md=b("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=Pd),Lr.init(t,e)}),Bd=b("$ZodCheckIncludes",(t,e)=>{W.init(t,e);const r=oe(e.includes),o=new RegExp(typeof e.position=="number"?`^.{${e.position}}${r}`:r);e.pattern=o,t._zod.onattach.push(n=>{const i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(o)}),t._zod.check=n=>{n.value.includes(e.includes,e.position)||n.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:e.includes,input:n.value,inst:t,continue:!e.abort})}}),Ld=b("$ZodCheckStartsWith",(t,e)=>{W.init(t,e);const r=new RegExp(`^${oe(e.prefix)}.*`);e.pattern??(e.pattern=r),t._zod.onattach.push(o=>{const n=o._zod.bag;n.patterns??(n.patterns=new Set),n.patterns.add(r)}),t._zod.check=o=>{o.value.startsWith(e.prefix)||o.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:e.prefix,input:o.value,inst:t,continue:!e.abort})}}),Fd=b("$ZodCheckEndsWith",(t,e)=>{W.init(t,e);const r=new RegExp(`.*${oe(e.suffix)}$`);e.pattern??(e.pattern=r),t._zod.onattach.push(o=>{const n=o._zod.bag;n.patterns??(n.patterns=new Set),n.patterns.add(r)}),t._zod.check=o=>{o.value.endsWith(e.suffix)||o.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:e.suffix,input:o.value,inst:t,continue:!e.abort})}}),Gd=b("$ZodCheckOverwrite",(t,e)=>{W.init(t,e),t._zod.check=r=>{r.value=e.tx(r.value)}});class Jd{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}const r=e.split(`
|
|
864
|
-
`).filter(i=>i),o=Math.min(...r.map(i=>i.length-i.trimStart().length)),n=r.map(i=>i.slice(o)).map(i=>" ".repeat(this.indent*2)+i);for(const i of n)this.content.push(i)}compile(){const e=Function,r=this?.args,o=[...(this?.content??[""]).map(n=>` ${n}`)];return new e(...r,o.join(`
|
|
865
|
-
`))}}const Yd={major:4,minor:3,patch:6},j=b("$ZodType",(t,e)=>{var r;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=Yd;const o=[...t._zod.def.checks??[]];t._zod.traits.has("$ZodCheck")&&o.unshift(t);for(const n of o)for(const i of n._zod.onattach)i(t);if(o.length===0)(r=t._zod).deferred??(r.deferred=[]),t._zod.deferred?.push(()=>{t._zod.run=t._zod.parse});else{const n=(a,s,l)=>{let d=Jt(a),c;for(const p of s){if(p._zod.def.when){if(!p._zod.def.when(a))continue}else if(d)continue;const u=a.issues.length,g=p._zod.check(a);if(g instanceof Promise&&l?.async===!1)throw new Wt;if(c||g instanceof Promise)c=(c??Promise.resolve()).then(async()=>{await g,a.issues.length!==u&&(d||(d=Jt(a,u)))});else{if(a.issues.length===u)continue;d||(d=Jt(a,u))}}return c?c.then(()=>a):a},i=(a,s,l)=>{if(Jt(a))return a.aborted=!0,a;const d=n(s,o,l);if(d instanceof Promise){if(l.async===!1)throw new Wt;return d.then(c=>t._zod.parse(c,l))}return t._zod.parse(d,l)};t._zod.run=(a,s)=>{if(s.skipChecks)return t._zod.parse(a,s);if(s.direction==="backward"){const d=t._zod.parse({value:a.value,issues:[]},{...s,skipChecks:!0});return d instanceof Promise?d.then(c=>i(c,a,s)):i(d,a,s)}const l=t._zod.parse(a,s);if(l instanceof Promise){if(s.async===!1)throw new Wt;return l.then(d=>n(d,o,s))}return n(l,o,s)}}_(t,"~standard",()=>({validate:n=>{try{const i=ql(t,n);return i.success?{value:i.data}:{issues:i.error?.issues}}catch{return Xl(t,n).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}))}),No=b("$ZodString",(t,e)=>{j.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??Sd(t._zod.bag),t._zod.parse=(r,o)=>{if(e.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:t}),r}}),T=b("$ZodStringFormat",(t,e)=>{Lr.init(t,e),No.init(t,e)}),Hd=b("$ZodGUID",(t,e)=>{e.pattern??(e.pattern=bd),T.init(t,e)}),Vd=b("$ZodUUID",(t,e)=>{if(e.version){const r={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[e.version];if(r===void 0)throw new Error(`Invalid UUID version: "${e.version}"`);e.pattern??(e.pattern=yn(r))}else e.pattern??(e.pattern=yn());T.init(t,e)}),Wd=b("$ZodEmail",(t,e)=>{e.pattern??(e.pattern=ud),T.init(t,e)}),qd=b("$ZodURL",(t,e)=>{T.init(t,e),t._zod.check=r=>{try{const o=r.value.trim(),n=new URL(o);e.hostname&&(e.hostname.lastIndex=0,e.hostname.test(n.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:e.hostname.source,input:r.value,inst:t,continue:!e.abort})),e.protocol&&(e.protocol.lastIndex=0,e.protocol.test(n.protocol.endsWith(":")?n.protocol.slice(0,-1):n.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:e.protocol.source,input:r.value,inst:t,continue:!e.abort})),e.normalize?r.value=n.href:r.value=o;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:t,continue:!e.abort})}}}),Xd=b("$ZodEmoji",(t,e)=>{e.pattern??(e.pattern=fd()),T.init(t,e)}),Kd=b("$ZodNanoID",(t,e)=>{e.pattern??(e.pattern=pd),T.init(t,e)}),Qd=b("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=ad),T.init(t,e)}),tc=b("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=sd),T.init(t,e)}),ec=b("$ZodULID",(t,e)=>{e.pattern??(e.pattern=ld),T.init(t,e)}),rc=b("$ZodXID",(t,e)=>{e.pattern??(e.pattern=dd),T.init(t,e)}),oc=b("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=cd),T.init(t,e)}),nc=b("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=Ad(e)),T.init(t,e)}),ic=b("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=_d),T.init(t,e)}),ac=b("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=zd(e)),T.init(t,e)}),sc=b("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=md),T.init(t,e)}),lc=b("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=hd),T.init(t,e),t._zod.bag.format="ipv4"}),dc=b("$ZodIPv6",(t,e)=>{e.pattern??(e.pattern=vd),T.init(t,e),t._zod.bag.format="ipv6",t._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:t,continue:!e.abort})}}}),cc=b("$ZodCIDRv4",(t,e)=>{e.pattern??(e.pattern=wd),T.init(t,e)}),pc=b("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=xd),T.init(t,e),t._zod.check=r=>{const o=r.value.split("/");try{if(o.length!==2)throw new Error;const[n,i]=o;if(!i)throw new Error;const a=Number(i);if(`${a}`!==i)throw new Error;if(a<0||a>128)throw new Error;new URL(`http://[${n}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:t,continue:!e.abort})}}});function Ji(t){if(t==="")return!0;if(t.length%4!==0)return!1;try{return atob(t),!0}catch{return!1}}const mc=b("$ZodBase64",(t,e)=>{e.pattern??(e.pattern=yd),T.init(t,e),t._zod.bag.contentEncoding="base64",t._zod.check=r=>{Ji(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:t,continue:!e.abort})}});function bc(t){if(!Di.test(t))return!1;const e=t.replace(/[-_]/g,o=>o==="-"?"+":"/"),r=e.padEnd(Math.ceil(e.length/4)*4,"=");return Ji(r)}const uc=b("$ZodBase64URL",(t,e)=>{e.pattern??(e.pattern=Di),T.init(t,e),t._zod.bag.contentEncoding="base64url",t._zod.check=r=>{bc(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:t,continue:!e.abort})}}),gc=b("$ZodE164",(t,e)=>{e.pattern??(e.pattern=kd),T.init(t,e)});function fc(t,e=null){try{const r=t.split(".");if(r.length!==3)return!1;const[o]=r;if(!o)return!1;const n=JSON.parse(atob(o));return!("typ"in n&&n?.typ!=="JWT"||!n.alg||e&&(!("alg"in n)||n.alg!==e))}catch{return!1}}const hc=b("$ZodJWT",(t,e)=>{T.init(t,e),t._zod.check=r=>{fc(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:t,continue:!e.abort})}}),Yi=b("$ZodNumber",(t,e)=>{j.init(t,e),t._zod.pattern=t._zod.bag.pattern??Bi,t._zod.parse=(r,o)=>{if(e.coerce)try{r.value=Number(r.value)}catch{}const n=r.value;if(typeof n=="number"&&!Number.isNaN(n)&&Number.isFinite(n))return r;const i=typeof n=="number"?Number.isNaN(n)?"NaN":Number.isFinite(n)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:n,inst:t,...i?{received:i}:{}}),r}}),vc=b("$ZodNumberFormat",(t,e)=>{Cd.init(t,e),Yi.init(t,e)}),wc=b("$ZodBoolean",(t,e)=>{j.init(t,e),t._zod.pattern=Ed,t._zod.parse=(r,o)=>{if(e.coerce)try{r.value=!!r.value}catch{}const n=r.value;return typeof n=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:n,inst:t}),r}}),xc=b("$ZodUndefined",(t,e)=>{j.init(t,e),t._zod.pattern=Id,t._zod.values=new Set([void 0]),t._zod.optin="optional",t._zod.optout="optional",t._zod.parse=(r,o)=>{const n=r.value;return typeof n>"u"||r.issues.push({expected:"undefined",code:"invalid_type",input:n,inst:t}),r}}),yc=b("$ZodNull",(t,e)=>{j.init(t,e),t._zod.pattern=Od,t._zod.values=new Set([null]),t._zod.parse=(r,o)=>{const n=r.value;return n===null||r.issues.push({expected:"null",code:"invalid_type",input:n,inst:t}),r}}),kc=b("$ZodUnknown",(t,e)=>{j.init(t,e),t._zod.parse=r=>r}),_c=b("$ZodNever",(t,e)=>{j.init(t,e),t._zod.parse=(r,o)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:t}),r)});function kn(t,e,r){t.issues.length&&e.issues.push(...Yt(r,t.issues)),e.value[r]=t.value}const zc=b("$ZodArray",(t,e)=>{j.init(t,e),t._zod.parse=(r,o)=>{const n=r.value;if(!Array.isArray(n))return r.issues.push({expected:"array",code:"invalid_type",input:n,inst:t}),r;r.value=Array(n.length);const i=[];for(let a=0;a<n.length;a++){const s=n[a],l=e.element._zod.run({value:s,issues:[]},o);l instanceof Promise?i.push(l.then(d=>kn(d,r,a))):kn(l,r,a)}return i.length?Promise.all(i).then(()=>r):r}});function yr(t,e,r,o,n){if(t.issues.length){if(n&&!(r in o))return;e.issues.push(...Yt(r,t.issues))}t.value===void 0?r in o&&(e.value[r]=void 0):e.value[r]=t.value}function Hi(t){const e=Object.keys(t.shape);for(const o of e)if(!t.shape?.[o]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${o}": expected a Zod schema`);const r=Ul(t.shape);return{...t,keys:e,keySet:new Set(e),numKeys:e.length,optionalKeys:new Set(r)}}function Vi(t,e,r,o,n,i){const a=[],s=n.keySet,l=n.catchall._zod,d=l.def.type,c=l.optout==="optional";for(const p in e){if(s.has(p))continue;if(d==="never"){a.push(p);continue}const u=l.run({value:e[p],issues:[]},o);u instanceof Promise?t.push(u.then(g=>yr(g,r,p,e,c))):yr(u,r,p,e,c)}return a.length&&r.issues.push({code:"unrecognized_keys",keys:a,input:e,inst:i}),t.length?Promise.all(t).then(()=>r):r}const Ac=b("$ZodObject",(t,e)=>{if(j.init(t,e),!Object.getOwnPropertyDescriptor(e,"shape")?.get){const a=e.shape;Object.defineProperty(e,"shape",{get:()=>{const s={...a};return Object.defineProperty(e,"shape",{value:s}),s}})}const r=Ur(()=>Hi(e));_(t._zod,"propValues",()=>{const a=e.shape,s={};for(const l in a){const d=a[l]._zod;if(d.values){s[l]??(s[l]=new Set);for(const c of d.values)s[l].add(c)}}return s});const o=ze,n=e.catchall;let i;t._zod.parse=(a,s)=>{i??(i=r.value);const l=a.value;if(!o(l))return a.issues.push({expected:"object",code:"invalid_type",input:l,inst:t}),a;a.value={};const d=[],c=i.shape;for(const p of i.keys){const u=c[p],g=u._zod.optout==="optional",x=u._zod.run({value:l[p],issues:[]},s);x instanceof Promise?d.push(x.then(R=>yr(R,a,p,l,g))):yr(x,a,p,l,g)}return n?Vi(d,l,a,s,r.value,t):d.length?Promise.all(d).then(()=>a):a}}),Sc=b("$ZodObjectJIT",(t,e)=>{Ac.init(t,e);const r=t._zod.parse,o=Ur(()=>Hi(e)),n=p=>{const u=new Jd(["shape","payload","ctx"]),g=o.value,x=Q=>{const I=xn(Q);return`shape[${I}]._zod.run({ value: input[${I}], issues: [] }, ctx)`};u.write("const input = payload.value;");const R=Object.create(null);let Mt=0;for(const Q of g.keys)R[Q]=`key_${Mt++}`;u.write("const newResult = {};");for(const Q of g.keys){const I=R[Q],S=xn(Q),X=p[Q]?._zod?.optout==="optional";u.write(`const ${I} = ${x(Q)};`),X?u.write(`
|
|
866
|
-
if (${I}.issues.length) {
|
|
867
|
-
if (${S} in input) {
|
|
868
|
-
payload.issues = payload.issues.concat(${I}.issues.map(iss => ({
|
|
869
|
-
...iss,
|
|
870
|
-
path: iss.path ? [${S}, ...iss.path] : [${S}]
|
|
871
|
-
})));
|
|
872
|
-
}
|
|
873
|
-
}
|
|
874
|
-
|
|
875
|
-
if (${I}.value === undefined) {
|
|
876
|
-
if (${S} in input) {
|
|
877
|
-
newResult[${S}] = undefined;
|
|
878
|
-
}
|
|
879
|
-
} else {
|
|
880
|
-
newResult[${S}] = ${I}.value;
|
|
881
|
-
}
|
|
882
|
-
|
|
883
|
-
`):u.write(`
|
|
884
|
-
if (${I}.issues.length) {
|
|
885
|
-
payload.issues = payload.issues.concat(${I}.issues.map(iss => ({
|
|
886
|
-
...iss,
|
|
887
|
-
path: iss.path ? [${S}, ...iss.path] : [${S}]
|
|
888
|
-
})));
|
|
889
|
-
}
|
|
890
|
-
|
|
891
|
-
if (${I}.value === undefined) {
|
|
892
|
-
if (${S} in input) {
|
|
893
|
-
newResult[${S}] = undefined;
|
|
894
|
-
}
|
|
895
|
-
} else {
|
|
896
|
-
newResult[${S}] = ${I}.value;
|
|
897
|
-
}
|
|
898
|
-
|
|
899
|
-
`)}u.write("payload.value = newResult;"),u.write("return payload;");const Vr=u.compile();return(Q,I)=>Vr(p,Q,I)};let i;const a=ze,s=!ji.jitless,l=s&&Rl.value,d=e.catchall;let c;t._zod.parse=(p,u)=>{c??(c=o.value);const g=p.value;return a(g)?s&&l&&u?.async===!1&&u.jitless!==!0?(i||(i=n(e.shape)),p=i(p,u),d?Vi([],g,p,u,c,t):p):r(p,u):(p.issues.push({expected:"object",code:"invalid_type",input:g,inst:t}),p)}});function _n(t,e,r,o){for(const i of t)if(i.issues.length===0)return e.value=i.value,e;const n=t.filter(i=>!Jt(i));return n.length===1?(e.value=n[0].value,n[0]):(e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(i=>i.issues.map(a=>vt(a,o,ht())))}),e)}const Wi=b("$ZodUnion",(t,e)=>{j.init(t,e),_(t._zod,"optin",()=>e.options.some(n=>n._zod.optin==="optional")?"optional":void 0),_(t._zod,"optout",()=>e.options.some(n=>n._zod.optout==="optional")?"optional":void 0),_(t._zod,"values",()=>{if(e.options.every(n=>n._zod.values))return new Set(e.options.flatMap(n=>Array.from(n._zod.values)))}),_(t._zod,"pattern",()=>{if(e.options.every(n=>n._zod.pattern)){const n=e.options.map(i=>i._zod.pattern);return new RegExp(`^(${n.map(i=>jo(i.source)).join("|")})$`)}});const r=e.options.length===1,o=e.options[0]._zod.run;t._zod.parse=(n,i)=>{if(r)return o(n,i);let a=!1;const s=[];for(const l of e.options){const d=l._zod.run({value:n.value,issues:[]},i);if(d instanceof Promise)s.push(d),a=!0;else{if(d.issues.length===0)return d;s.push(d)}}return a?Promise.all(s).then(l=>_n(l,n,t,i)):_n(s,n,t,i)}}),$c=b("$ZodDiscriminatedUnion",(t,e)=>{e.inclusive=!1,Wi.init(t,e);const r=t._zod.parse;_(t._zod,"propValues",()=>{const n={};for(const i of e.options){const a=i._zod.propValues;if(!a||Object.keys(a).length===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(i)}"`);for(const[s,l]of Object.entries(a)){n[s]||(n[s]=new Set);for(const d of l)n[s].add(d)}}return n});const o=Ur(()=>{const n=e.options,i=new Map;for(const a of n){const s=a._zod.propValues?.[e.discriminator];if(!s||s.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(a)}"`);for(const l of s){if(i.has(l))throw new Error(`Duplicate discriminator value "${String(l)}"`);i.set(l,a)}}return i});t._zod.parse=(n,i)=>{const a=n.value;if(!ze(a))return n.issues.push({code:"invalid_type",expected:"object",input:a,inst:t}),n;const s=o.value.get(a?.[e.discriminator]);return s?s._zod.run(n,i):e.unionFallback?r(n,i):(n.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:e.discriminator,input:a,path:[e.discriminator],inst:t}),n)}}),Ec=b("$ZodIntersection",(t,e)=>{j.init(t,e),t._zod.parse=(r,o)=>{const n=r.value,i=e.left._zod.run({value:n,issues:[]},o),a=e.right._zod.run({value:n,issues:[]},o);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([s,l])=>zn(r,s,l)):zn(r,i,a)}});function ao(t,e){if(t===e)return{valid:!0,data:t};if(t instanceof Date&&e instanceof Date&&+t==+e)return{valid:!0,data:t};if(re(t)&&re(e)){const r=Object.keys(e),o=Object.keys(t).filter(i=>r.indexOf(i)!==-1),n={...t,...e};for(const i of o){const a=ao(t[i],e[i]);if(!a.valid)return{valid:!1,mergeErrorPath:[i,...a.mergeErrorPath]};n[i]=a.data}return{valid:!0,data:n}}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return{valid:!1,mergeErrorPath:[]};const r=[];for(let o=0;o<t.length;o++){const n=t[o],i=e[o],a=ao(n,i);if(!a.valid)return{valid:!1,mergeErrorPath:[o,...a.mergeErrorPath]};r.push(a.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function zn(t,e,r){const o=new Map;let n;for(const s of e.issues)if(s.code==="unrecognized_keys"){n??(n=s);for(const l of s.keys)o.has(l)||o.set(l,{}),o.get(l).l=!0}else t.issues.push(s);for(const s of r.issues)if(s.code==="unrecognized_keys")for(const l of s.keys)o.has(l)||o.set(l,{}),o.get(l).r=!0;else t.issues.push(s);const i=[...o].filter(([,s])=>s.l&&s.r).map(([s])=>s);if(i.length&&n&&t.issues.push({...n,keys:i}),Jt(t))return t;const a=ao(e.value,r.value);if(!a.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(a.mergeErrorPath)}`);return t.value=a.data,t}const Oc=b("$ZodRecord",(t,e)=>{j.init(t,e),t._zod.parse=(r,o)=>{const n=r.value;if(!re(n))return r.issues.push({expected:"record",code:"invalid_type",input:n,inst:t}),r;const i=[],a=e.keyType._zod.values;if(a){r.value={};const s=new Set;for(const d of a)if(typeof d=="string"||typeof d=="number"||typeof d=="symbol"){s.add(typeof d=="number"?d.toString():d);const c=e.valueType._zod.run({value:n[d],issues:[]},o);c instanceof Promise?i.push(c.then(p=>{p.issues.length&&r.issues.push(...Yt(d,p.issues)),r.value[d]=p.value})):(c.issues.length&&r.issues.push(...Yt(d,c.issues)),r.value[d]=c.value)}let l;for(const d in n)s.has(d)||(l=l??[],l.push(d));l&&l.length>0&&r.issues.push({code:"unrecognized_keys",input:n,inst:t,keys:l})}else{r.value={};for(const s of Reflect.ownKeys(n)){if(s==="__proto__")continue;let l=e.keyType._zod.run({value:s,issues:[]},o);if(l instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof s=="string"&&Bi.test(s)&&l.issues.length){const c=e.keyType._zod.run({value:Number(s),issues:[]},o);if(c instanceof Promise)throw new Error("Async schemas not supported in object keys currently");c.issues.length===0&&(l=c)}if(l.issues.length){e.mode==="loose"?r.value[s]=n[s]:r.issues.push({code:"invalid_key",origin:"record",issues:l.issues.map(c=>vt(c,o,ht())),input:s,path:[s],inst:t});continue}const d=e.valueType._zod.run({value:n[s],issues:[]},o);d instanceof Promise?i.push(d.then(c=>{c.issues.length&&r.issues.push(...Yt(s,c.issues)),r.value[l.value]=c.value})):(d.issues.length&&r.issues.push(...Yt(s,d.issues)),r.value[l.value]=d.value)}}return i.length?Promise.all(i).then(()=>r):r}}),Ic=b("$ZodEnum",(t,e)=>{j.init(t,e);const r=Pi(e.entries),o=new Set(r);t._zod.values=o,t._zod.pattern=new RegExp(`^(${r.filter(n=>Dl.has(typeof n)).map(n=>typeof n=="string"?oe(n):n.toString()).join("|")})$`),t._zod.parse=(n,i)=>{const a=n.value;return o.has(a)||n.issues.push({code:"invalid_value",values:r,input:a,inst:t}),n}}),jc=b("$ZodLiteral",(t,e)=>{if(j.init(t,e),e.values.length===0)throw new Error("Cannot create literal schema with no valid values");const r=new Set(e.values);t._zod.values=r,t._zod.pattern=new RegExp(`^(${e.values.map(o=>typeof o=="string"?oe(o):o?oe(o.toString()):String(o)).join("|")})$`),t._zod.parse=(o,n)=>{const i=o.value;return r.has(i)||o.issues.push({code:"invalid_value",values:e.values,input:i,inst:t}),o}}),Pc=b("$ZodTransform",(t,e)=>{j.init(t,e),t._zod.parse=(r,o)=>{if(o.direction==="backward")throw new Ii(t.constructor.name);const n=e.transform(r.value,r);if(o.async)return(n instanceof Promise?n:Promise.resolve(n)).then(i=>(r.value=i,r));if(n instanceof Promise)throw new Wt;return r.value=n,r}});function An(t,e){return t.issues.length&&e===void 0?{issues:[],value:void 0}:t}const qi=b("$ZodOptional",(t,e)=>{j.init(t,e),t._zod.optin="optional",t._zod.optout="optional",_(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),_(t._zod,"pattern",()=>{const r=e.innerType._zod.pattern;return r?new RegExp(`^(${jo(r.source)})?$`):void 0}),t._zod.parse=(r,o)=>{if(e.innerType._zod.optin==="optional"){const n=e.innerType._zod.run(r,o);return n instanceof Promise?n.then(i=>An(i,r.value)):An(n,r.value)}return r.value===void 0?r:e.innerType._zod.run(r,o)}}),Tc=b("$ZodExactOptional",(t,e)=>{qi.init(t,e),_(t._zod,"values",()=>e.innerType._zod.values),_(t._zod,"pattern",()=>e.innerType._zod.pattern),t._zod.parse=(r,o)=>e.innerType._zod.run(r,o)}),Cc=b("$ZodNullable",(t,e)=>{j.init(t,e),_(t._zod,"optin",()=>e.innerType._zod.optin),_(t._zod,"optout",()=>e.innerType._zod.optout),_(t._zod,"pattern",()=>{const r=e.innerType._zod.pattern;return r?new RegExp(`^(${jo(r.source)}|null)$`):void 0}),_(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,null]):void 0),t._zod.parse=(r,o)=>r.value===null?r:e.innerType._zod.run(r,o)}),Nc=b("$ZodDefault",(t,e)=>{j.init(t,e),t._zod.optin="optional",_(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,o)=>{if(o.direction==="backward")return e.innerType._zod.run(r,o);if(r.value===void 0)return r.value=e.defaultValue,r;const n=e.innerType._zod.run(r,o);return n instanceof Promise?n.then(i=>Sn(i,e)):Sn(n,e)}});function Sn(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}const Zc=b("$ZodPrefault",(t,e)=>{j.init(t,e),t._zod.optin="optional",_(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,o)=>(o.direction==="backward"||r.value===void 0&&(r.value=e.defaultValue),e.innerType._zod.run(r,o))}),Rc=b("$ZodNonOptional",(t,e)=>{j.init(t,e),_(t._zod,"values",()=>{const r=e.innerType._zod.values;return r?new Set([...r].filter(o=>o!==void 0)):void 0}),t._zod.parse=(r,o)=>{const n=e.innerType._zod.run(r,o);return n instanceof Promise?n.then(i=>$n(i,t)):$n(n,t)}});function $n(t,e){return!t.issues.length&&t.value===void 0&&t.issues.push({code:"invalid_type",expected:"nonoptional",input:t.value,inst:e}),t}const Dc=b("$ZodCatch",(t,e)=>{j.init(t,e),_(t._zod,"optin",()=>e.innerType._zod.optin),_(t._zod,"optout",()=>e.innerType._zod.optout),_(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,o)=>{if(o.direction==="backward")return e.innerType._zod.run(r,o);const n=e.innerType._zod.run(r,o);return n instanceof Promise?n.then(i=>(r.value=i.value,i.issues.length&&(r.value=e.catchValue({...r,error:{issues:i.issues.map(a=>vt(a,o,ht()))},input:r.value}),r.issues=[]),r)):(r.value=n.value,n.issues.length&&(r.value=e.catchValue({...r,error:{issues:n.issues.map(i=>vt(i,o,ht()))},input:r.value}),r.issues=[]),r)}}),Uc=b("$ZodPipe",(t,e)=>{j.init(t,e),_(t._zod,"values",()=>e.in._zod.values),_(t._zod,"optin",()=>e.in._zod.optin),_(t._zod,"optout",()=>e.out._zod.optout),_(t._zod,"propValues",()=>e.in._zod.propValues),t._zod.parse=(r,o)=>{if(o.direction==="backward"){const i=e.out._zod.run(r,o);return i instanceof Promise?i.then(a=>Re(a,e.in,o)):Re(i,e.in,o)}const n=e.in._zod.run(r,o);return n instanceof Promise?n.then(i=>Re(i,e.out,o)):Re(n,e.out,o)}});function Re(t,e,r){return t.issues.length?(t.aborted=!0,t):e._zod.run({value:t.value,issues:t.issues},r)}const Mc=b("$ZodReadonly",(t,e)=>{j.init(t,e),_(t._zod,"propValues",()=>e.innerType._zod.propValues),_(t._zod,"values",()=>e.innerType._zod.values),_(t._zod,"optin",()=>e.innerType?._zod?.optin),_(t._zod,"optout",()=>e.innerType?._zod?.optout),t._zod.parse=(r,o)=>{if(o.direction==="backward")return e.innerType._zod.run(r,o);const n=e.innerType._zod.run(r,o);return n instanceof Promise?n.then(En):En(n)}});function En(t){return t.value=Object.freeze(t.value),t}const Bc=b("$ZodCustom",(t,e)=>{W.init(t,e),j.init(t,e),t._zod.parse=(r,o)=>r,t._zod.check=r=>{const o=r.value,n=e.fn(o);if(n instanceof Promise)return n.then(i=>On(i,r,o,t));On(n,r,o,t)}});function On(t,e,r,o){if(!t){const n={code:"custom",input:r,inst:o,path:[...o._zod.def.path??[]],continue:!o._zod.def.abort};o._zod.def.params&&(n.params=o._zod.def.params),e.issues.push(Ae(n))}}var In;class Lc{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...r){const o=r[0];return this._map.set(e,o),o&&typeof o=="object"&&"id"in o&&this._idmap.set(o.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){const r=this._map.get(e);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(e),this}get(e){const r=e._zod.parent;if(r){const o={...this.get(r)??{}};delete o.id;const n={...o,...this._map.get(e)};return Object.keys(n).length?n:void 0}return this._map.get(e)}has(e){return this._map.has(e)}}function Fc(){return new Lc}(In=globalThis).__zod_globalRegistry??(In.__zod_globalRegistry=Fc());const ue=globalThis.__zod_globalRegistry;function Gc(t,e){return new t({type:"string",...v(e)})}function Jc(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...v(e)})}function jn(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...v(e)})}function Yc(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...v(e)})}function Hc(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...v(e)})}function Vc(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...v(e)})}function Wc(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...v(e)})}function qc(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...v(e)})}function Xc(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...v(e)})}function Kc(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...v(e)})}function Qc(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...v(e)})}function tp(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...v(e)})}function ep(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...v(e)})}function rp(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...v(e)})}function op(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...v(e)})}function np(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...v(e)})}function ip(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...v(e)})}function ap(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...v(e)})}function sp(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...v(e)})}function lp(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...v(e)})}function dp(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...v(e)})}function cp(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...v(e)})}function pp(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...v(e)})}function mp(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...v(e)})}function bp(t,e){return new t({type:"string",format:"date",check:"string_format",...v(e)})}function up(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...v(e)})}function gp(t,e){return new t({type:"string",format:"duration",check:"string_format",...v(e)})}function fp(t,e){return new t({type:"number",checks:[],...v(e)})}function hp(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...v(e)})}function vp(t,e){return new t({type:"boolean",...v(e)})}function wp(t,e){return new t({type:"undefined",...v(e)})}function xp(t,e){return new t({type:"null",...v(e)})}function yp(t){return new t({type:"unknown"})}function kp(t,e){return new t({type:"never",...v(e)})}function Pn(t,e){return new Fi({check:"less_than",...v(e),value:t,inclusive:!1})}function qr(t,e){return new Fi({check:"less_than",...v(e),value:t,inclusive:!0})}function Tn(t,e){return new Gi({check:"greater_than",...v(e),value:t,inclusive:!1})}function Xr(t,e){return new Gi({check:"greater_than",...v(e),value:t,inclusive:!0})}function Cn(t,e){return new Td({check:"multiple_of",...v(e),value:t})}function Xi(t,e){return new Nd({check:"max_length",...v(e),maximum:t})}function kr(t,e){return new Zd({check:"min_length",...v(e),minimum:t})}function Ki(t,e){return new Rd({check:"length_equals",...v(e),length:t})}function _p(t,e){return new Dd({check:"string_format",format:"regex",...v(e),pattern:t})}function zp(t){return new Ud({check:"string_format",format:"lowercase",...v(t)})}function Ap(t){return new Md({check:"string_format",format:"uppercase",...v(t)})}function Sp(t,e){return new Bd({check:"string_format",format:"includes",...v(e),includes:t})}function $p(t,e){return new Ld({check:"string_format",format:"starts_with",...v(e),prefix:t})}function Ep(t,e){return new Fd({check:"string_format",format:"ends_with",...v(e),suffix:t})}function ce(t){return new Gd({check:"overwrite",tx:t})}function Op(t){return ce(e=>e.normalize(t))}function Ip(){return ce(t=>t.trim())}function jp(){return ce(t=>t.toLowerCase())}function Pp(){return ce(t=>t.toUpperCase())}function Tp(){return ce(t=>Zl(t))}function Cp(t,e,r){return new t({type:"array",element:e,...v(r)})}function Np(t,e,r){return new t({type:"custom",check:"custom",fn:e,...v(r)})}function Zp(t){const e=Rp(r=>(r.addIssue=o=>{if(typeof o=="string")r.issues.push(Ae(o,r.value,e._zod.def));else{const n=o;n.fatal&&(n.continue=!1),n.code??(n.code="custom"),n.input??(n.input=r.value),n.inst??(n.inst=e),n.continue??(n.continue=!e._zod.def.abort),r.issues.push(Ae(n))}},t(r.value,r)));return e}function Rp(t,e){const r=new W({check:"custom",...v(e)});return r._zod.check=t,r}function Qi(t){let e=t?.target??"draft-2020-12";return e==="draft-4"&&(e="draft-04"),e==="draft-7"&&(e="draft-07"),{processors:t.processors??{},metadataRegistry:t?.metadata??ue,target:e,unrepresentable:t?.unrepresentable??"throw",override:t?.override??(()=>{}),io:t?.io??"output",counter:0,seen:new Map,cycles:t?.cycles??"ref",reused:t?.reused??"inline",external:t?.external??void 0}}function D(t,e,r={path:[],schemaPath:[]}){var o;const n=t._zod.def,i=e.seen.get(t);if(i)return i.count++,r.schemaPath.includes(t)&&(i.cycle=r.path),i.schema;const a={schema:{},count:1,cycle:void 0,path:r.path};e.seen.set(t,a);const s=t._zod.toJSONSchema?.();if(s)a.schema=s;else{const d={...r,schemaPath:[...r.schemaPath,t],path:r.path};if(t._zod.processJSONSchema)t._zod.processJSONSchema(e,a.schema,d);else{const p=a.schema,u=e.processors[n.type];if(!u)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${n.type}`);u(t,e,p,d)}const c=t._zod.parent;c&&(a.ref||(a.ref=c),D(c,e,d),e.seen.get(c).isParent=!0)}const l=e.metadataRegistry.get(t);return l&&Object.assign(a.schema,l),e.io==="input"&&J(t)&&(delete a.schema.examples,delete a.schema.default),e.io==="input"&&a.schema._prefault&&((o=a.schema).default??(o.default=a.schema._prefault)),delete a.schema._prefault,e.seen.get(t).schema}function ta(t,e){const r=t.seen.get(e);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const o=new Map;for(const a of t.seen.entries()){const s=t.metadataRegistry.get(a[0])?.id;if(s){const l=o.get(s);if(l&&l!==a[0])throw new Error(`Duplicate schema id "${s}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);o.set(s,a[0])}}const n=a=>{const s=t.target==="draft-2020-12"?"$defs":"definitions";if(t.external){const c=t.external.registry.get(a[0])?.id,p=t.external.uri??(g=>g);if(c)return{ref:p(c)};const u=a[1].defId??a[1].schema.id??`schema${t.counter++}`;return a[1].defId=u,{defId:u,ref:`${p("__shared")}#/${s}/${u}`}}if(a[1]===r)return{ref:"#"};const l=`#/${s}/`,d=a[1].schema.id??`__schema${t.counter++}`;return{defId:d,ref:l+d}},i=a=>{if(a[1].schema.$ref)return;const s=a[1],{ref:l,defId:d}=n(a);s.def={...s.schema},d&&(s.defId=d);const c=s.schema;for(const p in c)delete c[p];c.$ref=l};if(t.cycles==="throw")for(const a of t.seen.entries()){const s=a[1];if(s.cycle)throw new Error(`Cycle detected: #/${s.cycle?.join("/")}/<root>
|
|
900
|
-
|
|
901
|
-
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const a of t.seen.entries()){const s=a[1];if(e===a[0]){i(a);continue}if(t.external){const l=t.external.registry.get(a[0])?.id;if(e!==a[0]&&l){i(a);continue}}if(t.metadataRegistry.get(a[0])?.id){i(a);continue}if(s.cycle){i(a);continue}if(s.count>1&&t.reused==="ref"){i(a);continue}}}function ea(t,e){const r=t.seen.get(e);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const o=a=>{const s=t.seen.get(a);if(s.ref===null)return;const l=s.def??s.schema,d={...l},c=s.ref;if(s.ref=null,c){o(c);const u=t.seen.get(c),g=u.schema;if(g.$ref&&(t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0")?(l.allOf=l.allOf??[],l.allOf.push(g)):Object.assign(l,g),Object.assign(l,d),a._zod.parent===c)for(const x in l)x==="$ref"||x==="allOf"||x in d||delete l[x];if(g.$ref&&u.def)for(const x in l)x==="$ref"||x==="allOf"||x in u.def&&JSON.stringify(l[x])===JSON.stringify(u.def[x])&&delete l[x]}const p=a._zod.parent;if(p&&p!==c){o(p);const u=t.seen.get(p);if(u?.schema.$ref&&(l.$ref=u.schema.$ref,u.def))for(const g in l)g==="$ref"||g==="allOf"||g in u.def&&JSON.stringify(l[g])===JSON.stringify(u.def[g])&&delete l[g]}t.override({zodSchema:a,jsonSchema:l,path:s.path??[]})};for(const a of[...t.seen.entries()].reverse())o(a[0]);const n={};if(t.target==="draft-2020-12"?n.$schema="https://json-schema.org/draft/2020-12/schema":t.target==="draft-07"?n.$schema="http://json-schema.org/draft-07/schema#":t.target==="draft-04"?n.$schema="http://json-schema.org/draft-04/schema#":t.target,t.external?.uri){const a=t.external.registry.get(e)?.id;if(!a)throw new Error("Schema is missing an `id` property");n.$id=t.external.uri(a)}Object.assign(n,r.def??r.schema);const i=t.external?.defs??{};for(const a of t.seen.entries()){const s=a[1];s.def&&s.defId&&(i[s.defId]=s.def)}t.external||Object.keys(i).length>0&&(t.target==="draft-2020-12"?n.$defs=i:n.definitions=i);try{const a=JSON.parse(JSON.stringify(n));return Object.defineProperty(a,"~standard",{value:{...e["~standard"],jsonSchema:{input:_r(e,"input",t.processors),output:_r(e,"output",t.processors)}},enumerable:!1,writable:!1}),a}catch{throw new Error("Error converting schema to JSON.")}}function J(t,e){const r=e??{seen:new Set};if(r.seen.has(t))return!1;r.seen.add(t);const o=t._zod.def;if(o.type==="transform")return!0;if(o.type==="array")return J(o.element,r);if(o.type==="set")return J(o.valueType,r);if(o.type==="lazy")return J(o.getter(),r);if(o.type==="promise"||o.type==="optional"||o.type==="nonoptional"||o.type==="nullable"||o.type==="readonly"||o.type==="default"||o.type==="prefault")return J(o.innerType,r);if(o.type==="intersection")return J(o.left,r)||J(o.right,r);if(o.type==="record"||o.type==="map")return J(o.keyType,r)||J(o.valueType,r);if(o.type==="pipe")return J(o.in,r)||J(o.out,r);if(o.type==="object"){for(const n in o.shape)if(J(o.shape[n],r))return!0;return!1}if(o.type==="union"){for(const n of o.options)if(J(n,r))return!0;return!1}if(o.type==="tuple"){for(const n of o.items)if(J(n,r))return!0;return!!(o.rest&&J(o.rest,r))}return!1}const Dp=(t,e={})=>r=>{const o=Qi({...r,processors:e});return D(t,o),ta(o,t),ea(o,t)},_r=(t,e,r={})=>o=>{const{libraryOptions:n,target:i}=o??{},a=Qi({...n??{},target:i,io:e,processors:r});return D(t,a),ta(a,t),ea(a,t)},Up={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Mp=(t,e,r,o)=>{const n=r;n.type="string";const{minimum:i,maximum:a,format:s,patterns:l,contentEncoding:d}=t._zod.bag;if(typeof i=="number"&&(n.minLength=i),typeof a=="number"&&(n.maxLength=a),s&&(n.format=Up[s]??s,n.format===""&&delete n.format,s==="time"&&delete n.format),d&&(n.contentEncoding=d),l&&l.size>0){const c=[...l];c.length===1?n.pattern=c[0].source:c.length>1&&(n.allOf=[...c.map(p=>({...e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0"?{type:"string"}:{},pattern:p.source}))])}},Bp=(t,e,r,o)=>{const n=r,{minimum:i,maximum:a,format:s,multipleOf:l,exclusiveMaximum:d,exclusiveMinimum:c}=t._zod.bag;typeof s=="string"&&s.includes("int")?n.type="integer":n.type="number",typeof c=="number"&&(e.target==="draft-04"||e.target==="openapi-3.0"?(n.minimum=c,n.exclusiveMinimum=!0):n.exclusiveMinimum=c),typeof i=="number"&&(n.minimum=i,typeof c=="number"&&e.target!=="draft-04"&&(c>=i?delete n.minimum:delete n.exclusiveMinimum)),typeof d=="number"&&(e.target==="draft-04"||e.target==="openapi-3.0"?(n.maximum=d,n.exclusiveMaximum=!0):n.exclusiveMaximum=d),typeof a=="number"&&(n.maximum=a,typeof d=="number"&&e.target!=="draft-04"&&(d<=a?delete n.maximum:delete n.exclusiveMaximum)),typeof l=="number"&&(n.multipleOf=l)},Lp=(t,e,r,o)=>{r.type="boolean"},Fp=(t,e,r,o)=>{e.target==="openapi-3.0"?(r.type="string",r.nullable=!0,r.enum=[null]):r.type="null"},Gp=(t,e,r,o)=>{if(e.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},Jp=(t,e,r,o)=>{r.not={}},Yp=(t,e,r,o)=>{},Hp=(t,e,r,o)=>{const n=t._zod.def,i=Pi(n.entries);i.every(a=>typeof a=="number")&&(r.type="number"),i.every(a=>typeof a=="string")&&(r.type="string"),r.enum=i},Vp=(t,e,r,o)=>{const n=t._zod.def,i=[];for(const a of n.values)if(a===void 0){if(e.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof a=="bigint"){if(e.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");i.push(Number(a))}else i.push(a);if(i.length!==0)if(i.length===1){const a=i[0];r.type=a===null?"null":typeof a,e.target==="draft-04"||e.target==="openapi-3.0"?r.enum=[a]:r.const=a}else i.every(a=>typeof a=="number")&&(r.type="number"),i.every(a=>typeof a=="string")&&(r.type="string"),i.every(a=>typeof a=="boolean")&&(r.type="boolean"),i.every(a=>a===null)&&(r.type="null"),r.enum=i},Wp=(t,e,r,o)=>{if(e.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},qp=(t,e,r,o)=>{if(e.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Xp=(t,e,r,o)=>{const n=r,i=t._zod.def,{minimum:a,maximum:s}=t._zod.bag;typeof a=="number"&&(n.minItems=a),typeof s=="number"&&(n.maxItems=s),n.type="array",n.items=D(i.element,e,{...o,path:[...o.path,"items"]})},Kp=(t,e,r,o)=>{const n=r,i=t._zod.def;n.type="object",n.properties={};const a=i.shape;for(const d in a)n.properties[d]=D(a[d],e,{...o,path:[...o.path,"properties",d]});const s=new Set(Object.keys(a)),l=new Set([...s].filter(d=>{const c=i.shape[d]._zod;return e.io==="input"?c.optin===void 0:c.optout===void 0}));l.size>0&&(n.required=Array.from(l)),i.catchall?._zod.def.type==="never"?n.additionalProperties=!1:i.catchall?i.catchall&&(n.additionalProperties=D(i.catchall,e,{...o,path:[...o.path,"additionalProperties"]})):e.io==="output"&&(n.additionalProperties=!1)},Qp=(t,e,r,o)=>{const n=t._zod.def,i=n.inclusive===!1,a=n.options.map((s,l)=>D(s,e,{...o,path:[...o.path,i?"oneOf":"anyOf",l]}));i?r.oneOf=a:r.anyOf=a},tm=(t,e,r,o)=>{const n=t._zod.def,i=D(n.left,e,{...o,path:[...o.path,"allOf",0]}),a=D(n.right,e,{...o,path:[...o.path,"allOf",1]}),s=d=>"allOf"in d&&Object.keys(d).length===1,l=[...s(i)?i.allOf:[i],...s(a)?a.allOf:[a]];r.allOf=l},em=(t,e,r,o)=>{const n=r,i=t._zod.def;n.type="object";const a=i.keyType,s=a._zod.bag?.patterns;if(i.mode==="loose"&&s&&s.size>0){const d=D(i.valueType,e,{...o,path:[...o.path,"patternProperties","*"]});n.patternProperties={};for(const c of s)n.patternProperties[c.source]=d}else(e.target==="draft-07"||e.target==="draft-2020-12")&&(n.propertyNames=D(i.keyType,e,{...o,path:[...o.path,"propertyNames"]})),n.additionalProperties=D(i.valueType,e,{...o,path:[...o.path,"additionalProperties"]});const l=a._zod.values;if(l){const d=[...l].filter(c=>typeof c=="string"||typeof c=="number");d.length>0&&(n.required=d)}},rm=(t,e,r,o)=>{const n=t._zod.def,i=D(n.innerType,e,o),a=e.seen.get(t);e.target==="openapi-3.0"?(a.ref=n.innerType,r.nullable=!0):r.anyOf=[i,{type:"null"}]},om=(t,e,r,o)=>{const n=t._zod.def;D(n.innerType,e,o);const i=e.seen.get(t);i.ref=n.innerType},nm=(t,e,r,o)=>{const n=t._zod.def;D(n.innerType,e,o);const i=e.seen.get(t);i.ref=n.innerType,r.default=JSON.parse(JSON.stringify(n.defaultValue))},im=(t,e,r,o)=>{const n=t._zod.def;D(n.innerType,e,o);const i=e.seen.get(t);i.ref=n.innerType,e.io==="input"&&(r._prefault=JSON.parse(JSON.stringify(n.defaultValue)))},am=(t,e,r,o)=>{const n=t._zod.def;D(n.innerType,e,o);const i=e.seen.get(t);i.ref=n.innerType;let a;try{a=n.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}r.default=a},sm=(t,e,r,o)=>{const n=t._zod.def,i=e.io==="input"?n.in._zod.def.type==="transform"?n.out:n.in:n.out;D(i,e,o);const a=e.seen.get(t);a.ref=i},lm=(t,e,r,o)=>{const n=t._zod.def;D(n.innerType,e,o);const i=e.seen.get(t);i.ref=n.innerType,r.readOnly=!0},ra=(t,e,r,o)=>{const n=t._zod.def;D(n.innerType,e,o);const i=e.seen.get(t);i.ref=n.innerType},dm=b("ZodISODateTime",(t,e)=>{nc.init(t,e),N.init(t,e)});function cm(t){return mp(dm,t)}const pm=b("ZodISODate",(t,e)=>{ic.init(t,e),N.init(t,e)});function mm(t){return bp(pm,t)}const bm=b("ZodISOTime",(t,e)=>{ac.init(t,e),N.init(t,e)});function um(t){return up(bm,t)}const gm=b("ZodISODuration",(t,e)=>{sc.init(t,e),N.init(t,e)});function fm(t){return gp(gm,t)}const hm=(t,e)=>{Zi.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:r=>Wl(t,r)},flatten:{value:r=>Vl(t,r)},addIssue:{value:r=>{t.issues.push(r),t.message=JSON.stringify(t.issues,io,2)}},addIssues:{value:r=>{t.issues.push(...r),t.message=JSON.stringify(t.issues,io,2)}},isEmpty:{get(){return t.issues.length===0}}})},tt=b("ZodError",hm,{Parent:Error}),vm=To(tt),wm=Co(tt),xm=Mr(tt),ym=Br(tt),km=Kl(tt),_m=Ql(tt),zm=td(tt),Am=ed(tt),Sm=rd(tt),$m=od(tt),Em=nd(tt),Om=id(tt),P=b("ZodType",(t,e)=>(j.init(t,e),Object.assign(t["~standard"],{jsonSchema:{input:_r(t,"input"),output:_r(t,"output")}}),t.toJSONSchema=Dp(t,{}),t.def=e,t.type=e.type,Object.defineProperty(t,"_def",{value:e}),t.check=(...r)=>t.clone(yt(e,{checks:[...e.checks??[],...r.map(o=>typeof o=="function"?{_zod:{check:o,def:{check:"custom"},onattach:[]}}:o)]}),{parent:!0}),t.with=t.check,t.clone=(r,o)=>kt(t,r,o),t.brand=()=>t,t.register=((r,o)=>(r.add(t,o),t)),t.parse=(r,o)=>vm(t,r,o,{callee:t.parse}),t.safeParse=(r,o)=>xm(t,r,o),t.parseAsync=async(r,o)=>wm(t,r,o,{callee:t.parseAsync}),t.safeParseAsync=async(r,o)=>ym(t,r,o),t.spa=t.safeParseAsync,t.encode=(r,o)=>km(t,r,o),t.decode=(r,o)=>_m(t,r,o),t.encodeAsync=async(r,o)=>zm(t,r,o),t.decodeAsync=async(r,o)=>Am(t,r,o),t.safeEncode=(r,o)=>Sm(t,r,o),t.safeDecode=(r,o)=>$m(t,r,o),t.safeEncodeAsync=async(r,o)=>Em(t,r,o),t.safeDecodeAsync=async(r,o)=>Om(t,r,o),t.refine=(r,o)=>t.check(Sb(r,o)),t.superRefine=r=>t.check($b(r)),t.overwrite=r=>t.check(ce(r)),t.optional=()=>jt(t),t.exactOptional=()=>bb(t),t.nullable=()=>Rn(t),t.nullish=()=>jt(Rn(t)),t.nonoptional=r=>wb(t,r),t.array=()=>Ar(t),t.or=r=>Zo([t,r]),t.and=r=>Ro(t,r),t.transform=r=>Dn(t,pb(r)),t.default=r=>fb(t,r),t.prefault=r=>vb(t,r),t.catch=r=>yb(t,r),t.pipe=r=>Dn(t,r),t.readonly=()=>zb(t),t.describe=r=>{const o=t.clone();return ue.add(o,{description:r}),o},Object.defineProperty(t,"description",{get(){return ue.get(t)?.description},configurable:!0}),t.meta=(...r)=>{if(r.length===0)return ue.get(t);const o=t.clone();return ue.add(o,r[0]),o},t.isOptional=()=>t.safeParse(void 0).success,t.isNullable=()=>t.safeParse(null).success,t.apply=r=>r(t),t)),oa=b("_ZodString",(t,e)=>{No.init(t,e),P.init(t,e),t._zod.processJSONSchema=(o,n,i)=>Mp(t,o,n);const r=t._zod.bag;t.format=r.format??null,t.minLength=r.minimum??null,t.maxLength=r.maximum??null,t.regex=(...o)=>t.check(_p(...o)),t.includes=(...o)=>t.check(Sp(...o)),t.startsWith=(...o)=>t.check($p(...o)),t.endsWith=(...o)=>t.check(Ep(...o)),t.min=(...o)=>t.check(kr(...o)),t.max=(...o)=>t.check(Xi(...o)),t.length=(...o)=>t.check(Ki(...o)),t.nonempty=(...o)=>t.check(kr(1,...o)),t.lowercase=o=>t.check(zp(o)),t.uppercase=o=>t.check(Ap(o)),t.trim=()=>t.check(Ip()),t.normalize=(...o)=>t.check(Op(...o)),t.toLowerCase=()=>t.check(jp()),t.toUpperCase=()=>t.check(Pp()),t.slugify=()=>t.check(Tp())}),Im=b("ZodString",(t,e)=>{No.init(t,e),oa.init(t,e),t.email=r=>t.check(Jc(jm,r)),t.url=r=>t.check(qc(Pm,r)),t.jwt=r=>t.check(pp(Hm,r)),t.emoji=r=>t.check(Xc(Tm,r)),t.guid=r=>t.check(jn(Nn,r)),t.uuid=r=>t.check(Yc(De,r)),t.uuidv4=r=>t.check(Hc(De,r)),t.uuidv6=r=>t.check(Vc(De,r)),t.uuidv7=r=>t.check(Wc(De,r)),t.nanoid=r=>t.check(Kc(Cm,r)),t.guid=r=>t.check(jn(Nn,r)),t.cuid=r=>t.check(Qc(Nm,r)),t.cuid2=r=>t.check(tp(Zm,r)),t.ulid=r=>t.check(ep(Rm,r)),t.base64=r=>t.check(lp(Gm,r)),t.base64url=r=>t.check(dp(Jm,r)),t.xid=r=>t.check(rp(Dm,r)),t.ksuid=r=>t.check(op(Um,r)),t.ipv4=r=>t.check(np(Mm,r)),t.ipv6=r=>t.check(ip(Bm,r)),t.cidrv4=r=>t.check(ap(Lm,r)),t.cidrv6=r=>t.check(sp(Fm,r)),t.e164=r=>t.check(cp(Ym,r)),t.datetime=r=>t.check(cm(r)),t.date=r=>t.check(mm(r)),t.time=r=>t.check(um(r)),t.duration=r=>t.check(fm(r))});function y(t){return Gc(Im,t)}const N=b("ZodStringFormat",(t,e)=>{T.init(t,e),oa.init(t,e)}),jm=b("ZodEmail",(t,e)=>{Wd.init(t,e),N.init(t,e)}),Nn=b("ZodGUID",(t,e)=>{Hd.init(t,e),N.init(t,e)}),De=b("ZodUUID",(t,e)=>{Vd.init(t,e),N.init(t,e)}),Pm=b("ZodURL",(t,e)=>{qd.init(t,e),N.init(t,e)}),Tm=b("ZodEmoji",(t,e)=>{Xd.init(t,e),N.init(t,e)}),Cm=b("ZodNanoID",(t,e)=>{Kd.init(t,e),N.init(t,e)}),Nm=b("ZodCUID",(t,e)=>{Qd.init(t,e),N.init(t,e)}),Zm=b("ZodCUID2",(t,e)=>{tc.init(t,e),N.init(t,e)}),Rm=b("ZodULID",(t,e)=>{ec.init(t,e),N.init(t,e)}),Dm=b("ZodXID",(t,e)=>{rc.init(t,e),N.init(t,e)}),Um=b("ZodKSUID",(t,e)=>{oc.init(t,e),N.init(t,e)}),Mm=b("ZodIPv4",(t,e)=>{lc.init(t,e),N.init(t,e)}),Bm=b("ZodIPv6",(t,e)=>{dc.init(t,e),N.init(t,e)}),Lm=b("ZodCIDRv4",(t,e)=>{cc.init(t,e),N.init(t,e)}),Fm=b("ZodCIDRv6",(t,e)=>{pc.init(t,e),N.init(t,e)}),Gm=b("ZodBase64",(t,e)=>{mc.init(t,e),N.init(t,e)}),Jm=b("ZodBase64URL",(t,e)=>{uc.init(t,e),N.init(t,e)}),Ym=b("ZodE164",(t,e)=>{gc.init(t,e),N.init(t,e)}),Hm=b("ZodJWT",(t,e)=>{hc.init(t,e),N.init(t,e)}),na=b("ZodNumber",(t,e)=>{Yi.init(t,e),P.init(t,e),t._zod.processJSONSchema=(o,n,i)=>Bp(t,o,n),t.gt=(o,n)=>t.check(Tn(o,n)),t.gte=(o,n)=>t.check(Xr(o,n)),t.min=(o,n)=>t.check(Xr(o,n)),t.lt=(o,n)=>t.check(Pn(o,n)),t.lte=(o,n)=>t.check(qr(o,n)),t.max=(o,n)=>t.check(qr(o,n)),t.int=o=>t.check(Zn(o)),t.safe=o=>t.check(Zn(o)),t.positive=o=>t.check(Tn(0,o)),t.nonnegative=o=>t.check(Xr(0,o)),t.negative=o=>t.check(Pn(0,o)),t.nonpositive=o=>t.check(qr(0,o)),t.multipleOf=(o,n)=>t.check(Cn(o,n)),t.step=(o,n)=>t.check(Cn(o,n)),t.finite=()=>t;const r=t._zod.bag;t.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,t.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,t.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),t.isFinite=!0,t.format=r.format??null});function zr(t){return fp(na,t)}const Vm=b("ZodNumberFormat",(t,e)=>{vc.init(t,e),na.init(t,e)});function Zn(t){return hp(Vm,t)}const Wm=b("ZodBoolean",(t,e)=>{wc.init(t,e),P.init(t,e),t._zod.processJSONSchema=(r,o,n)=>Lp(t,r,o)});function qm(t){return vp(Wm,t)}const Xm=b("ZodUndefined",(t,e)=>{xc.init(t,e),P.init(t,e),t._zod.processJSONSchema=(r,o,n)=>Gp(t,r)});function Km(t){return wp(Xm,t)}const Qm=b("ZodNull",(t,e)=>{yc.init(t,e),P.init(t,e),t._zod.processJSONSchema=(r,o,n)=>Fp(t,r,o)});function ia(t){return xp(Qm,t)}const tb=b("ZodUnknown",(t,e)=>{kc.init(t,e),P.init(t,e),t._zod.processJSONSchema=(r,o,n)=>Yp()});function ne(){return yp(tb)}const eb=b("ZodNever",(t,e)=>{_c.init(t,e),P.init(t,e),t._zod.processJSONSchema=(r,o,n)=>Jp(t,r,o)});function aa(t){return kp(eb,t)}const rb=b("ZodArray",(t,e)=>{zc.init(t,e),P.init(t,e),t._zod.processJSONSchema=(r,o,n)=>Xp(t,r,o,n),t.element=e.element,t.min=(r,o)=>t.check(kr(r,o)),t.nonempty=r=>t.check(kr(1,r)),t.max=(r,o)=>t.check(Xi(r,o)),t.length=(r,o)=>t.check(Ki(r,o)),t.unwrap=()=>t.element});function Ar(t,e){return Cp(rb,t,e)}const ob=b("ZodObject",(t,e)=>{Sc.init(t,e),P.init(t,e),t._zod.processJSONSchema=(r,o,n)=>Kp(t,r,o,n),_(t,"shape",()=>e.shape),t.keyof=()=>lb(Object.keys(t._zod.def.shape)),t.catchall=r=>t.clone({...t._zod.def,catchall:r}),t.passthrough=()=>t.clone({...t._zod.def,catchall:ne()}),t.loose=()=>t.clone({...t._zod.def,catchall:ne()}),t.strict=()=>t.clone({...t._zod.def,catchall:aa()}),t.strip=()=>t.clone({...t._zod.def,catchall:void 0}),t.extend=r=>Fl(t,r),t.safeExtend=r=>Gl(t,r),t.merge=r=>Jl(t,r),t.pick=r=>Bl(t,r),t.omit=r=>Ll(t,r),t.partial=(...r)=>Yl(la,t,r[0]),t.required=(...r)=>Hl(da,t,r[0])});function $(t,e){const r={type:"object",shape:t??{},...v(e)};return new ob(r)}const sa=b("ZodUnion",(t,e)=>{Wi.init(t,e),P.init(t,e),t._zod.processJSONSchema=(r,o,n)=>Qp(t,r,o,n),t.options=e.options});function Zo(t,e){return new sa({type:"union",options:t,...v(e)})}const nb=b("ZodDiscriminatedUnion",(t,e)=>{sa.init(t,e),$c.init(t,e)});function je(t,e,r){return new nb({type:"union",options:e,discriminator:t,...v(r)})}const ib=b("ZodIntersection",(t,e)=>{Ec.init(t,e),P.init(t,e),t._zod.processJSONSchema=(r,o,n)=>tm(t,r,o,n)});function Ro(t,e){return new ib({type:"intersection",left:t,right:e})}const ab=b("ZodRecord",(t,e)=>{Oc.init(t,e),P.init(t,e),t._zod.processJSONSchema=(r,o,n)=>em(t,r,o,n),t.keyType=e.keyType,t.valueType=e.valueType});function sb(t,e,r){return new ab({type:"record",keyType:t,valueType:e,...v(r)})}const so=b("ZodEnum",(t,e)=>{Ic.init(t,e),P.init(t,e),t._zod.processJSONSchema=(o,n,i)=>Hp(t,o,n),t.enum=e.entries,t.options=Object.values(e.entries);const r=new Set(Object.keys(e.entries));t.extract=(o,n)=>{const i={};for(const a of o)if(r.has(a))i[a]=e.entries[a];else throw new Error(`Key ${a} not found in enum`);return new so({...e,checks:[],...v(n),entries:i})},t.exclude=(o,n)=>{const i={...e.entries};for(const a of o)if(r.has(a))delete i[a];else throw new Error(`Key ${a} not found in enum`);return new so({...e,checks:[],...v(n),entries:i})}});function lb(t,e){const r=Array.isArray(t)?Object.fromEntries(t.map(o=>[o,o])):t;return new so({type:"enum",entries:r,...v(e)})}const db=b("ZodLiteral",(t,e)=>{jc.init(t,e),P.init(t,e),t._zod.processJSONSchema=(r,o,n)=>Vp(t,r,o),t.values=new Set(e.values),Object.defineProperty(t,"value",{get(){if(e.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return e.values[0]}})});function L(t,e){return new db({type:"literal",values:Array.isArray(t)?t:[t],...v(e)})}const cb=b("ZodTransform",(t,e)=>{Pc.init(t,e),P.init(t,e),t._zod.processJSONSchema=(r,o,n)=>qp(t,r),t._zod.parse=(r,o)=>{if(o.direction==="backward")throw new Ii(t.constructor.name);r.addIssue=i=>{if(typeof i=="string")r.issues.push(Ae(i,r.value,e));else{const a=i;a.fatal&&(a.continue=!1),a.code??(a.code="custom"),a.input??(a.input=r.value),a.inst??(a.inst=t),r.issues.push(Ae(a))}};const n=e.transform(r.value,r);return n instanceof Promise?n.then(i=>(r.value=i,r)):(r.value=n,r)}});function pb(t){return new cb({type:"transform",transform:t})}const la=b("ZodOptional",(t,e)=>{qi.init(t,e),P.init(t,e),t._zod.processJSONSchema=(r,o,n)=>ra(t,r,o,n),t.unwrap=()=>t._zod.def.innerType});function jt(t){return new la({type:"optional",innerType:t})}const mb=b("ZodExactOptional",(t,e)=>{Tc.init(t,e),P.init(t,e),t._zod.processJSONSchema=(r,o,n)=>ra(t,r,o,n),t.unwrap=()=>t._zod.def.innerType});function bb(t){return new mb({type:"optional",innerType:t})}const ub=b("ZodNullable",(t,e)=>{Cc.init(t,e),P.init(t,e),t._zod.processJSONSchema=(r,o,n)=>rm(t,r,o,n),t.unwrap=()=>t._zod.def.innerType});function Rn(t){return new ub({type:"nullable",innerType:t})}const gb=b("ZodDefault",(t,e)=>{Nc.init(t,e),P.init(t,e),t._zod.processJSONSchema=(r,o,n)=>nm(t,r,o,n),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function fb(t,e){return new gb({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():Ci(e)}})}const hb=b("ZodPrefault",(t,e)=>{Zc.init(t,e),P.init(t,e),t._zod.processJSONSchema=(r,o,n)=>im(t,r,o,n),t.unwrap=()=>t._zod.def.innerType});function vb(t,e){return new hb({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():Ci(e)}})}const da=b("ZodNonOptional",(t,e)=>{Rc.init(t,e),P.init(t,e),t._zod.processJSONSchema=(r,o,n)=>om(t,r,o,n),t.unwrap=()=>t._zod.def.innerType});function wb(t,e){return new da({type:"nonoptional",innerType:t,...v(e)})}const xb=b("ZodCatch",(t,e)=>{Dc.init(t,e),P.init(t,e),t._zod.processJSONSchema=(r,o,n)=>am(t,r,o,n),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function yb(t,e){return new xb({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}const kb=b("ZodPipe",(t,e)=>{Uc.init(t,e),P.init(t,e),t._zod.processJSONSchema=(r,o,n)=>sm(t,r,o,n),t.in=e.in,t.out=e.out});function Dn(t,e){return new kb({type:"pipe",in:t,out:e})}const _b=b("ZodReadonly",(t,e)=>{Mc.init(t,e),P.init(t,e),t._zod.processJSONSchema=(r,o,n)=>lm(t,r,o,n),t.unwrap=()=>t._zod.def.innerType});function zb(t){return new _b({type:"readonly",innerType:t})}const Ab=b("ZodCustom",(t,e)=>{Bc.init(t,e),P.init(t,e),t._zod.processJSONSchema=(r,o,n)=>Wp(t,r)});function Sb(t,e={}){return Np(Ab,t,e)}function $b(t){return Zp(t)}var Eb=$({method:L("authorization_code"),audience:y(),scope:y(),clientId:y()}),Ob=$({method:L("client_credentials"),audience:y(),scope:y(),clientId:y(),clientSecret:y()}),Ib=$({method:L("self_signed"),issuer:y(),audience:y(),scope:y(),clientId:y(),clientSecret:y()}),Un=je("method",[Eb,Ob,Ib]),jb=je("type",[$({id:y(),type:L("self_signed"),issuer:y()}),$({id:y(),type:L("oauth"),issuer:y(),configUrl:y().url()})]),Pb=$({baseUrl:y().url()}),ca=$({id:y(),name:y(),description:y(),synchronizerId:y().optional(),identityProviderId:y(),ledgerApi:Pb,auth:Un,adminAuth:Un.optional()});$({connection:je("type",[$({type:L("memory")}),$({type:L("sqlite"),database:y()}),$({type:L("postgres"),host:y(),port:zr(),user:y(),password:y(),database:y()})])});$({idps:Ar(jb),networks:Ar(ca)});var Tb=Object.defineProperty,Cb=Object.getOwnPropertyDescriptor,pa=t=>{throw TypeError(t)},Do=(t,e,r,o)=>{for(var n=o>1?void 0:o?Cb(e,r):e,i=t.length-1,a;i>=0;i--)(a=t[i])&&(n=(o?a(e,r,n):a(n))||n);return o&&n&&Tb(e,r,n),n},ma=(t,e,r)=>e.has(t)||pa("Cannot "+r),Nb=(t,e,r)=>(ma(t,e,"read from private field"),r?r.call(t):e.get(t)),Zb=(t,e,r)=>e.has(t)?pa("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),Rb=(t,e,r,o)=>(ma(t,e,"write to private field"),e.set(t,r),r),tr;class Db extends Event{constructor(){super("network-edit-cancel",{bubbles:!0,composed:!0})}}class Ub extends Event{constructor(e){super("network-edit-save",{bubbles:!0,composed:!0}),this.network=e}}let Se=class extends k{constructor(){super(...arguments),Zb(this,tr,{ledgerApi:{},auth:{}}),this._error=""}get network(){return Nb(this,tr)}set network(t){Rb(this,tr,t)}connectedCallback(){super.connectedCallback()}handleSubmit(t){t.preventDefault();const e=ca.safeParse(this.network);if(e.success)this.dispatchEvent(new Ub(this.network));else{this._error="Invalid network data, please ensure all fields are set correctly",console.error("Error parsing network data: ",e.error);return}}renderAuthForm(t){typeof t.method>"u"&&Object.assign(t,{method:"authorization_code",clientId:"",audience:"",scope:""});const e=f`
|
|
902
|
-
<div>
|
|
903
|
-
<label for="authMethod">Method</label>
|
|
904
|
-
<select
|
|
905
|
-
class="form-select mb-3"
|
|
906
|
-
name="authMethod"
|
|
907
|
-
@change=${r=>{const o=r.target;if(t.method!==o.value){if(o.value==="authorization_code")Object.assign(t,{method:"authorization_code",clientId:t.clientId??"",audience:t.audience??"",scope:t.scope??""});else if(o.value==="self_signed")Object.assign(t,{method:"self_signed",clientId:t.clientId??"",audience:t.audience??"",scope:t.scope??"",issuer:t.issuer??"",clientSecret:t.clientSecret??""});else if(o.value==="client_credentials")Object.assign(t,{method:"client_credentials",clientId:t.clientId??"",audience:t.audience??"",scope:t.scope??"",clientSecret:t.clientSecret??""});else throw new Error(`Unsupported auth method: ${o.value}`);this.requestUpdate()}}}
|
|
908
|
-
.value=${t.method}
|
|
909
|
-
>
|
|
910
|
-
<option value="authorization_code">
|
|
911
|
-
authorization_code
|
|
912
|
-
</option>
|
|
913
|
-
<option value="client_credentials">
|
|
914
|
-
client_credentials
|
|
915
|
-
</option>
|
|
916
|
-
<option value="self_signed">self_signed</option>
|
|
917
|
-
</select>
|
|
918
|
-
</div>
|
|
919
|
-
|
|
920
|
-
<form-input
|
|
921
|
-
required
|
|
922
|
-
label="Client Id"
|
|
923
|
-
.value=${t.clientId}
|
|
924
|
-
@form-input-change=${r=>{t.clientId=r.value}}
|
|
925
|
-
></form-input>
|
|
926
|
-
<form-input
|
|
927
|
-
required
|
|
928
|
-
label="Audience"
|
|
929
|
-
.value=${t.audience}
|
|
930
|
-
@form-input-change=${r=>{t.audience=r.value}}
|
|
931
|
-
>
|
|
932
|
-
</form-input>
|
|
933
|
-
<form-input
|
|
934
|
-
required
|
|
935
|
-
label="Scope"
|
|
936
|
-
.value=${t.scope}
|
|
937
|
-
@form-input-change=${r=>{t.scope=r.value}}
|
|
938
|
-
></form-input>
|
|
939
|
-
`;if(t.method==="authorization_code")return f`${e}`;if(t.method==="client_credentials")return f`${e}
|
|
940
|
-
<form-input
|
|
941
|
-
required
|
|
942
|
-
label="Client Secret"
|
|
943
|
-
.value=${t.clientSecret}
|
|
944
|
-
@form-input-change=${r=>{t.clientSecret=r.value}}
|
|
945
|
-
></form-input>`;if(t.method==="self_signed")return f`${e}
|
|
946
|
-
<form-input
|
|
947
|
-
required
|
|
948
|
-
label="Issuer"
|
|
949
|
-
.value=${t.issuer}
|
|
950
|
-
@form-input-change=${r=>{t.issuer=r.value}}
|
|
951
|
-
></form-input>
|
|
952
|
-
<form-input
|
|
953
|
-
required
|
|
954
|
-
label="Client Secret"
|
|
955
|
-
.value=${t.clientSecret}
|
|
956
|
-
@form-input-change=${r=>{t.clientSecret=r.value}}
|
|
957
|
-
></form-input>`;throw new Error(`Unsupported auth method: ${JSON.stringify(t)}`)}render(){return f`
|
|
958
|
-
<form @submit=${this.handleSubmit}>
|
|
959
|
-
<form-input
|
|
960
|
-
required
|
|
961
|
-
label="Network Id"
|
|
962
|
-
text="A unique identifier for the network"
|
|
963
|
-
.value=${this.network.id??""}
|
|
964
|
-
@form-input-change=${t=>{this.network.id=t.value}}
|
|
965
|
-
></form-input>
|
|
966
|
-
|
|
967
|
-
<form-input
|
|
968
|
-
required
|
|
969
|
-
label="Name"
|
|
970
|
-
.value=${this.network.name??""}
|
|
971
|
-
@form-input-change=${t=>{this.network.name=t.value}}
|
|
972
|
-
></form-input>
|
|
973
|
-
|
|
974
|
-
<form-input
|
|
975
|
-
required
|
|
976
|
-
label="Description"
|
|
977
|
-
.value=${this.network.description??""}
|
|
978
|
-
@form-input-change=${t=>{this.network.description=t.value}}
|
|
979
|
-
></form-input>
|
|
980
|
-
|
|
981
|
-
<form-input
|
|
982
|
-
label="Synchronizer Id (Optional)"
|
|
983
|
-
.value=${this.network.synchronizerId??""}
|
|
984
|
-
@form-input-change=${t=>{this.network.synchronizerId=t.value===""?void 0:t.value}}
|
|
985
|
-
></form-input>
|
|
986
|
-
|
|
987
|
-
<form-input
|
|
988
|
-
required
|
|
989
|
-
label="Identity Provider Id"
|
|
990
|
-
.value=${this.network.identityProviderId??""}
|
|
991
|
-
@form-input-change=${t=>{this.network.identityProviderId=t.value}}
|
|
992
|
-
></form-input>
|
|
993
|
-
|
|
994
|
-
<form-input
|
|
995
|
-
required
|
|
996
|
-
label="Ledger API Base Url"
|
|
997
|
-
.value=${this.network.ledgerApi.baseUrl??""}
|
|
998
|
-
@form-input-change=${t=>{this.network.ledgerApi.baseUrl=t.value}}
|
|
999
|
-
></form-input>
|
|
1000
|
-
|
|
1001
|
-
<div>
|
|
1002
|
-
<h2 class="form-text mb-4 fw-bold">
|
|
1003
|
-
🔐 Configure User Auth
|
|
1004
|
-
</h2>
|
|
1005
|
-
<div class="form-control mb-3">
|
|
1006
|
-
${this.renderAuthForm(this.network.auth)}
|
|
1007
|
-
</div>
|
|
1008
|
-
</div>
|
|
1009
|
-
|
|
1010
|
-
<div>
|
|
1011
|
-
<h2 class="form-text mb-4 fw-bold">
|
|
1012
|
-
🔐 Configure Admin Auth (optional)
|
|
1013
|
-
</h2>
|
|
1014
|
-
<div class="form-control mb-3">
|
|
1015
|
-
${typeof this.network.adminAuth>"u"?f`<button
|
|
1016
|
-
class="btn btn-sm btn-primary mb-2"
|
|
1017
|
-
type="button"
|
|
1018
|
-
@click=${()=>{this.network.adminAuth={method:"client_credentials",clientId:"",audience:"",scope:"",clientSecret:""},this.requestUpdate()}}
|
|
1019
|
-
>
|
|
1020
|
-
+
|
|
1021
|
-
</button>`:f`<button
|
|
1022
|
-
class="btn btn-sm btn-secondary mb-2"
|
|
1023
|
-
type="button"
|
|
1024
|
-
@click=${()=>{this.network.adminAuth=void 0,this.requestUpdate()}}
|
|
1025
|
-
>
|
|
1026
|
-
clear
|
|
1027
|
-
</button>
|
|
1028
|
-
${this.renderAuthForm(this.network.adminAuth)}`}
|
|
1029
|
-
</div>
|
|
1030
|
-
</div>
|
|
1031
|
-
|
|
1032
|
-
<div class="mt-1 mb-1 text-danger">${this._error}</div>
|
|
1033
|
-
|
|
1034
|
-
<div>
|
|
1035
|
-
<button class="btn btn-sm btn-primary" type="submit">
|
|
1036
|
-
Save
|
|
1037
|
-
</button>
|
|
1038
|
-
<button
|
|
1039
|
-
class="btn btn-sm btn-secondary"
|
|
1040
|
-
type="button"
|
|
1041
|
-
@click=${()=>this.dispatchEvent(new Db)}
|
|
1042
|
-
>
|
|
1043
|
-
Cancel
|
|
1044
|
-
</button>
|
|
1045
|
-
</div>
|
|
1046
|
-
</form>
|
|
1047
|
-
`}};tr=new WeakMap;Se.styles=[k.styles];Do([w({type:Object})],Se.prototype,"network",1);Do([G()],Se.prototype,"_error",2);Se=Do([M("network-form")],Se);var Mb=Object.defineProperty,Bb=Object.getOwnPropertyDescriptor,ba=t=>{throw TypeError(t)},Zt=(t,e,r,o)=>{for(var n=o>1?void 0:o?Bb(e,r):e,i=t.length-1,a;i>=0;i--)(a=t[i])&&(n=(o?a(e,r,n):a(n))||n);return o&&n&&Mb(e,r,n),n},ua=(t,e,r)=>e.has(t)||ba("Cannot "+r),Bt=(t,e,r)=>(ua(t,e,"read from private field"),r?r.call(t):e.get(t)),Lt=(t,e,r)=>e.has(t)?ba("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),Ft=(t,e,r,o)=>(ua(t,e,"write to private field"),e.set(t,r),r),er,rr,or,nr,ir,ar;let ct=class extends k{constructor(){super(...arguments),Lt(this,er,[]),Lt(this,rr,[]),Lt(this,or,!1),Lt(this,nr,!1),Lt(this,ir,null),Lt(this,ar,this.editingNetwork?.auth?.method??"authorization_code"),this.openAddModal=()=>{this.isModalOpen=!0,this.editingNetwork=null},this.closeModal=()=>{this.isModalOpen=!1}}get networks(){return Bt(this,er)}set networks(t){Ft(this,er,t)}get activeSessions(){return Bt(this,rr)}set activeSessions(t){Ft(this,rr,t)}get readonly(){return Bt(this,or)}set readonly(t){Ft(this,or,t)}get isModalOpen(){return Bt(this,nr)}set isModalOpen(t){Ft(this,nr,t)}get editingNetwork(){return Bt(this,ir)}set editingNetwork(t){Ft(this,ir,t)}get authType(){return Bt(this,ar)}set authType(t){Ft(this,ar,t)}connectedCallback(){super.connectedCallback()}render(){return f`
|
|
1048
|
-
<div class="mb-5">
|
|
1049
|
-
<div class="header">
|
|
1050
|
-
<h1>Networks</h1>
|
|
1051
|
-
</div>
|
|
1052
|
-
|
|
1053
|
-
${this.readonly?"":f`<button
|
|
1054
|
-
class="btn btn-primary"
|
|
1055
|
-
@click=${this.openAddModal}
|
|
1056
|
-
>
|
|
1057
|
-
Add Network
|
|
1058
|
-
</button>`}
|
|
1059
|
-
|
|
1060
|
-
<div class="mt-2">
|
|
1061
|
-
<network-table
|
|
1062
|
-
.networks=${this.networks}
|
|
1063
|
-
.activeSessions=${this.activeSessions}
|
|
1064
|
-
.readonly=${this.readonly}
|
|
1065
|
-
></network-table>
|
|
1066
|
-
</div>
|
|
1067
|
-
|
|
1068
|
-
${this.isModalOpen?f`
|
|
1069
|
-
<div class="modal" @click=${this.closeModal}>
|
|
1070
|
-
<div
|
|
1071
|
-
class="modal-content"
|
|
1072
|
-
@click=${t=>t.stopPropagation()}
|
|
1073
|
-
>
|
|
1074
|
-
<h3>
|
|
1075
|
-
${this.editingNetwork?"Edit Network":"Add Network"}
|
|
1076
|
-
</h3>
|
|
1077
|
-
<network-form
|
|
1078
|
-
.editingNetwork=${this.editingNetwork}
|
|
1079
|
-
.authType=${this.authType}
|
|
1080
|
-
@network-edit-save=${this.closeModal}
|
|
1081
|
-
@network-edit-cancel=${this.closeModal}
|
|
1082
|
-
></network-form>
|
|
1083
|
-
</div>
|
|
1084
|
-
</div>
|
|
1085
|
-
`:""}
|
|
1086
|
-
</div>
|
|
1087
|
-
`}};er=new WeakMap;rr=new WeakMap;or=new WeakMap;nr=new WeakMap;ir=new WeakMap;ar=new WeakMap;ct.styles=[k.styles,$i,K`
|
|
1088
|
-
@media (max-width: 600px) {
|
|
1089
|
-
.card-list {
|
|
1090
|
-
grid-template-columns: 1fr;
|
|
1091
|
-
}
|
|
1092
|
-
.network-card {
|
|
1093
|
-
padding: 0.7rem;
|
|
1094
|
-
}
|
|
1095
|
-
}
|
|
1096
|
-
`];Zt([w({type:Array})],ct.prototype,"networks",1);Zt([w({type:Array})],ct.prototype,"activeSessions",1);Zt([w({type:Boolean})],ct.prototype,"readonly",1);Zt([G()],ct.prototype,"isModalOpen",1);Zt([G()],ct.prototype,"editingNetwork",1);Zt([G()],ct.prototype,"authType",1);ct=Zt([M("wg-networks")],ct);var Lb=Object.defineProperty,Fb=Object.getOwnPropertyDescriptor,ga=(t,e,r,o)=>{for(var n=o>1?void 0:o?Fb(e,r):e,i=t.length-1,a;i>=0;i--)(a=t[i])&&(n=(o?a(e,r,n):a(n))||n);return o&&n&&Lb(e,r,n),n};let Sr=class extends k{constructor(){super(...arguments),this.href="/"}render(){return f`
|
|
1097
|
-
<div>
|
|
1098
|
-
<h1>404</h1>
|
|
1099
|
-
<h3>
|
|
1100
|
-
We are sorry, the page you are trying to view cannot be
|
|
1101
|
-
found. It may have been moved or deleted.
|
|
1102
|
-
</h3>
|
|
1103
|
-
<button
|
|
1104
|
-
type="button"
|
|
1105
|
-
class="btn btn-secondary btn-lg"
|
|
1106
|
-
@click=${()=>window.location.href=Qt(this.href)}
|
|
1107
|
-
>
|
|
1108
|
-
Go to home page
|
|
1109
|
-
</button>
|
|
1110
|
-
</div>
|
|
1111
|
-
`}};Sr.styles=[k.styles,K`
|
|
1112
|
-
div,
|
|
1113
|
-
h1,
|
|
1114
|
-
h3 {
|
|
1115
|
-
text-align: center;
|
|
1116
|
-
}
|
|
1117
|
-
|
|
1118
|
-
.btn {
|
|
1119
|
-
margin: 0 auto;
|
|
1120
|
-
}
|
|
1121
|
-
|
|
1122
|
-
h1 {
|
|
1123
|
-
font-weight: 700;
|
|
1124
|
-
font-size: 110px;
|
|
1125
|
-
color: var(--bs-dark);
|
|
1126
|
-
}
|
|
1127
|
-
|
|
1128
|
-
h3 {
|
|
1129
|
-
margin: 20px 0 30px;
|
|
1130
|
-
}
|
|
1131
|
-
`];ga([w({type:String})],Sr.prototype,"href",2);Sr=ga([M("not-found")],Sr);var Gb=Object.defineProperty,Jb=Object.getOwnPropertyDescriptor,fa=(t,e,r,o)=>{for(var n=o>1?void 0:o?Jb(e,r):e,i=t.length-1,a;i>=0;i--)(a=t[i])&&(n=(o?a(e,r,n):a(n))||n);return o&&n&&Gb(e,r,n),n};let $r=class extends k{constructor(){super(...arguments),this.sessions=[]}connectedCallback(){super.connectedCallback()}render(){return f`
|
|
1132
|
-
<div class="mb-5">
|
|
1133
|
-
<div class="header"><h1>Sessions</h1></div>
|
|
1134
|
-
<div class="table-container">
|
|
1135
|
-
<table>
|
|
1136
|
-
<thead>
|
|
1137
|
-
<tr>
|
|
1138
|
-
<th>Network ID</th>
|
|
1139
|
-
<th>Status</th>
|
|
1140
|
-
<th>Reason</th>
|
|
1141
|
-
<th>Access Token</th>
|
|
1142
|
-
</tr>
|
|
1143
|
-
</thead>
|
|
1144
|
-
<tbody>
|
|
1145
|
-
${this.sessions.map(t=>f`
|
|
1146
|
-
<tr>
|
|
1147
|
-
<td>${t.network.id}</td>
|
|
1148
|
-
<td>
|
|
1149
|
-
${t.status==="connected"?"🟢":"🔴"}
|
|
1150
|
-
</td>
|
|
1151
|
-
<td>${t.reason}</td>
|
|
1152
|
-
<td>
|
|
1153
|
-
<button
|
|
1154
|
-
type="button"
|
|
1155
|
-
class="btn btn-primary btn-sm"
|
|
1156
|
-
@click=${()=>navigator.clipboard.writeText(t.accessToken)}
|
|
1157
|
-
title="Copy access token"
|
|
1158
|
-
>
|
|
1159
|
-
Copy to clipboard
|
|
1160
|
-
</button>
|
|
1161
|
-
</td>
|
|
1162
|
-
</tr>
|
|
1163
|
-
`)}
|
|
1164
|
-
</tbody>
|
|
1165
|
-
</table>
|
|
1166
|
-
</div>
|
|
1167
|
-
</div>
|
|
1168
|
-
`}};$r.styles=[k.styles,K`
|
|
1169
|
-
.table-container {
|
|
1170
|
-
display: grid;
|
|
1171
|
-
grid-template-columns: 1fr;
|
|
1172
|
-
width: 100%;
|
|
1173
|
-
overflow-x: auto;
|
|
1174
|
-
}
|
|
1175
|
-
table {
|
|
1176
|
-
width: 100%;
|
|
1177
|
-
border: 1px solid var(--bs-border-color);
|
|
1178
|
-
border-collapse: collapse;
|
|
1179
|
-
background: #fff;
|
|
1180
|
-
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
|
|
1181
|
-
}
|
|
1182
|
-
th,
|
|
1183
|
-
td {
|
|
1184
|
-
padding: 0.75rem 0.5rem;
|
|
1185
|
-
border-bottom: 1px solid #eee;
|
|
1186
|
-
text-align: left;
|
|
1187
|
-
font-size: 1rem;
|
|
1188
|
-
}
|
|
1189
|
-
th {
|
|
1190
|
-
background: var(--bs-secondary-bg);
|
|
1191
|
-
font-weight: 600;
|
|
1192
|
-
}
|
|
1193
|
-
`];fa([w({type:Array})],$r.prototype,"sessions",2);$r=fa([M("wg-sessions")],$r);y().regex(/^[a-zA-Z0-9:_-]*::[a-z0-9]*/,"Invalid party ID format");var Yb=$({method:y(),params:jt(Zo([Ar(ne()),sb(y(),ne())]))}),Hb=$({result:jt(ne())}),lo=$({error:$({code:zr(),message:y(),data:jt(y().or(zr()).or(qm()).or(ia()).or(ne()))})}),Vb=Zo([Hb,lo]),ha=$({jsonrpc:L("2.0"),id:jt(y().or(zr()).or(Km()).or(ia()))}),Wb=Ro(ha,Yb),qb=Ro(ha,Vb);je("type",[$({type:L("SPLICE_WALLET_REQUEST"),request:Wb}),$({type:L("SPLICE_WALLET_RESPONSE"),response:qb}),$({type:L("SPLICE_WALLET_EXT_READY")}),$({type:L("SPLICE_WALLET_EXT_ACK")}),$({type:L("SPLICE_WALLET_EXT_OPEN"),url:y().url()}),$({type:L("SPLICE_WALLET_IDP_AUTH_SUCCESS"),token:y(),sessionId:y()})]);je("walletType",[$({walletType:L("extension"),url:jt(aa())}),$({walletType:L("remote"),url:y().url()})]);$({name:y()});function Xb(t,e){const r=document.createElement("custom-toast");let o=-1,n="";if(t instanceof Error&&(n=t.message),lo.safeParse(t).success){const i=lo.parse(t);o=i.error.code,n=i.error.message}switch(o){case-32600:r.title="Invalid Request";break;case-32601:r.title="Method Not Found";break;case-32602:r.title="Invalid Parameters";break;case-32603:r.title="Internal Error";break;case 413:r.title="Payload Too Large";break;case 429:r.title="Too Many Requests";break;default:r.title=e?.title||"Unexpected Error";break}r.message=n||e?.message||"Something went wrong. Please try again.",r.type="error",r.buttonText=e?.buttonText||"Dismiss",document.body.appendChild(r)}var Kb=Object.defineProperty,Qb=Object.getOwnPropertyDescriptor,va=t=>{throw TypeError(t)},Pe=(t,e,r,o)=>{for(var n=o>1?void 0:o?Qb(e,r):e,i=t.length-1,a;i>=0;i--)(a=t[i])&&(n=(o?a(e,r,n):a(n))||n);return o&&n&&Kb(e,r,n),n},wa=(t,e,r)=>e.has(t)||va("Cannot "+r),Mn=(t,e,r)=>(wa(t,e,"read from private field"),r?r.call(t):e.get(t)),Bn=(t,e,r)=>e.has(t)?va("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),Ln=(t,e,r,o)=>(wa(t,e,"write to private field"),e.set(t,r),r),sr,lr;let Pt=class extends k{constructor(){super(...arguments),this.wallets=[],this.client=null,Bn(this,sr,!1),Bn(this,lr,!1),this.syncWallets=async()=>{if(!(!this.client||this.isSyncing)){this.isSyncing=!0;try{const t=await this.client.request({method:"syncWallets"}),e=t.added,r=t.removed,o=e.filter(s=>s.disabled===!0),n=new Set(r.map(s=>s.partyId));this.wallets=this.wallets.filter(s=>!n.has(s.partyId)),this.wallets=[...this.wallets,...e];let i=`Added: ${e.length} wallet${e.length!==1?"s":""}`;o.length>0&&(i+=` (${o.length} disabled)`),i+=`. Removed: ${r.length} wallet${r.length!==1?"s":""}.`;const a=new lt;a.title="Wallet Sync Complete",a.message=i,a.type="success",document.body.appendChild(a),await this.checkWalletSyncNeeded(),this.dispatchEvent(new CustomEvent("sync-success",{detail:{},bubbles:!0,composed:!0}))}catch(t){Xb(t)}finally{this.isSyncing=!1}}}}get isSyncNeeded(){return Mn(this,sr)}set isSyncNeeded(t){Ln(this,sr,t)}get isSyncing(){return Mn(this,lr)}set isSyncing(t){Ln(this,lr,t)}connectedCallback(){super.connectedCallback(),this.checkWalletSyncNeeded()}async checkWalletSyncNeeded(){if(this.client)try{const t=await this.client.request({method:"isWalletSyncNeeded"});this.isSyncNeeded=t?.walletSyncNeeded===!0}catch{this.isSyncNeeded=!0}}render(){const t=f`
|
|
1194
|
-
<svg
|
|
1195
|
-
class="sync-icon ${this.isSyncing?"spinning":""}"
|
|
1196
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
1197
|
-
viewBox="0 0 16 16"
|
|
1198
|
-
fill="currentColor"
|
|
1199
|
-
>
|
|
1200
|
-
<path
|
|
1201
|
-
fill-rule="evenodd"
|
|
1202
|
-
d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z"
|
|
1203
|
-
/>
|
|
1204
|
-
<path
|
|
1205
|
-
d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z"
|
|
1206
|
-
/>
|
|
1207
|
-
</svg>
|
|
1208
|
-
`;return f`
|
|
1209
|
-
<div class="sync-container">
|
|
1210
|
-
<button
|
|
1211
|
-
class="sync-button ${this.isSyncNeeded?"out-of-sync":""}"
|
|
1212
|
-
.disabled=${!this.client||this.isSyncing}
|
|
1213
|
-
@click=${this.syncWallets}
|
|
1214
|
-
title="${this.isSyncing?"Syncing...":this.isSyncNeeded?"need sync":"in sync"}"
|
|
1215
|
-
>
|
|
1216
|
-
${t}
|
|
1217
|
-
</button>
|
|
1218
|
-
</div>
|
|
1219
|
-
`}};sr=new WeakMap;lr=new WeakMap;Pt.styles=[k.styles,K`
|
|
1220
|
-
.sync-container {
|
|
1221
|
-
display: inline-flex;
|
|
1222
|
-
align-items: center;
|
|
1223
|
-
gap: 0.5rem;
|
|
1224
|
-
}
|
|
1225
|
-
|
|
1226
|
-
.sync-button {
|
|
1227
|
-
display: inline-flex;
|
|
1228
|
-
align-items: center;
|
|
1229
|
-
justify-content: center;
|
|
1230
|
-
width: 1.5rem;
|
|
1231
|
-
height: 1.5rem;
|
|
1232
|
-
border-radius: 50%;
|
|
1233
|
-
border: none;
|
|
1234
|
-
background-color: var(--bs-primary);
|
|
1235
|
-
color: white;
|
|
1236
|
-
cursor: pointer;
|
|
1237
|
-
transition: all 0.2s;
|
|
1238
|
-
position: relative;
|
|
1239
|
-
}
|
|
1240
|
-
|
|
1241
|
-
.sync-button:hover:not(:disabled) {
|
|
1242
|
-
background-color: var(--bs-primary-dark, #0056b3);
|
|
1243
|
-
transform: scale(1.05);
|
|
1244
|
-
}
|
|
1245
|
-
|
|
1246
|
-
.sync-button:disabled {
|
|
1247
|
-
opacity: 0.6;
|
|
1248
|
-
cursor: not-allowed;
|
|
1249
|
-
}
|
|
1250
|
-
|
|
1251
|
-
.sync-button.out-of-sync {
|
|
1252
|
-
background-color: var(--bs-warning, #ffc107);
|
|
1253
|
-
animation: pulse 2s infinite;
|
|
1254
|
-
}
|
|
1255
|
-
|
|
1256
|
-
.sync-button.out-of-sync:hover:not(:disabled) {
|
|
1257
|
-
background-color: var(--bs-warning-dark, #e0a800);
|
|
1258
|
-
}
|
|
1259
|
-
|
|
1260
|
-
.sync-icon {
|
|
1261
|
-
width: 1.25rem;
|
|
1262
|
-
height: 1.25rem;
|
|
1263
|
-
fill: currentColor;
|
|
1264
|
-
}
|
|
1265
|
-
|
|
1266
|
-
.sync-icon.spinning {
|
|
1267
|
-
animation: spin 1s linear infinite;
|
|
1268
|
-
}
|
|
1269
|
-
|
|
1270
|
-
@keyframes spin {
|
|
1271
|
-
from {
|
|
1272
|
-
transform: rotate(0deg);
|
|
1273
|
-
}
|
|
1274
|
-
to {
|
|
1275
|
-
transform: rotate(360deg);
|
|
1276
|
-
}
|
|
1277
|
-
}
|
|
1278
|
-
|
|
1279
|
-
@keyframes pulse {
|
|
1280
|
-
0%,
|
|
1281
|
-
100% {
|
|
1282
|
-
opacity: 1;
|
|
1283
|
-
}
|
|
1284
|
-
50% {
|
|
1285
|
-
opacity: 0.7;
|
|
1286
|
-
}
|
|
1287
|
-
}
|
|
1288
|
-
|
|
1289
|
-
.sync-status {
|
|
1290
|
-
font-size: 0.875rem;
|
|
1291
|
-
color: var(--bs-secondary);
|
|
1292
|
-
}
|
|
1293
|
-
`];Pe([w()],Pt.prototype,"wallets",2);Pe([w({attribute:!1})],Pt.prototype,"client",2);Pe([G()],Pt.prototype,"isSyncNeeded",1);Pe([G()],Pt.prototype,"isSyncing",1);Pt=Pe([M("wg-wallets-sync")],Pt);var tu=Object.defineProperty,eu=Object.getOwnPropertyDescriptor,xa=t=>{throw TypeError(t)},Rt=(t,e,r,o)=>{for(var n=o>1?void 0:o?eu(e,r):e,i=t.length-1,a;i>=0;i--)(a=t[i])&&(n=(o?a(e,r,n):a(n))||n);return o&&n&&tu(e,r,n),n},ya=(t,e,r)=>e.has(t)||xa("Cannot "+r),Ue=(t,e,r)=>(ya(t,e,"read from private field"),r?r.call(t):e.get(t)),Me=(t,e,r)=>e.has(t)?xa("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),Be=(t,e,r,o)=>(ya(t,e,"write to private field"),e.set(t,r),r),dr,cr,pr,mr;class ru extends Event{constructor(e,r,o){super("wallet-create",{bubbles:!0,composed:!0}),this.partyHint=e,this.signingProviderId=r,this.primary=o}}let pt=class extends k{constructor(){super(...arguments),this.signingProviders=[],this.loading=!1,Me(this,dr,null),Me(this,cr,null),Me(this,pr,null),Me(this,mr,null)}get successMessage(){return Ue(this,dr)}set successMessage(t){Be(this,dr,t)}get _partyHintInput(){return Ue(this,cr)}set _partyHintInput(t){Be(this,cr,t)}get _signingProviderSelect(){return Ue(this,pr)}set _signingProviderSelect(t){Be(this,pr,t)}get _primaryCheckbox(){return Ue(this,mr)}set _primaryCheckbox(t){Be(this,mr,t)}_onSubmit(t){t.preventDefault();const e=this._partyHintInput?.value||"",r=this._signingProviderSelect?.value||"",o=this._primaryCheckbox?.checked||!1;this.dispatchEvent(new ru(e,r,o))}reset(){this._partyHintInput&&(this._partyHintInput.value=""),this._primaryCheckbox&&(this._primaryCheckbox.checked=!1),this.successMessage=null}render(){return f`
|
|
1294
|
-
<div class="card shadow-sm">
|
|
1295
|
-
<div class="card-body">
|
|
1296
|
-
<form id="create-wallet-form" @submit=${this._onSubmit}>
|
|
1297
|
-
<div class="mb-3">
|
|
1298
|
-
<label for="party-id-hint" class="form-label"
|
|
1299
|
-
>Party ID Hint:</label
|
|
1300
|
-
>
|
|
1301
|
-
<input
|
|
1302
|
-
?disabled=${this.loading}
|
|
1303
|
-
class="form-control"
|
|
1304
|
-
id="party-id-hint"
|
|
1305
|
-
type="text"
|
|
1306
|
-
placeholder="Enter party ID hint"
|
|
1307
|
-
required
|
|
1308
|
-
/>
|
|
1309
|
-
</div>
|
|
1310
|
-
|
|
1311
|
-
<div class="mb-3">
|
|
1312
|
-
<label for="signing-provider-id" class="form-label"
|
|
1313
|
-
>Signing Provider:</label
|
|
1314
|
-
>
|
|
1315
|
-
<select
|
|
1316
|
-
class="form-select"
|
|
1317
|
-
id="signing-provider-id"
|
|
1318
|
-
>
|
|
1319
|
-
<option disabled value="">
|
|
1320
|
-
Signing provider for wallet
|
|
1321
|
-
</option>
|
|
1322
|
-
${this.signingProviders.map(t=>f`<option value=${t}>
|
|
1323
|
-
${t}
|
|
1324
|
-
</option>`)}
|
|
1325
|
-
</select>
|
|
1326
|
-
</div>
|
|
1327
|
-
|
|
1328
|
-
<div
|
|
1329
|
-
class="mb-3 form-check d-flex align-items-center gap-2"
|
|
1330
|
-
>
|
|
1331
|
-
<input
|
|
1332
|
-
id="primary"
|
|
1333
|
-
type="checkbox"
|
|
1334
|
-
class="form-check-input"
|
|
1335
|
-
/>
|
|
1336
|
-
<label for="primary" class="form-check-label"
|
|
1337
|
-
>Set as primary wallet</label
|
|
1338
|
-
>
|
|
1339
|
-
</div>
|
|
1340
|
-
|
|
1341
|
-
<button
|
|
1342
|
-
class="btn btn-primary"
|
|
1343
|
-
?disabled=${this.loading}
|
|
1344
|
-
type="submit"
|
|
1345
|
-
>
|
|
1346
|
-
Create
|
|
1347
|
-
</button>
|
|
1348
|
-
</form>
|
|
1349
|
-
${this.successMessage?f`<p class="mt-2">${this.successMessage}</p>`:""}
|
|
1350
|
-
</div>
|
|
1351
|
-
</div>
|
|
1352
|
-
`}};dr=new WeakMap;cr=new WeakMap;pr=new WeakMap;mr=new WeakMap;pt.styles=[k.styles];Rt([w({type:Array})],pt.prototype,"signingProviders",2);Rt([w({type:Boolean})],pt.prototype,"loading",2);Rt([G()],pt.prototype,"successMessage",1);Rt([$o("#party-id-hint")],pt.prototype,"_partyHintInput",1);Rt([$o("#signing-provider-id")],pt.prototype,"_signingProviderSelect",1);Rt([$o("#primary")],pt.prototype,"_primaryCheckbox",1);pt=Rt([M("wg-wallet-create-form")],pt);var ou=Object.defineProperty,nu=Object.getOwnPropertyDescriptor,Fr=(t,e,r,o)=>{for(var n=o>1?void 0:o?nu(e,r):e,i=t.length-1,a;i>=0;i--)(a=t[i])&&(n=(o?a(e,r,n):a(n))||n);return o&&n&&ou(e,r,n),n};class iu extends Event{constructor(e){super("wallet-set-primary",{bubbles:!0,composed:!0}),this.wallet=e}}class au extends Event{constructor(e){super("wallet-copy-party-id",{bubbles:!0,composed:!0}),this.partyId=e}}class su extends Event{constructor(e){super("wallet-allocate",{bubbles:!0,composed:!0}),this.wallet=e}}let ie=class extends k{constructor(){super(...arguments),this.wallet=null,this.verified=!1,this.loading=!1}_renderWalletInfo(){return this.wallet?f`
|
|
1353
|
-
<h5 class="card-title text-primary fw-semibold text-break">
|
|
1354
|
-
${this.wallet.hint||this.wallet.partyId}
|
|
1355
|
-
${this.wallet.primary?f`<span class="text-success">(Primary)</span>`:""}
|
|
1356
|
-
${this.wallet.disabled?f`<span class="text-danger">(Disabled)</span>`:""}
|
|
1357
|
-
</h5>
|
|
1358
|
-
<p class="card-text text-muted text-break">
|
|
1359
|
-
<strong>Party ID:</strong> ${this.wallet.partyId}<br />
|
|
1360
|
-
<strong>Network:</strong> ${this.wallet.networkId}<br />
|
|
1361
|
-
<strong>Signing Provider:</strong>
|
|
1362
|
-
${this.wallet.signingProviderId}
|
|
1363
|
-
${this.wallet.disabled?f`<br /><strong>Disabled:</strong> Yes`:""}
|
|
1364
|
-
${this.wallet.reason?f`<br /><strong>Reason:</strong> ${this.wallet.reason}`:""}
|
|
1365
|
-
</p>
|
|
1366
|
-
`:f`<p>No wallet supplied</p>`}_renderActions(){return this.wallet?this.verified?f`
|
|
1367
|
-
<div class="d-flex gap-2 mt-2">
|
|
1368
|
-
<button
|
|
1369
|
-
class="btn btn-sm btn-outline-secondary"
|
|
1370
|
-
?disabled=${this.wallet.disabled}
|
|
1371
|
-
@click=${()=>this.dispatchEvent(new iu(this.wallet))}
|
|
1372
|
-
>
|
|
1373
|
-
Set Primary
|
|
1374
|
-
</button>
|
|
1375
|
-
<button
|
|
1376
|
-
class="btn btn-sm btn-outline-secondary"
|
|
1377
|
-
@click=${()=>this.dispatchEvent(new au(this.wallet.partyId))}
|
|
1378
|
-
>
|
|
1379
|
-
Copy Party ID
|
|
1380
|
-
</button>
|
|
1381
|
-
</div>
|
|
1382
|
-
`:f`
|
|
1383
|
-
<div class="d-flex gap-2 mt-2">
|
|
1384
|
-
<button
|
|
1385
|
-
class="btn btn-sm btn-outline-secondary"
|
|
1386
|
-
?disabled=${this.loading}
|
|
1387
|
-
@click=${()=>this.dispatchEvent(new su(this.wallet))}
|
|
1388
|
-
>
|
|
1389
|
-
Allocate party
|
|
1390
|
-
</button>
|
|
1391
|
-
</div>
|
|
1392
|
-
`:""}connectedCallback(){super.connectedCallback(),this._syncPartyIdAttribute()}updated(){this._syncPartyIdAttribute()}_syncPartyIdAttribute(){this.wallet?.partyId?this.setAttribute("party-id",this.wallet.partyId):this.removeAttribute("party-id")}render(){return f`
|
|
1393
|
-
<div class="card shadow-sm">
|
|
1394
|
-
<div class="card-body">
|
|
1395
|
-
${this._renderWalletInfo()} ${this._renderActions()}
|
|
1396
|
-
</div>
|
|
1397
|
-
</div>
|
|
1398
|
-
`}};ie.styles=[k.styles,Rr];Fr([w({type:Object})],ie.prototype,"wallet",2);Fr([w({type:Boolean})],ie.prototype,"verified",2);Fr([w({type:Boolean})],ie.prototype,"loading",2);ie=Fr([M("wg-wallet-card")],ie);var lu=Object.defineProperty,du=Object.getOwnPropertyDescriptor,ka=t=>{throw TypeError(t)},Dt=(t,e,r,o)=>{for(var n=o>1?void 0:o?du(e,r):e,i=t.length-1,a;i>=0;i--)(a=t[i])&&(n=(o?a(e,r,n):a(n))||n);return o&&n&&lu(e,r,n),n},_a=(t,e,r)=>e.has(t)||ka("Cannot "+r),Le=(t,e,r)=>(_a(t,e,"read from private field"),r?r.call(t):e.get(t)),Fe=(t,e,r)=>e.has(t)?ka("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),Ge=(t,e,r,o)=>(_a(t,e,"write to private field"),e.set(t,r),r),br,ur,gr,fr;class cu extends Event{constructor(e,r,o){super("login-connect",{bubbles:!0,composed:!0}),this.selectedNetwork=e,this.selectedIdp=r,this.clientId=o}}let mt=class extends k{constructor(){super(...arguments),this.networks=[],this.idps=[],Fe(this,br,null),Fe(this,ur,null),Fe(this,gr,null),Fe(this,fr,null)}get selectedNetwork(){return Le(this,br)}set selectedNetwork(t){Ge(this,br,t)}get selectedIdp(){return Le(this,ur)}set selectedIdp(t){Ge(this,ur,t)}get message(){return Le(this,gr)}set message(t){Ge(this,gr,t)}get messageType(){return Le(this,fr)}set messageType(t){Ge(this,fr,t)}handleChange(t){const e=parseInt(t.target.value);this.selectedNetwork=this.networks[e]??null,this.selectedIdp=this.idps.find(r=>r.id===this.selectedNetwork?.identityProviderId)??null,this.message=null}handleConnect(){if(this.message=null,!this.selectedNetwork){this.messageType="error",this.message="Please select a network before connecting.";return}const t=this.idps.find(r=>r.id===this.selectedNetwork?.identityProviderId);if(!t){this.messageType="error",this.message="Identity provider misconfigured for this network.";return}const e=this.renderRoot.querySelector("#client-id")?.value||this.selectedNetwork.auth.clientId;this.dispatchEvent(new cu(this.selectedNetwork,t,e))}setMessage(t,e){this.message=t,this.messageType=e}clearMessage(){this.message=null,this.messageType=null}render(){return f`
|
|
1399
|
-
<div class="card shadow" style="max-width: 360px;">
|
|
1400
|
-
<div class="card-body d-flex flex-column gap-3 text-center">
|
|
1401
|
-
<h1 class="card-title h5">Sign in to Canton Network</h1>
|
|
1402
|
-
|
|
1403
|
-
<select
|
|
1404
|
-
id="network"
|
|
1405
|
-
class="form-select"
|
|
1406
|
-
@change=${this.handleChange}
|
|
1407
|
-
>
|
|
1408
|
-
<option value="">Select Network</option>
|
|
1409
|
-
${this.networks.map((t,e)=>f`<option
|
|
1410
|
-
value=${e}
|
|
1411
|
-
?disabled=${t.auth.method=="client_credentials"}
|
|
1412
|
-
>
|
|
1413
|
-
${t.name}
|
|
1414
|
-
</option>`)}
|
|
1415
|
-
</select>
|
|
1416
|
-
|
|
1417
|
-
${this.selectedIdp?.type==="self_signed"?f`
|
|
1418
|
-
<input
|
|
1419
|
-
type="text"
|
|
1420
|
-
class="form-control"
|
|
1421
|
-
title="client id"
|
|
1422
|
-
id="client-id"
|
|
1423
|
-
.value=${this.selectedNetwork?.auth.clientId||""}
|
|
1424
|
-
/>
|
|
1425
|
-
`:null}
|
|
1426
|
-
<button
|
|
1427
|
-
class="btn btn-primary w-100"
|
|
1428
|
-
@click=${this.handleConnect}
|
|
1429
|
-
>
|
|
1430
|
-
Connect
|
|
1431
|
-
</button>
|
|
1432
|
-
|
|
1433
|
-
${this.message?f`<div
|
|
1434
|
-
class="alert ${this.messageType==="error"?"alert-danger":"alert-success"} py-2"
|
|
1435
|
-
>
|
|
1436
|
-
${this.message}
|
|
1437
|
-
</div>`:f`<p class="text-body-secondary small mb-0">
|
|
1438
|
-
${this.selectedNetwork?`Selected: ${this.selectedNetwork.name}`:"Please choose a network"}
|
|
1439
|
-
</p>`}
|
|
1440
|
-
</div>
|
|
1441
|
-
</div>
|
|
1442
|
-
`}};br=new WeakMap;ur=new WeakMap;gr=new WeakMap;fr=new WeakMap;mt.styles=[k.styles,K`
|
|
1443
|
-
:host {
|
|
1444
|
-
display: flex;
|
|
1445
|
-
align-items: center;
|
|
1446
|
-
justify-content: center;
|
|
1447
|
-
width: 100%;
|
|
1448
|
-
padding: 1.5rem;
|
|
1449
|
-
box-sizing: border-box;
|
|
1450
|
-
background: transparent;
|
|
1451
|
-
}
|
|
1452
|
-
`];Dt([w({type:Array})],mt.prototype,"networks",2);Dt([w({type:Array})],mt.prototype,"idps",2);Dt([G()],mt.prototype,"selectedNetwork",1);Dt([G()],mt.prototype,"selectedIdp",1);Dt([G()],mt.prototype,"message",1);Dt([G()],mt.prototype,"messageType",1);mt=Dt([M("wg-login-form")],mt);var pu=Object.defineProperty,mu=Object.getOwnPropertyDescriptor,bt=(t,e,r,o)=>{for(var n=o>1?void 0:o?mu(e,r):e,i=t.length-1,a;i>=0;i--)(a=t[i])&&(n=(o?a(e,r,n):a(n))||n);return o&&n&&pu(e,r,n),n};class bu extends Event{constructor(e){super("transaction-review",{bubbles:!0,composed:!0}),this.commandId=e}}class uu extends Event{constructor(e){super("transaction-delete",{bubbles:!0,composed:!0}),this.commandId=e}}let nt=class extends k{constructor(){super(...arguments),this.commandId="",this.status="",this.parsed=null,this.createdAt=null,this.signedAt=null,this.origin=null,this.loading=!1,this.isDeleting=!1}get isDeleteDisabled(){return this.loading||this.isDeleting||this.status!=="pending"}render(){return f`
|
|
1453
|
-
<div class="card shadow-sm">
|
|
1454
|
-
<div class="card-body">
|
|
1455
|
-
<h5 class="card-title text-primary fw-semibold text-break">
|
|
1456
|
-
${this.commandId}
|
|
1457
|
-
</h5>
|
|
1458
|
-
<p class="card-text text-muted text-break">
|
|
1459
|
-
<strong>Status:</strong>
|
|
1460
|
-
<span class="text-success"> ${this.status} </span>
|
|
1461
|
-
<br />
|
|
1462
|
-
<strong>Template:</strong>
|
|
1463
|
-
${this.parsed?.templateId}
|
|
1464
|
-
<br />
|
|
1465
|
-
<strong>Signatories:</strong>
|
|
1466
|
-
</p>
|
|
1467
|
-
<ul>
|
|
1468
|
-
${this.parsed?.signatories?.map(t=>f`<li>${t}</li>`)||f`<li>N/A</li>`}
|
|
1469
|
-
</ul>
|
|
1470
|
-
<p class="card-text text-muted text-break">
|
|
1471
|
-
${this.createdAt?f`<strong>Created At:</strong> ${this.createdAt}<br />`:A}
|
|
1472
|
-
${this.signedAt?f`<strong>Signed At:</strong> ${this.signedAt}<br />`:A}
|
|
1473
|
-
${this.origin?f`<strong>Origin:</strong> ${this.origin}`:A}
|
|
1474
|
-
</p>
|
|
1475
|
-
<div class="d-flex gap-2 mt-2">
|
|
1476
|
-
<button
|
|
1477
|
-
class="btn btn-sm btn-outline-secondary"
|
|
1478
|
-
@click=${()=>this.dispatchEvent(new bu(this.commandId))}
|
|
1479
|
-
>
|
|
1480
|
-
Review
|
|
1481
|
-
</button>
|
|
1482
|
-
${this.status==="pending"?f`<button
|
|
1483
|
-
class="btn btn-sm btn-outline-danger"
|
|
1484
|
-
?disabled=${this.isDeleteDisabled}
|
|
1485
|
-
@click=${()=>this.dispatchEvent(new uu(this.commandId))}
|
|
1486
|
-
>
|
|
1487
|
-
${this.isDeleting?f`<div
|
|
1488
|
-
class="spinner-border spinner-border-sm"
|
|
1489
|
-
></div>`:A}
|
|
1490
|
-
Delete
|
|
1491
|
-
</button>`:A}
|
|
1492
|
-
</div>
|
|
1493
|
-
</div>
|
|
1494
|
-
</div>
|
|
1495
|
-
`}};nt.styles=[k.styles,Rr];bt([w()],nt.prototype,"commandId",2);bt([w()],nt.prototype,"status",2);bt([w({type:Object})],nt.prototype,"parsed",2);bt([w()],nt.prototype,"createdAt",2);bt([w()],nt.prototype,"signedAt",2);bt([w()],nt.prototype,"origin",2);bt([w()],nt.prototype,"loading",2);bt([w()],nt.prototype,"isDeleting",2);nt=bt([M("wg-transaction-card")],nt);var gu=Object.defineProperty,fu=Object.getOwnPropertyDescriptor,et=(t,e,r,o)=>{for(var n=o>1?void 0:o?fu(e,r):e,i=t.length-1,a;i>=0;i--)(a=t[i])&&(n=(o?a(e,r,n):a(n))||n);return o&&n&&gu(e,r,n),n};class hu extends Event{constructor(e){super("transaction-approve",{bubbles:!0,composed:!0}),this.commandId=e}}class vu extends Event{constructor(e){super("transaction-delete",{bubbles:!0,composed:!0}),this.commandId=e}}let V=class extends k{constructor(){super(...arguments),this.commandId="",this.status="",this.txHash="",this.tx="",this.parsed=null,this.createdAt=null,this.signedAt=null,this.origin=null,this.isApproving=!1,this.isDeleting=!1,this.disabled=!1}get areActionsDisabled(){return this.disabled||this.isApproving||this.isDeleting}_copyToClipboard(t){navigator.clipboard.writeText(t)}render(){return f`
|
|
1496
|
-
<div class="card mt-4 overflow-hidden">
|
|
1497
|
-
<div class="card-body text-break">
|
|
1498
|
-
<h1 class="card-title h5">Pending Transaction Request</h1>
|
|
1499
|
-
|
|
1500
|
-
<h2 class="h6 mt-3">Transaction Details</h2>
|
|
1501
|
-
|
|
1502
|
-
<h3 class="h6 mt-3">Command Id</h3>
|
|
1503
|
-
<p>${this.commandId}</p>
|
|
1504
|
-
|
|
1505
|
-
<h3 class="h6 mt-3">Status</h3>
|
|
1506
|
-
<p>${this.status}</p>
|
|
1507
|
-
|
|
1508
|
-
${this.createdAt?f`<h3 class="h6 mt-3">Created At</h3>
|
|
1509
|
-
<p>${this.createdAt}</p>`:A}
|
|
1510
|
-
${this.signedAt?f`<h3 class="h6 mt-3">Signed At</h3>
|
|
1511
|
-
<p>${this.signedAt}</p>`:A}
|
|
1512
|
-
${this.origin?f`<h3 class="h6 mt-3">Origin</h3>
|
|
1513
|
-
<p>${this.origin}</p>`:A}
|
|
1514
|
-
|
|
1515
|
-
<h3 class="h6 mt-3">Template</h3>
|
|
1516
|
-
<p>${this.parsed?.templateId}</p>
|
|
1517
|
-
|
|
1518
|
-
<h3 class="h6 mt-3">Signatories</h3>
|
|
1519
|
-
<ul>
|
|
1520
|
-
${this.parsed?.signatories?.map(t=>f`<li>${t}</li>`)||f`<li>N/A</li>`}
|
|
1521
|
-
</ul>
|
|
1522
|
-
|
|
1523
|
-
<h3 class="h6 mt-3">Stakeholders</h3>
|
|
1524
|
-
<ul>
|
|
1525
|
-
${this.parsed?.stakeholders?.map(t=>f`<li>${t}</li>`)||f`<li>N/A</li>`}
|
|
1526
|
-
</ul>
|
|
1527
|
-
|
|
1528
|
-
<h3 class="h6 mt-3">Transaction Hash</h3>
|
|
1529
|
-
<p>${this.txHash}</p>
|
|
1530
|
-
|
|
1531
|
-
<div
|
|
1532
|
-
class="d-flex justify-content-between align-items-center gap-2 mt-3"
|
|
1533
|
-
>
|
|
1534
|
-
<h3 class="h6 mb-0">Base64 Transaction</h3>
|
|
1535
|
-
<button
|
|
1536
|
-
class="btn btn-sm btn-outline-secondary"
|
|
1537
|
-
@click=${()=>this._copyToClipboard(this.tx)}
|
|
1538
|
-
title="Copy to clipboard"
|
|
1539
|
-
>
|
|
1540
|
-
Copy
|
|
1541
|
-
</button>
|
|
1542
|
-
</div>
|
|
1543
|
-
<div class="tx-box">${this.tx}</div>
|
|
1544
|
-
|
|
1545
|
-
<div
|
|
1546
|
-
class="d-flex justify-content-between align-items-center gap-2 mt-3"
|
|
1547
|
-
>
|
|
1548
|
-
<h3 class="h6 mb-0">Decoded Transaction</h3>
|
|
1549
|
-
<button
|
|
1550
|
-
class="btn btn-sm btn-outline-secondary"
|
|
1551
|
-
@click=${()=>this._copyToClipboard(this.parsed?.jsonString||"")}
|
|
1552
|
-
title="Copy to clipboard"
|
|
1553
|
-
>
|
|
1554
|
-
Copy
|
|
1555
|
-
</button>
|
|
1556
|
-
</div>
|
|
1557
|
-
<div class="tx-box">
|
|
1558
|
-
${this.parsed?.jsonString||"N/A"}
|
|
1559
|
-
</div>
|
|
1560
|
-
|
|
1561
|
-
${this.status!=="pending"?A:f`
|
|
1562
|
-
<div class="d-flex gap-2 mt-3">
|
|
1563
|
-
<button
|
|
1564
|
-
class="btn btn-primary w-50"
|
|
1565
|
-
?disabled=${this.areActionsDisabled}
|
|
1566
|
-
@click=${()=>this.dispatchEvent(new hu(this.commandId))}
|
|
1567
|
-
>
|
|
1568
|
-
${this.isApproving?f`<div
|
|
1569
|
-
class="spinner-border spinner-border-sm"
|
|
1570
|
-
></div>`:A}
|
|
1571
|
-
Approve
|
|
1572
|
-
</button>
|
|
1573
|
-
<button
|
|
1574
|
-
class="btn btn-outline-danger w-50"
|
|
1575
|
-
?disabled=${this.areActionsDisabled}
|
|
1576
|
-
@click=${()=>this.dispatchEvent(new vu(this.commandId))}
|
|
1577
|
-
>
|
|
1578
|
-
${this.isDeleting?f`<div
|
|
1579
|
-
class="spinner-border spinner-border-sm"
|
|
1580
|
-
></div>`:A}
|
|
1581
|
-
Delete
|
|
1582
|
-
</button>
|
|
1583
|
-
</div>
|
|
1584
|
-
`}
|
|
1585
|
-
</div>
|
|
1586
|
-
</div>
|
|
1587
|
-
`}};V.styles=[k.styles,K`
|
|
1588
|
-
.tx-box {
|
|
1589
|
-
background: var(--bs-tertiary-bg, rgba(0, 0, 0, 0.05));
|
|
1590
|
-
border-radius: var(--bs-border-radius);
|
|
1591
|
-
padding: 0.5rem;
|
|
1592
|
-
max-height: 150px;
|
|
1593
|
-
overflow-y: auto;
|
|
1594
|
-
overflow-x: auto;
|
|
1595
|
-
font-family: var(--bs-font-monospace);
|
|
1596
|
-
word-break: break-word;
|
|
1597
|
-
}
|
|
1598
|
-
`];et([w()],V.prototype,"commandId",2);et([w()],V.prototype,"status",2);et([w()],V.prototype,"txHash",2);et([w()],V.prototype,"tx",2);et([w({type:Object})],V.prototype,"parsed",2);et([w()],V.prototype,"createdAt",2);et([w()],V.prototype,"signedAt",2);et([w()],V.prototype,"origin",2);et([w({type:Boolean})],V.prototype,"isApproving",2);et([w({type:Boolean})],V.prototype,"isDeleting",2);et([w({type:Boolean})],V.prototype,"disabled",2);V=et([M("wg-transaction-detail")],V);let at;class Er{static getInstance(){if(!at||at.closed){console.log("[PopupInstance] Creating new global popup instance");const e=window.open("","wallet-popup","width=400,height=500,screenX=200,screenY=200");if(!e)throw new Error("Failed to open popup window");at=e}return at}constructor(){const e=()=>{at&&(console.log("[PopupInstance] Closing popup instance on unload"),at.close(),at=void 0)};window.addEventListener("beforeunload",e),window.addEventListener("unload",e)}open(e,r){if(typeof e=="string"||e instanceof URL){const o=Er.getInstance();return o.location.href=e.toString(),o.focus(),o}else{const o=this.getComponentUrl(e,r),n=Er.getInstance();return n.location.href=o,n.focus(),n}}close(){console.log("[PopupInstance] Closing popup instance"),at&&at.close()}getComponentUrl(e,r){const{title:o="Custom Popup"}=r||{},n=e.styles.replaceAll(`
|
|
1599
|
-
`," ").replaceAll("'","\\'").replaceAll('"','\\"'),i=e.toString().replace("SUBSTITUTABLE_CSS","''"),a=`<!DOCTYPE html>
|
|
1600
|
-
<html>
|
|
1601
|
-
<head>
|
|
1602
|
-
<title>${o}</title>
|
|
1603
|
-
<style>
|
|
1604
|
-
html, body {
|
|
1605
|
-
margin: 0;
|
|
1606
|
-
padding: 0;
|
|
1607
|
-
width: 100%;
|
|
1608
|
-
height: 100%;
|
|
1609
|
-
}
|
|
1610
|
-
|
|
1611
|
-
body {
|
|
1612
|
-
display: flex;
|
|
1613
|
-
}
|
|
1614
|
-
</style>
|
|
1615
|
-
</head>
|
|
1616
|
-
<body>
|
|
1617
|
-
</body>
|
|
1618
|
-
|
|
1619
|
-
<script>
|
|
1620
|
-
const Component = (${i});
|
|
1621
|
-
Component.styles = \`${n}\`;
|
|
1622
|
-
|
|
1623
|
-
customElements.define('popup-content', Component);
|
|
1624
|
-
|
|
1625
|
-
const content = document.createElement('popup-content');
|
|
1626
|
-
content.style.width = '100%';
|
|
1627
|
-
content.style.height = '100%';
|
|
1628
|
-
|
|
1629
|
-
document.body.appendChild(content)
|
|
1630
|
-
|
|
1631
|
-
URL.revokeObjectURL(window.location.href)
|
|
1632
|
-
<\/script>
|
|
1633
|
-
</html>`;return URL.createObjectURL(new Blob([a],{type:"text/html"}))}}new Er;const Uo=t=>(e,r)=>{r!==void 0?r.addInitializer(()=>{customElements.define(t,e)}):customElements.define(t,e)},B=[];for(let t=0;t<256;++t)B.push((t+256).toString(16).slice(1));function wu(t,e=0){return(B[t[e+0]]+B[t[e+1]]+B[t[e+2]]+B[t[e+3]]+"-"+B[t[e+4]]+B[t[e+5]]+"-"+B[t[e+6]]+B[t[e+7]]+"-"+B[t[e+8]]+B[t[e+9]]+"-"+B[t[e+10]]+B[t[e+11]]+B[t[e+12]]+B[t[e+13]]+B[t[e+14]]+B[t[e+15]]).toLowerCase()}let Kr;const xu=new Uint8Array(16);function yu(){if(!Kr){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Kr=crypto.getRandomValues.bind(crypto)}return Kr(xu)}const ku=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Fn={randomUUID:ku};function _u(t,e,r){if(Fn.randomUUID&&!t)return Fn.randomUUID();t=t||{};const o=t.random??t.rng?.()??yu();if(o.length<16)throw new Error("Random bytes length must be >= 16");return o[6]=o[6]&15|64,o[8]=o[8]&63|128,wu(o)}function m(t,e,r){function o(s,l){if(s._zod||Object.defineProperty(s,"_zod",{value:{def:l,constr:a,traits:new Set},enumerable:!1}),s._zod.traits.has(t))return;s._zod.traits.add(t),e(s,l);const d=a.prototype,c=Object.keys(d);for(let p=0;p<c.length;p++){const u=c[p];u in s||(s[u]=d[u].bind(s))}}const n=r?.Parent??Object;class i extends n{}Object.defineProperty(i,"name",{value:t});function a(s){var l;const d=r?.Parent?new i:this;o(d,s),(l=d._zod).deferred??(l.deferred=[]);for(const c of d._zod.deferred)c();return d}return Object.defineProperty(a,"init",{value:o}),Object.defineProperty(a,Symbol.hasInstance,{value:s=>r?.Parent&&s instanceof r.Parent?!0:s?._zod?.traits?.has(t)}),Object.defineProperty(a,"name",{value:t}),a}class qt extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class za extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}}const Aa={};function wt(t){return Aa}function Sa(t){const e=Object.values(t).filter(o=>typeof o=="number");return Object.entries(t).filter(([o,n])=>e.indexOf(+o)===-1).map(([o,n])=>n)}function co(t,e){return typeof e=="bigint"?e.toString():e}function Gr(t){return{get value(){{const e=t();return Object.defineProperty(this,"value",{value:e}),e}}}}function Mo(t){return t==null}function Bo(t){const e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}function zu(t,e){const r=(t.toString().split(".")[1]||"").length,o=e.toString();let n=(o.split(".")[1]||"").length;if(n===0&&/\d?e-\d?/.test(o)){const l=o.match(/\d?e-(\d?)/);l?.[1]&&(n=Number.parseInt(l[1]))}const i=r>n?r:n,a=Number.parseInt(t.toFixed(i).replace(".","")),s=Number.parseInt(e.toFixed(i).replace(".",""));return a%s/10**i}const Gn=Symbol("evaluating");function z(t,e,r){let o;Object.defineProperty(t,e,{get(){if(o!==Gn)return o===void 0&&(o=Gn,o=r()),o},set(n){Object.defineProperty(t,e,{value:n})},configurable:!0})}function Ut(t,e,r){Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function _t(...t){const e={};for(const r of t){const o=Object.getOwnPropertyDescriptors(r);Object.assign(e,o)}return Object.defineProperties({},e)}function Jn(t){return JSON.stringify(t)}function Au(t){return t.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const $a="captureStackTrace"in Error?Error.captureStackTrace:(...t)=>{};function $e(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}const Su=Gr(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const t=Function;return new t(""),!0}catch{return!1}});function ae(t){if($e(t)===!1)return!1;const e=t.constructor;if(e===void 0||typeof e!="function")return!0;const r=e.prototype;return!($e(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function Ea(t){return ae(t)?{...t}:Array.isArray(t)?[...t]:t}const $u=new Set(["string","number","symbol"]);function se(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function zt(t,e,r){const o=new t._zod.constr(e??t._zod.def);return(!e||r?.parent)&&(o._zod.parent=t),o}function h(t){const e=t;if(!e)return{};if(typeof e=="string")return{error:()=>e};if(e?.message!==void 0){if(e?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,typeof e.error=="string"?{...e,error:()=>e.error}:e}function Eu(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}const Ou={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Iu(t,e){const r=t._zod.def,o=r.checks;if(o&&o.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const i=_t(t._zod.def,{get shape(){const a={};for(const s in e){if(!(s in r.shape))throw new Error(`Unrecognized key: "${s}"`);e[s]&&(a[s]=r.shape[s])}return Ut(this,"shape",a),a},checks:[]});return zt(t,i)}function ju(t,e){const r=t._zod.def,o=r.checks;if(o&&o.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const i=_t(t._zod.def,{get shape(){const a={...t._zod.def.shape};for(const s in e){if(!(s in r.shape))throw new Error(`Unrecognized key: "${s}"`);e[s]&&delete a[s]}return Ut(this,"shape",a),a},checks:[]});return zt(t,i)}function Pu(t,e){if(!ae(e))throw new Error("Invalid input to extend: expected a plain object");const r=t._zod.def.checks;if(r&&r.length>0){const i=t._zod.def.shape;for(const a in e)if(Object.getOwnPropertyDescriptor(i,a)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const n=_t(t._zod.def,{get shape(){const i={...t._zod.def.shape,...e};return Ut(this,"shape",i),i}});return zt(t,n)}function Tu(t,e){if(!ae(e))throw new Error("Invalid input to safeExtend: expected a plain object");const r=_t(t._zod.def,{get shape(){const o={...t._zod.def.shape,...e};return Ut(this,"shape",o),o}});return zt(t,r)}function Cu(t,e){const r=_t(t._zod.def,{get shape(){const o={...t._zod.def.shape,...e._zod.def.shape};return Ut(this,"shape",o),o},get catchall(){return e._zod.def.catchall},checks:[]});return zt(t,r)}function Nu(t,e,r){const n=e._zod.def.checks;if(n&&n.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");const a=_t(e._zod.def,{get shape(){const s=e._zod.def.shape,l={...s};if(r)for(const d in r){if(!(d in s))throw new Error(`Unrecognized key: "${d}"`);r[d]&&(l[d]=t?new t({type:"optional",innerType:s[d]}):s[d])}else for(const d in s)l[d]=t?new t({type:"optional",innerType:s[d]}):s[d];return Ut(this,"shape",l),l},checks:[]});return zt(e,a)}function Zu(t,e,r){const o=_t(e._zod.def,{get shape(){const n=e._zod.def.shape,i={...n};if(r)for(const a in r){if(!(a in i))throw new Error(`Unrecognized key: "${a}"`);r[a]&&(i[a]=new t({type:"nonoptional",innerType:n[a]}))}else for(const a in n)i[a]=new t({type:"nonoptional",innerType:n[a]});return Ut(this,"shape",i),i}});return zt(e,o)}function Ht(t,e=0){if(t.aborted===!0)return!0;for(let r=e;r<t.issues.length;r++)if(t.issues[r]?.continue!==!0)return!0;return!1}function Vt(t,e){return e.map(r=>{var o;return(o=r).path??(o.path=[]),r.path.unshift(t),r})}function Je(t){return typeof t=="string"?t:t?.message}function xt(t,e,r){const o={...t,path:t.path??[]};if(!t.message){const n=Je(t.inst?._zod.def?.error?.(t))??Je(e?.error?.(t))??Je(r.customError?.(t))??Je(r.localeError?.(t))??"Invalid input";o.message=n}return delete o.inst,delete o.continue,e?.reportInput||delete o.input,o}function Lo(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}function Ee(...t){const[e,r,o]=t;return typeof e=="string"?{message:e,code:"custom",input:r,inst:o}:{...e}}const Oa=(t,e)=>{t.name="$ZodError",Object.defineProperty(t,"_zod",{value:t._zod,enumerable:!1}),Object.defineProperty(t,"issues",{value:e,enumerable:!1}),t.message=JSON.stringify(e,co,2),Object.defineProperty(t,"toString",{value:()=>t.message,enumerable:!1})},Ia=m("$ZodError",Oa),ja=m("$ZodError",Oa,{Parent:Error});function Ru(t,e=r=>r.message){const r={},o=[];for(const n of t.issues)n.path.length>0?(r[n.path[0]]=r[n.path[0]]||[],r[n.path[0]].push(e(n))):o.push(e(n));return{formErrors:o,fieldErrors:r}}function Du(t,e=r=>r.message){const r={_errors:[]},o=n=>{for(const i of n.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(a=>o({issues:a}));else if(i.code==="invalid_key")o({issues:i.issues});else if(i.code==="invalid_element")o({issues:i.issues});else if(i.path.length===0)r._errors.push(e(i));else{let a=r,s=0;for(;s<i.path.length;){const l=i.path[s];s===i.path.length-1?(a[l]=a[l]||{_errors:[]},a[l]._errors.push(e(i))):a[l]=a[l]||{_errors:[]},a=a[l],s++}}};return o(t),r}const Fo=t=>(e,r,o,n)=>{const i=o?Object.assign(o,{async:!1}):{async:!1},a=e._zod.run({value:r,issues:[]},i);if(a instanceof Promise)throw new qt;if(a.issues.length){const s=new(n?.Err??t)(a.issues.map(l=>xt(l,i,wt())));throw $a(s,n?.callee),s}return a.value},Go=t=>async(e,r,o,n)=>{const i=o?Object.assign(o,{async:!0}):{async:!0};let a=e._zod.run({value:r,issues:[]},i);if(a instanceof Promise&&(a=await a),a.issues.length){const s=new(n?.Err??t)(a.issues.map(l=>xt(l,i,wt())));throw $a(s,n?.callee),s}return a.value},Jr=t=>(e,r,o)=>{const n=o?{...o,async:!1}:{async:!1},i=e._zod.run({value:r,issues:[]},n);if(i instanceof Promise)throw new qt;return i.issues.length?{success:!1,error:new(t??Ia)(i.issues.map(a=>xt(a,n,wt())))}:{success:!0,data:i.value}},Uu=Jr(ja),Yr=t=>async(e,r,o)=>{const n=o?Object.assign(o,{async:!0}):{async:!0};let i=e._zod.run({value:r,issues:[]},n);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new t(i.issues.map(a=>xt(a,n,wt())))}:{success:!0,data:i.value}},Mu=Yr(ja),Bu=t=>(e,r,o)=>{const n=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return Fo(t)(e,r,n)},Lu=t=>(e,r,o)=>Fo(t)(e,r,o),Fu=t=>async(e,r,o)=>{const n=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return Go(t)(e,r,n)},Gu=t=>async(e,r,o)=>Go(t)(e,r,o),Ju=t=>(e,r,o)=>{const n=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return Jr(t)(e,r,n)},Yu=t=>(e,r,o)=>Jr(t)(e,r,o),Hu=t=>async(e,r,o)=>{const n=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return Yr(t)(e,r,n)},Vu=t=>async(e,r,o)=>Yr(t)(e,r,o),Wu=/^[cC][^\s-]{8,}$/,qu=/^[0-9a-z]+$/,Xu=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Ku=/^[0-9a-vA-V]{20}$/,Qu=/^[A-Za-z0-9]{27}$/,tg=/^[a-zA-Z0-9_-]{21}$/,eg=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,rg=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Yn=t=>t?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${t}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,og=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,ng="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function ig(){return new RegExp(ng,"u")}const ag=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,sg=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,lg=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,dg=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,cg=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Pa=/^[A-Za-z0-9_-]*$/,pg=/^\+[1-9]\d{6,14}$/,Ta="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",mg=new RegExp(`^${Ta}$`);function Ca(t){const e="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof t.precision=="number"?t.precision===-1?`${e}`:t.precision===0?`${e}:[0-5]\\d`:`${e}:[0-5]\\d\\.\\d{${t.precision}}`:`${e}(?::[0-5]\\d(?:\\.\\d+)?)?`}function bg(t){return new RegExp(`^${Ca(t)}$`)}function ug(t){const e=Ca({precision:t.precision}),r=["Z"];t.local&&r.push(""),t.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const o=`${e}(?:${r.join("|")})`;return new RegExp(`^${Ta}T(?:${o})$`)}const gg=t=>{const e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)},fg=/^-?\d+$/,Na=/^-?\d+(?:\.\d+)?$/,hg=/^(?:true|false)$/i,vg=/^null$/i,wg=/^undefined$/i,xg=/^[^A-Z]*$/,yg=/^[^a-z]*$/,q=m("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),Za={number:"number",bigint:"bigint",object:"date"},Ra=m("$ZodCheckLessThan",(t,e)=>{q.init(t,e);const r=Za[typeof e.value];t._zod.onattach.push(o=>{const n=o._zod.bag,i=(e.inclusive?n.maximum:n.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value<i&&(e.inclusive?n.maximum=e.value:n.exclusiveMaximum=e.value)}),t._zod.check=o=>{(e.inclusive?o.value<=e.value:o.value<e.value)||o.issues.push({origin:r,code:"too_big",maximum:typeof e.value=="object"?e.value.getTime():e.value,input:o.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),Da=m("$ZodCheckGreaterThan",(t,e)=>{q.init(t,e);const r=Za[typeof e.value];t._zod.onattach.push(o=>{const n=o._zod.bag,i=(e.inclusive?n.minimum:n.exclusiveMinimum)??Number.NEGATIVE_INFINITY;e.value>i&&(e.inclusive?n.minimum=e.value:n.exclusiveMinimum=e.value)}),t._zod.check=o=>{(e.inclusive?o.value>=e.value:o.value>e.value)||o.issues.push({origin:r,code:"too_small",minimum:typeof e.value=="object"?e.value.getTime():e.value,input:o.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),kg=m("$ZodCheckMultipleOf",(t,e)=>{q.init(t,e),t._zod.onattach.push(r=>{var o;(o=r._zod.bag).multipleOf??(o.multipleOf=e.value)}),t._zod.check=r=>{if(typeof r.value!=typeof e.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%e.value===BigInt(0):zu(r.value,e.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:e.value,input:r.value,inst:t,continue:!e.abort})}}),_g=m("$ZodCheckNumberFormat",(t,e)=>{q.init(t,e),e.format=e.format||"float64";const r=e.format?.includes("int"),o=r?"int":"number",[n,i]=Ou[e.format];t._zod.onattach.push(a=>{const s=a._zod.bag;s.format=e.format,s.minimum=n,s.maximum=i,r&&(s.pattern=fg)}),t._zod.check=a=>{const s=a.value;if(r){if(!Number.isInteger(s)){a.issues.push({expected:o,format:e.format,code:"invalid_type",continue:!1,input:s,inst:t});return}if(!Number.isSafeInteger(s)){s>0?a.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:o,inclusive:!0,continue:!e.abort}):a.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:o,inclusive:!0,continue:!e.abort});return}}s<n&&a.issues.push({origin:"number",input:s,code:"too_small",minimum:n,inclusive:!0,inst:t,continue:!e.abort}),s>i&&a.issues.push({origin:"number",input:s,code:"too_big",maximum:i,inclusive:!0,inst:t,continue:!e.abort})}}),zg=m("$ZodCheckMaxLength",(t,e)=>{var r;q.init(t,e),(r=t._zod.def).when??(r.when=o=>{const n=o.value;return!Mo(n)&&n.length!==void 0}),t._zod.onattach.push(o=>{const n=o._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum<n&&(o._zod.bag.maximum=e.maximum)}),t._zod.check=o=>{const n=o.value;if(n.length<=e.maximum)return;const a=Lo(n);o.issues.push({origin:a,code:"too_big",maximum:e.maximum,inclusive:!0,input:n,inst:t,continue:!e.abort})}}),Ag=m("$ZodCheckMinLength",(t,e)=>{var r;q.init(t,e),(r=t._zod.def).when??(r.when=o=>{const n=o.value;return!Mo(n)&&n.length!==void 0}),t._zod.onattach.push(o=>{const n=o._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>n&&(o._zod.bag.minimum=e.minimum)}),t._zod.check=o=>{const n=o.value;if(n.length>=e.minimum)return;const a=Lo(n);o.issues.push({origin:a,code:"too_small",minimum:e.minimum,inclusive:!0,input:n,inst:t,continue:!e.abort})}}),Sg=m("$ZodCheckLengthEquals",(t,e)=>{var r;q.init(t,e),(r=t._zod.def).when??(r.when=o=>{const n=o.value;return!Mo(n)&&n.length!==void 0}),t._zod.onattach.push(o=>{const n=o._zod.bag;n.minimum=e.length,n.maximum=e.length,n.length=e.length}),t._zod.check=o=>{const n=o.value,i=n.length;if(i===e.length)return;const a=Lo(n),s=i>e.length;o.issues.push({origin:a,...s?{code:"too_big",maximum:e.length}:{code:"too_small",minimum:e.length},inclusive:!0,exact:!0,input:o.value,inst:t,continue:!e.abort})}}),Hr=m("$ZodCheckStringFormat",(t,e)=>{var r,o;q.init(t,e),t._zod.onattach.push(n=>{const i=n._zod.bag;i.format=e.format,e.pattern&&(i.patterns??(i.patterns=new Set),i.patterns.add(e.pattern))}),e.pattern?(r=t._zod).check??(r.check=n=>{e.pattern.lastIndex=0,!e.pattern.test(n.value)&&n.issues.push({origin:"string",code:"invalid_format",format:e.format,input:n.value,...e.pattern?{pattern:e.pattern.toString()}:{},inst:t,continue:!e.abort})}):(o=t._zod).check??(o.check=()=>{})}),$g=m("$ZodCheckRegex",(t,e)=>{Hr.init(t,e),t._zod.check=r=>{e.pattern.lastIndex=0,!e.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:e.pattern.toString(),inst:t,continue:!e.abort})}}),Eg=m("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=xg),Hr.init(t,e)}),Og=m("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=yg),Hr.init(t,e)}),Ig=m("$ZodCheckIncludes",(t,e)=>{q.init(t,e);const r=se(e.includes),o=new RegExp(typeof e.position=="number"?`^.{${e.position}}${r}`:r);e.pattern=o,t._zod.onattach.push(n=>{const i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(o)}),t._zod.check=n=>{n.value.includes(e.includes,e.position)||n.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:e.includes,input:n.value,inst:t,continue:!e.abort})}}),jg=m("$ZodCheckStartsWith",(t,e)=>{q.init(t,e);const r=new RegExp(`^${se(e.prefix)}.*`);e.pattern??(e.pattern=r),t._zod.onattach.push(o=>{const n=o._zod.bag;n.patterns??(n.patterns=new Set),n.patterns.add(r)}),t._zod.check=o=>{o.value.startsWith(e.prefix)||o.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:e.prefix,input:o.value,inst:t,continue:!e.abort})}}),Pg=m("$ZodCheckEndsWith",(t,e)=>{q.init(t,e);const r=new RegExp(`.*${se(e.suffix)}$`);e.pattern??(e.pattern=r),t._zod.onattach.push(o=>{const n=o._zod.bag;n.patterns??(n.patterns=new Set),n.patterns.add(r)}),t._zod.check=o=>{o.value.endsWith(e.suffix)||o.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:e.suffix,input:o.value,inst:t,continue:!e.abort})}}),Tg=m("$ZodCheckOverwrite",(t,e)=>{q.init(t,e),t._zod.check=r=>{r.value=e.tx(r.value)}});class Cg{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}const o=e.split(`
|
|
1634
|
-
`).filter(a=>a),n=Math.min(...o.map(a=>a.length-a.trimStart().length)),i=o.map(a=>a.slice(n)).map(a=>" ".repeat(this.indent*2)+a);for(const a of i)this.content.push(a)}compile(){const e=Function,r=this?.args,n=[...(this?.content??[""]).map(i=>` ${i}`)];return new e(...r,n.join(`
|
|
1635
|
-
`))}}const Ng={major:4,minor:3,patch:6},E=m("$ZodType",(t,e)=>{var r;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=Ng;const o=[...t._zod.def.checks??[]];t._zod.traits.has("$ZodCheck")&&o.unshift(t);for(const n of o)for(const i of n._zod.onattach)i(t);if(o.length===0)(r=t._zod).deferred??(r.deferred=[]),t._zod.deferred?.push(()=>{t._zod.run=t._zod.parse});else{const n=(a,s,l)=>{let d=Ht(a),c;for(const p of s){if(p._zod.def.when){if(!p._zod.def.when(a))continue}else if(d)continue;const u=a.issues.length,g=p._zod.check(a);if(g instanceof Promise&&l?.async===!1)throw new qt;if(c||g instanceof Promise)c=(c??Promise.resolve()).then(async()=>{await g,a.issues.length!==u&&(d||(d=Ht(a,u)))});else{if(a.issues.length===u)continue;d||(d=Ht(a,u))}}return c?c.then(()=>a):a},i=(a,s,l)=>{if(Ht(a))return a.aborted=!0,a;const d=n(s,o,l);if(d instanceof Promise){if(l.async===!1)throw new qt;return d.then(c=>t._zod.parse(c,l))}return t._zod.parse(d,l)};t._zod.run=(a,s)=>{if(s.skipChecks)return t._zod.parse(a,s);if(s.direction==="backward"){const d=t._zod.parse({value:a.value,issues:[]},{...s,skipChecks:!0});return d instanceof Promise?d.then(c=>i(c,a,s)):i(d,a,s)}const l=t._zod.parse(a,s);if(l instanceof Promise){if(s.async===!1)throw new qt;return l.then(d=>n(d,o,s))}return n(l,o,s)}}z(t,"~standard",()=>({validate:n=>{try{const i=Uu(t,n);return i.success?{value:i.data}:{issues:i.error?.issues}}catch{return Mu(t,n).then(a=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}))}),Jo=m("$ZodString",(t,e)=>{E.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??gg(t._zod.bag),t._zod.parse=(r,o)=>{if(e.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:t}),r}}),C=m("$ZodStringFormat",(t,e)=>{Hr.init(t,e),Jo.init(t,e)}),Zg=m("$ZodGUID",(t,e)=>{e.pattern??(e.pattern=rg),C.init(t,e)}),Rg=m("$ZodUUID",(t,e)=>{if(e.version){const o={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[e.version];if(o===void 0)throw new Error(`Invalid UUID version: "${e.version}"`);e.pattern??(e.pattern=Yn(o))}else e.pattern??(e.pattern=Yn());C.init(t,e)}),Dg=m("$ZodEmail",(t,e)=>{e.pattern??(e.pattern=og),C.init(t,e)}),Ug=m("$ZodURL",(t,e)=>{C.init(t,e),t._zod.check=r=>{try{const o=r.value.trim(),n=new URL(o);e.hostname&&(e.hostname.lastIndex=0,e.hostname.test(n.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:e.hostname.source,input:r.value,inst:t,continue:!e.abort})),e.protocol&&(e.protocol.lastIndex=0,e.protocol.test(n.protocol.endsWith(":")?n.protocol.slice(0,-1):n.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:e.protocol.source,input:r.value,inst:t,continue:!e.abort})),e.normalize?r.value=n.href:r.value=o;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:t,continue:!e.abort})}}}),Mg=m("$ZodEmoji",(t,e)=>{e.pattern??(e.pattern=ig()),C.init(t,e)}),Bg=m("$ZodNanoID",(t,e)=>{e.pattern??(e.pattern=tg),C.init(t,e)}),Lg=m("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=Wu),C.init(t,e)}),Fg=m("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=qu),C.init(t,e)}),Gg=m("$ZodULID",(t,e)=>{e.pattern??(e.pattern=Xu),C.init(t,e)}),Jg=m("$ZodXID",(t,e)=>{e.pattern??(e.pattern=Ku),C.init(t,e)}),Yg=m("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=Qu),C.init(t,e)}),Hg=m("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=ug(e)),C.init(t,e)}),Vg=m("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=mg),C.init(t,e)}),Wg=m("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=bg(e)),C.init(t,e)}),qg=m("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=eg),C.init(t,e)}),Xg=m("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=ag),C.init(t,e),t._zod.bag.format="ipv4"}),Kg=m("$ZodIPv6",(t,e)=>{e.pattern??(e.pattern=sg),C.init(t,e),t._zod.bag.format="ipv6",t._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:t,continue:!e.abort})}}}),Qg=m("$ZodCIDRv4",(t,e)=>{e.pattern??(e.pattern=lg),C.init(t,e)}),tf=m("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=dg),C.init(t,e),t._zod.check=r=>{const o=r.value.split("/");try{if(o.length!==2)throw new Error;const[n,i]=o;if(!i)throw new Error;const a=Number(i);if(`${a}`!==i)throw new Error;if(a<0||a>128)throw new Error;new URL(`http://[${n}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:t,continue:!e.abort})}}});function Ua(t){if(t==="")return!0;if(t.length%4!==0)return!1;try{return atob(t),!0}catch{return!1}}const ef=m("$ZodBase64",(t,e)=>{e.pattern??(e.pattern=cg),C.init(t,e),t._zod.bag.contentEncoding="base64",t._zod.check=r=>{Ua(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:t,continue:!e.abort})}});function rf(t){if(!Pa.test(t))return!1;const e=t.replace(/[-_]/g,o=>o==="-"?"+":"/"),r=e.padEnd(Math.ceil(e.length/4)*4,"=");return Ua(r)}const of=m("$ZodBase64URL",(t,e)=>{e.pattern??(e.pattern=Pa),C.init(t,e),t._zod.bag.contentEncoding="base64url",t._zod.check=r=>{rf(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:t,continue:!e.abort})}}),nf=m("$ZodE164",(t,e)=>{e.pattern??(e.pattern=pg),C.init(t,e)});function af(t,e=null){try{const r=t.split(".");if(r.length!==3)return!1;const[o]=r;if(!o)return!1;const n=JSON.parse(atob(o));return!("typ"in n&&n?.typ!=="JWT"||!n.alg||e&&(!("alg"in n)||n.alg!==e))}catch{return!1}}const sf=m("$ZodJWT",(t,e)=>{C.init(t,e),t._zod.check=r=>{af(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:t,continue:!e.abort})}}),Ma=m("$ZodNumber",(t,e)=>{E.init(t,e),t._zod.pattern=t._zod.bag.pattern??Na,t._zod.parse=(r,o)=>{if(e.coerce)try{r.value=Number(r.value)}catch{}const n=r.value;if(typeof n=="number"&&!Number.isNaN(n)&&Number.isFinite(n))return r;const i=typeof n=="number"?Number.isNaN(n)?"NaN":Number.isFinite(n)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:n,inst:t,...i?{received:i}:{}}),r}}),lf=m("$ZodNumberFormat",(t,e)=>{_g.init(t,e),Ma.init(t,e)}),df=m("$ZodBoolean",(t,e)=>{E.init(t,e),t._zod.pattern=hg,t._zod.parse=(r,o)=>{if(e.coerce)try{r.value=!!r.value}catch{}const n=r.value;return typeof n=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:n,inst:t}),r}}),cf=m("$ZodUndefined",(t,e)=>{E.init(t,e),t._zod.pattern=wg,t._zod.values=new Set([void 0]),t._zod.optin="optional",t._zod.optout="optional",t._zod.parse=(r,o)=>{const n=r.value;return typeof n>"u"||r.issues.push({expected:"undefined",code:"invalid_type",input:n,inst:t}),r}}),pf=m("$ZodNull",(t,e)=>{E.init(t,e),t._zod.pattern=vg,t._zod.values=new Set([null]),t._zod.parse=(r,o)=>{const n=r.value;return n===null||r.issues.push({expected:"null",code:"invalid_type",input:n,inst:t}),r}}),mf=m("$ZodAny",(t,e)=>{E.init(t,e),t._zod.parse=r=>r}),bf=m("$ZodUnknown",(t,e)=>{E.init(t,e),t._zod.parse=r=>r}),uf=m("$ZodNever",(t,e)=>{E.init(t,e),t._zod.parse=(r,o)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:t}),r)});function Hn(t,e,r){t.issues.length&&e.issues.push(...Vt(r,t.issues)),e.value[r]=t.value}const gf=m("$ZodArray",(t,e)=>{E.init(t,e),t._zod.parse=(r,o)=>{const n=r.value;if(!Array.isArray(n))return r.issues.push({expected:"array",code:"invalid_type",input:n,inst:t}),r;r.value=Array(n.length);const i=[];for(let a=0;a<n.length;a++){const s=n[a],l=e.element._zod.run({value:s,issues:[]},o);l instanceof Promise?i.push(l.then(d=>Hn(d,r,a))):Hn(l,r,a)}return i.length?Promise.all(i).then(()=>r):r}});function Or(t,e,r,o,n){if(t.issues.length){if(n&&!(r in o))return;e.issues.push(...Vt(r,t.issues))}t.value===void 0?r in o&&(e.value[r]=void 0):e.value[r]=t.value}function Ba(t){const e=Object.keys(t.shape);for(const o of e)if(!t.shape?.[o]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${o}": expected a Zod schema`);const r=Eu(t.shape);return{...t,keys:e,keySet:new Set(e),numKeys:e.length,optionalKeys:new Set(r)}}function La(t,e,r,o,n,i){const a=[],s=n.keySet,l=n.catchall._zod,d=l.def.type,c=l.optout==="optional";for(const p in e){if(s.has(p))continue;if(d==="never"){a.push(p);continue}const u=l.run({value:e[p],issues:[]},o);u instanceof Promise?t.push(u.then(g=>Or(g,r,p,e,c))):Or(u,r,p,e,c)}return a.length&&r.issues.push({code:"unrecognized_keys",keys:a,input:e,inst:i}),t.length?Promise.all(t).then(()=>r):r}const ff=m("$ZodObject",(t,e)=>{if(E.init(t,e),!Object.getOwnPropertyDescriptor(e,"shape")?.get){const s=e.shape;Object.defineProperty(e,"shape",{get:()=>{const l={...s};return Object.defineProperty(e,"shape",{value:l}),l}})}const o=Gr(()=>Ba(e));z(t._zod,"propValues",()=>{const s=e.shape,l={};for(const d in s){const c=s[d]._zod;if(c.values){l[d]??(l[d]=new Set);for(const p of c.values)l[d].add(p)}}return l});const n=$e,i=e.catchall;let a;t._zod.parse=(s,l)=>{a??(a=o.value);const d=s.value;if(!n(d))return s.issues.push({expected:"object",code:"invalid_type",input:d,inst:t}),s;s.value={};const c=[],p=a.shape;for(const u of a.keys){const g=p[u],x=g._zod.optout==="optional",R=g._zod.run({value:d[u],issues:[]},l);R instanceof Promise?c.push(R.then(Mt=>Or(Mt,s,u,d,x))):Or(R,s,u,d,x)}return i?La(c,d,s,l,o.value,t):c.length?Promise.all(c).then(()=>s):s}}),hf=m("$ZodObjectJIT",(t,e)=>{ff.init(t,e);const r=t._zod.parse,o=Gr(()=>Ba(e)),n=u=>{const g=new Cg(["shape","payload","ctx"]),x=o.value,R=I=>{const S=Jn(I);return`shape[${S}]._zod.run({ value: input[${S}], issues: [] }, ctx)`};g.write("const input = payload.value;");const Mt=Object.create(null);let Vr=0;for(const I of x.keys)Mt[I]=`key_${Vr++}`;g.write("const newResult = {};");for(const I of x.keys){const S=Mt[I],X=Jn(I),ys=u[I]?._zod?.optout==="optional";g.write(`const ${S} = ${R(I)};`),ys?g.write(`
|
|
1636
|
-
if (${S}.issues.length) {
|
|
1637
|
-
if (${X} in input) {
|
|
1638
|
-
payload.issues = payload.issues.concat(${S}.issues.map(iss => ({
|
|
1639
|
-
...iss,
|
|
1640
|
-
path: iss.path ? [${X}, ...iss.path] : [${X}]
|
|
1641
|
-
})));
|
|
1642
|
-
}
|
|
1643
|
-
}
|
|
1644
|
-
|
|
1645
|
-
if (${S}.value === undefined) {
|
|
1646
|
-
if (${X} in input) {
|
|
1647
|
-
newResult[${X}] = undefined;
|
|
1648
|
-
}
|
|
1649
|
-
} else {
|
|
1650
|
-
newResult[${X}] = ${S}.value;
|
|
1651
|
-
}
|
|
1652
|
-
|
|
1653
|
-
`):g.write(`
|
|
1654
|
-
if (${S}.issues.length) {
|
|
1655
|
-
payload.issues = payload.issues.concat(${S}.issues.map(iss => ({
|
|
1656
|
-
...iss,
|
|
1657
|
-
path: iss.path ? [${X}, ...iss.path] : [${X}]
|
|
1658
|
-
})));
|
|
1659
|
-
}
|
|
1660
|
-
|
|
1661
|
-
if (${S}.value === undefined) {
|
|
1662
|
-
if (${X} in input) {
|
|
1663
|
-
newResult[${X}] = undefined;
|
|
1664
|
-
}
|
|
1665
|
-
} else {
|
|
1666
|
-
newResult[${X}] = ${S}.value;
|
|
1667
|
-
}
|
|
1668
|
-
|
|
1669
|
-
`)}g.write("payload.value = newResult;"),g.write("return payload;");const Q=g.compile();return(I,S)=>Q(u,I,S)};let i;const a=$e,s=!Aa.jitless,d=s&&Su.value,c=e.catchall;let p;t._zod.parse=(u,g)=>{p??(p=o.value);const x=u.value;return a(x)?s&&d&&g?.async===!1&&g.jitless!==!0?(i||(i=n(e.shape)),u=i(u,g),c?La([],x,u,g,p,t):u):r(u,g):(u.issues.push({expected:"object",code:"invalid_type",input:x,inst:t}),u)}});function Vn(t,e,r,o){for(const i of t)if(i.issues.length===0)return e.value=i.value,e;const n=t.filter(i=>!Ht(i));return n.length===1?(e.value=n[0].value,n[0]):(e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(i=>i.issues.map(a=>xt(a,o,wt())))}),e)}const Fa=m("$ZodUnion",(t,e)=>{E.init(t,e),z(t._zod,"optin",()=>e.options.some(n=>n._zod.optin==="optional")?"optional":void 0),z(t._zod,"optout",()=>e.options.some(n=>n._zod.optout==="optional")?"optional":void 0),z(t._zod,"values",()=>{if(e.options.every(n=>n._zod.values))return new Set(e.options.flatMap(n=>Array.from(n._zod.values)))}),z(t._zod,"pattern",()=>{if(e.options.every(n=>n._zod.pattern)){const n=e.options.map(i=>i._zod.pattern);return new RegExp(`^(${n.map(i=>Bo(i.source)).join("|")})$`)}});const r=e.options.length===1,o=e.options[0]._zod.run;t._zod.parse=(n,i)=>{if(r)return o(n,i);let a=!1;const s=[];for(const l of e.options){const d=l._zod.run({value:n.value,issues:[]},i);if(d instanceof Promise)s.push(d),a=!0;else{if(d.issues.length===0)return d;s.push(d)}}return a?Promise.all(s).then(l=>Vn(l,n,t,i)):Vn(s,n,t,i)}}),vf=m("$ZodDiscriminatedUnion",(t,e)=>{e.inclusive=!1,Fa.init(t,e);const r=t._zod.parse;z(t._zod,"propValues",()=>{const n={};for(const i of e.options){const a=i._zod.propValues;if(!a||Object.keys(a).length===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(i)}"`);for(const[s,l]of Object.entries(a)){n[s]||(n[s]=new Set);for(const d of l)n[s].add(d)}}return n});const o=Gr(()=>{const n=e.options,i=new Map;for(const a of n){const s=a._zod.propValues?.[e.discriminator];if(!s||s.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(a)}"`);for(const l of s){if(i.has(l))throw new Error(`Duplicate discriminator value "${String(l)}"`);i.set(l,a)}}return i});t._zod.parse=(n,i)=>{const a=n.value;if(!$e(a))return n.issues.push({code:"invalid_type",expected:"object",input:a,inst:t}),n;const s=o.value.get(a?.[e.discriminator]);return s?s._zod.run(n,i):e.unionFallback?r(n,i):(n.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:e.discriminator,input:a,path:[e.discriminator],inst:t}),n)}}),wf=m("$ZodIntersection",(t,e)=>{E.init(t,e),t._zod.parse=(r,o)=>{const n=r.value,i=e.left._zod.run({value:n,issues:[]},o),a=e.right._zod.run({value:n,issues:[]},o);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([l,d])=>Wn(r,l,d)):Wn(r,i,a)}});function po(t,e){if(t===e)return{valid:!0,data:t};if(t instanceof Date&&e instanceof Date&&+t==+e)return{valid:!0,data:t};if(ae(t)&&ae(e)){const r=Object.keys(e),o=Object.keys(t).filter(i=>r.indexOf(i)!==-1),n={...t,...e};for(const i of o){const a=po(t[i],e[i]);if(!a.valid)return{valid:!1,mergeErrorPath:[i,...a.mergeErrorPath]};n[i]=a.data}return{valid:!0,data:n}}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return{valid:!1,mergeErrorPath:[]};const r=[];for(let o=0;o<t.length;o++){const n=t[o],i=e[o],a=po(n,i);if(!a.valid)return{valid:!1,mergeErrorPath:[o,...a.mergeErrorPath]};r.push(a.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function Wn(t,e,r){const o=new Map;let n;for(const s of e.issues)if(s.code==="unrecognized_keys"){n??(n=s);for(const l of s.keys)o.has(l)||o.set(l,{}),o.get(l).l=!0}else t.issues.push(s);for(const s of r.issues)if(s.code==="unrecognized_keys")for(const l of s.keys)o.has(l)||o.set(l,{}),o.get(l).r=!0;else t.issues.push(s);const i=[...o].filter(([,s])=>s.l&&s.r).map(([s])=>s);if(i.length&&n&&t.issues.push({...n,keys:i}),Ht(t))return t;const a=po(e.value,r.value);if(!a.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(a.mergeErrorPath)}`);return t.value=a.data,t}const xf=m("$ZodRecord",(t,e)=>{E.init(t,e),t._zod.parse=(r,o)=>{const n=r.value;if(!ae(n))return r.issues.push({expected:"record",code:"invalid_type",input:n,inst:t}),r;const i=[],a=e.keyType._zod.values;if(a){r.value={};const s=new Set;for(const d of a)if(typeof d=="string"||typeof d=="number"||typeof d=="symbol"){s.add(typeof d=="number"?d.toString():d);const c=e.valueType._zod.run({value:n[d],issues:[]},o);c instanceof Promise?i.push(c.then(p=>{p.issues.length&&r.issues.push(...Vt(d,p.issues)),r.value[d]=p.value})):(c.issues.length&&r.issues.push(...Vt(d,c.issues)),r.value[d]=c.value)}let l;for(const d in n)s.has(d)||(l=l??[],l.push(d));l&&l.length>0&&r.issues.push({code:"unrecognized_keys",input:n,inst:t,keys:l})}else{r.value={};for(const s of Reflect.ownKeys(n)){if(s==="__proto__")continue;let l=e.keyType._zod.run({value:s,issues:[]},o);if(l instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof s=="string"&&Na.test(s)&&l.issues.length){const p=e.keyType._zod.run({value:Number(s),issues:[]},o);if(p instanceof Promise)throw new Error("Async schemas not supported in object keys currently");p.issues.length===0&&(l=p)}if(l.issues.length){e.mode==="loose"?r.value[s]=n[s]:r.issues.push({code:"invalid_key",origin:"record",issues:l.issues.map(p=>xt(p,o,wt())),input:s,path:[s],inst:t});continue}const c=e.valueType._zod.run({value:n[s],issues:[]},o);c instanceof Promise?i.push(c.then(p=>{p.issues.length&&r.issues.push(...Vt(s,p.issues)),r.value[l.value]=p.value})):(c.issues.length&&r.issues.push(...Vt(s,c.issues)),r.value[l.value]=c.value)}}return i.length?Promise.all(i).then(()=>r):r}}),yf=m("$ZodEnum",(t,e)=>{E.init(t,e);const r=Sa(e.entries),o=new Set(r);t._zod.values=o,t._zod.pattern=new RegExp(`^(${r.filter(n=>$u.has(typeof n)).map(n=>typeof n=="string"?se(n):n.toString()).join("|")})$`),t._zod.parse=(n,i)=>{const a=n.value;return o.has(a)||n.issues.push({code:"invalid_value",values:r,input:a,inst:t}),n}}),kf=m("$ZodLiteral",(t,e)=>{if(E.init(t,e),e.values.length===0)throw new Error("Cannot create literal schema with no valid values");const r=new Set(e.values);t._zod.values=r,t._zod.pattern=new RegExp(`^(${e.values.map(o=>typeof o=="string"?se(o):o?se(o.toString()):String(o)).join("|")})$`),t._zod.parse=(o,n)=>{const i=o.value;return r.has(i)||o.issues.push({code:"invalid_value",values:e.values,input:i,inst:t}),o}}),_f=m("$ZodTransform",(t,e)=>{E.init(t,e),t._zod.parse=(r,o)=>{if(o.direction==="backward")throw new za(t.constructor.name);const n=e.transform(r.value,r);if(o.async)return(n instanceof Promise?n:Promise.resolve(n)).then(a=>(r.value=a,r));if(n instanceof Promise)throw new qt;return r.value=n,r}});function qn(t,e){return t.issues.length&&e===void 0?{issues:[],value:void 0}:t}const Ga=m("$ZodOptional",(t,e)=>{E.init(t,e),t._zod.optin="optional",t._zod.optout="optional",z(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),z(t._zod,"pattern",()=>{const r=e.innerType._zod.pattern;return r?new RegExp(`^(${Bo(r.source)})?$`):void 0}),t._zod.parse=(r,o)=>{if(e.innerType._zod.optin==="optional"){const n=e.innerType._zod.run(r,o);return n instanceof Promise?n.then(i=>qn(i,r.value)):qn(n,r.value)}return r.value===void 0?r:e.innerType._zod.run(r,o)}}),zf=m("$ZodExactOptional",(t,e)=>{Ga.init(t,e),z(t._zod,"values",()=>e.innerType._zod.values),z(t._zod,"pattern",()=>e.innerType._zod.pattern),t._zod.parse=(r,o)=>e.innerType._zod.run(r,o)}),Af=m("$ZodNullable",(t,e)=>{E.init(t,e),z(t._zod,"optin",()=>e.innerType._zod.optin),z(t._zod,"optout",()=>e.innerType._zod.optout),z(t._zod,"pattern",()=>{const r=e.innerType._zod.pattern;return r?new RegExp(`^(${Bo(r.source)}|null)$`):void 0}),z(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,null]):void 0),t._zod.parse=(r,o)=>r.value===null?r:e.innerType._zod.run(r,o)}),Sf=m("$ZodDefault",(t,e)=>{E.init(t,e),t._zod.optin="optional",z(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,o)=>{if(o.direction==="backward")return e.innerType._zod.run(r,o);if(r.value===void 0)return r.value=e.defaultValue,r;const n=e.innerType._zod.run(r,o);return n instanceof Promise?n.then(i=>Xn(i,e)):Xn(n,e)}});function Xn(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}const $f=m("$ZodPrefault",(t,e)=>{E.init(t,e),t._zod.optin="optional",z(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,o)=>(o.direction==="backward"||r.value===void 0&&(r.value=e.defaultValue),e.innerType._zod.run(r,o))}),Ef=m("$ZodNonOptional",(t,e)=>{E.init(t,e),z(t._zod,"values",()=>{const r=e.innerType._zod.values;return r?new Set([...r].filter(o=>o!==void 0)):void 0}),t._zod.parse=(r,o)=>{const n=e.innerType._zod.run(r,o);return n instanceof Promise?n.then(i=>Kn(i,t)):Kn(n,t)}});function Kn(t,e){return!t.issues.length&&t.value===void 0&&t.issues.push({code:"invalid_type",expected:"nonoptional",input:t.value,inst:e}),t}const Of=m("$ZodCatch",(t,e)=>{E.init(t,e),z(t._zod,"optin",()=>e.innerType._zod.optin),z(t._zod,"optout",()=>e.innerType._zod.optout),z(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,o)=>{if(o.direction==="backward")return e.innerType._zod.run(r,o);const n=e.innerType._zod.run(r,o);return n instanceof Promise?n.then(i=>(r.value=i.value,i.issues.length&&(r.value=e.catchValue({...r,error:{issues:i.issues.map(a=>xt(a,o,wt()))},input:r.value}),r.issues=[]),r)):(r.value=n.value,n.issues.length&&(r.value=e.catchValue({...r,error:{issues:n.issues.map(i=>xt(i,o,wt()))},input:r.value}),r.issues=[]),r)}}),If=m("$ZodPipe",(t,e)=>{E.init(t,e),z(t._zod,"values",()=>e.in._zod.values),z(t._zod,"optin",()=>e.in._zod.optin),z(t._zod,"optout",()=>e.out._zod.optout),z(t._zod,"propValues",()=>e.in._zod.propValues),t._zod.parse=(r,o)=>{if(o.direction==="backward"){const i=e.out._zod.run(r,o);return i instanceof Promise?i.then(a=>Ye(a,e.in,o)):Ye(i,e.in,o)}const n=e.in._zod.run(r,o);return n instanceof Promise?n.then(i=>Ye(i,e.out,o)):Ye(n,e.out,o)}});function Ye(t,e,r){return t.issues.length?(t.aborted=!0,t):e._zod.run({value:t.value,issues:t.issues},r)}const jf=m("$ZodReadonly",(t,e)=>{E.init(t,e),z(t._zod,"propValues",()=>e.innerType._zod.propValues),z(t._zod,"values",()=>e.innerType._zod.values),z(t._zod,"optin",()=>e.innerType?._zod?.optin),z(t._zod,"optout",()=>e.innerType?._zod?.optout),t._zod.parse=(r,o)=>{if(o.direction==="backward")return e.innerType._zod.run(r,o);const n=e.innerType._zod.run(r,o);return n instanceof Promise?n.then(Qn):Qn(n)}});function Qn(t){return t.value=Object.freeze(t.value),t}const Pf=m("$ZodCustom",(t,e)=>{q.init(t,e),E.init(t,e),t._zod.parse=(r,o)=>r,t._zod.check=r=>{const o=r.value,n=e.fn(o);if(n instanceof Promise)return n.then(i=>ti(i,r,o,t));ti(n,r,o,t)}});function ti(t,e,r,o){if(!t){const n={code:"custom",input:r,inst:o,path:[...o._zod.def.path??[]],continue:!o._zod.def.abort};o._zod.def.params&&(n.params=o._zod.def.params),e.issues.push(Ee(n))}}var ei;class Tf{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...r){const o=r[0];return this._map.set(e,o),o&&typeof o=="object"&&"id"in o&&this._idmap.set(o.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){const r=this._map.get(e);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(e),this}get(e){const r=e._zod.parent;if(r){const o={...this.get(r)??{}};delete o.id;const n={...o,...this._map.get(e)};return Object.keys(n).length?n:void 0}return this._map.get(e)}has(e){return this._map.has(e)}}function Cf(){return new Tf}(ei=globalThis).__zod_globalRegistry??(ei.__zod_globalRegistry=Cf());const ge=globalThis.__zod_globalRegistry;function Nf(t,e){return new t({type:"string",...h(e)})}function Zf(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...h(e)})}function ri(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...h(e)})}function Rf(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...h(e)})}function Df(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...h(e)})}function Uf(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...h(e)})}function Mf(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...h(e)})}function Bf(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...h(e)})}function Lf(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...h(e)})}function Ff(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...h(e)})}function Gf(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...h(e)})}function Jf(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...h(e)})}function Yf(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...h(e)})}function Hf(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...h(e)})}function Vf(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...h(e)})}function Wf(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...h(e)})}function qf(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...h(e)})}function Xf(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...h(e)})}function Kf(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...h(e)})}function Qf(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...h(e)})}function th(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...h(e)})}function eh(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...h(e)})}function rh(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...h(e)})}function oh(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...h(e)})}function nh(t,e){return new t({type:"string",format:"date",check:"string_format",...h(e)})}function ih(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...h(e)})}function ah(t,e){return new t({type:"string",format:"duration",check:"string_format",...h(e)})}function sh(t,e){return new t({type:"number",checks:[],...h(e)})}function lh(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...h(e)})}function dh(t,e){return new t({type:"boolean",...h(e)})}function ch(t,e){return new t({type:"undefined",...h(e)})}function ph(t,e){return new t({type:"null",...h(e)})}function mh(t){return new t({type:"any"})}function bh(t){return new t({type:"unknown"})}function uh(t,e){return new t({type:"never",...h(e)})}function oi(t,e){return new Ra({check:"less_than",...h(e),value:t,inclusive:!1})}function Qr(t,e){return new Ra({check:"less_than",...h(e),value:t,inclusive:!0})}function ni(t,e){return new Da({check:"greater_than",...h(e),value:t,inclusive:!1})}function to(t,e){return new Da({check:"greater_than",...h(e),value:t,inclusive:!0})}function ii(t,e){return new kg({check:"multiple_of",...h(e),value:t})}function Ja(t,e){return new zg({check:"max_length",...h(e),maximum:t})}function Ir(t,e){return new Ag({check:"min_length",...h(e),minimum:t})}function Ya(t,e){return new Sg({check:"length_equals",...h(e),length:t})}function gh(t,e){return new $g({check:"string_format",format:"regex",...h(e),pattern:t})}function fh(t){return new Eg({check:"string_format",format:"lowercase",...h(t)})}function hh(t){return new Og({check:"string_format",format:"uppercase",...h(t)})}function vh(t,e){return new Ig({check:"string_format",format:"includes",...h(e),includes:t})}function wh(t,e){return new jg({check:"string_format",format:"starts_with",...h(e),prefix:t})}function xh(t,e){return new Pg({check:"string_format",format:"ends_with",...h(e),suffix:t})}function pe(t){return new Tg({check:"overwrite",tx:t})}function yh(t){return pe(e=>e.normalize(t))}function kh(){return pe(t=>t.trim())}function _h(){return pe(t=>t.toLowerCase())}function zh(){return pe(t=>t.toUpperCase())}function Ah(){return pe(t=>Au(t))}function Sh(t,e,r){return new t({type:"array",element:e,...h(r)})}function $h(t,e,r){return new t({type:"custom",check:"custom",fn:e,...h(r)})}function Eh(t){const e=Oh(r=>(r.addIssue=o=>{if(typeof o=="string")r.issues.push(Ee(o,r.value,e._zod.def));else{const n=o;n.fatal&&(n.continue=!1),n.code??(n.code="custom"),n.input??(n.input=r.value),n.inst??(n.inst=e),n.continue??(n.continue=!e._zod.def.abort),r.issues.push(Ee(n))}},t(r.value,r)));return e}function Oh(t,e){const r=new q({check:"custom",...h(e)});return r._zod.check=t,r}function Ha(t){let e=t?.target??"draft-2020-12";return e==="draft-4"&&(e="draft-04"),e==="draft-7"&&(e="draft-07"),{processors:t.processors??{},metadataRegistry:t?.metadata??ge,target:e,unrepresentable:t?.unrepresentable??"throw",override:t?.override??(()=>{}),io:t?.io??"output",counter:0,seen:new Map,cycles:t?.cycles??"ref",reused:t?.reused??"inline",external:t?.external??void 0}}function U(t,e,r={path:[],schemaPath:[]}){var o;const n=t._zod.def,i=e.seen.get(t);if(i)return i.count++,r.schemaPath.includes(t)&&(i.cycle=r.path),i.schema;const a={schema:{},count:1,cycle:void 0,path:r.path};e.seen.set(t,a);const s=t._zod.toJSONSchema?.();if(s)a.schema=s;else{const c={...r,schemaPath:[...r.schemaPath,t],path:r.path};if(t._zod.processJSONSchema)t._zod.processJSONSchema(e,a.schema,c);else{const u=a.schema,g=e.processors[n.type];if(!g)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${n.type}`);g(t,e,u,c)}const p=t._zod.parent;p&&(a.ref||(a.ref=p),U(p,e,c),e.seen.get(p).isParent=!0)}const l=e.metadataRegistry.get(t);return l&&Object.assign(a.schema,l),e.io==="input"&&Y(t)&&(delete a.schema.examples,delete a.schema.default),e.io==="input"&&a.schema._prefault&&((o=a.schema).default??(o.default=a.schema._prefault)),delete a.schema._prefault,e.seen.get(t).schema}function Va(t,e){const r=t.seen.get(e);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const o=new Map;for(const a of t.seen.entries()){const s=t.metadataRegistry.get(a[0])?.id;if(s){const l=o.get(s);if(l&&l!==a[0])throw new Error(`Duplicate schema id "${s}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);o.set(s,a[0])}}const n=a=>{const s=t.target==="draft-2020-12"?"$defs":"definitions";if(t.external){const p=t.external.registry.get(a[0])?.id,u=t.external.uri??(x=>x);if(p)return{ref:u(p)};const g=a[1].defId??a[1].schema.id??`schema${t.counter++}`;return a[1].defId=g,{defId:g,ref:`${u("__shared")}#/${s}/${g}`}}if(a[1]===r)return{ref:"#"};const d=`#/${s}/`,c=a[1].schema.id??`__schema${t.counter++}`;return{defId:c,ref:d+c}},i=a=>{if(a[1].schema.$ref)return;const s=a[1],{ref:l,defId:d}=n(a);s.def={...s.schema},d&&(s.defId=d);const c=s.schema;for(const p in c)delete c[p];c.$ref=l};if(t.cycles==="throw")for(const a of t.seen.entries()){const s=a[1];if(s.cycle)throw new Error(`Cycle detected: #/${s.cycle?.join("/")}/<root>
|
|
1670
|
-
|
|
1671
|
-
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const a of t.seen.entries()){const s=a[1];if(e===a[0]){i(a);continue}if(t.external){const d=t.external.registry.get(a[0])?.id;if(e!==a[0]&&d){i(a);continue}}if(t.metadataRegistry.get(a[0])?.id){i(a);continue}if(s.cycle){i(a);continue}if(s.count>1&&t.reused==="ref"){i(a);continue}}}function Wa(t,e){const r=t.seen.get(e);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const o=a=>{const s=t.seen.get(a);if(s.ref===null)return;const l=s.def??s.schema,d={...l},c=s.ref;if(s.ref=null,c){o(c);const u=t.seen.get(c),g=u.schema;if(g.$ref&&(t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0")?(l.allOf=l.allOf??[],l.allOf.push(g)):Object.assign(l,g),Object.assign(l,d),a._zod.parent===c)for(const R in l)R==="$ref"||R==="allOf"||R in d||delete l[R];if(g.$ref&&u.def)for(const R in l)R==="$ref"||R==="allOf"||R in u.def&&JSON.stringify(l[R])===JSON.stringify(u.def[R])&&delete l[R]}const p=a._zod.parent;if(p&&p!==c){o(p);const u=t.seen.get(p);if(u?.schema.$ref&&(l.$ref=u.schema.$ref,u.def))for(const g in l)g==="$ref"||g==="allOf"||g in u.def&&JSON.stringify(l[g])===JSON.stringify(u.def[g])&&delete l[g]}t.override({zodSchema:a,jsonSchema:l,path:s.path??[]})};for(const a of[...t.seen.entries()].reverse())o(a[0]);const n={};if(t.target==="draft-2020-12"?n.$schema="https://json-schema.org/draft/2020-12/schema":t.target==="draft-07"?n.$schema="http://json-schema.org/draft-07/schema#":t.target==="draft-04"?n.$schema="http://json-schema.org/draft-04/schema#":t.target,t.external?.uri){const a=t.external.registry.get(e)?.id;if(!a)throw new Error("Schema is missing an `id` property");n.$id=t.external.uri(a)}Object.assign(n,r.def??r.schema);const i=t.external?.defs??{};for(const a of t.seen.entries()){const s=a[1];s.def&&s.defId&&(i[s.defId]=s.def)}t.external||Object.keys(i).length>0&&(t.target==="draft-2020-12"?n.$defs=i:n.definitions=i);try{const a=JSON.parse(JSON.stringify(n));return Object.defineProperty(a,"~standard",{value:{...e["~standard"],jsonSchema:{input:jr(e,"input",t.processors),output:jr(e,"output",t.processors)}},enumerable:!1,writable:!1}),a}catch{throw new Error("Error converting schema to JSON.")}}function Y(t,e){const r=e??{seen:new Set};if(r.seen.has(t))return!1;r.seen.add(t);const o=t._zod.def;if(o.type==="transform")return!0;if(o.type==="array")return Y(o.element,r);if(o.type==="set")return Y(o.valueType,r);if(o.type==="lazy")return Y(o.getter(),r);if(o.type==="promise"||o.type==="optional"||o.type==="nonoptional"||o.type==="nullable"||o.type==="readonly"||o.type==="default"||o.type==="prefault")return Y(o.innerType,r);if(o.type==="intersection")return Y(o.left,r)||Y(o.right,r);if(o.type==="record"||o.type==="map")return Y(o.keyType,r)||Y(o.valueType,r);if(o.type==="pipe")return Y(o.in,r)||Y(o.out,r);if(o.type==="object"){for(const n in o.shape)if(Y(o.shape[n],r))return!0;return!1}if(o.type==="union"){for(const n of o.options)if(Y(n,r))return!0;return!1}if(o.type==="tuple"){for(const n of o.items)if(Y(n,r))return!0;return!!(o.rest&&Y(o.rest,r))}return!1}const Ih=(t,e={})=>r=>{const o=Ha({...r,processors:e});return U(t,o),Va(o,t),Wa(o,t)},jr=(t,e,r={})=>o=>{const{libraryOptions:n,target:i}=o??{},a=Ha({...n??{},target:i,io:e,processors:r});return U(t,a),Va(a,t),Wa(a,t)},jh={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Ph=(t,e,r,o)=>{const n=r;n.type="string";const{minimum:i,maximum:a,format:s,patterns:l,contentEncoding:d}=t._zod.bag;if(typeof i=="number"&&(n.minLength=i),typeof a=="number"&&(n.maxLength=a),s&&(n.format=jh[s]??s,n.format===""&&delete n.format,s==="time"&&delete n.format),d&&(n.contentEncoding=d),l&&l.size>0){const c=[...l];c.length===1?n.pattern=c[0].source:c.length>1&&(n.allOf=[...c.map(p=>({...e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0"?{type:"string"}:{},pattern:p.source}))])}},Th=(t,e,r,o)=>{const n=r,{minimum:i,maximum:a,format:s,multipleOf:l,exclusiveMaximum:d,exclusiveMinimum:c}=t._zod.bag;typeof s=="string"&&s.includes("int")?n.type="integer":n.type="number",typeof c=="number"&&(e.target==="draft-04"||e.target==="openapi-3.0"?(n.minimum=c,n.exclusiveMinimum=!0):n.exclusiveMinimum=c),typeof i=="number"&&(n.minimum=i,typeof c=="number"&&e.target!=="draft-04"&&(c>=i?delete n.minimum:delete n.exclusiveMinimum)),typeof d=="number"&&(e.target==="draft-04"||e.target==="openapi-3.0"?(n.maximum=d,n.exclusiveMaximum=!0):n.exclusiveMaximum=d),typeof a=="number"&&(n.maximum=a,typeof d=="number"&&e.target!=="draft-04"&&(d<=a?delete n.maximum:delete n.exclusiveMaximum)),typeof l=="number"&&(n.multipleOf=l)},Ch=(t,e,r,o)=>{r.type="boolean"},Nh=(t,e,r,o)=>{e.target==="openapi-3.0"?(r.type="string",r.nullable=!0,r.enum=[null]):r.type="null"},Zh=(t,e,r,o)=>{if(e.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},Rh=(t,e,r,o)=>{r.not={}},Dh=(t,e,r,o)=>{},Uh=(t,e,r,o)=>{},Mh=(t,e,r,o)=>{const n=t._zod.def,i=Sa(n.entries);i.every(a=>typeof a=="number")&&(r.type="number"),i.every(a=>typeof a=="string")&&(r.type="string"),r.enum=i},Bh=(t,e,r,o)=>{const n=t._zod.def,i=[];for(const a of n.values)if(a===void 0){if(e.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof a=="bigint"){if(e.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");i.push(Number(a))}else i.push(a);if(i.length!==0)if(i.length===1){const a=i[0];r.type=a===null?"null":typeof a,e.target==="draft-04"||e.target==="openapi-3.0"?r.enum=[a]:r.const=a}else i.every(a=>typeof a=="number")&&(r.type="number"),i.every(a=>typeof a=="string")&&(r.type="string"),i.every(a=>typeof a=="boolean")&&(r.type="boolean"),i.every(a=>a===null)&&(r.type="null"),r.enum=i},Lh=(t,e,r,o)=>{if(e.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Fh=(t,e,r,o)=>{if(e.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Gh=(t,e,r,o)=>{const n=r,i=t._zod.def,{minimum:a,maximum:s}=t._zod.bag;typeof a=="number"&&(n.minItems=a),typeof s=="number"&&(n.maxItems=s),n.type="array",n.items=U(i.element,e,{...o,path:[...o.path,"items"]})},Jh=(t,e,r,o)=>{const n=r,i=t._zod.def;n.type="object",n.properties={};const a=i.shape;for(const d in a)n.properties[d]=U(a[d],e,{...o,path:[...o.path,"properties",d]});const s=new Set(Object.keys(a)),l=new Set([...s].filter(d=>{const c=i.shape[d]._zod;return e.io==="input"?c.optin===void 0:c.optout===void 0}));l.size>0&&(n.required=Array.from(l)),i.catchall?._zod.def.type==="never"?n.additionalProperties=!1:i.catchall?i.catchall&&(n.additionalProperties=U(i.catchall,e,{...o,path:[...o.path,"additionalProperties"]})):e.io==="output"&&(n.additionalProperties=!1)},Yh=(t,e,r,o)=>{const n=t._zod.def,i=n.inclusive===!1,a=n.options.map((s,l)=>U(s,e,{...o,path:[...o.path,i?"oneOf":"anyOf",l]}));i?r.oneOf=a:r.anyOf=a},Hh=(t,e,r,o)=>{const n=t._zod.def,i=U(n.left,e,{...o,path:[...o.path,"allOf",0]}),a=U(n.right,e,{...o,path:[...o.path,"allOf",1]}),s=d=>"allOf"in d&&Object.keys(d).length===1,l=[...s(i)?i.allOf:[i],...s(a)?a.allOf:[a]];r.allOf=l},Vh=(t,e,r,o)=>{const n=r,i=t._zod.def;n.type="object";const a=i.keyType,l=a._zod.bag?.patterns;if(i.mode==="loose"&&l&&l.size>0){const c=U(i.valueType,e,{...o,path:[...o.path,"patternProperties","*"]});n.patternProperties={};for(const p of l)n.patternProperties[p.source]=c}else(e.target==="draft-07"||e.target==="draft-2020-12")&&(n.propertyNames=U(i.keyType,e,{...o,path:[...o.path,"propertyNames"]})),n.additionalProperties=U(i.valueType,e,{...o,path:[...o.path,"additionalProperties"]});const d=a._zod.values;if(d){const c=[...d].filter(p=>typeof p=="string"||typeof p=="number");c.length>0&&(n.required=c)}},Wh=(t,e,r,o)=>{const n=t._zod.def,i=U(n.innerType,e,o),a=e.seen.get(t);e.target==="openapi-3.0"?(a.ref=n.innerType,r.nullable=!0):r.anyOf=[i,{type:"null"}]},qh=(t,e,r,o)=>{const n=t._zod.def;U(n.innerType,e,o);const i=e.seen.get(t);i.ref=n.innerType},Xh=(t,e,r,o)=>{const n=t._zod.def;U(n.innerType,e,o);const i=e.seen.get(t);i.ref=n.innerType,r.default=JSON.parse(JSON.stringify(n.defaultValue))},Kh=(t,e,r,o)=>{const n=t._zod.def;U(n.innerType,e,o);const i=e.seen.get(t);i.ref=n.innerType,e.io==="input"&&(r._prefault=JSON.parse(JSON.stringify(n.defaultValue)))},Qh=(t,e,r,o)=>{const n=t._zod.def;U(n.innerType,e,o);const i=e.seen.get(t);i.ref=n.innerType;let a;try{a=n.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}r.default=a},tv=(t,e,r,o)=>{const n=t._zod.def,i=e.io==="input"?n.in._zod.def.type==="transform"?n.out:n.in:n.out;U(i,e,o);const a=e.seen.get(t);a.ref=i},ev=(t,e,r,o)=>{const n=t._zod.def;U(n.innerType,e,o);const i=e.seen.get(t);i.ref=n.innerType,r.readOnly=!0},qa=(t,e,r,o)=>{const n=t._zod.def;U(n.innerType,e,o);const i=e.seen.get(t);i.ref=n.innerType},rv=m("ZodISODateTime",(t,e)=>{Hg.init(t,e),Z.init(t,e)});function ov(t){return oh(rv,t)}const nv=m("ZodISODate",(t,e)=>{Vg.init(t,e),Z.init(t,e)});function iv(t){return nh(nv,t)}const av=m("ZodISOTime",(t,e)=>{Wg.init(t,e),Z.init(t,e)});function sv(t){return ih(av,t)}const lv=m("ZodISODuration",(t,e)=>{qg.init(t,e),Z.init(t,e)});function dv(t){return ah(lv,t)}const cv=(t,e)=>{Ia.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:r=>Du(t,r)},flatten:{value:r=>Ru(t,r)},addIssue:{value:r=>{t.issues.push(r),t.message=JSON.stringify(t.issues,co,2)}},addIssues:{value:r=>{t.issues.push(...r),t.message=JSON.stringify(t.issues,co,2)}},isEmpty:{get(){return t.issues.length===0}}})},rt=m("ZodError",cv,{Parent:Error}),pv=Fo(rt),mv=Go(rt),bv=Jr(rt),uv=Yr(rt),gv=Bu(rt),fv=Lu(rt),hv=Fu(rt),vv=Gu(rt),wv=Ju(rt),xv=Yu(rt),yv=Hu(rt),kv=Vu(rt),O=m("ZodType",(t,e)=>(E.init(t,e),Object.assign(t["~standard"],{jsonSchema:{input:jr(t,"input"),output:jr(t,"output")}}),t.toJSONSchema=Ih(t,{}),t.def=e,t.type=e.type,Object.defineProperty(t,"_def",{value:e}),t.check=(...r)=>t.clone(_t(e,{checks:[...e.checks??[],...r.map(o=>typeof o=="function"?{_zod:{check:o,def:{check:"custom"},onattach:[]}}:o)]}),{parent:!0}),t.with=t.check,t.clone=(r,o)=>zt(t,r,o),t.brand=()=>t,t.register=((r,o)=>(r.add(t,o),t)),t.parse=(r,o)=>pv(t,r,o,{callee:t.parse}),t.safeParse=(r,o)=>bv(t,r,o),t.parseAsync=async(r,o)=>mv(t,r,o,{callee:t.parseAsync}),t.safeParseAsync=async(r,o)=>uv(t,r,o),t.spa=t.safeParseAsync,t.encode=(r,o)=>gv(t,r,o),t.decode=(r,o)=>fv(t,r,o),t.encodeAsync=async(r,o)=>hv(t,r,o),t.decodeAsync=async(r,o)=>vv(t,r,o),t.safeEncode=(r,o)=>wv(t,r,o),t.safeDecode=(r,o)=>xv(t,r,o),t.safeEncodeAsync=async(r,o)=>yv(t,r,o),t.safeDecodeAsync=async(r,o)=>kv(t,r,o),t.refine=(r,o)=>t.check(x0(r,o)),t.superRefine=r=>t.check(y0(r)),t.overwrite=r=>t.check(pe(r)),t.optional=()=>Tt(t),t.exactOptional=()=>s0(t),t.nullable=()=>li(t),t.nullish=()=>Tt(li(t)),t.nonoptional=r=>b0(t,r),t.array=()=>es(t),t.or=r=>Yo([t,r]),t.and=r=>Ho(t,r),t.transform=r=>di(t,i0(r)),t.default=r=>c0(t,r),t.prefault=r=>m0(t,r),t.catch=r=>g0(t,r),t.pipe=r=>di(t,r),t.readonly=()=>v0(t),t.describe=r=>{const o=t.clone();return ge.add(o,{description:r}),o},Object.defineProperty(t,"description",{get(){return ge.get(t)?.description},configurable:!0}),t.meta=(...r)=>{if(r.length===0)return ge.get(t);const o=t.clone();return ge.add(o,r[0]),o},t.isOptional=()=>t.safeParse(void 0).success,t.isNullable=()=>t.safeParse(null).success,t.apply=r=>r(t),t)),Xa=m("_ZodString",(t,e)=>{Jo.init(t,e),O.init(t,e),t._zod.processJSONSchema=(o,n,i)=>Ph(t,o,n);const r=t._zod.bag;t.format=r.format??null,t.minLength=r.minimum??null,t.maxLength=r.maximum??null,t.regex=(...o)=>t.check(gh(...o)),t.includes=(...o)=>t.check(vh(...o)),t.startsWith=(...o)=>t.check(wh(...o)),t.endsWith=(...o)=>t.check(xh(...o)),t.min=(...o)=>t.check(Ir(...o)),t.max=(...o)=>t.check(Ja(...o)),t.length=(...o)=>t.check(Ya(...o)),t.nonempty=(...o)=>t.check(Ir(1,...o)),t.lowercase=o=>t.check(fh(o)),t.uppercase=o=>t.check(hh(o)),t.trim=()=>t.check(kh()),t.normalize=(...o)=>t.check(yh(...o)),t.toLowerCase=()=>t.check(_h()),t.toUpperCase=()=>t.check(zh()),t.slugify=()=>t.check(Ah())}),_v=m("ZodString",(t,e)=>{Jo.init(t,e),Xa.init(t,e),t.email=r=>t.check(Zf(zv,r)),t.url=r=>t.check(Bf(Av,r)),t.jwt=r=>t.check(rh(Mv,r)),t.emoji=r=>t.check(Lf(Sv,r)),t.guid=r=>t.check(ri(ai,r)),t.uuid=r=>t.check(Rf(He,r)),t.uuidv4=r=>t.check(Df(He,r)),t.uuidv6=r=>t.check(Uf(He,r)),t.uuidv7=r=>t.check(Mf(He,r)),t.nanoid=r=>t.check(Ff($v,r)),t.guid=r=>t.check(ri(ai,r)),t.cuid=r=>t.check(Gf(Ev,r)),t.cuid2=r=>t.check(Jf(Ov,r)),t.ulid=r=>t.check(Yf(Iv,r)),t.base64=r=>t.check(Qf(Rv,r)),t.base64url=r=>t.check(th(Dv,r)),t.xid=r=>t.check(Hf(jv,r)),t.ksuid=r=>t.check(Vf(Pv,r)),t.ipv4=r=>t.check(Wf(Tv,r)),t.ipv6=r=>t.check(qf(Cv,r)),t.cidrv4=r=>t.check(Xf(Nv,r)),t.cidrv6=r=>t.check(Kf(Zv,r)),t.e164=r=>t.check(eh(Uv,r)),t.datetime=r=>t.check(ov(r)),t.date=r=>t.check(iv(r)),t.time=r=>t.check(sv(r)),t.duration=r=>t.check(dv(r))});function ot(t){return Nf(_v,t)}const Z=m("ZodStringFormat",(t,e)=>{C.init(t,e),Xa.init(t,e)}),zv=m("ZodEmail",(t,e)=>{Dg.init(t,e),Z.init(t,e)}),ai=m("ZodGUID",(t,e)=>{Zg.init(t,e),Z.init(t,e)}),He=m("ZodUUID",(t,e)=>{Rg.init(t,e),Z.init(t,e)}),Av=m("ZodURL",(t,e)=>{Ug.init(t,e),Z.init(t,e)}),Sv=m("ZodEmoji",(t,e)=>{Mg.init(t,e),Z.init(t,e)}),$v=m("ZodNanoID",(t,e)=>{Bg.init(t,e),Z.init(t,e)}),Ev=m("ZodCUID",(t,e)=>{Lg.init(t,e),Z.init(t,e)}),Ov=m("ZodCUID2",(t,e)=>{Fg.init(t,e),Z.init(t,e)}),Iv=m("ZodULID",(t,e)=>{Gg.init(t,e),Z.init(t,e)}),jv=m("ZodXID",(t,e)=>{Jg.init(t,e),Z.init(t,e)}),Pv=m("ZodKSUID",(t,e)=>{Yg.init(t,e),Z.init(t,e)}),Tv=m("ZodIPv4",(t,e)=>{Xg.init(t,e),Z.init(t,e)}),Cv=m("ZodIPv6",(t,e)=>{Kg.init(t,e),Z.init(t,e)}),Nv=m("ZodCIDRv4",(t,e)=>{Qg.init(t,e),Z.init(t,e)}),Zv=m("ZodCIDRv6",(t,e)=>{tf.init(t,e),Z.init(t,e)}),Rv=m("ZodBase64",(t,e)=>{ef.init(t,e),Z.init(t,e)}),Dv=m("ZodBase64URL",(t,e)=>{of.init(t,e),Z.init(t,e)}),Uv=m("ZodE164",(t,e)=>{nf.init(t,e),Z.init(t,e)}),Mv=m("ZodJWT",(t,e)=>{sf.init(t,e),Z.init(t,e)}),Ka=m("ZodNumber",(t,e)=>{Ma.init(t,e),O.init(t,e),t._zod.processJSONSchema=(o,n,i)=>Th(t,o,n),t.gt=(o,n)=>t.check(ni(o,n)),t.gte=(o,n)=>t.check(to(o,n)),t.min=(o,n)=>t.check(to(o,n)),t.lt=(o,n)=>t.check(oi(o,n)),t.lte=(o,n)=>t.check(Qr(o,n)),t.max=(o,n)=>t.check(Qr(o,n)),t.int=o=>t.check(si(o)),t.safe=o=>t.check(si(o)),t.positive=o=>t.check(ni(0,o)),t.nonnegative=o=>t.check(to(0,o)),t.negative=o=>t.check(oi(0,o)),t.nonpositive=o=>t.check(Qr(0,o)),t.multipleOf=(o,n)=>t.check(ii(o,n)),t.step=(o,n)=>t.check(ii(o,n)),t.finite=()=>t;const r=t._zod.bag;t.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,t.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,t.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),t.isFinite=!0,t.format=r.format??null});function mo(t){return sh(Ka,t)}const Bv=m("ZodNumberFormat",(t,e)=>{lf.init(t,e),Ka.init(t,e)});function si(t){return lh(Bv,t)}const Lv=m("ZodBoolean",(t,e)=>{df.init(t,e),O.init(t,e),t._zod.processJSONSchema=(r,o,n)=>Ch(t,r,o)});function Fv(t){return dh(Lv,t)}const Gv=m("ZodUndefined",(t,e)=>{cf.init(t,e),O.init(t,e),t._zod.processJSONSchema=(r,o,n)=>Zh(t,r)});function Jv(t){return ch(Gv,t)}const Yv=m("ZodNull",(t,e)=>{pf.init(t,e),O.init(t,e),t._zod.processJSONSchema=(r,o,n)=>Nh(t,r,o)});function Qa(t){return ph(Yv,t)}const Hv=m("ZodAny",(t,e)=>{mf.init(t,e),O.init(t,e),t._zod.processJSONSchema=(r,o,n)=>Dh()});function K0(){return mh(Hv)}const Vv=m("ZodUnknown",(t,e)=>{bf.init(t,e),O.init(t,e),t._zod.processJSONSchema=(r,o,n)=>Uh()});function le(){return bh(Vv)}const Wv=m("ZodNever",(t,e)=>{uf.init(t,e),O.init(t,e),t._zod.processJSONSchema=(r,o,n)=>Rh(t,r,o)});function ts(t){return uh(Wv,t)}const qv=m("ZodArray",(t,e)=>{gf.init(t,e),O.init(t,e),t._zod.processJSONSchema=(r,o,n)=>Gh(t,r,o,n),t.element=e.element,t.min=(r,o)=>t.check(Ir(r,o)),t.nonempty=r=>t.check(Ir(1,r)),t.max=(r,o)=>t.check(Ja(r,o)),t.length=(r,o)=>t.check(Ya(r,o)),t.unwrap=()=>t.element});function es(t,e){return Sh(qv,t,e)}const Xv=m("ZodObject",(t,e)=>{hf.init(t,e),O.init(t,e),t._zod.processJSONSchema=(r,o,n)=>Jh(t,r,o,n),z(t,"shape",()=>e.shape),t.keyof=()=>r0(Object.keys(t._zod.def.shape)),t.catchall=r=>t.clone({...t._zod.def,catchall:r}),t.passthrough=()=>t.clone({...t._zod.def,catchall:le()}),t.loose=()=>t.clone({...t._zod.def,catchall:le()}),t.strict=()=>t.clone({...t._zod.def,catchall:ts()}),t.strip=()=>t.clone({...t._zod.def,catchall:void 0}),t.extend=r=>Pu(t,r),t.safeExtend=r=>Tu(t,r),t.merge=r=>Cu(t,r),t.pick=r=>Iu(t,r),t.omit=r=>ju(t,r),t.partial=(...r)=>Nu(ns,t,r[0]),t.required=(...r)=>Zu(is,t,r[0])});function H(t,e){const r={type:"object",shape:t??{},...h(e)};return new Xv(r)}const rs=m("ZodUnion",(t,e)=>{Fa.init(t,e),O.init(t,e),t._zod.processJSONSchema=(r,o,n)=>Yh(t,r,o,n),t.options=e.options});function Yo(t,e){return new rs({type:"union",options:t,...h(e)})}const Kv=m("ZodDiscriminatedUnion",(t,e)=>{rs.init(t,e),vf.init(t,e)});function os(t,e,r){return new Kv({type:"union",options:e,discriminator:t,...h(r)})}const Qv=m("ZodIntersection",(t,e)=>{wf.init(t,e),O.init(t,e),t._zod.processJSONSchema=(r,o,n)=>Hh(t,r,o,n)});function Ho(t,e){return new Qv({type:"intersection",left:t,right:e})}const t0=m("ZodRecord",(t,e)=>{xf.init(t,e),O.init(t,e),t._zod.processJSONSchema=(r,o,n)=>Vh(t,r,o,n),t.keyType=e.keyType,t.valueType=e.valueType});function e0(t,e,r){return new t0({type:"record",keyType:t,valueType:e,...h(r)})}const Pr=m("ZodEnum",(t,e)=>{yf.init(t,e),O.init(t,e),t._zod.processJSONSchema=(o,n,i)=>Mh(t,o,n),t.enum=e.entries,t.options=Object.values(e.entries);const r=new Set(Object.keys(e.entries));t.extract=(o,n)=>{const i={};for(const a of o)if(r.has(a))i[a]=e.entries[a];else throw new Error(`Key ${a} not found in enum`);return new Pr({...e,checks:[],...h(n),entries:i})},t.exclude=(o,n)=>{const i={...e.entries};for(const a of o)if(r.has(a))delete i[a];else throw new Error(`Key ${a} not found in enum`);return new Pr({...e,checks:[],...h(n),entries:i})}});function r0(t,e){const r=Array.isArray(t)?Object.fromEntries(t.map(o=>[o,o])):t;return new Pr({type:"enum",entries:r,...h(e)})}function Q0(t,e){return new Pr({type:"enum",entries:t,...h(e)})}const o0=m("ZodLiteral",(t,e)=>{kf.init(t,e),O.init(t,e),t._zod.processJSONSchema=(r,o,n)=>Bh(t,r,o),t.values=new Set(e.values),Object.defineProperty(t,"value",{get(){if(e.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return e.values[0]}})});function st(t,e){return new o0({type:"literal",values:Array.isArray(t)?t:[t],...h(e)})}const n0=m("ZodTransform",(t,e)=>{_f.init(t,e),O.init(t,e),t._zod.processJSONSchema=(r,o,n)=>Fh(t,r),t._zod.parse=(r,o)=>{if(o.direction==="backward")throw new za(t.constructor.name);r.addIssue=i=>{if(typeof i=="string")r.issues.push(Ee(i,r.value,e));else{const a=i;a.fatal&&(a.continue=!1),a.code??(a.code="custom"),a.input??(a.input=r.value),a.inst??(a.inst=t),r.issues.push(Ee(a))}};const n=e.transform(r.value,r);return n instanceof Promise?n.then(i=>(r.value=i,r)):(r.value=n,r)}});function i0(t){return new n0({type:"transform",transform:t})}const ns=m("ZodOptional",(t,e)=>{Ga.init(t,e),O.init(t,e),t._zod.processJSONSchema=(r,o,n)=>qa(t,r,o,n),t.unwrap=()=>t._zod.def.innerType});function Tt(t){return new ns({type:"optional",innerType:t})}const a0=m("ZodExactOptional",(t,e)=>{zf.init(t,e),O.init(t,e),t._zod.processJSONSchema=(r,o,n)=>qa(t,r,o,n),t.unwrap=()=>t._zod.def.innerType});function s0(t){return new a0({type:"optional",innerType:t})}const l0=m("ZodNullable",(t,e)=>{Af.init(t,e),O.init(t,e),t._zod.processJSONSchema=(r,o,n)=>Wh(t,r,o,n),t.unwrap=()=>t._zod.def.innerType});function li(t){return new l0({type:"nullable",innerType:t})}const d0=m("ZodDefault",(t,e)=>{Sf.init(t,e),O.init(t,e),t._zod.processJSONSchema=(r,o,n)=>Xh(t,r,o,n),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function c0(t,e){return new d0({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():Ea(e)}})}const p0=m("ZodPrefault",(t,e)=>{$f.init(t,e),O.init(t,e),t._zod.processJSONSchema=(r,o,n)=>Kh(t,r,o,n),t.unwrap=()=>t._zod.def.innerType});function m0(t,e){return new p0({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():Ea(e)}})}const is=m("ZodNonOptional",(t,e)=>{Ef.init(t,e),O.init(t,e),t._zod.processJSONSchema=(r,o,n)=>qh(t,r,o,n),t.unwrap=()=>t._zod.def.innerType});function b0(t,e){return new is({type:"nonoptional",innerType:t,...h(e)})}const u0=m("ZodCatch",(t,e)=>{Of.init(t,e),O.init(t,e),t._zod.processJSONSchema=(r,o,n)=>Qh(t,r,o,n),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function g0(t,e){return new u0({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}const f0=m("ZodPipe",(t,e)=>{If.init(t,e),O.init(t,e),t._zod.processJSONSchema=(r,o,n)=>tv(t,r,o,n),t.in=e.in,t.out=e.out});function di(t,e){return new f0({type:"pipe",in:t,out:e})}const h0=m("ZodReadonly",(t,e)=>{jf.init(t,e),O.init(t,e),t._zod.processJSONSchema=(r,o,n)=>ev(t,r,o,n),t.unwrap=()=>t._zod.def.innerType});function v0(t){return new h0({type:"readonly",innerType:t})}const w0=m("ZodCustom",(t,e)=>{Pf.init(t,e),O.init(t,e),t._zod.processJSONSchema=(r,o,n)=>Lh(t,r)});function x0(t,e={}){return $h(w0,t,e)}function y0(t){return Eh(t)}ot().regex(/^[a-zA-Z0-9:_-]*::[a-z0-9]*/,"Invalid party ID format");var k0=H({method:ot(),params:Tt(Yo([es(le()),e0(ot(),le())]))}),_0=H({result:Tt(le())}),as=H({error:H({code:mo(),message:ot(),data:Tt(ot().or(mo()).or(Fv()).or(Qa()).or(le()))})}),ss=Yo([_0,as]),ls=H({jsonrpc:st("2.0"),id:Tt(ot().or(mo()).or(Jv()).or(Qa()))}),z0=Ho(ls,k0),A0=Ho(ls,ss),Vo=(t=>(t.SPLICE_WALLET_REQUEST="SPLICE_WALLET_REQUEST",t.SPLICE_WALLET_RESPONSE="SPLICE_WALLET_RESPONSE",t.SPLICE_WALLET_EXT_READY="SPLICE_WALLET_EXT_READY",t.SPLICE_WALLET_EXT_ACK="SPLICE_WALLET_EXT_ACK",t.SPLICE_WALLET_EXT_OPEN="SPLICE_WALLET_EXT_OPEN",t.SPLICE_WALLET_IDP_AUTH_SUCCESS="SPLICE_WALLET_IDP_AUTH_SUCCESS",t.SPLICE_WALLET_LOGOUT="SPLICE_WALLET_LOGOUT",t))(Vo||{});os("type",[H({type:st("SPLICE_WALLET_REQUEST"),request:z0}),H({type:st("SPLICE_WALLET_RESPONSE"),response:A0}),H({type:st("SPLICE_WALLET_EXT_READY")}),H({type:st("SPLICE_WALLET_EXT_ACK")}),H({type:st("SPLICE_WALLET_EXT_OPEN"),url:ot().url()}),H({type:st("SPLICE_WALLET_IDP_AUTH_SUCCESS"),token:ot(),sessionId:ot()})]);os("walletType",[H({walletType:st("extension"),url:Tt(ts())}),H({walletType:st("remote"),url:ot().url()})]);H({name:ot()});var ds=class{constructor(t,e){this.url=t,this.accessToken=e}async handleErrorResponse(t){const e=await t.text();try{if(as.safeParse(JSON.parse(e)).success)throw JSON.parse(e)}catch{}throw{error:{code:t.status,message:t.statusText,data:e}}}async submit(t){const e={jsonrpc:"2.0",method:t.method,params:t.params,id:_u()},r=this.accessToken?{Authorization:`Bearer ${this.accessToken}`}:void 0,o=await fetch(this.url.href,{method:"POST",headers:{...r,"Content-Type":"application/json"},body:JSON.stringify(e)});if(!o.ok)return this.handleErrorResponse(o);const n=await o.json(),i=ss.parse(n);if("error"in i)throw i;return i}},S0=Object.defineProperty,$0=(t,e,r)=>e in t?S0(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,E0=(t,e,r)=>$0(t,e+"",r),O0=class{constructor(t){E0(this,"transport"),this.transport=t}async request(t){const e=await this.transport.submit(t);if("error"in e)throw new Error("RPC error: "+e.error.code+" - "+e.error.message);return e.result}},cs=O0;class ve{constructor(){this.state=new Map,this.accessToken={get:()=>this.getWithStorage("accessToken"),set:e=>this.setWithStorage("accessToken",e),clear:()=>this.clearWithStorage("accessToken")},this.networkId={get:()=>this.getWithStorage("networkId"),set:e=>this.setWithStorage("networkId",e),clear:()=>this.clearWithStorage("networkId")},this.expirationDate={get:()=>this.getWithStorage("expirationDate"),set:e=>this.setWithStorage("expirationDate",e),clear:()=>this.clearWithStorage("expirationDate")},this.intendedPage={get:()=>this.getWithStorage("intendedPage"),set:e=>this.setWithStorage("intendedPage",e),clear:()=>this.clearWithStorage("intendedPage")}}static localStorageKey(e){return`com.splice.wallet.${e}`}getWithStorage(e){if(this.state.has(e))return this.state.get(e);const r=localStorage.getItem(ve.localStorageKey(e));if(r)return this.state.set(e,r),r}setWithStorage(e,r){localStorage.setItem(ve.localStorageKey(e),r),this.state.set(e,r)}clearWithStorage(e){localStorage.removeItem(ve.localStorageKey(e)),this.state.delete(e)}clearAuthState(){this.accessToken.clear(),this.networkId.clear(),this.expirationDate.clear(),this.intendedPage.clear()}}const F=new ve,I0="/wallets",j0="/404",it="/login",tw="/transactions",ci=5e3;let eo=!1,ro=null;const ps=async()=>{const t=new URL(Qt("/api/v0/user"),window.location.origin);return ro||(ro=fetch(Qt("/.well-known/wallet-gateway-config")).then(e=>e.json()).then(e=>e?.userPath?new URL(e.userPath):t).catch(e=>(console.warn("Failed to fetch userPath from config, using default",e),t))),ro},hr=async t=>{try{const e=await ps();await new cs(new ds(e,t)).request({method:"removeSession"})}catch(e){console.debug("Failed to remove session:",e)}},P0=async()=>{if(!eo){eo=!0;try{const t=F.accessToken.get();t&&await hr(t)}finally{F.clearAuthState(),eo=!1,$t(window.location.pathname)!==it&&(window.location.href=ft(it))}}};class T0 extends ds{async handleErrorResponse(e){return e.status===401&&P0(),super.handleErrorResponse(e)}}const Wo=async t=>{const e=await ps();return new cs(new T0(e,t))};var C0=Object.create,qo=Object.defineProperty,N0=Object.getOwnPropertyDescriptor,ms=(t,e)=>(e=Symbol[t])?e:Symbol.for("Symbol."+t),bs=t=>{throw TypeError(t)},Z0=(t,e,r)=>e in t?qo(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,R0=(t,e)=>qo(t,"name",{value:e,configurable:!0}),Xo=t=>[,,,C0(t?.[ms("metadata")]??null)],D0=["class","method","getter","setter","accessor","field","value","get","set"],us=t=>t!==void 0&&typeof t!="function"?bs("Function expected"):t,U0=(t,e,r,o,n)=>({kind:D0[t],name:e,metadata:o,addInitializer:i=>r._?bs("Already initialized"):n.push(us(i||null))}),M0=(t,e)=>Z0(e,ms("metadata"),t[3]),Ko=(t,e,r,o)=>{for(var n=0,i=t[e>>1],a=i&&i.length;n<a;n++)i[n].call(r);return o},Qo=(t,e,r,o,n,i)=>{var a,s,l,d=e&7,c=!1,p=0,u=t[p]||(t[p]=[]),g=d&&(n=n.prototype,d<5&&(d>3||!c)&&N0(n,r));R0(n,r);for(var x=o.length-1;x>=0;x--)l=U0(d,r,s={},t[3],u),a=(0,o[x])(n,l),s._=1,us(a)&&(n=a);return M0(t,n),g&&qo(n,r,g),c?d^4?i:g:n},gs,tn,fs,hs,en,vs,ws,rn,xs;const pi=()=>{const t=F.intendedPage.get();F.intendedPage.clear();const e=t||I0;window.location.href=ft(e)};gs=[Uo("user-app")];class bo extends(fs=gt){async handleLogout(){go();const e=F.accessToken.get();if(!e){window.location.href=ft(it);return}try{await(await Wo(e)).request({method:"removeSession"})}catch(r){console.debug("Failed to remove session during logout:",r)}F.clearAuthState(),window.opener&&!window.opener.closed?(window.opener.postMessage({type:Vo.SPLICE_WALLET_LOGOUT},"*"),window.close()):window.location.href=ft(it)}render(){return f`
|
|
1672
|
-
<app-layout
|
|
1673
|
-
iconSrc=${Qt("/icon.png")}
|
|
1674
|
-
@logout=${this.handleLogout}
|
|
1675
|
-
>
|
|
1676
|
-
<user-ui-auth-redirect></user-ui-auth-redirect>
|
|
1677
|
-
<slot></slot>
|
|
1678
|
-
</app-layout>
|
|
1679
|
-
`}}tn=Xo(fs);bo=Qo(tn,0,"UserApp",gs,bo);Ko(tn,1,bo);hs=[Uo("user-ui")];class uo extends(vs=gt){connectedCallback(){super.connectedCallback();const e=$t(window.location.pathname)||"/";al(e)||(window.location.href=ft(j0))}}en=Xo(vs);uo=Qo(en,0,"UserUI",hs,uo);Ko(en,1,uo);let we=null;const go=()=>{we!==null&&(clearTimeout(we),we=null)};ws=[Uo("user-ui-auth-redirect")];class fo extends(xs=gt){connectedCallback(){super.connectedCallback(),this.handleAuthRedirect()}async handleAuthRedirect(){const r=$t(window.location.pathname)===it,o=F.accessToken.get();if(!o){this.handleUnauthenticated(r);return}if(this.isTokenExpired()){this.handleExpiredToken(r);return}if(r){await this.handleAuthenticatedOnLoginPage(o);return}await this.handleAuthenticatedOnLoggedInPage(o)}getIntendedPageFromCurrentPath(){const e=$t(window.location.pathname);if(e&&e!=="/"&&e!==it&&e!=="/callback")return e}clearAuthStateAndPreserveIntendedPage(){const e=this.getIntendedPageFromCurrentPath();F.clearAuthState(),e&&F.intendedPage.set(e)}handleUnauthenticated(e){if(!e){const r=this.getIntendedPageFromCurrentPath();r&&F.intendedPage.set(r),window.location.href=ft(it)}}async handleExpiredToken(e){go();const r=F.accessToken.get();r&&await hr(r),e?F.clearAuthState():(this.clearAuthStateAndPreserveIntendedPage(),window.location.href=ft(it))}async handleAuthenticatedOnLoginPage(e){const r=await mi(e);r?(this.setTokenExpirationTimeout(),pi(),ho(e,r)):(await hr(e),F.clearAuthState())}async handleAuthenticatedOnLoggedInPage(e){if(!F.networkId.get())throw new Error("missing networkId in state manager");const o=await mi(e);if(!o){await hr(e),this.clearAuthStateAndPreserveIntendedPage(),window.location.href=ft(it);return}this.setTokenExpirationTimeout(),ho(e,o),($t(window.location.pathname)||"/")==="/"&&pi()}setTokenExpirationTimeout(){go();const e=new Date(F.expirationDate.get()||""),r=new Date,o=e.getTime()-r.getTime()-ci;o>0&&(we=setTimeout(async()=>{const n=$t(window.location.pathname)===it;await this.handleExpiredToken(n),we=null},o))}isTokenExpired(){const e=new Date(F.expirationDate.get()||0);return Number(e)-ci<=Date.now()}}rn=Xo(xs);fo=Qo(rn,0,"UserUIAuthRedirect",ws,fo);Ko(rn,1,fo);const mi=async t=>(await(await Wo(t)).request({method:"listSessions"}).catch(()=>null))?.sessions?.[0]?.id??void 0,ho=(t,e)=>{window.opener&&!window.opener.closed&&window.opener.postMessage({type:Vo.SPLICE_WALLET_IDP_AUTH_SUCCESS,token:t,sessionId:e},"*")},ew=async(t,e)=>{const o=await(await Wo(t)).request({method:"addSession",params:{networkId:e}});ho(t,o.id)};export{tw as T,Xb as X,lt as Y,gt as a,f as b,Wo as c,ew as d,ot as e,os as f,e0 as g,Qt as h,K as i,K0 as j,ft as k,st as l,es as m,Q0 as n,H as o,bi as p,pi as r,F as s,Uo as t,oo as u,k as w};
|