@canton-network/wallet-gateway-remote 0.22.0 → 0.23.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/auth/jwt-auth-service.d.ts.map +1 -1
- package/dist/auth/jwt-auth-service.js +23 -3
- package/dist/auth/jwt-unsafe-auth-service.d.ts.map +1 -1
- package/dist/auth/jwt-unsafe-auth-service.js +7 -1
- package/dist/config/Config.test.js +1 -1
- 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 +32 -5
- package/dist/dapp-api/rpc-gen/typings.d.ts.map +1 -1
- package/dist/example-config.js +2 -2
- package/dist/ledger/wallet-allocation/signing-providers/blockdaemon-wallet-allocator.d.ts.map +1 -1
- package/dist/ledger/wallet-allocation/signing-providers/blockdaemon-wallet-allocator.js +1 -0
- package/dist/ledger/wallet-allocation/signing-providers/fireblocks-wallet-allocator.d.ts.map +1 -1
- package/dist/ledger/wallet-allocation/signing-providers/fireblocks-wallet-allocator.js +1 -0
- package/dist/ledger/wallet-allocation/signing-providers/kernel-wallet-allocator.d.ts.map +1 -1
- package/dist/ledger/wallet-allocation/signing-providers/kernel-wallet-allocator.js +1 -0
- package/dist/ledger/wallet-allocation/signing-providers/participant-wallet-allocator.d.ts.map +1 -1
- package/dist/ledger/wallet-allocation/signing-providers/participant-wallet-allocator.js +1 -0
- package/dist/ledger/wallet-allocation/wallet-allocation-service.d.ts +2 -2
- package/dist/ledger/wallet-allocation/wallet-allocation-service.d.ts.map +1 -1
- package/dist/ledger/wallet-allocation/wallet-allocation-service.js +10 -4
- package/dist/ledger/wallet-allocation/wallet-allocation-service.test.js +13 -12
- package/dist/ledger/wallet-sync-service.d.ts +4 -1
- package/dist/ledger/wallet-sync-service.d.ts.map +1 -1
- package/dist/ledger/wallet-sync-service.js +97 -18
- package/dist/ledger/wallet-sync-service.test.js +79 -0
- package/dist/user-api/controller.d.ts.map +1 -1
- package/dist/user-api/controller.js +57 -11
- package/dist/user-api/rpc-gen/typings.d.ts +11 -0
- 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 +5 -4
- package/dist/web/frontend/assets/404-CwWne4gl.js +8 -0
- package/dist/web/frontend/assets/approve-sXtkk0nx.js +20 -0
- package/dist/web/frontend/assets/{callback-D_VLeaX-.js → callback-5r0xYoAY.js} +1 -1
- package/dist/web/frontend/assets/index-BY0dSIJ0.js +1698 -0
- package/dist/web/frontend/assets/index-C4_-rNJw.js +1 -0
- package/dist/web/frontend/assets/login-DwOvzCWW.js +7 -0
- package/dist/web/frontend/assets/settings-lXZlQ6-V.js +37 -0
- package/dist/web/frontend/assets/{state-PjJJ3Anb.js → state-Zh2baU_h.js} +1 -1
- package/dist/web/frontend/assets/{transactions-DGdh8VAO.js → transactions-gLP4M5t0.js} +3 -3
- package/dist/web/frontend/assets/{utils-D5kQDwtZ.js → utils-CI12TM_E.js} +1 -1
- package/dist/web/frontend/assets/{wallets-CjjRt-cQ.js → wallets-Cmwexted.js} +2 -2
- package/dist/web/frontend/callback/index.html +2 -2
- package/dist/web/frontend/index.html +1 -1
- package/dist/web/frontend/login/index.html +4 -3
- package/dist/web/frontend/settings/index.html +3 -3
- package/dist/web/frontend/transactions/index.html +4 -4
- package/dist/web/frontend/wallets/index.html +4 -4
- package/package.json +20 -20
- package/dist/web/frontend/assets/404-DzH9sSlT.js +0 -8
- package/dist/web/frontend/assets/approve-Duv1K5LE.js +0 -17
- package/dist/web/frontend/assets/index-Bj5VTWmh.js +0 -1686
- package/dist/web/frontend/assets/login-B-jF6DLr.js +0 -7
- package/dist/web/frontend/assets/settings-DZpeOwSh.js +0 -37
|
@@ -1,1686 +0,0 @@
|
|
|
1
|
-
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.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 Ht=globalThis,vo=Ht.ShadowRoot&&(Ht.ShadyCSS===void 0||Ht.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,wo=Symbol(),on=new WeakMap;let xo=class{constructor(t,r,o){if(this._$cssResult$=!0,o!==wo)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=r}get styleSheet(){let t=this.o;const r=this.t;if(vo&&t===void 0){const o=r!==void 0&&r.length===1;o&&(t=on.get(r)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),o&&on.set(r,t))}return t}toString(){return this.cssText}};const hr=e=>new xo(typeof e=="string"?e:e+"",void 0,wo),K=(e,...t)=>{const r=e.length===1?e[0]:t.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)+e[i+1],e[0]);return new xo(r,e,wo)},_s=(e,t)=>{if(vo)e.adoptedStyleSheets=t.map(r=>r instanceof CSSStyleSheet?r:r.styleSheet);else for(const r of t){const o=document.createElement("style"),n=Ht.litNonce;n!==void 0&&o.setAttribute("nonce",n),o.textContent=r.cssText,e.appendChild(o)}},nn=vo?e=>e:e=>e instanceof CSSStyleSheet?(t=>{let r="";for(const o of t.cssRules)r+=o.cssText;return hr(r)})(e):e;const{is:zs,defineProperty:As,getOwnPropertyDescriptor:Ss,getOwnPropertyNames:$s,getOwnPropertySymbols:Es,getPrototypeOf:Os}=Object,Pr=globalThis,an=Pr.trustedTypes,Is=an?an.emptyScript:"",js=Pr.reactiveElementPolyfillSupport,ht=(e,t)=>e,oo={toAttribute(e,t){switch(t){case Boolean:e=e?Is:null;break;case Object:case Array:e=e==null?e:JSON.stringify(e)}return e},fromAttribute(e,t){let r=e;switch(t){case Boolean:r=e!==null;break;case Number:r=e===null?null:Number(e);break;case Object:case Array:try{r=JSON.parse(e)}catch{r=null}}return r}},bi=(e,t)=>!zs(e,t),sn={attribute:!0,type:String,converter:oo,reflect:!1,useDefault:!1,hasChanged:bi};Symbol.metadata??=Symbol("metadata"),Pr.litPropertyMetadata??=new WeakMap;let Fe=class extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,r=sn){if(r.state&&(r.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((r=Object.create(r)).wrapped=!0),this.elementProperties.set(t,r),!r.noAccessor){const o=Symbol(),n=this.getPropertyDescriptor(t,o,r);n!==void 0&&As(this.prototype,t,n)}}static getPropertyDescriptor(t,r,o){const{get:n,set:i}=Ss(this.prototype,t)??{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(t,s,o)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??sn}static _$Ei(){if(this.hasOwnProperty(ht("elementProperties")))return;const t=Os(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(ht("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(ht("properties"))){const r=this.properties,o=[...$s(r),...Es(r)];for(const n of o)this.createProperty(n,r[n])}const t=this[Symbol.metadata];if(t!==null){const r=litPropertyMetadata.get(t);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(t){const r=[];if(Array.isArray(t)){const o=new Set(t.flat(1/0).reverse());for(const n of o)r.unshift(nn(n))}else t!==void 0&&r.push(nn(t));return r}static _$Eu(t,r){const o=r.attribute;return o===!1?void 0:typeof o=="string"?o:typeof t=="string"?t.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(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),this.renderRoot!==void 0&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,r=this.constructor.elementProperties;for(const o of r.keys())this.hasOwnProperty(o)&&(t.set(o,this[o]),delete this[o]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return _s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,r,o){this._$AK(t,o)}_$ET(t,r){const o=this.constructor.elementProperties.get(t),n=this.constructor._$Eu(t,o);if(n!==void 0&&o.reflect===!0){const i=(o.converter?.toAttribute!==void 0?o.converter:oo).toAttribute(r,o.type);this._$Em=t,i==null?this.removeAttribute(n):this.setAttribute(n,i),this._$Em=null}}_$AK(t,r){const o=this.constructor,n=o._$Eh.get(t);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(t,r,o,n=!1,i){if(t!==void 0){const a=this.constructor;if(n===!1&&(i=this[t]),o??=a.getPropertyOptions(t),!((o.hasChanged??bi)(i,r)||o.useDefault&&o.reflect&&i===this._$Ej?.get(t)&&!this.hasAttribute(a._$Eu(t,o))))return;this.C(t,r,o)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(t,r,{useDefault:o,reflect:n,wrapped:i},a){o&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,a??r??this[t]),i!==!0||a!==void 0)||(this._$AL.has(t)||(this.hasUpdated||o||(r=void 0),this._$AL.set(t,r)),n===!0&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(r){Promise.reject(r)}const t=this.scheduleUpdate();return t!=null&&await t,!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 t=!1;const r=this._$AL;try{t=this.shouldUpdate(r),t?(this.willUpdate(r),this._$EO?.forEach(o=>o.hostUpdate?.()),this.update(r)):this._$EM()}catch(o){throw t=!1,this._$EM(),o}t&&this._$AE(r)}willUpdate(t){}_$AE(t){this._$EO?.forEach(r=>r.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(r=>this._$ET(r,this[r])),this._$EM()}updated(t){}firstUpdated(t){}};Fe.elementStyles=[],Fe.shadowRootOptions={mode:"open"},Fe[ht("elementProperties")]=new Map,Fe[ht("finalized")]=new Map,js?.({ReactiveElement:Fe}),(Pr.reactiveElementVersions??=[]).push("2.1.2");const yo=globalThis,ln=e=>e,vr=yo.trustedTypes,dn=vr?vr.createPolicy("lit-html",{createHTML:e=>e}):void 0,ui="$lit$",ue=`lit$${Math.random().toFixed(9).slice(2)}$`,gi="?"+ue,Ps=`<${gi}>`,Ee=document,yt=()=>Ee.createComment(""),kt=e=>e===null||typeof e!="object"&&typeof e!="function",ko=Array.isArray,Ts=e=>ko(e)||typeof e?.[Symbol.iterator]=="function",Wr=`[
|
|
2
|
-
\f\r]`,bt=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,cn=/-->/g,pn=/>/g,Ae=RegExp(`>|${Wr}(?:([^\\s"'>=/]+)(${Wr}*=${Wr}*(?:[^
|
|
3
|
-
\f\r"'\`<>=]|("|')|))|$)`,"g"),mn=/'/g,bn=/"/g,fi=/^(?:script|style|textarea|title)$/i,Cs=e=>(t,...r)=>({_$litType$:e,strings:t,values:r}),f=Cs(1),qe=Symbol.for("lit-noChange"),_=Symbol.for("lit-nothing"),un=new WeakMap,Se=Ee.createTreeWalker(Ee,129);function hi(e,t){if(!ko(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return dn!==void 0?dn.createHTML(t):t}const Zs=(e,t)=>{const r=e.length-1,o=[];let n,i=t===2?"<svg>":t===3?"<math>":"",a=bt;for(let s=0;s<r;s++){const l=e[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===bt?c[1]==="!--"?a=cn:c[1]!==void 0?a=pn:c[2]!==void 0?(fi.test(c[2])&&(n=RegExp("</"+c[2],"g")),a=Ae):c[3]!==void 0&&(a=Ae):a===Ae?c[0]===">"?(a=n??bt,p=-1):c[1]===void 0?p=-2:(p=a.lastIndex-c[2].length,d=c[1],a=c[3]===void 0?Ae:c[3]==='"'?bn:mn):a===bn||a===mn?a=Ae:a===cn||a===pn?a=bt:(a=Ae,n=void 0);const g=a===Ae&&e[s+1].startsWith("/>")?" ":"";i+=a===bt?l+Ps:p>=0?(o.push(d),l.slice(0,p)+ui+l.slice(p)+ue+g):l+ue+(p===-2?s:g)}return[hi(e,i+(e[r]||"<?>")+(t===2?"</svg>":t===3?"</math>":"")),o]};let no=class vi{constructor({strings:t,_$litType$:r},o){let n;this.parts=[];let i=0,a=0;const s=t.length-1,l=this.parts,[d,c]=Zs(t,r);if(this.el=vi.createElement(d,o),Se.currentNode=this.el.content,r===2||r===3){const p=this.el.content.firstChild;p.replaceWith(...p.childNodes)}for(;(n=Se.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(ue),y=/([.?@])?(.*)/.exec(u);l.push({type:1,index:i,name:y[2],strings:g,ctor:y[1]==="."?Rs:y[1]==="?"?Ds:y[1]==="@"?Us:Tr}),n.removeAttribute(p)}else p.startsWith(ue)&&(l.push({type:6,index:i}),n.removeAttribute(p));if(fi.test(n.tagName)){const p=n.textContent.split(ue),u=p.length-1;if(u>0){n.textContent=vr?vr.emptyScript:"";for(let g=0;g<u;g++)n.append(p[g],yt()),Se.nextNode(),l.push({type:2,index:++i});n.append(p[u],yt())}}}else if(n.nodeType===8)if(n.data===gi)l.push({type:2,index:i});else{let p=-1;for(;(p=n.data.indexOf(ue,p+1))!==-1;)l.push({type:7,index:i}),p+=ue.length-1}i++}}static createElement(t,r){const o=Ee.createElement("template");return o.innerHTML=t,o}};function Xe(e,t,r=e,o){if(t===qe)return t;let n=o!==void 0?r._$Co?.[o]:r._$Cl;const i=kt(t)?void 0:t._$litDirective$;return n?.constructor!==i&&(n?._$AO?.(!1),i===void 0?n=void 0:(n=new i(e),n._$AT(e,r,o)),o!==void 0?(r._$Co??=[])[o]=n:r._$Cl=n),n!==void 0&&(t=Xe(e,n._$AS(e,t.values),n,o)),t}let Ns=class{constructor(t,r){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=r}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:r},parts:o}=this._$AD,n=(t?.creationScope??Ee).importNode(r,!0);Se.currentNode=n;let i=Se.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,t):l.type===1?d=new l.ctor(i,l.name,l.strings,this,t):l.type===6&&(d=new Ms(i,this,t)),this._$AV.push(d),l=o[++s]}a!==l?.index&&(i=Se.nextNode(),a++)}return Se.currentNode=Ee,n}p(t){let r=0;for(const o of this._$AV)o!==void 0&&(o.strings!==void 0?(o._$AI(t,o,r),r+=o.strings.length-2):o._$AI(t[r])),r++}},_o=class wi{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,r,o,n){this.type=2,this._$AH=_,this._$AN=void 0,this._$AA=t,this._$AB=r,this._$AM=o,this.options=n,this._$Cv=n?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const r=this._$AM;return r!==void 0&&t?.nodeType===11&&(t=r.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,r=this){t=Xe(this,t,r),kt(t)?t===_||t==null||t===""?(this._$AH!==_&&this._$AR(),this._$AH=_):t!==this._$AH&&t!==qe&&this._(t):t._$litType$!==void 0?this.$(t):t.nodeType!==void 0?this.T(t):Ts(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==_&&kt(this._$AH)?this._$AA.nextSibling.data=t:this.T(Ee.createTextNode(t)),this._$AH=t}$(t){const{values:r,_$litType$:o}=t,n=typeof o=="number"?this._$AC(t):(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(t){let r=un.get(t.strings);return r===void 0&&un.set(t.strings,r=new no(t)),r}k(t){ko(this._$AH)||(this._$AH=[],this._$AR());const r=this._$AH;let o,n=0;for(const i of t)n===r.length?r.push(o=new wi(this.O(yt()),this.O(yt()),this,this.options)):o=r[n],o._$AI(i),n++;n<r.length&&(this._$AR(o&&o._$AB.nextSibling,n),r.length=n)}_$AR(t=this._$AA.nextSibling,r){for(this._$AP?.(!1,!0,r);t!==this._$AB;){const o=ln(t).nextSibling;ln(t).remove(),t=o}}setConnected(t){this._$AM===void 0&&(this._$Cv=t,this._$AP?.(t))}},Tr=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,r,o,n,i){this.type=1,this._$AH=_,this._$AN=void 0,this.element=t,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=_}_$AI(t,r=this,o,n){const i=this.strings;let a=!1;if(i===void 0)t=Xe(this,t,r,0),a=!kt(t)||t!==this._$AH&&t!==qe,a&&(this._$AH=t);else{const s=t;let l,d;for(t=i[0],l=0;l<i.length-1;l++)d=Xe(this,s[o+l],r,l),d===qe&&(d=this._$AH[l]),a||=!kt(d)||d!==this._$AH[l],d===_?t=_:t!==_&&(t+=(d??"")+i[l+1]),this._$AH[l]=d}a&&!n&&this.j(t)}j(t){t===_?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}};class Rs extends Tr{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===_?void 0:t}}let Ds=class extends Tr{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==_)}},Us=class extends Tr{constructor(t,r,o,n,i){super(t,r,o,n,i),this.type=5}_$AI(t,r=this){if((t=Xe(this,t,r,0)??_)===qe)return;const o=this._$AH,n=t===_&&o!==_||t.capture!==o.capture||t.once!==o.once||t.passive!==o.passive,i=t!==_&&(o===_||n);n&&this.element.removeEventListener(this.name,this,o),i&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}},Ms=class{constructor(t,r,o){this.element=t,this.type=6,this._$AN=void 0,this._$AM=r,this.options=o}get _$AU(){return this._$AM._$AU}_$AI(t){Xe(this,t)}};const Bs=yo.litHtmlPolyfillSupport;Bs?.(no,_o),(yo.litHtmlVersions??=[]).push("3.3.2");const Ls=(e,t,r)=>{const o=r?.renderBefore??t;let n=o._$litPart$;if(n===void 0){const i=r?.renderBefore??null;o._$litPart$=n=new _o(t.insertBefore(yt(),i),i,void 0,r??{})}return n._$AI(e),n};const zo=globalThis;class ge extends Fe{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=Ls(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return qe}}ge._$litElement$=!0,ge.finalized=!0,zo.litElementHydrateSupport?.({LitElement:ge});const Fs=zo.litElementPolyfillSupport;Fs?.({LitElement:ge});(zo.litElementVersions??=[]).push("4.2.2");const B=e=>(t,r)=>{r!==void 0?r.addInitializer(()=>{customElements.define(e,t)}):customElements.define(e,t)},Vt=globalThis,Ao=Vt.ShadowRoot&&(Vt.ShadyCSS===void 0||Vt.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,xi=Symbol(),gn=new WeakMap;let Gs=class{constructor(e,t,r){if(this._$cssResult$=!0,r!==xi)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(Ao&&e===void 0){const r=t!==void 0&&t.length===1;r&&(e=gn.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),r&&gn.set(t,e))}return e}toString(){return this.cssText}};const Js=e=>new Gs(typeof e=="string"?e:e+"",void 0,xi),Ys=(e,t)=>{if(Ao)e.adoptedStyleSheets=t.map(r=>r instanceof CSSStyleSheet?r:r.styleSheet);else for(const r of t){const o=document.createElement("style"),n=Vt.litNonce;n!==void 0&&o.setAttribute("nonce",n),o.textContent=r.cssText,e.appendChild(o)}},fn=Ao?e=>e:e=>e instanceof CSSStyleSheet?(t=>{let r="";for(const o of t.cssRules)r+=o.cssText;return Js(r)})(e):e,{is:Hs,defineProperty:Vs,getOwnPropertyDescriptor:Ws,getOwnPropertyNames:qs,getOwnPropertySymbols:Xs,getPrototypeOf:Ks}=Object,Cr=globalThis,hn=Cr.trustedTypes,Qs=hn?hn.emptyScript:"",el=Cr.reactiveElementPolyfillSupport,vt=(e,t)=>e,wr={toAttribute(e,t){switch(t){case Boolean:e=e?Qs:null;break;case Object:case Array:e=e==null?e:JSON.stringify(e)}return e},fromAttribute(e,t){let r=e;switch(t){case Boolean:r=e!==null;break;case Number:r=e===null?null:Number(e);break;case Object:case Array:try{r=JSON.parse(e)}catch{r=null}}return r}},So=(e,t)=>!Hs(e,t),vn={attribute:!0,type:String,converter:wr,reflect:!1,useDefault:!1,hasChanged:So};Symbol.metadata??=Symbol("metadata"),Cr.litPropertyMetadata??=new WeakMap;class ut extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,r=vn){if(r.state&&(r.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((r=Object.create(r)).wrapped=!0),this.elementProperties.set(t,r),!r.noAccessor){const o=Symbol(),n=this.getPropertyDescriptor(t,o,r);n!==void 0&&Vs(this.prototype,t,n)}}static getPropertyDescriptor(t,r,o){const{get:n,set:i}=Ws(this.prototype,t)??{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(t,s,o)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??vn}static _$Ei(){if(this.hasOwnProperty(vt("elementProperties")))return;const t=Ks(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(vt("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(vt("properties"))){const r=this.properties,o=[...qs(r),...Xs(r)];for(const n of o)this.createProperty(n,r[n])}const t=this[Symbol.metadata];if(t!==null){const r=litPropertyMetadata.get(t);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(t){const r=[];if(Array.isArray(t)){const o=new Set(t.flat(1/0).reverse());for(const n of o)r.unshift(fn(n))}else t!==void 0&&r.push(fn(t));return r}static _$Eu(t,r){const o=r.attribute;return o===!1?void 0:typeof o=="string"?o:typeof t=="string"?t.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(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),this.renderRoot!==void 0&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,r=this.constructor.elementProperties;for(const o of r.keys())this.hasOwnProperty(o)&&(t.set(o,this[o]),delete this[o]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return Ys(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,r,o){this._$AK(t,o)}_$ET(t,r){const o=this.constructor.elementProperties.get(t),n=this.constructor._$Eu(t,o);if(n!==void 0&&o.reflect===!0){const i=(o.converter?.toAttribute!==void 0?o.converter:wr).toAttribute(r,o.type);this._$Em=t,i==null?this.removeAttribute(n):this.setAttribute(n,i),this._$Em=null}}_$AK(t,r){const o=this.constructor,n=o._$Eh.get(t);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:wr;this._$Em=n;const s=a.fromAttribute(r,i.type);this[n]=s??this._$Ej?.get(n)??s,this._$Em=null}}requestUpdate(t,r,o,n=!1,i){if(t!==void 0){const a=this.constructor;if(n===!1&&(i=this[t]),o??=a.getPropertyOptions(t),!((o.hasChanged??So)(i,r)||o.useDefault&&o.reflect&&i===this._$Ej?.get(t)&&!this.hasAttribute(a._$Eu(t,o))))return;this.C(t,r,o)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(t,r,{useDefault:o,reflect:n,wrapped:i},a){o&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,a??r??this[t]),i!==!0||a!==void 0)||(this._$AL.has(t)||(this.hasUpdated||o||(r=void 0),this._$AL.set(t,r)),n===!0&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(r){Promise.reject(r)}const t=this.scheduleUpdate();return t!=null&&await t,!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 t=!1;const r=this._$AL;try{t=this.shouldUpdate(r),t?(this.willUpdate(r),this._$EO?.forEach(o=>o.hostUpdate?.()),this.update(r)):this._$EM()}catch(o){throw t=!1,this._$EM(),o}t&&this._$AE(r)}willUpdate(t){}_$AE(t){this._$EO?.forEach(r=>r.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(r=>this._$ET(r,this[r])),this._$EM()}updated(t){}firstUpdated(t){}}ut.elementStyles=[],ut.shadowRootOptions={mode:"open"},ut[vt("elementProperties")]=new Map,ut[vt("finalized")]=new Map,el?.({ReactiveElement:ut}),(Cr.reactiveElementVersions??=[]).push("2.1.2");const tl={attribute:!0,type:String,converter:wr,reflect:!1,hasChanged:So},rl=(e=tl,t,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"&&((e=Object.create(e)).wrapped=!0),i.set(r.name,e),o==="accessor"){const{name:a}=r;return{set(s){const l=t.get.call(this);t.set.call(this,s),this.requestUpdate(a,l,e,!0,s)},init(s){return s!==void 0&&this.C(a,void 0,e,s),s}}}if(o==="setter"){const{name:a}=r;return function(s){const l=this[a];t.call(this,s),this.requestUpdate(a,l,e,!0,s)}}throw Error("Unsupported decorator location: "+o)};function w(e){return(t,r)=>typeof r=="object"?rl(e,t,r):((o,n,i)=>{const a=n.hasOwnProperty(i);return n.constructor.createProperty(i,o),a?Object.getOwnPropertyDescriptor(n,i):void 0})(e,t,r)}function G(e){return w({...e,state:!0,attribute:!1})}const ol=(e,t,r)=>(r.configurable=!0,r.enumerable=!0,Reflect.decorate&&typeof t!="object"&&Object.defineProperty(e,t,r),r);function $o(e,t){return(r,o,n)=>{const i=a=>a.renderRoot?.querySelector(e)??null;return ol(r,o,{get(){return i(this)}})}}const nl=`@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)}",il=K`
|
|
4
|
-
.container {
|
|
5
|
-
padding: 20px;
|
|
6
|
-
}
|
|
7
|
-
`,al=[il],ki=class extends ge{};ki.styles=[al,K`
|
|
8
|
-
${hr(nl.replaceAll(/:root/g,":root,:host"))}
|
|
9
|
-
${hr(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 sl(e){return _i.includes(e)}const ll=_i.filter(e=>e!=="/").sort((e,t)=>t.length-e.length);function zi(e){if(!e||e==="/")return"/";if(e.length>1e3)throw new Error("Path is too long");const t=e.replace(/\/+$/,"")||"/";return t==="/index.html"?"/":t.endsWith("/index.html")?t.slice(0,-11)||"/":t}function $e(e){const t=zi(e);if(t==="/")return"/";for(const r of ll)if(t===r||t.endsWith(`${r}`))return r;return null}function dl(e){const t=zi(e),r=$e(t);return r===null||r==="/"?t==="/"?"":t:t.slice(0,-r.length)||""}function Ke(e,t=window.location.pathname){const r=dl(t),o=e.startsWith("/")?e:`/${e}`;return r?o==="/"?`${r}/`:`${r}${o}`:o}function fe(e,t=window.location.pathname){return Ke(e==="/"?"/":`${e}/`,t)}var cl=Object.defineProperty,pl=Object.getOwnPropertyDescriptor,Zr=(e,t,r,o)=>{for(var n=o>1?void 0:o?pl(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(n=(o?a(t,r,n):a(n))||n);return o&&n&&cl(t,r,n),n};class ml extends Event{constructor(){super("logout",{bubbles:!0,composed:!0})}}let Qe=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(e){window.location.href=Ke(e)}async logout(){try{console.log("Logging out..."),this.dispatchEvent(new ml)}catch(e){console.error("Error during logout:",e)}}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
|
-
`}};Qe.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})],Qe.prototype,"iconSrc",2);Zr([G()],Qe.prototype,"menuOpen",2);Zr([G()],Qe.prototype,"darkMode",2);Qe=Zr([B("app-header")],Qe);var bl=Object.defineProperty,ul=Object.getOwnPropertyDescriptor,Eo=(e,t,r,o)=>{for(var n=o>1?void 0:o?ul(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(n=(o?a(t,r,n):a(n))||n);return o&&n&&bl(t,r,n),n};let _t=class extends k{constructor(){super(...arguments),this.iconSrc="/images/icon.png",this.customThemeCss=null}async updated(e){if(e.has("themeSrc"))if(this.themeSrc){try{const t=await fetch(this.themeSrc);if(!t.ok)throw new Error(`HTTP ${t.status}`);this.customThemeCss=await t.text()}catch(t){console.warn(`[app-layout] Failed to load theme from "${this.themeSrc}":`,t),this.customThemeCss=null}this.requestUpdate()}else this.customThemeCss=null}get effectiveThemeCss(){return this.customThemeCss??yi}render(){return f`
|
|
197
|
-
<style>
|
|
198
|
-
${hr(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
|
-
`}};_t.styles=[k.styles];Eo([w({type:String})],_t.prototype,"iconSrc",2);Eo([w({type:String})],_t.prototype,"themeSrc",2);_t=Eo([B("app-layout")],_t);var gl=Object.defineProperty,fl=Object.getOwnPropertyDescriptor,dt=(e,t,r,o)=>{for(var n=o>1?void 0:o?fl(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(n=(o?a(t,r,n):a(n))||n);return o&&n&&gl(t,r,n),n};let le=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 e=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 ${e}"
|
|
217
|
-
@click=${this.closeToast}
|
|
218
|
-
>
|
|
219
|
-
${this.buttonText}
|
|
220
|
-
</button>
|
|
221
|
-
</div>
|
|
222
|
-
`}};le.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
|
-
`];dt([w({type:String})],le.prototype,"title",2);dt([w({type:String})],le.prototype,"message",2);dt([w({type:String})],le.prototype,"buttonText",2);dt([w({type:String})],le.prototype,"type",2);dt([w({type:Boolean})],le.prototype,"closing",2);le=dt([B("custom-toast")],le);function Ai(e){return Array.isArray(e)?e.reduce((t,r)=>t+Ai(r),""):e instanceof xo?e.cssText:""}const hl=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 t=this.constructor;if(t.styles){const r=document.createElement("style");r.textContent=t.styles,this.shadowRoot.appendChild(r)}this.root=document.createElement("div"),this.root.className="root",this.loadEntries(),this.recentGateways=this.loadRecentGateways()}loadRecentGateways(){try{const t=localStorage.getItem(this.RECENT_KEY);if(t)return JSON.parse(t)}catch{}return[]}saveRecentGateway(t){const r=this.loadRecentGateways().filter(o=>o.rpcUrl!==t.rpcUrl);r.unshift(t),localStorage.setItem(this.RECENT_KEY,JSON.stringify(r.slice(0,5)))}loadEntries(){const t=localStorage.getItem("splice_wallet_picker_entries");if(t)try{this.entries=JSON.parse(t)}catch{this.entries=[]}}getAllEntries(){const t=new Set(this.entries.filter(o=>o.type==="remote"&&o.url).map(o=>o.url)),r=this.recentGateways.filter(o=>!t.has(o.rpcUrl)).map(o=>({providerId:"remote:"+o.rpcUrl,name:o.name,type:"remote",url:o.rpcUrl}));return[...this.entries,...r]}selectWallet(t){this.selectedEntry=t,this.state="connecting",this.render(),window.opener&&window.opener.postMessage({messageType:"SPLICE_WALLET_PICKER_RESULT",providerId:t.providerId,name:t.name,walletType:t.type,url:t.url},"*")}connectCustomUrl(t){const r=t.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(t){this.errorMessage=t,this.state="error",this.render()}renderHeader(){const t=this.el("div","",{class:"header"}),r=this.el("img","",{class:"header-logo",src:"data:image/png;base64,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",alt:"Canton"});return t.appendChild(r),t}renderWalletCard(t){const r=this.el("button","",{class:"wallet-card"}),o=this.el("div","",{class:"wallet-icon"});if(t.icon){const n=this.el("img","",{src:t.icon,alt:t.name});o.appendChild(n)}else o.innerHTML=t.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",t.name,{class:"wallet-name"})),r.addEventListener("click",()=>this.selectWallet(t)),r}renderList(){const t=this.el("div","",{class:"view-container"});t.appendChild(this.renderHeader());const r=this.el("div","Connect a wallet",{class:"view-title"});t.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));t.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),t.appendChild(i),t}renderConnecting(){const t=this.el("div","",{class:"view-container"});t.appendChild(this.renderHeader()),t.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")),t.appendChild(r),t}renderConnected(){const t=this.el("div","",{class:"view-container"});t.appendChild(this.renderHeader()),t.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"))),t.appendChild(r),t}renderError(){const t=this.el("div","",{class:"view-container"});t.appendChild(this.renderHeader()),t.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),t.appendChild(r),t}render(){let t;switch(this.state){case"connecting":t=this.renderConnecting();break;case"connected":t=this.renderConnected();break;case"error":t=this.renderError();break;default:t=this.renderList()}this.shadowRoot&&(Array.from(this.shadowRoot.childNodes).forEach(r=>{r instanceof HTMLStyleElement||this.shadowRoot.removeChild(r)}),this.shadowRoot.appendChild(t))}connectedCallback(){this.render()}el(t,r,o={}){const n=document.createElement(t);r&&(n.innerText=r);for(const[i,a]of Object.entries(o))n.setAttribute(i,a);return n}};Si.styles=hl;let vl=Si;customElements.define("swk-wallet-picker",vl);const wl=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
|
-
`,xl=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 yl=Object.defineProperty,kl=Object.getOwnPropertyDescriptor,Te=(e,t,r,o)=>{for(var n=o>1?void 0:o?kl(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(n=(o?a(t,r,n):a(n))||n);return o&&n&&yl(t,r,n),n};class _l extends Event{constructor(t){super("form-input-change",{bubbles:!0,composed:!0}),this.value=t}}let de=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?xl:wl}
|
|
632
|
-
</button>`:null}
|
|
633
|
-
<input
|
|
634
|
-
.value=${this.value}
|
|
635
|
-
?required=${this.required}
|
|
636
|
-
type=${this.hideable&&this.hidden?"password":"text"}
|
|
637
|
-
@change=${e=>{const t=e.target;this.value=t.value,this.dispatchEvent(new _l(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
|
-
`}};de.styles=[k.styles];Te([w({type:String})],de.prototype,"label",2);Te([w({type:String})],de.prototype,"value",2);Te([w({type:String})],de.prototype,"text",2);Te([w({type:Boolean})],de.prototype,"required",2);Te([w({type:Boolean})],de.prototype,"hideable",2);Te([w({type:Boolean})],de.prototype,"hidden",2);de=Te([B("form-input")],de);const Nr=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 zl=Object.defineProperty,Al=Object.getOwnPropertyDescriptor,Oo=(e,t,r,o)=>{for(var n=o>1?void 0:o?Al(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(n=(o?a(t,r,n):a(n))||n);return o&&n&&zl(t,r,n),n};class Sl extends Event{constructor(t){super("delete",{bubbles:!0,composed:!0}),this.idp=t}}let $l=class extends Event{constructor(){super("update",{bubbles:!0,composed:!0})}},zt=class extends k{constructor(){super(...arguments),this.idp=null,this.readonly=!1}render(){let e=f`<p>no idp supplied</p>`;return this.idp!==null&&(e=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 $l)}
|
|
682
|
-
>
|
|
683
|
-
Update
|
|
684
|
-
</button>
|
|
685
|
-
<button
|
|
686
|
-
class="btn btn-sm btn-danger"
|
|
687
|
-
@click=${()=>this.dispatchEvent(new Sl(this.idp))}
|
|
688
|
-
>
|
|
689
|
-
Delete
|
|
690
|
-
</button>
|
|
691
|
-
</div>`}`),f`<div class="col card network-card">
|
|
692
|
-
<div class="card-body">${e}</div>
|
|
693
|
-
</div>`}};zt.styles=[k.styles,Nr];Oo([w({type:Object})],zt.prototype,"idp",2);Oo([w({type:Boolean})],zt.prototype,"readonly",2);zt=Oo([B("idp-card")],zt);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 El=Object.defineProperty,Ol=Object.getOwnPropertyDescriptor,Ei=e=>{throw TypeError(e)},It=(e,t,r,o)=>{for(var n=o>1?void 0:o?Ol(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(n=(o?a(t,r,n):a(n))||n);return o&&n&&El(t,r,n),n},Oi=(e,t,r)=>t.has(e)||Ei("Cannot "+r),Pt=(e,t,r)=>(Oi(e,t,"read from private field"),r?r.call(e):t.get(e)),Tt=(e,t,r)=>t.has(e)?Ei("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),Ct=(e,t,r,o)=>(Oi(e,t,"write to private field"),t.set(e,r),r),Wt,qt,Xt,Kt;class Il extends Event{constructor(t){super("idp-add",{bubbles:!0,composed:!0}),this.idp=t}}let Oe=class extends k{constructor(){super(...arguments),Tt(this,Wt,[]),Tt(this,qt,!1),Tt(this,Xt,!1),Tt(this,Kt,{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 Pt(this,Wt)}set idps(e){Ct(this,Wt,e)}get readonly(){return Pt(this,qt)}set readonly(e){Ct(this,qt,e)}get isModalOpen(){return Pt(this,Xt)}set isModalOpen(e){Ct(this,Xt,e)}get modalIdp(){return Pt(this,Kt)}set modalIdp(e){Ct(this,Kt,e)}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(e=>f`<div class="mb-2">
|
|
742
|
-
<idp-card
|
|
743
|
-
.idp=${e}
|
|
744
|
-
.readonly=${this.readonly}
|
|
745
|
-
@update=${t=>{this.modalIdp=e,this.isModalOpen=!0,t.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=${e=>e.stopPropagation()}
|
|
755
|
-
>
|
|
756
|
-
<h3>
|
|
757
|
-
${this.modalIdp?"Edit Identity Provider":"Add Identity Provider"}
|
|
758
|
-
</h3>
|
|
759
|
-
|
|
760
|
-
<form
|
|
761
|
-
@submit=${e=>{e.preventDefault(),this.dispatchEvent(new Il(this.modalIdp)),this.closeModal()}}
|
|
762
|
-
>
|
|
763
|
-
<form-input
|
|
764
|
-
label="ID"
|
|
765
|
-
@form-input-change=${e=>{this.modalIdp.id=e.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=${e=>{const t=e.target;this.modalIdp.type=t.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=${e=>{this.modalIdp.issuer=e.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=${e=>{this.modalIdp.configUrl=e.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
|
-
`}};Wt=new WeakMap;qt=new WeakMap;Xt=new WeakMap;Kt=new WeakMap;Oe.styles=[k.styles,$i];It([w({type:Array})],Oe.prototype,"idps",1);It([w({type:Boolean})],Oe.prototype,"readonly",1);It([G()],Oe.prototype,"isModalOpen",1);It([G()],Oe.prototype,"modalIdp",1);Oe=It([B("wg-idps")],Oe);var jl=Object.defineProperty,Pl=Object.getOwnPropertyDescriptor,Rr=(e,t,r,o)=>{for(var n=o>1?void 0:o?Pl(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(n=(o?a(t,r,n):a(n))||n);return o&&n&&jl(t,r,n),n};let et=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(e=>{const t=this.activeSessions.some(r=>r.network.id===e.id);return f`
|
|
822
|
-
<network-card
|
|
823
|
-
.network=${e}
|
|
824
|
-
.activeSession=${t}
|
|
825
|
-
.readonly=${this.readonly}
|
|
826
|
-
></network-card>
|
|
827
|
-
`})}
|
|
828
|
-
</div>
|
|
829
|
-
</div>
|
|
830
|
-
`}};et.styles=[k.styles];Rr([w({type:Array})],et.prototype,"networks",2);Rr([w({type:Array})],et.prototype,"activeSessions",2);Rr([w({type:Boolean})],et.prototype,"readonly",2);et=Rr([B("network-table")],et);var Tl=Object.defineProperty,Cl=Object.getOwnPropertyDescriptor,jt=(e,t,r,o)=>{for(var n=o>1?void 0:o?Cl(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(n=(o?a(t,r,n):a(n))||n);return o&&n&&Tl(t,r,n),n};class Zl extends Event{constructor(t){super("delete",{bubbles:!0,composed:!0}),this.network=t}}let Ie=class extends k{constructor(){super(...arguments),this.network=null,this.activeSession=!1,this.readonly=!1,this._editing=!1}render(){let e=f`<p>no network supplied</p>`;return this.network!==null&&(this._editing?e=f` <network-form
|
|
831
|
-
.network=${this.network}
|
|
832
|
-
@network-edit-cancel=${()=>this._editing=!1}
|
|
833
|
-
@network-edit-save=${()=>this._editing=!1}
|
|
834
|
-
></network-form>`:e=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 Zl(this.network))}
|
|
858
|
-
>
|
|
859
|
-
Delete
|
|
860
|
-
</button>
|
|
861
|
-
</div>`}`),f`<div class="col card network-card">
|
|
862
|
-
<div class="card-body">${e}</div>
|
|
863
|
-
</div>`}};Ie.styles=[k.styles,Nr];jt([w({type:Object})],Ie.prototype,"network",2);jt([w({type:Boolean})],Ie.prototype,"activeSession",2);jt([w({type:Boolean})],Ie.prototype,"readonly",2);jt([G()],Ie.prototype,"_editing",2);Ie=jt([B("network-card")],Ie);function b(e,t,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(e))return;s._zod.traits.add(e),t(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:e});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(e)}),Object.defineProperty(a,"name",{value:e}),a}class Ve extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class Ii extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}}const ji={};function he(e){return ji}function Pi(e){const t=Object.values(e).filter(r=>typeof r=="number");return Object.entries(e).filter(([r,o])=>t.indexOf(+r)===-1).map(([r,o])=>o)}function io(e,t){return typeof t=="bigint"?t.toString():t}function Dr(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function Io(e){return e==null}function jo(e){const t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function Nl(e,t){const r=(e.toString().split(".")[1]||"").length,o=t.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(e.toFixed(i).replace(".","")),s=Number.parseInt(t.toFixed(i).replace(".",""));return a%s/10**i}const wn=Symbol("evaluating");function z(e,t,r){let o;Object.defineProperty(e,t,{get(){if(o!==wn)return o===void 0&&(o=wn,o=r()),o},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function Ce(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function ye(...e){const t={};for(const r of e){const o=Object.getOwnPropertyDescriptors(r);Object.assign(t,o)}return Object.defineProperties({},t)}function xn(e){return JSON.stringify(e)}function Rl(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const Ti="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function At(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const Dl=Dr(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function tt(e){if(At(e)===!1)return!1;const t=e.constructor;if(t===void 0||typeof t!="function")return!0;const r=t.prototype;return!(At(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function Ci(e){return tt(e)?{...e}:Array.isArray(e)?[...e]:e}const Ul=new Set(["string","number","symbol"]);function rt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ke(e,t,r){const o=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(o._zod.parent=e),o}function v(e){const t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function Ml(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}const Bl={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 Ll(e,t){const r=e._zod.def,o=r.checks;if(o&&o.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const n=ye(e._zod.def,{get shape(){const i={};for(const a in t){if(!(a in r.shape))throw new Error(`Unrecognized key: "${a}"`);t[a]&&(i[a]=r.shape[a])}return Ce(this,"shape",i),i},checks:[]});return ke(e,n)}function Fl(e,t){const r=e._zod.def,o=r.checks;if(o&&o.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const n=ye(e._zod.def,{get shape(){const i={...e._zod.def.shape};for(const a in t){if(!(a in r.shape))throw new Error(`Unrecognized key: "${a}"`);t[a]&&delete i[a]}return Ce(this,"shape",i),i},checks:[]});return ke(e,n)}function Gl(e,t){if(!tt(t))throw new Error("Invalid input to extend: expected a plain object");const r=e._zod.def.checks;if(r&&r.length>0){const n=e._zod.def.shape;for(const i in t)if(Object.getOwnPropertyDescriptor(n,i)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const o=ye(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t};return Ce(this,"shape",n),n}});return ke(e,o)}function Jl(e,t){if(!tt(t))throw new Error("Invalid input to safeExtend: expected a plain object");const r=ye(e._zod.def,{get shape(){const o={...e._zod.def.shape,...t};return Ce(this,"shape",o),o}});return ke(e,r)}function Yl(e,t){const r=ye(e._zod.def,{get shape(){const o={...e._zod.def.shape,...t._zod.def.shape};return Ce(this,"shape",o),o},get catchall(){return t._zod.def.catchall},checks:[]});return ke(e,r)}function Hl(e,t,r){const o=t._zod.def.checks;if(o&&o.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");const n=ye(t._zod.def,{get shape(){const i=t._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]=e?new e({type:"optional",innerType:i[s]}):i[s])}else for(const s in i)a[s]=e?new e({type:"optional",innerType:i[s]}):i[s];return Ce(this,"shape",a),a},checks:[]});return ke(t,n)}function Vl(e,t,r){const o=ye(t._zod.def,{get shape(){const n=t._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 e({type:"nonoptional",innerType:n[a]}))}else for(const a in n)i[a]=new e({type:"nonoptional",innerType:n[a]});return Ce(this,"shape",i),i}});return ke(t,o)}function Ge(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function Je(e,t){return t.map(r=>{var o;return(o=r).path??(o.path=[]),r.path.unshift(e),r})}function Zt(e){return typeof e=="string"?e:e?.message}function ve(e,t,r){const o={...e,path:e.path??[]};if(!e.message){const n=Zt(e.inst?._zod.def?.error?.(e))??Zt(t?.error?.(e))??Zt(r.customError?.(e))??Zt(r.localeError?.(e))??"Invalid input";o.message=n}return delete o.inst,delete o.continue,t?.reportInput||delete o.input,o}function Po(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function St(...e){const[t,r,o]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:o}:{...t}}const Zi=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,io,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Ni=b("$ZodError",Zi),Ri=b("$ZodError",Zi,{Parent:Error});function Wl(e,t=r=>r.message){const r={},o=[];for(const n of e.issues)n.path.length>0?(r[n.path[0]]=r[n.path[0]]||[],r[n.path[0]].push(t(n))):o.push(t(n));return{formErrors:o,fieldErrors:r}}function ql(e,t=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(t(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(t(i))):a[l]=a[l]||{_errors:[]},a=a[l],s++}}};return o(e),r}const To=e=>(t,r,o,n)=>{const i=o?Object.assign(o,{async:!1}):{async:!1},a=t._zod.run({value:r,issues:[]},i);if(a instanceof Promise)throw new Ve;if(a.issues.length){const s=new(n?.Err??e)(a.issues.map(l=>ve(l,i,he())));throw Ti(s,n?.callee),s}return a.value},Co=e=>async(t,r,o,n)=>{const i=o?Object.assign(o,{async:!0}):{async:!0};let a=t._zod.run({value:r,issues:[]},i);if(a instanceof Promise&&(a=await a),a.issues.length){const s=new(n?.Err??e)(a.issues.map(l=>ve(l,i,he())));throw Ti(s,n?.callee),s}return a.value},Ur=e=>(t,r,o)=>{const n=o?{...o,async:!1}:{async:!1},i=t._zod.run({value:r,issues:[]},n);if(i instanceof Promise)throw new Ve;return i.issues.length?{success:!1,error:new(e??Ni)(i.issues.map(a=>ve(a,n,he())))}:{success:!0,data:i.value}},Xl=Ur(Ri),Mr=e=>async(t,r,o)=>{const n=o?Object.assign(o,{async:!0}):{async:!0};let i=t._zod.run({value:r,issues:[]},n);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new e(i.issues.map(a=>ve(a,n,he())))}:{success:!0,data:i.value}},Kl=Mr(Ri),Ql=e=>(t,r,o)=>{const n=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return To(e)(t,r,n)},ed=e=>(t,r,o)=>To(e)(t,r,o),td=e=>async(t,r,o)=>{const n=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return Co(e)(t,r,n)},rd=e=>async(t,r,o)=>Co(e)(t,r,o),od=e=>(t,r,o)=>{const n=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return Ur(e)(t,r,n)},nd=e=>(t,r,o)=>Ur(e)(t,r,o),id=e=>async(t,r,o)=>{const n=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return Mr(e)(t,r,n)},ad=e=>async(t,r,o)=>Mr(e)(t,r,o),sd=/^[cC][^\s-]{8,}$/,ld=/^[0-9a-z]+$/,dd=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,cd=/^[0-9a-vA-V]{20}$/,pd=/^[A-Za-z0-9]{27}$/,md=/^[a-zA-Z0-9_-]{21}$/,bd=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,ud=/^([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=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[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)$/,gd=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,fd="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function hd(){return new RegExp(fd,"u")}const vd=/^(?:(?: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])$/,wd=/^(([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}|:))$/,xd=/^((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])$/,yd=/^(([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])$/,kd=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Di=/^[A-Za-z0-9_-]*$/,_d=/^\+[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])))",zd=new RegExp(`^${Ui}$`);function Mi(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Ad(e){return new RegExp(`^${Mi(e)}$`)}function Sd(e){const t=Mi({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const o=`${t}(?:${r.join("|")})`;return new RegExp(`^${Ui}T(?:${o})$`)}const $d=e=>{const t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},Ed=/^-?\d+$/,Bi=/^-?\d+(?:\.\d+)?$/,Od=/^(?:true|false)$/i,Id=/^null$/i,jd=/^undefined$/i,Pd=/^[^A-Z]*$/,Td=/^[^a-z]*$/,W=b("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),Li={number:"number",bigint:"bigint",object:"date"},Fi=b("$ZodCheckLessThan",(e,t)=>{W.init(e,t);const r=Li[typeof t.value];e._zod.onattach.push(o=>{const n=o._zod.bag,i=(t.inclusive?n.maximum:n.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<i&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=o=>{(t.inclusive?o.value<=t.value:o.value<t.value)||o.issues.push({origin:r,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:o.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Gi=b("$ZodCheckGreaterThan",(e,t)=>{W.init(e,t);const r=Li[typeof t.value];e._zod.onattach.push(o=>{const n=o._zod.bag,i=(t.inclusive?n.minimum:n.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>i&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=o=>{(t.inclusive?o.value>=t.value:o.value>t.value)||o.issues.push({origin:r,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:o.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Cd=b("$ZodCheckMultipleOf",(e,t)=>{W.init(e,t),e._zod.onattach.push(r=>{var o;(o=r._zod.bag).multipleOf??(o.multipleOf=t.value)}),e._zod.check=r=>{if(typeof r.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%t.value===BigInt(0):Nl(r.value,t.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),Zd=b("$ZodCheckNumberFormat",(e,t)=>{W.init(e,t),t.format=t.format||"float64";const r=t.format?.includes("int"),o=r?"int":"number",[n,i]=Bl[t.format];e._zod.onattach.push(a=>{const s=a._zod.bag;s.format=t.format,s.minimum=n,s.maximum=i,r&&(s.pattern=Ed)}),e._zod.check=a=>{const s=a.value;if(r){if(!Number.isInteger(s)){a.issues.push({expected:o,format:t.format,code:"invalid_type",continue:!1,input:s,inst:e});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:e,origin:o,inclusive:!0,continue:!t.abort}):a.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:o,inclusive:!0,continue:!t.abort});return}}s<n&&a.issues.push({origin:"number",input:s,code:"too_small",minimum:n,inclusive:!0,inst:e,continue:!t.abort}),s>i&&a.issues.push({origin:"number",input:s,code:"too_big",maximum:i,inclusive:!0,inst:e,continue:!t.abort})}}),Nd=b("$ZodCheckMaxLength",(e,t)=>{var r;W.init(e,t),(r=e._zod.def).when??(r.when=o=>{const n=o.value;return!Io(n)&&n.length!==void 0}),e._zod.onattach.push(o=>{const n=o._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<n&&(o._zod.bag.maximum=t.maximum)}),e._zod.check=o=>{const n=o.value;if(n.length<=t.maximum)return;const i=Po(n);o.issues.push({origin:i,code:"too_big",maximum:t.maximum,inclusive:!0,input:n,inst:e,continue:!t.abort})}}),Rd=b("$ZodCheckMinLength",(e,t)=>{var r;W.init(e,t),(r=e._zod.def).when??(r.when=o=>{const n=o.value;return!Io(n)&&n.length!==void 0}),e._zod.onattach.push(o=>{const n=o._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>n&&(o._zod.bag.minimum=t.minimum)}),e._zod.check=o=>{const n=o.value;if(n.length>=t.minimum)return;const i=Po(n);o.issues.push({origin:i,code:"too_small",minimum:t.minimum,inclusive:!0,input:n,inst:e,continue:!t.abort})}}),Dd=b("$ZodCheckLengthEquals",(e,t)=>{var r;W.init(e,t),(r=e._zod.def).when??(r.when=o=>{const n=o.value;return!Io(n)&&n.length!==void 0}),e._zod.onattach.push(o=>{const n=o._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=o=>{const n=o.value,i=n.length;if(i===t.length)return;const a=Po(n),s=i>t.length;o.issues.push({origin:a,...s?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:o.value,inst:e,continue:!t.abort})}}),Br=b("$ZodCheckStringFormat",(e,t)=>{var r,o;W.init(e,t),e._zod.onattach.push(n=>{const i=n._zod.bag;i.format=t.format,t.pattern&&(i.patterns??(i.patterns=new Set),i.patterns.add(t.pattern))}),t.pattern?(r=e._zod).check??(r.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:"string",code:"invalid_format",format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(o=e._zod).check??(o.check=()=>{})}),Ud=b("$ZodCheckRegex",(e,t)=>{Br.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Md=b("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Pd),Br.init(e,t)}),Bd=b("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Td),Br.init(e,t)}),Ld=b("$ZodCheckIncludes",(e,t)=>{W.init(e,t);const r=rt(t.includes),o=new RegExp(typeof t.position=="number"?`^.{${t.position}}${r}`:r);t.pattern=o,e._zod.onattach.push(n=>{const i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(o)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),Fd=b("$ZodCheckStartsWith",(e,t)=>{W.init(e,t);const r=new RegExp(`^${rt(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.onattach.push(o=>{const n=o._zod.bag;n.patterns??(n.patterns=new Set),n.patterns.add(r)}),e._zod.check=o=>{o.value.startsWith(t.prefix)||o.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:o.value,inst:e,continue:!t.abort})}}),Gd=b("$ZodCheckEndsWith",(e,t)=>{W.init(e,t);const r=new RegExp(`.*${rt(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.onattach.push(o=>{const n=o._zod.bag;n.patterns??(n.patterns=new Set),n.patterns.add(r)}),e._zod.check=o=>{o.value.endsWith(t.suffix)||o.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:o.value,inst:e,continue:!t.abort})}}),Jd=b("$ZodCheckOverwrite",(e,t)=>{W.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}});class Yd{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}const r=t.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 t=Function,r=this?.args,o=[...(this?.content??[""]).map(n=>` ${n}`)];return new t(...r,o.join(`
|
|
865
|
-
`))}}const Hd={major:4,minor:3,patch:6},j=b("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Hd;const o=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&o.unshift(e);for(const n of o)for(const i of n._zod.onattach)i(e);if(o.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const n=(a,s,l)=>{let d=Ge(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 Ve;if(c||g instanceof Promise)c=(c??Promise.resolve()).then(async()=>{await g,a.issues.length!==u&&(d||(d=Ge(a,u)))});else{if(a.issues.length===u)continue;d||(d=Ge(a,u))}}return c?c.then(()=>a):a},i=(a,s,l)=>{if(Ge(a))return a.aborted=!0,a;const d=n(s,o,l);if(d instanceof Promise){if(l.async===!1)throw new Ve;return d.then(c=>e._zod.parse(c,l))}return e._zod.parse(d,l)};e._zod.run=(a,s)=>{if(s.skipChecks)return e._zod.parse(a,s);if(s.direction==="backward"){const d=e._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=e._zod.parse(a,s);if(l instanceof Promise){if(s.async===!1)throw new Ve;return l.then(d=>n(d,o,s))}return n(l,o,s)}}z(e,"~standard",()=>({validate:n=>{try{const i=Xl(e,n);return i.success?{value:i.data}:{issues:i.error?.issues}}catch{return Kl(e,n).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}))}),Zo=b("$ZodString",(e,t)=>{j.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??$d(e._zod.bag),e._zod.parse=(r,o)=>{if(t.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:e}),r}}),T=b("$ZodStringFormat",(e,t)=>{Br.init(e,t),Zo.init(e,t)}),Vd=b("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=ud),T.init(e,t)}),Wd=b("$ZodUUID",(e,t)=>{if(t.version){const r={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(r===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=yn(r))}else t.pattern??(t.pattern=yn());T.init(e,t)}),qd=b("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=gd),T.init(e,t)}),Xd=b("$ZodURL",(e,t)=>{T.init(e,t),e._zod.check=r=>{try{const o=r.value.trim(),n=new URL(o);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(n.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:r.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(n.protocol.endsWith(":")?n.protocol.slice(0,-1):n.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:r.value,inst:e,continue:!t.abort})),t.normalize?r.value=n.href:r.value=o;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort})}}}),Kd=b("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=hd()),T.init(e,t)}),Qd=b("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=md),T.init(e,t)}),ec=b("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=sd),T.init(e,t)}),tc=b("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=ld),T.init(e,t)}),rc=b("$ZodULID",(e,t)=>{t.pattern??(t.pattern=dd),T.init(e,t)}),oc=b("$ZodXID",(e,t)=>{t.pattern??(t.pattern=cd),T.init(e,t)}),nc=b("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=pd),T.init(e,t)}),ic=b("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=Sd(t)),T.init(e,t)}),ac=b("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=zd),T.init(e,t)}),sc=b("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=Ad(t)),T.init(e,t)}),lc=b("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=bd),T.init(e,t)}),dc=b("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=vd),T.init(e,t),e._zod.bag.format="ipv4"}),cc=b("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=wd),T.init(e,t),e._zod.bag.format="ipv6",e._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!t.abort})}}}),pc=b("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=xd),T.init(e,t)}),mc=b("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=yd),T.init(e,t),e._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:e,continue:!t.abort})}}});function Ji(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const bc=b("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=kd),T.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=r=>{Ji(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});function uc(e){if(!Di.test(e))return!1;const t=e.replace(/[-_]/g,o=>o==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return Ji(r)}const gc=b("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Di),T.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=r=>{uc(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),fc=b("$ZodE164",(e,t)=>{t.pattern??(t.pattern=_d),T.init(e,t)});function hc(e,t=null){try{const r=e.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||t&&(!("alg"in n)||n.alg!==t))}catch{return!1}}const vc=b("$ZodJWT",(e,t)=>{T.init(e,t),e._zod.check=r=>{hc(r.value,t.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}}),Yi=b("$ZodNumber",(e,t)=>{j.init(e,t),e._zod.pattern=e._zod.bag.pattern??Bi,e._zod.parse=(r,o)=>{if(t.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:e,...i?{received:i}:{}}),r}}),wc=b("$ZodNumberFormat",(e,t)=>{Zd.init(e,t),Yi.init(e,t)}),xc=b("$ZodBoolean",(e,t)=>{j.init(e,t),e._zod.pattern=Od,e._zod.parse=(r,o)=>{if(t.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:e}),r}}),yc=b("$ZodUndefined",(e,t)=>{j.init(e,t),e._zod.pattern=jd,e._zod.values=new Set([void 0]),e._zod.optin="optional",e._zod.optout="optional",e._zod.parse=(r,o)=>{const n=r.value;return typeof n>"u"||r.issues.push({expected:"undefined",code:"invalid_type",input:n,inst:e}),r}}),kc=b("$ZodNull",(e,t)=>{j.init(e,t),e._zod.pattern=Id,e._zod.values=new Set([null]),e._zod.parse=(r,o)=>{const n=r.value;return n===null||r.issues.push({expected:"null",code:"invalid_type",input:n,inst:e}),r}}),_c=b("$ZodUnknown",(e,t)=>{j.init(e,t),e._zod.parse=r=>r}),zc=b("$ZodNever",(e,t)=>{j.init(e,t),e._zod.parse=(r,o)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});function kn(e,t,r){e.issues.length&&t.issues.push(...Je(r,e.issues)),t.value[r]=e.value}const Ac=b("$ZodArray",(e,t)=>{j.init(e,t),e._zod.parse=(r,o)=>{const n=r.value;if(!Array.isArray(n))return r.issues.push({expected:"array",code:"invalid_type",input:n,inst:e}),r;r.value=Array(n.length);const i=[];for(let a=0;a<n.length;a++){const s=n[a],l=t.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 xr(e,t,r,o,n){if(e.issues.length){if(n&&!(r in o))return;t.issues.push(...Je(r,e.issues))}e.value===void 0?r in o&&(t.value[r]=void 0):t.value[r]=e.value}function Hi(e){const t=Object.keys(e.shape);for(const o of t)if(!e.shape?.[o]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${o}": expected a Zod schema`);const r=Ml(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(r)}}function Vi(e,t,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 t){if(s.has(p))continue;if(d==="never"){a.push(p);continue}const u=l.run({value:t[p],issues:[]},o);u instanceof Promise?e.push(u.then(g=>xr(g,r,p,t,c))):xr(u,r,p,t,c)}return a.length&&r.issues.push({code:"unrecognized_keys",keys:a,input:t,inst:i}),e.length?Promise.all(e).then(()=>r):r}const Sc=b("$ZodObject",(e,t)=>{if(j.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){const a=t.shape;Object.defineProperty(t,"shape",{get:()=>{const s={...a};return Object.defineProperty(t,"shape",{value:s}),s}})}const r=Dr(()=>Hi(t));z(e._zod,"propValues",()=>{const a=t.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=At,n=t.catchall;let i;e._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:e}),a;a.value={};const d=[],c=i.shape;for(const p of i.keys){const u=c[p],g=u._zod.optout==="optional",y=u._zod.run({value:l[p],issues:[]},s);y instanceof Promise?d.push(y.then(R=>xr(R,a,p,l,g))):xr(y,a,p,l,g)}return n?Vi(d,l,a,s,r.value,e):d.length?Promise.all(d).then(()=>a):a}}),$c=b("$ZodObjectJIT",(e,t)=>{Sc.init(e,t);const r=e._zod.parse,o=Dr(()=>Hi(t)),n=p=>{const u=new Yd(["shape","payload","ctx"]),g=o.value,y=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 Ue=0;for(const Q of g.keys)R[Q]=`key_${Ue++}`;u.write("const newResult = {};");for(const Q of g.keys){const I=R[Q],$=xn(Q),X=p[Q]?._zod?.optout==="optional";u.write(`const ${I} = ${y(Q)};`),X?u.write(`
|
|
866
|
-
if (${I}.issues.length) {
|
|
867
|
-
if (${$} in input) {
|
|
868
|
-
payload.issues = payload.issues.concat(${I}.issues.map(iss => ({
|
|
869
|
-
...iss,
|
|
870
|
-
path: iss.path ? [${$}, ...iss.path] : [${$}]
|
|
871
|
-
})));
|
|
872
|
-
}
|
|
873
|
-
}
|
|
874
|
-
|
|
875
|
-
if (${I}.value === undefined) {
|
|
876
|
-
if (${$} in input) {
|
|
877
|
-
newResult[${$}] = undefined;
|
|
878
|
-
}
|
|
879
|
-
} else {
|
|
880
|
-
newResult[${$}] = ${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 ? [${$}, ...iss.path] : [${$}]
|
|
888
|
-
})));
|
|
889
|
-
}
|
|
890
|
-
|
|
891
|
-
if (${I}.value === undefined) {
|
|
892
|
-
if (${$} in input) {
|
|
893
|
-
newResult[${$}] = undefined;
|
|
894
|
-
}
|
|
895
|
-
} else {
|
|
896
|
-
newResult[${$}] = ${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=At,s=!ji.jitless,l=s&&Dl.value,d=t.catchall;let c;e._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(t.shape)),p=i(p,u),d?Vi([],g,p,u,c,e):p):r(p,u):(p.issues.push({expected:"object",code:"invalid_type",input:g,inst:e}),p)}});function _n(e,t,r,o){for(const i of e)if(i.issues.length===0)return t.value=i.value,t;const n=e.filter(i=>!Ge(i));return n.length===1?(t.value=n[0].value,n[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map(i=>i.issues.map(a=>ve(a,o,he())))}),t)}const Wi=b("$ZodUnion",(e,t)=>{j.init(e,t),z(e._zod,"optin",()=>t.options.some(n=>n._zod.optin==="optional")?"optional":void 0),z(e._zod,"optout",()=>t.options.some(n=>n._zod.optout==="optional")?"optional":void 0),z(e._zod,"values",()=>{if(t.options.every(n=>n._zod.values))return new Set(t.options.flatMap(n=>Array.from(n._zod.values)))}),z(e._zod,"pattern",()=>{if(t.options.every(n=>n._zod.pattern)){const n=t.options.map(i=>i._zod.pattern);return new RegExp(`^(${n.map(i=>jo(i.source)).join("|")})$`)}});const r=t.options.length===1,o=t.options[0]._zod.run;e._zod.parse=(n,i)=>{if(r)return o(n,i);let a=!1;const s=[];for(const l of t.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,e,i)):_n(s,n,e,i)}}),Ec=b("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,Wi.init(e,t);const r=e._zod.parse;z(e._zod,"propValues",()=>{const n={};for(const i of t.options){const a=i._zod.propValues;if(!a||Object.keys(a).length===0)throw new Error(`Invalid discriminated union option at index "${t.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=Dr(()=>{const n=t.options,i=new Map;for(const a of n){const s=a._zod.propValues?.[t.discriminator];if(!s||s.size===0)throw new Error(`Invalid discriminated union option at index "${t.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});e._zod.parse=(n,i)=>{const a=n.value;if(!At(a))return n.issues.push({code:"invalid_type",expected:"object",input:a,inst:e}),n;const s=o.value.get(a?.[t.discriminator]);return s?s._zod.run(n,i):t.unionFallback?r(n,i):(n.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,input:a,path:[t.discriminator],inst:e}),n)}}),Oc=b("$ZodIntersection",(e,t)=>{j.init(e,t),e._zod.parse=(r,o)=>{const n=r.value,i=t.left._zod.run({value:n,issues:[]},o),a=t.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(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(tt(e)&&tt(t)){const r=Object.keys(t),o=Object.keys(e).filter(i=>r.indexOf(i)!==-1),n={...e,...t};for(const i of o){const a=ao(e[i],t[i]);if(!a.valid)return{valid:!1,mergeErrorPath:[i,...a.mergeErrorPath]};n[i]=a.data}return{valid:!0,data:n}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const r=[];for(let o=0;o<e.length;o++){const n=e[o],i=t[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(e,t,r){const o=new Map;let n;for(const s of t.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 e.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 e.issues.push(s);const i=[...o].filter(([,s])=>s.l&&s.r).map(([s])=>s);if(i.length&&n&&e.issues.push({...n,keys:i}),Ge(e))return e;const a=ao(t.value,r.value);if(!a.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(a.mergeErrorPath)}`);return e.value=a.data,e}const Ic=b("$ZodRecord",(e,t)=>{j.init(e,t),e._zod.parse=(r,o)=>{const n=r.value;if(!tt(n))return r.issues.push({expected:"record",code:"invalid_type",input:n,inst:e}),r;const i=[],a=t.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=t.valueType._zod.run({value:n[d],issues:[]},o);c instanceof Promise?i.push(c.then(p=>{p.issues.length&&r.issues.push(...Je(d,p.issues)),r.value[d]=p.value})):(c.issues.length&&r.issues.push(...Je(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:e,keys:l})}else{r.value={};for(const s of Reflect.ownKeys(n)){if(s==="__proto__")continue;let l=t.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=t.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){t.mode==="loose"?r.value[s]=n[s]:r.issues.push({code:"invalid_key",origin:"record",issues:l.issues.map(c=>ve(c,o,he())),input:s,path:[s],inst:e});continue}const d=t.valueType._zod.run({value:n[s],issues:[]},o);d instanceof Promise?i.push(d.then(c=>{c.issues.length&&r.issues.push(...Je(s,c.issues)),r.value[l.value]=c.value})):(d.issues.length&&r.issues.push(...Je(s,d.issues)),r.value[l.value]=d.value)}}return i.length?Promise.all(i).then(()=>r):r}}),jc=b("$ZodEnum",(e,t)=>{j.init(e,t);const r=Pi(t.entries),o=new Set(r);e._zod.values=o,e._zod.pattern=new RegExp(`^(${r.filter(n=>Ul.has(typeof n)).map(n=>typeof n=="string"?rt(n):n.toString()).join("|")})$`),e._zod.parse=(n,i)=>{const a=n.value;return o.has(a)||n.issues.push({code:"invalid_value",values:r,input:a,inst:e}),n}}),Pc=b("$ZodLiteral",(e,t)=>{if(j.init(e,t),t.values.length===0)throw new Error("Cannot create literal schema with no valid values");const r=new Set(t.values);e._zod.values=r,e._zod.pattern=new RegExp(`^(${t.values.map(o=>typeof o=="string"?rt(o):o?rt(o.toString()):String(o)).join("|")})$`),e._zod.parse=(o,n)=>{const i=o.value;return r.has(i)||o.issues.push({code:"invalid_value",values:t.values,input:i,inst:e}),o}}),Tc=b("$ZodTransform",(e,t)=>{j.init(e,t),e._zod.parse=(r,o)=>{if(o.direction==="backward")throw new Ii(e.constructor.name);const n=t.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 Ve;return r.value=n,r}});function An(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}const qi=b("$ZodOptional",(e,t)=>{j.init(e,t),e._zod.optin="optional",e._zod.optout="optional",z(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),z(e._zod,"pattern",()=>{const r=t.innerType._zod.pattern;return r?new RegExp(`^(${jo(r.source)})?$`):void 0}),e._zod.parse=(r,o)=>{if(t.innerType._zod.optin==="optional"){const n=t.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:t.innerType._zod.run(r,o)}}),Cc=b("$ZodExactOptional",(e,t)=>{qi.init(e,t),z(e._zod,"values",()=>t.innerType._zod.values),z(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(r,o)=>t.innerType._zod.run(r,o)}),Zc=b("$ZodNullable",(e,t)=>{j.init(e,t),z(e._zod,"optin",()=>t.innerType._zod.optin),z(e._zod,"optout",()=>t.innerType._zod.optout),z(e._zod,"pattern",()=>{const r=t.innerType._zod.pattern;return r?new RegExp(`^(${jo(r.source)}|null)$`):void 0}),z(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(r,o)=>r.value===null?r:t.innerType._zod.run(r,o)}),Nc=b("$ZodDefault",(e,t)=>{j.init(e,t),e._zod.optin="optional",z(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,o)=>{if(o.direction==="backward")return t.innerType._zod.run(r,o);if(r.value===void 0)return r.value=t.defaultValue,r;const n=t.innerType._zod.run(r,o);return n instanceof Promise?n.then(i=>Sn(i,t)):Sn(n,t)}});function Sn(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const Rc=b("$ZodPrefault",(e,t)=>{j.init(e,t),e._zod.optin="optional",z(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,o)=>(o.direction==="backward"||r.value===void 0&&(r.value=t.defaultValue),t.innerType._zod.run(r,o))}),Dc=b("$ZodNonOptional",(e,t)=>{j.init(e,t),z(e._zod,"values",()=>{const r=t.innerType._zod.values;return r?new Set([...r].filter(o=>o!==void 0)):void 0}),e._zod.parse=(r,o)=>{const n=t.innerType._zod.run(r,o);return n instanceof Promise?n.then(i=>$n(i,e)):$n(n,e)}});function $n(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}const Uc=b("$ZodCatch",(e,t)=>{j.init(e,t),z(e._zod,"optin",()=>t.innerType._zod.optin),z(e._zod,"optout",()=>t.innerType._zod.optout),z(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,o)=>{if(o.direction==="backward")return t.innerType._zod.run(r,o);const n=t.innerType._zod.run(r,o);return n instanceof Promise?n.then(i=>(r.value=i.value,i.issues.length&&(r.value=t.catchValue({...r,error:{issues:i.issues.map(a=>ve(a,o,he()))},input:r.value}),r.issues=[]),r)):(r.value=n.value,n.issues.length&&(r.value=t.catchValue({...r,error:{issues:n.issues.map(i=>ve(i,o,he()))},input:r.value}),r.issues=[]),r)}}),Mc=b("$ZodPipe",(e,t)=>{j.init(e,t),z(e._zod,"values",()=>t.in._zod.values),z(e._zod,"optin",()=>t.in._zod.optin),z(e._zod,"optout",()=>t.out._zod.optout),z(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(r,o)=>{if(o.direction==="backward"){const i=t.out._zod.run(r,o);return i instanceof Promise?i.then(a=>Nt(a,t.in,o)):Nt(i,t.in,o)}const n=t.in._zod.run(r,o);return n instanceof Promise?n.then(i=>Nt(i,t.out,o)):Nt(n,t.out,o)}});function Nt(e,t,r){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},r)}const Bc=b("$ZodReadonly",(e,t)=>{j.init(e,t),z(e._zod,"propValues",()=>t.innerType._zod.propValues),z(e._zod,"values",()=>t.innerType._zod.values),z(e._zod,"optin",()=>t.innerType?._zod?.optin),z(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(r,o)=>{if(o.direction==="backward")return t.innerType._zod.run(r,o);const n=t.innerType._zod.run(r,o);return n instanceof Promise?n.then(En):En(n)}});function En(e){return e.value=Object.freeze(e.value),e}const Lc=b("$ZodCustom",(e,t)=>{W.init(e,t),j.init(e,t),e._zod.parse=(r,o)=>r,e._zod.check=r=>{const o=r.value,n=t.fn(o);if(n instanceof Promise)return n.then(i=>On(i,r,o,e));On(n,r,o,e)}});function On(e,t,r,o){if(!e){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),t.issues.push(St(n))}}var In;class Fc{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...r){const o=r[0];return this._map.set(t,o),o&&typeof o=="object"&&"id"in o&&this._idmap.set(o.id,t),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){const r=this._map.get(t);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(t),this}get(t){const r=t._zod.parent;if(r){const o={...this.get(r)??{}};delete o.id;const n={...o,...this._map.get(t)};return Object.keys(n).length?n:void 0}return this._map.get(t)}has(t){return this._map.has(t)}}function Gc(){return new Fc}(In=globalThis).__zod_globalRegistry??(In.__zod_globalRegistry=Gc());const gt=globalThis.__zod_globalRegistry;function Jc(e,t){return new e({type:"string",...v(t)})}function Yc(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...v(t)})}function jn(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...v(t)})}function Hc(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...v(t)})}function Vc(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...v(t)})}function Wc(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...v(t)})}function qc(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...v(t)})}function Xc(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...v(t)})}function Kc(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...v(t)})}function Qc(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...v(t)})}function ep(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...v(t)})}function tp(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...v(t)})}function rp(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...v(t)})}function op(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...v(t)})}function np(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...v(t)})}function ip(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...v(t)})}function ap(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...v(t)})}function sp(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...v(t)})}function lp(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...v(t)})}function dp(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...v(t)})}function cp(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...v(t)})}function pp(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...v(t)})}function mp(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...v(t)})}function bp(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...v(t)})}function up(e,t){return new e({type:"string",format:"date",check:"string_format",...v(t)})}function gp(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...v(t)})}function fp(e,t){return new e({type:"string",format:"duration",check:"string_format",...v(t)})}function hp(e,t){return new e({type:"number",checks:[],...v(t)})}function vp(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...v(t)})}function wp(e,t){return new e({type:"boolean",...v(t)})}function xp(e,t){return new e({type:"undefined",...v(t)})}function yp(e,t){return new e({type:"null",...v(t)})}function kp(e){return new e({type:"unknown"})}function _p(e,t){return new e({type:"never",...v(t)})}function Pn(e,t){return new Fi({check:"less_than",...v(t),value:e,inclusive:!1})}function qr(e,t){return new Fi({check:"less_than",...v(t),value:e,inclusive:!0})}function Tn(e,t){return new Gi({check:"greater_than",...v(t),value:e,inclusive:!1})}function Xr(e,t){return new Gi({check:"greater_than",...v(t),value:e,inclusive:!0})}function Cn(e,t){return new Cd({check:"multiple_of",...v(t),value:e})}function Xi(e,t){return new Nd({check:"max_length",...v(t),maximum:e})}function yr(e,t){return new Rd({check:"min_length",...v(t),minimum:e})}function Ki(e,t){return new Dd({check:"length_equals",...v(t),length:e})}function zp(e,t){return new Ud({check:"string_format",format:"regex",...v(t),pattern:e})}function Ap(e){return new Md({check:"string_format",format:"lowercase",...v(e)})}function Sp(e){return new Bd({check:"string_format",format:"uppercase",...v(e)})}function $p(e,t){return new Ld({check:"string_format",format:"includes",...v(t),includes:e})}function Ep(e,t){return new Fd({check:"string_format",format:"starts_with",...v(t),prefix:e})}function Op(e,t){return new Gd({check:"string_format",format:"ends_with",...v(t),suffix:e})}function ct(e){return new Jd({check:"overwrite",tx:e})}function Ip(e){return ct(t=>t.normalize(e))}function jp(){return ct(e=>e.trim())}function Pp(){return ct(e=>e.toLowerCase())}function Tp(){return ct(e=>e.toUpperCase())}function Cp(){return ct(e=>Rl(e))}function Zp(e,t,r){return new e({type:"array",element:t,...v(r)})}function Np(e,t,r){return new e({type:"custom",check:"custom",fn:t,...v(r)})}function Rp(e){const t=Dp(r=>(r.addIssue=o=>{if(typeof o=="string")r.issues.push(St(o,r.value,t._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=t),n.continue??(n.continue=!t._zod.def.abort),r.issues.push(St(n))}},e(r.value,r)));return t}function Dp(e,t){const r=new W({check:"custom",...v(t)});return r._zod.check=e,r}function Qi(e){let t=e?.target??"draft-2020-12";return t==="draft-4"&&(t="draft-04"),t==="draft-7"&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??gt,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function D(e,t,r={path:[],schemaPath:[]}){var o;const n=e._zod.def,i=t.seen.get(e);if(i)return i.count++,r.schemaPath.includes(e)&&(i.cycle=r.path),i.schema;const a={schema:{},count:1,cycle:void 0,path:r.path};t.seen.set(e,a);const s=e._zod.toJSONSchema?.();if(s)a.schema=s;else{const d={...r,schemaPath:[...r.schemaPath,e],path:r.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,a.schema,d);else{const p=a.schema,u=t.processors[n.type];if(!u)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${n.type}`);u(e,t,p,d)}const c=e._zod.parent;c&&(a.ref||(a.ref=c),D(c,t,d),t.seen.get(c).isParent=!0)}const l=t.metadataRegistry.get(e);return l&&Object.assign(a.schema,l),t.io==="input"&&J(e)&&(delete a.schema.examples,delete a.schema.default),t.io==="input"&&a.schema._prefault&&((o=a.schema).default??(o.default=a.schema._prefault)),delete a.schema._prefault,t.seen.get(e).schema}function ea(e,t){const r=e.seen.get(t);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const o=new Map;for(const a of e.seen.entries()){const s=e.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=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const c=e.external.registry.get(a[0])?.id,p=e.external.uri??(g=>g);if(c)return{ref:p(c)};const u=a[1].defId??a[1].schema.id??`schema${e.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${e.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(e.cycles==="throw")for(const a of e.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 e.seen.entries()){const s=a[1];if(t===a[0]){i(a);continue}if(e.external){const l=e.external.registry.get(a[0])?.id;if(t!==a[0]&&l){i(a);continue}}if(e.metadataRegistry.get(a[0])?.id){i(a);continue}if(s.cycle){i(a);continue}if(s.count>1&&e.reused==="ref"){i(a);continue}}}function ta(e,t){const r=e.seen.get(t);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const o=a=>{const s=e.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=e.seen.get(c),g=u.schema;if(g.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.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 y in l)y==="$ref"||y==="allOf"||y in d||delete l[y];if(g.$ref&&u.def)for(const y in l)y==="$ref"||y==="allOf"||y in u.def&&JSON.stringify(l[y])===JSON.stringify(u.def[y])&&delete l[y]}const p=a._zod.parent;if(p&&p!==c){o(p);const u=e.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]}e.override({zodSchema:a,jsonSchema:l,path:s.path??[]})};for(const a of[...e.seen.entries()].reverse())o(a[0]);const n={};if(e.target==="draft-2020-12"?n.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?n.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?n.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const a=e.external.registry.get(t)?.id;if(!a)throw new Error("Schema is missing an `id` property");n.$id=e.external.uri(a)}Object.assign(n,r.def??r.schema);const i=e.external?.defs??{};for(const a of e.seen.entries()){const s=a[1];s.def&&s.defId&&(i[s.defId]=s.def)}e.external||Object.keys(i).length>0&&(e.target==="draft-2020-12"?n.$defs=i:n.definitions=i);try{const a=JSON.parse(JSON.stringify(n));return Object.defineProperty(a,"~standard",{value:{...t["~standard"],jsonSchema:{input:kr(t,"input",e.processors),output:kr(t,"output",e.processors)}},enumerable:!1,writable:!1}),a}catch{throw new Error("Error converting schema to JSON.")}}function J(e,t){const r=t??{seen:new Set};if(r.seen.has(e))return!1;r.seen.add(e);const o=e._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 Up=(e,t={})=>r=>{const o=Qi({...r,processors:t});return D(e,o),ea(o,e),ta(o,e)},kr=(e,t,r={})=>o=>{const{libraryOptions:n,target:i}=o??{},a=Qi({...n??{},target:i,io:t,processors:r});return D(e,a),ea(a,e),ta(a,e)},Mp={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Bp=(e,t,r,o)=>{const n=r;n.type="string";const{minimum:i,maximum:a,format:s,patterns:l,contentEncoding:d}=e._zod.bag;if(typeof i=="number"&&(n.minLength=i),typeof a=="number"&&(n.maxLength=a),s&&(n.format=Mp[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=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:p.source}))])}},Lp=(e,t,r,o)=>{const n=r,{minimum:i,maximum:a,format:s,multipleOf:l,exclusiveMaximum:d,exclusiveMinimum:c}=e._zod.bag;typeof s=="string"&&s.includes("int")?n.type="integer":n.type="number",typeof c=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(n.minimum=c,n.exclusiveMinimum=!0):n.exclusiveMinimum=c),typeof i=="number"&&(n.minimum=i,typeof c=="number"&&t.target!=="draft-04"&&(c>=i?delete n.minimum:delete n.exclusiveMinimum)),typeof d=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(n.maximum=d,n.exclusiveMaximum=!0):n.exclusiveMaximum=d),typeof a=="number"&&(n.maximum=a,typeof d=="number"&&t.target!=="draft-04"&&(d<=a?delete n.maximum:delete n.exclusiveMaximum)),typeof l=="number"&&(n.multipleOf=l)},Fp=(e,t,r,o)=>{r.type="boolean"},Gp=(e,t,r,o)=>{t.target==="openapi-3.0"?(r.type="string",r.nullable=!0,r.enum=[null]):r.type="null"},Jp=(e,t,r,o)=>{if(t.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},Yp=(e,t,r,o)=>{r.not={}},Hp=(e,t,r,o)=>{},Vp=(e,t,r,o)=>{const n=e._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},Wp=(e,t,r,o)=>{const n=e._zod.def,i=[];for(const a of n.values)if(a===void 0){if(t.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof a=="bigint"){if(t.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,t.target==="draft-04"||t.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},qp=(e,t,r,o)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Xp=(e,t,r,o)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Kp=(e,t,r,o)=>{const n=r,i=e._zod.def,{minimum:a,maximum:s}=e._zod.bag;typeof a=="number"&&(n.minItems=a),typeof s=="number"&&(n.maxItems=s),n.type="array",n.items=D(i.element,t,{...o,path:[...o.path,"items"]})},Qp=(e,t,r,o)=>{const n=r,i=e._zod.def;n.type="object",n.properties={};const a=i.shape;for(const d in a)n.properties[d]=D(a[d],t,{...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 t.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,t,{...o,path:[...o.path,"additionalProperties"]})):t.io==="output"&&(n.additionalProperties=!1)},em=(e,t,r,o)=>{const n=e._zod.def,i=n.inclusive===!1,a=n.options.map((s,l)=>D(s,t,{...o,path:[...o.path,i?"oneOf":"anyOf",l]}));i?r.oneOf=a:r.anyOf=a},tm=(e,t,r,o)=>{const n=e._zod.def,i=D(n.left,t,{...o,path:[...o.path,"allOf",0]}),a=D(n.right,t,{...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},rm=(e,t,r,o)=>{const n=r,i=e._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,t,{...o,path:[...o.path,"patternProperties","*"]});n.patternProperties={};for(const c of s)n.patternProperties[c.source]=d}else(t.target==="draft-07"||t.target==="draft-2020-12")&&(n.propertyNames=D(i.keyType,t,{...o,path:[...o.path,"propertyNames"]})),n.additionalProperties=D(i.valueType,t,{...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)}},om=(e,t,r,o)=>{const n=e._zod.def,i=D(n.innerType,t,o),a=t.seen.get(e);t.target==="openapi-3.0"?(a.ref=n.innerType,r.nullable=!0):r.anyOf=[i,{type:"null"}]},nm=(e,t,r,o)=>{const n=e._zod.def;D(n.innerType,t,o);const i=t.seen.get(e);i.ref=n.innerType},im=(e,t,r,o)=>{const n=e._zod.def;D(n.innerType,t,o);const i=t.seen.get(e);i.ref=n.innerType,r.default=JSON.parse(JSON.stringify(n.defaultValue))},am=(e,t,r,o)=>{const n=e._zod.def;D(n.innerType,t,o);const i=t.seen.get(e);i.ref=n.innerType,t.io==="input"&&(r._prefault=JSON.parse(JSON.stringify(n.defaultValue)))},sm=(e,t,r,o)=>{const n=e._zod.def;D(n.innerType,t,o);const i=t.seen.get(e);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},lm=(e,t,r,o)=>{const n=e._zod.def,i=t.io==="input"?n.in._zod.def.type==="transform"?n.out:n.in:n.out;D(i,t,o);const a=t.seen.get(e);a.ref=i},dm=(e,t,r,o)=>{const n=e._zod.def;D(n.innerType,t,o);const i=t.seen.get(e);i.ref=n.innerType,r.readOnly=!0},ra=(e,t,r,o)=>{const n=e._zod.def;D(n.innerType,t,o);const i=t.seen.get(e);i.ref=n.innerType},cm=b("ZodISODateTime",(e,t)=>{ic.init(e,t),Z.init(e,t)});function pm(e){return bp(cm,e)}const mm=b("ZodISODate",(e,t)=>{ac.init(e,t),Z.init(e,t)});function bm(e){return up(mm,e)}const um=b("ZodISOTime",(e,t)=>{sc.init(e,t),Z.init(e,t)});function gm(e){return gp(um,e)}const fm=b("ZodISODuration",(e,t)=>{lc.init(e,t),Z.init(e,t)});function hm(e){return fp(fm,e)}const vm=(e,t)=>{Ni.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>ql(e,r)},flatten:{value:r=>Wl(e,r)},addIssue:{value:r=>{e.issues.push(r),e.message=JSON.stringify(e.issues,io,2)}},addIssues:{value:r=>{e.issues.push(...r),e.message=JSON.stringify(e.issues,io,2)}},isEmpty:{get(){return e.issues.length===0}}})},ee=b("ZodError",vm,{Parent:Error}),wm=To(ee),xm=Co(ee),ym=Ur(ee),km=Mr(ee),_m=Ql(ee),zm=ed(ee),Am=td(ee),Sm=rd(ee),$m=od(ee),Em=nd(ee),Om=id(ee),Im=ad(ee),P=b("ZodType",(e,t)=>(j.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:kr(e,"input"),output:kr(e,"output")}}),e.toJSONSchema=Up(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...r)=>e.clone(ye(t,{checks:[...t.checks??[],...r.map(o=>typeof o=="function"?{_zod:{check:o,def:{check:"custom"},onattach:[]}}:o)]}),{parent:!0}),e.with=e.check,e.clone=(r,o)=>ke(e,r,o),e.brand=()=>e,e.register=((r,o)=>(r.add(e,o),e)),e.parse=(r,o)=>wm(e,r,o,{callee:e.parse}),e.safeParse=(r,o)=>ym(e,r,o),e.parseAsync=async(r,o)=>xm(e,r,o,{callee:e.parseAsync}),e.safeParseAsync=async(r,o)=>km(e,r,o),e.spa=e.safeParseAsync,e.encode=(r,o)=>_m(e,r,o),e.decode=(r,o)=>zm(e,r,o),e.encodeAsync=async(r,o)=>Am(e,r,o),e.decodeAsync=async(r,o)=>Sm(e,r,o),e.safeEncode=(r,o)=>$m(e,r,o),e.safeDecode=(r,o)=>Em(e,r,o),e.safeEncodeAsync=async(r,o)=>Om(e,r,o),e.safeDecodeAsync=async(r,o)=>Im(e,r,o),e.refine=(r,o)=>e.check($b(r,o)),e.superRefine=r=>e.check(Eb(r)),e.overwrite=r=>e.check(ct(r)),e.optional=()=>je(e),e.exactOptional=()=>ub(e),e.nullable=()=>Rn(e),e.nullish=()=>je(Rn(e)),e.nonoptional=r=>xb(e,r),e.array=()=>zr(e),e.or=r=>No([e,r]),e.and=r=>Ro(e,r),e.transform=r=>Dn(e,mb(r)),e.default=r=>hb(e,r),e.prefault=r=>wb(e,r),e.catch=r=>kb(e,r),e.pipe=r=>Dn(e,r),e.readonly=()=>Ab(e),e.describe=r=>{const o=e.clone();return gt.add(o,{description:r}),o},Object.defineProperty(e,"description",{get(){return gt.get(e)?.description},configurable:!0}),e.meta=(...r)=>{if(r.length===0)return gt.get(e);const o=e.clone();return gt.add(o,r[0]),o},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=r=>r(e),e)),oa=b("_ZodString",(e,t)=>{Zo.init(e,t),P.init(e,t),e._zod.processJSONSchema=(o,n,i)=>Bp(e,o,n);const r=e._zod.bag;e.format=r.format??null,e.minLength=r.minimum??null,e.maxLength=r.maximum??null,e.regex=(...o)=>e.check(zp(...o)),e.includes=(...o)=>e.check($p(...o)),e.startsWith=(...o)=>e.check(Ep(...o)),e.endsWith=(...o)=>e.check(Op(...o)),e.min=(...o)=>e.check(yr(...o)),e.max=(...o)=>e.check(Xi(...o)),e.length=(...o)=>e.check(Ki(...o)),e.nonempty=(...o)=>e.check(yr(1,...o)),e.lowercase=o=>e.check(Ap(o)),e.uppercase=o=>e.check(Sp(o)),e.trim=()=>e.check(jp()),e.normalize=(...o)=>e.check(Ip(...o)),e.toLowerCase=()=>e.check(Pp()),e.toUpperCase=()=>e.check(Tp()),e.slugify=()=>e.check(Cp())}),jm=b("ZodString",(e,t)=>{Zo.init(e,t),oa.init(e,t),e.email=r=>e.check(Yc(Pm,r)),e.url=r=>e.check(Xc(Tm,r)),e.jwt=r=>e.check(mp(Vm,r)),e.emoji=r=>e.check(Kc(Cm,r)),e.guid=r=>e.check(jn(Zn,r)),e.uuid=r=>e.check(Hc(Rt,r)),e.uuidv4=r=>e.check(Vc(Rt,r)),e.uuidv6=r=>e.check(Wc(Rt,r)),e.uuidv7=r=>e.check(qc(Rt,r)),e.nanoid=r=>e.check(Qc(Zm,r)),e.guid=r=>e.check(jn(Zn,r)),e.cuid=r=>e.check(ep(Nm,r)),e.cuid2=r=>e.check(tp(Rm,r)),e.ulid=r=>e.check(rp(Dm,r)),e.base64=r=>e.check(dp(Jm,r)),e.base64url=r=>e.check(cp(Ym,r)),e.xid=r=>e.check(op(Um,r)),e.ksuid=r=>e.check(np(Mm,r)),e.ipv4=r=>e.check(ip(Bm,r)),e.ipv6=r=>e.check(ap(Lm,r)),e.cidrv4=r=>e.check(sp(Fm,r)),e.cidrv6=r=>e.check(lp(Gm,r)),e.e164=r=>e.check(pp(Hm,r)),e.datetime=r=>e.check(pm(r)),e.date=r=>e.check(bm(r)),e.time=r=>e.check(gm(r)),e.duration=r=>e.check(hm(r))});function x(e){return Jc(jm,e)}const Z=b("ZodStringFormat",(e,t)=>{T.init(e,t),oa.init(e,t)}),Pm=b("ZodEmail",(e,t)=>{qd.init(e,t),Z.init(e,t)}),Zn=b("ZodGUID",(e,t)=>{Vd.init(e,t),Z.init(e,t)}),Rt=b("ZodUUID",(e,t)=>{Wd.init(e,t),Z.init(e,t)}),Tm=b("ZodURL",(e,t)=>{Xd.init(e,t),Z.init(e,t)}),Cm=b("ZodEmoji",(e,t)=>{Kd.init(e,t),Z.init(e,t)}),Zm=b("ZodNanoID",(e,t)=>{Qd.init(e,t),Z.init(e,t)}),Nm=b("ZodCUID",(e,t)=>{ec.init(e,t),Z.init(e,t)}),Rm=b("ZodCUID2",(e,t)=>{tc.init(e,t),Z.init(e,t)}),Dm=b("ZodULID",(e,t)=>{rc.init(e,t),Z.init(e,t)}),Um=b("ZodXID",(e,t)=>{oc.init(e,t),Z.init(e,t)}),Mm=b("ZodKSUID",(e,t)=>{nc.init(e,t),Z.init(e,t)}),Bm=b("ZodIPv4",(e,t)=>{dc.init(e,t),Z.init(e,t)}),Lm=b("ZodIPv6",(e,t)=>{cc.init(e,t),Z.init(e,t)}),Fm=b("ZodCIDRv4",(e,t)=>{pc.init(e,t),Z.init(e,t)}),Gm=b("ZodCIDRv6",(e,t)=>{mc.init(e,t),Z.init(e,t)}),Jm=b("ZodBase64",(e,t)=>{bc.init(e,t),Z.init(e,t)}),Ym=b("ZodBase64URL",(e,t)=>{gc.init(e,t),Z.init(e,t)}),Hm=b("ZodE164",(e,t)=>{fc.init(e,t),Z.init(e,t)}),Vm=b("ZodJWT",(e,t)=>{vc.init(e,t),Z.init(e,t)}),na=b("ZodNumber",(e,t)=>{Yi.init(e,t),P.init(e,t),e._zod.processJSONSchema=(o,n,i)=>Lp(e,o,n),e.gt=(o,n)=>e.check(Tn(o,n)),e.gte=(o,n)=>e.check(Xr(o,n)),e.min=(o,n)=>e.check(Xr(o,n)),e.lt=(o,n)=>e.check(Pn(o,n)),e.lte=(o,n)=>e.check(qr(o,n)),e.max=(o,n)=>e.check(qr(o,n)),e.int=o=>e.check(Nn(o)),e.safe=o=>e.check(Nn(o)),e.positive=o=>e.check(Tn(0,o)),e.nonnegative=o=>e.check(Xr(0,o)),e.negative=o=>e.check(Pn(0,o)),e.nonpositive=o=>e.check(qr(0,o)),e.multipleOf=(o,n)=>e.check(Cn(o,n)),e.step=(o,n)=>e.check(Cn(o,n)),e.finite=()=>e;const r=e._zod.bag;e.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),e.isFinite=!0,e.format=r.format??null});function _r(e){return hp(na,e)}const Wm=b("ZodNumberFormat",(e,t)=>{wc.init(e,t),na.init(e,t)});function Nn(e){return vp(Wm,e)}const qm=b("ZodBoolean",(e,t)=>{xc.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Fp(e,r,o)});function Xm(e){return wp(qm,e)}const Km=b("ZodUndefined",(e,t)=>{yc.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Jp(e,r)});function Qm(e){return xp(Km,e)}const eb=b("ZodNull",(e,t)=>{kc.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Gp(e,r,o)});function ia(e){return yp(eb,e)}const tb=b("ZodUnknown",(e,t)=>{_c.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Hp()});function ot(){return kp(tb)}const rb=b("ZodNever",(e,t)=>{zc.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Yp(e,r,o)});function aa(e){return _p(rb,e)}const ob=b("ZodArray",(e,t)=>{Ac.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Kp(e,r,o,n),e.element=t.element,e.min=(r,o)=>e.check(yr(r,o)),e.nonempty=r=>e.check(yr(1,r)),e.max=(r,o)=>e.check(Xi(r,o)),e.length=(r,o)=>e.check(Ki(r,o)),e.unwrap=()=>e.element});function zr(e,t){return Zp(ob,e,t)}const nb=b("ZodObject",(e,t)=>{$c.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Qp(e,r,o,n),z(e,"shape",()=>t.shape),e.keyof=()=>db(Object.keys(e._zod.def.shape)),e.catchall=r=>e.clone({...e._zod.def,catchall:r}),e.passthrough=()=>e.clone({...e._zod.def,catchall:ot()}),e.loose=()=>e.clone({...e._zod.def,catchall:ot()}),e.strict=()=>e.clone({...e._zod.def,catchall:aa()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=r=>Gl(e,r),e.safeExtend=r=>Jl(e,r),e.merge=r=>Yl(e,r),e.pick=r=>Ll(e,r),e.omit=r=>Fl(e,r),e.partial=(...r)=>Hl(la,e,r[0]),e.required=(...r)=>Vl(da,e,r[0])});function S(e,t){const r={type:"object",shape:e??{},...v(t)};return new nb(r)}const sa=b("ZodUnion",(e,t)=>{Wi.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>em(e,r,o,n),e.options=t.options});function No(e,t){return new sa({type:"union",options:e,...v(t)})}const ib=b("ZodDiscriminatedUnion",(e,t)=>{sa.init(e,t),Ec.init(e,t)});function pt(e,t,r){return new ib({type:"union",options:t,discriminator:e,...v(r)})}const ab=b("ZodIntersection",(e,t)=>{Oc.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>tm(e,r,o,n)});function Ro(e,t){return new ab({type:"intersection",left:e,right:t})}const sb=b("ZodRecord",(e,t)=>{Ic.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>rm(e,r,o,n),e.keyType=t.keyType,e.valueType=t.valueType});function lb(e,t,r){return new sb({type:"record",keyType:e,valueType:t,...v(r)})}const so=b("ZodEnum",(e,t)=>{jc.init(e,t),P.init(e,t),e._zod.processJSONSchema=(o,n,i)=>Vp(e,o,n),e.enum=t.entries,e.options=Object.values(t.entries);const r=new Set(Object.keys(t.entries));e.extract=(o,n)=>{const i={};for(const a of o)if(r.has(a))i[a]=t.entries[a];else throw new Error(`Key ${a} not found in enum`);return new so({...t,checks:[],...v(n),entries:i})},e.exclude=(o,n)=>{const i={...t.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({...t,checks:[],...v(n),entries:i})}});function db(e,t){const r=Array.isArray(e)?Object.fromEntries(e.map(o=>[o,o])):e;return new so({type:"enum",entries:r,...v(t)})}const cb=b("ZodLiteral",(e,t)=>{Pc.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Wp(e,r,o),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function M(e,t){return new cb({type:"literal",values:Array.isArray(e)?e:[e],...v(t)})}const pb=b("ZodTransform",(e,t)=>{Tc.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Xp(e,r),e._zod.parse=(r,o)=>{if(o.direction==="backward")throw new Ii(e.constructor.name);r.addIssue=i=>{if(typeof i=="string")r.issues.push(St(i,r.value,t));else{const a=i;a.fatal&&(a.continue=!1),a.code??(a.code="custom"),a.input??(a.input=r.value),a.inst??(a.inst=e),r.issues.push(St(a))}};const n=t.transform(r.value,r);return n instanceof Promise?n.then(i=>(r.value=i,r)):(r.value=n,r)}});function mb(e){return new pb({type:"transform",transform:e})}const la=b("ZodOptional",(e,t)=>{qi.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>ra(e,r,o,n),e.unwrap=()=>e._zod.def.innerType});function je(e){return new la({type:"optional",innerType:e})}const bb=b("ZodExactOptional",(e,t)=>{Cc.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>ra(e,r,o,n),e.unwrap=()=>e._zod.def.innerType});function ub(e){return new bb({type:"optional",innerType:e})}const gb=b("ZodNullable",(e,t)=>{Zc.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>om(e,r,o,n),e.unwrap=()=>e._zod.def.innerType});function Rn(e){return new gb({type:"nullable",innerType:e})}const fb=b("ZodDefault",(e,t)=>{Nc.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>im(e,r,o,n),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function hb(e,t){return new fb({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():Ci(t)}})}const vb=b("ZodPrefault",(e,t)=>{Rc.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>am(e,r,o,n),e.unwrap=()=>e._zod.def.innerType});function wb(e,t){return new vb({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():Ci(t)}})}const da=b("ZodNonOptional",(e,t)=>{Dc.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>nm(e,r,o,n),e.unwrap=()=>e._zod.def.innerType});function xb(e,t){return new da({type:"nonoptional",innerType:e,...v(t)})}const yb=b("ZodCatch",(e,t)=>{Uc.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>sm(e,r,o,n),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function kb(e,t){return new yb({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}const _b=b("ZodPipe",(e,t)=>{Mc.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>lm(e,r,o,n),e.in=t.in,e.out=t.out});function Dn(e,t){return new _b({type:"pipe",in:e,out:t})}const zb=b("ZodReadonly",(e,t)=>{Bc.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>dm(e,r,o,n),e.unwrap=()=>e._zod.def.innerType});function Ab(e){return new zb({type:"readonly",innerType:e})}const Sb=b("ZodCustom",(e,t)=>{Lc.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>qp(e,r)});function $b(e,t={}){return Np(Sb,e,t)}function Eb(e){return Rp(e)}var ca=S({method:M("authorization_code"),audience:x(),scope:x(),clientId:x()}).meta({description:"Authorization code flow authentication configuration. This is used for browser-based application login."}),Ob=S({method:M("client_credentials"),audience:x(),scope:x(),clientId:x(),clientSecret:x()}),Ib=S({method:M("self_signed"),issuer:x(),audience:x(),scope:x(),clientId:x(),clientSecret:x()}),jb=S({method:M("client_credentials"),audience:x(),scope:x(),clientId:x(),clientSecretEnv:x()}),Pb=S({method:M("self_signed"),issuer:x(),audience:x(),scope:x(),clientId:x(),clientSecretEnv:x()}),Un=pt("method",[ca,Ob,Ib]);pt("method",[ca,jb,Pb]);var Tb=pt("type",[S({id:x(),type:M("self_signed"),issuer:x()}),S({id:x(),type:M("oauth"),issuer:x(),configUrl:x().url()})]),Cb=S({baseUrl:x().url()}),pa=S({id:x(),name:x(),description:x(),synchronizerId:x().optional(),identityProviderId:x(),ledgerApi:Cb,auth:Un,adminAuth:Un.optional()});S({connection:pt("type",[S({type:M("memory")}),S({type:M("sqlite"),database:x()}),S({type:M("postgres"),host:x(),port:_r(),user:x(),password:x(),database:x()})])});S({idps:zr(Tb),networks:zr(pa)});var Zb=Object.defineProperty,Nb=Object.getOwnPropertyDescriptor,ma=e=>{throw TypeError(e)},Do=(e,t,r,o)=>{for(var n=o>1?void 0:o?Nb(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(n=(o?a(t,r,n):a(n))||n);return o&&n&&Zb(t,r,n),n},ba=(e,t,r)=>t.has(e)||ma("Cannot "+r),Rb=(e,t,r)=>(ba(e,t,"read from private field"),r?r.call(e):t.get(e)),Db=(e,t,r)=>t.has(e)?ma("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),Ub=(e,t,r,o)=>(ba(e,t,"write to private field"),t.set(e,r),r),Qt;class Mb extends Event{constructor(){super("network-edit-cancel",{bubbles:!0,composed:!0})}}class Bb extends Event{constructor(t){super("network-edit-save",{bubbles:!0,composed:!0}),this.network=t}}let $t=class extends k{constructor(){super(...arguments),Db(this,Qt,{ledgerApi:{},auth:{}}),this._error=""}get network(){return Rb(this,Qt)}set network(e){Ub(this,Qt,e)}connectedCallback(){super.connectedCallback()}handleSubmit(e){e.preventDefault();const t=pa.safeParse(this.network);if(t.success)this.dispatchEvent(new Bb(this.network));else{this._error="Invalid network data, please ensure all fields are set correctly",console.error("Error parsing network data: ",t.error);return}}renderAuthForm(e){typeof e.method>"u"&&Object.assign(e,{method:"authorization_code",clientId:"",audience:"",scope:""});const t=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(e.method!==o.value){if(o.value==="authorization_code")Object.assign(e,{method:"authorization_code",clientId:e.clientId??"",audience:e.audience??"",scope:e.scope??""});else if(o.value==="self_signed")Object.assign(e,{method:"self_signed",clientId:e.clientId??"",audience:e.audience??"",scope:e.scope??"",issuer:e.issuer??"",clientSecret:e.clientSecret??""});else if(o.value==="client_credentials")Object.assign(e,{method:"client_credentials",clientId:e.clientId??"",audience:e.audience??"",scope:e.scope??"",clientSecret:e.clientSecret??""});else throw new Error(`Unsupported auth method: ${o.value}`);this.requestUpdate()}}}
|
|
908
|
-
.value=${e.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=${e.clientId}
|
|
924
|
-
@form-input-change=${r=>{e.clientId=r.value}}
|
|
925
|
-
></form-input>
|
|
926
|
-
<form-input
|
|
927
|
-
required
|
|
928
|
-
label="Audience"
|
|
929
|
-
.value=${e.audience}
|
|
930
|
-
@form-input-change=${r=>{e.audience=r.value}}
|
|
931
|
-
>
|
|
932
|
-
</form-input>
|
|
933
|
-
<form-input
|
|
934
|
-
required
|
|
935
|
-
label="Scope"
|
|
936
|
-
.value=${e.scope}
|
|
937
|
-
@form-input-change=${r=>{e.scope=r.value}}
|
|
938
|
-
></form-input>
|
|
939
|
-
`;if(e.method==="authorization_code")return f`${t}`;if(e.method==="client_credentials")return f`${t}
|
|
940
|
-
<form-input
|
|
941
|
-
required
|
|
942
|
-
label="Client Secret"
|
|
943
|
-
.value=${e.clientSecret}
|
|
944
|
-
@form-input-change=${r=>{e.clientSecret=r.value}}
|
|
945
|
-
></form-input>`;if(e.method==="self_signed")return f`${t}
|
|
946
|
-
<form-input
|
|
947
|
-
required
|
|
948
|
-
label="Issuer"
|
|
949
|
-
.value=${e.issuer}
|
|
950
|
-
@form-input-change=${r=>{e.issuer=r.value}}
|
|
951
|
-
></form-input>
|
|
952
|
-
<form-input
|
|
953
|
-
required
|
|
954
|
-
label="Client Secret"
|
|
955
|
-
.value=${e.clientSecret}
|
|
956
|
-
@form-input-change=${r=>{e.clientSecret=r.value}}
|
|
957
|
-
></form-input>`;throw new Error(`Unsupported auth method: ${JSON.stringify(e)}`)}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=${e=>{this.network.id=e.value}}
|
|
965
|
-
></form-input>
|
|
966
|
-
|
|
967
|
-
<form-input
|
|
968
|
-
required
|
|
969
|
-
label="Name"
|
|
970
|
-
.value=${this.network.name??""}
|
|
971
|
-
@form-input-change=${e=>{this.network.name=e.value}}
|
|
972
|
-
></form-input>
|
|
973
|
-
|
|
974
|
-
<form-input
|
|
975
|
-
required
|
|
976
|
-
label="Description"
|
|
977
|
-
.value=${this.network.description??""}
|
|
978
|
-
@form-input-change=${e=>{this.network.description=e.value}}
|
|
979
|
-
></form-input>
|
|
980
|
-
|
|
981
|
-
<form-input
|
|
982
|
-
label="Synchronizer Id (Optional)"
|
|
983
|
-
.value=${this.network.synchronizerId??""}
|
|
984
|
-
@form-input-change=${e=>{this.network.synchronizerId=e.value===""?void 0:e.value}}
|
|
985
|
-
></form-input>
|
|
986
|
-
|
|
987
|
-
<form-input
|
|
988
|
-
required
|
|
989
|
-
label="Identity Provider Id"
|
|
990
|
-
.value=${this.network.identityProviderId??""}
|
|
991
|
-
@form-input-change=${e=>{this.network.identityProviderId=e.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=${e=>{this.network.ledgerApi.baseUrl=e.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 Mb)}
|
|
1042
|
-
>
|
|
1043
|
-
Cancel
|
|
1044
|
-
</button>
|
|
1045
|
-
</div>
|
|
1046
|
-
</form>
|
|
1047
|
-
`}};Qt=new WeakMap;$t.styles=[k.styles];Do([w({type:Object})],$t.prototype,"network",1);Do([G()],$t.prototype,"_error",2);$t=Do([B("network-form")],$t);var Lb=Object.defineProperty,Fb=Object.getOwnPropertyDescriptor,ua=e=>{throw TypeError(e)},Ze=(e,t,r,o)=>{for(var n=o>1?void 0:o?Fb(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(n=(o?a(t,r,n):a(n))||n);return o&&n&&Lb(t,r,n),n},ga=(e,t,r)=>t.has(e)||ua("Cannot "+r),Me=(e,t,r)=>(ga(e,t,"read from private field"),r?r.call(e):t.get(e)),Be=(e,t,r)=>t.has(e)?ua("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),Le=(e,t,r,o)=>(ga(e,t,"write to private field"),t.set(e,r),r),er,tr,rr,or,nr,ir;let ce=class extends k{constructor(){super(...arguments),Be(this,er,[]),Be(this,tr,[]),Be(this,rr,!1),Be(this,or,!1),Be(this,nr,null),Be(this,ir,this.editingNetwork?.auth?.method??"authorization_code"),this.openAddModal=()=>{this.isModalOpen=!0,this.editingNetwork=null},this.closeModal=()=>{this.isModalOpen=!1}}get networks(){return Me(this,er)}set networks(e){Le(this,er,e)}get activeSessions(){return Me(this,tr)}set activeSessions(e){Le(this,tr,e)}get readonly(){return Me(this,rr)}set readonly(e){Le(this,rr,e)}get isModalOpen(){return Me(this,or)}set isModalOpen(e){Le(this,or,e)}get editingNetwork(){return Me(this,nr)}set editingNetwork(e){Le(this,nr,e)}get authType(){return Me(this,ir)}set authType(e){Le(this,ir,e)}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=${e=>e.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;tr=new WeakMap;rr=new WeakMap;or=new WeakMap;nr=new WeakMap;ir=new WeakMap;ce.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
|
-
`];Ze([w({type:Array})],ce.prototype,"networks",1);Ze([w({type:Array})],ce.prototype,"activeSessions",1);Ze([w({type:Boolean})],ce.prototype,"readonly",1);Ze([G()],ce.prototype,"isModalOpen",1);Ze([G()],ce.prototype,"editingNetwork",1);Ze([G()],ce.prototype,"authType",1);ce=Ze([B("wg-networks")],ce);var Gb=Object.defineProperty,Jb=Object.getOwnPropertyDescriptor,fa=(e,t,r,o)=>{for(var n=o>1?void 0:o?Jb(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(n=(o?a(t,r,n):a(n))||n);return o&&n&&Gb(t,r,n),n};let Ar=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=Ke(this.href)}
|
|
1107
|
-
>
|
|
1108
|
-
Go to home page
|
|
1109
|
-
</button>
|
|
1110
|
-
</div>
|
|
1111
|
-
`}};Ar.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
|
-
`];fa([w({type:String})],Ar.prototype,"href",2);Ar=fa([B("not-found")],Ar);var Yb=Object.defineProperty,Hb=Object.getOwnPropertyDescriptor,ha=(e,t,r,o)=>{for(var n=o>1?void 0:o?Hb(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(n=(o?a(t,r,n):a(n))||n);return o&&n&&Yb(t,r,n),n};let Sr=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(e=>f`
|
|
1146
|
-
<tr>
|
|
1147
|
-
<td>${e.network.id}</td>
|
|
1148
|
-
<td>
|
|
1149
|
-
${e.status==="connected"?"🟢":"🔴"}
|
|
1150
|
-
</td>
|
|
1151
|
-
<td>${e.reason}</td>
|
|
1152
|
-
<td>
|
|
1153
|
-
<button
|
|
1154
|
-
type="button"
|
|
1155
|
-
class="btn btn-primary btn-sm"
|
|
1156
|
-
@click=${()=>navigator.clipboard.writeText(e.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
|
-
`}};Sr.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
|
-
`];ha([w({type:Array})],Sr.prototype,"sessions",2);Sr=ha([B("wg-sessions")],Sr);x().regex(/^[a-zA-Z0-9:_-]*::[a-z0-9]*/,"Invalid party ID format");var Vb=S({method:x(),params:je(No([zr(ot()),lb(x(),ot())]))}),Wb=S({result:je(ot())}),lo=S({error:S({code:_r(),message:x(),data:je(x().or(_r()).or(Xm()).or(ia()).or(ot()))})}),qb=No([Wb,lo]),va=S({jsonrpc:M("2.0"),id:je(x().or(_r()).or(Qm()).or(ia()))}),Xb=Ro(va,Vb),Kb=Ro(va,qb);pt("type",[S({type:M("SPLICE_WALLET_REQUEST"),request:Xb}),S({type:M("SPLICE_WALLET_RESPONSE"),response:Kb}),S({type:M("SPLICE_WALLET_EXT_READY")}),S({type:M("SPLICE_WALLET_EXT_ACK")}),S({type:M("SPLICE_WALLET_EXT_OPEN"),url:x().url()}),S({type:M("SPLICE_WALLET_IDP_AUTH_SUCCESS"),token:x(),sessionId:x()})]);pt("walletType",[S({walletType:M("extension"),url:je(aa())}),S({walletType:M("remote"),url:x().url()})]);S({name:x()});function Qb(e,t){const r=document.createElement("custom-toast");let o=-1,n="";if(e instanceof Error&&(n=e.message),lo.safeParse(e).success){const i=lo.parse(e);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=t?.title||"Unexpected Error";break}r.message=n||t?.message||"Something went wrong. Please try again.",r.type="error",r.buttonText=t?.buttonText||"Dismiss",document.body.appendChild(r)}var eu=Object.defineProperty,tu=Object.getOwnPropertyDescriptor,wa=e=>{throw TypeError(e)},Lr=(e,t,r,o)=>{for(var n=o>1?void 0:o?tu(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(n=(o?a(t,r,n):a(n))||n);return o&&n&&eu(t,r,n),n},xa=(e,t,r)=>t.has(e)||wa("Cannot "+r),Mn=(e,t,r)=>(xa(e,t,"read from private field"),r?r.call(e):t.get(e)),Bn=(e,t,r)=>t.has(e)?wa("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),Ln=(e,t,r,o)=>(xa(e,t,"write to private field"),t.set(e,r),r),ar,sr;let nt=class extends k{constructor(){super(...arguments),this.client=null,Bn(this,ar,!1),Bn(this,sr,!1),this.syncWallets=async()=>{if(!(!this.client||this.isSyncing)){this.isSyncing=!0;try{const e=await this.client.request({method:"syncWallets"}),t=`Added: ${e.added.length}, Updated: ${e.updated.length}, Disabled: ${e.disabled.length}.`,r=new le;r.title="Wallet Sync Complete",r.message=t,r.type="success",document.body.appendChild(r),await this.checkWalletSyncNeeded(),this.dispatchEvent(new CustomEvent("sync-success",{detail:{},bubbles:!0,composed:!0}))}catch(e){Qb(e)}finally{this.isSyncing=!1}}}}get isSyncNeeded(){return Mn(this,ar)}set isSyncNeeded(e){Ln(this,ar,e)}get isSyncing(){return Mn(this,sr)}set isSyncing(e){Ln(this,sr,e)}connectedCallback(){super.connectedCallback(),this.checkWalletSyncNeeded()}async checkWalletSyncNeeded(){if(this.client)try{const e=await this.client.request({method:"isWalletSyncNeeded"});this.isSyncNeeded=e?.walletSyncNeeded===!0}catch{this.isSyncNeeded=!0}}render(){const e=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
|
-
${e}
|
|
1217
|
-
</button>
|
|
1218
|
-
</div>
|
|
1219
|
-
`}};ar=new WeakMap;sr=new WeakMap;nt.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
|
-
`];Lr([w({attribute:!1})],nt.prototype,"client",2);Lr([G()],nt.prototype,"isSyncNeeded",1);Lr([G()],nt.prototype,"isSyncing",1);nt=Lr([B("wg-wallets-sync")],nt);var ru=Object.defineProperty,ou=Object.getOwnPropertyDescriptor,ya=e=>{throw TypeError(e)},Ne=(e,t,r,o)=>{for(var n=o>1?void 0:o?ou(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(n=(o?a(t,r,n):a(n))||n);return o&&n&&ru(t,r,n),n},ka=(e,t,r)=>t.has(e)||ya("Cannot "+r),Dt=(e,t,r)=>(ka(e,t,"read from private field"),r?r.call(e):t.get(e)),Ut=(e,t,r)=>t.has(e)?ya("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),Mt=(e,t,r,o)=>(ka(e,t,"write to private field"),t.set(e,r),r),lr,dr,cr,pr;class nu extends Event{constructor(t,r,o){super("wallet-create",{bubbles:!0,composed:!0}),this.partyHint=t,this.signingProviderId=r,this.primary=o}}let pe=class extends k{constructor(){super(...arguments),this.signingProviders=[],this.loading=!1,Ut(this,lr,null),Ut(this,dr,null),Ut(this,cr,null),Ut(this,pr,null)}get successMessage(){return Dt(this,lr)}set successMessage(e){Mt(this,lr,e)}get _partyHintInput(){return Dt(this,dr)}set _partyHintInput(e){Mt(this,dr,e)}get _signingProviderSelect(){return Dt(this,cr)}set _signingProviderSelect(e){Mt(this,cr,e)}get _primaryCheckbox(){return Dt(this,pr)}set _primaryCheckbox(e){Mt(this,pr,e)}_onSubmit(e){e.preventDefault();const t=this._partyHintInput?.value||"",r=this._signingProviderSelect?.value||"",o=this._primaryCheckbox?.checked||!1;this.dispatchEvent(new nu(t,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(e=>f`<option value=${e}>
|
|
1323
|
-
${e}
|
|
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
|
-
`}};lr=new WeakMap;dr=new WeakMap;cr=new WeakMap;pr=new WeakMap;pe.styles=[k.styles];Ne([w({type:Array})],pe.prototype,"signingProviders",2);Ne([w({type:Boolean})],pe.prototype,"loading",2);Ne([G()],pe.prototype,"successMessage",1);Ne([$o("#party-id-hint")],pe.prototype,"_partyHintInput",1);Ne([$o("#signing-provider-id")],pe.prototype,"_signingProviderSelect",1);Ne([$o("#primary")],pe.prototype,"_primaryCheckbox",1);pe=Ne([B("wg-wallet-create-form")],pe);var iu=Object.defineProperty,au=Object.getOwnPropertyDescriptor,Fr=(e,t,r,o)=>{for(var n=o>1?void 0:o?au(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(n=(o?a(t,r,n):a(n))||n);return o&&n&&iu(t,r,n),n};class su extends Event{constructor(t){super("wallet-set-primary",{bubbles:!0,composed:!0}),this.wallet=t}}class lu extends Event{constructor(t){super("wallet-copy-party-id",{bubbles:!0,composed:!0}),this.partyId=t}}class du extends Event{constructor(t){super("wallet-allocate",{bubbles:!0,composed:!0}),this.wallet=t}}let it=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 su(this.wallet))}
|
|
1372
|
-
>
|
|
1373
|
-
Set Primary
|
|
1374
|
-
</button>
|
|
1375
|
-
<button
|
|
1376
|
-
class="btn btn-sm btn-outline-secondary"
|
|
1377
|
-
@click=${()=>this.dispatchEvent(new lu(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||this.wallet.disabled}
|
|
1387
|
-
@click=${()=>this.dispatchEvent(new du(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
|
-
`}};it.styles=[k.styles,Nr];Fr([w({type:Object})],it.prototype,"wallet",2);Fr([w({type:Boolean})],it.prototype,"verified",2);Fr([w({type:Boolean})],it.prototype,"loading",2);it=Fr([B("wg-wallet-card")],it);var cu=Object.defineProperty,pu=Object.getOwnPropertyDescriptor,_a=e=>{throw TypeError(e)},Re=(e,t,r,o)=>{for(var n=o>1?void 0:o?pu(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(n=(o?a(t,r,n):a(n))||n);return o&&n&&cu(t,r,n),n},za=(e,t,r)=>t.has(e)||_a("Cannot "+r),Bt=(e,t,r)=>(za(e,t,"read from private field"),r?r.call(e):t.get(e)),Lt=(e,t,r)=>t.has(e)?_a("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),Ft=(e,t,r,o)=>(za(e,t,"write to private field"),t.set(e,r),r),mr,br,ur,gr;class mu extends Event{constructor(t,r,o){super("login-connect",{bubbles:!0,composed:!0}),this.selectedNetwork=t,this.selectedIdp=r,this.clientId=o}}let me=class extends k{constructor(){super(...arguments),this.networks=[],this.idps=[],Lt(this,mr,null),Lt(this,br,null),Lt(this,ur,null),Lt(this,gr,null)}get selectedNetwork(){return Bt(this,mr)}set selectedNetwork(e){Ft(this,mr,e)}get selectedIdp(){return Bt(this,br)}set selectedIdp(e){Ft(this,br,e)}get message(){return Bt(this,ur)}set message(e){Ft(this,ur,e)}get messageType(){return Bt(this,gr)}set messageType(e){Ft(this,gr,e)}handleChange(e){const t=parseInt(e.target.value);this.selectedNetwork=this.networks[t]??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 e=this.idps.find(r=>r.id===this.selectedNetwork?.identityProviderId);if(!e){this.messageType="error",this.message="Identity provider misconfigured for this network.";return}const t=this.renderRoot.querySelector("#client-id")?.value||this.selectedNetwork.auth.clientId;this.dispatchEvent(new mu(this.selectedNetwork,e,t))}setMessage(e,t){this.message=e,this.messageType=t}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((e,t)=>f`<option
|
|
1410
|
-
value=${t}
|
|
1411
|
-
?disabled=${e.auth.method=="client_credentials"}
|
|
1412
|
-
>
|
|
1413
|
-
${e.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
|
-
`}};mr=new WeakMap;br=new WeakMap;ur=new WeakMap;gr=new WeakMap;me.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
|
-
`];Re([w({type:Array})],me.prototype,"networks",2);Re([w({type:Array})],me.prototype,"idps",2);Re([G()],me.prototype,"selectedNetwork",1);Re([G()],me.prototype,"selectedIdp",1);Re([G()],me.prototype,"message",1);Re([G()],me.prototype,"messageType",1);me=Re([B("wg-login-form")],me);var bu=Object.defineProperty,uu=Object.getOwnPropertyDescriptor,be=(e,t,r,o)=>{for(var n=o>1?void 0:o?uu(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(n=(o?a(t,r,n):a(n))||n);return o&&n&&bu(t,r,n),n};class gu extends Event{constructor(t){super("transaction-review",{bubbles:!0,composed:!0}),this.commandId=t}}class fu extends Event{constructor(t){super("transaction-delete",{bubbles:!0,composed:!0}),this.commandId=t}}let ne=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
|
|
1461
|
-
class="${this.status==="failed"?"text-error":"text-danger"}"
|
|
1462
|
-
>
|
|
1463
|
-
${this.status}
|
|
1464
|
-
</span>
|
|
1465
|
-
<br />
|
|
1466
|
-
<strong>Template:</strong>
|
|
1467
|
-
${this.parsed?.templateId}
|
|
1468
|
-
<br />
|
|
1469
|
-
<strong>Signatories:</strong>
|
|
1470
|
-
</p>
|
|
1471
|
-
<ul>
|
|
1472
|
-
${this.parsed?.signatories?.map(e=>f`<li>${e}</li>`)||f`<li>N/A</li>`}
|
|
1473
|
-
</ul>
|
|
1474
|
-
<p class="card-text text-muted text-break">
|
|
1475
|
-
${this.createdAt?f`<strong>Created At:</strong> ${this.createdAt}<br />`:_}
|
|
1476
|
-
${this.signedAt?f`<strong>Signed At:</strong> ${this.signedAt}<br />`:_}
|
|
1477
|
-
${this.origin?f`<strong>Origin:</strong> ${this.origin}`:_}
|
|
1478
|
-
</p>
|
|
1479
|
-
<div class="d-flex gap-2 mt-2">
|
|
1480
|
-
<button
|
|
1481
|
-
class="btn btn-sm btn-outline-secondary"
|
|
1482
|
-
@click=${()=>this.dispatchEvent(new gu(this.commandId))}
|
|
1483
|
-
>
|
|
1484
|
-
Review
|
|
1485
|
-
</button>
|
|
1486
|
-
${this.status==="pending"?f`<button
|
|
1487
|
-
class="btn btn-sm btn-outline-danger"
|
|
1488
|
-
?disabled=${this.isDeleteDisabled}
|
|
1489
|
-
@click=${()=>this.dispatchEvent(new fu(this.commandId))}
|
|
1490
|
-
>
|
|
1491
|
-
${this.isDeleting?f`<div
|
|
1492
|
-
class="spinner-border spinner-border-sm"
|
|
1493
|
-
></div>`:_}
|
|
1494
|
-
Delete
|
|
1495
|
-
</button>`:_}
|
|
1496
|
-
</div>
|
|
1497
|
-
</div>
|
|
1498
|
-
</div>
|
|
1499
|
-
`}};ne.styles=[k.styles,Nr];be([w()],ne.prototype,"commandId",2);be([w()],ne.prototype,"status",2);be([w({type:Object})],ne.prototype,"parsed",2);be([w()],ne.prototype,"createdAt",2);be([w()],ne.prototype,"signedAt",2);be([w()],ne.prototype,"origin",2);be([w()],ne.prototype,"loading",2);be([w()],ne.prototype,"isDeleting",2);ne=be([B("wg-transaction-card")],ne);var hu=Object.defineProperty,vu=Object.getOwnPropertyDescriptor,te=(e,t,r,o)=>{for(var n=o>1?void 0:o?vu(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(n=(o?a(t,r,n):a(n))||n);return o&&n&&hu(t,r,n),n};class wu extends Event{constructor(t){super("transaction-approve",{bubbles:!0,composed:!0}),this.commandId=t}}class xu extends Event{constructor(t){super("transaction-delete",{bubbles:!0,composed:!0}),this.commandId=t}}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(e){navigator.clipboard.writeText(e)}render(){return f`
|
|
1500
|
-
<div class="card mt-4 overflow-hidden">
|
|
1501
|
-
<div class="card-body text-break">
|
|
1502
|
-
<h1 class="card-title h5">Pending Transaction Request</h1>
|
|
1503
|
-
|
|
1504
|
-
<h2 class="h6 mt-3">Transaction Details</h2>
|
|
1505
|
-
|
|
1506
|
-
<h3 class="h6 mt-3">Command Id</h3>
|
|
1507
|
-
<p>${this.commandId}</p>
|
|
1508
|
-
|
|
1509
|
-
<h3 class="h6 mt-3">Status</h3>
|
|
1510
|
-
<p>${this.status}</p>
|
|
1511
|
-
|
|
1512
|
-
${this.createdAt?f`<h3 class="h6 mt-3">Created At</h3>
|
|
1513
|
-
<p>${this.createdAt}</p>`:_}
|
|
1514
|
-
${this.signedAt?f`<h3 class="h6 mt-3">Signed At</h3>
|
|
1515
|
-
<p>${this.signedAt}</p>`:_}
|
|
1516
|
-
${this.origin?f`<h3 class="h6 mt-3">Origin</h3>
|
|
1517
|
-
<p>${this.origin}</p>`:_}
|
|
1518
|
-
|
|
1519
|
-
<h3 class="h6 mt-3">Template</h3>
|
|
1520
|
-
<p>${this.parsed?.templateId}</p>
|
|
1521
|
-
|
|
1522
|
-
<h3 class="h6 mt-3">Signatories</h3>
|
|
1523
|
-
<ul>
|
|
1524
|
-
${this.parsed?.signatories?.map(e=>f`<li>${e}</li>`)||f`<li>N/A</li>`}
|
|
1525
|
-
</ul>
|
|
1526
|
-
|
|
1527
|
-
<h3 class="h6 mt-3">Stakeholders</h3>
|
|
1528
|
-
<ul>
|
|
1529
|
-
${this.parsed?.stakeholders?.map(e=>f`<li>${e}</li>`)||f`<li>N/A</li>`}
|
|
1530
|
-
</ul>
|
|
1531
|
-
|
|
1532
|
-
<h3 class="h6 mt-3">Transaction Hash</h3>
|
|
1533
|
-
<p>${this.txHash}</p>
|
|
1534
|
-
|
|
1535
|
-
<div
|
|
1536
|
-
class="d-flex justify-content-between align-items-center gap-2 mt-3"
|
|
1537
|
-
>
|
|
1538
|
-
<h3 class="h6 mb-0">Base64 Transaction</h3>
|
|
1539
|
-
<button
|
|
1540
|
-
class="btn btn-sm btn-outline-secondary"
|
|
1541
|
-
@click=${()=>this._copyToClipboard(this.tx)}
|
|
1542
|
-
title="Copy to clipboard"
|
|
1543
|
-
>
|
|
1544
|
-
Copy
|
|
1545
|
-
</button>
|
|
1546
|
-
</div>
|
|
1547
|
-
<div class="tx-box">${this.tx}</div>
|
|
1548
|
-
|
|
1549
|
-
<div
|
|
1550
|
-
class="d-flex justify-content-between align-items-center gap-2 mt-3"
|
|
1551
|
-
>
|
|
1552
|
-
<h3 class="h6 mb-0">Decoded Transaction</h3>
|
|
1553
|
-
<button
|
|
1554
|
-
class="btn btn-sm btn-outline-secondary"
|
|
1555
|
-
@click=${()=>this._copyToClipboard(this.parsed?.jsonString||"")}
|
|
1556
|
-
title="Copy to clipboard"
|
|
1557
|
-
>
|
|
1558
|
-
Copy
|
|
1559
|
-
</button>
|
|
1560
|
-
</div>
|
|
1561
|
-
<div class="tx-box">
|
|
1562
|
-
${this.parsed?.jsonString||"N/A"}
|
|
1563
|
-
</div>
|
|
1564
|
-
|
|
1565
|
-
${this.renderActionButtons()}
|
|
1566
|
-
</div>
|
|
1567
|
-
</div>
|
|
1568
|
-
`}renderActionButtons(){return this.status!=="pending"&&this.status!=="signed"?_:f`
|
|
1569
|
-
<div class="d-flex gap-2 mt-3">
|
|
1570
|
-
<button
|
|
1571
|
-
class="btn btn-primary w-50"
|
|
1572
|
-
?disabled=${this.areActionsDisabled}
|
|
1573
|
-
@click=${()=>this.dispatchEvent(new wu(this.commandId))}
|
|
1574
|
-
>
|
|
1575
|
-
${this.isApproving?f` <div
|
|
1576
|
-
class="spinner-border spinner-border-sm"
|
|
1577
|
-
></div>`:_}
|
|
1578
|
-
Approve
|
|
1579
|
-
</button>
|
|
1580
|
-
|
|
1581
|
-
${this.status==="pending"?f`
|
|
1582
|
-
<button
|
|
1583
|
-
class="btn btn-outline-danger w-50"
|
|
1584
|
-
?disabled=${this.areActionsDisabled}
|
|
1585
|
-
@click=${()=>this.dispatchEvent(new xu(this.commandId))}
|
|
1586
|
-
>
|
|
1587
|
-
${this.isDeleting?f` <div
|
|
1588
|
-
class="spinner-border spinner-border-sm"
|
|
1589
|
-
></div>`:_}
|
|
1590
|
-
Delete
|
|
1591
|
-
</button>
|
|
1592
|
-
`:_}
|
|
1593
|
-
</div>
|
|
1594
|
-
`}};V.styles=[k.styles,K`
|
|
1595
|
-
.tx-box {
|
|
1596
|
-
background: var(--bs-tertiary-bg, rgba(0, 0, 0, 0.05));
|
|
1597
|
-
border-radius: var(--bs-border-radius);
|
|
1598
|
-
padding: 0.5rem;
|
|
1599
|
-
max-height: 150px;
|
|
1600
|
-
overflow-y: auto;
|
|
1601
|
-
overflow-x: auto;
|
|
1602
|
-
font-family: var(--bs-font-monospace);
|
|
1603
|
-
word-break: break-word;
|
|
1604
|
-
}
|
|
1605
|
-
`];te([w()],V.prototype,"commandId",2);te([w()],V.prototype,"status",2);te([w()],V.prototype,"txHash",2);te([w()],V.prototype,"tx",2);te([w({type:Object})],V.prototype,"parsed",2);te([w()],V.prototype,"createdAt",2);te([w()],V.prototype,"signedAt",2);te([w()],V.prototype,"origin",2);te([w({type:Boolean})],V.prototype,"isApproving",2);te([w({type:Boolean})],V.prototype,"isDeleting",2);te([w({type:Boolean})],V.prototype,"disabled",2);V=te([B("wg-transaction-detail")],V);let ae;class $r{static getInstance(){if(!ae||ae.closed){console.log("[PopupInstance] Creating new global popup instance");const t=window.open("","wallet-popup","width=400,height=500,screenX=200,screenY=200");if(!t)throw new Error("Failed to open popup window");ae=t}return ae}constructor(){const t=()=>{ae&&(console.log("[PopupInstance] Closing popup instance on unload"),ae.close(),ae=void 0)};window.addEventListener("beforeunload",t),window.addEventListener("unload",t)}open(t,r){if(typeof t=="string"||t instanceof URL){const o=$r.getInstance();return o.location.href=t.toString(),o.focus(),o}else{const o=this.getComponentUrl(t,r),n=$r.getInstance();return n.location.href=o,n.focus(),n}}close(){console.log("[PopupInstance] Closing popup instance"),ae&&ae.close()}getComponentUrl(t,r){const{title:o="Custom Popup"}=r||{},n=t.styles.replaceAll(`
|
|
1606
|
-
`," ").replaceAll("'","\\'").replaceAll('"','\\"'),i=t.toString().replace("SUBSTITUTABLE_CSS","''"),a=`<!DOCTYPE html>
|
|
1607
|
-
<html>
|
|
1608
|
-
<head>
|
|
1609
|
-
<title>${o}</title>
|
|
1610
|
-
<style>
|
|
1611
|
-
html, body {
|
|
1612
|
-
margin: 0;
|
|
1613
|
-
padding: 0;
|
|
1614
|
-
width: 100%;
|
|
1615
|
-
height: 100%;
|
|
1616
|
-
}
|
|
1617
|
-
|
|
1618
|
-
body {
|
|
1619
|
-
display: flex;
|
|
1620
|
-
}
|
|
1621
|
-
</style>
|
|
1622
|
-
</head>
|
|
1623
|
-
<body>
|
|
1624
|
-
</body>
|
|
1625
|
-
|
|
1626
|
-
<script>
|
|
1627
|
-
const Component = (${i});
|
|
1628
|
-
Component.styles = \`${n}\`;
|
|
1629
|
-
|
|
1630
|
-
customElements.define('popup-content', Component);
|
|
1631
|
-
|
|
1632
|
-
const content = document.createElement('popup-content');
|
|
1633
|
-
content.style.width = '100%';
|
|
1634
|
-
content.style.height = '100%';
|
|
1635
|
-
|
|
1636
|
-
document.body.appendChild(content)
|
|
1637
|
-
|
|
1638
|
-
URL.revokeObjectURL(window.location.href)
|
|
1639
|
-
<\/script>
|
|
1640
|
-
</html>`;return URL.createObjectURL(new Blob([a],{type:"text/html"}))}}new $r;const Uo=e=>(t,r)=>{r!==void 0?r.addInitializer(()=>{customElements.define(e,t)}):customElements.define(e,t)},L=[];for(let e=0;e<256;++e)L.push((e+256).toString(16).slice(1));function yu(e,t=0){return(L[e[t+0]]+L[e[t+1]]+L[e[t+2]]+L[e[t+3]]+"-"+L[e[t+4]]+L[e[t+5]]+"-"+L[e[t+6]]+L[e[t+7]]+"-"+L[e[t+8]]+L[e[t+9]]+"-"+L[e[t+10]]+L[e[t+11]]+L[e[t+12]]+L[e[t+13]]+L[e[t+14]]+L[e[t+15]]).toLowerCase()}let Kr;const ku=new Uint8Array(16);function _u(){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(ku)}const zu=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Fn={randomUUID:zu};function Au(e,t,r){if(Fn.randomUUID&&!e)return Fn.randomUUID();e=e||{};const o=e.random??e.rng?.()??_u();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,yu(o)}function m(e,t,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(e))return;s._zod.traits.add(e),t(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:e});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(e)}),Object.defineProperty(a,"name",{value:e}),a}class We extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class Aa extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}}const Sa={};function we(e){return Sa}function $a(e){const t=Object.values(e).filter(o=>typeof o=="number");return Object.entries(e).filter(([o,n])=>t.indexOf(+o)===-1).map(([o,n])=>n)}function co(e,t){return typeof t=="bigint"?t.toString():t}function Gr(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function Mo(e){return e==null}function Bo(e){const t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function Su(e,t){const r=(e.toString().split(".")[1]||"").length,o=t.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(e.toFixed(i).replace(".","")),s=Number.parseInt(t.toFixed(i).replace(".",""));return a%s/10**i}const Gn=Symbol("evaluating");function A(e,t,r){let o;Object.defineProperty(e,t,{get(){if(o!==Gn)return o===void 0&&(o=Gn,o=r()),o},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function De(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function _e(...e){const t={};for(const r of e){const o=Object.getOwnPropertyDescriptors(r);Object.assign(t,o)}return Object.defineProperties({},t)}function Jn(e){return JSON.stringify(e)}function $u(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const Ea="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function Et(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const Eu=Gr(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function at(e){if(Et(e)===!1)return!1;const t=e.constructor;if(t===void 0||typeof t!="function")return!0;const r=t.prototype;return!(Et(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function Oa(e){return at(e)?{...e}:Array.isArray(e)?[...e]:e}const Ou=new Set(["string","number","symbol"]);function st(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ze(e,t,r){const o=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(o._zod.parent=e),o}function h(e){const t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function Iu(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}const ju={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 Pu(e,t){const r=e._zod.def,o=r.checks;if(o&&o.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const i=_e(e._zod.def,{get shape(){const a={};for(const s in t){if(!(s in r.shape))throw new Error(`Unrecognized key: "${s}"`);t[s]&&(a[s]=r.shape[s])}return De(this,"shape",a),a},checks:[]});return ze(e,i)}function Tu(e,t){const r=e._zod.def,o=r.checks;if(o&&o.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const i=_e(e._zod.def,{get shape(){const a={...e._zod.def.shape};for(const s in t){if(!(s in r.shape))throw new Error(`Unrecognized key: "${s}"`);t[s]&&delete a[s]}return De(this,"shape",a),a},checks:[]});return ze(e,i)}function Cu(e,t){if(!at(t))throw new Error("Invalid input to extend: expected a plain object");const r=e._zod.def.checks;if(r&&r.length>0){const i=e._zod.def.shape;for(const a in t)if(Object.getOwnPropertyDescriptor(i,a)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const n=_e(e._zod.def,{get shape(){const i={...e._zod.def.shape,...t};return De(this,"shape",i),i}});return ze(e,n)}function Zu(e,t){if(!at(t))throw new Error("Invalid input to safeExtend: expected a plain object");const r=_e(e._zod.def,{get shape(){const o={...e._zod.def.shape,...t};return De(this,"shape",o),o}});return ze(e,r)}function Nu(e,t){const r=_e(e._zod.def,{get shape(){const o={...e._zod.def.shape,...t._zod.def.shape};return De(this,"shape",o),o},get catchall(){return t._zod.def.catchall},checks:[]});return ze(e,r)}function Ru(e,t,r){const n=t._zod.def.checks;if(n&&n.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");const a=_e(t._zod.def,{get shape(){const s=t._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]=e?new e({type:"optional",innerType:s[d]}):s[d])}else for(const d in s)l[d]=e?new e({type:"optional",innerType:s[d]}):s[d];return De(this,"shape",l),l},checks:[]});return ze(t,a)}function Du(e,t,r){const o=_e(t._zod.def,{get shape(){const n=t._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 e({type:"nonoptional",innerType:n[a]}))}else for(const a in n)i[a]=new e({type:"nonoptional",innerType:n[a]});return De(this,"shape",i),i}});return ze(t,o)}function Ye(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function He(e,t){return t.map(r=>{var o;return(o=r).path??(o.path=[]),r.path.unshift(e),r})}function Gt(e){return typeof e=="string"?e:e?.message}function xe(e,t,r){const o={...e,path:e.path??[]};if(!e.message){const n=Gt(e.inst?._zod.def?.error?.(e))??Gt(t?.error?.(e))??Gt(r.customError?.(e))??Gt(r.localeError?.(e))??"Invalid input";o.message=n}return delete o.inst,delete o.continue,t?.reportInput||delete o.input,o}function Lo(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function Ot(...e){const[t,r,o]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:o}:{...t}}const Ia=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,co,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},ja=m("$ZodError",Ia),Pa=m("$ZodError",Ia,{Parent:Error});function Uu(e,t=r=>r.message){const r={},o=[];for(const n of e.issues)n.path.length>0?(r[n.path[0]]=r[n.path[0]]||[],r[n.path[0]].push(t(n))):o.push(t(n));return{formErrors:o,fieldErrors:r}}function Mu(e,t=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(t(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(t(i))):a[l]=a[l]||{_errors:[]},a=a[l],s++}}};return o(e),r}const Fo=e=>(t,r,o,n)=>{const i=o?Object.assign(o,{async:!1}):{async:!1},a=t._zod.run({value:r,issues:[]},i);if(a instanceof Promise)throw new We;if(a.issues.length){const s=new(n?.Err??e)(a.issues.map(l=>xe(l,i,we())));throw Ea(s,n?.callee),s}return a.value},Go=e=>async(t,r,o,n)=>{const i=o?Object.assign(o,{async:!0}):{async:!0};let a=t._zod.run({value:r,issues:[]},i);if(a instanceof Promise&&(a=await a),a.issues.length){const s=new(n?.Err??e)(a.issues.map(l=>xe(l,i,we())));throw Ea(s,n?.callee),s}return a.value},Jr=e=>(t,r,o)=>{const n=o?{...o,async:!1}:{async:!1},i=t._zod.run({value:r,issues:[]},n);if(i instanceof Promise)throw new We;return i.issues.length?{success:!1,error:new(e??ja)(i.issues.map(a=>xe(a,n,we())))}:{success:!0,data:i.value}},Bu=Jr(Pa),Yr=e=>async(t,r,o)=>{const n=o?Object.assign(o,{async:!0}):{async:!0};let i=t._zod.run({value:r,issues:[]},n);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new e(i.issues.map(a=>xe(a,n,we())))}:{success:!0,data:i.value}},Lu=Yr(Pa),Fu=e=>(t,r,o)=>{const n=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return Fo(e)(t,r,n)},Gu=e=>(t,r,o)=>Fo(e)(t,r,o),Ju=e=>async(t,r,o)=>{const n=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return Go(e)(t,r,n)},Yu=e=>async(t,r,o)=>Go(e)(t,r,o),Hu=e=>(t,r,o)=>{const n=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return Jr(e)(t,r,n)},Vu=e=>(t,r,o)=>Jr(e)(t,r,o),Wu=e=>async(t,r,o)=>{const n=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return Yr(e)(t,r,n)},qu=e=>async(t,r,o)=>Yr(e)(t,r,o),Xu=/^[cC][^\s-]{8,}$/,Ku=/^[0-9a-z]+$/,Qu=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,eg=/^[0-9a-vA-V]{20}$/,tg=/^[A-Za-z0-9]{27}$/,rg=/^[a-zA-Z0-9_-]{21}$/,og=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,ng=/^([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=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[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)$/,ig=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,ag="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function sg(){return new RegExp(ag,"u")}const 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])$/,dg=/^(([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}|:))$/,cg=/^((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])$/,pg=/^(([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])$/,mg=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Ta=/^[A-Za-z0-9_-]*$/,bg=/^\+[1-9]\d{6,14}$/,Ca="(?:(?:\\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])))",ug=new RegExp(`^${Ca}$`);function Za(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function gg(e){return new RegExp(`^${Za(e)}$`)}function fg(e){const t=Za({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const o=`${t}(?:${r.join("|")})`;return new RegExp(`^${Ca}T(?:${o})$`)}const hg=e=>{const t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},vg=/^-?\d+$/,Na=/^-?\d+(?:\.\d+)?$/,wg=/^(?:true|false)$/i,xg=/^null$/i,yg=/^undefined$/i,kg=/^[^A-Z]*$/,_g=/^[^a-z]*$/,q=m("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),Ra={number:"number",bigint:"bigint",object:"date"},Da=m("$ZodCheckLessThan",(e,t)=>{q.init(e,t);const r=Ra[typeof t.value];e._zod.onattach.push(o=>{const n=o._zod.bag,i=(t.inclusive?n.maximum:n.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<i&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=o=>{(t.inclusive?o.value<=t.value:o.value<t.value)||o.issues.push({origin:r,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:o.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Ua=m("$ZodCheckGreaterThan",(e,t)=>{q.init(e,t);const r=Ra[typeof t.value];e._zod.onattach.push(o=>{const n=o._zod.bag,i=(t.inclusive?n.minimum:n.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>i&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=o=>{(t.inclusive?o.value>=t.value:o.value>t.value)||o.issues.push({origin:r,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:o.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),zg=m("$ZodCheckMultipleOf",(e,t)=>{q.init(e,t),e._zod.onattach.push(r=>{var o;(o=r._zod.bag).multipleOf??(o.multipleOf=t.value)}),e._zod.check=r=>{if(typeof r.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%t.value===BigInt(0):Su(r.value,t.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),Ag=m("$ZodCheckNumberFormat",(e,t)=>{q.init(e,t),t.format=t.format||"float64";const r=t.format?.includes("int"),o=r?"int":"number",[n,i]=ju[t.format];e._zod.onattach.push(a=>{const s=a._zod.bag;s.format=t.format,s.minimum=n,s.maximum=i,r&&(s.pattern=vg)}),e._zod.check=a=>{const s=a.value;if(r){if(!Number.isInteger(s)){a.issues.push({expected:o,format:t.format,code:"invalid_type",continue:!1,input:s,inst:e});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:e,origin:o,inclusive:!0,continue:!t.abort}):a.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:o,inclusive:!0,continue:!t.abort});return}}s<n&&a.issues.push({origin:"number",input:s,code:"too_small",minimum:n,inclusive:!0,inst:e,continue:!t.abort}),s>i&&a.issues.push({origin:"number",input:s,code:"too_big",maximum:i,inclusive:!0,inst:e,continue:!t.abort})}}),Sg=m("$ZodCheckMaxLength",(e,t)=>{var r;q.init(e,t),(r=e._zod.def).when??(r.when=o=>{const n=o.value;return!Mo(n)&&n.length!==void 0}),e._zod.onattach.push(o=>{const n=o._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<n&&(o._zod.bag.maximum=t.maximum)}),e._zod.check=o=>{const n=o.value;if(n.length<=t.maximum)return;const a=Lo(n);o.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:n,inst:e,continue:!t.abort})}}),$g=m("$ZodCheckMinLength",(e,t)=>{var r;q.init(e,t),(r=e._zod.def).when??(r.when=o=>{const n=o.value;return!Mo(n)&&n.length!==void 0}),e._zod.onattach.push(o=>{const n=o._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>n&&(o._zod.bag.minimum=t.minimum)}),e._zod.check=o=>{const n=o.value;if(n.length>=t.minimum)return;const a=Lo(n);o.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:n,inst:e,continue:!t.abort})}}),Eg=m("$ZodCheckLengthEquals",(e,t)=>{var r;q.init(e,t),(r=e._zod.def).when??(r.when=o=>{const n=o.value;return!Mo(n)&&n.length!==void 0}),e._zod.onattach.push(o=>{const n=o._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=o=>{const n=o.value,i=n.length;if(i===t.length)return;const a=Lo(n),s=i>t.length;o.issues.push({origin:a,...s?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:o.value,inst:e,continue:!t.abort})}}),Hr=m("$ZodCheckStringFormat",(e,t)=>{var r,o;q.init(e,t),e._zod.onattach.push(n=>{const i=n._zod.bag;i.format=t.format,t.pattern&&(i.patterns??(i.patterns=new Set),i.patterns.add(t.pattern))}),t.pattern?(r=e._zod).check??(r.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:"string",code:"invalid_format",format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(o=e._zod).check??(o.check=()=>{})}),Og=m("$ZodCheckRegex",(e,t)=>{Hr.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Ig=m("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=kg),Hr.init(e,t)}),jg=m("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=_g),Hr.init(e,t)}),Pg=m("$ZodCheckIncludes",(e,t)=>{q.init(e,t);const r=st(t.includes),o=new RegExp(typeof t.position=="number"?`^.{${t.position}}${r}`:r);t.pattern=o,e._zod.onattach.push(n=>{const i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(o)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),Tg=m("$ZodCheckStartsWith",(e,t)=>{q.init(e,t);const r=new RegExp(`^${st(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.onattach.push(o=>{const n=o._zod.bag;n.patterns??(n.patterns=new Set),n.patterns.add(r)}),e._zod.check=o=>{o.value.startsWith(t.prefix)||o.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:o.value,inst:e,continue:!t.abort})}}),Cg=m("$ZodCheckEndsWith",(e,t)=>{q.init(e,t);const r=new RegExp(`.*${st(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.onattach.push(o=>{const n=o._zod.bag;n.patterns??(n.patterns=new Set),n.patterns.add(r)}),e._zod.check=o=>{o.value.endsWith(t.suffix)||o.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:o.value,inst:e,continue:!t.abort})}}),Zg=m("$ZodCheckOverwrite",(e,t)=>{q.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}});class Ng{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}const o=t.split(`
|
|
1641
|
-
`).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 t=Function,r=this?.args,n=[...(this?.content??[""]).map(i=>` ${i}`)];return new t(...r,n.join(`
|
|
1642
|
-
`))}}const Rg={major:4,minor:3,patch:6},E=m("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Rg;const o=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&o.unshift(e);for(const n of o)for(const i of n._zod.onattach)i(e);if(o.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const n=(a,s,l)=>{let d=Ye(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 We;if(c||g instanceof Promise)c=(c??Promise.resolve()).then(async()=>{await g,a.issues.length!==u&&(d||(d=Ye(a,u)))});else{if(a.issues.length===u)continue;d||(d=Ye(a,u))}}return c?c.then(()=>a):a},i=(a,s,l)=>{if(Ye(a))return a.aborted=!0,a;const d=n(s,o,l);if(d instanceof Promise){if(l.async===!1)throw new We;return d.then(c=>e._zod.parse(c,l))}return e._zod.parse(d,l)};e._zod.run=(a,s)=>{if(s.skipChecks)return e._zod.parse(a,s);if(s.direction==="backward"){const d=e._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=e._zod.parse(a,s);if(l instanceof Promise){if(s.async===!1)throw new We;return l.then(d=>n(d,o,s))}return n(l,o,s)}}A(e,"~standard",()=>({validate:n=>{try{const i=Bu(e,n);return i.success?{value:i.data}:{issues:i.error?.issues}}catch{return Lu(e,n).then(a=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}))}),Jo=m("$ZodString",(e,t)=>{E.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??hg(e._zod.bag),e._zod.parse=(r,o)=>{if(t.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:e}),r}}),C=m("$ZodStringFormat",(e,t)=>{Hr.init(e,t),Jo.init(e,t)}),Dg=m("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=ng),C.init(e,t)}),Ug=m("$ZodUUID",(e,t)=>{if(t.version){const o={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(o===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=Yn(o))}else t.pattern??(t.pattern=Yn());C.init(e,t)}),Mg=m("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=ig),C.init(e,t)}),Bg=m("$ZodURL",(e,t)=>{C.init(e,t),e._zod.check=r=>{try{const o=r.value.trim(),n=new URL(o);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(n.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:r.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(n.protocol.endsWith(":")?n.protocol.slice(0,-1):n.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:r.value,inst:e,continue:!t.abort})),t.normalize?r.value=n.href:r.value=o;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort})}}}),Lg=m("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=sg()),C.init(e,t)}),Fg=m("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=rg),C.init(e,t)}),Gg=m("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=Xu),C.init(e,t)}),Jg=m("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=Ku),C.init(e,t)}),Yg=m("$ZodULID",(e,t)=>{t.pattern??(t.pattern=Qu),C.init(e,t)}),Hg=m("$ZodXID",(e,t)=>{t.pattern??(t.pattern=eg),C.init(e,t)}),Vg=m("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=tg),C.init(e,t)}),Wg=m("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=fg(t)),C.init(e,t)}),qg=m("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=ug),C.init(e,t)}),Xg=m("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=gg(t)),C.init(e,t)}),Kg=m("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=og),C.init(e,t)}),Qg=m("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=lg),C.init(e,t),e._zod.bag.format="ipv4"}),ef=m("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=dg),C.init(e,t),e._zod.bag.format="ipv6",e._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!t.abort})}}}),tf=m("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=cg),C.init(e,t)}),rf=m("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=pg),C.init(e,t),e._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:e,continue:!t.abort})}}});function Ma(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const of=m("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=mg),C.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=r=>{Ma(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});function nf(e){if(!Ta.test(e))return!1;const t=e.replace(/[-_]/g,o=>o==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return Ma(r)}const af=m("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Ta),C.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=r=>{nf(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),sf=m("$ZodE164",(e,t)=>{t.pattern??(t.pattern=bg),C.init(e,t)});function lf(e,t=null){try{const r=e.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||t&&(!("alg"in n)||n.alg!==t))}catch{return!1}}const df=m("$ZodJWT",(e,t)=>{C.init(e,t),e._zod.check=r=>{lf(r.value,t.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}}),Ba=m("$ZodNumber",(e,t)=>{E.init(e,t),e._zod.pattern=e._zod.bag.pattern??Na,e._zod.parse=(r,o)=>{if(t.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:e,...i?{received:i}:{}}),r}}),cf=m("$ZodNumberFormat",(e,t)=>{Ag.init(e,t),Ba.init(e,t)}),pf=m("$ZodBoolean",(e,t)=>{E.init(e,t),e._zod.pattern=wg,e._zod.parse=(r,o)=>{if(t.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:e}),r}}),mf=m("$ZodUndefined",(e,t)=>{E.init(e,t),e._zod.pattern=yg,e._zod.values=new Set([void 0]),e._zod.optin="optional",e._zod.optout="optional",e._zod.parse=(r,o)=>{const n=r.value;return typeof n>"u"||r.issues.push({expected:"undefined",code:"invalid_type",input:n,inst:e}),r}}),bf=m("$ZodNull",(e,t)=>{E.init(e,t),e._zod.pattern=xg,e._zod.values=new Set([null]),e._zod.parse=(r,o)=>{const n=r.value;return n===null||r.issues.push({expected:"null",code:"invalid_type",input:n,inst:e}),r}}),uf=m("$ZodAny",(e,t)=>{E.init(e,t),e._zod.parse=r=>r}),gf=m("$ZodUnknown",(e,t)=>{E.init(e,t),e._zod.parse=r=>r}),ff=m("$ZodNever",(e,t)=>{E.init(e,t),e._zod.parse=(r,o)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});function Hn(e,t,r){e.issues.length&&t.issues.push(...He(r,e.issues)),t.value[r]=e.value}const hf=m("$ZodArray",(e,t)=>{E.init(e,t),e._zod.parse=(r,o)=>{const n=r.value;if(!Array.isArray(n))return r.issues.push({expected:"array",code:"invalid_type",input:n,inst:e}),r;r.value=Array(n.length);const i=[];for(let a=0;a<n.length;a++){const s=n[a],l=t.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 Er(e,t,r,o,n){if(e.issues.length){if(n&&!(r in o))return;t.issues.push(...He(r,e.issues))}e.value===void 0?r in o&&(t.value[r]=void 0):t.value[r]=e.value}function La(e){const t=Object.keys(e.shape);for(const o of t)if(!e.shape?.[o]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${o}": expected a Zod schema`);const r=Iu(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(r)}}function Fa(e,t,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 t){if(s.has(p))continue;if(d==="never"){a.push(p);continue}const u=l.run({value:t[p],issues:[]},o);u instanceof Promise?e.push(u.then(g=>Er(g,r,p,t,c))):Er(u,r,p,t,c)}return a.length&&r.issues.push({code:"unrecognized_keys",keys:a,input:t,inst:i}),e.length?Promise.all(e).then(()=>r):r}const vf=m("$ZodObject",(e,t)=>{if(E.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){const s=t.shape;Object.defineProperty(t,"shape",{get:()=>{const l={...s};return Object.defineProperty(t,"shape",{value:l}),l}})}const o=Gr(()=>La(t));A(e._zod,"propValues",()=>{const s=t.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=Et,i=t.catchall;let a;e._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:e}),s;s.value={};const c=[],p=a.shape;for(const u of a.keys){const g=p[u],y=g._zod.optout==="optional",R=g._zod.run({value:d[u],issues:[]},l);R instanceof Promise?c.push(R.then(Ue=>Er(Ue,s,u,d,y))):Er(R,s,u,d,y)}return i?Fa(c,d,s,l,o.value,e):c.length?Promise.all(c).then(()=>s):s}}),wf=m("$ZodObjectJIT",(e,t)=>{vf.init(e,t);const r=e._zod.parse,o=Gr(()=>La(t)),n=u=>{const g=new Ng(["shape","payload","ctx"]),y=o.value,R=I=>{const $=Jn(I);return`shape[${$}]._zod.run({ value: input[${$}], issues: [] }, ctx)`};g.write("const input = payload.value;");const Ue=Object.create(null);let Vr=0;for(const I of y.keys)Ue[I]=`key_${Vr++}`;g.write("const newResult = {};");for(const I of y.keys){const $=Ue[I],X=Jn(I),ks=u[I]?._zod?.optout==="optional";g.write(`const ${$} = ${R(I)};`),ks?g.write(`
|
|
1643
|
-
if (${$}.issues.length) {
|
|
1644
|
-
if (${X} in input) {
|
|
1645
|
-
payload.issues = payload.issues.concat(${$}.issues.map(iss => ({
|
|
1646
|
-
...iss,
|
|
1647
|
-
path: iss.path ? [${X}, ...iss.path] : [${X}]
|
|
1648
|
-
})));
|
|
1649
|
-
}
|
|
1650
|
-
}
|
|
1651
|
-
|
|
1652
|
-
if (${$}.value === undefined) {
|
|
1653
|
-
if (${X} in input) {
|
|
1654
|
-
newResult[${X}] = undefined;
|
|
1655
|
-
}
|
|
1656
|
-
} else {
|
|
1657
|
-
newResult[${X}] = ${$}.value;
|
|
1658
|
-
}
|
|
1659
|
-
|
|
1660
|
-
`):g.write(`
|
|
1661
|
-
if (${$}.issues.length) {
|
|
1662
|
-
payload.issues = payload.issues.concat(${$}.issues.map(iss => ({
|
|
1663
|
-
...iss,
|
|
1664
|
-
path: iss.path ? [${X}, ...iss.path] : [${X}]
|
|
1665
|
-
})));
|
|
1666
|
-
}
|
|
1667
|
-
|
|
1668
|
-
if (${$}.value === undefined) {
|
|
1669
|
-
if (${X} in input) {
|
|
1670
|
-
newResult[${X}] = undefined;
|
|
1671
|
-
}
|
|
1672
|
-
} else {
|
|
1673
|
-
newResult[${X}] = ${$}.value;
|
|
1674
|
-
}
|
|
1675
|
-
|
|
1676
|
-
`)}g.write("payload.value = newResult;"),g.write("return payload;");const Q=g.compile();return(I,$)=>Q(u,I,$)};let i;const a=Et,s=!Sa.jitless,d=s&&Eu.value,c=t.catchall;let p;e._zod.parse=(u,g)=>{p??(p=o.value);const y=u.value;return a(y)?s&&d&&g?.async===!1&&g.jitless!==!0?(i||(i=n(t.shape)),u=i(u,g),c?Fa([],y,u,g,p,e):u):r(u,g):(u.issues.push({expected:"object",code:"invalid_type",input:y,inst:e}),u)}});function Vn(e,t,r,o){for(const i of e)if(i.issues.length===0)return t.value=i.value,t;const n=e.filter(i=>!Ye(i));return n.length===1?(t.value=n[0].value,n[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map(i=>i.issues.map(a=>xe(a,o,we())))}),t)}const Ga=m("$ZodUnion",(e,t)=>{E.init(e,t),A(e._zod,"optin",()=>t.options.some(n=>n._zod.optin==="optional")?"optional":void 0),A(e._zod,"optout",()=>t.options.some(n=>n._zod.optout==="optional")?"optional":void 0),A(e._zod,"values",()=>{if(t.options.every(n=>n._zod.values))return new Set(t.options.flatMap(n=>Array.from(n._zod.values)))}),A(e._zod,"pattern",()=>{if(t.options.every(n=>n._zod.pattern)){const n=t.options.map(i=>i._zod.pattern);return new RegExp(`^(${n.map(i=>Bo(i.source)).join("|")})$`)}});const r=t.options.length===1,o=t.options[0]._zod.run;e._zod.parse=(n,i)=>{if(r)return o(n,i);let a=!1;const s=[];for(const l of t.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,e,i)):Vn(s,n,e,i)}}),xf=m("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,Ga.init(e,t);const r=e._zod.parse;A(e._zod,"propValues",()=>{const n={};for(const i of t.options){const a=i._zod.propValues;if(!a||Object.keys(a).length===0)throw new Error(`Invalid discriminated union option at index "${t.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=t.options,i=new Map;for(const a of n){const s=a._zod.propValues?.[t.discriminator];if(!s||s.size===0)throw new Error(`Invalid discriminated union option at index "${t.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});e._zod.parse=(n,i)=>{const a=n.value;if(!Et(a))return n.issues.push({code:"invalid_type",expected:"object",input:a,inst:e}),n;const s=o.value.get(a?.[t.discriminator]);return s?s._zod.run(n,i):t.unionFallback?r(n,i):(n.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,input:a,path:[t.discriminator],inst:e}),n)}}),yf=m("$ZodIntersection",(e,t)=>{E.init(e,t),e._zod.parse=(r,o)=>{const n=r.value,i=t.left._zod.run({value:n,issues:[]},o),a=t.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(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(at(e)&&at(t)){const r=Object.keys(t),o=Object.keys(e).filter(i=>r.indexOf(i)!==-1),n={...e,...t};for(const i of o){const a=po(e[i],t[i]);if(!a.valid)return{valid:!1,mergeErrorPath:[i,...a.mergeErrorPath]};n[i]=a.data}return{valid:!0,data:n}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const r=[];for(let o=0;o<e.length;o++){const n=e[o],i=t[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(e,t,r){const o=new Map;let n;for(const s of t.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 e.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 e.issues.push(s);const i=[...o].filter(([,s])=>s.l&&s.r).map(([s])=>s);if(i.length&&n&&e.issues.push({...n,keys:i}),Ye(e))return e;const a=po(t.value,r.value);if(!a.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(a.mergeErrorPath)}`);return e.value=a.data,e}const kf=m("$ZodRecord",(e,t)=>{E.init(e,t),e._zod.parse=(r,o)=>{const n=r.value;if(!at(n))return r.issues.push({expected:"record",code:"invalid_type",input:n,inst:e}),r;const i=[],a=t.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=t.valueType._zod.run({value:n[d],issues:[]},o);c instanceof Promise?i.push(c.then(p=>{p.issues.length&&r.issues.push(...He(d,p.issues)),r.value[d]=p.value})):(c.issues.length&&r.issues.push(...He(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:e,keys:l})}else{r.value={};for(const s of Reflect.ownKeys(n)){if(s==="__proto__")continue;let l=t.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=t.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){t.mode==="loose"?r.value[s]=n[s]:r.issues.push({code:"invalid_key",origin:"record",issues:l.issues.map(p=>xe(p,o,we())),input:s,path:[s],inst:e});continue}const c=t.valueType._zod.run({value:n[s],issues:[]},o);c instanceof Promise?i.push(c.then(p=>{p.issues.length&&r.issues.push(...He(s,p.issues)),r.value[l.value]=p.value})):(c.issues.length&&r.issues.push(...He(s,c.issues)),r.value[l.value]=c.value)}}return i.length?Promise.all(i).then(()=>r):r}}),_f=m("$ZodEnum",(e,t)=>{E.init(e,t);const r=$a(t.entries),o=new Set(r);e._zod.values=o,e._zod.pattern=new RegExp(`^(${r.filter(n=>Ou.has(typeof n)).map(n=>typeof n=="string"?st(n):n.toString()).join("|")})$`),e._zod.parse=(n,i)=>{const a=n.value;return o.has(a)||n.issues.push({code:"invalid_value",values:r,input:a,inst:e}),n}}),zf=m("$ZodLiteral",(e,t)=>{if(E.init(e,t),t.values.length===0)throw new Error("Cannot create literal schema with no valid values");const r=new Set(t.values);e._zod.values=r,e._zod.pattern=new RegExp(`^(${t.values.map(o=>typeof o=="string"?st(o):o?st(o.toString()):String(o)).join("|")})$`),e._zod.parse=(o,n)=>{const i=o.value;return r.has(i)||o.issues.push({code:"invalid_value",values:t.values,input:i,inst:e}),o}}),Af=m("$ZodTransform",(e,t)=>{E.init(e,t),e._zod.parse=(r,o)=>{if(o.direction==="backward")throw new Aa(e.constructor.name);const n=t.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 We;return r.value=n,r}});function qn(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}const Ja=m("$ZodOptional",(e,t)=>{E.init(e,t),e._zod.optin="optional",e._zod.optout="optional",A(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),A(e._zod,"pattern",()=>{const r=t.innerType._zod.pattern;return r?new RegExp(`^(${Bo(r.source)})?$`):void 0}),e._zod.parse=(r,o)=>{if(t.innerType._zod.optin==="optional"){const n=t.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:t.innerType._zod.run(r,o)}}),Sf=m("$ZodExactOptional",(e,t)=>{Ja.init(e,t),A(e._zod,"values",()=>t.innerType._zod.values),A(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(r,o)=>t.innerType._zod.run(r,o)}),$f=m("$ZodNullable",(e,t)=>{E.init(e,t),A(e._zod,"optin",()=>t.innerType._zod.optin),A(e._zod,"optout",()=>t.innerType._zod.optout),A(e._zod,"pattern",()=>{const r=t.innerType._zod.pattern;return r?new RegExp(`^(${Bo(r.source)}|null)$`):void 0}),A(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(r,o)=>r.value===null?r:t.innerType._zod.run(r,o)}),Ef=m("$ZodDefault",(e,t)=>{E.init(e,t),e._zod.optin="optional",A(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,o)=>{if(o.direction==="backward")return t.innerType._zod.run(r,o);if(r.value===void 0)return r.value=t.defaultValue,r;const n=t.innerType._zod.run(r,o);return n instanceof Promise?n.then(i=>Xn(i,t)):Xn(n,t)}});function Xn(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const Of=m("$ZodPrefault",(e,t)=>{E.init(e,t),e._zod.optin="optional",A(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,o)=>(o.direction==="backward"||r.value===void 0&&(r.value=t.defaultValue),t.innerType._zod.run(r,o))}),If=m("$ZodNonOptional",(e,t)=>{E.init(e,t),A(e._zod,"values",()=>{const r=t.innerType._zod.values;return r?new Set([...r].filter(o=>o!==void 0)):void 0}),e._zod.parse=(r,o)=>{const n=t.innerType._zod.run(r,o);return n instanceof Promise?n.then(i=>Kn(i,e)):Kn(n,e)}});function Kn(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}const jf=m("$ZodCatch",(e,t)=>{E.init(e,t),A(e._zod,"optin",()=>t.innerType._zod.optin),A(e._zod,"optout",()=>t.innerType._zod.optout),A(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,o)=>{if(o.direction==="backward")return t.innerType._zod.run(r,o);const n=t.innerType._zod.run(r,o);return n instanceof Promise?n.then(i=>(r.value=i.value,i.issues.length&&(r.value=t.catchValue({...r,error:{issues:i.issues.map(a=>xe(a,o,we()))},input:r.value}),r.issues=[]),r)):(r.value=n.value,n.issues.length&&(r.value=t.catchValue({...r,error:{issues:n.issues.map(i=>xe(i,o,we()))},input:r.value}),r.issues=[]),r)}}),Pf=m("$ZodPipe",(e,t)=>{E.init(e,t),A(e._zod,"values",()=>t.in._zod.values),A(e._zod,"optin",()=>t.in._zod.optin),A(e._zod,"optout",()=>t.out._zod.optout),A(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(r,o)=>{if(o.direction==="backward"){const i=t.out._zod.run(r,o);return i instanceof Promise?i.then(a=>Jt(a,t.in,o)):Jt(i,t.in,o)}const n=t.in._zod.run(r,o);return n instanceof Promise?n.then(i=>Jt(i,t.out,o)):Jt(n,t.out,o)}});function Jt(e,t,r){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},r)}const Tf=m("$ZodReadonly",(e,t)=>{E.init(e,t),A(e._zod,"propValues",()=>t.innerType._zod.propValues),A(e._zod,"values",()=>t.innerType._zod.values),A(e._zod,"optin",()=>t.innerType?._zod?.optin),A(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(r,o)=>{if(o.direction==="backward")return t.innerType._zod.run(r,o);const n=t.innerType._zod.run(r,o);return n instanceof Promise?n.then(Qn):Qn(n)}});function Qn(e){return e.value=Object.freeze(e.value),e}const Cf=m("$ZodCustom",(e,t)=>{q.init(e,t),E.init(e,t),e._zod.parse=(r,o)=>r,e._zod.check=r=>{const o=r.value,n=t.fn(o);if(n instanceof Promise)return n.then(i=>ei(i,r,o,e));ei(n,r,o,e)}});function ei(e,t,r,o){if(!e){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),t.issues.push(Ot(n))}}var ti;class Zf{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...r){const o=r[0];return this._map.set(t,o),o&&typeof o=="object"&&"id"in o&&this._idmap.set(o.id,t),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){const r=this._map.get(t);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(t),this}get(t){const r=t._zod.parent;if(r){const o={...this.get(r)??{}};delete o.id;const n={...o,...this._map.get(t)};return Object.keys(n).length?n:void 0}return this._map.get(t)}has(t){return this._map.has(t)}}function Nf(){return new Zf}(ti=globalThis).__zod_globalRegistry??(ti.__zod_globalRegistry=Nf());const ft=globalThis.__zod_globalRegistry;function Rf(e,t){return new e({type:"string",...h(t)})}function Df(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...h(t)})}function ri(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...h(t)})}function Uf(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...h(t)})}function Mf(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...h(t)})}function Bf(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...h(t)})}function Lf(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...h(t)})}function Ff(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...h(t)})}function Gf(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...h(t)})}function Jf(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...h(t)})}function Yf(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...h(t)})}function Hf(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...h(t)})}function Vf(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...h(t)})}function Wf(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...h(t)})}function qf(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...h(t)})}function Xf(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...h(t)})}function Kf(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...h(t)})}function Qf(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...h(t)})}function eh(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...h(t)})}function th(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...h(t)})}function rh(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...h(t)})}function oh(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...h(t)})}function nh(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...h(t)})}function ih(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...h(t)})}function ah(e,t){return new e({type:"string",format:"date",check:"string_format",...h(t)})}function sh(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...h(t)})}function lh(e,t){return new e({type:"string",format:"duration",check:"string_format",...h(t)})}function dh(e,t){return new e({type:"number",checks:[],...h(t)})}function ch(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...h(t)})}function ph(e,t){return new e({type:"boolean",...h(t)})}function mh(e,t){return new e({type:"undefined",...h(t)})}function bh(e,t){return new e({type:"null",...h(t)})}function uh(e){return new e({type:"any"})}function gh(e){return new e({type:"unknown"})}function fh(e,t){return new e({type:"never",...h(t)})}function oi(e,t){return new Da({check:"less_than",...h(t),value:e,inclusive:!1})}function Qr(e,t){return new Da({check:"less_than",...h(t),value:e,inclusive:!0})}function ni(e,t){return new Ua({check:"greater_than",...h(t),value:e,inclusive:!1})}function eo(e,t){return new Ua({check:"greater_than",...h(t),value:e,inclusive:!0})}function ii(e,t){return new zg({check:"multiple_of",...h(t),value:e})}function Ya(e,t){return new Sg({check:"max_length",...h(t),maximum:e})}function Or(e,t){return new $g({check:"min_length",...h(t),minimum:e})}function Ha(e,t){return new Eg({check:"length_equals",...h(t),length:e})}function hh(e,t){return new Og({check:"string_format",format:"regex",...h(t),pattern:e})}function vh(e){return new Ig({check:"string_format",format:"lowercase",...h(e)})}function wh(e){return new jg({check:"string_format",format:"uppercase",...h(e)})}function xh(e,t){return new Pg({check:"string_format",format:"includes",...h(t),includes:e})}function yh(e,t){return new Tg({check:"string_format",format:"starts_with",...h(t),prefix:e})}function kh(e,t){return new Cg({check:"string_format",format:"ends_with",...h(t),suffix:e})}function mt(e){return new Zg({check:"overwrite",tx:e})}function _h(e){return mt(t=>t.normalize(e))}function zh(){return mt(e=>e.trim())}function Ah(){return mt(e=>e.toLowerCase())}function Sh(){return mt(e=>e.toUpperCase())}function $h(){return mt(e=>$u(e))}function Eh(e,t,r){return new e({type:"array",element:t,...h(r)})}function Oh(e,t,r){return new e({type:"custom",check:"custom",fn:t,...h(r)})}function Ih(e){const t=jh(r=>(r.addIssue=o=>{if(typeof o=="string")r.issues.push(Ot(o,r.value,t._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=t),n.continue??(n.continue=!t._zod.def.abort),r.issues.push(Ot(n))}},e(r.value,r)));return t}function jh(e,t){const r=new q({check:"custom",...h(t)});return r._zod.check=e,r}function Va(e){let t=e?.target??"draft-2020-12";return t==="draft-4"&&(t="draft-04"),t==="draft-7"&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??ft,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function U(e,t,r={path:[],schemaPath:[]}){var o;const n=e._zod.def,i=t.seen.get(e);if(i)return i.count++,r.schemaPath.includes(e)&&(i.cycle=r.path),i.schema;const a={schema:{},count:1,cycle:void 0,path:r.path};t.seen.set(e,a);const s=e._zod.toJSONSchema?.();if(s)a.schema=s;else{const c={...r,schemaPath:[...r.schemaPath,e],path:r.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,a.schema,c);else{const u=a.schema,g=t.processors[n.type];if(!g)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${n.type}`);g(e,t,u,c)}const p=e._zod.parent;p&&(a.ref||(a.ref=p),U(p,t,c),t.seen.get(p).isParent=!0)}const l=t.metadataRegistry.get(e);return l&&Object.assign(a.schema,l),t.io==="input"&&Y(e)&&(delete a.schema.examples,delete a.schema.default),t.io==="input"&&a.schema._prefault&&((o=a.schema).default??(o.default=a.schema._prefault)),delete a.schema._prefault,t.seen.get(e).schema}function Wa(e,t){const r=e.seen.get(t);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const o=new Map;for(const a of e.seen.entries()){const s=e.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=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const p=e.external.registry.get(a[0])?.id,u=e.external.uri??(y=>y);if(p)return{ref:u(p)};const g=a[1].defId??a[1].schema.id??`schema${e.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${e.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(e.cycles==="throw")for(const a of e.seen.entries()){const s=a[1];if(s.cycle)throw new Error(`Cycle detected: #/${s.cycle?.join("/")}/<root>
|
|
1677
|
-
|
|
1678
|
-
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const a of e.seen.entries()){const s=a[1];if(t===a[0]){i(a);continue}if(e.external){const d=e.external.registry.get(a[0])?.id;if(t!==a[0]&&d){i(a);continue}}if(e.metadataRegistry.get(a[0])?.id){i(a);continue}if(s.cycle){i(a);continue}if(s.count>1&&e.reused==="ref"){i(a);continue}}}function qa(e,t){const r=e.seen.get(t);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const o=a=>{const s=e.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=e.seen.get(c),g=u.schema;if(g.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.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=e.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]}e.override({zodSchema:a,jsonSchema:l,path:s.path??[]})};for(const a of[...e.seen.entries()].reverse())o(a[0]);const n={};if(e.target==="draft-2020-12"?n.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?n.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?n.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const a=e.external.registry.get(t)?.id;if(!a)throw new Error("Schema is missing an `id` property");n.$id=e.external.uri(a)}Object.assign(n,r.def??r.schema);const i=e.external?.defs??{};for(const a of e.seen.entries()){const s=a[1];s.def&&s.defId&&(i[s.defId]=s.def)}e.external||Object.keys(i).length>0&&(e.target==="draft-2020-12"?n.$defs=i:n.definitions=i);try{const a=JSON.parse(JSON.stringify(n));return Object.defineProperty(a,"~standard",{value:{...t["~standard"],jsonSchema:{input:Ir(t,"input",e.processors),output:Ir(t,"output",e.processors)}},enumerable:!1,writable:!1}),a}catch{throw new Error("Error converting schema to JSON.")}}function Y(e,t){const r=t??{seen:new Set};if(r.seen.has(e))return!1;r.seen.add(e);const o=e._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 Ph=(e,t={})=>r=>{const o=Va({...r,processors:t});return U(e,o),Wa(o,e),qa(o,e)},Ir=(e,t,r={})=>o=>{const{libraryOptions:n,target:i}=o??{},a=Va({...n??{},target:i,io:t,processors:r});return U(e,a),Wa(a,e),qa(a,e)},Th={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Ch=(e,t,r,o)=>{const n=r;n.type="string";const{minimum:i,maximum:a,format:s,patterns:l,contentEncoding:d}=e._zod.bag;if(typeof i=="number"&&(n.minLength=i),typeof a=="number"&&(n.maxLength=a),s&&(n.format=Th[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=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:p.source}))])}},Zh=(e,t,r,o)=>{const n=r,{minimum:i,maximum:a,format:s,multipleOf:l,exclusiveMaximum:d,exclusiveMinimum:c}=e._zod.bag;typeof s=="string"&&s.includes("int")?n.type="integer":n.type="number",typeof c=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(n.minimum=c,n.exclusiveMinimum=!0):n.exclusiveMinimum=c),typeof i=="number"&&(n.minimum=i,typeof c=="number"&&t.target!=="draft-04"&&(c>=i?delete n.minimum:delete n.exclusiveMinimum)),typeof d=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(n.maximum=d,n.exclusiveMaximum=!0):n.exclusiveMaximum=d),typeof a=="number"&&(n.maximum=a,typeof d=="number"&&t.target!=="draft-04"&&(d<=a?delete n.maximum:delete n.exclusiveMaximum)),typeof l=="number"&&(n.multipleOf=l)},Nh=(e,t,r,o)=>{r.type="boolean"},Rh=(e,t,r,o)=>{t.target==="openapi-3.0"?(r.type="string",r.nullable=!0,r.enum=[null]):r.type="null"},Dh=(e,t,r,o)=>{if(t.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},Uh=(e,t,r,o)=>{r.not={}},Mh=(e,t,r,o)=>{},Bh=(e,t,r,o)=>{},Lh=(e,t,r,o)=>{const n=e._zod.def,i=$a(n.entries);i.every(a=>typeof a=="number")&&(r.type="number"),i.every(a=>typeof a=="string")&&(r.type="string"),r.enum=i},Fh=(e,t,r,o)=>{const n=e._zod.def,i=[];for(const a of n.values)if(a===void 0){if(t.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof a=="bigint"){if(t.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,t.target==="draft-04"||t.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},Gh=(e,t,r,o)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Jh=(e,t,r,o)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Yh=(e,t,r,o)=>{const n=r,i=e._zod.def,{minimum:a,maximum:s}=e._zod.bag;typeof a=="number"&&(n.minItems=a),typeof s=="number"&&(n.maxItems=s),n.type="array",n.items=U(i.element,t,{...o,path:[...o.path,"items"]})},Hh=(e,t,r,o)=>{const n=r,i=e._zod.def;n.type="object",n.properties={};const a=i.shape;for(const d in a)n.properties[d]=U(a[d],t,{...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 t.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,t,{...o,path:[...o.path,"additionalProperties"]})):t.io==="output"&&(n.additionalProperties=!1)},Vh=(e,t,r,o)=>{const n=e._zod.def,i=n.inclusive===!1,a=n.options.map((s,l)=>U(s,t,{...o,path:[...o.path,i?"oneOf":"anyOf",l]}));i?r.oneOf=a:r.anyOf=a},Wh=(e,t,r,o)=>{const n=e._zod.def,i=U(n.left,t,{...o,path:[...o.path,"allOf",0]}),a=U(n.right,t,{...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},qh=(e,t,r,o)=>{const n=r,i=e._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,t,{...o,path:[...o.path,"patternProperties","*"]});n.patternProperties={};for(const p of l)n.patternProperties[p.source]=c}else(t.target==="draft-07"||t.target==="draft-2020-12")&&(n.propertyNames=U(i.keyType,t,{...o,path:[...o.path,"propertyNames"]})),n.additionalProperties=U(i.valueType,t,{...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)}},Xh=(e,t,r,o)=>{const n=e._zod.def,i=U(n.innerType,t,o),a=t.seen.get(e);t.target==="openapi-3.0"?(a.ref=n.innerType,r.nullable=!0):r.anyOf=[i,{type:"null"}]},Kh=(e,t,r,o)=>{const n=e._zod.def;U(n.innerType,t,o);const i=t.seen.get(e);i.ref=n.innerType},Qh=(e,t,r,o)=>{const n=e._zod.def;U(n.innerType,t,o);const i=t.seen.get(e);i.ref=n.innerType,r.default=JSON.parse(JSON.stringify(n.defaultValue))},ev=(e,t,r,o)=>{const n=e._zod.def;U(n.innerType,t,o);const i=t.seen.get(e);i.ref=n.innerType,t.io==="input"&&(r._prefault=JSON.parse(JSON.stringify(n.defaultValue)))},tv=(e,t,r,o)=>{const n=e._zod.def;U(n.innerType,t,o);const i=t.seen.get(e);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},rv=(e,t,r,o)=>{const n=e._zod.def,i=t.io==="input"?n.in._zod.def.type==="transform"?n.out:n.in:n.out;U(i,t,o);const a=t.seen.get(e);a.ref=i},ov=(e,t,r,o)=>{const n=e._zod.def;U(n.innerType,t,o);const i=t.seen.get(e);i.ref=n.innerType,r.readOnly=!0},Xa=(e,t,r,o)=>{const n=e._zod.def;U(n.innerType,t,o);const i=t.seen.get(e);i.ref=n.innerType},nv=m("ZodISODateTime",(e,t)=>{Wg.init(e,t),N.init(e,t)});function iv(e){return ih(nv,e)}const av=m("ZodISODate",(e,t)=>{qg.init(e,t),N.init(e,t)});function sv(e){return ah(av,e)}const lv=m("ZodISOTime",(e,t)=>{Xg.init(e,t),N.init(e,t)});function dv(e){return sh(lv,e)}const cv=m("ZodISODuration",(e,t)=>{Kg.init(e,t),N.init(e,t)});function pv(e){return lh(cv,e)}const mv=(e,t)=>{ja.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>Mu(e,r)},flatten:{value:r=>Uu(e,r)},addIssue:{value:r=>{e.issues.push(r),e.message=JSON.stringify(e.issues,co,2)}},addIssues:{value:r=>{e.issues.push(...r),e.message=JSON.stringify(e.issues,co,2)}},isEmpty:{get(){return e.issues.length===0}}})},re=m("ZodError",mv,{Parent:Error}),bv=Fo(re),uv=Go(re),gv=Jr(re),fv=Yr(re),hv=Fu(re),vv=Gu(re),wv=Ju(re),xv=Yu(re),yv=Hu(re),kv=Vu(re),_v=Wu(re),zv=qu(re),O=m("ZodType",(e,t)=>(E.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:Ir(e,"input"),output:Ir(e,"output")}}),e.toJSONSchema=Ph(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...r)=>e.clone(_e(t,{checks:[...t.checks??[],...r.map(o=>typeof o=="function"?{_zod:{check:o,def:{check:"custom"},onattach:[]}}:o)]}),{parent:!0}),e.with=e.check,e.clone=(r,o)=>ze(e,r,o),e.brand=()=>e,e.register=((r,o)=>(r.add(e,o),e)),e.parse=(r,o)=>bv(e,r,o,{callee:e.parse}),e.safeParse=(r,o)=>gv(e,r,o),e.parseAsync=async(r,o)=>uv(e,r,o,{callee:e.parseAsync}),e.safeParseAsync=async(r,o)=>fv(e,r,o),e.spa=e.safeParseAsync,e.encode=(r,o)=>hv(e,r,o),e.decode=(r,o)=>vv(e,r,o),e.encodeAsync=async(r,o)=>wv(e,r,o),e.decodeAsync=async(r,o)=>xv(e,r,o),e.safeEncode=(r,o)=>yv(e,r,o),e.safeDecode=(r,o)=>kv(e,r,o),e.safeEncodeAsync=async(r,o)=>_v(e,r,o),e.safeDecodeAsync=async(r,o)=>zv(e,r,o),e.refine=(r,o)=>e.check(k0(r,o)),e.superRefine=r=>e.check(_0(r)),e.overwrite=r=>e.check(mt(r)),e.optional=()=>Pe(e),e.exactOptional=()=>d0(e),e.nullable=()=>li(e),e.nullish=()=>Pe(li(e)),e.nonoptional=r=>g0(e,r),e.array=()=>rs(e),e.or=r=>Yo([e,r]),e.and=r=>Ho(e,r),e.transform=r=>di(e,s0(r)),e.default=r=>m0(e,r),e.prefault=r=>u0(e,r),e.catch=r=>h0(e,r),e.pipe=r=>di(e,r),e.readonly=()=>x0(e),e.describe=r=>{const o=e.clone();return ft.add(o,{description:r}),o},Object.defineProperty(e,"description",{get(){return ft.get(e)?.description},configurable:!0}),e.meta=(...r)=>{if(r.length===0)return ft.get(e);const o=e.clone();return ft.add(o,r[0]),o},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=r=>r(e),e)),Ka=m("_ZodString",(e,t)=>{Jo.init(e,t),O.init(e,t),e._zod.processJSONSchema=(o,n,i)=>Ch(e,o,n);const r=e._zod.bag;e.format=r.format??null,e.minLength=r.minimum??null,e.maxLength=r.maximum??null,e.regex=(...o)=>e.check(hh(...o)),e.includes=(...o)=>e.check(xh(...o)),e.startsWith=(...o)=>e.check(yh(...o)),e.endsWith=(...o)=>e.check(kh(...o)),e.min=(...o)=>e.check(Or(...o)),e.max=(...o)=>e.check(Ya(...o)),e.length=(...o)=>e.check(Ha(...o)),e.nonempty=(...o)=>e.check(Or(1,...o)),e.lowercase=o=>e.check(vh(o)),e.uppercase=o=>e.check(wh(o)),e.trim=()=>e.check(zh()),e.normalize=(...o)=>e.check(_h(...o)),e.toLowerCase=()=>e.check(Ah()),e.toUpperCase=()=>e.check(Sh()),e.slugify=()=>e.check($h())}),Av=m("ZodString",(e,t)=>{Jo.init(e,t),Ka.init(e,t),e.email=r=>e.check(Df(Sv,r)),e.url=r=>e.check(Ff($v,r)),e.jwt=r=>e.check(nh(Lv,r)),e.emoji=r=>e.check(Gf(Ev,r)),e.guid=r=>e.check(ri(ai,r)),e.uuid=r=>e.check(Uf(Yt,r)),e.uuidv4=r=>e.check(Mf(Yt,r)),e.uuidv6=r=>e.check(Bf(Yt,r)),e.uuidv7=r=>e.check(Lf(Yt,r)),e.nanoid=r=>e.check(Jf(Ov,r)),e.guid=r=>e.check(ri(ai,r)),e.cuid=r=>e.check(Yf(Iv,r)),e.cuid2=r=>e.check(Hf(jv,r)),e.ulid=r=>e.check(Vf(Pv,r)),e.base64=r=>e.check(th(Uv,r)),e.base64url=r=>e.check(rh(Mv,r)),e.xid=r=>e.check(Wf(Tv,r)),e.ksuid=r=>e.check(qf(Cv,r)),e.ipv4=r=>e.check(Xf(Zv,r)),e.ipv6=r=>e.check(Kf(Nv,r)),e.cidrv4=r=>e.check(Qf(Rv,r)),e.cidrv6=r=>e.check(eh(Dv,r)),e.e164=r=>e.check(oh(Bv,r)),e.datetime=r=>e.check(iv(r)),e.date=r=>e.check(sv(r)),e.time=r=>e.check(dv(r)),e.duration=r=>e.check(pv(r))});function oe(e){return Rf(Av,e)}const N=m("ZodStringFormat",(e,t)=>{C.init(e,t),Ka.init(e,t)}),Sv=m("ZodEmail",(e,t)=>{Mg.init(e,t),N.init(e,t)}),ai=m("ZodGUID",(e,t)=>{Dg.init(e,t),N.init(e,t)}),Yt=m("ZodUUID",(e,t)=>{Ug.init(e,t),N.init(e,t)}),$v=m("ZodURL",(e,t)=>{Bg.init(e,t),N.init(e,t)}),Ev=m("ZodEmoji",(e,t)=>{Lg.init(e,t),N.init(e,t)}),Ov=m("ZodNanoID",(e,t)=>{Fg.init(e,t),N.init(e,t)}),Iv=m("ZodCUID",(e,t)=>{Gg.init(e,t),N.init(e,t)}),jv=m("ZodCUID2",(e,t)=>{Jg.init(e,t),N.init(e,t)}),Pv=m("ZodULID",(e,t)=>{Yg.init(e,t),N.init(e,t)}),Tv=m("ZodXID",(e,t)=>{Hg.init(e,t),N.init(e,t)}),Cv=m("ZodKSUID",(e,t)=>{Vg.init(e,t),N.init(e,t)}),Zv=m("ZodIPv4",(e,t)=>{Qg.init(e,t),N.init(e,t)}),Nv=m("ZodIPv6",(e,t)=>{ef.init(e,t),N.init(e,t)}),Rv=m("ZodCIDRv4",(e,t)=>{tf.init(e,t),N.init(e,t)}),Dv=m("ZodCIDRv6",(e,t)=>{rf.init(e,t),N.init(e,t)}),Uv=m("ZodBase64",(e,t)=>{of.init(e,t),N.init(e,t)}),Mv=m("ZodBase64URL",(e,t)=>{af.init(e,t),N.init(e,t)}),Bv=m("ZodE164",(e,t)=>{sf.init(e,t),N.init(e,t)}),Lv=m("ZodJWT",(e,t)=>{df.init(e,t),N.init(e,t)}),Qa=m("ZodNumber",(e,t)=>{Ba.init(e,t),O.init(e,t),e._zod.processJSONSchema=(o,n,i)=>Zh(e,o,n),e.gt=(o,n)=>e.check(ni(o,n)),e.gte=(o,n)=>e.check(eo(o,n)),e.min=(o,n)=>e.check(eo(o,n)),e.lt=(o,n)=>e.check(oi(o,n)),e.lte=(o,n)=>e.check(Qr(o,n)),e.max=(o,n)=>e.check(Qr(o,n)),e.int=o=>e.check(si(o)),e.safe=o=>e.check(si(o)),e.positive=o=>e.check(ni(0,o)),e.nonnegative=o=>e.check(eo(0,o)),e.negative=o=>e.check(oi(0,o)),e.nonpositive=o=>e.check(Qr(0,o)),e.multipleOf=(o,n)=>e.check(ii(o,n)),e.step=(o,n)=>e.check(ii(o,n)),e.finite=()=>e;const r=e._zod.bag;e.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),e.isFinite=!0,e.format=r.format??null});function mo(e){return dh(Qa,e)}const Fv=m("ZodNumberFormat",(e,t)=>{cf.init(e,t),Qa.init(e,t)});function si(e){return ch(Fv,e)}const Gv=m("ZodBoolean",(e,t)=>{pf.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Nh(e,r,o)});function Jv(e){return ph(Gv,e)}const Yv=m("ZodUndefined",(e,t)=>{mf.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Dh(e,r)});function Hv(e){return mh(Yv,e)}const Vv=m("ZodNull",(e,t)=>{bf.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Rh(e,r,o)});function es(e){return bh(Vv,e)}const Wv=m("ZodAny",(e,t)=>{uf.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Mh()});function ew(){return uh(Wv)}const qv=m("ZodUnknown",(e,t)=>{gf.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Bh()});function lt(){return gh(qv)}const Xv=m("ZodNever",(e,t)=>{ff.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Uh(e,r,o)});function ts(e){return fh(Xv,e)}const Kv=m("ZodArray",(e,t)=>{hf.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Yh(e,r,o,n),e.element=t.element,e.min=(r,o)=>e.check(Or(r,o)),e.nonempty=r=>e.check(Or(1,r)),e.max=(r,o)=>e.check(Ya(r,o)),e.length=(r,o)=>e.check(Ha(r,o)),e.unwrap=()=>e.element});function rs(e,t){return Eh(Kv,e,t)}const Qv=m("ZodObject",(e,t)=>{wf.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Hh(e,r,o,n),A(e,"shape",()=>t.shape),e.keyof=()=>n0(Object.keys(e._zod.def.shape)),e.catchall=r=>e.clone({...e._zod.def,catchall:r}),e.passthrough=()=>e.clone({...e._zod.def,catchall:lt()}),e.loose=()=>e.clone({...e._zod.def,catchall:lt()}),e.strict=()=>e.clone({...e._zod.def,catchall:ts()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=r=>Cu(e,r),e.safeExtend=r=>Zu(e,r),e.merge=r=>Nu(e,r),e.pick=r=>Pu(e,r),e.omit=r=>Tu(e,r),e.partial=(...r)=>Ru(is,e,r[0]),e.required=(...r)=>Du(as,e,r[0])});function H(e,t){const r={type:"object",shape:e??{},...h(t)};return new Qv(r)}const os=m("ZodUnion",(e,t)=>{Ga.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Vh(e,r,o,n),e.options=t.options});function Yo(e,t){return new os({type:"union",options:e,...h(t)})}const e0=m("ZodDiscriminatedUnion",(e,t)=>{os.init(e,t),xf.init(e,t)});function ns(e,t,r){return new e0({type:"union",options:t,discriminator:e,...h(r)})}const t0=m("ZodIntersection",(e,t)=>{yf.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Wh(e,r,o,n)});function Ho(e,t){return new t0({type:"intersection",left:e,right:t})}const r0=m("ZodRecord",(e,t)=>{kf.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>qh(e,r,o,n),e.keyType=t.keyType,e.valueType=t.valueType});function o0(e,t,r){return new r0({type:"record",keyType:e,valueType:t,...h(r)})}const jr=m("ZodEnum",(e,t)=>{_f.init(e,t),O.init(e,t),e._zod.processJSONSchema=(o,n,i)=>Lh(e,o,n),e.enum=t.entries,e.options=Object.values(t.entries);const r=new Set(Object.keys(t.entries));e.extract=(o,n)=>{const i={};for(const a of o)if(r.has(a))i[a]=t.entries[a];else throw new Error(`Key ${a} not found in enum`);return new jr({...t,checks:[],...h(n),entries:i})},e.exclude=(o,n)=>{const i={...t.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 jr({...t,checks:[],...h(n),entries:i})}});function n0(e,t){const r=Array.isArray(e)?Object.fromEntries(e.map(o=>[o,o])):e;return new jr({type:"enum",entries:r,...h(t)})}function tw(e,t){return new jr({type:"enum",entries:e,...h(t)})}const i0=m("ZodLiteral",(e,t)=>{zf.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Fh(e,r,o),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function se(e,t){return new i0({type:"literal",values:Array.isArray(e)?e:[e],...h(t)})}const a0=m("ZodTransform",(e,t)=>{Af.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Jh(e,r),e._zod.parse=(r,o)=>{if(o.direction==="backward")throw new Aa(e.constructor.name);r.addIssue=i=>{if(typeof i=="string")r.issues.push(Ot(i,r.value,t));else{const a=i;a.fatal&&(a.continue=!1),a.code??(a.code="custom"),a.input??(a.input=r.value),a.inst??(a.inst=e),r.issues.push(Ot(a))}};const n=t.transform(r.value,r);return n instanceof Promise?n.then(i=>(r.value=i,r)):(r.value=n,r)}});function s0(e){return new a0({type:"transform",transform:e})}const is=m("ZodOptional",(e,t)=>{Ja.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Xa(e,r,o,n),e.unwrap=()=>e._zod.def.innerType});function Pe(e){return new is({type:"optional",innerType:e})}const l0=m("ZodExactOptional",(e,t)=>{Sf.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Xa(e,r,o,n),e.unwrap=()=>e._zod.def.innerType});function d0(e){return new l0({type:"optional",innerType:e})}const c0=m("ZodNullable",(e,t)=>{$f.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Xh(e,r,o,n),e.unwrap=()=>e._zod.def.innerType});function li(e){return new c0({type:"nullable",innerType:e})}const p0=m("ZodDefault",(e,t)=>{Ef.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Qh(e,r,o,n),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function m0(e,t){return new p0({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():Oa(t)}})}const b0=m("ZodPrefault",(e,t)=>{Of.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>ev(e,r,o,n),e.unwrap=()=>e._zod.def.innerType});function u0(e,t){return new b0({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():Oa(t)}})}const as=m("ZodNonOptional",(e,t)=>{If.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Kh(e,r,o,n),e.unwrap=()=>e._zod.def.innerType});function g0(e,t){return new as({type:"nonoptional",innerType:e,...h(t)})}const f0=m("ZodCatch",(e,t)=>{jf.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>tv(e,r,o,n),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function h0(e,t){return new f0({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}const v0=m("ZodPipe",(e,t)=>{Pf.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>rv(e,r,o,n),e.in=t.in,e.out=t.out});function di(e,t){return new v0({type:"pipe",in:e,out:t})}const w0=m("ZodReadonly",(e,t)=>{Tf.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>ov(e,r,o,n),e.unwrap=()=>e._zod.def.innerType});function x0(e){return new w0({type:"readonly",innerType:e})}const y0=m("ZodCustom",(e,t)=>{Cf.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Gh(e,r)});function k0(e,t={}){return Oh(y0,e,t)}function _0(e){return Ih(e)}oe().regex(/^[a-zA-Z0-9:_-]*::[a-z0-9]*/,"Invalid party ID format");var z0=H({method:oe(),params:Pe(Yo([rs(lt()),o0(oe(),lt())]))}),A0=H({result:Pe(lt())}),ss=H({error:H({code:mo(),message:oe(),data:Pe(oe().or(mo()).or(Jv()).or(es()).or(lt()))})}),ls=Yo([A0,ss]),ds=H({jsonrpc:se("2.0"),id:Pe(oe().or(mo()).or(Hv()).or(es()))}),S0=Ho(ds,z0),$0=Ho(ds,ls),Vo=(e=>(e.SPLICE_WALLET_REQUEST="SPLICE_WALLET_REQUEST",e.SPLICE_WALLET_RESPONSE="SPLICE_WALLET_RESPONSE",e.SPLICE_WALLET_EXT_READY="SPLICE_WALLET_EXT_READY",e.SPLICE_WALLET_EXT_ACK="SPLICE_WALLET_EXT_ACK",e.SPLICE_WALLET_EXT_OPEN="SPLICE_WALLET_EXT_OPEN",e.SPLICE_WALLET_IDP_AUTH_SUCCESS="SPLICE_WALLET_IDP_AUTH_SUCCESS",e.SPLICE_WALLET_LOGOUT="SPLICE_WALLET_LOGOUT",e))(Vo||{});ns("type",[H({type:se("SPLICE_WALLET_REQUEST"),request:S0}),H({type:se("SPLICE_WALLET_RESPONSE"),response:$0}),H({type:se("SPLICE_WALLET_EXT_READY")}),H({type:se("SPLICE_WALLET_EXT_ACK")}),H({type:se("SPLICE_WALLET_EXT_OPEN"),url:oe().url()}),H({type:se("SPLICE_WALLET_IDP_AUTH_SUCCESS"),token:oe(),sessionId:oe()})]);ns("walletType",[H({walletType:se("extension"),url:Pe(ts())}),H({walletType:se("remote"),url:oe().url()})]);H({name:oe()});var cs=class{constructor(e,t){this.url=e,this.accessToken=t}async handleErrorResponse(e){const t=await e.text();try{if(ss.safeParse(JSON.parse(t)).success)throw JSON.parse(t)}catch{}throw{error:{code:e.status,message:e.statusText,data:t}}}async submit(e){const t={jsonrpc:"2.0",method:e.method,params:e.params,id:Au()},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(t)});if(!o.ok)return this.handleErrorResponse(o);const n=await o.json(),i=ls.parse(n);if("error"in i)throw i;return i}},E0=Object.defineProperty,O0=(e,t,r)=>t in e?E0(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,I0=(e,t,r)=>O0(e,t+"",r),j0=class{constructor(e){I0(this,"transport"),this.transport=e}async request(e){const t=await this.transport.submit(e);if("error"in t)throw new Error("RPC error: "+t.error.code+" - "+t.error.message);return t.result}},ps=j0;class wt{constructor(){this.state=new Map,this.accessToken={get:()=>this.getWithStorage("accessToken"),set:t=>this.setWithStorage("accessToken",t),clear:()=>this.clearWithStorage("accessToken")},this.networkId={get:()=>this.getWithStorage("networkId"),set:t=>this.setWithStorage("networkId",t),clear:()=>this.clearWithStorage("networkId")},this.expirationDate={get:()=>this.getWithStorage("expirationDate"),set:t=>this.setWithStorage("expirationDate",t),clear:()=>this.clearWithStorage("expirationDate")},this.intendedPage={get:()=>this.getWithStorage("intendedPage"),set:t=>this.setWithStorage("intendedPage",t),clear:()=>this.clearWithStorage("intendedPage")}}static localStorageKey(t){return`com.splice.wallet.${t}`}getWithStorage(t){if(this.state.has(t))return this.state.get(t);const r=localStorage.getItem(wt.localStorageKey(t));if(r)return this.state.set(t,r),r}setWithStorage(t,r){localStorage.setItem(wt.localStorageKey(t),r),this.state.set(t,r)}clearWithStorage(t){localStorage.removeItem(wt.localStorageKey(t)),this.state.delete(t)}clearAuthState(){this.accessToken.clear(),this.networkId.clear(),this.expirationDate.clear(),this.intendedPage.clear()}}const F=new wt,P0="/wallets",T0="/404",ie="/login",rw="/transactions",ci=5e3;let to=!1,ro=null;const ms=async()=>{const e=new URL(Ke("/api/v0/user"),window.location.origin);return ro||(ro=fetch(Ke("/.well-known/wallet-gateway-config")).then(t=>t.json()).then(t=>t?.userPath?new URL(t.userPath):e).catch(t=>(console.warn("Failed to fetch userPath from config, using default",t),e))),ro},fr=async e=>{try{const t=await ms();await new ps(new cs(t,e)).request({method:"removeSession"})}catch(t){console.debug("Failed to remove session:",t)}},C0=async()=>{if(!to){to=!0;try{const e=F.accessToken.get();e&&await fr(e)}finally{F.clearAuthState(),to=!1,$e(window.location.pathname)!==ie&&(window.location.href=fe(ie))}}};class Z0 extends cs{async handleErrorResponse(t){return t.status===401&&C0(),super.handleErrorResponse(t)}}const Wo=async e=>{const t=await ms();return new ps(new Z0(t,e))};var N0=Object.create,qo=Object.defineProperty,R0=Object.getOwnPropertyDescriptor,bs=(e,t)=>(t=Symbol[e])?t:Symbol.for("Symbol."+e),us=e=>{throw TypeError(e)},D0=(e,t,r)=>t in e?qo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,U0=(e,t)=>qo(e,"name",{value:t,configurable:!0}),Xo=e=>[,,,N0(e?.[bs("metadata")]??null)],M0=["class","method","getter","setter","accessor","field","value","get","set"],gs=e=>e!==void 0&&typeof e!="function"?us("Function expected"):e,B0=(e,t,r,o,n)=>({kind:M0[e],name:t,metadata:o,addInitializer:i=>r._?us("Already initialized"):n.push(gs(i||null))}),L0=(e,t)=>D0(t,bs("metadata"),e[3]),Ko=(e,t,r,o)=>{for(var n=0,i=e[t>>1],a=i&&i.length;n<a;n++)i[n].call(r);return o},Qo=(e,t,r,o,n,i)=>{var a,s,l,d=t&7,c=!1,p=0,u=e[p]||(e[p]=[]),g=d&&(n=n.prototype,d<5&&(d>3||!c)&&R0(n,r));U0(n,r);for(var y=o.length-1;y>=0;y--)l=B0(d,r,s={},e[3],u),a=(0,o[y])(n,l),s._=1,gs(a)&&(n=a);return L0(e,n),g&&qo(n,r,g),c?d^4?i:g:n},fs,en,hs,vs,tn,ws,xs,rn,ys;const pi=()=>{const e=F.intendedPage.get();F.intendedPage.clear();const t=e||P0;window.location.href=fe(t)};fs=[Uo("user-app")];class bo extends(hs=ge){async handleLogout(){go();const t=F.accessToken.get();if(!t){window.location.href=fe(ie);return}try{await(await Wo(t)).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=fe(ie)}render(){return f`
|
|
1679
|
-
<app-layout
|
|
1680
|
-
iconSrc=${Ke("/icon.png")}
|
|
1681
|
-
@logout=${this.handleLogout}
|
|
1682
|
-
>
|
|
1683
|
-
<user-ui-auth-redirect></user-ui-auth-redirect>
|
|
1684
|
-
<slot></slot>
|
|
1685
|
-
</app-layout>
|
|
1686
|
-
`}}en=Xo(hs);bo=Qo(en,0,"UserApp",fs,bo);Ko(en,1,bo);vs=[Uo("user-ui")];class uo extends(ws=ge){connectedCallback(){super.connectedCallback();const t=$e(window.location.pathname)||"/";sl(t)||(window.location.href=fe(T0))}}tn=Xo(ws);uo=Qo(tn,0,"UserUI",vs,uo);Ko(tn,1,uo);let xt=null;const go=()=>{xt!==null&&(clearTimeout(xt),xt=null)};xs=[Uo("user-ui-auth-redirect")];class fo extends(ys=ge){connectedCallback(){super.connectedCallback(),this.handleAuthRedirect()}async handleAuthRedirect(){const r=$e(window.location.pathname)===ie,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 t=$e(window.location.pathname);if(t&&t!=="/"&&t!==ie&&t!=="/callback")return t}clearAuthStateAndPreserveIntendedPage(){const t=this.getIntendedPageFromCurrentPath();F.clearAuthState(),t&&F.intendedPage.set(t)}handleUnauthenticated(t){if(!t){const r=this.getIntendedPageFromCurrentPath();r&&F.intendedPage.set(r),window.location.href=fe(ie)}}async handleExpiredToken(t){go();const r=F.accessToken.get();r&&await fr(r),t?F.clearAuthState():(this.clearAuthStateAndPreserveIntendedPage(),window.location.href=fe(ie))}async handleAuthenticatedOnLoginPage(t){const r=await mi(t);r?(this.setTokenExpirationTimeout(),pi(),ho(t,r)):(await fr(t),F.clearAuthState())}async handleAuthenticatedOnLoggedInPage(t){if(!F.networkId.get())throw new Error("missing networkId in state manager");const o=await mi(t);if(!o){await fr(t),this.clearAuthStateAndPreserveIntendedPage(),window.location.href=fe(ie);return}this.setTokenExpirationTimeout(),ho(t,o),($e(window.location.pathname)||"/")==="/"&&pi()}setTokenExpirationTimeout(){go();const t=new Date(F.expirationDate.get()||""),r=new Date,o=t.getTime()-r.getTime()-ci;o>0&&(xt=setTimeout(async()=>{const n=$e(window.location.pathname)===ie;await this.handleExpiredToken(n),xt=null},o))}isTokenExpired(){const t=new Date(F.expirationDate.get()||0);return Number(t)-ci<=Date.now()}}rn=Xo(ys);fo=Qo(rn,0,"UserUIAuthRedirect",xs,fo);Ko(rn,1,fo);const mi=async e=>(await(await Wo(e)).request({method:"listSessions"}).catch(()=>null))?.sessions?.[0]?.id??void 0,ho=(e,t)=>{window.opener&&!window.opener.closed&&window.opener.postMessage({type:Vo.SPLICE_WALLET_IDP_AUTH_SUCCESS,token:e,sessionId:t},"*")},ow=async(e,t)=>{const o=await(await Wo(e)).request({method:"addSession",params:{networkId:t}});ho(e,o.id)};export{rw as T,Qb as W,le as Y,fe as _,ge as a,f as b,Wo as c,ow as d,oe as e,ns as f,Ke as g,o0 as h,K as i,ew as j,rs as k,se as l,bi as m,tw as n,H as o,pi as r,F as s,Uo as t,oo as u,k as w};
|