@canton-network/wallet-gateway-remote 0.16.0 → 0.18.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/README.md +37 -0
- package/dist/config/Config.js +2 -2
- package/dist/dapp-api/controller.d.ts +7 -6
- package/dist/dapp-api/controller.d.ts.map +1 -1
- package/dist/dapp-api/controller.js +23 -26
- package/dist/dapp-api/rpc-gen/index.d.ts +21 -18
- package/dist/dapp-api/rpc-gen/index.d.ts.map +1 -1
- package/dist/dapp-api/rpc-gen/index.js +7 -6
- package/dist/dapp-api/rpc-gen/typings.d.ts +29 -48
- package/dist/dapp-api/rpc-gen/typings.d.ts.map +1 -1
- package/dist/dapp-api/server.d.ts.map +1 -1
- package/dist/dapp-api/server.js +52 -45
- package/dist/example-config.js +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -0
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +42 -0
- package/dist/ledger/wallet-sync-service.d.ts.map +1 -1
- package/dist/ledger/wallet-sync-service.js +30 -20
- package/dist/ledger/wallet-sync-service.test.js +336 -0
- package/dist/middleware/jwtAuth.d.ts.map +1 -1
- package/dist/middleware/jwtAuth.js +3 -1
- package/dist/user-api/controller.d.ts.map +1 -1
- package/dist/user-api/controller.js +10 -9
- package/dist/web/frontend/404/index.html +2 -2
- package/dist/web/frontend/approve/index.html +3 -3
- package/dist/web/frontend/assets/{404-Dtgkdx8n.js → 404-Cdu0PFS_.js} +1 -1
- package/dist/web/frontend/assets/{approve-BngitDiu.js → approve-B-AjC3qs.js} +1 -1
- package/dist/web/frontend/assets/{callback-BZOvs1pj.js → callback-CVGmyjFw.js} +1 -1
- package/dist/web/frontend/assets/index-DUTzHvwi.js +1158 -0
- package/dist/web/frontend/assets/login-BpjPKEmn.js +186 -0
- package/dist/web/frontend/assets/{settings-lrbuWERD.js → settings-DFCq6vOq.js} +1 -1
- package/dist/web/frontend/assets/{state-UchZlNDY.js → state-D-NnR2Q_.js} +1 -1
- package/dist/web/frontend/assets/{transactions-OQYrtI6P.js → transactions-Cn8Y2p7-.js} +1 -1
- package/dist/web/frontend/assets/{wallets-BIhi0xp5.js → wallets-B4lynciv.js} +17 -16
- package/dist/web/frontend/callback/index.html +2 -2
- package/dist/web/frontend/index.html +1 -1
- package/dist/web/frontend/login/index.html +3 -3
- package/dist/web/frontend/settings/index.html +3 -3
- package/dist/web/frontend/transactions/index.html +3 -3
- package/dist/web/frontend/wallets/index.html +3 -3
- package/package.json +26 -21
- package/dist/web/frontend/assets/index-chWxxmO7.js +0 -1158
- package/dist/web/frontend/assets/login-lehCoCJX.js +0 -186
|
@@ -0,0 +1,1158 @@
|
|
|
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 a of n)if(a.type==="childList")for(const i of a.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&o(i)}).observe(document,{childList:!0,subtree:!0});function r(n){const a={};return n.integrity&&(a.integrity=n.integrity),n.referrerPolicy&&(a.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?a.credentials="include":n.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function o(n){if(n.ep)return;n.ep=!0;const a=r(n);fetch(n.href,a)}})();const St=globalThis,Dr=St.ShadowRoot&&(St.ShadyCSS===void 0||St.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Fr=Symbol(),Eo=new WeakMap;let Br=class{constructor(t,r,o){if(this._$cssResult$=!0,o!==Fr)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(Dr&&t===void 0){const o=r!==void 0&&r.length===1;o&&(t=Eo.get(r)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),o&&Eo.set(r,t))}return t}toString(){return this.cssText}};const Mt=e=>new Br(typeof e=="string"?e:e+"",void 0,Fr),ee=(e,...t)=>{const r=e.length===1?e[0]:t.reduce((o,n,a)=>o+(i=>{if(i._$cssResult$===!0)return i.cssText;if(typeof i=="number")return i;throw Error("Value passed to 'css' function must be a 'css' function result: "+i+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(n)+e[a+1],e[0]);return new Br(r,e,Fr)},Mi=(e,t)=>{if(Dr)e.adoptedStyleSheets=t.map(r=>r instanceof CSSStyleSheet?r:r.styleSheet);else for(const r of t){const o=document.createElement("style"),n=St.litNonce;n!==void 0&&o.setAttribute("nonce",n),o.textContent=r.cssText,e.appendChild(o)}},Ao=Dr?e=>e:e=>e instanceof CSSStyleSheet?(t=>{let r="";for(const o of t.cssRules)r+=o.cssText;return Mt(r)})(e):e;const{is:Di,defineProperty:Fi,getOwnPropertyDescriptor:Bi,getOwnPropertyNames:Ji,getOwnPropertySymbols:Wi,getPrototypeOf:Gi}=Object,tr=globalThis,Oo=tr.trustedTypes,Vi=Oo?Oo.emptyScript:"",qi=tr.reactiveElementPolyfillSupport,ot=(e,t)=>e,Sr={toAttribute(e,t){switch(t){case Boolean:e=e?Vi: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}},Rn=(e,t)=>!Di(e,t),Po={attribute:!0,type:String,converter:Sr,reflect:!1,useDefault:!1,hasChanged:Rn};Symbol.metadata??=Symbol("metadata"),tr.litPropertyMetadata??=new WeakMap;let Oe=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=Po){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&&Fi(this.prototype,t,n)}}static getPropertyDescriptor(t,r,o){const{get:n,set:a}=Bi(this.prototype,t)??{get(){return this[r]},set(i){this[r]=i}};return{get:n,set(i){const s=n?.call(this);a?.call(this,i),this.requestUpdate(t,s,o)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??Po}static _$Ei(){if(this.hasOwnProperty(ot("elementProperties")))return;const t=Gi(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(ot("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(ot("properties"))){const r=this.properties,o=[...Ji(r),...Wi(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(Ao(n))}else t!==void 0&&r.push(Ao(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 Mi(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 a=(o.converter?.toAttribute!==void 0?o.converter:Sr).toAttribute(r,o.type);this._$Em=t,a==null?this.removeAttribute(n):this.setAttribute(n,a),this._$Em=null}}_$AK(t,r){const o=this.constructor,n=o._$Eh.get(t);if(n!==void 0&&this._$Em!==n){const a=o.getPropertyOptions(n),i=typeof a.converter=="function"?{fromAttribute:a.converter}:a.converter?.fromAttribute!==void 0?a.converter:Sr;this._$Em=n;const s=i.fromAttribute(r,a.type);this[n]=s??this._$Ej?.get(n)??s,this._$Em=null}}requestUpdate(t,r,o,n=!1,a){if(t!==void 0){const i=this.constructor;if(n===!1&&(a=this[t]),o??=i.getPropertyOptions(t),!((o.hasChanged??Rn)(a,r)||o.useDefault&&o.reflect&&a===this._$Ej?.get(t)&&!this.hasAttribute(i._$Eu(t,o))))return;this.C(t,r,o)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(t,r,{useDefault:o,reflect:n,wrapped:a},i){o&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,i??r??this[t]),a!==!0||i!==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,a]of this._$Ep)this[n]=a;this._$Ep=void 0}const o=this.constructor.elementProperties;if(o.size>0)for(const[n,a]of o){const{wrapped:i}=a,s=this[n];i!==!0||this._$AL.has(n)||s===void 0||this.C(n,void 0,a,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){}};Oe.elementStyles=[],Oe.shadowRootOptions={mode:"open"},Oe[ot("elementProperties")]=new Map,Oe[ot("finalized")]=new Map,qi?.({ReactiveElement:Oe}),(tr.reactiveElementVersions??=[]).push("2.1.2");const Jr=globalThis,To=e=>e,Dt=Jr.trustedTypes,jo=Dt?Dt.createPolicy("lit-html",{createHTML:e=>e}):void 0,Un="$lit$",se=`lit$${Math.random().toFixed(9).slice(2)}$`,Ln="?"+se,Ki=`<${Ln}>`,xe=document,st=()=>xe.createComment(""),lt=e=>e===null||typeof e!="object"&&typeof e!="function",Wr=Array.isArray,Hi=e=>Wr(e)||typeof e?.[Symbol.iterator]=="function",gr=`[
|
|
2
|
+
\f\r]`,He=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Io=/-->/g,Zo=/>/g,ve=RegExp(`>|${gr}(?:([^\\s"'>=/]+)(${gr}*=${gr}*(?:[^
|
|
3
|
+
\f\r"'\`<>=]|("|')|))|$)`,"g"),Co=/'/g,No=/"/g,Mn=/^(?:script|style|textarea|title)$/i,Yi=e=>(t,...r)=>({_$litType$:e,strings:t,values:r}),x=Yi(1),Ne=Symbol.for("lit-noChange"),L=Symbol.for("lit-nothing"),Ro=new WeakMap,we=xe.createTreeWalker(xe,129);function Dn(e,t){if(!Wr(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return jo!==void 0?jo.createHTML(t):t}const Xi=(e,t)=>{const r=e.length-1,o=[];let n,a=t===2?"<svg>":t===3?"<math>":"",i=He;for(let s=0;s<r;s++){const l=e[s];let d,c,p=-1,u=0;for(;u<l.length&&(i.lastIndex=u,c=i.exec(l),c!==null);)u=i.lastIndex,i===He?c[1]==="!--"?i=Io:c[1]!==void 0?i=Zo:c[2]!==void 0?(Mn.test(c[2])&&(n=RegExp("</"+c[2],"g")),i=ve):c[3]!==void 0&&(i=ve):i===ve?c[0]===">"?(i=n??He,p=-1):c[1]===void 0?p=-2:(p=i.lastIndex-c[2].length,d=c[1],i=c[3]===void 0?ve:c[3]==='"'?No:Co):i===No||i===Co?i=ve:i===Io||i===Zo?i=He:(i=ve,n=void 0);const g=i===ve&&e[s+1].startsWith("/>")?" ":"";a+=i===He?l+Ki:p>=0?(o.push(d),l.slice(0,p)+Un+l.slice(p)+se+g):l+se+(p===-2?s:g)}return[Dn(e,a+(e[r]||"<?>")+(t===2?"</svg>":t===3?"</math>":"")),o]};let Er=class Fn{constructor({strings:t,_$litType$:r},o){let n;this.parts=[];let a=0,i=0;const s=t.length-1,l=this.parts,[d,c]=Xi(t,r);if(this.el=Fn.createElement(d,o),we.currentNode=this.el.content,r===2||r===3){const p=this.el.content.firstChild;p.replaceWith(...p.childNodes)}for(;(n=we.nextNode())!==null&&l.length<s;){if(n.nodeType===1){if(n.hasAttributes())for(const p of n.getAttributeNames())if(p.endsWith(Un)){const u=c[i++],g=n.getAttribute(p).split(se),v=/([.?@])?(.*)/.exec(u);l.push({type:1,index:a,name:v[2],strings:g,ctor:v[1]==="."?es:v[1]==="?"?ts:v[1]==="@"?rs:rr}),n.removeAttribute(p)}else p.startsWith(se)&&(l.push({type:6,index:a}),n.removeAttribute(p));if(Mn.test(n.tagName)){const p=n.textContent.split(se),u=p.length-1;if(u>0){n.textContent=Dt?Dt.emptyScript:"";for(let g=0;g<u;g++)n.append(p[g],st()),we.nextNode(),l.push({type:2,index:++a});n.append(p[u],st())}}}else if(n.nodeType===8)if(n.data===Ln)l.push({type:2,index:a});else{let p=-1;for(;(p=n.data.indexOf(se,p+1))!==-1;)l.push({type:7,index:a}),p+=se.length-1}a++}}static createElement(t,r){const o=xe.createElement("template");return o.innerHTML=t,o}};function Re(e,t,r=e,o){if(t===Ne)return t;let n=o!==void 0?r._$Co?.[o]:r._$Cl;const a=lt(t)?void 0:t._$litDirective$;return n?.constructor!==a&&(n?._$AO?.(!1),a===void 0?n=void 0:(n=new a(e),n._$AT(e,r,o)),o!==void 0?(r._$Co??=[])[o]=n:r._$Cl=n),n!==void 0&&(t=Re(e,n._$AS(e,t.values),n,o)),t}class Qi{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??xe).importNode(r,!0);we.currentNode=n;let a=we.nextNode(),i=0,s=0,l=o[0];for(;l!==void 0;){if(i===l.index){let d;l.type===2?d=new Gr(a,a.nextSibling,this,t):l.type===1?d=new l.ctor(a,l.name,l.strings,this,t):l.type===6&&(d=new os(a,this,t)),this._$AV.push(d),l=o[++s]}i!==l?.index&&(a=we.nextNode(),i++)}return we.currentNode=xe,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++}}let Gr=class Bn{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,r,o,n){this.type=2,this._$AH=L,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=Re(this,t,r),lt(t)?t===L||t==null||t===""?(this._$AH!==L&&this._$AR(),this._$AH=L):t!==this._$AH&&t!==Ne&&this._(t):t._$litType$!==void 0?this.$(t):t.nodeType!==void 0?this.T(t):Hi(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!==L&<(this._$AH)?this._$AA.nextSibling.data=t:this.T(xe.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=Er.createElement(Dn(o.h,o.h[0]),this.options)),o);if(this._$AH?._$AD===n)this._$AH.p(r);else{const a=new Qi(n,this),i=a.u(this.options);a.p(r),this.T(i),this._$AH=a}}_$AC(t){let r=Ro.get(t.strings);return r===void 0&&Ro.set(t.strings,r=new Er(t)),r}k(t){Wr(this._$AH)||(this._$AH=[],this._$AR());const r=this._$AH;let o,n=0;for(const a of t)n===r.length?r.push(o=new Bn(this.O(st()),this.O(st()),this,this.options)):o=r[n],o._$AI(a),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=To(t).nextSibling;To(t).remove(),t=o}}setConnected(t){this._$AM===void 0&&(this._$Cv=t,this._$AP?.(t))}},rr=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,r,o,n,a){this.type=1,this._$AH=L,this._$AN=void 0,this.element=t,this.name=r,this._$AM=n,this.options=a,o.length>2||o[0]!==""||o[1]!==""?(this._$AH=Array(o.length-1).fill(new String),this.strings=o):this._$AH=L}_$AI(t,r=this,o,n){const a=this.strings;let i=!1;if(a===void 0)t=Re(this,t,r,0),i=!lt(t)||t!==this._$AH&&t!==Ne,i&&(this._$AH=t);else{const s=t;let l,d;for(t=a[0],l=0;l<a.length-1;l++)d=Re(this,s[o+l],r,l),d===Ne&&(d=this._$AH[l]),i||=!lt(d)||d!==this._$AH[l],d===L?t=L:t!==L&&(t+=(d??"")+a[l+1]),this._$AH[l]=d}i&&!n&&this.j(t)}j(t){t===L?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}},es=class extends rr{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===L?void 0:t}},ts=class extends rr{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==L)}},rs=class extends rr{constructor(t,r,o,n,a){super(t,r,o,n,a),this.type=5}_$AI(t,r=this){if((t=Re(this,t,r,0)??L)===Ne)return;const o=this._$AH,n=t===L&&o!==L||t.capture!==o.capture||t.once!==o.once||t.passive!==o.passive,a=t!==L&&(o===L||n);n&&this.element.removeEventListener(this.name,this,o),a&&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)}},os=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){Re(this,t)}};const ns=Jr.litHtmlPolyfillSupport;ns?.(Er,Gr),(Jr.litHtmlVersions??=[]).push("3.3.2");const as=(e,t,r)=>{const o=r?.renderBefore??t;let n=o._$litPart$;if(n===void 0){const a=r?.renderBefore??null;o._$litPart$=n=new Gr(t.insertBefore(st(),a),a,void 0,r??{})}return n._$AI(e),n};const Vr=globalThis;class le extends Oe{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=as(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return Ne}}le._$litElement$=!0,le.finalized=!0,Vr.litElementHydrateSupport?.({LitElement:le});const is=Vr.litElementPolyfillSupport;is?.({LitElement:le});(Vr.litElementVersions??=[]).push("4.2.2");const qr=e=>(t,r)=>{r!==void 0?r.addInitializer(()=>{customElements.define(e,t)}):customElements.define(e,t)},M=[];for(let e=0;e<256;++e)M.push((e+256).toString(16).slice(1));function ss(e,t=0){return(M[e[t+0]]+M[e[t+1]]+M[e[t+2]]+M[e[t+3]]+"-"+M[e[t+4]]+M[e[t+5]]+"-"+M[e[t+6]]+M[e[t+7]]+"-"+M[e[t+8]]+M[e[t+9]]+"-"+M[e[t+10]]+M[e[t+11]]+M[e[t+12]]+M[e[t+13]]+M[e[t+14]]+M[e[t+15]]).toLowerCase()}let fr;const ls=new Uint8Array(16);function ds(){if(!fr){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");fr=crypto.getRandomValues.bind(crypto)}return fr(ls)}const cs=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Uo={randomUUID:cs};function ps(e,t,r){if(Uo.randomUUID&&!e)return Uo.randomUUID();e=e||{};const o=e.random??e.rng?.()??ds();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,ss(o)}function m(e,t,r){function o(s,l){if(s._zod||Object.defineProperty(s,"_zod",{value:{def:l,constr:i,traits:new Set},enumerable:!1}),s._zod.traits.has(e))return;s._zod.traits.add(e),t(s,l);const d=i.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 a extends n{}Object.defineProperty(a,"name",{value:e});function i(s){var l;const d=r?.Parent?new a:this;o(d,s),(l=d._zod).deferred??(l.deferred=[]);for(const c of d._zod.deferred)c();return d}return Object.defineProperty(i,"init",{value:o}),Object.defineProperty(i,Symbol.hasInstance,{value:s=>r?.Parent&&s instanceof r.Parent?!0:s?._zod?.traits?.has(e)}),Object.defineProperty(i,"name",{value:e}),i}class Ze extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class Jn extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}}const Wn={};function de(e){return Wn}function Gn(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 Ar(e,t){return typeof t=="bigint"?t.toString():t}function or(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function Kr(e){return e==null}function Hr(e){const t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function ms(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 a=r>n?r:n,i=Number.parseInt(e.toFixed(a).replace(".","")),s=Number.parseInt(t.toFixed(a).replace(".",""));return i%s/10**a}const Lo=Symbol("evaluating");function y(e,t,r){let o;Object.defineProperty(e,t,{get(){if(o!==Lo)return o===void 0&&(o=Lo,o=r()),o},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function $e(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function ue(...e){const t={};for(const r of e){const o=Object.getOwnPropertyDescriptors(r);Object.assign(t,o)}return Object.defineProperties({},t)}function Mo(e){return JSON.stringify(e)}function bs(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const Vn="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function dt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const us=or(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function Ue(e){if(dt(e)===!1)return!1;const t=e.constructor;if(t===void 0||typeof t!="function")return!0;const r=t.prototype;return!(dt(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function qn(e){return Ue(e)?{...e}:Array.isArray(e)?[...e]:e}const gs=new Set(["string","number","symbol"]);function Le(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ge(e,t,r){const o=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(o._zod.parent=e),o}function f(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 fs(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}const hs={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 vs(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 a=ue(e._zod.def,{get shape(){const i={};for(const s in t){if(!(s in r.shape))throw new Error(`Unrecognized key: "${s}"`);t[s]&&(i[s]=r.shape[s])}return $e(this,"shape",i),i},checks:[]});return ge(e,a)}function ws(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 a=ue(e._zod.def,{get shape(){const i={...e._zod.def.shape};for(const s in t){if(!(s in r.shape))throw new Error(`Unrecognized key: "${s}"`);t[s]&&delete i[s]}return $e(this,"shape",i),i},checks:[]});return ge(e,a)}function xs(e,t){if(!Ue(t))throw new Error("Invalid input to extend: expected a plain object");const r=e._zod.def.checks;if(r&&r.length>0){const a=e._zod.def.shape;for(const i in t)if(Object.getOwnPropertyDescriptor(a,i)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const n=ue(e._zod.def,{get shape(){const a={...e._zod.def.shape,...t};return $e(this,"shape",a),a}});return ge(e,n)}function ys(e,t){if(!Ue(t))throw new Error("Invalid input to safeExtend: expected a plain object");const r=ue(e._zod.def,{get shape(){const o={...e._zod.def.shape,...t};return $e(this,"shape",o),o}});return ge(e,r)}function ks(e,t){const r=ue(e._zod.def,{get shape(){const o={...e._zod.def.shape,...t._zod.def.shape};return $e(this,"shape",o),o},get catchall(){return t._zod.def.catchall},checks:[]});return ge(e,r)}function _s(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 i=ue(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 $e(this,"shape",l),l},checks:[]});return ge(t,i)}function zs(e,t,r){const o=ue(t._zod.def,{get shape(){const n=t._zod.def.shape,a={...n};if(r)for(const i in r){if(!(i in a))throw new Error(`Unrecognized key: "${i}"`);r[i]&&(a[i]=new e({type:"nonoptional",innerType:n[i]}))}else for(const i in n)a[i]=new e({type:"nonoptional",innerType:n[i]});return $e(this,"shape",a),a}});return ge(t,o)}function Pe(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 Te(e,t){return t.map(r=>{var o;return(o=r).path??(o.path=[]),r.path.unshift(e),r})}function xt(e){return typeof e=="string"?e:e?.message}function ce(e,t,r){const o={...e,path:e.path??[]};if(!e.message){const n=xt(e.inst?._zod.def?.error?.(e))??xt(t?.error?.(e))??xt(r.customError?.(e))??xt(r.localeError?.(e))??"Invalid input";o.message=n}return delete o.inst,delete o.continue,t?.reportInput||delete o.input,o}function Yr(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function ct(...e){const[t,r,o]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:o}:{...t}}const Kn=(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,Ar,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Hn=m("$ZodError",Kn),Yn=m("$ZodError",Kn,{Parent:Error});function $s(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 Ss(e,t=r=>r.message){const r={_errors:[]},o=n=>{for(const a of n.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map(i=>o({issues:i}));else if(a.code==="invalid_key")o({issues:a.issues});else if(a.code==="invalid_element")o({issues:a.issues});else if(a.path.length===0)r._errors.push(t(a));else{let i=r,s=0;for(;s<a.path.length;){const l=a.path[s];s===a.path.length-1?(i[l]=i[l]||{_errors:[]},i[l]._errors.push(t(a))):i[l]=i[l]||{_errors:[]},i=i[l],s++}}};return o(e),r}const Xr=e=>(t,r,o,n)=>{const a=o?Object.assign(o,{async:!1}):{async:!1},i=t._zod.run({value:r,issues:[]},a);if(i instanceof Promise)throw new Ze;if(i.issues.length){const s=new(n?.Err??e)(i.issues.map(l=>ce(l,a,de())));throw Vn(s,n?.callee),s}return i.value},Qr=e=>async(t,r,o,n)=>{const a=o?Object.assign(o,{async:!0}):{async:!0};let i=t._zod.run({value:r,issues:[]},a);if(i instanceof Promise&&(i=await i),i.issues.length){const s=new(n?.Err??e)(i.issues.map(l=>ce(l,a,de())));throw Vn(s,n?.callee),s}return i.value},nr=e=>(t,r,o)=>{const n=o?{...o,async:!1}:{async:!1},a=t._zod.run({value:r,issues:[]},n);if(a instanceof Promise)throw new Ze;return a.issues.length?{success:!1,error:new(e??Hn)(a.issues.map(i=>ce(i,n,de())))}:{success:!0,data:a.value}},Es=nr(Yn),ar=e=>async(t,r,o)=>{const n=o?Object.assign(o,{async:!0}):{async:!0};let a=t._zod.run({value:r,issues:[]},n);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(i=>ce(i,n,de())))}:{success:!0,data:a.value}},As=ar(Yn),Os=e=>(t,r,o)=>{const n=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return Xr(e)(t,r,n)},Ps=e=>(t,r,o)=>Xr(e)(t,r,o),Ts=e=>async(t,r,o)=>{const n=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return Qr(e)(t,r,n)},js=e=>async(t,r,o)=>Qr(e)(t,r,o),Is=e=>(t,r,o)=>{const n=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return nr(e)(t,r,n)},Zs=e=>(t,r,o)=>nr(e)(t,r,o),Cs=e=>async(t,r,o)=>{const n=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return ar(e)(t,r,n)},Ns=e=>async(t,r,o)=>ar(e)(t,r,o),Rs=/^[cC][^\s-]{8,}$/,Us=/^[0-9a-z]+$/,Ls=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Ms=/^[0-9a-vA-V]{20}$/,Ds=/^[A-Za-z0-9]{27}$/,Fs=/^[a-zA-Z0-9_-]{21}$/,Bs=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Js=/^([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})$/,Do=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)$/,Ws=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Gs="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Vs(){return new RegExp(Gs,"u")}const qs=/^(?:(?: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])$/,Ks=/^(([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}|:))$/,Hs=/^((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])$/,Ys=/^(([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])$/,Xs=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Xn=/^[A-Za-z0-9_-]*$/,Qs=/^\+[1-9]\d{6,14}$/,Qn="(?:(?:\\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])))",el=new RegExp(`^${Qn}$`);function ea(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 tl(e){return new RegExp(`^${ea(e)}$`)}function rl(e){const t=ea({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(`^${Qn}T(?:${o})$`)}const ol=e=>{const t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},nl=/^-?\d+$/,ta=/^-?\d+(?:\.\d+)?$/,al=/^(?:true|false)$/i,il=/^null$/i,sl=/^undefined$/i,ll=/^[^A-Z]*$/,dl=/^[^a-z]*$/,G=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"},oa=m("$ZodCheckLessThan",(e,t)=>{G.init(e,t);const r=ra[typeof t.value];e._zod.onattach.push(o=>{const n=o._zod.bag,a=(t.inclusive?n.maximum:n.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<a&&(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})}}),na=m("$ZodCheckGreaterThan",(e,t)=>{G.init(e,t);const r=ra[typeof t.value];e._zod.onattach.push(o=>{const n=o._zod.bag,a=(t.inclusive?n.minimum:n.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>a&&(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})}}),cl=m("$ZodCheckMultipleOf",(e,t)=>{G.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):ms(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})}}),pl=m("$ZodCheckNumberFormat",(e,t)=>{G.init(e,t),t.format=t.format||"float64";const r=t.format?.includes("int"),o=r?"int":"number",[n,a]=hs[t.format];e._zod.onattach.push(i=>{const s=i._zod.bag;s.format=t.format,s.minimum=n,s.maximum=a,r&&(s.pattern=nl)}),e._zod.check=i=>{const s=i.value;if(r){if(!Number.isInteger(s)){i.issues.push({expected:o,format:t.format,code:"invalid_type",continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?i.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}):i.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&&i.issues.push({origin:"number",input:s,code:"too_small",minimum:n,inclusive:!0,inst:e,continue:!t.abort}),s>a&&i.issues.push({origin:"number",input:s,code:"too_big",maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),ml=m("$ZodCheckMaxLength",(e,t)=>{var r;G.init(e,t),(r=e._zod.def).when??(r.when=o=>{const n=o.value;return!Kr(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=Yr(n);o.issues.push({origin:i,code:"too_big",maximum:t.maximum,inclusive:!0,input:n,inst:e,continue:!t.abort})}}),bl=m("$ZodCheckMinLength",(e,t)=>{var r;G.init(e,t),(r=e._zod.def).when??(r.when=o=>{const n=o.value;return!Kr(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=Yr(n);o.issues.push({origin:i,code:"too_small",minimum:t.minimum,inclusive:!0,input:n,inst:e,continue:!t.abort})}}),ul=m("$ZodCheckLengthEquals",(e,t)=>{var r;G.init(e,t),(r=e._zod.def).when??(r.when=o=>{const n=o.value;return!Kr(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,a=n.length;if(a===t.length)return;const i=Yr(n),s=a>t.length;o.issues.push({origin:i,...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})}}),ir=m("$ZodCheckStringFormat",(e,t)=>{var r,o;G.init(e,t),e._zod.onattach.push(n=>{const a=n._zod.bag;a.format=t.format,t.pattern&&(a.patterns??(a.patterns=new Set),a.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=()=>{})}),gl=m("$ZodCheckRegex",(e,t)=>{ir.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})}}),fl=m("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=ll),ir.init(e,t)}),hl=m("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=dl),ir.init(e,t)}),vl=m("$ZodCheckIncludes",(e,t)=>{G.init(e,t);const r=Le(t.includes),o=new RegExp(typeof t.position=="number"?`^.{${t.position}}${r}`:r);t.pattern=o,e._zod.onattach.push(n=>{const a=n._zod.bag;a.patterns??(a.patterns=new Set),a.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})}}),wl=m("$ZodCheckStartsWith",(e,t)=>{G.init(e,t);const r=new RegExp(`^${Le(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})}}),xl=m("$ZodCheckEndsWith",(e,t)=>{G.init(e,t);const r=new RegExp(`.*${Le(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})}}),yl=m("$ZodCheckOverwrite",(e,t)=>{G.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}});class kl{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(`
|
|
4
|
+
`).filter(i=>i),n=Math.min(...o.map(i=>i.length-i.trimStart().length)),a=o.map(i=>i.slice(n)).map(i=>" ".repeat(this.indent*2)+i);for(const i of a)this.content.push(i)}compile(){const t=Function,r=this?.args,n=[...(this?.content??[""]).map(a=>` ${a}`)];return new t(...r,n.join(`
|
|
5
|
+
`))}}const _l={major:4,minor:3,patch:6},S=m("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=_l;const o=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&o.unshift(e);for(const n of o)for(const a of n._zod.onattach)a(e);if(o.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const n=(i,s,l)=>{let d=Pe(i),c;for(const p of s){if(p._zod.def.when){if(!p._zod.def.when(i))continue}else if(d)continue;const u=i.issues.length,g=p._zod.check(i);if(g instanceof Promise&&l?.async===!1)throw new Ze;if(c||g instanceof Promise)c=(c??Promise.resolve()).then(async()=>{await g,i.issues.length!==u&&(d||(d=Pe(i,u)))});else{if(i.issues.length===u)continue;d||(d=Pe(i,u))}}return c?c.then(()=>i):i},a=(i,s,l)=>{if(Pe(i))return i.aborted=!0,i;const d=n(s,o,l);if(d instanceof Promise){if(l.async===!1)throw new Ze;return d.then(c=>e._zod.parse(c,l))}return e._zod.parse(d,l)};e._zod.run=(i,s)=>{if(s.skipChecks)return e._zod.parse(i,s);if(s.direction==="backward"){const d=e._zod.parse({value:i.value,issues:[]},{...s,skipChecks:!0});return d instanceof Promise?d.then(c=>a(c,i,s)):a(d,i,s)}const l=e._zod.parse(i,s);if(l instanceof Promise){if(s.async===!1)throw new Ze;return l.then(d=>n(d,o,s))}return n(l,o,s)}}y(e,"~standard",()=>({validate:n=>{try{const a=Es(e,n);return a.success?{value:a.data}:{issues:a.error?.issues}}catch{return As(e,n).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}))}),eo=m("$ZodString",(e,t)=>{S.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??ol(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}}),j=m("$ZodStringFormat",(e,t)=>{ir.init(e,t),eo.init(e,t)}),zl=m("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=Js),j.init(e,t)}),$l=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=Do(o))}else t.pattern??(t.pattern=Do());j.init(e,t)}),Sl=m("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Ws),j.init(e,t)}),El=m("$ZodURL",(e,t)=>{j.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})}}}),Al=m("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=Vs()),j.init(e,t)}),Ol=m("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=Fs),j.init(e,t)}),Pl=m("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=Rs),j.init(e,t)}),Tl=m("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=Us),j.init(e,t)}),jl=m("$ZodULID",(e,t)=>{t.pattern??(t.pattern=Ls),j.init(e,t)}),Il=m("$ZodXID",(e,t)=>{t.pattern??(t.pattern=Ms),j.init(e,t)}),Zl=m("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=Ds),j.init(e,t)}),Cl=m("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=rl(t)),j.init(e,t)}),Nl=m("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=el),j.init(e,t)}),Rl=m("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=tl(t)),j.init(e,t)}),Ul=m("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=Bs),j.init(e,t)}),Ll=m("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=qs),j.init(e,t),e._zod.bag.format="ipv4"}),Ml=m("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Ks),j.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})}}}),Dl=m("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=Hs),j.init(e,t)}),Fl=m("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=Ys),j.init(e,t),e._zod.check=r=>{const o=r.value.split("/");try{if(o.length!==2)throw new Error;const[n,a]=o;if(!a)throw new Error;const i=Number(a);if(`${i}`!==a)throw new Error;if(i<0||i>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 aa(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const Bl=m("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=Xs),j.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=r=>{aa(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});function Jl(e){if(!Xn.test(e))return!1;const t=e.replace(/[-_]/g,o=>o==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return aa(r)}const Wl=m("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Xn),j.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=r=>{Jl(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),Gl=m("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Qs),j.init(e,t)});function Vl(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 ql=m("$ZodJWT",(e,t)=>{j.init(e,t),e._zod.check=r=>{Vl(r.value,t.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}}),ia=m("$ZodNumber",(e,t)=>{S.init(e,t),e._zod.pattern=e._zod.bag.pattern??ta,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 a=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,...a?{received:a}:{}}),r}}),Kl=m("$ZodNumberFormat",(e,t)=>{pl.init(e,t),ia.init(e,t)}),Hl=m("$ZodBoolean",(e,t)=>{S.init(e,t),e._zod.pattern=al,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}}),Yl=m("$ZodUndefined",(e,t)=>{S.init(e,t),e._zod.pattern=sl,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}}),Xl=m("$ZodNull",(e,t)=>{S.init(e,t),e._zod.pattern=il,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}}),Ql=m("$ZodAny",(e,t)=>{S.init(e,t),e._zod.parse=r=>r}),ed=m("$ZodUnknown",(e,t)=>{S.init(e,t),e._zod.parse=r=>r}),td=m("$ZodNever",(e,t)=>{S.init(e,t),e._zod.parse=(r,o)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});function Fo(e,t,r){e.issues.length&&t.issues.push(...Te(r,e.issues)),t.value[r]=e.value}const rd=m("$ZodArray",(e,t)=>{S.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 a=[];for(let i=0;i<n.length;i++){const s=n[i],l=t.element._zod.run({value:s,issues:[]},o);l instanceof Promise?a.push(l.then(d=>Fo(d,r,i))):Fo(l,r,i)}return a.length?Promise.all(a).then(()=>r):r}});function Ft(e,t,r,o,n){if(e.issues.length){if(n&&!(r in o))return;t.issues.push(...Te(r,e.issues))}e.value===void 0?r in o&&(t.value[r]=void 0):t.value[r]=e.value}function sa(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=fs(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(r)}}function la(e,t,r,o,n,a){const i=[],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"){i.push(p);continue}const u=l.run({value:t[p],issues:[]},o);u instanceof Promise?e.push(u.then(g=>Ft(g,r,p,t,c))):Ft(u,r,p,t,c)}return i.length&&r.issues.push({code:"unrecognized_keys",keys:i,input:t,inst:a}),e.length?Promise.all(e).then(()=>r):r}const od=m("$ZodObject",(e,t)=>{if(S.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=or(()=>sa(t));y(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=dt,a=t.catchall;let i;e._zod.parse=(s,l)=>{i??(i=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=i.shape;for(const u of i.keys){const g=p[u],v=g._zod.optout==="optional",N=g._zod.run({value:d[u],issues:[]},l);N instanceof Promise?c.push(N.then(Ae=>Ft(Ae,s,u,d,v))):Ft(N,s,u,d,v)}return a?la(c,d,s,l,o.value,e):c.length?Promise.all(c).then(()=>s):s}}),nd=m("$ZodObjectJIT",(e,t)=>{od.init(e,t);const r=e._zod.parse,o=or(()=>sa(t)),n=u=>{const g=new kl(["shape","payload","ctx"]),v=o.value,N=A=>{const $=Mo(A);return`shape[${$}]._zod.run({ value: input[${$}], issues: [] }, ctx)`};g.write("const input = payload.value;");const Ae=Object.create(null);let ur=0;for(const A of v.keys)Ae[A]=`key_${ur++}`;g.write("const newResult = {};");for(const A of v.keys){const $=Ae[A],q=Mo(A),Li=u[A]?._zod?.optout==="optional";g.write(`const ${$} = ${N(A)};`),Li?g.write(`
|
|
6
|
+
if (${$}.issues.length) {
|
|
7
|
+
if (${q} in input) {
|
|
8
|
+
payload.issues = payload.issues.concat(${$}.issues.map(iss => ({
|
|
9
|
+
...iss,
|
|
10
|
+
path: iss.path ? [${q}, ...iss.path] : [${q}]
|
|
11
|
+
})));
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
if (${$}.value === undefined) {
|
|
16
|
+
if (${q} in input) {
|
|
17
|
+
newResult[${q}] = undefined;
|
|
18
|
+
}
|
|
19
|
+
} else {
|
|
20
|
+
newResult[${q}] = ${$}.value;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
`):g.write(`
|
|
24
|
+
if (${$}.issues.length) {
|
|
25
|
+
payload.issues = payload.issues.concat(${$}.issues.map(iss => ({
|
|
26
|
+
...iss,
|
|
27
|
+
path: iss.path ? [${q}, ...iss.path] : [${q}]
|
|
28
|
+
})));
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
if (${$}.value === undefined) {
|
|
32
|
+
if (${q} in input) {
|
|
33
|
+
newResult[${q}] = undefined;
|
|
34
|
+
}
|
|
35
|
+
} else {
|
|
36
|
+
newResult[${q}] = ${$}.value;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
`)}g.write("payload.value = newResult;"),g.write("return payload;");const H=g.compile();return(A,$)=>H(u,A,$)};let a;const i=dt,s=!Wn.jitless,d=s&&us.value,c=t.catchall;let p;e._zod.parse=(u,g)=>{p??(p=o.value);const v=u.value;return i(v)?s&&d&&g?.async===!1&&g.jitless!==!0?(a||(a=n(t.shape)),u=a(u,g),c?la([],v,u,g,p,e):u):r(u,g):(u.issues.push({expected:"object",code:"invalid_type",input:v,inst:e}),u)}});function Bo(e,t,r,o){for(const a of e)if(a.issues.length===0)return t.value=a.value,t;const n=e.filter(a=>!Pe(a));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(a=>a.issues.map(i=>ce(i,o,de())))}),t)}const da=m("$ZodUnion",(e,t)=>{S.init(e,t),y(e._zod,"optin",()=>t.options.some(n=>n._zod.optin==="optional")?"optional":void 0),y(e._zod,"optout",()=>t.options.some(n=>n._zod.optout==="optional")?"optional":void 0),y(e._zod,"values",()=>{if(t.options.every(n=>n._zod.values))return new Set(t.options.flatMap(n=>Array.from(n._zod.values)))}),y(e._zod,"pattern",()=>{if(t.options.every(n=>n._zod.pattern)){const n=t.options.map(a=>a._zod.pattern);return new RegExp(`^(${n.map(a=>Hr(a.source)).join("|")})$`)}});const r=t.options.length===1,o=t.options[0]._zod.run;e._zod.parse=(n,a)=>{if(r)return o(n,a);let i=!1;const s=[];for(const l of t.options){const d=l._zod.run({value:n.value,issues:[]},a);if(d instanceof Promise)s.push(d),i=!0;else{if(d.issues.length===0)return d;s.push(d)}}return i?Promise.all(s).then(l=>Bo(l,n,e,a)):Bo(s,n,e,a)}}),ad=m("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,da.init(e,t);const r=e._zod.parse;y(e._zod,"propValues",()=>{const n={};for(const a of t.options){const i=a._zod.propValues;if(!i||Object.keys(i).length===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(a)}"`);for(const[s,l]of Object.entries(i)){n[s]||(n[s]=new Set);for(const d of l)n[s].add(d)}}return n});const o=or(()=>{const n=t.options,a=new Map;for(const i of n){const s=i._zod.propValues?.[t.discriminator];if(!s||s.size===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(i)}"`);for(const l of s){if(a.has(l))throw new Error(`Duplicate discriminator value "${String(l)}"`);a.set(l,i)}}return a});e._zod.parse=(n,a)=>{const i=n.value;if(!dt(i))return n.issues.push({code:"invalid_type",expected:"object",input:i,inst:e}),n;const s=o.value.get(i?.[t.discriminator]);return s?s._zod.run(n,a):t.unionFallback?r(n,a):(n.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,input:i,path:[t.discriminator],inst:e}),n)}}),id=m("$ZodIntersection",(e,t)=>{S.init(e,t),e._zod.parse=(r,o)=>{const n=r.value,a=t.left._zod.run({value:n,issues:[]},o),i=t.right._zod.run({value:n,issues:[]},o);return a instanceof Promise||i instanceof Promise?Promise.all([a,i]).then(([l,d])=>Jo(r,l,d)):Jo(r,a,i)}});function Or(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(Ue(e)&&Ue(t)){const r=Object.keys(t),o=Object.keys(e).filter(a=>r.indexOf(a)!==-1),n={...e,...t};for(const a of o){const i=Or(e[a],t[a]);if(!i.valid)return{valid:!1,mergeErrorPath:[a,...i.mergeErrorPath]};n[a]=i.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],a=t[o],i=Or(n,a);if(!i.valid)return{valid:!1,mergeErrorPath:[o,...i.mergeErrorPath]};r.push(i.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function Jo(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 a=[...o].filter(([,s])=>s.l&&s.r).map(([s])=>s);if(a.length&&n&&e.issues.push({...n,keys:a}),Pe(e))return e;const i=Or(t.value,r.value);if(!i.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(i.mergeErrorPath)}`);return e.value=i.data,e}const sd=m("$ZodRecord",(e,t)=>{S.init(e,t),e._zod.parse=(r,o)=>{const n=r.value;if(!Ue(n))return r.issues.push({expected:"record",code:"invalid_type",input:n,inst:e}),r;const a=[],i=t.keyType._zod.values;if(i){r.value={};const s=new Set;for(const d of i)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?a.push(c.then(p=>{p.issues.length&&r.issues.push(...Te(d,p.issues)),r.value[d]=p.value})):(c.issues.length&&r.issues.push(...Te(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"&&ta.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=>ce(p,o,de())),input:s,path:[s],inst:e});continue}const c=t.valueType._zod.run({value:n[s],issues:[]},o);c instanceof Promise?a.push(c.then(p=>{p.issues.length&&r.issues.push(...Te(s,p.issues)),r.value[l.value]=p.value})):(c.issues.length&&r.issues.push(...Te(s,c.issues)),r.value[l.value]=c.value)}}return a.length?Promise.all(a).then(()=>r):r}}),ld=m("$ZodEnum",(e,t)=>{S.init(e,t);const r=Gn(t.entries),o=new Set(r);e._zod.values=o,e._zod.pattern=new RegExp(`^(${r.filter(n=>gs.has(typeof n)).map(n=>typeof n=="string"?Le(n):n.toString()).join("|")})$`),e._zod.parse=(n,a)=>{const i=n.value;return o.has(i)||n.issues.push({code:"invalid_value",values:r,input:i,inst:e}),n}}),dd=m("$ZodLiteral",(e,t)=>{if(S.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"?Le(o):o?Le(o.toString()):String(o)).join("|")})$`),e._zod.parse=(o,n)=>{const a=o.value;return r.has(a)||o.issues.push({code:"invalid_value",values:t.values,input:a,inst:e}),o}}),cd=m("$ZodTransform",(e,t)=>{S.init(e,t),e._zod.parse=(r,o)=>{if(o.direction==="backward")throw new Jn(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 Ze;return r.value=n,r}});function Wo(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}const ca=m("$ZodOptional",(e,t)=>{S.init(e,t),e._zod.optin="optional",e._zod.optout="optional",y(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),y(e._zod,"pattern",()=>{const r=t.innerType._zod.pattern;return r?new RegExp(`^(${Hr(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(a=>Wo(a,r.value)):Wo(n,r.value)}return r.value===void 0?r:t.innerType._zod.run(r,o)}}),pd=m("$ZodExactOptional",(e,t)=>{ca.init(e,t),y(e._zod,"values",()=>t.innerType._zod.values),y(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(r,o)=>t.innerType._zod.run(r,o)}),md=m("$ZodNullable",(e,t)=>{S.init(e,t),y(e._zod,"optin",()=>t.innerType._zod.optin),y(e._zod,"optout",()=>t.innerType._zod.optout),y(e._zod,"pattern",()=>{const r=t.innerType._zod.pattern;return r?new RegExp(`^(${Hr(r.source)}|null)$`):void 0}),y(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)}),bd=m("$ZodDefault",(e,t)=>{S.init(e,t),e._zod.optin="optional",y(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(a=>Go(a,t)):Go(n,t)}});function Go(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const ud=m("$ZodPrefault",(e,t)=>{S.init(e,t),e._zod.optin="optional",y(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))}),gd=m("$ZodNonOptional",(e,t)=>{S.init(e,t),y(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(a=>Vo(a,e)):Vo(n,e)}});function Vo(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 fd=m("$ZodCatch",(e,t)=>{S.init(e,t),y(e._zod,"optin",()=>t.innerType._zod.optin),y(e._zod,"optout",()=>t.innerType._zod.optout),y(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(a=>(r.value=a.value,a.issues.length&&(r.value=t.catchValue({...r,error:{issues:a.issues.map(i=>ce(i,o,de()))},input:r.value}),r.issues=[]),r)):(r.value=n.value,n.issues.length&&(r.value=t.catchValue({...r,error:{issues:n.issues.map(a=>ce(a,o,de()))},input:r.value}),r.issues=[]),r)}}),hd=m("$ZodPipe",(e,t)=>{S.init(e,t),y(e._zod,"values",()=>t.in._zod.values),y(e._zod,"optin",()=>t.in._zod.optin),y(e._zod,"optout",()=>t.out._zod.optout),y(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(r,o)=>{if(o.direction==="backward"){const a=t.out._zod.run(r,o);return a instanceof Promise?a.then(i=>yt(i,t.in,o)):yt(a,t.in,o)}const n=t.in._zod.run(r,o);return n instanceof Promise?n.then(a=>yt(a,t.out,o)):yt(n,t.out,o)}});function yt(e,t,r){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},r)}const vd=m("$ZodReadonly",(e,t)=>{S.init(e,t),y(e._zod,"propValues",()=>t.innerType._zod.propValues),y(e._zod,"values",()=>t.innerType._zod.values),y(e._zod,"optin",()=>t.innerType?._zod?.optin),y(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(qo):qo(n)}});function qo(e){return e.value=Object.freeze(e.value),e}const wd=m("$ZodCustom",(e,t)=>{G.init(e,t),S.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(a=>Ko(a,r,o,e));Ko(n,r,o,e)}});function Ko(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(ct(n))}}var Ho;class xd{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 yd(){return new xd}(Ho=globalThis).__zod_globalRegistry??(Ho.__zod_globalRegistry=yd());const tt=globalThis.__zod_globalRegistry;function kd(e,t){return new e({type:"string",...f(t)})}function _d(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...f(t)})}function Yo(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...f(t)})}function zd(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...f(t)})}function $d(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...f(t)})}function Sd(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...f(t)})}function Ed(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...f(t)})}function Ad(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...f(t)})}function Od(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...f(t)})}function Pd(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...f(t)})}function Td(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...f(t)})}function jd(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...f(t)})}function Id(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...f(t)})}function Zd(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...f(t)})}function Cd(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...f(t)})}function Nd(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...f(t)})}function Rd(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...f(t)})}function Ud(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...f(t)})}function Ld(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...f(t)})}function Md(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...f(t)})}function Dd(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...f(t)})}function Fd(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...f(t)})}function Bd(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...f(t)})}function Jd(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...f(t)})}function Wd(e,t){return new e({type:"string",format:"date",check:"string_format",...f(t)})}function Gd(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...f(t)})}function Vd(e,t){return new e({type:"string",format:"duration",check:"string_format",...f(t)})}function qd(e,t){return new e({type:"number",checks:[],...f(t)})}function Kd(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...f(t)})}function Hd(e,t){return new e({type:"boolean",...f(t)})}function Yd(e,t){return new e({type:"undefined",...f(t)})}function Xd(e,t){return new e({type:"null",...f(t)})}function Qd(e){return new e({type:"any"})}function ec(e){return new e({type:"unknown"})}function tc(e,t){return new e({type:"never",...f(t)})}function Xo(e,t){return new oa({check:"less_than",...f(t),value:e,inclusive:!1})}function hr(e,t){return new oa({check:"less_than",...f(t),value:e,inclusive:!0})}function Qo(e,t){return new na({check:"greater_than",...f(t),value:e,inclusive:!1})}function vr(e,t){return new na({check:"greater_than",...f(t),value:e,inclusive:!0})}function en(e,t){return new cl({check:"multiple_of",...f(t),value:e})}function pa(e,t){return new ml({check:"max_length",...f(t),maximum:e})}function Bt(e,t){return new bl({check:"min_length",...f(t),minimum:e})}function ma(e,t){return new ul({check:"length_equals",...f(t),length:e})}function rc(e,t){return new gl({check:"string_format",format:"regex",...f(t),pattern:e})}function oc(e){return new fl({check:"string_format",format:"lowercase",...f(e)})}function nc(e){return new hl({check:"string_format",format:"uppercase",...f(e)})}function ac(e,t){return new vl({check:"string_format",format:"includes",...f(t),includes:e})}function ic(e,t){return new wl({check:"string_format",format:"starts_with",...f(t),prefix:e})}function sc(e,t){return new xl({check:"string_format",format:"ends_with",...f(t),suffix:e})}function Ge(e){return new yl({check:"overwrite",tx:e})}function lc(e){return Ge(t=>t.normalize(e))}function dc(){return Ge(e=>e.trim())}function cc(){return Ge(e=>e.toLowerCase())}function pc(){return Ge(e=>e.toUpperCase())}function mc(){return Ge(e=>bs(e))}function bc(e,t,r){return new e({type:"array",element:t,...f(r)})}function uc(e,t,r){return new e({type:"custom",check:"custom",fn:t,...f(r)})}function gc(e){const t=fc(r=>(r.addIssue=o=>{if(typeof o=="string")r.issues.push(ct(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(ct(n))}},e(r.value,r)));return t}function fc(e,t){const r=new G({check:"custom",...f(t)});return r._zod.check=e,r}function ba(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??tt,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 R(e,t,r={path:[],schemaPath:[]}){var o;const n=e._zod.def,a=t.seen.get(e);if(a)return a.count++,r.schemaPath.includes(e)&&(a.cycle=r.path),a.schema;const i={schema:{},count:1,cycle:void 0,path:r.path};t.seen.set(e,i);const s=e._zod.toJSONSchema?.();if(s)i.schema=s;else{const c={...r,schemaPath:[...r.schemaPath,e],path:r.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,i.schema,c);else{const u=i.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&&(i.ref||(i.ref=p),R(p,t,c),t.seen.get(p).isParent=!0)}const l=t.metadataRegistry.get(e);return l&&Object.assign(i.schema,l),t.io==="input"&&B(e)&&(delete i.schema.examples,delete i.schema.default),t.io==="input"&&i.schema._prefault&&((o=i.schema).default??(o.default=i.schema._prefault)),delete i.schema._prefault,t.seen.get(e).schema}function ua(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 i of e.seen.entries()){const s=e.metadataRegistry.get(i[0])?.id;if(s){const l=o.get(s);if(l&&l!==i[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,i[0])}}const n=i=>{const s=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const p=e.external.registry.get(i[0])?.id,u=e.external.uri??(v=>v);if(p)return{ref:u(p)};const g=i[1].defId??i[1].schema.id??`schema${e.counter++}`;return i[1].defId=g,{defId:g,ref:`${u("__shared")}#/${s}/${g}`}}if(i[1]===r)return{ref:"#"};const d=`#/${s}/`,c=i[1].schema.id??`__schema${e.counter++}`;return{defId:c,ref:d+c}},a=i=>{if(i[1].schema.$ref)return;const s=i[1],{ref:l,defId:d}=n(i);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 i of e.seen.entries()){const s=i[1];if(s.cycle)throw new Error(`Cycle detected: #/${s.cycle?.join("/")}/<root>
|
|
40
|
+
|
|
41
|
+
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const i of e.seen.entries()){const s=i[1];if(t===i[0]){a(i);continue}if(e.external){const d=e.external.registry.get(i[0])?.id;if(t!==i[0]&&d){a(i);continue}}if(e.metadataRegistry.get(i[0])?.id){a(i);continue}if(s.cycle){a(i);continue}if(s.count>1&&e.reused==="ref"){a(i);continue}}}function ga(e,t){const r=e.seen.get(t);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const o=i=>{const s=e.seen.get(i);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),i._zod.parent===c)for(const N in l)N==="$ref"||N==="allOf"||N in d||delete l[N];if(g.$ref&&u.def)for(const N in l)N==="$ref"||N==="allOf"||N in u.def&&JSON.stringify(l[N])===JSON.stringify(u.def[N])&&delete l[N]}const p=i._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:i,jsonSchema:l,path:s.path??[]})};for(const i of[...e.seen.entries()].reverse())o(i[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 i=e.external.registry.get(t)?.id;if(!i)throw new Error("Schema is missing an `id` property");n.$id=e.external.uri(i)}Object.assign(n,r.def??r.schema);const a=e.external?.defs??{};for(const i of e.seen.entries()){const s=i[1];s.def&&s.defId&&(a[s.defId]=s.def)}e.external||Object.keys(a).length>0&&(e.target==="draft-2020-12"?n.$defs=a:n.definitions=a);try{const i=JSON.parse(JSON.stringify(n));return Object.defineProperty(i,"~standard",{value:{...t["~standard"],jsonSchema:{input:Jt(t,"input",e.processors),output:Jt(t,"output",e.processors)}},enumerable:!1,writable:!1}),i}catch{throw new Error("Error converting schema to JSON.")}}function B(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 B(o.element,r);if(o.type==="set")return B(o.valueType,r);if(o.type==="lazy")return B(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 B(o.innerType,r);if(o.type==="intersection")return B(o.left,r)||B(o.right,r);if(o.type==="record"||o.type==="map")return B(o.keyType,r)||B(o.valueType,r);if(o.type==="pipe")return B(o.in,r)||B(o.out,r);if(o.type==="object"){for(const n in o.shape)if(B(o.shape[n],r))return!0;return!1}if(o.type==="union"){for(const n of o.options)if(B(n,r))return!0;return!1}if(o.type==="tuple"){for(const n of o.items)if(B(n,r))return!0;return!!(o.rest&&B(o.rest,r))}return!1}const hc=(e,t={})=>r=>{const o=ba({...r,processors:t});return R(e,o),ua(o,e),ga(o,e)},Jt=(e,t,r={})=>o=>{const{libraryOptions:n,target:a}=o??{},i=ba({...n??{},target:a,io:t,processors:r});return R(e,i),ua(i,e),ga(i,e)},vc={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},wc=(e,t,r,o)=>{const n=r;n.type="string";const{minimum:a,maximum:i,format:s,patterns:l,contentEncoding:d}=e._zod.bag;if(typeof a=="number"&&(n.minLength=a),typeof i=="number"&&(n.maxLength=i),s&&(n.format=vc[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}))])}},xc=(e,t,r,o)=>{const n=r,{minimum:a,maximum:i,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 a=="number"&&(n.minimum=a,typeof c=="number"&&t.target!=="draft-04"&&(c>=a?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 i=="number"&&(n.maximum=i,typeof d=="number"&&t.target!=="draft-04"&&(d<=i?delete n.maximum:delete n.exclusiveMaximum)),typeof l=="number"&&(n.multipleOf=l)},yc=(e,t,r,o)=>{r.type="boolean"},kc=(e,t,r,o)=>{t.target==="openapi-3.0"?(r.type="string",r.nullable=!0,r.enum=[null]):r.type="null"},_c=(e,t,r,o)=>{if(t.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},zc=(e,t,r,o)=>{r.not={}},$c=(e,t,r,o)=>{},Sc=(e,t,r,o)=>{},Ec=(e,t,r,o)=>{const n=e._zod.def,a=Gn(n.entries);a.every(i=>typeof i=="number")&&(r.type="number"),a.every(i=>typeof i=="string")&&(r.type="string"),r.enum=a},Ac=(e,t,r,o)=>{const n=e._zod.def,a=[];for(const i of n.values)if(i===void 0){if(t.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof i=="bigint"){if(t.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");a.push(Number(i))}else a.push(i);if(a.length!==0)if(a.length===1){const i=a[0];r.type=i===null?"null":typeof i,t.target==="draft-04"||t.target==="openapi-3.0"?r.enum=[i]:r.const=i}else a.every(i=>typeof i=="number")&&(r.type="number"),a.every(i=>typeof i=="string")&&(r.type="string"),a.every(i=>typeof i=="boolean")&&(r.type="boolean"),a.every(i=>i===null)&&(r.type="null"),r.enum=a},Oc=(e,t,r,o)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Pc=(e,t,r,o)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Tc=(e,t,r,o)=>{const n=r,a=e._zod.def,{minimum:i,maximum:s}=e._zod.bag;typeof i=="number"&&(n.minItems=i),typeof s=="number"&&(n.maxItems=s),n.type="array",n.items=R(a.element,t,{...o,path:[...o.path,"items"]})},jc=(e,t,r,o)=>{const n=r,a=e._zod.def;n.type="object",n.properties={};const i=a.shape;for(const d in i)n.properties[d]=R(i[d],t,{...o,path:[...o.path,"properties",d]});const s=new Set(Object.keys(i)),l=new Set([...s].filter(d=>{const c=a.shape[d]._zod;return t.io==="input"?c.optin===void 0:c.optout===void 0}));l.size>0&&(n.required=Array.from(l)),a.catchall?._zod.def.type==="never"?n.additionalProperties=!1:a.catchall?a.catchall&&(n.additionalProperties=R(a.catchall,t,{...o,path:[...o.path,"additionalProperties"]})):t.io==="output"&&(n.additionalProperties=!1)},Ic=(e,t,r,o)=>{const n=e._zod.def,a=n.inclusive===!1,i=n.options.map((s,l)=>R(s,t,{...o,path:[...o.path,a?"oneOf":"anyOf",l]}));a?r.oneOf=i:r.anyOf=i},Zc=(e,t,r,o)=>{const n=e._zod.def,a=R(n.left,t,{...o,path:[...o.path,"allOf",0]}),i=R(n.right,t,{...o,path:[...o.path,"allOf",1]}),s=d=>"allOf"in d&&Object.keys(d).length===1,l=[...s(a)?a.allOf:[a],...s(i)?i.allOf:[i]];r.allOf=l},Cc=(e,t,r,o)=>{const n=r,a=e._zod.def;n.type="object";const i=a.keyType,l=i._zod.bag?.patterns;if(a.mode==="loose"&&l&&l.size>0){const c=R(a.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=R(a.keyType,t,{...o,path:[...o.path,"propertyNames"]})),n.additionalProperties=R(a.valueType,t,{...o,path:[...o.path,"additionalProperties"]});const d=i._zod.values;if(d){const c=[...d].filter(p=>typeof p=="string"||typeof p=="number");c.length>0&&(n.required=c)}},Nc=(e,t,r,o)=>{const n=e._zod.def,a=R(n.innerType,t,o),i=t.seen.get(e);t.target==="openapi-3.0"?(i.ref=n.innerType,r.nullable=!0):r.anyOf=[a,{type:"null"}]},Rc=(e,t,r,o)=>{const n=e._zod.def;R(n.innerType,t,o);const a=t.seen.get(e);a.ref=n.innerType},Uc=(e,t,r,o)=>{const n=e._zod.def;R(n.innerType,t,o);const a=t.seen.get(e);a.ref=n.innerType,r.default=JSON.parse(JSON.stringify(n.defaultValue))},Lc=(e,t,r,o)=>{const n=e._zod.def;R(n.innerType,t,o);const a=t.seen.get(e);a.ref=n.innerType,t.io==="input"&&(r._prefault=JSON.parse(JSON.stringify(n.defaultValue)))},Mc=(e,t,r,o)=>{const n=e._zod.def;R(n.innerType,t,o);const a=t.seen.get(e);a.ref=n.innerType;let i;try{i=n.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}r.default=i},Dc=(e,t,r,o)=>{const n=e._zod.def,a=t.io==="input"?n.in._zod.def.type==="transform"?n.out:n.in:n.out;R(a,t,o);const i=t.seen.get(e);i.ref=a},Fc=(e,t,r,o)=>{const n=e._zod.def;R(n.innerType,t,o);const a=t.seen.get(e);a.ref=n.innerType,r.readOnly=!0},fa=(e,t,r,o)=>{const n=e._zod.def;R(n.innerType,t,o);const a=t.seen.get(e);a.ref=n.innerType},Bc=m("ZodISODateTime",(e,t)=>{Cl.init(e,t),Z.init(e,t)});function Jc(e){return Jd(Bc,e)}const Wc=m("ZodISODate",(e,t)=>{Nl.init(e,t),Z.init(e,t)});function Gc(e){return Wd(Wc,e)}const Vc=m("ZodISOTime",(e,t)=>{Rl.init(e,t),Z.init(e,t)});function qc(e){return Gd(Vc,e)}const Kc=m("ZodISODuration",(e,t)=>{Ul.init(e,t),Z.init(e,t)});function Hc(e){return Vd(Kc,e)}const Yc=(e,t)=>{Hn.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>Ss(e,r)},flatten:{value:r=>$s(e,r)},addIssue:{value:r=>{e.issues.push(r),e.message=JSON.stringify(e.issues,Ar,2)}},addIssues:{value:r=>{e.issues.push(...r),e.message=JSON.stringify(e.issues,Ar,2)}},isEmpty:{get(){return e.issues.length===0}}})},X=m("ZodError",Yc,{Parent:Error}),Xc=Xr(X),Qc=Qr(X),ep=nr(X),tp=ar(X),rp=Os(X),op=Ps(X),np=Ts(X),ap=js(X),ip=Is(X),sp=Zs(X),lp=Cs(X),dp=Ns(X),E=m("ZodType",(e,t)=>(S.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:Jt(e,"input"),output:Jt(e,"output")}}),e.toJSONSchema=hc(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...r)=>e.clone(ue(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)=>ge(e,r,o),e.brand=()=>e,e.register=((r,o)=>(r.add(e,o),e)),e.parse=(r,o)=>Xc(e,r,o,{callee:e.parse}),e.safeParse=(r,o)=>ep(e,r,o),e.parseAsync=async(r,o)=>Qc(e,r,o,{callee:e.parseAsync}),e.safeParseAsync=async(r,o)=>tp(e,r,o),e.spa=e.safeParseAsync,e.encode=(r,o)=>rp(e,r,o),e.decode=(r,o)=>op(e,r,o),e.encodeAsync=async(r,o)=>np(e,r,o),e.decodeAsync=async(r,o)=>ap(e,r,o),e.safeEncode=(r,o)=>ip(e,r,o),e.safeDecode=(r,o)=>sp(e,r,o),e.safeEncodeAsync=async(r,o)=>lp(e,r,o),e.safeDecodeAsync=async(r,o)=>dp(e,r,o),e.refine=(r,o)=>e.check(sm(r,o)),e.superRefine=r=>e.check(lm(r)),e.overwrite=r=>e.check(Ge(r)),e.optional=()=>ye(e),e.exactOptional=()=>qp(e),e.nullable=()=>on(e),e.nullish=()=>ye(on(e)),e.nonoptional=r=>em(e,r),e.array=()=>ya(e),e.or=r=>to([e,r]),e.and=r=>ro(e,r),e.transform=r=>nn(e,Gp(r)),e.default=r=>Yp(e,r),e.prefault=r=>Qp(e,r),e.catch=r=>rm(e,r),e.pipe=r=>nn(e,r),e.readonly=()=>am(e),e.describe=r=>{const o=e.clone();return tt.add(o,{description:r}),o},Object.defineProperty(e,"description",{get(){return tt.get(e)?.description},configurable:!0}),e.meta=(...r)=>{if(r.length===0)return tt.get(e);const o=e.clone();return tt.add(o,r[0]),o},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=r=>r(e),e)),ha=m("_ZodString",(e,t)=>{eo.init(e,t),E.init(e,t),e._zod.processJSONSchema=(o,n,a)=>wc(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(rc(...o)),e.includes=(...o)=>e.check(ac(...o)),e.startsWith=(...o)=>e.check(ic(...o)),e.endsWith=(...o)=>e.check(sc(...o)),e.min=(...o)=>e.check(Bt(...o)),e.max=(...o)=>e.check(pa(...o)),e.length=(...o)=>e.check(ma(...o)),e.nonempty=(...o)=>e.check(Bt(1,...o)),e.lowercase=o=>e.check(oc(o)),e.uppercase=o=>e.check(nc(o)),e.trim=()=>e.check(dc()),e.normalize=(...o)=>e.check(lc(...o)),e.toLowerCase=()=>e.check(cc()),e.toUpperCase=()=>e.check(pc()),e.slugify=()=>e.check(mc())}),cp=m("ZodString",(e,t)=>{eo.init(e,t),ha.init(e,t),e.email=r=>e.check(_d(pp,r)),e.url=r=>e.check(Ad(mp,r)),e.jwt=r=>e.check(Bd(Ep,r)),e.emoji=r=>e.check(Od(bp,r)),e.guid=r=>e.check(Yo(tn,r)),e.uuid=r=>e.check(zd(kt,r)),e.uuidv4=r=>e.check($d(kt,r)),e.uuidv6=r=>e.check(Sd(kt,r)),e.uuidv7=r=>e.check(Ed(kt,r)),e.nanoid=r=>e.check(Pd(up,r)),e.guid=r=>e.check(Yo(tn,r)),e.cuid=r=>e.check(Td(gp,r)),e.cuid2=r=>e.check(jd(fp,r)),e.ulid=r=>e.check(Id(hp,r)),e.base64=r=>e.check(Md(zp,r)),e.base64url=r=>e.check(Dd($p,r)),e.xid=r=>e.check(Zd(vp,r)),e.ksuid=r=>e.check(Cd(wp,r)),e.ipv4=r=>e.check(Nd(xp,r)),e.ipv6=r=>e.check(Rd(yp,r)),e.cidrv4=r=>e.check(Ud(kp,r)),e.cidrv6=r=>e.check(Ld(_p,r)),e.e164=r=>e.check(Fd(Sp,r)),e.datetime=r=>e.check(Jc(r)),e.date=r=>e.check(Gc(r)),e.time=r=>e.check(qc(r)),e.duration=r=>e.check(Hc(r))});function Y(e){return kd(cp,e)}const Z=m("ZodStringFormat",(e,t)=>{j.init(e,t),ha.init(e,t)}),pp=m("ZodEmail",(e,t)=>{Sl.init(e,t),Z.init(e,t)}),tn=m("ZodGUID",(e,t)=>{zl.init(e,t),Z.init(e,t)}),kt=m("ZodUUID",(e,t)=>{$l.init(e,t),Z.init(e,t)}),mp=m("ZodURL",(e,t)=>{El.init(e,t),Z.init(e,t)}),bp=m("ZodEmoji",(e,t)=>{Al.init(e,t),Z.init(e,t)}),up=m("ZodNanoID",(e,t)=>{Ol.init(e,t),Z.init(e,t)}),gp=m("ZodCUID",(e,t)=>{Pl.init(e,t),Z.init(e,t)}),fp=m("ZodCUID2",(e,t)=>{Tl.init(e,t),Z.init(e,t)}),hp=m("ZodULID",(e,t)=>{jl.init(e,t),Z.init(e,t)}),vp=m("ZodXID",(e,t)=>{Il.init(e,t),Z.init(e,t)}),wp=m("ZodKSUID",(e,t)=>{Zl.init(e,t),Z.init(e,t)}),xp=m("ZodIPv4",(e,t)=>{Ll.init(e,t),Z.init(e,t)}),yp=m("ZodIPv6",(e,t)=>{Ml.init(e,t),Z.init(e,t)}),kp=m("ZodCIDRv4",(e,t)=>{Dl.init(e,t),Z.init(e,t)}),_p=m("ZodCIDRv6",(e,t)=>{Fl.init(e,t),Z.init(e,t)}),zp=m("ZodBase64",(e,t)=>{Bl.init(e,t),Z.init(e,t)}),$p=m("ZodBase64URL",(e,t)=>{Wl.init(e,t),Z.init(e,t)}),Sp=m("ZodE164",(e,t)=>{Gl.init(e,t),Z.init(e,t)}),Ep=m("ZodJWT",(e,t)=>{ql.init(e,t),Z.init(e,t)}),va=m("ZodNumber",(e,t)=>{ia.init(e,t),E.init(e,t),e._zod.processJSONSchema=(o,n,a)=>xc(e,o,n),e.gt=(o,n)=>e.check(Qo(o,n)),e.gte=(o,n)=>e.check(vr(o,n)),e.min=(o,n)=>e.check(vr(o,n)),e.lt=(o,n)=>e.check(Xo(o,n)),e.lte=(o,n)=>e.check(hr(o,n)),e.max=(o,n)=>e.check(hr(o,n)),e.int=o=>e.check(rn(o)),e.safe=o=>e.check(rn(o)),e.positive=o=>e.check(Qo(0,o)),e.nonnegative=o=>e.check(vr(0,o)),e.negative=o=>e.check(Xo(0,o)),e.nonpositive=o=>e.check(hr(0,o)),e.multipleOf=(o,n)=>e.check(en(o,n)),e.step=(o,n)=>e.check(en(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 Pr(e){return qd(va,e)}const Ap=m("ZodNumberFormat",(e,t)=>{Kl.init(e,t),va.init(e,t)});function rn(e){return Kd(Ap,e)}const Op=m("ZodBoolean",(e,t)=>{Hl.init(e,t),E.init(e,t),e._zod.processJSONSchema=(r,o,n)=>yc(e,r,o)});function Pp(e){return Hd(Op,e)}const Tp=m("ZodUndefined",(e,t)=>{Yl.init(e,t),E.init(e,t),e._zod.processJSONSchema=(r,o,n)=>_c(e,r)});function jp(e){return Yd(Tp,e)}const Ip=m("ZodNull",(e,t)=>{Xl.init(e,t),E.init(e,t),e._zod.processJSONSchema=(r,o,n)=>kc(e,r,o)});function wa(e){return Xd(Ip,e)}const Zp=m("ZodAny",(e,t)=>{Ql.init(e,t),E.init(e,t),e._zod.processJSONSchema=(r,o,n)=>$c()});function Gv(){return Qd(Zp)}const Cp=m("ZodUnknown",(e,t)=>{ed.init(e,t),E.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Sc()});function Me(){return ec(Cp)}const Np=m("ZodNever",(e,t)=>{td.init(e,t),E.init(e,t),e._zod.processJSONSchema=(r,o,n)=>zc(e,r,o)});function xa(e){return tc(Np,e)}const Rp=m("ZodArray",(e,t)=>{rd.init(e,t),E.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Tc(e,r,o,n),e.element=t.element,e.min=(r,o)=>e.check(Bt(r,o)),e.nonempty=r=>e.check(Bt(1,r)),e.max=(r,o)=>e.check(pa(r,o)),e.length=(r,o)=>e.check(ma(r,o)),e.unwrap=()=>e.element});function ya(e,t){return bc(Rp,e,t)}const Up=m("ZodObject",(e,t)=>{nd.init(e,t),E.init(e,t),e._zod.processJSONSchema=(r,o,n)=>jc(e,r,o,n),y(e,"shape",()=>t.shape),e.keyof=()=>Bp(Object.keys(e._zod.def.shape)),e.catchall=r=>e.clone({...e._zod.def,catchall:r}),e.passthrough=()=>e.clone({...e._zod.def,catchall:Me()}),e.loose=()=>e.clone({...e._zod.def,catchall:Me()}),e.strict=()=>e.clone({...e._zod.def,catchall:xa()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=r=>xs(e,r),e.safeExtend=r=>ys(e,r),e.merge=r=>ks(e,r),e.pick=r=>vs(e,r),e.omit=r=>ws(e,r),e.partial=(...r)=>_s(za,e,r[0]),e.required=(...r)=>zs($a,e,r[0])});function W(e,t){const r={type:"object",shape:e??{},...f(t)};return new Up(r)}const ka=m("ZodUnion",(e,t)=>{da.init(e,t),E.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Ic(e,r,o,n),e.options=t.options});function to(e,t){return new ka({type:"union",options:e,...f(t)})}const Lp=m("ZodDiscriminatedUnion",(e,t)=>{ka.init(e,t),ad.init(e,t)});function _a(e,t,r){return new Lp({type:"union",options:t,discriminator:e,...f(r)})}const Mp=m("ZodIntersection",(e,t)=>{id.init(e,t),E.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Zc(e,r,o,n)});function ro(e,t){return new Mp({type:"intersection",left:e,right:t})}const Dp=m("ZodRecord",(e,t)=>{sd.init(e,t),E.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Cc(e,r,o,n),e.keyType=t.keyType,e.valueType=t.valueType});function Fp(e,t,r){return new Dp({type:"record",keyType:e,valueType:t,...f(r)})}const Wt=m("ZodEnum",(e,t)=>{ld.init(e,t),E.init(e,t),e._zod.processJSONSchema=(o,n,a)=>Ec(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 a={};for(const i of o)if(r.has(i))a[i]=t.entries[i];else throw new Error(`Key ${i} not found in enum`);return new Wt({...t,checks:[],...f(n),entries:a})},e.exclude=(o,n)=>{const a={...t.entries};for(const i of o)if(r.has(i))delete a[i];else throw new Error(`Key ${i} not found in enum`);return new Wt({...t,checks:[],...f(n),entries:a})}});function Bp(e,t){const r=Array.isArray(e)?Object.fromEntries(e.map(o=>[o,o])):e;return new Wt({type:"enum",entries:r,...f(t)})}function Vv(e,t){return new Wt({type:"enum",entries:e,...f(t)})}const Jp=m("ZodLiteral",(e,t)=>{dd.init(e,t),E.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Ac(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 ne(e,t){return new Jp({type:"literal",values:Array.isArray(e)?e:[e],...f(t)})}const Wp=m("ZodTransform",(e,t)=>{cd.init(e,t),E.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Pc(e,r),e._zod.parse=(r,o)=>{if(o.direction==="backward")throw new Jn(e.constructor.name);r.addIssue=a=>{if(typeof a=="string")r.issues.push(ct(a,r.value,t));else{const i=a;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=r.value),i.inst??(i.inst=e),r.issues.push(ct(i))}};const n=t.transform(r.value,r);return n instanceof Promise?n.then(a=>(r.value=a,r)):(r.value=n,r)}});function Gp(e){return new Wp({type:"transform",transform:e})}const za=m("ZodOptional",(e,t)=>{ca.init(e,t),E.init(e,t),e._zod.processJSONSchema=(r,o,n)=>fa(e,r,o,n),e.unwrap=()=>e._zod.def.innerType});function ye(e){return new za({type:"optional",innerType:e})}const Vp=m("ZodExactOptional",(e,t)=>{pd.init(e,t),E.init(e,t),e._zod.processJSONSchema=(r,o,n)=>fa(e,r,o,n),e.unwrap=()=>e._zod.def.innerType});function qp(e){return new Vp({type:"optional",innerType:e})}const Kp=m("ZodNullable",(e,t)=>{md.init(e,t),E.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Nc(e,r,o,n),e.unwrap=()=>e._zod.def.innerType});function on(e){return new Kp({type:"nullable",innerType:e})}const Hp=m("ZodDefault",(e,t)=>{bd.init(e,t),E.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Uc(e,r,o,n),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Yp(e,t){return new Hp({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():qn(t)}})}const Xp=m("ZodPrefault",(e,t)=>{ud.init(e,t),E.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Lc(e,r,o,n),e.unwrap=()=>e._zod.def.innerType});function Qp(e,t){return new Xp({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():qn(t)}})}const $a=m("ZodNonOptional",(e,t)=>{gd.init(e,t),E.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Rc(e,r,o,n),e.unwrap=()=>e._zod.def.innerType});function em(e,t){return new $a({type:"nonoptional",innerType:e,...f(t)})}const tm=m("ZodCatch",(e,t)=>{fd.init(e,t),E.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Mc(e,r,o,n),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function rm(e,t){return new tm({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}const om=m("ZodPipe",(e,t)=>{hd.init(e,t),E.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Dc(e,r,o,n),e.in=t.in,e.out=t.out});function nn(e,t){return new om({type:"pipe",in:e,out:t})}const nm=m("ZodReadonly",(e,t)=>{vd.init(e,t),E.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Fc(e,r,o,n),e.unwrap=()=>e._zod.def.innerType});function am(e){return new nm({type:"readonly",innerType:e})}const im=m("ZodCustom",(e,t)=>{wd.init(e,t),E.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Oc(e,r)});function sm(e,t={}){return uc(im,e,t)}function lm(e){return gc(e)}Y().regex(/^[a-zA-Z0-9:_-]*::[a-z0-9]*/,"Invalid party ID format");var dm=W({method:Y(),params:ye(to([ya(Me()),Fp(Y(),Me())]))}),cm=W({result:ye(Me())}),Sa=W({error:W({code:Pr(),message:Y(),data:ye(Y().or(Pr()).or(Pp()).or(wa()).or(Me()))})}),Ea=to([cm,Sa]),Aa=W({jsonrpc:ne("2.0"),id:ye(Y().or(Pr()).or(jp()).or(wa()))}),pm=ro(Aa,dm),mm=ro(Aa,Ea),oo=(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))(oo||{});_a("type",[W({type:ne("SPLICE_WALLET_REQUEST"),request:pm}),W({type:ne("SPLICE_WALLET_RESPONSE"),response:mm}),W({type:ne("SPLICE_WALLET_EXT_READY")}),W({type:ne("SPLICE_WALLET_EXT_ACK")}),W({type:ne("SPLICE_WALLET_EXT_OPEN"),url:Y().url()}),W({type:ne("SPLICE_WALLET_IDP_AUTH_SUCCESS"),token:Y(),sessionId:Y()})]);_a("walletType",[W({walletType:ne("extension"),url:ye(xa())}),W({walletType:ne("remote"),url:Y().url()})]);W({name:Y(),rpcUrl:Y()});var Oa=class{constructor(e,t){this.url=e,this.accessToken=t}async handleErrorResponse(e){const t=await e.text();try{if(Sa.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:ps()},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(),a=Ea.parse(n);if("error"in a)throw a;return a}},bm=Object.defineProperty,um=(e,t,r)=>t in e?bm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,gm=(e,t,r)=>um(e,t+"",r),fm=class{constructor(e){gm(this,"transport"),this.transport=e}async request(e,t){const r=await this.transport.submit({method:e,params:t});if("error"in r)throw new Error("RPC error: "+r.error.code+" - "+r.error.message);return r.result}},Pa=fm;class nt{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(nt.localStorageKey(t));if(r)return this.state.set(t,r),r}setWithStorage(t,r){localStorage.setItem(nt.localStorageKey(t),r),this.state.set(t,r)}clearWithStorage(t){localStorage.removeItem(nt.localStorageKey(t)),this.state.delete(t)}clearAuthState(){this.accessToken.clear(),this.networkId.clear(),this.expirationDate.clear(),this.intendedPage.clear()}}const F=new nt,hm="/wallets",vm="/404",re="/login",wm=["/login","/wallets","/settings","/transactions","/approve","/","/404","/callback"];function xm(e){return wm.includes(e)}const an=5e3;let wr=!1,xr=null;const Ta=async()=>(xr||(xr=fetch("/.well-known/wallet-gateway-config").then(e=>e.json()).then(e=>e?.userPath?new URL(e.userPath):new URL(`${window.location.origin}/api/v0/user`)).catch(e=>(console.warn("Failed to fetch userPath from config, using default",e),new URL(`${window.location.origin}/api/v0/user`)))),xr),Et=async e=>{try{const t=await Ta();await new Pa(new Oa(t,e)).request("removeSession")}catch(t){console.debug("Failed to remove session:",t)}},ym=async()=>{if(!wr){wr=!0;try{const e=F.accessToken.get();e&&await Et(e)}finally{F.clearAuthState(),wr=!1,window.location.pathname.startsWith(re)||(window.location.href=re)}}};class km extends Oa{async handleErrorResponse(t){return t.status===401&&ym(),super.handleErrorResponse(t)}}const no=async e=>{const t=await Ta();return new Pa(new km(t,e))},K=e=>(t,r)=>{r!==void 0?r.addInitializer(()=>{customElements.define(e,t)}):customElements.define(e,t)},At=globalThis,ao=At.ShadowRoot&&(At.ShadyCSS===void 0||At.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,ja=Symbol(),sn=new WeakMap;let _m=class{constructor(e,t,r){if(this._$cssResult$=!0,r!==ja)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=sn.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),r&&sn.set(t,e))}return e}toString(){return this.cssText}};const zm=e=>new _m(typeof e=="string"?e:e+"",void 0,ja),$m=(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=At.litNonce;n!==void 0&&o.setAttribute("nonce",n),o.textContent=r.cssText,e.appendChild(o)}},ln=ao?e=>e:e=>e instanceof CSSStyleSheet?(t=>{let r="";for(const o of t.cssRules)r+=o.cssText;return zm(r)})(e):e,{is:Sm,defineProperty:Em,getOwnPropertyDescriptor:Am,getOwnPropertyNames:Om,getOwnPropertySymbols:Pm,getPrototypeOf:Tm}=Object,sr=globalThis,dn=sr.trustedTypes,jm=dn?dn.emptyScript:"",Im=sr.reactiveElementPolyfillSupport,at=(e,t)=>e,Gt={toAttribute(e,t){switch(t){case Boolean:e=e?jm: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}},io=(e,t)=>!Sm(e,t),cn={attribute:!0,type:String,converter:Gt,reflect:!1,useDefault:!1,hasChanged:io};Symbol.metadata??=Symbol("metadata"),sr.litPropertyMetadata??=new WeakMap;class Ye 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=cn){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&&Em(this.prototype,t,n)}}static getPropertyDescriptor(t,r,o){const{get:n,set:a}=Am(this.prototype,t)??{get(){return this[r]},set(i){this[r]=i}};return{get:n,set(i){const s=n?.call(this);a?.call(this,i),this.requestUpdate(t,s,o)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??cn}static _$Ei(){if(this.hasOwnProperty(at("elementProperties")))return;const t=Tm(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(at("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(at("properties"))){const r=this.properties,o=[...Om(r),...Pm(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(ln(n))}else t!==void 0&&r.push(ln(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 $m(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 a=(o.converter?.toAttribute!==void 0?o.converter:Gt).toAttribute(r,o.type);this._$Em=t,a==null?this.removeAttribute(n):this.setAttribute(n,a),this._$Em=null}}_$AK(t,r){const o=this.constructor,n=o._$Eh.get(t);if(n!==void 0&&this._$Em!==n){const a=o.getPropertyOptions(n),i=typeof a.converter=="function"?{fromAttribute:a.converter}:a.converter?.fromAttribute!==void 0?a.converter:Gt;this._$Em=n;const s=i.fromAttribute(r,a.type);this[n]=s??this._$Ej?.get(n)??s,this._$Em=null}}requestUpdate(t,r,o,n=!1,a){if(t!==void 0){const i=this.constructor;if(n===!1&&(a=this[t]),o??=i.getPropertyOptions(t),!((o.hasChanged??io)(a,r)||o.useDefault&&o.reflect&&a===this._$Ej?.get(t)&&!this.hasAttribute(i._$Eu(t,o))))return;this.C(t,r,o)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(t,r,{useDefault:o,reflect:n,wrapped:a},i){o&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,i??r??this[t]),a!==!0||i!==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,a]of this._$Ep)this[n]=a;this._$Ep=void 0}const o=this.constructor.elementProperties;if(o.size>0)for(const[n,a]of o){const{wrapped:i}=a,s=this[n];i!==!0||this._$AL.has(n)||s===void 0||this.C(n,void 0,a,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){}}Ye.elementStyles=[],Ye.shadowRootOptions={mode:"open"},Ye[at("elementProperties")]=new Map,Ye[at("finalized")]=new Map,Im?.({ReactiveElement:Ye}),(sr.reactiveElementVersions??=[]).push("2.1.2");const Zm={attribute:!0,type:String,converter:Gt,reflect:!1,hasChanged:io},Cm=(e=Zm,t,r)=>{const{kind:o,metadata:n}=r;let a=globalThis.litPropertyMetadata.get(n);if(a===void 0&&globalThis.litPropertyMetadata.set(n,a=new Map),o==="setter"&&((e=Object.create(e)).wrapped=!0),a.set(r.name,e),o==="accessor"){const{name:i}=r;return{set(s){const l=t.get.call(this);t.set.call(this,s),this.requestUpdate(i,l,e,!0,s)},init(s){return s!==void 0&&this.C(i,void 0,e,s),s}}}if(o==="setter"){const{name:i}=r;return function(s){const l=this[i];t.call(this,s),this.requestUpdate(i,l,e,!0,s)}}throw Error("Unsupported decorator location: "+o)};function _(e){return(t,r)=>typeof r=="object"?Cm(e,t,r):((o,n,a)=>{const i=n.hasOwnProperty(a);return n.constructor.createProperty(a,o),i?Object.getOwnPropertyDescriptor(n,a):void 0})(e,t,r)}function te(e){return _({...e,state:!0,attribute:!1})}const Nm=`@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}}`,Ia=":root,:host{--wg-theme-background-color: snow;--wg-theme-text-color: rgba(0, 0, 0, .65);--wg-theme-font-family: sans-serif}",Rm=ee`
|
|
42
|
+
.container {
|
|
43
|
+
padding: 20px;
|
|
44
|
+
}
|
|
45
|
+
`,Um=[Rm],Za=class extends le{};Za.styles=[Um,ee`
|
|
46
|
+
${Mt(Nm.replaceAll(/:root/g,":root,:host"))}
|
|
47
|
+
${Mt(Ia)}
|
|
48
|
+
|
|
49
|
+
:host {
|
|
50
|
+
--bs-body-color: var(--wg-theme-text-color);
|
|
51
|
+
|
|
52
|
+
margin: 0;
|
|
53
|
+
font-family: var(--bs-body-font-family);
|
|
54
|
+
font-size: var(--bs-body-font-size);
|
|
55
|
+
font-weight: var(--bs-body-font-weight);
|
|
56
|
+
line-height: var(--bs-body-line-height);
|
|
57
|
+
color: var(--bs-body-color);
|
|
58
|
+
text-align: var(--bs-body-text-align);
|
|
59
|
+
background-color: var(--bs-body-bg);
|
|
60
|
+
-webkit-text-size-adjust: 100%;
|
|
61
|
+
-webkit-tap-highlight-color: transparent;
|
|
62
|
+
}
|
|
63
|
+
`];let z=Za;var Lm=Object.defineProperty,Mm=Object.getOwnPropertyDescriptor,lr=(e,t,r,o)=>{for(var n=o>1?void 0:o?Mm(t,r):t,a=e.length-1,i;a>=0;a--)(i=e[a])&&(n=(o?i(t,r,n):i(n))||n);return o&&n&&Lm(t,r,n),n};class Dm extends Event{constructor(){super("logout",{bubbles:!0,composed:!0})}}let De=class extends z{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=e}async logout(){try{console.log("Logging out..."),this.dispatchEvent(new Dm)}catch(e){console.error("Error during logout:",e)}}render(){return x`
|
|
64
|
+
<header>
|
|
65
|
+
<div class="logo-box" @click=${()=>this.navigateTo("/")}>
|
|
66
|
+
<img src=${this.iconSrc} alt="App Icon" />Wallet Gateway
|
|
67
|
+
</div>
|
|
68
|
+
|
|
69
|
+
<button
|
|
70
|
+
class="hamburger"
|
|
71
|
+
@click=${this.toggleMenu}
|
|
72
|
+
aria-label="Toggle menu"
|
|
73
|
+
name="toggle menu"
|
|
74
|
+
>
|
|
75
|
+
☰
|
|
76
|
+
</button>
|
|
77
|
+
|
|
78
|
+
<div class="dropdown ${this.menuOpen?"open":""}">
|
|
79
|
+
<button @click=${()=>this.navigateTo("/wallets/")}>
|
|
80
|
+
💰 Wallets
|
|
81
|
+
</button>
|
|
82
|
+
<button @click=${()=>this.navigateTo("/transactions/")}>
|
|
83
|
+
🧾 Transactions
|
|
84
|
+
</button>
|
|
85
|
+
<button @click=${()=>this.navigateTo("/settings/")}>
|
|
86
|
+
⚙️ Settings
|
|
87
|
+
</button>
|
|
88
|
+
<button @click=${this.logout}>🚪 Logout</button>
|
|
89
|
+
|
|
90
|
+
<div class="theme-toggle" @click=${this.toggleTheme}>
|
|
91
|
+
<span
|
|
92
|
+
>${this.darkMode?"🌙 Dark Mode":"☀️ Light Mode"}</span
|
|
93
|
+
>
|
|
94
|
+
<div
|
|
95
|
+
class="toggle-switch ${this.darkMode?"on":""}"
|
|
96
|
+
></div>
|
|
97
|
+
</div>
|
|
98
|
+
</div>
|
|
99
|
+
</header>
|
|
100
|
+
`}};De.styles=[z.styles,ee`
|
|
101
|
+
:host {
|
|
102
|
+
display: block;
|
|
103
|
+
width: 100%;
|
|
104
|
+
background-color: var(--header-bg, #fff);
|
|
105
|
+
border-bottom: 1px solid #e5e7eb;
|
|
106
|
+
position: sticky; /* Make sticky */
|
|
107
|
+
top: 0; /* Stick to top */
|
|
108
|
+
z-index: 1000; /* Ensure above other content */
|
|
109
|
+
--header-bg: #fff;
|
|
110
|
+
--menu-bg: #fff;
|
|
111
|
+
--text-color: #222;
|
|
112
|
+
--border-color: #ccc;
|
|
113
|
+
--shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
|
|
114
|
+
--hover-bg: rgba(0, 0, 0, 0.05);
|
|
115
|
+
}
|
|
116
|
+
:host([theme='dark']) {
|
|
117
|
+
--header-bg: #1e1e1e;
|
|
118
|
+
--menu-bg: #2b2b2b;
|
|
119
|
+
--text-color: #fff;
|
|
120
|
+
--border-color: #555;
|
|
121
|
+
--hover-bg: rgba(255, 255, 255, 0.1);
|
|
122
|
+
}
|
|
123
|
+
header {
|
|
124
|
+
display: flex;
|
|
125
|
+
justify-content: space-between;
|
|
126
|
+
align-items: center;
|
|
127
|
+
padding: 0.75rem 1rem;
|
|
128
|
+
width: 100%;
|
|
129
|
+
box-sizing: border-box;
|
|
130
|
+
}
|
|
131
|
+
.logo-box {
|
|
132
|
+
display: flex;
|
|
133
|
+
align-items: center;
|
|
134
|
+
gap: 8px;
|
|
135
|
+
font-weight: 600;
|
|
136
|
+
cursor: pointer;
|
|
137
|
+
color: var(--text-color);
|
|
138
|
+
user-select: none;
|
|
139
|
+
}
|
|
140
|
+
.logo-box img {
|
|
141
|
+
width: 24px;
|
|
142
|
+
height: 24px;
|
|
143
|
+
}
|
|
144
|
+
/* Hamburger */
|
|
145
|
+
.hamburger {
|
|
146
|
+
background: none;
|
|
147
|
+
border: none;
|
|
148
|
+
font-size: 1.8rem;
|
|
149
|
+
cursor: pointer;
|
|
150
|
+
color: var(--text-color);
|
|
151
|
+
padding: 0;
|
|
152
|
+
line-height: 1;
|
|
153
|
+
}
|
|
154
|
+
/* Dropdown menu */
|
|
155
|
+
.dropdown {
|
|
156
|
+
position: absolute;
|
|
157
|
+
top: 100%;
|
|
158
|
+
right: 1rem;
|
|
159
|
+
background: var(--menu-bg);
|
|
160
|
+
border-radius: 12px;
|
|
161
|
+
box-shadow: var(--shadow);
|
|
162
|
+
display: flex;
|
|
163
|
+
flex-direction: column;
|
|
164
|
+
min-width: 200px;
|
|
165
|
+
margin-top: 0.25rem;
|
|
166
|
+
padding: 0.25rem 0;
|
|
167
|
+
opacity: 0;
|
|
168
|
+
transform: translateY(-5px);
|
|
169
|
+
pointer-events: none;
|
|
170
|
+
transition:
|
|
171
|
+
opacity 0.15s ease,
|
|
172
|
+
transform 0.15s ease;
|
|
173
|
+
z-index: 1100; /* Above other content */
|
|
174
|
+
}
|
|
175
|
+
.dropdown.open {
|
|
176
|
+
opacity: 1;
|
|
177
|
+
transform: translateY(0);
|
|
178
|
+
pointer-events: auto;
|
|
179
|
+
}
|
|
180
|
+
.dropdown button {
|
|
181
|
+
width: 100%;
|
|
182
|
+
text-align: left;
|
|
183
|
+
border: none;
|
|
184
|
+
background: transparent;
|
|
185
|
+
padding: 0.5rem 1rem;
|
|
186
|
+
cursor: pointer;
|
|
187
|
+
transition: background 0.15s ease;
|
|
188
|
+
color: var(--text-color);
|
|
189
|
+
font-size: 0.95rem;
|
|
190
|
+
}
|
|
191
|
+
.dropdown button:hover {
|
|
192
|
+
background: var(--hover-bg);
|
|
193
|
+
}
|
|
194
|
+
.theme-toggle {
|
|
195
|
+
display: flex;
|
|
196
|
+
justify-content: space-between;
|
|
197
|
+
align-items: center;
|
|
198
|
+
padding: 0.5rem 1rem;
|
|
199
|
+
border-top: 1px solid var(--border-color);
|
|
200
|
+
margin-top: 0.25rem;
|
|
201
|
+
cursor: pointer;
|
|
202
|
+
color: var(--text-color);
|
|
203
|
+
}
|
|
204
|
+
.theme-toggle span {
|
|
205
|
+
color: var(--text-color);
|
|
206
|
+
font-size: 0.95rem;
|
|
207
|
+
}
|
|
208
|
+
.toggle-switch {
|
|
209
|
+
position: relative;
|
|
210
|
+
width: 40px;
|
|
211
|
+
height: 20px;
|
|
212
|
+
background: #ccc;
|
|
213
|
+
border-radius: 20px;
|
|
214
|
+
transition: background 0.15s;
|
|
215
|
+
flex-shrink: 0;
|
|
216
|
+
}
|
|
217
|
+
.toggle-switch::after {
|
|
218
|
+
content: '';
|
|
219
|
+
position: absolute;
|
|
220
|
+
top: 2px;
|
|
221
|
+
left: 2px;
|
|
222
|
+
width: 16px;
|
|
223
|
+
height: 16px;
|
|
224
|
+
background: white;
|
|
225
|
+
border-radius: 50%;
|
|
226
|
+
transition: transform 0.15s;
|
|
227
|
+
}
|
|
228
|
+
.toggle-switch.on {
|
|
229
|
+
background: #4caf50;
|
|
230
|
+
}
|
|
231
|
+
.toggle-switch.on::after {
|
|
232
|
+
transform: translateX(20px);
|
|
233
|
+
}
|
|
234
|
+
`];lr([_({type:String})],De.prototype,"iconSrc",2);lr([te()],De.prototype,"menuOpen",2);lr([te()],De.prototype,"darkMode",2);De=lr([K("app-header")],De);var Fm=Object.defineProperty,Bm=Object.getOwnPropertyDescriptor,so=(e,t,r,o)=>{for(var n=o>1?void 0:o?Bm(t,r):t,a=e.length-1,i;a>=0;a--)(i=e[a])&&(n=(o?i(t,r,n):i(n))||n);return o&&n&&Fm(t,r,n),n};let pt=class extends z{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??Ia}render(){return x`
|
|
235
|
+
<style>
|
|
236
|
+
${Mt(this.effectiveThemeCss)}
|
|
237
|
+
</style>
|
|
238
|
+
|
|
239
|
+
<app-header .iconSrc=${this.iconSrc}></app-header>
|
|
240
|
+
<div class="container" id="mainContent">
|
|
241
|
+
<slot></slot>
|
|
242
|
+
</div>
|
|
243
|
+
`}};pt.styles=[z.styles];so([_({type:String})],pt.prototype,"iconSrc",2);so([_({type:String})],pt.prototype,"themeSrc",2);pt=so([K("app-layout")],pt);var Jm=Object.defineProperty,Wm=Object.getOwnPropertyDescriptor,Ve=(e,t,r,o)=>{for(var n=o>1?void 0:o?Wm(t,r):t,a=e.length-1,i;a>=0;a--)(i=e[a])&&(n=(o?i(t,r,n):i(n))||n);return o&&n&&Jm(t,r,n),n};let ae=class extends z{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(){let e="";return this.type==="success"?e="btn-success":this.type==="error"?e="btn-danger":e="btn-primary",x`
|
|
244
|
+
<div
|
|
245
|
+
class="toast-wrapper ${this.type} ${this.closing?"closing":""}"
|
|
246
|
+
role="alert"
|
|
247
|
+
aria-live="assertive"
|
|
248
|
+
aria-atomic="true"
|
|
249
|
+
>
|
|
250
|
+
<h5 class="toast-title">${this.title}</h5>
|
|
251
|
+
<h6 class="toast-message">${this.message}</h6>
|
|
252
|
+
<button
|
|
253
|
+
type="button"
|
|
254
|
+
class="btn ${e}"
|
|
255
|
+
@click=${this.closeToast}
|
|
256
|
+
>
|
|
257
|
+
${this.buttonText}
|
|
258
|
+
</button>
|
|
259
|
+
</div>
|
|
260
|
+
`}};ae.styles=[z.styles,ee`
|
|
261
|
+
:host {
|
|
262
|
+
position: fixed;
|
|
263
|
+
bottom: 20px;
|
|
264
|
+
right: 20px;
|
|
265
|
+
max-width: 500px;
|
|
266
|
+
z-index: 1000;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
.toast-wrapper {
|
|
270
|
+
display: flex;
|
|
271
|
+
flex-direction: column;
|
|
272
|
+
border: 2px solid;
|
|
273
|
+
padding: 12px 20px;
|
|
274
|
+
border-radius: 6px;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
.info {
|
|
278
|
+
background-color: var(--bs-primary-bg-subtle);
|
|
279
|
+
border-color: var(--bs-primary-border-subtle);
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
.success {
|
|
283
|
+
background-color: var(--bs-success-bg-subtle);
|
|
284
|
+
border-color: var(--bs-success-border-subtle);
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
.error {
|
|
288
|
+
background-color: var(--bs-danger-bg-subtle);
|
|
289
|
+
border-color: var(--bs-danger-border-subtle);
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
.toast-title {
|
|
293
|
+
font-weight: 700;
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
.info .toast-title,
|
|
297
|
+
.info .toast-message {
|
|
298
|
+
color: var(--bs-primary-text-emphasis);
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
.success .toast-title,
|
|
302
|
+
.success .toast-message {
|
|
303
|
+
color: var(--bs-success-text-emphasis);
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
.error .toast-title,
|
|
307
|
+
.error .toast-message {
|
|
308
|
+
color: var(--bs-error-text-emphasis);
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
.btn {
|
|
312
|
+
align-self: flex-end;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
@keyframes fadeIn {
|
|
316
|
+
from {
|
|
317
|
+
opacity: 0;
|
|
318
|
+
transform: translateY(20px);
|
|
319
|
+
}
|
|
320
|
+
to {
|
|
321
|
+
opacity: 1;
|
|
322
|
+
transform: translateY(0);
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
@keyframes fadeOut {
|
|
327
|
+
from {
|
|
328
|
+
opacity: 1;
|
|
329
|
+
transform: translateY(0);
|
|
330
|
+
}
|
|
331
|
+
to {
|
|
332
|
+
opacity: 0;
|
|
333
|
+
transform: translateY(20px);
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
.toast-wrapper {
|
|
338
|
+
animation: fadeIn 0.6s ease-out;
|
|
339
|
+
transition: opacity 0.6s ease-out;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
.toast-wrapper.closing {
|
|
343
|
+
animation: fadeOut 0.6s ease-in forwards;
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
@media (max-width: 600px) {
|
|
347
|
+
:host {
|
|
348
|
+
max-width: 300px;
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
`];Ve([_({type:String})],ae.prototype,"title",2);Ve([_({type:String})],ae.prototype,"message",2);Ve([_({type:String})],ae.prototype,"buttonText",2);Ve([_({type:String})],ae.prototype,"type",2);Ve([_({type:Boolean})],ae.prototype,"closing",2);ae=Ve([K("custom-toast")],ae);function Ca(e){return Array.isArray(e)?e.reduce((t,r)=>t+Ca(r),""):e instanceof Br?e.cssText:""}const Gm=Ca([z.styles,ee`
|
|
352
|
+
* {
|
|
353
|
+
color: var(--wg-theme-text-color, black);
|
|
354
|
+
font-family: var(--wg-theme-font-family);
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
.root {
|
|
358
|
+
background-color: var(--wg-theme-background-color, transparent);
|
|
359
|
+
width: 100%;
|
|
360
|
+
height: 100%;
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
.wrapper {
|
|
364
|
+
margin: 0 auto;
|
|
365
|
+
max-width: 90%;
|
|
366
|
+
padding: 20px 12px;
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
h3 {
|
|
370
|
+
text-align: center;
|
|
371
|
+
margin: 20px;
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
.kernel {
|
|
375
|
+
gap: 8px;
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
.kernel-content {
|
|
379
|
+
gap: 4px;
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
.nav-link {
|
|
383
|
+
cursor: pointer;
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
[data-tooltip] {
|
|
387
|
+
position: relative;
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
[data-tooltip]::after {
|
|
391
|
+
content: attr(data-tooltip);
|
|
392
|
+
position: absolute;
|
|
393
|
+
transform: translateX(-50%);
|
|
394
|
+
bottom: 0;
|
|
395
|
+
margin-bottom: 8px;
|
|
396
|
+
background: #495057;
|
|
397
|
+
color: var(--black);
|
|
398
|
+
padding: 8px 12px;
|
|
399
|
+
border-radius: 6px;
|
|
400
|
+
pointer-events: none;
|
|
401
|
+
opacity: 0;
|
|
402
|
+
transition: 0.5s;
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
[data-tooltip]:hover::after {
|
|
406
|
+
opacity: 1;
|
|
407
|
+
bottom: 100%;
|
|
408
|
+
}
|
|
409
|
+
`]),Tr=class extends HTMLElement{constructor(){super(),this.DISCOVERY_LAST_USED_KEY="splice_wallet_discovery_last_used",this.selectedTabId="tab-1",this.attachShadow({mode:"open"});const t=this.constructor;if(t.styles){const o=document.createElement("style");o.textContent=t.styles,this.shadowRoot.appendChild(o)}this.root=document.createElement("div"),this.root.id="discovery-root",window.opener&&(window.opener.postMessage({type:"SPLICE_WALLET_EXT_READY"},"*"),window.opener.addEventListener("message",o=>{o.data.type==="SPLICE_WALLET_EXT_ACK"&&this.setAttribute("wallet-extension-loaded","")}));const r=localStorage.getItem(this.DISCOVERY_LAST_USED_KEY);if(r)try{this.lastUsed=JSON.parse(r)}catch{localStorage.removeItem(this.DISCOVERY_LAST_USED_KEY)}this.verifiedKernels=this.getVerifiedGateways(),window.addEventListener("storage",()=>{this.verifiedKernels=this.getVerifiedGateways(),this.render()})}get walletExtensionLoaded(){return this.hasAttribute("wallet-extension-loaded")}set walletExtensionLoaded(t){t?this.setAttribute("wallet-extension-loaded",""):this.removeAttribute("wallet-extension-loaded")}getVerifiedGateways(){const t=localStorage.getItem("splice_wallet_verified_gateways");if(!t)return[];try{return JSON.parse(t).map(r=>({...r,walletType:"remote"}))}catch(r){return console.error("Failed to parse verified gateways from localStorage",r),[]}}tabs(){return[{label:"Verified",id:"tab-1"},{label:"Custom url",id:"tab-2"}]}renderExtensionOption(t){const r=this.mkElement("div","",{class:"kernel d-flex justify-content-space-between align-items-center flex-wrap mb-3"}),o=this.mkElement("button","Connect",{class:"btn btn-primary",type:"button"}),n=this.mkElement("span","Browser Extension");return o.addEventListener("click",()=>{this.selectKernel(t)}),r.append(n,o),r}renderKernelOption(t,r=void 0){const o=this.mkElement("div","",{class:"kernel d-flex justify-content-space-between align-items-center flex-wrap mb-3"}),n=this.mkElement("button","Connect",{class:"btn btn-primary",type:"button","data-tooltip":t.rpcUrl}),a=this.mkElement("div","",{class:"kernel-content d-flex"}),i=this.mkElement("span",t.name,{class:"kernel-name"}),s=this.mkElement("span","(logo)");if(a.append(i,s),o.appendChild(a),n.addEventListener("click",()=>{this.selectKernel({url:t.rpcUrl,walletType:t.walletType})}),o.appendChild(n),r){const l=this.mkElement("button","X",{class:"btn btn-sm btn-secondary",type:"button"});l.addEventListener("click",r),o.appendChild(l)}return o}selectKernel(t){window.opener?(console.debug("Posting selected kernel to opener",t),window.opener.postMessage(t,"*")):console.warn("no window opener...")}mkElement(t,r,o={}){const n=document.createElement(t);return r&&(n.innerText=r),Object.entries(o).forEach(([a,i])=>{n.setAttribute(a,i)}),n}renderLastUsed(){const t=this.mkElement("div","");if(!this.lastUsed)return t;t.className="mt-4";const r=this.mkElement("div","",{class:"card mt-4"}),o=this.mkElement("div","",{class:"card-header"}),n=this.mkElement("h5","Previously connected",{class:"m-0"});o.appendChild(n);const a=this.mkElement("div","",{class:"card-body"}),i=this.renderKernelOption(this.lastUsed,()=>{localStorage.removeItem(this.DISCOVERY_LAST_USED_KEY),this.lastUsed=void 0,this.render()});return a.appendChild(i),r.append(o,a),t.append(r),t}render(){const t=this.mkElement("div","",{class:"root"}),r=this.mkElement("div","",{class:"wrapper"}),o=this.mkElement("h3","Connect to a Wallet Gateway"),n=this.mkElement("div","",{class:"card"}),a=this.mkElement("div","",{class:"card-header"}),i=this.mkElement("ul","",{class:"nav nav-tabs card-header-tabs"});for(const d of this.tabs()){const c=this.mkElement("li","",{class:"nav-item"}),p=this.mkElement("a",d.label,{class:"nav-link"});d.id===this.selectedTabId&&p.classList.add("active"),p.addEventListener("click",u=>{u.preventDefault(),this.selectedTabId=d.id,this.render()}),c.appendChild(p),i.appendChild(c)}a.appendChild(i);const s=this.mkElement("div","",{class:"card-body"});if(this.selectedTabId==="tab-1"){if(this.walletExtensionLoaded){const d=this.renderExtensionOption({walletType:"extension"});s.appendChild(d)}if(this.verifiedKernels?.length)for(const d of this.verifiedKernels){const c=this.renderKernelOption(d);s.appendChild(c)}}else{const d=this.mkElement("div","",{class:"kernel d-flex justify-content-space-between align-items-center flex-wrap mb-3"}),c=this.mkElement("input","",{id:"wkurl",type:"text",placeholder:"RPC URL",class:"form-control"}),p=this.mkElement("button","Connect",{class:"btn btn-primary",id:"connect",type:"button"});p.addEventListener("click",()=>{const u=c.value;console.log("Connecting to Wallet Gateway..."+u),this.lastUsed={name:u,rpcUrl:u,walletType:"remote"},localStorage.setItem(this.DISCOVERY_LAST_USED_KEY,JSON.stringify(this.lastUsed)),this.selectKernel({url:u,walletType:"remote"})}),d.append(c,p),s.appendChild(d)}n.append(a,s),r.append(o,n);const l=this.renderLastUsed();r.appendChild(l),t.appendChild(r),this.shadowRoot&&(Array.from(this.shadowRoot.childNodes).forEach(d=>{d instanceof HTMLStyleElement||this.shadowRoot.removeChild(d)}),this.shadowRoot.appendChild(t))}connectedCallback(){this.render()}attributeChangedCallback(){this.render()}};Tr.observedAttributes=["wallet-extension-loaded"],Tr.styles=Gm;let Vm=Tr;customElements.define("swk-discovery",Vm);const qm=x`
|
|
410
|
+
<svg
|
|
411
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
412
|
+
width="16"
|
|
413
|
+
height="16"
|
|
414
|
+
fill="currentColor"
|
|
415
|
+
class="bi bi-eye-fill"
|
|
416
|
+
viewBox="0 0 16 16"
|
|
417
|
+
>
|
|
418
|
+
<path d="M10.5 8a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0" />
|
|
419
|
+
<path
|
|
420
|
+
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"
|
|
421
|
+
/>
|
|
422
|
+
</svg>
|
|
423
|
+
`,Km=x`
|
|
424
|
+
<svg
|
|
425
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
426
|
+
width="16"
|
|
427
|
+
height="16"
|
|
428
|
+
fill="currentColor"
|
|
429
|
+
class="bi bi-eye-slash"
|
|
430
|
+
viewBox="0 0 16 16"
|
|
431
|
+
>
|
|
432
|
+
<path
|
|
433
|
+
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"
|
|
434
|
+
/>
|
|
435
|
+
<path
|
|
436
|
+
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"
|
|
437
|
+
/>
|
|
438
|
+
<path
|
|
439
|
+
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"
|
|
440
|
+
/>
|
|
441
|
+
</svg>
|
|
442
|
+
`;x` <svg
|
|
443
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
444
|
+
width="16"
|
|
445
|
+
height="16"
|
|
446
|
+
fill="currentColor"
|
|
447
|
+
class="bi bi-info-circle-fill"
|
|
448
|
+
viewBox="0 0 16 16"
|
|
449
|
+
>
|
|
450
|
+
<path
|
|
451
|
+
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"
|
|
452
|
+
/>
|
|
453
|
+
</svg>`;var Hm=Object.defineProperty,Ym=Object.getOwnPropertyDescriptor,Se=(e,t,r,o)=>{for(var n=o>1?void 0:o?Ym(t,r):t,a=e.length-1,i;a>=0;a--)(i=e[a])&&(n=(o?i(t,r,n):i(n))||n);return o&&n&&Hm(t,r,n),n};class Xm extends Event{constructor(t){super("form-input-change",{bubbles:!0,composed:!0}),this.value=t}}let ie=class extends z{constructor(){super(...arguments),this.label="",this.value="",this.text="",this.required=!1,this.hideable=!1,this.hidden=!0}render(){return x`
|
|
454
|
+
<div class="mb-3">
|
|
455
|
+
<label for=${this.label}>${this.label}</label>
|
|
456
|
+
<div class="input-group">
|
|
457
|
+
${this.hideable?x`<button
|
|
458
|
+
class="btn btn-outline-secondary"
|
|
459
|
+
@click=${()=>this.hidden=!this.hidden}
|
|
460
|
+
type="button"
|
|
461
|
+
id="button-addon2"
|
|
462
|
+
>
|
|
463
|
+
${this.hidden?Km:qm}
|
|
464
|
+
</button>`:null}
|
|
465
|
+
<input
|
|
466
|
+
.value=${this.value}
|
|
467
|
+
?required=${this.required}
|
|
468
|
+
type=${this.hideable&&this.hidden?"password":"text"}
|
|
469
|
+
@change=${e=>{const t=e.target;this.value=t.value,this.dispatchEvent(new Xm(this.value))}}
|
|
470
|
+
type="text"
|
|
471
|
+
class="form-control"
|
|
472
|
+
name=${this.label}
|
|
473
|
+
/>
|
|
474
|
+
</div>
|
|
475
|
+
${this.text?x`<div class="form-text">${this.text}</div>`:null}
|
|
476
|
+
</div>
|
|
477
|
+
`}};ie.styles=[z.styles];Se([_({type:String})],ie.prototype,"label",2);Se([_({type:String})],ie.prototype,"value",2);Se([_({type:String})],ie.prototype,"text",2);Se([_({type:Boolean})],ie.prototype,"required",2);Se([_({type:Boolean})],ie.prototype,"hideable",2);Se([_({type:Boolean})],ie.prototype,"hidden",2);ie=Se([K("form-input")],ie);const Na=ee`
|
|
478
|
+
.network-card {
|
|
479
|
+
background: #fff;
|
|
480
|
+
border: none;
|
|
481
|
+
border-radius: 8px;
|
|
482
|
+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
|
|
483
|
+
display: flex;
|
|
484
|
+
flex-direction: column;
|
|
485
|
+
gap: 0.5rem;
|
|
486
|
+
min-width: 0;
|
|
487
|
+
}
|
|
488
|
+
.network-meta {
|
|
489
|
+
color: var(--bs-gray-600);
|
|
490
|
+
margin-bottom: 0.5rem;
|
|
491
|
+
word-break: break-all;
|
|
492
|
+
}
|
|
493
|
+
.network-desc {
|
|
494
|
+
color: var(--bs-gray-700);
|
|
495
|
+
margin-bottom: 0.5rem;
|
|
496
|
+
word-break: break-all;
|
|
497
|
+
}
|
|
498
|
+
`;var Qm=Object.defineProperty,eb=Object.getOwnPropertyDescriptor,lo=(e,t,r,o)=>{for(var n=o>1?void 0:o?eb(t,r):t,a=e.length-1,i;a>=0;a--)(i=e[a])&&(n=(o?i(t,r,n):i(n))||n);return o&&n&&Qm(t,r,n),n};class tb extends Event{constructor(t){super("delete",{bubbles:!0,composed:!0}),this.idp=t}}class rb extends Event{constructor(){super("update",{bubbles:!0,composed:!0})}}let mt=class extends z{constructor(){super(...arguments),this.idp=null,this.activeSession=!1}render(){let e=x`<p>no idp supplied</p>`;return this.idp!==null&&(e=x` <h6 class="card-title text-primary fw-bold">
|
|
499
|
+
${this.idp.id}
|
|
500
|
+
</h6>
|
|
501
|
+
<div class="network-meta">
|
|
502
|
+
<strong>Type:</strong> ${this.idp.type}<br />
|
|
503
|
+
<strong>Issuer:</strong>
|
|
504
|
+
${this.idp.issuer}<br />
|
|
505
|
+
${"configUrl"in this.idp?x`
|
|
506
|
+
<strong>Config URL:</strong> ${this.idp.configUrl}
|
|
507
|
+
`:""}
|
|
508
|
+
<br />
|
|
509
|
+
</div>
|
|
510
|
+
<div>
|
|
511
|
+
<button
|
|
512
|
+
?disabled=${this.activeSession}
|
|
513
|
+
class="btn btn-sm btn-secondary"
|
|
514
|
+
@click=${()=>this.dispatchEvent(new rb)}
|
|
515
|
+
>
|
|
516
|
+
Update
|
|
517
|
+
</button>
|
|
518
|
+
<button
|
|
519
|
+
?disabled=${this.activeSession}
|
|
520
|
+
class="btn btn-sm btn-danger"
|
|
521
|
+
@click=${()=>this.dispatchEvent(new tb(this.idp))}
|
|
522
|
+
>
|
|
523
|
+
Delete
|
|
524
|
+
</button>
|
|
525
|
+
</div>`),x`<div class="col card network-card">
|
|
526
|
+
<div class="card-body">${e}</div>
|
|
527
|
+
</div>`}};mt.styles=[z.styles,Na];lo([_({type:Object})],mt.prototype,"idp",2);lo([_({type:Boolean})],mt.prototype,"activeSession",2);mt=lo([K("idp-card")],mt);const Ra=ee`
|
|
528
|
+
.modal {
|
|
529
|
+
position: fixed;
|
|
530
|
+
top: 0;
|
|
531
|
+
left: 0;
|
|
532
|
+
right: 0;
|
|
533
|
+
bottom: 0;
|
|
534
|
+
background: rgba(0, 0, 0, 0.25);
|
|
535
|
+
display: flex;
|
|
536
|
+
align-items: center;
|
|
537
|
+
justify-content: center;
|
|
538
|
+
z-index: 1000;
|
|
539
|
+
}
|
|
540
|
+
.modal-content {
|
|
541
|
+
background: #fff;
|
|
542
|
+
padding: 2rem;
|
|
543
|
+
border-radius: 8px;
|
|
544
|
+
min-width: 300px;
|
|
545
|
+
max-width: 95vw;
|
|
546
|
+
max-height: 75vh;
|
|
547
|
+
overflow-y: scroll;
|
|
548
|
+
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);
|
|
549
|
+
}
|
|
550
|
+
@media (max-width: 600px) {
|
|
551
|
+
.modal-content {
|
|
552
|
+
padding: 1rem;
|
|
553
|
+
min-width: unset;
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
@media (max-width: 400px) {
|
|
557
|
+
.modal-content {
|
|
558
|
+
padding: 0.5rem;
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
`;var ob=Object.defineProperty,nb=Object.getOwnPropertyDescriptor,Ua=e=>{throw TypeError(e)},ht=(e,t,r,o)=>{for(var n=o>1?void 0:o?nb(t,r):t,a=e.length-1,i;a>=0;a--)(i=e[a])&&(n=(o?i(t,r,n):i(n))||n);return o&&n&&ob(t,r,n),n},La=(e,t,r)=>t.has(e)||Ua("Cannot "+r),yr=(e,t,r)=>(La(e,t,"read from private field"),r?r.call(e):t.get(e)),kr=(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),_r=(e,t,r,o)=>(La(e,t,"write to private field"),t.set(e,r),r),Ot,Pt,Tt;class ab extends Event{constructor(t){super("idp-add",{bubbles:!0,composed:!0}),this.idp=t}}let ke=class extends z{constructor(){super(...arguments),kr(this,Ot,[]),this.activeSessions=[],kr(this,Pt,!1),kr(this,Tt,{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 yr(this,Ot)}set idps(e){_r(this,Ot,e)}get isModalOpen(){return yr(this,Pt)}set isModalOpen(e){_r(this,Pt,e)}get modalIdp(){return yr(this,Tt)}set modalIdp(e){_r(this,Tt,e)}connectedCallback(){super.connectedCallback()}render(){return x`
|
|
562
|
+
<div class="mb-5">
|
|
563
|
+
<div class="header">
|
|
564
|
+
<h1>Identity Providers</h1>
|
|
565
|
+
</div>
|
|
566
|
+
|
|
567
|
+
<button class="btn btn-primary" @click=${this.openAddModal}>
|
|
568
|
+
Add Identity Provider
|
|
569
|
+
</button>
|
|
570
|
+
|
|
571
|
+
<div class="mt-4">
|
|
572
|
+
${this.idps.map(e=>{const t=this.activeSessions.some(r=>r.idp.id===e.id);return x`<div class="mb-2">
|
|
573
|
+
<idp-card
|
|
574
|
+
.idp=${e}
|
|
575
|
+
.activeSession=${t}
|
|
576
|
+
@update=${r=>{this.modalIdp=e,this.isModalOpen=!0,r.stopPropagation()}}
|
|
577
|
+
></idp-card>
|
|
578
|
+
</div>`})}
|
|
579
|
+
</div>
|
|
580
|
+
|
|
581
|
+
${this.isModalOpen?x`
|
|
582
|
+
<div class="modal" @click=${this.closeModal}>
|
|
583
|
+
<div
|
|
584
|
+
class="modal-content"
|
|
585
|
+
@click=${e=>e.stopPropagation()}
|
|
586
|
+
>
|
|
587
|
+
<h3>
|
|
588
|
+
${this.modalIdp?"Edit Identity Provider":"Add Identity Provider"}
|
|
589
|
+
</h3>
|
|
590
|
+
|
|
591
|
+
<form
|
|
592
|
+
@submit=${e=>{e.preventDefault(),this.dispatchEvent(new ab(this.modalIdp)),this.closeModal()}}
|
|
593
|
+
>
|
|
594
|
+
<form-input
|
|
595
|
+
label="ID"
|
|
596
|
+
@form-input-change=${e=>{this.modalIdp.id=e.value}}
|
|
597
|
+
.value=${this.modalIdp.id}
|
|
598
|
+
required
|
|
599
|
+
></form-input>
|
|
600
|
+
|
|
601
|
+
<label for="idp-type">Type</label>
|
|
602
|
+
<select
|
|
603
|
+
id="idp-type"
|
|
604
|
+
class="form-select mb-3"
|
|
605
|
+
@change=${e=>{const t=e.target;this.modalIdp.type=t.value,this.modalIdp.type!=="oauth"&&delete this.modalIdp.configUrl,this.requestUpdate()}}
|
|
606
|
+
.value=${this.modalIdp.type}
|
|
607
|
+
>
|
|
608
|
+
<option value="oauth">oauth</option>
|
|
609
|
+
<option value="self_signed">
|
|
610
|
+
self_signed
|
|
611
|
+
</option>
|
|
612
|
+
</select>
|
|
613
|
+
|
|
614
|
+
<form-input
|
|
615
|
+
label="Issuer"
|
|
616
|
+
@form-input-change=${e=>{this.modalIdp.issuer=e.value}}
|
|
617
|
+
.value=${this.modalIdp.issuer}
|
|
618
|
+
required
|
|
619
|
+
></form-input>
|
|
620
|
+
|
|
621
|
+
${this.modalIdp.type==="oauth"?x`<form-input
|
|
622
|
+
label="Config URL"
|
|
623
|
+
@form-input-change=${e=>{this.modalIdp.configUrl=e.value}}
|
|
624
|
+
.value=${this.modalIdp.configUrl||""}
|
|
625
|
+
></form-input>`:""}
|
|
626
|
+
|
|
627
|
+
<div>
|
|
628
|
+
<button
|
|
629
|
+
class="btn btn-primary btn-sm"
|
|
630
|
+
type="submit"
|
|
631
|
+
>
|
|
632
|
+
Save
|
|
633
|
+
</button>
|
|
634
|
+
|
|
635
|
+
<button
|
|
636
|
+
class="btn btn-secondary btn-sm"
|
|
637
|
+
@click=${()=>this.closeModal()}
|
|
638
|
+
>
|
|
639
|
+
Cancel
|
|
640
|
+
</button>
|
|
641
|
+
</div>
|
|
642
|
+
</form>
|
|
643
|
+
</div>
|
|
644
|
+
</div>
|
|
645
|
+
`:""}
|
|
646
|
+
</div>
|
|
647
|
+
`}};Ot=new WeakMap;Pt=new WeakMap;Tt=new WeakMap;ke.styles=[z.styles,Ra];ht([_({type:Array})],ke.prototype,"idps",1);ht([_({type:Array})],ke.prototype,"activeSessions",2);ht([te()],ke.prototype,"isModalOpen",1);ht([te()],ke.prototype,"modalIdp",1);ke=ht([K("wg-idps")],ke);var ib=Object.defineProperty,sb=Object.getOwnPropertyDescriptor,co=(e,t,r,o)=>{for(var n=o>1?void 0:o?sb(t,r):t,a=e.length-1,i;a>=0;a--)(i=e[a])&&(n=(o?i(t,r,n):i(n))||n);return o&&n&&ib(t,r,n),n};let bt=class extends z{constructor(){super(...arguments),this.networks=[],this.activeSessions=[]}render(){return x`
|
|
648
|
+
<div class="container p-0 m-0">
|
|
649
|
+
<div
|
|
650
|
+
class="row row-cols-1 row-cols-md-2 row-cols-lg-3 g-md-2 g-lg-2 g-0"
|
|
651
|
+
>
|
|
652
|
+
${this.networks.map(e=>{const t=this.activeSessions.some(r=>r.network.id===e.id);return x`
|
|
653
|
+
<network-card
|
|
654
|
+
.network=${e}
|
|
655
|
+
.activeSession=${t}
|
|
656
|
+
></network-card>
|
|
657
|
+
`})}
|
|
658
|
+
</div>
|
|
659
|
+
</div>
|
|
660
|
+
`}};bt.styles=[z.styles];co([_({type:Array})],bt.prototype,"networks",2);co([_({type:Array})],bt.prototype,"activeSessions",2);bt=co([K("network-table")],bt);var lb=Object.defineProperty,db=Object.getOwnPropertyDescriptor,dr=(e,t,r,o)=>{for(var n=o>1?void 0:o?db(t,r):t,a=e.length-1,i;a>=0;a--)(i=e[a])&&(n=(o?i(t,r,n):i(n))||n);return o&&n&&lb(t,r,n),n};class cb extends Event{constructor(t){super("delete",{bubbles:!0,composed:!0}),this.network=t}}let Fe=class extends z{constructor(){super(...arguments),this.network=null,this.activeSession=!1,this._editing=!1}render(){let e=x`<p>no network supplied</p>`;return this.network!==null&&(this._editing?e=x` <network-form
|
|
661
|
+
.network=${this.network}
|
|
662
|
+
@network-edit-cancel=${()=>this._editing=!1}
|
|
663
|
+
@network-edit-save=${()=>this._editing=!1}
|
|
664
|
+
></network-form>`:e=x` <h6 class="card-title text-primary fw-bold">
|
|
665
|
+
${this.network.name}
|
|
666
|
+
</h6>
|
|
667
|
+
<div class="network-meta">
|
|
668
|
+
<strong>ID:</strong>
|
|
669
|
+
${this.network.id}<br />
|
|
670
|
+
<strong>Auth:</strong> ${this.network.auth.method}<br />
|
|
671
|
+
<strong>Synchronizer:</strong>
|
|
672
|
+
${this.network.synchronizerId}
|
|
673
|
+
</div>
|
|
674
|
+
<div class="network-desc">${this.network.description}</div>
|
|
675
|
+
<div>
|
|
676
|
+
<button
|
|
677
|
+
?disabled=${this.activeSession}
|
|
678
|
+
class="btn btn-sm btn-secondary"
|
|
679
|
+
@click=${()=>this._editing=!0}
|
|
680
|
+
>
|
|
681
|
+
Update
|
|
682
|
+
</button>
|
|
683
|
+
<button
|
|
684
|
+
?disabled=${this.activeSession}
|
|
685
|
+
class="btn btn-sm btn-danger"
|
|
686
|
+
@click=${()=>this.dispatchEvent(new cb(this.network))}
|
|
687
|
+
>
|
|
688
|
+
Delete
|
|
689
|
+
</button>
|
|
690
|
+
</div>`),x`<div class="col card network-card">
|
|
691
|
+
<div class="card-body">${e}</div>
|
|
692
|
+
</div>`}};Fe.styles=[z.styles,Na];dr([_({type:Object})],Fe.prototype,"network",2);dr([_({type:Boolean})],Fe.prototype,"activeSession",2);dr([te()],Fe.prototype,"_editing",2);Fe=dr([K("network-card")],Fe);function b(e,t,r){function o(s,l){if(s._zod||Object.defineProperty(s,"_zod",{value:{def:l,constr:i,traits:new Set},enumerable:!1}),s._zod.traits.has(e))return;s._zod.traits.add(e),t(s,l);const d=i.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 a extends n{}Object.defineProperty(a,"name",{value:e});function i(s){var l;const d=r?.Parent?new a:this;o(d,s),(l=d._zod).deferred??(l.deferred=[]);for(const c of d._zod.deferred)c();return d}return Object.defineProperty(i,"init",{value:o}),Object.defineProperty(i,Symbol.hasInstance,{value:s=>r?.Parent&&s instanceof r.Parent?!0:s?._zod?.traits?.has(e)}),Object.defineProperty(i,"name",{value:e}),i}class Ce extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class Ma extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}}const Da={};function pe(e){return Da}function Fa(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 jr(e,t){return typeof t=="bigint"?t.toString():t}function cr(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function po(e){return e==null}function mo(e){const t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function pb(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 a=r>n?r:n,i=Number.parseInt(e.toFixed(a).replace(".","")),s=Number.parseInt(t.toFixed(a).replace(".",""));return i%s/10**a}const pn=Symbol("evaluating");function k(e,t,r){let o;Object.defineProperty(e,t,{get(){if(o!==pn)return o===void 0&&(o=pn,o=r()),o},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function Ee(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function fe(...e){const t={};for(const r of e){const o=Object.getOwnPropertyDescriptors(r);Object.assign(t,o)}return Object.defineProperties({},t)}function mn(e){return JSON.stringify(e)}function mb(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const Ba="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function ut(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const bb=cr(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function Be(e){if(ut(e)===!1)return!1;const t=e.constructor;if(t===void 0||typeof t!="function")return!0;const r=t.prototype;return!(ut(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function Ja(e){return Be(e)?{...e}:Array.isArray(e)?[...e]:e}const ub=new Set(["string","number","symbol"]);function Je(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function he(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 gb(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}const fb={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 hb(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=fe(e._zod.def,{get shape(){const a={};for(const i in t){if(!(i in r.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&(a[i]=r.shape[i])}return Ee(this,"shape",a),a},checks:[]});return he(e,n)}function vb(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=fe(e._zod.def,{get shape(){const a={...e._zod.def.shape};for(const i in t){if(!(i in r.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&delete a[i]}return Ee(this,"shape",a),a},checks:[]});return he(e,n)}function wb(e,t){if(!Be(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 a in t)if(Object.getOwnPropertyDescriptor(n,a)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const o=fe(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t};return Ee(this,"shape",n),n}});return he(e,o)}function xb(e,t){if(!Be(t))throw new Error("Invalid input to safeExtend: expected a plain object");const r=fe(e._zod.def,{get shape(){const o={...e._zod.def.shape,...t};return Ee(this,"shape",o),o}});return he(e,r)}function yb(e,t){const r=fe(e._zod.def,{get shape(){const o={...e._zod.def.shape,...t._zod.def.shape};return Ee(this,"shape",o),o},get catchall(){return t._zod.def.catchall},checks:[]});return he(e,r)}function kb(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=fe(t._zod.def,{get shape(){const a=t._zod.def.shape,i={...a};if(r)for(const s in r){if(!(s in a))throw new Error(`Unrecognized key: "${s}"`);r[s]&&(i[s]=e?new e({type:"optional",innerType:a[s]}):a[s])}else for(const s in a)i[s]=e?new e({type:"optional",innerType:a[s]}):a[s];return Ee(this,"shape",i),i},checks:[]});return he(t,n)}function _b(e,t,r){const o=fe(t._zod.def,{get shape(){const n=t._zod.def.shape,a={...n};if(r)for(const i in r){if(!(i in a))throw new Error(`Unrecognized key: "${i}"`);r[i]&&(a[i]=new e({type:"nonoptional",innerType:n[i]}))}else for(const i in n)a[i]=new e({type:"nonoptional",innerType:n[i]});return Ee(this,"shape",a),a}});return he(t,o)}function je(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 Ie(e,t){return t.map(r=>{var o;return(o=r).path??(o.path=[]),r.path.unshift(e),r})}function _t(e){return typeof e=="string"?e:e?.message}function me(e,t,r){const o={...e,path:e.path??[]};if(!e.message){const n=_t(e.inst?._zod.def?.error?.(e))??_t(t?.error?.(e))??_t(r.customError?.(e))??_t(r.localeError?.(e))??"Invalid input";o.message=n}return delete o.inst,delete o.continue,t?.reportInput||delete o.input,o}function bo(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function gt(...e){const[t,r,o]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:o}:{...t}}const Wa=(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,jr,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Ga=b("$ZodError",Wa),Va=b("$ZodError",Wa,{Parent:Error});function zb(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 $b(e,t=r=>r.message){const r={_errors:[]},o=n=>{for(const a of n.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map(i=>o({issues:i}));else if(a.code==="invalid_key")o({issues:a.issues});else if(a.code==="invalid_element")o({issues:a.issues});else if(a.path.length===0)r._errors.push(t(a));else{let i=r,s=0;for(;s<a.path.length;){const l=a.path[s];s===a.path.length-1?(i[l]=i[l]||{_errors:[]},i[l]._errors.push(t(a))):i[l]=i[l]||{_errors:[]},i=i[l],s++}}};return o(e),r}const uo=e=>(t,r,o,n)=>{const a=o?Object.assign(o,{async:!1}):{async:!1},i=t._zod.run({value:r,issues:[]},a);if(i instanceof Promise)throw new Ce;if(i.issues.length){const s=new(n?.Err??e)(i.issues.map(l=>me(l,a,pe())));throw Ba(s,n?.callee),s}return i.value},go=e=>async(t,r,o,n)=>{const a=o?Object.assign(o,{async:!0}):{async:!0};let i=t._zod.run({value:r,issues:[]},a);if(i instanceof Promise&&(i=await i),i.issues.length){const s=new(n?.Err??e)(i.issues.map(l=>me(l,a,pe())));throw Ba(s,n?.callee),s}return i.value},pr=e=>(t,r,o)=>{const n=o?{...o,async:!1}:{async:!1},a=t._zod.run({value:r,issues:[]},n);if(a instanceof Promise)throw new Ce;return a.issues.length?{success:!1,error:new(e??Ga)(a.issues.map(i=>me(i,n,pe())))}:{success:!0,data:a.value}},Sb=pr(Va),mr=e=>async(t,r,o)=>{const n=o?Object.assign(o,{async:!0}):{async:!0};let a=t._zod.run({value:r,issues:[]},n);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(i=>me(i,n,pe())))}:{success:!0,data:a.value}},Eb=mr(Va),Ab=e=>(t,r,o)=>{const n=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return uo(e)(t,r,n)},Ob=e=>(t,r,o)=>uo(e)(t,r,o),Pb=e=>async(t,r,o)=>{const n=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return go(e)(t,r,n)},Tb=e=>async(t,r,o)=>go(e)(t,r,o),jb=e=>(t,r,o)=>{const n=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return pr(e)(t,r,n)},Ib=e=>(t,r,o)=>pr(e)(t,r,o),Zb=e=>async(t,r,o)=>{const n=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return mr(e)(t,r,n)},Cb=e=>async(t,r,o)=>mr(e)(t,r,o),Nb=/^[cC][^\s-]{8,}$/,Rb=/^[0-9a-z]+$/,Ub=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Lb=/^[0-9a-vA-V]{20}$/,Mb=/^[A-Za-z0-9]{27}$/,Db=/^[a-zA-Z0-9_-]{21}$/,Fb=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Bb=/^([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})$/,bn=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)$/,Jb=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Wb="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Gb(){return new RegExp(Wb,"u")}const Vb=/^(?:(?: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])$/,qb=/^(([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}|:))$/,Kb=/^((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])$/,Hb=/^(([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])$/,Yb=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,qa=/^[A-Za-z0-9_-]*$/,Xb=/^\+[1-9]\d{6,14}$/,Ka="(?:(?:\\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])))",Qb=new RegExp(`^${Ka}$`);function Ha(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 eu(e){return new RegExp(`^${Ha(e)}$`)}function tu(e){const t=Ha({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(`^${Ka}T(?:${o})$`)}const ru=e=>{const t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},ou=/^-?\d+$/,Ya=/^-?\d+(?:\.\d+)?$/,nu=/^(?:true|false)$/i,au=/^null$/i,iu=/^undefined$/i,su=/^[^A-Z]*$/,lu=/^[^a-z]*$/,V=b("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),Xa={number:"number",bigint:"bigint",object:"date"},Qa=b("$ZodCheckLessThan",(e,t)=>{V.init(e,t);const r=Xa[typeof t.value];e._zod.onattach.push(o=>{const n=o._zod.bag,a=(t.inclusive?n.maximum:n.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<a&&(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})}}),ei=b("$ZodCheckGreaterThan",(e,t)=>{V.init(e,t);const r=Xa[typeof t.value];e._zod.onattach.push(o=>{const n=o._zod.bag,a=(t.inclusive?n.minimum:n.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>a&&(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})}}),du=b("$ZodCheckMultipleOf",(e,t)=>{V.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):pb(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})}}),cu=b("$ZodCheckNumberFormat",(e,t)=>{V.init(e,t),t.format=t.format||"float64";const r=t.format?.includes("int"),o=r?"int":"number",[n,a]=fb[t.format];e._zod.onattach.push(i=>{const s=i._zod.bag;s.format=t.format,s.minimum=n,s.maximum=a,r&&(s.pattern=ou)}),e._zod.check=i=>{const s=i.value;if(r){if(!Number.isInteger(s)){i.issues.push({expected:o,format:t.format,code:"invalid_type",continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?i.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}):i.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&&i.issues.push({origin:"number",input:s,code:"too_small",minimum:n,inclusive:!0,inst:e,continue:!t.abort}),s>a&&i.issues.push({origin:"number",input:s,code:"too_big",maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),pu=b("$ZodCheckMaxLength",(e,t)=>{var r;V.init(e,t),(r=e._zod.def).when??(r.when=o=>{const n=o.value;return!po(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=bo(n);o.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:n,inst:e,continue:!t.abort})}}),mu=b("$ZodCheckMinLength",(e,t)=>{var r;V.init(e,t),(r=e._zod.def).when??(r.when=o=>{const n=o.value;return!po(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=bo(n);o.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:n,inst:e,continue:!t.abort})}}),bu=b("$ZodCheckLengthEquals",(e,t)=>{var r;V.init(e,t),(r=e._zod.def).when??(r.when=o=>{const n=o.value;return!po(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,a=n.length;if(a===t.length)return;const i=bo(n),s=a>t.length;o.issues.push({origin:i,...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;V.init(e,t),e._zod.onattach.push(n=>{const a=n._zod.bag;a.format=t.format,t.pattern&&(a.patterns??(a.patterns=new Set),a.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=()=>{})}),uu=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})}}),gu=b("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=su),br.init(e,t)}),fu=b("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=lu),br.init(e,t)}),hu=b("$ZodCheckIncludes",(e,t)=>{V.init(e,t);const r=Je(t.includes),o=new RegExp(typeof t.position=="number"?`^.{${t.position}}${r}`:r);t.pattern=o,e._zod.onattach.push(n=>{const a=n._zod.bag;a.patterns??(a.patterns=new Set),a.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})}}),vu=b("$ZodCheckStartsWith",(e,t)=>{V.init(e,t);const r=new RegExp(`^${Je(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})}}),wu=b("$ZodCheckEndsWith",(e,t)=>{V.init(e,t);const r=new RegExp(`.*${Je(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})}}),xu=b("$ZodCheckOverwrite",(e,t)=>{V.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}});class yu{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(`
|
|
693
|
+
`).filter(a=>a),o=Math.min(...r.map(a=>a.length-a.trimStart().length)),n=r.map(a=>a.slice(o)).map(a=>" ".repeat(this.indent*2)+a);for(const a of n)this.content.push(a)}compile(){const t=Function,r=this?.args,o=[...(this?.content??[""]).map(n=>` ${n}`)];return new t(...r,o.join(`
|
|
694
|
+
`))}}const ku={major:4,minor:3,patch:6},P=b("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=ku;const o=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&o.unshift(e);for(const n of o)for(const a of n._zod.onattach)a(e);if(o.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const n=(i,s,l)=>{let d=je(i),c;for(const p of s){if(p._zod.def.when){if(!p._zod.def.when(i))continue}else if(d)continue;const u=i.issues.length,g=p._zod.check(i);if(g instanceof Promise&&l?.async===!1)throw new Ce;if(c||g instanceof Promise)c=(c??Promise.resolve()).then(async()=>{await g,i.issues.length!==u&&(d||(d=je(i,u)))});else{if(i.issues.length===u)continue;d||(d=je(i,u))}}return c?c.then(()=>i):i},a=(i,s,l)=>{if(je(i))return i.aborted=!0,i;const d=n(s,o,l);if(d instanceof Promise){if(l.async===!1)throw new Ce;return d.then(c=>e._zod.parse(c,l))}return e._zod.parse(d,l)};e._zod.run=(i,s)=>{if(s.skipChecks)return e._zod.parse(i,s);if(s.direction==="backward"){const d=e._zod.parse({value:i.value,issues:[]},{...s,skipChecks:!0});return d instanceof Promise?d.then(c=>a(c,i,s)):a(d,i,s)}const l=e._zod.parse(i,s);if(l instanceof Promise){if(s.async===!1)throw new Ce;return l.then(d=>n(d,o,s))}return n(l,o,s)}}k(e,"~standard",()=>({validate:n=>{try{const a=Sb(e,n);return a.success?{value:a.data}:{issues:a.error?.issues}}catch{return Eb(e,n).then(a=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}))}),fo=b("$ZodString",(e,t)=>{P.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??ru(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}}),I=b("$ZodStringFormat",(e,t)=>{br.init(e,t),fo.init(e,t)}),_u=b("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=Bb),I.init(e,t)}),zu=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=bn(r))}else t.pattern??(t.pattern=bn());I.init(e,t)}),$u=b("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Jb),I.init(e,t)}),Su=b("$ZodURL",(e,t)=>{I.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})}}}),Eu=b("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=Gb()),I.init(e,t)}),Au=b("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=Db),I.init(e,t)}),Ou=b("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=Nb),I.init(e,t)}),Pu=b("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=Rb),I.init(e,t)}),Tu=b("$ZodULID",(e,t)=>{t.pattern??(t.pattern=Ub),I.init(e,t)}),ju=b("$ZodXID",(e,t)=>{t.pattern??(t.pattern=Lb),I.init(e,t)}),Iu=b("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=Mb),I.init(e,t)}),Zu=b("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=tu(t)),I.init(e,t)}),Cu=b("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Qb),I.init(e,t)}),Nu=b("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=eu(t)),I.init(e,t)}),Ru=b("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=Fb),I.init(e,t)}),Uu=b("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Vb),I.init(e,t),e._zod.bag.format="ipv4"}),Lu=b("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=qb),I.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})}}}),Mu=b("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=Kb),I.init(e,t)}),Du=b("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=Hb),I.init(e,t),e._zod.check=r=>{const o=r.value.split("/");try{if(o.length!==2)throw new Error;const[n,a]=o;if(!a)throw new Error;const i=Number(a);if(`${i}`!==a)throw new Error;if(i<0||i>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 ti(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const Fu=b("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=Yb),I.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=r=>{ti(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});function Bu(e){if(!qa.test(e))return!1;const t=e.replace(/[-_]/g,o=>o==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return ti(r)}const Ju=b("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=qa),I.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=r=>{Bu(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),Wu=b("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Xb),I.init(e,t)});function Gu(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 Vu=b("$ZodJWT",(e,t)=>{I.init(e,t),e._zod.check=r=>{Gu(r.value,t.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}}),ri=b("$ZodNumber",(e,t)=>{P.init(e,t),e._zod.pattern=e._zod.bag.pattern??Ya,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 a=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,...a?{received:a}:{}}),r}}),qu=b("$ZodNumberFormat",(e,t)=>{cu.init(e,t),ri.init(e,t)}),Ku=b("$ZodBoolean",(e,t)=>{P.init(e,t),e._zod.pattern=nu,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}}),Hu=b("$ZodUndefined",(e,t)=>{P.init(e,t),e._zod.pattern=iu,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}}),Yu=b("$ZodNull",(e,t)=>{P.init(e,t),e._zod.pattern=au,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}}),Xu=b("$ZodUnknown",(e,t)=>{P.init(e,t),e._zod.parse=r=>r}),Qu=b("$ZodNever",(e,t)=>{P.init(e,t),e._zod.parse=(r,o)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});function un(e,t,r){e.issues.length&&t.issues.push(...Ie(r,e.issues)),t.value[r]=e.value}const eg=b("$ZodArray",(e,t)=>{P.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 a=[];for(let i=0;i<n.length;i++){const s=n[i],l=t.element._zod.run({value:s,issues:[]},o);l instanceof Promise?a.push(l.then(d=>un(d,r,i))):un(l,r,i)}return a.length?Promise.all(a).then(()=>r):r}});function Vt(e,t,r,o,n){if(e.issues.length){if(n&&!(r in o))return;t.issues.push(...Ie(r,e.issues))}e.value===void 0?r in o&&(t.value[r]=void 0):t.value[r]=e.value}function oi(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=gb(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(r)}}function ni(e,t,r,o,n,a){const i=[],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"){i.push(p);continue}const u=l.run({value:t[p],issues:[]},o);u instanceof Promise?e.push(u.then(g=>Vt(g,r,p,t,c))):Vt(u,r,p,t,c)}return i.length&&r.issues.push({code:"unrecognized_keys",keys:i,input:t,inst:a}),e.length?Promise.all(e).then(()=>r):r}const tg=b("$ZodObject",(e,t)=>{if(P.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){const i=t.shape;Object.defineProperty(t,"shape",{get:()=>{const s={...i};return Object.defineProperty(t,"shape",{value:s}),s}})}const r=cr(()=>oi(t));k(e._zod,"propValues",()=>{const i=t.shape,s={};for(const l in i){const d=i[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=ut,n=t.catchall;let a;e._zod.parse=(i,s)=>{a??(a=r.value);const l=i.value;if(!o(l))return i.issues.push({expected:"object",code:"invalid_type",input:l,inst:e}),i;i.value={};const d=[],c=a.shape;for(const p of a.keys){const u=c[p],g=u._zod.optout==="optional",v=u._zod.run({value:l[p],issues:[]},s);v instanceof Promise?d.push(v.then(N=>Vt(N,i,p,l,g))):Vt(v,i,p,l,g)}return n?ni(d,l,i,s,r.value,e):d.length?Promise.all(d).then(()=>i):i}}),rg=b("$ZodObjectJIT",(e,t)=>{tg.init(e,t);const r=e._zod.parse,o=cr(()=>oi(t)),n=p=>{const u=new yu(["shape","payload","ctx"]),g=o.value,v=H=>{const A=mn(H);return`shape[${A}]._zod.run({ value: input[${A}], issues: [] }, ctx)`};u.write("const input = payload.value;");const N=Object.create(null);let Ae=0;for(const H of g.keys)N[H]=`key_${Ae++}`;u.write("const newResult = {};");for(const H of g.keys){const A=N[H],$=mn(H),q=p[H]?._zod?.optout==="optional";u.write(`const ${A} = ${v(H)};`),q?u.write(`
|
|
695
|
+
if (${A}.issues.length) {
|
|
696
|
+
if (${$} in input) {
|
|
697
|
+
payload.issues = payload.issues.concat(${A}.issues.map(iss => ({
|
|
698
|
+
...iss,
|
|
699
|
+
path: iss.path ? [${$}, ...iss.path] : [${$}]
|
|
700
|
+
})));
|
|
701
|
+
}
|
|
702
|
+
}
|
|
703
|
+
|
|
704
|
+
if (${A}.value === undefined) {
|
|
705
|
+
if (${$} in input) {
|
|
706
|
+
newResult[${$}] = undefined;
|
|
707
|
+
}
|
|
708
|
+
} else {
|
|
709
|
+
newResult[${$}] = ${A}.value;
|
|
710
|
+
}
|
|
711
|
+
|
|
712
|
+
`):u.write(`
|
|
713
|
+
if (${A}.issues.length) {
|
|
714
|
+
payload.issues = payload.issues.concat(${A}.issues.map(iss => ({
|
|
715
|
+
...iss,
|
|
716
|
+
path: iss.path ? [${$}, ...iss.path] : [${$}]
|
|
717
|
+
})));
|
|
718
|
+
}
|
|
719
|
+
|
|
720
|
+
if (${A}.value === undefined) {
|
|
721
|
+
if (${$} in input) {
|
|
722
|
+
newResult[${$}] = undefined;
|
|
723
|
+
}
|
|
724
|
+
} else {
|
|
725
|
+
newResult[${$}] = ${A}.value;
|
|
726
|
+
}
|
|
727
|
+
|
|
728
|
+
`)}u.write("payload.value = newResult;"),u.write("return payload;");const ur=u.compile();return(H,A)=>ur(p,H,A)};let a;const i=ut,s=!Da.jitless,l=s&&bb.value,d=t.catchall;let c;e._zod.parse=(p,u)=>{c??(c=o.value);const g=p.value;return i(g)?s&&l&&u?.async===!1&&u.jitless!==!0?(a||(a=n(t.shape)),p=a(p,u),d?ni([],g,p,u,c,e):p):r(p,u):(p.issues.push({expected:"object",code:"invalid_type",input:g,inst:e}),p)}});function gn(e,t,r,o){for(const a of e)if(a.issues.length===0)return t.value=a.value,t;const n=e.filter(a=>!je(a));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(a=>a.issues.map(i=>me(i,o,pe())))}),t)}const ai=b("$ZodUnion",(e,t)=>{P.init(e,t),k(e._zod,"optin",()=>t.options.some(n=>n._zod.optin==="optional")?"optional":void 0),k(e._zod,"optout",()=>t.options.some(n=>n._zod.optout==="optional")?"optional":void 0),k(e._zod,"values",()=>{if(t.options.every(n=>n._zod.values))return new Set(t.options.flatMap(n=>Array.from(n._zod.values)))}),k(e._zod,"pattern",()=>{if(t.options.every(n=>n._zod.pattern)){const n=t.options.map(a=>a._zod.pattern);return new RegExp(`^(${n.map(a=>mo(a.source)).join("|")})$`)}});const r=t.options.length===1,o=t.options[0]._zod.run;e._zod.parse=(n,a)=>{if(r)return o(n,a);let i=!1;const s=[];for(const l of t.options){const d=l._zod.run({value:n.value,issues:[]},a);if(d instanceof Promise)s.push(d),i=!0;else{if(d.issues.length===0)return d;s.push(d)}}return i?Promise.all(s).then(l=>gn(l,n,e,a)):gn(s,n,e,a)}}),og=b("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,ai.init(e,t);const r=e._zod.parse;k(e._zod,"propValues",()=>{const n={};for(const a of t.options){const i=a._zod.propValues;if(!i||Object.keys(i).length===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(a)}"`);for(const[s,l]of Object.entries(i)){n[s]||(n[s]=new Set);for(const d of l)n[s].add(d)}}return n});const o=cr(()=>{const n=t.options,a=new Map;for(const i of n){const s=i._zod.propValues?.[t.discriminator];if(!s||s.size===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(i)}"`);for(const l of s){if(a.has(l))throw new Error(`Duplicate discriminator value "${String(l)}"`);a.set(l,i)}}return a});e._zod.parse=(n,a)=>{const i=n.value;if(!ut(i))return n.issues.push({code:"invalid_type",expected:"object",input:i,inst:e}),n;const s=o.value.get(i?.[t.discriminator]);return s?s._zod.run(n,a):t.unionFallback?r(n,a):(n.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,input:i,path:[t.discriminator],inst:e}),n)}}),ng=b("$ZodIntersection",(e,t)=>{P.init(e,t),e._zod.parse=(r,o)=>{const n=r.value,a=t.left._zod.run({value:n,issues:[]},o),i=t.right._zod.run({value:n,issues:[]},o);return a instanceof Promise||i instanceof Promise?Promise.all([a,i]).then(([s,l])=>fn(r,s,l)):fn(r,a,i)}});function Ir(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(Be(e)&&Be(t)){const r=Object.keys(t),o=Object.keys(e).filter(a=>r.indexOf(a)!==-1),n={...e,...t};for(const a of o){const i=Ir(e[a],t[a]);if(!i.valid)return{valid:!1,mergeErrorPath:[a,...i.mergeErrorPath]};n[a]=i.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],a=t[o],i=Ir(n,a);if(!i.valid)return{valid:!1,mergeErrorPath:[o,...i.mergeErrorPath]};r.push(i.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function fn(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 a=[...o].filter(([,s])=>s.l&&s.r).map(([s])=>s);if(a.length&&n&&e.issues.push({...n,keys:a}),je(e))return e;const i=Ir(t.value,r.value);if(!i.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(i.mergeErrorPath)}`);return e.value=i.data,e}const ag=b("$ZodRecord",(e,t)=>{P.init(e,t),e._zod.parse=(r,o)=>{const n=r.value;if(!Be(n))return r.issues.push({expected:"record",code:"invalid_type",input:n,inst:e}),r;const a=[],i=t.keyType._zod.values;if(i){r.value={};const s=new Set;for(const d of i)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?a.push(c.then(p=>{p.issues.length&&r.issues.push(...Ie(d,p.issues)),r.value[d]=p.value})):(c.issues.length&&r.issues.push(...Ie(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"&&Ya.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=>me(c,o,pe())),input:s,path:[s],inst:e});continue}const d=t.valueType._zod.run({value:n[s],issues:[]},o);d instanceof Promise?a.push(d.then(c=>{c.issues.length&&r.issues.push(...Ie(s,c.issues)),r.value[l.value]=c.value})):(d.issues.length&&r.issues.push(...Ie(s,d.issues)),r.value[l.value]=d.value)}}return a.length?Promise.all(a).then(()=>r):r}}),ig=b("$ZodEnum",(e,t)=>{P.init(e,t);const r=Fa(t.entries),o=new Set(r);e._zod.values=o,e._zod.pattern=new RegExp(`^(${r.filter(n=>ub.has(typeof n)).map(n=>typeof n=="string"?Je(n):n.toString()).join("|")})$`),e._zod.parse=(n,a)=>{const i=n.value;return o.has(i)||n.issues.push({code:"invalid_value",values:r,input:i,inst:e}),n}}),sg=b("$ZodLiteral",(e,t)=>{if(P.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"?Je(o):o?Je(o.toString()):String(o)).join("|")})$`),e._zod.parse=(o,n)=>{const a=o.value;return r.has(a)||o.issues.push({code:"invalid_value",values:t.values,input:a,inst:e}),o}}),lg=b("$ZodTransform",(e,t)=>{P.init(e,t),e._zod.parse=(r,o)=>{if(o.direction==="backward")throw new Ma(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 Ce;return r.value=n,r}});function hn(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}const ii=b("$ZodOptional",(e,t)=>{P.init(e,t),e._zod.optin="optional",e._zod.optout="optional",k(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),k(e._zod,"pattern",()=>{const r=t.innerType._zod.pattern;return r?new RegExp(`^(${mo(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(a=>hn(a,r.value)):hn(n,r.value)}return r.value===void 0?r:t.innerType._zod.run(r,o)}}),dg=b("$ZodExactOptional",(e,t)=>{ii.init(e,t),k(e._zod,"values",()=>t.innerType._zod.values),k(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(r,o)=>t.innerType._zod.run(r,o)}),cg=b("$ZodNullable",(e,t)=>{P.init(e,t),k(e._zod,"optin",()=>t.innerType._zod.optin),k(e._zod,"optout",()=>t.innerType._zod.optout),k(e._zod,"pattern",()=>{const r=t.innerType._zod.pattern;return r?new RegExp(`^(${mo(r.source)}|null)$`):void 0}),k(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)}),pg=b("$ZodDefault",(e,t)=>{P.init(e,t),e._zod.optin="optional",k(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(a=>vn(a,t)):vn(n,t)}});function vn(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const mg=b("$ZodPrefault",(e,t)=>{P.init(e,t),e._zod.optin="optional",k(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))}),bg=b("$ZodNonOptional",(e,t)=>{P.init(e,t),k(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(a=>wn(a,e)):wn(n,e)}});function wn(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 ug=b("$ZodCatch",(e,t)=>{P.init(e,t),k(e._zod,"optin",()=>t.innerType._zod.optin),k(e._zod,"optout",()=>t.innerType._zod.optout),k(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(a=>(r.value=a.value,a.issues.length&&(r.value=t.catchValue({...r,error:{issues:a.issues.map(i=>me(i,o,pe()))},input:r.value}),r.issues=[]),r)):(r.value=n.value,n.issues.length&&(r.value=t.catchValue({...r,error:{issues:n.issues.map(a=>me(a,o,pe()))},input:r.value}),r.issues=[]),r)}}),gg=b("$ZodPipe",(e,t)=>{P.init(e,t),k(e._zod,"values",()=>t.in._zod.values),k(e._zod,"optin",()=>t.in._zod.optin),k(e._zod,"optout",()=>t.out._zod.optout),k(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(r,o)=>{if(o.direction==="backward"){const a=t.out._zod.run(r,o);return a instanceof Promise?a.then(i=>zt(i,t.in,o)):zt(a,t.in,o)}const n=t.in._zod.run(r,o);return n instanceof Promise?n.then(a=>zt(a,t.out,o)):zt(n,t.out,o)}});function zt(e,t,r){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},r)}const fg=b("$ZodReadonly",(e,t)=>{P.init(e,t),k(e._zod,"propValues",()=>t.innerType._zod.propValues),k(e._zod,"values",()=>t.innerType._zod.values),k(e._zod,"optin",()=>t.innerType?._zod?.optin),k(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(xn):xn(n)}});function xn(e){return e.value=Object.freeze(e.value),e}const hg=b("$ZodCustom",(e,t)=>{V.init(e,t),P.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(a=>yn(a,r,o,e));yn(n,r,o,e)}});function yn(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(gt(n))}}var kn;class vg{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 wg(){return new vg}(kn=globalThis).__zod_globalRegistry??(kn.__zod_globalRegistry=wg());const rt=globalThis.__zod_globalRegistry;function xg(e,t){return new e({type:"string",...h(t)})}function yg(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...h(t)})}function _n(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...h(t)})}function kg(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...h(t)})}function _g(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...h(t)})}function zg(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...h(t)})}function $g(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...h(t)})}function Sg(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...h(t)})}function Eg(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...h(t)})}function Ag(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...h(t)})}function Og(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...h(t)})}function Pg(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...h(t)})}function Tg(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...h(t)})}function jg(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...h(t)})}function Ig(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...h(t)})}function Zg(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...h(t)})}function Cg(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...h(t)})}function Ng(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...h(t)})}function Rg(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...h(t)})}function Ug(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...h(t)})}function Lg(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...h(t)})}function Mg(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...h(t)})}function Dg(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...h(t)})}function Fg(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...h(t)})}function Bg(e,t){return new e({type:"string",format:"date",check:"string_format",...h(t)})}function Jg(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...h(t)})}function Wg(e,t){return new e({type:"string",format:"duration",check:"string_format",...h(t)})}function Gg(e,t){return new e({type:"number",checks:[],...h(t)})}function Vg(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...h(t)})}function qg(e,t){return new e({type:"boolean",...h(t)})}function Kg(e,t){return new e({type:"undefined",...h(t)})}function Hg(e,t){return new e({type:"null",...h(t)})}function Yg(e){return new e({type:"unknown"})}function Xg(e,t){return new e({type:"never",...h(t)})}function zn(e,t){return new Qa({check:"less_than",...h(t),value:e,inclusive:!1})}function zr(e,t){return new Qa({check:"less_than",...h(t),value:e,inclusive:!0})}function $n(e,t){return new ei({check:"greater_than",...h(t),value:e,inclusive:!1})}function $r(e,t){return new ei({check:"greater_than",...h(t),value:e,inclusive:!0})}function Sn(e,t){return new du({check:"multiple_of",...h(t),value:e})}function si(e,t){return new pu({check:"max_length",...h(t),maximum:e})}function qt(e,t){return new mu({check:"min_length",...h(t),minimum:e})}function li(e,t){return new bu({check:"length_equals",...h(t),length:e})}function Qg(e,t){return new uu({check:"string_format",format:"regex",...h(t),pattern:e})}function ef(e){return new gu({check:"string_format",format:"lowercase",...h(e)})}function tf(e){return new fu({check:"string_format",format:"uppercase",...h(e)})}function rf(e,t){return new hu({check:"string_format",format:"includes",...h(t),includes:e})}function of(e,t){return new vu({check:"string_format",format:"starts_with",...h(t),prefix:e})}function nf(e,t){return new wu({check:"string_format",format:"ends_with",...h(t),suffix:e})}function qe(e){return new xu({check:"overwrite",tx:e})}function af(e){return qe(t=>t.normalize(e))}function sf(){return qe(e=>e.trim())}function lf(){return qe(e=>e.toLowerCase())}function df(){return qe(e=>e.toUpperCase())}function cf(){return qe(e=>mb(e))}function pf(e,t,r){return new e({type:"array",element:t,...h(r)})}function mf(e,t,r){return new e({type:"custom",check:"custom",fn:t,...h(r)})}function bf(e){const t=uf(r=>(r.addIssue=o=>{if(typeof o=="string")r.issues.push(gt(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(gt(n))}},e(r.value,r)));return t}function uf(e,t){const r=new V({check:"custom",...h(t)});return r._zod.check=e,r}function di(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??rt,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,a=t.seen.get(e);if(a)return a.count++,r.schemaPath.includes(e)&&(a.cycle=r.path),a.schema;const i={schema:{},count:1,cycle:void 0,path:r.path};t.seen.set(e,i);const s=e._zod.toJSONSchema?.();if(s)i.schema=s;else{const d={...r,schemaPath:[...r.schemaPath,e],path:r.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,i.schema,d);else{const p=i.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&&(i.ref||(i.ref=c),U(c,t,d),t.seen.get(c).isParent=!0)}const l=t.metadataRegistry.get(e);return l&&Object.assign(i.schema,l),t.io==="input"&&J(e)&&(delete i.schema.examples,delete i.schema.default),t.io==="input"&&i.schema._prefault&&((o=i.schema).default??(o.default=i.schema._prefault)),delete i.schema._prefault,t.seen.get(e).schema}function ci(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 i of e.seen.entries()){const s=e.metadataRegistry.get(i[0])?.id;if(s){const l=o.get(s);if(l&&l!==i[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,i[0])}}const n=i=>{const s=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const c=e.external.registry.get(i[0])?.id,p=e.external.uri??(g=>g);if(c)return{ref:p(c)};const u=i[1].defId??i[1].schema.id??`schema${e.counter++}`;return i[1].defId=u,{defId:u,ref:`${p("__shared")}#/${s}/${u}`}}if(i[1]===r)return{ref:"#"};const l=`#/${s}/`,d=i[1].schema.id??`__schema${e.counter++}`;return{defId:d,ref:l+d}},a=i=>{if(i[1].schema.$ref)return;const s=i[1],{ref:l,defId:d}=n(i);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 i of e.seen.entries()){const s=i[1];if(s.cycle)throw new Error(`Cycle detected: #/${s.cycle?.join("/")}/<root>
|
|
729
|
+
|
|
730
|
+
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const i of e.seen.entries()){const s=i[1];if(t===i[0]){a(i);continue}if(e.external){const l=e.external.registry.get(i[0])?.id;if(t!==i[0]&&l){a(i);continue}}if(e.metadataRegistry.get(i[0])?.id){a(i);continue}if(s.cycle){a(i);continue}if(s.count>1&&e.reused==="ref"){a(i);continue}}}function pi(e,t){const r=e.seen.get(t);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const o=i=>{const s=e.seen.get(i);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),i._zod.parent===c)for(const v in l)v==="$ref"||v==="allOf"||v in d||delete l[v];if(g.$ref&&u.def)for(const v in l)v==="$ref"||v==="allOf"||v in u.def&&JSON.stringify(l[v])===JSON.stringify(u.def[v])&&delete l[v]}const p=i._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:i,jsonSchema:l,path:s.path??[]})};for(const i of[...e.seen.entries()].reverse())o(i[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 i=e.external.registry.get(t)?.id;if(!i)throw new Error("Schema is missing an `id` property");n.$id=e.external.uri(i)}Object.assign(n,r.def??r.schema);const a=e.external?.defs??{};for(const i of e.seen.entries()){const s=i[1];s.def&&s.defId&&(a[s.defId]=s.def)}e.external||Object.keys(a).length>0&&(e.target==="draft-2020-12"?n.$defs=a:n.definitions=a);try{const i=JSON.parse(JSON.stringify(n));return Object.defineProperty(i,"~standard",{value:{...t["~standard"],jsonSchema:{input:Kt(t,"input",e.processors),output:Kt(t,"output",e.processors)}},enumerable:!1,writable:!1}),i}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 gf=(e,t={})=>r=>{const o=di({...r,processors:t});return U(e,o),ci(o,e),pi(o,e)},Kt=(e,t,r={})=>o=>{const{libraryOptions:n,target:a}=o??{},i=di({...n??{},target:a,io:t,processors:r});return U(e,i),ci(i,e),pi(i,e)},ff={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},hf=(e,t,r,o)=>{const n=r;n.type="string";const{minimum:a,maximum:i,format:s,patterns:l,contentEncoding:d}=e._zod.bag;if(typeof a=="number"&&(n.minLength=a),typeof i=="number"&&(n.maxLength=i),s&&(n.format=ff[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}))])}},vf=(e,t,r,o)=>{const n=r,{minimum:a,maximum:i,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 a=="number"&&(n.minimum=a,typeof c=="number"&&t.target!=="draft-04"&&(c>=a?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 i=="number"&&(n.maximum=i,typeof d=="number"&&t.target!=="draft-04"&&(d<=i?delete n.maximum:delete n.exclusiveMaximum)),typeof l=="number"&&(n.multipleOf=l)},wf=(e,t,r,o)=>{r.type="boolean"},xf=(e,t,r,o)=>{t.target==="openapi-3.0"?(r.type="string",r.nullable=!0,r.enum=[null]):r.type="null"},yf=(e,t,r,o)=>{if(t.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},kf=(e,t,r,o)=>{r.not={}},_f=(e,t,r,o)=>{},zf=(e,t,r,o)=>{const n=e._zod.def,a=Fa(n.entries);a.every(i=>typeof i=="number")&&(r.type="number"),a.every(i=>typeof i=="string")&&(r.type="string"),r.enum=a},$f=(e,t,r,o)=>{const n=e._zod.def,a=[];for(const i of n.values)if(i===void 0){if(t.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof i=="bigint"){if(t.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");a.push(Number(i))}else a.push(i);if(a.length!==0)if(a.length===1){const i=a[0];r.type=i===null?"null":typeof i,t.target==="draft-04"||t.target==="openapi-3.0"?r.enum=[i]:r.const=i}else a.every(i=>typeof i=="number")&&(r.type="number"),a.every(i=>typeof i=="string")&&(r.type="string"),a.every(i=>typeof i=="boolean")&&(r.type="boolean"),a.every(i=>i===null)&&(r.type="null"),r.enum=a},Sf=(e,t,r,o)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Ef=(e,t,r,o)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Af=(e,t,r,o)=>{const n=r,a=e._zod.def,{minimum:i,maximum:s}=e._zod.bag;typeof i=="number"&&(n.minItems=i),typeof s=="number"&&(n.maxItems=s),n.type="array",n.items=U(a.element,t,{...o,path:[...o.path,"items"]})},Of=(e,t,r,o)=>{const n=r,a=e._zod.def;n.type="object",n.properties={};const i=a.shape;for(const d in i)n.properties[d]=U(i[d],t,{...o,path:[...o.path,"properties",d]});const s=new Set(Object.keys(i)),l=new Set([...s].filter(d=>{const c=a.shape[d]._zod;return t.io==="input"?c.optin===void 0:c.optout===void 0}));l.size>0&&(n.required=Array.from(l)),a.catchall?._zod.def.type==="never"?n.additionalProperties=!1:a.catchall?a.catchall&&(n.additionalProperties=U(a.catchall,t,{...o,path:[...o.path,"additionalProperties"]})):t.io==="output"&&(n.additionalProperties=!1)},Pf=(e,t,r,o)=>{const n=e._zod.def,a=n.inclusive===!1,i=n.options.map((s,l)=>U(s,t,{...o,path:[...o.path,a?"oneOf":"anyOf",l]}));a?r.oneOf=i:r.anyOf=i},Tf=(e,t,r,o)=>{const n=e._zod.def,a=U(n.left,t,{...o,path:[...o.path,"allOf",0]}),i=U(n.right,t,{...o,path:[...o.path,"allOf",1]}),s=d=>"allOf"in d&&Object.keys(d).length===1,l=[...s(a)?a.allOf:[a],...s(i)?i.allOf:[i]];r.allOf=l},jf=(e,t,r,o)=>{const n=r,a=e._zod.def;n.type="object";const i=a.keyType,s=i._zod.bag?.patterns;if(a.mode==="loose"&&s&&s.size>0){const d=U(a.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=U(a.keyType,t,{...o,path:[...o.path,"propertyNames"]})),n.additionalProperties=U(a.valueType,t,{...o,path:[...o.path,"additionalProperties"]});const l=i._zod.values;if(l){const d=[...l].filter(c=>typeof c=="string"||typeof c=="number");d.length>0&&(n.required=d)}},If=(e,t,r,o)=>{const n=e._zod.def,a=U(n.innerType,t,o),i=t.seen.get(e);t.target==="openapi-3.0"?(i.ref=n.innerType,r.nullable=!0):r.anyOf=[a,{type:"null"}]},Zf=(e,t,r,o)=>{const n=e._zod.def;U(n.innerType,t,o);const a=t.seen.get(e);a.ref=n.innerType},Cf=(e,t,r,o)=>{const n=e._zod.def;U(n.innerType,t,o);const a=t.seen.get(e);a.ref=n.innerType,r.default=JSON.parse(JSON.stringify(n.defaultValue))},Nf=(e,t,r,o)=>{const n=e._zod.def;U(n.innerType,t,o);const a=t.seen.get(e);a.ref=n.innerType,t.io==="input"&&(r._prefault=JSON.parse(JSON.stringify(n.defaultValue)))},Rf=(e,t,r,o)=>{const n=e._zod.def;U(n.innerType,t,o);const a=t.seen.get(e);a.ref=n.innerType;let i;try{i=n.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}r.default=i},Uf=(e,t,r,o)=>{const n=e._zod.def,a=t.io==="input"?n.in._zod.def.type==="transform"?n.out:n.in:n.out;U(a,t,o);const i=t.seen.get(e);i.ref=a},Lf=(e,t,r,o)=>{const n=e._zod.def;U(n.innerType,t,o);const a=t.seen.get(e);a.ref=n.innerType,r.readOnly=!0},mi=(e,t,r,o)=>{const n=e._zod.def;U(n.innerType,t,o);const a=t.seen.get(e);a.ref=n.innerType},Mf=b("ZodISODateTime",(e,t)=>{Zu.init(e,t),C.init(e,t)});function Df(e){return Fg(Mf,e)}const Ff=b("ZodISODate",(e,t)=>{Cu.init(e,t),C.init(e,t)});function Bf(e){return Bg(Ff,e)}const Jf=b("ZodISOTime",(e,t)=>{Nu.init(e,t),C.init(e,t)});function Wf(e){return Jg(Jf,e)}const Gf=b("ZodISODuration",(e,t)=>{Ru.init(e,t),C.init(e,t)});function Vf(e){return Wg(Gf,e)}const qf=(e,t)=>{Ga.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>$b(e,r)},flatten:{value:r=>zb(e,r)},addIssue:{value:r=>{e.issues.push(r),e.message=JSON.stringify(e.issues,jr,2)}},addIssues:{value:r=>{e.issues.push(...r),e.message=JSON.stringify(e.issues,jr,2)}},isEmpty:{get(){return e.issues.length===0}}})},Q=b("ZodError",qf,{Parent:Error}),Kf=uo(Q),Hf=go(Q),Yf=pr(Q),Xf=mr(Q),Qf=Ab(Q),eh=Ob(Q),th=Pb(Q),rh=Tb(Q),oh=jb(Q),nh=Ib(Q),ah=Zb(Q),ih=Cb(Q),T=b("ZodType",(e,t)=>(P.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:Kt(e,"input"),output:Kt(e,"output")}}),e.toJSONSchema=gf(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...r)=>e.clone(fe(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)=>he(e,r,o),e.brand=()=>e,e.register=((r,o)=>(r.add(e,o),e)),e.parse=(r,o)=>Kf(e,r,o,{callee:e.parse}),e.safeParse=(r,o)=>Yf(e,r,o),e.parseAsync=async(r,o)=>Hf(e,r,o,{callee:e.parseAsync}),e.safeParseAsync=async(r,o)=>Xf(e,r,o),e.spa=e.safeParseAsync,e.encode=(r,o)=>Qf(e,r,o),e.decode=(r,o)=>eh(e,r,o),e.encodeAsync=async(r,o)=>th(e,r,o),e.decodeAsync=async(r,o)=>rh(e,r,o),e.safeEncode=(r,o)=>oh(e,r,o),e.safeDecode=(r,o)=>nh(e,r,o),e.safeEncodeAsync=async(r,o)=>ah(e,r,o),e.safeDecodeAsync=async(r,o)=>ih(e,r,o),e.refine=(r,o)=>e.check(ov(r,o)),e.superRefine=r=>e.check(nv(r)),e.overwrite=r=>e.check(qe(r)),e.optional=()=>_e(e),e.exactOptional=()=>Jh(e),e.nullable=()=>On(e),e.nullish=()=>_e(On(e)),e.nonoptional=r=>Hh(e,r),e.array=()=>Yt(e),e.or=r=>ho([e,r]),e.and=r=>vo(e,r),e.transform=r=>Pn(e,Fh(r)),e.default=r=>Vh(e,r),e.prefault=r=>Kh(e,r),e.catch=r=>Xh(e,r),e.pipe=r=>Pn(e,r),e.readonly=()=>tv(e),e.describe=r=>{const o=e.clone();return rt.add(o,{description:r}),o},Object.defineProperty(e,"description",{get(){return rt.get(e)?.description},configurable:!0}),e.meta=(...r)=>{if(r.length===0)return rt.get(e);const o=e.clone();return rt.add(o,r[0]),o},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=r=>r(e),e)),bi=b("_ZodString",(e,t)=>{fo.init(e,t),T.init(e,t),e._zod.processJSONSchema=(o,n,a)=>hf(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(Qg(...o)),e.includes=(...o)=>e.check(rf(...o)),e.startsWith=(...o)=>e.check(of(...o)),e.endsWith=(...o)=>e.check(nf(...o)),e.min=(...o)=>e.check(qt(...o)),e.max=(...o)=>e.check(si(...o)),e.length=(...o)=>e.check(li(...o)),e.nonempty=(...o)=>e.check(qt(1,...o)),e.lowercase=o=>e.check(ef(o)),e.uppercase=o=>e.check(tf(o)),e.trim=()=>e.check(sf()),e.normalize=(...o)=>e.check(af(...o)),e.toLowerCase=()=>e.check(lf()),e.toUpperCase=()=>e.check(df()),e.slugify=()=>e.check(cf())}),sh=b("ZodString",(e,t)=>{fo.init(e,t),bi.init(e,t),e.email=r=>e.check(yg(lh,r)),e.url=r=>e.check(Sg(dh,r)),e.jwt=r=>e.check(Dg(zh,r)),e.emoji=r=>e.check(Eg(ch,r)),e.guid=r=>e.check(_n(En,r)),e.uuid=r=>e.check(kg($t,r)),e.uuidv4=r=>e.check(_g($t,r)),e.uuidv6=r=>e.check(zg($t,r)),e.uuidv7=r=>e.check($g($t,r)),e.nanoid=r=>e.check(Ag(ph,r)),e.guid=r=>e.check(_n(En,r)),e.cuid=r=>e.check(Og(mh,r)),e.cuid2=r=>e.check(Pg(bh,r)),e.ulid=r=>e.check(Tg(uh,r)),e.base64=r=>e.check(Ug(yh,r)),e.base64url=r=>e.check(Lg(kh,r)),e.xid=r=>e.check(jg(gh,r)),e.ksuid=r=>e.check(Ig(fh,r)),e.ipv4=r=>e.check(Zg(hh,r)),e.ipv6=r=>e.check(Cg(vh,r)),e.cidrv4=r=>e.check(Ng(wh,r)),e.cidrv6=r=>e.check(Rg(xh,r)),e.e164=r=>e.check(Mg(_h,r)),e.datetime=r=>e.check(Df(r)),e.date=r=>e.check(Bf(r)),e.time=r=>e.check(Wf(r)),e.duration=r=>e.check(Vf(r))});function w(e){return xg(sh,e)}const C=b("ZodStringFormat",(e,t)=>{I.init(e,t),bi.init(e,t)}),lh=b("ZodEmail",(e,t)=>{$u.init(e,t),C.init(e,t)}),En=b("ZodGUID",(e,t)=>{_u.init(e,t),C.init(e,t)}),$t=b("ZodUUID",(e,t)=>{zu.init(e,t),C.init(e,t)}),dh=b("ZodURL",(e,t)=>{Su.init(e,t),C.init(e,t)}),ch=b("ZodEmoji",(e,t)=>{Eu.init(e,t),C.init(e,t)}),ph=b("ZodNanoID",(e,t)=>{Au.init(e,t),C.init(e,t)}),mh=b("ZodCUID",(e,t)=>{Ou.init(e,t),C.init(e,t)}),bh=b("ZodCUID2",(e,t)=>{Pu.init(e,t),C.init(e,t)}),uh=b("ZodULID",(e,t)=>{Tu.init(e,t),C.init(e,t)}),gh=b("ZodXID",(e,t)=>{ju.init(e,t),C.init(e,t)}),fh=b("ZodKSUID",(e,t)=>{Iu.init(e,t),C.init(e,t)}),hh=b("ZodIPv4",(e,t)=>{Uu.init(e,t),C.init(e,t)}),vh=b("ZodIPv6",(e,t)=>{Lu.init(e,t),C.init(e,t)}),wh=b("ZodCIDRv4",(e,t)=>{Mu.init(e,t),C.init(e,t)}),xh=b("ZodCIDRv6",(e,t)=>{Du.init(e,t),C.init(e,t)}),yh=b("ZodBase64",(e,t)=>{Fu.init(e,t),C.init(e,t)}),kh=b("ZodBase64URL",(e,t)=>{Ju.init(e,t),C.init(e,t)}),_h=b("ZodE164",(e,t)=>{Wu.init(e,t),C.init(e,t)}),zh=b("ZodJWT",(e,t)=>{Vu.init(e,t),C.init(e,t)}),ui=b("ZodNumber",(e,t)=>{ri.init(e,t),T.init(e,t),e._zod.processJSONSchema=(o,n,a)=>vf(e,o,n),e.gt=(o,n)=>e.check($n(o,n)),e.gte=(o,n)=>e.check($r(o,n)),e.min=(o,n)=>e.check($r(o,n)),e.lt=(o,n)=>e.check(zn(o,n)),e.lte=(o,n)=>e.check(zr(o,n)),e.max=(o,n)=>e.check(zr(o,n)),e.int=o=>e.check(An(o)),e.safe=o=>e.check(An(o)),e.positive=o=>e.check($n(0,o)),e.nonnegative=o=>e.check($r(0,o)),e.negative=o=>e.check(zn(0,o)),e.nonpositive=o=>e.check(zr(0,o)),e.multipleOf=(o,n)=>e.check(Sn(o,n)),e.step=(o,n)=>e.check(Sn(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 Ht(e){return Gg(ui,e)}const $h=b("ZodNumberFormat",(e,t)=>{qu.init(e,t),ui.init(e,t)});function An(e){return Vg($h,e)}const Sh=b("ZodBoolean",(e,t)=>{Ku.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,o,n)=>wf(e,r,o)});function Eh(e){return qg(Sh,e)}const Ah=b("ZodUndefined",(e,t)=>{Hu.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,o,n)=>yf(e,r)});function Oh(e){return Kg(Ah,e)}const Ph=b("ZodNull",(e,t)=>{Yu.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,o,n)=>xf(e,r,o)});function gi(e){return Hg(Ph,e)}const Th=b("ZodUnknown",(e,t)=>{Xu.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,o,n)=>_f()});function We(){return Yg(Th)}const jh=b("ZodNever",(e,t)=>{Qu.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,o,n)=>kf(e,r,o)});function fi(e){return Xg(jh,e)}const Ih=b("ZodArray",(e,t)=>{eg.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Af(e,r,o,n),e.element=t.element,e.min=(r,o)=>e.check(qt(r,o)),e.nonempty=r=>e.check(qt(1,r)),e.max=(r,o)=>e.check(si(r,o)),e.length=(r,o)=>e.check(li(r,o)),e.unwrap=()=>e.element});function Yt(e,t){return pf(Ih,e,t)}const Zh=b("ZodObject",(e,t)=>{rg.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Of(e,r,o,n),k(e,"shape",()=>t.shape),e.keyof=()=>Lh(Object.keys(e._zod.def.shape)),e.catchall=r=>e.clone({...e._zod.def,catchall:r}),e.passthrough=()=>e.clone({...e._zod.def,catchall:We()}),e.loose=()=>e.clone({...e._zod.def,catchall:We()}),e.strict=()=>e.clone({...e._zod.def,catchall:fi()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=r=>wb(e,r),e.safeExtend=r=>xb(e,r),e.merge=r=>yb(e,r),e.pick=r=>hb(e,r),e.omit=r=>vb(e,r),e.partial=(...r)=>kb(vi,e,r[0]),e.required=(...r)=>_b(wi,e,r[0])});function O(e,t){const r={type:"object",shape:e??{},...h(t)};return new Zh(r)}const hi=b("ZodUnion",(e,t)=>{ai.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Pf(e,r,o,n),e.options=t.options});function ho(e,t){return new hi({type:"union",options:e,...h(t)})}const Ch=b("ZodDiscriminatedUnion",(e,t)=>{hi.init(e,t),og.init(e,t)});function vt(e,t,r){return new Ch({type:"union",options:t,discriminator:e,...h(r)})}const Nh=b("ZodIntersection",(e,t)=>{ng.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Tf(e,r,o,n)});function vo(e,t){return new Nh({type:"intersection",left:e,right:t})}const Rh=b("ZodRecord",(e,t)=>{ag.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,o,n)=>jf(e,r,o,n),e.keyType=t.keyType,e.valueType=t.valueType});function Uh(e,t,r){return new Rh({type:"record",keyType:e,valueType:t,...h(r)})}const Zr=b("ZodEnum",(e,t)=>{ig.init(e,t),T.init(e,t),e._zod.processJSONSchema=(o,n,a)=>zf(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 a={};for(const i of o)if(r.has(i))a[i]=t.entries[i];else throw new Error(`Key ${i} not found in enum`);return new Zr({...t,checks:[],...h(n),entries:a})},e.exclude=(o,n)=>{const a={...t.entries};for(const i of o)if(r.has(i))delete a[i];else throw new Error(`Key ${i} not found in enum`);return new Zr({...t,checks:[],...h(n),entries:a})}});function Lh(e,t){const r=Array.isArray(e)?Object.fromEntries(e.map(o=>[o,o])):e;return new Zr({type:"enum",entries:r,...h(t)})}const Mh=b("ZodLiteral",(e,t)=>{sg.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,o,n)=>$f(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 D(e,t){return new Mh({type:"literal",values:Array.isArray(e)?e:[e],...h(t)})}const Dh=b("ZodTransform",(e,t)=>{lg.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Ef(e,r),e._zod.parse=(r,o)=>{if(o.direction==="backward")throw new Ma(e.constructor.name);r.addIssue=a=>{if(typeof a=="string")r.issues.push(gt(a,r.value,t));else{const i=a;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=r.value),i.inst??(i.inst=e),r.issues.push(gt(i))}};const n=t.transform(r.value,r);return n instanceof Promise?n.then(a=>(r.value=a,r)):(r.value=n,r)}});function Fh(e){return new Dh({type:"transform",transform:e})}const vi=b("ZodOptional",(e,t)=>{ii.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,o,n)=>mi(e,r,o,n),e.unwrap=()=>e._zod.def.innerType});function _e(e){return new vi({type:"optional",innerType:e})}const Bh=b("ZodExactOptional",(e,t)=>{dg.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,o,n)=>mi(e,r,o,n),e.unwrap=()=>e._zod.def.innerType});function Jh(e){return new Bh({type:"optional",innerType:e})}const Wh=b("ZodNullable",(e,t)=>{cg.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,o,n)=>If(e,r,o,n),e.unwrap=()=>e._zod.def.innerType});function On(e){return new Wh({type:"nullable",innerType:e})}const Gh=b("ZodDefault",(e,t)=>{pg.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Cf(e,r,o,n),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Vh(e,t){return new Gh({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():Ja(t)}})}const qh=b("ZodPrefault",(e,t)=>{mg.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Nf(e,r,o,n),e.unwrap=()=>e._zod.def.innerType});function Kh(e,t){return new qh({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():Ja(t)}})}const wi=b("ZodNonOptional",(e,t)=>{bg.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Zf(e,r,o,n),e.unwrap=()=>e._zod.def.innerType});function Hh(e,t){return new wi({type:"nonoptional",innerType:e,...h(t)})}const Yh=b("ZodCatch",(e,t)=>{ug.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Rf(e,r,o,n),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Xh(e,t){return new Yh({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}const Qh=b("ZodPipe",(e,t)=>{gg.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Uf(e,r,o,n),e.in=t.in,e.out=t.out});function Pn(e,t){return new Qh({type:"pipe",in:e,out:t})}const ev=b("ZodReadonly",(e,t)=>{fg.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Lf(e,r,o,n),e.unwrap=()=>e._zod.def.innerType});function tv(e){return new ev({type:"readonly",innerType:e})}const rv=b("ZodCustom",(e,t)=>{hg.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Sf(e,r)});function ov(e,t={}){return mf(rv,e,t)}function nv(e){return bf(e)}var av=O({method:D("authorization_code"),audience:w(),scope:w(),clientId:w()}),iv=O({method:D("client_credentials"),audience:w(),scope:w(),clientId:w(),clientSecret:w()}),sv=O({method:D("self_signed"),issuer:w(),audience:w(),scope:w(),clientId:w(),clientSecret:w()}),Tn=vt("method",[av,iv,sv]),lv=vt("type",[O({id:w(),type:D("self_signed"),issuer:w()}),O({id:w(),type:D("oauth"),issuer:w(),configUrl:w().url()})]),dv=O({baseUrl:w().url()}),xi=O({id:w(),name:w(),description:w(),synchronizerId:w().optional(),identityProviderId:w(),ledgerApi:dv,auth:Tn,adminAuth:Tn.optional()});O({connection:vt("type",[O({type:D("memory")}),O({type:D("sqlite"),database:w()}),O({type:D("postgres"),host:w(),port:Ht(),user:w(),password:w(),database:w()})]),idps:Yt(lv),networks:Yt(xi)});var cv=Object.defineProperty,pv=Object.getOwnPropertyDescriptor,yi=e=>{throw TypeError(e)},wo=(e,t,r,o)=>{for(var n=o>1?void 0:o?pv(t,r):t,a=e.length-1,i;a>=0;a--)(i=e[a])&&(n=(o?i(t,r,n):i(n))||n);return o&&n&&cv(t,r,n),n},ki=(e,t,r)=>t.has(e)||yi("Cannot "+r),mv=(e,t,r)=>(ki(e,t,"read from private field"),r?r.call(e):t.get(e)),bv=(e,t,r)=>t.has(e)?yi("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),uv=(e,t,r,o)=>(ki(e,t,"write to private field"),t.set(e,r),r),jt;class gv extends Event{constructor(){super("network-edit-cancel",{bubbles:!0,composed:!0})}}class fv extends Event{constructor(t){super("network-edit-save",{bubbles:!0,composed:!0}),this.network=t}}let ft=class extends z{constructor(){super(...arguments),bv(this,jt,{ledgerApi:{},auth:{}}),this._error=""}get network(){return mv(this,jt)}set network(e){uv(this,jt,e)}connectedCallback(){super.connectedCallback()}handleSubmit(e){e.preventDefault();const t=xi.safeParse(this.network);if(t.success)this.dispatchEvent(new fv(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=x`
|
|
731
|
+
<div>
|
|
732
|
+
<label for="authMethod">Method</label>
|
|
733
|
+
<select
|
|
734
|
+
class="form-select mb-3"
|
|
735
|
+
name="authMethod"
|
|
736
|
+
@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()}}}
|
|
737
|
+
.value=${e.method}
|
|
738
|
+
>
|
|
739
|
+
<option value="authorization_code">
|
|
740
|
+
authorization_code
|
|
741
|
+
</option>
|
|
742
|
+
<option value="client_credentials">
|
|
743
|
+
client_credentials
|
|
744
|
+
</option>
|
|
745
|
+
<option value="self_signed">self_signed</option>
|
|
746
|
+
</select>
|
|
747
|
+
</div>
|
|
748
|
+
|
|
749
|
+
<form-input
|
|
750
|
+
required
|
|
751
|
+
label="Client Id"
|
|
752
|
+
.value=${e.clientId}
|
|
753
|
+
@form-input-change=${r=>{e.clientId=r.value}}
|
|
754
|
+
></form-input>
|
|
755
|
+
<form-input
|
|
756
|
+
required
|
|
757
|
+
label="Audience"
|
|
758
|
+
.value=${e.audience}
|
|
759
|
+
@form-input-change=${r=>{e.audience=r.value}}
|
|
760
|
+
>
|
|
761
|
+
</form-input>
|
|
762
|
+
<form-input
|
|
763
|
+
required
|
|
764
|
+
label="Scope"
|
|
765
|
+
.value=${e.scope}
|
|
766
|
+
@form-input-change=${r=>{e.scope=r.value}}
|
|
767
|
+
></form-input>
|
|
768
|
+
`;if(e.method==="authorization_code")return x`${t}`;if(e.method==="client_credentials")return x`${t}
|
|
769
|
+
<form-input
|
|
770
|
+
required
|
|
771
|
+
label="Client Secret"
|
|
772
|
+
.value=${e.clientSecret}
|
|
773
|
+
@form-input-change=${r=>{e.clientSecret=r.value}}
|
|
774
|
+
></form-input>`;if(e.method==="self_signed")return x`${t}
|
|
775
|
+
<form-input
|
|
776
|
+
required
|
|
777
|
+
label="Issuer"
|
|
778
|
+
.value=${e.issuer}
|
|
779
|
+
@form-input-change=${r=>{e.issuer=r.value}}
|
|
780
|
+
></form-input>
|
|
781
|
+
<form-input
|
|
782
|
+
required
|
|
783
|
+
label="Client Secret"
|
|
784
|
+
.value=${e.clientSecret}
|
|
785
|
+
@form-input-change=${r=>{e.clientSecret=r.value}}
|
|
786
|
+
></form-input>`;throw new Error(`Unsupported auth method: ${JSON.stringify(e)}`)}render(){return x`
|
|
787
|
+
<form @submit=${this.handleSubmit}>
|
|
788
|
+
<form-input
|
|
789
|
+
required
|
|
790
|
+
label="Network Id"
|
|
791
|
+
text="A unique identifier for the network"
|
|
792
|
+
.value=${this.network.id??""}
|
|
793
|
+
@form-input-change=${e=>{this.network.id=e.value}}
|
|
794
|
+
></form-input>
|
|
795
|
+
|
|
796
|
+
<form-input
|
|
797
|
+
required
|
|
798
|
+
label="Name"
|
|
799
|
+
.value=${this.network.name??""}
|
|
800
|
+
@form-input-change=${e=>{this.network.name=e.value}}
|
|
801
|
+
></form-input>
|
|
802
|
+
|
|
803
|
+
<form-input
|
|
804
|
+
required
|
|
805
|
+
label="Description"
|
|
806
|
+
.value=${this.network.description??""}
|
|
807
|
+
@form-input-change=${e=>{this.network.description=e.value}}
|
|
808
|
+
></form-input>
|
|
809
|
+
|
|
810
|
+
<form-input
|
|
811
|
+
label="Synchronizer Id (Optional)"
|
|
812
|
+
.value=${this.network.synchronizerId??""}
|
|
813
|
+
@form-input-change=${e=>{this.network.synchronizerId=e.value===""?void 0:e.value}}
|
|
814
|
+
></form-input>
|
|
815
|
+
|
|
816
|
+
<form-input
|
|
817
|
+
required
|
|
818
|
+
label="Identity Provider Id"
|
|
819
|
+
.value=${this.network.identityProviderId??""}
|
|
820
|
+
@form-input-change=${e=>{this.network.identityProviderId=e.value}}
|
|
821
|
+
></form-input>
|
|
822
|
+
|
|
823
|
+
<form-input
|
|
824
|
+
required
|
|
825
|
+
label="Ledger API Base Url"
|
|
826
|
+
.value=${this.network.ledgerApi.baseUrl??""}
|
|
827
|
+
@form-input-change=${e=>{this.network.ledgerApi.baseUrl=e.value}}
|
|
828
|
+
></form-input>
|
|
829
|
+
|
|
830
|
+
<div>
|
|
831
|
+
<h2 class="form-text mb-4 fw-bold">
|
|
832
|
+
🔐 Configure User Auth
|
|
833
|
+
</h2>
|
|
834
|
+
<div class="form-control mb-3">
|
|
835
|
+
${this.renderAuthForm(this.network.auth)}
|
|
836
|
+
</div>
|
|
837
|
+
</div>
|
|
838
|
+
|
|
839
|
+
<div>
|
|
840
|
+
<h2 class="form-text mb-4 fw-bold">
|
|
841
|
+
🔐 Configure Admin Auth (optional)
|
|
842
|
+
</h2>
|
|
843
|
+
<div class="form-control mb-3">
|
|
844
|
+
${typeof this.network.adminAuth>"u"?x`<button
|
|
845
|
+
class="btn btn-sm btn-primary mb-2"
|
|
846
|
+
type="button"
|
|
847
|
+
@click=${()=>{this.network.adminAuth={method:"client_credentials",clientId:"",audience:"",scope:"",clientSecret:""},this.requestUpdate()}}
|
|
848
|
+
>
|
|
849
|
+
+
|
|
850
|
+
</button>`:x`<button
|
|
851
|
+
class="btn btn-sm btn-secondary mb-2"
|
|
852
|
+
type="button"
|
|
853
|
+
@click=${()=>{this.network.adminAuth=void 0,this.requestUpdate()}}
|
|
854
|
+
>
|
|
855
|
+
clear
|
|
856
|
+
</button>
|
|
857
|
+
${this.renderAuthForm(this.network.adminAuth)}`}
|
|
858
|
+
</div>
|
|
859
|
+
</div>
|
|
860
|
+
|
|
861
|
+
<div class="mt-1 mb-1 text-danger">${this._error}</div>
|
|
862
|
+
|
|
863
|
+
<div>
|
|
864
|
+
<button class="btn btn-sm btn-primary" type="submit">
|
|
865
|
+
Save
|
|
866
|
+
</button>
|
|
867
|
+
<button
|
|
868
|
+
class="btn btn-sm btn-secondary"
|
|
869
|
+
type="button"
|
|
870
|
+
@click=${()=>this.dispatchEvent(new gv)}
|
|
871
|
+
>
|
|
872
|
+
Cancel
|
|
873
|
+
</button>
|
|
874
|
+
</div>
|
|
875
|
+
</form>
|
|
876
|
+
`}};jt=new WeakMap;ft.styles=[z.styles];wo([_({type:Object})],ft.prototype,"network",1);wo([te()],ft.prototype,"_error",2);ft=wo([K("network-form")],ft);var hv=Object.defineProperty,vv=Object.getOwnPropertyDescriptor,_i=e=>{throw TypeError(e)},Ke=(e,t,r,o)=>{for(var n=o>1?void 0:o?vv(t,r):t,a=e.length-1,i;a>=0;a--)(i=e[a])&&(n=(o?i(t,r,n):i(n))||n);return o&&n&&hv(t,r,n),n},zi=(e,t,r)=>t.has(e)||_i("Cannot "+r),Xe=(e,t,r)=>(zi(e,t,"read from private field"),r?r.call(e):t.get(e)),Qe=(e,t,r)=>t.has(e)?_i("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),et=(e,t,r,o)=>(zi(e,t,"write to private field"),t.set(e,r),r),It,Zt,Ct,Nt,Rt;let be=class extends z{constructor(){super(...arguments),Qe(this,It,[]),Qe(this,Zt,[]),Qe(this,Ct,!1),Qe(this,Nt,null),Qe(this,Rt,this.editingNetwork?.auth?.method??"authorization_code"),this.openAddModal=()=>{this.isModalOpen=!0,this.editingNetwork=null},this.closeModal=()=>{this.isModalOpen=!1}}get activeSessions(){return Xe(this,It)}set activeSessions(e){et(this,It,e)}get networks(){return Xe(this,Zt)}set networks(e){et(this,Zt,e)}get isModalOpen(){return Xe(this,Ct)}set isModalOpen(e){et(this,Ct,e)}get editingNetwork(){return Xe(this,Nt)}set editingNetwork(e){et(this,Nt,e)}get authType(){return Xe(this,Rt)}set authType(e){et(this,Rt,e)}connectedCallback(){super.connectedCallback()}render(){return x`
|
|
877
|
+
<div class="mb-5">
|
|
878
|
+
<div class="header">
|
|
879
|
+
<h1>Networks</h1>
|
|
880
|
+
</div>
|
|
881
|
+
|
|
882
|
+
<button class="btn btn-primary" @click=${this.openAddModal}>
|
|
883
|
+
Add Network
|
|
884
|
+
</button>
|
|
885
|
+
|
|
886
|
+
<div class="mt-2">
|
|
887
|
+
<network-table
|
|
888
|
+
.networks=${this.networks}
|
|
889
|
+
.activeSessions=${this.activeSessions}
|
|
890
|
+
></network-table>
|
|
891
|
+
</div>
|
|
892
|
+
|
|
893
|
+
${this.isModalOpen?x`
|
|
894
|
+
<div class="modal" @click=${this.closeModal}>
|
|
895
|
+
<div
|
|
896
|
+
class="modal-content"
|
|
897
|
+
@click=${e=>e.stopPropagation()}
|
|
898
|
+
>
|
|
899
|
+
<h3>
|
|
900
|
+
${this.editingNetwork?"Edit Network":"Add Network"}
|
|
901
|
+
</h3>
|
|
902
|
+
<network-form
|
|
903
|
+
.editingNetwork=${this.editingNetwork}
|
|
904
|
+
.authType=${this.authType}
|
|
905
|
+
@network-edit-save=${this.closeModal}
|
|
906
|
+
@network-edit-cancel=${this.closeModal}
|
|
907
|
+
></network-form>
|
|
908
|
+
</div>
|
|
909
|
+
</div>
|
|
910
|
+
`:""}
|
|
911
|
+
</div>
|
|
912
|
+
`}};It=new WeakMap;Zt=new WeakMap;Ct=new WeakMap;Nt=new WeakMap;Rt=new WeakMap;be.styles=[z.styles,Ra,ee`
|
|
913
|
+
@media (max-width: 600px) {
|
|
914
|
+
.card-list {
|
|
915
|
+
grid-template-columns: 1fr;
|
|
916
|
+
}
|
|
917
|
+
.network-card {
|
|
918
|
+
padding: 0.7rem;
|
|
919
|
+
}
|
|
920
|
+
}
|
|
921
|
+
`];Ke([_({type:Array})],be.prototype,"activeSessions",1);Ke([_({type:Array})],be.prototype,"networks",1);Ke([te()],be.prototype,"isModalOpen",1);Ke([te()],be.prototype,"editingNetwork",1);Ke([te()],be.prototype,"authType",1);be=Ke([K("wg-networks")],be);var wv=Object.defineProperty,xv=Object.getOwnPropertyDescriptor,$i=(e,t,r,o)=>{for(var n=o>1?void 0:o?xv(t,r):t,a=e.length-1,i;a>=0;a--)(i=e[a])&&(n=(o?i(t,r,n):i(n))||n);return o&&n&&wv(t,r,n),n};let Xt=class extends z{constructor(){super(...arguments),this.href="/"}render(){return x`
|
|
922
|
+
<div>
|
|
923
|
+
<h1>404</h1>
|
|
924
|
+
<h3>
|
|
925
|
+
We are sorry, the page you are trying to view cannot be
|
|
926
|
+
found. It may have been moved or deleted.
|
|
927
|
+
</h3>
|
|
928
|
+
<button
|
|
929
|
+
type="button"
|
|
930
|
+
class="btn btn-secondary btn-lg"
|
|
931
|
+
@click=${()=>window.location.href=this.href}
|
|
932
|
+
>
|
|
933
|
+
Go to home page
|
|
934
|
+
</button>
|
|
935
|
+
</div>
|
|
936
|
+
`}};Xt.styles=[z.styles,ee`
|
|
937
|
+
div,
|
|
938
|
+
h1,
|
|
939
|
+
h3 {
|
|
940
|
+
text-align: center;
|
|
941
|
+
}
|
|
942
|
+
|
|
943
|
+
.btn {
|
|
944
|
+
margin: 0 auto;
|
|
945
|
+
}
|
|
946
|
+
|
|
947
|
+
h1 {
|
|
948
|
+
font-weight: 700;
|
|
949
|
+
font-size: 110px;
|
|
950
|
+
color: var(--bs-dark);
|
|
951
|
+
}
|
|
952
|
+
|
|
953
|
+
h3 {
|
|
954
|
+
margin: 20px 0 30px;
|
|
955
|
+
}
|
|
956
|
+
`];$i([_({type:String})],Xt.prototype,"href",2);Xt=$i([K("not-found")],Xt);var yv=Object.defineProperty,kv=Object.getOwnPropertyDescriptor,Si=(e,t,r,o)=>{for(var n=o>1?void 0:o?kv(t,r):t,a=e.length-1,i;a>=0;a--)(i=e[a])&&(n=(o?i(t,r,n):i(n))||n);return o&&n&&yv(t,r,n),n};let Qt=class extends z{constructor(){super(...arguments),this.sessions=[]}connectedCallback(){super.connectedCallback()}render(){return x`
|
|
957
|
+
<div class="mb-5">
|
|
958
|
+
<div class="header"><h1>Sessions</h1></div>
|
|
959
|
+
<div class="table-container">
|
|
960
|
+
<table>
|
|
961
|
+
<thead>
|
|
962
|
+
<tr>
|
|
963
|
+
<th>Network ID</th>
|
|
964
|
+
<th>Status</th>
|
|
965
|
+
<th>Reason</th>
|
|
966
|
+
<th>Access Token</th>
|
|
967
|
+
</tr>
|
|
968
|
+
</thead>
|
|
969
|
+
<tbody>
|
|
970
|
+
${this.sessions.map(e=>x`
|
|
971
|
+
<tr>
|
|
972
|
+
<td>${e.network.id}</td>
|
|
973
|
+
<td>
|
|
974
|
+
${e.status==="connected"?"🟢":"🔴"}
|
|
975
|
+
</td>
|
|
976
|
+
<td>${e.reason}</td>
|
|
977
|
+
<td>
|
|
978
|
+
<button
|
|
979
|
+
type="button"
|
|
980
|
+
class="btn btn-primary btn-sm"
|
|
981
|
+
@click=${()=>navigator.clipboard.writeText(e.accessToken)}
|
|
982
|
+
title="Copy access token"
|
|
983
|
+
>
|
|
984
|
+
Copy to clipboard
|
|
985
|
+
</button>
|
|
986
|
+
</td>
|
|
987
|
+
</tr>
|
|
988
|
+
`)}
|
|
989
|
+
</tbody>
|
|
990
|
+
</table>
|
|
991
|
+
</div>
|
|
992
|
+
</div>
|
|
993
|
+
`}};Qt.styles=[z.styles,ee`
|
|
994
|
+
.table-container {
|
|
995
|
+
display: grid;
|
|
996
|
+
grid-template-columns: 1fr;
|
|
997
|
+
width: 100%;
|
|
998
|
+
overflow-x: auto;
|
|
999
|
+
}
|
|
1000
|
+
table {
|
|
1001
|
+
width: 100%;
|
|
1002
|
+
border: 1px solid var(--bs-border-color);
|
|
1003
|
+
border-collapse: collapse;
|
|
1004
|
+
background: #fff;
|
|
1005
|
+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
|
|
1006
|
+
}
|
|
1007
|
+
th,
|
|
1008
|
+
td {
|
|
1009
|
+
padding: 0.75rem 0.5rem;
|
|
1010
|
+
border-bottom: 1px solid #eee;
|
|
1011
|
+
text-align: left;
|
|
1012
|
+
font-size: 1rem;
|
|
1013
|
+
}
|
|
1014
|
+
th {
|
|
1015
|
+
background: var(--bs-secondary-bg);
|
|
1016
|
+
font-weight: 600;
|
|
1017
|
+
}
|
|
1018
|
+
`];Si([_({type:Array})],Qt.prototype,"sessions",2);Qt=Si([K("wg-sessions")],Qt);w().regex(/^[a-zA-Z0-9:_-]*::[a-z0-9]*/,"Invalid party ID format");var _v=O({method:w(),params:_e(ho([Yt(We()),Uh(w(),We())]))}),zv=O({result:_e(We())}),Cr=O({error:O({code:Ht(),message:w(),data:_e(w().or(Ht()).or(Eh()).or(gi()).or(We()))})}),$v=ho([zv,Cr]),Ei=O({jsonrpc:D("2.0"),id:_e(w().or(Ht()).or(Oh()).or(gi()))}),Sv=vo(Ei,_v),Ev=vo(Ei,$v);vt("type",[O({type:D("SPLICE_WALLET_REQUEST"),request:Sv}),O({type:D("SPLICE_WALLET_RESPONSE"),response:Ev}),O({type:D("SPLICE_WALLET_EXT_READY")}),O({type:D("SPLICE_WALLET_EXT_ACK")}),O({type:D("SPLICE_WALLET_EXT_OPEN"),url:w().url()}),O({type:D("SPLICE_WALLET_IDP_AUTH_SUCCESS"),token:w(),sessionId:w()})]);vt("walletType",[O({walletType:D("extension"),url:_e(fi())}),O({walletType:D("remote"),url:w().url()})]);O({name:w(),rpcUrl:w()});function Av(e,t){const r=document.createElement("custom-toast");let o=-1,n="";if(e instanceof Error&&(n=e.message),Cr.safeParse(e).success){const a=Cr.parse(e);o=a.error.code,n=a.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 Ov=Object.defineProperty,Pv=Object.getOwnPropertyDescriptor,Ai=e=>{throw TypeError(e)},wt=(e,t,r,o)=>{for(var n=o>1?void 0:o?Pv(t,r):t,a=e.length-1,i;a>=0;a--)(i=e[a])&&(n=(o?i(t,r,n):i(n))||n);return o&&n&&Ov(t,r,n),n},Oi=(e,t,r)=>t.has(e)||Ai("Cannot "+r),jn=(e,t,r)=>(Oi(e,t,"read from private field"),r?r.call(e):t.get(e)),In=(e,t,r)=>t.has(e)?Ai("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),Zn=(e,t,r,o)=>(Oi(e,t,"write to private field"),t.set(e,r),r),Ut,Lt;let ze=class extends z{constructor(){super(...arguments),this.wallets=[],this.client=null,In(this,Ut,!1),In(this,Lt,!1),this.syncWallets=async()=>{if(!(!this.client||this.isSyncing)){this.isSyncing=!0;try{const e=await this.client.request("syncWallets"),t=e?.added||[],r=e?.removed||[],o=t.filter(s=>s.disabled===!0),n=new Set(r.map(s=>s.id));this.wallets=this.wallets.filter(s=>!n.has(s.id)),this.wallets=[...this.wallets,...t];let a=`Added: ${t.length} wallet${t.length!==1?"s":""}`;o.length>0&&(a+=` (${o.length} disabled)`),a+=`. Removed: ${r.length} wallet${r.length!==1?"s":""}.`;const i=new ae;i.title="Wallet Sync Complete",i.message=a,i.type="success",document.body.appendChild(i),await this.checkWalletSyncNeeded(),this.dispatchEvent(new CustomEvent("sync-success",{detail:{},bubbles:!0,composed:!0}))}catch(e){Av(e)}finally{this.isSyncing=!1}}}}get isSyncNeeded(){return jn(this,Ut)}set isSyncNeeded(e){Zn(this,Ut,e)}get isSyncing(){return jn(this,Lt)}set isSyncing(e){Zn(this,Lt,e)}connectedCallback(){super.connectedCallback(),this.checkWalletSyncNeeded()}async checkWalletSyncNeeded(){if(this.client)try{const e=await this.client.request("isWalletSyncNeeded");this.isSyncNeeded=e?.walletSyncNeeded===!0}catch{this.isSyncNeeded=!0}}render(){const e=x`
|
|
1019
|
+
<svg
|
|
1020
|
+
class="sync-icon ${this.isSyncing?"spinning":""}"
|
|
1021
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
1022
|
+
viewBox="0 0 16 16"
|
|
1023
|
+
fill="currentColor"
|
|
1024
|
+
>
|
|
1025
|
+
<path
|
|
1026
|
+
fill-rule="evenodd"
|
|
1027
|
+
d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z"
|
|
1028
|
+
/>
|
|
1029
|
+
<path
|
|
1030
|
+
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"
|
|
1031
|
+
/>
|
|
1032
|
+
</svg>
|
|
1033
|
+
`;return x`
|
|
1034
|
+
<div class="sync-container">
|
|
1035
|
+
<button
|
|
1036
|
+
class="sync-button ${this.isSyncNeeded?"out-of-sync":""}"
|
|
1037
|
+
.disabled=${!this.client||this.isSyncing}
|
|
1038
|
+
@click=${this.syncWallets}
|
|
1039
|
+
title="${this.isSyncing?"Syncing...":this.isSyncNeeded?"need sync":"in sync"}"
|
|
1040
|
+
>
|
|
1041
|
+
${e}
|
|
1042
|
+
</button>
|
|
1043
|
+
</div>
|
|
1044
|
+
`}};Ut=new WeakMap;Lt=new WeakMap;ze.styles=[z.styles,ee`
|
|
1045
|
+
.sync-container {
|
|
1046
|
+
display: inline-flex;
|
|
1047
|
+
align-items: center;
|
|
1048
|
+
gap: 0.5rem;
|
|
1049
|
+
}
|
|
1050
|
+
|
|
1051
|
+
.sync-button {
|
|
1052
|
+
display: inline-flex;
|
|
1053
|
+
align-items: center;
|
|
1054
|
+
justify-content: center;
|
|
1055
|
+
width: 1.5rem;
|
|
1056
|
+
height: 1.5rem;
|
|
1057
|
+
border-radius: 50%;
|
|
1058
|
+
border: none;
|
|
1059
|
+
background-color: var(--bs-primary);
|
|
1060
|
+
color: white;
|
|
1061
|
+
cursor: pointer;
|
|
1062
|
+
transition: all 0.2s;
|
|
1063
|
+
position: relative;
|
|
1064
|
+
}
|
|
1065
|
+
|
|
1066
|
+
.sync-button:hover:not(:disabled) {
|
|
1067
|
+
background-color: var(--bs-primary-dark, #0056b3);
|
|
1068
|
+
transform: scale(1.05);
|
|
1069
|
+
}
|
|
1070
|
+
|
|
1071
|
+
.sync-button:disabled {
|
|
1072
|
+
opacity: 0.6;
|
|
1073
|
+
cursor: not-allowed;
|
|
1074
|
+
}
|
|
1075
|
+
|
|
1076
|
+
.sync-button.out-of-sync {
|
|
1077
|
+
background-color: var(--bs-warning, #ffc107);
|
|
1078
|
+
animation: pulse 2s infinite;
|
|
1079
|
+
}
|
|
1080
|
+
|
|
1081
|
+
.sync-button.out-of-sync:hover:not(:disabled) {
|
|
1082
|
+
background-color: var(--bs-warning-dark, #e0a800);
|
|
1083
|
+
}
|
|
1084
|
+
|
|
1085
|
+
.sync-icon {
|
|
1086
|
+
width: 1.25rem;
|
|
1087
|
+
height: 1.25rem;
|
|
1088
|
+
fill: currentColor;
|
|
1089
|
+
}
|
|
1090
|
+
|
|
1091
|
+
.sync-icon.spinning {
|
|
1092
|
+
animation: spin 1s linear infinite;
|
|
1093
|
+
}
|
|
1094
|
+
|
|
1095
|
+
@keyframes spin {
|
|
1096
|
+
from {
|
|
1097
|
+
transform: rotate(0deg);
|
|
1098
|
+
}
|
|
1099
|
+
to {
|
|
1100
|
+
transform: rotate(360deg);
|
|
1101
|
+
}
|
|
1102
|
+
}
|
|
1103
|
+
|
|
1104
|
+
@keyframes pulse {
|
|
1105
|
+
0%,
|
|
1106
|
+
100% {
|
|
1107
|
+
opacity: 1;
|
|
1108
|
+
}
|
|
1109
|
+
50% {
|
|
1110
|
+
opacity: 0.7;
|
|
1111
|
+
}
|
|
1112
|
+
}
|
|
1113
|
+
|
|
1114
|
+
.sync-status {
|
|
1115
|
+
font-size: 0.875rem;
|
|
1116
|
+
color: var(--bs-secondary);
|
|
1117
|
+
}
|
|
1118
|
+
`];wt([_()],ze.prototype,"wallets",2);wt([_({attribute:!1})],ze.prototype,"client",2);wt([te()],ze.prototype,"isSyncNeeded",1);wt([te()],ze.prototype,"isSyncing",1);ze=wt([K("wg-wallets-sync")],ze);let oe;class er{static getInstance(){if(!oe||oe.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");oe=t}return oe}constructor(){window.addEventListener("beforeunload",()=>{oe&&(console.log("[PopupInstance] Closing popup instance on unload"),oe.close(),oe=void 0)})}open(t,r){if(typeof t=="string"||t instanceof URL){const o=er.getInstance();return o.location.href=t.toString(),o.focus(),o}else{const o=this.getComponentUrl(t,r),n=er.getInstance();return n.location.href=o,n.focus(),n}}close(){console.log("[PopupInstance] Closing popup instance"),oe&&oe.close()}getComponentUrl(t,r){const{title:o="Custom Popup"}=r||{},n=t.styles.replaceAll(`
|
|
1119
|
+
`," ").replaceAll("'","\\'").replaceAll('"','\\"'),a=t.toString().replace("SUBSTITUTABLE_CSS","''"),i=`<!DOCTYPE html>
|
|
1120
|
+
<html>
|
|
1121
|
+
<head>
|
|
1122
|
+
<title>${o}</title>
|
|
1123
|
+
<style>
|
|
1124
|
+
html, body {
|
|
1125
|
+
margin: 0;
|
|
1126
|
+
padding: 0;
|
|
1127
|
+
width: 100%;
|
|
1128
|
+
height: 100%;
|
|
1129
|
+
}
|
|
1130
|
+
|
|
1131
|
+
body {
|
|
1132
|
+
display: flex;
|
|
1133
|
+
}
|
|
1134
|
+
</style>
|
|
1135
|
+
</head>
|
|
1136
|
+
<body>
|
|
1137
|
+
</body>
|
|
1138
|
+
|
|
1139
|
+
<script>
|
|
1140
|
+
const Component = (${a});
|
|
1141
|
+
Component.styles = \`${n}\`;
|
|
1142
|
+
|
|
1143
|
+
customElements.define('popup-content', Component);
|
|
1144
|
+
|
|
1145
|
+
const content = document.createElement('popup-content');
|
|
1146
|
+
content.style.width = '100%';
|
|
1147
|
+
content.style.height = '100%';
|
|
1148
|
+
|
|
1149
|
+
document.body.appendChild(content)
|
|
1150
|
+
|
|
1151
|
+
URL.revokeObjectURL(window.location.href)
|
|
1152
|
+
<\/script>
|
|
1153
|
+
</html>`;return URL.createObjectURL(new Blob([i],{type:"text/html"}))}}new er;var Tv=Object.create,xo=Object.defineProperty,jv=Object.getOwnPropertyDescriptor,Pi=(e,t)=>(t=Symbol[e])?t:Symbol.for("Symbol."+e),Ti=e=>{throw TypeError(e)},Iv=(e,t,r)=>t in e?xo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Zv=(e,t)=>xo(e,"name",{value:t,configurable:!0}),yo=e=>[,,,Tv(e?.[Pi("metadata")]??null)],Cv=["class","method","getter","setter","accessor","field","value","get","set"],ji=e=>e!==void 0&&typeof e!="function"?Ti("Function expected"):e,Nv=(e,t,r,o,n)=>({kind:Cv[e],name:t,metadata:o,addInitializer:a=>r._?Ti("Already initialized"):n.push(ji(a||null))}),Rv=(e,t)=>Iv(t,Pi("metadata"),e[3]),ko=(e,t,r,o)=>{for(var n=0,a=e[t>>1],i=a&&a.length;n<i;n++)a[n].call(r);return o},_o=(e,t,r,o,n,a)=>{var i,s,l,d=t&7,c=!1,p=0,u=e[p]||(e[p]=[]),g=d&&(n=n.prototype,d<5&&(d>3||!c)&&jv(n,r));Zv(n,r);for(var v=o.length-1;v>=0;v--)l=Nv(d,r,s={},e[3],u),i=(0,o[v])(n,l),s._=1,ji(i)&&(n=i);return Rv(e,n),g&&xo(n,r,g),c?d^4?a:g:n},Ii,zo,Zi,Ci,$o,Ni,Ri,So,Ui;const Cn=()=>{const e=F.intendedPage.get();F.intendedPage.clear(),window.location.href=e||hm};Ii=[qr("user-app")];class Nr extends(Zi=le){async handleLogout(){Ur();const t=F.accessToken.get();if(!t){window.location.href=re;return}try{await(await no(t)).request("removeSession")}catch(r){console.debug("Failed to remove session during logout:",r)}F.clearAuthState(),window.opener&&!window.opener.closed?(window.opener.postMessage({type:oo.SPLICE_WALLET_LOGOUT},"*"),window.close()):window.location.href=re}render(){return x`
|
|
1154
|
+
<app-layout iconSrc="/icon.png" @logout=${this.handleLogout}>
|
|
1155
|
+
<user-ui-auth-redirect></user-ui-auth-redirect>
|
|
1156
|
+
<slot></slot>
|
|
1157
|
+
</app-layout>
|
|
1158
|
+
`}}zo=yo(Zi);Nr=_o(zo,0,"UserApp",Ii,Nr);ko(zo,1,Nr);Ci=[qr("user-ui")];class Rr extends(Ni=le){connectedCallback(){super.connectedCallback();const t=window.location.pathname.replace(/\/$/,"")||"/";xm(t)||(window.location.href=vm)}}$o=yo(Ni);Rr=_o($o,0,"UserUI",Ci,Rr);ko($o,1,Rr);let it=null;const Ur=()=>{it!==null&&(clearTimeout(it),it=null)};Ri=[qr("user-ui-auth-redirect")];class Lr extends(Ui=le){connectedCallback(){super.connectedCallback(),this.handleAuthRedirect()}async handleAuthRedirect(){const t=window.location.pathname.startsWith(re),r=F.accessToken.get();if(!r){this.handleUnauthenticated(t);return}if(this.isTokenExpired()){this.handleExpiredToken(t);return}if(t){await this.handleAuthenticatedOnLoginPage(r);return}await this.handleAuthenticatedOnLoggedInPage(r)}getIntendedPageFromCurrentPath(){const t=window.location.pathname;if(t!=="/"&&!t.startsWith(re)&&!t.startsWith("/callback"))return t.replace(/\/$/,"")||"/"}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=re}}async handleExpiredToken(t){Ur();const r=F.accessToken.get();r&&await Et(r),t?F.clearAuthState():(this.clearAuthStateAndPreserveIntendedPage(),window.location.href=re)}async handleAuthenticatedOnLoginPage(t){const r=await Nn(t);r?(this.setTokenExpirationTimeout(),Cn(),Mr(t,r)):(await Et(t),F.clearAuthState())}async handleAuthenticatedOnLoggedInPage(t){if(!F.networkId.get())throw new Error("missing networkId in state manager");const o=await Nn(t);if(!o){await Et(t),this.clearAuthStateAndPreserveIntendedPage(),window.location.href=re;return}this.setTokenExpirationTimeout(),Mr(t,o),window.location.pathname==="/"&&Cn()}setTokenExpirationTimeout(){Ur();const t=new Date(F.expirationDate.get()||""),r=new Date,o=t.getTime()-r.getTime()-an;o>0&&(it=setTimeout(async()=>{const n=window.location.pathname.startsWith(re);await this.handleExpiredToken(n),it=null},o))}isTokenExpired(){const t=new Date(F.expirationDate.get()||0);return Number(t)-an<=Date.now()}}So=yo(Ui);Lr=_o(So,0,"UserUIAuthRedirect",Ri,Lr);ko(So,1,Lr);const Nn=async e=>(await(await no(e)).request("listSessions").catch(()=>null))?.sessions?.[0]?.id??void 0,Mr=(e,t)=>{window.opener&&!window.opener.closed&&window.opener.postMessage({type:oo.SPLICE_WALLET_IDP_AUTH_SUCCESS,token:e,sessionId:t},"*")},Hv=async(e,t)=>{const o=await(await no(e)).request("addSession",{networkId:t});Mr(e,o.id)};export{L as A,ee as a,x as b,no as c,Av as d,Hv as e,Y as f,_a as g,Fp as h,le as i,Gv as j,ya as k,ne as l,Rn as m,Vv as n,W as o,Cn as r,F as s,qr as t,Sr as u};
|